/**
 * Second Cure — Desktop responsiveness enhancements
 *
 * Ensures pages fill the viewport on large screens instead of
 * rendering as a narrow mobile column.
 */

/* ── Base: enforce 16px minimum across all viewports ── */
html {
  font-size: 16px;
}

body {
  font-size: 16px;
}

/* Force minimum 16px on ALL text elements */
body, p, span, div, li, td, th, label, input, select, textarea, button, a {
  font-size: max(var(--_fs, 1em), 16px);
}

/* Elements that explicitly set small sizes need a floor */
[style*="font-size"], .form-label, .form-error, .stat-label, .stat-desc,
.footer-col a, .footer-legal a, .footer-copyright, .footer-tagline, .footer-reg,
.trust-badge, .trust-item, .pay-note, .product-desc, .product-feature,
.dosage-desc, .dosage-lock-label, .plan-interval, .plan-features li,
.order-item-desc, .delivery-option-desc, .delivery-option-price,
.story-duration, .story-author, .story-detail, .pillar-desc, .detail-body,
.detail-list li, .faq-a p, .checkout-nav-secure, .progress-label,
.auth-subtitle, .auth-alt, .forgot-link, .badge, .card__label,
.greeting__sub, .treatment__week, .treatment__detail-label,
.sidebar__link, .nav-item, .summary-line, .kpi-label, .stat-label,
.message__time, .message__sender, .clinician-badge, .filter-select,
.search-input, .sub-tab-btn, .btn--sm, .btn-sm, .btn-outline {
  font-size: max(var(--_fs, inherit), 16px) !important;
}

/* Headings keep their own sizes but floor at 16px */
h1, h2, h3, h4, h5, h6 {
  font-size: max(var(--_fs, inherit), 16px);
}

/* Explicitly small utility text: 16px floor */
small, .small, [class*="eyebrow"], [class*="overline"] {
  font-size: 16px !important;
}

/* ── Dark public UX patterns ─────────────────────────────────────────────── */
body.sc-dark {
  --green-primary: #eef3ec;
  --green-darker: #d5e1d8;
  --green-light: #a5b4a8;
  --stone-light: rgba(12, 22, 17, 0.9);
  --stone-dark: rgba(210, 188, 139, 0.14);
  --sc-bg: #06100c;
  --sc-bg-alt: #0d1812;
  --sc-surface: rgba(12, 22, 17, 0.9);
  --sc-surface-strong: rgba(16, 28, 22, 0.96);
  --sc-surface-soft: rgba(20, 35, 27, 0.84);
  --sc-border: rgba(210, 188, 139, 0.14);
  --sc-accent: #183726;
  --sc-accent-strong: #27533b;
  --sc-gold: #d2bc8b;
  color: var(--green-primary);
  background:
    radial-gradient(circle at top left, rgba(39, 83, 59, 0.18), transparent 34%),
    radial-gradient(circle at top right, rgba(210, 188, 139, 0.08), transparent 26%),
    linear-gradient(180deg, #08120d 0%, #06100c 38%, #09130f 100%);
}

body.sc-dark::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.015), transparent 28%),
    radial-gradient(circle at 20% 20%, rgba(210, 188, 139, 0.05), transparent 24%);
  z-index: 0;
}

body.sc-dark > * {
  position: relative;
  z-index: 1;
}

body.sc-dark,
body.sc-dark p,
body.sc-dark li,
body.sc-dark label,
body.sc-dark span,
body.sc-dark td,
body.sc-dark th {
  color: var(--green-primary);
}

body.sc-dark .hero-marquee-sec,
body.sc-dark .pricing-hero,
body.sc-dark .pricing-section,
body.sc-dark .plans-include,
body.sc-dark .faq-section,
body.sc-dark .cta-section,
body.sc-dark .mission-sec,
body.sc-dark .pillars-sec,
body.sc-dark .team-sec,
body.sc-dark .reg-sec,
body.sc-dark .numbers-sec,
body.sc-dark .steps-sec,
body.sc-dark .detail-sec,
body.sc-dark .faq-sec,
body.sc-dark .bottom-cta,
body.sc-dark .content-sec,
body.sc-dark .content-sec.alt,
body.sc-dark .content-sec.dark,
body.sc-dark .legal-hero,
body.sc-dark .legal-content,
body.sc-dark .quiz-wrap,
body.sc-dark .hero,
body.sc-dark .about-hero,
body.sc-dark .safety-hero,
body.sc-dark .stories-sec,
body.sc-dark .stats-bar,
body.sc-dark .cta-sec,
body.sc-dark .calc-sec,
body.sc-dark .evidence-sec,
body.sc-dark .auth-main,
body.sc-dark .page-wrap,
body.sc-dark .checkout-container,
body.sc-dark footer {
  background: transparent !important;
}

body.sc-dark .nav.scrolled,
body.sc-dark .checkout-nav,
body.sc-dark .header {
  background: rgba(7, 17, 12, 0.78) !important;
  backdrop-filter: blur(20px) saturate(140%) !important;
  border-bottom: 1px solid var(--sc-border);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.32) !important;
}

body.sc-dark .nav.scrolled .nav-wordmark,
body.sc-dark .nav.scrolled .nav-label,
body.sc-dark .nav.scrolled .nav-back,
body.sc-dark .nav.scrolled a,
body.sc-dark .checkout-nav-brand,
body.sc-dark .checkout-nav-secure,
body.sc-dark .header-wordmark {
  color: var(--green-primary) !important;
}

body.sc-dark .nav.scrolled .nav-hamburger span {
  background: var(--green-primary) !important;
}

body.sc-dark .nav-login,
body.sc-dark .btn-outline,
body.sc-dark .btn-secondary,
body.sc-dark .btn-ghost,
body.sc-dark .btn-secondary-link,
body.sc-dark .hero-cta,
body.sc-dark .nav-back {
  color: var(--green-primary) !important;
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid rgba(210, 188, 139, 0.18) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

body.sc-dark .btn-primary,
body.sc-dark .btn,
body.sc-dark .pay-btn,
body.sc-dark .nav-cta,
body.sc-dark .cta-btn,
body.sc-dark .success-btn,
body.sc-dark .btn-white,
body.sc-dark .bottom-cta-btn,
body.sc-dark .success-cta,
body.sc-dark .result-cta,
body.sc-dark .calc-btn,
body.sc-dark button[type="submit"] {
  background: linear-gradient(135deg, var(--sc-accent-strong), var(--sc-accent)) !important;
  color: #f5f8f4 !important;
  border: 1px solid rgba(210, 188, 139, 0.16) !important;
  box-shadow:
    0 14px 28px rgba(0, 0, 0, 0.24),
    inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

body.sc-dark .btn-white:hover,
body.sc-dark .btn-primary:hover,
body.sc-dark .pay-btn:hover,
body.sc-dark .nav-cta:hover,
body.sc-dark .cta-btn:hover,
body.sc-dark .success-btn:hover,
body.sc-dark .bottom-cta-btn:hover,
body.sc-dark .result-cta:hover,
body.sc-dark .calc-btn:hover {
  filter: brightness(1.06);
}

body.sc-dark .pricing-card,
body.sc-dark .include-card,
body.sc-dark .faq-item,
body.sc-dark .product-card,
body.sc-dark .dosage-card,
body.sc-dark .plan-card,
body.sc-dark .order-card,
body.sc-dark .delivery-card,
body.sc-dark .address-card,
body.sc-dark .summary-card,
body.sc-dark .form-card,
body.sc-dark .step-panel,
body.sc-dark .summary-section,
body.sc-dark .auth-card,
body.sc-dark .question-card,
body.sc-dark .result-card,
body.sc-dark .calc-card,
body.sc-dark .evidence-card,
body.sc-dark .story-card,
body.sc-dark .detail-visual,
body.sc-dark .mission-stat,
body.sc-dark .number-item,
body.sc-dark .stat-card,
body.sc-dark .pillar-card,
body.sc-dark .team-card,
body.sc-dark .reg-badge,
body.sc-dark .mechanism-card,
body.sc-dark .side-effect-category,
body.sc-dark .protocol-card,
body.sc-dark .contra-item,
body.sc-dark .emergency-box,
body.sc-dark .cta-box,
body.sc-dark .do-health-inner,
body.sc-dark .category-card,
body.sc-dark .testimonial-main,
body.sc-dark .stats-bar,
body.sc-dark .success-card,
body.sc-dark .projection-card {
  background: var(--sc-surface) !important;
  border: 1px solid var(--sc-border) !important;
  box-shadow:
    0 18px 40px rgba(0, 0, 0, 0.26),
    inset 0 1px 0 rgba(255, 255, 255, 0.035) !important;
  backdrop-filter: blur(18px);
}

body.sc-dark .charts-sec,
body.sc-dark .do-health-sec,
body.sc-dark .effective-programmes-sec,
body.sc-dark .testimonials-sec,
body.sc-dark .cta-box-section {
  background:
    linear-gradient(180deg, rgba(8, 18, 13, 0.96), rgba(8, 18, 13, 0.78)) !important;
}

body.sc-dark .legal-content,
body.sc-dark .faq-item,
body.sc-dark .result-card,
body.sc-dark .question-card,
body.sc-dark .auth-card,
body.sc-dark .form-card,
body.sc-dark .summary-card {
  border-radius: 24px;
}

body.sc-dark .pricing-card.featured,
body.sc-dark .plan-option.selected,
body.sc-dark .product-option.selected,
body.sc-dark .dosage-option.selected,
body.sc-dark .delivery-option.selected,
body.sc-dark .option-item.selected,
body.sc-dark .yn-item.selected,
body.sc-dark .yn-item.selected-flag {
  background: rgba(39, 83, 59, 0.22) !important;
  border-color: rgba(210, 188, 139, 0.24) !important;
}

body.sc-dark .form-input,
body.sc-dark .form-select,
body.sc-dark .quiz-input,
body.sc-dark input[type="text"],
body.sc-dark input[type="email"],
body.sc-dark input[type="password"],
body.sc-dark input[type="tel"],
body.sc-dark input[type="number"],
body.sc-dark input[type="date"],
body.sc-dark textarea,
body.sc-dark select {
  background: rgba(255, 255, 255, 0.02) !important;
  color: var(--green-primary) !important;
  border: 1px solid rgba(210, 188, 139, 0.16) !important;
}

body.sc-dark input::placeholder,
body.sc-dark textarea::placeholder {
  color: rgba(165, 180, 168, 0.72) !important;
}

body.sc-dark .form-input:focus,
body.sc-dark .form-select:focus,
body.sc-dark input:focus,
body.sc-dark textarea:focus,
body.sc-dark select:focus {
  border-color: rgba(210, 188, 139, 0.32) !important;
  box-shadow: 0 0 0 3px rgba(210, 188, 139, 0.08) !important;
}

body.sc-dark .phone-prefix {
  background: rgba(255, 255, 255, 0.03) !important;
}

body.sc-dark .progress-wrap,
body.sc-dark .trust-indicators,
body.sc-dark .bmi-display,
body.sc-dark .weight-projection,
body.sc-dark .privacy-notice,
body.sc-dark .dosage-info {
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid var(--sc-border) !important;
}

body.sc-dark .progress-line,
body.sc-dark .section-divider,
body.sc-dark .footer-top,
body.sc-dark .order-item,
body.sc-dark .summary-line.total,
body.sc-dark .stories-sec,
body.sc-dark .evidence-sec,
body.sc-dark .hero-marquee-sec,
body.sc-dark footer {
  border-color: var(--sc-border) !important;
}

body.sc-dark .summary-line,
body.sc-dark .footer-tagline,
body.sc-dark .footer-reg,
body.sc-dark .footer-copy,
body.sc-dark .footer-col a,
body.sc-dark .footer-legal a,
body.sc-dark .footer-copyright,
body.sc-dark .detail-body,
body.sc-dark .detail-list li,
body.sc-dark .faq-answer p,
body.sc-dark .mission-text p,
body.sc-dark .team-bio,
body.sc-dark .pillar-desc,
body.sc-dark .sec-desc,
body.sc-dark .story-author,
body.sc-dark .story-detail,
body.sc-dark .evidence-card-desc,
body.sc-dark .result-subtitle,
body.sc-dark .result-estimate-note,
body.sc-dark .result-disclaimer,
body.sc-dark .page-subtitle,
body.sc-dark .step-desc,
body.sc-dark .field-hint,
body.sc-dark .projection-disclaimer,
body.sc-dark .pay-note,
body.sc-dark .product-desc,
body.sc-dark .dosage-desc,
body.sc-dark .delivery-option-desc,
body.sc-dark .checkout-nav-secure,
body.sc-dark .trust-item,
body.sc-dark .marquee-item,
body.sc-dark .hero-full-para,
body.sc-dark .legal-updated {
  color: var(--green-light) !important;
}

body.sc-dark .pricing-badge,
body.sc-dark .pricing-tier-label,
body.sc-dark .hero-eyebrow,
body.sc-dark .about-hero-tag,
body.sc-dark .pricing-hero-tag,
body.sc-dark .safety-hero-tag,
body.sc-dark .mission-tag,
body.sc-dark .pillars-tag,
body.sc-dark .reg-tag,
body.sc-dark .sec-tag,
body.sc-dark .detail-eyebrow,
body.sc-dark .step-label,
body.sc-dark .question-number,
body.sc-dark .hero-marquee-sec .marquee-item,
body.sc-dark .calc-label,
body.sc-dark .result-stat-label,
body.sc-dark .footer-col h4,
body.sc-dark .include-title,
body.sc-dark .protocol-name,
body.sc-dark .contra-title,
body.sc-dark .story-badge {
  color: var(--sc-gold) !important;
}

body.sc-dark .product-feature,
body.sc-dark .plan-option.highlighted::before,
body.sc-dark .story-badge,
body.sc-dark .pricing-badge {
  background: rgba(210, 188, 139, 0.12) !important;
  color: var(--sc-gold) !important;
  border: 1px solid rgba(210, 188, 139, 0.14);
}

body.sc-dark .option-item,
body.sc-dark .yn-item,
body.sc-dark .product-option,
body.sc-dark .dosage-option,
body.sc-dark .delivery-option,
body.sc-dark .plan-option,
body.sc-dark .option-label {
  background: rgba(255, 255, 255, 0.025) !important;
  border-color: rgba(210, 188, 139, 0.14) !important;
  color: var(--green-primary) !important;
}

body.sc-dark .option-radio,
body.sc-dark .product-radio,
body.sc-dark .dosage-radio {
  border-color: rgba(210, 188, 139, 0.2) !important;
}

body.sc-dark .product-option.selected .product-radio,
body.sc-dark .dosage-option.selected .dosage-radio,
body.sc-dark .option-label.selected .option-radio {
  background: var(--sc-gold) !important;
  border-color: var(--sc-gold) !important;
}

body.sc-dark .product-option.selected .product-radio::after,
body.sc-dark .dosage-option.selected .dosage-radio::after,
body.sc-dark .option-label.selected .option-radio-inner {
  background: #0a1510 !important;
}

body.sc-dark .footer-col a:hover,
body.sc-dark .footer-legal a:hover,
body.sc-dark .auth-alt a:hover,
body.sc-dark .forgot-link:hover,
body.sc-dark a:hover {
  color: var(--sc-gold);
}

body.sc-dark .stat-photo-overlay,
body.sc-dark .testimonial-main-overlay,
body.sc-dark .category-sec-bg-color,
body.sc-dark .hero-full::after {
  opacity: 0.72 !important;
}

body.sc-dark .hero-full::before {
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.16) 0%, rgba(0, 0, 0, 0.46) 42%) !important;
}

body.sc-dark .hero-full,
body.sc-dark .category-sec {
  border-color: rgba(255, 255, 255, 0.04) !important;
  box-shadow: 0 30px 70px rgba(0, 0, 0, 0.28);
}

body.sc-dark .success-overlay,
body.sc-dark .modal-overlay {
  background: rgba(3, 8, 6, 0.74) !important;
}

body.sc-dark .faq-icon,
body.sc-dark .category-card-arrow,
body.sc-dark .trust-icon svg,
body.sc-dark .projection-header svg,
body.sc-dark .dosage-info svg {
  color: var(--sc-gold) !important;
  stroke: var(--sc-gold) !important;
}

@media (min-width: 1200px) {
  body {
    font-size: 17px;
  }
}

/* ── Patient Dashboard: widen to fill screen ── */
@media (min-width: 768px) {
  .main {
    max-width: 900px !important;
  }
}

@media (min-width: 1200px) {
  .main {
    max-width: 1200px !important;
  }
}

@media (min-width: 1600px) {
  .main {
    max-width: 1400px !important;
  }
}

/* ── Intake flow: widen ── */
@media (min-width: 768px) {
  .form-outer {
    max-width: 820px !important;
  }
}

@media (min-width: 1200px) {
  .form-outer {
    max-width: 960px !important;
    padding: 60px 40px 100px !important;
  }

  .page-title {
    font-size: clamp(32px, 4vw, 48px) !important;
  }
}

/* ── Login card: widen ── */
@media (min-width: 768px) {
  .auth-card {
    max-width: 540px !important;
    padding: 56px 48px !important;
  }

  .auth-title {
    font-size: 32px !important;
  }
}

/* ── Checkout: widen ── */
@media (min-width: 1200px) {
  .checkout-container {
    max-width: 1400px !important;
  }
}

@media (min-width: 1600px) {
  .checkout-container {
    max-width: 1600px !important;
  }
}

/* ── Patient Account: widen ── */
@media (min-width: 768px) {
  .content {
    max-width: 900px !important;
  }
}

@media (min-width: 1200px) {
  .content {
    max-width: 1200px !important;
  }
}

@media (min-width: 1600px) {
  .content {
    max-width: 1400px !important;
  }
}

/* ── Cards: slightly larger padding on desktop ── */
@media (min-width: 768px) {
  .card {
    padding: 32px !important;
  }

  .card__label {
    font-size: 16px !important;
  }
}

/* ── Nav: ensure nav fills width ── */
@media (min-width: 768px) {
  .nav {
    padding: 0 40px !important;
  }
}

@media (min-width: 1200px) {
  .nav {
    padding: 0 60px !important;
  }
}

@media (min-width: 1600px) {
  .nav {
    padding: 0 80px !important;
  }
}

/* ── Typography: scale up on desktop ── */
@media (min-width: 768px) {
  .greeting__hello {
    font-size: 32px !important;
  }

  .greeting__sub {
    font-size: 16px !important;
  }

  .treatment__med {
    font-size: 30px !important;
  }
}

@media (min-width: 1200px) {
  .greeting__hello {
    font-size: 36px !important;
  }
}

/* ── Form inputs: larger on desktop ── */
@media (min-width: 768px) {
  .form-input {
    font-size: 16px !important;
    padding: 16px 18px !important;
  }

  .form-label {
    font-size: 16px !important;
  }

  .btn-primary,
  .btn,
  .pay-btn,
  .nav-cta {
    font-size: 16px !important;
  }
}

/* ── Pricing: ensure grid fills width ── */
@media (min-width: 1200px) {
  .pricing-inner {
    max-width: 1400px !important;
  }
}

@media (min-width: 1600px) {
  .pricing-inner {
    max-width: 1600px !important;
  }
}

/* ── Hero sections: larger text on desktop ── */
@media (min-width: 1200px) {
  .hero h1,
  .hero-headline {
    font-size: clamp(48px, 5vw, 72px) !important;
  }

  .hero p,
  .hero-sub {
    font-size: 18px !important;
  }
}

/* ── Footer: full width ── */
@media (min-width: 1200px) {
  .footer-inner {
    max-width: 1400px !important;
  }
}

@media (min-width: 1600px) {
  .footer-inner {
    max-width: 1600px !important;
  }
}

/* ── Stories grid: wider on desktop ── */
@media (min-width: 1200px) {
  .stories-sec {
    max-width: 1400px !important;
  }
}

@media (min-width: 1600px) {
  .stories-sec {
    max-width: 1600px !important;
  }
}

/* ── Operator dashboard: ensure sidebar + content fills width ── */
@media (min-width: 1200px) {
  .main-content {
    padding: 32px 40px !important;
  }

  .main-title {
    font-size: 24px !important;
  }
}

/* ── Stat cards: larger numbers on desktop ── */
@media (min-width: 768px) {
  .stat-big,
  .stat-val {
    font-size: clamp(36px, 4vw, 56px) !important;
  }
}

/* ── About / Safety / How It Works detail sections: widen ── */
@media (min-width: 1200px) {
  .detail-inner,
  .mission-inner,
  .pillars-inner,
  .safety-inner,
  .faq-inner,
  .effective-inner {
    max-width: 1400px !important;
  }
}

@media (min-width: 1600px) {
  .detail-inner,
  .mission-inner,
  .pillars-inner,
  .safety-inner,
  .faq-inner,
  .effective-inner {
    max-width: 1600px !important;
  }
}

/* ── Learn/Articles: widen ── */
@media (min-width: 1200px) {
  .article-shell,
  .learn-shell {
    max-width: 1400px !important;
  }
}

@media (min-width: 1600px) {
  .article-shell,
  .learn-shell {
    max-width: 1600px !important;
  }
}
