.mapwrap.tl-map-wrapper { aspect-ratio:auto; }
.tl-map { background:#f6f8f5; color:#1e3943; padding:20px; height:100%; box-sizing:border-box; }
.tl-map-title { display:block; margin:0 0 12px; font-size:1.1rem; line-height:1.4; }
.tl-map p { font-size:1rem; line-height:1.5; margin:0 0 16px; }
.tl-map-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.tl-map button { padding:12px 16px; min-height:44px; border:2px solid #1e3943; border-radius:8px; font:inherit; font-weight:700; color:#fff; background:#1e3943; cursor:pointer; }
.tl-map a { color:#1e3943; font-weight:700; text-decoration:underline; }
.tl-map button:focus-visible, .tl-map a:focus-visible { outline:3px solid #42707b; outline-offset:3px; }
.tl-map [hidden] { display:none!important; }
.tl-map-slot { margin-top:16px; }
body .tl-map .tl-map-slot iframe { display:block; width:100%; height:340px; border:0; border-radius:8px; }
.tl-map .tl-map-status { font-size:.9rem; margin-top:12px; margin-bottom:0; }
@media(max-width:400px) { .tl-map { padding:16px; } .tl-map-actions { align-items:stretch; flex-direction:column; } body .tl-map .tl-map-slot iframe { height:280px; } }
