/*
Theme Name: NBC Containers v60-0609-2900
Version:    55.0.0
Author:     No Brainer AI
License:    GPL-2.0-or-later
Text Domain: nobrainer-containers
*/

/* ============================================================
   DESIGN TOKENS — Earth + Green Architecture
   sand #F2EDE4 · linen #E8E0D4 · stone #D4C9B8
   slate #3D4A3A · moss #5C7A54 · sage #8FA882
   clay #A67C5B · text #1E2420 · muted #5A5E58
============================================================ */
:root {
  --sand:      #F2EDE4;
  --linen:     #E8E0D4;
  --stone:     #D4C9B8;
  --slate:     #3D4A3A;
  --slate-2:   #2C3629;
  --moss:      #5C7A54;
  --moss-2:    #4A6644;
  --sage:      #8FA882;
  --clay:      #A67C5B;
  --clay-2:    #8C6649;
  --text:      #1E2420;
  --muted:     #5A5E58;
  --white:     #FFFFFF;

  /* Semantic aliases */
  --bg:        var(--sand);
  --bg-2:      var(--linen);
  --bg-dark:   var(--slate);
  --border:    var(--stone);
  --green:     var(--moss);
  --green-2:   var(--moss-2);
  --green-3:   var(--sage);
  --orange:    var(--clay);
  --orange-2:  var(--clay-2);
  --on-dark:   var(--sand);
  --on-dark-2: var(--sage);

  --radius:    12px;
  --radius-sm: 7px;
  --shadow:    0 2px 16px rgba(30,36,32,.07);
  --shadow-md: 0 6px 32px rgba(30,36,32,.10);
  --shadow-lg: 0 16px 56px rgba(30,36,32,.14);
}

/* Dark mode */
[data-theme="dark"] {
  --bg:        var(--slate);
  --bg-2:      var(--slate-2);
  --border:    rgba(212,201,184,.18);
  --text:      var(--sand);
  --muted:     var(--sage);
  --white:     #2C3629;
  --on-dark:   var(--sand);
  --on-dark-2: var(--sage);
}

/* ============================================================
   RESET & BASE
============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Inter', -apple-system, system-ui, sans-serif;
  background: var(--bg);
  color: var(--text);
  font-size: 15px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
ul { list-style: none; }
button { font-family: inherit; }

/* ============================================================
   LAYOUT
============================================================ */
.container { max-width: 1180px; margin: 0 auto; padding: 0 24px; }
.section { padding: 72px 0; }
.section--dark   { background: var(--slate); }
.section--mid    { background: var(--slate-2); }
.section--linen  { background: var(--linen); }
.section--white  { background: var(--white); }

/* ============================================================
   TYPOGRAPHY
============================================================ */
.label {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--moss);
  display: block;
  margin-bottom: 10px;
}
.section--dark .label,
.section--mid  .label { color: var(--sage); }

h1, h2, h3 { font-weight: 700; line-height: 1.08; color: var(--text); letter-spacing: -.5px; }
.section--dark h1, .section--dark h2, .section--dark h3,
.section--mid  h1, .section--mid  h2, .section--mid  h3 { color: var(--on-dark); }

.h1 { font-size: clamp(36px, 5.5vw, 68px); font-weight: 300; }
.h1 strong { font-weight: 700; }
.h2 { font-size: clamp(26px, 3.5vw, 44px); font-weight: 300; }
.h2 strong { font-weight: 700; }
.h3 { font-size: clamp(18px, 2.2vw, 24px); }

.body-lg { font-size: 15px; line-height: 1.8; color: var(--muted); }
.section--dark .body-lg,
.section--mid  .body-lg { color: var(--on-dark-2); }

.section-head { margin-bottom: 44px; }
.section-head--center { text-align: center; }

/* ============================================================
   BUTTONS
============================================================ */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 24px;
  border-radius: var(--radius-sm);
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
  border: 1.5px solid transparent;
  transition: all .18s;
  white-space: nowrap;
  text-decoration: none;
  font-family: inherit;
  letter-spacing: .3px;
}
.btn--green   { background: var(--moss);  color: #fff; border-color: var(--moss); }
.btn--green:hover { background: var(--moss-2); border-color: var(--moss-2); }
.btn--clay    { background: var(--clay);  color: #fff; border-color: var(--clay); }
.btn--clay:hover  { background: var(--clay-2); border-color: var(--clay-2); }
.btn--dark    { background: var(--slate); color: var(--sand); border-color: var(--slate); }
.btn--dark:hover  { background: var(--slate-2); }
.btn--outline { background: transparent; color: var(--text); border-color: var(--stone); }
.btn--outline:hover { border-color: var(--text); }
.btn--ghost   { background: transparent; color: var(--on-dark); border-color: rgba(212,201,184,.4); }
.btn--ghost:hover { border-color: var(--on-dark); }
.btn--lg { padding: 14px 28px; font-size: 14px; }
.btn-row { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }

/* ============================================================
   HEADER
============================================================ */
.site-header {
  position: sticky;
  top: 0;
  z-index: 200;
  background: rgba(255,255,255,.97);
  border-bottom: 1px solid var(--stone);
  backdrop-filter: blur(8px);
}
[data-theme="dark"] .site-header {
  background: rgba(44,54,41,.97);
  border-color: rgba(212,201,184,.12);
}
.site-header-inner {
  display: flex;
  align-items: center;
  height: 64px;
  gap: 0;
}
.brand {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 13px;
  font-weight: 700;
  color: var(--text);
  letter-spacing: 1.5px;
  flex-shrink: 0;
  margin-right: 28px;
  text-decoration: none;
}
.brand em { color: var(--moss); font-style: normal; }
.brand img.site-logo { height: 38px; width: auto; display: block; }
:root:not([data-theme="dark"]) .brand img.site-logo { filter: none; }
[data-theme="dark"] .brand img.site-logo { filter: brightness(0) invert(1); }

/* NAV */
.nav-menu { display: flex; align-items: center; gap: 0; flex: 1; }
.nav-item  { position: relative; }
.nav-link {
  display: block;
  padding: 0 13px;
  line-height: 64px;
  font-size: 12px;
  font-weight: 500;
  color: var(--muted);
  transition: color .15s;
  white-space: nowrap;
  letter-spacing: .3px;
}
.nav-link:hover { color: var(--text); }
.nav-link--highlight { color: var(--clay) !important; font-weight: 600; }

/* Dropdown */
.nav-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  border: 1px solid var(--stone);
  border-top: 2px solid var(--moss);
  border-radius: 0 0 var(--radius) var(--radius);
  box-shadow: var(--shadow-lg);
  min-width: 240px;
  padding: 8px 0;
  z-index: 300;
}
[data-theme="dark"] .nav-dropdown {
  background: var(--slate);
  border-color: rgba(212,201,184,.15);
}
.nav-item:hover .nav-dropdown { display: block; }
.nav-dropdown li a {
  display: block;
  padding: 10px 18px;
  font-size: 13px;
  color: var(--muted);
  transition: background .12s, color .12s;
}
.nav-dropdown li a:hover { background: var(--linen); color: var(--text); }
[data-theme="dark"] .nav-dropdown li a:hover { background: var(--slate-2); }
.ndp-name { display: block; font-weight: 600; color: var(--text); font-size: 13px; }
[data-theme="dark"] .ndp-name { color: var(--on-dark); }
.ndp-spec { display: block; font-size: 11px; color: var(--muted); font-family: 'IBM Plex Mono', monospace; margin-top: 1px; }
.nd-group {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 9px; font-weight: 700;
  letter-spacing: 2px; text-transform: uppercase;
  color: var(--moss); padding: 10px 18px 4px;
}
.nd-footer { border-top: 1px solid var(--stone); margin-top: 6px; }
.nd-footer a { color: var(--moss) !important; font-weight: 600 !important; }

/* Header actions */
.header-actions { display: flex; align-items: center; gap: 9px; margin-left: auto; }
.header-try {
  background: var(--moss);
  color: #fff;
  border: none;
  border-radius: var(--radius-sm);
  padding: 8px 16px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  font-family: inherit;
  letter-spacing: .3px;
  transition: background .18s;
}
.header-try:hover { background: var(--moss-2); }
.header-book {
  background: transparent;
  color: var(--text);
  border: 1.5px solid var(--stone);
  border-radius: var(--radius-sm);
  padding: 7px 14px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  font-family: inherit;
  transition: border-color .18s;
}
.header-book:hover { border-color: var(--text); }
.header-phone {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  color: var(--muted);
  transition: color .15s;
}
.header-phone:hover { color: var(--text); }
.dm-btn {
  background: none; border: none;
  font-size: 18px; cursor: pointer;
  padding: 4px; line-height: 1;
  transition: transform .2s;
}
.dm-btn:hover { transform: scale(1.2); }

/* Mobile */
.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
  margin-left: auto;
}
.menu-toggle span { display: block; width: 22px; height: 2px; background: var(--text); border-radius: 2px; }

/* ============================================================
   HERO
============================================================ */
.hero {
  background: var(--white);
  display: grid;
  grid-template-columns: 1fr 440px;
  min-height: 540px;
  border-bottom: 1px solid var(--stone);
}
.hero-content { padding: 56px 44px; display: flex; flex-direction: column; justify-content: center; }
.hero-h1 {
  font-size: clamp(36px, 5.5vw, 60px);
  font-weight: 300;
  color: var(--text);
  line-height: 1.08;
  margin-bottom: 8px;
  letter-spacing: -1.5px;
}
.hero-h1 strong { font-weight: 700; }
.hero-h1 .slot {
  color: var(--moss);
  font-style: italic;
  font-weight: 300;
  transition: opacity .2s;
  display: inline-block;
}
.hero-h1 .slot.fade { opacity: 0; }
.hero-lead { font-size: 15px; color: var(--muted); line-height: 1.8; margin-bottom: 28px; max-width: 440px; }
.hero-tags { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 16px; }
.hero-tag {
  background: var(--sand);
  border: 1px solid var(--stone);
  color: var(--muted);
  font-size: 11px;
  font-weight: 500;
  padding: 4px 11px;
  border-radius: 20px;
  cursor: pointer;
  transition: all .15s;
}
.hero-tag:hover { border-color: var(--moss); color: var(--moss); }

/* Hero gallery */
.hero-gallery { background: var(--linen); border-left: 1px solid var(--stone); display: flex; flex-direction: column; }
.hero-gallery-main {
  flex: 1;
  background: var(--stone);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  min-height: 380px;
}
.hero-gallery-main img { width: 100%; height: 100%; object-fit: cover; }
.hero-gallery-tag {
  position: absolute;
  bottom: 14px;
  left: 14px;
  background: var(--slate);
  color: var(--sand);
  font-family: 'IBM Plex Mono', monospace;
  font-size: 9px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 4px;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.hero-thumbs { display: flex; border-top: 1px solid var(--stone); }
.hero-thumb {
  flex: 1;
  height: 58px;
  background: var(--linen);
  border-right: 1px solid var(--stone);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 11px;
  font-weight: 500;
  color: var(--muted);
  transition: all .15s;
}
.hero-thumb:last-child { border-right: none; }
.hero-thumb.active { background: var(--stone); color: var(--text); font-weight: 600; }
.hero-thumb:hover { background: var(--stone); }

/* ============================================================
   INTAKE / BOOK A CALL
============================================================ */
.intake-section { background: var(--sand); padding: 64px 0; border-bottom: 1px solid var(--stone); }
.intake-inner { display: grid; grid-template-columns: 1fr 400px; gap: 40px; align-items: start; }
.intake-copy h2 { font-size: clamp(24px, 3vw, 34px); font-weight: 300; color: var(--text); margin-bottom: 12px; line-height: 1.2; letter-spacing: -.5px; }
.intake-copy h2 strong { font-weight: 700; }
.intake-copy h2 em { color: var(--moss); font-style: normal; }
.intake-copy p { font-size: 14px; color: var(--muted); line-height: 1.8; margin-bottom: 20px; }
.intake-bullets { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.intake-bullets li { font-size: 13px; color: var(--muted); display: flex; align-items: flex-start; gap: 10px; line-height: 1.5; }
.intake-bullets li::before { content: '—'; color: var(--moss); font-weight: 700; flex-shrink: 0; margin-top: 1px; }
.intake-form { background: var(--white); border: 1.5px solid var(--stone); border-radius: var(--radius); overflow: hidden; }
.intake-form-head { background: var(--slate); padding: 18px 22px; }
.intake-form-head h3 { font-size: 15px; font-weight: 600; color: var(--sand); margin-bottom: 3px; letter-spacing: .3px; }
.intake-form-head p { font-size: 11px; color: var(--sage); }
.intake-form-body { padding: 18px 20px; display: flex; flex-direction: column; gap: 9px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.form-input {
  width: 100%; padding: 10px 12px;
  border: 1.5px solid var(--stone);
  border-radius: var(--radius-sm);
  font-size: 13px; font-family: inherit;
  color: var(--text); background: var(--white);
  outline: none; transition: border-color .15s;
}
.form-input:focus { border-color: var(--moss); }
.form-select {
  width: 100%; padding: 10px 12px;
  border: 1.5px solid var(--stone);
  border-radius: var(--radius-sm);
  font-size: 13px; font-family: inherit;
  color: var(--text); background: var(--white);
  outline: none;
}
.form-submit {
  background: var(--moss); color: #fff;
  border: none; border-radius: var(--radius-sm);
  padding: 13px; font-size: 13px; font-weight: 600;
  cursor: pointer; width: 100%; font-family: inherit;
  letter-spacing: .3px; transition: background .18s;
}
.form-submit:hover { background: var(--moss-2); }
.cal-strip {
  background: var(--sand); border: 1px solid var(--stone);
  border-radius: var(--radius-sm); padding: 12px 14px;
  display: flex; align-items: center; gap: 12px;
}
.cal-icon {
  width: 34px; height: 34px; background: var(--white);
  border: 1px solid var(--stone); border-radius: var(--radius-sm);
  display: flex; align-items: center; justify-content: center;
  font-size: 17px; flex-shrink: 0;
}
.cal-text { flex: 1; }
.cal-title { font-size: 13px; font-weight: 600; color: var(--text); margin-bottom: 1px; }
.cal-sub { font-size: 10px; color: var(--muted); }
.cal-btn {
  background: var(--slate); color: var(--sand);
  border: none; border-radius: 6px;
  padding: 7px 14px; font-size: 11px; font-weight: 600;
  cursor: pointer; white-space: nowrap; font-family: inherit;
  transition: background .18s;
}
.cal-btn:hover { background: var(--slate-2); }
.form-note { font-size: 10px; color: var(--muted); text-align: center; line-height: 1.5; }

/* ============================================================
   PRODUCT CARDS
============================================================ */
.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.product-card {
  background: var(--white);
  border: 1.5px solid var(--stone);
  border-radius: var(--radius);
  overflow: hidden;
  transition: transform .2s, box-shadow .2s, border-color .2s;
  display: flex; flex-direction: column;
  text-decoration: none; color: var(--text);
}
.product-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); border-color: var(--moss); }
.product-card__img { aspect-ratio: 4/3; overflow: hidden; background: var(--linen); }
.product-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.product-card:hover .product-card__img img { transform: scale(1.05); }
.product-card__body { padding: 16px 18px 18px; flex: 1; display: flex; flex-direction: column; }
.product-card__cat { font-family: 'IBM Plex Mono', monospace; font-size: 9px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--moss); margin-bottom: 5px; }
.product-card__name { font-size: 16px; font-weight: 600; color: var(--text); margin-bottom: 5px; }
.product-card__specs { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 8px; }
.product-card__spec { font-family: 'IBM Plex Mono', monospace; font-size: 10px; font-weight: 700; color: var(--muted); background: var(--linen); padding: 2px 8px; border-radius: 10px; }
.product-card__price { font-size: 15px; font-weight: 600; color: var(--text); }
.product-card__payment { font-family: 'IBM Plex Mono', monospace; font-size: 11px; color: var(--moss); margin-bottom: 10px; flex: 1; }
.product-card__cta { font-size: 12px; font-weight: 600; color: var(--clay); }

/* ============================================================
   CATEGORY TILES
============================================================ */
.cat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.cat-tile { position: relative; border-radius: var(--radius); overflow: hidden; aspect-ratio: 3/4; display: block; text-decoration: none; border: 1.5px solid var(--stone); background: var(--white); cursor: pointer; transition: border-color .2s, transform .2s; }
.cat-tile:hover { border-color: var(--moss); transform: translateY(-2px); }
.cat-tile-img { width: 100%; aspect-ratio: 3/4; object-fit: cover; background: var(--linen); display: flex; align-items: center; justify-content: center; font-size: 36px; }
.cat-tile-body { padding: 14px; }
.cat-tile-tag { font-family: 'IBM Plex Mono', monospace; font-size: 9px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--moss); margin-bottom: 4px; }
.cat-tile-name { font-size: 15px; font-weight: 600; color: var(--text); margin-bottom: 4px; }
.cat-tile-desc { font-size: 11px; color: var(--muted); line-height: 1.55; margin-bottom: 6px; }
.cat-tile-price { font-family: 'IBM Plex Mono', monospace; font-size: 11px; font-weight: 700; color: var(--clay); }

/* ============================================================
   CAROUSEL
============================================================ */
.carousel-wrap { position: relative; overflow: hidden; border-radius: var(--radius); }
.carousel-track { display: flex; transition: transform .5s cubic-bezier(.4,0,.2,1); }
.carousel-slide { flex-shrink: 0; position: relative; }
.carousel-slide img { width: 100%; height: 320px; object-fit: cover; display: block; }
.carousel-caption { position: absolute; bottom: 0; left: 0; right: 0; background: var(--slate); padding: 12px 16px; }
.carousel-caption .label { margin-bottom: 2px; font-size: 9px; }
.carousel-caption-text { font-size: 13px; font-weight: 500; color: var(--sand); }
.carousel-btn {
  position: absolute; top: 50%; transform: translateY(-50%);
  background: rgba(44,54,41,.7); border: none; color: var(--sand);
  font-size: 20px; width: 40px; height: 40px; border-radius: 50%;
  cursor: pointer; z-index: 10; display: flex; align-items: center; justify-content: center;
  transition: background .2s;
}
.carousel-btn:hover { background: rgba(44,54,41,.95); }
.carousel-prev { left: 10px; }
.carousel-next { right: 10px; }
.carousel-dots { display: flex; justify-content: center; gap: 6px; margin-top: 12px; }
.carousel-dot { width: 7px; height: 7px; border-radius: 50%; border: none; background: var(--stone); cursor: pointer; padding: 0; transition: all .18s; }
.carousel-dot.active { background: var(--moss); transform: scale(1.3); }

/* ============================================================
   PROFIT CALCULATOR
============================================================ */
.calc-layout { display: grid; grid-template-columns: 360px 1fr; gap: 28px; align-items: start; }
.calc-panel { background: var(--white); border: 1.5px solid var(--stone); border-radius: var(--radius); overflow: hidden; }
.calc-panel-head { background: var(--slate); padding: 20px 24px; }
.calc-panel-head h3 { font-size: 16px; font-weight: 600; color: var(--sand); margin-bottom: 4px; }
.calc-panel-head p { font-size: 12px; color: var(--sage); }
.calc-panel-body { padding: 22px; }
.calc-field { margin-bottom: 18px; }
.calc-field-label { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.calc-field-label span:first-child { font-size: 13px; font-weight: 500; color: var(--text); }
.calc-field-label span:last-child { font-family: 'IBM Plex Mono', monospace; font-size: 13px; font-weight: 700; color: var(--moss); }
.calc-range { width: 100%; accent-color: var(--moss); height: 4px; }
.calc-range-ends { display: flex; justify-content: space-between; font-family: 'IBM Plex Mono', monospace; font-size: 10px; color: var(--muted); margin-top: 4px; }
.calc-select { width: 100%; padding: 10px 12px; border: 1.5px solid var(--stone); border-radius: var(--radius-sm); font-size: 13px; font-family: inherit; background: var(--white); color: var(--text); outline: none; }
.calc-select:focus { border-color: var(--moss); }
.calc-result-big { background: var(--slate); border-radius: var(--radius); padding: 28px; margin-bottom: 16px; }
.calc-result-label { font-family: 'IBM Plex Mono', monospace; font-size: 9px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--sage); margin-bottom: 6px; }
.calc-result-val { font-family: 'IBM Plex Mono', monospace; font-size: clamp(40px, 6vw, 64px); font-weight: 700; color: var(--sand); line-height: 1; margin-bottom: 6px; }
.calc-result-sub { font-size: 12px; color: var(--sage); line-height: 1.5; }
.calc-metrics { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.calc-metric { background: var(--white); border: 1.5px solid var(--stone); border-radius: var(--radius-sm); padding: 14px; text-align: center; }
.calc-metric-val { font-family: 'IBM Plex Mono', monospace; font-size: 16px; font-weight: 700; color: var(--text); display: block; margin-bottom: 3px; }
.calc-metric-label { font-size: 11px; color: var(--muted); }

/* ============================================================
   TRUST BADGES
============================================================ */
.badges-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
.badge-item { background: var(--white); border: 1px solid var(--stone); border-radius: var(--radius); padding: 20px 14px; text-align: center; transition: border-color .18s; }
.badge-item:hover { border-color: var(--moss); }
.badge-icon { font-size: 22px; margin-bottom: 8px; }
.badge-title { font-size: 12px; font-weight: 700; color: var(--text); margin-bottom: 4px; }
.badge-sub { font-size: 10px; color: var(--muted); line-height: 1.5; }

/* ============================================================
   FINAL CTA
============================================================ */
.final-cta { text-align: center; padding: 80px 0; background: var(--linen); border-top: 1px solid var(--stone); }
.final-cta .h2 { margin-bottom: 12px; }
.final-cta p { color: var(--muted); max-width: 480px; margin: 0 auto 28px; font-size: 15px; line-height: 1.75; }

/* ============================================================
   FOOTER
============================================================ */
.site-footer { background: var(--slate); color: var(--sage); padding: 52px 0 0; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 44px; padding-bottom: 44px; }
.footer-brand-name { font-family: 'IBM Plex Mono', monospace; font-size: 13px; font-weight: 700; color: var(--sand); margin-bottom: 10px; letter-spacing: 1.5px; }
.footer-brand-name em { color: var(--sage); font-style: normal; }
.footer-desc { font-size: 13px; line-height: 1.75; margin-bottom: 16px; color: var(--sage); }

/* Email signup in footer */
.footer-signup { display: flex; gap: 0; margin-bottom: 6px; }
.footer-email-input {
  flex: 1;
  padding: 9px 12px;
  border: 1px solid rgba(212,201,184,.25);
  border-radius: 7px 0 0 7px;
  font-size: 12px;
  background: rgba(242,237,228,.08);
  color: var(--text);
  font-family: inherit;
  outline: none;
}
.footer-email-input { color: #1E2420; background: rgba(242,237,228,.88); }
.footer-email-input::placeholder { color: rgba(30,36,32,.45); }
.footer-email-input:focus { border-color: rgba(143,168,130,.6); }
.footer-signup-btn {
  background: var(--moss);
  color: #ffffff;
  border: none;
  border-radius: 0 7px 7px 0;
  padding: 9px 16px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  font-family: inherit;
  transition: background .18s;
}
.footer-signup-btn:hover { background: var(--moss-2); }
.footer-signup-note { font-size: 10px; color: rgba(212,201,184,.45); margin-top: 5px; }

.footer-col-head { font-family: 'IBM Plex Mono', monospace; font-size: 9px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: rgba(212,201,184,.4); margin-bottom: 12px; }
.footer-links { display: flex; flex-direction: column; gap: 8px; }
.footer-links a { font-size: 12px; color: var(--sage); transition: color .15s; }
.footer-links a:hover { color: var(--sand); }
.footer-arcade { display: inline-flex; align-items: center; gap: 5px; background: rgba(143,168,130,.15); border: 1px solid rgba(143,168,130,.3); color: var(--sage) !important; padding: 4px 10px; border-radius: 20px; font-size: 11px; font-weight: 600; margin-top: 4px; transition: all .18s; }
.footer-arcade:hover { background: rgba(143,168,130,.25); }
.footer-bottom { border-top: 1px solid rgba(212,201,184,.1); padding: 18px 0; display: flex; justify-content: space-between; align-items: center; font-size: 11px; flex-wrap: wrap; gap: 8px; color: rgba(212,201,184,.35); }
.footer-bottom a { color: inherit; transition: color .15s; }
.footer-bottom a:hover { color: var(--sand); }

/* Mobile sticky */
.mobile-sticky { display: none; position: fixed; bottom: 0; left: 0; right: 0; grid-template-columns: 1fr 1fr; z-index: 300; border-top: 2px solid var(--moss); }
.mobile-sticky a { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 14px; font-weight: 600; font-size: 13px; color: #fff; text-decoration: none; }
.mobile-sticky a:first-child { background: var(--moss); }
.mobile-sticky a:last-child  { background: var(--clay); }

/* ============================================================
   TRUST BAR
============================================================ */
.trust-bar { background: var(--linen); border-bottom: 1px solid var(--stone); padding: 20px 0; }
.trust-bar-inner { display: flex; align-items: center; gap: 32px; flex-wrap: wrap; justify-content: center; }
.trust-group { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.trust-group-label { font-family: 'IBM Plex Mono', monospace; font-size: 8px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); }
.trust-logos { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; justify-content: center; }
.trust-logo { display: flex; align-items: center; opacity: .65; transition: opacity .2s; text-decoration: none; }
.trust-logo:hover { opacity: 1; }
.trust-logo img { height: 24px !important; width: auto !important; display: block !important; filter: brightness(0) !important; opacity: 1; max-width: 110px; object-fit: contain; }
[data-theme="dark"] .trust-logo img { filter: brightness(0) invert(1) !important; }
.trust-divider { width: 1px; height: 36px; background: var(--stone); }
.trust-bar-cta { display: flex; align-items: center; flex-shrink: 0; }
.trust-quote-btn { background: var(--moss); color: #fff; border: none; border-radius: var(--radius-sm); padding: 9px 18px; font-size: 12px; font-weight: 600; cursor: pointer; font-family: inherit; transition: background .18s; }
.trust-quote-btn:hover { background: var(--moss-2); }

/* ============================================================
   SINGLE PRODUCT PAGE
============================================================ */
.pp-hero { background: var(--white); border-bottom: 1px solid var(--stone); }
.pp-hero-inner { display: grid; grid-template-columns: 1fr 420px; gap: 0; align-items: stretch; }
.pp-gallery-main { position: relative; border-radius: 0; overflow: hidden; aspect-ratio: 4/3; background: var(--linen); }
.pp-gallery-main img { width: 100%; height: 100%; object-fit: cover; transition: opacity .2s; }
.pp-thumbs { display: grid; grid-template-columns: repeat(5,1fr); gap: 0; border-top: 1px solid var(--stone); }
.pp-thumb { aspect-ratio: 4/3; overflow: hidden; cursor: pointer; opacity: .55; transition: opacity .2s; border-right: 1px solid var(--stone); border-bottom: 1px solid var(--stone); }
.pp-thumb:last-child { border-right: none; }
.pp-thumb.active,.pp-thumb:hover { opacity: 1; }
.pp-thumb img { width: 100%; height: 100%; object-fit: cover; }
.pp-arrow { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(44,54,41,.6); border: none; color: var(--sand); font-size: 20px; width: 38px; height: 38px; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 5; transition: background .18s; }
.pp-arrow:hover { background: rgba(44,54,41,.9); }
.pp-prev { left: 10px; }
.pp-next { right: 10px; }

/* ROI strip under gallery */
.pp-roi { background: #3D4A3A; padding: 18px 20px; border-top: 1px solid var(--stone); border-radius: 0 0 12px 12px; }
.pp-roi-label { font-family: 'IBM Plex Mono', monospace; font-size: 9px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #8FA882; margin-bottom: 10px; display: block; }
.pp-roi-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 10px; }
.pp-roi-field label { font-size: 11px; color: #F2EDE4; font-weight: 500; display: flex; justify-content: space-between; margin-bottom: 4px; }
.pp-roi-field label span { color: var(--moss); font-family: 'IBM Plex Mono', monospace; font-weight: 700; }
.pp-roi-range { width: 100%; accent-color: var(--moss); }
.pp-roi-results { display: grid; grid-template-columns: repeat(4,1fr); gap: 6px; }
.pp-roi-stat { background: rgba(255,255,255,.08); border: 1px solid rgba(242,237,228,.15); border-radius: var(--radius-sm); padding: 9px 7px; text-align: center; }
.pp-roi-stat-val { font-family: 'IBM Plex Mono', monospace; font-size: 13px; font-weight: 700; color: #8FA882; display: block; line-height: 1; }
.pp-roi-stat-label { font-size: 9px; color: rgba(242,237,228,.6); margin-top: 3px; }

/* Product info panel */
.pp-info { padding: 28px 24px; display: flex; flex-direction: column; border-left: 1px solid var(--stone); background: var(--white); }
.pp-cat { font-family: 'IBM Plex Mono', monospace; font-size: 9px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--moss); margin-bottom: 7px; }
.pp-name { font-size: clamp(24px,3.5vw,36px); font-weight: 700; color: var(--text); line-height: 1.05; margin-bottom: 10px; letter-spacing: -.5px; }
.pp-price { font-size: 20px; font-weight: 700; color: var(--text); }
.pp-payment { font-family: 'IBM Plex Mono', monospace; font-size: 12px; color: var(--moss); margin-bottom: 14px; font-weight: 700; }
.pp-desc { font-size: 13px; color: var(--muted); line-height: 1.75; margin-bottom: 16px; }
.pp-specs { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 18px; }
.pp-spec { background: var(--linen); border: 1px solid var(--stone); color: var(--text); font-family: 'IBM Plex Mono', monospace; font-size: 10px; font-weight: 700; padding: 3px 10px; border-radius: 20px; }
.pp-addons-label { font-size: 11px; font-weight: 700; color: var(--text); margin-bottom: 8px; text-transform: uppercase; letter-spacing: .5px; font-family: 'IBM Plex Mono', monospace; }
.pp-addons-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-bottom: 16px; }
.pp-addon { display: flex; align-items: center; gap: 8px; padding: 9px 10px; border-radius: var(--radius-sm); border: 1.5px solid var(--stone); cursor: pointer; background: var(--white); transition: all .15s; }
.pp-addon:hover { border-color: var(--moss); background: var(--sand); }
.pp-addon.on { border-color: var(--moss); background: var(--sand); }
.pp-addon input { accent-color: var(--moss); flex-shrink: 0; }
.pp-addon-name { font-size: 11px; font-weight: 600; color: var(--text); flex: 1; line-height: 1.3; }
.pp-addon-sub { font-size: 9px; color: var(--muted); display: block; }
.pp-addon-price { font-family: 'IBM Plex Mono', monospace; font-size: 11px; color: var(--moss); font-weight: 700; flex-shrink: 0; }
.pp-total { background: var(--linen); border: 1.5px solid var(--stone); border-radius: var(--radius-sm); padding: 12px 14px; display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.pp-total-label { font-size: 12px; color: var(--muted); font-weight: 500; }
.pp-total-finance { font-family: 'IBM Plex Mono', monospace; font-size: 10px; color: var(--moss); margin-top: 3px; font-weight: 700; }
.pp-total-price { font-family: 'IBM Plex Mono', monospace; font-size: 26px; font-weight: 700; color: var(--text); }
.pp-ctas { display: flex; flex-direction: column; gap: 8px; }
.pp-ctas .btn { justify-content: center; padding: 13px; font-size: 13px; }

/* Floor plan */
.pp-floorplan { padding: 28px 24px 0; }
.fp-card { background: var(--white); border: 1.5px solid var(--stone); border-radius: var(--radius); overflow: hidden; }
.fp-head { background: var(--linen); padding: 16px 22px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--stone); }
.fp-eyebrow { font-family: 'IBM Plex Mono', monospace; font-size: 9px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--moss); margin-bottom: 3px; }
.fp-head h3 { font-size: 14px; font-weight: 600; color: var(--text); }
.fp-head p { font-size: 11px; color: var(--muted); margin-top: 2px; }
.fp-dl { background: var(--slate); color: var(--sand); padding: 7px 14px; border-radius: 6px; font-size: 11px; font-weight: 600; border: none; cursor: pointer; transition: background .18s; }
.fp-dl:hover { background: var(--slate-2); }
.fp-body { padding: 20px; background: #FAFAF8; text-align: center; }
.fp-foot { padding: 12px 22px; background: var(--linen); border-top: 1px solid var(--stone); display: flex; gap: 24px; flex-wrap: wrap; }
.fp-sl { font-family: 'IBM Plex Mono', monospace; font-size: 9px; text-transform: uppercase; letter-spacing: 1px; color: var(--muted); margin-bottom: 2px; }
.fp-sv { font-size: 13px; font-weight: 600; color: var(--text); }

/* ============================================================
   COMPAT LAYER — old theme CSS classes
============================================================ */
:root {
  --line:         var(--stone);
  --accent:       var(--moss);
  --accent-dark:  var(--moss-2);
  --container:    1180px;
  --muted-dark:   var(--muted);
  --shadow:       var(--shadow-md);
  --radius-sm:    7px;
}
.grid { display: grid; gap: 18px; }
.grid-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.grid-3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.grid-4 { grid-template-columns: repeat(4,minmax(0,1fr)); }
.card, .surface, .panel {
  background: var(--white);
  border: 1px solid var(--stone);
  border-radius: var(--radius);
  padding: 20px;
}
.eyebrow { font-family: 'IBM Plex Mono', monospace; font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--moss); display: block; margin-bottom: 8px; }
.btn-primary { background: var(--moss) !important; color: #fff !important; border-color: var(--moss) !important; }
.btn-secondary { background: var(--linen); color: var(--text); border-color: var(--stone); }
.btn-row { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
.product-grid, .article-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; width: min(calc(100% - 32px), var(--container)); margin: 24px auto 60px; }
.product-card img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 8px; margin-bottom: 12px; display: block; }
.product-detail-hero { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(20px,4vw,40px); padding: clamp(16px,3vw,28px); width: min(calc(100% - 32px), var(--container)); margin: 28px auto 20px; }
.spec-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); overflow: hidden; background: var(--white); border: 1px solid var(--stone); border-radius: var(--radius); width: min(calc(100% - 32px), var(--container)); margin: 0 auto 20px; }
.spec-card { padding: 18px; border-right: 1px solid var(--stone); }
.spec-card:last-child { border-right: 0; }
.spec-card span { display: block; color: var(--muted); font-size: .8rem; margin-bottom: 3px; }
.spec-card strong { font-size: .95rem; font-weight: 700; color: var(--text); }
.price { color: var(--clay); font-weight: 700; }

/* ============================================================
   RESPONSIVE
============================================================ */
@media (max-width: 1024px) {
  .cat-grid         { grid-template-columns: repeat(2,1fr); }
  .product-grid     { grid-template-columns: repeat(2,1fr); }
  .calc-layout      { grid-template-columns: 1fr; }
  .badges-grid      { grid-template-columns: repeat(3,1fr); }
  .footer-grid      { grid-template-columns: 1fr 1fr; }
  .hero             { grid-template-columns: 1fr 360px; }
  .intake-inner     { gap: 32px; }
  .pp-hero-inner    { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .section          { padding: 52px 0; }
  .hero             { grid-template-columns: 1fr; }
  .hero-gallery     { display: none; }
  .cat-grid         { grid-template-columns: 1fr 1fr; gap: 10px; }
  .product-grid     { grid-template-columns: 1fr; }
  .calc-metrics     { grid-template-columns: 1fr 1fr; }
  .badges-grid      { grid-template-columns: repeat(2,1fr); }
  .footer-grid      { grid-template-columns: 1fr; gap: 24px; }
  .footer-bottom    { flex-direction: column; align-items: flex-start; }
  .trust-bar-inner  { flex-direction: column; gap: 16px; }
  .mobile-sticky    { display: grid; }
  body              { padding-bottom: 54px; }
  .nav-menu         { display: none; }
  .nav-menu.open    { display: flex; flex-direction: column; position: fixed; inset: 64px 0 0 0; background: var(--white); overflow-y: auto; padding: 20px; z-index: 200; }
  .nav-link         { line-height: 1; padding: 14px 0; border-bottom: 1px solid var(--stone); font-size: 15px; color: var(--text); }
  .nav-dropdown     { position: static; border: none; box-shadow: none; padding: 0 0 8px 16px; display: none; }
  .nav-item.open .nav-dropdown { display: block; }
  .menu-toggle      { display: flex; }
  .header-try       { font-size: 11px; padding: 7px 12px; }
  .header-phone,.header-book { display: none; }
  .intake-inner     { grid-template-columns: 1fr; }
  .pp-addons-grid   { grid-template-columns: 1fr; }
  .pp-roi-results   { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 480px) {
  .cat-grid         { grid-template-columns: 1fr; }
  .calc-metrics     { grid-template-columns: 1fr 1fr; }
  .badges-grid      { grid-template-columns: 1fr 1fr; }
}

.intake-copy { display: flex; flex-direction: column; justify-content: center; height: 100%; }

/* ── FONT ENFORCEMENT ── */
body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}
h1, h2, h3, h4, h5, h6,
.hero-h1, .h1, .h2, .h3,
.intake-copy h2,
.sec-h2,
.fp-head h3,
.calc-panel-head h3 {
  font-family: 'Inter', -apple-system, sans-serif !important;
}
.label, .nav-logo, .brand,
.footer-brand-name, .footer-col-head,
.calc-result-val, .calc-metric-val,
.calc-field-label span:last-child,
.pp-payment, .pp-cat, .cat-tile-price,
.product-card__cat, .product-card__payment,
.hero-eyebrow, .sec-eyebrow,
.trust-group-label, .badge-sub,
.carousel-caption .label,
font-family: 'IBM Plex Mono', 'Courier New', monospace !important;
}


/* ── WORDPRESS CONTAINER OVERRIDES ── */
/* Remove WP default max-width restrictions */
.entry-content,
.entry-content > *,
.wp-block-group,
.wp-block-group__inner-container,
.site-main,
#primary,
#content,
.content-area,
main.site-main,
.page-content {
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ── HERO LAYOUT FIX — gallery wider, buttons stacked ── */
.hero {
  display: grid !important;
  grid-template-columns: 1fr 480px !important;
  min-height: 560px !important;
  border-bottom: 1px solid var(--stone) !important;
}
.hero-content {
  padding: 52px 40px !important;
}
/* Stack buttons vertically in hero to give gallery more room */
.hero-content .btn-row {
  flex-direction: column !important;
  align-items: flex-start !important;
  max-width: 300px !important;
}
.hero-content .btn-row .btn {
  width: 100% !important;
  justify-content: center !important;
}
.hero-gallery {
  width: 480px !important;
  min-width: 480px !important;
}
.hero-gallery-main {
  min-height: 420px !important;
}

/* ── FULL WIDTH SECTIONS ── */
.intake-section,
.section,
.trust-bar,
.final-cta,
.site-footer,
.site-header {
  width: 100% !important;
  max-width: none !important;
}

/* ── INTAKE FORM — tighten dead space ── */
.intake-inner {
  grid-template-columns: 1fr 420px !important;
  gap: 40px !important;
}
.intake-copy {
  padding-top: 0 !important;
}

/* ── VIBRANCY — make colors pop more like render ── */
:root {
  --sand:  #F0E8DC !important;
  --linen: #E5D9CA !important;
  --stone: #C8BAA8 !important;
  --moss:  #4E7246 !important;
  --moss-2:#3D5E37 !important;
  --sage:  #7A9E72 !important;
  --clay:  #9E6E48 !important;
  --slate: #323D30 !important;
}

/* ── FOOTER LOGO — no stretch ── */
.footer-brand-name img,
.site-footer img.site-logo,
.site-footer .site-logo {
  height: 36px !important;
  width: auto !important;
  max-width: 160px !important;
  object-fit: contain !important;
  display: block !important;
  filter: brightness(0) invert(1) !important;
}

/* ── LIGHT MODE — force dark text everywhere ── */
body,
p, li, span, div, td, th, label,
h1, h2, h3, h4, h5, h6,
.sec-sub, .body-lg,
.cat-tile-desc, .cat-tile-name,
.product-card__name, .product-card p,
.intake-copy p, .intake-bullets li,
.step-desc, .badge-sub,
.footer-desc, .footer-links a,
.calc-result-sub, .calc-metric-label,
.form-note, .cal-sub, .cal-title {
  color: var(--text);
}

/* Elements that should stay green */
.label, .eyebrow, .sec-eyebrow,
.cat-tile-tag, .cat-tile-price,
.product-card__cat, .product-card__payment,
.pp-payment, .pp-cat,
.calc-field-label span:last-child,
.nd-group, .footer-col-head { color: var(--moss); }

/* Buttons always readable */
.btn--green, .btn--clay, .btn--dark,
.form-submit, .cal-btn,
.trust-quote-btn, .nav-try,
.footer-signup-btn { color: #fff !important; }
.btn--outline, .btn--ghost { color: var(--text) !important; }

/* Dark sections keep light text */
.section--dark *, .section--mid *,
.calc-result-big *,
.calc-panel-head *,
.intake-form-head *,
.fp-head:not(.fp-head--light) *,
.site-footer *:not(.footer-signup-btn):not(.footer-email-input) {
  color: var(--on-dark);
}
.site-footer .footer-signup-btn { color: #fff !important; }
.site-footer .footer-email-input { color: #1E2420 !important; }

/* ── PRODUCT PAGE — details grid equal height columns ── */
.pp-details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
}
.pp-feat-table td { 
  padding: 8px 0;
  font-size: 12px;
  vertical-align: top;
  border-bottom: 1px solid var(--stone);
}
.pp-feat-table tr:last-child td { border-bottom: none; }
.pp-feat-table td:first-child { 
  color: var(--muted);
  width: 38%;
  font-weight: 600;
  padding-right: 12px;
}

/* ── ROI STRIP UNDER GALLERY ── */
.pp-roi {
  background: #3D4A3A;
  padding: 16px 20px;
  border-top: 1px solid var(--stone);
}
.pp-roi-label {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--moss);
  margin-bottom: 10px;
  display: block;
}
.pp-roi-controls {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 10px;
}
.pp-roi-field label {
  font-size: 11px;
  color: var(--text);
  font-weight: 500;
  display: flex;
  justify-content: space-between;
  margin-bottom: 4px;
}
.pp-roi-field label span { color: var(--moss); font-family: 'IBM Plex Mono', monospace; font-weight: 700; }
.pp-roi-range { width: 100%; accent-color: var(--moss); }
.pp-roi-results {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
}
.pp-roi-stat {
  background: var(--white);
  border: 1px solid var(--stone);
  border-radius: 6px;
  padding: 8px 6px;
  text-align: center;
}
.pp-roi-stat-val {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 13px;
  font-weight: 700;
  color: var(--moss) !important;
  display: block;
  line-height: 1;
}
.pp-roi-stat-label {
  font-size: 9px;
  color: var(--muted) !important;
  margin-top: 3px;
}


/* ── GET A QUOTE BUTTON — always visible ── */
.header-book,
a.header-book,
button.header-book {
  background: transparent !important;
  color: var(--text) !important;
  border: 1.5px solid var(--stone) !important;
}
[data-theme="dark"] {
  .header-book,
  a.header-book,
  button.header-book {
    color: var(--sand) !important;
    border-color: rgba(212,201,184,.4) !important;
  }
  .header-book:hover {
    border-color: var(--sand) !important;
  }
}

/* ── REMOVE DARK MODE TOGGLE BUTTON ── */
.dm-btn { display: none !important; }

/* ── SYSTEM DARK MODE — fix all buttons ── */
[data-theme="dark"] {
  .btn--outline {
    color: var(--sand) !important;
    border-color: rgba(212,201,184,.5) !important;
  }
  .btn--outline:hover {
    border-color: var(--sand) !important;
  }
  .h-btn-outline {
    color: var(--sand) !important;
    border-color: rgba(212,201,184,.4) !important;
    background: transparent !important;
  }
  .nav-quote {
    color: var(--sand) !important;
    border-color: rgba(212,201,184,.4) !important;
  }
  /* All green/clay buttons keep white text in dark mode */
  .btn--green, .btn--clay, .btn--dark,
  .form-submit, .nav-try, .trust-quote-btn,
  .footer-signup-btn, .cal-btn { color: #fff !important; }
}

/* DARK MODE — default always on */
[data-theme="dark"] body { background: var(--slate) !important; color: var(--sand) !important; }
[data-theme="dark"] h1,[data-theme="dark"] h2,[data-theme="dark"] h3,
[data-theme="dark"] p,[data-theme="dark"] li,[data-theme="dark"] span:not(.btn):not(.label):not(.sec-eyebrow) { color: var(--sand); }
[data-theme="dark"] .hero,[data-theme="dark"] .section--white,[data-theme="dark"] .how-section,
[data-theme="dark"] .carousel-section { background: #2C3629 !important; }
[data-theme="dark"] .cat-card,[data-theme="dark"] .badge-item,
[data-theme="dark"] .calc-metric,[data-theme="dark"] .stay-card,
[data-theme="dark"] .product-card,[data-theme="dark"] .intake-form {
  background: #2C3629 !important;
  border-color: rgba(212,201,184,.15) !important;
}
[data-theme="dark"] .nav,[data-theme="dark"] .site-header {
  background: rgba(44,54,41,.97) !important;
  border-color: rgba(212,201,184,.12) !important;
}
[data-theme="dark"] .nav-link { color: var(--sage) !important; }
[data-theme="dark"] .nav-link:hover { color: var(--sand) !important; }
[data-theme="dark"] .header-book { color: var(--sand) !important; border-color: rgba(212,201,184,.3) !important; }
[data-theme="dark"] .form-input,[data-theme="dark"] .form-select {
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(212,201,184,.2) !important;
  color: var(--sand) !important;
}
[data-theme="dark"] .footer-email-input { color: #1E2420 !important; background: rgba(242,237,228,.88) !important; }
[data-theme="dark"] .btn--outline { color: var(--sand) !important; border-color: rgba(212,201,184,.4) !important; }
[data-theme="dark"] .sec-sub,[data-theme="dark"] .body-lg,
[data-theme="dark"] .cat-tile-desc,[data-theme="dark"] .step-desc,
[data-theme="dark"] .badge-sub,[data-theme="dark"] .intake-copy p,
[data-theme="dark"] .intake-bullets li,[data-theme="dark"] .cal-sub,
[data-theme="dark"] .form-note { color: var(--sage) !important; }
[data-theme="dark"] .intake-section { background: var(--slate) !important; }
[data-theme="dark"] .final-cta { background: #2C3629 !important; }
[data-theme="dark"] .final-cta h2,[data-theme="dark"] .final-cta p { color: var(--sand) !important; }


/* ================================================================
   SURGICAL TEXT COLOR FIXES — v2100 final
   Rule: dark text on light bg, light text on dark bg
   No wildcards that cascade into dark sections
================================================================ */

/* ── LIGHT BACKGROUND COMPONENTS — dark text only ── */
.product-card__name  { color: #1E2420 !important; }
.product-card__spec  { color: #5A5E58 !important; }
.product-card__cat   { color: #4E7246 !important; }
.product-card__price { color: #1E2420 !important; }
.product-card__payment { color: #4E7246 !important; }
.product-card__cta   { color: #4E7246 !important; }
.product-card__desc  { color: #5A5E58 !important; }

.cat-tile-name  { color: #1E2420 !important; }
.cat-tile-desc  { color: #5A5E58 !important; }
.cat-tile-tag   { color: #4E7246 !important; }
.cat-tile-price { color: #4E7246 !important; }

.badge-title { color: #1E2420 !important; }
.badge-sub   { color: #5A5E58 !important; }

.step-title  { color: #1E2420 !important; }
.step-desc   { color: #5A5E58 !important; }
.step-num    { color: #4E7246 !important; }

.sec-h2        { color: #1E2420 !important; }
.sec-sub       { color: #5A5E58 !important; }
.sec-eyebrow   { color: #4E7246 !important; }
.section-head h2 { color: #1E2420 !important; }
.section-head p  { color: #5A5E58 !important; }
.body-lg         { color: #5A5E58 !important; }

.hero-content h1 { color: #1E2420 !important; }
.hero-content p  { color: #5A5E58 !important; }
.hero-tag        { color: #1E2420 !important; border-color: #C8BAA8 !important; }
.hero-tag:hover  { color: #4E7246 !important; border-color: #4E7246 !important; }

.intake-copy h2           { color: #1E2420 !important; }
.intake-copy h2 em        { color: #4E7246 !important; }
.intake-copy p            { color: #5A5E58 !important; }
.intake-bullets li        { color: #5A5E58 !important; }
.intake-bullets li::before { color: #4E7246 !important; }

/* ── CAROUSEL — captions always dark bg ── */
.car-cap          { background: #3D4A3A !important; }
.car-cap .car-ctag { color: #8FA882 !important; }
.car-cap .car-cname { color: #F2EDE4 !important; }
.carousel-caption  { background: #3D4A3A !important; }
.carousel-caption .label { color: #8FA882 !important; }
.carousel-caption .carousel-caption-text { color: #F2EDE4 !important; }

/* ── PRODUCT DETAIL PAGE — light panel ── */
.pp-name    { color: #1E2420 !important; }
.pp-desc    { color: #5A5E58 !important; }
.pp-price   { color: #1E2420 !important; }
.pp-cat     { color: #4E7246 !important; }
.pp-payment { color: #4E7246 !important; }
.pp-spec    { background: #E8E0D4 !important; color: #1E2420 !important; border-color: #C8BAA8 !important; }
.pp-addon-name { color: #1E2420 !important; }
.pp-addon-sub  { color: #5A5E58 !important; }
.pp-addon-price { color: #4E7246 !important; }
.pp-total-label { color: #5A5E58 !important; }
.pp-total-price { color: #1E2420 !important; }
.pp-total-finance { color: #4E7246 !important; }
.pp-feat-table td:first-child { color: #5A5E58 !important; }
.pp-feat-table td:last-child  { color: #1E2420 !important; }

/* ── NAV — always light text (dark header bg) ── */
.nav-link  { color: #F2EDE4 !important; }
.nav-link:hover { color: #8FA882 !important; }
.nav-link--highlight,
a.nav-link[href*="ready-to-ship"] { color: #A67C5B !important; font-weight: 700 !important; }

/* ── GET A QUOTE BUTTON ── */
a.header-book,
.header-book {
  background: #FF6900 !important;
  background-color: #FF6900 !important;
  border: 2px solid #FF6900 !important;
  color: #fff !important;
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 24px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  min-width: 150px !important;
  text-decoration: none !important;
  line-height: 1.3 !important;
}
a.header-book:hover,
.header-book:hover { background: #E05A00 !important; border-color: #E05A00 !important; }
a.header-book img.emoji { display: none !important; }
a.header-book::after,
.header-book::after {
  content: '512-277-5037' !important;
  display: block !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  font-family: 'IBM Plex Mono', monospace !important;
  color: rgba(255,255,255,.85) !important;
  letter-spacing: .5px !important;
}

/* ── FOOTER ── */
.footer-email-input { color: #1E2420 !important; background: rgba(242,237,228,.9) !important; }
.footer-links a  { color: #8FA882 !important; }
.footer-links a:hover { color: #F2EDE4 !important; }
.footer-desc     { color: #8FA882 !important; }

/* ── HERO GALLERY ── always on dark bg ── */
.hero-gallery-tag { color: #F2EDE4 !important; }
.hero-thumb       { color: #5A5E58 !important; }
.hero-thumb.active { color: #1E2420 !important; }

/* ── PP-DETAILS — all white text ── */
.pp-details,
.pp-details h2,
.pp-details p,
.pp-details span,
.pp-details li,
.pp-details td,
.pp-details th,
.pp-details div,
.pp-details strong,
.pp-details .why-title,
.pp-details .why-sub,
.pp-details .fp-sl,
.pp-details .fp-sv,
.pp-feat-table td,
.pp-feat-table td:first-child,
.pp-feat-table td:last-child { color: #F2EDE4 !important; }

/* ── BAKED FROM ADDITIONAL CSS ── */
.hero-h1 strong { color: #FF6900 !important; }
.hero-content h1 { color: #F2EDE4 !important; }
.hero-content p { color: #F2EDE4 !important; }
.intake-copy h2 strong { color: #F2EDE4 !important; }
.section-head h2 { color: #F2EDE4 !important; }
[data-theme="dark"] .btn--outline { border-color: #F2EDE4 !important; color: #F2EDE4 !important; }
.hero-content .btn-row .btn { color: #F2EDE4 !important; border-color: rgba(242,237,228,.6) !important; }
.badge-title { color: #F2EDE4 !important; }
.product-card__price { color: #F2EDE4 !important; }
.product-card__name { color: #F2EDE4 !important; }
body .pp-roi { border-radius: 15px !important; opacity: 0.9; }
body .pp-roi, body .pp-roi * { color: #FF6900 !important; font-size: 16px !important; }

/* ── PP-ROI FINAL OVERRIDE ── */
.pp-roi,
div.pp-roi { background: #3D4A3A !important; background-color: #3D4A3A !important; border-radius: 0 0 12px 12px; }
.pp-roi *, .pp-roi label, .pp-roi span, .pp-roi div { color: #F2EDE4 !important; }
.pp-roi .pp-roi-label { color: #8FA882 !important; }
.pp-roi .pp-roi-stat-val { color: #8FA882 !important; font-size: 15px !important; }
.pp-roi .pp-roi-stat-label { color: rgba(242,237,228,.6) !important; }
.pp-roi .pp-roi-stat { background: rgba(255,255,255,.07) !important; border-color: rgba(242,237,228,.12) !important; }

/* ── PP-SPEC — black text ── */
.pp-spec { color: #1E2420 !important; background: #E8E0D4 !important; border-color: #C8BAA8 !important; }

/* ── HERO LAYOUT FINAL ── */
.hero { grid-template-columns: 400px 1fr !important; gap: 0 !important; min-height: 560px !important; }
.hero-gallery { width: 100% !important; min-width: 0 !important; flex: 1 !important; }
.hero-gallery-main { position: relative !important; min-height: 460px !important; width: 100% !important; flex: 1 !important; overflow: hidden !important; }
.hero-gallery-main img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; }
.hero-content { padding: 48px 36px !important; }

/* ── FLOOR PLAN FULL WIDTH ── */
.fp-body img { width: 100% !important; max-width: 100% !important; height: auto !important; display: block !important; }
.fp-body svg { width: 100% !important; max-width: 100% !important; height: auto !important; display: block !important; }
