:root{--bg:#F8FBF8;--paper:#FFFFFF;--paper2:#EEF6F2;--ink:#1D2B26;--muted:#63736D;--brand:#5A8C7A;--brand-2:#8FC7B5;--brand-dark:#193047;--accent:#C9B08B;--line:#D8E8E1;--green:#3F7D68;--danger:#A0443E;--shadow:0 22px 58px rgba(56,42,32,.15);--shadow-soft:0 12px 34px rgba(56,42,32,.09);--radius:28px;--focus:0 0 0 4px rgba(217,178,111,.34)}
*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:radial-gradient(circle at 80% 5%,rgba(217,178,111,.18),transparent 32rem),var(--bg);color:var(--ink);font-family:KarlaLocal,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:17px;line-height:1.65}body[data-lang="en"]{font-family:KarlaLocal,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%}button,input,select,textarea{font:inherit}.container{width:min(1180px,100%);margin:auto;padding-inline:24px}.skip-link{position:absolute;inset-block-start:8px;inset-inline-start:8px;background:#fff;color:#000;padding:10px 14px;border-radius:999px;z-index:999;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.top-contact{background:var(--brand-dark);color:#fff;font-size:14px}.contact-row{min-height:40px;display:flex;align-items:center;gap:20px;justify-content:center}.contact-row a{text-decoration:underline;text-underline-offset:4px}.topbar{position:sticky;top:0;z-index:90;background:rgba(251,247,241,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(234,223,210,.75)}.nav{width:min(1220px,100%);margin:auto;padding:13px 24px;display:flex;align-items:center;gap:22px}.brand{display:flex;align-items:center;flex:none}.brand-logo{width:190px;max-height:72px;object-fit:contain}.menu-toggle{display:none;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px;font-weight:700;color:var(--ink)}.nav-links{margin-inline-start:auto;display:flex;align-items:center;gap:6px}.nav-links a,.nav-links button{border:0;background:transparent;color:var(--muted);padding:10px 12px;border-radius:999px;font-weight:700;cursor:pointer}.nav-links a:hover,.nav-links button:hover,.nav-links .active{background:#fff;color:var(--ink);box-shadow:var(--shadow-soft)}.nav-cta{background:linear-gradient(135deg,var(--brand),var(--brand-dark))!important;color:#fff!important;box-shadow:0 10px 24px rgba(59,43,34,.22)}.lang-switch{display:flex;gap:2px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:3px}.lang-btn{padding:7px 9px!important;font-size:13px!important;min-width:38px}.lang-btn.active{background:var(--brand-dark)!important;color:#fff!important;box-shadow:none!important}.hero{position:relative;overflow:hidden;padding:84px 0 58px}.hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.7),rgba(230,211,190,.28));z-index:-2}.hero:after{content:"";position:absolute;inline-size:620px;block-size:620px;border-radius:50%;background:radial-gradient(circle,rgba(217,178,111,.22),transparent 62%);inset-block-start:-250px;inset-inline-end:-180px;z-index:-1}.hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(360px,.88fr);gap:54px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--brand);font-weight:800;letter-spacing:.04em;text-transform:uppercase;font-size:13px}.eyebrow:before{content:"";inline-size:28px;block-size:1px;background:var(--brand-2)}h1,h2,h3{line-height:1.08;margin:0 0 14px}h1{font-family:ButlerLocal,Georgia,serif;font-size:clamp(46px,7vw,86px);font-weight:400;letter-spacing:-.02em}h2{font-family:ButlerLocal,Georgia,serif;font-size:clamp(32px,4vw,52px);font-weight:400}h3{font-size:22px}.lead{font-size:clamp(20px,2vw,25px);color:var(--muted);max-width:760px}.muted{color:var(--muted)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.actions.vertical{display:grid}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border:1px solid var(--line);border-radius:999px;padding:11px 18px;background:#fff;color:var(--ink);font-weight:800;cursor:pointer;box-shadow:var(--shadow-soft);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.btn.primary{background:linear-gradient(135deg,var(--brand),var(--brand-dark));border-color:transparent;color:#fff}.btn.ghost{background:rgba(255,255,255,.66)}.btn.soft{background:var(--paper2);box-shadow:none}.btn.wide{width:100%}.trust-strip{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.trust-strip span{background:rgba(255,255,255,.75);border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:var(--brand-dark);font-weight:700}.frame-card{position:relative}.frame-card:before{content:"";position:absolute;inset:28px -18px -18px 28px;border:1px solid var(--brand-2);border-radius:32px;z-index:-1}.frame-card img{inline-size:100%;block-size:560px;object-fit:cover;border-radius:34px;box-shadow:var(--shadow)}.floating-note{position:absolute;inset-inline-start:24px;inset-block-end:24px;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:20px;padding:14px 16px;font-weight:800;box-shadow:var(--shadow-soft)}.section{padding:64px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}.grid{display:grid;gap:20px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card,.panel{background:rgba(255,253,249,.88);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-soft)}.card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(154,113,79,.34)}.need-card{min-height:214px;display:flex;flex-direction:column}.card-icon{inline-size:42px;block-size:42px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,var(--paper2),#fff);color:var(--brand);font-size:22px;margin-bottom:16px}.treatment-card{padding:0;overflow:hidden}.treatment-card img{inline-size:100%;block-size:240px;object-fit:cover;display:block}.treatment-card div{padding:20px}.treatment-card span{color:var(--brand);font-weight:800;font-size:14px}.treatment-card p{color:var(--muted)}.split-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(380px,1fr);gap:34px;align-items:center}.editorial p{font-size:18px;color:var(--muted)}.image-stack{position:relative;min-height:500px}.stack-img{position:absolute;object-fit:cover;border-radius:30px;border:9px solid #fff;box-shadow:var(--shadow)}.stack-0{inline-size:64%;block-size:360px;inset-inline-start:0;inset-block-start:0}.stack-1{inline-size:58%;block-size:300px;inset-inline-end:0;inset-block-start:118px}.stack-2{inline-size:54%;block-size:250px;inset-inline-start:18%;inset-block-end:0}.home-image-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:210px;gap:14px}.gallery-item{overflow:hidden;text-align:inherit;border:1px solid var(--line);border-radius:24px;background:#fff;padding:0;box-shadow:var(--shadow-soft);transition:.2s ease;cursor:pointer}.gallery-item:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.gallery-item img{inline-size:100%;block-size:100%;object-fit:cover;display:block}.home-image-gallery .gallery-item:first-child{grid-row:span 2}.original-content{background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px 22px;box-shadow:var(--shadow-soft)}.original-content summary{font-weight:800;cursor:pointer}.page-hero{padding-top:64px}.page-hero h1{font-size:clamp(42px,6vw,74px)}.searchbar{display:flex;gap:10px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:10px;margin:24px 0;box-shadow:var(--shadow-soft)}.searchbar input{border:0;outline:0;flex:1;background:transparent;padding:8px}.chip-row{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);padding:9px 14px;font-weight:800}.page-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:22px}.page-image{inline-size:100%;max-height:480px;object-fit:cover;border-radius:26px;margin:18px 0}.content-box{white-space:pre-line;color:var(--muted);font-size:18px}.side-cta{position:sticky;top:116px;align-self:start}.side-cta hr,.panel hr{border:0;border-top:1px solid var(--line);margin:24px 0}.side-list{display:grid;gap:10px}.mini-card{display:grid;gap:4px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px}.mini-card span,.mini-card a{color:var(--muted)}.mini-card a{text-decoration:underline}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.gallery-grid .gallery-item img{block-size:260px}.gallery-item div{padding:14px}.gallery-item p{margin:4px 0 0;color:var(--muted)}.form{display:grid;gap:16px}.field{display:grid;gap:7px}.field label{font-weight:800}.field input,.field select,.field textarea{border:1px solid var(--line);background:#fff;border-radius:16px;padding:13px 14px;outline:0;color:var(--ink);min-width:0}.field input:focus,.field select:focus,.field textarea:focus,.btn:focus,.chat-launcher:focus,.nav a:focus,.nav button:focus{box-shadow:var(--focus)}.field small{color:var(--muted);font-size:14px}.login-wrap{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;align-items:start}.check-list{margin:0;padding:0;list-style:none;display:grid;gap:12px}.check-list li{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 14px}.check-list li:before{content:"✓";color:var(--green);font-weight:900;margin-inline-end:8px}.appointment-picker{background:linear-gradient(135deg,rgba(244,237,228,.75),rgba(255,255,255,.72));border:1px solid var(--line);border-radius:24px;padding:16px}.slot-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.slot-grid input{position:absolute;opacity:0}.slot-grid span{display:block;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 12px;text-align:center;font-weight:800;min-height:72px}.slot-grid input:checked+span{background:var(--brand-dark);color:#fff;border-color:var(--brand-dark)}.slot-grid small{color:inherit;opacity:.78}.booking-page{max-width:920px}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.patient-stats{margin-top:22px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:var(--shadow-soft)}.stat-card span{display:block;color:var(--muted)}.stat-card b{font-size:22px}.timeline{display:grid;gap:12px}.timeline-item{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px}.timeline-item p{margin:4px 0;color:var(--muted)}.dot{inline-size:12px;block-size:12px;border-radius:50%;background:var(--accent);margin-top:9px;flex:none}.admin-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;margin-top:24px}.tabs{display:grid;gap:8px}.tab{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:999px;padding:12px 14px;font-weight:800;text-align:start;cursor:pointer}.tab.active{background:var(--brand-dark);color:#fff}.request-list{display:grid;gap:14px}.request-card{display:flex;justify-content:space-between;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px}.request-card.pending{border-color:#e0bf78;background:#fffaf0}.request-card.approved{border-color:#a4c9ad;background:#f6fff8}.request-card.changed{border-color:#a6bbd6;background:#f7fbff}.request-card h3{margin:0 0 4px}.request-card p{margin:3px 0}.request-actions{display:flex;gap:8px;flex-wrap:wrap}.export-box{direction:ltr;text-align:left;white-space:pre-wrap;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;max-height:460px;overflow:auto}.empty{border:1px dashed var(--line);border-radius:22px;background:#fff;color:var(--muted);padding:24px}.floating-dock{position:fixed;inset-inline-start:18px;bottom:18px;z-index:100;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.quick-action{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:999px;padding:10px 14px;font-weight:800}.chat-launcher{inline-size:82px;block-size:82px;border:0;border-radius:30px;background:linear-gradient(145deg,var(--brand-dark),var(--brand));color:#fff;box-shadow:0 18px 46px rgba(44,33,27,.30);display:grid;place-items:center;font-weight:900;cursor:pointer;animation:pulseSoft 2.8s infinite}.chat-icon{font-size:28px;line-height:1}.chat-launcher span:last-child{font-size:13px;margin-top:-10px}.chat-panel{position:fixed;inset-inline-start:18px;bottom:112px;width:min(440px,calc(100vw - 36px));max-height:min(740px,calc(100vh - 135px));z-index:120;background:var(--paper);border:1px solid var(--line);border-radius:30px;box-shadow:0 30px 90px rgba(0,0,0,.24);overflow:hidden;display:none;grid-template-rows:auto auto minmax(160px,1fr) auto auto}.chat-panel.open{display:grid}.chat-head{background:linear-gradient(135deg,var(--brand-dark),var(--brand));color:#fff;padding:18px;display:flex;justify-content:space-between;align-items:center}.chat-head small{display:block;opacity:.84}.chat-head button{background:rgba(255,255,255,.18);color:#fff;border:0;border-radius:12px;padding:8px 11px;font-size:20px;cursor:pointer}.chat-ai-note{padding:10px 16px;background:#fff8e9;color:var(--muted);font-size:13px;border-bottom:1px solid var(--line)}.chat-ai-note span{display:inline-grid;place-items:center;inline-size:30px;block-size:24px;border-radius:999px;background:var(--brand-dark);color:#fff;font-weight:900;margin-inline-end:6px}.chat-body{padding:16px;display:grid;gap:10px;overflow:auto}.msg{padding:12px 14px;border-radius:18px;max-width:88%;white-space:pre-line}.msg.bot{background:var(--paper2);justify-self:start}.msg.user{background:var(--brand-dark);color:#fff;justify-self:end}.msg.pending{opacity:.74}.chat-chips{display:flex;gap:8px;flex-wrap:wrap;padding:0 16px 12px}.chat-chips button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-weight:800;cursor:pointer}.chat-input{display:flex;gap:8px;border-top:1px solid var(--line);padding:12px}.chat-input input{flex:1;border:1px solid var(--line);border-radius:999px;padding:12px;outline:0;min-width:0}.chat-input button{border:0;background:var(--brand-dark);color:#fff;border-radius:999px;padding:0 16px;font-weight:800;cursor:pointer}.toast{position:fixed;inset-inline-end:18px;bottom:18px;background:#111;color:#fff;border-radius:16px;padding:12px 16px;box-shadow:var(--shadow);z-index:140;opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s}.toast.show{opacity:1;transform:translateY(0)}.modal{position:fixed;inset:0;background:rgba(0,0,0,.72);display:none;place-items:center;z-index:130;padding:20px}.modal.open{display:grid}.modal-content{background:#fff;border-radius:26px;max-width:min(940px,100%);max-height:90vh;overflow:auto}.modal-content img{max-width:100%;display:block;border-radius:26px 26px 0 0}.modal-content .pad{padding:18px}.footer{margin-top:54px;background:var(--brand-dark);color:#fff;padding:44px 0}.footer-grid{display:grid;grid-template-columns:1.2fr .6fr .6fr;gap:28px}.footer-logo{width:190px;filter:brightness(0) invert(1);max-height:64px;object-fit:contain}.footer a{display:block;color:#fff;opacity:.9;margin:6px 0;text-decoration:underline;text-underline-offset:4px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.reveal.visible{opacity:1;transform:translateY(0)}
@keyframes pulseSoft{0%,100%{transform:translateY(0);box-shadow:0 18px 46px rgba(44,33,27,.30)}50%{transform:translateY(-2px);box-shadow:0 22px 58px rgba(44,33,27,.36)}}
@media(max-width:980px){.top-contact{display:none}.menu-toggle{display:inline-flex;margin-inline-start:auto}.nav{position:relative}.brand-logo{width:160px}.nav-links{display:none;position:absolute;top:76px;left:16px;right:16px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:12px;flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.nav-links a,.nav-links button{text-align:start;width:100%}.hero-grid,.split-grid,.page-layout,.login-wrap,.dashboard-grid,.admin-grid{grid-template-columns:1fr}.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}.section-head{display:block}.side-cta{position:static}.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-image-gallery{grid-template-columns:1fr 1fr}.quick-action{display:none}.footer-grid{grid-template-columns:1fr}.chat-panel{inset-inline-start:10px;bottom:100px;width:calc(100vw - 20px)}.floating-dock{inset-inline-start:12px;bottom:12px}.frame-card img{height:420px}.image-stack{min-height:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px}.stack-img{position:static;width:100%;height:240px;border-width:6px}.stack-2{grid-column:1/-1}}
@media(max-width:600px){body{font-size:16px}.container{padding-inline:16px}.hero{padding:44px 0 28px}.hero h1{font-size:42px}.page-hero h1{font-size:40px}.panel,.card{padding:20px}.home-image-gallery{grid-template-columns:1fr}.slot-grid{grid-template-columns:1fr}.request-card{display:grid}.brand-logo{width:148px}.frame-card img{min-height:300px;height:360px}.chat-launcher{width:70px;height:70px;border-radius:24px}.gallery-grid .gallery-item img{height:230px}.grid.cols-2{grid-template-columns:1fr}.appointment-picker{padding:12px}.contact-row{justify-content:flex-start;overflow:auto}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}


/* Critical regression fixes: accessible custom date picker + reliable mobile menu */
.date-picker-pro{position:relative;isolation:isolate}.date-trigger{width:100%;min-height:74px;text-align:inherit;border:1px solid var(--line);background:#fff;border-radius:18px;padding:14px 16px;color:var(--ink);cursor:pointer;display:grid;gap:3px;box-shadow:var(--shadow-soft)}.date-trigger:focus{box-shadow:var(--focus)}.date-trigger-label{font-weight:900;font-size:18px}.date-trigger small{color:var(--muted);line-height:1.35}.calendar-popover{position:absolute;inset-inline-start:0;inset-block-start:calc(100% + 10px);width:min(410px,calc(100vw - 48px));background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 26px 80px rgba(32,22,16,.22);padding:14px;z-index:260}.calendar-popover[hidden]{display:none!important}.calendar-toolbar{display:grid;grid-template-columns:46px minmax(0,1fr) 46px;gap:8px;align-items:center;margin-bottom:12px}.cal-nav{border:1px solid var(--line);background:var(--paper2);border-radius:14px;min-height:44px;font-size:24px;cursor:pointer;color:var(--ink)}.cal-nav:hover{background:#fff;box-shadow:var(--shadow-soft)}.cal-month-select{border:1px solid var(--line);background:#fff;border-radius:14px;padding:11px 12px;font-weight:900;color:var(--ink);min-width:0}.cal-weekdays,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-weekdays span{text-align:center;color:var(--muted);font-size:13px;font-weight:900;padding:4px 0}.cal-day,.cal-empty{min-height:42px;border-radius:14px}.cal-day{border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:900;cursor:pointer}.cal-day:hover:not(:disabled){background:var(--paper2);transform:translateY(-1px)}.cal-day.selected{background:linear-gradient(135deg,var(--brand),var(--brand-dark));color:#fff;border-color:transparent;box-shadow:var(--shadow-soft)}.cal-day:disabled{opacity:.32;cursor:not-allowed;background:#f5f0e9}.cal-day:focus{box-shadow:var(--focus);outline:0}.appointment-picker{overflow:visible}.booking-form,.booking-panel,.panel{overflow:visible}.nav-links.open{z-index:300}.nav-open .topbar{z-index:310}@media(max-width:980px){.nav-links.open{display:flex!important;z-index:320;max-height:calc(100vh - 96px);overflow:auto}.menu-toggle{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.calendar-popover{position:fixed;inset-inline:12px!important;inset-block-start:auto!important;bottom:92px;width:auto;max-height:min(68vh,560px);overflow:auto}.date-trigger{min-height:82px}.cal-day{min-height:44px}.calendar-toolbar{position:sticky;top:0;background:#fff;z-index:1;padding-bottom:6px}}


/* Production stability fixes: date-only picker, chat click behavior, and lower layout jank. */
.chat-launcher, [data-open-chat], [data-close-chat], .chat-chips button { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.chat-panel { z-index: 620; }
.floating-dock { z-index: 610; }
.calendar-title { font-weight: 900; color: var(--brand-dark); margin: 2px 2px 10px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.calendar-popover { contain: layout paint; isolation: isolate; z-index: 700; }
body.calendar-open .calendar-popover { z-index: 710; }
@media (max-width:980px) {
  .calendar-popover { position: fixed; inset-inline: 14px !important; inset-block: auto 18px !important; width: auto; max-height: min(78vh, 620px); overflow: auto; border-radius: 26px; padding: 16px; }
  body.calendar-open .chat-panel { display: none !important; }
}


/* Stability v4: production-safe chat, date-only picker, and stale-cache hardening. */
html { scroll-behavior: auto; }
.chat-launcher, [data-open-chat], [data-close-chat], .chat-chips button { appearance: none; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.chat-panel { will-change: transform, opacity; }
body.chat-open .chat-launcher { animation: none; }
.appointment-picker.is-calendar-open { position: relative; z-index: 720; }
.appointment-picker.is-calendar-open .calendar-popover { display: block; }
.calendar-title { font-weight: 900; color: var(--brand-dark); margin: 2px 2px 10px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.calendar-popover * { box-sizing: border-box; }
body.calendar-open { overflow-x: hidden; }
body.calendar-open::after { pointer-events: none; }
@media(max-width: 720px) {
  .calendar-popover { bottom: 18px !important; max-height: min(76vh, 620px); }
}

/* Stability v8: non-visual hardening for forms, calendar and mobile interactions. */
input, textarea, select, button, .date-trigger, .cal-day, .cal-nav, .chat-launcher { touch-action: manipulation; }
input, textarea, select { -webkit-user-select: text; user-select: text; }
.calendar-popover { overscroll-behavior: contain; }
body.calendar-open { overscroll-behavior: contain; }


/* Stability v9: input/gallery/calendar isolation without visual regression. */
input, textarea, select { pointer-events: auto; }
.gallery-item, [data-open-img], .date-picker-pro, .calendar-popover, .chat-panel { -webkit-tap-highlight-color: transparent; }
.modal.open { overscroll-behavior: contain; }

/* Login v10: explicit, accessible patient-area authentication feedback. */
.login-status{border:1px solid var(--line);border-radius:18px;padding:12px 14px;background:#fff;color:var(--muted);font-weight:700;line-height:1.45}.login-status.info{background:#fffaf0}.login-status.error{background:#fff4f2;border-color:#e7afa5;color:#7f2d20}.login-status.success{background:#f4fff7;border-color:#a4c9ad;color:#245b32}

/* Hero video v12: replaces the static hero image with an optimized, accessible clinic video. */
.hero-video-card{overflow:visible;isolation:isolate}.hero-video-card .hero-video{display:block;inline-size:100%;block-size:560px;object-fit:cover;object-position:center;border-radius:34px;box-shadow:var(--shadow);background:var(--paper2)}.hero-video-card .hero-video::-webkit-media-controls{display:none!important}.video-control{position:absolute;inset-inline-end:22px;inset-block-start:22px;z-index:3;border:1px solid rgba(255,255,255,.7);background:rgba(255,255,255,.88);backdrop-filter:blur(14px);color:var(--brand-dark);border-radius:999px;padding:9px 13px;font-weight:900;box-shadow:var(--shadow-soft);cursor:pointer}.video-control:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.video-control:focus-visible{outline:0;box-shadow:var(--focus),var(--shadow-soft)}@media(max-width:980px){.hero-video-card .hero-video{block-size:clamp(380px,68vh,560px)}.video-control{inset-inline-end:18px;inset-block-start:18px}}@media(prefers-reduced-motion:reduce){.hero-video-card .hero-video{animation:none}.video-control{display:inline-flex}}


/* Hero video v13 HQ: portrait-safe premium frame, no crop, high-quality playback. */
.hero-video-card{
  display:grid;
  place-items:center;
  inline-size:min(100%,470px);
  min-block-size:640px;
  margin-inline:auto;
  padding:22px;
  overflow:visible;
  isolation:isolate;
  border-radius:42px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.88),rgba(244,237,228,.78)),
    radial-gradient(circle at 18% 12%,rgba(217,178,111,.25),transparent 34rem);
  border:1px solid rgba(234,223,210,.9);
  box-shadow:var(--shadow-soft);
}
.hero-video-card:before{
  inset:34px -16px -16px 34px;
  border-radius:40px;
  border-color:rgba(154,113,79,.34);
}
.hero-video-card .hero-video{
  inline-size:min(100%,390px);
  block-size:auto;
  aspect-ratio:9/16;
  max-block-size:min(72vh,680px);
  display:block;
  object-fit:cover;
  object-position:center;
  border-radius:32px;
  border:10px solid rgba(255,255,255,.82);
  box-shadow:0 30px 80px rgba(59,43,34,.24),0 10px 24px rgba(59,43,34,.10);
  background:var(--paper2);
}
.hero-video-card .hero-video::-webkit-media-controls{display:none!important}
.video-control{
  inset-inline-end:24px;
  inset-block-start:24px;
  background:rgba(255,255,255,.9);
  border-color:rgba(255,255,255,.72);
}
.hero-video-card .floating-note{
  inset-inline-start:50%;
  inset-block-end:24px;
  transform:translateX(-50%);
  white-space:normal;
  text-align:center;
  inline-size:max-content;
  max-inline-size:calc(100% - 44px);
}
@media(max-width:980px){
  .hero-video-card{inline-size:min(100%,430px);min-block-size:auto;padding:16px;border-radius:34px}
  .hero-video-card .hero-video{inline-size:min(100%,360px);max-block-size:70vh;border-width:8px;border-radius:28px}
  .video-control{inset-inline-end:18px;inset-block-start:18px}
}
@media(max-width:600px){
  .hero-video-card{inline-size:min(100%,370px);padding:12px;margin-block-start:10px}
  .hero-video-card .hero-video{inline-size:min(100%,320px);max-block-size:68vh;border-width:7px;border-radius:24px}
  .hero-video-card .floating-note{font-size:14px;padding:10px 12px;inset-block-end:16px}
}
@media(prefers-reduced-motion:reduce){
  .hero-video-card .hero-video{animation:none}
}

/* Hero video v14: wide split hero, aligned to the user's requested left-side visual block.
   Keeps the v13 video asset and all v11 stability fixes, but improves desktop balance:
   the visual block now occupies roughly half the hero width, matches the text-panel height,
   and uses a premium responsive frame without forcing a narrow portrait card. */
@media (min-width: 981px){
  .hero.original-inspired{
    padding-block:clamp(64px,7vw,96px) clamp(44px,5vw,72px);
  }
  .hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:clamp(34px,4vw,62px);
    align-items:stretch;
  }
  .hero-copy{
    align-self:center;
    max-inline-size:660px;
  }
  .hero-video-card{
    inline-size:100%;
    min-block-size:clamp(600px,72vh,760px);
    margin-inline:0;
    padding:clamp(14px,1.6vw,22px);
    border-radius:clamp(34px,3.2vw,52px);
    align-self:stretch;
    place-items:stretch;
    overflow:visible;
  }
  .hero-video-card .hero-video{
    inline-size:100%;
    block-size:100%;
    min-block-size:clamp(560px,68vh,720px);
    max-block-size:none;
    aspect-ratio:auto;
    object-fit:cover;
    object-position:center 42%;
    border-radius:clamp(28px,2.6vw,42px);
    border:clamp(7px,.9vw,11px) solid rgba(255,255,255,.84);
  }
  .hero-video-card:before{
    inset:34px -18px -18px 34px;
    border-radius:48px;
  }
  .hero-video-card .floating-note{
    inset-block-end:clamp(22px,2.4vw,34px);
    max-inline-size:min(420px,calc(100% - 64px));
  }
}
@media (min-width: 1180px){
  .hero-video-card{min-block-size:clamp(650px,74vh,800px)}
  .hero-video-card .hero-video{min-block-size:clamp(610px,70vh,760px)}
}
@media (max-width: 980px){
  .hero-video-card{
    inline-size:100%;
    max-inline-size:680px;
    margin-inline:auto;
  }
  .hero-video-card .hero-video{
    inline-size:100%;
    max-inline-size:none;
    aspect-ratio:4/5;
    object-fit:cover;
  }
}


/* Hero video v15: immersive first-fold split.
   Product/UX decision: keep the proven v14 visual language, but make the hero behave like a premium first screen:
   a balanced 50/50 split, equal visual/text heights, and no video distortion. The navigation remains stable and accessible. */
:root{--header-estimated-height:136px}
@media (min-width: 981px){
  .hero.original-inspired{
    min-block-size:calc(100svh - var(--header-estimated-height));
    padding-block:clamp(38px,5vh,72px);
    display:flex;
    align-items:center;
  }
  .hero.original-inspired .container{
    width:min(1440px,100%);
  }
  .hero.original-inspired .hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:clamp(28px,3.4vw,54px);
    align-items:stretch;
    min-block-size:clamp(640px,calc(100svh - 220px),820px);
  }
  .hero.original-inspired .hero-copy{
    align-self:stretch;
    max-inline-size:none;
    min-block-size:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding-block:clamp(18px,2.4vw,38px);
  }
  .hero.original-inspired .hero-copy h1{
    font-size:clamp(58px,6.1vw,104px);
    max-inline-size:720px;
  }
  .hero.original-inspired .hero-copy .lead{
    max-inline-size:680px;
  }
  .hero.original-inspired .hero-video-card{
    inline-size:100%;
    min-block-size:100%;
    block-size:100%;
    padding:clamp(16px,1.65vw,24px);
    border-radius:clamp(36px,3vw,54px);
    align-self:stretch;
  }
  .hero.original-inspired .hero-video-card .hero-video{
    inline-size:100%;
    block-size:100%;
    min-block-size:100%;
    aspect-ratio:auto;
    object-fit:cover;
    object-position:center 44%;
    border-radius:clamp(30px,2.55vw,44px);
  }
  .hero.original-inspired .hero-video-card:before{
    inset:clamp(30px,2.4vw,42px) -18px -18px clamp(30px,2.4vw,42px);
    border-radius:clamp(42px,3.2vw,58px);
  }
}
@media (min-width: 1440px){
  .hero.original-inspired .hero-grid{
    min-block-size:min(820px,calc(100svh - 190px));
  }
}
@media (max-width: 980px){
  .hero.original-inspired{min-block-size:auto;padding-block:42px 32px}
  .hero.original-inspired .hero-grid{gap:28px}
  .hero.original-inspired .hero-copy{order:1}
  .hero.original-inspired .hero-video-card{order:2;max-inline-size:720px}
  .hero.original-inspired .hero-video-card .hero-video{block-size:clamp(420px,70svh,620px);aspect-ratio:auto}
}
@media (max-width: 600px){
  .hero.original-inspired .hero-video-card .hero-video{block-size:clamp(360px,66svh,520px)}
}


/* Hero video v16: first-fold polish based on UX review.
   Goals: remove non-essential overlay text, use icon-only playback control,
   align video/text tops, and keep the entire hero within one clean first screen on desktop. */
@media (min-width: 981px){
  :root{--header-estimated-height:136px;--hero-fold-gap:22px}
  .hero.original-inspired{
    min-block-size:calc(100svh - var(--header-estimated-height));
    padding-block:var(--hero-fold-gap) 18px;
    align-items:flex-start;
  }
  .hero.original-inspired .container{
    width:min(1460px,100%);
  }
  .hero.original-inspired .hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:clamp(24px,3vw,46px);
    align-items:stretch;
    block-size:clamp(520px,calc(100svh - var(--header-estimated-height) - 48px),700px);
    min-block-size:0;
  }
  .hero.original-inspired .hero-copy{
    align-self:stretch;
    min-block-size:0;
    justify-content:flex-start;
    padding-block:clamp(20px,2.4vw,34px) 18px;
    overflow:visible;
  }
  .hero.original-inspired .hero-copy h1{
    font-size:clamp(48px,5.35vw,88px);
    line-height:.98;
    max-inline-size:720px;
    margin-block:clamp(20px,2.4vw,32px) 18px;
  }
  .hero.original-inspired .hero-copy .lead{
    font-size:clamp(19px,1.55vw,27px);
    line-height:1.55;
    max-inline-size:690px;
    margin-block:0 22px;
  }
  .hero.original-inspired .hero-copy .actions{
    margin-block-start:auto;
  }
  .hero.original-inspired .hero-video-card{
    inline-size:100%;
    block-size:100%;
    min-block-size:0;
    max-block-size:none;
    padding:clamp(14px,1.35vw,20px);
    border-radius:clamp(34px,2.8vw,48px);
    align-self:stretch;
  }
  .hero.original-inspired .hero-video-card .hero-video{
    inline-size:100%;
    block-size:100%;
    min-block-size:0;
    max-block-size:none;
    aspect-ratio:auto;
    object-fit:cover;
    object-position:center 43%;
    border-radius:clamp(28px,2.35vw,40px);
  }
  .hero.original-inspired .hero-video-card:before{
    inset:clamp(22px,1.8vw,32px) -14px -14px clamp(22px,1.8vw,32px);
    border-radius:clamp(38px,3vw,54px);
  }
  .hero-video-card .floating-note{display:none!important}
  .video-control.icon-only,
  .hero-video-card .video-control{
    inline-size:46px;
    block-size:46px;
    padding:0;
    display:inline-grid;
    place-items:center;
    border-radius:999px;
    background:rgba(255,255,255,.88);
    color:var(--brand-dark);
    font-size:18px;
    line-height:1;
  }
  .video-icon{display:block;transform:translateY(-.5px);font-size:17px;font-weight:900;letter-spacing:-2px}
  .video-control[aria-pressed="true"] .video-icon{letter-spacing:0;font-size:18px;transform:translateX(-1px)}
}
@media (min-width: 981px) and (max-height: 760px){
  .hero.original-inspired .hero-grid{
    block-size:calc(100svh - var(--header-estimated-height) - 36px);
  }
  .hero.original-inspired .hero-copy h1{font-size:clamp(44px,4.7vw,74px);margin-block:14px 14px}
  .hero.original-inspired .hero-copy .lead{font-size:clamp(18px,1.25vw,23px);line-height:1.45;margin-block-end:16px}
  .hero.original-inspired .hero-copy{padding-block:18px 14px}
}
@media (max-width: 980px){
  .hero-video-card .floating-note{display:none!important}
  .video-control.icon-only,
  .hero-video-card .video-control{
    inline-size:44px;
    block-size:44px;
    padding:0;
    display:inline-grid;
    place-items:center;
    font-size:17px;
  }
  .video-icon{display:block;font-size:16px;font-weight:900;letter-spacing:-2px}
  .video-control[aria-pressed="true"] .video-icon{letter-spacing:0;font-size:18px}
}

/* Milestone v20 — Smart Treatment Fit Quiz */
.assessment-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, .75fr);
  gap: clamp(18px, 3vw, 34px);
  align-items: start;
}
.assessment-panel { padding: clamp(22px, 4vw, 42px); }
.assessment-panel .intro { margin-block-end: clamp(18px, 3vw, 28px); }
.assessment-question h1 { max-width: 780px; }
.assessment-progress { margin: 18px 0 24px; color: var(--muted); font-size: .95rem; }
.assessment-progress div { margin-top: 8px; height: 8px; border-radius: 999px; background: rgba(79,55,40,.12); overflow: hidden; }
.assessment-progress i { display:block; block-size:100%; border-radius:inherit; background: linear-gradient(90deg, var(--accent), var(--accent-strong)); transition: inline-size .2s ease; }
.assessment-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 20px 0 24px; }
.assessment-option {
  border: 1px solid rgba(111,83,62,.18);
  border-radius: 20px;
  background: rgba(255,255,255,.74);
  color: var(--text);
  padding: 16px 18px;
  min-height: 74px;
  display: flex;
  align-items: center;
  gap: 12px;
  text-align: start;
  cursor: pointer;
  box-shadow: 0 14px 34px rgba(43,31,23,.055);
  transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.assessment-option:hover { transform: translateY(-2px); box-shadow: 0 18px 42px rgba(43,31,23,.08); }
.assessment-option:focus-visible { outline: 3px solid rgba(142,106,77,.25); outline-offset: 3px; }
.assessment-option.active { border-color: rgba(142,106,77,.55); background: rgba(239,226,208,.9); }
.assessment-option span { inline-size: 28px; block-size: 28px; flex: 0 0 28px; border-radius: 50%; background: var(--surface); display:grid; place-items:center; color: var(--accent-strong); font-weight: 700; }
.assessment-warning { margin: 18px 0; padding: 14px 16px; border-radius: 16px; background: rgba(249,245,238,.9); border: 1px solid rgba(111,83,62,.14); color: var(--muted); font-size: .95rem; line-height: 1.65; }
.soft-warning { background: rgba(255,255,255,.72); }
.assessment-results .grid { margin-block: 18px 24px; }
.result-card h3 { margin-bottom: 8px; }
.assessment-aside { position: sticky; top: 92px; }
.assessment-aside .check-list { margin-top: 18px; }
@media (max-width: 980px) {
  .assessment-shell { grid-template-columns: 1fr; }
  .assessment-aside { position: static; }
}
@media (max-width: 640px) {
  .assessment-options { grid-template-columns: 1fr; }
  .assessment-option { min-height: 64px; padding: 14px 15px; }
}
@media (prefers-reduced-motion: reduce) {
  .assessment-option, .assessment-progress i { transition: none; }
}


/* Patient v22: journey hub. Adds a richer portal without changing the global visual language. */
.patient-hero .lead{max-width:860px}.secure-note{max-width:780px;margin-top:6px}.patient-integration-note{margin-top:18px;display:flex;gap:12px;align-items:center;justify-content:space-between;background:rgba(255,255,255,.72);border:1px solid var(--line);border-radius:22px;padding:14px 16px;color:var(--muted);box-shadow:var(--shadow-soft)}.patient-integration-note b{color:var(--brand-dark)}.patient-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;background:rgba(255,255,255,.58);border:1px solid var(--line);border-radius:28px;padding:8px;box-shadow:var(--shadow-soft);position:sticky;top:96px;z-index:8}.patient-tab{border:0;background:transparent;color:var(--muted);border-radius:999px;padding:11px 15px;font-weight:900;cursor:pointer}.patient-tab:hover{background:#fff;color:var(--ink)}.patient-tab.active{background:linear-gradient(135deg,var(--brand),var(--brand-dark));color:#fff;box-shadow:0 10px 24px rgba(59,43,34,.18)}.patient-dashboard{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.75fr);gap:18px}.patient-next-card{background:linear-gradient(135deg,rgba(255,253,249,.96),rgba(244,237,228,.88));min-height:260px;display:flex;flex-direction:column;justify-content:space-between}.patient-panel-head{margin-bottom:16px}.patient-task-list,.patient-record-list,.patient-chip-list,.patient-message-list{display:grid;gap:12px}.patient-task,.patient-record,.patient-chip-card,.patient-care-card,.patient-alert,.patient-message,.patient-photo-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:15px;box-shadow:var(--shadow-soft)}.patient-task{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center}.patient-task span{color:var(--muted)}.link-button{border:0;background:transparent;color:var(--brand-dark);font-weight:900;text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:6px 0}.patient-record{display:flex;justify-content:space-between;gap:16px;align-items:center}.patient-record p{margin:4px 0;color:var(--muted)}.patient-record span{color:var(--muted)}.patient-wide{grid-column:1/-1}.patient-chip-card p,.patient-care-card p,.patient-alert p,.patient-message p{margin:6px 0 0;color:var(--muted)}.patient-alert{border-color:#e7c2aa;background:#fff8f3}.patient-message.clinic{background:#fffaf0}.patient-message.patient{background:#f7fbff}.patient-message small{display:block;color:var(--muted);margin-top:8px}.patient-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.photo-placeholder{height:170px;border:1px dashed var(--line);border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#fff,var(--paper2));color:var(--brand-dark);font-weight:900;margin-bottom:10px}.patient-care-grid .panel{min-height:100%}@media(max-width:980px){.patient-tabs{position:static;overflow:auto;flex-wrap:nowrap;scrollbar-width:thin}.patient-tab{white-space:nowrap}.patient-dashboard,.patient-record,.patient-task{grid-template-columns:1fr}.patient-record{align-items:stretch}.patient-photo-grid{grid-template-columns:1fr}.patient-integration-note{display:block}.patient-section{padding-top:34px}}

/* Booking v23: smart appointment request + waitlist. Isolated additive styles only. */
.smart-booking-form{display:grid;gap:18px}.smart-booking-intro{padding:16px 18px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,rgba(255,253,249,.92),rgba(244,237,228,.76));box-shadow:var(--shadow-soft)}.smart-booking-intro p{margin:6px 0 0;color:var(--muted);line-height:1.65}.booking-fieldset{border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.72);padding:16px;box-shadow:var(--shadow-soft)}.booking-fieldset h3{margin:0 0 12px;font-size:1.04rem}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.choice-pill,.checkbox-card{display:flex;align-items:center;gap:10px;border:1px solid rgba(111,83,62,.18);border-radius:18px;background:#fff;padding:12px 13px;cursor:pointer;min-height:52px;box-shadow:0 12px 28px rgba(43,31,23,.045);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.choice-pill:hover,.checkbox-card:hover{transform:translateY(-1px);border-color:rgba(142,106,77,.36);box-shadow:0 16px 34px rgba(43,31,23,.07)}.choice-pill input,.checkbox-card input{accent-color:var(--brand-dark);inline-size:18px;block-size:18px}.choice-pill.is-selected,.checkbox-card.is-selected{background:rgba(239,226,208,.78);border-color:rgba(142,106,77,.5)}.booking-summary{border:1px solid var(--line);border-radius:22px;padding:15px 16px;background:rgba(255,250,243,.88);box-shadow:var(--shadow-soft)}.booking-summary p{margin:6px 0 12px;color:var(--muted);line-height:1.6}.booking-tag-row,.request-tag-row{display:flex;flex-wrap:wrap;gap:8px}.booking-tag-row span,.request-tag-row span{border:1px solid rgba(111,83,62,.16);border-radius:999px;background:#fff;padding:7px 10px;color:var(--brand-dark);font-weight:800;font-size:.86rem}.request-card.priority-high{border-color:#d99779;background:linear-gradient(135deg,#fff,#fff7f2)}.request-card.priority-medium{border-color:#dfc49e}.request-priority.high{background:#fff1e8;color:#9b4d2d;border-color:#e5b090}.request-priority.medium{background:#fff8df;color:#85621f;border-color:#dec78d}.request-priority.normal{background:#f7f2ea;color:var(--brand-dark)}.request-notes{margin-top:8px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.68);border:1px solid var(--line);color:var(--muted)}.admin-queue-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.admin-queue-summary article{border:1px solid var(--line);border-radius:18px;background:#fff;padding:12px 14px;box-shadow:var(--shadow-soft)}.admin-queue-summary b{display:block;font-size:1.45rem;color:var(--brand-dark)}.admin-queue-summary span{color:var(--muted);font-weight:800}.admin-smart-note{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:0 0 16px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.66);padding:12px 14px;color:var(--muted)}.admin-smart-note b{color:var(--brand-dark)}
@media(max-width:760px){.choice-grid,.admin-queue-summary{grid-template-columns:1fr}.booking-fieldset{padding:14px}.admin-smart-note{display:block}.choice-pill,.checkbox-card{min-height:48px}}
@media(prefers-reduced-motion:reduce){.choice-pill,.checkbox-card{transition:none}.choice-pill:hover,.checkbox-card:hover{transform:none}}


/* Booking v25 root-cause fix: visual selection state is class-based, not relational selector, to keep booking interactions fast and stable. */
.choice-pill.is-selected,.checkbox-card.is-selected{background:rgba(239,226,208,.78);border-color:rgba(142,106,77,.5)}
.choice-pill,.checkbox-card,.slot-grid label{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
@media(prefers-reduced-motion:reduce){.choice-pill,.checkbox-card,.slot-grid span{transition:none!important}}


/* Booking v26: native form controls must never be disabled by calendar global state. */
.choice-pill,.checkbox-card,.slot-grid label{position:relative;user-select:none}
.choice-pill input,.checkbox-card input,.slot-grid input{pointer-events:auto}
.slot-grid{opacity:1;pointer-events:auto;max-height:none;overflow:visible;margin:0}
.booking-form.has-calendar-open [data-time-window-field]{display:block}
.appointment-picker.is-calendar-open .calendar-popover{display:block}

/* v27 Admin Operations Console */
.admin-console-note{margin:18px 0 16px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.72);box-shadow:var(--shadow-soft);padding:16px 18px}.admin-console-note b{display:block;color:var(--brand-dark);font-size:1.02rem}.admin-console-note span{display:block;color:var(--muted);margin-top:4px}.admin-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 24px}.admin-kpi-grid article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:15px 16px;box-shadow:var(--shadow-soft)}.admin-kpi-grid b{display:block;font-size:1.6rem;line-height:1;color:var(--brand-dark)}.admin-kpi-grid span{display:block;margin-top:6px;color:var(--muted);font-weight:800}.request-title-row{display:flex;align-items:start;justify-content:space-between;gap:12px}.request-status{border:1px solid rgba(111,83,62,.16);border-radius:999px;background:rgba(255,255,255,.72);padding:6px 10px;color:var(--brand-dark);font-weight:900;font-size:.84rem;white-space:nowrap}.admin-content-head,.admin-content-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.admin-content-form{background:rgba(255,255,255,.58);border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow-soft)}.chip.active{background:var(--brand-dark);color:#fff;border-color:var(--brand-dark)}.admin-content-list{display:grid;gap:12px}.admin-content-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:15px 16px;box-shadow:var(--shadow-soft)}.admin-content-card b{display:block;color:var(--ink)}.admin-content-card span,.admin-content-card small{display:block;color:var(--muted);margin-top:3px}.admin-content-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.audit-list{display:grid;gap:10px;margin-top:16px}.audit-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:13px 14px;box-shadow:var(--shadow-soft)}.audit-item span,.audit-item small{color:var(--muted)}@media(max-width:980px){.admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-content-head,.admin-content-toolbar,.request-title-row{display:block}.admin-content-card,.audit-item{grid-template-columns:1fr}.admin-content-actions{justify-content:flex-start;margin-top:10px}}@media(max-width:600px){.admin-kpi-grid{grid-template-columns:1fr}.admin-content-actions{gap:6px}.admin-content-actions .link-button{font-size:.94rem}}

/* v28 AI Concierge: approved-content source cards and safe action chips */
.chat-panel .chat-ai-note small{display:block;margin-top:4px;color:inherit;opacity:.82;line-height:1.35}.msg.safety{border:1px solid rgba(156,65,47,.22);background:#fff4ef}.chat-sources{display:grid;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(154,113,79,.18)}.chat-sources>b{font-size:13px;color:var(--brand-dark)}.chat-source{display:grid;gap:3px;width:100%;text-align:start;border:1px solid var(--line);border-radius:14px;background:#fff;padding:10px 11px;color:var(--ink);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.chat-source:hover,.chat-source:focus{transform:translateY(-1px);box-shadow:var(--shadow-soft);border-color:rgba(154,113,79,.35)}.chat-source span{font-weight:900}.chat-source small{color:var(--muted);line-height:1.35}.chat-sources.multi{display:flex;flex-wrap:wrap;gap:7px;align-items:flex-start}.chat-sources.multi>b{flex:0 0 100%}.chat-sources.multi .chat-source{display:inline-flex;align-items:center;width:auto;max-width:100%;min-height:34px;border-radius:999px;padding:8px 11px}.chat-sources.multi .chat-source small{display:none}.chat-sources.multi .chat-source span{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.chat-action{border:1px solid rgba(154,113,79,.26);background:rgba(255,255,255,.9);border-radius:999px;padding:7px 10px;font-size:13px;font-weight:900;color:var(--brand-dark);cursor:pointer}.chat-action:hover,.chat-action:focus{box-shadow:var(--focus);background:#fff}.chat-body .msg.bot{max-width:94%}@media(max-width:600px){.chat-body .msg{max-width:96%}.chat-source{padding:9px 10px}.chat-sources.multi .chat-source span{max-width:170px}.chat-actions{gap:6px}.chat-action{font-size:12px}}

/* v29 smart gallery */
.gallery-toolbar{display:grid;gap:18px;margin-bottom:22px}.gallery-searchbar{margin:0;max-width:720px}.gallery-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.filter-group{display:grid;gap:10px}.filter-buttons{display:flex;gap:8px;flex-wrap:wrap}.filter-pill{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:999px;padding:9px 14px;font-weight:800;cursor:pointer;transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}.filter-pill:hover{transform:translateY(-1px);border-color:rgba(154,113,79,.36);color:var(--ink)}.filter-pill.active{background:linear-gradient(135deg,var(--brand),var(--brand-dark));border-color:transparent;color:#fff;box-shadow:var(--shadow-soft)}.gallery-count-line{margin:0}.smart-gallery-grid .gallery-item[hidden]{display:none}.smart-gallery-card{display:flex;flex-direction:column;min-height:100%;text-align:inherit}.smart-gallery-card img{block-size:280px}.gallery-card-body{display:grid;gap:9px;padding:16px}.gallery-card-body p{margin:0;color:var(--muted);font-size:15px}.gallery-badge-row{display:flex;flex-wrap:wrap;gap:7px}.gallery-badge-row span{display:inline-flex;align-items:center;border:1px solid var(--line);background:var(--paper2);border-radius:999px;padding:5px 10px;color:var(--brand-dark);font-size:13px;font-weight:800}.gallery-disclaimer{margin-top:22px;background:rgba(255,255,255,.76);border:1px solid var(--line);border-radius:22px;padding:18px 20px;color:var(--muted);box-shadow:var(--shadow-soft)}.gallery-disclaimer b{color:var(--ink)}.gallery-disclaimer p{margin:.35rem 0}.gallery-empty{margin:0 0 18px}.gallery-modal-content{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);max-width:min(980px,calc(100vw - 32px));overflow:hidden}.gallery-modal-content img{width:100%;height:100%;min-height:460px;object-fit:cover}.gallery-modal-content .pad{display:flex;flex-direction:column;gap:12px;justify-content:center}.gallery-modal-note{background:var(--paper2);border:1px solid var(--line);border-radius:18px;padding:12px;color:var(--muted);margin:0}.gallery-modal-actions{display:flex;gap:10px;flex-wrap:wrap}.modal-close{position:absolute;inset-block-start:12px;inset-inline-end:12px;z-index:2;width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.92);box-shadow:var(--shadow-soft);font-size:24px;line-height:1;cursor:pointer;color:var(--ink)}.modal-close:focus,.filter-pill:focus{box-shadow:var(--focus)}
@media (max-width: 820px){.gallery-filter-grid{grid-template-columns:1fr}.gallery-modal-content{grid-template-columns:1fr}.gallery-modal-content img{min-height:0;max-height:56vh}.smart-gallery-card img{block-size:240px}}

/* v30 Care Guide: before/after treatment guidance, isolated and additive */
.care-toolbar{display:grid;gap:16px;margin-bottom:22px}.care-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.care-card[hidden]{display:none}.care-card{background:rgba(255,255,255,.82);border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow-soft);display:grid;gap:16px}.care-card-head{display:grid;gap:8px}.care-card-head h3{margin:0}.care-card-head p{margin:0;color:var(--muted);line-height:1.65}.care-tag{inline-size:max-content;border:1px solid rgba(111,83,62,.16);border-radius:999px;background:var(--paper2);padding:6px 10px;color:var(--brand-dark);font-weight:900;font-size:.84rem}.care-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.care-columns.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.care-columns section{border:1px solid rgba(111,83,62,.12);border-radius:18px;background:#fff;padding:13px 14px}.care-columns h4{margin:0 0 8px;color:var(--brand-dark);font-size:.98rem}.care-columns p{margin:0;color:var(--muted);line-height:1.6}.care-list{margin:0;padding-inline-start:1.2rem;color:var(--muted);line-height:1.65}.care-list li+li{margin-top:6px}.care-disclaimer{margin-top:18px;color:var(--muted);line-height:1.65}.care-disclaimer p{margin:.35rem 0 0}.care-inline{margin-top:24px}.care-card-stack{display:grid;gap:12px}.care-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.care-mini-grid .care-card{padding:14px}.care-mini-grid .care-columns{grid-template-columns:1fr}.care-mini-grid .care-columns section:nth-child(n+2){display:none}.care-inline .care-columns.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:980px){.care-grid,.care-mini-grid{grid-template-columns:1fr}.care-columns,.care-columns.compact,.care-inline .care-columns.compact{grid-template-columns:1fr}.care-toolbar .filter-buttons{overflow:auto;flex-wrap:nowrap;scrollbar-width:thin}.care-toolbar .filter-pill{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.care-card,.filter-pill{transition:none!important}}


/* v31 managed translations */
.translation-admin{display:grid;gap:1.25rem}.translation-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem}.translation-kpis article{background:rgba(255,255,255,.72);border:1px solid rgba(71,47,33,.12);border-radius:18px;padding:1rem;box-shadow:0 14px 34px rgba(55,33,18,.06)}.translation-kpis b{display:block;font-size:.95rem}.translation-kpis span{display:block;font-family:var(--font-display);font-size:1.55rem;margin:.2rem 0}.translation-kpis small{color:var(--muted)}.translation-form,.translation-language-form{background:rgba(255,255,255,.78);border:1px solid rgba(71,47,33,.12);border-radius:24px;padding:1.1rem;box-shadow:0 18px 45px rgba(55,33,18,.07)}.translation-fields textarea{min-height:96px;resize:vertical}.small{font-size:.88rem}
.patient-profile-summary{margin-top:18px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center;background:rgba(255,255,255,.82);border:1px solid var(--line);border-radius:28px;padding:18px 20px;box-shadow:var(--shadow-soft)}
.patient-avatar{inline-size:72px;block-size:72px;border-radius:24px;background:linear-gradient(135deg,var(--brand),var(--brand-dark));color:#fff;display:grid;place-items:center;overflow:hidden;font-size:24px;font-weight:900;box-shadow:var(--shadow-soft)}
.patient-avatar img{inline-size:100%;block-size:100%;object-fit:cover;display:block}.patient-contact-row{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted)}.patient-contact-row b{color:var(--ink)}
@media(max-width:680px){.patient-profile-summary{grid-template-columns:1fr;text-align:center}.patient-avatar{margin-inline:auto}.patient-contact-row{justify-content:center}}

/* v52 Patient UI stability: keep long Fireberry values inside cards without changing approved visual language. */
.patient-profile-summary,.patient-integration-note,.patient-dashboard,.patient-record,.patient-task,.patient-chip-card,.patient-care-card,.patient-alert,.patient-message,.patient-photo-card,.stat-card{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.patient-profile-summary>*,.patient-record>div,.patient-task>*,.patient-chip-card>*,.patient-care-card>*,.patient-alert>*,.patient-message>*,.patient-photo-card>*,.stat-card>*{min-width:0;max-width:100%}
.patient-contact-row{min-width:0;max-width:100%}.patient-contact-row span{min-width:0;max-width:100%;overflow-wrap:anywhere}.patient-contact-row b{overflow-wrap:anywhere;word-break:break-word}
.patient-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card b{display:block;font-size:clamp(18px,2vw,22px);line-height:1.18;overflow-wrap:anywhere;word-break:break-word}.stat-card span{line-height:1.35}
.patient-next-card h2,.patient-panel-head h2,.patient-record b,.patient-chip-card b,.patient-care-card b,.patient-alert b,.patient-message b,.patient-photo-card b{overflow-wrap:anywhere;word-break:break-word}.patient-record p,.patient-record span,.patient-chip-card p,.patient-care-card p,.patient-alert p,.patient-message p{overflow-wrap:anywhere;word-break:break-word}
.patient-photo-card .btn{margin-top:12px}.patient-photo-grid .empty{grid-column:1/-1}
@media(max-width:1080px){.patient-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.patient-stats{grid-template-columns:1fr}.patient-contact-row{display:grid;justify-content:stretch}.patient-profile-summary{text-align:inherit}}

/* v53 Patient appointments: show multiple future appointments and preserve readable, bounded cards. */
.patient-more-appointments{display:grid;gap:8px;margin:14px 0 18px;padding:12px;border:1px solid rgba(111,83,62,.14);border-radius:18px;background:rgba(255,255,255,.62);box-shadow:var(--shadow-soft);min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.patient-more-appointments>b{color:var(--brand-dark);font-size:.94rem}.patient-more-appointments article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;border-block-start:1px solid rgba(111,83,62,.1);padding-top:8px}.patient-more-appointments article:first-of-type{border-block-start:0;padding-top:0}.patient-more-appointments span{color:var(--muted);font-size:.92rem;white-space:nowrap}.patient-more-appointments strong{font-size:.95rem;overflow-wrap:anywhere;word-break:break-word}.stat-card small{display:block;margin-top:6px;color:var(--muted);font-weight:800;line-height:1.35}
@media(max-width:680px){.patient-more-appointments article{grid-template-columns:1fr}.patient-more-appointments span{white-space:normal}}

/* v57 Home visual-system polish.
   Scope: home page visual refinements requested from the annotated PDF while preserving v56 patient/Fireberry logic.
   Decisions: one typography system (Arimo fallback stack), white page background, #F8F8F8 content surfaces,
   plain unframed hero video, video-first mobile hero, and a single clinic-approach image with a less-rounded frame. */
:root{
  --bg:#ffffff;
  --paper:#F8F8F8;
  --paper2:#F8F8F8;
  --surface-soft:#F8F8F8;
  --radius:18px;
}
html,
body,
.app-shell,
#app{
  background:#ffffff!important;
}
body,
body[data-lang="en"]{
  background:#ffffff!important;
  font-family:Arimo,Arial,"Helvetica Neue",system-ui,-apple-system,"Segoe UI",sans-serif!important;
}
h1,h2,h3,h4,h5,h6,
.lead,
.btn,
.nav-links a,
.nav-links button,
.field input,
.field select,
.field textarea{
  font-family:Arimo,Arial,"Helvetica Neue",system-ui,-apple-system,"Segoe UI",sans-serif!important;
}
.hero-bg,
.hero:after{
  display:none!important;
}
.topbar{
  background:rgba(255,255,255,.92)!important;
}
.card,
.panel,
.original-content,
.searchbar,
.mini-card,
.check-list li,
.appointment-picker,
.patient-profile-summary,
.patient-integration-note,
.patient-next-card,
.patient-task,
.patient-record,
.patient-chip-card,
.patient-care-card,
.patient-message,
.patient-photo-card,
.patient-more-appointments,
.care-card,
.care-columns section,
.gallery-disclaimer,
.drm-smart-guide,
.drm-treatment-helper,
.drm-category-guide,
.drm-card,
.drm-form-note,
.stat-card{
  background:#F8F8F8!important;
}

/* Remove the decorative hero frame: the video becomes the visual surface itself. */
.hero-video-card.hero-video-plain,
.hero.original-inspired .hero-video-card.hero-video-plain{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  border-radius:0!important;
  overflow:visible!important;
}
.hero-video-card.hero-video-plain:before,
.hero.original-inspired .hero-video-card.hero-video-plain:before{
  display:none!important;
  content:none!important;
}
.hero-video-card.hero-video-plain .hero-video,
.hero.original-inspired .hero-video-card.hero-video-plain .hero-video{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.hero-video-card.hero-video-plain .video-control{
  inset-block-start:14px;
  inset-inline-end:14px;
}

/* Clinic approach: one editorial image, not a three-image collage; frame corners are intentionally less round. */
.approach-section .split-grid{
  align-items:stretch;
}
.approach-panel,
.approach-image-card{
  border-radius:14px!important;
}
.approach-image-card{
  min-width:0;
  min-height:100%;
  overflow:hidden;
  border:1px solid var(--line);
  background:#F8F8F8;
  box-shadow:var(--shadow-soft);
}
.approach-image-card img{
  display:block;
  inline-size:100%;
  block-size:100%;
  min-block-size:clamp(360px,44vw,520px);
  object-fit:cover;
  object-position:center center;
  border-radius:0;
}

@media (max-width:980px){
  .hero.original-inspired .hero-grid{
    display:grid;
  }
  .hero.original-inspired .hero-video-card{
    order:1!important;
  }
  .hero.original-inspired .hero-copy{
    order:2!important;
  }
  .hero.original-inspired .hero-video-card.hero-video-plain .hero-video{
    block-size:clamp(320px,64svh,520px);
  }
  .approach-section .split-grid{
    grid-template-columns:1fr;
  }
  .approach-image-card img{
    min-block-size:clamp(280px,62vw,420px);
  }
}

/* v58 Home visual-system parity hardening.
   Applies the annotated PDF requirements deterministically: Arimo resource-backed typography, video-first mobile DOM,
   unframed hero media, white page shell, #F8F8F8 content surfaces, one clinic-approach image, and tighter frame radii. */
:root{
  --bg:#ffffff;
  --paper:#F8F8F8;
  --paper2:#F8F8F8;
  --surface-soft:#F8F8F8;
  --font-body:Arimo,Arial,"Helvetica Neue",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-display:Arimo,Arial,"Helvetica Neue",system-ui,-apple-system,"Segoe UI",sans-serif;
}
html,
body,
#app,
.app-shell,
.site-shell,
main{
  background:#ffffff!important;
}
body,
body[data-lang="en"],
.app-shell,
.app-shell *,
button,
input,
select,
textarea{
  font-family:var(--font-body)!important;
}
h1,h2,h3,h4,h5,h6,
.eyebrow,
.lead,
.content-box,
.muted,
.btn,
.nav-links a,
.nav-links button{
  font-family:var(--font-body)!important;
}
.hero-bg,
.hero:after,
.trust-strip{
  display:none!important;
}
.hero.original-inspired{
  background:#ffffff!important;
}
@media (min-width:981px){
  .hero.original-inspired .hero-grid{
    direction:ltr;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    align-items:center;
  }
  .hero.original-inspired .hero-video-card{
    grid-column:1;
    order:1!important;
  }
  .hero.original-inspired .hero-copy{
    grid-column:2;
    order:2!important;
    direction:rtl;
    text-align:right;
  }
}
@media (max-width:980px){
  .hero.original-inspired .hero-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .hero.original-inspired .hero-video-card{
    order:1!important;
  }
  .hero.original-inspired .hero-copy{
    order:2!important;
  }
}
.hero-video-card,
.hero-video-card.hero-video-plain,
.hero.original-inspired .hero-video-card,
.hero.original-inspired .hero-video-card.hero-video-plain{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  outline:0!important;
  border-radius:0!important;
  overflow:visible!important;
}
.hero-video-card:before,
.hero-video-card.hero-video-plain:before,
.hero.original-inspired .hero-video-card:before,
.hero.original-inspired .hero-video-card.hero-video-plain:before{
  display:none!important;
  content:none!important;
  border:0!important;
  box-shadow:none!important;
}
.hero-video-card .hero-video,
.hero-video-card.hero-video-plain .hero-video,
.hero.original-inspired .hero-video-card .hero-video,
.hero.original-inspired .hero-video-card.hero-video-plain .hero-video{
  display:block;
  inline-size:100%;
  border:0!important;
  box-shadow:none!important;
  outline:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.card,
.panel,
.original-content,
.searchbar,
.mini-card,
.check-list li,
.appointment-picker,
.patient-profile-summary,
.patient-integration-note,
.patient-next-card,
.patient-task,
.patient-record,
.patient-chip-card,
.patient-care-card,
.patient-message,
.patient-photo-card,
.patient-more-appointments,
.care-card,
.care-columns section,
.gallery-disclaimer,
.drm-smart-guide,
.drm-treatment-helper,
.drm-category-guide,
.drm-card,
.drm-form-note,
.stat-card,
.timeline-item,
.request-card,
.empty{
  background:#F8F8F8!important;
}
.approach-section .split-grid{
  align-items:stretch;
}
.approach-panel,
.approach-image-card{
  background:#F8F8F8!important;
  border-radius:8px!important;
}
.approach-image-card{
  border:1px solid var(--line)!important;
  box-shadow:var(--shadow-soft)!important;
  overflow:hidden!important;
}
.approach-image-card img{
  display:block!important;
  inline-size:100%!important;
  block-size:100%!important;
  min-block-size:clamp(360px,44vw,520px);
  object-fit:cover!important;
  object-position:center center!important;
  border-radius:0!important;
}
@media (max-width:980px){
  .approach-section .split-grid{
    grid-template-columns:1fr!important;
  }
  .approach-panel,
  .approach-image-card{
    border-radius:8px!important;
  }
  .approach-image-card img{
    min-block-size:clamp(280px,62vw,420px);
  }
}


/* v59 Direction-aware hero regression fix.
   Root cause: v58 forced desktop hero grid direction and text direction in a language-agnostic way.
   That made the hero video stay left for every locale and allowed the absolute video control to escape the video surface.
   This patch preserves v58 requirements while restoring direction-aware desktop layout and binding the control to the video card. */
.hero.original-inspired .hero-video-card,
.hero-video-card.hero-video-plain,
.hero.original-inspired .hero-video-card.hero-video-plain{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
}
.hero.original-inspired .hero-video-card .video-control,
.hero-video-card.hero-video-plain .video-control,
.video-control.icon-only{
  position:absolute!important;
  inset-block-start:14px!important;
  inset-inline-end:14px!important;
  z-index:4!important;
}
html[dir="rtl"] .hero.original-inspired .hero-video-card,
html[dir="rtl"] .hero-video-card.hero-video-plain{
  direction:rtl!important;
}
html[dir="ltr"] .hero.original-inspired .hero-video-card,
html[dir="ltr"] .hero-video-card.hero-video-plain{
  direction:ltr!important;
}
@media (min-width:981px){
  html[dir="rtl"] .hero.original-inspired .hero-grid{
    direction:ltr!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  }
  html[dir="rtl"] .hero.original-inspired .hero-video-card{
    grid-column:1!important;
    order:1!important;
  }
  html[dir="rtl"] .hero.original-inspired .hero-copy{
    grid-column:2!important;
    order:2!important;
    direction:rtl!important;
    text-align:right!important;
  }
  html[dir="ltr"] .hero.original-inspired .hero-grid{
    direction:ltr!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  }
  html[dir="ltr"] .hero.original-inspired .hero-copy{
    grid-column:1!important;
    order:1!important;
    direction:ltr!important;
    text-align:left!important;
  }
  html[dir="ltr"] .hero.original-inspired .hero-video-card{
    grid-column:2!important;
    order:2!important;
  }
}
@media (max-width:980px){
  html[dir] .hero.original-inspired .hero-grid{
    grid-template-columns:1fr!important;
  }
  html[dir] .hero.original-inspired .hero-video-card{
    grid-column:auto!important;
    order:1!important;
  }
  html[dir] .hero.original-inspired .hero-copy{
    grid-column:auto!important;
    order:2!important;
    text-align:inherit!important;
  }
}

/* v61 Contextual share actions UX polish.
   One reusable trigger opens a global share sheet. This avoids cramped horizontal bars,
   prevents clipping inside cards/modals, and keeps all platform actions consistent. */
.share-bar{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:10px;
  margin:18px 0;
  color:var(--muted);
}
.share-label{
  font-weight:900;
  color:var(--brand-dark);
  line-height:1.2;
}
.share-launch{
  --share-accent:var(--brand-dark);
  min-inline-size:44px;
  min-block-size:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid rgba(111,83,62,.18);
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:var(--brand-dark);
  padding:0 16px;
  font-weight:900;
  font-size:.92rem;
  line-height:1;
  box-shadow:0 10px 24px rgba(59,43,34,.09);
  cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
.share-launch:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(59,43,34,.14);
  border-color:rgba(111,83,62,.28);
  background:#fff;
}
.share-launch:focus{outline:0;box-shadow:var(--focus)}
.share-launch svg{
  inline-size:20px;
  block-size:20px;
  flex:none;
  fill:currentColor;
}
.share-bar.compact{margin:10px 0 0}
.share-bar.compact .share-launch{
  min-inline-size:40px;
  min-block-size:40px;
  padding:0 13px;
  font-size:.86rem;
}
.share-bar.icon-only-share .share-launch{
  inline-size:42px;
  min-inline-size:42px;
  block-size:42px;
  min-block-size:42px;
  padding:0;
}
.share-bar.icon-only-share .share-launch span{display:none}
.share-bar.page{
  padding:12px 14px;
  border:1px solid rgba(111,83,62,.12);
  border-radius:18px;
  background:#F8F8F8;
}
.share-bar.modal{margin:0}
.card-share-row{
  padding:0 20px 20px;
  margin-top:auto;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.treatment-card{
  display:flex;
  flex-direction:column;
  padding:0!important;
  overflow:hidden;
}
.treatment-card-link{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  color:inherit;
  text-decoration:none;
}
.treatment-card-link div{padding:20px 20px 12px!important}
.treatment-card .card-share-row div{padding:0!important}
.treatment-card .share-bar{margin:0}
.page-image-wrap{margin:18px 0 22px}
.page-image-wrap .page-image{margin:0}
.page-image-wrap figcaption{margin-top:10px}
.gallery-open-surface{
  display:block;
  inline-size:100%;
  border:0;
  background:transparent;
  padding:0;
  color:inherit;
  text-align:inherit;
  cursor:pointer;
}
.gallery-open-surface:focus{outline:0;box-shadow:var(--focus)}
.gallery-open-surface img{
  inline-size:100%;
  object-fit:cover;
  display:block;
}
.smart-gallery-card .gallery-open-surface img{block-size:280px}
.gallery-item .share-bar{padding:0!important}
.smart-gallery-card .share-bar{margin-top:6px}
.home-share-card{position:relative}
.home-share-card .gallery-open-surface{block-size:100%}
.home-share-card .gallery-open-surface img{block-size:100%}
.image-share-overlay{
  position:absolute;
  inset-inline-end:12px;
  inset-block-end:12px;
  z-index:3;
  padding:0!important;
}
.image-share-overlay .share-bar{margin:0;padding:0!important}
.image-share-overlay .share-launch{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(111,83,62,.16);
  box-shadow:0 12px 28px rgba(59,43,34,.16);
  backdrop-filter:blur(10px);
}
.modal-share-slot{display:flex;min-width:0;justify-content:flex-start}
.share-sheet-open{overflow:hidden}
.share-sheet{
  position:fixed;
  inset:0;
  z-index:1500;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.share-sheet.open{display:flex}
.share-sheet-backdrop{
  position:absolute;
  inset:0;
  border:0;
  background:rgba(18,14,11,.52);
  backdrop-filter:blur(8px);
  cursor:pointer;
}
.share-sheet-panel{
  position:relative;
  z-index:1;
  inline-size:min(560px,calc(100vw - 32px));
  max-block-size:min(760px,calc(100vh - 42px));
  overflow:auto;
  border:1px solid rgba(234,223,210,.92);
  border-radius:28px;
  background:#fff;
  box-shadow:0 28px 85px rgba(33,24,19,.28);
  padding:22px;
}
.share-sheet-panel:focus{outline:0}
.share-sheet-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-bottom:18px;
}
.share-sheet-title-wrap{min-width:0}
.share-sheet-eyebrow{font-size:12px;margin-bottom:7px}
.share-sheet-head h3{
  margin:0 0 7px;
  font-family:inherit;
  font-size:1.4rem;
  font-weight:900;
  color:var(--ink);
}
.share-sheet-head p{margin:0;line-height:1.5}
.share-sheet-close{
  inline-size:42px;
  block-size:42px;
  display:grid;
  place-items:center;
  flex:none;
  border:1px solid rgba(111,83,62,.16);
  border-radius:999px;
  background:#F8F8F8;
  color:var(--ink);
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.share-sheet-close:focus{outline:0;box-shadow:var(--focus)}
.share-sheet-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.share-option,
.share-button{
  --share-accent:var(--brand-dark);
  min-block-size:54px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  border:1px solid rgba(111,83,62,.14);
  border-radius:18px;
  background:#F8F8F8;
  color:var(--share-accent);
  padding:12px 14px;
  font-weight:900;
  text-decoration:none;
  cursor:pointer;
  box-shadow:none;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
.share-option:hover,
.share-button:hover{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--share-accent) 28%,rgba(111,83,62,.14));
  background:#fff;
  box-shadow:0 12px 28px rgba(59,43,34,.10);
}
.share-option:focus,
.share-button:focus{outline:0;box-shadow:var(--focus)}
.share-option svg,
.share-button svg{
  inline-size:22px;
  block-size:22px;
  flex:none;
  fill:currentColor;
}
.share-option.whatsapp,.share-button.whatsapp{--share-accent:#168a47}
.share-option.telegram,.share-button.telegram{--share-accent:#1889c9}
.share-option.facebook,.share-button.facebook{--share-accent:#2859a8}
.share-option.instagram,.share-button.instagram{--share-accent:#b2347b}
.share-option.copy,.share-button.copy{--share-accent:var(--brand)}
.share-option.native,.share-button.native{--share-accent:var(--brand-dark)}
.share-sheet-url{
  margin:14px 0 0;
  padding:10px 12px;
  border:1px solid rgba(111,83,62,.11);
  border-radius:14px;
  background:#FBFBFB;
  color:var(--muted);
  font-size:.82rem;
  direction:ltr;
  text-align:left;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.share-toast{
  position:fixed;
  inset-inline:50% auto;
  inset-block-end:22px;
  transform:translateX(-50%) translateY(10px);
  z-index:1600;
  max-inline-size:min(520px,calc(100vw - 32px));
  padding:12px 16px;
  border-radius:999px;
  background:rgba(59,43,34,.96);
  color:#fff;
  font-weight:900;
  text-align:center;
  box-shadow:0 18px 42px rgba(59,43,34,.2);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease,transform .18s ease;
}
.share-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(max-width:820px){
  .share-bar.page{align-items:flex-start}
  .share-launch{min-block-size:42px;padding:0 14px}
  .share-sheet{
    align-items:flex-end;
    padding:0;
  }
  .share-sheet-panel{
    inline-size:100%;
    max-block-size:min(84vh,720px);
    border-radius:28px 28px 0 0;
    padding:18px;
  }
  .share-sheet-grid{grid-template-columns:1fr}
  .share-option{min-block-size:52px}
  .gallery-modal-content .modal-share-slot{margin-block:2px 4px}
}
@media(prefers-reduced-motion:reduce){
  .share-launch,
  .share-option,
  .share-button,
  .share-toast{transition:none!important}
}
/* v60: approach image uses the same reusable image-share overlay as the gallery/home image cards. */
.approach-image-card{position:relative!important;}

/* v62 local gallery gallery: compact, reusable label chips derived from gallery labels. */
.gallery-label-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.gallery-label-tags span{display:inline-flex;align-items:center;max-width:100%;border:1px solid rgba(111,83,62,.16);background:#fff;border-radius:999px;padding:4px 9px;color:var(--muted);font-size:12px;font-weight:800;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gallery-toolbar[data-gallery-source="local-site-gallery"] .filter-pill{max-width:100%}

.gallery-source-alert{margin:0 0 18px;background:#fff7ed;border:1px solid rgba(154,113,79,.28);border-radius:20px;padding:16px 18px;color:var(--ink);box-shadow:var(--shadow-soft)}.gallery-source-alert b{display:block;margin-bottom:4px}.gallery-source-alert p{margin:0 0 6px;color:var(--muted)}.gallery-source-alert small{display:inline-flex;border-radius:999px;background:#fff;border:1px solid var(--line);padding:4px 9px;color:var(--brand-dark);font-weight:800}

/* v67: gallery gallery first-load progress and dynamic-only filters */
.gallery-loading-state{display:grid;gap:14px;margin:0 0 18px;background:var(--paper2);border:1px solid var(--line);border-radius:22px;padding:18px 20px;box-shadow:var(--shadow-soft)}
.gallery-loading-state b{display:block;color:var(--ink);font-size:1.05rem;margin-bottom:4px}.gallery-loading-state p{margin:0;color:var(--muted)}
.gallery-progress{position:relative;overflow:hidden;block-size:8px;border-radius:999px;background:rgba(79,55,40,.12)}
.gallery-progress i{position:absolute;inset-block:0;inline-size:42%;border-radius:inherit;background:linear-gradient(90deg,var(--brand),var(--brand-dark));animation:gallery-progress-slide 1.1s ease-in-out infinite}
.gallery-skeleton-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.gallery-skeleton-grid span{display:block;block-size:78px;border-radius:18px;background:linear-gradient(90deg,rgba(255,255,255,.58),rgba(255,255,255,.94),rgba(255,255,255,.58));background-size:220% 100%;animation:gallery-skeleton-shimmer 1.4s ease-in-out infinite}
@keyframes gallery-progress-slide{0%{inset-inline-start:-45%}100%{inset-inline-start:105%}}
@keyframes gallery-skeleton-shimmer{0%{background-position:100% 0}100%{background-position:-120% 0}}
@media (max-width: 720px){.gallery-skeleton-grid{grid-template-columns:1fr}.gallery-skeleton-grid span{block-size:64px}}
@media (prefers-reduced-motion: reduce){.gallery-progress i,.gallery-skeleton-grid span{animation:none}.gallery-progress i{inline-size:100%;inset-inline-start:0}}
.bootstrap-loader{min-height:60vh;display:grid;place-items:center;align-content:center;gap:14px;color:var(--muted);font-weight:800}.bootstrap-loader span{display:block;inline-size:min(260px,62vw);block-size:8px;border-radius:999px;overflow:hidden;background:rgba(79,55,40,.12);position:relative}.bootstrap-loader span::after{content:"";position:absolute;inset-block:0;inline-size:46%;border-radius:inherit;background:linear-gradient(90deg,var(--brand),var(--brand-dark));animation:gallery-progress-slide 1.1s ease-in-out infinite}

/* v68: gallery gallery performance hardening — render metadata immediately, show paginated thumbnails, and avoid blank all-image paints. */
.gallery-load-more-row{display:flex;justify-content:center;margin:24px 0 4px}.gallery-load-more-row .btn{min-width:min(320px,100%)}
.smart-gallery-card .gallery-open-surface{display:block;width:100%;border:0;background:transparent;padding:0;text-align:inherit;cursor:pointer;overflow:hidden}
.smart-gallery-card .gallery-open-surface:focus-visible{outline:3px solid rgba(111,83,62,.28);outline-offset:3px}
.smart-gallery-card .gallery-open-surface img{background:#f2eee8;content-visibility:auto;contain-intrinsic-size:280px 320px}
.smart-gallery-grid{align-items:start}

/* v69 gallery gallery hardening: stable mobile paint, accessible modal layout, and share controls inside the modal. */
.gallery-grid.smart-gallery-grid{
  grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));
  gap:18px;
}
.smart-gallery-card{
  contain:layout paint;
  content-visibility:auto;
  contain-intrinsic-size:440px 320px;
}
.smart-gallery-card .gallery-open-surface img{
  aspect-ratio:4/3;
  inline-size:100%;
  block-size:auto!important;
  min-block-size:220px;
  object-fit:cover;
}
.gallery-card-body{
  overflow-wrap:anywhere;
}
.gallery-modal{
  z-index:1400;
  background:rgba(18,14,11,.58);
}
.gallery-modal.open{
  display:grid;
}
.gallery-modal-content{
  isolation:isolate;
  background:#fff;
  box-shadow:0 34px 110px rgba(18,14,11,.34);
}
.gallery-modal-content .pad{
  background:#fff;
  min-width:0;
}
.gallery-modal-content img{
  background:#f2eee8;
}
.modal-share-slot{
  inline-size:100%;
  justify-content:stretch;
}
.modal-share-slot .share-bar,
.modal-share-slot .share-launch{
  inline-size:100%;
}
.modal-share-slot .share-launch{
  justify-content:center;
  min-block-size:48px;
}
.gallery-modal-actions .btn{
  flex:1 1 auto;
}
@media (max-width:820px){
  .gallery-grid.smart-gallery-grid{grid-template-columns:1fr;gap:16px}
  .smart-gallery-card{contain-intrinsic-size:500px 100%}
  .smart-gallery-card .gallery-open-surface img{min-block-size:0;aspect-ratio:1.18/1}
  .gallery-modal{padding:12px;background:rgba(18,14,11,.54)}
  .gallery-modal-content{inline-size:100%;max-block-size:92vh;border-radius:24px;grid-template-columns:1fr!important;overflow:auto}
  .gallery-modal-content img{max-block-size:52vh;min-block-size:0;inline-size:100%;block-size:auto;object-fit:contain;border-radius:24px 24px 0 0;background:#111}
  .gallery-modal-content .pad{padding:16px;gap:10px;justify-content:flex-start}
  .gallery-modal-actions{display:grid;grid-template-columns:1fr}
}

/* v70 gallery final hardening: avoid mobile blank paints, keep share controls inside image modal, and render paginated gallery thumbnails safely. */
.gallery-grid.smart-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:18px;min-block-size:1px}
.smart-gallery-card{contain:none!important;content-visibility:visible!important;min-height:0;background:#fff}
.smart-gallery-card .gallery-open-surface img{content-visibility:visible!important;contain-intrinsic-size:auto!important;display:block;inline-size:100%;aspect-ratio:4/3;block-size:auto!important;min-block-size:0!important;object-fit:cover;background:#f2eee8}
.gallery-card-body{overflow-wrap:anywhere;min-width:0}
.gallery-load-more-row .btn[disabled]{opacity:.7;cursor:progress;transform:none!important}
.gallery-modal{padding:18px;background:rgba(18,14,11,.42)!important;backdrop-filter:blur(7px);z-index:1450!important}
.gallery-modal.open{display:grid;place-items:center}
.gallery-modal-content{display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);inline-size:min(1080px,calc(100vw - 40px));max-block-size:min(88vh,820px);overflow:hidden;border-radius:28px;background:#fff;box-shadow:0 32px 95px rgba(18,14,11,.28);border:1px solid rgba(234,223,210,.9)}
.gallery-modal-content img{inline-size:100%;block-size:100%;min-block-size:0;max-block-size:88vh;object-fit:contain;background:#f6f2ed;border-radius:0!important}
.gallery-modal-content .pad{padding:24px;display:flex;flex-direction:column;gap:12px;justify-content:center;min-width:0;overflow:auto;background:#fff}
.gallery-modal-note{font-size:.94rem;line-height:1.5}
.modal-share-slot{inline-size:100%;display:block;min-width:0;margin:4px 0 2px}
.inline-share{inline-size:100%;border:1px solid rgba(111,83,62,.14);border-radius:20px;background:#F8F8F8;padding:12px;display:grid;gap:10px}
.inline-share-title{display:block;color:var(--brand-dark);font-weight:900;font-size:.95rem}
.inline-share-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.inline-share-btn{min-block-size:42px;border:1px solid rgba(111,83,62,.13);border-radius:999px;background:#fff;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 10px;color:var(--brand-dark);font-weight:900;text-decoration:none;cursor:pointer;min-width:0}
.inline-share-btn svg{inline-size:18px;block-size:18px;flex:none;fill:currentColor}.inline-share-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inline-share-btn.whatsapp{color:#168a47}.inline-share-btn.telegram{color:#1889c9}.inline-share-btn.facebook{color:#2859a8}.inline-share-btn.instagram{color:#b2347b}.inline-share-btn.copy{color:var(--brand)}
.inline-share-btn:focus{outline:0;box-shadow:var(--focus)}
@media(max-width:820px){
  .gallery-grid.smart-gallery-grid{grid-template-columns:1fr;gap:16px}
  .gallery-modal{padding:10px;background:rgba(18,14,11,.38)!important}
  .gallery-modal-content{inline-size:100%;max-block-size:94vh;grid-template-columns:1fr!important;border-radius:24px;overflow:auto}
  .gallery-modal-content img{inline-size:100%;block-size:auto;max-block-size:48vh;object-fit:contain;background:#f6f2ed}
  .gallery-modal-content .pad{padding:16px;gap:10px;justify-content:flex-start;overflow:visible}
  .inline-share-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .inline-share-btn{min-block-size:44px}
  .gallery-modal-actions{display:grid;grid-template-columns:1fr!important;gap:8px}
}


/* v71 gallery stability: resilient image modal, gallery-label filter visibility, and non-blocking load-more progress. */
html.gallery-modal-open{overflow:hidden}
.gallery-modal-content{align-items:stretch}
.gallery-modal-media{position:relative;margin:0;min-width:0;min-height:0;background:#f6f2ed;display:grid;place-items:center;overflow:hidden}
.gallery-modal-media::after{content:"";position:absolute;inset:auto 24px 24px;block-size:4px;border-radius:999px;background:linear-gradient(90deg,transparent,var(--brand),transparent);opacity:0;transform:translateY(10px);transition:opacity .18s ease,transform .18s ease}
.gallery-modal-media img.is-loading + .gallery-modal-image-status,
.gallery-modal-image-status:not(:empty){position:absolute;inset:auto 18px 18px;z-index:2;background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:var(--brand-dark);font-weight:900;box-shadow:var(--shadow-soft)}
.gallery-modal-media:has(img.is-loading)::after{opacity:1;transform:translateY(0);animation:gallery-progress-slide 1.1s ease-in-out infinite}
.gallery-modal-content .gallery-modal-media img{display:block;inline-size:100%;block-size:100%;min-block-size:0;object-fit:contain;background:#f6f2ed}
.gallery-modal-content .modal-share-slot{inline-size:100%;min-width:0;max-inline-size:100%}
.gallery-modal-content .inline-share{position:relative;inline-size:100%;max-inline-size:100%;margin:0;box-shadow:none;z-index:1}
.gallery-modal-content .inline-share-actions{align-items:center}
.gallery-modal-content .pad{max-inline-size:100%;min-width:0;overflow:auto;overscroll-behavior:contain}
.gallery-load-more-row{display:grid;justify-items:center;gap:10px}
.gallery-load-more-progress{inline-size:min(320px,100%);block-size:7px;border-radius:999px;background:rgba(79,55,40,.12);overflow:hidden;position:relative}
.gallery-load-more-progress i{position:absolute;inset-block:0;inline-size:42%;border-radius:inherit;background:linear-gradient(90deg,var(--brand),var(--brand-dark));animation:gallery-progress-slide 1.1s ease-in-out infinite}
@supports not selector(:has(*)){.gallery-modal-media img.is-loading{opacity:.68}}
@media(max-width:820px){
  .gallery-modal{align-items:start;overflow:auto;padding:10px!important}
  .gallery-modal-content{max-block-size:none!important;min-block-size:0;grid-template-columns:1fr!important;overflow:hidden!important}
  .gallery-modal-media{inline-size:100%;block-size:min(54vh,440px);min-block-size:220px;border-radius:24px 24px 0 0;background:#f6f2ed}
  .gallery-modal-content .gallery-modal-media img{inline-size:100%;block-size:100%;max-block-size:none!important;object-fit:contain;border-radius:0!important}
  .gallery-modal-content .pad{max-block-size:none;overflow:visible;padding:16px}
  .gallery-modal-content .inline-share-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){.gallery-modal-media::after,.gallery-load-more-progress i{animation:none}}

/* v72: final gallery hardening — readable modal share controls, label diagnostics, and mobile-safe gallery paint. */
.gallery-label-diagnostic{margin:.35rem 0 0;font-size:.92rem;line-height:1.45;color:var(--muted)}
.gallery-grid.smart-gallery-grid{contain:layout paint;content-visibility:visible;min-block-size:120px}
.gallery-grid.smart-gallery-grid:empty{min-block-size:0}
.gallery-modal-content .inline-share-actions{grid-template-columns:repeat(3,minmax(112px,1fr));gap:8px}
.gallery-modal-content .inline-share-btn{min-inline-size:0;inline-size:100%;white-space:normal;line-height:1.15;padding-inline:10px;text-align:center}
.gallery-modal-content .inline-share-btn span{overflow:visible;text-overflow:clip;white-space:normal;word-break:keep-all}
.gallery-modal-content .inline-share-btn.copy span,.gallery-modal-content .inline-share-btn.native span{font-size:.95rem}
@media (max-width: 720px){
  .gallery-loading-state{margin-block-end:16px}
  .gallery-skeleton-grid{grid-template-columns:1fr;gap:12px}
  .gallery-grid.smart-gallery-grid{min-block-size:80px;contain:none}
  .gallery-modal-content .inline-share-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .gallery-modal-content .inline-share-btn{min-block-size:46px;border-radius:18px;font-size:.94rem}
}

/* v75: structured local gallery Label dropdowns and uniform gallery thumbnails. */
.gallery-select-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:10px;
  align-items:end;
}
.gallery-label-filter-group .gallery-select-grid{
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
}
.gallery-select-field{
  display:grid;
  gap:6px;
  min-width:0;
}
.gallery-select-field span{
  font-weight:900;
  color:var(--brand-dark);
  font-size:.92rem;
  line-height:1.25;
}
.gallery-select{
  inline-size:100%;
  min-block-size:48px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--ink);
  padding:10px 16px;
  font-weight:850;
  box-shadow:var(--shadow-soft);
  outline:0;
  appearance:auto;
}
.gallery-select:focus{
  box-shadow:var(--focus);
  border-color:rgba(111,83,62,.38);
}
.gallery-label-tags{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin-top:2px;
  padding:0!important;
}
.gallery-label-tags span{
  border:1px solid var(--line);
  background:var(--paper2);
  border-radius:999px;
  padding:5px 10px;
  color:var(--brand-dark);
  font-size:12px;
  font-weight:900;
}
.smart-gallery-card .gallery-open-surface{
  aspect-ratio:4/3;
  background:#f2eee8;
  display:grid!important;
  inline-size:100%;
  overflow:hidden;
}
.smart-gallery-card .gallery-open-surface img{
  inline-size:100%!important;
  block-size:100%!important;
  aspect-ratio:auto!important;
  min-block-size:0!important;
  object-fit:cover!important;
}
@media(max-width:820px){
  .gallery-select-grid,
  .gallery-label-filter-group .gallery-select-grid{
    grid-template-columns:1fr;
  }
  .gallery-select{
    border-radius:18px;
  }
}

/* v76: production filter UX polish — faceted native dropdowns in a compact, accessible, responsive panel. */
.gallery-toolbar{
  gap:20px;
  padding:clamp(18px,3vw,28px)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,248,248,.82));
  border-color:rgba(234,223,210,.86);
}
.gallery-toolbar-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.gallery-toolbar-head h2{margin-block-end:8px}
.gallery-toolbar-head .muted{margin:0;max-width:760px}
.gallery-results-pill{
  margin:0;
  flex:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-block-size:42px;
  border:1px solid rgba(111,83,62,.14);
  border-radius:999px;
  background:#fff;
  color:var(--brand-dark);
  padding:8px 14px;
  font-weight:900;
  box-shadow:var(--shadow-soft);
  white-space:nowrap;
}
.gallery-search-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
}
.gallery-search-actions .gallery-searchbar{
  max-width:none;
  margin:0;
  min-height:58px;
  border-radius:22px;
  box-shadow:none;
  background:#fff;
}
.gallery-search-actions .gallery-searchbar input{
  font-weight:750;
  min-height:38px;
}
.gallery-clear-btn{
  min-height:56px;
  white-space:nowrap;
  box-shadow:none;
}
.gallery-filter-panel{
  display:grid;
  gap:16px;
  border:1px solid rgba(234,223,210,.92);
  border-radius:28px;
  padding:16px;
  background:rgba(255,255,255,.68);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.gallery-filter-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.gallery-filter-panel-head b{
  display:block;
  color:var(--ink);
  font-size:1.05rem;
  line-height:1.2;
}
.gallery-filter-panel-head span{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:.94rem;
  line-height:1.45;
}
.gallery-filter-panel-head em{
  flex:none;
  align-self:center;
  font-style:normal;
  font-weight:900;
  color:var(--brand-dark);
  background:var(--paper2);
  border:1px solid rgba(111,83,62,.12);
  border-radius:999px;
  padding:8px 12px;
  white-space:nowrap;
}
.gallery-filter-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(240px,.36fr)!important;
  gap:14px!important;
  align-items:start;
}
.gallery-filter-grid fieldset{
  min-width:0;
  margin:0;
  border:1px solid rgba(234,223,210,.86);
  border-radius:24px;
  background:#F8F8F8;
  padding:18px 16px 16px;
  box-shadow:0 10px 28px rgba(44,33,27,.04);
}
.gallery-filter-grid legend{
  padding:0 8px;
  color:var(--brand-dark);
  font-weight:950;
  letter-spacing:-.01em;
}
.gallery-label-filter-group,.gallery-treatment-filter-group{gap:12px!important}
.gallery-label-facet-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
  gap:12px!important;
}
.gallery-treatment-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
}
.gallery-select-field{
  position:relative;
  display:grid!important;
  gap:5px!important;
  min-width:0;
  border:1px solid rgba(111,83,62,.11);
  border-radius:20px;
  background:#fff;
  padding:11px 13px 12px;
  box-shadow:0 12px 32px rgba(44,33,27,.045);
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background .16s ease;
}
.gallery-select-field:hover{
  transform:translateY(-1px);
  border-color:rgba(111,83,62,.28);
  box-shadow:0 16px 34px rgba(44,33,27,.07);
}
.gallery-select-field.is-active{
  border-color:rgba(111,83,62,.34);
  background:linear-gradient(180deg,#fff,#fbf8f4);
}
.gallery-select-field-label{
  display:block;
  font-weight:950!important;
  font-size:.88rem!important;
  color:var(--brand-dark)!important;
  line-height:1.2!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.gallery-select-field-value{
  display:block;
  min-height:18px;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.gallery-select{
  inline-size:100%;
  min-block-size:48px!important;
  border:1px solid rgba(111,83,62,.14)!important;
  border-radius:16px!important;
  background:#fff;
  color:var(--ink);
  padding:10px 14px!important;
  font-weight:900!important;
  box-shadow:none!important;
  cursor:pointer;
}
.gallery-select:focus{
  border-color:rgba(111,83,62,.44)!important;
  box-shadow:var(--focus)!important;
}
.gallery-filter-hint{
  margin:0;
  color:var(--muted);
  font-size:.93rem;
  line-height:1.45;
}
.gallery-active-filters{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  border-top:1px solid rgba(234,223,210,.72);
  padding-top:12px;
}
.gallery-active-filters > span{
  color:var(--muted);
  font-weight:900;
  font-size:.86rem;
}
.gallery-active-filter-chip{
  border:1px solid rgba(111,83,62,.14);
  background:#fff;
  color:var(--brand-dark);
  border-radius:999px;
  min-height:38px;
  padding:6px 10px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(44,33,27,.045);
  max-width:100%;
}
.gallery-active-filter-chip b{
  font-size:.86rem;
  max-width:260px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.gallery-active-filter-chip i{
  display:grid;
  place-items:center;
  inline-size:20px;
  block-size:20px;
  border-radius:50%;
  background:var(--paper2);
  font-style:normal;
  line-height:1;
}
.gallery-active-filter-chip:focus{outline:0;box-shadow:var(--focus)}
@media(max-width:980px){
  .gallery-toolbar-head,.gallery-filter-panel-head{display:grid;grid-template-columns:1fr;gap:10px}
  .gallery-results-pill,.gallery-filter-panel-head em{justify-self:start}
  .gallery-filter-grid{grid-template-columns:1fr!important}
  .gallery-label-facet-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:680px){
  .gallery-toolbar{padding:16px!important;border-radius:24px!important}
  .gallery-search-actions{grid-template-columns:1fr}
  .gallery-clear-btn{width:100%}
  .gallery-filter-panel{padding:12px;border-radius:22px}
  .gallery-filter-grid fieldset{padding:16px 12px 14px;border-radius:20px}
  .gallery-label-facet-grid{grid-template-columns:1fr!important}
  .gallery-select-field{border-radius:18px;padding:10px 11px 11px}
  .gallery-select{border-radius:14px!important}
  .gallery-active-filter-chip{width:100%;justify-content:space-between}
  .gallery-active-filter-chip b{max-width:calc(100vw - 140px)}
}

/* v78: production-ready gallery search/filter UX — button-based disclosure and no full SPA render while typing. */
.gallery-filter-panel-compact{
  gap:12px;
  padding:14px!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.82)!important;
}
.gallery-filter-panel-compact .gallery-filter-hint{
  margin:0;
  color:var(--muted);
}
.gallery-advanced-filters{
  border:1px solid rgba(234,223,210,.9);
  border-radius:22px;
  background:#fff;
  overflow:hidden;
}
.gallery-advanced-summary{
  appearance:none;
  border:0;
  inline-size:100%;
  text-align:inherit;
  font:inherit;
  background:transparent;
  color:inherit;
  list-style:none;
  cursor:pointer;
  min-height:56px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 16px;
  user-select:none;
}
.gallery-advanced-summary::after{
  content:'⌄';
  display:grid;
  place-items:center;
  inline-size:28px;
  block-size:28px;
  border-radius:999px;
  background:var(--paper2);
  color:var(--brand-dark);
  font-weight:900;
  transition:transform .16s ease;
}
.gallery-advanced-filters.is-open .gallery-advanced-summary::after{transform:rotate(180deg)}
.gallery-advanced-summary span{display:grid;gap:2px;min-width:0}
.gallery-advanced-summary b{color:var(--ink);font-size:1rem;line-height:1.2}
.gallery-advanced-summary small{color:var(--muted);font-weight:750;line-height:1.3}
.gallery-advanced-summary:focus-visible{outline:0;box-shadow:inset 0 0 0 3px rgba(111,83,62,.22)}
.gallery-advanced-filters .gallery-filter-grid[hidden]{display:none!important}
.gallery-advanced-summary em{
  margin-inline-start:auto;
  font-style:normal;
  font-size:.86rem;
  font-weight:900;
  color:var(--brand-dark);
  background:var(--paper2);
  border:1px solid rgba(111,83,62,.1);
  border-radius:999px;
  padding:7px 11px;
  white-space:nowrap;
}
.gallery-advanced-filters.is-open .gallery-filter-grid{
  border-top:1px solid rgba(234,223,210,.78);
  padding:14px;
}
.gallery-filter-panel-compact .gallery-filter-grid fieldset{
  box-shadow:none;
  background:#F8F8F8;
}
.gallery-filter-panel-compact .gallery-label-facet-grid{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;
}
.gallery-filter-panel-compact .gallery-select-field{
  box-shadow:none;
  padding:10px 11px;
}
.gallery-filter-panel-compact .gallery-select-field-value{
  display:none;
}
.gallery-results-pill [hidden]{display:none!important}
.gallery-active-filters{
  border-top:0;
  padding-top:0;
}
@media(max-width:680px){
  .gallery-advanced-summary{padding:12px 13px;align-items:flex-start}
  .gallery-advanced-summary em{font-size:.78rem;padding:6px 9px}
  .gallery-advanced-filters.is-open .gallery-filter-grid{padding:12px}
  .gallery-filter-panel-compact .gallery-label-facet-grid{grid-template-columns:1fr!important}
}




/* v90 complete old-site body migration: full content, local images, production article UX */
.legacy-article-body{display:grid;gap:clamp(18px,2.4vw,30px);margin-block-start:clamp(18px,3vw,32px)}
.legacy-opening-card{background:linear-gradient(135deg,#f8f8f8 0%,#fff 100%);border:1px solid rgba(96,70,48,.12);border-radius:22px;padding:clamp(18px,3vw,30px);box-shadow:0 18px 42px rgba(20,20,20,.05)}
.legacy-opening-card p{font-size:clamp(1.06rem,1.6vw,1.22rem);line-height:1.9;margin:.4rem 0 0;color:var(--ink)}
.legacy-content-section{background:#fff;border:1px solid rgba(96,70,48,.1);border-radius:22px;padding:clamp(20px,3.2vw,34px);box-shadow:0 16px 42px rgba(20,20,20,.045)}
.legacy-content-section.is-intro{background:#f8f8f8}
.legacy-content-section h2,.legacy-faq-section h2,.legacy-gallery-section h2{font-size:clamp(1.35rem,2.1vw,2.05rem);line-height:1.25;margin:0 0 14px;color:var(--ink)}
.legacy-content-section p{font-size:1.04rem;line-height:1.9;margin:0 0 13px;color:var(--muted-strong,#343434)}
.legacy-content-section p:last-child{margin-bottom:0}.legacy-inline-link{font-weight:700;color:var(--accent,#604630);text-decoration:none;border-bottom:1px solid rgba(96,70,48,.35)}
.legacy-inline-link:hover{border-bottom-color:currentColor}.legacy-check-list{display:grid;gap:10px;margin:10px 0 0;padding:0;list-style:none}.legacy-check-list li{position:relative;padding-inline-start:1.7rem;line-height:1.75;color:var(--muted-strong,#343434)}
.legacy-check-list li::before{content:'✓';position:absolute;inset-inline-start:0;top:.05rem;width:1.15rem;height:1.15rem;border-radius:999px;background:#f1ebe4;color:#604630;display:grid;place-items:center;font-size:.75rem;font-weight:800}
.legacy-visual-card{margin:0;border-radius:22px;overflow:hidden;background:#f8f8f8;border:1px solid rgba(96,70,48,.1);box-shadow:0 18px 42px rgba(20,20,20,.055)}
.legacy-visual-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#f8f8f8}.legacy-visual-card.is-hero img{aspect-ratio:16/10}.legacy-visual-card figcaption{padding:10px 14px;font-size:.92rem;line-height:1.5;color:var(--muted)}
.legacy-gallery-section{background:#f8f8f8;border:1px solid rgba(96,70,48,.08);border-radius:22px;padding:clamp(18px,3vw,28px)}.legacy-image-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.legacy-image-strip .legacy-visual-card img{aspect-ratio:4/3}.legacy-image-strip .legacy-visual-card figcaption{font-size:.86rem}
.legacy-faq-section{background:#f8f8f8;border:1px solid rgba(96,70,48,.08);border-radius:22px;padding:clamp(18px,3vw,28px)}.legacy-faq-list{display:grid;gap:10px}.legacy-faq-list details{background:#fff;border:1px solid rgba(96,70,48,.1);border-radius:16px;padding:15px 17px}.legacy-faq-list summary{cursor:pointer;font-weight:800;color:var(--ink);list-style:none}.legacy-faq-list summary::-webkit-details-marker{display:none}.legacy-faq-list summary::after{content:'+';float:inline-end;font-size:1.25em;color:var(--muted)}.legacy-faq-list details[open] summary::after{content:'–'}.legacy-faq-list p{margin:10px 0 0;line-height:1.75;color:var(--muted-strong,#343434)}
@media (min-width:960px){.page-main .legacy-article-body{max-width:880px}.legacy-content-section:nth-of-type(2n+1){margin-inline-start:clamp(18px,3vw,42px)}}
@media (max-width:720px){.legacy-opening-card,.legacy-content-section,.legacy-gallery-section,.legacy-faq-section{border-radius:18px;padding:18px}.legacy-content-section p{font-size:1rem;line-height:1.82}.legacy-image-strip{grid-template-columns:1fr}.legacy-visual-card img{aspect-ratio:4/3}}

/* v92 surgical old-site body reimport: subheadings, linked media, press/contact UX */
.legacy-subheading{
  font-size:clamp(1.06rem,1.35vw,1.22rem);
  line-height:1.45;
  margin:18px 0 8px;
  color:var(--ink);
  font-weight:900;
}
.legacy-content-section h2 + .legacy-subheading{margin-top:6px}
.legacy-visual-link{display:block;color:inherit;text-decoration:none}
.legacy-visual-link:focus-visible{outline:3px solid rgba(96,70,48,.35);outline-offset:3px;border-radius:18px}
.legacy-gallery-section.is-press .legacy-image-strip{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.legacy-gallery-section.is-press .legacy-visual-card img{aspect-ratio:16/10;object-fit:cover;background:#fff}
.legacy-gallery-section.is-press .legacy-visual-card{background:#fff}
.legacy-gallery-section.is-press .legacy-visual-card figcaption{font-weight:800;color:var(--ink)}
.legacy-article-body .legacy-check-list li,
.legacy-article-body .legacy-check-list li a{overflow-wrap:anywhere}
@media(max-width:720px){
  .legacy-subheading{font-size:1.04rem;margin-top:16px}
  .legacy-gallery-section.is-press .legacy-image-strip{grid-template-columns:1fr}
}


/* v94 legacy content hardening: dedicated, non-duplicated layouts for Contact and Media pages */
.legacy-contact-body,.legacy-press-body{gap:clamp(18px,3vw,30px)}
.legacy-contact-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.75fr);align-items:center;gap:22px}
.legacy-contact-hero h2{font-size:clamp(1.7rem,3vw,2.5rem);margin:4px 0 10px;color:var(--ink)}
.legacy-contact-hero .legacy-visual-card{max-width:320px;justify-self:end}.legacy-contact-hero .legacy-visual-card img{aspect-ratio:4/5;object-fit:cover;object-position:center top}
.legacy-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.legacy-contact-card{display:flex;flex-direction:column;gap:6px;min-height:118px;justify-content:center;padding:22px;border:1px solid rgba(96,70,48,.12);border-radius:20px;background:#fff;text-decoration:none;color:var(--ink);box-shadow:0 14px 30px rgba(20,20,20,.04);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.legacy-contact-card:hover,.legacy-contact-card:focus-visible{transform:translateY(-2px);border-color:rgba(96,70,48,.28);box-shadow:0 20px 42px rgba(20,20,20,.075)}
.legacy-contact-card span{color:var(--muted);font-size:.95rem}.legacy-contact-card strong{font-size:clamp(1.05rem,1.6vw,1.35rem);overflow-wrap:anywhere}
.legacy-address-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.legacy-address-grid article{padding:20px;border-radius:18px;background:#fff;border:1px solid rgba(96,70,48,.1)}.legacy-address-grid h3{margin:0 0 8px;font-size:1.2rem;color:var(--ink)}.legacy-address-grid p{margin:0 0 10px;color:var(--muted)}
.legacy-press-section{background:#f8f8f8;border:1px solid rgba(96,70,48,.08);border-radius:24px;padding:clamp(18px,3vw,30px)}.legacy-press-section h2{font-size:clamp(1.5rem,2.4vw,2.2rem);margin:0 0 18px;color:var(--ink)}
.legacy-press-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}.legacy-press-card{background:#fff;border:1px solid rgba(96,70,48,.1);border-radius:22px;overflow:hidden;box-shadow:0 18px 38px rgba(20,20,20,.055)}.legacy-press-card a{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}.legacy-press-card img{width:100%;aspect-ratio:16/10;object-fit:contain;background:#fff;display:block;padding:10px}.legacy-press-copy{padding:14px 16px 18px;display:flex;flex-direction:column;gap:8px}.legacy-press-copy h3{font-size:1rem;line-height:1.55;margin:0;color:var(--ink)}.legacy-press-copy span{font-weight:800;color:#604630}
@media (max-width:860px){.legacy-contact-hero{grid-template-columns:1fr}.legacy-contact-hero .legacy-visual-card{max-width:none;justify-self:stretch}.legacy-contact-grid{grid-template-columns:1fr}.legacy-address-grid{grid-template-columns:1fr}.legacy-press-grid{grid-template-columns:1fr}.legacy-press-card img{aspect-ratio:16/9}}

/* v95: contact/media/page route stability polish */
.page-route-section{opacity:1;transform:none}.single-page-layout{max-width:1080px}.page-main-wide{width:100%}.section-head.compact{margin-bottom:18px}.legacy-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.legacy-contact-card{position:relative;display:flex;align-items:center;gap:14px;min-height:82px;padding:16px 18px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow-soft);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.legacy-contact-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:rgba(154,113,79,.34)}.legacy-contact-icon{inline-size:44px;block-size:44px;border-radius:50%;display:grid;place-items:center;flex:none;background:linear-gradient(135deg,var(--paper2),#fff);color:var(--brand-dark);border:1px solid rgba(154,113,79,.18)}.legacy-contact-icon svg{inline-size:23px;block-size:23px;fill:currentColor}.legacy-contact-copy{display:grid;gap:2px;min-width:0}.legacy-contact-copy small{color:var(--muted);font-weight:800}.legacy-contact-copy strong{color:var(--ink);font-size:18px;overflow-wrap:anywhere}.legacy-address-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.legacy-address-grid article{background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:var(--shadow-soft)}.legacy-address-grid article .legacy-contact-card{margin-top:12px;box-shadow:none;background:var(--paper2)}.legacy-press-card{position:relative;overflow:hidden}.legacy-press-card>a,.legacy-press-card{display:block}.legacy-press-visual{position:relative;background:#fff;border-radius:22px;overflow:hidden}.legacy-press-visual img{inline-size:100%;block-size:clamp(220px,26vw,360px);object-fit:contain;background:#fff;display:block}.legacy-press-copy{padding:14px 4px 0}.legacy-press-copy h3{font-size:18px;line-height:1.35;margin-bottom:6px}.legacy-press-copy span{color:var(--brand);font-weight:800}.legacy-press-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.legacy-press-card{padding:18px;border:1px solid var(--line);border-radius:26px;background:rgba(255,253,249,.9);box-shadow:var(--shadow-soft);transition:transform .18s ease,box-shadow .18s ease}.legacy-press-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.legacy-press-card .press-share{inset-inline-start:12px;inset-block-start:12px;inset-inline-end:auto;inset-block-end:auto}.legacy-press-card .share-btn{background:rgba(255,255,255,.94)}@media(max-width:980px){.legacy-contact-grid,.legacy-address-grid,.legacy-press-grid{grid-template-columns:1fr}.single-page-layout{max-width:none}.legacy-contact-card{min-height:74px}.legacy-press-visual img{block-size:260px}}@media(max-width:600px){.legacy-contact-card{padding:14px}.legacy-contact-icon{inline-size:40px;block-size:40px}.legacy-contact-copy strong{font-size:16px}.legacy-press-card{padding:14px}.legacy-press-visual img{block-size:220px}}

/* v97 treatment accordion + section rhythm hardening */
.page-main .legacy-treatment-body,
.page-main .legacy-article-body.legacy-treatment-body{
  inline-size:100%;
  max-inline-size:min(920px,100%);
  margin-inline:auto;
  gap:clamp(18px,2.5vw,28px);
}
.legacy-treatment-body .legacy-content-section,
.legacy-treatment-body .legacy-gallery-section,
.legacy-treatment-body .legacy-faq-section{
  inline-size:100%;
  margin-inline:0!important;
  text-align:start;
  display:grid;
  gap:clamp(10px,1.4vw,16px);
}
html[dir="rtl"] .legacy-treatment-body .legacy-content-section,
html[dir="rtl"] .legacy-treatment-body .legacy-gallery-section,
html[dir="rtl"] .legacy-treatment-body .legacy-faq-section{
  direction:rtl;
  text-align:right;
}
html[dir="ltr"] .legacy-treatment-body .legacy-content-section,
html[dir="ltr"] .legacy-treatment-body .legacy-gallery-section,
html[dir="ltr"] .legacy-treatment-body .legacy-faq-section{
  direction:ltr;
  text-align:left;
}
.legacy-treatment-body .legacy-content-section h2,
.legacy-treatment-body .legacy-faq-section h2,
.legacy-treatment-body .legacy-gallery-section h2{
  margin:0;
  max-inline-size:780px;
}
.legacy-treatment-body .legacy-content-section p,
.legacy-treatment-body .legacy-check-list,
.legacy-treatment-body .legacy-subheading{
  max-inline-size:780px;
}
.legacy-treatment-body .legacy-content-section p{
  margin-block:0 6px;
}
.legacy-treatment-body .legacy-check-list{
  margin-block:4px 0;
}
.legacy-faq-list{
  display:grid;
  gap:12px;
}
.legacy-faq-item{
  background:#fff;
  border:1px solid rgba(96,70,48,.1);
  border-radius:18px;
  box-shadow:0 12px 30px rgba(20,20,20,.035);
  overflow:hidden;
}
.legacy-faq-item h3{
  margin:0;
  font:inherit;
}
.legacy-faq-toggle{
  inline-size:100%;
  border:0;
  background:transparent;
  color:var(--ink);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 20px;
  text-align:start;
  cursor:pointer;
  font-weight:900;
  line-height:1.45;
}
.legacy-faq-toggle:hover{
  background:linear-gradient(135deg,rgba(248,248,248,.8),rgba(255,255,255,.96));
}
.legacy-faq-toggle:focus-visible{
  outline:0;
  box-shadow:var(--focus);
}
.legacy-faq-icon{
  inline-size:34px;
  block-size:34px;
  border-radius:999px;
  display:grid;
  place-items:center;
  flex:none;
  background:#f1ebe4;
  color:var(--brand-dark);
  font-size:1.15rem;
  font-weight:900;
  line-height:1;
  transition:transform .18s ease,background .18s ease;
}
.legacy-faq-toggle[aria-expanded="true"] .legacy-faq-icon{
  transform:rotate(180deg);
  background:#e8ded1;
}
.legacy-faq-panel{
  padding:0 20px 20px;
  color:var(--muted-strong,#343434);
}
.legacy-faq-panel[hidden]{
  display:none!important;
}
.legacy-faq-panel p{
  margin:0;
  line-height:1.82;
}
/* Neutralize the previous native-details skin after the v97 accessible button accordion migration. */
.legacy-faq-list details{
  padding:0;
  border:0;
  background:transparent;
}
@media (min-width:960px){
  .page-main .legacy-treatment-body .legacy-content-section:nth-of-type(2n+1){
    margin-inline-start:0!important;
  }
}
@media (max-width:720px){
  .page-main .legacy-treatment-body{max-inline-size:100%;}
  .legacy-faq-toggle{padding:16px 15px;gap:12px;}
  .legacy-faq-panel{padding:0 15px 16px;}
}

/* v100 — old-site article index/content parity. Kept isolated from gallery/BFF/patient-area styles. */
.articles-hero .lead{max-inline-size:760px}.articles-grid{align-items:stretch}.article-card{display:flex;flex-direction:column;min-block-size:100%;background:#FFFFFF}.article-card .treatment-card-link{display:flex;flex-direction:column;min-block-size:100%;flex:1}.article-card .treatment-card-link img{aspect-ratio:16/10;block-size:auto;min-block-size:220px;background:#f8f8f8}.article-card .treatment-card-link div{display:flex;flex-direction:column;gap:8px;min-block-size:210px}.article-card h3{font-size:clamp(1.2rem,1.65vw,1.55rem);line-height:1.22;margin:0}.article-card p{font-size:1rem;line-height:1.75;margin:0;color:var(--muted)}.article-card .card-share-row{margin-block-start:auto;padding:0 20px 20px}.article-card .share-launch{min-height:42px}.legacy-article-body.legacy-post-body,.page-main .legacy-article-body{display:grid;gap:clamp(18px,2.4vw,28px)}.legacy-article-body:not(.legacy-contact-body):not(.legacy-press-body) .legacy-content-section{inline-size:100%;max-inline-size:860px;margin-inline:auto!important;text-align:start}.legacy-article-body:not(.legacy-contact-body):not(.legacy-press-body) .legacy-content-section h2{text-align:start}.legacy-article-body:not(.legacy-contact-body):not(.legacy-press-body) .legacy-content-section p,.legacy-article-body:not(.legacy-contact-body):not(.legacy-press-body) .legacy-content-section li{text-align:start}.legacy-shareable-visual,.legacy-visual-card,.page-image-wrap,.legacy-press-visual{position:relative;overflow:hidden}.legacy-image-share.image-share-overlay{position:absolute;inset-block-start:14px;inset-inline-end:14px;z-index:4}.legacy-image-share .share-launch,.press-share .share-launch{background:rgba(255,253,249,.92);backdrop-filter:blur(10px);border-color:rgba(96,70,48,.18);box-shadow:0 12px 34px rgba(20,20,20,.16)}.page-main .legacy-gallery-section,.page-main .legacy-faq-section{max-inline-size:860px;margin-inline:auto!important}.page-main .legacy-gallery-section h2,.page-main .legacy-faq-section h2{text-align:start}.page-main .legacy-image-strip{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.side-cta .article-side-note{color:var(--muted);line-height:1.75}.search-meta{font-weight:700}.article-card[hidden]{display:none!important}
@media (max-width:900px){.articles-grid.grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}.article-card .treatment-card-link div{min-block-size:auto}.page-layout{grid-template-columns:1fr}.side-cta{position:static}}
@media (max-width:640px){.articles-grid.grid.cols-3{grid-template-columns:1fr}.article-card .treatment-card-link img{min-block-size:190px}.article-card .card-share-row{padding:0 16px 18px}.legacy-image-share.image-share-overlay{inset-block-start:10px;inset-inline-end:10px}.page-main .legacy-image-strip{grid-template-columns:1fr}.searchbar{display:grid}.searchbar .btn{inline-size:100%}}

/* v101 — production hardening review: public navigation, SEO sitemap/noindex, copy hygiene, debounced index search, image sizing. */

/* v102 — public-copy, navigation and treatment-filter production polish.
   Keeps the working v101/v88 gallery and BFF routes untouched. */
.nav{
  max-inline-size:min(1320px,100%);
  gap:clamp(10px,1.1vw,18px)!important;
}
.nav-links{
  min-inline-size:0;
  flex:1 1 auto;
  justify-content:flex-end;
  gap:clamp(2px,.45vw,7px)!important;
}
.nav-links a,
.nav-links button{
  min-block-size:44px;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:nowrap!important;
  line-height:1.15!important;
  padding-block:9px!important;
  padding-inline:clamp(8px,.8vw,12px)!important;
  font-size:clamp(14px,.92vw,16px)!important;
}
.nav-cta{
  min-inline-size:max-content!important;
  min-block-size:54px!important;
  padding-inline:20px!important;
  border-radius:999px!important;
  white-space:nowrap!important;
  line-height:1.15!important;
  align-self:center!important;
}
.brand-logo{width:clamp(150px,12vw,190px)!important;}
@media(max-width:1120px){
  .nav-links a,
  .nav-links button{font-size:13px!important;padding-inline:7px!important;}
  .nav-cta{padding-inline:14px!important;}
}
@media(max-width:980px){
  .nav-links a,
  .nav-links button{font-size:16px!important;justify-content:flex-start!important;text-align:start!important;}
  .nav-cta{inline-size:100%!important;min-block-size:48px!important;}
}
.treatment-filter-row{margin-block-start:12px;}
.treatment-filter-row .chip{
  cursor:pointer;
  min-block-size:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.treatment-filter-row .chip:hover,
.treatment-filter-row .chip:focus-visible{
  color:var(--ink);
  border-color:rgba(154,113,79,.38);
  box-shadow:var(--shadow-soft);
  outline:0;
}
/* Removed non-production legacy/source sections from the home page in v102. */
.home-image-gallery,
.original-content{display:none;}

/* v103 — navigation overlap + treatment filtering stability.
   Prevents the desktop menu from colliding with the brand and makes filtered cards leave the layout. */
[data-treatment-card][hidden],
.treatment-card[hidden]{
  display:none!important;
}
.treatment-filter-row .chip[aria-pressed="true"],
.treatment-filter-row .chip.active{
  color:var(--ink);
  background:#fff;
  border-color:rgba(154,113,79,.42);
  box-shadow:var(--shadow-soft);
}
.topbar .nav{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:clamp(12px,1.25vw,22px)!important;
  max-inline-size:min(1440px,100%);
  padding-inline:clamp(16px,2.4vw,38px)!important;
  direction:rtl;
}
.topbar .brand{
  grid-column:1;
  justify-self:end;
  min-inline-size:0;
  position:relative;
  z-index:2;
}
.topbar .brand-logo{
  width:clamp(140px,9.2vw,176px)!important;
  max-inline-size:100%;
}
.topbar .menu-toggle{
  grid-column:2;
  justify-self:start;
}
.topbar .nav-links{
  grid-column:2;
  grid-row:1;
  min-inline-size:0;
  margin-inline-start:0!important;
  display:flex;
  flex:1 1 auto;
  justify-content:flex-start;
  align-items:center;
  direction:rtl;
  overflow:visible;
  gap:clamp(2px,.35vw,6px)!important;
}
.topbar .nav-links a,
.topbar .nav-links button{
  flex:0 1 auto;
  max-inline-size:clamp(68px,8.2vw,124px);
  min-inline-size:max-content;
  padding-inline:clamp(6px,.58vw,10px)!important;
  font-size:clamp(13px,.82vw,15px)!important;
  line-height:1.18!important;
  white-space:normal!important;
  overflow-wrap:normal;
}
.topbar .nav-links .lang-switch,
.topbar .nav-links .nav-cta{
  flex:0 0 auto;
  max-inline-size:none;
  white-space:nowrap!important;
}
.topbar .nav-links .nav-cta{
  min-block-size:50px!important;
  padding-inline:clamp(14px,1.2vw,20px)!important;
}
@media (max-width:1320px){
  .topbar .nav{grid-template-columns:auto auto;justify-content:space-between;direction:rtl;}
  .topbar .menu-toggle{display:inline-flex!important;grid-column:2;grid-row:1;justify-self:start;margin-inline-start:0!important;}
  .topbar .nav-links{display:none!important;position:absolute;top:calc(100% + 10px);left:16px;right:16px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:12px;flex-direction:column;align-items:stretch;direction:rtl;z-index:320;}
  .topbar .nav-links.open{display:flex!important;max-height:calc(100vh - 104px);overflow:auto;}
  .topbar .nav-links a,
  .topbar .nav-links button{inline-size:100%;max-inline-size:none;justify-content:flex-start!important;text-align:start!important;font-size:16px!important;padding-inline:14px!important;white-space:normal!important;}
  .topbar .nav-links .lang-switch{inline-size:auto;align-self:flex-start;}
  .topbar .nav-links .nav-cta{inline-size:100%!important;justify-content:center!important;}
}
@media (min-width:1321px){
  .topbar .menu-toggle{display:none!important;}
}
/* v103 desktop refinement: keep top-level labels on one line; switch to hamburger before space becomes tight. */
@media (min-width:1321px){
  .topbar .nav-links a,
  .topbar .nav-links button{
    white-space:nowrap!important;
    max-inline-size:none!important;
    font-size:clamp(12.5px,.76vw,14.5px)!important;
    padding-inline:clamp(5px,.48vw,9px)!important;
  }
}


/* v104 mobile navigation production stability: full-width accessible drawer, no clipping over content. */
.topbar{z-index:1000!important;}
@media (max-width:1320px){
  body.nav-open{overflow:hidden!important;touch-action:none;}
  body.nav-open::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:990;
    background:rgba(37,27,21,.18);
    backdrop-filter:blur(2px);
    pointer-events:none;
  }
  .topbar{z-index:1001!important;overflow:visible!important;}
  .topbar .nav{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:12px!important;
    min-block-size:86px!important;
    padding-block:12px!important;
    padding-inline:clamp(18px,5vw,28px)!important;
    direction:ltr!important;
  }
  .topbar .brand{
    grid-column:2!important;
    justify-self:end!important;
    min-inline-size:0!important;
  }
  .topbar .brand-logo{
    width:clamp(142px,38vw,186px)!important;
    max-inline-size:100%!important;
    display:block!important;
  }
  .topbar .menu-toggle{
    grid-column:1!important;
    justify-self:start!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    min-block-size:56px!important;
    min-inline-size:116px!important;
    padding:0 18px!important;
    border-radius:999px!important;
    white-space:nowrap!important;
    line-height:1!important;
    z-index:1003!important;
    box-shadow:var(--shadow-soft)!important;
  }
  .topbar .nav-links{
    position:fixed!important;
    inset-inline:clamp(14px,4vw,22px)!important;
    inset-block-start:calc(env(safe-area-inset-top,0px) + 96px)!important;
    inset-block-end:auto!important;
    inline-size:auto!important;
    max-inline-size:none!important;
    max-block-size:calc(100dvh - 118px)!important;
    display:none!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    padding:14px!important;
    border:1px solid rgba(234,223,210,.96)!important;
    border-radius:28px!important;
    background:rgba(255,255,255,.98)!important;
    box-shadow:0 30px 90px rgba(37,27,21,.22)!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:7px!important;
    z-index:1002!important;
    direction:rtl!important;
  }
  .topbar .nav-links.open{display:flex!important;}
  .topbar .nav-links a,
  .topbar .nav-links button{
    inline-size:100%!important;
    min-block-size:48px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    text-align:start!important;
    padding:12px 16px!important;
    border-radius:18px!important;
    font-size:17px!important;
    line-height:1.25!important;
    white-space:normal!important;
    color:var(--ink)!important;
    background:transparent;
  }
  .topbar .nav-links a.active,
  .topbar .nav-links button.active,
  .topbar .nav-links a:hover,
  .topbar .nav-links button:hover,
  .topbar .nav-links a:focus-visible,
  .topbar .nav-links button:focus-visible{
    background:var(--paper2)!important;
    box-shadow:none!important;
  }
  .topbar .nav-links .lang-switch{
    inline-size:100%!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
    padding:6px!important;
    align-self:stretch!important;
  }
  .topbar .nav-links .lang-switch .lang-btn{
    justify-content:center!important;
    min-block-size:44px!important;
    padding:8px 10px!important;
  }
  .topbar .nav-links .nav-cta{
    justify-content:center!important;
    min-block-size:52px!important;
    margin-block-start:4px!important;
    border-radius:999px!important;
  }
}
@media (max-width:420px){
  .topbar .nav{min-block-size:82px!important;padding-inline:14px!important;}
  .topbar .brand-logo{width:clamp(132px,34vw,160px)!important;}
  .topbar .menu-toggle{min-inline-size:106px!important;min-block-size:54px!important;padding-inline:14px!important;}
  .topbar .nav-links{inset-inline:10px!important;inset-block-start:calc(env(safe-area-inset-top,0px) + 90px)!important;max-block-size:calc(100dvh - 106px)!important;}
}

/* v105 mobile navigation production fix: physical viewport drawer, cache-safe and encoding-independent.
   Uses a disclosure-style site navigation, keeps links as normal anchors, and avoids clipped side columns on real devices. */
@media (max-width:1320px){
  html,
  body{max-inline-size:100%;overflow-x:hidden!important;}
  body.nav-open{overflow:hidden!important;}
  body.nav-open::before{
    content:""!important;
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    z-index:9990!important;
    background:rgba(37,27,21,.20)!important;
    backdrop-filter:blur(2px)!important;
    pointer-events:auto!important;
  }
  .topbar{
    position:sticky!important;
    top:0!important;
    z-index:10000!important;
    overflow:visible!important;
    inline-size:100%!important;
  }
  .topbar .nav{
    inline-size:100%!important;
    max-inline-size:none!important;
    min-block-size:84px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:12px!important;
    padding:12px max(14px,env(safe-area-inset-left)) 12px max(14px,env(safe-area-inset-right))!important;
    margin:0!important;
    direction:ltr!important;
  }
  .topbar .brand{
    grid-column:2!important;
    grid-row:1!important;
    justify-self:end!important;
    align-self:center!important;
    min-inline-size:0!important;
    max-inline-size:min(54vw,210px)!important;
    z-index:10003!important;
  }
  .topbar .brand-logo{
    display:block!important;
    inline-size:clamp(138px,38vw,190px)!important;
    max-inline-size:100%!important;
    block-size:auto!important;
    max-block-size:60px!important;
    object-fit:contain!important;
  }
  .topbar .menu-toggle{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:start!important;
    align-self:center!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    min-inline-size:118px!important;
    min-block-size:56px!important;
    padding:0 18px!important;
    border-radius:999px!important;
    line-height:1!important;
    white-space:nowrap!important;
    z-index:10003!important;
    background:#fff!important;
  }
  .topbar .nav-links,
  .topbar .nav-links.open{
    position:fixed!important;
    inset:auto max(12px,env(safe-area-inset-right)) auto max(12px,env(safe-area-inset-left))!important;
    top:calc(env(safe-area-inset-top,0px) + 96px)!important;
    right:max(12px,env(safe-area-inset-right))!important;
    left:max(12px,env(safe-area-inset-left))!important;
    bottom:auto!important;
    inline-size:auto!important;
    width:auto!important;
    min-inline-size:0!important;
    max-inline-size:none!important;
    max-block-size:calc(100dvh - 116px)!important;
    margin:0!important;
    padding:14px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    border:1px solid rgba(234,223,210,.96)!important;
    border-radius:28px!important;
    background:rgba(255,255,255,.985)!important;
    box-shadow:0 32px 92px rgba(37,27,21,.24)!important;
    z-index:10002!important;
    transform:none!important;
    clip:auto!important;
    clip-path:none!important;
    direction:rtl!important;
    box-sizing:border-box!important;
  }
  .topbar .nav-links{display:none!important;}
  .topbar .nav-links.open{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;align-items:stretch!important;}
  .topbar .nav-links a,
  .topbar .nav-links button{
    inline-size:100%!important;
    max-inline-size:none!important;
    min-inline-size:0!important;
    min-block-size:50px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    text-align:start!important;
    padding:12px 16px!important;
    border-radius:18px!important;
    line-height:1.25!important;
    font-size:17px!important;
    white-space:normal!important;
    overflow:visible!important;
    color:var(--ink)!important;
    background:transparent!important;
  }
  .topbar .nav-links a.active,
  .topbar .nav-links button.active,
  .topbar .nav-links a:focus-visible,
  .topbar .nav-links button:focus-visible{
    background:var(--paper2)!important;
    box-shadow:none!important;
  }
  .topbar .nav-links .lang-switch{
    inline-size:100%!important;
    max-inline-size:none!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
    padding:6px!important;
  }
  .topbar .nav-links .lang-switch .lang-btn{
    justify-content:center!important;
    min-block-size:44px!important;
  }
  .topbar .nav-links .nav-cta{
    justify-content:center!important;
    min-block-size:54px!important;
    margin-block-start:4px!important;
  }
}
@media (max-width:420px){
  .topbar .nav{min-block-size:80px!important;padding-inline:12px!important;}
  .topbar .brand{max-inline-size:52vw!important;}
  .topbar .brand-logo{inline-size:clamp(128px,36vw,158px)!important;max-block-size:56px!important;}
  .topbar .menu-toggle{min-inline-size:108px!important;min-block-size:54px!important;padding-inline:14px!important;}
  .topbar .nav-links,
  .topbar .nav-links.open{top:calc(env(safe-area-inset-top,0px) + 88px)!important;max-block-size:calc(100dvh - 104px)!important;border-radius:24px!important;}
}


/* v106 Google Reviews trust block: server-owned Places API data, no frontend secrets, compact and accessible. */
.google-reviews-trust{padding-block:34px}.google-reviews-trust.section{padding-block:42px}.google-reviews-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:22px;align-items:stretch;background:rgba(255,253,249,.9);border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:var(--shadow-soft)}.google-reviews-summary{display:grid;align-content:center;gap:10px;min-width:0}.google-reviews-summary h2{margin-bottom:2px}.google-rating-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--brand-dark);font-weight:900}.google-rating-row b{font-size:clamp(32px,4vw,48px);font-family:ButlerLocal,Georgia,serif;font-weight:400;color:var(--ink);line-height:1}.google-review-stars{display:inline-flex;align-items:center;gap:1px;color:var(--brand);letter-spacing:.04em;white-space:nowrap}.google-review-panel{display:grid;gap:12px;min-width:0}.google-review-panel h3{margin:0;font-size:1.05rem;color:var(--ink);font-weight:900}.google-review-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.google-review-item{min-width:0;background:#fff;border:1px solid rgba(111,83,62,.12);border-radius:22px;padding:16px;box-shadow:var(--shadow-soft);display:grid;gap:9px}.google-review-item-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.google-review-item strong{font-size:.95rem;overflow-wrap:anywhere}.google-review-item p{margin:0;color:var(--muted);font-size:.94rem;line-height:1.55;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.google-review-item small{color:var(--muted);font-weight:800}.google-review-actions .btn,.google-review-actions button{min-height:44px}.google-review-pagination{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;color:var(--muted);font-weight:900}.google-review-pagination .btn{min-height:40px}.google-review-pagination .btn:disabled{opacity:.45;cursor:not-allowed}.google-reviews-trust.is-compact{padding:0;margin-top:14px}.google-reviews-trust.is-compact .google-reviews-card{display:block;border-radius:20px;padding:14px;background:rgba(255,255,255,.62);box-shadow:none}.google-reviews-trust.is-compact .google-reviews-summary{gap:6px}.google-reviews-trust.is-compact h2,.google-reviews-trust.is-compact .muted,.google-reviews-trust.is-compact .eyebrow,.google-reviews-trust.is-compact .google-review-panel{display:none}.google-reviews-trust.is-compact .google-rating-row b{font-size:26px}.google-reviews-trust.is-compact .actions{margin-top:10px}.google-reviews-trust.is-compact .btn{min-height:40px;padding:8px 12px;font-size:.9rem}
@media(max-width:980px){.google-reviews-card{grid-template-columns:1fr}.google-review-list{grid-template-columns:1fr}.google-reviews-trust.section{padding-block:34px}.google-reviews-card{padding:20px;border-radius:24px}.google-review-actions{display:grid}.google-review-actions .btn,.google-review-actions button{width:100%}.google-review-pagination{justify-content:stretch}.google-review-pagination .btn{flex:1 1 120px}.google-review-pagination span{text-align:center;flex:1 1 100%}}
@media(prefers-reduced-motion:reduce){.google-review-item,.google-reviews-card{transition:none!important}}

/* v110 Google Reviews visibility and footer contrast hardening */
.google-reviews-trust.has-summary-only:not(.is-compact) .google-reviews-card{grid-template-columns:minmax(0,1fr);max-width:860px;margin-inline:auto;padding:30px 34px}
.google-reviews-trust.has-summary-only:not(.is-compact) .google-reviews-summary{max-width:100%;margin-inline:0;text-align:start;justify-self:stretch}
html[dir="rtl"] .google-reviews-trust.has-summary-only:not(.is-compact) .google-reviews-summary{text-align:right}
html[dir="ltr"] .google-reviews-trust.has-summary-only:not(.is-compact) .google-reviews-summary{text-align:left}
.google-reviews-trust.has-summary-only:not(.is-compact) .google-rating-row{justify-content:flex-start}
html[dir="rtl"] .google-reviews-trust.has-summary-only:not(.is-compact) .google-rating-row{justify-content:flex-end}
.google-reviews-trust.has-summary-only:not(.is-compact) .google-review-actions{justify-content:flex-start}
html[dir="rtl"] .google-reviews-trust.has-summary-only:not(.is-compact) .google-review-actions{justify-content:flex-end}
@media(max-width:680px){.google-reviews-trust.has-summary-only:not(.is-compact) .google-reviews-card{max-width:none;padding:22px}.google-reviews-trust.has-summary-only:not(.is-compact) .google-reviews-summary{justify-self:stretch;max-width:none}.google-reviews-trust.has-summary-only:not(.is-compact) .google-rating-row,.google-reviews-trust.has-summary-only:not(.is-compact) .google-review-actions,html[dir="rtl"] .google-reviews-trust.has-summary-only:not(.is-compact) .google-rating-row,html[dir="rtl"] .google-reviews-trust.has-summary-only:not(.is-compact) .google-review-actions{justify-content:flex-start}}
.footer .google-reviews-trust.is-compact .google-reviews-card{background:rgba(255,255,255,.96);border-color:rgba(234,223,210,.92);color:var(--ink);box-shadow:0 12px 28px rgba(0,0,0,.16)}
.footer .google-reviews-trust.is-compact .google-rating-row{color:var(--brand-dark)}
.footer .google-reviews-trust.is-compact .google-rating-row b{color:var(--ink)}
.footer .google-reviews-trust.is-compact .google-review-stars{color:var(--brand)}
.footer .google-reviews-trust.is-compact .google-review-actions{gap:8px;margin-top:12px}
.footer .google-reviews-trust.is-compact .google-review-actions .btn{display:inline-flex;margin:0;text-decoration:none;color:var(--ink);opacity:1;background:#fff;border-color:rgba(154,113,79,.24);box-shadow:none}
.footer .google-reviews-trust.is-compact .google-review-actions .btn:hover{background:var(--paper2);color:var(--ink)}

/* v113 Google Reviews hardening: summary-only layout must look intentional when Google returns rating/count without review bodies. */
.google-reviews-copy{display:grid;gap:8px;min-width:0}.google-reviews-metrics{display:grid;gap:14px;align-content:center;min-width:0}.google-reviews-trust.has-summary-only:not(.is-compact){padding-block:34px}.google-reviews-trust.has-summary-only:not(.is-compact) .google-reviews-card{display:block;max-width:none;margin-inline:0;padding:clamp(24px,3vw,34px)}.google-reviews-trust.has-summary-only:not(.is-compact) .google-reviews-summary{display:grid;grid-template-columns:minmax(280px,1fr) minmax(300px,max-content);gap:20px 44px;align-items:center;justify-self:stretch;max-width:none;margin:0;text-align:start}.google-reviews-trust.has-summary-only:not(.is-compact) .google-reviews-copy{max-width:640px}.google-reviews-trust.has-summary-only:not(.is-compact) .google-reviews-metrics{justify-items:start}.google-reviews-trust.has-summary-only:not(.is-compact) .google-rating-row{justify-content:flex-start}.google-reviews-trust.has-summary-only:not(.is-compact) .google-review-actions{justify-content:flex-start}.google-reviews-trust.has-summary-only:not(.is-compact) .google-review-actions .btn{min-width:190px}html[dir="rtl"] .google-reviews-trust.has-summary-only:not(.is-compact) .google-reviews-copy{text-align:right}html[dir="rtl"] .google-reviews-trust.has-summary-only:not(.is-compact) .google-reviews-metrics{justify-items:end}html[dir="rtl"] .google-reviews-trust.has-summary-only:not(.is-compact) .google-rating-row{justify-content:flex-end}html[dir="rtl"] .google-reviews-trust.has-summary-only:not(.is-compact) .google-review-actions{justify-content:flex-end}.footer .google-reviews-trust.is-compact .google-reviews-metrics{gap:8px}.footer .google-reviews-trust.is-compact .google-reviews-copy{display:none}
@media(max-width:860px){.google-reviews-trust.has-summary-only:not(.is-compact) .google-reviews-card{padding:22px}.google-reviews-trust.has-summary-only:not(.is-compact) .google-reviews-summary{grid-template-columns:1fr;gap:18px}.google-reviews-trust.has-summary-only:not(.is-compact) .google-reviews-copy{max-width:none}.google-reviews-trust.has-summary-only:not(.is-compact) .google-reviews-metrics,html[dir="rtl"] .google-reviews-trust.has-summary-only:not(.is-compact) .google-reviews-metrics{justify-items:stretch}.google-reviews-trust.has-summary-only:not(.is-compact) .google-rating-row,html[dir="rtl"] .google-reviews-trust.has-summary-only:not(.is-compact) .google-rating-row{justify-content:flex-start}.google-reviews-trust.has-summary-only:not(.is-compact) .google-review-actions,html[dir="rtl"] .google-reviews-trust.has-summary-only:not(.is-compact) .google-review-actions{display:grid;justify-content:stretch}.google-reviews-trust.has-summary-only:not(.is-compact) .google-review-actions .btn{min-width:0;width:100%}}

/* v115 site UX stability: Google Reviews stacked layout, accessible CTA alignment, legal pages and language-switch safety. */
.google-reviews-trust:not(.is-compact){padding-block:clamp(34px,5vw,58px)}
.google-reviews-trust:not(.is-compact) .google-reviews-card{display:grid;grid-template-columns:1fr;gap:22px;width:100%;max-width:min(1120px,100%);margin-inline:auto;padding:clamp(24px,4vw,42px)}
.google-reviews-trust:not(.is-compact) .google-reviews-summary{display:grid;grid-template-columns:1fr;gap:18px;align-content:start;justify-items:start;text-align:start;max-width:none}
.google-reviews-trust:not(.is-compact) .google-reviews-copy{max-width:780px;text-align:start}
.google-reviews-trust:not(.is-compact) .google-reviews-copy h2{margin:0 0 8px;font-size:clamp(42px,7vw,88px);line-height:.96}
.google-reviews-trust:not(.is-compact) .google-reviews-copy p{max-width:780px;margin:0}
.google-reviews-trust:not(.is-compact) .google-reviews-metrics{display:grid;gap:18px;justify-items:start;width:100%}
.google-reviews-trust:not(.is-compact) .google-rating-row{justify-content:flex-start;gap:12px}
.google-reviews-trust:not(.is-compact) .google-review-actions{justify-content:flex-start;gap:12px;margin-top:0}
.google-reviews-trust:not(.is-compact) .google-review-panel{width:100%;margin-top:4px;border-top:1px solid rgba(111,83,62,.12);padding-top:22px}
.google-reviews-trust:not(.is-compact) .google-review-panel h3{text-align:start;margin-bottom:12px}
.google-reviews-trust:not(.is-compact) .google-review-list{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));align-items:stretch}
.google-reviews-trust.has-summary-only:not(.is-compact) .google-reviews-card{max-width:min(980px,100%)}
.google-reviews-trust.has-summary-only:not(.is-compact) .google-reviews-summary{max-width:760px}
html[dir="rtl"] .google-reviews-trust:not(.is-compact) .google-reviews-summary,html[dir="rtl"] .google-reviews-trust:not(.is-compact) .google-reviews-copy,html[dir="rtl"] .google-reviews-trust:not(.is-compact) .google-review-panel h3{text-align:right;justify-items:end}
html[dir="rtl"] .google-reviews-trust:not(.is-compact) .google-reviews-metrics{justify-items:end}
html[dir="rtl"] .google-reviews-trust:not(.is-compact) .google-rating-row,html[dir="rtl"] .google-reviews-trust:not(.is-compact) .google-review-actions{justify-content:flex-end}
html[dir="ltr"] .google-reviews-trust:not(.is-compact) .google-review-item{text-align:left}
.journey-section-head{align-items:center;gap:22px}.fit-me-cta{align-self:center;min-height:48px;padding-inline:28px;white-space:normal;text-align:center;box-shadow:var(--shadow-soft)}
.page-main-legacy-hero{padding-top:clamp(20px,4vw,34px)}.page-main-legacy-hero>.legacy-article-body{margin-top:0}.page-main-legacy-hero .legacy-opening-card{margin-top:0}.legal-page-body{display:grid;gap:18px}.legal-opening-card p{font-size:1.08rem;color:var(--muted);max-width:820px}.legal-section-list{display:grid;gap:16px}.legal-content-card{margin:0}.legal-content-card h2{font-size:clamp(24px,3vw,38px);line-height:1.05}.legal-content-card p{white-space:normal}.legal-content-card .legacy-check-list{margin-top:12px}
@media(max-width:860px){.google-reviews-trust:not(.is-compact) .google-reviews-card{border-radius:24px;padding:22px}.google-reviews-trust:not(.is-compact) .google-reviews-summary,.google-reviews-trust:not(.is-compact) .google-reviews-metrics,html[dir="rtl"] .google-reviews-trust:not(.is-compact) .google-reviews-summary,html[dir="rtl"] .google-reviews-trust:not(.is-compact) .google-reviews-metrics{justify-items:stretch}.google-reviews-trust:not(.is-compact) .google-review-actions,html[dir="rtl"] .google-reviews-trust:not(.is-compact) .google-review-actions{display:grid;justify-content:stretch}.google-reviews-trust:not(.is-compact) .google-review-actions .btn{width:100%;min-width:0}.google-reviews-trust:not(.is-compact) .google-rating-row,html[dir="rtl"] .google-reviews-trust:not(.is-compact) .google-rating-row{justify-content:flex-start}.journey-section-head{align-items:stretch}.fit-me-cta{width:100%;justify-content:center}}

/* v116: focused UX polish for Google Reviews, legal pages, contact locations and press cards */
.google-reviews-trust:not(.is-compact) .google-reviews-card{
  max-width:min(1040px,100%);
  padding:clamp(26px,4vw,44px);
}
.google-reviews-trust:not(.is-compact) .google-reviews-summary{
  justify-items:center!important;
  text-align:center!important;
  max-width:900px!important;
  margin-inline:auto!important;
  gap:16px;
}
.google-reviews-trust:not(.is-compact) .google-reviews-copy{
  max-width:900px!important;
  text-align:center!important;
}
.google-reviews-trust:not(.is-compact) .google-reviews-copy h2{
  font-size:clamp(38px,4.8vw,62px);
  line-height:1.02;
  letter-spacing:-.025em;
  margin-block:0 8px;
}
.google-reviews-trust:not(.is-compact) .google-reviews-copy p{
  max-width:720px;
  margin-inline:auto;
}
.google-reviews-trust:not(.is-compact) .google-reviews-metrics{
  justify-items:center!important;
  width:100%;
}
.google-reviews-trust:not(.is-compact) .google-rating-row,
html[dir="rtl"] .google-reviews-trust:not(.is-compact) .google-rating-row,
html[dir="ltr"] .google-reviews-trust:not(.is-compact) .google-rating-row,
.google-reviews-trust:not(.is-compact) .google-review-actions,
html[dir="rtl"] .google-reviews-trust:not(.is-compact) .google-review-actions,
html[dir="ltr"] .google-reviews-trust:not(.is-compact) .google-review-actions{
  justify-content:center!important;
}
.google-reviews-trust:not(.is-compact) .google-review-panel h3{
  text-align:center!important;
}
.google-reviews-trust:not(.is-compact) .google-review-list{
  justify-content:center;
}
@media(min-width:760px){
  .google-reviews-trust:not(.is-compact) .google-reviews-copy h2{white-space:nowrap}
}
@media(max-width:680px){
  .google-reviews-trust:not(.is-compact) .google-reviews-card{padding:22px;border-radius:24px}
  .google-reviews-trust:not(.is-compact) .google-reviews-copy h2{font-size:clamp(32px,10vw,46px);white-space:normal}
  .google-reviews-trust:not(.is-compact) .google-review-actions{display:grid;inline-size:100%}
}
.legal-page-body{margin-top:0}
.page-main-wide .legal-page-body .legal-opening-card{margin-top:0}
.legacy-clinic-addresses{max-width:100%;margin-inline:0;text-align:start}
html[dir="rtl"] .legacy-clinic-addresses{text-align:right}
html[dir="ltr"] .legacy-clinic-addresses{text-align:left}
.legacy-clinic-addresses .section-head.compact{justify-content:flex-start;align-items:flex-start;text-align:inherit}
html[dir="rtl"] .legacy-clinic-addresses .section-head.compact{justify-content:flex-end}
.legacy-clinic-addresses .section-head.compact>div{inline-size:100%}
.legacy-address-grid{inline-size:100%;margin-inline:0}
.legacy-address-grid article{text-align:inherit}
.legacy-address-grid article .legacy-contact-card{inline-size:100%}
.legacy-press-card a{cursor:pointer}
.legacy-press-card a:focus-visible,
.legacy-contact-card:focus-visible{outline:3px solid rgba(154,113,79,.35);outline-offset:3px}

/* v117: align Google Reviews heading with page language while preserving centered proof/actions, and keep contact locations full-width. */
.google-reviews-trust:not(.is-compact) .google-reviews-summary{
  justify-items:stretch!important;
  text-align:initial!important;
  max-width:100%!important;
}
.google-reviews-trust:not(.is-compact) .google-reviews-copy{
  inline-size:100%;
  max-width:100%!important;
  text-align:start!important;
}
.google-reviews-trust:not(.is-compact) .google-reviews-copy .eyebrow,
.google-reviews-trust:not(.is-compact) .google-reviews-copy h2{
  text-align:start!important;
}
.google-reviews-trust:not(.is-compact) .google-reviews-copy h2{
  font-size:clamp(36px,4.2vw,58px);
  line-height:1.04;
  letter-spacing:-.018em;
  max-inline-size:100%;
}
.google-reviews-trust:not(.is-compact) .google-reviews-copy p{
  text-align:center;
  margin-inline:auto;
}
.google-reviews-trust:not(.is-compact) .google-reviews-metrics{
  justify-items:center!important;
}
.google-reviews-trust:not(.is-compact) .google-rating-row,
html[dir="rtl"] .google-reviews-trust:not(.is-compact) .google-rating-row,
html[dir="ltr"] .google-reviews-trust:not(.is-compact) .google-rating-row,
.google-reviews-trust:not(.is-compact) .google-review-actions,
html[dir="rtl"] .google-reviews-trust:not(.is-compact) .google-review-actions,
html[dir="ltr"] .google-reviews-trust:not(.is-compact) .google-review-actions{
  justify-content:center!important;
}
@media(min-width:760px){
  .google-reviews-trust:not(.is-compact) .google-reviews-copy h2{white-space:nowrap}
}
@media(max-width:680px){
  .google-reviews-trust:not(.is-compact) .google-reviews-copy h2{white-space:normal;text-align:start!important}
  .google-reviews-trust:not(.is-compact) .google-reviews-copy p{text-align:start}
}
.page-main .legacy-article-body.legacy-contact-body{
  inline-size:100%;
  max-inline-size:none;
}
.page-main .legacy-contact-body .legacy-clinic-addresses{
  inline-size:100%;
  max-inline-size:none;
  margin-inline:0!important;
  justify-self:stretch;
}
.page-main .legacy-contact-body .legacy-address-grid{
  inline-size:100%;
  max-inline-size:none;
  margin-inline:0!important;
}
.page-main .legacy-contact-body .legacy-clinic-addresses .section-head.compact{
  inline-size:100%;
}


/* v118: final alignment parity for the homepage Google Reviews section.
   The section keeps the same container width as the site, aligns title/eyebrow by language,
   and keeps proof metrics/actions centered under the copy, matching the approved design system. */
.google-reviews-trust:not(.is-compact) .container{
  inline-size:min(1180px,100%)!important;
  padding-inline:24px!important;
}
.google-reviews-trust:not(.is-compact) .google-reviews-card{
  inline-size:100%!important;
  max-inline-size:none!important;
  margin-inline:0!important;
}
.google-reviews-trust:not(.is-compact) .google-reviews-summary{
  inline-size:100%!important;
  max-inline-size:none!important;
  margin-inline:0!important;
  justify-items:stretch!important;
  text-align:start!important;
}
.google-reviews-trust:not(.is-compact) .google-reviews-copy{
  inline-size:100%!important;
  max-inline-size:none!important;
  display:grid!important;
  justify-items:start!important;
  text-align:start!important;
}
html[dir="rtl"] .google-reviews-trust:not(.is-compact) .google-reviews-copy{
  justify-items:end!important;
  text-align:right!important;
}
html[dir="ltr"] .google-reviews-trust:not(.is-compact) .google-reviews-copy{
  justify-items:start!important;
  text-align:left!important;
}
.google-reviews-trust:not(.is-compact) .google-reviews-copy .eyebrow,
.google-reviews-trust:not(.is-compact) .google-reviews-copy h2{
  justify-self:start!important;
  text-align:start!important;
}
html[dir="rtl"] .google-reviews-trust:not(.is-compact) .google-reviews-copy .eyebrow,
html[dir="rtl"] .google-reviews-trust:not(.is-compact) .google-reviews-copy h2{
  justify-self:end!important;
  text-align:right!important;
}
html[dir="ltr"] .google-reviews-trust:not(.is-compact) .google-reviews-copy .eyebrow,
html[dir="ltr"] .google-reviews-trust:not(.is-compact) .google-reviews-copy h2{
  justify-self:start!important;
  text-align:left!important;
}
.google-reviews-trust:not(.is-compact) .google-reviews-copy h2{
  font-size:clamp(36px,4.1vw,58px)!important;
  line-height:1.04!important;
  letter-spacing:-.018em!important;
}
.google-reviews-trust:not(.is-compact) .google-reviews-copy p{
  max-inline-size:720px!important;
  margin-inline:auto!important;
  text-align:center!important;
}
.google-reviews-trust:not(.is-compact) .google-reviews-metrics{
  inline-size:100%!important;
  justify-items:center!important;
}
.google-reviews-trust:not(.is-compact) .google-rating-row,
html[dir="rtl"] .google-reviews-trust:not(.is-compact) .google-rating-row,
html[dir="ltr"] .google-reviews-trust:not(.is-compact) .google-rating-row,
.google-reviews-trust:not(.is-compact) .google-review-actions,
html[dir="rtl"] .google-reviews-trust:not(.is-compact) .google-review-actions,
html[dir="ltr"] .google-reviews-trust:not(.is-compact) .google-review-actions{
  justify-content:center!important;
}
@media(max-width:680px){
  .google-reviews-trust:not(.is-compact) .container{padding-inline:16px!important;}
  .google-reviews-trust:not(.is-compact) .google-reviews-copy h2{font-size:clamp(32px,10vw,46px)!important;white-space:normal!important;}
  .google-reviews-trust:not(.is-compact) .google-reviews-copy p{text-align:start!important;margin-inline:0!important;}
  html[dir="rtl"] .google-reviews-trust:not(.is-compact) .google-reviews-copy p{text-align:right!important;}
  html[dir="ltr"] .google-reviews-trust:not(.is-compact) .google-reviews-copy p{text-align:left!important;}
}

/* v119: mobile modal/chat stability, RTL heading lock, and compact gallery label chips.
   Uses direction-aware selectors and dynamic viewport units to avoid mobile browser chrome clipping. */
.google-reviews-trust.is-rtl:not(.is-compact){direction:rtl;}
.google-reviews-trust.is-ltr:not(.is-compact){direction:ltr;}
.google-reviews-trust.is-rtl:not(.is-compact) .google-reviews-copy{
  justify-items:end!important;
  text-align:right!important;
}
.google-reviews-trust.is-ltr:not(.is-compact) .google-reviews-copy{
  justify-items:start!important;
  text-align:left!important;
}
.google-reviews-trust.is-rtl:not(.is-compact) .google-reviews-copy .eyebrow,
.google-reviews-trust.is-rtl:not(.is-compact) .google-reviews-copy h2{
  justify-self:end!important;
  text-align:right!important;
  direction:rtl!important;
}
.google-reviews-trust.is-ltr:not(.is-compact) .google-reviews-copy .eyebrow,
.google-reviews-trust.is-ltr:not(.is-compact) .google-reviews-copy h2{
  justify-self:start!important;
  text-align:left!important;
  direction:ltr!important;
}

.smart-gallery-card{
  display:flex;
  flex-direction:column;
  min-block-size:0;
}
.smart-gallery-card .gallery-open-surface{
  flex:0 0 auto;
}
.gallery-card-body{
  display:grid;
  gap:8px;
  align-content:start;
  min-block-size:0;
}
.gallery-card-body>b,
.gallery-card-body>p{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.gallery-card-body>b{-webkit-line-clamp:2;}
.gallery-card-body>p{-webkit-line-clamp:3;}
.gallery-label-tags{
  max-block-size:72px;
  overflow:hidden;
  align-content:start;
}
.gallery-label-tags span,
.gallery-label-tags .gallery-label-tags-more{
  max-inline-size:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.gallery-label-tags .gallery-label-tags-more{
  background:var(--brand-dark);
  color:#fff;
  border-color:var(--brand-dark);
}

@media(max-width:720px){
  .chat-panel{
    inset-inline:12px!important;
    inset-block-start:calc(env(safe-area-inset-top,0px) + 92px)!important;
    inset-block-end:calc(env(safe-area-inset-bottom,0px) + 96px)!important;
    width:auto!important;
    max-height:none!important;
    min-height:0!important;
    border-radius:24px!important;
    grid-template-rows:auto auto minmax(0,1fr) auto auto!important;
  }
  .chat-panel.open{display:grid!important;}
  .chat-body{min-block-size:0!important;overflow:auto!important;overscroll-behavior:contain;}
  .chat-chips{max-block-size:118px;overflow:auto;padding-block-end:10px;overscroll-behavior:contain;}
  .chat-input{background:var(--paper);padding:10px!important;padding-block-end:calc(10px + env(safe-area-inset-bottom,0px))!important;align-items:center;}
  .chat-input input{min-block-size:48px;}
  .chat-input button{min-block-size:48px;min-inline-size:82px;padding-inline:16px;}
}
@supports (height: 100dvh){
  @media(max-width:720px){
    .chat-panel{block-size:calc(100dvh - 188px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;}
  }
}

@media(max-width:820px){
  .gallery-modal{
    place-items:stretch!important;
    align-items:stretch!important;
    justify-items:stretch!important;
    padding:calc(8px + env(safe-area-inset-top,0px)) 8px calc(8px + env(safe-area-inset-bottom,0px))!important;
    overflow:hidden!important;
  }
  .gallery-modal.open{display:grid!important;}
  .gallery-modal-content{
    inline-size:100%!important;
    block-size:calc(100vh - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;
    max-block-size:none!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:minmax(170px,42vh) minmax(0,1fr)!important;
    border-radius:22px!important;
    overflow:hidden!important;
  }
  .gallery-modal-media{
    block-size:auto!important;
    min-block-size:0!important;
    max-block-size:none!important;
    border-radius:22px 22px 0 0!important;
  }
  .gallery-modal-content .gallery-modal-media img{
    block-size:100%!important;
    max-block-size:none!important;
    object-fit:contain!important;
  }
  .gallery-modal-content .pad{
    min-block-size:0!important;
    max-block-size:none!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    padding:16px!important;
    padding-block-end:calc(18px + env(safe-area-inset-bottom,0px))!important;
  }
  .gallery-modal-actions{position:relative;background:#fff;}
}
@supports (height: 100dvh){
  @media(max-width:820px){
    .gallery-modal-content{block-size:calc(100dvh - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;grid-template-rows:minmax(160px,42dvh) minmax(0,1fr)!important;}
  }
}
@media(max-width:520px){
  .gallery-label-tags{max-block-size:66px;}
  .gallery-label-tags span{font-size:11.5px;padding:4px 8px;}
  .gallery-card-body>p{-webkit-line-clamp:2;}
}


/* v120: final direction-safe Google Reviews headings, single-scroll mobile gallery modal, and fixed-height gallery cards. */
.google-reviews-trust[data-locale-dir="rtl"]:not(.is-compact) .google-reviews-copy,
.google-reviews-trust.is-rtl:not(.is-compact) .google-reviews-copy{
  inline-size:100%!important;
  max-inline-size:none!important;
  direction:rtl!important;
  display:grid!important;
  justify-items:stretch!important;
  text-align:right!important;
}
.google-reviews-trust[data-locale-dir="ltr"]:not(.is-compact) .google-reviews-copy,
.google-reviews-trust.is-ltr:not(.is-compact) .google-reviews-copy{
  inline-size:100%!important;
  max-inline-size:none!important;
  direction:ltr!important;
  display:grid!important;
  justify-items:stretch!important;
  text-align:left!important;
}
.google-reviews-trust[data-locale-dir="rtl"]:not(.is-compact) .google-reviews-copy .eyebrow,
.google-reviews-trust[data-locale-dir="rtl"]:not(.is-compact) .google-reviews-copy h2,
.google-reviews-trust.is-rtl:not(.is-compact) .google-reviews-copy .eyebrow,
.google-reviews-trust.is-rtl:not(.is-compact) .google-reviews-copy h2{
  inline-size:100%!important;
  justify-self:stretch!important;
  text-align:right!important;
  direction:rtl!important;
}
.google-reviews-trust[data-locale-dir="ltr"]:not(.is-compact) .google-reviews-copy .eyebrow,
.google-reviews-trust[data-locale-dir="ltr"]:not(.is-compact) .google-reviews-copy h2,
.google-reviews-trust.is-ltr:not(.is-compact) .google-reviews-copy .eyebrow,
.google-reviews-trust.is-ltr:not(.is-compact) .google-reviews-copy h2{
  inline-size:100%!important;
  justify-self:stretch!important;
  text-align:left!important;
  direction:ltr!important;
}
.google-reviews-trust[data-locale-dir="rtl"]:not(.is-compact) .google-reviews-copy h2,
.google-reviews-trust.is-rtl:not(.is-compact) .google-reviews-copy h2,
.google-reviews-trust[data-locale-dir="ltr"]:not(.is-compact) .google-reviews-copy h2,
.google-reviews-trust.is-ltr:not(.is-compact) .google-reviews-copy h2{
  white-space:normal!important;
  max-inline-size:100%!important;
}
@media(min-width:760px){
  .google-reviews-trust[data-locale-dir="rtl"]:not(.is-compact) .google-reviews-copy h2,
  .google-reviews-trust.is-rtl:not(.is-compact) .google-reviews-copy h2,
  .google-reviews-trust[data-locale-dir="ltr"]:not(.is-compact) .google-reviews-copy h2,
  .google-reviews-trust.is-ltr:not(.is-compact) .google-reviews-copy h2{white-space:nowrap!important;}
}
.gallery-grid.smart-gallery-grid{
  align-items:stretch!important;
}
.smart-gallery-card{
  display:flex!important;
  flex-direction:column!important;
  block-size:100%!important;
  overflow:hidden!important;
}
.smart-gallery-card .gallery-open-surface{
  flex:0 0 auto!important;
  aspect-ratio:4/3!important;
}
.smart-gallery-card .gallery-card-body{
  flex:1 1 auto!important;
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  min-block-size:0!important;
  overflow:hidden!important;
}
.smart-gallery-card .gallery-card-body>b{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  min-block-size:0!important;
}
.smart-gallery-card .gallery-card-body>p{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  min-block-size:0!important;
}
.gallery-label-tags{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:6px!important;
  max-block-size:none!important;
  overflow:hidden!important;
  min-inline-size:0!important;
}
.gallery-label-tags span,
.gallery-label-tags .gallery-label-tags-more{
  flex:0 1 auto!important;
  min-inline-size:0!important;
  max-inline-size:calc(50% - 3px)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.gallery-label-tags .gallery-label-tags-more{
  flex:0 0 auto!important;
  max-inline-size:72px!important;
}
.smart-gallery-card .share-bar{
  margin-top:auto!important;
  flex:0 0 auto!important;
}
@media(max-width:820px){
  .gallery-modal{
    display:none;
    place-items:start stretch!important;
    align-items:start!important;
    justify-items:stretch!important;
    padding:calc(10px + env(safe-area-inset-top,0px)) 10px calc(10px + env(safe-area-inset-bottom,0px))!important;
    overflow:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .gallery-modal.open{display:grid!important;}
  .gallery-modal-content{
    inline-size:100%!important;
    block-size:auto!important;
    min-block-size:0!important;
    max-block-size:none!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:visible!important;
    border-radius:24px!important;
    margin:0!important;
  }
  .gallery-modal-media{
    flex:0 0 auto!important;
    block-size:auto!important;
    min-block-size:0!important;
    max-block-size:none!important;
    border-radius:24px 24px 0 0!important;
    overflow:hidden!important;
  }
  .gallery-modal-content .gallery-modal-media img,
  .gallery-modal-content img{
    inline-size:100%!important;
    block-size:auto!important;
    min-block-size:0!important;
    max-block-size:min(56svh,56dvh,430px)!important;
    object-fit:contain!important;
    background:#f6f2ed!important;
  }
  .gallery-modal-content .pad{
    flex:0 0 auto!important;
    min-block-size:0!important;
    max-block-size:none!important;
    overflow:visible!important;
    padding:16px!important;
    padding-block-end:calc(18px + env(safe-area-inset-bottom,0px))!important;
  }
  .gallery-modal-actions{position:static!important;background:#fff!important;}
}

/* v122: contact links, desktop chat safe top, de-duplicated gallery labels, full-width care focus */
.top-contact-link{display:inline-flex;align-items:center;gap:6px;text-decoration:underline;text-underline-offset:4px;white-space:nowrap;vertical-align:middle}
.top-contact-link svg{inline-size:15px;block-size:15px;fill:currentColor;flex:0 0 auto}
.quick-action-whatsapp{display:inline-flex;align-items:center;gap:8px;color:#128c4a}
.quick-action-whatsapp svg{inline-size:18px;block-size:18px;fill:currentColor;flex:0 0 auto}
.legacy-contact-card[href],.top-contact-link[href],.quick-action-whatsapp[href]{cursor:pointer}
@media(min-width:721px){
  .chat-panel{
    inset-block-start:calc(18px + env(safe-area-inset-top,0px))!important;
    inset-block-end:112px!important;
    bottom:auto!important;
    max-block-size:none!important;
    max-height:none!important;
    min-block-size:0!important;
    grid-template-rows:auto auto minmax(0,1fr) auto auto!important;
    overflow:hidden!important;
  }
  .chat-panel.open{display:grid!important}
  .chat-body{min-block-size:0!important;overflow:auto!important;overscroll-behavior:contain!important}
  .chat-chips{max-block-size:128px;overflow:auto;overscroll-behavior:contain}
  .chat-input{flex:0 0 auto!important}
}
.care-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr))!important;align-items:stretch!important}
.care-grid .care-card:not([hidden]){inline-size:100%!important}
.care-grid .care-card:only-child{grid-column:1/-1!important}
.gallery-card-body .gallery-badge-row + .gallery-badge-row{display:none!important}
.gallery-label-tags{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;overflow:visible!important;max-block-size:none!important;margin-top:2px!important;align-items:start!important}
.gallery-label-tags-title{display:block!important;border:0!important;background:transparent!important;padding:0!important;color:var(--brand-dark)!important;font-size:12px!important;font-weight:900!important;line-height:1.25!important;max-inline-size:none!important;white-space:normal!important}
.gallery-label-tags .gallery-label-chip{display:inline-flex;align-items:center;border:1px solid rgba(111,83,62,.16);background:#fff;border-radius:999px;padding:4px 9px;color:var(--muted);font-size:12px;font-weight:800;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-inline-size:100%}
.gallery-label-tags>span:not(.gallery-label-tags-title),.gallery-label-tags>details{justify-self:start}
html[dir="rtl"] .gallery-label-tags>span:not(.gallery-label-tags-title),html[dir="rtl"] .gallery-label-tags>details{justify-self:end}
.gallery-label-tags-more{position:relative;display:inline-block!important;max-inline-size:none!important}
.gallery-label-tags-more>summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;min-inline-size:38px;min-block-size:30px;border-radius:999px;border:1px solid var(--brand-dark);background:var(--brand-dark);color:#fff;font-size:12px;font-weight:900;cursor:pointer;padding:4px 9px}
.gallery-label-tags-more>summary::-webkit-details-marker{display:none}
.gallery-label-tags-more>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.gallery-modal-labels{display:grid;gap:8px;border:1px solid var(--line);background:var(--paper2);border-radius:16px;padding:10px 12px;margin-block:10px}
.gallery-modal-labels[hidden]{display:none!important}
.gallery-modal-labels b{color:var(--brand-dark);font-size:.93rem}
.gallery-modal-labels>div{display:flex;flex-wrap:wrap;gap:6px}
.gallery-modal-labels span{border:1px solid rgba(111,83,62,.16);background:#fff;border-radius:999px;padding:4px 9px;color:var(--muted);font-size:12px;font-weight:800}
.smart-gallery-card .gallery-card-body>p{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important}
@media(max-width:720px){
  .gallery-label-tags{gap:6px!important;margin-top:0!important}
  .gallery-label-tags-title{font-size:11px!important}
  .gallery-label-tags .gallery-label-chip{font-size:11px;padding:3px 8px}
  .gallery-label-tags-more>summary{min-block-size:28px;min-inline-size:34px;font-size:11px;padding:3px 8px}
}
.care-grid.is-focused{grid-template-columns:1fr!important;max-inline-size:none!important}
.care-grid.is-focused .care-card:not([hidden]){grid-column:1/-1!important}
.care-grid.is-focused .care-columns{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media(max-width:980px){.care-grid.is-focused .care-columns{grid-template-columns:1fr!important}}

/* v123: desktop chat sane viewport sizing and single-source gallery metadata chips. */
@media(min-width:721px){
  .chat-panel{
    inset-inline-start:18px!important;
    inset-block-start:clamp(96px,11dvh,132px)!important;
    inset-block-end:auto!important;
    bottom:auto!important;
    block-size:auto!important;
    max-block-size:min(560px,calc(100vh - 220px))!important;
    max-height:min(560px,calc(100vh - 220px))!important;
    min-block-size:420px!important;
    width:min(420px,calc(100vw - 42px))!important;
    grid-template-rows:auto auto minmax(0,1fr) auto auto!important;
    overflow:hidden!important;
  }
  .chat-panel.open{display:grid!important}
  .chat-body{min-block-size:0!important;overflow:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important}
  .chat-chips{max-block-size:108px!important;overflow:auto!important;overscroll-behavior:contain!important;padding-block-end:6px!important}
  .chat-input{flex:0 0 auto!important;min-block-size:76px!important}
}
@supports (height:100dvh){
  @media(min-width:721px){
    .chat-panel{max-block-size:min(560px,calc(100dvh - 220px))!important;max-height:min(560px,calc(100dvh - 220px))!important;}
  }
}
.gallery-card-labels{display:grid!important;gap:9px!important;margin-block:0 12px!important;min-inline-size:0!important;direction:inherit!important;text-align:inherit!important}
.gallery-card-labels.is-modal{margin-block:0 8px!important}
.gallery-chip-group{display:grid!important;gap:5px!important;min-inline-size:0!important;align-items:start!important}
.gallery-chip-group-title{display:block!important;color:var(--brand-dark)!important;font-size:12px!important;font-weight:900!important;line-height:1.25!important;letter-spacing:.01em!important;text-align:inherit!important}
.gallery-chip-list{display:flex!important;flex-wrap:wrap!important;gap:6px!important;min-inline-size:0!important;align-items:center!important;overflow:visible!important}
.gallery-chip-group.is-treatment .gallery-label-chip{background:var(--paper2)!important;color:var(--brand-dark)!important;border-color:var(--line)!important}
.gallery-chip-group.is-attributes .gallery-label-chip{background:#fff!important;color:var(--muted)!important;border-color:rgba(111,83,62,.16)!important}
.gallery-chip-list .gallery-label-chip{display:inline-flex!important;align-items:center!important;max-inline-size:100%!important;border-radius:999px!important;padding:4px 10px!important;font-size:12px!important;font-weight:800!important;line-height:1.25!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.gallery-chip-list .gallery-label-tags-more{display:inline-block!important;position:relative!important;max-inline-size:none!important;flex:0 0 auto!important}
.gallery-chip-list .gallery-label-tags-more>summary{list-style:none;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-inline-size:38px!important;min-block-size:30px!important;border-radius:999px!important;border:1px solid var(--brand-dark)!important;background:var(--brand-dark)!important;color:#fff!important;font-size:12px!important;font-weight:900!important;cursor:pointer!important;padding:4px 9px!important}
.gallery-chip-list .gallery-label-tags-more>summary::-webkit-details-marker{display:none!important}
.gallery-chip-list .gallery-label-tags-more>div{display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin-top:6px!important;min-inline-size:min(260px,calc(100vw - 64px))!important}
.smart-gallery-card .gallery-card-body{gap:8px!important}
.smart-gallery-card .gallery-card-body>b{margin-block-start:0!important}
.smart-gallery-card .gallery-card-body>p:empty{display:none!important}
.gallery-modal-labels{display:block!important;border:0!important;background:transparent!important;border-radius:0!important;padding:0!important;margin-block:0 10px!important}
.gallery-modal-labels[hidden]{display:none!important}
.gallery-modal-labels .gallery-card-labels{border:1px solid var(--line)!important;background:var(--paper2)!important;border-radius:16px!important;padding:10px 12px!important}
.gallery-modal-labels .gallery-chip-list{max-block-size:none!important;overflow:visible!important}
@media(max-width:720px){
  .gallery-card-labels{gap:7px!important;margin-block-end:10px!important}
  .gallery-chip-group-title{font-size:11.5px!important}
  .gallery-chip-list{gap:5px!important}
  .gallery-chip-list .gallery-label-chip{font-size:11px!important;padding:3px 8px!important;max-inline-size:calc(100vw - 96px)!important}
  .gallery-chip-list .gallery-label-tags-more>summary{min-block-size:28px!important;min-inline-size:34px!important;font-size:11px!important;padding:3px 8px!important}
  .smart-gallery-card .share-bar{margin-top:8px!important}
}

/* v124: gallery card title order and resilient, readable media modal metadata. */
.smart-gallery-card .gallery-card-body{
  display:grid!important;
  gap:10px!important;
  align-content:start!important;
}
.smart-gallery-card .gallery-card-body>b{
  order:0!important;
  margin:0!important;
  color:var(--ink)!important;
  font-size:clamp(18px,1.7vw,22px)!important;
  line-height:1.2!important;
  text-align:inherit!important;
}
.smart-gallery-card .gallery-card-labels{
  order:1!important;
  margin-block:2px 10px!important;
}
.smart-gallery-card .gallery-card-body>p{
  order:2!important;
}
.smart-gallery-card .share-bar{
  order:3!important;
}
.gallery-card-labels{
  inline-size:100%!important;
}
.gallery-chip-group{
  border:1px solid rgba(234,223,210,.82)!important;
  background:rgba(248,248,248,.72)!important;
  border-radius:18px!important;
  padding:9px 10px!important;
}
.gallery-chip-group.is-treatment{
  background:linear-gradient(135deg,rgba(248,248,248,.92),rgba(255,255,255,.76))!important;
}
.gallery-chip-group.is-attributes{
  background:#fff!important;
}
.gallery-chip-group-title{
  margin-block-end:1px!important;
}
.gallery-modal{
  place-items:center!important;
  align-items:center!important;
  justify-items:center!important;
  overflow:auto!important;
  padding:calc(18px + env(safe-area-inset-top,0px)) 18px calc(18px + env(safe-area-inset-bottom,0px))!important;
}
.gallery-modal-content{
  inline-size:min(1180px,calc(100vw - 36px))!important;
  max-block-size:calc(100dvh - 36px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;
  min-block-size:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr)!important;
  overflow:hidden!important;
  border-radius:30px!important;
}
.gallery-modal-media{
  min-block-size:0!important;
  block-size:100%!important;
  max-block-size:calc(100dvh - 36px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;
}
.gallery-modal-content .gallery-modal-media img,
.gallery-modal-content img#modalImg{
  inline-size:100%!important;
  block-size:100%!important;
  max-block-size:none!important;
  min-block-size:0!important;
  object-fit:contain!important;
  background:#f6f2ed!important;
}
.gallery-modal-details,
.gallery-modal-content .pad.gallery-modal-details{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  gap:14px!important;
  min-block-size:0!important;
  max-block-size:calc(100dvh - 36px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;
  overflow:auto!important;
  padding:clamp(18px,2.1vw,28px)!important;
  padding-block-end:calc(clamp(18px,2.1vw,28px) + env(safe-area-inset-bottom,0px))!important;
  overscroll-behavior:contain!important;
}
.gallery-modal-details h3{
  margin:0!important;
  font-size:clamp(24px,2.4vw,36px)!important;
  line-height:1.12!important;
  color:var(--ink)!important;
}
.gallery-modal-labels{
  display:block!important;
  margin:0!important;
}
.gallery-modal-labels .gallery-card-labels.is-modal{
  display:grid!important;
  gap:12px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.gallery-modal-labels .gallery-chip-group{
  padding:12px 13px!important;
  border-radius:18px!important;
  border:1px solid var(--line)!important;
  box-shadow:0 12px 30px rgba(44,33,27,.045)!important;
}
.gallery-modal-labels .gallery-chip-group-title{
  color:var(--brand)!important;
  font-size:12.5px!important;
  letter-spacing:.02em!important;
}
.gallery-modal-labels .gallery-chip-list{
  gap:7px!important;
}
.gallery-modal-labels .gallery-label-chip,
.gallery-modal-labels .gallery-label-tags-more>summary{
  min-block-size:30px!important;
}
.gallery-modal-note{
  margin:0!important;
}
.gallery-modal-actions{
  margin-block-start:auto!important;
  padding-block-start:4px!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
}
@media(max-width:820px){
  .gallery-modal{
    place-items:stretch!important;
    align-items:stretch!important;
    padding:calc(8px + env(safe-area-inset-top,0px)) 8px calc(8px + env(safe-area-inset-bottom,0px))!important;
    overflow:hidden!important;
  }
  .gallery-modal-content{
    inline-size:100%!important;
    block-size:calc(100dvh - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;
    max-block-size:calc(100dvh - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;
    grid-template-columns:1fr!important;
    grid-template-rows:minmax(170px,42dvh) minmax(0,1fr)!important;
    border-radius:24px!important;
  }
  .gallery-modal-media{
    block-size:auto!important;
    max-block-size:none!important;
    min-block-size:0!important;
    border-radius:24px 24px 0 0!important;
  }
  .gallery-modal-content .gallery-modal-media img,
  .gallery-modal-content img#modalImg{
    inline-size:100%!important;
    block-size:100%!important;
    object-fit:contain!important;
  }
  .gallery-modal-details,
  .gallery-modal-content .pad.gallery-modal-details{
    max-block-size:none!important;
    overflow:auto!important;
    padding:16px!important;
    padding-block-end:calc(18px + env(safe-area-inset-bottom,0px))!important;
  }
  .gallery-modal-details h3{
    font-size:clamp(22px,7vw,30px)!important;
  }
  .gallery-modal-labels .gallery-chip-group{
    padding:10px!important;
  }
  .gallery-modal-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    margin-block-start:6px!important;
  }
}

/* v125: compact gallery metadata, full-card open affordance, and restored polished modal media. */
.smart-gallery-card{cursor:pointer!important;}
.smart-gallery-card .gallery-open-surface{cursor:pointer!important;}
.smart-gallery-card .gallery-card-body{gap:9px!important;}
.smart-gallery-card .gallery-card-body>b{order:0!important;margin-block:0 2px!important;}
.smart-gallery-card .gallery-card-labels.is-card{order:1!important;display:grid!important;gap:7px!important;margin-block:0 9px!important;}
.smart-gallery-card .gallery-card-labels.is-card .gallery-chip-group{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:8px!important;padding:7px 9px!important;border-radius:16px!important;background:linear-gradient(135deg,rgba(248,248,248,.88),rgba(255,255,255,.78))!important;box-shadow:none!important;}
.smart-gallery-card .gallery-card-labels.is-card .gallery-chip-group-title{margin:0!important;white-space:nowrap!important;font-size:11.5px!important;color:var(--brand-dark)!important;opacity:.92!important;}
.smart-gallery-card .gallery-card-labels.is-card .gallery-chip-list{gap:5px!important;align-items:center!important;min-width:0!important;}
.smart-gallery-card .gallery-card-labels.is-card .gallery-label-chip{min-block-size:28px!important;font-size:11.5px!important;padding:4px 8px!important;max-inline-size:min(100%,190px)!important;}
.smart-gallery-card .gallery-card-labels.is-card .gallery-label-tags-more>summary{min-block-size:28px!important;min-inline-size:34px!important;font-size:11.5px!important;padding:4px 8px!important;}
.smart-gallery-card .gallery-card-body>p:empty,.gallery-modal-details #modalCaption:empty{display:none!important;}
.gallery-modal{padding:calc(12px + env(safe-area-inset-top,0px)) 12px calc(12px + env(safe-area-inset-bottom,0px))!important;}
.gallery-modal-content{inline-size:min(1180px,calc(100vw - 24px))!important;max-block-size:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;}
.gallery-modal-media{background:#fff!important;}
.gallery-modal-details,.gallery-modal-content .pad.gallery-modal-details{gap:10px!important;padding:clamp(16px,1.8vw,24px)!important;padding-block-end:calc(clamp(20px,2vw,30px) + env(safe-area-inset-bottom,0px))!important;scrollbar-gutter:stable both-edges;}
.gallery-modal-details h3{font-size:clamp(24px,2.15vw,34px)!important;margin-block-end:0!important;}
.gallery-modal-labels{margin-block:0 2px!important;}
.gallery-modal-labels .gallery-card-labels.is-modal{gap:8px!important;}
.gallery-modal-labels .gallery-chip-group{display:grid!important;grid-template-columns:minmax(86px,auto) minmax(0,1fr)!important;align-items:center!important;gap:10px!important;padding:9px 11px!important;border-radius:16px!important;background:linear-gradient(135deg,rgba(248,248,248,.9),rgba(255,255,255,.78))!important;box-shadow:none!important;}
.gallery-modal-labels .gallery-chip-group-title{margin:0!important;font-size:12px!important;color:var(--brand-dark)!important;white-space:nowrap!important;}
.gallery-modal-labels .gallery-chip-list{gap:6px!important;}
.gallery-modal-labels .gallery-label-chip,.gallery-modal-labels .gallery-label-tags-more>summary{min-block-size:28px!important;font-size:12px!important;padding:4px 9px!important;}
.gallery-modal-note{font-size:.88rem!important;line-height:1.45!important;padding:10px 12px!important;border:1px solid rgba(234,223,210,.82)!important;border-radius:16px!important;background:rgba(248,248,248,.72)!important;}
.gallery-modal-actions{margin-block-start:2px!important;gap:8px!important;}
@media(min-width:821px){
  .gallery-modal-content .gallery-modal-media img,
  .gallery-modal-content img#modalImg{object-fit:cover!important;background:#fff!important;}
}
@media(max-width:820px){
  .gallery-modal{overflow:hidden!important;padding:calc(8px + env(safe-area-inset-top,0px)) 8px calc(8px + env(safe-area-inset-bottom,0px))!important;}
  .gallery-modal-content{block-size:calc(100dvh - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;max-block-size:calc(100dvh - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;grid-template-rows:minmax(170px,42dvh) minmax(0,1fr)!important;overflow:hidden!important;}
  .gallery-modal-media{min-block-size:0!important;block-size:auto!important;background:#fff!important;}
  .gallery-modal-content .gallery-modal-media img,
  .gallery-modal-content img#modalImg{object-fit:contain!important;background:#fff!important;}
  .gallery-modal-details,.gallery-modal-content .pad.gallery-modal-details{max-block-size:none!important;min-block-size:0!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important;}
  .gallery-modal-labels .gallery-chip-group{grid-template-columns:1fr!important;gap:6px!important;}
}
@media(max-width:560px){
  .smart-gallery-card .gallery-card-labels.is-card .gallery-chip-group{grid-template-columns:1fr!important;gap:6px!important;align-items:start!important;}
  .smart-gallery-card .gallery-card-labels.is-card .gallery-chip-list{justify-content:flex-start!important;}
  html[dir="rtl"] .smart-gallery-card .gallery-card-labels.is-card .gallery-chip-list{justify-content:flex-end!important;}
}

/* v127: gallery metadata stack polish.
   One reusable compact metadata component for card and modal: title above values,
   treatment first, image attributes second, no large stretched group boxes. */
.gallery-card-labels.is-card,
.gallery-card-labels.is-modal{
  direction:inherit!important;
  text-align:inherit!important;
  min-inline-size:0!important;
}
.smart-gallery-card .gallery-card-labels.is-card,
.gallery-modal-labels .gallery-card-labels.is-modal{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
  align-items:start!important;
  margin:0!important;
  min-inline-size:0!important;
}
.smart-gallery-card .gallery-card-labels.is-card{
  margin-block:4px 8px!important;
}
.gallery-modal-labels .gallery-card-labels.is-modal{
  margin-block:2px 3px!important;
  gap:8px!important;
}
.smart-gallery-card .gallery-card-labels.is-card .gallery-chip-group,
.gallery-modal-labels .gallery-card-labels.is-modal .gallery-chip-group{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:4px!important;
  min-inline-size:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.smart-gallery-card .gallery-card-labels.is-card .gallery-chip-group + .gallery-chip-group,
.gallery-modal-labels .gallery-card-labels.is-modal .gallery-chip-group + .gallery-chip-group{
  padding-block-start:2px!important;
}
.smart-gallery-card .gallery-card-labels.is-card .gallery-chip-group-title,
.gallery-modal-labels .gallery-card-labels.is-modal .gallery-chip-group-title{
  display:block!important;
  margin:0!important;
  color:var(--brand-dark)!important;
  font-size:11.5px!important;
  font-weight:950!important;
  line-height:1.15!important;
  letter-spacing:.01em!important;
  opacity:.96!important;
  white-space:nowrap!important;
  text-align:inherit!important;
}
.gallery-modal-labels .gallery-card-labels.is-modal .gallery-chip-group-title{
  font-size:12.25px!important;
}
.smart-gallery-card .gallery-card-labels.is-card .gallery-chip-list,
.gallery-modal-labels .gallery-card-labels.is-modal .gallery-chip-list{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:4px 5px!important;
  align-items:flex-start!important;
  align-content:flex-start!important;
  justify-content:flex-start!important;
  min-inline-size:0!important;
  max-inline-size:100%!important;
  overflow:visible!important;
}
html[dir="rtl"] .smart-gallery-card .gallery-card-labels.is-card .gallery-chip-list,
html[dir="rtl"] .gallery-modal-labels .gallery-card-labels.is-modal .gallery-chip-list{
  justify-content:flex-end!important;
}
.smart-gallery-card .gallery-card-labels.is-card .gallery-label-chip,
.gallery-modal-labels .gallery-card-labels.is-modal .gallery-label-chip{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-block-size:23px!important;
  max-inline-size:100%!important;
  padding:2px 8px!important;
  border-radius:999px!important;
  border:1px solid rgba(234,223,210,.92)!important;
  background:rgba(255,253,249,.92)!important;
  color:var(--brand-dark)!important;
  font-size:11px!important;
  font-weight:850!important;
  line-height:1.18!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  box-shadow:none!important;
}
.smart-gallery-card .gallery-card-labels.is-card .gallery-label-chip{
  max-inline-size:min(100%,142px)!important;
}
.smart-gallery-card .gallery-card-labels.is-card .gallery-chip-group.is-treatment .gallery-label-chip,
.gallery-modal-labels .gallery-card-labels.is-modal .gallery-chip-group.is-treatment .gallery-label-chip{
  background:rgba(248,248,248,.96)!important;
  border-color:rgba(225,214,202,.96)!important;
}
.smart-gallery-card .gallery-card-labels.is-card .gallery-label-chip.is-more{
  min-inline-size:32px!important;
  background:var(--brand-dark)!important;
  border-color:var(--brand-dark)!important;
  color:#fff!important;
  font-weight:950!important;
}
.gallery-modal-labels .gallery-card-labels.is-modal .gallery-label-chip{
  min-block-size:25px!important;
  padding:3px 9px!important;
  font-size:11.5px!important;
}
.gallery-modal-details,
.gallery-modal-content .pad.gallery-modal-details{
  gap:8px!important;
}
.gallery-modal-details h3{
  margin-block-end:1px!important;
}
@media(max-width:560px){
  .smart-gallery-card .gallery-card-labels.is-card{
    gap:6px!important;
    margin-block:2px 7px!important;
  }
  .smart-gallery-card .gallery-card-labels.is-card .gallery-chip-group-title{
    font-size:11px!important;
  }
  .smart-gallery-card .gallery-card-labels.is-card .gallery-label-chip{
    min-block-size:22px!important;
    padding:2px 7px!important;
    font-size:10.75px!important;
    max-inline-size:min(100%,126px)!important;
  }
  .gallery-modal-labels .gallery-card-labels.is-modal{
    gap:7px!important;
  }
}

/* v128: locale-aware metadata value alignment.
   Keep the v127 compact stack, but align chip rows to the reading start of the active language. */
.smart-gallery-card .gallery-card-labels.is-card .gallery-chip-group,
.gallery-modal-labels .gallery-card-labels.is-modal .gallery-chip-group{
  direction:inherit!important;
  text-align:start!important;
}
.smart-gallery-card .gallery-card-labels.is-card .gallery-chip-group[dir="rtl"],
.gallery-modal-labels .gallery-card-labels.is-modal .gallery-chip-group[dir="rtl"],
.smart-gallery-card .gallery-card-labels.is-card .gallery-chip-list[dir="rtl"],
.gallery-modal-labels .gallery-card-labels.is-modal .gallery-chip-list[dir="rtl"]{
  direction:rtl!important;
  text-align:right!important;
}
.smart-gallery-card .gallery-card-labels.is-card .gallery-chip-group[dir="ltr"],
.gallery-modal-labels .gallery-card-labels.is-modal .gallery-chip-group[dir="ltr"],
.smart-gallery-card .gallery-card-labels.is-card .gallery-chip-list[dir="ltr"],
.gallery-modal-labels .gallery-card-labels.is-modal .gallery-chip-list[dir="ltr"]{
  direction:ltr!important;
  text-align:left!important;
}
.smart-gallery-card .gallery-card-labels.is-card .gallery-chip-list,
.gallery-modal-labels .gallery-card-labels.is-modal .gallery-chip-list{
  inline-size:100%!important;
  justify-content:flex-start!important;
}
.smart-gallery-card .gallery-card-labels.is-card .gallery-chip-list[dir="rtl"],
.gallery-modal-labels .gallery-card-labels.is-modal .gallery-chip-list[dir="rtl"]{
  justify-content:flex-end!important;
}
.smart-gallery-card .gallery-card-labels.is-card .gallery-chip-list[dir="ltr"],
.gallery-modal-labels .gallery-card-labels.is-modal .gallery-chip-list[dir="ltr"]{
  justify-content:flex-start!important;
}
.smart-gallery-card .gallery-card-labels.is-card .gallery-chip-group-title,
.gallery-modal-labels .gallery-card-labels.is-modal .gallery-chip-group-title{
  text-align:start!important;
}
.smart-gallery-card .gallery-card-labels.is-card .gallery-label-chip,
.gallery-modal-labels .gallery-card-labels.is-modal .gallery-label-chip{
  direction:inherit!important;
}


/* v129: gallery metadata direction and modal share containment.
   The metadata component now aligns value chips by the active managed-locale direction,
   independent of surrounding modal/card layout rules. The inline share panel is kept
   within the modal content box on narrow and wide viewports. */
.gallery-card-labels.is-card[data-locale-dir="rtl"],
.gallery-card-labels.is-modal[data-locale-dir="rtl"],
.gallery-card-labels.is-card[dir="rtl"],
.gallery-card-labels.is-modal[dir="rtl"]{
  direction:rtl!important;
  text-align:right!important;
}
.gallery-card-labels.is-card[data-locale-dir="ltr"],
.gallery-card-labels.is-modal[data-locale-dir="ltr"],
.gallery-card-labels.is-card[dir="ltr"],
.gallery-card-labels.is-modal[dir="ltr"]{
  direction:ltr!important;
  text-align:left!important;
}
.gallery-card-labels.is-card[data-locale-dir="rtl"] .gallery-chip-group,
.gallery-card-labels.is-modal[data-locale-dir="rtl"] .gallery-chip-group,
.gallery-chip-group[data-locale-dir="rtl"]{
  direction:rtl!important;
  text-align:right!important;
  justify-items:end!important;
}
.gallery-card-labels.is-card[data-locale-dir="ltr"] .gallery-chip-group,
.gallery-card-labels.is-modal[data-locale-dir="ltr"] .gallery-chip-group,
.gallery-chip-group[data-locale-dir="ltr"]{
  direction:ltr!important;
  text-align:left!important;
  justify-items:start!important;
}
.gallery-card-labels.is-card[data-locale-dir="rtl"] .gallery-chip-group-title,
.gallery-card-labels.is-modal[data-locale-dir="rtl"] .gallery-chip-group-title,
.gallery-chip-group-title[data-locale-dir="rtl"]{
  inline-size:100%!important;
  text-align:right!important;
}
.gallery-card-labels.is-card[data-locale-dir="ltr"] .gallery-chip-group-title,
.gallery-card-labels.is-modal[data-locale-dir="ltr"] .gallery-chip-group-title,
.gallery-chip-group-title[data-locale-dir="ltr"]{
  inline-size:100%!important;
  text-align:left!important;
}
.gallery-card-labels.is-card .gallery-chip-list,
.gallery-card-labels.is-modal .gallery-chip-list,
.gallery-chip-list[data-locale-dir]{
  inline-size:100%!important;
  max-inline-size:100%!important;
  min-inline-size:0!important;
}
.gallery-card-labels.is-card[data-locale-dir="rtl"] .gallery-chip-list,
.gallery-card-labels.is-modal[data-locale-dir="rtl"] .gallery-chip-list,
.gallery-chip-list[data-locale-dir="rtl"]{
  direction:ltr!important;
  flex-direction:row-reverse!important;
  justify-content:flex-start!important;
  text-align:right!important;
}
.gallery-card-labels.is-card[data-locale-dir="ltr"] .gallery-chip-list,
.gallery-card-labels.is-modal[data-locale-dir="ltr"] .gallery-chip-list,
.gallery-chip-list[data-locale-dir="ltr"]{
  direction:ltr!important;
  flex-direction:row!important;
  justify-content:flex-start!important;
  text-align:left!important;
}
.gallery-card-labels.is-card[data-locale-dir="rtl"] .gallery-label-chip,
.gallery-card-labels.is-modal[data-locale-dir="rtl"] .gallery-label-chip,
.gallery-chip-list[data-locale-dir="rtl"] .gallery-label-chip{
  direction:rtl!important;
  text-align:right!important;
  unicode-bidi:plaintext!important;
}
.gallery-card-labels.is-card[data-locale-dir="ltr"] .gallery-label-chip,
.gallery-card-labels.is-modal[data-locale-dir="ltr"] .gallery-label-chip,
.gallery-chip-list[data-locale-dir="ltr"] .gallery-label-chip{
  direction:ltr!important;
  text-align:left!important;
  unicode-bidi:plaintext!important;
}
.modal-share-slot{
  inline-size:100%!important;
  max-inline-size:100%!important;
  min-inline-size:0!important;
  overflow:hidden!important;
  contain:inline-size!important;
}
.modal-share-slot .inline-share{
  inline-size:100%!important;
  max-inline-size:100%!important;
  min-inline-size:0!important;
  overflow:hidden!important;
}
.modal-share-slot .inline-share,
.modal-share-slot .inline-share *{
  box-sizing:border-box!important;
  min-inline-size:0!important;
}
.gallery-modal-content .inline-share-actions{
  inline-size:100%!important;
  max-inline-size:100%!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  overflow:hidden!important;
}
.gallery-modal-content .inline-share-btn{
  inline-size:100%!important;
  max-inline-size:100%!important;
  min-inline-size:0!important;
  overflow:hidden!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
}
.gallery-modal-content .inline-share-btn span{
  min-inline-size:0!important;
  max-inline-size:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
@media(max-width:620px){
  .gallery-modal-content .inline-share-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:360px){
  .gallery-modal-content .inline-share-actions{grid-template-columns:1fr!important;}
}

/* v130: modal share action sizing.
   Keeps all inline share actions readable inside the modal frame without clipping labels. */
.gallery-modal-content .modal-share-slot{
  inline-size:100%!important;
  max-inline-size:100%!important;
  min-inline-size:0!important;
  overflow:hidden!important;
}
.gallery-modal-content .inline-share{
  inline-size:100%!important;
  max-inline-size:100%!important;
  min-inline-size:0!important;
  overflow:hidden!important;
  padding:10px!important;
  gap:8px!important;
}
.gallery-modal-content .inline-share-title{
  font-size:.92rem!important;
  line-height:1.2!important;
}
.gallery-modal-content .inline-share-actions{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,104px),1fr))!important;
  gap:6px!important;
  inline-size:100%!important;
  max-inline-size:100%!important;
  min-inline-size:0!important;
  overflow:visible!important;
  align-items:stretch!important;
}
.gallery-modal-content .inline-share-btn{
  inline-size:100%!important;
  max-inline-size:100%!important;
  min-inline-size:0!important;
  min-block-size:38px!important;
  padding:6px 7px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  font-size:clamp(12px,2.3vw,14px)!important;
  line-height:1.12!important;
  letter-spacing:0!important;
  white-space:normal!important;
  overflow:visible!important;
  text-align:center!important;
}
.gallery-modal-content .inline-share-btn svg{
  inline-size:16px!important;
  block-size:16px!important;
  flex:0 0 16px!important;
}
.gallery-modal-content .inline-share-btn span{
  display:inline-block!important;
  min-inline-size:0!important;
  max-inline-size:100%!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  font-size:inherit!important;
  line-height:inherit!important;
}
@media(max-width:420px){
  .gallery-modal-content .inline-share{padding:9px!important;gap:7px!important;}
  .gallery-modal-content .inline-share-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;}
  .gallery-modal-content .inline-share-btn{min-block-size:37px!important;padding-inline:6px!important;font-size:12px!important;gap:3px!important;}
  .gallery-modal-content .inline-share-btn svg{inline-size:15px!important;block-size:15px!important;flex-basis:15px!important;}
}
/* v131 patient OTP login: compact, accessible secondary action inside existing login form. */
.login-otp-actions{margin-block:-4px 0}.login-otp-actions .btn{inline-size:100%;min-height:44px}.login-status.success{border-color:rgba(36,128,82,.28);background:rgba(36,128,82,.08)}.login-status.error{border-color:rgba(163,70,54,.3);background:rgba(163,70,54,.08)}

/* v135: keep gallery modal image loader state deterministic after cached/racing image loads. */
.gallery-modal-image-status:empty{display:none!important}
.gallery-modal-media img:not(.is-loading)+.gallery-modal-image-status:empty{display:none!important}

/* v137: AI chat prompt controls live near the composer, not inside the message stream. */
.chat-panel{grid-template-rows:auto auto minmax(0,1fr) auto auto!important;}
.chat-prompt-controls{
  border-block-start:1px solid var(--line);
  background:var(--paper);
  padding:8px 12px 0;
  min-inline-size:0;
}
.chat-prompt-summary{
  inline-size:100%;
  min-block-size:36px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface,#fff);
  color:var(--ink);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:6px 10px;
  font-weight:800;
  font-size:.86rem;
  cursor:pointer;
  box-shadow:0 6px 18px rgba(62,45,34,.06);
}
.chat-prompt-summary:focus-visible{outline:3px solid rgba(159,122,91,.32);outline-offset:2px;}
.chat-prompt-summary i{
  inline-size:22px;
  block-size:22px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(159,122,91,.12);
  color:var(--brand);
  font-style:normal;
  font-weight:900;
  flex:0 0 auto;
}
.chat-prompt-controls .chat-chips{
  padding:8px 0 8px!important;
  max-block-size:76px!important;
  overflow:auto!important;
  gap:6px!important;
  align-content:flex-start!important;
}
.chat-prompt-controls .chat-chips[hidden]{display:none!important;}
.chat-prompt-controls .chat-chips button{
  min-block-size:34px!important;
  padding:5px 9px!important;
  font-size:12px!important;
  line-height:1.15!important;
}
.chat-input{border-block-start:0!important;}
@media(max-width:720px){
  .chat-prompt-controls{padding:7px 10px 0;}
  .chat-prompt-summary{min-block-size:34px;font-size:.82rem;padding-inline:9px;}
  .chat-prompt-controls .chat-chips{max-block-size:68px!important;gap:5px!important;}
  .chat-prompt-controls .chat-chips button{min-block-size:32px!important;padding:5px 8px!important;font-size:11.5px!important;}
}

/* v138 chat UX: keep quick options compact, dismissible, and outside the message flow */
.chat-panel.open{grid-template-rows:auto auto minmax(180px,1fr) auto auto}.chat-body{min-height:0}.chat-prompt-controls{position:relative;z-index:6;padding:8px 12px 6px;background:rgba(255,253,249,.96);border-top:1px solid var(--line)}.chat-prompt-summary{width:100%;min-height:38px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--brand-dark);font-weight:900;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 12px;cursor:pointer;box-shadow:var(--shadow-soft)}.chat-prompt-summary span{font-size:13px;line-height:1.2}.chat-prompt-summary i{font-style:normal;inline-size:24px;block-size:24px;border-radius:999px;background:var(--paper2);display:inline-grid;place-items:center;flex:0 0 auto}.chat-prompt-controls .chat-chips{position:absolute;inset-inline:12px;bottom:calc(100% + 8px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;background:rgba(255,253,249,.98);border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 48px rgba(44,33,27,.16);max-height:none;overflow:visible}.chat-prompt-controls .chat-chips[hidden]{display:none!important}.chat-prompt-controls .chat-chips button{min-height:36px;border-radius:999px;padding:7px 9px;font-size:12.5px;line-height:1.2;font-weight:850;white-space:normal;text-align:center;overflow:visible;text-overflow:clip;box-shadow:none}.chat-prompt-controls.expanded .chat-prompt-summary{background:var(--paper2)}@media(max-width:480px){.chat-panel{max-height:calc(100vh - 88px);bottom:88px}.chat-prompt-controls .chat-chips{grid-template-columns:1fr;gap:7px;padding:9px}.chat-prompt-controls .chat-chips button{min-height:34px;font-size:12px;padding:6px 8px}}

/* v139 chat UX: quick options are closed by default; when opened they stay at the bottom, compact, readable, and never scroll inside themselves. */
.chat-panel.open{grid-template-rows:auto auto minmax(170px,1fr) auto auto!important;}
.chat-prompt-controls{position:relative!important;z-index:6!important;padding:7px 12px 6px!important;background:rgba(255,253,249,.97)!important;border-top:1px solid var(--line)!important;}
.chat-prompt-summary{min-block-size:36px!important;padding:6px 11px!important;}
.chat-prompt-summary span{font-size:12.5px!important;}
.chat-prompt-summary i{inline-size:23px!important;block-size:23px!important;}
.chat-prompt-controls .chat-chips{position:static!important;inset:auto!important;bottom:auto!important;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(118px,1fr))!important;gap:6px!important;padding:6px 0 2px!important;margin:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;max-block-size:none!important;max-height:none!important;overflow:visible!important;}
.chat-prompt-controls .chat-chips[hidden]{display:none!important;}
.chat-prompt-controls .chat-chips button{min-block-size:30px!important;padding:4px 8px!important;font-size:11.5px!important;line-height:1.14!important;font-weight:850!important;white-space:normal!important;text-align:center!important;overflow:visible!important;text-overflow:clip!important;box-shadow:none!important;}
@media(max-width:480px){.chat-panel{max-height:calc(100vh - 84px)!important;bottom:86px!important}.chat-prompt-controls{padding:6px 10px 5px!important}.chat-prompt-controls .chat-chips{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important}.chat-prompt-controls .chat-chips button{min-block-size:29px!important;font-size:11px!important;padding:4px 6px!important}}

/* v140 chat UX: keep quick options compact at the bottom without pushing the input/send controls out of view. */
.chat-panel.open{
  grid-template-rows:auto auto minmax(0,1fr) auto auto!important;
  overflow:hidden!important;
}
.chat-body{
  min-block-size:0!important;
  min-height:0!important;
  overflow:auto!important;
}
.chat-prompt-controls{
  flex:0 0 auto!important;
  padding:6px 10px 4px!important;
}
.chat-input{
  flex:0 0 auto!important;
  padding:9px 10px 10px!important;
}
.chat-prompt-controls .chat-chips{
  position:static!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:5px!important;
  padding:5px 0 0!important;
  margin:0!important;
  max-block-size:none!important;
  max-height:none!important;
  overflow:visible!important;
}
.chat-prompt-controls .chat-chips button{
  min-block-size:28px!important;
  padding:4px 6px!important;
  font-size:10.8px!important;
  line-height:1.12!important;
  letter-spacing:0!important;
}
@supports (height:100dvh){
  @media(max-width:720px){.chat-panel{max-height:calc(100dvh - 84px)!important;}}
}
@media(max-width:480px){
  .chat-panel.open{grid-template-rows:auto auto minmax(0,1fr) auto auto!important;}
  .chat-prompt-summary{min-block-size:32px!important;padding:5px 9px!important;}
  .chat-prompt-summary span{font-size:11.5px!important;}
  .chat-prompt-controls .chat-chips{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4px!important;}
  .chat-prompt-controls .chat-chips button{min-block-size:27px!important;font-size:10.4px!important;padding:3px 5px!important;}
  .chat-input input{min-block-size:42px!important;padding-block:9px!important;}
  .chat-input button{min-block-size:42px!important;}
}

/* v145 — direction-aware desktop/navigation parity.
   Preserve the approved Hebrew/RTL header, but let LTR languages use a natural LTR order:
   logo at the left, navigation flowing left-to-right, primary CTA at the far end.
   This fixes the English header without changing labels, links, media, or mobile drawer behavior. */
@media (min-width:1321px){
  html[dir="ltr"] .topbar .nav{
    direction:ltr!important;
    grid-template-columns:auto minmax(0,1fr)!important;
  }
  html[dir="ltr"] .topbar .brand{
    grid-column:1!important;
    justify-self:start!important;
  }
  html[dir="ltr"] .topbar .menu-toggle{
    grid-column:2!important;
    justify-self:end!important;
  }
  html[dir="ltr"] .topbar .nav-links{
    grid-column:2!important;
    grid-row:1!important;
    direction:ltr!important;
    justify-content:flex-end!important;
    margin-inline-start:0!important;
    margin-inline-end:0!important;
  }
  html[dir="ltr"] .topbar .nav-links a,
  html[dir="ltr"] .topbar .nav-links button{
    text-align:center!important;
  }
}
@media (max-width:1320px){
  html[dir="ltr"] .topbar .nav{
    direction:ltr!important;
    grid-template-columns:auto minmax(0,1fr)!important;
  }
  html[dir="ltr"] .topbar .brand{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:start!important;
  }
  html[dir="ltr"] .topbar .menu-toggle{
    grid-column:2!important;
    grid-row:1!important;
    justify-self:end!important;
    margin-inline-start:0!important;
    margin-inline-end:0!important;
  }
  html[dir="ltr"] .topbar .nav-links,
  html[dir="ltr"] .topbar .nav-links.open{
    direction:ltr!important;
  }
  html[dir="ltr"] .topbar .nav-links a,
  html[dir="ltr"] .topbar .nav-links button{
    justify-content:flex-start!important;
    text-align:start!important;
  }
}
@media (max-width:420px){
  html[dir="ltr"] .topbar .brand{max-inline-size:52vw!important;}
}

/* v146 — LTR desktop navigation logo collision fix.
   Root cause: English/LTR desktop menu now flows in the correct direction, but the first nav item
   could start too close to the visual logo mark. Reserve a real brand column and use a direction-aware
   column gap so nav links never overlap the logo, while preserving the approved RTL/Hebrew layout. */
@media (min-width:1321px){
  html[dir="ltr"] .topbar .nav{
    display:grid!important;
    grid-template-columns:minmax(clamp(214px,13vw,246px),auto) minmax(0,1fr)!important;
    align-items:center!important;
    column-gap:clamp(28px,2.4vw,48px)!important;
    direction:ltr!important;
  }
  html[dir="ltr"] .topbar .brand{
    grid-column:1!important;
    justify-self:start!important;
    align-self:center!important;
    inline-size:clamp(214px,13vw,246px)!important;
    min-inline-size:clamp(214px,13vw,246px)!important;
    max-inline-size:clamp(214px,13vw,246px)!important;
    overflow:visible!important;
    z-index:2!important;
  }
  html[dir="ltr"] .topbar .brand-logo{
    inline-size:100%!important;
    width:100%!important;
    max-inline-size:100%!important;
    object-fit:contain!important;
  }
  html[dir="ltr"] .topbar .nav-links{
    grid-column:2!important;
    grid-row:1!important;
    min-inline-size:0!important;
    inline-size:100%!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:clamp(3px,.42vw,8px)!important;
    margin:0!important;
    direction:ltr!important;
  }
  html[dir="ltr"] .topbar .nav-links a,
  html[dir="ltr"] .topbar .nav-links button{
    flex:0 1 auto!important;
    min-inline-size:max-content!important;
    white-space:nowrap!important;
  }
  html[dir="ltr"] .topbar .nav-links .lang-switch,
  html[dir="ltr"] .topbar .nav-links .nav-cta{
    flex:0 0 auto!important;
  }
}

/* v147 — LTR navigation overlap hardening.
   Root cause: English navigation labels are longer than Hebrew labels and the base desktop
   header was still constrained by the older 1220px nav width. When the flex row became wider
   than its grid track, it overflowed backwards into the logo area. The fix is structural:
   give LTR desktop a wider header canvas, reserve a real logo track, start the menu after the
   logo instead of end-aligning it back toward the logo, and switch LTR to the existing drawer
   before the menu becomes too dense. Hebrew/RTL layout is untouched. */
@media (min-width:1321px){
  html[dir="ltr"] .topbar .nav{
    inline-size:min(1560px,100%)!important;
    width:min(1560px,100%)!important;
    grid-template-columns:minmax(190px,220px) minmax(0,1fr)!important;
    column-gap:clamp(14px,1.15vw,22px)!important;
    padding-inline:clamp(16px,1.55vw,26px)!important;
    direction:ltr!important;
  }
  html[dir="ltr"] .topbar .brand{
    grid-column:1!important;
    justify-self:start!important;
    inline-size:clamp(188px,10.6vw,220px)!important;
    min-inline-size:clamp(188px,10.6vw,220px)!important;
    max-inline-size:clamp(188px,10.6vw,220px)!important;
    overflow:visible!important;
    z-index:2!important;
  }
  html[dir="ltr"] .topbar .brand-logo{
    inline-size:100%!important;
    width:100%!important;
    max-inline-size:100%!important;
    display:block!important;
    object-fit:contain!important;
  }
  html[dir="ltr"] .topbar .nav-links{
    grid-column:2!important;
    grid-row:1!important;
    inline-size:100%!important;
    min-inline-size:0!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex-wrap:nowrap!important;
    gap:clamp(3px,.34vw,7px)!important;
    direction:ltr!important;
    overflow:visible!important;
  }
  html[dir="ltr"] .topbar .nav-links a,
  html[dir="ltr"] .topbar .nav-links button{
    flex:0 0 auto!important;
    min-inline-size:auto!important;
    max-inline-size:none!important;
    white-space:nowrap!important;
    padding-inline:clamp(5px,.42vw,8px)!important;
    font-size:clamp(12px,.72vw,14px)!important;
    line-height:1.12!important;
  }
  html[dir="ltr"] .topbar .nav-links .lang-switch{
    flex:0 0 auto!important;
    margin-inline-start:auto!important;
  }
  html[dir="ltr"] .topbar .nav-links .nav-cta{
    flex:0 0 auto!important;
    min-block-size:50px!important;
    padding-inline:clamp(16px,1.25vw,22px)!important;
  }
}

/* English labels need an earlier responsive fallback than Hebrew. Use the already-approved
   accessible drawer instead of squeezing the desktop menu until it collides with the brand. */
@media (min-width:1321px) and (max-width:1460px){
  html[dir="ltr"] .topbar .nav{
    grid-template-columns:auto auto!important;
    justify-content:space-between!important;
    min-block-size:86px!important;
  }
  html[dir="ltr"] .topbar .brand{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:start!important;
  }
  html[dir="ltr"] .topbar .menu-toggle{
    display:inline-flex!important;
    grid-column:2!important;
    grid-row:1!important;
    justify-self:end!important;
    margin:0!important;
  }
  html[dir="ltr"] .topbar .nav-links{
    display:none!important;
    position:absolute!important;
    top:calc(100% + 10px)!important;
    left:16px!important;
    right:16px!important;
    inline-size:auto!important;
    background:#fff!important;
    border:1px solid var(--line)!important;
    border-radius:24px!important;
    box-shadow:var(--shadow)!important;
    padding:12px!important;
    flex-direction:column!important;
    align-items:stretch!important;
    direction:ltr!important;
    z-index:320!important;
  }
  html[dir="ltr"] .topbar .nav-links.open{
    display:flex!important;
    max-height:calc(100vh - 104px)!important;
    overflow:auto!important;
  }
  html[dir="ltr"] .topbar .nav-links a,
  html[dir="ltr"] .topbar .nav-links button{
    inline-size:100%!important;
    justify-content:flex-start!important;
    text-align:start!important;
    font-size:16px!important;
    padding-inline:14px!important;
    white-space:normal!important;
  }
  html[dir="ltr"] .topbar .nav-links .lang-switch{
    inline-size:auto!important;
    align-self:flex-start!important;
    margin-inline-start:0!important;
  }
  html[dir="ltr"] .topbar .nav-links .nav-cta{
    inline-size:100%!important;
    justify-content:center!important;
  }
}

/* v148 — LTR navigation action-group spacing + shorter article label.
   Keep v147's collision-safe LTR flow, but remove the large auto spacer between the last
   navigation link and the language/CTA controls. English labels are longer than Hebrew, so
   the desktop row should remain a single readable cluster after the reserved logo column,
   while still falling back to the existing drawer before it gets crowded. */
@media (min-width:1461px){
  html[dir="ltr"] .topbar .nav-links{
    justify-content:flex-start!important;
    gap:clamp(7px,.54vw,11px)!important;
    inline-size:auto!important;
    width:auto!important;
    max-inline-size:100%!important;
  }
  html[dir="ltr"] .topbar .nav-links .lang-switch{
    margin-inline-start:clamp(10px,.72vw,16px)!important;
  }
  html[dir="ltr"] .topbar .nav-links .nav-cta{
    margin-inline-start:clamp(3px,.32vw,7px)!important;
  }
  html[dir="ltr"] .topbar .nav-links a,
  html[dir="ltr"] .topbar .nav-links button{
    padding-inline:clamp(6px,.48vw,9px)!important;
  }
}
/* v149 personalized patient care guidance */
.patient-ai-care{display:grid;gap:18px;background:linear-gradient(135deg,rgba(255,253,249,.96),rgba(244,237,228,.82))}
.patient-ai-care-hero{display:grid;gap:8px}
.patient-ai-care-hero h2{margin-bottom:2px}
.patient-ai-care-hero small{color:var(--muted);font-weight:800}
.patient-ai-care-list{display:grid;gap:12px}
.patient-ai-care-item{background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px 18px;box-shadow:var(--shadow-soft);overflow-wrap:anywhere;word-break:break-word;position:relative}
.patient-ai-care-item.high{border-color:#d7b08d;background:#fffaf4}
.patient-ai-care-item.low{background:rgba(255,255,255,.72);box-shadow:none}
.patient-ai-care-item.expired{background:rgba(255,255,255,.68);border-style:dashed;box-shadow:none;opacity:.82}
.patient-ai-care-item.upcoming{background:#fffdf8}
.patient-ai-care-item-head{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:6px}
.patient-ai-care-item-head b{font-size:18px;color:var(--ink)}
.patient-ai-care-status{border:1px solid rgba(154,113,79,.24);background:var(--paper2);color:var(--brand-dark);border-radius:999px;padding:4px 9px;font-size:12px;font-weight:900;white-space:nowrap;line-height:1.2}
.patient-ai-care-status.active{background:#f8f0e8;border-color:#d7b08d;color:#4a3428}
.patient-ai-care-status.upcoming{background:#fff;border-color:#e7d6c5;color:#8b6a4f}
.patient-ai-care-status.expired{background:#f6f4f1;border-color:#ded7cf;color:#887a70}
.patient-ai-care-meta{display:block;color:var(--brand);font-weight:900;margin-bottom:6px}
.patient-ai-care-validity{display:inline-flex;align-items:center;max-width:100%;border:1px solid rgba(154,113,79,.18);background:rgba(244,237,228,.62);border-radius:999px;padding:5px 10px;margin:0 0 8px;color:var(--muted);font-size:13px;font-weight:850;line-height:1.35}
.patient-ai-care-item.expired .patient-ai-care-validity{background:#f8f8f7;border-color:#e2ded9}
.patient-ai-care-item p{margin:0;color:var(--muted)}
.patient-ai-care-safety{background:#fff;border:1px solid #e7c2aa;border-radius:22px;padding:16px 18px}
.patient-ai-care-safety h3{margin-bottom:8px}
.patient-ai-care-safety ul{margin:0;padding-inline-start:20px;color:var(--muted)}
html[dir=rtl] .patient-ai-care-safety ul{padding-inline-start:0;padding-inline-end:20px}
.patient-ai-care-disclaimer{font-size:15px;margin:0}
@media(max-width:700px){.patient-ai-care{gap:14px}.patient-ai-care-item{padding:14px}.patient-ai-care-item-head{align-items:flex-start}.patient-ai-care-status{font-size:11px;padding:3px 8px}.patient-ai-care-validity{font-size:12px;border-radius:14px}}



/* v153 — customer-facing patient area and readable Google Reviews cards.
   Patient status messages avoid internal integration names in the customer UI.
   Reviews keep the verified Google text intact: no line clamp, no artificial height cap. */
.patient-hero .secure-note{
  max-inline-size:820px;
}
.patient-integration-note[role="status"]{
  justify-content:flex-start;
  gap:10px;
}
.google-reviews-trust.has-review-items:not(.is-compact) .google-review-panel{
  inline-size:100%;
}
.google-reviews-trust.has-review-items:not(.is-compact) .google-review-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  inline-size:100%;
  gap:14px!important;
  align-items:stretch;
}
.google-reviews-trust.has-review-items:not(.is-compact) .google-review-item{
  inline-size:100%;
  min-block-size:0;
  block-size:auto;
  display:grid;
  gap:10px;
  align-content:start;
  padding:clamp(16px,2vw,22px);
  border-radius:22px;
}
.google-reviews-trust.has-review-items:not(.is-compact) .google-review-item-head{
  align-items:flex-start;
}
.google-reviews-trust.has-review-items:not(.is-compact) .google-review-item p{
  display:block!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:unset!important;
  overflow:visible!important;
  max-block-size:none!important;
  margin:0;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
  line-height:1.65;
}
.google-reviews-trust.has-review-items:not(.is-compact) .google-review-item small{
  display:block;
  margin-top:2px;
}
@media(min-width:861px){
  .google-reviews-trust.has-review-items:not(.is-compact) .google-review-list{
    grid-template-columns:1fr!important;
  }
  .google-reviews-trust.has-review-items:not(.is-compact) .google-review-item{
    border-radius:20px;
  }
}
@media(max-width:860px){
  .google-reviews-trust.has-review-items:not(.is-compact) .google-review-list{
    grid-template-columns:1fr!important;
  }
  .google-reviews-trust.has-review-items:not(.is-compact) .google-review-item{
    padding:16px;
    border-radius:20px;
  }
  .google-reviews-trust.has-review-items:not(.is-compact) .google-review-item-head{
    gap:8px;
  }
}

/* v154 — Google Reviews render fail-safe.
   The reviews surface must remain visible while the BFF response is loading/unavailable, without inventing ratings or review text. */
.google-reviews-trust.is-loading:not(.is-compact) .google-reviews-card,
.google-reviews-trust.is-safe-fallback:not(.is-compact) .google-reviews-card{
  min-block-size:0;
}
.google-reviews-loading-row{
  font-weight:900;
  color:var(--brand-dark);
}
.google-reviews-trust.is-loading .google-reviews-loading-row span::before{
  content:"";
  display:inline-block;
  inline-size:.72em;
  block-size:.72em;
  margin-inline-end:8px;
  border-radius:999px;
  border:2px solid currentColor;
  border-inline-start-color:transparent;
  vertical-align:-.08em;
  animation:google-reviews-spin .9s linear infinite;
}
html[dir="rtl"] .google-reviews-trust.is-loading .google-reviews-loading-row span::before{margin-inline-end:0;margin-inline-start:8px;}
@keyframes google-reviews-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.google-reviews-trust.is-loading .google-reviews-loading-row span::before{animation:none}}
.google-reviews-trust.has-review-items:not(.is-compact) .google-review-item{
  max-block-size:none!important;
  overflow:visible!important;
}
.google-reviews-trust.has-review-items:not(.is-compact) .google-review-item p{
  text-overflow:clip!important;
}
.footer .google-reviews-trust.is-compact.is-loading .google-reviews-card,
.footer .google-reviews-trust.is-compact.is-safe-fallback .google-reviews-card{
  display:block;
}
.footer .google-reviews-trust.is-compact .google-reviews-loading-row{
  font-size:.92rem;
  line-height:1.45;
}

/* v155 — Patient dynamic care guidance: active-summary task and snapshot sections */
.patient-task-summary{margin:8px 0 0;padding-inline-start:18px;color:var(--muted);display:grid;gap:5px;font-size:14px;line-height:1.55}
html[dir=rtl] .patient-task-summary{padding-inline-start:0;padding-inline-end:18px}
.patient-task-summary li{margin:0}
.patient-ai-care-snapshot{font-size:16px;line-height:1.35;color:var(--brand-dark);font-weight:950;margin:4px 0 -2px;padding:0 4px}
.patient-ai-care-meta{color:var(--brand-dark)}
.patient-ai-care-item-head{min-width:0}
.patient-ai-care-item-head b{min-width:0;overflow-wrap:anywhere}
@media(max-width:700px){.patient-task-summary{font-size:13px}.patient-ai-care-snapshot{font-size:15px;margin-top:2px}.patient-ai-care-item-head{gap:8px}.patient-ai-care-status{min-height:24px;display:inline-flex;align-items:center}}

/* v156 — Patient care summary readability + range-grouped instruction cards */
.patient-task.has-summary{
  grid-template-columns:minmax(0,1fr);
  align-items:start;
  gap:12px;
  padding:16px 18px;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(248,244,238,.9));
}
.patient-task.has-summary .patient-task-copy{
  display:grid;
  gap:8px;
  min-width:0;
  max-width:100%;
}
.patient-task.has-summary b{
  font-size:18px;
  line-height:1.25;
  color:var(--ink);
}
.patient-task.has-summary span{
  display:block;
  line-height:1.55;
  color:var(--muted);
  max-width:66ch;
}
.patient-task-summary{
  margin:2px 0 0;
  padding-inline-start:1.25rem;
  color:var(--ink);
  display:grid;
  gap:7px;
  line-height:1.55;
  max-width:68ch;
}
html[dir=rtl] .patient-task-summary{padding-inline-start:0;padding-inline-end:1.25rem}
.patient-task-summary li{padding-inline-start:2px;overflow-wrap:anywhere;word-break:normal}
.patient-task.has-summary .link-button{
  justify-self:start;
  min-height:32px;
  padding:6px 0;
}
html[dir=ltr] .patient-task.has-summary .link-button{justify-self:start}
.patient-ai-care-bullets{
  margin:2px 0 0;
  padding-inline-start:1.25rem;
  display:grid;
  gap:8px;
  color:var(--muted);
  line-height:1.62;
}
html[dir=rtl] .patient-ai-care-bullets{padding-inline-start:0;padding-inline-end:1.25rem}
.patient-ai-care-bullets li{overflow-wrap:anywhere;word-break:normal}
.patient-ai-care-item .patient-ai-care-bullets+p{margin-top:8px}
.patient-ai-care-item-head{align-items:flex-start}
.patient-ai-care-item-head b{line-height:1.32}
@media(max-width:700px){
  .patient-task.has-summary{padding:14px 15px;border-radius:18px}
  .patient-task.has-summary b{font-size:16px}
  .patient-task.has-summary span,.patient-task-summary,.patient-ai-care-bullets{max-width:100%;font-size:14px;line-height:1.55}
  .patient-task.has-summary .link-button{justify-self:stretch;text-align:start;min-height:36px}
  .patient-ai-care-item-head{display:grid;grid-template-columns:1fr;gap:8px}
  .patient-ai-care-status{justify-self:start;white-space:normal;text-align:center}
}

/* v157 patient care datasource UX: compact task summary, status filters and range-grouped care cards. */
.patient-task.has-summary{
  grid-template-columns:minmax(0,1fr);
  gap:12px;
  align-items:start;
  background:linear-gradient(135deg,#fffefb,#faf6ef);
  border-color:rgba(154,113,79,.20);
  box-shadow:0 14px 34px rgba(59,43,34,.07);
}
.patient-task-title-row{display:flex;align-items:center;gap:8px;min-width:0}
.patient-task-badge{display:inline-grid;place-items:center;inline-size:24px;block-size:24px;flex:0 0 auto;border-radius:999px;background:var(--paper2);border:1px solid rgba(154,113,79,.22);color:var(--brand-dark);font-size:13px;font-weight:950}
.patient-task.has-summary .patient-task-copy{display:grid;gap:8px;min-width:0;max-width:100%}
.patient-task.has-summary .patient-task-copy>b,.patient-task-title-row b{font-size:17px;line-height:1.25;color:var(--ink);overflow-wrap:anywhere}
.patient-task.has-summary .patient-task-copy>span{display:block;color:var(--muted);font-size:14px;line-height:1.55;overflow-wrap:anywhere;max-width:100%}
.patient-task-summary{margin:0;padding:0;display:grid;gap:7px;list-style:none;color:var(--muted);font-size:14px;line-height:1.55;max-width:100%}
.patient-task-summary li{position:relative;margin:0;padding-inline-start:1.15rem;overflow-wrap:anywhere;word-break:normal}
html[dir=rtl] .patient-task-summary li{padding-inline-start:0;padding-inline-end:1.15rem}
.patient-task-summary li::before{content:"";position:absolute;top:.68em;inline-size:6px;block-size:6px;border-radius:999px;background:var(--brand);opacity:.75;inset-inline-start:0}
html[dir=rtl] .patient-task-summary li::before{inset-inline-start:auto;inset-inline-end:0}
.patient-task.has-summary .link-button{justify-self:start;min-height:40px;padding:8px 2px}
html[dir=rtl] .patient-task.has-summary .link-button{justify-self:end}
.patient-care-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px;border:1px solid rgba(154,113,79,.16);background:rgba(255,255,255,.70);border-radius:22px;box-shadow:var(--shadow-soft)}
.patient-care-filter>span{font-size:13px;font-weight:950;color:var(--brand-dark);margin-inline:4px}
.patient-care-filter-chip{border:1px solid rgba(154,113,79,.24);background:#fff;color:var(--muted);border-radius:999px;min-height:38px;padding:8px 13px;font-weight:950;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}
.patient-care-filter-chip small{display:inline-grid;place-items:center;min-inline-size:22px;block-size:22px;border-radius:999px;background:var(--paper2);color:var(--brand-dark);font-weight:950;font-size:12px;padding-inline:6px}
.patient-care-filter-chip:hover{color:var(--ink);border-color:rgba(154,113,79,.38);background:#fffdf8}
.patient-care-filter-chip.active{background:linear-gradient(135deg,var(--brand),var(--brand-dark));border-color:transparent;color:#fff;box-shadow:0 10px 24px rgba(59,43,34,.16)}
.patient-care-filter-chip.active small{background:rgba(255,255,255,.22);color:#fff}
.patient-ai-care-list .empty{border:1px dashed rgba(154,113,79,.24);border-radius:20px;background:rgba(255,255,255,.72);padding:18px;color:var(--muted);text-align:center}
.patient-ai-care-item{padding:18px 20px}
.patient-ai-care-item-head{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;min-width:0}
.patient-ai-care-item-head b{font-size:17px;line-height:1.3;overflow-wrap:anywhere}
.patient-ai-care-validity{margin-top:2px;margin-bottom:10px}
.patient-ai-care-bullets{margin:4px 0 0;padding:0;list-style:none;display:grid;gap:8px;color:var(--muted);line-height:1.62}
.patient-ai-care-bullets li{position:relative;padding-inline-start:1.25rem;overflow-wrap:anywhere;word-break:normal}
html[dir=rtl] .patient-ai-care-bullets li{padding-inline-start:0;padding-inline-end:1.25rem}
.patient-ai-care-bullets li::before{content:"";position:absolute;top:.72em;inset-inline-start:0;inline-size:6px;block-size:6px;border-radius:999px;background:var(--brand);opacity:.76}
html[dir=rtl] .patient-ai-care-bullets li::before{inset-inline-start:auto;inset-inline-end:0}
@media(max-width:700px){
  .patient-care-filter{display:grid;grid-template-columns:1fr;gap:7px;border-radius:20px}
  .patient-care-filter>span{margin:0}
  .patient-care-filter-chip{justify-content:space-between;inline-size:100%;min-height:44px}
  .patient-task.has-summary{padding:14px 15px;border-radius:18px}
  .patient-task-title-row b{font-size:16px}
  .patient-task.has-summary .patient-task-copy>span,.patient-task-summary,.patient-ai-care-bullets{font-size:14px;line-height:1.58}
  .patient-ai-care-item{padding:15px;border-radius:20px}
  .patient-ai-care-item-head{display:grid;grid-template-columns:1fr;gap:8px}
  .patient-ai-care-status{justify-self:start;white-space:normal;text-align:center;min-height:26px}
}

/* v158 — RTL desktop navigation breakpoint regression fix.
   Root cause: the v104/v105 production mobile drawer rules intentionally used max-width:1320px,
   which is safe for some cramped navigation states but too broad for Hebrew/RTL desktop windows.
   At common desktop CSS viewport widths around 1024–1320px it forced the entire site header into
   the mobile drawer presentation. Keep the approved drawer for real mobile/reflow widths, but
   restore the full desktop header for RTL/Hebrew from 981px upward. LTR English keeps its existing
   earlier drawer fallback because its labels are longer and were separately hardened in v145–v148. */
@media (min-width:981px){
  html[dir="rtl"] body.nav-open{overflow:auto!important;touch-action:auto!important;}
  html[dir="rtl"] body.nav-open::before{content:none!important;display:none!important;pointer-events:none!important;}
  html[dir="rtl"] .topbar{overflow:visible!important;z-index:1000!important;}
  html[dir="rtl"] .topbar .nav{
    position:relative!important;
    display:flex!important;
    grid-template-columns:none!important;
    width:min(1560px,100%)!important;
    inline-size:min(1560px,100%)!important;
    min-block-size:0!important;
    margin-inline:auto!important;
    padding:13px clamp(20px,2vw,28px)!important;
    gap:clamp(10px,1.15vw,20px)!important;
    align-items:center!important;
    justify-content:flex-start!important;
    direction:rtl!important;
  }
  html[dir="rtl"] .topbar .brand{
    display:flex!important;
    grid-column:auto!important;
    grid-row:auto!important;
    justify-self:auto!important;
    align-self:center!important;
    flex:0 0 auto!important;
    min-inline-size:0!important;
    max-inline-size:none!important;
    order:0!important;
  }
  html[dir="rtl"] .topbar .brand-logo{
    width:clamp(166px,11.8vw,206px)!important;
    inline-size:clamp(166px,11.8vw,206px)!important;
    max-inline-size:100%!important;
    max-block-size:72px!important;
    display:block!important;
    object-fit:contain!important;
  }
  html[dir="rtl"] .topbar .menu-toggle{display:none!important;visibility:hidden!important;pointer-events:none!important;}
  html[dir="rtl"] .topbar .nav-links,
  html[dir="rtl"] .topbar .nav-links.open{
    position:static!important;
    inset:auto!important;
    inset-inline:auto!important;
    inset-block-start:auto!important;
    inset-block-end:auto!important;
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:clamp(3px,.36vw,7px)!important;
    margin-inline-start:auto!important;
    margin-inline-end:0!important;
    inline-size:auto!important;
    width:auto!important;
    max-inline-size:none!important;
    max-block-size:none!important;
    overflow:visible!important;
    overscroll-behavior:auto!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    direction:rtl!important;
    z-index:auto!important;
  }
  html[dir="rtl"] .topbar .nav-links a,
  html[dir="rtl"] .topbar .nav-links button{
    inline-size:auto!important;
    width:auto!important;
    min-inline-size:max-content!important;
    max-inline-size:none!important;
    min-block-size:44px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    padding:9px clamp(7px,.52vw,10px)!important;
    border-radius:999px!important;
    font-size:clamp(12.5px,.72vw,14.5px)!important;
    line-height:1.16!important;
    white-space:nowrap!important;
    background:transparent;
  }
  html[dir="rtl"] .topbar .nav-links .lang-switch{
    inline-size:auto!important;
    width:auto!important;
    align-self:center!important;
    flex:0 0 auto!important;
    margin-inline-start:clamp(4px,.45vw,10px)!important;
  }
  html[dir="rtl"] .topbar .nav-links .nav-cta{
    inline-size:auto!important;
    width:auto!important;
    flex:0 0 auto!important;
    min-block-size:48px!important;
    justify-content:center!important;
    padding-inline:clamp(14px,1vw,20px)!important;
  }
}


/* v159 — production desktop navigation lock for RTL/Hebrew.
   Root cause of the remaining regression: the older v104/v105 drawer rules are tied only to CSS viewport
   width (max-width:1320/980). On desktop Windows/Linux with browser zoom or OS scaling, the CSS viewport can
   fall below those thresholds even while the user is on a desktop/laptop with a mouse/trackpad. The JS adds
   html.desktop-nav-lock only for RTL + fine pointer + real desktop screen + usable CSS width. This keeps real
   phones/tablets in the mobile drawer and restores the approved desktop layout on desktop. */
html.desktop-nav-lock[dir="rtl"],
html.desktop-nav-lock[dir="rtl"] body{
  overflow-x:hidden!important;
}
html.desktop-nav-lock[dir="rtl"] body.nav-open::before{
  content:none!important;
  display:none!important;
  pointer-events:none!important;
}
html.desktop-nav-lock[dir="rtl"] .top-contact{
  display:block!important;
}
html.desktop-nav-lock[dir="rtl"] .topbar{
  position:sticky!important;
  top:0!important;
  z-index:1000!important;
  overflow:visible!important;
  inline-size:100%!important;
  background:rgba(255,255,255,.92)!important;
}
html.desktop-nav-lock[dir="rtl"] .topbar .nav{
  position:relative!important;
  display:flex!important;
  grid-template-columns:none!important;
  inline-size:min(1560px,100%)!important;
  width:min(1560px,100%)!important;
  min-block-size:0!important;
  margin-inline:auto!important;
  padding:13px clamp(20px,2vw,28px)!important;
  gap:clamp(10px,1vw,18px)!important;
  align-items:center!important;
  justify-content:flex-start!important;
  direction:rtl!important;
}
html.desktop-nav-lock[dir="rtl"] .topbar .brand{
  display:flex!important;
  grid-column:auto!important;
  grid-row:auto!important;
  justify-self:auto!important;
  align-self:center!important;
  flex:0 0 auto!important;
  min-inline-size:0!important;
  max-inline-size:none!important;
  order:0!important;
  z-index:auto!important;
}
html.desktop-nav-lock[dir="rtl"] .topbar .brand-logo{
  display:block!important;
  inline-size:clamp(166px,11.8vw,206px)!important;
  width:clamp(166px,11.8vw,206px)!important;
  max-inline-size:100%!important;
  max-block-size:72px!important;
  object-fit:contain!important;
}
html.desktop-nav-lock[dir="rtl"] .topbar .menu-toggle{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
html.desktop-nav-lock[dir="rtl"] .topbar .nav-links,
html.desktop-nav-lock[dir="rtl"] .topbar .nav-links.open{
  position:static!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  display:flex!important;
  grid-template-columns:none!important;
  flex:1 1 auto!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:clamp(3px,.34vw,7px)!important;
  margin-inline-start:auto!important;
  margin-inline-end:0!important;
  inline-size:auto!important;
  width:auto!important;
  min-inline-size:0!important;
  max-inline-size:none!important;
  max-block-size:none!important;
  overflow:visible!important;
  overscroll-behavior:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  clip:auto!important;
  clip-path:none!important;
  direction:rtl!important;
  z-index:auto!important;
}
html.desktop-nav-lock[dir="rtl"] .topbar .nav-links a,
html.desktop-nav-lock[dir="rtl"] .topbar .nav-links button{
  inline-size:auto!important;
  width:auto!important;
  min-inline-size:max-content!important;
  max-inline-size:none!important;
  min-block-size:44px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:9px clamp(7px,.48vw,10px)!important;
  border-radius:999px!important;
  font-size:clamp(12px,.68vw,14.5px)!important;
  line-height:1.16!important;
  white-space:nowrap!important;
  overflow:visible!important;
  background:transparent;
}
html.desktop-nav-lock[dir="rtl"] .topbar .nav-links .lang-switch{
  inline-size:auto!important;
  width:auto!important;
  display:flex!important;
  grid-template-columns:none!important;
  align-self:center!important;
  flex:0 0 auto!important;
  margin-inline-start:clamp(4px,.45vw,10px)!important;
  padding:3px!important;
}
html.desktop-nav-lock[dir="rtl"] .topbar .nav-links .lang-switch .lang-btn{
  min-block-size:38px!important;
  min-inline-size:38px!important;
}
html.desktop-nav-lock[dir="rtl"] .topbar .nav-links .nav-cta{
  inline-size:auto!important;
  width:auto!important;
  flex:0 0 auto!important;
  min-block-size:48px!important;
  justify-content:center!important;
  padding-inline:clamp(14px,1vw,20px)!important;
  margin-block-start:0!important;
}
html.desktop-nav-lock[dir="rtl"] .hero.original-inspired .hero-grid{
  display:grid!important;
  direction:ltr!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:clamp(32px,4vw,54px)!important;
  align-items:center!important;
}
html.desktop-nav-lock[dir="rtl"] .hero.original-inspired .hero-video-card{
  grid-column:1!important;
  order:1!important;
}
html.desktop-nav-lock[dir="rtl"] .hero.original-inspired .hero-copy{
  grid-column:2!important;
  order:2!important;
  direction:rtl!important;
  text-align:right!important;
}
html.desktop-nav-lock[dir="rtl"] .split-grid{
  grid-template-columns:minmax(0,.95fr) minmax(380px,1fr)!important;
}
html.desktop-nav-lock[dir="rtl"] .page-layout{
  grid-template-columns:minmax(0,1fr) 350px!important;
}
html.desktop-nav-lock[dir="rtl"] .login-wrap{
  grid-template-columns:minmax(0,1fr) 360px!important;
}
html.desktop-nav-lock[dir="rtl"] .dashboard-grid,
html.desktop-nav-lock[dir="rtl"] .patient-dashboard,
html.desktop-nav-lock[dir="rtl"] .admin-grid{
  grid-template-columns:minmax(0,1fr) minmax(320px,.75fr)!important;
}
html.desktop-nav-lock[dir="rtl"] .grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
html.desktop-nav-lock[dir="rtl"] .grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
html.desktop-nav-lock[dir="rtl"] .grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
html.desktop-nav-lock[dir="rtl"] .footer-grid{grid-template-columns:1.2fr .6fr .6fr!important;}
html.desktop-nav-lock[dir="rtl"] .quick-action{display:inline-flex!important;}
html.desktop-nav-lock[dir="rtl"] .side-cta{position:sticky!important;top:116px!important;}
html.desktop-nav-lock[dir="rtl"] .patient-tabs{position:sticky!important;top:96px!important;overflow:visible!important;flex-wrap:wrap!important;}
html.desktop-nav-lock[dir="rtl"] .patient-tab{white-space:normal!important;}

/* v160 — patient care direction, summary link alignment and validity chips.
   Keep list markers fully direction-aware and avoid native marker drift in RTL/LTR toggles. */
.patient-task[dir="rtl"],.patient-ai-care[dir="rtl"],.patient-ai-care-item[dir="rtl"]{direction:rtl;text-align:right}
.patient-task[dir="ltr"],.patient-ai-care[dir="ltr"],.patient-ai-care-item[dir="ltr"]{direction:ltr;text-align:left}
.patient-task-summary,.patient-ai-care-bullets{list-style:none!important;padding:0!important;margin-inline:0!important}
.patient-task-summary[dir="rtl"] li,.patient-ai-care-bullets[dir="rtl"] li{position:relative;padding-inline-start:0!important;padding-inline-end:1.35rem!important;text-align:right;direction:rtl}
.patient-task-summary[dir="ltr"] li,.patient-ai-care-bullets[dir="ltr"] li{position:relative;padding-inline-start:1.35rem!important;padding-inline-end:0!important;text-align:left;direction:ltr}
.patient-task-summary[dir="rtl"] li::before,.patient-ai-care-bullets[dir="rtl"] li::before{content:"";position:absolute;top:.72em;right:0!important;left:auto!important;width:6px;height:6px;border-radius:999px;background:var(--brand);opacity:.78}
.patient-task-summary[dir="ltr"] li::before,.patient-ai-care-bullets[dir="ltr"] li::before{content:"";position:absolute;top:.72em;left:0!important;right:auto!important;width:6px;height:6px;border-radius:999px;background:var(--brand);opacity:.78}
.patient-task[dir="rtl"] .link-button{justify-self:end;text-align:right}
.patient-task[dir="ltr"] .link-button{justify-self:start;text-align:left}
.patient-task[dir="rtl"] .patient-task-title-row{justify-content:flex-start;flex-direction:row-reverse;text-align:right}
.patient-task[dir="ltr"] .patient-task-title-row{justify-content:flex-start;flex-direction:row;text-align:left}
.patient-ai-care-item[dir="rtl"] .patient-ai-care-status{justify-self:start}
.patient-ai-care-item[dir="ltr"] .patient-ai-care-status{justify-self:end}
.patient-ai-care-validity{white-space:normal;text-align:start;max-width:100%;border-radius:18px}
.patient-ai-care-item[dir="rtl"] .patient-ai-care-validity{direction:rtl;text-align:right}
.patient-ai-care-item[dir="ltr"] .patient-ai-care-validity{direction:ltr;text-align:left}
@media(max-width:700px){.patient-task[dir="rtl"] .link-button,.patient-task[dir="ltr"] .link-button{justify-self:stretch}.patient-ai-care-validity{display:flex;inline-size:fit-content;max-inline-size:100%}}
.patient-ai-care-safety[dir="rtl"]{direction:rtl;text-align:right}
.patient-ai-care-safety[dir="ltr"]{direction:ltr;text-align:left}
.patient-ai-care-safety ul[dir="rtl"]{list-style:none!important;padding:0!important;margin:0;display:grid;gap:7px}
.patient-ai-care-safety ul[dir="ltr"]{list-style:none!important;padding:0!important;margin:0;display:grid;gap:7px}
.patient-ai-care-safety ul[dir="rtl"] li{position:relative;padding-inline-end:1.35rem;padding-inline-start:0;text-align:right}
.patient-ai-care-safety ul[dir="ltr"] li{position:relative;padding-inline-start:1.35rem;padding-inline-end:0;text-align:left}
.patient-ai-care-safety ul[dir="rtl"] li::before,.patient-ai-care-safety ul[dir="ltr"] li::before{content:"";position:absolute;top:.72em;width:6px;height:6px;border-radius:999px;background:var(--brand);opacity:.78}
.patient-ai-care-safety ul[dir="rtl"] li::before{right:0;left:auto}
.patient-ai-care-safety ul[dir="ltr"] li::before{left:0;right:auto}

/* v161 — direction-safe patient-care summary and bullet layout */
.patient-task[dir],
.patient-ai-care[dir],
.patient-ai-care-item[dir] {
  text-align: start;
}
.patient-task[dir="rtl"],
.patient-task[dir="rtl"] .patient-task-copy,
.patient-ai-care[dir="rtl"],
.patient-ai-care-item[dir="rtl"] {
  direction: rtl;
  text-align: right;
}
.patient-task[dir="ltr"],
.patient-task[dir="ltr"] .patient-task-copy,
.patient-ai-care[dir="ltr"],
.patient-ai-care-item[dir="ltr"] {
  direction: ltr;
  text-align: left;
}
.patient-task.has-summary {
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
}
.patient-task[dir="rtl"] .patient-task-title-row,
.patient-task[dir="ltr"] .patient-task-title-row {
  flex-direction: row;
  justify-content: flex-start;
  width: 100%;
  text-align: start;
}
.patient-task[dir="rtl"] .patient-task-title-row {
  text-align: right;
}
.patient-task[dir="ltr"] .patient-task-title-row {
  text-align: left;
}
.patient-task[dir="rtl"] .patient-task-action,
.patient-task[dir="rtl"] .link-button {
  justify-self: start;
  align-self: start;
  text-align: right;
}
.patient-task[dir="ltr"] .patient-task-action,
.patient-task[dir="ltr"] .link-button {
  justify-self: start;
  align-self: start;
  text-align: left;
}
.patient-task-summary,
.patient-ai-care-bullets {
  list-style: none !important;
  padding: 0 !important;
  margin: .75rem 0 0 !important;
  display: grid;
  gap: .55rem;
}
.patient-task-summary li,
.patient-ai-care-bullets li {
  list-style: none !important;
  position: relative !important;
  display: grid !important;
  grid-template-columns: .42rem minmax(0, 1fr);
  column-gap: .75rem;
  align-items: start;
  padding: 0 !important;
  margin: 0 !important;
  overflow-wrap: anywhere;
  word-break: normal;
  line-height: 1.75;
}
.patient-task-summary[dir="rtl"] li,
.patient-ai-care-bullets[dir="rtl"] li {
  direction: rtl;
  text-align: right;
}
.patient-task-summary[dir="ltr"] li,
.patient-ai-care-bullets[dir="ltr"] li {
  direction: ltr;
  text-align: left;
}
.patient-task-summary li::before,
.patient-ai-care-bullets li::before {
  content: "" !important;
  position: static !important;
  width: .38rem !important;
  height: .38rem !important;
  border-radius: 999px !important;
  background: var(--color-accent, #8b6b4f) !important;
  margin: .68em 0 0 !important;
  inset: auto !important;
  grid-column: 1;
}
.patient-task-summary li > *,
.patient-ai-care-bullets li > * {
  min-width: 0;
}
.patient-task-summary li,
.patient-ai-care-bullets li {
  grid-auto-flow: column;
}
@media (max-width: 720px) {
  .patient-task.has-summary {
    gap: .9rem;
  }
  .patient-task-summary li,
  .patient-ai-care-bullets li {
    column-gap: .65rem;
    line-height: 1.7;
  }
}

/* v168 — patient care instruction-type filters */
.patient-care-filter-stack{display:grid;gap:10px;margin-block:4px 14px}
.patient-care-filter-stack .patient-care-filter{box-shadow:none}
.patient-care-type-filter{background:rgba(255,255,255,.54);border-style:dashed}
.patient-care-filter-stack[dir="rtl"] .patient-care-filter{direction:rtl;text-align:right}
.patient-care-filter-stack[dir="ltr"] .patient-care-filter{direction:ltr;text-align:left}
@media(max-width:700px){.patient-care-filter-stack{gap:8px}.patient-care-type-filter{border-style:solid}}


/* v169 — direction-safe general care guide bullets.
   The public/general care cards use the same custom marker strategy as the patient-area guidance lists:
   no native markers, a two-column logical grid, and explicit dir-aware alignment to prevent marker/text overlap in RTL/LTR. */
.care-list[dir]{
  list-style:none!important;
  padding:0!important;
  margin:0!important;
  display:grid;
  gap:7px;
  color:var(--muted);
  line-height:1.65;
}
.care-list[dir] li{
  list-style:none!important;
  position:relative!important;
  display:grid!important;
  grid-template-columns:.42rem minmax(0,1fr);
  column-gap:.72rem;
  align-items:start;
  padding:0!important;
  margin:0!important;
  overflow-wrap:anywhere;
  word-break:normal;
  min-inline-size:0;
}
.care-list[dir="rtl"] li{
  direction:rtl;
  text-align:right;
}
.care-list[dir="ltr"] li{
  direction:ltr;
  text-align:left;
}
.care-list[dir] li::before{
  content:""!important;
  position:static!important;
  inline-size:.38rem!important;
  block-size:.38rem!important;
  border-radius:999px!important;
  background:var(--brand)!important;
  opacity:.78;
  margin-block-start:.7em!important;
  margin-inline:0!important;
  inset:auto!important;
  grid-column:1;
  grid-row:1;
}
.care-list[dir] li>span{
  min-inline-size:0;
  grid-column:2;
}
@media(max-width:720px){
  .care-list[dir] li{column-gap:.64rem;line-height:1.7}
}


/* v170 — final general care list marker containment.
   Uses explicit marker/text spans in the existing careList renderer, with direction-aware flex layout.
   This avoids native marker quirks and pseudo-element collisions, so RTL/LTR bullets cannot overlap text. */
.care-list--safe[dir],
ul.care-list[data-care-list-layout="safe-marker"]{
  list-style:none!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  gap:8px!important;
  color:var(--muted);
  line-height:1.68;
  direction:inherit;
}
.care-list--safe[dir]>li,
ul.care-list[data-care-list-layout="safe-marker"]>li{
  list-style:none!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start!important;
  gap:.78rem!important;
  padding:0!important;
  margin:0!important;
  min-inline-size:0!important;
  max-inline-size:100%!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  direction:inherit!important;
  text-align:start!important;
}
.care-list--safe[dir]>li::before,
ul.care-list[data-care-list-layout="safe-marker"]>li::before{
  content:none!important;
  display:none!important;
}
.care-list--safe[dir] .care-list-marker,
ul.care-list[data-care-list-layout="safe-marker"] .care-list-marker{
  flex:0 0 .38rem!important;
  inline-size:.38rem!important;
  block-size:.38rem!important;
  border-radius:999px!important;
  background:var(--brand)!important;
  opacity:.78!important;
  margin-block-start:.74em!important;
}
.care-list--safe[dir] .care-list-text,
ul.care-list[data-care-list-layout="safe-marker"] .care-list-text{
  flex:1 1 auto!important;
  min-inline-size:0!important;
  display:block!important;
  text-align:start!important;
}
.care-list--safe[dir="rtl"],
ul.care-list[data-care-list-layout="safe-marker"][dir="rtl"]{
  direction:rtl!important;
  text-align:right!important;
}
.care-list--safe[dir="ltr"],
ul.care-list[data-care-list-layout="safe-marker"][dir="ltr"]{
  direction:ltr!important;
  text-align:left!important;
}
@media(max-width:720px){
  .care-list--safe[dir]>li,
  ul.care-list[data-care-list-layout="safe-marker"]>li{gap:.66rem!important;line-height:1.72}
}

/* v171 — legacy general care list structured-marker fix.
   Root cause: the public care cards still inherited older list/RTL rules from .care-list and li-based selectors.
   This version uses the existing careList() renderer but outputs an explicit role=list structure with a real marker
   glyph in its own grid column. No native marker, pseudo-element, or flex direction behavior is involved. */
.care-list--safe[data-care-list-layout="structured-marker"]{
  list-style:none!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  gap:8px!important;
  color:var(--muted)!important;
  line-height:1.68!important;
  max-inline-size:100%!important;
  min-inline-size:0!important;
}
.care-list--safe[data-care-list-layout="structured-marker"] .care-list-row{
  list-style:none!important;
  display:grid!important;
  align-items:start!important;
  column-gap:.82rem!important;
  padding:0!important;
  margin:0!important;
  min-inline-size:0!important;
  max-inline-size:100%!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.care-list--safe[data-care-list-layout="structured-marker"][dir="rtl"] .care-list-row{
  grid-template-columns:minmax(0,1fr) .72rem!important;
  direction:rtl!important;
  text-align:right!important;
}
.care-list--safe[data-care-list-layout="structured-marker"][dir="ltr"] .care-list-row{
  grid-template-columns:.72rem minmax(0,1fr)!important;
  direction:ltr!important;
  text-align:left!important;
}
.care-list--safe[data-care-list-layout="structured-marker"] .care-list-marker{
  display:block!important;
  inline-size:.72rem!important;
  min-inline-size:.72rem!important;
  block-size:auto!important;
  line-height:1!important;
  margin-block-start:.62em!important;
  color:var(--brand)!important;
  font-weight:900!important;
  font-size:1rem!important;
  opacity:.82!important;
  text-align:center!important;
  background:transparent!important;
  border-radius:0!important;
}
.care-list--safe[data-care-list-layout="structured-marker"] .care-list-text{
  display:block!important;
  min-inline-size:0!important;
  max-inline-size:100%!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  line-break:auto!important;
  text-align:inherit!important;
}
.care-list--safe[data-care-list-layout="structured-marker"][dir="rtl"] .care-list-marker{grid-column:2!important;grid-row:1!important}
.care-list--safe[data-care-list-layout="structured-marker"][dir="rtl"] .care-list-text{grid-column:1!important;grid-row:1!important}
.care-list--safe[data-care-list-layout="structured-marker"][dir="ltr"] .care-list-marker{grid-column:1!important;grid-row:1!important}
.care-list--safe[data-care-list-layout="structured-marker"][dir="ltr"] .care-list-text{grid-column:2!important;grid-row:1!important}
.care-list--safe[data-care-list-layout="structured-marker"]>li,
ul.care-list[data-care-list-layout="safe-marker"]>li{
  list-style:none!important;
}
@media(max-width:720px){
  .care-list--safe[data-care-list-layout="structured-marker"] .care-list-row{
    column-gap:.7rem!important;
    line-height:1.72!important;
  }
}


/* v172 — reuse the proven patient-area bullet infrastructure for public/general care lists.
   General care lists no longer use .care-list/native/pseudo-marker variants; they render as
   .patient-ai-care-bullets.care-guide-bullets, matching the dynamic patient instructions. */
.care-guide-bullets.patient-ai-care-bullets{margin:0!important;padding:0!important;list-style:none!important;display:grid!important;gap:8px!important;color:var(--muted)!important;line-height:1.68!important;max-inline-size:100%!important;min-inline-size:0!important}
.care-guide-bullets.patient-ai-care-bullets[dir="rtl"]{direction:rtl!important;text-align:right!important}
.care-guide-bullets.patient-ai-care-bullets[dir="ltr"]{direction:ltr!important;text-align:left!important}
.care-guide-bullets.patient-ai-care-bullets li{list-style:none!important;position:relative!important;display:block!important;margin:0!important;min-inline-size:0!important;max-inline-size:100%!important;line-height:1.7!important;overflow-wrap:anywhere!important;word-break:normal!important}
.care-guide-bullets.patient-ai-care-bullets[dir="rtl"] li{padding-inline-start:0!important;padding-inline-end:1.35rem!important;text-align:right!important;direction:rtl!important}
.care-guide-bullets.patient-ai-care-bullets[dir="ltr"] li{padding-inline-start:1.35rem!important;padding-inline-end:0!important;text-align:left!important;direction:ltr!important}
.care-guide-bullets.patient-ai-care-bullets li::before{content:""!important;position:absolute!important;top:.74em!important;inline-size:6px!important;block-size:6px!important;border-radius:999px!important;background:var(--brand)!important;opacity:.78!important;margin:0!important}
.care-guide-bullets.patient-ai-care-bullets[dir="rtl"] li::before{inset-inline-start:auto!important;inset-inline-end:0!important;right:0!important;left:auto!important}
.care-guide-bullets.patient-ai-care-bullets[dir="ltr"] li::before{inset-inline-start:0!important;inset-inline-end:auto!important;left:0!important;right:auto!important}
.patient-ai-care-safety .care-guide-bullets{margin-top:.65rem!important}
@media(max-width:720px){.care-guide-bullets.patient-ai-care-bullets li{line-height:1.72!important}}

/* v173 — one canonical, direction-aware bullet renderer for patient and care guidance.
   This intentionally overrides older absolute-marker variants: the marker is a grid item, so text cannot overlap it in RTL/LTR or at narrow widths. */
.patient-ai-care-bullets,
.care-guide-bullets.patient-ai-care-bullets{
  list-style:none!important;
  padding:0!important;
  margin:.65rem 0 0!important;
  display:grid!important;
  gap:.55rem!important;
  color:var(--muted)!important;
  line-height:1.68!important;
  max-inline-size:100%!important;
  min-inline-size:0!important;
  overflow:visible!important;
}
.care-guide-bullets.patient-ai-care-bullets{margin:0!important}
.patient-ai-care-bullets[dir="rtl"],
.care-guide-bullets.patient-ai-care-bullets[dir="rtl"]{direction:rtl!important;text-align:right!important}
.patient-ai-care-bullets[dir="ltr"],
.care-guide-bullets.patient-ai-care-bullets[dir="ltr"]{direction:ltr!important;text-align:left!important}
.patient-ai-care-bullets>li,
.care-guide-bullets.patient-ai-care-bullets>li{
  list-style:none!important;
  position:relative!important;
  display:grid!important;
  grid-template-columns:.42rem minmax(0,1fr)!important;
  grid-auto-flow:column!important;
  column-gap:.72rem!important;
  align-items:start!important;
  padding:0!important;
  margin:0!important;
  min-inline-size:0!important;
  max-inline-size:100%!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  line-height:1.72!important;
}
.patient-ai-care-bullets[dir="rtl"]>li,
.care-guide-bullets.patient-ai-care-bullets[dir="rtl"]>li{direction:rtl!important;text-align:right!important}
.patient-ai-care-bullets[dir="ltr"]>li,
.care-guide-bullets.patient-ai-care-bullets[dir="ltr"]>li{direction:ltr!important;text-align:left!important}
.patient-ai-care-bullets>li::before,
.care-guide-bullets.patient-ai-care-bullets>li::before{
  content:""!important;
  position:static!important;
  grid-column:1!important;
  inline-size:.38rem!important;
  block-size:.38rem!important;
  border-radius:999px!important;
  background:var(--brand)!important;
  opacity:.78!important;
  margin-block-start:.68em!important;
  margin-inline:0!important;
  inset:auto!important;
  right:auto!important;
  left:auto!important;
}
.patient-ai-care-bullets>li::marker,
.care-guide-bullets.patient-ai-care-bullets>li::marker{content:""!important}
.patient-ai-care-bullets>li>*,
.care-guide-bullets.patient-ai-care-bullets>li>*{min-inline-size:0!important;max-inline-size:100%!important}
.patient-ai-care-safety .patient-ai-care-bullets,
.patient-ai-care-safety .care-guide-bullets.patient-ai-care-bullets{margin-top:.65rem!important}
@media(max-width:720px){
  .patient-ai-care-bullets>li,
  .care-guide-bullets.patient-ai-care-bullets>li{column-gap:.65rem!important;line-height:1.74!important}
}

/* v190 — patient care async loading state and stable task layout */
.patient-care-loading{display:grid;gap:10px;margin-top:8px;max-width:min(520px,100%)}
.patient-care-loading.compact{margin-top:8px;max-width:min(360px,100%)}
.patient-care-loading .muted{margin:0;color:var(--muted);line-height:1.55}
.patient-care-progress{inline-size:100%;block-size:7px;max-inline-size:360px}
.patient-task.is-loading{border-color:rgba(154,113,79,.26);background:linear-gradient(135deg,#fff,rgba(248,246,242,.92))}
.patient-task-badge.loading{font-size:18px;line-height:1;animation:patient-care-pulse 1.2s ease-in-out infinite}
@keyframes patient-care-pulse{0%,100%{opacity:.45;transform:scale(.96)}50%{opacity:1;transform:scale(1)}}
@media (prefers-reduced-motion: reduce){.patient-task-badge.loading{animation:none}}

/* v191 — patient care progressive rendering: keep the personal-area guidance tab responsive while preserving all approved guidance. */
.patient-care-load-more{display:grid;place-items:center;gap:10px;margin-top:16px;padding:14px;border:1px solid rgba(154,113,79,.16);background:rgba(255,255,255,.72);border-radius:22px;box-shadow:var(--shadow-soft)}
.patient-care-load-more .muted{margin:0;text-align:center}
.patient-care-load-more .btn{min-height:48px;min-inline-size:min(260px,100%)}
.patient-ai-care-list{content-visibility:auto;contain-intrinsic-size:720px}
.patient-ai-care-item{content-visibility:auto;contain-intrinsic-size:180px}
@media(max-width:700px){.patient-care-load-more{border-radius:20px;padding:12px}.patient-care-load-more .btn{inline-size:100%}}


/* v195 full DOCX patient instructions page */

.care-doc-hero .lead{max-width:920px}.care-doc-page .container{display:grid;gap:18px}.care-doc-nav,.care-doc-intro,.care-doc-section,.care-doc-empty{border-color:rgba(154,113,79,.20);background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(250,247,242,.82));box-shadow:0 18px 44px rgba(59,43,34,.06)}.care-doc-nav{display:grid;gap:18px;position:static;top:auto;z-index:auto;backdrop-filter:none}.care-doc-nav-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.care-doc-nav h2{margin:.15rem 0 0;font-size:clamp(24px,2.4vw,38px)}.care-doc-nav .muted{max-width:580px;margin:0}.care-doc-search input{width:100%;min-height:48px;border:1px solid rgba(154,113,79,.24);border-radius:999px;background:#fff;padding:0 18px;font:inherit;font-weight:800;color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}.care-doc-search input:focus-visible{outline:3px solid rgba(154,113,79,.24);outline-offset:2px}.care-doc-nav-links{display:flex;flex-wrap:wrap;gap:9px}.care-doc-nav-links a,.care-doc-nav-links button{display:inline-flex;align-items:center;gap:8px;min-height:42px;border:1px solid rgba(154,113,79,.22);background:#fff;border-radius:999px;padding:9px 14px;color:var(--brand-dark);font-weight:900;text-decoration:none;box-shadow:0 8px 18px rgba(59,43,34,.06);transition:transform .16s ease,border-color .16s ease,background .16s ease}.care-doc-nav-links a:hover,.care-doc-nav-links button:hover{border-color:rgba(154,113,79,.42);background:#fffaf4;color:var(--ink);transform:translateY(-1px)}.care-doc-nav-links button{font:inherit;cursor:pointer;text-align:inherit}.care-doc-nav-links button:focus-visible,.care-doc-media-link:focus-visible,.care-doc-rich a:focus-visible{outline:3px solid rgba(154,113,79,.28);outline-offset:3px}.care-doc-chip-icon{display:inline-grid;place-items:center;inline-size:24px;block-size:24px;border-radius:999px;background:var(--paper2);font-size:14px}.care-doc-actions{display:flex;gap:10px;flex-wrap:wrap}.care-doc-card-title{display:flex;gap:14px;align-items:center;margin-bottom:14px}.care-doc-card-title h2{margin:.1rem 0 0;font-size:clamp(24px,2vw,32px)}.care-doc-icon,.care-doc-section-icon{display:inline-grid;place-items:center;inline-size:42px;block-size:42px;min-inline-size:42px;border-radius:16px;background:rgba(154,113,79,.12);color:var(--brand-dark);font-size:22px}.care-doc-intro-rich{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.care-doc-callout{border:1px solid rgba(154,113,79,.16);border-radius:22px;background:#fff;padding:18px 20px;box-shadow:0 12px 28px rgba(59,43,34,.045)}.care-doc-callout p:first-child strong{font-size:1.08em;color:var(--ink)}.care-doc-section-list{display:grid;gap:14px}.care-doc-section{padding:0;overflow:clip;content-visibility:auto;contain-intrinsic-size:420px}.care-doc-section[hidden]{display:none}.care-doc-section>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 22px;border-radius:inherit}.care-doc-section>summary::-webkit-details-marker{display:none}.care-doc-section-main{display:flex;align-items:center;gap:14px;min-width:0}.care-doc-section-main strong{display:block;color:var(--ink);font-size:clamp(21px,2.4vw,32px);line-height:1.18}.care-doc-section-main small{display:block;margin-top:4px;color:var(--muted);font-size:14px;font-weight:850}.care-doc-section>summary i{display:inline-grid;place-items:center;inline-size:36px;block-size:36px;min-inline-size:36px;border-radius:999px;background:var(--paper2);color:var(--brand-dark);transition:transform .18s ease}.care-doc-section[open]>summary i{transform:rotate(180deg)}.care-doc-body{border-top:1px solid rgba(154,113,79,.12)}.care-doc-rich{padding:18px 24px 24px;color:var(--muted);font-size:17px;line-height:1.74}.care-doc-rich h1,.care-doc-rich h2,.care-doc-rich h3,.care-doc-rich h4{color:var(--ink);line-height:1.25;margin:1.15rem 0 .55rem}.care-doc-rich h2{font-size:clamp(22px,2vw,30px)}.care-doc-rich h3{font-size:20px}.care-doc-rich p{margin:.58rem 0}.care-doc-rich p:has(> strong:first-child){color:var(--ink)}.care-doc-rich a{color:var(--brand-dark);font-weight:900;text-decoration:underline;text-underline-offset:4px}.care-doc-inline-link{word-break:break-word}.care-doc-rich a[data-outbound-link]{display:inline-flex;align-items:center;gap:4px;min-height:28px}.care-doc-rich a[data-outbound-link]::after{content:"↗";font-size:.82em;opacity:.72}.care-doc-rich blockquote{margin:0 0 16px;padding:14px 16px;border:1px solid rgba(154,113,79,.18);border-radius:20px;background:rgba(244,237,228,.48)}.care-doc-rich mark{background:transparent;color:inherit}.care-doc-rich img{display:block;max-inline-size:min(100%,760px);height:auto;margin:18px auto;border-radius:18px;border:1px solid rgba(154,113,79,.18);box-shadow:var(--shadow-soft);background:#fff}.care-doc-table-wrap{max-inline-size:100%;overflow-x:auto;margin:16px 0;border:1px solid rgba(154,113,79,.20);border-radius:18px;background:#fff;box-shadow:var(--shadow-soft);-webkit-overflow-scrolling:touch}.care-doc-table{width:100%;min-width:720px;border-collapse:collapse;font-size:15px;line-height:1.55}.care-doc-table th,.care-doc-table td{border:1px solid rgba(154,113,79,.18);padding:10px 12px;vertical-align:top}.care-doc-table th{background:#f8f4ee;color:var(--brand-dark);font-weight:900}.care-doc-table p{margin:.25rem 0}.care-doc-rich ul,.care-doc-rich ol{padding-inline-start:1.25rem;margin:.65rem 0}.care-doc-rich li{margin:.25rem 0}.care-doc-media{margin:0 24px 24px;padding:16px;background:#fff;border-color:rgba(154,113,79,.16);box-shadow:0 12px 28px rgba(59,43,34,.045)}.care-doc-media h3{margin:0 0 12px;display:flex;gap:8px;align-items:center;font-size:18px;color:var(--ink)}.care-doc-media-links{display:flex;flex-wrap:wrap;gap:10px}.care-doc-media-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 14px;border-radius:999px;border:1px solid rgba(154,113,79,.22);background:var(--paper2);color:var(--brand-dark);font-weight:900;text-decoration:none}.care-doc-media-link:hover{background:#fffaf4}.care-doc-empty{padding:18px 20px;font-weight:900;text-align:center}.care-doc-page[dir=rtl] .care-doc-rich{text-align:right;direction:rtl}.care-doc-page[dir=ltr] .care-doc-rich{text-align:left;direction:ltr}html[dir=rtl] .care-doc-rich ul,html[dir=rtl] .care-doc-rich ol{padding-inline-start:0;padding-inline-end:1.35rem}@supports not selector(:has(*)){.care-doc-rich p strong:first-child{color:var(--ink)}}@media(max-width:900px){.care-doc-nav{position:static}.care-doc-nav-head{display:grid}.care-doc-intro-rich{grid-template-columns:1fr}}@media(max-width:760px){.care-doc-nav-links{display:grid;grid-template-columns:1fr}.care-doc-nav-links a,.care-doc-nav-links button{min-height:46px;justify-content:flex-start}.care-doc-section>summary{padding:16px}.care-doc-section-main strong{font-size:23px}.care-doc-rich{padding:16px;font-size:16px;line-height:1.68}.care-doc-table{min-width:640px;font-size:14px}.care-doc-rich img{border-radius:14px}.care-doc-media{margin:0 16px 18px}.care-doc-media-links{display:grid}.care-doc-media-link{border-radius:18px;justify-content:flex-start}}


.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* v198: mobile stability for general care guide navigation and tables */
.care-doc-page,.care-doc-page .container,.care-doc-nav,.care-doc-nav-links,.care-doc-section-main{min-inline-size:0}
.care-doc-nav{overflow:visible;scroll-margin-top:calc(var(--header-h,72px) + 14px)}
.care-doc-nav-link span:last-child{min-inline-size:0;overflow-wrap:anywhere;word-break:normal}
.care-doc-section{scroll-margin-top:calc(var(--header-h,72px) + 18px)}
.care-doc-table-wrap{position:relative;max-inline-size:100%;overscroll-behavior-inline:contain;scrollbar-gutter:stable both-edges}
.care-doc-table-wrap:focus-visible{outline:3px solid rgba(154,113,79,.28);outline-offset:3px}
.care-doc-table th,.care-doc-table td{overflow-wrap:anywhere;word-break:normal}
@media(max-width:760px){
  .care-doc-page{padding-bottom:calc(128px + env(safe-area-inset-bottom,0px))}
  .care-doc-page .container{max-width:100%;overflow-x:clip}
  .care-doc-nav{padding:16px;border-radius:24px;gap:14px;max-inline-size:100%}
  .care-doc-nav-head{gap:10px}.care-doc-nav-head .muted{font-size:14px;line-height:1.55}
  .care-doc-search input{box-sizing:border-box;min-width:0;max-width:100%;font-size:16px;text-overflow:ellipsis}
  .care-doc-nav-links{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;max-inline-size:100%;overflow:visible}
  .care-doc-nav-links a,.care-doc-nav-links button{width:100%;max-inline-size:100%;min-inline-size:0;white-space:normal;line-height:1.35;text-align:start;justify-content:flex-start;align-items:center;padding:11px 12px;border-radius:18px;overflow-wrap:anywhere}
  .care-doc-chip-icon{flex:0 0 auto}
  .care-doc-table-wrap{overflow:visible;border:0;background:transparent;box-shadow:none;margin:14px 0;padding:0;tab-size:2}
  .care-doc-table[data-mobile-cards="true"]{display:block;inline-size:100%;min-inline-size:0;border:0;background:transparent;font-size:15px;line-height:1.55}
  .care-doc-table[data-mobile-cards="true"] colgroup,.care-doc-table[data-mobile-cards="true"] thead tr:first-child{display:none}
  .care-doc-table[data-mobile-cards="true"] thead,.care-doc-table[data-mobile-cards="true"] tbody,.care-doc-table[data-mobile-cards="true"] tr{display:block;inline-size:100%}
  .care-doc-table[data-mobile-cards="true"] tr{margin:12px 0;padding:12px 14px;border:1px solid rgba(154,113,79,.18);border-radius:18px;background:#fff;box-shadow:0 12px 28px rgba(59,43,34,.05)}
  .care-doc-table[data-mobile-cards="true"] th,.care-doc-table[data-mobile-cards="true"] td{display:grid;grid-template-columns:minmax(94px,36%) minmax(0,1fr);gap:10px;align-items:start;border:0;border-bottom:1px solid rgba(154,113,79,.12);padding:10px 0;background:transparent;text-align:start;min-inline-size:0}
  .care-doc-table[data-mobile-cards="true"] th:last-child,.care-doc-table[data-mobile-cards="true"] td:last-child{border-bottom:0}
  .care-doc-table[data-mobile-cards="true"] th::before,.care-doc-table[data-mobile-cards="true"] td::before{content:attr(data-label);color:var(--brand-dark);font-weight:900;font-size:13px;line-height:1.35;overflow-wrap:anywhere}
  .care-doc-table[data-mobile-cards="true"] th:not([data-label])::before,.care-doc-table[data-mobile-cards="true"] td:not([data-label])::before{content:none}
  .care-doc-table[data-mobile-cards="true"] th:not([data-label]),.care-doc-table[data-mobile-cards="true"] td:not([data-label]){display:block}
  .care-doc-table[data-mobile-media="true"]{display:block;inline-size:100%;min-inline-size:0;border:0;background:transparent}
  .care-doc-table[data-mobile-media="true"] colgroup,.care-doc-table[data-mobile-media="true"] thead,.care-doc-table[data-mobile-media="true"] tbody,.care-doc-table[data-mobile-media="true"] tr,.care-doc-table[data-mobile-media="true"] th,.care-doc-table[data-mobile-media="true"] td{display:block;inline-size:100%;border:0;background:transparent;padding:0;margin:0}
  .care-doc-table[data-mobile-media="true"] img{max-inline-size:100%;margin:10px auto;border-radius:16px}
}
@media(max-width:420px){
  .care-doc-table[data-mobile-cards="true"] th,.care-doc-table[data-mobile-cards="true"] td{grid-template-columns:1fr;gap:4px}
  .care-doc-table[data-mobile-cards="true"] th::before,.care-doc-table[data-mobile-cards="true"] td::before{font-size:12px}
}


/* v201: mobile care-guide quick navigation true overflow fix.
   Keep the v197/v198 visual treatment buttons, but constrain the first paint at page level.
   Root cause confirmed by v200: replacing the buttons with a select did not help, so the issue
   is initial page/inline overflow and scrollLeft stabilization, not the treatment-button UI. */
@media(max-width:760px){
  html,body,#app{inline-size:100%;max-inline-size:100%;overflow-x:hidden;overscroll-behavior-x:none}
  .care-doc-hero,.care-doc-page{inline-size:100%;max-inline-size:100%;overflow-x:hidden;contain:inline-size layout paint}
  .care-doc-hero .container,.care-doc-page .container{inline-size:100%;max-inline-size:100%;min-inline-size:0;padding-inline:16px;overflow-x:hidden}
  .care-doc-nav,.care-doc-intro,.care-doc-section,.care-doc-empty,.care-disclaimer{inline-size:100%;max-inline-size:100%;min-inline-size:0;margin-inline:0;overflow-x:hidden;box-sizing:border-box;transform:none;justify-self:stretch}
  .care-doc-nav{position:static;padding:16px;border-radius:24px;gap:14px;content-visibility:visible;contain:inline-size layout paint}
  .care-doc-nav *{box-sizing:border-box;min-inline-size:0;max-inline-size:100%}
  .care-doc-nav-head{gap:10px}.care-doc-nav-head .muted{font-size:14px;line-height:1.55}
  .care-doc-search,.care-doc-search input{inline-size:100%;max-inline-size:100%;min-inline-size:0;box-sizing:border-box}
  .care-doc-search input{font-size:16px;text-overflow:ellipsis}
  .care-doc-nav-links{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;inline-size:100%;max-inline-size:100%;min-inline-size:0;overflow:hidden;justify-items:stretch;align-items:stretch;transform:none}
  .care-doc-nav-links a,.care-doc-nav-links button{display:grid;grid-template-columns:24px minmax(0,1fr);inline-size:100%;max-inline-size:100%;min-inline-size:0;min-block-size:46px;overflow:hidden;column-gap:10px;white-space:normal;line-height:1.35;text-align:start;justify-content:stretch;justify-items:start;align-items:center;padding:11px 12px;border-radius:18px;transform:none}
  .care-doc-page[dir=rtl] .care-doc-nav-links a,.care-doc-page[dir=rtl] .care-doc-nav-links button{direction:rtl}
  .care-doc-page[dir=ltr] .care-doc-nav-links a,.care-doc-page[dir=ltr] .care-doc-nav-links button{direction:ltr}
  .care-doc-chip-icon{grid-column:1;inline-size:24px;min-inline-size:24px;max-inline-size:24px}
  .care-doc-nav-link>span:last-child{grid-column:2;display:block;inline-size:100%;min-inline-size:0;max-inline-size:100%;overflow:hidden;overflow-wrap:anywhere;word-break:normal;line-break:auto;text-overflow:clip}
  .care-doc-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;inline-size:100%;max-inline-size:100%}
  .care-doc-actions .btn{inline-size:100%;max-inline-size:100%;min-inline-size:0;white-space:normal;text-align:center}
}



/* v202: the treatment chooser must not be sticky on desktop or mobile.
   The desktop/LTR page could keep this large navigation panel floating over the opened
   instruction content. Keeping it in normal document flow is consistent across Hebrew,
   English, mobile, and the app, and avoids overlay/INP regressions without changing data. */
.care-doc-page .care-doc-nav{
  position: static !important;
  top: auto !important;
  z-index: auto !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  scroll-margin-top: calc(var(--header-h,72px) + 16px);
}
.care-doc-page .care-doc-section{
  scroll-margin-top: calc(var(--header-h,72px) + 18px);
}

/* v225: patient prescription document actions */
.patient-document-record{align-items:flex-start!important;gap:14px!important}
.patient-document-main{min-width:0;flex:1}
.patient-document-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center;max-width:520px}
.patient-doc-action{min-block-size:42px;border:1px solid rgba(111,83,62,.13);border-radius:999px;background:#fff;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 12px;color:var(--brand-dark);font-weight:900;text-decoration:none;cursor:pointer;line-height:1}
.patient-doc-action svg{inline-size:18px;block-size:18px;flex:none;fill:currentColor}
.patient-doc-action.whatsapp{color:#168a47}
.patient-doc-action:focus{outline:0;box-shadow:var(--focus)}
.patient-doc-action:hover{transform:translateY(-1px);box-shadow:var(--shadow-soft)}
@media(max-width:980px){.patient-document-record{display:grid!important;grid-template-columns:1fr!important}.patient-document-actions{justify-content:flex-start;max-width:none}.patient-doc-action{min-block-size:44px;flex:1 1 132px}}

/* v226: stable document actions and readable care guide links */
.care-doc-rich a{
  text-decoration:none!important;
  border-bottom:1.5px solid currentColor;
  padding-bottom:1px;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
  overflow-wrap:break-word;
  word-break:normal;
}
.care-doc-rich a[data-outbound-link]{
  display:inline!important;
  min-height:0!important;
  gap:0!important;
}
.care-doc-rich a[data-outbound-link]::after{
  display:inline-block;
  margin-inline-start:.25em;
  vertical-align:baseline;
}
.patient-doc-action[data-doc-open],.patient-doc-action[data-doc-download],.patient-doc-action[data-doc-email]{touch-action:manipulation}

/* v236: care guide section anchors align below the sticky header on desktop and mobile. */
.care-doc-section{scroll-margin-top:calc(var(--header-h,72px) + 18px)}
.care-doc-section>summary:focus-visible{outline:3px solid rgba(154,113,79,.28);outline-offset:4px}

/* v237: Exact care-guide quick jumps must not depend on browser-estimated offscreen layout.
   The care document is an in-page navigation target; keeping accordion sections fully measurable
   makes desktop/mobile anchors deterministic even when other sections were open before the jump. */
.care-doc-page .care-doc-section{
  content-visibility: visible !important;
  scroll-margin-block-start: calc(var(--header-h,72px) + 18px);
}
.care-doc-nav-link.active,.care-doc-nav-link[aria-current="true"]{
  border-color: rgba(154,113,79,.44);
  background: #fffaf4;
  color: var(--ink);
}

/* v240: side-effect content uses the same standard care-guide paragraph format across treatments. */

/* v243: image upload for AI Concierge — compact, accessible, and consistent with the existing chat UI. */
.chat-input.chat-input-with-attachment{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:8px!important;
  align-items:center!important;
  padding:10px!important;
}
.chat-input.chat-input-with-attachment [data-chat-input]{
  min-width:0!important;
  inline-size:100%!important;
}
.chat-attach-button{
  min-inline-size:44px;
  min-block-size:44px;
  border:1px solid rgba(154,113,79,.22);
  border-radius:999px;
  background:#fff;
  color:var(--brand-dark);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:8px 11px;
  font-weight:900;
  cursor:pointer;
  box-shadow:var(--shadow-soft);
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.chat-attach-button:hover,.chat-attach-button:focus-visible{box-shadow:var(--focus);background:var(--paper2)}
.chat-attach-button:disabled{opacity:.58;cursor:not-allowed;box-shadow:none}
.chat-attach-button span:last-child{font-size:12px;line-height:1;white-space:nowrap}
.chat-image-note{
  grid-column:1/-1;
  color:var(--muted);
  font-size:11.5px;
  line-height:1.35;
  margin:0 4px 0;
}
.chat-attachment-preview{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px;
  border:1px solid rgba(154,113,79,.18);
  border-radius:18px;
  background:rgba(255,255,255,.84);
  box-shadow:var(--shadow-soft);
}
.chat-attachment-thumb{
  inline-size:48px;
  block-size:48px;
  border-radius:14px;
  overflow:hidden;
  flex:0 0 auto;
  background:var(--paper2);
  border:1px solid var(--line);
}
.chat-attachment-thumb img{inline-size:100%;block-size:100%;object-fit:cover;display:block}
.chat-attachment-copy{min-width:0;display:grid;gap:2px;flex:1;color:var(--ink)}
.chat-attachment-copy b{font-size:13px;line-height:1.2;color:var(--brand-dark)}
.chat-attachment-copy small{font-size:11.5px;line-height:1.25;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-attachment-preview [data-chat-remove-image]{
  inline-size:34px;
  block-size:34px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--brand-dark);
  font-size:22px;
  line-height:1;
  font-weight:900;
  cursor:pointer;
  display:inline-grid;
  place-items:center;
}
.chat-attachment-preview [data-chat-remove-image]:focus-visible{outline:3px solid rgba(154,113,79,.28);outline-offset:2px}
.chat-image-summary{
  display:flex;
  align-items:center;
  gap:8px;
  margin-block-end:8px;
  border:1px solid rgba(154,113,79,.18);
  border-radius:16px;
  padding:7px;
  background:rgba(255,255,255,.76);
}
.msg.user .chat-image-summary{border-color:rgba(255,255,255,.42);background:rgba(255,255,255,.12);color:#fff}
.chat-image-summary-thumb{inline-size:38px;block-size:38px;border-radius:12px;overflow:hidden;flex:0 0 auto;background:var(--paper2)}
.chat-image-summary-thumb img{display:block;inline-size:100%;block-size:100%;object-fit:cover}
.chat-image-summary-text{min-width:0;display:block;font-size:12.5px;font-weight:900;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:520px){
  .chat-input.chat-input-with-attachment{grid-template-columns:auto minmax(0,1fr);gap:7px!important;padding:8px!important}
  .chat-input.chat-input-with-attachment [data-chat-send]{grid-column:1/-1;inline-size:100%;min-block-size:42px!important}
  .chat-attach-button{min-inline-size:42px;min-block-size:42px;padding-inline:10px}
  .chat-attach-button span:last-child{display:none}
  .chat-image-note{font-size:10.8px;line-height:1.3}
}


/* v244: AI Concierge composer polish — keep attachment as a compact icon control and preserve text input/send space. */
.chat-input.chat-input-with-attachment{
  grid-template-columns:44px minmax(0,1fr) auto!important;
  gap:7px!important;
  align-items:center!important;
  padding:8px 10px 10px!important;
}
.chat-input.chat-input-with-attachment [data-chat-input]{
  min-inline-size:0!important;
  inline-size:100%!important;
  min-block-size:44px!important;
  padding-block:9px!important;
}
.chat-input.chat-input-with-attachment [data-chat-send]{
  grid-column:auto!important;
  inline-size:auto!important;
  min-inline-size:74px!important;
  min-block-size:44px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  white-space:nowrap!important;
  flex:0 0 auto!important;
}
.chat-attach-button{
  inline-size:44px!important;
  min-inline-size:44px!important;
  max-inline-size:44px!important;
  block-size:44px!important;
  min-block-size:44px!important;
  padding:0!important;
  border-radius:999px!important;
  flex:0 0 44px!important;
}
.chat-attach-button .chat-attach-icon{
  display:inline-grid!important;
  place-items:center!important;
  font-size:20px!important;
  line-height:1!important;
}
.chat-attach-button span:not(.chat-attach-icon):not(.sr-only){display:none!important}
.chat-image-note{
  grid-column:1/-1!important;
  margin:0 4px!important;
  text-align:center!important;
}
@media(max-width:520px){
  .chat-input.chat-input-with-attachment{
    grid-template-columns:42px minmax(0,1fr) auto!important;
    gap:6px!important;
    padding:7px 8px 9px!important;
  }
  .chat-input.chat-input-with-attachment [data-chat-send]{
    grid-column:auto!important;
    inline-size:auto!important;
    min-inline-size:68px!important;
    min-block-size:42px!important;
    padding:0 12px!important;
  }
  .chat-attach-button{
    inline-size:42px!important;
    min-inline-size:42px!important;
    max-inline-size:42px!important;
    block-size:42px!important;
    min-block-size:42px!important;
    padding:0!important;
  }
  .chat-image-note{font-size:10.7px!important;line-height:1.25!important;}
}
@media(max-width:360px){
  .chat-input.chat-input-with-attachment [data-chat-send]{min-inline-size:60px!important;padding-inline:10px!important;font-size:14px!important;}
}

/* v245: chat image intake UX — keep the composer compact, show image processing clearly, and allow accessible preview. */
.chat-input.chat-input-with-attachment{grid-template-columns:44px minmax(0,1fr) auto!important;align-items:center!important;}
.chat-attach-button{display:inline-grid!important;place-items:center!important;inline-size:44px!important;block-size:44px!important;padding:0!important;line-height:1!important;}
.chat-attach-button .chat-attach-icon{display:inline-grid!important;place-items:center!important;inline-size:22px!important;block-size:22px!important;line-height:1!important;}
.chat-attach-button .chat-attach-icon svg{display:block!important;inline-size:21px!important;block-size:21px!important;fill:currentColor!important;}
.chat-attachment-thumb{border:0;padding:0;cursor:pointer;display:inline-grid;place-items:center;}
.chat-attachment-thumb.placeholder{font-size:22px;color:var(--brand-dark);}
.chat-attachment-preview.processing{align-items:center;}
.chat-image-progress{inline-size:100%;block-size:6px;margin-block-start:5px;accent-color:var(--brand-dark);}
.chat-image-summary-thumb{border:0;padding:0;cursor:pointer;display:inline-grid;place-items:center;}
.chat-image-summary-thumb.icon-only{font-size:21px;color:inherit;}
.msg.user .chat-image-summary{margin-block-end:0;}
.msg.user .chat-image-summary + *{margin-block-start:8px;}
.chat-image-preview-modal{position:fixed;inset:0;z-index:160;display:grid;place-items:center;background:rgba(28,21,17,.72);padding:18px;}
.chat-image-preview-dialog{position:relative;inline-size:min(92vw,520px);max-block-size:86vh;background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:0 24px 80px rgba(0,0,0,.28);overflow:auto;padding:14px;}
.chat-image-preview-dialog img{display:block;inline-size:100%;max-block-size:70vh;object-fit:contain;border-radius:20px;background:var(--paper2);}
.chat-image-preview-dialog p{margin:10px 4px 2px;color:var(--muted);font-weight:800;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.chat-image-preview-close{position:absolute;inset-block-start:10px;inset-inline-end:10px;z-index:2;inline-size:40px;block-size:40px;border:0;border-radius:14px;background:rgba(255,255,255,.92);box-shadow:var(--shadow-soft);color:var(--brand-dark);font-size:26px;font-weight:900;line-height:1;display:grid;place-items:center;cursor:pointer;}
@media(max-width:520px){
  .chat-input.chat-input-with-attachment{grid-template-columns:42px minmax(0,1fr) auto!important;}
  .chat-attach-button{inline-size:42px!important;block-size:42px!important;}
  .chat-attach-button .chat-attach-icon svg{inline-size:20px!important;block-size:20px!important;}
  .chat-image-preview-dialog{inline-size:min(94vw,480px);border-radius:22px;padding:12px;}
}


/* v246: chat image upload progress guard — make selected-image preparation explicit and keep send locked until ready. */
.chat-attachment-preview.processing{border-color:rgba(96,70,48,.24);background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(246,238,228,.9));}
.chat-attachment-preview.processing .chat-attachment-copy{gap:4px;}
.chat-image-progress{display:block;inline-size:100%;block-size:8px;margin-block-start:6px;border:0;border-radius:999px;overflow:hidden;background:rgba(154,113,79,.16);}
.chat-image-progress::-webkit-progress-bar{background:rgba(154,113,79,.16);border-radius:999px;}
.chat-image-progress::-webkit-progress-value{background:linear-gradient(90deg,var(--brand),var(--brand-dark));border-radius:999px;transition:width .18s ease;}
.chat-image-progress::-moz-progress-bar{background:linear-gradient(90deg,var(--brand),var(--brand-dark));border-radius:999px;transition:width .18s ease;}
.chat-image-progress-label{justify-self:end;color:var(--brand-dark)!important;font-weight:900!important;font-size:11px!important;}
.chat-input.chat-input-with-attachment[data-chat-uploading="true"] [data-chat-send]{opacity:.58;cursor:not-allowed;box-shadow:none;}
.chat-input.chat-input-with-attachment[data-chat-uploading="true"] [data-chat-input]{background:rgba(255,255,255,.72);}

/* v247: image upload progress ring on the attach icon — visible while the image is being prepared, without stealing composer space. */
.chat-attach-button{position:relative;overflow:visible!important;isolation:isolate;}
.chat-attach-progress-ring{display:none;position:absolute;inset:-4px;border-radius:999px;pointer-events:none;z-index:0;background:conic-gradient(var(--brand-dark) var(--chat-upload-progress,0%), rgba(154,113,79,.18) 0);}
.chat-attach-progress-ring::after{content:"";position:absolute;inset:4px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px rgba(154,113,79,.08);}
.chat-attach-button.is-uploading .chat-attach-progress-ring{display:block;}
.chat-attach-button.is-uploading{opacity:1!important;cursor:progress!important;box-shadow:none!important;background:#fff!important;color:var(--brand-dark)!important;}
.chat-attach-button.is-uploading .chat-attach-icon{position:relative;z-index:1;}
.chat-input.chat-input-with-attachment[data-chat-uploading="true"] [data-chat-send],
.chat-input.chat-input-with-attachment [data-chat-send][disabled]{opacity:.54!important;cursor:not-allowed!important;box-shadow:none!important;filter:saturate(.82);}
.chat-input.chat-input-with-attachment[data-chat-uploading="true"] [data-chat-input]{background:rgba(255,255,255,.72)!important;}
@media (prefers-reduced-motion:no-preference){
  .chat-attach-button.is-uploading .chat-attach-progress-ring{transition:background .18s ease;}
}

/* v248: chat image picker state lock and remove-control centering. */
.chat-attachment-preview [data-chat-remove-image]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  text-align:center!important;
  font-size:0!important;
  line-height:0!important;
  color:transparent!important;
}
.chat-attachment-preview [data-chat-remove-image]::before{
  content:"×";
  display:block;
  color:var(--brand-dark);
  font-size:22px;
  line-height:1;
  font-weight:900;
  transform:translateY(-.5px);
}
.chat-attach-button.is-uploading .chat-attach-progress-ring{display:block!important;}
.chat-input.chat-input-with-attachment[data-chat-uploading="true"] .chat-attach-button{pointer-events:none;}

/* v251 SEO/accessibility no-JS fallback: visible only when scripts are disabled. */
.seo-noscript{max-width:1120px;margin:32px auto;padding:24px;border-radius:18px;background:#f8f8f8;color:#171717;font-family:Arimo,Arial,sans-serif;line-height:1.7}
.seo-noscript nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.seo-noscript a{display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;border-radius:999px;background:#fff;color:#171717;text-decoration:none;border:1px solid rgba(0,0,0,.08)}
.seo-noscript a:focus-visible{outline:3px solid rgba(17,17,17,.35);outline-offset:3px}

/* v252 static prerender source HTML: crawlable, accessible, visually aligned fallback that the SPA replaces after boot. */
.seo-prerender{max-width:1160px;margin:0 auto;padding:clamp(20px,4vw,48px);font-family:Arimo,Arial,sans-serif;color:#171717;line-height:1.75;background:#fff;min-height:70vh;}
.seo-prerender-card{background:#f8f8f8;border:1px solid rgba(0,0,0,.06);border-radius:24px;padding:clamp(20px,4vw,44px);box-shadow:0 18px 60px rgba(36,27,19,.06);}
.seo-eyebrow{display:inline-block;margin-bottom:10px;color:#7b5d45;font-weight:900;letter-spacing:.01em;}
.seo-prerender h1{margin:0 0 14px;font-size:clamp(2rem,5vw,4.4rem);line-height:1.08;color:#1f1712;}
.seo-prerender h2{margin:28px 0 10px;font-size:clamp(1.25rem,2.4vw,1.75rem);line-height:1.25;color:#1f1712;}
.seo-lead{font-size:clamp(1.05rem,2.2vw,1.35rem);max-width:820px;color:#4a4038;font-weight:700;}
.seo-nav{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px;}
.seo-nav a,.seo-list a{color:#1f1712;text-decoration:none;}
.seo-nav a{display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;border-radius:999px;background:#f8f8f8;border:1px solid rgba(0,0,0,.08);font-weight:900;}
.seo-nav a:focus-visible,.seo-list a:focus-visible{outline:3px solid rgba(110,81,58,.36);outline-offset:3px;}
.seo-hero-image{margin:24px 0 18px;}
.seo-hero-image img{display:block;inline-size:100%;max-block-size:540px;object-fit:cover;border-radius:18px;background:#eee;}
.seo-content p,.seo-eeat p{margin:0 0 14px;max-width:920px;color:#302924;}
.seo-list{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;}
.seo-list li{min-width:0;}
.seo-list a{display:block;min-height:44px;height:100%;padding:16px;border-radius:18px;background:#fff;border:1px solid rgba(0,0,0,.07);box-shadow:0 10px 30px rgba(36,27,19,.04);}
.seo-list b{display:block;margin-bottom:6px;color:#1f1712;}
.seo-list span{display:block;color:#5d5148;font-size:.95rem;line-height:1.55;}
.seo-eeat{margin-top:28px;padding-top:20px;border-top:1px solid rgba(0,0,0,.08);}
.seo-noscript-note{max-width:1120px;margin:16px auto;padding:12px 18px;border-radius:16px;background:#f8f8f8;color:#4a4038;font-family:Arimo,Arial,sans-serif;}
@media(max-width:680px){.seo-prerender{padding:18px 12px}.seo-prerender-card{border-radius:18px;padding:18px}.seo-list{grid-template-columns:1fr}.seo-nav a{flex:1 1 auto;justify-content:center}}

/* v268 booking validation and submission feedback */
.booking-status[hidden]{display:none!important}.booking-status{margin-block:2px 0}.field-invalid input,.field-invalid select,.field-invalid textarea,.field-invalid .date-trigger{border-color:#b84a3a!important;background:#fff7f5!important;box-shadow:0 0 0 3px rgba(184,74,58,.08)}[data-booking-submit][aria-busy="true"]{cursor:progress;opacity:.78}.booking-form [aria-invalid="true"]{scroll-margin-top:120px}

/* v272 appointment admin workflow: structured decision management */
.request-card{align-items:stretch}.request-main{min-width:0}.admin-decision-form{display:grid;gap:14px;min-width:min(520px,100%);padding:14px;border:1px solid var(--line);border-radius:22px;background:rgba(255,253,249,.72);box-shadow:var(--shadow-soft)}.admin-decision-grid{grid-template-columns:minmax(170px,.8fr) minmax(150px,.6fr) minmax(170px,.8fr)}.admin-visibility-note{display:grid;gap:4px;border:1px solid rgba(111,83,62,.14);border-radius:18px;background:#fff;padding:11px 13px;color:var(--muted)}.admin-visibility-note b{color:var(--brand-dark)}.admin-decision-actions{margin-top:0}.admin-decision-form textarea{resize:vertical}.admin-decision-form .small{font-size:.92rem;margin:0}@media(max-width:900px){.request-card{display:grid}.admin-decision-form{min-width:0}.admin-decision-grid{grid-template-columns:1fr}.admin-decision-actions .btn{width:100%}}


/* v273 admin appointment management polish: responsive, non-overlapping workflow cards */
.admin-grid{align-items:start}.request-list{gap:18px}.request-card{display:grid!important;grid-template-columns:minmax(0,1fr);align-items:stretch!important;gap:16px;overflow:visible;padding:clamp(16px,2vw,22px)}.request-main{min-width:0;overflow-wrap:anywhere}.request-title-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.request-status{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--brand-dark);font-weight:900;font-size:.88rem}.admin-decision-form{width:100%;min-width:0!important;max-width:none;padding:clamp(14px,2vw,20px);border-radius:24px;box-shadow:none;background:#fff}.grid.cols-3.admin-decision-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;gap:14px}.admin-decision-form .grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;gap:14px}.admin-decision-form .field input,.admin-decision-form .field select,.admin-decision-form .field textarea{width:100%}.admin-visibility-note{grid-template-columns:auto minmax(0,1fr);align-items:start;column-gap:10px;line-height:1.65}.admin-visibility-note span{min-width:0}.admin-decision-actions{display:flex;flex-wrap:wrap;gap:10px}.admin-decision-actions .btn{flex:1 1 160px;min-width:min(100%,160px)}.admin-decision-form .booking-status{width:100%;margin-top:4px}.admin-head{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}.admin-queue-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:16px 0}.admin-queue-summary article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:var(--shadow-soft);min-width:0}.admin-smart-note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;border:1px solid var(--line);border-radius:20px;background:#fff;padding:16px;margin-bottom:18px}.admin-smart-note span{min-width:0}@media(min-width:1180px){.request-card{grid-template-columns:minmax(0,1fr) minmax(400px,520px)}}@media(max-width:760px){.admin-grid{display:grid!important;grid-template-columns:1fr!important}.request-card{padding:14px;border-radius:20px}.admin-decision-form{padding:13px;border-radius:20px}.grid.cols-3.admin-decision-grid,.admin-decision-form .grid.cols-2{grid-template-columns:1fr!important}.admin-visibility-note,.admin-smart-note{grid-template-columns:1fr}.admin-decision-actions{display:grid;grid-template-columns:1fr}.admin-decision-actions .btn{width:100%;min-width:0}.request-title-row{display:grid}.request-status{justify-self:start}[dir="rtl"] .request-status{justify-self:end}}

/* v274 admin appointment source-of-truth + managed-i18n layout hardening */
.admin-grid{align-items:start}.admin-grid .panel{min-width:0}.request-list{display:grid;gap:18px}.request-card{display:grid!important;grid-template-columns:minmax(0,1fr);align-items:stretch!important;gap:16px;overflow:visible;padding:clamp(16px,2vw,22px);writing-mode:horizontal-tb}.request-card *{writing-mode:horizontal-tb}.request-main{min-width:0;overflow-wrap:anywhere;word-break:normal}.request-title-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.request-title-row h3{min-width:0;overflow-wrap:anywhere}.request-status{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--brand-dark);font-weight:900;font-size:.88rem;white-space:normal;text-align:center}.request-patient-line,.request-date-line,.request-summary{margin:.35rem 0}.request-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin:10px 0}.request-detail-grid div{border:1px solid rgba(111,83,62,.13);border-radius:16px;background:rgba(255,255,255,.72);padding:9px 11px;min-width:0}.request-detail-grid dt{font-size:.78rem;color:var(--muted);font-weight:900;margin:0}.request-detail-grid dd{margin:2px 0 0;color:var(--ink);font-weight:800;line-height:1.45;overflow-wrap:anywhere}.admin-decision-form{width:100%;min-width:0!important;max-width:none;padding:clamp(14px,2vw,20px);border-radius:24px;box-shadow:none;background:#fff}.grid.cols-3.admin-decision-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;gap:14px}.admin-decision-form .grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;gap:14px}.admin-decision-form .field input,.admin-decision-form .field select,.admin-decision-form .field textarea{width:100%}.admin-visibility-note{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;column-gap:10px;line-height:1.65}.admin-visibility-note span{min-width:0}.admin-decision-actions{display:flex;flex-wrap:wrap;gap:10px}.admin-decision-actions .btn{flex:1 1 160px;min-width:min(100%,160px)}.admin-decision-form .booking-status{width:100%;margin-top:4px}.admin-head{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}.admin-queue-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:16px 0}.admin-queue-summary article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:var(--shadow-soft);min-width:0}.admin-smart-note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;border:1px solid var(--line);border-radius:20px;background:#fff;padding:16px;margin-bottom:18px}.admin-smart-note span{min-width:0}@media(min-width:1180px){.request-card{grid-template-columns:minmax(0,1fr) minmax(400px,520px)}}@media(max-width:760px){.admin-grid{display:grid!important;grid-template-columns:1fr!important}.request-card{padding:14px;border-radius:20px}.request-detail-grid{grid-template-columns:1fr}.admin-decision-form{padding:13px;border-radius:20px}.grid.cols-3.admin-decision-grid,.admin-decision-form .grid.cols-2{grid-template-columns:1fr!important}.admin-visibility-note,.admin-smart-note{grid-template-columns:1fr}.admin-decision-actions{display:grid;grid-template-columns:1fr}.admin-decision-actions .btn{width:100%;min-width:0}.request-title-row{display:grid}.request-status{justify-self:start}[dir="rtl"] .request-status{justify-self:end}}

/* v275 admin workbench UX: desktop-first management layout, one decision CTA, stable feedback */
.admin-page{overflow-x:hidden}.admin-page .admin-container{width:min(1440px,100%);padding-inline:clamp(18px,3vw,42px)}.admin-page .admin-hero{max-width:1040px}.admin-page h1{font-size:clamp(36px,4.6vw,64px);line-height:1.02;max-width:980px}.admin-page .lead{max-width:920px}.admin-page .admin-console-note{max-width:980px}.admin-page .admin-kpi-grid{grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px}.admin-workbench{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin-top:24px}.admin-workbench>.panel,.admin-workspace.panel,.admin-nav-panel.panel{min-width:0}.admin-nav-panel.panel{padding:12px;background:rgba(255,253,249,.92)!important}.admin-tabs{display:flex!important;flex-wrap:wrap;gap:10px;align-items:center}.admin-tabs .tab{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border-radius:999px;text-align:center;white-space:nowrap;padding:10px 18px}.admin-workspace.panel{padding:clamp(18px,2.4vw,30px);background:rgba(255,253,249,.88)!important;overflow:visible}.admin-requests-header{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:18px;align-items:start}.admin-requests-header .admin-head{display:block}.admin-queue-summary{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px;margin:0 0 16px!important}.admin-page .admin-smart-note{margin:0 0 20px!important;background:#fff!important}.admin-request-list{display:grid!important;gap:22px!important}.admin-page .request-card{display:grid!important;grid-template-columns:minmax(0,.96fr) minmax(430px,.88fr)!important;gap:clamp(18px,2vw,28px)!important;align-items:start!important;padding:clamp(18px,2vw,26px)!important;border-radius:28px!important;background:#F8F8F8!important;overflow:visible!important;writing-mode:horizontal-tb!important}.admin-page .request-card *{writing-mode:horizontal-tb!important}.admin-page .request-main{min-width:0;background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(15px,1.6vw,22px);box-shadow:var(--shadow-soft);overflow-wrap:anywhere;word-break:normal}.admin-page .request-title-row{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important}.admin-page .request-title-row h3{font-size:clamp(22px,2.2vw,30px);margin:4px 0 0}.admin-page .request-status{white-space:normal;min-width:max-content;text-align:center}.admin-page .request-detail-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important}.admin-page .admin-decision-form{display:grid!important;gap:16px!important;align-self:start!important;width:100%!important;min-width:0!important;max-width:none!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:24px!important;padding:clamp(15px,1.7vw,22px)!important;box-shadow:var(--shadow-soft)!important}.admin-decision-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding-bottom:12px}.admin-decision-heading h3{margin:4px 0 0;font-size:clamp(20px,2vw,26px)}.admin-current-status{flex:none}.admin-page .admin-visibility-note{display:grid!important;grid-template-columns:1fr!important;background:#F8F8F8!important}.admin-page .admin-decision-grid{display:grid!important;grid-template-columns:minmax(180px,1fr) minmax(160px,.8fr) minmax(180px,1fr)!important;gap:12px!important}.admin-page .admin-decision-grid .field[hidden],.admin-page .admin-decision-grid .field.is-hidden{display:none!important}.admin-text-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:12px}.admin-page .admin-decision-form .field input,.admin-page .admin-decision-form .field select,.admin-page .admin-decision-form .field textarea{width:100%;min-width:0;background:#fff}.admin-page .admin-decision-actions{display:grid!important;grid-template-columns:minmax(220px,1fr) auto auto!important;gap:10px!important;align-items:center!important;align-content:start!important;justify-items:stretch!important;margin-top:2px!important}.admin-page .admin-decision-actions .btn{flex:0 0 auto!important;align-self:center!important;width:auto!important;min-width:0!important;min-height:48px!important;block-size:auto!important;max-block-size:64px!important;border-radius:999px!important;padding:11px 18px!important}.admin-page .admin-decision-actions [data-admin-save-button]{min-width:220px!important}.admin-decision-saved{display:grid;gap:8px;border:1px solid #bfe3c6;background:#eef9f0;color:#28643a;border-radius:20px;padding:16px;line-height:1.55}.admin-decision-saved b{font-size:1.04rem}.admin-decision-saved .request-status{justify-self:start;background:#fff;color:#28643a;border-color:#bfe3c6}[dir="rtl"] .admin-decision-saved .request-status{justify-self:end}.admin-page [aria-busy="true"]{cursor:progress;opacity:.78}.admin-page .booking-status.success,.admin-page .booking-status.info,.admin-page .booking-status.error{border-radius:16px;padding:12px 14px}.admin-page .booking-status.success{background:#eef9f0;color:#28643a;border:1px solid #bfe3c6}.admin-page .booking-status.info{background:#f7fbff;color:#244f7a;border:1px solid #c9def4}.admin-page .booking-status.error{background:#fff7f5;color:#8f2f22;border:1px solid #efc2b8}@media(max-width:1180px){.admin-page .admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-requests-header{grid-template-columns:1fr}.admin-page .request-card{grid-template-columns:1fr!important}.admin-text-grid{grid-template-columns:1fr}.admin-page .admin-decision-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important}}@media(max-width:720px){.admin-page .admin-container{padding-inline:16px}.admin-page h1{font-size:clamp(34px,12vw,48px)}.admin-page .admin-kpi-grid{grid-template-columns:1fr}.admin-tabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-tabs .tab{white-space:normal}.admin-queue-summary{grid-template-columns:1fr!important}.admin-page .request-card{padding:14px!important;border-radius:22px!important}.admin-page .request-title-row,.admin-decision-heading{display:grid!important}.admin-page .request-status,.admin-current-status{justify-self:start}[dir="rtl"] .admin-page .request-status,[dir="rtl"] .admin-current-status{justify-self:end}.admin-page .admin-decision-grid,.admin-text-grid{grid-template-columns:1fr!important}.admin-page .admin-decision-actions{grid-template-columns:1fr!important}.admin-page .admin-decision-actions .btn,.admin-page .admin-decision-actions [data-admin-save-button]{width:100%!important;min-width:0!important;max-block-size:none!important}}

/* v276 admin decision flow: active/handled queue separation and reliable feedback */
.admin-page .admin-request-section{display:grid;gap:16px;margin-top:22px;min-width:0}
.admin-page .admin-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:10px}
.admin-page .admin-section-title h3{margin:0;font-size:clamp(22px,2.4vw,32px)}
.admin-page .admin-section-title span{display:inline-grid;place-items:center;min-inline-size:38px;min-block-size:38px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--brand-dark);font-weight:900}
.admin-page .admin-decision-global-notice{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-radius:20px;padding:14px 16px;margin:16px 0;border:1px solid #bfe3c6;background:#eef9f0;color:#28643a;box-shadow:var(--shadow-soft)}
.admin-page .admin-decision-global-notice.error{border-color:#efc2b8;background:#fff7f5;color:#8f2f22}
.admin-page .admin-decision-global-notice b{font-weight:900}
.admin-page .admin-decision-global-notice .request-status{background:#fff;color:inherit;border-color:currentColor}
.admin-page .handled-list .request-card,.admin-page .request-card.handled{grid-template-columns:minmax(0,1fr) minmax(220px,.35fr)!important;background:#fff!important;opacity:.96}
.admin-page .request-card.handled .request-main{box-shadow:none;background:#F8F8F8}
.admin-handled-summary{display:grid;gap:8px;align-self:start;background:#eef9f0;border:1px solid #bfe3c6;color:#28643a;border-radius:22px;padding:16px;line-height:1.55;overflow-wrap:anywhere}
.admin-handled-summary b{font-size:1rem;font-weight:900}
.admin-handled-summary span{font-size:.9rem;font-weight:800;color:inherit;opacity:.85}
.admin-handled-summary p{margin:0;color:inherit}
.admin-page .admin-decision-form [data-admin-proposed-field][hidden]{display:none!important}
.admin-page .admin-decision-form select[name="status"]{font-weight:900;color:var(--brand-dark)}
@media(max-width:1180px){.admin-page .handled-list .request-card,.admin-page .request-card.handled{grid-template-columns:1fr!important}}
@media(max-width:720px){.admin-page .admin-section-title{align-items:flex-start}.admin-page .admin-decision-global-notice{display:grid}.admin-handled-summary{border-radius:18px}}

/* v277 admin decision flow: accessible segmented status control and handled-count parity */
.admin-page .admin-status-field{grid-column:1/-1}
.admin-page .admin-status-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:8px}
.admin-page .admin-status-choice{min-height:48px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--brand-dark);font:inherit;font-weight:900;padding:10px 14px;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}
.admin-page .admin-status-choice.active,.admin-page .admin-status-choice[aria-checked="true"]{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff;box-shadow:var(--shadow-soft)}
.admin-page .admin-status-choice:focus-visible{outline:3px solid rgba(139,100,72,.3);outline-offset:3px}
.admin-page .admin-queue-summary article b{font-size:clamp(24px,2.4vw,34px)}
@media(max-width:1180px){.admin-queue-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}.admin-page .admin-status-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.admin-page .admin-status-choices{grid-template-columns:1fr}.admin-queue-summary{grid-template-columns:1fr!important}}

/* v283: keep client messages visually separate from appointment request details. */
.admin-page .admin-message-card{grid-template-columns:minmax(0,1fr) minmax(380px,.72fr)!important}
.admin-message-body{display:grid;gap:6px;margin:12px 0;padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:#F8F8F8;color:var(--ink)}
.admin-message-body b{color:var(--brand-dark);font-weight:900}
.admin-message-body p{margin:0;color:var(--muted);line-height:1.7;white-space:pre-wrap}
.admin-message-detail-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important}
.admin-page .admin-message-card .request-main{background:#fff!important}
@media(max-width:1180px){.admin-page .admin-message-card{grid-template-columns:1fr!important}}

/* v289: Patient-area message context threading. Clinic replies are shown with the original client message/request. */
.patient-message-thread-lead{margin-top:-6px;margin-bottom:14px;line-height:1.7}
.patient-thread-card{display:grid;gap:12px}
.patient-message.linked{background:#fffdf8;border-color:#eadbc9}
.patient-message.waiting{border-color:#eadbc9;background:#fffdf8}
.patient-message.system{background:#f8f8f8}
.patient-message-current{display:grid;gap:6px;min-width:0}
.patient-message-current b{color:var(--brand-dark)}
.patient-message-current p{white-space:pre-wrap;line-height:1.75}
.patient-message-linked-context{display:grid;gap:8px;background:#F8F8F8;border:1px solid var(--line);border-radius:16px;padding:13px 15px}
.patient-message-linked-context.appointment{background:#f7f1ea;border-color:#eadbc9}
.patient-message-linked-context .eyebrow{font-size:.78rem;color:var(--brand-dark);font-weight:900;letter-spacing:.03em}
.patient-message-linked-context p{margin:0;color:var(--muted);line-height:1.75;white-space:pre-wrap}
.patient-message-linked-context small{color:var(--muted);font-weight:800}
.patient-message-context-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px 12px;margin:0}
.patient-message-context-grid div{min-width:0}
.patient-message-context-grid dt{font-size:.78rem;color:var(--muted);font-weight:800;margin-bottom:2px}
.patient-message-context-grid dd{margin:0;color:var(--ink);font-weight:900;overflow-wrap:anywhere}
.patient-message-pending-note{display:inline-flex;align-self:flex-start;margin-top:8px;padding:7px 12px;border-radius:999px;background:#fff7ed;border:1px solid #eadbc9;color:var(--brand-dark);font-size:.86rem;font-weight:900}
@media(max-width:720px){.patient-message-context-grid{grid-template-columns:1fr}.patient-thread-card{gap:10px}.patient-message-linked-context{padding:11px 12px}.patient-message-pending-note{width:100%;justify-content:center;text-align:center}}

/* v299: Patient notification center and global logical-end notification bell. */
.notification-bell-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;isolation:isolate;order:98}
.notification-bell{position:relative;min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--brand-dark);display:inline-flex;align-items:center;justify-content:center;font:inherit;cursor:pointer;box-shadow:0 8px 22px rgba(72,54,42,.08);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.notification-bell:hover,.notification-bell:focus-visible{transform:translateY(-1px);border-color:#d8c5b0;box-shadow:0 12px 28px rgba(72,54,42,.14);outline:none}
.notification-badge{position:absolute;inset-block-start:-5px;inset-inline-end:-5px;min-width:21px;height:21px;border-radius:999px;background:var(--brand-dark);color:#fff;border:2px solid #fff;font-size:.72rem;font-weight:900;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;line-height:1}
.notification-popover{position:absolute;inset-block-start:calc(100% + 10px);inset-inline-end:0;width:min(380px,calc(100vw - 28px));z-index:50;padding:16px;display:grid;gap:12px;box-shadow:0 20px 60px rgba(35,27,22,.18)}
.notification-popover-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.notification-popover-head b{color:var(--brand-dark)}
.notification-popover-list{display:grid;gap:9px;max-height:min(520px,70vh);overflow:auto;padding-inline-end:2px}
.patient-notification-center{display:grid;gap:14px;margin-bottom:18px}.notification-center-head{align-items:flex-start}
.patient-notification-list{display:grid;gap:10px}.patient-notification-card{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}.patient-notification-card.unread{border-color:#eadbc9;background:#fffdf8}.patient-notification-card.compact{border-radius:14px}
.notification-card-button{width:100%;border:0;background:transparent;color:inherit;font:inherit;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;text-align:start;align-items:start;padding:14px 16px;cursor:pointer;min-height:54px}.notification-card-button:hover,.notification-card-button:focus-visible{background:#F8F8F8;outline:none}.notification-icon{font-size:1.15rem;line-height:1.2}.notification-copy{display:grid;gap:3px;min-width:0}.notification-copy b{color:var(--brand-dark);font-weight:900}.notification-copy span{color:var(--ink);line-height:1.55}.notification-copy small{color:var(--muted);font-weight:800}.notification-unread-dot{inline-size:10px;block-size:10px;border-radius:50%;background:var(--brand-dark);margin-top:7px}.patient-notification-push-note{display:grid;gap:4px;border:1px solid var(--line);border-radius:16px;background:#F8F8F8;padding:12px 14px;color:var(--muted);line-height:1.6}.patient-notification-push-note b{color:var(--brand-dark)}
.nav .notification-bell-wrap{margin-inline-start:4px;margin-inline-end:4px}.nav-links .notification-bell-wrap{align-self:center}
@media(max-width:980px){.notification-popover{position:fixed;inset-inline:14px;inset-block-start:auto;inset-block-end:18px;width:auto;max-height:82vh}.nav-links .notification-bell-wrap{justify-content:flex-start}.notification-bell{min-width:48px;min-height:48px}.patient-notification-center{margin-bottom:14px}.notification-card-button{padding:13px 14px;min-height:56px}}

.notification-focus-pulse{outline:3px solid rgba(72,54,42,.22);outline-offset:4px;transition:outline-color .25s ease}


/* v303: compact accessible multi-select chips for booking service selection */
.booking-service-field{display:grid!important;gap:10px;min-width:0}.booking-service-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.booking-service-field .field-label{font-weight:900;color:var(--ink)}.booking-service-count{display:inline-flex;align-items:center;justify-content:center;min-height:28px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--brand-dark);font-weight:900;font-size:.82rem;padding:3px 10px;white-space:nowrap}.booking-service-chipset{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.booking-service-chip{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:46px;max-width:100%;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);padding:9px 14px;box-shadow:var(--shadow-soft);font-weight:900;cursor:pointer;user-select:none;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.booking-service-chip:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.booking-service-chip input{position:absolute;inset:0;opacity:0;cursor:pointer}.booking-service-check{inline-size:22px;block-size:22px;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(111,83,62,.28);border-radius:50%;background:#fff;color:transparent;font-size:13px;line-height:1}.booking-service-label{display:block;min-width:0;overflow-wrap:anywhere;line-height:1.25}.booking-service-chip.is-selected{background:var(--paper2);border-color:rgba(154,113,79,.5);box-shadow:0 10px 22px rgba(59,43,34,.08)}.booking-service-chip.is-selected .booking-service-check{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}.booking-service-chip:focus-within{box-shadow:var(--focus)}.booking-service-field.field-invalid .booking-service-chipset{border:1px solid #efc2b8;background:#fff7f5;border-radius:24px;padding:10px}.booking-service-field.field-invalid .booking-service-count{border-color:#efc2b8;color:#8f2f22}.request-detail-grid div:first-child dd{font-size:1rem}.request-detail-grid div:first-child{background:rgba(244,237,228,.68);border-color:rgba(154,113,79,.22)}@media(max-width:760px){.booking-service-chipset{gap:8px}.booking-service-chip{min-height:44px;padding:8px 12px}.booking-service-label{font-size:.95rem}.booking-service-head{align-items:flex-start}.booking-service-count{font-size:.78rem}}

/* v308 — cache correctness + booking chip layout + admin handled-detail spacing.
   Pure presentation overrides: no content, routing, auth, SEO or data-contract changes. */
.booking-request-type-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr)!important;
  gap:clamp(14px,2vw,22px)!important;
  align-items:start!important;
}
.booking-request-type-layout>.booking-service-field{min-width:0!important;align-self:start!important}
.booking-goal-field{align-self:start!important;justify-self:stretch!important;max-width:360px!important;min-width:0!important}
.booking-request-type-layout .booking-service-chipset{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))!important;
  gap:10px!important;
  align-items:stretch!important;
}
.booking-request-type-layout .booking-service-chip{
  width:100%!important;
  min-height:46px!important;
  justify-content:space-between!important;
  text-align:start!important;
  box-shadow:0 8px 18px rgba(59,43,34,.055)!important;
}
.booking-request-type-layout .booking-service-label{flex:1 1 auto;text-align:start;line-height:1.25}
html[dir="rtl"] .booking-request-type-layout .booking-service-label{text-align:right}
html[dir="ltr"] .booking-request-type-layout .booking-service-label{text-align:left}
.admin-handled-detail{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:4px!important;
  align-items:start!important;
}
.admin-handled-detail>b{display:block!important;line-height:1.35!important;margin:0!important}
.admin-handled-detail>span{display:block!important;line-height:1.6!important;margin:0!important;white-space:pre-wrap!important;overflow-wrap:anywhere!important}
@media(max-width:980px){
  .booking-request-type-layout{grid-template-columns:1fr!important}
  .booking-goal-field{max-width:none!important}
}
@media(max-width:640px){
  .booking-request-type-layout .booking-service-chipset{grid-template-columns:1fr!important;gap:8px!important}
  .booking-request-type-layout .booking-service-chip{min-height:44px!important}
}

/* v310 — notification center parity and logout routing stability.
   The bell is a navigation action across desktop/mobile web: no dropdown state,
   no deferred popover, no accidental home-route refresh. Logout renders the
   secure login view immediately after clearing local patient state. */
.nav-mobile-actions{display:contents}
.notification-bell-mobile{display:none!important}
.notification-bell-nav{display:inline-flex}
.notification-popover{display:none!important}
.patient-overview-messages{display:flex;flex-direction:column;min-width:0}
.patient-overview-message-list{display:grid;gap:14px;margin-block:12px 18px;min-width:0}
.patient-overview-message-list:empty{display:none}
.patient-overview-message-list .patient-message{margin:0;min-width:0}
.patient-overview-message-action{align-self:flex-start;margin-block-start:0}
html[dir="rtl"] .patient-overview-message-action{align-self:flex-end}
@media(max-width:1320px){
  .topbar .nav-mobile-actions{grid-column:1!important;grid-row:1!important;justify-self:start!important;align-self:center!important;display:flex!important;align-items:center!important;gap:8px!important;min-inline-size:0!important;z-index:10004!important;direction:ltr!important}
  .topbar .nav-mobile-actions .menu-toggle{grid-column:auto!important;grid-row:auto!important;justify-self:auto!important;margin:0!important;position:relative!important;z-index:10004!important;flex:0 1 auto!important}
  .topbar .notification-bell-mobile{display:inline-flex!important;align-self:center!important;order:2!important;flex:0 0 auto!important;margin:0!important}
  .topbar .nav-links .notification-bell-nav{display:none!important}
  .notification-bell-mobile .notification-bell{min-inline-size:52px!important;min-block-size:52px!important;box-shadow:var(--shadow-soft)!important}
  .notification-bell-mobile .notification-popover{display:none!important}
  html[dir="ltr"] .topbar .nav-mobile-actions{grid-column:2!important;justify-self:end!important;direction:ltr!important}
}
@media(max-width:720px){
  .patient-overview-message-list{gap:16px;margin-block:14px 20px}
  .patient-overview-message-action{align-self:stretch;inline-size:100%;justify-content:center}
}
@media(max-width:420px){
  .topbar .nav-mobile-actions{gap:6px!important}
  .topbar .nav-mobile-actions .menu-toggle{min-inline-size:96px!important;padding-inline:12px!important}
  .notification-bell-mobile .notification-bell{min-inline-size:48px!important;min-block-size:48px!important}
}
/* v315 admin access hardening: secure manager gate without changing the public visual language. */
.admin-auth-page .admin-auth-card{display:grid;gap:18px;max-width:760px;margin-inline:auto;padding:clamp(24px,4vw,42px);background:rgba(255,253,249,.94)!important;border-radius:32px!important;box-shadow:var(--shadow-soft)}
.admin-auth-page .admin-auth-card h1{font-size:clamp(34px,5vw,58px);line-height:1.04;margin:0;color:var(--brand-dark)}
.admin-auth-page .admin-secure-note{display:grid;gap:6px;border:1px solid var(--line);border-radius:22px;background:#F8F8F8;padding:14px 16px;line-height:1.55;color:var(--muted)}
.admin-auth-page .admin-secure-note b{color:var(--brand-dark)}
.admin-auth-page .admin-login-form{display:grid;gap:14px;max-width:440px}
.admin-auth-page .admin-login-form .field input{inline-size:100%;min-block-size:52px;border-radius:18px;font-weight:900;background:#fff}
.admin-auth-page .admin-login-form .actions{margin:0}
.admin-auth-page .admin-login-form .btn{inline-size:100%;min-block-size:52px}
.admin-page .admin-console-note{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.admin-page .admin-console-note [data-admin-logout]{flex:0 0 auto}
@media(max-width:720px){.admin-auth-page .admin-auth-card{border-radius:24px;padding:22px}.admin-auth-page .admin-login-form{max-width:none}.admin-page .admin-console-note{display:grid}.admin-page .admin-console-note [data-admin-logout]{inline-size:100%}}

/* v317 — gallery thumbnail fluid full-frame surfaces + direction-aware mobile header order.
   Preserve the v316 no-crop achievement while removing fixed-ratio letterbox bars: when gallery
   supplies image dimensions, the thumbnail surface adopts the original media ratio; otherwise
   the img renders at full inline size with intrinsic block size. */
.smart-gallery-card .gallery-open-surface{
  aspect-ratio:var(--gallery-media-ratio,auto)!important;
  background:transparent!important;
  display:block!important;
  inline-size:100%!important;
  overflow:hidden!important;
  line-height:0!important;
}
.smart-gallery-card .gallery-open-surface img,
.gallery-grid.smart-gallery-grid .smart-gallery-card .gallery-open-surface img{
  display:block!important;
  inline-size:100%!important;
  block-size:auto!important;
  max-inline-size:100%!important;
  max-block-size:none!important;
  aspect-ratio:auto!important;
  min-block-size:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  image-rendering:auto!important;
  background:transparent!important;
}
.smart-gallery-card .gallery-open-surface[style*="--gallery-media-ratio"] img,
.gallery-grid.smart-gallery-grid .smart-gallery-card .gallery-open-surface[style*="--gallery-media-ratio"] img{
  block-size:100%!important;
}
@media(max-width:820px){
  .smart-gallery-card .gallery-open-surface{aspect-ratio:var(--gallery-media-ratio,auto)!important;}
}
@media(max-width:980px){
  .topbar .nav{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:clamp(10px,3vw,16px)!important;
  }
  html[dir="rtl"] .topbar .brand{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:start!important;
    min-inline-size:0!important;
    max-inline-size:min(52vw,220px)!important;
    z-index:2!important;
  }
  html[dir="rtl"] .topbar .nav-mobile-actions{
    grid-column:2!important;
    grid-row:1!important;
    justify-self:end!important;
    direction:rtl!important;
    display:flex!important;
    align-items:center!important;
  }
  html[dir="ltr"] .topbar .brand{
    grid-column:2!important;
    grid-row:1!important;
    justify-self:end!important;
    min-inline-size:0!important;
    max-inline-size:min(52vw,220px)!important;
    z-index:2!important;
  }
  html[dir="ltr"] .topbar .nav-mobile-actions{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:start!important;
    direction:ltr!important;
    display:flex!important;
    align-items:center!important;
  }
  .topbar .brand-logo{
    inline-size:min(100%,190px)!important;
    max-block-size:64px!important;
    object-fit:contain!important;
  }
}
@media(max-width:420px){
  html[dir="rtl"] .topbar .brand,
  html[dir="ltr"] .topbar .brand{max-inline-size:50vw!important;}
  .topbar .brand-logo{inline-size:min(100%,172px)!important;}
}

/* v320 — gallery thumbnails: fixed-size, no-frame, full-image parity.
   Root-cause fix for v318: the blurred same-image cover backdrop looked like an inner frame.
   Final rule: one consistent square media slot, no pseudo/backdrop/padding, foreground img only,
   object-fit: contain to preserve the whole treatment photo without crop or distortion. */
.smart-gallery-card .gallery-open-surface,
.gallery-grid.smart-gallery-grid .smart-gallery-card .gallery-open-surface{
  position:relative!important;
  display:block!important;
  inline-size:100%!important;
  aspect-ratio:1/1!important;
  block-size:auto!important;
  min-block-size:0!important;
  max-block-size:none!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  line-height:0!important;
}
.smart-gallery-card .gallery-open-surface::before,
.gallery-grid.smart-gallery-grid .smart-gallery-card .gallery-open-surface::before,
.smart-gallery-card .gallery-open-surface::after,
.gallery-grid.smart-gallery-grid .smart-gallery-card .gallery-open-surface::after{
  content:none!important;
  display:none!important;
  background-image:none!important;
  filter:none!important;
  opacity:0!important;
}
.smart-gallery-card .gallery-open-surface img,
.gallery-grid.smart-gallery-grid .smart-gallery-card .gallery-open-surface img,
.smart-gallery-card .gallery-open-surface[style] img,
.gallery-grid.smart-gallery-grid .smart-gallery-card .gallery-open-surface[style] img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  inline-size:100%!important;
  block-size:100%!important;
  max-inline-size:100%!important;
  max-block-size:100%!important;
  min-block-size:0!important;
  padding:0!important;
  margin:0!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
  image-rendering:auto!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  z-index:1!important;
}
@media(max-width:820px){
  .smart-gallery-card .gallery-open-surface,
  .gallery-grid.smart-gallery-grid .smart-gallery-card .gallery-open-surface{aspect-ratio:1/1!important;}
}


/* v332: regular care instructions are grouped by instruction type; each line keeps its own validity range. */
.patient-ai-care-timed-bullets{gap:10px!important}
.patient-ai-care-timed-bullets>li{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:10px;row-gap:6px}
.patient-ai-care-line-text{min-width:0;overflow-wrap:anywhere;word-break:normal}
.patient-ai-care-timed-bullets>li.notification-focus-pulse{border-radius:14px;background:rgba(244,237,228,.42);outline-offset:2px}
.patient-ai-care-line-validity{display:inline-flex;align-items:center;justify-self:end;max-width:100%;border:1px solid rgba(154,113,79,.18);background:rgba(244,237,228,.62);border-radius:999px;padding:3px 9px;color:var(--muted);font-size:12px;font-weight:850;line-height:1.35;white-space:normal;text-align:start}
.patient-ai-care-timed-bullets[dir="rtl"] .patient-ai-care-line-validity{justify-self:start;direction:rtl;text-align:right}
.patient-ai-care-timed-bullets[dir="ltr"] .patient-ai-care-line-validity{justify-self:end;direction:ltr;text-align:left}
@media(max-width:700px){.patient-ai-care-timed-bullets>li{grid-template-columns:1fr}.patient-ai-care-line-validity{justify-self:start}.patient-ai-care-timed-bullets[dir="rtl"] .patient-ai-care-line-validity{justify-self:start}.patient-ai-care-timed-bullets[dir="ltr"] .patient-ai-care-line-validity{justify-self:start}}

/* v338: server-owned regular care display groups. The BFF provides date buckets and
   line-level provenance; the client only renders the grouped contract for readability. */
.patient-ai-care-date-groups{display:grid;gap:14px;margin-top:6px;min-width:0}
.patient-ai-care-date-group{display:grid;gap:8px;min-width:0;padding-block:2px}
.patient-ai-care-date-group+.patient-ai-care-date-group{padding-top:12px;border-top:1px solid rgba(154,113,79,.14)}
.patient-ai-care-date-group-validity{justify-self:start;margin:0 0 2px 0;max-width:100%}
.patient-ai-care-date-group .patient-ai-care-bullets{margin:0!important;gap:8px!important}
.patient-ai-care-date-group .patient-ai-care-bullets>li{line-height:1.68!important}
.patient-ai-care-date-groups[dir="rtl"] .patient-ai-care-date-group-validity{justify-self:start;direction:rtl;text-align:right}
.patient-ai-care-date-groups[dir="ltr"] .patient-ai-care-date-group-validity{justify-self:start;direction:ltr;text-align:left}
@media(max-width:700px){.patient-ai-care-date-groups{gap:12px}.patient-ai-care-date-group{gap:7px}.patient-ai-care-date-group+.patient-ai-care-date-group{padding-top:10px}.patient-ai-care-date-group-validity{font-size:12px;line-height:1.4;white-space:normal}}


/* veterinary-enterprise-adaptation-v1 */
.btn.emergency, .btn-danger-vet { background:#A0443E; color:#fff; border-color:#A0443E; }
.btn.emergency:hover, .btn-danger-vet:hover { filter:brightness(.96); }
.vet-emergency-note { border:1px solid #F1D2C8; background:#FFF8F4; color:#67332E; border-radius:18px; padding:14px 16px; }


/* v3 D Vet approved brand assets: preserve safe margins, avoid cropping the V/emblem, and keep frequent runtime images lightweight. */
.brand-logo{width:clamp(132px,15vw,214px);height:auto;max-height:76px;object-fit:contain;object-position:center;display:block}
.footer-logo{width:min(220px,62vw);height:auto;max-height:92px;object-fit:contain;display:block;margin-block-end:8px}
.hero-video-plain .hero-video{object-fit:contain;background:linear-gradient(145deg,#fff,#F1F3F5)}
img[src*="assets/brand/dvet/"],img[src*="wp-content/uploads/veterinary/dvet-"]{object-fit:contain;background:linear-gradient(145deg,#fff,#F1F3F5)}
.treatment-card img[src*="assets/brand/dvet/"],.gallery-item img[src*="assets/brand/dvet/"],.legacy-visual-card img[src*="assets/brand/dvet/"]{padding:14px;object-fit:contain;background:linear-gradient(145deg,#fff,#F1F3F5)}
.smart-gallery-card img[src*="assets/brand/dvet/"],.gallery-grid .gallery-item img[src*="assets/brand/dvet/"]{object-fit:contain;padding:16px;background:linear-gradient(145deg,#fff,#F1F3F5)}
@media(max-width:600px){.brand-logo{width:148px}.treatment-card img[src*="assets/brand/dvet/"],.gallery-item img[src*="assets/brand/dvet/"]{padding:10px}}

/* v4: static hero image; no video controls are rendered. */
.hero-static-card .video-control,.hero-video-card .video-control{display:none!important}
.hero-static-card .hero-static-image{object-fit:cover;object-position:center}
.gallery-grid .gallery-item img,.home-image-gallery .gallery-item img{object-fit:cover}

/* v4 final guard: hero is an image, not media playback. */
.video-control{display:none!important}

/* v5 private-vet brand polish: transparent header logo, visible footer lockup, no gray raster plate in navigation. */
.topbar .brand-logo{background:transparent!important;padding:0!important;border-radius:0!important;box-shadow:none!important;object-fit:contain!important;}
.footer-logo{background:#fff!important;padding:14px 18px!important;border:1px solid rgba(216,232,225,.75)!important;border-radius:20px!important;box-shadow:0 14px 36px rgba(0,0,0,.14)!important;inline-size:min(286px,70vw)!important;max-block-size:142px!important;object-fit:contain!important;object-position:center!important;filter:none!important;}
.footer .footer-grid>div:first-child{display:grid;justify-items:center;text-align:center;gap:12px;}
html[dir="rtl"] .contact-row{direction:rtl;}
.contact-row span:first-child{font-weight:900;}
.contact-row span:nth-child(2){opacity:.94;font-weight:800;}
.gallery-toolbar-head h2{font-size:clamp(30px,4vw,46px);}
.gallery-filter-panel .filter-group legend{font-weight:900;color:var(--brand-dark);}
