/* AGA-DESIGN:MAP-STYLE | 2026-10-08 / v307 表示規則
 * 目的：地図と対応する候補リンクを近づけ、スマホでも地図の表示幅を確保する。
 * 維持：医院・駅ピンとクラスタの既存表示規則、地図操作ボタン、出典表記を保つ。
 * 実装：スマホの外側地図枠の余白を減らし、カードの所在地・距離を1つの情報群として表示する。
 * 変更時確認：狭い画面、0件・件数未確認、近接ピン、地図とリンクの対象範囲が一致していること。
 * END AGA-DESIGN */
/* AGA-DESIGN:GENDER-GUIDE | v321
 * H1の直下に1回だけ表示する男女切替案内。案内と移動先名は初期HTMLで出力し、
 * Ajaxの薬剤切替時は同じ応答で更新する。広告・プロフィールには適用しない。
 * 登録・割当済みアイコンだけを表示し、未割当時は文字のための空列を作らない。
 * 長い地域・路線・医院名は文字側で折り返し、スマホでもアイコンとの余白を保つ。
 * END AGA-DESIGN */
main.agaclinic-db-public-page .aga-gender-guide{display:flex!important;align-items:flex-start!important;gap:8px!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0 0 16px!important;padding:10px 15px!important;border:1px solid #ddd!important;border-radius:5px!important;background:#f9f9f9!important;box-shadow:none!important;color:#484a4e!important;font-family:inherit!important;font-size:14px!important;font-weight:400!important;line-height:1.6!important;font-feature-settings:"palt"!important;letter-spacing:normal!important;text-align:left!important;white-space:normal!important;overflow-wrap:anywhere!important}
main.agaclinic-db-public-page .aga-gender-guide>.aga-gender-guide-text{display:block!important;flex:1 1 auto;min-width:0!important;max-width:100%!important;margin:0!important;padding:0!important;font:inherit!important;color:inherit!important;white-space:normal!important;overflow-wrap:anywhere!important}
main.agaclinic-db-public-page .aga-gender-guide>.aga-ui-icon{display:block!important;position:static!important;flex:0 0 16px!important;width:16px!important;height:16px!important;min-width:16px!important;max-width:16px!important;max-height:16px!important;margin:3px 0 0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;object-fit:contain!important;float:none!important;filter:brightness(0) saturate(100%) invert(28%)!important}
main.agaclinic-db-public-page .aga-gender-guide a[href]{display:inline!important;position:static!important;width:auto!important;min-width:0!important;max-width:100%!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#00e!important;font:inherit!important;font-weight:700!important;text-decoration:underline!important;text-underline-offset:.2em;white-space:normal!important;overflow-wrap:anywhere!important}
main.agaclinic-db-public-page .aga-gender-guide a[href]:hover{color:#00e!important;text-decoration:none!important}
main.agaclinic-db-public-page .aga-gender-guide a[href]:focus-visible{outline:3px solid #d58b22;outline-offset:3px}
main.agaclinic-db-public-page .aga-gender-guide::before,main.agaclinic-db-public-page .aga-gender-guide::after,main.agaclinic-db-public-page .aga-gender-guide a[href]::before,main.agaclinic-db-public-page .aga-gender-guide a[href]::after{content:none!important;display:none!important}
.aga-public-media,.aga-public-media *,.aga-public-media::before,.aga-public-media::after,.aga-public-media *::before,.aga-public-media *::after{font-feature-settings:"palt"!important;box-sizing:border-box}
.aga-public-media{min-width:0;max-width:100%;color:#193d32;line-height:1.7}.aga-public-media [hidden]{display:none!important}.aga-public-media button,.aga-public-media a{touch-action:manipulation}.aga-public-media a{color:#146654;text-underline-offset:3px}.aga-public-media button:focus-visible,.aga-public-media a:focus-visible{outline:3px solid #d58b22;outline-offset:3px}.aga-public-media .aga-media-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid #146654;border-radius:7px;background:#fff;color:#146654;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;max-width:100%}.aga-public-media .aga-media-button:hover{background:#edf7f0}.aga-public-media .aga-media-button:disabled{opacity:.65;cursor:wait}.aga-public-media .aga-media-caption,.aga-public-media .aga-media-status{margin:8px 0;font-size:.85rem;overflow-wrap:anywhere}.aga-public-media .aga-media-status{color:#53645c}
.aga-page-map{margin:20px 0 28px;padding:18px;border:1px solid #c9ded1;border-radius:10px;background:#fff}.aga-page-map h2{margin:0;font-size:1.2rem;line-height:1.5}.aga-public-media .aga-map-frame{position:relative;isolation:isolate;min-width:0;height:350px;margin-top:12px;border:1px solid #d8e3db;border-radius:8px;overflow:hidden;background:#f1f5f2}.aga-public-media .aga-map-canvas{height:100%;width:100%;z-index:0;background:#f1f5f2}.aga-public-media .aga-map-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;background:#f1f5f2}.aga-public-media .aga-map-placeholder.is-error{background:rgba(250,252,250,.95)}.aga-public-media .aga-map-popup{font:14px/1.6 sans-serif;color:#193d32;max-width:240px;overflow-wrap:anywhere}.aga-public-media .aga-map-popup strong,.aga-public-media .aga-map-popup span,.aga-public-media .aga-map-popup a{display:block;margin:3px 0}.aga-public-media .aga-map-popup a{min-height:30px;padding-top:4px}.aga-public-media .aga-map-pin{display:flex!important;align-items:center;justify-content:center;border:0;border-radius:0;background:transparent;color:#fff;text-align:center;font-size:12px;line-height:1;font-weight:700}.aga-public-media .aga-map-pin-svg{display:block;width:32px;height:44px;max-width:none;overflow:visible;filter:drop-shadow(0 1px 2px #0006);pointer-events:none}.aga-public-media .aga-map-pin.is-cluster{border:3px solid #fff;border-radius:50%;background:#ea4335;box-shadow:0 1px 5px #0005}.aga-public-media .aga-map-cluster-list{max-height:230px;overflow:auto;padding:0 5px;margin:0;list-style:none}.aga-public-media .aga-map-cluster-list li+li{margin-top:8px;border-top:1px solid #dce6df;padding-top:8px}.aga-public-media .leaflet-control-attribution{font-size:10px;overflow-wrap:anywhere}.aga-public-media .leaflet-control-zoom a{line-height:30px}
.aga-clinic-media{margin:0 0 18px}.aga-public-media .aga-clinic-screenshot-box{margin:0 0 12px;padding:0;max-width:100%}.aga-public-media .aga-screenshot-frame{position:relative;width:100%;aspect-ratio:4/3;border:1px solid #dce6df;border-radius:8px;overflow:hidden;background:#f1f5f2}.aga-public-media .aga-screenshot-frame>a{display:block;position:absolute;inset:0;width:100%;height:100%}.aga-public-media .aga-screenshot-frame img.aga-clinic-screenshot{display:block;position:absolute;inset:0;width:100%;height:100%;max-width:100%;object-fit:contain;margin:0;padding:0;border:0}.aga-public-media .aga-clinic-screenshot-box figcaption{font-size:.75rem;color:#5a6c62;line-height:1.6;height:3.2em;margin-top:5px;overflow:hidden}.aga-public-media .aga-screenshot-caption>span{display:block;height:1.6em;line-height:1.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aga-public-media .aga-clinic-google-map{display:block;width:100%;min-width:0}.aga-public-media .aga-individual-map-frame{width:100%;height:300px;margin-top:0;scroll-margin-top:90px}.aga-public-media .aga-map-open-top{position:absolute;top:10px;left:10px;z-index:2;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;max-width:calc(100% - 70px);padding:9px 12px;background:#fff;border:1px solid #d8e3db;border-radius:3px;box-shadow:0 1px 4px #0003;color:#1967d2;font-size:14px;line-height:1.4;text-decoration:none}.aga-public-media .aga-map-open-top:hover{background:#f8fbff}.aga-public-media .aga-map-open-top:focus-visible{outline:3px solid #d58b22;outline-offset:2px}.aga-public-media .aga-individual-map-frame .aga-map-placeholder{padding-top:65px}.aga-public-media .aga-individual-map-frame .leaflet-control-attribution{max-width:calc(100% - 15px)}.aga-media-card-focus{outline:3px solid #d58b22;outline-offset:4px}
.aga-public-media .aga-media-address{margin:0 0 12px;font-size:.88rem;overflow-wrap:anywhere}.aga-public-media .aga-media-address>span{font-weight:600}
.aga-public-media .aga-map-counts{margin:10px 0;font-size:.9rem;font-weight:600;overflow-wrap:anywhere}.aga-public-media .aga-map-unlocated{margin-top:14px;padding:10px 12px;border:1px solid #d8e3db;border-radius:7px;background:#f7faf8}.aga-public-media .aga-map-unlocated p{margin:0 0 6px}.aga-public-media .aga-map-unlocated ul{margin:0;padding-left:0;font-size:.85rem;overflow-wrap:anywhere}.aga-public-media .aga-map-unlocated li{margin:3px 0}
.aga-public-media .aga-map-marker-count{margin:8px 0;font-size:.85rem;overflow-wrap:anywhere}
@media(max-width:650px){.aga-page-map{padding:13px}.aga-public-media .aga-map-frame{height:300px}.aga-public-media .aga-individual-map-frame{height:270px}.aga-public-media .aga-media-button{padding:9px 13px}.aga-public-media .aga-clinic-screenshot-box figcaption{font-size:.7rem}}
@media print{.aga-public-media .aga-map-frame,.aga-public-media .aga-media-button{display:none!important}}

/* Clinic metadata stays secondary to the name and prices. */
.aga-clinic-list .aga-clinic-heading{margin:0 0 18px;padding:0 0 12px;border:0;border-bottom:1px solid #e3e9e6;background:transparent;box-shadow:none}
.aga-clinic-list .aga-clinic-heading>h2{margin:0 0 8px}
.aga-clinic-list .aga-clinic-check-date{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 8px;margin:0;padding:0;border:0;background:transparent;box-shadow:none;color:#65736d;font-size:12px;font-weight:400;line-height:1.7;letter-spacing:.02em}
.aga-clinic-list .aga-clinic-check-date>time,.aga-clinic-list .aga-clinic-check-value{color:#42564b;font-weight:400;font-variant-numeric:tabular-nums}
.aga-clinic-list .aga-clinic-check-label{white-space:nowrap}
.aga-public-media .aga-map-open-fallback{position:static;margin-top:8px;max-width:100%}

/* Empty and loaded screenshots share the same frame and two caption rows. */
.aga-public-media .aga-screenshot-slot{min-width:0;max-width:100%}
.aga-public-media .aga-screenshot-frame>a:focus-visible{outline-offset:-3px}
/* Keep reserved space in older browsers that do not understand aspect-ratio. */
.aga-public-media .aga-screenshot-frame::before{content:"";display:block;padding-top:75%}
@supports(aspect-ratio:4/3){.aga-public-media .aga-screenshot-frame::before{display:none}}

/* Logo frames occupy the existing image position without a capture caption. */
.aga-public-media .aga-logo-slot{min-width:0;max-width:100%;margin:0 0 12px}
.aga-public-media .aga-logo-frame{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border:1px solid #dce6df;border-radius:8px;background:rgb(51 51 51 / 0.3)}
.aga-public-media .aga-logo-frame::before{content:"";display:block;padding-top:56.25%}
.aga-public-media .aga-logo-frame>a{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:8%;box-sizing:border-box}
.aga-public-media .aga-logo-frame img.aga-clinic-logo{display:block;position:static;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;margin:0;padding:0;border:0;background:transparent}
.aga-public-media .aga-logo-placeholder,.aga-public-media .aga-clinic-logo-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:8%;text-align:center;overflow-wrap:anywhere;font-size:clamp(16px,3vw,28px);font-weight:600;line-height:1.6;color:#42564b}
.aga-public-media .aga-logo-frame>a:focus-visible{outline-offset:-3px}
@supports(aspect-ratio:16/9){.aga-public-media .aga-logo-frame::before{display:none}}

/* v173: identity remains compact; maps expand only after an explicit action. */
.aga-clinic-identity{display:flex;align-items:center;gap:1em;flex-wrap:wrap}.aga-clinic-identity .aga-logo-slot{flex:0 0 180px;max-width:45%;margin:0}
.aga-clinic-identity .aga-logo-frame{height:76px;aspect-ratio:auto;border:0}.aga-clinic-identity .aga-logo-frame::before{display:none}.aga-clinic-identity .aga-logo-frame>a{padding:5px}.aga-clinic-identity .aga-clinic-logo-placeholder{font-size:14px;padding:5px}
.aga-clinic-identity .aga-media-location-details{flex:1 1 240px;min-width:0;max-width:100%}.aga-clinic-identity .aga-media-address{margin:0}.aga-clinic-identity .aga-screenshot-slot{width:180px;max-width:45%}
.aga-public-media .aga-individual-map-frame.is-collapsed{height:auto;min-height:148px}.aga-public-media .is-collapsed .aga-map-placeholder{position:static;padding:65px 12px 12px}.aga-public-media .is-collapsed .aga-media-status{font-size:12px}
@media(max-width:600px){.aga-clinic-identity .aga-logo-slot{flex-basis:140px}.aga-clinic-identity .aga-logo-frame{height:60px}.aga-clinic-identity .aga-media-location-details{flex-basis:100%}}

/* v176: keep the shared clinic cards readable in SEO pages and shortcodes. */
.aga-clinic-identity .aga-clinic-official,.aga-clinic-identity .aga-clinic-google-map{flex:0 0 100%;width:100%;min-width:0}
.aga-clinic-list .aga-service-group{padding:16px!important}
.aga-clinic-list .aga-access-routes,.aga-clinic-list .aga-access-parking{margin:0!important;padding:0!important}
.aga-clinic-list .aga-access-original blockquote::before,.aga-clinic-list .aga-access-original blockquote::after{content:none!important;display:none!important}
.aga-clinic-list a[href]:not(.leaflet-control-zoom-in):not(.leaflet-control-zoom-out):not(:where(.aga-profile-v299 *,.post-profile-before-toc *,.aga-online-guide-card *,.aga-ad-sticky *)){color:#00e!important;text-decoration:underline!important;text-underline-offset:.2em}
@media(max-width:650px){.aga-clinic-list .aga-service-group{padding:14px!important}}

/* v184: calm map chrome and a light raster tone. The tile-only filter leaves
   attribution, labels outside the raster, controls and markers untouched.
   This is still the configured OSM basemap, not Google's map or tile service. */
.aga-public-media{--aga-map-accent:var(--aga-accent,#0f766e);--aga-map-ink:#20333f;--aga-map-muted:#60727e;--aga-map-line:#dbe5e8;color:var(--aga-map-ink)}
.aga-public-media .aga-map-frame{border-color:var(--aga-map-line);border-radius:16px;background:#edf1f2;box-shadow:0 3px 14px rgb(23 47 60 / 5%)}
.aga-public-media .aga-map-canvas,.aga-public-media .aga-map-placeholder{background:#edf1f2}
.aga-public-media .leaflet-tile-pane{filter:saturate(.62) brightness(1.04) contrast(1.02)}
.aga-public-media .aga-map-pin-svg{filter:drop-shadow(0 2px 3px rgb(23 47 60 / 24%))}
.aga-public-media .aga-map-pin-svg path{fill:var(--aga-map-accent);stroke:#fff;stroke-width:1.5}
.aga-public-media .aga-map-pin-svg circle{fill:#fff}
.aga-public-media .aga-map-pin.is-cluster{background:var(--aga-map-accent);border:3px solid #fff;box-shadow:0 2px 7px rgb(23 47 60 / 22%);font-size:14px}
.aga-public-media .leaflet-bar{border:1px solid var(--aga-map-line)!important;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px rgb(23 47 60 / 12%)}
.aga-public-media .leaflet-control-zoom a{width:38px;height:38px;line-height:38px;background:#fff;color:var(--aga-map-ink);border-color:var(--aga-map-line);text-decoration:none!important}
.aga-public-media .leaflet-control-zoom a:hover,.aga-public-media .leaflet-control-zoom a:focus-visible{background:#eaf4f4;color:var(--aga-map-accent)}
.aga-public-media .leaflet-popup-content-wrapper,.aga-public-media .leaflet-popup-tip{background:#fff;color:var(--aga-map-ink);box-shadow:0 4px 18px rgb(23 47 60 / 16%)}
.aga-public-media .leaflet-popup-content-wrapper{border-radius:12px}
.aga-public-media .aga-map-popup{color:var(--aga-map-ink)}
.aga-public-media .leaflet-control-attribution{background:rgb(255 255 255 / 94%);color:#485d68;padding:3px 7px;font-size:11px;line-height:1.4}
.aga-public-media .aga-map-open-top{border-color:var(--aga-map-line);border-radius:9px;box-shadow:0 2px 8px rgb(23 47 60 / 10%)}
.aga-public-media .aga-map-unlocated{border-color:var(--aga-map-line);border-radius:12px;background:#f6f9fa}
.aga-public-media .aga-media-status,.aga-public-media .aga-media-caption,.aga-public-media .aga-map-marker-count{color:var(--aga-map-muted)}
@media(prefers-contrast:more){.aga-public-media .leaflet-tile-pane{filter:none}.aga-public-media .aga-map-frame{border-color:#425b67}}
/* Current price labels share one purchase/condition. Secondary tax text stays readable. */
.aga-tax-price{display:inline;line-height:1.65;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.aga-tax-price .aga-tax-primary{font-weight:inherit}
.aga-tax-price .aga-tax-secondary{display:inline-block;margin-inline-start:.2em;font-size:max(.82em,12px);font-weight:400;color:#52646f;line-height:1.65}
.aga-seo-page .aga-price-chart-value .aga-tax-secondary{display:block;margin:.15em 0 0;font-size:max(.82em,12px)}
.aga-clinic-sort-basis .aga-tax-secondary{font-weight:400}

/* CSV consultation/reception hours: department details remain compact on cards. */
.aga-clinic-hours214{margin:20px 0;min-width:0;max-width:100%;color:#193d32;line-height:1.7}
.aga-clinic-hours214>.description,.aga-clinic-hours214-source{font-size:.82rem;color:#53645c;overflow-wrap:anywhere}
.aga-clinic-hours214-department{margin:10px 0;border:1px solid #d8e3db;border-radius:6px;background:#fff}
.aga-clinic-hours214-department>summary{padding:12px 14px;cursor:pointer;font-weight:600;min-height:44px}
.aga-clinic-hours214-department>summary:focus-visible{outline:3px solid #d58b22;outline-offset:2px}
.aga-clinic-hours214 .aga-clinic-hours214-department>.aga-clinic-hours214-department-title{margin:0;padding:12px 14px;border:0;background:none;font-size:1em;font-weight:600;line-height:1.7;color:inherit}
.aga-clinic-hours214 .aga-clinic-hours214-department>.aga-clinic-hours214-record-label{margin:8px 14px;font-size:.82rem;line-height:1.7;color:#53645c;overflow-wrap:anywhere}
.aga-clinic-hours214-scroll{overflow-x:auto;max-width:100%;margin:0 0 12px;overscroll-behavior-x:contain}
.aga-clinic-hours214-table{width:100%;min-width:650px;border-collapse:collapse;font-size:.82rem;font-variant-numeric:tabular-nums}
.aga-clinic-hours214-table caption{text-align:left;padding:8px 12px;font-weight:600;color:#193d32}
.aga-clinic-hours214-table th,.aga-clinic-hours214-table td{border:1px solid #d8e3db;padding:8px;text-align:center;vertical-align:top;line-height:1.65}
.aga-clinic-hours214-table th{background:#f1f6f3;font-weight:600}
.aga-location-source{display:block;margin:-4px 0 12px;color:#53645c;font-size:.8rem;overflow-wrap:anywhere}

/* v220: match the existing source disclosures and explicitly size their text. */
.aga-clinic-hours214>.aga-clinic-hours214-source{margin-bottom:4px}
.aga-clinic-hours214 .aga-clinic-hours214-source-details{margin:0 0 12px;font-size:.78rem;color:#60737d;line-height:1.75;overflow-wrap:anywhere}
.aga-clinic-hours214 .aga-clinic-hours214-source-details>summary{font-size:inherit;font-weight:400;line-height:inherit;cursor:pointer}
.aga-clinic-hours214 .aga-clinic-hours214-source-details>p{margin:6px 0;padding:0;font-size:inherit;font-weight:400;line-height:inherit;overflow-wrap:anywhere}
.aga-clinic-hours214 .aga-clinic-hours214-source-details[open]>summary{margin-bottom:6px}
.aga-clinic-hours214 .aga-clinic-hours214-source-details>summary:focus-visible{outline:3px solid #0f766e;outline-offset:3px}

/* v268: station distances stay immediately beneath the address in every card. */
.aga-public-media .aga-media-selected-station,.aga-public-media .aga-media-station{display:block;margin:6px 0 0;font-size:.85rem;line-height:1.7;overflow-wrap:anywhere}
.aga-media-location-details>.aga-location-source{margin:8px 0 0}

/* v269: clinic pins remain red independently of the surrounding theme accent. */
.aga-public-media .aga-map-pin-svg path{fill:#ea4335;stroke:#fff;stroke-width:1.5}
.aga-public-media .aga-map-pin.is-cluster{background:#ea4335}
.aga-public-media .aga-map-station-pin{display:flex!important;align-items:center;justify-content:center;box-sizing:border-box;border:2px solid #fff;border-radius:50%;background:#1769aa;color:#fff;font:700 12px/1 sans-serif;box-shadow:0 2px 5px rgb(23 47 60 / 28%)}
.aga-public-media .aga-map-distance-label{padding:3px 6px;border:1px solid #dbe5e8;border-radius:5px;background:rgb(255 255 255 / 96%);color:#20333f;font:700 12px/1.4 sans-serif;white-space:nowrap;box-shadow:0 1px 4px rgb(23 47 60 / 16%);pointer-events:none}
.aga-public-media .aga-map-distance-label:before{display:none}
.aga-public-media .leaflet-control-attribution{max-width:calc(100% - 10px);line-height:1.4;text-align:right}

/* v270: dataset credits open on demand; station names remain actionable. */
.aga-public-media .aga-map-source-credits{display:inline-block;position:relative;margin:0 0 0 6px;vertical-align:baseline;text-align:left;font:inherit;color:inherit}
.aga-public-media .aga-map-source-credits>summary{cursor:pointer;display:list-item;font:inherit;padding:0;margin:0;background:none;border:0;color:inherit}
.aga-public-media .aga-map-source-credits>summary:focus-visible{outline:2px solid #1769aa;outline-offset:2px}
.aga-public-media .aga-map-source-credits>ul{position:absolute;right:0;bottom:100%;width:max-content;max-width:min(270px,65vw);max-height:180px;overflow:auto;box-sizing:border-box;margin:0 0 5px;padding:8px 12px;list-style:none;border:1px solid #dbe5e8;border-radius:5px;background:#fff;box-shadow:0 2px 8px rgb(23 47 60 / 16%);white-space:normal;overflow-wrap:anywhere;font:inherit}
.aga-public-media .aga-map-source-credits>ul>li{margin:3px 0;padding:0;font:inherit}
.aga-public-media .aga-map-station-focus{display:inline-block;margin:0;padding:2px 4px;min-height:24px;min-width:24px;border:0;border-radius:2px;background:transparent;color:#174966;font:inherit;font-weight:600;line-height:1.4;cursor:pointer;box-shadow:none}
.aga-public-media .aga-map-station-focus:focus-visible{outline:2px solid #1769aa;outline-offset:2px}
/* v322: marker details keep the same link treatment on touch and keyboard. */
.aga-public-media .aga-map-station-popup a{display:flex;align-items:center;min-height:44px;color:#00e;text-decoration:underline}
.aga-public-media .aga-map-station-popup a:focus-visible{outline:2px solid #1769aa;outline-offset:2px}
.aga-public-media .aga-map-station-label{padding:2px;max-width:230px;white-space:normal}

/* v271: Leaflet labels and compact credits must not inherit theme button,
   footer, details or external-link decoration dimensions. */
.aga-public-media .aga-map-canvas .aga-map-station-label,
.aga-public-media .aga-map-canvas .aga-map-station-focus{width:max-content!important;min-width:max-content!important;max-width:none!important;height:auto!important;writing-mode:horizontal-tb!important;text-orientation:mixed!important;white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;letter-spacing:normal!important;text-indent:0!important}
.aga-public-media .aga-map-canvas .aga-map-station-focus{display:block!important;float:none!important;margin:0!important;padding:2px 4px!important;min-height:24px!important;border:0!important;border-radius:2px!important;background:transparent!important;color:#174966!important;font:600 14px/1.4 sans-serif!important;text-align:center!important;box-shadow:none!important}
.aga-public-media .aga-map-canvas .aga-map-station-focus::before,
.aga-public-media .aga-map-canvas .aga-map-station-focus::after{content:none!important;display:none!important}
.aga-public-media .aga-map-canvas .leaflet-bottom{position:absolute!important;bottom:0!important;top:auto!important;width:auto!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;pointer-events:none}
.aga-public-media .aga-map-canvas .leaflet-control-attribution{display:inline-block!important;float:right;clear:both;width:max-content!important;min-width:0!important;max-width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:2px 5px!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:rgb(255 255 255 / 94%)!important;font:11px/1.4 sans-serif!important;letter-spacing:normal!important;white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;text-align:right!important;pointer-events:auto}
.aga-public-media .aga-map-canvas .leaflet-control-attribution a{display:inline!important;width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;font:inherit!important;line-height:inherit!important;vertical-align:baseline!important}
.aga-public-media .aga-map-canvas .leaflet-control-attribution a::before,
.aga-public-media .aga-map-canvas .leaflet-control-attribution a::after{content:none!important;display:none!important}
.aga-public-media .aga-map-canvas .leaflet-control-attribution a .wpel-icon{display:none!important}
.aga-public-media .aga-map-canvas .aga-map-source-credits{display:inline-block!important;position:relative!important;width:auto!important;min-width:0!important;height:auto!important;min-height:0!important;margin:0 0 0 5px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;font:inherit!important;line-height:inherit!important;vertical-align:baseline!important}
.aga-public-media .aga-map-canvas .aga-map-source-credits>summary{display:list-item!important;list-style:disclosure-closed inside!important;width:auto!important;min-width:0!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;font:inherit!important;line-height:inherit!important;white-space:nowrap!important}
.aga-public-media .aga-map-canvas .aga-map-source-credits[open]>summary{list-style-type:disclosure-open!important}
.aga-public-media .aga-map-canvas .aga-map-source-credits>summary::before,
.aga-public-media .aga-map-canvas .aga-map-source-credits>summary::after{content:none!important;display:none!important}
.aga-public-media .aga-map-canvas .aga-map-source-credits:not([open])>ul{display:none!important}
.aga-public-media .aga-map-canvas .aga-map-source-credits[open]>ul{display:block!important;position:absolute!important;right:0!important;bottom:100%!important;top:auto!important;width:max-content!important;min-width:0!important;max-width:min(270px,65vw)!important;height:auto!important;min-height:0!important;max-height:180px!important;margin:0 0 5px!important;padding:8px 12px!important;list-style:none!important;font:inherit!important;white-space:normal!important;overflow-wrap:anywhere!important}
.aga-public-media .aga-map-canvas .aga-map-source-credits>ul>li{display:block!important;width:auto!important;min-height:0!important;margin:3px 0!important;padding:0!important;border:0!important;list-style:none!important;font:inherit!important}

/* v272: near-coincident icons are separated on screen, with their true
   geographic point retained and identified by a fine solid guide. */
.aga-public-media .aga-map-pin.is-offset{overflow:visible}
.aga-public-media .aga-map-pin-tether{position:absolute;display:block;height:1px;background:#526779;transform-origin:0 50%;pointer-events:none;z-index:0}

/* v274: each clinic card keeps its clinic name above the red pin. A bounded
   horizontal label also fits a near-coincident pin shifted in a narrow map. */
.aga-public-media .aga-map-canvas .aga-map-clinic-label{box-sizing:border-box!important;width:max-content!important;min-width:0!important;max-width:148px!important;height:auto!important;padding:5px 7px!important;writing-mode:horizontal-tb!important;text-orientation:mixed!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important;letter-spacing:normal!important;text-indent:0!important;text-align:center!important;font:600 12px/1.4 sans-serif!important;pointer-events:none}
.aga-public-media .aga-map-canvas .aga-map-clinic-label>span{display:inline!important;width:auto!important;max-width:none!important;writing-mode:horizontal-tb!important;text-orientation:mixed!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important;font:inherit!important}
.aga-public-media .aga-map-pin.is-offset .aga-map-pin-svg{position:relative;z-index:1}
.aga-public-media .aga-map-offset-note{font-size:.78rem}

/* v286: search maps reuse the existing clinic symbol, popup and map chrome.
   Station counts are admission counts; a cluster counts stations, never clinics. */
.aga-search-map.aga-public-media .aga-search-map-frame{border-color:var(--aga-map-line);border-radius:16px;box-shadow:0 3px 14px rgb(23 47 60 / 5%)}
.aga-search-map.aga-public-media .leaflet-popup-content{font-family:inherit;line-height:1.6}
.aga-search-map.aga-public-media .aga-map-popup{font-family:inherit;max-width:240px}
.aga-search-map.aga-public-media .aga-map-popup a{display:block!important;width:auto!important;min-height:44px;padding:8px 0;color:#00e!important;text-decoration:underline!important}
.aga-search-map.aga-public-media .leaflet-control-zoom a{width:44px;height:44px;line-height:44px}
.aga-search-map.aga-public-media .leaflet-popup-close-button{width:44px!important;height:44px!important;font:22px/44px sans-serif!important}
.aga-search-map.aga-public-media .aga-map-pin:not(.is-cluster)::after{content:"";position:absolute;left:-6px;top:0;width:44px;height:44px;background:transparent}
.aga-search-map.aga-public-media .aga-map-pin.is-cluster::after{content:"";position:absolute;inset:-1px;border-radius:50%;background:transparent}
.aga-search-map.aga-public-media .aga-search-station-pin{font:700 13px/1 sans-serif;box-shadow:0 2px 5px rgb(23 47 60 / 28%)}
.aga-search-map.aga-public-media .aga-search-station-pin .aga-ui-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;margin:0!important;width:20px!important;height:20px!important;color:#fff!important}
.aga-search-map.aga-public-media .aga-search-station-pin .aga-ui-icon svg{width:20px!important;height:20px!important;fill:currentColor!important}
.aga-search-map.aga-public-media .aga-search-station-pin img.aga-ui-icon{filter:brightness(0) invert(1);width:20px!important;height:20px!important;max-width:20px!important}
.aga-search-map.aga-public-media .aga-search-station-label{box-sizing:border-box!important;width:max-content!important;min-width:0!important;max-width:190px!important;height:auto!important;padding:4px 6px!important;writing-mode:horizontal-tb!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important;text-align:center!important;font:600 12px/1.5 sans-serif!important;pointer-events:none;background:#fff;color:#174966;border-color:#b9d3e5}
.aga-search-map.aga-public-media .aga-search-station-label span{display:inline!important;width:auto!important;font:inherit!important}
.aga-search-map.aga-public-media .aga-map-cluster-list{list-style:none!important;margin:0!important;padding:0 5px!important;max-height:230px;overflow:auto}
.aga-search-map.aga-public-media .aga-map-cluster-list>li{list-style:none!important;padding:8px 0!important;margin:0!important}
.aga-search-map.aga-public-media .aga-map-cluster-list>li::before,.aga-search-map.aga-public-media .aga-map-cluster-list>li::after{content:none!important;display:none!important}

/* Legacy v312 rule (numbered pins are neutralised by the scoped v356 rule below):
   exactly two visual states for numbered station pins.
   Unknown and confirmed zero share solid grey, but retain separate DTO/classes
   and accessible descriptions so unconfirmed data is never reported as zero. */
.aga-public-media .aga-map-station-pin.aga-map-station-empty,
.aga-public-media .aga-map-station-pin.aga-map-station-unknown{background:#69727b;color:#fff;border-color:#fff;border-style:solid}

/* v305: dynamic map explanations keep their place in the initial layout.
   Minimums grow with font size; longer text remains readable, never clipped. */
.aga-public-media .aga-map-feedback{min-height:calc(3.4em + 16px);font-size:.85rem;line-height:1.7}
.aga-public-media .aga-map-feedback>.aga-map-marker-count{font-size:inherit;line-height:inherit}
.aga-public-media .aga-map-offset-home{display:flow-root;font-size:.78rem;line-height:1.7}
.aga-public-media .aga-map-offset-home>.aga-map-offset-note{font-size:inherit;line-height:inherit}
.aga-public-media .aga-map-offset-home>.aga-map-offset-note[hidden]{display:block!important;visibility:hidden}
.aga-public-media .aga-map-live-notice{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap!important;border:0!important}
.aga-search-map.aga-public-media .aga-search-map-feedback{display:grid;font-size:.88rem;line-height:1.7}
.aga-search-map.aga-public-media>.aga-search-map-counts{min-height:3.4em}
.aga-search-map.aga-public-media .aga-search-map-feedback>*{grid-area:1/1;min-width:0}
.aga-search-map.aga-public-media .aga-search-map-status-home{min-height:calc(3.4em + 16px)}
.aga-search-map.aga-public-media .aga-search-map-status-home>.aga-search-map-status{margin:8px 0;font-size:inherit;line-height:inherit}
.aga-search-map.aga-public-media .aga-search-map-feedback>.aga-search-map-omissions{margin:8px 0;font-size:inherit;line-height:inherit}

/* v327: station/clinic labels use one measured collision policy on every map.
   Keep small names distinct from clickable detail popups. Avoid animations on
   the measured boxes; label placement is recalculated after map motion ends. */
.aga-public-media .leaflet-tooltip.aga-map-managed-label{box-sizing:border-box!important;width:max-content!important;min-width:0!important;max-width:180px!important;height:auto!important;padding:4px 6px!important;border:1px solid #dbe5e8;border-radius:5px;background:rgb(255 255 255 / 96%);color:#20333f;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important;text-align:center!important;font:600 12px/1.4 sans-serif!important;letter-spacing:normal!important;box-shadow:0 1px 4px rgb(23 47 60 / 16%);transition:none!important}
.aga-public-media .leaflet-tooltip.aga-map-managed-label .aga-map-station-focus{width:auto!important;min-width:0!important;max-width:168px!important;white-space:normal!important;overflow-wrap:anywhere!important;font:inherit!important;padding:0!important;min-height:20px!important}
.aga-public-media .leaflet-tooltip.aga-map-managed-label>span{white-space:normal!important;overflow-wrap:anywhere!important;font:inherit!important}
.aga-public-media .leaflet-tooltip.aga-map-managed-label.leaflet-tooltip-top{margin-top:-6px!important}
.aga-search-map.aga-public-media.has-map-omissions .aga-search-map-status-home>.aga-search-map-status{visibility:hidden}
@media(max-width:650px){
 .aga-public-media .aga-map-feedback{min-height:calc(6.8em + 16px)}
 .aga-search-map.aga-public-media .aga-search-map-status-home{min-height:calc(5.1em + 16px)}
}

/* AGA-DESIGN:CARD-LOCATION | v307
 * Existing verified address and straight-line distance form one readable group.
 * The admitted price-basis fragment precedes the map without duplicating it.
 * Map symbols remain at their own compact scale; all facts/guards are unchanged.
 */
.aga-clinic-identity .aga-media-location-details{padding:12px 14px;border:1px solid #e0e8e5;border-radius:8px;background:#f8faf9}
.aga-public-media .aga-media-address{font-size:16px;line-height:1.75}
.aga-public-media .aga-media-address>span{margin:0;color:#52646f;font-size:14px;font-weight:600}
.aga-public-media :is(.aga-media-selected-station,.aga-media-station,.aga-location-source){font-size:14px;line-height:1.75}
.aga-clinic-identity>.aga-clinic-price-summary{flex:0 0 100%;width:100%;min-width:0;margin:0 0 16px}
.aga-clinic-list .aga-clinic-check-date{font-size:14px;line-height:1.75}
.aga-public-media :is(.aga-media-caption,.aga-media-status,.aga-map-marker-count){font-size:14px;line-height:1.75}
@media(max-width:680px){
 .aga-public-media.aga-page-map{padding:0;border:0;border-radius:0;box-shadow:none}
 .aga-public-media .aga-map-frame{border-radius:10px}
 .aga-clinic-identity .aga-media-location-details{padding:10px 12px}
}
/* AGA-DESIGN:INLINE-ADDRESS v335
 * Label and value share their first line at every width. The value alone wraps
 * without truncating an address or creating a horizontal page overflow.
 * Existing station/distance and source paragraphs remain independent rows.
 */
.aga-public-media .aga-media-location-details>.aga-media-address{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:baseline;column-gap:10px;min-width:0}
.aga-public-media .aga-media-address>.aga-media-address-label{display:inline-flex;align-items:baseline;white-space:nowrap;margin:0;color:#52646f;font-size:14px;font-weight:600}
.aga-public-media .aga-media-address>.aga-media-address-value{display:block;min-width:0;margin:0;color:inherit;font-size:16px;font-weight:400;line-height:1.75;overflow-wrap:anywhere}

/* v338: use the registered flag SVG silhouette and the prepared route colour.
   Text remains dark; CSS masks avoid a separate recoloured asset per route. */
.aga-public-media .leaflet-tooltip.aga-map-endpoint-label .aga-map-endpoint-heading .aga-map-endpoint-flag{display:inline-block!important;flex:0 0 12px!important;width:12px!important;height:12px!important;margin:0!important;background-color:var(--aga-route-color,#64748B);-webkit-mask-image:var(--aga-map-flag-icon);mask-image:var(--aga-map-flag-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
.aga-public-media .leaflet-tooltip.aga-map-endpoint-label.aga-map-endpoint-tethered::before{display:none!important}

/* v342: immutable visible map guidance is present before loading. Only the
 * changing marker count is a live region; no artificial blank caption rows.
 * Old markup keeps its existing reservation during a cached-HTML rollout. */
.aga-public-media .aga-map-feedback[data-map-feedback="342"]{position:relative;min-height:0;font-size:14px;line-height:1.75}
.aga-public-media .aga-map-feedback[data-map-feedback="342"]>.aga-map-legend{margin:8px 0 0;padding:0;font:inherit;color:var(--aga-map-muted,#52646f)}
.aga-public-media .aga-map-offset-home[data-map-feedback="342"]{font-size:14px;line-height:1.75}
.aga-public-media .aga-map-offset-home[data-map-feedback="342"]>.aga-map-offset-note{margin:8px 0 0;padding:0;font:inherit}

/* v355: compact tooltip typography is explicit after the scoped font
 * shorthands above. This also covers nested endpoint names and focus buttons;
 * popup descriptions, map controls and source credits keep their own styles.
 */
.aga-public-media .leaflet-tooltip:is(.aga-map-managed-label,.aga-map-station-label,.aga-search-station-label,.aga-map-clinic-label,.aga-map-distance-label,.aga-map-endpoint-label),
.aga-public-media .leaflet-tooltip:is(.aga-map-managed-label,.aga-map-station-label,.aga-search-station-label,.aga-map-clinic-label,.aga-map-distance-label,.aga-map-endpoint-label) :is(span,button,.aga-map-station-focus,.aga-map-endpoint-content){
    font-feature-settings:"palt"!important;
}
/* A verified positive count is a separate compact row. Missing/zero counts
 * are omitted by the renderer; a hidden row must never reserve empty height.
 */
.aga-public-media .leaflet-tooltip:is(.aga-map-station-label,.aga-search-station-label,.aga-map-endpoint-label) .aga-map-station-label-name{
    display:block!important;margin:0;padding:0;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;
}
.aga-public-media .leaflet-tooltip:is(.aga-map-station-label,.aga-search-station-label,.aga-map-endpoint-label) .aga-map-station-label-count{
    display:block!important;margin:0;padding:0;white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;
}
.aga-public-media .leaflet-tooltip:is(.aga-map-station-label,.aga-search-station-label,.aga-map-endpoint-label) .aga-map-station-label-count[hidden]{display:none!important}

/* v356: a verified route number identifies a station, not clinic availability.
 * Keep the existing empty/unknown DTO classes for truthful text and popups;
 * all numbered single stations share one white, legible marker. The separate
 * unnumbered target-station symbol and red clinic markers keep their styles.
 */
.aga-public-media .aga-map-station-pin.aga-map-numbered-station:not(.is-cluster){
    background:#fff!important;color:#20333f!important;border:1px solid #64748b!important;
    font-family:sans-serif!important;font-size:12px!important;font-weight:700!important;line-height:1!important;
    font-variant-numeric:tabular-nums;letter-spacing:normal!important;white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;
}
.aga-search-map.aga-public-media .aga-map-station-pin.aga-search-station-pin.aga-map-numbered-station:not(.is-cluster){font-size:18px!important}
/* Cluster dimensions/anchors are supplied together by Leaflet. Both rows stay
 * inside that hit target; children never intercept the marker's click handler.
 * The second row describes the available action, never a clinic count.
 */
.aga-public-media .aga-map-station-pin.aga-map-station-cluster-action.is-cluster{
    display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:0;
    padding:3px 4px!important;border:2px solid #fff!important;border-radius:999px;
    background:#1769aa!important;color:#fff!important;
    font-family:sans-serif!important;font-weight:700!important;line-height:1.2!important;letter-spacing:normal!important;
}
.aga-public-media .aga-map-station-pin.aga-map-station-cluster-action.is-cluster>:is(.aga-map-cluster-count,.aga-map-cluster-action){
    display:block!important;min-width:0;max-width:100%;margin:0!important;padding:0!important;
    border:0!important;background:transparent!important;color:inherit!important;font-family:inherit!important;font-weight:700!important;line-height:1.2!important;
    white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;font-feature-settings:"palt"!important;pointer-events:none;
}
.aga-public-media .aga-map-station-pin.aga-map-station-cluster-action.is-cluster>.aga-map-cluster-count{font-size:13px!important;font-variant-numeric:tabular-nums}
.aga-public-media .aga-map-station-pin.aga-map-station-cluster-action.is-cluster>.aga-map-cluster-action{font-size:10px!important}
.aga-public-media .aga-map-station-pin:is(.aga-map-numbered-station,.aga-map-station-cluster-action):focus-visible{outline:3px solid #d58b22;outline-offset:2px}
/* Route colour/weight and a wider white halo come from the verified graph.
 * Their overlay pane stays below markers; neither path can consume a click.
 */
.aga-public-media :is(.aga-map-route-connection,.aga-map-route-connection-halo){fill:none;stroke-linecap:round;stroke-linejoin:round;pointer-events:none!important}

/* v357: one compact guide is present in the initial HTML below each map.
 * Natural height keeps long translations/names readable. The visible guide
 * does not change when markers hydrate, zoom or collapse into clusters. */
:is(.aga-public-media,.aga-search-v284,.aga-seo-page) .aga-map-guide{
    display:block;box-sizing:border-box;min-width:0;max-width:100%;margin:12px 0 0;padding:12px 14px;
    border:1px solid #d9dfe3;border-radius:7px;background:#f3f4f5;color:#42515d;
    font-size:14px;line-height:1.75;overflow-wrap:anywhere;
}
:is(.aga-public-media,.aga-search-v284,.aga-seo-page) .aga-map-guide>.aga-map-guide-title{
    margin:0 0 6px;padding:0;border:0;background:none;color:#293b48;font-size:14px;font-weight:700;line-height:1.75;
}
:is(.aga-public-media,.aga-search-v284,.aga-seo-page) .aga-map-guide>.aga-map-guide-list{
    display:block;max-height:none;overflow:visible;margin:0;padding:0 0 0 1.25em;list-style:disc outside;font:inherit;
}
:is(.aga-public-media,.aga-search-v284,.aga-seo-page) .aga-map-guide-list>li{
    display:list-item;min-width:0;margin:3px 0 0;padding:0;border:0;list-style:disc outside;font:inherit;color:inherit;
}
:is(.aga-public-media,.aga-search-v284,.aga-seo-page) .aga-map-guide-list>li::before,
:is(.aga-public-media,.aga-search-v284,.aga-seo-page) .aga-map-guide-list>li::after{content:none}
:is(.aga-public-media,.aga-search-v284,.aga-seo-page) .aga-map-guide-key{display:inline;margin:0;font-weight:600;color:#293b48}
:is(.aga-public-media,.aga-search-v284,.aga-seo-page) .aga-map-guide-description{display:inline;font:inherit;color:inherit}
.aga-search-map.aga-public-media .aga-search-station-label.leaflet-interactive{pointer-events:auto}

/* v363: visual labels remain bold without declaring every label important.
   bolder matches the former strong element at the inherited text weight. */
.aga-public-media .aga-map-popup-title,
.aga-service-group-label-text,
.aga-clinic-sort-basis-label{font-weight:bolder}

/* v395: semantic span labels retain an icon/text row without inheriting the
 * surrounding heading size. The official-source notice is secondary text. */
.aga-service-group-label-text{display:flex;align-items:center;gap:.4em;min-width:0;max-width:100%;font-size:15px;line-height:1.6}
.aga-service-group-label-text>.aga-ui-icon{display:block!important;position:static!important;inset:auto!important;float:none!important;flex:0 0 1.25em;width:1.25em!important;height:1.25em!important;min-width:1.25em!important;max-width:1.25em!important;margin:0!important;padding:0!important;transform:none!important}
.aga-service-group-label-text>.aga-heading-text-v351{min-width:0;overflow-wrap:anywhere}
.aga-auto-prices .aga-auto-official{font-size:14px;line-height:1.7}
