/* ============================================================
   PAGES.CSS — Inner page styles (treatment pages, blog pages)
   Loaded alongside style.css on all inner pages.
   Uses the same CSS variables defined in style.css.
============================================================ */

/* ============================================================
   INNER PAGE HEADER — always white, never transparent
   CSS safety net (JS also enforces this in main.js)
============================================================ */
.treatment-page .site-header,
.blog-page      .site-header,
.inner-page     .site-header {
  background: var(--white) !important;
  box-shadow: 0 2px 24px rgba(0,0,0,0.08) !important;
}

/* Logo text hidden when image loads — shown as fallback via onerror JS */
.treatment-page .site-header .logo-text,
.blog-page      .site-header .logo-text,
.inner-page     .site-header .logo-text {
  display: none !important;
}

/* Nav links always dark on inner pages */
.treatment-page .site-header .main-nav a,
.blog-page      .site-header .main-nav a,
.inner-page     .site-header .main-nav a {
  color: var(--text-mid) !important;
}
.treatment-page .site-header .main-nav a:hover,
.blog-page      .site-header .main-nav a:hover,
.inner-page     .site-header .main-nav a:hover { color: var(--accent) !important; }

/* Hamburger always dark on inner pages */
.treatment-page .site-header .menu-toggle span,
.blog-page      .site-header .menu-toggle span,
.inner-page     .site-header .menu-toggle span { background: var(--text-dark) !important; }

/* ============================================================
   BREADCRUMB BAR
============================================================ */
.breadcrumb-bar {
  background: var(--bg-soft);
  border-bottom: 1px solid var(--border);
  padding: 12px 0;
  margin-top: var(--header-height);
}

.breadcrumb-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  list-style: none;
  font-size: 0.8125rem;
  color: var(--text-light);
}

.breadcrumb-list li { display: flex; align-items: center; gap: 6px; }

.breadcrumb-list li + li::before {
  content: '›';
  color: var(--border-dark);
  font-size: 0.875rem;
}

.breadcrumb-list a {
  color: var(--text-light);
  transition: color 0.2s;
  text-decoration: none;
}

.breadcrumb-list a:hover  { color: var(--accent); }
.breadcrumb-list span     { color: var(--text-mid); font-weight: 500; }


/* ============================================================
   PAGE LAYOUT — two-column (content + sidebar)
============================================================ */
.page-wrapper {
  padding: 56px 0 96px;
  background: var(--white);
}

.page-layout {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 56px;
  align-items: start;
}

.page-content { min-width: 0; }

/* Sticky sidebar */
.page-sidebar {
  position: sticky;
  top: calc(var(--header-height) + 24px);
  display: flex;
  flex-direction: column;
  gap: 24px;
}


/* ============================================================
   TREATMENT PAGE HERO — Two-column with doctor image
============================================================ */
.treatment-hero {
  background: linear-gradient(135deg, #0B3D48 0%, #1A6B7C 55%, #2A9D8F 100%);
  padding: 36px 0 80px;
  position: relative;
  overflow: hidden;
  margin-top: var(--header-height);
  min-height: 560px;
  display: flex;
  align-items: center;
}

/* Dot-grid texture */
.treatment-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.06) 1px, transparent 1px);
  background-size: 30px 30px;
  pointer-events: none;
  z-index: 0;
}

/* White curved bottom edge */
.treatment-hero::after {
  content: '';
  position: absolute;
  bottom: -2px; left: 0; right: 0;
  height: 64px;
  background: var(--white);
  clip-path: ellipse(55% 100% at 50% 100%);
  z-index: 1;
}

/* Decorative blobs */
.th-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.2;
  pointer-events: none;
  z-index: 0;
}
.th-blob1 {
  width: 420px; height: 420px;
  background: radial-gradient(circle, #2A9D8F, transparent);
  top: -80px; right: 10%;
}
.th-blob2 {
  width: 280px; height: 280px;
  background: radial-gradient(circle, #E9C46A, transparent);
  bottom: 40px; right: 30%;
}

/* Breadcrumb inside hero — lives as first child of .th-text */
.th-breadcrumb {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 0.75rem;
  color: rgba(255,255,255,0.6);
  margin-bottom: 18px;
  flex-wrap: nowrap;          /* never wrap to second line */
  overflow: hidden;           /* clip if too long */
  position: relative;
  z-index: 2;
  line-height: 1;
  max-width: 100%;
}
.th-breadcrumb a {
  color: rgba(255,255,255,0.65);
  text-decoration: none;
  transition: color 0.2s;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
  min-height: 0 !important;   /* override global 44px touch-target rule */
  height: auto !important;
  line-height: 1.2;
  flex-shrink: 1;
  display: inline !important; /* keep it inline so it doesn't stretch */
}
.th-breadcrumb a:hover { color: rgba(255,255,255,1); }
.th-breadcrumb span[aria-hidden] {
  color: rgba(255,255,255,0.3);
  font-size: 0.75rem;
  flex-shrink: 0;             /* separators never collapse */
  line-height: 1;
}
.th-breadcrumb span[aria-current] {
  color: rgba(255,255,255,0.95);
  font-weight: 600;
  white-space: nowrap;
  flex-shrink: 0;
  line-height: 1.2;
}

/* Two-column layout */
.th-layout {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 56px;
  align-items: center;       /* image card stays vertically centred */
  position: relative;
  z-index: 2;
}

/* Text column starts at top so breadcrumb sits flush at hero top-left */
.th-text { align-self: start; }

/* Image column stays centred for visual balance */
.th-image-col {
  align-self: center;
}

/* ── LEFT TEXT COLUMN ── */
.th-text { display: flex; flex-direction: column; }

.treatment-hero .hero-category {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.28);
  color: rgba(255,255,255,0.92);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  padding: 5px 16px;
  border-radius: 100px;
  margin-bottom: 20px;
  text-decoration: none;
  width: fit-content;
  transition: background 0.2s;
  backdrop-filter: blur(4px);
}
.treatment-hero .hero-category:hover { background: rgba(255,255,255,0.22); }

.treatment-hero h1 {
  color: var(--white);
  font-size: clamp(2rem, 3.5vw, 2.875rem);
  font-weight: 800;
  line-height: 1.15;
  margin-bottom: 20px;
  letter-spacing: -0.03em;
}

.treatment-hero .hero-intro {
  font-size: 1.0625rem;
  color: rgba(255,255,255,0.78);
  line-height: 1.75;
  margin-bottom: 24px;
}

/* Trust pills */
.th-trust-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 28px;
}
.th-pill {
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.22);
  color: rgba(255,255,255,0.9);
  font-size: 0.8125rem;
  font-weight: 600;
  padding: 5px 14px;
  border-radius: 100px;
  backdrop-filter: blur(4px);
}

/* CTA buttons in hero */
.th-ctas {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 28px;
}

/* White solid button */
.btn-white {
  background: var(--white);
  color: var(--primary);
  border-color: var(--white);
  font-weight: 700;
}
.btn-white:hover {
  background: var(--bg-ice);
  border-color: var(--bg-ice);
  color: var(--primary-dark);
  transform: translateY(-1px);
}

/* ── Hero Quick Answer strip ── */
.th-quick-answer {
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.22);
  border-left: 3px solid var(--gold);
  border-radius: 12px;
  padding: 14px 18px;
  margin-bottom: 22px;
  backdrop-filter: blur(6px);
}
.tqa-label {
  display: inline-block;
  font-size: 0.6875rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: var(--gold);
  margin-bottom: 6px;
}
.th-quick-answer p {
  font-size: 0.9375rem;
  color: rgba(255,255,255,0.88);
  line-height: 1.65;
  margin: 0;
}
.th-quick-answer p strong { color: var(--white); }

/* Ghost white outline button */
.btn-outline-white {
  background: transparent;
  color: var(--white);
  border: 2px solid rgba(255,255,255,0.55);
  font-weight: 600;
}
.btn-outline-white:hover {
  background: rgba(255,255,255,0.12);
  border-color: rgba(255,255,255,0.85);
  color: var(--white);
}

/* Meta bar */
.treatment-hero .hero-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px 24px;
  font-size: 0.8125rem;
  color: rgba(255,255,255,0.6);
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,0.15);
}
.treatment-hero .hero-meta span { display: flex; align-items: center; gap: 6px; }

/* ── RIGHT IMAGE COLUMN ── */
.th-image-col {
  position: relative;
  display: flex;
  justify-content: center;
}

/* ── Condition image card ── */
.th-condition-card {
  width: 320px;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 28px 72px rgba(0,0,0,0.35);
  transition: transform 0.4s ease;
  background: rgba(255,255,255,0.08);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.18);
}
.th-condition-card:hover { transform: translateY(-5px); }

/* Condition image area */
.th-condition-img {
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: linear-gradient(145deg, #e8c9b0 0%, #c8855a 50%, #a05030 100%);
  position: relative;
}
.th-condition-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* CSS fallback illustration when image not yet placed */
.th-cond-fallback {
  width: 100%;
  height: 100%;
  background: linear-gradient(145deg, #f0d9c8 0%, #d4956a 60%, #b0603a 100%);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 20px;
  position: relative;
}
.th-cond-illustration {
  flex: 1;
  position: relative;
}
/* Psoriasis plaque patches — CSS illustration */
.th-skin-patch {
  position: absolute;
  border-radius: 40% 60% 55% 45% / 50% 45% 55% 50%;
  background: rgba(180, 80, 30, 0.6);
  border: 2px solid rgba(220,120,60,0.8);
  box-shadow: inset 0 0 0 3px rgba(240,210,180,0.4);
}
.th-patch1 { width: 80px; height: 56px; top: 20px; left: 24px; transform: rotate(-8deg); }
.th-patch2 { width: 60px; height: 44px; top: 18px; right: 36px; transform: rotate(12deg); }
.th-patch3 { width: 96px; height: 64px; top: 80px; left: 60px; transform: rotate(4deg);
             background: rgba(160, 60, 20, 0.65); }
.th-patch4 { width: 48px; height: 36px; bottom: 40px; left: 20px; transform: rotate(-14deg); }
.th-patch5 { width: 68px; height: 50px; bottom: 30px; right: 24px; transform: rotate(8deg); }

.th-cond-label {
  display: flex;
  align-items: center;
  gap: 10px;
  background: rgba(0,0,0,0.35);
  backdrop-filter: blur(6px);
  border-radius: 12px;
  padding: 10px 14px;
  margin-top: 12px;
}
.th-cond-icon { font-size: 1.4rem; }
.th-cond-label strong {
  display: block;
  color: var(--white);
  font-size: 0.9375rem;
  font-weight: 700;
}
.th-cond-label span {
  color: rgba(255,255,255,0.7);
  font-size: 0.75rem;
}

/* Condition caption (below image) */
.th-condition-caption {
  padding: 12px 18px;
  background: rgba(255,255,255,0.10);
  border-bottom: 1px solid rgba(255,255,255,0.10);
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.th-caption-tag {
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--gold);
}
.th-condition-caption strong {
  color: var(--white);
  font-size: 0.9375rem;
  font-weight: 700;
}
.th-condition-caption span {
  color: rgba(255,255,255,0.6);
  font-size: 0.78rem;
}

/* Doctor strip at bottom of card */
.th-doctor-strip {
  padding: 14px 18px;
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(0,0,0,0.20);
}
.th-doc-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid rgba(255,255,255,0.35);
  background: var(--accent);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.th-doc-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.th-doc-fallback { font-size: 1.2rem; }
.th-doc-details {
  flex: 1;
  min-width: 0;
}
.th-doc-details strong {
  display: block;
  color: var(--white);
  font-size: 0.875rem;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.th-doc-details span {
  color: rgba(255,255,255,0.6);
  font-size: 0.75rem;
}
.th-doc-tag {
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--gold);
  background: rgba(233,196,106,0.15);
  border: 1px solid rgba(233,196,106,0.3);
  border-radius: 100px;
  padding: 3px 10px;
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Floating stat badges */
.th-badge {
  position: absolute;
  background: var(--white);
  border-radius: 14px;
  padding: 10px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 96px;
  box-shadow: 0 8px 28px rgba(0,0,0,0.18);
  animation: th-float 3.5s ease-in-out infinite;
}
.th-badge1 { top: 20px;  left: -36px; animation-delay: 0s; }
.th-badge2 { bottom: 80px; left: -46px; animation-delay: 1.1s; }
.th-badge3 { top: 50%;  right: -28px; transform: translateY(-50%); animation-delay: 2.2s; }

@keyframes th-float {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-8px); }
}
/* Badge 3 needs separate keyframe to preserve translateX */
.th-badge3 {
  animation-name: th-float3;
}
@keyframes th-float3 {
  0%, 100% { transform: translateY(-50%); }
  50%       { transform: translateY(calc(-50% - 8px)); }
}

.th-badge-num {
  font-size: 1.125rem;
  font-weight: 800;
  color: var(--primary);
  line-height: 1;
}
.th-badge-label {
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--text-light);
  text-align: center;
  margin-top: 3px;
  line-height: 1.2;
}

/* ── Responsive ── */
@media (max-width: 1100px) {
  .th-layout {
    grid-template-columns: 1fr 300px;
    gap: 40px;
  }
  .th-condition-card { width: 280px; }
  .th-badge1 { left: -20px; }
  .th-badge2 { left: -24px; }
  .th-badge3 { right: -16px; }
}

@media (max-width: 820px) {
  .treatment-hero {
    padding: 28px 0 80px;
    min-height: auto;
  }
  .th-layout {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  /* Text first, image below — both visible on tablet */
  .th-image-col {
    display: flex;
    justify-content: center;
    align-self: auto;
  }
  .th-condition-card { width: 100%; max-width: 380px; margin: 0 auto; }
  .th-condition-img  { aspect-ratio: 16 / 9; }
  .th-badge1 { top: -16px; left: auto; right: 10px; }
  .th-badge2 { display: none; }
  .th-badge3 { top: auto; bottom: 90px; right: -16px; transform: none;
               animation-name: th-float; }
}

@media (max-width: 480px) {
  .th-image-col { display: flex; justify-content: center; } /* keep visible on phones */
  .th-condition-card { max-width: 320px; }
  .th-ctas { flex-direction: column; }
  .th-ctas .btn { width: 100%; justify-content: center; }
  .treatment-hero { padding: 24px 0 64px; }
}


/* ============================================================
   TREATMENT PAGE — CONTENT SECTIONS
============================================================ */

/* Section spacing within page content */
.content-section { margin-bottom: 56px; }
.content-section:last-child { margin-bottom: 0; }

/* ============================================================
   KEYWORD ANSWER BOX — Featured snippet target
============================================================ */
.keyword-answer-box {
  background: linear-gradient(135deg, var(--primary-light) 0%, #e0f5f3 100%);
  border: 1.5px solid var(--accent-light);
  border-left: 4px solid var(--accent);
  border-radius: 16px;
  padding: 24px 28px;
  margin-bottom: 40px;
}
.kab-label {
  font-size: 0.6875rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--accent);
  background: rgba(42,157,143,0.12);
  border: 1px solid rgba(42,157,143,0.25);
  border-radius: 100px;
  padding: 3px 12px;
  display: inline-block;
  margin-bottom: 12px;
}
.keyword-answer-box p {
  font-size: 1.0625rem;
  line-height: 1.75;
  color: var(--text-dark);
  margin-bottom: 16px;
}
.kab-bullets {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.kab-bullets span {
  background: var(--white);
  border: 1px solid var(--border);
  color: var(--text-dark);
  font-size: 0.8125rem;
  font-weight: 600;
  padding: 5px 14px;
  border-radius: 100px;
}

/* ============================================================
   STATS CALLOUT BAR — Key numbers with sources
============================================================ */
.stats-callout {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border);
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 48px;
}
.sc-item {
  background: var(--white);
  padding: 20px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 4px;
}
.sc-num {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--primary);
  line-height: 1;
  font-family: var(--font-head);
}
.sc-label {
  font-size: 0.75rem;
  color: var(--text-mid);
  line-height: 1.3;
  font-weight: 500;
}
.sc-source {
  font-size: 0.6875rem;
  color: var(--accent);
  text-decoration: none;
  font-weight: 600;
  margin-top: 4px;
}
.sc-source:hover { text-decoration: underline; }
@media (max-width: 768px) {
  .stats-callout { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 480px) {
  .stats-callout { grid-template-columns: repeat(2, 1fr); }
  .sc-item:last-child { grid-column: 1 / -1; }
}

/* ============================================================
   PEOPLE ALSO ASK / QUERY FAN-OUT BOX
============================================================ */
.paa-box {
  background: var(--white);
  border: 1.5px solid var(--border);
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 48px;
  box-shadow: var(--shadow-sm);
}

.paa-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px 22px;
  background: var(--bg-soft);
  border-bottom: 1px solid var(--border);
  flex-wrap: wrap;
}
.paa-icon { font-size: 1.1rem; }
.paa-header strong {
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--text-dark);
  flex: 1;
}
.paa-sub {
  font-size: 0.75rem;
  color: var(--text-light);
  font-style: italic;
}

.paa-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.paa-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 22px;
  text-decoration: none;
  border-bottom: 1px solid var(--border);
  border-right: 1px solid var(--border);
  transition: background 0.18s, color 0.18s;
}
.paa-item:nth-child(even) { border-right: none; }
.paa-item:nth-last-child(-n+2) { border-bottom: none; }
.paa-item:hover { background: var(--primary-light); }

.paa-q {
  font-size: 0.875rem;
  color: var(--text-dark);
  font-weight: 500;
  line-height: 1.45;
  flex: 1;
}
.paa-item:hover .paa-q { color: var(--primary); }
.paa-arr {
  font-size: 0.875rem;
  color: var(--accent);
  font-weight: 700;
  flex-shrink: 0;
  transition: transform 0.2s;
}
.paa-item:hover .paa-arr { transform: translateX(4px); }

@media (max-width: 640px) {
  .paa-grid { grid-template-columns: 1fr; }
  .paa-item { border-right: none; }
  .paa-item:nth-last-child(-n+2) { border-bottom: 1px solid var(--border); }
  .paa-item:last-child { border-bottom: none; }
}

/* ============================================================
   LISTICLE — Numbered ordered list with rich styling
============================================================ */
.listicle-numbered {
  list-style: none;
  padding: 0;
  margin: 24px 0;
  counter-reset: listicle-counter;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.listicle-numbered li {
  counter-increment: listicle-counter;
  display: flex;
  gap: 16px;
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 16px 20px;
  font-size: 0.9375rem;
  color: var(--text-mid);
  line-height: 1.65;
  position: relative;
  transition: box-shadow 0.2s, transform 0.2s;
}
.listicle-numbered li:hover {
  box-shadow: var(--shadow-sm);
  transform: translateX(3px);
}
.listicle-numbered li::before {
  content: counter(listicle-counter, decimal-leading-zero);
  font-size: 0.875rem;
  font-weight: 800;
  color: var(--accent);
  font-family: var(--font-head);
  background: var(--accent-light);
  border: 1.5px solid rgba(42,157,143,0.3);
  border-radius: 8px;
  min-width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 1px;
}
.listicle-numbered.listicle-warn li::before {
  background: #FFF5F5;
  color: #C53030;
  border-color: rgba(197,48,48,0.25);
}
.listicle-numbered.listicle-warn li {
  border-color: rgba(197,48,48,0.15);
}
.listicle-numbered li strong { color: var(--text-dark); }

/* ============================================================
   RESEARCH EVIDENCE BOX
============================================================ */
.research-box {
  background: var(--white);
  border: 1.5px solid var(--border);
  border-top: 4px solid var(--primary);
  border-radius: 16px;
  padding: 28px;
  margin: 28px 0;
  box-shadow: var(--shadow-sm);
}
.rb-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}
.rb-icon { font-size: 1.5rem; }
.rb-header h4 {
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--text-dark);
  margin: 0;
}
.rb-list {
  list-style: none;
  padding: 0;
  margin: 0 0 16px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.rb-list li {
  font-size: 0.9375rem;
  line-height: 1.7;
  color: var(--text-mid);
  padding-left: 20px;
  position: relative;
}
.rb-list li::before {
  content: '▸';
  position: absolute;
  left: 0;
  color: var(--primary);
  font-size: 0.875rem;
  top: 3px;
}
.rb-list li sup { font-size: 0.7rem; }
.rb-list li sup a { color: var(--accent); text-decoration: none; }
.rb-disclaimer {
  font-size: 0.8125rem;
  color: var(--text-light);
  font-style: italic;
  border-top: 1px solid var(--border);
  padding-top: 12px;
  margin: 0 !important;
}

/* ============================================================
   HOMEOPATHIC REMEDY GRID
============================================================ */
.remedy-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin: 24px 0;
}
.remedy-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 20px;
  position: relative;
  transition: box-shadow 0.2s, transform 0.2s;
}
.remedy-card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}
.rc-num {
  display: block;
  font-size: 0.6875rem;
  font-weight: 800;
  color: var(--accent);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 8px;
  font-family: var(--font-head);
}
.remedy-card h4 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--primary);
  margin: 0 0 8px;
}
.remedy-card p {
  font-size: 0.875rem;
  color: var(--text-mid);
  line-height: 1.65;
  margin: 0;
}
.remedy-disclaimer {
  font-size: 0.875rem;
  color: #742A2A;
  background: #FFF5F5;
  border: 1px solid rgba(197,48,48,0.2);
  border-radius: 10px;
  padding: 12px 16px;
  margin-top: 8px !important;
}
@media (max-width: 600px) {
  .remedy-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   SOURCES / REFERENCES SECTION
============================================================ */
.sources-section {
  margin-top: 56px;
  padding-top: 32px;
  border-top: 2px solid var(--border);
}
.sources-section h2 {
  font-size: 1.125rem !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
}
.sources-section h2::before { display: none !important; }
.sources-section > p {
  font-size: 0.875rem;
  color: var(--text-light);
  margin-bottom: 16px;
}
.sources-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  counter-reset: none;
}
.sources-list li {
  font-size: 0.8125rem;
  color: var(--text-mid);
  line-height: 1.6;
  padding: 12px 16px;
  background: var(--bg-soft);
  border-radius: 8px;
  border-left: 3px solid var(--border-dark);
}
.sources-list li strong { color: var(--text-dark); }
.sources-list li em { color: var(--text-light); font-style: italic; }
.sources-list li a {
  color: var(--accent);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.75rem;
  margin-left: 6px;
}
.sources-list li a:hover { text-decoration: underline; }

/* Section headings inside article */
.page-content h2 {
  font-size: clamp(1.375rem, 3vw, 1.75rem);
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--accent-light);
  position: relative;
}

.page-content h2::before {
  content: '';
  position: absolute;
  bottom: -2px; left: 0;
  width: 48px; height: 2px;
  background: var(--accent);
  border-radius: 2px;
}

.page-content h3 {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--primary);
  margin: 28px 0 12px;
}

.page-content p {
  font-size: 1rem;
  line-height: 1.8;
  color: var(--text-mid);
  margin-bottom: 16px;
}

/* ── Symptom / Feature checklist ─────────────────────── */
.symptom-list, .feature-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 20px 0;
}

.symptom-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  font-size: 0.9375rem;
  color: var(--text-mid);
  line-height: 1.4;
  transition: var(--transition);
}

.symptom-item:hover {
  border-color: var(--accent);
  background: var(--accent-light);
}

.symptom-item .si-icon {
  color: var(--accent);
  font-size: 1rem;
  flex-shrink: 0;
  margin-top: 1px;
}

/* ── Causes list ─────────────────────────────────────── */
.causes-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 20px 0;
}

.causes-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  background: var(--white);
  border: 1px solid var(--border);
  border-left: 3px solid var(--accent);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  font-size: 0.9375rem;
  color: var(--text-mid);
  line-height: 1.55;
}

.causes-list li .cl-num {
  font-family: var(--font-head);
  font-weight: 800;
  font-size: 0.875rem;
  color: var(--accent);
  min-width: 22px;
  flex-shrink: 0;
}

/* ── Warning / Safety Box ────────────────────────────── */
.warning-box {
  display: flex;
  gap: 16px;
  background: #FFF5F5;
  border: 1px solid #FED7D7;
  border-left: 4px solid #E53E3E;
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  padding: 20px 22px;
  margin: 24px 0;
}

.warning-box .wb-icon {
  font-size: 1.5rem;
  flex-shrink: 0;
  line-height: 1.3;
}

.warning-box h4 {
  font-size: 0.9375rem;
  font-weight: 700;
  color: #C53030;
  margin-bottom: 8px;
}

.warning-box ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.warning-box ul li {
  font-size: 0.9375rem;
  color: #742A2A;
  padding-left: 16px;
  position: relative;
  line-height: 1.5;
}

.warning-box ul li::before {
  content: '•';
  position: absolute;
  left: 0;
  color: #E53E3E;
}

/* ── Info / Tip Box ──────────────────────────────────── */
.info-box {
  display: flex;
  gap: 16px;
  background: var(--accent-light);
  border: 1px solid rgba(42,157,143,0.25);
  border-left: 4px solid var(--accent);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  padding: 20px 22px;
  margin: 24px 0;
}

.info-box .ib-icon { font-size: 1.375rem; flex-shrink: 0; }

.info-box h4 {
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--primary);
  margin-bottom: 6px;
}

.info-box p {
  font-size: 0.9375rem;
  color: var(--text-mid);
  margin: 0;
  line-height: 1.65;
}

/* ── How Homeopathy Helps — 3-point grid ────────────── */
.how-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin: 24px 0;
}

.how-card {
  padding: 24px 20px;
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  text-align: center;
  transition: var(--transition);
}

.how-card:hover {
  border-color: var(--accent);
  box-shadow: var(--shadow-md);
  transform: translateY(-3px);
}

.how-card .hc-icon {
  font-size: 2rem;
  margin-bottom: 12px;
  display: block;
}

.how-card h4 {
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--primary);
  margin-bottom: 8px;
}

.how-card p {
  font-size: 0.875rem;
  color: var(--text-mid);
  line-height: 1.65;
  margin: 0;
}

/* ── Diet & Lifestyle Tips ───────────────────────────── */
.diet-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin: 20px 0;
}

.diet-card {
  padding: 22px 20px;
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
}

.diet-card.do-card   { background: #F0FFF4; border-color: #9AE6B4; }
.diet-card.dont-card { background: #FFF5F5; border-color: #FED7D7; }

.diet-card h4 {
  font-size: 0.875rem;
  font-weight: 700;
  margin-bottom: 14px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.diet-card.do-card h4   { color: #276749; }
.diet-card.dont-card h4 { color: #C53030; }

.diet-card ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.diet-card ul li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.9rem;
  color: var(--text-mid);
  line-height: 1.5;
}

.diet-card.do-card ul li::before   { content: '✓'; color: #38A169; font-weight: 700; flex-shrink: 0; }
.diet-card.dont-card ul li::before { content: '✗'; color: #E53E3E; font-weight: 700; flex-shrink: 0; }

/* ── Doctor's Note / Clinical Insight ────────────────── */
.doctor-note {
  background: linear-gradient(135deg, var(--bg-ice) 0%, var(--white) 100%);
  border: 1px solid var(--border);
  border-left: 4px solid var(--primary);
  border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
  padding: 28px 28px 28px 32px;
  margin: 32px 0;
  position: relative;
}

.doctor-note .dn-label {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--primary);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.doctor-note blockquote {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.0625rem;
  color: var(--text-mid);
  line-height: 1.75;
  margin-bottom: 16px;
}

.doctor-note .dn-attribution {
  display: flex;
  align-items: center;
  gap: 12px;
}

.doctor-note .dn-attribution img {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--accent);
}

.doctor-note .dn-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary), var(--accent));
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  color: white;
  font-size: 0.875rem;
  flex-shrink: 0;
}

.doctor-note .dn-name  { font-weight: 700; font-size: 0.9rem; color: var(--text-dark); }
.doctor-note .dn-title { font-size: 0.8125rem; color: var(--text-light); }

/* ── Page-level FAQ Accordion ────────────────────────── */
.page-faq { margin-top: 40px; }

/* ── Related Conditions ──────────────────────────────── */
.related-conditions { margin-top: 48px; }

.related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 20px;
}

.related-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  background: var(--bg-soft);
  border: 1.5px solid var(--border);
  border-radius: var(--radius-md);
  text-decoration: none;
  color: inherit;
  transition: var(--transition);
}

.related-card:hover {
  border-color: var(--accent);
  background: var(--accent-light);
  transform: translateY(-2px);
  box-shadow: var(--shadow-sm);
}

.related-card .rc-icon {
  width: 40px; height: 40px;
  background: var(--white);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  flex-shrink: 0;
  border: 1px solid var(--border);
}

.related-card .rc-name {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--text-dark);
  line-height: 1.3;
}

.related-card .rc-link {
  font-size: 0.75rem;
  color: var(--accent);
  margin-top: 2px;
}

/* ── Last Reviewed Bar ────────────────────────────────── */
.reviewed-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 14px 18px;
  font-size: 0.8125rem;
  color: var(--text-light);
  margin-bottom: 40px;
}

.reviewed-bar img {
  width: 32px; height: 32px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--accent);
}

.reviewed-bar .rb-avatar {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: var(--accent);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: white;
  font-size: 0.75rem;
  flex-shrink: 0;
}

.reviewed-bar strong { color: var(--text-dark); }


/* ============================================================
   SIDEBAR WIDGETS
============================================================ */

/* Appointment CTA widget */
.sidebar-appt {
  background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
  border-radius: var(--radius-xl);
  padding: 28px 24px;
  color: var(--white);
  text-align: center;
}

.sidebar-appt h3 {
  color: var(--white);
  font-size: 1.125rem;
  margin-bottom: 10px;
}

.sidebar-appt p {
  color: rgba(255,255,255,0.82);
  font-size: 0.9rem;
  line-height: 1.6;
  margin-bottom: 20px;
}

.sidebar-appt .btn { width: 100%; justify-content: center; margin-bottom: 10px; }

.sidebar-appt .sa-phone {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: rgba(255,255,255,0.82);
  font-size: 0.875rem;
  text-decoration: none;
  transition: color 0.2s;
}

.sidebar-appt .sa-phone:hover { color: var(--gold); }

/* Quick info widget */
.sidebar-info {
  background: var(--bg-soft);
  border: 1.5px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 22px 20px;
}

.sidebar-info h4 {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--border);
}

.sidebar-info ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.sidebar-info ul li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.875rem;
  color: var(--text-mid);
  line-height: 1.45;
}

.sidebar-info ul li span:first-child { flex-shrink: 0; }

/* Related treatments widget */
.sidebar-related {
  background: var(--white);
  border: 1.5px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 22px 20px;
}

.sidebar-related h4 {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--border);
}

.sidebar-related a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  font-size: 0.875rem;
  color: var(--text-mid);
  border-bottom: 1px solid var(--border);
  transition: var(--transition);
  text-decoration: none;
}

.sidebar-related a:last-child { border-bottom: none; }

.sidebar-related a:hover {
  color: var(--accent);
  padding-left: 6px;
}

.sidebar-related a .sr-icon {
  width: 28px; height: 28px;
  background: var(--accent-light);
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  flex-shrink: 0;
  transition: var(--transition);
}

.sidebar-related a:hover .sr-icon { background: var(--accent); }


/* ============================================================
   INLINE CTA BLOCK (mid-content)
============================================================ */
.inline-cta {
  background: linear-gradient(135deg, var(--bg-ice) 0%, var(--accent-light) 100%);
  border: 1px solid rgba(42,157,143,0.25);
  border-radius: var(--radius-xl);
  padding: 32px 28px;
  text-align: center;
  margin: 40px 0;
}

.inline-cta h3 {
  font-size: 1.25rem;
  color: var(--primary);
  margin-bottom: 10px;
}

.inline-cta p {
  font-size: 0.9375rem;
  color: var(--text-mid);
  margin-bottom: 22px;
  line-height: 1.7;
}

.inline-cta .cta-row {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}


/* ============================================================
   BLOG PAGE — ARTICLE LAYOUT
============================================================ */

/* Article hero */
.article-hero {
  background: linear-gradient(135deg, #0B3D48 0%, #1A6B7C 60%, #2A9D8F 100%);
  padding: 64px 0 48px;
  margin-top: var(--header-height);
  position: relative;
  overflow: hidden;
}

.article-hero::before {
  content: '';
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.05) 1px, transparent 1px);
  background-size: 28px 28px;
}

.article-hero::after {
  content: '';
  position: absolute;
  bottom: -2px; left: 0; right: 0;
  height: 48px;
  background: var(--white);
  clip-path: ellipse(55% 100% at 50% 100%);
}

.article-hero-inner { position: relative; z-index: 1; max-width: 800px; }

.article-category-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.25);
  color: rgba(255,255,255,0.9);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 5px 14px;
  border-radius: 100px;
  margin-bottom: 18px;
  text-decoration: none;
  transition: var(--transition);
}

.article-category-tag:hover { background: rgba(255,255,255,0.2); }

.article-hero h1 {
  color: var(--white);
  font-size: clamp(1.75rem, 4vw, 2.625rem);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.03em;
  margin-bottom: 20px;
}

.article-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}

.article-meta .am-author {
  display: flex;
  align-items: center;
  gap: 8px;
}

.article-meta .am-author img {
  width: 36px; height: 36px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(255,255,255,0.4);
}

.article-meta .am-author-avatar {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: white;
  font-size: 0.875rem;
  flex-shrink: 0;
}

.article-meta .am-name     { font-size: 0.875rem; font-weight: 600; color: rgba(255,255,255,0.9); }
.article-meta .am-cred     { font-size: 0.75rem; color: rgba(255,255,255,0.6); }
.article-meta .am-divider  { width: 1px; height: 20px; background: rgba(255,255,255,0.2); }
.article-meta .am-date,
.article-meta .am-read     { font-size: 0.8125rem; color: rgba(255,255,255,0.65); }

/* Featured image */
.article-featured-img {
  width: 100%;
  aspect-ratio: 16 / 7;
  border-radius: var(--radius-xl);
  overflow: hidden;
  margin-bottom: 40px;
  border: 1px solid var(--border);
}

.article-featured-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Article body typography */
.article-body { font-size: 1.0625rem; line-height: 1.8; color: var(--text-mid); }

.article-body h2 {
  font-size: clamp(1.375rem, 3vw, 1.75rem);
  font-weight: 700;
  color: var(--text-dark);
  margin: 40px 0 16px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--accent-light);
  position: relative;
}

.article-body h2::before {
  content: '';
  position: absolute;
  bottom: -2px; left: 0;
  width: 48px; height: 2px;
  background: var(--accent);
}

.article-body h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--primary);
  margin: 32px 0 12px;
}

.article-body p { margin-bottom: 20px; }

.article-body ul,
.article-body ol {
  list-style: none;
  margin: 16px 0 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.article-body ul li,
.article-body ol li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 1rem;
  color: var(--text-mid);
  line-height: 1.65;
  padding-left: 4px;
}

.article-body ul li::before {
  content: '✦';
  color: var(--accent);
  font-size: 0.625rem;
  margin-top: 6px;
  flex-shrink: 0;
}

.article-body ol {
  counter-reset: article-counter;
}

.article-body ol li::before {
  counter-increment: article-counter;
  content: counter(article-counter);
  background: var(--accent);
  color: white;
  font-weight: 700;
  font-size: 0.75rem;
  width: 22px; height: 22px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
}

.article-body strong { color: var(--text-dark); font-weight: 600; }

.article-body blockquote {
  margin: 28px 0;
  padding: 20px 24px;
  background: var(--bg-ice);
  border-left: 4px solid var(--accent);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.125rem;
  color: var(--text-mid);
  line-height: 1.75;
}

/* Callout boxes inside blog */
.article-body .info-box,
.article-body .warning-box { margin: 28px 0; }

/* Sources / References */
.sources-section {
  margin-top: 48px;
  padding-top: 28px;
  border-top: 1px solid var(--border);
}

.sources-section h4 {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--text-light);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 14px;
}

.sources-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.sources-list li {
  font-size: 0.8125rem;
  color: var(--text-light);
  line-height: 1.55;
  padding-left: 16px;
  position: relative;
}

.sources-list li::before {
  content: '[' attr(data-num) ']';
  position: absolute;
  left: 0;
  color: var(--accent);
  font-weight: 600;
  font-size: 0.75rem;
}

.sources-list a { color: var(--accent); text-decoration: underline; }

/* Author bio box */
.author-bio {
  display: flex;
  gap: 24px;
  padding: 28px;
  background: var(--bg-soft);
  border: 1.5px solid var(--border);
  border-radius: var(--radius-xl);
  margin-top: 48px;
}

.author-bio img {
  width: 80px; height: 80px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid var(--accent);
  flex-shrink: 0;
}

.author-bio .ab-avatar {
  width: 80px; height: 80px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary), var(--accent));
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-head);
  font-weight: 800;
  font-size: 1.75rem;
  color: white;
  flex-shrink: 0;
}

.author-bio .ab-label {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--accent);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 4px;
}

.author-bio h4 {
  font-size: 1.0625rem;
  font-weight: 800;
  color: var(--text-dark);
  margin-bottom: 2px;
}

.author-bio .ab-cred {
  font-size: 0.8125rem;
  color: var(--text-light);
  margin-bottom: 10px;
}

.author-bio p {
  font-size: 0.9rem;
  color: var(--text-mid);
  line-height: 1.7;
  margin: 0;
}

/* Related posts */
.related-posts { margin-top: 56px; }

.related-posts h3 {
  font-size: 1.375rem;
  font-weight: 700;
  margin-bottom: 24px;
  color: var(--text-dark);
}

.related-posts-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

/* Article sidebar TOC */
.sidebar-toc {
  background: var(--bg-soft);
  border: 1.5px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 22px 20px;
}

.sidebar-toc h4 {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--border);
}

.toc-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.toc-list a {
  display: block;
  font-size: 0.875rem;
  color: var(--text-mid);
  padding: 6px 10px;
  border-radius: var(--radius-sm);
  text-decoration: none;
  line-height: 1.4;
  transition: var(--transition);
}

.toc-list a:hover,
.toc-list a.active {
  background: var(--accent-light);
  color: var(--accent);
  padding-left: 14px;
}

/* Reading progress bar */
.reading-progress {
  position: fixed;
  top: var(--header-height);
  left: 0;
  right: 0;
  height: 3px;
  background: var(--border);
  z-index: 999;
}

.reading-progress-bar {
  height: 100%;
  background: linear-gradient(90deg, var(--accent), var(--primary));
  width: 0%;
  transition: width 0.1s linear;
  border-radius: 0 2px 2px 0;
}


/* ============================================================
   RESPONSIVE — TABLET (≤1024px)
============================================================ */
@media (max-width: 1024px) {
  .page-layout { grid-template-columns: 1fr; }
  .page-sidebar { position: static; }
  .symptom-list { grid-template-columns: 1fr; }
  .how-grid { grid-template-columns: 1fr 1fr; }
  .related-grid { grid-template-columns: repeat(2, 1fr); }
  .related-posts-grid { grid-template-columns: 1fr 1fr; }
}

/* ============================================================
   RESPONSIVE — MOBILE (≤768px)
============================================================ */
@media (max-width: 768px) {
  .treatment-hero { padding: 56px 0 48px; }
  .treatment-hero h1 { font-size: 1.75rem; }
  .article-hero h1 { font-size: 1.625rem; }
  .how-grid { grid-template-columns: 1fr; }
  .diet-grid { grid-template-columns: 1fr; }
  .related-grid { grid-template-columns: 1fr; }
  .related-posts-grid { grid-template-columns: 1fr; }
  .author-bio { flex-direction: column; gap: 16px; }
  .inline-cta .cta-row { flex-direction: column; align-items: center; }
  .inline-cta .cta-row .btn { width: 100%; max-width: 320px; }
}


/* ============================================================
   TREATMENTS HUB PAGE
============================================================ */

/* Hero */
.treatments-hub-hero {
  background: linear-gradient(135deg, #0B3D48 0%, #1A6B7C 55%, #2A9D8F 100%);
  padding: 40px 0 88px;
  position: relative;
  overflow: hidden;
  margin-top: var(--header-height);
}
.treatments-hub-hero::before {
  content: '';
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.05) 1px, transparent 1px);
  background-size: 30px 30px;
  pointer-events: none;
}
.treatments-hub-hero::after {
  content: '';
  position: absolute;
  bottom: -2px; left: 0; right: 0;
  height: 64px;
  background: var(--white);
  clip-path: ellipse(55% 100% at 50% 100%);
  z-index: 1;
}

/* Two-column layout inside hero */
.hub-hero-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 56px;
  align-items: center;
  position: relative;
  z-index: 2;
}

.hub-hero-text { display: flex; flex-direction: column; }

.hub-hero-text h1 {
  color: var(--white);
  font-size: clamp(2.25rem, 4vw, 3.25rem);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.03em;
  margin-bottom: 20px;
}
.hub-hero-highlight {
  background: linear-gradient(90deg, var(--gold), #f4a261);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.hub-hero-sub {
  font-size: 1.0625rem;
  color: rgba(255,255,255,0.78);
  line-height: 1.75;
  margin-bottom: 24px;
}

/* Inline stats row */
.hub-hero-stats {
  display: flex;
  align-items: center;
  gap: 0;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 14px;
  padding: 14px 20px;
  margin-bottom: 28px;
  backdrop-filter: blur(6px);
  flex-wrap: wrap;
  row-gap: 10px;
}
.hhs-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  min-width: 80px;
}
.hhs-num {
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--white);
  line-height: 1;
  font-family: var(--font-head);
}
.hhs-label {
  font-size: 0.6875rem;
  color: rgba(255,255,255,0.6);
  text-align: center;
  margin-top: 3px;
}
.hhs-divider {
  width: 1px; height: 32px;
  background: rgba(255,255,255,0.18);
  flex-shrink: 0;
}

/* Right column — category preview grid */
.hub-hero-categories { position: relative; }

.hhc-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-bottom: 14px;
}
.hhc-card {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 14px;
  padding: 16px 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  cursor: default;
  transition: background 0.2s, transform 0.2s;
}
.hhc-card:hover, .hhc-card--active {
  background: rgba(255,255,255,0.18);
  border-color: rgba(255,255,255,0.35);
  transform: translateY(-2px);
}
.hhc-icon { font-size: 1.5rem; }
.hhc-card span:last-child {
  font-size: 0.72rem;
  font-weight: 600;
  color: rgba(255,255,255,0.85);
  text-align: center;
  line-height: 1.2;
}
.hhc-doctor-badge {
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(0,0,0,0.2);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 14px;
  padding: 12px 16px;
  backdrop-filter: blur(6px);
}
.hhc-doctor-badge strong {
  display: block;
  color: var(--white);
  font-size: 0.875rem;
  font-weight: 700;
}
.hhc-doctor-badge span {
  color: rgba(255,255,255,0.6);
  font-size: 0.75rem;
}

/* Category cards grid */
.hub-cat-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 48px;
}

.hub-cat-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: box-shadow 0.25s, transform 0.25s;
}
.hub-cat-card:hover {
  box-shadow: var(--shadow-lg);
  transform: translateY(-4px);
}

.hcc-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 20px 22px 16px;
  border-bottom: 1px solid var(--border);
}
/* Category colour accents */
.hcc-skin       { background: linear-gradient(135deg, #e8f5f7, #d0edf0); }
.hcc-women      { background: linear-gradient(135deg, #fef0f7, #fdd8ee); }
.hcc-respiratory{ background: linear-gradient(135deg, #f0f4ff, #dce6ff); }
.hcc-mental     { background: linear-gradient(135deg, #f3f0ff, #e0d8ff); }
.hcc-children   { background: linear-gradient(135deg, #fffbea, #fff0bc); }
.hcc-chronic    { background: linear-gradient(135deg, #f0fff4, #c6f0d4); }

.hcc-icon { font-size: 1.75rem; flex-shrink: 0; }
.hcc-header > div { flex: 1; }
.hcc-header h3 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--text-dark);
  margin: 0 0 3px;
}
.hcc-count {
  font-size: 0.75rem;
  color: var(--text-light);
  font-weight: 500;
}
.hcc-explore {
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--accent);
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s;
  flex-shrink: 0;
}
.hcc-explore:hover { color: var(--primary); }

.hcc-desc {
  font-size: 0.875rem;
  color: var(--text-mid);
  line-height: 1.6;
  padding: 14px 22px 10px;
  margin: 0;
  border-bottom: 1px solid var(--border);
}

.hcc-conditions {
  list-style: none;
  padding: 12px 22px 20px;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.hcc-conditions li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.875rem;
  color: var(--text-mid);
  text-decoration: none;
  padding: 4px 0;
  transition: color 0.18s;
}
.hcc-conditions li a:hover { color: var(--accent); }
.hcc-conditions li a::before {
  content: '›';
  color: var(--border-dark);
  margin-right: 8px;
  font-size: 1rem;
  line-height: 1;
  flex-shrink: 0;
}
/* Live page badge */
.hcc-live a {
  color: var(--primary) !important;
  font-weight: 600;
}
.hcc-badge {
  font-size: 0.6875rem;
  font-weight: 700;
  background: var(--primary-light);
  color: var(--primary);
  border: 1px solid rgba(26,107,124,0.25);
  padding: 2px 8px;
  border-radius: 100px;
  flex-shrink: 0;
}

/* Why section */
.hub-why-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 48px;
}
.hub-why-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 28px 24px;
  text-align: center;
  transition: box-shadow 0.2s, transform 0.2s;
}
.hub-why-card:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); }
.hwc-icon-wrap {
  font-size: 2rem;
  margin-bottom: 14px;
}
.hub-why-card h4 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 10px;
}
.hub-why-card p {
  font-size: 0.875rem;
  color: var(--text-mid);
  line-height: 1.65;
  margin: 0;
}

/* How it works — 4 steps */
.hub-steps {
  display: flex;
  align-items: flex-start;
  gap: 0;
  margin-top: 48px;
  flex-wrap: nowrap;
}
.hub-step {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 16px;
}
.hstep-num {
  width: 52px; height: 52px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary), var(--accent));
  color: var(--white);
  font-size: 1rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  font-family: var(--font-head);
  box-shadow: 0 4px 16px rgba(26,107,124,0.3);
  flex-shrink: 0;
}
.hstep-content h4 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 8px;
}
.hstep-content p {
  font-size: 0.875rem;
  color: var(--text-mid);
  line-height: 1.65;
  margin: 0;
}
.hub-step-arrow {
  color: var(--border-dark);
  font-size: 1.5rem;
  font-weight: 300;
  padding-top: 14px;
  flex-shrink: 0;
}

/* ── Responsive ── */
@media (max-width: 1024px) {
  .hub-hero-layout   { grid-template-columns: 1fr; }
  .hub-hero-categories { display: none; }
  .hub-cat-grid      { grid-template-columns: repeat(2, 1fr); }
  .hub-why-grid      { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  .hub-cat-grid      { grid-template-columns: 1fr; }
  .hub-why-grid      { grid-template-columns: 1fr; }
  .hub-steps         { flex-direction: column; align-items: center; gap: 8px; }
  .hub-step-arrow    { transform: rotate(90deg); padding: 0; }
  .hub-step          { width: 100%; max-width: 400px; flex-direction: row; text-align: left; gap: 16px; }
  .hstep-num         { flex-shrink: 0; }
  .hhs-divider       { display: none; }
  .hub-hero-stats    { justify-content: space-around; }
}


/* ============================================================
   ABOUT PAGE STYLES
   Used on /about.html  (body.inner-page)
============================================================ */

/* ── About Hero ── */
.about-hero {
  background: linear-gradient(135deg, var(--primary) 0%, #0e4a58 60%, #1a3a4a 100%);
  padding: calc(var(--header-height) + 48px) 0 72px;
  position: relative;
  overflow-x: hidden; /* clip blobs sideways; allow card shadow to breathe vertically */
  color: var(--white);
}

.ab-hero-layout {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 60px;
  align-items: center;
  margin-top: 28px;
}

.ab-hero-text h1 {
  font-size: clamp(2.4rem, 5vw, 3.75rem);
  font-weight: 800;
  color: var(--white);
  line-height: 1.1;
  margin: 0 0 8px;
}

.ab-cred-line {
  font-size: 1rem;
  font-weight: 600;
  color: rgba(255,255,255,0.75);
  letter-spacing: 0.05em;
  margin: 0 0 20px;
}

.ab-hero-intro {
  font-size: 1.0625rem;
  line-height: 1.75;
  color: rgba(255,255,255,0.88);
  margin-bottom: 24px;
  max-width: 520px;
}
.ab-hero-intro strong { color: var(--white); }

/* Photo card */
.ab-photo-col {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.ab-photo-card {
  background: var(--white);
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: 0 24px 80px rgba(0,0,0,0.3);
  width: 100%;
  max-width: 360px;
}

.ab-photo-wrap {
  width: 100%;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: linear-gradient(135deg, #e8f4f7 0%, #d0eaee 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}

.ab-photo-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ab-photo-fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.ab-photo-caption {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.ab-photo-caption strong {
  font-family: var(--font-head);
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--text-dark);
}

.ab-photo-caption span {
  font-size: 0.8125rem;
  color: var(--text-mid);
}

.ab-photo-clinic {
  font-size: 0.75rem !important;
  color: var(--accent) !important;
  font-weight: 600;
}

/* Floating badges on about hero */
.ab-b1 { top: 10px; right: -16px; animation: th-float 4s ease-in-out infinite; }
.ab-b2 { bottom: 80px; right: -20px; animation: th-float 5s ease-in-out infinite 0.8s; }
.ab-b3 { bottom: 40px; left: -20px; animation: th-float3 6s ease-in-out infinite 1.6s; }

/* ── Credentials bar ── */
.ab-cred-bar {
  background: var(--white);
  border-bottom: 1px solid var(--border);
  padding: 20px 0;
  position: sticky;
  top: var(--header-height);
  z-index: 90;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.ab-cred-bar-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0;
}

.ab-cb-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 28px;
}

.ab-cb-abbr {
  font-family: var(--font-head);
  font-size: 1.125rem;
  font-weight: 800;
  color: var(--primary);
  line-height: 1;
}

.ab-cb-full {
  font-size: 0.6875rem;
  color: var(--text-mid);
  margin-top: 4px;
  line-height: 1.35;
  max-width: 160px;
}

.ab-cb-divider {
  width: 1px;
  height: 40px;
  background: var(--border);
  flex-shrink: 0;
}

/* ── Story section ── */
.ab-story-layout {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 72px;
  align-items: start;
}

.ab-story-text h2 {
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  margin-bottom: 20px;
}

.ab-story-text p {
  font-size: 1.0625rem;
  line-height: 1.8;
  color: var(--text-body);
  margin-bottom: 20px;
}

/* Stats column */
.ab-stats-col {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.ab-stat-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 20px 24px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  box-shadow: var(--shadow-sm);
  transition: var(--transition);
}
.ab-stat-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); }

.ab-stat-1 { border-top: 4px solid var(--primary); }
.ab-stat-2 { border-top: 4px solid var(--accent); }
.ab-stat-3 { border-top: 4px solid var(--gold); }
.ab-stat-4 { border-top: 4px solid #E76F51; }

.ab-stat-num {
  font-family: var(--font-head);
  font-size: 2rem;
  font-weight: 800;
  color: var(--text-dark);
  line-height: 1;
}

.ab-stat-label {
  font-size: 0.8125rem;
  color: var(--text-mid);
  font-weight: 500;
}

.ab-inline-quote {
  background: var(--bg-ice);
  border-left: 4px solid var(--accent);
  border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
  padding: 24px 24px 24px 28px;
  margin: 0;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1rem;
  color: var(--text-dark);
  line-height: 1.7;
  position: relative;
}

.ab-quote-mark {
  font-size: 3rem;
  line-height: 1;
  color: var(--accent);
  font-style: normal;
  display: block;
  margin-bottom: -8px;
}

.ab-inline-quote footer {
  font-style: normal;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--primary);
  margin-top: 12px;
  display: block;
}

/* ── Qualifications grid ── */
.ab-qual-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
}

.ab-qual-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  padding: 32px;
  box-shadow: var(--shadow-sm);
  transition: var(--transition);
  position: relative;
  overflow: hidden;
}

.ab-qual-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
}
.ab-qual-card:nth-child(1)::before { background: var(--primary); }
.ab-qual-card:nth-child(2)::before { background: #E76F51; }
.ab-qual-card:nth-child(3)::before { background: var(--accent); }
.ab-qual-card:nth-child(4)::before { background: var(--gold); }

.ab-qual-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }

.ab-qual-icon {
  font-size: 2rem;
  margin-bottom: 12px;
  display: block;
}

.ab-qual-abbr {
  font-family: var(--font-head);
  font-size: 0.8125rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--primary);
  margin-bottom: 8px;
}

.ab-qual-card h3 {
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--text-dark);
  line-height: 1.4;
  margin-bottom: 12px;
}

.ab-qual-card p {
  font-size: 0.9375rem;
  line-height: 1.7;
  color: var(--text-body);
  margin-bottom: 16px;
}

.ab-qual-benefit {
  background: var(--bg-soft);
  border-radius: var(--radius-sm);
  padding: 12px 16px;
  font-size: 0.875rem;
  color: var(--text-mid);
  line-height: 1.6;
}
.ab-qual-benefit strong { color: var(--primary); }

/* ── Philosophy section ── */
.ab-phil-layout {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 72px;
  align-items: start;
}

.ab-phil-text h2 {
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  margin-bottom: 20px;
}

.ab-phil-text p {
  font-size: 1.0625rem;
  line-height: 1.8;
  color: var(--text-body);
  margin-bottom: 20px;
}

.ab-phil-principles {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 28px;
}

.ab-principle {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.ab-prin-icon {
  font-size: 1.5rem;
  flex-shrink: 0;
  margin-top: 2px;
}

.ab-principle strong {
  display: block;
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 4px;
}

.ab-principle p {
  font-size: 0.875rem;
  color: var(--text-mid);
  margin: 0;
  line-height: 1.6;
}

/* Process steps column */
.ab-process-col {
  background: var(--bg-soft);
  border-radius: var(--radius-xl);
  padding: 32px;
  border: 1px solid var(--border);
}

.ab-process-steps {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.ab-proc-step {
  display: flex;
  gap: 16px;
  padding: 20px 0;
  border-bottom: 1px solid var(--border);
  align-items: flex-start;
}
.ab-proc-step:last-child { border-bottom: none; padding-bottom: 0; }

.ab-proc-num {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary), var(--accent));
  color: var(--white);
  font-size: 0.875rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-family: var(--font-head);
  box-shadow: 0 4px 12px rgba(26,107,124,0.25);
}

.ab-proc-content strong {
  display: block;
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 4px;
}

.ab-proc-content p {
  font-size: 0.875rem;
  color: var(--text-mid);
  margin: 0;
  line-height: 1.6;
}

/* ── Why grid ── */
.ab-why-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.ab-why-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  padding: 28px;
  box-shadow: var(--shadow-sm);
  transition: var(--transition);
}
.ab-why-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: var(--accent-light); }

.ab-why-icon {
  font-size: 2rem;
  margin-bottom: 12px;
}

.ab-why-card h3 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 10px;
}

.ab-why-card p {
  font-size: 0.9rem;
  color: var(--text-mid);
  line-height: 1.7;
  margin: 0;
}

/* ── Conditions grid ── */
.ab-conditions-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.ab-cond-cat {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}

.ab-cond-cat-header {
  padding: 14px 20px;
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--white);
}
.acc-skin     { background: var(--primary); }
.acc-women    { background: #C0617A; }
.acc-child    { background: #2E9C6B; }
.acc-resp     { background: #4A90D9; }
.acc-mental   { background: #7B5EA7; }
.acc-chronic  { background: #E07A3D; }

.ab-cond-cat ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.ab-cond-cat ul li {
  border-bottom: 1px solid var(--border-light, #f0f0f0);
}
.ab-cond-cat ul li:last-child { border-bottom: none; }
.ab-cond-cat ul li a {
  display: block;
  padding: 10px 20px;
  font-size: 0.875rem;
  color: var(--text-body);
  text-decoration: none;
  transition: var(--transition);
}
.ab-cond-cat ul li a:hover {
  background: var(--bg-soft);
  color: var(--primary);
  padding-left: 26px;
}

/* ── Clinic & Map section ── */
.ab-clinic-layout {
  display: grid;
  grid-template-columns: 1fr 480px;
  gap: 64px;
  align-items: start;
}

.ab-clinic-info h2 {
  font-size: clamp(1.625rem, 3vw, 2.25rem);
  margin-bottom: 12px;
}

.ab-clinic-details {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 28px 0;
}

.ab-cd-item {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.ab-cd-icon {
  font-size: 1.25rem;
  flex-shrink: 0;
  width: 32px;
  text-align: center;
  margin-top: 2px;
}

.ab-cd-item strong {
  display: block;
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--primary);
  margin-bottom: 2px;
}

.ab-cd-item span,
.ab-cd-item a {
  font-size: 0.9375rem;
  color: var(--text-body);
  text-decoration: none;
  line-height: 1.5;
}

.ab-cd-item a:hover { color: var(--primary); }

.ab-service-areas strong {
  display: block;
  font-size: 0.875rem;
  color: var(--text-mid);
  margin-bottom: 10px;
}

.ab-area-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ab-area-tags span {
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 6px 14px;
  font-size: 0.8125rem;
  color: var(--text-mid);
  font-weight: 500;
}

.ab-map-wrap iframe {
  width: 100%;
  display: block;
  border-radius: var(--radius-lg);
}

/* ── Responsive ── */
@media (max-width: 1024px) {
  .ab-hero-layout    { grid-template-columns: 1fr; }
  .ab-photo-col      { order: -1; max-width: 320px; margin: 0 auto; }
  .ab-b1, .ab-b2, .ab-b3 { display: none; }
  .ab-story-layout   { grid-template-columns: 1fr; }
  .ab-stats-col      { display: grid; grid-template-columns: repeat(2, 1fr); }
  .ab-qual-grid      { grid-template-columns: 1fr; }
  .ab-phil-layout    { grid-template-columns: 1fr; }
  .ab-why-grid       { grid-template-columns: repeat(2, 1fr); }
  .ab-conditions-grid { grid-template-columns: repeat(2, 1fr); }
  .ab-clinic-layout  { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .ab-cred-bar-inner   { gap: 12px; }
  .ab-cb-item          { padding: 0 12px; }
  .ab-cb-divider       { height: 28px; }
  .ab-why-grid         { grid-template-columns: 1fr; }
  .ab-conditions-grid  { grid-template-columns: 1fr; }
  .ab-stats-col        { grid-template-columns: repeat(2, 1fr); }
}


/* ============================================================
   COMPREHENSIVE MOBILE AUDIT & FIXES FOR PAGES.CSS
   Breakpoints:  1024px | 768px | 480px | 360px
   All fixes are ADDITIVE — existing rules above stay intact.
============================================================ */

/* ============================================================
   INNER-PAGE HEADER — touch target / size audit
============================================================ */
@media (max-width: 768px) {
  /* Ensure hamburger is tappable on inner pages */
  .treatment-page .site-header .menu-toggle,
  .blog-page      .site-header .menu-toggle,
  .inner-page     .site-header .menu-toggle {
    min-height: 44px;
    min-width:  44px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}


/* ============================================================
   BREADCRUMB BAR — mobile
============================================================ */
@media (max-width: 768px) {
  .breadcrumb-bar { padding: 10px 0; }
  .breadcrumb-list { font-size: 0.75rem; gap: 4px; }
}


/* ============================================================
   PAGE LAYOUT — two-column → single column
   (already in 1024px MQ above — these are mobile refinements)
============================================================ */
@media (max-width: 768px) {
  .page-wrapper { padding: 40px 0 72px; }

  /* Sidebar widgets stack below content on mobile */
  .page-layout  { gap: 36px; }
  .page-sidebar { gap: 20px; }
}

@media (max-width: 480px) {
  .page-wrapper { padding: 32px 0 60px; }
}


/* ============================================================
   TREATMENT HERO — already has 820px & 480px breakpoints.
   These are additional refinements for 768px & below.
============================================================ */
@media (max-width: 768px) {
  .treatment-hero {
    padding: 24px 0 72px;
    min-height: auto;
  }

  /* h1 is already set to 1.75rem at 768 — keep, just ensure line height */
  .treatment-hero h1 {
    font-size: clamp(1.625rem, 6vw, 2rem);
    line-height: 1.2;
  }

  .treatment-hero .hero-intro { font-size: 1rem; }

  /* Trust pills — ensure they wrap neatly */
  .th-trust-pills { gap: 8px; }
  .th-pill        { font-size: 0.75rem; padding: 4px 12px; }

  /* CTA buttons — already column at 480, force it at 768 too */
  .th-ctas {
    flex-direction: column;
    gap: 10px;
  }
  .th-ctas .btn {
    width: 100%;
    justify-content: center;
    min-height: 48px;
  }

  /* Breadcrumb — single line, smaller on mobile */
  .th-breadcrumb { font-size: 0.7rem; gap: 3px; margin-bottom: 12px; }

  /* Quick answer strip */
  .th-quick-answer { padding: 12px 16px; }
  .th-quick-answer p { font-size: 0.9rem; }

  /* Meta bar — wrap & smaller */
  .treatment-hero .hero-meta { font-size: 0.75rem; gap: 10px 16px; }

  /* Image column visible — handled in 820px block above */
}

@media (max-width: 480px) {
  .treatment-hero h1 { font-size: clamp(1.5rem, 7vw, 1.875rem); }
  .treatment-hero { padding: 20px 0 60px; }
  .th-breadcrumb { font-size: 0.65rem; gap: 2px; }
}


/* ============================================================
   KEYWORD ANSWER BOX (PAA / Featured snippet target)
============================================================ */
@media (max-width: 768px) {
  .keyword-answer-box {
    padding: 18px 20px;
    border-radius: 12px;
    margin-bottom: 32px;
  }
  .keyword-answer-box p { font-size: 1rem; }
  .kab-bullets { gap: 6px; }
  .kab-bullets span { font-size: 0.75rem; padding: 4px 12px; }
}

@media (max-width: 480px) {
  .keyword-answer-box { padding: 16px; }
  .kab-bullets { flex-direction: column; }
  .kab-bullets span { width: 100%; text-align: center; }
}


/* ============================================================
   STATS CALLOUT BAR — already has 768 (3-col) & 480 (2-col)
   Extra refinements below.
============================================================ */
@media (max-width: 768px) {
  .stats-callout { margin-bottom: 36px; }
  .sc-num   { font-size: 1.25rem; }
  .sc-label { font-size: 0.6875rem; }
}

@media (max-width: 480px) {
  .sc-item  { padding: 16px 12px; }
  .sc-num   { font-size: 1.125rem; }
}


/* ============================================================
   PEOPLE ALSO ASK / PAA BOX
   Already has a 640px breakpoint — extra mobile polish.
============================================================ */
@media (max-width: 480px) {
  .paa-header { padding: 12px 16px; }
  .paa-item   { padding: 12px 16px; }
  .paa-q      { font-size: 0.875rem; }
}


/* ============================================================
   LISTICLE NUMBERED
============================================================ */
@media (max-width: 480px) {
  .listicle-numbered li {
    padding: 14px 16px;
    gap: 12px;
    font-size: 0.875rem;
  }
  .listicle-numbered li::before {
    min-width: 36px;
    height: 36px;
    font-size: 0.8125rem;
  }
}


/* ============================================================
   RESEARCH BOX
============================================================ */
@media (max-width: 480px) {
  .research-box { padding: 20px; }
  .rb-list li   { font-size: 0.875rem; }
}


/* ============================================================
   REMEDY GRID — already 1-col at 600px.
   Touch target / spacing tweaks.
============================================================ */
@media (max-width: 480px) {
  .remedy-card { padding: 16px; }
  .remedy-card h4 { font-size: 0.9375rem; }
  .remedy-card p  { font-size: 0.8125rem; }
}


/* ============================================================
   SYMPTOM LIST / HOW-GRID / DIET-GRID
   Already responsive — extra small-mobile polish.
============================================================ */
@media (max-width: 480px) {
  .symptom-item { font-size: 0.875rem; padding: 10px 12px; }

  .how-card { padding: 20px 16px; }
  .how-card .hc-icon { font-size: 1.75rem; }

  .diet-card { padding: 18px 16px; }
  .diet-card ul li { font-size: 0.875rem; }
}


/* ============================================================
   WARNING / INFO BOXES
============================================================ */
@media (max-width: 480px) {
  .warning-box,
  .info-box {
    padding: 16px 18px;
    gap: 12px;
  }
  .warning-box h4,
  .info-box h4 { font-size: 0.875rem; }
  .warning-box ul li,
  .info-box p { font-size: 0.875rem; }
}


/* ============================================================
   DOCTOR'S NOTE
============================================================ */
@media (max-width: 480px) {
  .doctor-note { padding: 20px 18px 20px 22px; }
  .doctor-note blockquote { font-size: 0.9375rem; }
}


/* ============================================================
   PAGE CONTENT — Section headings inside article
============================================================ */
@media (max-width: 480px) {
  .page-content h2 { font-size: clamp(1.25rem, 5vw, 1.5rem); }
  .page-content h3 { font-size: 1.0625rem; }
  .page-content p  { font-size: 0.9375rem; line-height: 1.75; }
}


/* ============================================================
   INLINE CTA BLOCK (already has flex-direction:column at 768)
============================================================ */
@media (max-width: 480px) {
  .inline-cta { padding: 24px 18px; }
  .inline-cta h3 { font-size: 1.125rem; }
  .inline-cta .cta-row .btn { font-size: 0.9375rem; }
}


/* ============================================================
   SIDEBAR WIDGETS — mobile stacking
============================================================ */
@media (max-width: 768px) {
  .sidebar-appt { padding: 24px 20px; }
  .sidebar-appt h3 { font-size: 1rem; }
  .sidebar-appt .btn { min-height: 44px; }

  .sidebar-info  { padding: 18px 16px; }
  .sidebar-related { padding: 18px 16px; }

  /* sidebar-related links need touch target */
  .sidebar-related a {
    padding: 10px 0;
    min-height: 44px;
    align-items: center;
  }
}


/* ============================================================
   RELATED CONDITIONS GRID — already 2→1 col
============================================================ */
@media (max-width: 480px) {
  .related-card { padding: 14px; gap: 10px; }
  .related-card .rc-name { font-size: 0.875rem; }
}


/* ============================================================
   REVIEWED BAR
============================================================ */
@media (max-width: 480px) {
  .reviewed-bar { flex-wrap: wrap; gap: 8px; font-size: 0.75rem; }
}


/* ============================================================
   BLOG / ARTICLE PAGE — ARTICLE HERO
============================================================ */
@media (max-width: 768px) {
  .article-hero { padding: 52px 0 40px; }
  .article-hero h1 { font-size: clamp(1.5rem, 5.5vw, 2rem); }
  .article-meta { gap: 10px 14px; }
  .article-meta .am-divider { display: none; }
}

@media (max-width: 480px) {
  .article-hero { padding: 40px 0 32px; }
  .article-hero h1 { font-size: 1.5rem; }
  .article-featured-img { aspect-ratio: 4 / 3; }
}


/* ============================================================
   ARTICLE BODY — TYPOGRAPHY & LISTS
============================================================ */
@media (max-width: 768px) {
  .article-body { font-size: 1rem; }
  .article-body h2 { font-size: clamp(1.25rem, 4.5vw, 1.5rem); }
  .article-body h3 { font-size: 1.0625rem; }
  .article-body blockquote { font-size: 1rem; padding: 16px 18px; }
}

@media (max-width: 480px) {
  .article-body        { font-size: 0.9375rem; }
  .article-body ul li,
  .article-body ol li  { font-size: 0.9375rem; }
}


/* ============================================================
   AUTHOR BIO (already flex-direction:column at 768)
============================================================ */
@media (max-width: 480px) {
  .author-bio { padding: 20px; gap: 14px; }
  .author-bio h4 { font-size: 1rem; }
  .author-bio p  { font-size: 0.875rem; }
}


/* ============================================================
   RELATED POSTS GRID (already 1-col at 768)
============================================================ */
@media (max-width: 480px) {
  .related-posts h3 { font-size: 1.25rem; }
}


/* ============================================================
   SIDEBAR TOC — hide on mobile, shown only on tablet+
============================================================ */
@media (max-width: 768px) {
  /* TOC is inside .page-sidebar which stacks below content —
     that's fine. Just ensure links are tappable. */
  .toc-list a {
    padding: 8px 12px;
    min-height: 40px;
    display: flex;
    align-items: center;
  }
}


/* ============================================================
   TREATMENTS HUB — already has responsive MQs.
   These are additive small-mobile refinements.
============================================================ */
@media (max-width: 480px) {
  .treatments-hub-hero { padding: 32px 0 72px; }
  .hub-hero-text h1    { font-size: clamp(1.75rem, 7vw, 2.5rem); }
  .hub-hero-sub        { font-size: 0.9375rem; }

  .hub-hero-stats   { padding: 12px 16px; }
  .hhs-num          { font-size: 1.125rem; }
  .hhs-label        { font-size: 0.625rem; }

  /* Category cards */
  .hcc-header    { padding: 16px 18px 12px; }
  .hcc-header h3 { font-size: 0.9375rem; }
  .hcc-desc      { padding: 12px 18px 8px; font-size: 0.8125rem; }
  .hcc-conditions { padding: 10px 18px 16px; }
  .hcc-conditions li a { font-size: 0.8125rem; min-height: 40px; }

  /* Why grid */
  .hub-why-card { padding: 22px 20px; }
  .hub-why-card h4 { font-size: 0.9375rem; }
  .hub-why-card p  { font-size: 0.8125rem; }

  /* Steps */
  .hub-step       { padding: 0 8px; }
  .hstep-content h4 { font-size: 0.9375rem; }
  .hstep-content p  { font-size: 0.8125rem; }
}


/* ============================================================
   ABOUT PAGE — already has 1024 + 768 MQs.
   Extra small-mobile refinements.
============================================================ */
@media (max-width: 768px) {
  /* Hero */
  .about-hero { padding: calc(var(--header-height) + 40px) 0 56px; }
  /* Give photo card breathing room so box-shadow isn't clipped */
  .ab-photo-col { padding-top: 8px; }
  .ab-hero-text h1 { font-size: clamp(1.875rem, 7vw, 2.5rem); }
  .ab-hero-intro   { font-size: 1rem; }
  .ab-cred-line    { font-size: 0.9rem; }

  /* Photo — don't show floating badges */
  .ab-b1, .ab-b2, .ab-b3 { display: none; }

  /* Credentials bar — allow vertical scroll on tiny screens */
  .ab-cred-bar        { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .ab-cred-bar-inner  { flex-wrap: nowrap; min-width: max-content; justify-content: flex-start; padding: 0 20px; }

  /* Story */
  .ab-story-text h2 { font-size: clamp(1.5rem, 5vw, 2rem); }
  .ab-story-text p  { font-size: 1rem; }
  .ab-inline-quote  { padding: 18px 18px 18px 22px; font-size: 0.9375rem; }

  /* Stats col — 2-col already */
  .ab-stat-num   { font-size: 1.625rem; }
  .ab-stat-label { font-size: 0.75rem; }
  .ab-stat-card  { padding: 16px 18px; }

  /* Qual grid — 1-col already at 1024 */
  .ab-qual-card { padding: 24px; }
  .ab-qual-card h3 { font-size: 1rem; }
  .ab-qual-card p  { font-size: 0.875rem; }

  /* Philosophy */
  .ab-phil-text h2 { font-size: clamp(1.5rem, 5vw, 2rem); }
  .ab-process-col  { padding: 24px 20px; }
  .ab-proc-content strong { font-size: 0.875rem; }
  .ab-proc-content p      { font-size: 0.8125rem; }

  /* Clinic */
  .ab-clinic-info h2 { font-size: clamp(1.375rem, 4.5vw, 1.875rem); }
  .ab-cd-item strong { font-size: 0.75rem; }
  .ab-cd-item span,
  .ab-cd-item a      { font-size: 0.875rem; }

  /* Map */
  .ab-map-wrap iframe { height: 260px; }

  /* Conditions grid — already 1-col at 768 */
  .ab-cond-cat-header { font-size: 0.8125rem; padding: 12px 18px; }
  .ab-cond-cat ul li a { padding: 10px 18px; font-size: 0.8125rem; min-height: 44px; }
}

@media (max-width: 480px) {
  .about-hero { padding: calc(var(--header-height) + 28px) 0 44px; }
  .ab-photo-col { padding-top: 4px; }
  .ab-hero-text h1 { font-size: clamp(1.625rem, 7vw, 2.125rem); }

  .ab-qual-grid { gap: 20px; }
  .ab-qual-card { padding: 20px; }

  .ab-why-grid  { gap: 16px; }
  .ab-why-card  { padding: 22px 18px; }

  .ab-map-wrap iframe { height: 220px; }

  .ab-area-tags span { font-size: 0.75rem; padding: 5px 12px; }
}


/* ============================================================
   GENERAL FORM INPUTS — full-width on mobile, no iOS zoom
============================================================ */
@media (max-width: 768px) {
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="number"],
  input[type="search"],
  input[type="password"],
  select,
  textarea {
    width: 100%;
    font-size: 16px; /* prevents iOS auto-zoom */
    min-height: 44px;
    padding: 10px 14px;
    border-radius: 8px;
    border: 1.5px solid var(--border);
    background: var(--white);
    color: var(--text-dark);
    box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
  }
  textarea {
    min-height: 120px;
    resize: vertical;
  }
  select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%234A5568' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 40px;
  }
  label {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 6px;
    display: block;
  }
  .faq-ask-card input,
  .faq-ask-card textarea { margin-bottom: 12px; }
}


/* ============================================================
   OVERFLOW GUARD — inner-page sections
============================================================ */
@media (max-width: 768px) {
  .treatment-hero,
  .treatments-hub-hero,
  .about-hero,
  .article-hero,
  .page-wrapper,
  .breadcrumb-bar,
  .keyword-answer-box,
  .paa-box,
  .stats-callout,
  .remedy-grid,
  .related-conditions,
  .inline-cta,
  .sources-section {
    overflow-x: hidden;
  }
}
