/*
Theme Name: Norfolk Living Guide
Template: kadence
Description: Earthy, editorial child theme for Norfolk Living Guide
Version: 1.3
*/

/* =========================================
   DESIGN SYSTEM: Norfolk Living Guide
   Palette: Sage #5C7A56, Bark #3D3426,
   Clay #B8704C, Wheat #FAF7F2, Sand #E8E0D4,
   Moss #4a6545, Parchment #FFFDF8
   Fonts: Playfair Display (headings), Source Sans 3 (body)
   ========================================= */

/* --- Global Foundation --- */
body {
  background-color: #FDFBF7 !important;
  color: #3D3426 !important;
  font-family: 'Source Sans 3', 'Segoe UI', sans-serif !important;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}

/* --- Typography: Editorial Feel --- */
h1, h2, h3, h4, h5, h6,
.entry-title,
.wp-block-heading {
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
  color: #3D3426;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.01em;
}

.entry-title, h1 {
  font-size: clamp(1.8rem, 4vw, 2.6rem) !important;
}

h2, .wp-block-heading:where(:not([class*="font-size"])) {
  font-size: clamp(1.4rem, 3vw, 1.85rem);
  margin-top: 2.5rem;
  margin-bottom: 1rem;
  padding-bottom: 8px;
  border-bottom: 2px solid #E8E0D4;
}

h3 {
  font-size: clamp(1.15rem, 2.2vw, 1.4rem);
}

p, li, td, th {
  font-family: 'Source Sans 3', 'Segoe UI', sans-serif;
  font-size: 1.02rem;
  line-height: 1.78;
  color: #4A4038;
}

/* --- Links: Warm Underline Style --- */
.entry-content a:not([class]):not([style*="background"]):not([style*="color:#fff"]):not([style*="color: #fff"]) {
  color: #5C7A56;
  text-decoration: underline;
  text-decoration-color: rgba(92, 122, 86, 0.3);
  text-underline-offset: 3px;
  transition: color 0.2s, text-decoration-color 0.2s;
}

.entry-content a:not([class]):not([style*="background"]):hover {
  color: #B8704C;
  text-decoration-color: #B8704C;
}

/* --- Buttons: Earthy & Organic --- */
.wp-block-button__link,
.wp-element-button {
  font-family: 'Source Sans 3', sans-serif !important;
  font-weight: 600 !important;
  border-radius: 8px !important;
  padding: 13px 32px !important;
  transition: all 0.25s ease !important;
  letter-spacing: 0.3px;
}

/* Primary buttons - sage green */
.wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background-color: #5C7A56 !important;
  color: #fff !important;
  border: none !important;
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
  background-color: #4a6545 !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(92, 122, 86, 0.25);
}

/* Outline buttons */
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  color: #5C7A56 !important;
  border: 2px solid #5C7A56 !important;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: #5C7A56 !important;
  color: #fff !important;
}

/* --- Blockquotes: Editorial aside --- */
blockquote,
.wp-block-quote {
  border-left: 3px solid #B8704C !important;
  background: #FFFDF8 !important;
  padding: 24px 28px !important;
  margin: 2rem 0 !important;
  border-radius: 0 10px 10px 0 !important;
  font-style: italic;
}

blockquote p {
  color: #5a4e3f !important;
  font-size: 1.05rem !important;
}

/* --- Tables: Warm Editorial --- */
.entry-content table,
.wp-block-table table {
  border-collapse: collapse;
  width: 100%;
  margin: 1.5rem 0;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid #E8E0D4;
}

.entry-content table th {
  background: #5C7A56 !important;
  color: #fff !important;
  font-family: 'Source Sans 3', sans-serif;
  font-weight: 600;
  padding: 14px 18px;
  text-align: left;
  font-size: 0.92rem;
  letter-spacing: 0.3px;
}

.entry-content table td {
  padding: 12px 18px;
  border-bottom: 1px solid #ECE7DF;
  font-size: 0.95rem;
}

.entry-content table tbody tr:nth-child(even) {
  background: #FAF7F2;
}

.entry-content table tbody tr:hover {
  background: #F0EDE6;
}

/* --- Images: Organic framing --- */
.entry-content .wp-block-image img,
.entry-content figure img {
  border-radius: 10px;
  box-shadow: 0 2px 12px rgba(61, 52, 38, 0.08);
}

.entry-content figure figcaption {
  font-size: 0.85rem;
  color: #8A7E6F;
  font-style: italic;
  text-align: center;
  margin-top: 8px;
}

/* --- Section Number Circles: HIDE entirely for less AI feel --- */
div[style*="background:linear-gradient(135deg,#5C7A56"] {
  display: none !important;
}
/* Also hide the clay circle numbered sections */
div[style*="background:#B8704C;color:#fff;width:36px"] {
  display: none !important;
}
/* Class-based section number spans - hide with max specificity */
body .entry-content .nlg-section-num,
body .entry-content span.nlg-section-num,
html body .nlg-section-num {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  position: absolute !important;
}

/* --- Section headings: editorial style without numbers --- */
.nlg-section-heading {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.45rem !important;
  color: #3D3426 !important;
  border-bottom: 2px solid #E8E0D4;
  padding-bottom: 8px;
  margin-bottom: 20px !important;
}

/* Style the flex containers that held number + heading */
div[style*="display:flex;align-items:center;gap:14px"] {
  display: block !important;
}
div[style*="display:flex;align-items:center;gap:14px"] h2 {
  border-bottom: 2px solid #E8E0D4 !important;
  padding-bottom: 8px !important;
  margin-bottom: 20px !important;
}

/* --- In-post hero: tone down the green gradient box --- */
.nlg-guide-hero,
div[style*="background:linear-gradient(135deg,#4a6545"] {
  background: #3D3426 !important;
  border-radius: 0 !important;
  margin-left: -40px !important;
  margin-right: -40px !important;
  padding: 2.5rem 40px 2rem !important;
}
/* Remove duplicate hero on mobile */
@media (max-width: 768px) {
  .nlg-guide-hero,
  div[style*="background:linear-gradient(135deg,#4a6545"] {
    margin-left: -16px !important;
    margin-right: -16px !important;
    padding: 2rem 20px 1.5rem !important;
  }
}

/* --- Tags in hero: softer, less template-y --- */
.nlg-tag,
span[style*="background:rgba(255,255,255,.18)"] {
  background: rgba(255,255,255,.1) !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  padding: 5px 14px !important;
  border-radius: 4px !important;
  font-size: .8rem !important;
  letter-spacing: .5px !important;
}
.nlg-tag.highlight {
  background: rgba(184,112,76,.3) !important;
  border-color: rgba(184,112,76,.4) !important;
}

/* --- Stats bar: less template, more editorial --- */
.nlg-stats-bar,
div[style*="grid-template-columns:repeat(5,1fr)"] {
  border-radius: 0 !important;
  border: none !important;
  border-top: 2px solid #E8E0D4 !important;
  border-bottom: 2px solid #E8E0D4 !important;
  background: transparent !important;
}
.nlg-stats-bar div[style*="border-right"],
div[style*="grid-template-columns:repeat(5,1fr)"] > div {
  background: transparent !important;
}

/* --- Verdict box: more editorial callout --- */
.nlg-verdict,
div[style*="border-left:4px solid #B8704C"] {
  background: transparent !important;
  border-left: 3px solid #B8704C !important;
  border-radius: 0 !important;
  padding: 0 0 0 24px !important;
  margin: 1.5rem 0 2.5rem !important;
  box-shadow: none !important;
}

/* --- Pros/Cons: less card-like --- */
.nlg-pros-cons {
  gap: 24px !important;
}
.nlg-pros,
div[style*="background:#f0f8ee"] {
  background: transparent !important;
  border: none !important;
  border-left: 3px solid #5C7A56 !important;
  border-radius: 0 !important;
  padding: 0 0 0 20px !important;
}
.nlg-cons,
div[style*="background:#fdf0ed"],
div[style*="background:#fef5f5"] {
  background: transparent !important;
  border: none !important;
  border-left: 3px solid #C0392B !important;
  border-radius: 0 !important;
  padding: 0 0 0 20px !important;
}

/* --- Recommended badge: more subtle --- */
span[style*="background:#B8704C"][style*="color:#fff"][style*="padding"] {
  background: transparent !important;
  color: #B8704C !important;
  border: 1.5px solid #B8704C !important;
  font-size: .78rem !important;
  letter-spacing: .5px !important;
  text-transform: uppercase !important;
}

/* --- Quick Verdict Box --- */
div[style*="border-left:4px solid #D4A04A"] {
  background: linear-gradient(135deg, #FFFDF8, #FAF7F2) !important;
  border-left: 4px solid #B8704C !important;
  border-radius: 0 12px 12px 0 !important;
  box-shadow: 0 2px 8px rgba(61, 52, 38, 0.05);
}

/* --- Header/Navigation: Earthy --- */
.site-header-wrap {
  border-bottom: 1px solid #E8E0D4;
}

.header-navigation .menu-item > a {
  font-family: 'Source Sans 3', sans-serif !important;
  color: #3D3426 !important;
  font-weight: 500;
  font-size: 0.95rem;
  letter-spacing: 0.2px;
}

.header-navigation .menu-item > a:hover {
  color: #5C7A56 !important;
}

/* --- Footer: Grounded --- */
.site-footer {
  background: #3D3426 !important;
  color: #E8E0D4 !important;
}

.site-footer a {
  color: #C8B89A !important;
  transition: color 0.2s;
}

.site-footer a:hover {
  color: #fff !important;
}

/* --- Breadcrumbs: Subtle --- */
.kadence-breadcrumbs {
  font-size: 0.85rem;
  color: #8A7E6F;
}

.kadence-breadcrumbs a {
  color: #5C7A56;
}

/* --- Selection Color --- */
::selection {
  background: rgba(92, 122, 86, 0.2);
  color: #3D3426;
}

/* --- Scrollbar (webkit) --- */
::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-track {
  background: #FAF7F2;
}

::-webkit-scrollbar-thumb {
  background: #C8B89A;
  border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
  background: #B8704C;
}

/* --- Pull quote style --- */
.wp-block-pullquote {
  border-top: 3px solid #B8704C;
  border-bottom: 3px solid #B8704C;
  padding: 1.5em 0;
}

.wp-block-pullquote blockquote p {
  font-family: 'Playfair Display', serif;
  font-size: 1.3rem;
  font-style: italic;
  color: #3D3426;
}

/* --- Separator / HR --- */
hr, .wp-block-separator {
  border: none !important;
  height: 2px !important;
  background: linear-gradient(to right, transparent, #E8E0D4, transparent) !important;
  margin: 2.5rem 0 !important;
}

/* --- Category/Tag pills --- */
.post-categories a,
.post-tags a,
.entry-taxonomies a {
  background: #FAF7F2;
  color: #5C7A56 !important;
  padding: 4px 14px;
  border-radius: 20px;
  font-size: 0.82rem;
  font-weight: 600;
  border: 1px solid #E8E0D4;
  text-decoration: none !important;
  transition: all 0.2s;
}

.post-categories a:hover,
.post-tags a:hover,
.entry-taxonomies a:hover {
  background: #5C7A56;
  color: #fff !important;
  border-color: #5C7A56;
}

/* --- Remove any vivid/neon WordPress default colors --- */
.has-luminous-vivid-amber-background-color {
  background-color: #5C7A56 !important;
}

.has-vivid-green-cyan-background-color {
  background-color: #5C7A56 !important;
}

/* --- Post navigation --- */
.post-navigation {
  border-top: 2px solid #E8E0D4;
  border-bottom: 2px solid #E8E0D4;
  padding: 1.5rem 0;
  margin: 2rem 0;
}

.post-navigation a {
  color: #3D3426 !important;
  font-weight: 600;
}

.post-navigation a:hover {
  color: #5C7A56 !important;
}

/* --- Recommended / CTA boxes in posts --- */
div[style*="background:#FFF8EE"],
div[style*="background: #FFF8EE"],
div[style*="background:#FFFBF5"] {
  background: linear-gradient(135deg, #FFFDF8, #FAF5ED) !important;
  border: 1px solid #E8D8C4 !important;
  border-radius: 12px !important;
}

/* Fix recommended badge */
span[style*="background:#D4A04A"],
span[style*="background: #D4A04A"] {
  background: #B8704C !important;
  border-radius: 6px !important;
  font-family: 'Source Sans 3', sans-serif !important;
}

/* --- Form inputs: Warm --- */
input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
select {
  border: 2px solid #E8E0D4 !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  background: #FDFBF7 !important;
  color: #3D3426 !important;
  transition: border-color 0.2s;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
textarea:focus,
select:focus {
  border-color: #5C7A56 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(92, 122, 86, 0.1) !important;
}

/* --- Mobile Refinements --- */
@media (max-width: 768px) {
  .entry-content-wrap {
    padding: 0 16px;
  }

  h2, .wp-block-heading {
    font-size: 1.35rem;
  }

  /* Stack stats bar on mobile */
  div[style*="grid-template-columns:repeat(5,1fr)"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* --- Smooth transitions --- */
a, button, input, .wp-block-button__link {
  transition: all 0.2s ease;
}

/* --- Print --- */
@media print {
  body { background: #fff !important; }
  .site-header, .site-footer, .post-navigation { display: none; }
}

/* --- Hide page title on home/front page --- */
body.home .entry-hero,
body.page-id-10 .entry-hero,
body.home section.entry-hero.page-hero-section {
  display: none !important;
}

/* --- Hide in-content duplicate hero on posts with nlg-guide or nlg-guide-hero --- */
.nlg-guide .nlg-hero,
.entry-content > .nlg-guide-hero,
.entry-content > div > .nlg-guide-hero {
  display: none !important;
}

/* --- Hide Practical Guides nav pill --- */
.header-navigation .menu-item > a[href*="/guides/"],
.header-navigation .menu-item > a[href*="category/guides"] {
  background: transparent !important;
  border: none !important;
  color: #3D3426 !important;
  padding: 8px 12px !important;
}

/* --- Fix green text on brown/dark backgrounds globally --- */
.nlg-guide .nlg-section h2,
.nlg-guide .nlg-section-header h2,
div[style*="background:#3D3426"] *,
div[style*="background:linear-gradient(135deg,#4a6545"] p,
div[style*="background:linear-gradient(135deg,#4a6545"] h1,
div[style*="background:linear-gradient(135deg,#4a6545"] h2,
div[style*="background:linear-gradient(135deg,#4a6545"] span {
  color: inherit;
}

/* Fix green stat values on dark/brown backgrounds */
.nlg-guide .nlg-section p[style*="color:#5C7A56"] {
  color: #5C7A56 !important;
}

/* --- nlg-guide sections styling cleanup --- */
.nlg-guide .nlg-section {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin-bottom: 2rem !important;
}
.nlg-guide .nlg-section-header {
  display: block !important;
}
.nlg-guide .nlg-section-header h2 {
  border-bottom: 2px solid #E8E0D4 !important;
  padding-bottom: 8px !important;
}

/* --- Compare tool hover fix: bottom line overflow --- */
.nlg-compare-wrap .nlg-table {
  overflow: hidden !important;
  border-radius: 10px !important;
}
.nlg-compare-wrap .nlg-table tr:last-child td {
  border-bottom: none !important;
}
.nlg-compare-wrap .nlg-section {
  overflow: hidden !important;
}

/* --- Fix green text on brown in compare tool --- */
.nlg-compare-wrap .nlg-table th {
  background: #3D3426 !important;
  color: #fff !important;
}
.nlg-compare-wrap .nlg-best {
  background: #f0ebe3 !important;
  color: #3D3426 !important;
  font-weight: 600 !important;
}

/* --- Practical guides hero brown-on-brown fix --- */
.entry-content .nlg-guide-hero h1,
.entry-content .nlg-guide-hero p,
.entry-content .nlg-guide-hero span {
  color: #fff !important;
}

/* --- Our Honest Take vertical stretch fix --- */
.nlg-honest-take,
div[class*="honest-take"],
div[style*="writing-mode"],
div[style*="transform:rotate"] {
  writing-mode: horizontal-tb !important;
  transform: none !important;
  text-orientation: mixed !important;
}

/* --- Remove gold gradient number circles in best-of posts --- */
span[style*="background:linear-gradient(135deg,#D4A04A,#B8704C)"] {
  background: #B8704C !important;
}

/* Remove gap between header and home content */
body.home #inner-wrap {
  padding-top: 0 !important;
}
body.home .content-area {
  padding-top: 0 !important;
}
body.home .content-container {
  padding-top: 0 !important;
}

/* --- Fix Home Hero Text Contrast --- */
.nlg-hero2-txt h1 {
  text-shadow: 0 2px 12px rgba(0,0,0,.6), 0 1px 3px rgba(0,0,0,.4) !important;
  color: #fff !important;
}
.nlg-hero2-txt p {
  text-shadow: 0 1px 8px rgba(0,0,0,.5) !important;
}
.nlg-hero2::after {
  background: linear-gradient(to top, rgba(20,20,15,.82) 0%, rgba(20,20,15,.45) 40%, rgba(20,20,15,.15) 70%, rgba(20,20,15,.05) 100%) !important;
}

/* --- Fix Kadence footer - hide default --- */
.site-footer .site-bottom-footer-wrap {
  display: none !important;
}
.site-footer {
  padding: 0 !important;
  background: transparent !important;
}

/* --- Fix Map page font to match site --- */
.nlg-map-wrap h2,
.nlg-map-wrap,
.nlg-map-popup h3,
.nlg-map-popup {
  font-family: 'Source Sans 3', sans-serif !important;
}
.nlg-map-wrap h2 {
  font-family: 'Playfair Display', serif !important;
  border: none;
  padding: 0;
}

/* =========================================
   ABOUT PAGE STYLES
   ========================================= */
.nlg-about-page{font-family:'Source Sans 3',sans-serif;color:#3D3426;line-height:1.75}
.nlg-about-page h2{font-family:'Playfair Display',serif;font-size:1.7rem;font-weight:700;color:#3D3426;margin:0 0 16px;border:none;padding:0}
.nlg-about-page p{font-size:1.05rem;color:#4A4038;margin:0 0 18px}
.nlg-ab-hero{position:relative;border-radius:14px;overflow:hidden;margin:0 0 48px;height:380px}
.nlg-ab-hero img{width:100%;height:100%;object-fit:cover}
.nlg-ab-hero-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(61,52,38,.75) 0%,rgba(61,52,38,.2) 60%,transparent 100%)}
.nlg-ab-hero-txt{position:absolute;bottom:0;left:0;right:0;padding:32px 40px;z-index:2}
.nlg-ab-hero-txt p{color:rgba(255,255,255,.9) !important;font-size:1.15rem;max-width:620px;margin:0;line-height:1.7}
.nlg-ab-split{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin:0 0 56px;align-items:center}
.nlg-ab-split-img{border-radius:12px;overflow:hidden;height:360px}
.nlg-ab-split-img img{width:100%;height:100%;object-fit:cover}
.nlg-ab-values{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0 0 56px}
.nlg-ab-vcard{background:#FAF7F2;border:1px solid #E8E0D4;border-radius:12px;padding:28px 24px}
.nlg-ab-vcard-icon{font-size:28px;margin:0 0 12px}
.nlg-ab-vcard h3{font-family:'Playfair Display',serif;font-size:1.15rem;margin:0 0 8px;color:#3D3426}
.nlg-ab-vcard p{font-size:.92rem;color:#6B5E50;margin:0;line-height:1.65}
.nlg-ab-quote{background:#FAF7F2;border-radius:12px;padding:40px 44px;margin:0 0 56px;position:relative}
.nlg-ab-quote::before{content:'\201C';position:absolute;top:16px;left:24px;font-family:'Playfair Display',serif;font-size:4rem;color:#E8E0D4;line-height:1}
.nlg-ab-quote p{font-family:'Playfair Display',serif;font-size:1.2rem;font-style:italic;color:#5a4e3f;line-height:1.7;margin:0;padding-left:36px}
.nlg-ab-divider{width:60px;height:3px;background:#B8704C;border-radius:2px;margin:0 0 20px}
.nlg-ab-cta{background:linear-gradient(135deg,#4a6545 0%,#3D5A35 100%);border-radius:14px;padding:48px 44px;text-align:center;margin:48px 0 0}
.nlg-ab-cta h2{color:#fff !important;margin:0 0 12px}
.nlg-ab-cta p{color:rgba(255,255,255,.88) !important;max-width:520px;margin:0 auto 28px}
.nlg-ab-cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.nlg-ab-cta-btns a{display:inline-block;padding:13px 30px;border-radius:8px;font-weight:600;font-size:.95rem;text-decoration:none !important;transition:all .2s}
.nlg-ab-cta-btns a.nlg-ab-primary{background:#fff;color:#3D3426 !important}
.nlg-ab-cta-btns a.nlg-ab-primary:hover{background:#FAF7F2}
.nlg-ab-cta-btns a.nlg-ab-secondary{border:2px solid rgba(255,255,255,.5);color:#fff !important;background:transparent}
.nlg-ab-cta-btns a.nlg-ab-secondary:hover{border-color:#fff}
/* --- Team Section --- */
.nlg-ab-team{margin:0 0 56px}
.nlg-ab-person{display:flex;gap:24px;align-items:flex-start;padding:28px 0;border-bottom:1px solid #E8E0D4}
.nlg-ab-person:last-child{border-bottom:none}
.nlg-ab-person-initials{width:56px;height:56px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Source Sans 3',sans-serif;font-weight:700;font-size:1.1rem;flex-shrink:0;letter-spacing:1px}
.nlg-ab-person-info{flex:1}
.nlg-ab-person-info h3{font-family:'Playfair Display',serif;font-size:1.2rem;margin:0 0 2px;color:#3D3426}
.nlg-ab-person-role{font-size:.88rem !important;color:#5C7A56 !important;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px !important}
.nlg-ab-person-info p:last-child{font-size:.95rem;color:#5a4e3f;margin:0;line-height:1.7}
@media(max-width:768px){
  .nlg-ab-split{grid-template-columns:1fr;gap:24px}
  .nlg-ab-split-img{height:260px}
  .nlg-ab-values{grid-template-columns:1fr}
  .nlg-ab-hero{height:280px}
  .nlg-ab-hero-txt{padding:20px 24px}
  .nlg-ab-person{flex-direction:column;gap:16px}
}

/* =========================================
   CONTACT PAGE STYLES
   ========================================= */
.nlg-contact{font-family:'Source Sans 3',sans-serif;color:#3D3426;line-height:1.75;max-width:860px;margin:0 auto}
.nlg-contact h2{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:700;color:#3D3426;margin:0 0 16px;border:none;padding:0}
.nlg-contact p{font-size:1.05rem;color:#4A4038;margin:0 0 18px}
.nlg-ct-divider{width:50px;height:3px;background:#B8704C;border-radius:2px;margin:0 0 18px}
.nlg-ct-intro{text-align:center;margin:0 0 48px}
.nlg-ct-intro p{max-width:580px;margin:0 auto 18px;font-size:1.1rem}
.nlg-ct-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:0 0 48px}
.nlg-ct-card{background:#FAF7F2;border:1px solid #E8E0D4;border-radius:12px;padding:28px 24px}
.nlg-ct-card h3{font-family:'Playfair Display',serif;font-size:1.15rem;margin:0 0 10px;color:#3D3426}
.nlg-ct-card p{font-size:.95rem;color:#6B5E50;margin:0;line-height:1.65}
.nlg-ct-email{background:linear-gradient(135deg,#4a6545,#3D5A35);border-radius:14px;padding:40px 44px;text-align:center;margin:0 0 48px}
.nlg-ct-email p{color:rgba(255,255,255,.88) !important;margin:0 0 16px;font-size:1.05rem}
.nlg-ct-email a{color:#fff !important;font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:700;text-decoration:none !important;border-bottom:2px solid rgba(255,255,255,.4);padding-bottom:4px;transition:border-color .2s}
.nlg-ct-email a:hover{border-color:#fff}
.nlg-ct-email .nlg-ct-note{font-size:.9rem;color:rgba(255,255,255,.65) !important;margin:16px 0 0}
.nlg-ct-based{background:#FAF7F2;border-radius:12px;padding:32px 36px;margin:0 0 48px}
.nlg-ct-img{border-radius:12px;overflow:hidden;margin:0 0 48px;height:300px}
.nlg-ct-img img{width:100%;height:100%;object-fit:cover}
@media(max-width:768px){
  .nlg-ct-grid{grid-template-columns:1fr}
  .nlg-ct-img{height:220px}
}

/* =========================================
   ADVERTISE PAGE STYLES
   ========================================= */
.nlg-adv{font-family:'Source Sans 3',sans-serif;color:#3D3426;line-height:1.75}
.nlg-adv h2{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:700;color:#3D3426;margin:0 0 16px;border:none;padding:0}
.nlg-adv h3{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:700;color:#3D3426;margin:0 0 10px}
.nlg-adv p{font-size:1.02rem;color:#4A4038;margin:0 0 18px}
.nlg-adv-divider{width:50px;height:3px;background:#B8704C;border-radius:2px;margin:0 0 18px}
.nlg-adv-hero{position:relative;border-radius:14px;overflow:hidden;margin:0 0 48px;height:320px}
.nlg-adv-hero img{width:100%;height:100%;object-fit:cover}
.nlg-adv-hero-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(61,52,38,.78) 0%,rgba(61,52,38,.3) 55%,transparent 100%)}
.nlg-adv-hero-txt{position:absolute;bottom:0;left:0;right:0;padding:32px 40px;z-index:2}
.nlg-adv-hero-txt p{color:rgba(255,255,255,.92) !important;font-size:1.12rem;max-width:600px;margin:0;line-height:1.7}
.nlg-adv-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:#FAF7F2;border-radius:14px;overflow:hidden;margin:0 0 48px;border:1px solid #E8E0D4}
.nlg-adv-stat{padding:28px 24px;text-align:center;border-right:1px solid #E8E0D4}
.nlg-adv-stat:last-child{border-right:none}
.nlg-adv-stat-num{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:700;color:#5C7A56}
.nlg-adv-stat-label{font-size:.85rem;color:#7A7265;margin-top:4px}
.nlg-adv-audience{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin:0 0 48px}
.nlg-adv-acard{background:#FAF7F2;border:1px solid #E8E0D4;border-radius:12px;padding:24px 20px}
.nlg-adv-acard h3{font-size:1rem;margin:0 0 8px}
.nlg-adv-acard p{font-size:.9rem;color:#6B5E50;margin:0;line-height:1.6}
.nlg-adv-who{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 48px}
.nlg-adv-who-card{background:#fff;border:1px solid #E8E0D4;border-radius:10px;padding:20px;transition:border-color .2s}
.nlg-adv-who-card:hover{border-color:#5C7A56}
.nlg-adv-who-card h3{font-family:'Source Sans 3',sans-serif;font-size:.95rem;font-weight:700;color:#3D3426;margin:0 0 6px}
.nlg-adv-who-card p{font-size:.88rem;color:#6B5E50;margin:0;line-height:1.55}
.nlg-adv-options{margin:0 0 48px}
.nlg-adv-opt{background:#FAF7F2;border:1px solid #E8E0D4;border-radius:12px;padding:28px;margin:0 0 16px}
.nlg-adv-opt h3{margin:0 0 10px}
.nlg-adv-opt p{font-size:.95rem;margin:0;color:#5a4e3f}
.nlg-adv-approach{background:linear-gradient(135deg,#FFFDF8,#FAF7F2);border:1px solid #E8E0D4;border-radius:14px;padding:36px 40px;margin:0 0 48px}
.nlg-adv-cta{background:linear-gradient(135deg,#4a6545,#3D5A35);border-radius:14px;padding:44px;text-align:center;margin:48px 0 0}
.nlg-adv-cta h2{color:#fff !important;margin:0 0 12px}
.nlg-adv-cta p{color:rgba(255,255,255,.88) !important;max-width:520px;margin:0 auto 8px}
.nlg-adv-cta a{color:#fff !important;font-weight:700;font-size:1.1rem;text-decoration:none !important;border-bottom:2px solid rgba(255,255,255,.5)}
.nlg-adv-cta a:hover{border-color:#fff}
@media(max-width:768px){
  .nlg-adv-stats{grid-template-columns:1fr}
  .nlg-adv-stat{border-right:none;border-bottom:1px solid #E8E0D4}
  .nlg-adv-stat:last-child{border-bottom:none}
  .nlg-adv-audience{grid-template-columns:1fr}
  .nlg-adv-who{grid-template-columns:1fr}
  .nlg-adv-hero{height:260px}
}

/* =========================================
   BUTTON CONTRAST FIXES
   ========================================= */

/* Navigation dropdown - ensure readable text on hover */
.header-navigation .sub-menu {
  background: #fff !important;
  border: 1px solid #E8E0D4 !important;
  box-shadow: 0 4px 16px rgba(61,52,38,.1) !important;
}
.header-navigation .sub-menu .menu-item > a {
  color: #3D3426 !important;
  padding: 10px 20px !important;
}
.header-navigation .sub-menu .menu-item > a:hover {
  background: #FAF7F2 !important;
  color: #5C7A56 !important;
}

/* Practical Guides button in header - ensure white text on clay */
.header-navigation .menu-item > a[style*="background"] {
  color: #fff !important;
}

/* Compare tool - View Full Guide button: use clay instead of green */
.nlg-guide-btn {
  background: #B8704C !important;
  color: #fff !important;
}
.nlg-guide-btn:hover {
  background: #9e5f3f !important;
  color: #fff !important;
}

/* Compare tool - green highlight cells should have darker green text */
.nlg-best {
  background: #eef5ec !important;
  color: #2d4a26 !important;
  font-weight: 600;
}

/* Ensure CTA buttons in post content have readable text */
a[style*="background:#5C7A56"],
a[style*="background: #5C7A56"] {
  color: #fff !important;
}
a[style*="background:#B8704C"],
a[style*="background: #B8704C"] {
  color: #fff !important;
}
a[style*="background:#3D3426"],
a[style*="background: #3D3426"] {
  color: #fff !important;
}

/* Post "Read the Full Guide" and CTA boxes - ensure contrast */
div[style*="background:#5C7A56"] a,
div[style*="background:linear-gradient(135deg,#5C7A56"] a,
div[style*="background:linear-gradient(135deg,#4a6545"] a {
  color: #fff !important;
}

/* Kadence button overrides for any brown-on-brown or green-on-green */
.wp-block-button__link[style*="background-color:#5C7A56"] {
  color: #fff !important;
}
.wp-block-button__link[style*="background-color:#B8704C"] {
  color: #fff !important;
}
.wp-block-button__link[style*="background-color:#3D3426"] {
  color: #fff !important;
}

/* =========================================
   FIX: Home hero brown-on-brown text + gap
   ========================================= */

/* Fix 1: Hero heading is h2, not h1 - force white */
.nlg-hero2-txt h2,
.nlg-hero2-txt h1,
.nlg-hero2-txt h3 {
  text-shadow: 0 2px 12px rgba(0,0,0,.6), 0 1px 3px rgba(0,0,0,.4) !important;
  color: #fff !important;
}

/* Fix 2: Remove beige gap above hero on homepage */
body.home .content-area {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
body.home .entry-content-wrap {
  padding-top: 0 !important;
}


/* =========================================
   FIX: Active dropdown item invisible text
   Must use #main-navigation (ID) to beat specificity
   of the existing #main-navigation .sub-menu a rule
   ========================================= */
#main-navigation .sub-menu .current-menu-item > a {
  color: #FFFDF8 !important;
}

/* --- Mobile Drawer Menu Fix --- */
.popup-drawer .drawer-inner,
.popup-drawer .drawer-content,
.popup-drawer .drawer-header {
  color: #3D3426 !important;
}
.popup-drawer .mobile-navigation a,
.popup-drawer .drawer-navigation a {
  color: #3D3426 !important;
}
.popup-drawer .mobile-navigation a:hover,
.popup-drawer .drawer-navigation a:hover {
  color: #5C7A56 !important;
}
.popup-drawer .menu-toggle-close {
  color: #3D3426 !important;
}
.popup-drawer .drawer-sub-toggle {
  color: #3D3426 !important;
}
.popup-drawer .drawer-nav-drop-wrap {
  color: #3D3426 !important;
}

/* --- Mobile Content Width Fix --- */
@media (max-width: 768px) {
  .content-area {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  .content-container.site-container {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  .entry-content-wrap {
    padding: 8px 4px !important;
  }
  .entry-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  /* Tables scroll horizontally on mobile */
  .nlg-data-table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}


/* --- Callout box styling (border via CSS to avoid style*=5C7A56 match) --- */
.nlg-callout {
  border-left: 4px solid #5C7A56 !important;
  background: #FAF7F2 !important;
  padding: 1.5rem 1.75rem !important;
  margin: 1.5rem 0 !important;
  border-radius: 0 10px 10px 0 !important;
}
html body .entry-content .nlg-callout a,
html body .entry-content .nlg-callout a:not(.x):not(.y):not(.z):not(.w):not(.v):not(.u),
html body .single-content .nlg-callout a,
html body .single-content .nlg-callout a:not(.x):not(.y):not(.z):not(.w):not(.v):not(.u),
html body .nlg-callout a,
html body .nlg-callout a:not(.x):not(.y):not(.z):not(.w):not(.v):not(.u) {
  color: #5C7A56 !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(92, 122, 86, 0.3) !important;
  text-underline-offset: 3px !important;
}
html body .entry-content .nlg-callout a:hover,
html body .entry-content .nlg-callout a:not(.x):not(.y):not(.z):not(.w):not(.v):not(.u):hover,
html body .single-content .nlg-callout a:hover,
html body .nlg-callout a:hover {
  color: #B8704C !important;
  text-decoration-color: #B8704C !important;
}
/* =========================================
   FIX: Bottom Line / callout vertical text
   ========================================= */
.nlg-callout {
  display: block !important;
  columns: unset !important;
  column-count: unset !important;
  flex-direction: unset !important;
  writing-mode: horizontal-tb !important;
}
.nlg-callout > p {
  display: block !important;
  writing-mode: horizontal-tb !important;
  columns: unset !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* =========================================
   FIX: Green CTA boxes - improve text visibility
   ========================================= */
html body .entry-content div[style*="background:#5C7A56"] {
  background: #3D3426 !important;
  border-radius: 10px !important;
}
html body .entry-content div[style*="background:#5C7A56"] h3,
html body .entry-content div[style*="background:#5C7A56"] p,
html body .entry-content div[style*="background:#5C7A56"] span {
  color: #fff !important;
}
html body .entry-content div[style*="background:#5C7A56"] a {
  color: #D4A04A !important;
  text-decoration: underline !important;
}
html body .entry-content div[style*="background:#5C7A56"] a:hover {
  color: #fff !important;
}
/* =========================================
   FIX: Standard dropdown menus (Compare, Best Of)
   Scoped to NON-mega-menu items only
   ========================================= */
@media (min-width: 1025px) {
  .header-navigation ul.menu > .menu-item:not(.mega-menu) > .sub-menu {
    min-width: 260px !important;
    max-width: 300px !important;
    width: auto !important;
    overflow: visible !important;
    border-radius: 10px !important;
  }
  .header-navigation ul.menu > .menu-item:not(.mega-menu) > .sub-menu .menu-item > a {
    white-space: normal !important;
    line-height: 1.4 !important;
    padding-right: 28px !important;
  }
  .header-navigation ul.menu > .menu-item:not(.mega-menu) > .sub-menu .menu-item:last-child > a {
    border-radius: 0 0 10px 10px !important;
  }
}

/* =========================================
   FIX: Guides Mega Menu - right-aligned, under tab
   ========================================= */
@media (min-width: 1025px) {
  .menu-item.mega-menu {
    position: static !important;
  }
  .menu-item.mega-menu > .sub-menu {
    min-width: 880px !important;
    width: 880px !important;
    right: 0 !important;
    left: auto !important;
    transform: none !important;
    padding: 1rem 1.5rem 0.75rem !important;
    position: fixed !important;
    top: auto !important;
    display: none;
    flex-wrap: wrap !important;
    flex-direction: row !important;
    background: #fff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.1) !important;
  }
  .menu-item.mega-menu:hover > .sub-menu,
  .menu-item.mega-menu:focus-within > .sub-menu {
    display: flex !important;
  }
  /* Hide mega-menu when dismissed via close button */
  .menu-item.mega-menu.menu-dismissed > .sub-menu {
    display: none !important;
  }
  .menu-item.mega-menu > .sub-menu > .menu-item {
    flex: 0 0 24% !important;
    max-width: 24% !important;
    padding: 0 0.75rem !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    border: none !important;
  }
  .menu-item.mega-menu > .sub-menu > .menu-item > a {
    font-family: 'DM Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.72rem !important;
    color: #5C7A56 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    padding: 0 0 0.4rem 0 !important;
    margin-bottom: 0.4rem !important;
    border-bottom: 2px solid #E8E0D4 !important;
    pointer-events: none !important;
    cursor: default !important;
    background: transparent !important;
    display: block !important;
    white-space: normal !important;
    line-height: 1.4 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .menu-item.mega-menu > .sub-menu > .menu-item > a:hover {
    background: transparent !important;
  }
  .menu-item.mega-menu > .sub-menu > .menu-item > .sub-menu {
    position: static !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    min-width: auto !important;
    width: auto !important;
    max-width: none !important;
    transform: none !important;
  }
  .menu-item.mega-menu > .sub-menu > .menu-item > .sub-menu > .menu-item {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
  }
  .menu-item.mega-menu > .sub-menu > .menu-item > .sub-menu > .menu-item > a {
    font-size: 0.86rem !important;
    font-weight: 400 !important;
    color: #475569 !important;
    padding: 0.25rem 0 !important;
    display: block !important;
    background: transparent !important;
    border: none !important;
    line-height: 1.35 !important;
    white-space: normal !important;
  }
  .menu-item.mega-menu > .sub-menu > .menu-item > .sub-menu > .menu-item > a:hover {
    color: #5C7A56 !important;
    background: transparent !important;
  }
}

/* =========================================
   FIX: Area Guides dropdown - limit height, scrollable
   ========================================= */
@media (min-width: 1025px) {
  .menu-item-26 > .sub-menu {
    max-height: 80vh !important;
    overflow-y: auto !important;
  }
}

/* =========================================
   FIX: Hide dropdown when dismissed via close button
   ========================================= */
@media (min-width: 1025px) {
  .menu-item.menu-dismissed > .sub-menu {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }
}
