/* Location selection follows the shared navy, cyan and orange site palette. */
.locations-main { background:#00152f; color:#fff; padding-bottom:36px; }
.locations-main .container { width:calc(100% - 64px); max-width:1240px; margin-inline:auto; padding:0; }
.locations-intro { padding:48px 0 36px; background:radial-gradient(ellipse at 85% 0,#073d5e80,transparent 65%); }
.locations-back { display:inline-block; color:#b9d5e7; text-decoration:none; font-size:13px; margin-bottom:28px; }
.location-eyebrow:before { content:""; display:inline-block; width:24px; height:3px; background:#ff914c; margin:0 12px 3px 0; border-radius:3px; }
.location-eyebrow { font-size:11px; line-height:1.8; letter-spacing:1.7px; font-weight:800; color:#66dfff; margin:0 0 14px; }
.locations-main h1 { font-size:clamp(36px,4vw,56px); line-height:1.15; font-weight:800; letter-spacing:-1.5px; color:#fff; margin:0 0 22px; }
.locations-main h1 span { color:#00c4ef; }
.locations-main .locations-lead { color:#b9d5e7; font-size:16px; line-height:1.9; max-width:690px; margin:0 0 28px; }
.location-channel { display:inline-flex; gap:6px; padding:6px; border:1px solid #286080; border-radius:999px; background:#04243a; }
.locations-main button { font-family:inherit; cursor:pointer; }
.location-channel button,.location-country-filters button { border:1px solid transparent; border-radius:999px; background:transparent; color:#bdd9eb; padding:12px 24px; min-height:46px; font-size:14px; font-weight:750; transition:color .2s,background .2s,border-color .2s; }
.location-channel button[aria-pressed=true] { background:#00c4ef; color:#00152f; }
.locations-main button:hover { border-color:#ff914c; color:#ffad7a; background:#12344b; }
.locations-main .location-next-note { font-size:13px; line-height:1.8; color:#9dbed6; margin:18px 0 0; max-width:750px; }
.location-context { display:flex; flex-direction:column; gap:8px; max-width:750px; padding:18px 22px; border:1px solid #286080; border-left:3px solid #ff914c; border-radius:12px; background:#082d46; margin-bottom:26px; }
.location-context span { color:#a4c6dd; font-size:11px; text-transform:uppercase; letter-spacing:1px; }
.location-context strong { color:#fff; font-size:15px; line-height:1.8; overflow-wrap:anywhere; }
.locations-directory { padding:8px 0 28px; }
.locations-toolbar { display:flex; gap:28px; justify-content:space-between; align-items:center; margin-bottom:24px; }
.location-country-filters { display:flex; gap:8px; flex-wrap:wrap; }
.location-country-filters button { border-color:#20506c; font-size:13px; padding:11px 20px; background:#06253e; }
.location-country-filters button[aria-pressed=true] { border-color:#00c4ef; color:#8ceaff; background:#074562; }
.location-search { flex:1; max-width:390px; }
.location-search label { display:block; color:#b9d5e7; font-size:12px; margin-bottom:8px; }
.location-search input { display:block; width:100%; min-width:0; padding:14px 16px; min-height:48px; border:1px solid #286080; border-radius:12px; background:#06253e; color:#fff; font-size:14px; }
.location-search input::placeholder { color:#91b4cc; }
.locations-main .location-count { font-size:13px; color:#a4c6dd; margin:0 0 24px; }
.locations-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.location-card { display:flex; flex-direction:column; padding:26px; border:1px solid #20506c; border-radius:20px; background:linear-gradient(135deg,#082d46,#031c31); min-width:0; transition:border-color .2s,box-shadow .2s; }
.location-card:focus-within,.location-card:has(.location-continue:hover) { border-color:#ff914c; box-shadow:0 8px 28px #0003; }
.location-card.is-suggested { border-color:#00c4ef; }
.location-card-top { display:flex; justify-content:space-between; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:20px; }
.location-role { color:#76e4ff; font-size:11px; line-height:1.8; letter-spacing:.5px; font-weight:750; }
.location-country { border:1px solid #286080; padding:5px 10px; border-radius:999px; color:#bdd9eb; font-size:10px; }
.location-card h2 { font-size:23px; font-weight:750; line-height:1.4; color:#fff; margin:0 0 16px; }
.locations-main .location-address { font-size:14px; line-height:1.9; color:#b9d5e7; margin:0 0 16px; overflow-wrap:anywhere; }
.locations-main .location-visit-note { font-size:12px; line-height:1.8; color:#a3bbcd; margin:0 0 18px; }
.locations-main .location-contact { display:flex; flex-direction:column; gap:7px; border-top:1px solid #20506c; padding-top:18px; margin: auto 0 0; }
.location-contact span { font-size:11px; color:#9dbed6; }
.location-contact a,.location-extra-phones a { color:#83deff; text-decoration:none; font-size:14px; }
.locations-main .location-extra-phones { display:flex; flex-wrap:wrap; gap:8px 14px; margin:16px 0 0; font-size:11px; line-height:1.8; color:#9dbed6; }
.location-extra-phones a { font-size:12px; }
.location-continue { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:24px; padding:14px 16px; min-height:48px; border:1px solid #2b789b; border-radius:12px; color:#8ceaff; background:#07334b; font-size:13px; font-weight:750; line-height:1.6; text-decoration:none; transition:color .2s,border-color .2s,background .2s; }
.location-continue:hover { color:#ffad7a; border-color:#ff914c; background:#103d59; }
.locations-main .locations-support { font-size:14px; line-height:1.9; color:#9dbed6; margin:32px 0 0; }
.locations-support a { color:#83deff; }
.locations-main a:hover,.selected-location a:hover { color:#ffad7a; }
.location-no-results { padding:36px; border:1px solid #20506c; border-radius:18px; color:#b9d5e7; }
.location-no-results h2 { font-size:24px; color:#fff; }
.location-no-results button { background:#07334b; color:#8ceaff; border:1px solid #2b789b; border-radius:12px; padding:12px 18px; }
.locations-main :is(a,button,input):focus-visible,.selected-location :is(a,select):focus-visible { outline:3px solid #ff914c; outline-offset:4px; }
.locations-main [hidden] { display:none!important; }
.location-form-column { min-width:0; }
.selected-location { scroll-margin-top:110px; background:linear-gradient(135deg,#08324d,#031c31); border:1px solid #23718c; border-left:3px solid #00c4ef; border-radius:18px; padding:26px; margin-bottom:24px; color:#b9d5e7; }
.selected-location .location-eyebrow { margin:0 0 10px; }
.selected-location h2 { color:#fff; font-size:25px; line-height:1.5; margin:0 0 12px; }
.selected-location p { font-size:13px; line-height:1.9; margin:8px 0; }
.selected-location a { display:inline-block; color:#83deff; font-size:13px; line-height:1.8; text-decoration:none; }
.selected-location label { display:block; font-size:12px; font-weight:700; color:#b9d5e7; margin-top:22px; }
.selected-location select { display:block; width:100%; background:#06253e; color:#fff; border:1px solid #39718f; border-radius:10px; padding:12px; margin-top:8px; font-size:14px; }
.selected-location .location-change-note { color:#8fb3ca; font-size:11px; margin:12px 0 0; }
html.location-pending .location-form-column { display:none; }
@media(max-width:1100px) { .locations-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
body:has(.locations-main) :is(.brief-floating-whatsapp,.brief-floating-catalogue) { display:none; }
@media(max-width:767px) {
 .locations-main .container { width:calc(100% - 40px); }
 .locations-intro { padding:32px 0 26px; }
 .locations-main h1 { font-size:clamp(32px,8.5vw,38px); }
 .locations-main .locations-lead { font-size:14px; }
 .locations-toolbar { flex-direction:column; align-items:stretch; gap:22px; }
 .location-search { max-width:none; }
 .locations-grid { grid-template-columns:1fr; gap:20px; }
 .location-card { padding:24px; }
 .location-card h2 { font-size:24px; }
 .location-channel button { padding:12px 20px; font-size:13px; }
 .location-country-filters button { padding:10px 16px; }
 .selected-location { padding:22px; }
 .locations-main { padding-bottom:50px; }
 body:has(.locations-main) :is(.brief-floating-whatsapp,.brief-floating-catalogue) { display:none; }
}
@media(prefers-reduced-motion:reduce) { .locations-main * { transition:none!important; } }
