/* Shared editorial elements for article pages and the expanded patient guide. */
:root { --readable-teal:#206e76; --paper:#f3f7f6; }
[hidden] { display:none !important; }
.desktop-nav a[aria-current=page] { color:var(--readable-teal); box-shadow:inset 0 -2px var(--teal); }
.hero-secondary,.home-contact { display:inline-flex; align-items:center; gap:12px; font-size:15px; font-weight:600; }
.hero-secondary { color:var(--navy); min-height:44px; border-bottom:1px solid #88aba8; }
.hero-actions>.button { min-height:52px; }
.home-contact { margin-top:19px; }
.topic-index { background:var(--paper); padding:65px 0 75px; }
.topic-links { display:grid;grid-template-columns:1fr 1fr;column-gap:58px; }
.topic-links a { display:flex;gap:20px;align-items:center;border-top:1px solid #bfd1d0;padding:20px 3px; }
.topic-links a:hover strong,.related-links a:hover { color:var(--readable-teal);text-decoration:underline; }
.topic-links small,.section-count { font:12px/1.5 ui-monospace,monospace; color:var(--readable-teal); }
.topic-links strong { display:block;font-size:21px;font-weight:500;letter-spacing:-.55px; }
.topic-links em { display:block;font-size:14px;font-style:normal;color:#4d666f;margin-top:4px;line-height:1.6; }
.topic-links b { margin-left:auto;font-size:19px;font-weight:400;color:var(--readable-teal); }
.foot-map { display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:30px;padding:45px 0 33px; }
.foot-map>div>strong { display:block;font-size:15px;margin-bottom:12px; }
.foot-map a { display:block;font-size:14px;line-height:1.7;padding:4px 0; }
footer { background:#102c43;color:white;padding:0; }
.foot-map a,.foot-identity p,.foot-end { color:#d0dfe4; }
.foot-identity b { font-size:23px;letter-spacing:3px;font-weight:500; }
.foot-identity p { font-size:14px;margin:12px 0; }
.foot-map a:hover,.foot-end a:hover { text-decoration:underline; }
.foot-end { display:flex;justify-content:space-between;gap:16px;align-items:center;border-top:1px solid #ffffff33;padding:16px 0 25px;font-size:13px; }
.foot-end a { display:inline-flex;padding:6px 0;margin-left:24px; }
.eyebrow { color:var(--readable-teal); }
.reading-hero { background:linear-gradient(115deg,#f5f8f7,#e8f1f0);padding:22px 0 52px;border-bottom:1px solid #dae5e2; }
.bread { display:flex;gap:12px;color:#546d75;align-items:center;font-size:13px;margin-bottom:35px; }
.bread a { text-decoration:underline;text-underline-offset:3px; }
.reading-hero h1 { max-width:920px;margin:18px 0 17px;font-size:clamp(34px,4vw,57px);line-height:1.08;letter-spacing:-2px;white-space:normal;text-wrap:balance; }
.reading-hero p { max-width:790px;font-size:clamp(17px,1.6vw,20px);line-height:1.65;color:#324f60; }
.reading-grid { display:grid;grid-template-columns:minmax(0,1.85fr) minmax(0,1fr);align-items:start;gap:clamp(36px,6vw,90px);padding:49px 0 56px; }
.reading-copy { min-width:0; }
.body-section { display:grid;grid-template-columns:25px minmax(0,1fr);gap:16px;padding:25px 0;border-top:1px solid var(--line);scroll-margin-top:120px; }
.body-section:first-child { border-color:#a6c3c0; }
.section-count { padding-top:8px; }
.body-section h2,.booking-box h2,.est-block h2 { font-size:clamp(23px,2.1vw,31px);line-height:1.24;letter-spacing:-.9px; }
.body-section p,.answer p { margin-top:13px;color:#334f5c;line-height:1.78;font-size:16px; }
.note-card { background:#eaf2f0;border-top:3px solid var(--teal);padding:23px 25px 26px;border-radius:0 0 6px 6px; }
.note-card h2 { font-size:25px;line-height:1.18;letter-spacing:-.6px;margin:14px 0 12px; }
.note-card p,.index-list a,.booking-box p,.est-block dd { font-size:15px;line-height:1.65; }
.note-card img { width:100%;max-height:250px;object-position:center 30%;object-fit:cover;margin-bottom:22px;border-radius:3px; }
.index-list { display:grid;gap:0;margin:26px 0 0;padding-left:2px; }
.index-list b { margin-bottom:10px;font-size:14px; }
.index-list a { color:var(--readable-teal);padding:7px 0;border-bottom:1px solid var(--line); }
.index-list a:hover,.sources a:hover { text-decoration:underline; }
.sources { border-top:1px solid var(--line);margin-top:10px;padding:17px 0 0; }
.sources summary { font-size:15px;font-weight:600; }
.sources li { margin:9px 0 0;line-height:1.6;font-size:14px; }
.sources a { text-decoration:underline;text-underline-offset:3px; }
.review-date { margin-top:22px;font-size:13px;color:#596d75; }
.related { padding:35px 0 43px;background:var(--paper);border-top:1px solid var(--line); }
.related-links { display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:14px; }
.related-links a { display:flex;justify-content:space-between;gap:12px;padding:15px 1px;border-top:1px solid #bdcfcc;line-height:1.5;font-size:16px; }
.answer { border-top:1px solid #cadad9;padding:0 0 0 2px; }
.answer summary { display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;font-size:18px;line-height:1.5;padding:18px 0;font-weight:500; }
.answer summary::-webkit-details-marker { display:none; }
.answer summary span { color:var(--readable-teal);font-size:25px;line-height:1; }
.answer[open] summary span { transform:rotate(45deg); }
.answer p { padding:0 22px 20px 0;margin:0; }
.booking-box,.est-block { background:#f0f6f5;border:1px solid #d4e3df;border-left:3px solid var(--teal);border-radius:3px;padding:24px 26px;margin-bottom:27px; }
.booking-box h2,.est-block h2 { margin:12px 0; }
.booking-box .button { margin:16px 12px 0 0; }
.booking-box .privacy-note,.privacy-note { font-size:13px;line-height:1.65;color:#516b71;margin-top:16px; }
.est-block dl { margin:15px 0 0; }
.est-block dl div { display:grid;grid-template-columns:130px 1fr;gap:15px;padding:11px 0;border-top:1px solid #cddfdb; }
.est-block dl dt { font-size:14px;font-weight:600;line-height:1.6; }
.est-block dl dd { margin:0;color:#354e59; }
@media(max-width:900px) {
  .reading-grid { grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:26px; }
  .topic-links { column-gap:28px; }
  .foot-map { grid-template-columns:1fr 1fr;gap:20px; }
}
@media(max-width:680px) {
  .reading-grid,.topic-links,.related-links { grid-template-columns:1fr; }
  .reading-hero { padding:16px 0 29px; }.bread { margin-bottom:23px; }
  .reading-hero h1 { letter-spacing:-1.4px; }
  .reading-grid { padding:23px 0 33px;gap:24px; }
  .reading-copy { order:1; }.side { order:0; }.index-list { display:none; }
  .note-card { padding:16px 18px; }.note-card h2 { margin:8px 0;font-size:21px; }
  .note-card img { max-width:125px;max-height:125px;margin-bottom:14px; }
  .topic-index { padding:40px 0; }.topic-links a { padding:14px 0;gap:14px; }
  .related-links { gap:0; }.related { padding:25px 0; }
  .body-section { gap:8px;padding:21px 0;grid-template-columns:21px 1fr; }
  .foot-map { padding:30px 0;gap:20px 12px; }.foot-identity { grid-column:1/-1; }
  .foot-end { display:block; }.foot-end a { margin:8px 20px 0 0; }
  .booking-box,.est-block { padding:17px 18px; }
  .est-block dl div { display:block; }.est-block dd { margin-top:3px; }
  .hero-secondary { font-size:13px; }.hero-actions>.button { font-size:12px; }
  .nav-contact { font-size:11px; }.draft-bar a { font-size:11px; }
}
@media(max-width:400px) { .foot-map { grid-template-columns:1fr; }.wrap{width:calc(100% - 34px);} }
@media(prefers-reduced-motion:reduce) { html {scroll-behavior:auto;} *,*::before,*::after {transition:none!important;} }

/* Integration corrections: retain V5's design and make its existing controls usable. */
[hidden] { display:none !important; }
.nav-contact.booking-active { min-height:44px; white-space:normal; text-align:center; font-size:12px; }
.booking-link { min-height:44px; }
.reference-anchor { display:block; height:0; scroll-margin-top:160px; }
.preview-languages { display:flex; gap:16px; margin-top:18px; font-size:12px; }
.preview-languages [aria-current="page"] { font-weight:700; text-decoration:underline; text-underline-offset:4px; }
@media(max-width:900px) {
  .header .nav { height:auto; min-height:78px; flex-wrap:wrap; padding-block:14px; gap:12px 16px; }
  .header .brand { order:0; }
  .header .menu-toggle { display:flex; order:1; width:44px; min-height:44px; justify-content:center; margin-inline-start:auto; }
  .header .nav-contact.booking-active { display:flex; order:2; flex-basis:100%; width:100%; margin:0; font-size:13px; padding:14px 18px; }
  .header .mobile-menu:not([hidden]) { display:flex; flex-direction:column; padding:8px 20px 20px; border-top:1px solid var(--line); gap:4px; }
  .header .mobile-menu a { min-height:44px; padding:11px 0; }
}
[dir="rtl"] .menu-toggle { margin-left:0; }
[dir="rtl"] .therapy-item svg,[dir="rtl"] .section-count { flex-shrink:0; }


.v5-social{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:16px;font-size:11px}.v5-social a{white-space:nowrap}
.hero-copy{min-width:0}
html[lang="en"] #hero-title,html[lang="ar"] #hero-title{white-space:normal}

/* Inline vector arrows avoid unavailable font glyphs across browsers. */
.v5-external-arrow{display:inline-block;width:.85em;height:.85em;vertical-align:-.05em;flex-shrink:0}
