/* Cambium Modern v1.2.1 — custom overrides */


:root {
  --cm-font-heading: "Space Grotesk", sans-serif;
  --cm-font-body: "Inter", sans-serif;

  --cm-color-bg: #f7f8fa;
  --cm-color-surface: #ffffff;
  --cm-color-text: #1f2937;
  --cm-color-muted: #6b7280;
  --cm-color-accent: #3b82f6;
  --cm-color-accent-dark: #2563eb;
  --cm-color-border: rgba(31, 41, 55, 0.08);
  --cm-color-shadow: rgba(31, 41, 55, 0.06);
  --cm-radius: 18px;
}

/* Typography */
body,
.wp-block-post-content,
.wp-block-post-excerpt,
.wp-block-post-date,
.wp-block-post-author,
.wp-block-post-terms,
.wp-block-button__link,
.read-more,
.more-link {
  font-family: var(--cm-font-body) !important;
  color: var(--cm-color-text) !important;
}

h1, h2, h3, h4, h5, h6,
.wp-block-post-title a,
.wp-block-query-title,
.wp-block-heading,
.site-title,
.entry-title {
  font-family: var(--cm-font-heading) !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
}

/* Sticky glass header — classic Cambium + block variants */
#masthead,
.site-header,
header#masthead,
header.site-header,
.wp-block-group.site-header,
.wp-block-template-part header {
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  background: rgba(255, 255, 255, 0.82) !important;
  backdrop-filter: blur(14px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(160%) !important;
  border-bottom: 1px solid var(--cm-color-border) !important;
  box-shadow: 0 1px 20px rgba(31, 41, 55, 0.04) !important;
  padding: 14px 32px !important;
}

/* Compact branding */
#masthead .site-branding,
.site-header .site-branding {
  padding: 0 !important;
  margin: 0 !important;
}

.site-title,
#masthead .site-title,
.site-header .site-title {
  font-size: 1.5rem !important;
  line-height: 1.1 !important;
  margin: 0 !important;
  letter-spacing: -0.02em !important;
  font-weight: 700 !important;
}

.site-title a {
  color: var(--cm-color-text) !important;
  text-decoration: none !important;
}

.site-description {
  font-size: 0.78rem !important;
  color: var(--cm-color-muted) !important;
  margin-top: 2px !important;
  letter-spacing: 0.02em !important;
}

/* Classic nav */
#site-navigation,
.main-navigation,
.main-navigation ul {
  background: transparent !important;
}

.main-navigation a,
.main-navigation li a {
  font-family: var(--cm-font-body) !important;
  font-weight: 500 !important;
  font-size: 0.95rem !important;
  color: var(--cm-color-text) !important;
  text-transform: none !important;
  transition: color 0.2s ease;
}

.main-navigation a:hover,
.main-navigation .current-menu-item > a {
  color: var(--cm-color-accent) !important;
}

.wp-block-navigation-item a,
.wp-block-navigation-link a,
.menu-item a {
  font-family: var(--cm-font-body) !important;
  font-weight: 500 !important;
  font-size: 0.95rem !important;
  transition: color 0.2s ease;
}

.wp-block-navigation-item a:hover,
.wp-block-navigation-link a:hover,
.menu-item a:hover {
  color: var(--cm-color-accent) !important;
}

/* Body background */
body {
  background-color: var(--cm-color-bg) !important;
}

/* Post cards */
.wp-block-post,
.wp-block-post-template > li,
article.post,
article.type-post,
.blog article,
.archive article {
  background: var(--cm-color-surface) !important;
  border-radius: var(--cm-radius) !important;
  box-shadow: 0 4px 24px var(--cm-color-shadow) !important;
  border: 1px solid var(--cm-color-border) !important;
  overflow: hidden !important;
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
              box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.wp-block-post:hover,
.wp-block-post-template > li:hover,
article.post:hover,
article.type-post:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 18px 48px rgba(31, 41, 55, 0.12) !important;
}

/* Featured images */
.wp-block-post-featured-image img,
.post-thumbnail img,
.wp-post-image,
.attachment-post-thumbnail {
  width: 100% !important;
  height: 240px !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.wp-block-post:hover .wp-block-post-featured-image img,
article.post:hover .post-thumbnail img,
.wp-block-post-template > li:hover .wp-post-image {
  transform: scale(1.04) !important;
}

/* Card body padding */
.wp-block-post .wp-block-group,
.wp-block-post-template > li .wp-block-group,
.wp-block-post-template > li .entry-content,
.wp-block-post-template > li .entry-summary,
.wp-block-post-template > li .entry-header,
article.post .entry-content,
article.post .entry-summary,
article.post .entry-header {
  padding: 20px 24px !important;
}

/* Featured / sticky post badge */
.wp-block-post.sticky,
.wp-block-post-template > li.sticky,
article.sticky,
.sticky-post {
  position: relative;
}

.wp-block-post.sticky::before,
.wp-block-post-template > li.sticky::before,
article.sticky .entry-header::before,
.wp-block-post-template > li.sticky .wp-block-post-title::before,
.sticky-post::before {
  content: "★ Featured" !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: var(--cm-font-heading) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #3b82f6, #2563eb) !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  margin-bottom: 12px !important;
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.28) !important;
}

/* Featured / sticky post extra padding */
.wp-block-post.sticky,
.wp-block-post-template > li.sticky,
article.sticky {
  padding: 24px !important;
}

.wp-block-post.sticky .wp-block-group,
.wp-block-post-template > li.sticky .wp-block-group,
.wp-block-post.sticky .entry-content,
.wp-block-post-template > li.sticky .entry-content,
.wp-block-post.sticky .entry-summary,
.wp-block-post-template > li.sticky .entry-summary,
.wp-block-post.sticky .entry-header,
.wp-block-post-template > li.sticky .entry-header {
  padding: 0 !important;
}

/* Post title */
.wp-block-post-title a,
.entry-title a,
.wp-block-post-template .wp-block-post-title a {
  font-size: 1.25rem !important;
  line-height: 1.25 !important;
  color: var(--cm-color-text) !important;
  text-decoration: none !important;
  transition: color 0.2s ease;
}

.wp-block-post-title a:hover,
.entry-title a:hover {
  color: var(--cm-color-accent) !important;
}

/* Meta line */
.wp-block-post-date,
.wp-block-post-author,
.wp-block-post-terms,
.entry-meta,
.posted-on,
.byline,
.cat-links {
  font-size: 0.82rem !important;
  color: var(--cm-color-muted) !important;
  font-weight: 500 !important;
  margin-left: 0 !important;
}

/* Keep non-featured meta aligned like featured cards */
article.post:not(.sticky) .entry-meta,
article.type-post:not(.sticky) .entry-meta,
.blog article:not(.sticky) .entry-meta,
.archive article:not(.sticky) .entry-meta,
article.post:not(.sticky) .posted-on,
article.type-post:not(.sticky) .posted-on,
article.post:not(.sticky) .byline,
article.type-post:not(.sticky) .byline {
  margin-left: 0 !important;
}

.wp-block-post-date a,
.wp-block-post-author a,
.wp-block-post-terms a,
.entry-meta a {
  color: var(--cm-color-muted) !important;
}

.wp-block-post-author .wp-block-post-author__avatar img,
.post-author img,
.avatar {
  border-radius: 50% !important;
}

/* Read More button — unified for ALL posts (featured or not) */
.read-more,
.more-link,
.wp-block-read-more,
.wp-block-post-template .wp-block-read-more,
.wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: var(--cm-font-heading) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  border: 2px solid var(--cm-color-accent) !important;
  color: var(--cm-color-accent) !important;
  background: transparent !important;
  text-decoration: none !important;
  transition: all 0.25s ease;
  margin-left: 14px !important;
  margin-top: 16px !important;
  margin-bottom: 14px !important;
}

.read-more::after,
.more-link::after,
.wp-block-read-more::after,
.wp-block-button__link::after {
  content: "→" !important;
  transition: transform 0.25s ease;
}

.read-more:hover,
.more-link:hover,
.wp-block-read-more:hover,
.wp-block-button__link:hover {
  background: var(--cm-color-accent) !important;
  color: #ffffff !important;
  border-color: var(--cm-color-accent) !important;
  transform: translateX(2px);
}

.read-more:hover::after,
.more-link:hover::after,
.wp-block-read-more:hover::after,
.wp-block-button__link:hover::after {
  transform: translateX(4px);
}

/* Ensure the wrapper never clips or shifts the button */
.more-link-wrapper {
  padding: 0 !important;
  margin: 0 !important;
}

/* Mobile: keep the same comfortable left margin on every card */
@media (max-width: 720px) {
  .read-more,
  .more-link,
  .wp-block-read-more,
  .wp-block-post-template .wp-block-read-more,
  .wp-block-button__link,
  .wp-block-post.sticky .read-more,
  .wp-block-post.sticky .more-link,
  .wp-block-post.sticky .wp-block-read-more,
  .wp-block-post-template > li.sticky .read-more,
  .wp-block-post-template > li.sticky .more-link,
  .wp-block-post-template > li.sticky .wp-block-read-more,
  article.sticky .read-more,
  article.sticky .more-link,
  article.sticky .wp-block-read-more,
  article.type-post.sticky .read-more,
  article.type-post.sticky .more-link,
  article.type-post.sticky .wp-block-read-more {
    margin-left: 14px !important;
    margin-top: 14px !important;
    margin-bottom: 6px !important;
    padding: 6px 12px !important;
    font-size: 0.72rem !important;
  }

  .wp-block-post-featured-image img,
  .post-thumbnail img,
  .wp-post-image,
  .attachment-post-thumbnail {
    height: 200px !important;
  }

  .wp-block-post.sticky,
  .wp-block-post-template > li.sticky,
  article.sticky {
    padding: 18px !important;
  }
}

/* Single post / page */
.single .wp-block-post-content,
.page .wp-block-post-content,
.entry-content {
  font-size: 1.05rem !important;
  line-height: 1.75 !important;
}

.entry-content p {
  margin-bottom: 1.25em !important;
}

.entry-content h2,
.entry-content h3,
.entry-content h4 {
  margin-top: 1.6em !important;
  margin-bottom: 0.6em !important;
}

/* Footer */
.wp-block-group.site-footer,
.site-footer,
footer.site-footer {
  background: var(--cm-color-surface) !important;
  border-top: 1px solid var(--cm-color-border) !important;
  padding: 40px 24px !important;
  margin-top: 60px !important;
}

.site-footer .wp-block-navigation-item a,
.site-footer .menu-item a {
  color: var(--cm-color-muted) !important;
  font-size: 0.9rem !important;
}

.site-footer .wp-block-navigation-item a:hover,
.site-footer .menu-item a:hover {
  color: var(--cm-color-accent) !important;
}

/* Widgets / sidebar */
.widget,
.wp-block-group.widget,
.wp-block-latest-posts,
.wp-block-categories,
.wp-block-tag-cloud {
  background: var(--cm-color-surface) !important;
  border-radius: var(--cm-radius) !important;
  box-shadow: 0 4px 24px var(--cm-color-shadow) !important;
  border: 1px solid var(--cm-color-border) !important;
  padding: 22px !important;
  margin-bottom: 24px !important;
}

.widget-title,
.wp-block-group.widget h2,
.wp-block-group.widget h3,
.wp-block-group.widget h4 {
  font-family: var(--cm-font-heading) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  margin-bottom: 16px !important;
}

/* Tags / categories */
.wp-block-post-terms a,
.wp-block-tag-cloud a,
.tagcloud a,
.post-tags a,
.entry-terms a {
  display: inline-block !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  padding: 5px 10px !important;
  border-radius: 999px !important;
  background: rgba(59, 130, 246, 0.08) !important;
  color: var(--cm-color-accent) !important;
  margin: 0 6px 6px 0 !important;
  text-decoration: none !important;
  transition: background 0.2s ease;
}

.wp-block-post-terms a:hover,
.wp-block-tag-cloud a:hover,
.tagcloud a:hover,
.post-tags a:hover,
.entry-terms a:hover {
  background: rgba(59, 130, 246, 0.16) !important;
}

/* Pagination */
.wp-block-query-pagination,
.pagination,
.nav-links {
  margin-top: 40px !important;
  justify-content: center !important;
}

.wp-block-query-pagination a,
.wp-block-query-pagination .wp-block-query-pagination-numbers a,
.pagination a,
.page-numbers,
.nav-links a {
  font-family: var(--cm-font-heading) !important;
  font-weight: 600 !important;
  border-radius: 999px !important;
  padding: 8px 14px !important;
  border: 1px solid var(--cm-color-border) !important;
  background: var(--cm-color-surface) !important;
  color: var(--cm-color-text) !important;
  transition: all 0.2s ease;
}

.wp-block-query-pagination a:hover,
.pagination a:hover,
.page-numbers:hover,
.nav-links a:hover,
.page-numbers.current {
  background: var(--cm-color-accent) !important;
  border-color: var(--cm-color-accent) !important;
  color: #ffffff !important;
}

/* Smooth scroll + selection */
html {
  scroll-behavior: smooth !important;
}

::selection {
  background: rgba(59, 130, 246, 0.2) !important;
  color: var(--cm-color-text) !important;
}

/* Forms / inputs */
input, textarea, select, .wp-block-search__input {
  font-family: var(--cm-font-body) !important;
  border-radius: 12px !important;
  border: 1px solid var(--cm-color-border) !important;
  padding: 12px 14px !important;
  background: var(--cm-color-surface) !important;
}

button, .wp-block-search__button,
.wp-block-button .wp-block-button__link {
  font-family: var(--cm-font-heading) !important;
  border-radius: 999px !important;
}

/* Cover image / hero on single posts */
.wp-block-cover,
.wp-block-cover-image {
  border-radius: var(--cm-radius) !important;
  overflow: hidden !important;
}
