body.cs-map-page .cs-hero{padding:32px 0 24px}
.cs-map-page .cs-hero h1{margin-bottom:12px}
.cs-map-page .cs-hero .cs-lead{max-width:850px;margin-bottom:12px}
.cs-map-page .cs-hero .cs-actions{margin-top:16px}
.cs-map-page .cs-map-wrap{max-width:1440px;margin:0 auto;padding:0 24px 36px}
.cs-map-page .iis-map{display:grid;grid-template-columns:320px minmax(0,1fr);height:70vh;min-height:460px;max-height:760px;border:1px solid #d5e0ea;border-radius:12px;overflow:hidden;font-family:Arial,sans-serif}
.cs-map-page .iis-map__form{display:block!important;position:relative;top:auto;right:auto;width:auto;height:100%;border-radius:0;box-shadow:none;background:#142a3e;padding:22px;z-index:1}
.cs-map-page .iis-map__form h2{font-size:22px;color:#fff;margin:0 0 16px;line-height:1.3}
.cs-map-page .iis-map__form label{display:block;color:#fff;font:600 15px/1.5 Arial,sans-serif;margin:0 0 8px}
.cs-map-page .iis-map__form .field{height:48px;background:#fff;border-radius:6px}
.cs-map-page .iis-map__form .field:after{display:none}
.cs-map-page .iis-map__form .field input[type="text"]{font:16px/1.5 Arial,sans-serif;color:#18324b;padding:10px 12px;border:2px solid #8eafc7;border-radius:6px}
.cs-map-page .iis-map__form .field input::placeholder{color:#526778;opacity:1}
.cs-map-page .iis-map__form .options{height:calc(100% - 132px);min-height:150px;margin-top:14px;background:#142a3e;overscroll-behavior:contain}
.cs-map-page .iis-map__form .option{min-height:44px;white-space:normal;font:15px/1.5 Arial,sans-serif;padding:11px 12px;background:#142a3e;border-bottom:1px solid #385168;color:#fff}
.cs-map-page .iis-map__form .option:hover,.cs-map-page .iis-map__form .option:focus{background:#24465f}
.cs-map-page .iis-map__form .empty{color:#e3eaf0;font:15px/1.5 Arial,sans-serif}
.cs-map-page .iis-map__container{min-width:0;min-height:0}
.cs-map-page .iis-map :focus-visible{outline:3px solid #ffc04a;outline-offset:-3px}
.cs-map-page .iis-map__marker-info .info-country{font-size:14px}
.cs-map-page .iis-map__marker-info .info-city{font-size:18px}
.cs-map-page .iis-map__marker-info .info-button a{font:700 14px/1.5 Arial,sans-serif;min-height:44px;padding:12px;color:#fff;background:#065eaa}
.cs-map-page #cs-map-status{padding-top:12px;color:#405a70;font-size:16px}
.cs-map-page .cs-map-help{margin-top:18px;max-width:920px;font-size:16px}
@media(max-width:760px){
 .cs-map-page .cs-map-wrap{padding:0 18px 28px}
 .cs-map-page .iis-map{grid-template-columns:minmax(0,1fr);height:auto;min-height:0;max-height:none}
 .cs-map-page .iis-map__form{padding:18px;height:auto}
 .cs-map-page .iis-map__form .options{height:144px;min-height:144px}
 .cs-map-page .iis-map__container{height:440px}
 .cs-map-page .cs-hero{padding:24px 0}
}

/* Use Google's measured popup box instead of legacy oversized decoration. */
.cs-map-page .iis-map__container .gm-style-iw {
 position:absolute;overflow:hidden!important;
 box-shadow:0 2px 7px rgba(0,0,0,.3);background:#1a1a1a;
}
.cs-map-page .iis-map__container .gm-style-iw::before,
.cs-map-page .iis-map__container .gm-style-iw::after {content:none}
.cs-map-page .iis-map__marker-info {line-height:1.4;overflow-wrap:anywhere}
.cs-map-page .iis-map__marker-info .info-button {margin-top:12px}

/* Keep popup controls visible without changing its scrolling or measured bounds. */
.cs-map-page .iis-map__container .gm-style-iw {
 scrollbar-color:#8799ad #1a1a1a;
}
.cs-map-page .iis-map__container .gm-style-iw [aria-label="Close"] {
 background-color:#fff!important;border-radius:50%;opacity:1;
}

/* Fit desktop map below the measured header/intro; retain stacked mobile layout. */
@media(min-width:761px){
 .cs-map-page .iis-map{height:var(--cs-map-fit-height,70vh);min-height:320px;max-height:760px}
 .cs-map-page .iis-map__form{display:flex!important;flex-direction:column;min-height:0}
 .cs-map-page .iis-map__form h2,
 .cs-map-page .iis-map__form label,
 .cs-map-page .iis-map__form .field{flex-shrink:0}
 .cs-map-page .iis-map__form .options{flex:1 1 0;height:auto;min-height:0;overflow:auto}
}
