/* OSJ final updates: Instagram media-focused player, portrait clinic tiles, consent */
:root{--consent-ink:#583846;--consent-line:#f0d5da;--consent-rose:#af657e}
/* Instagram controls its own iframe; viewport is clipped to the media area. */
.osj-reels-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;max-width:1060px;margin:0 auto;gap:22px!important}
.osj-reel-card{max-width:330px;width:100%;margin:0 auto;border-radius:26px!important;background:#2c2128!important;box-shadow:0 20px 45px rgba(102,51,73,.15)!important;overflow:hidden;border:5px solid #fff!important}
.osj-reel-frame{aspect-ratio:9/16!important;position:relative;overflow:hidden!important;background:#241e22!important;border-radius:21px}
/* expand remote iframe height so its top title and bottom like/comment areas are out of the view. */
.osj-reel-frame iframe{position:absolute!important;top:-108px!important;left:0!important;width:100%!important;height:calc(100% + 360px)!important;display:block;border:0!important}
.osj-reel-card .osj-reel-caption,.osj-reel-card .reels-help{display:none!important}
.media-consent-mask{position:absolute;inset:0;z-index:5;background:linear-gradient(155deg,#eac0c9 0%,#b77d90 68%,#86566c 100%);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;text-align:center;padding:24px}
.media-consent-mask svg{width:45px;height:45px}
.media-consent-mask p{font-size:.87rem;line-height:1.6;margin:0;max-width:220px;color:#fff}
.media-consent-mask b{font-size:1.02rem}
.media-consent-mask button{margin-top:8px;padding:11px 18px;border-radius:100px;background:#fff;color:#754457;border:0;font:inherit;font-weight:800;cursor:pointer;min-height:44px}
.media-consent-mask button:hover{background:#fff1ee}
.media-fallback-link{color:#fff;font-size:.78rem;text-decoration:underline;text-underline-offset:3px}
.map-consent-shell{position:relative;background:linear-gradient(140deg,#f8ebeb,#f1d9dc);min-height:250px;border-radius:18px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.map-consent-shell iframe{min-height:250px;width:100%;border:0}
.map-consent-shell .map-consent-message{text-align:center;color:#704c5d;padding:25px;display:grid;gap:12px;justify-items:center}
.map-consent-message b{font-size:1.05rem}.map-consent-message p{font-size:.89rem;margin:0;color:#705761;max-width:320px}
.map-consent-message button{background:#b57388;border:0;color:#fff;padding:11px 23px;border-radius:999px;cursor:pointer;min-height:44px;font-weight:700}
.map-consent-shell iframe:not([src]){display:none}
.map-consent-shell:has(iframe[src]) .map-consent-message{display:none}
/* Preserve vertical portraits in the Borivali card; reduce destructive image crops. */
.locations-grid .clinic-thumb img[src*="clinic-borivali-collage"],.location-photo img[src*="clinic-borivali-detail-collage"]{object-fit:contain!important;background:#fff6f2}
/* Cookie consent is fixed and does not take over the page. */
.cookie-banner{position:fixed;bottom:18px;left:18px;right:18px;max-width:980px;margin:0 auto;padding:24px 26px;background:#fffdfa;border:1px solid var(--consent-line);border-radius:24px;z-index:9999;box-shadow:0 20px 65px rgba(66,39,48,.20);color:var(--consent-ink);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px}
.cookie-banner[hidden]{display:none!important}
.cookie-banner h2{font-size:1.14rem;margin:0 0 6px;line-height:1.35;color:var(--consent-ink)}
.cookie-banner p{font-size:.85rem;line-height:1.57;margin:0;color:#76545f}
.cookie-banner a{color:#924c67;text-decoration:underline;text-underline-offset:2px}
.cookie-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.cookie-actions button{font:inherit;font-weight:800;font-size:.9rem;padding:11px 19px;min-height:44px;border-radius:100px;border:1px solid #ba8296;cursor:pointer}
.cookie-actions .cookie-accept{background:#a6627c;color:#fff;border-color:#a6627c}
.cookie-actions .cookie-decline{background:#fff;color:#794b5b}
.cookie-actions button:focus-visible,.cookie-settings:focus-visible{outline:3px solid #bb889c;outline-offset:3px}
.cookie-settings{display:inline-block;white-space:nowrap;border:0;padding:5px 0;background:transparent;color:#a45b75;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font:inherit;font-weight:700;font-size:.86rem}
.terms-layout{max-width:980px;margin:0 auto;padding:50px 0 80px}
.terms-layout .terms-card{padding:clamp(28px,5vw,65px);background:#fff;border-radius:30px;border:1px solid #f1dae0;box-shadow:0 18px 42px rgba(128,80,93,.06)}
.terms-layout h1{font-size:clamp(2.5rem,5vw,4.1rem);color:#623b4a;line-height:1.12;margin-bottom:16px}
.terms-layout h2{font-size:1.32rem;color:#744355;margin:28px 0 10px}
.terms-layout p,.terms-layout li{font-size:1rem;line-height:1.8;color:#6e555e}
.terms-layout ul{margin:0;padding-left:23px}
.terms-layout .eyebrow{font-size:.8rem;font-weight:800;letter-spacing:.16em;color:#ad6e87}
@media(max-width:900px){.osj-reels-grid{gap:12px!important}.cookie-banner{grid-template-columns:1fr;gap:12px}.cookie-actions{justify-content:flex-start}}
@media(max-width:740px){.osj-reels-grid{grid-template-columns:1fr!important;max-width:350px}.osj-reel-frame iframe{top:-96px!important;height:calc(100% + 340px)!important}.cookie-banner{left:10px;right:10px;bottom:10px;border-radius:19px;padding:18px}.cookie-actions button{flex:1}.cookie-actions{width:100%}}

/* Explicitly respect hidden native attribute on consent overlays. */
.media-consent-mask[hidden]{display:none!important}
