/* Arabian Ring maps: ivory, warm stone and compass gold. */
.map-section{background:#fbf8f2;color:#1a1a1a}
.map-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px clamp(20px,4vw,48px)}
.map-tools a{color:#806214}
.map-tools button,#map-rotation,.map-show-place{font:inherit;color:#604a18;background:#fffaf0;border:1px solid #c9a24b;border-radius:24px;padding:9px 18px;cursor:pointer}
#map-status{padding:0 clamp(20px,4vw,48px) 14px;font-size:14px;line-height:1.6}
#emirate-map{width:100%;height:70vh;min-height:350px;background:#efe6d2}
#emirate-map[hidden],#map-areas[hidden],#map-rotation[hidden],.map-show-place[hidden]{display:none}
.map-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;padding:0;margin:28px 0 0}
.map-card{background:#fffdf8;border:1px solid #e4d7b7;border-radius:18px;padding:26px;box-shadow:0 8px 30px #9e83300a}
.map-card h3,.map-hub-card h2{font-size:22px;font-weight:500;line-height:1.3;margin-bottom:14px}
.map-card p{font-size:15px;line-height:1.7;margin:12px 0;color:#333}
.map-card-links{display:flex;align-items:flex-start;flex-direction:column;gap:16px;margin-top:18px}
.map-card-links .btn{font-size:10px;line-height:1.6}
.map-card .map-badge,.map-popup-card .map-badge{display:inline-block;font-size:12px;line-height:1.5;padding:5px 10px;border-radius:12px;background:#f3ead3;color:#604a18;border:1px solid #d8c69b}
.map-hub-card{display:block;color:#1a1a1a;text-decoration:none;transition:border-color .2s,transform .2s}
.map-hub-card:hover{border-color:#c9a24b;transform:translateY(-3px)}
.map-hub-card .eyebrow{display:block;letter-spacing:.16em;line-height:1.6}
.map-hub-card .more{display:block;color:#806214;font-size:13px;margin-top:22px}
.map-pin{position:relative;width:34px;height:34px;padding:3px;border:1px solid #c9a24b;border-radius:50%;background:#fffaf0;cursor:pointer;box-shadow:0 2px 8px #604a1840;color:#c9a24b}
.map-pin svg{width:100%;height:100%;display:block}
.map-pin svg path,.map-pin svg circle{stroke:#c9a24b}
.map-pin-label{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);width:max-content;max-width:230px;padding:8px 12px;border-radius:8px;background:#fffaf0;border:1px solid #c9a24b;color:#332b1c;font:600 13px/1.4 var(--font);pointer-events:none}
.map-pin:hover .map-pin-label,.map-pin:focus-visible .map-pin-label{display:block}
.map-pin:focus-visible,.map-tools button:focus-visible,.map-card a:focus-visible,.map-hub-card:focus-visible{outline:3px solid #806214;outline-offset:4px}
.map-popup-card{font-family:var(--font);padding:12px;color:#1a1a1a}
.map-popup-card h3{font-size:20px;line-height:1.3;margin:0 0 12px}
.map-popup-card p{font-size:14px;line-height:1.6;margin:10px 0}
.maplibregl-popup-content{background:#fffdf8;border-radius:14px;max-height:min(360px,calc(70vh - 80px));overflow-y:auto}
.maplibregl-popup-close-button{font-size:24px;width:32px;height:32px;color:#604a18}
.maplibregl-ctrl-attrib{font-size:10px}
.cta-band p{margin:20px 0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1000px){.map-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#emirate-map{height:60vh;min-height:300px}.map-cards{grid-template-columns:1fr}.map-card{padding:22px}.map-tools{flex-wrap:wrap}.map-pin{width:34px;height:34px}}
@media(prefers-reduced-motion:reduce){.map-hub-card{transition:none}}

.map-hero.page-hero{padding:24px clamp(20px,4vw,48px) 10px}
.map-hero .wrap{max-width:none;margin:0}
.map-hero h1{font-size:clamp(28px,3vw,38px)}
.map-hero .hero-sub{margin-top:8px;line-height:1.5}
.map-tools{justify-content:flex-start;flex-wrap:wrap;padding-top:8px;padding-bottom:12px}
#map-areas{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.map-tools button{padding:7px 14px;font-size:13px}
.map-stage{position:relative}
#map-rotation{position:absolute;left:16px;top:16px;z-index:2;box-shadow:0 2px 10px #604a1820;font-size:13px}
#map-rotation:disabled{cursor:default;color:#6d603f}
.map-show-place{font-size:13px;padding:8px 14px}
.map-show-place:focus-visible,#map-rotation:focus-visible{outline:3px solid #806214;outline-offset:3px}
#map-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.maplibregl-popup{z-index:3}
@media(max-width:600px){.map-hero.page-hero{padding-top:18px}.map-tools{gap:8px}}

@media(max-width:600px){.maplibregl-popup-content{max-height:min(360px,calc(60vh - 80px))}}

/* The UAE hub puts the map first, with a full-width collection below. */
.map-hub #emirate-map{height:72vh}
.map-hub-cards.band,.map-landmarks.band{max-width:none;padding:28px clamp(20px,4vw,48px)}
.map-hub-cards .map-cards{grid-template-columns:repeat(4,minmax(0,1fr));margin:0;gap:18px}
.map-hub-card{overflow:hidden}
.map-thumbnail{display:flex;align-items:center;justify-content:center;height:86px;margin:-26px -26px 20px;background-color:#f3ead3;background-image:repeating-radial-gradient(ellipse at 20% 120%,transparent 0 13px,#c9a24b45 14px 15px,transparent 16px 27px);border-bottom:1px solid #e4d7b7}
.map-thumbnail svg{width:42px;height:42px;color:#9c7728;background:#fffaf0;border-radius:50%;padding:7px}
.map-thumbnail-dubai,.map-thumbnail-ajman{background-position:45px -20px}
.map-thumbnail-sharjah,.map-thumbnail-fujairah{background-position:-50px 15px}
.map-thumbnail-ras-al-khaimah,.map-thumbnail-umm-al-quwain{background-position:80px 5px}
.map-hub .map-pin[data-highlighted="true"]{border-width:2px;box-shadow:0 0 0 3px #c9a24b35,0 2px 8px #604a1840;z-index:1}
.map-hub .map-pin[data-highlighted="false"]{opacity:.55}
#emirate-map[data-low-zoom="true"] .map-pin{width:22px;height:22px;padding:2px}
#emirate-map[data-low-zoom="true"] .map-pin-label{opacity:.35}
.map-gesture-hint{position:absolute;bottom:46px;left:50%;transform:translateX(-50%);z-index:2;margin:0;padding:6px 12px;border:1px solid #e4d7b7;border-radius:16px;background:#fffaf0ed;color:#604a18;font:12px/1.4 var(--font);text-align:center;pointer-events:none;max-width:calc(100% - 32px);width:max-content}
.map-gesture-mobile{display:none}
.map-stage:has(#emirate-map[hidden]) .map-gesture-hint{display:none}
#emirate-map .maplibregl-cooperative-gesture-screen{background:#fffaf0ed;color:#604a18;font:14px/1.5 var(--font)}
@media(pointer:coarse){.map-gesture-desktop{display:none}.map-gesture-mobile{display:inline}}
#map-areas button[aria-pressed="true"]{background:#604a18;color:#fffaf0;border-color:#604a18}
.map-landmarks details{border-bottom:1px solid #e4d7b7;padding:16px 0}
.map-landmarks summary{cursor:pointer;color:#604a18;font-weight:600}
.map-landmarks ul{padding-left:22px;line-height:1.7}
.map-landmarks li{margin:12px 0}
.map-landmarks a{color:#806214}
@media(max-width:1200px) and (min-width:1001px){.map-hub-cards .map-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.map-hub-cards .map-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.map-hub #emirate-map{height:62vh}.map-hub-cards .map-cards{grid-template-columns:1fr}.map-thumbnail{margin:-22px -22px 18px}}
