/* Responsive clinic cards; logos remain on the site's ivory background. */
.location-map-card.location-card,.location-others .location-map-card.location-card{padding:0;border-radius:24px;overflow:hidden;background:var(--ivory)}
.location-map-card .location-top,.location-others .location-map-card .location-top{padding:24px 28px;margin:0;min-height:126px;align-items:center;flex-direction:row;gap:22px}
.location-map-card .location-logo,.location-others .location-map-card .location-logo{width:128px;height:88px;padding:0;flex:none;max-width:40%;border-radius:0;background:transparent}
.location-map-card .location-logo.logo-dark{padding:10px;border-radius:12px;background:var(--navy)}
.location-map-card .location-top h3{font-size:32px;margin-top:7px;margin-bottom:0}
.location-map-card .location-city{color:#725832;font-size:10px}
.clinic-map-panel{position:relative;isolation:isolate;width:100%;height:310px;background:#e6e8df;border-block:1px solid #d3d6cd}
.clinic-map-canvas{position:absolute;inset:0;z-index:0;width:100%;height:100%;background:#e6e8df;font-family:var(--sans)}
.clinic-map-panel:not(.map-interacting) .clinic-map-canvas{touch-action:pan-y}
.clinic-map-message{position:absolute;z-index:450;left:18px;right:18px;top:42%;margin:0;padding:14px 18px;border-radius:12px;background:#f6f1e8f0;color:var(--navy);font-size:12px;text-align:center;pointer-events:none}
.clinic-map-message[hidden]{display:none}
.clinic-map-route{position:absolute;z-index:450;bottom:31px;right:18px;left:auto;display:flex;align-items:center;justify-content:center;gap:10px;max-width:calc(100% - 36px);min-height:48px;padding:12px 22px;border-radius:28px;background:var(--navy);color:var(--ivory);font-size:12px;font-weight:700;line-height:1.5;text-align:center;box-shadow:0 3px 12px #142d412c}
.clinic-map-route svg{width:18px;height:18px}
.clinic-map-route:hover{background:#24445a}
.clinic-map-interact{position:absolute;z-index:450;left:14px;top:14px;border:1px solid #142d4160;border-radius:25px;padding:9px 14px;background:var(--navy);color:var(--ivory);font-size:10px;font-weight:700;line-height:1.5;min-height:40px;max-width:calc(100% - 82px)}
.clinic-map-interact[hidden]{display:none}
.clinic-map-panel .leaflet-control-zoom{border:1px solid #b6a382;border-radius:15px;overflow:hidden;box-shadow:0 2px 8px #142d4126;margin:14px 14px 0 0}
.clinic-map-panel .leaflet-control-zoom a{width:40px;height:40px;line-height:40px;background:var(--navy);color:var(--sand);border-color:#879393;font-size:26px}
.clinic-map-panel .leaflet-control-zoom a:hover,.clinic-map-panel .leaflet-control-zoom a:focus{background:#24445a;color:var(--ivory)}
.clinic-map-panel .leaflet-control-zoom a.leaflet-disabled{background:#304958;color:#a9b3b5}
.clinic-map-panel .leaflet-control-attribution{background:#fffef9f2;color:#233947;padding:2px 5px;font-size:9px;line-height:1.5;max-width:100%}
.clinic-map-panel .leaflet-control-attribution a{color:#274a60;text-decoration:underline}
.clinic-map-panel .leaflet-control-attribution a svg{width:12px;height:9px;vertical-align:middle}
.clinic-map-issue{display:block;margin:0 0 1px 2px;background:#fffef9e8;padding:2px 4px;color:#274a60;font-size:9px;line-height:1.5;text-decoration:underline}
.clinic-map-pin{border:0;background:transparent}
.clinic-map-pin svg{width:40px;height:52px;max-width:none;filter:drop-shadow(0 2px 2px #142d4144)}
.clinic-map-panel .clinic-map-label{max-width:220px;white-space:normal;overflow-wrap:break-word;background:var(--navy);color:var(--ivory);border:0;border-radius:7px;padding:5px 10px;font-size:10px;font-weight:700;line-height:1.45;box-shadow:0 2px 5px #142d412d;text-align:center}
.clinic-map-panel .clinic-map-label:before{border-top-color:var(--navy)}
.location-map-details{padding:22px 28px 26px;background:var(--navy);color:var(--ivory);flex:1;display:flex;flex-direction:column}
.location-map-details .location-address-label{font-size:12px;color:#e1d2b9;margin-bottom:7px}
.location-map-details address{font-size:12px;color:#eef0ed;min-height:0;margin:0;max-width:none;line-height:1.85}
.location-map-details .phone{margin:14px 0 0;font-size:12px;color:#eef0ed}
.location-map-details .location-plans{margin:12px 0 0;font-size:11px;color:#d6dee0}
.location-map-card .location-map-details .actions{padding-top:22px;margin-top:auto;gap:14px}
.location-map-details .btn{background:var(--sand);color:var(--deep);border-radius:26px;min-height:46px}
.location-map-details .btn:hover{background:#ddc9ad}
.location-map-details .link{color:var(--ivory);border-color:var(--sand)}
.clinic-map-unconfirmed{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:310px;background:#ebe5da;color:var(--navy);text-align:center;padding:36px 26px;border-block:1px solid var(--line)}
.clinic-map-unconfirmed>svg{width:36px;height:36px;color:#846945}
.clinic-map-unconfirmed strong{font-size:14px}
.clinic-map-unconfirmed p{font-size:12px;max-width:260px;line-height:1.75}
.clinic-map-unconfirmed .link{font-size:11px;margin-top:10px}
.location-others .location-map-card .location-top{padding:22px;min-height:136px;gap:12px}
.location-others .location-map-card .location-top h3{font-size:28px}
.location-others .location-map-card .location-logo{width:94px;height:78px}
.location-others .location-map-details{padding:22px}
.location-others .location-map-card .clinic-map-panel{height:290px}
.location-others .clinic-map-route{left:14px;right:14px;max-width:none;padding:12px 15px;font-size:11px}
@media(min-width:761px) and (max-width:1100px){.location-others{grid-template-columns:1fr 1fr}.location-map-card .location-top{padding:22px;gap:14px}.location-map-card .location-logo{width:105px;height:83px}.location-map-card .location-top h3{font-size:29px}}
@media(max-width:760px){.location-others{grid-template-columns:1fr}.location-map-card.location-card,.location-others .location-map-card.location-card{border-radius:23px}.location-map-card .location-top,.location-others .location-map-card .location-top{padding:25px 22px;min-height:134px;gap:18px;align-items:center;flex-direction:row}.location-map-card .location-logo,.location-others .location-map-card .location-logo{width:116px;height:90px;max-width:42%}.location-map-card .location-top h3,.location-others .location-map-card .location-top h3{font-size:29px}.clinic-map-panel,.location-others .location-map-card .clinic-map-panel{height:334px}.clinic-map-route,.location-others .clinic-map-route{left:14px;right:14px;max-width:none;min-height:48px;bottom:31px;font-size:11px;padding:12px 16px}.location-map-details,.location-others .location-map-details{padding:22px}.location-map-card .location-map-details .actions{align-items:stretch}.location-map-card .location-map-details .btn{justify-content:space-between;width:100%}.clinic-map-label{max-width:190px!important}}
@media(max-width:360px){.location-map-card .location-top,.location-others .location-map-card .location-top{gap:12px;padding:22px 18px}.location-map-card .location-top h3,.location-others .location-map-card .location-top h3{font-size:27px}.location-map-card .location-logo,.location-others .location-map-card .location-logo{width:95px;height:83px}.location-map-details,.location-others .location-map-details{padding:20px 18px}.clinic-map-route{font-size:10px}}
@media(prefers-reduced-motion:reduce){.clinic-map-route,.clinic-map-interact{transition:none}}

/* Native transparent facade cutouts float directly over the ivory card. */
.location-card-primary .location-facade{display:flex;align-items:center;justify-content:center;flex:none;height:290px;margin:0;padding:0 25px 24px;background:transparent;border:0;box-shadow:none}
.location-card-primary .location-facade img{display:block;width:100%;height:100%;max-width:100%;object-fit:contain;object-position:center;border-radius:0;background:transparent;filter:drop-shadow(0 12px 8px #142d4124)}
@media(max-width:1100px) and (min-width:761px){.location-card-primary .location-facade{height:270px;padding-inline:20px}}
@media(max-width:760px){.location-card-primary .location-facade{height:240px;padding:0 20px 22px}.location-card-primary .location-facade img{filter:drop-shadow(0 9px 6px #142d4124)}}
@media(max-width:360px){.location-card-primary .location-facade{height:218px;padding-inline:16px}}
