/**
 * ==========================================================================
 * THE NEST LOOP — COMPLETE WORDPRESS STYLESHEET v3.0
 * Targets Blocksy theme's actual CSS variables & element selectors
 * ==========================================================================
 */

/* ==========================================================================
   0. Google Fonts Import
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,400;1,9..144,600&family=Work+Sans:wght@400;500;600;700&display=swap');

/* ==========================================================================
   1. Override Blocksy's CSS Custom Properties at :root
      These are the EXACT variable names Blocksy reads internally.
   ========================================================================== */
:root {
  /* Blocksy Palette Override — these power every Blocksy element */
  --theme-palette-color-1: #6E7B52;   /* Sage - Primary */
  --theme-palette-color-2: #545E3E;   /* Sage Dark */
  --theme-palette-color-3: #B5654A;   /* Clay - Accent */
  --theme-palette-color-4: #9E5540;   /* Clay Dark */
  --theme-palette-color-5: #3A2E26;   /* Walnut */
  --theme-palette-color-6: #FBF8F2;   /* Cream */
  --theme-palette-color-7: #5B4F45;   /* Walnut Soft */
  --theme-palette-color-8: #E7DECE;   /* Line / Border */

  /* Blocksy Typography Variables */
  --theme-headings-font-family: 'Fraunces', Georgia, serif;
  --theme-body-font-family: 'Work Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --theme-font-size: 17px;
  --theme-line-height: 1.65;

  /* Blocksy Global Color Variables */
  --theme-text-color:            #5B4F45;
  --theme-headings-color:        #3A2E26;
  --theme-link-initial-color:    #6E7B52;
  --theme-link-hover-color:      #545E3E;
  --theme-background-color:      #FBF8F2;
  --theme-content-spacing:       70px;
  --theme-border-color:          #E7DECE;

  /* Blocksy Button Variables */
  --theme-button-min-height:           44px;
  --theme-button-background-color:     #6E7B52;
  --theme-button-text-color:           #FBF8F2;
  --theme-button-border-radius:        9999px;
  --theme-button-font-weight:          600;
  --theme-button-font-size:            14.5px;
  --theme-button-padding:              13px 28px;

  /* Blocksy Heading Variables */
  --theme-headings-font-weight:  600;
  --theme-headings-letter-spacing: -0.012em;

  /* Custom brand tokens for our own classes */
  --nl-sage:         #6E7B52;
  --nl-sage-dark:    #545E3E;
  --nl-sage-pale:    #DDE2CE;
  --nl-clay:         #B5654A;
  --nl-clay-dark:    #9E5540;
  --nl-walnut:       #3A2E26;
  --nl-walnut-soft:  #5B4F45;
  --nl-cream:        #FBF8F2;
  --nl-linen:        #F5EFE4;
  --nl-blush:        #EAD2C4;
  --nl-line:         #E7DECE;
  --nl-muted:        #8A7C6C;
  --nl-footer-bg:    #3A2E26;
  --nl-footer-text:  #B8AA97;
  --nl-footer-border:#4E4036;

  --nl-sh-sm: 0 2px 8px rgba(58, 46, 38, 0.05);
  --nl-sh:    0 8px 24px rgba(58, 46, 38, 0.07);
  --nl-sh-lg: 0 18px 48px rgba(58, 46, 38, 0.13);
}

/* ==========================================================================
   2. Base Typography — Override Blocksy's defaults
   ========================================================================== */
body,
.ct-main,
.entry-content p,
.wp-block-paragraph {
  font-family: 'Work Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
  color: #5B4F45 !important;
  font-size: 17px;
  line-height: 1.65;
  background-color: #FBF8F2;
}

h1, h2, h3, h4, h5, h6,
.wp-block-heading,
.entry-title,
.page-title,
.site-title a,
.widget-title,
.ct-post-title a {
  font-family: 'Fraunces', Georgia, serif !important;
  font-weight: 600 !important;
  color: #3A2E26 !important;
  letter-spacing: -0.012em;
}

a {
  color: #6E7B52;
  transition: color 0.2s ease;
}
a:hover {
  color: #545E3E;
}

/* ==========================================================================
   3. ANNOUNCEMENT BAR (Blocksy Topbar) — #3A2E26 Walnut Background
   ========================================================================== */
.ct-topbar,
#header .ct-topbar,
.header-row[data-row="top"] {
  background-color: #3A2E26 !important;
  color: #FBF8F2 !important;
  font-family: 'Work Sans', sans-serif !important;
  font-size: 14px;
  padding: 10px 20px;
  text-align: center;
}

.ct-topbar a,
.header-row[data-row="top"] a {
  color: #EAD2C4 !important;
  text-decoration: underline;
  transition: color 0.2s ease;
}

.ct-topbar a:hover,
.header-row[data-row="top"] a:hover {
  color: #DDE2CE !important;
}

/* ==========================================================================
   4. HEADER — Cream Background, Centered Logo, Sage Nav Hover
   ========================================================================== */
#header,
.ct-header,
#header .ct-container,
#header .header-row[data-row="middle"] {
  background-color: #FBF8F2 !important;
  border-bottom: 1px solid #E7DECE;
}

/* Site Branding — Logo & Tagline */
.site-title,
.site-title a,
#header .site-title a {
  font-family: 'Fraunces', Georgia, serif !important;
  font-weight: 700 !important;
  font-size: 26px !important;
  color: #3A2E26 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}
.site-title a:hover,
#header .site-title a:hover {
  color: #6E7B52 !important;
}

.site-description,
.site-description a,
#header .site-description {
  font-family: 'Work Sans', sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.16em !important;
  color: #8A7C6C !important;
}

/* Nav Menu Links */
.header-menu-1 .ct-menu-link,
.menu-container .ct-menu-link,
#header nav .ct-menu-link,
#header-menu-1 .ct-menu-link {
  font-family: 'Work Sans', sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  color: #3A2E26 !important;
  text-decoration: none !important;
  padding: 16px 0 !important;
  transition: color 0.2s ease !important;
}

.header-menu-1 .ct-menu-link:hover,
.menu-container .ct-menu-link:hover,
#header nav .ct-menu-link:hover,
#header-menu-1 .ct-menu-link:hover,
.menu-item.current-menu-item > .ct-menu-link,
.menu-item.current_page_item > .ct-menu-link {
  color: #6E7B52 !important;
}

/* Header nav row bottom border */
.header-row[data-row="bottom"],
#header nav,
.menu-container {
  border-top: 1px solid #E7DECE;
}

/* ==========================================================================
   5. FOOTER — Walnut Dark Background, 4-Column Layout
   ========================================================================== */
.ct-footer,
#footer,
footer.ct-footer {
  background-color: #3A2E26 !important;
  color: #B8AA97 !important;
  border-top: 1px solid #4E4036;
  padding-top: 60px !important;
  padding-bottom: 0 !important;
}

/* Footer headings */
.ct-footer h2,
.ct-footer h3,
.ct-footer h4,
.ct-footer .widget-title,
.ct-footer .ct-widget-title {
  font-family: 'Fraunces', Georgia, serif !important;
  font-weight: 600 !important;
  font-size: 18px !important;
  color: #FBF8F2 !important;
  margin-bottom: 20px !important;
}

/* Footer body text */
.ct-footer p,
.ct-footer li,
.ct-footer span {
  color: #B8AA97 !important;
  font-size: 14.5px;
  line-height: 1.65;
}

/* Footer links */
.ct-footer a {
  color: #B8AA97 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
  display: inline-block;
  padding: 4px 0;
}
.ct-footer a:hover {
  color: #FBF8F2 !important;
}

/* Footer copyright bar */
.ct-footer .ct-footer-bottom,
.footer-bottom,
#footer .ct-footer-bottom {
  border-top: 1px solid #4E4036 !important;
  padding: 20px 0 !important;
  margin-top: 40px;
  font-size: 13px !important;
  color: #8A7C6C !important;
}

.ct-footer .ct-footer-bottom a {
  color: #8A7C6C !important;
}
.ct-footer .ct-footer-bottom a:hover {
  color: #B8AA97 !important;
}

/* Site logo text color in footer */
.ct-footer .site-title a,
.ct-footer .site-branding a {
  color: #FBF8F2 !important;
}

/* ==========================================================================
   6. BUTTONS — Sage Green Primary, Clay Secondary, Rounded Full
   ========================================================================== */
.wp-element-button,
.wp-block-button__link,
button,
input[type="submit"],
.ct-button,
.button {
  font-family: 'Work Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14.5px !important;
  border-radius: 9999px !important;
  padding: 13px 28px !important;
  transition: background-color 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

/* Default / Primary button = Sage Green */
.wp-block-button:not(.is-style-outline):not(.is-style-clay-button) .wp-block-button__link,
.wp-element-button:not(.wp-block-button__link),
.ct-button {
  background-color: #6E7B52 !important;
  color: #FBF8F2 !important;
  border: none !important;
}
.wp-block-button:not(.is-style-outline):not(.is-style-clay-button) .wp-block-button__link:hover,
.ct-button:hover {
  background-color: #545E3E !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(84, 94, 62, 0.3) !important;
}

/* Sage button variant */
.is-style-sage-button .wp-block-button__link,
.nl-btn-sage {
  background-color: #6E7B52 !important;
  color: #FBF8F2 !important;
  border: none !important;
}
.is-style-sage-button .wp-block-button__link:hover,
.nl-btn-sage:hover {
  background-color: #545E3E !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(84, 94, 62, 0.3) !important;
}

/* Clay (secondary) button */
.is-style-clay-button .wp-block-button__link,
.nl-btn-clay {
  background-color: #B5654A !important;
  color: #FFFFFF !important;
  border: none !important;
}
.is-style-clay-button .wp-block-button__link:hover,
.nl-btn-clay:hover {
  background-color: #9E5540 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(158, 85, 64, 0.3) !important;
}

/* Outline button */
.is-style-outline .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent !important;
  border: 1.5px solid #3A2E26 !important;
  color: #3A2E26 !important;
}
.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  border-color: #6E7B52 !important;
  color: #6E7B52 !important;
  background-color: rgba(221, 226, 206, 0.25) !important;
  transform: translateY(-2px) !important;
}

/* Outline button — light (for dark backgrounds) */
.is-style-outline-light .wp-block-button__link {
  background-color: transparent !important;
  border: 1.5px solid rgba(251, 248, 242, 0.5) !important;
  color: #FBF8F2 !important;
}
.is-style-outline-light .wp-block-button__link:hover {
  background-color: rgba(251, 248, 242, 0.1) !important;
  border-color: #FBF8F2 !important;
}

/* ==========================================================================
   7. HOMEPAGE — Hide Page Title, Full-Width Blocks
   ========================================================================== */
/* Hide Blocksy's "Home" page title hero on static front page */
.home .hero-section,
.home .entry-header,
.home header.entry-header,
.home .page-title,
.home .ct-page-title-area,
.home [class*="hero-section"],
.home .ct-hero {
  display: none !important;
}

/* Ensure Gutenberg full-width sections bleed edge-to-edge */
.home .entry-content,
.home .ct-main > article > .entry-content {
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.home .entry-content > .alignfull,
.home .entry-content > .wp-block-group.alignfull {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* Fix Blocksy container constraint on aligned blocks */
.home .ct-main {
  padding: 0 !important;
}

.home article.type-page {
  padding: 0 !important;
}

/* ==========================================================================
   8. HERO HIGHLIGHT — "Without Losing" underline bar effect
   ========================================================================== */
.hero-highlight {
  position: relative;
  display: inline-block;
  z-index: 1;
}
.hero-highlight::after {
  content: '';
  position: absolute;
  bottom: 3px;
  left: -2%;
  width: 104%;
  height: 32%;
  background-color: #DDE2CE;
  z-index: -1;
  border-radius: 4px;
  transform: rotate(-0.8deg);
}

/* ==========================================================================
   9. PINTEREST CARD GRID — 2:3 Ratios, Hover Lift, Pin-It Button
   ========================================================================== */
/* Card grid layout */
.wp-block-post-template.is-flex-container,
ul.wp-block-post-template.columns-3,
ul.wp-block-post-template.columns-2 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 28px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
@media (max-width: 960px) {
  .wp-block-post-template.is-flex-container,
  ul.wp-block-post-template.columns-3 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 640px) {
  .wp-block-post-template.is-flex-container,
  ul.wp-block-post-template.columns-3,
  ul.wp-block-post-template.columns-2 {
    grid-template-columns: 1fr !important;
  }
}

/* Card base styling */
.is-pinterest-card,
.is-grid-card,
.wp-block-post-template li > .wp-block-group {
  background-color: #FBF8F2 !important;
  border: 1px solid #E7DECE !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 8px rgba(58, 46, 38, 0.05) !important;
  overflow: hidden !important;
  transition: transform 0.25s cubic-bezier(0.2, 0.7, 0.3, 1),
              box-shadow 0.25s cubic-bezier(0.2, 0.7, 0.3, 1),
              border-color 0.25s ease !important;
  position: relative;
}

.is-pinterest-card:hover,
.is-grid-card:hover,
.wp-block-post-template li:hover > .wp-block-group {
  transform: translateY(-6px) !important;
  box-shadow: 0 18px 48px rgba(58, 46, 38, 0.13) !important;
  border-color: rgba(110, 123, 82, 0.4) !important;
}

/* 2:3 Pinterest aspect ratio on featured images */
.is-pinterest-card .wp-block-post-featured-image img,
.wp-block-post-template li .wp-block-post-featured-image img {
  aspect-ratio: 2 / 3 !important;
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.35s ease !important;
}
.is-pinterest-card:hover .wp-block-post-featured-image img,
.wp-block-post-template li:hover .wp-block-post-featured-image img {
  transform: scale(1.04) !important;
}

/* Category badge pill */
.nl-tag-badge .wp-block-post-terms a,
.wp-block-post-template .wp-block-post-terms a {
  display: inline-flex !important;
  align-items: center;
  background-color: #FBF8F2 !important;
  color: #545E3E !important;
  font-family: 'Work Sans', sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.11em !important;
  padding: 4px 10px !important;
  border-radius: 9999px !important;
  border: 1px solid #E7DECE !important;
  box-shadow: 0 1px 4px rgba(58, 46, 38, 0.05) !important;
  text-decoration: none !important;
  margin-bottom: 8px !important;
  transition: background-color 0.2s ease !important;
}
.nl-tag-badge .wp-block-post-terms a:hover,
.wp-block-post-template .wp-block-post-terms a:hover {
  background-color: #DDE2CE !important;
}

/* Post title on cards */
.wp-block-post-template .wp-block-post-title a {
  color: #3A2E26 !important;
  text-decoration: none !important;
  font-family: 'Fraunces', Georgia, serif !important;
  font-weight: 600 !important;
  transition: color 0.2s ease !important;
}
.wp-block-post-template .wp-block-post-title a:hover {
  color: #6E7B52 !important;
}

/* ==========================================================================
   10. PINNABLE IMAGE WRAPPER + PIN-IT BUTTON
   ========================================================================== */
.pinnable-image-wrapper {
  position: relative !important;
  display: block !important;
  overflow: hidden !important;
  border-radius: 16px !important;
  box-shadow: 0 18px 48px rgba(58, 46, 38, 0.13) !important;
}
.pinnable-image-wrapper img {
  width: 100%;
  height: auto;
  display: block;
}

.nl-pin-it-btn {
  position: absolute;
  top: 14px;
  right: 14px;
  background-color: #E60023;
  color: #FFFFFF !important;
  font-family: 'Work Sans', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  padding: 7px 16px !important;
  border-radius: 9999px !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.22) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px;
  text-decoration: none !important;
  cursor: pointer;
  z-index: 20;
  opacity: 0;
  transform: translateY(-6px);
  transition: opacity 0.2s ease, transform 0.2s ease !important;
  border: none !important;
}
.pinnable-image-wrapper:hover .nl-pin-it-btn,
.is-pinterest-card:hover .nl-pin-it-btn {
  opacity: 1 !important;
  transform: translateY(0) !important;
}
.nl-pin-it-btn:hover {
  background-color: #AD081B !important;
}

/* ==========================================================================
   11. WASHI-TAPE NOTICE CARDS
   ========================================================================== */
.nl-notice,
.wp-block-group.nl-notice {
  position: relative;
  background-color: #FBF8F2 !important;
  border: 1px solid #E7DECE !important;
  border-radius: 6px !important;
  padding: 28px 30px 24px !important;
  margin: 36px 0 !important;
  box-shadow: 0 8px 24px rgba(58, 46, 38, 0.07) !important;
}
.nl-notice::before {
  content: '';
  position: absolute;
  top: -10px;
  left: 28px;
  width: 64px;
  height: 20px;
  transform: rotate(-4deg);
  border-radius: 2px;
  box-shadow: 0 1px 3px rgba(58, 46, 38, 0.12);
  z-index: 2;
}
.nl-notice .nl-notice-label {
  display: inline-block;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.11em !important;
  margin-bottom: 8px;
}
.nl-notice h4 {
  font-size: 20px !important;
  color: #3A2E26 !important;
  margin-top: 0 !important;
  margin-bottom: 8px !important;
}
.nl-notice p {
  color: #5B4F45 !important;
  font-size: 16px;
  margin-bottom: 0;
}
.nl-notice--tip::before  { background-color: rgba(110, 123, 82, 0.55); }
.nl-notice--tip .nl-notice-label  { color: #545E3E; }
.nl-notice--shop::before { background-color: rgba(181, 101, 74, 0.55); }
.nl-notice--shop .nl-notice-label { color: #B5654A; }

/* ==========================================================================
   12. INLINE OPT-IN / NEWSLETTER BANNER
   ========================================================================== */
.nl-inline-optin,
.wp-block-group.nl-inline-optin {
  background-color: #3A2E26 !important;
  border-radius: 14px !important;
  padding: 36px !important;
  margin: 40px 0 !important;
  position: relative;
  overflow: hidden;
}
.nl-inline-optin h3,
.nl-inline-optin .wp-block-heading {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 24px !important;
  color: #FFFFFF !important;
  margin-bottom: 10px !important;
}
.nl-inline-optin p {
  color: #EAD2C4 !important;
  font-size: 15px !important;
  line-height: 1.6;
  margin-bottom: 20px;
}
.nl-inline-optin .wp-block-button__link {
  background-color: #B5654A !important;
  color: #FFFFFF !important;
}
.nl-inline-optin .wp-block-button__link:hover {
  background-color: #9E5540 !important;
  transform: translateY(-2px) !important;
}

/* ==========================================================================
   13. AUTHOR BIO BOX
   ========================================================================== */
.nl-author-box,
.wp-block-group.nl-author-box {
  background-color: #F5EFE4 !important;
  border-radius: 14px !important;
  padding: 28px !important;
  margin: 40px 0 !important;
  border: 1px solid #E7DECE;
}
.nl-author-box h4,
.nl-author-box .wp-block-heading {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 20px !important;
  color: #3A2E26 !important;
}
.nl-author-box p {
  color: #5B4F45 !important;
  font-size: 14.5px;
  line-height: 1.6;
}
.nl-author-box a {
  color: #6E7B52 !important;
  font-weight: 600;
  text-decoration: none;
}
.nl-author-box a:hover {
  color: #545E3E !important;
}

/* ==========================================================================
   14. SIDEBAR WIDGETS & STICKY ELEMENTS
   ========================================================================== */
.nl-sidebar-widget,
.wp-block-group.nl-sidebar-widget {
  background-color: #FBF8F2 !important;
  border: 1px solid #E7DECE !important;
  border-radius: 12px !important;
  padding: 24px !important;
  margin-bottom: 28px !important;
  box-shadow: 0 2px 8px rgba(58, 46, 38, 0.05) !important;
}
.nl-sticky-sidebar {
  position: sticky !important;
  top: 90px !important;
  align-self: start !important;
}
.nl-sticky-ad {
  position: sticky !important;
  top: 90px !important;
  z-index: 10;
}

/* Blocksy sidebar area */
.ct-sidebar .widget,
.layout-sidebar .sidebar-widget {
  background-color: #FBF8F2 !important;
  border: 1px solid #E7DECE !important;
  border-radius: 12px !important;
  padding: 24px !important;
  margin-bottom: 28px !important;
}

/* ==========================================================================
   15. BREADCRUMBS
   ========================================================================== */
.ct-breadcrumbs,
.breadcrumbs,
nav.woocommerce-breadcrumb {
  font-size: 13.5px !important;
  color: #8A7C6C !important;
  margin-bottom: 20px;
}
.ct-breadcrumbs a,
.breadcrumbs a {
  color: #5B4F45 !important;
  text-decoration: none;
}
.ct-breadcrumbs a:hover,
.breadcrumbs a:hover {
  color: #6E7B52 !important;
}
.ct-breadcrumbs .ct-breadcrumb-separator {
  color: #E7DECE !important;
}

/* ==========================================================================
   16. CATEGORY FILTER PILLS
   ========================================================================== */
.nl-filter-pill-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  justify-content: center;
}
.nl-filter-pill {
  display: inline-flex !important;
  align-items: center;
  padding: 8px 18px !important;
  border-radius: 9999px !important;
  border: 1.5px solid #E7DECE !important;
  background-color: #FBF8F2 !important;
  color: #5B4F45 !important;
  font-family: 'Work Sans', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.22s ease !important;
  cursor: pointer;
}
.nl-filter-pill:hover,
.nl-filter-pill.is-active {
  background-color: #6E7B52 !important;
  border-color: #6E7B52 !important;
  color: #FBF8F2 !important;
  transform: translateY(-2px) !important;
}

/* ==========================================================================
   17. PAGINATION
   ========================================================================== */
.wp-block-query-pagination,
.ct-pagination {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 48px !important;
}
.wp-block-query-pagination-numbers .page-numbers,
.ct-pagination a,
.ct-pagination span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 40px !important;
  border-radius: 9999px !important;
  background-color: #F5EFE4 !important;
  color: #3A2E26 !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  padding: 0 12px !important;
}
.wp-block-query-pagination-numbers .page-numbers:hover,
.wp-block-query-pagination-numbers .page-numbers.current,
.ct-pagination a:hover,
.ct-pagination .current {
  background-color: #6E7B52 !important;
  color: #FBF8F2 !important;
}

/* ==========================================================================
   18. BLOCKSY READING PROGRESS BAR (Override to Sage Color)
   ========================================================================== */
.ct-reading-progress-bar,
.ct-progress-bar {
  background-color: #6E7B52 !important;
  height: 3px;
}

/* ==========================================================================
   19. SEARCH & FORMS
   ========================================================================== */
input[type="text"],
input[type="email"],
input[type="search"],
textarea,
select {
  border: 1.5px solid #E7DECE !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  font-family: 'Work Sans', sans-serif !important;
  font-size: 15px !important;
  color: #3A2E26 !important;
  background-color: #FBF8F2 !important;
  transition: border-color 0.2s ease !important;
  width: 100%;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="search"]:focus,
textarea:focus {
  border-color: #6E7B52 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(110, 123, 82, 0.15) !important;
}

/* ==========================================================================
   20. GUTENBERG BLOCK COLOR UTILITY CLASSES
       These map Blocksy's block palette to our brand tokens
   ========================================================================== */
.has-cream-background-color, .has-cream-background-color.has-background { background-color: #FBF8F2 !important; }
.has-linen-background-color, .has-linen-background-color.has-background  { background-color: #F5EFE4 !important; }
.has-walnut-background-color,.has-walnut-background-color.has-background  { background-color: #3A2E26 !important; }
.has-sage-background-color,  .has-sage-background-color.has-background    { background-color: #6E7B52 !important; }
.has-primary-background-color,.has-primary-background-color.has-background { background-color: #6E7B52 !important; }
.has-secondary-background-color,.has-secondary-background-color.has-background { background-color: #B5654A !important; }
.has-blush-background-color, .has-blush-background-color.has-background   { background-color: #EAD2C4 !important; }

.has-cream-color,       .has-cream-color.has-text-color       { color: #FBF8F2 !important; }
.has-walnut-color,      .has-walnut-color.has-text-color       { color: #3A2E26 !important; }
.has-walnut-soft-color, .has-walnut-soft-color.has-text-color  { color: #5B4F45 !important; }
.has-primary-color,     .has-primary-color.has-text-color      { color: #6E7B52 !important; }
.has-primary-dark-color,.has-primary-dark-color.has-text-color { color: #545E3E !important; }
.has-primary-pale-color,.has-primary-pale-color.has-text-color { color: #DDE2CE !important; }
.has-secondary-color,   .has-secondary-color.has-text-color    { color: #B5654A !important; }
.has-blush-color,       .has-blush-color.has-text-color        { color: #EAD2C4 !important; }
.has-muted-color,       .has-muted-color.has-text-color        { color: #8A7C6C !important; }

.has-line-border-color  { border-color: #E7DECE !important; }
.has-line-background-color,
hr.wp-block-separator.has-line-color { background-color: #E7DECE !important; border-color: #E7DECE !important; }

/* ==========================================================================
   21. RESPONSIVE OVERRIDES
   ========================================================================== */
@media (max-width: 1100px) {
  .ct-footer .ct-container { padding: 0 24px !important; }
}

@media (max-width: 768px) {
  .ct-footer .ct-widgets-area { grid-template-columns: 1fr 1fr !important; }
  .home .entry-content > .alignfull { margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; max-width: 100% !important; }
  .nl-inline-optin { padding: 24px !important; }
}

@media (max-width: 480px) {
  .ct-footer .ct-widgets-area { grid-template-columns: 1fr !important; }
}

/* ==========================================================================
   22. ACCESSIBILITY — Reduced Motion
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
