/**
 * BioRecoveryUSA — Static Pages Body Layouts (br-pages.css)
 * Loaded exclusively on static pages for specific inner body components.
 * Header, Footer, Hero, and Process are globally styled in br-global.css.
 * Version: 3.6.2
 */

/* ========================================================
   1. CONTACT FORM & SIDE PANEL (.ctc-grid)
   ======================================================== */
.ctc-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.95fr) !important;
  gap: 36px !important;
  align-items: start !important;
  margin-bottom: 56px !important;
}

.ctc-form-col {
  background: #ffffff !important;
  border: 1px solid #dce5de !important;
  border-radius: 16px !important;
  padding: 40px 42px !important;
  box-shadow: 0 4px 24px rgba(18, 42, 29, 0.05) !important;
}

.ctc-form-col h2 {
  font-family: var(--font-serif, "Source Serif 4", Georgia, serif) !important;
  font-size: 1.85rem !important;
  margin: 0 0 10px !important;
  color: #14231b !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

.ctc-form-col .ctc-form-note {
  font-family: var(--font-sans, "IBM Plex Sans", sans-serif) !important;
  font-size: 1rem !important;
  color: #496052 !important;
  margin: 0 0 28px !important;
  line-height: 1.6 !important;
}

/* Hide honeypot field safely */
#wpforms-171-field_1-container,
div[id*="field_1-container"],
.wpforms-field[data-field-id="1"] {
  display: none !important;
  position: absolute !important;
  visibility: hidden !important;
  height: 0 !important;
  width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

.ctc-form-col .wpforms-container {
  margin: 0 !important;
  padding: 0 !important;
}

.ctc-form-col .wpforms-field {
  margin-bottom: 22px !important;
  padding: 0 !important;
  clear: both !important;
}

.ctc-form-col .wpforms-field-label {
  display: block !important;
  font-family: var(--font-sans, "IBM Plex Sans", sans-serif) !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  color: #14231b !important;
  margin-bottom: 8px !important;
  line-height: 1.4 !important;
}

.ctc-form-col .wpforms-required-label {
  color: #c93b2b !important;
  font-weight: 700 !important;
  margin-left: 4px !important;
}

.ctc-form-col input[type="text"],
.ctc-form-col input[type="email"],
.ctc-form-col textarea {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  font-family: var(--font-sans, "IBM Plex Sans", sans-serif) !important;
  font-size: 1.02rem !important;
  color: #14231b !important;
  background-color: #fbfdfc !important;
  border: 1.5px solid #c9d8ce !important;
  border-radius: 10px !important;
  padding: 14px 18px !important;
  line-height: 1.5 !important;
  transition: all 0.2s ease !important;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.03) !important;
}

.ctc-form-col input[type="text"]:focus,
.ctc-form-col input[type="email"]:focus,
.ctc-form-col textarea:focus {
  background-color: #ffffff !important;
  border-color: #176B45 !important;
  box-shadow: 0 0 0 3.5px rgba(23, 107, 69, 0.16) !important;
  outline: none !important;
}

.ctc-form-col textarea {
  min-height: 150px !important;
  resize: vertical !important;
}

.ctc-form-col .wpforms-submit-container {
  margin-top: 10px !important;
  padding: 0 !important;
}

.ctc-form-col button.wpforms-submit,
.ctc-form-col button[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  padding: 16px 32px !important;
  font-family: var(--font-sans, "IBM Plex Sans", sans-serif) !important;
  font-size: 1.08rem !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #176B45 0%, #115335 100%) !important;
  border: none !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  box-shadow: 0 4px 16px rgba(23, 107, 69, 0.3) !important;
  transition: all 0.2s ease !important;
  letter-spacing: 0.01em !important;
}

.ctc-form-col button.wpforms-submit:hover,
.ctc-form-col button[type="submit"]:hover {
  background: linear-gradient(135deg, #135d3b 0%, #0d442b 100%) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(23, 107, 69, 0.4) !important;
}

/* Contact Side Column */
.ctc-side {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
}

.ctc-card {
  background: #ffffff !important;
  border: 1px solid #dce5de !important;
  border-radius: 14px !important;
  padding: 28px 28px !important;
  box-shadow: 0 2px 10px rgba(18, 42, 29, 0.04) !important;
}

.ctc-card h2,
.ctc-card h3 {
  font-family: var(--font-serif, "Source Serif 4", Georgia, serif) !important;
  font-size: 1.25rem !important;
  margin: 0 0 14px !important;
  color: #14231b !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

.ctc-card ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.ctc-card li {
  font-size: 0.95rem !important;
  color: #3b5043 !important;
  line-height: 1.6 !important;
  position: relative !important;
  padding-left: 22px !important;
}

.ctc-card li::before {
  content: "•" !important;
  position: absolute !important;
  left: 6px !important;
  color: #176B45 !important;
  font-weight: 700 !important;
}

.ctc-limits {
  background: #fdfaf3 !important;
  border-color: #ebdcb9 !important;
}

.ctc-limits h2,
.ctc-limits h3 {
  color: #704d0f !important;
}

.ctc-limits li::before {
  color: #b07e21 !important;
}

.ctc-911 {
  margin: 16px 0 0 !important;
  font-size: 0.92rem !important;
  color: #8c2a1e !important;
  background: #fdf2f0 !important;
  border: 1px solid #f2c7c2 !important;
  border-radius: 8px !important;
  padding: 12px 14px !important;
  line-height: 1.5 !important;
}

/* Editorial & Fact-Checking Desk Panel (.ctc-write) */
.ctc-write,
body.page .ctc-write {
  background: linear-gradient(135deg, #0e2218 0%, #153827 100%) !important;
  border-radius: 16px !important;
  padding: 44px 44px !important;
  width: min(100% - 48px, 1140px) !important;
  max-width: 1140px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 56px !important;
  box-sizing: border-box !important;
  color: #ffffff !important;
  box-shadow: 0 8px 30px rgba(14, 34, 24, 0.15) !important;
}

.ctc-write h2 {
  color: #ffffff !important;
  font-size: clamp(1.6rem, 2.5vw, 2.1rem) !important;
  margin: 0 0 12px !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

.ctc-write-intro {
  color: #d2e5d7 !important;
  font-size: 1.05rem !important;
  max-width: 760px !important;
  line-height: 1.65 !important;
  margin: 0 0 28px !important;
}

.ctc-write-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
}

.ctc-write-card {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 12px !important;
  padding: 24px 22px !important;
  backdrop-filter: blur(4px) !important;
}

.ctc-write-card h3 {
  color: #ffffff !important;
  font-size: 1.15rem !important;
  margin: 0 0 14px !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

.ctc-write-card ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  gap: 10px !important;
}

.ctc-write-card li {
  position: relative !important;
  padding-left: 20px !important;
  font-size: 0.92rem !important;
  color: #d6e8dc !important;
  line-height: 1.6 !important;
}

.ctc-write-card li::before {
  content: "•" !important;
  position: absolute !important;
  left: 0 !important;
  color: #5edaa0 !important;
  font-weight: 700 !important;
}

/* ========================================================
   2. LEDE BOXES & COVERAGE PANELS
   ======================================================== */
body.page .lede-box,
body.page .summary {
  background: #f2f7f4 !important;
  border: 1px solid #d4e2d8 !important;
  border-left: 5px solid #176B45 !important;
  border-radius: 12px !important;
  padding: 24px 28px !important;
  margin: 32px 0 !important;
  font-size: 1.08rem !important;
  line-height: 1.7 !important;
  color: #172d21 !important;
  box-shadow: 0 2px 10px rgba(23, 107, 69, 0.04) !important;
}

body.page .coverage-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 24px !important;
  padding: 12px 0 0 !important;
  margin: 32px 0 44px !important;
  border-top: 1px solid #dce5df !important;
  align-items: stretch !important;
}

body.page .coverage-panel {
  background: #ffffff !important;
  border: 1px solid #dce5de !important;
  border-radius: 14px !important;
  padding: 30px 28px !important;
  display: flex !important;
  flex-direction: column !important;
  box-shadow: 0 3px 12px rgba(18, 42, 29, 0.04) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

body.page .coverage-panel:hover {
  transform: translateY(-2px);
  border-color: #bcd1c3 !important;
  box-shadow: 0 8px 24px rgba(18, 42, 29, 0.08) !important;
}

body.page .coverage-panel h3 {
  margin-top: 0 !important;
  margin-bottom: 14px !important;
  font-size: 1.25rem !important;
  color: #14231b !important;
  font-weight: 700 !important;
  font-family: var(--font-serif, "Source Serif 4", Georgia, serif) !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

body.page .coverage-panel p {
  margin: 0 0 16px 0 !important;
  color: #3f5447 !important;
  line-height: 1.65 !important;
  font-size: 0.98rem !important;
}

body.page .coverage-panel ul.plain-list {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: grid !important;
  gap: 12px !important;
}

body.page .coverage-panel ul.plain-list li {
  position: relative !important;
  padding-left: 24px !important;
  margin: 0 !important;
  color: #384e41 !important;
  line-height: 1.55 !important;
  font-size: 0.95rem !important;
}

body.page .coverage-panel ul.plain-list li::before {
  content: "✓" !important;
  position: absolute !important;
  left: 0 !important;
  top: 1px !important;
  color: #176B45 !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
}

/* ========================================================
   3. SERVICES & REGIONAL AREA GRIDS
   ======================================================== */
body.page .service-grid,
body.page .area-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 24px !important;
  margin: 28px 0 44px !important;
}

body.page .service-card,
body.page .area-card {
  background: #ffffff !important;
  border: 1px solid #dce5de !important;
  border-radius: 14px !important;
  padding: 30px 28px !important;
  display: flex !important;
  flex-direction: column !important;
  text-decoration: none !important;
  box-shadow: 0 3px 12px rgba(18, 42, 29, 0.04) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
}

body.page .service-card:hover,
body.page .area-card:hover {
  transform: translateY(-2px) !important;
  border-color: #bcd1c3 !important;
  box-shadow: 0 8px 24px rgba(18, 42, 29, 0.08) !important;
}

body.page .service-card h3,
body.page .area-card h3 {
  margin: 12px 0 10px !important;
  font-size: 1.25rem !important;
  color: #14231b !important;
  font-family: var(--font-serif, "Source Serif 4", Georgia, serif) !important;
}

body.page .service-card p,
body.page .area-card p {
  margin: 0 0 14px !important;
  font-size: 0.96rem !important;
  color: #3f5447 !important;
  line-height: 1.6 !important;
}

body.page .service-icon {
  width: 44px !important;
  height: 44px !important;
  color: #176B45 !important;
}

body.page .text-link {
  font-family: var(--font-sans, "IBM Plex Sans", sans-serif) !important;
  font-weight: 600 !important;
  color: #176B45 !important;
  font-size: 0.94rem !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

body.page .text-link::after {
  content: "→" !important;
  transition: transform 0.15s ease !important;
}

body.page a:hover .text-link::after {
  transform: translateX(4px) !important;
}

/* ========================================================
   4. PRIVACY POLICY LAYOUT (.policy-layout)
   ======================================================== */
.policy-layout {
  display: grid !important;
  grid-template-columns: 240px minmax(0, 1fr) !important;
  gap: 40px !important;
  align-items: start !important;
  margin: 32px 0 56px !important;
}

aside.toc {
  position: sticky !important;
  top: 96px !important;
  background: #ffffff !important;
  border: 1px solid #dce5de !important;
  border-radius: 12px !important;
  padding: 22px 20px !important;
  box-shadow: 0 2px 8px rgba(18, 42, 29, 0.04) !important;
}

aside.toc strong {
  display: block !important;
  font-family: var(--font-sans, "IBM Plex Sans", sans-serif) !important;
  font-size: 0.85rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: #176B45 !important;
  margin-bottom: 12px !important;
}

aside.toc .toc-nav {
  display: grid !important;
  gap: 10px !important;
}

aside.toc .toc-nav a {
  font-family: var(--font-sans, "IBM Plex Sans", sans-serif) !important;
  font-size: 0.92rem !important;
  color: #3b5043 !important;
  text-decoration: none !important;
  padding: 4px 8px !important;
  border-radius: 6px !important;
  transition: background 0.15s ease, color 0.15s ease !important;
}

aside.toc .toc-nav a:hover {
  background: #eef7f2 !important;
  color: #176B45 !important;
}

article.policy-copy {
  background: #ffffff !important;
  border: 1px solid #dce5de !important;
  border-radius: 16px !important;
  padding: 38px 42px !important;
  box-shadow: 0 4px 18px rgba(18, 42, 29, 0.04) !important;
}

article.policy-copy h2 {
  font-size: 1.55rem !important;
  margin: 36px 0 14px !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid #e5ede7 !important;
}

article.policy-copy section:first-of-type h2 {
  margin-top: 10px !important;
}

/* ========================================================
   5. RESPONSIVE MEDIA QUERIES (TABLETS & MOBILE)
   ======================================================== */
@media (max-width: 960px) {
  .ctc-grid {
    grid-template-columns: 1fr !important;
  }
  .ctc-write-grid {
    grid-template-columns: 1fr !important;
  }
  .policy-layout {
    grid-template-columns: 1fr !important;
  }
  aside.toc {
    position: static !important;
    margin-bottom: 24px !important;
  }
}

@media (max-width: 768px) {
  .ctc-form-col {
    padding: 26px 20px !important;
  }
  .ctc-write {
    padding: 30px 22px !important;
  }
  article.policy-copy {
    padding: 24px 20px !important;
  }
}

/* ========================================================
   6. DARK MODE EYE-COMFORT ADAPTATION
   ======================================================== */
@media (prefers-color-scheme: dark) {
  body.page .coverage-panel,
  body.page .service-card,
  body.page .area-card,
  .ctc-form-col,
  .ctc-card,
  article.policy-copy,
  aside.toc {
    background-color: #122219 !important;
    border-color: #233e2f !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.25) !important;
  }

  body.page .coverage-panel h3,
  body.page .service-card h3,
  body.page .area-card h3,
  .ctc-card h2,
  .ctc-card h3,
  .ctc-card li strong,
  .ctc-form-col h2,
  .ctc-form-col .wpforms-field-label {
    color: #f0f7f2 !important;
  }

  body.page .coverage-panel p,
  body.page .service-card p,
  body.page .area-card p,
  .ctc-card li,
  .ctc-form-col .ctc-form-note {
    color: #a7bfae !important;
  }

  body.page .coverage-panel ul.plain-list li {
    color: #a7bfae !important;
  }

  body.page .coverage-panel ul.plain-list li::before {
    color: #5edaa0 !important;
  }

  body.page .lede-box,
  body.page .summary {
    background: #142a1f !important;
    border-color: #254633 !important;
    border-left-color: #38a76d !important;
    color: #d5e8dc !important;
  }

  body.page .lede-box strong,
  body.page .summary strong {
    color: #ffffff !important;
  }

  .ctc-limits {
    background: #251e11 !important;
    border-color: #4f3d1b !important;
  }
  .ctc-limits h2,
  .ctc-limits h3 {
    color: #fed98e !important;
  }
  .ctc-limits li {
    color: #d9c49d !important;
  }

  .ctc-form-col input[type="text"],
  .ctc-form-col input[type="email"],
  .ctc-form-col textarea {
    background-color: #0b1711 !important;
    border-color: #244130 !important;
    color: #f0f7f2 !important;
  }

  .ctc-form-col input[type="text"]:focus,
  .ctc-form-col input[type="email"]:focus,
  .ctc-form-col textarea:focus {
    background-color: #0e1e16 !important;
    border-color: #5edaa0 !important;
    box-shadow: 0 0 0 3.5px rgba(94, 218, 160, 0.2) !important;
  }

  aside.toc strong {
    color: #5edaa0 !important;
  }
  aside.toc .toc-nav a {
    color: #b0c7b7 !important;
  }
  aside.toc .toc-nav a:hover {
    background: #183526 !important;
    color: #5edaa0 !important;
  }
  article.policy-copy h2 {
    border-bottom-color: #233e2f !important;
  }
}

