/* Clickable address card and responsive map dialog */
.address-card{display:flex;flex-direction:column;align-items:flex-start;width:100%;min-height:100%;font:inherit;text-align:left;cursor:pointer;appearance:none;-webkit-appearance:none}
.address-card .icon{flex:0 0 38px}
.address-card-title{display:block;margin:0 0 8px;color:var(--ink);font-size:17px;font-weight:750;line-height:1.25}
.address-card-copy{display:block;color:var(--muted);font-size:14px;line-height:1.55}
.address-card-action{display:flex;align-items:center;gap:9px;margin-top:16px;color:#087fbd;font-size:12px;font-weight:750}
.address-card-action-mark{display:grid;place-items:center;width:25px;height:25px;border:1px solid #cfe4f0;border-radius:50%;background:#eff8fc;transition:transform .2s ease,background .2s ease}
.address-card:hover .address-card-action,.address-card:focus-visible .address-card-action{color:#fff}
.address-card:hover .address-card-action-mark,.address-card:focus-visible .address-card-action-mark{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.35);transform:translate(2px,-2px)}
.address-card:focus-visible{outline:3px solid #29a5d0;outline-offset:3px}
.address-map-dialog{width:min(880px,calc(100% - 20px));max-width:880px;max-height:min(92vh,850px);padding:0;overflow:hidden;border:1px solid #c8e1ed;border-radius:20px;background:#f7fbfd;color:#153b59;box-shadow:0 28px 100px rgba(4,33,53,.4)}
.address-map-dialog::backdrop{background:rgba(5,27,43,.76);backdrop-filter:blur(6px)}
.address-map-inner{max-height:min(92vh,850px);overflow-y:auto;padding:clamp(16px,3vw,26px)}
.address-map-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:15px}
.address-map-kicker{display:block;margin-bottom:5px;color:#1483b3;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.address-map-head h2{margin:0;color:#123f70;font-size:clamp(22px,3.3vw,30px);line-height:1.15}
.address-map-address{margin:7px 0 0;color:#627d90;font-size:14px;line-height:1.5}
.address-map-close{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border:1px solid #d6e6ef;border-radius:50%;background:#fff;color:#123f70;font-size:24px;line-height:1;cursor:pointer;transition:background .2s ease,transform .2s ease}
.address-map-close:hover{background:#e8f5fb;transform:rotate(90deg)}
.address-map-frame-wrap{position:relative;overflow:hidden;border:1px solid #cfe1e9;border-radius:14px;background:#e8f0f4;box-shadow:0 10px 26px rgba(18,69,97,.1)}
.address-map-frame{display:block;width:100%;height:clamp(300px,54vh,520px);border:0;background:#e8f0f4}
.address-map-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;color:#748a99;font-size:11px;line-height:1.45}
.address-map-external{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;gap:7px;padding:9px 12px;border:1px solid #c9e2ed;border-radius:9px;background:#fff;color:#087fbd;font-size:12px;font-weight:750;transition:background .2s ease,transform .2s ease}
.address-map-external:hover{background:#edf8fc;transform:translateY(-1px)}
@media(max-width:560px){.address-map-dialog{width:calc(100% - 12px);max-height:96vh;border-radius:15px}.address-map-inner{max-height:96vh;padding:15px 12px}.address-map-frame{height:58vh;min-height:310px}.address-map-footer{align-items:flex-start;flex-direction:column}.address-map-external{width:100%}}
@media(prefers-reduced-motion:reduce){.address-card-action-mark,.address-map-close,.address-map-external{transition:none!important}}
