/* =========================================================================
   GatewayVPN – Server location template (vpn-location)
   Every section root has .gw-loc plus its own class; selectors are
   double-scoped (.gw-loc .x) so the Elementor kit can't override them.
   ====================================================================== */

/* ---------- Base ---------- */
.gw-loc,
.gw-loc *,
.gw-loc *::before,
.gw-loc *::after { box-sizing: border-box; }

/* Remove the theme's focus box on mouse/touch clicks; keyboard focus keeps a purple ring */
.gw-loc button:focus:not(:focus-visible),
.gw-loc a:focus:not(:focus-visible),
.gw-loc [tabindex]:focus:not(:focus-visible) { outline: none !important; box-shadow: none !important; }
.gw-loc button:focus-visible,
.gw-loc a:focus-visible,
.gw-loc [tabindex]:focus-visible { outline: 3px solid #b9a6cf !important; outline-offset: 3px; }

.gw-loc {
	--gw-header-offset: 90px; /* height of the sticky site header */
	--gw-purple: #6e5092;
	--gw-ink: #424242;
	--gw-muted: #5f5f5f;
	--gw-border: #DDDDDD;
	--gw-gray: rgba(240, 240, 240, 0.5);
	--gw-tint: #EEE9F3;
	position: relative;
	display: block;
	width: 100%;
	margin: 0;
	padding: 56px 0;
	background: #FFFFFF;
	color: #424242;
	font-family: inherit;
	font-size: 16px;
	line-height: 1.6;
	text-align: left;
	scroll-margin-top: var(--gw-header-offset);
}
.gw-loc.gw-loc-unlocks,
.gw-loc.gw-loc-howto,
.gw-loc.gw-loc-other,
.gw-loc.gw-loc-why { background: rgba(240, 240, 240, 0.5); }

.gw-loc .gw-loc__wrap { width: 100%; max-width: 1240px; margin: 0 auto; padding: 0 24px; }

.gw-loc ul,
.gw-loc ol { margin: 0; padding: 0; list-style: none; }
.gw-loc li { margin: 0; padding: 0; }
.gw-loc li::before,
.gw-loc li::marker { content: none; }
.gw-loc p { margin: 0; }
.gw-loc svg { display: block; }

/* ---------- Hexagons ---------- */
.gw-loc .gw-loc__hex { clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); }

.gw-loc .gw-loc__flaghex { position: relative; display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; overflow: hidden; background: #F0F0F0; }
.gw-loc .gw-loc__flaghex--ring { padding: 0; }
.gw-loc .gw-loc__ring-purple { background: #6e5092; }
.gw-loc .gw-loc__ring-white { background: #FFFFFF; }
.gw-loc .gw-loc__ring-gray { background: #DDDDDD; }
.gw-loc .gw-loc__hex-in { display: block; overflow: hidden; }
.gw-loc .gw-loc__flag { display: block; width: 100%; height: 100%; max-width: none; margin: 0; border: 0; border-radius: 0; object-fit: cover; }
.gw-loc .gw-loc__flag--empty { display: flex; align-items: center; justify-content: center; background: #6e5092; color: #FFFFFF; font-size: 12px; font-weight: 700; line-height: 1; }

.gw-loc .gw-loc__flaghex--xs { width: 22px; height: 25px; }
.gw-loc .gw-loc__flaghex--sm { width: 38px; height: 44px; }
.gw-loc .gw-loc__flaghex--sm .gw-loc__hex-in { width: 36px; height: 41px; }
.gw-loc .gw-loc__flaghex--xl { width: 150px; height: 173px; }
.gw-loc .gw-loc__flaghex--xl .gw-loc__hex-in { width: 136px; height: 157px; }

.gw-loc .gw-loc__iconhex { display: inline-flex; flex: 0 0 40px; width: 40px; height: 46px; align-items: center; justify-content: center; background: #EEE9F3; color: #6e5092; }
.gw-loc .gw-loc__iconhex--onpurple { flex-basis: 48px; width: 48px; height: 55px; background: rgba(255, 255, 255, 0.18); color: #FFFFFF; }
.gw-loc .gw-loc__iconhex--purple { background: #6e5092; color: #FFFFFF; }
.gw-loc .gw-loc__icon { width: 18px; height: 18px; }
.gw-loc .gw-loc__iconhex--onpurple .gw-loc__icon { width: 22px; height: 22px; }

.gw-loc .gw-loc__num { display: inline-flex; flex: 0 0 28px; width: 28px; height: 32px; align-items: center; justify-content: center; background: #6e5092; color: #FFFFFF; font-size: 13px; font-weight: 700; line-height: 1; }
.gw-loc .gw-loc__num--lg { flex-basis: 40px; width: 40px; height: 46px; font-size: 17px; }

/* ---------- Titles and text ---------- */
.gw-loc .gw-loc__title { margin: 0; padding: 0; color: #424242; font-family: inherit; text-transform: none; letter-spacing: normal; }
.gw-loc .gw-loc__title--h1 { font-size: clamp(42px, 6vw, 64px); line-height: 1.08; font-weight: 800; letter-spacing: -0.02em; }
.gw-loc .gw-loc__title--h2 { font-size: 36px; line-height: 1.2; font-weight: 700; }
.gw-loc .gw-loc__em { color: #6e5092; }
.gw-loc .gw-loc__lead { margin: 0; font-size: 17px; line-height: 1.6; color: #424242; max-width: 680px; }

.gw-loc .gw-loc__head { display: flex; flex-direction: column; gap: 10px; margin-bottom: 32px; }
.gw-loc .gw-loc__head--center { align-items: center; text-align: center; }
.gw-loc .gw-loc__head--row { flex-direction: row; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 24px; }
.gw-loc .gw-loc__head-text { display: flex; flex-direction: column; gap: 10px; }

.gw-loc .gw-loc__textlink { color: #6e5092; font-size: 15px; line-height: 1.4; font-weight: 600; text-decoration: none; white-space: nowrap; transition: color .2s; }
.gw-loc .gw-loc__textlink:hover { color: #424242; }

/* ---------- Buttons ---------- */
.gw-loc .gw-loc__btns { display: flex; flex-wrap: wrap; gap: 12px; }
.gw-loc .gw-loc__btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 26px; border-radius: 10px; font-size: 16px; font-weight: 600; line-height: 1.4; text-decoration: none; transition: background-color .2s, border-color .2s, color .2s; }
.gw-loc .gw-loc__btn--primary { background: #6e5092; color: #FFFFFF; border: 1px solid #6e5092; }
.gw-loc .gw-loc__btn--primary:hover { background: #424242; border-color: #424242; color: #FFFFFF; }
.gw-loc .gw-loc__btn--ghost { background: #FFFFFF; color: #424242; border: 1px solid #DDDDDD; }
.gw-loc .gw-loc__btn--ghost:hover { border-color: #424242; color: #424242; }
.gw-loc .gw-loc__btn--white { background: #FFFFFF; color: #6e5092; border: 1px solid #FFFFFF; }
.gw-loc .gw-loc__btn--white:hover { background: #424242; border-color: #424242; color: #FFFFFF; }
.gw-loc .gw-loc__btn--white:focus-visible { outline-color: #FFFFFF !important; }

/* ---------- Pills ---------- */
.gw-loc .gw-loc__pills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.gw-loc .gw-loc__pill { padding: 6px 12px; border-radius: 999px; background: rgba(240, 240, 240, 0.5); border: 1px solid #DDDDDD; font-size: 13px; line-height: 1.4; font-weight: 600; color: #424242; }

/* =========================================================================
   Hero
   ====================================================================== */
.gw-loc.gw-loc-hero { padding: 72px 0; }
.gw-loc .gw-loc-hero__grid { display: flex; align-items: center; gap: 56px; }
.gw-loc .gw-loc-hero__text { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 22px; }
.gw-loc .gw-loc-hero__intro { font-size: 18px; line-height: 1.6; max-width: 540px; color: #424242; }

.gw-loc .gw-loc__crumbs-list { display: flex; flex-wrap: wrap; gap: 8px; font-size: 14px; line-height: 1.4; color: #5f5f5f; }
.gw-loc .gw-loc__crumb { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; line-height: 1.4; color: #5f5f5f; }
.gw-loc .gw-loc__crumb + .gw-loc__crumb::before { content: "›"; color: #5f5f5f; }
.gw-loc .gw-loc__crumb-link { color: #6e5092; text-decoration: none; font-size: 14px; line-height: 1.4; transition: color .2s; }
.gw-loc .gw-loc__crumb-link:hover { color: #424242; }

.gw-loc .gw-loc-hero__art { position: relative; flex: 0 0 540px; display: flex; flex-direction: column; justify-content: center; }
.gw-loc .gw-loc-comb { position: relative; display: flex; flex-direction: column; }
.gw-loc .gw-loc-comb__row { display: flex; gap: 6px; }
.gw-loc .gw-loc-comb__row + .gw-loc-comb__row { margin-top: -22px; }
.gw-loc .gw-loc-comb__row--offset { margin-left: 51px; }
.gw-loc .gw-loc-comb__cell { display: flex; flex: 0 0 96px; width: 96px; height: 110px; align-items: center; justify-content: center; overflow: hidden; }
.gw-loc .gw-loc-comb__cell--a { background: #F6F6F6; }
.gw-loc .gw-loc-comb__cell--b { background: #F0F0F0; }
.gw-loc .gw-loc-comb__cell--t { background: #EEE9F3; }
.gw-loc .gw-loc-comb__cell--flag { background: #DDDDDD; opacity: 0.6; }
.gw-loc .gw-loc-comb__inner--flag { width: 92px; height: 106px; }
.gw-loc .gw-loc-comb__cell--name { background: #F4F0F8; padding: 0 10px; }
.gw-loc .gw-loc-comb__name { font-size: 13px; line-height: 1.3; font-weight: 700; color: #424242; text-align: center; }
.gw-loc .gw-loc-comb__cell--current { background: #6e5092; }
.gw-loc .gw-loc-comb__inner { display: block; width: 82px; height: 94px; overflow: hidden; }

.gw-loc .gw-loc-hero__tag { position: absolute; top: 18px; left: 200px; display: flex; flex-direction: column; gap: 2px; padding: 12px 16px; background: #FFFFFF; border: 1px solid #DDDDDD; border-radius: 14px; box-shadow: 0 8px 24px rgba(66, 66, 66, 0.10); }
.gw-loc .gw-loc-hero__tag--city { left: 300px; }
.gw-loc .gw-loc-hero__tag-title { display: block; font-size: 15px; line-height: 1.3; font-weight: 700; color: #424242; }
.gw-loc .gw-loc-hero__tag-sub { display: block; font-size: 13px; line-height: 1.4; color: #5f5f5f; }
.gw-loc .gw-loc-hero__tag-status { display: flex; align-items: center; gap: 6px; margin-top: 4px; font-size: 12px; line-height: 1.4; font-weight: 600; color: #6e5092; }
.gw-loc .gw-loc-hero__dot { width: 8px; height: 8px; border-radius: 4px; background: #6e5092; }

/* =========================================================================
   Server cities (country, multi-city)
   ====================================================================== */
.gw-loc .gw-loc-cities__grid { display: flex; align-items: flex-start; gap: 56px; }
.gw-loc .gw-loc-cities__intro { flex: 0 0 400px; display: flex; flex-direction: column; gap: 16px; }
.gw-loc .gw-loc-cities__tip { margin-top: 8px; padding: 22px 24px; background: rgba(240, 240, 240, 0.5); border: 1px solid #DDDDDD; border-radius: 20px; display: flex; flex-direction: column; gap: 14px; }
.gw-loc .gw-loc-cities__tip-title { margin: 0; font-family: inherit; text-transform: none; font-size: 18px; line-height: 1.3; font-weight: 700; color: #424242; }
.gw-loc .gw-loc-cities__tip-row { display: flex; align-items: flex-start; gap: 12px; }
.gw-loc .gw-loc-cities__tip-text { font-size: 15px; line-height: 1.6; color: #424242; }
.gw-loc .gw-loc-cities__tip-text strong { font-weight: 700; }

.gw-loc .gw-loc-cities__list { flex: 1 1 0; min-width: 0; background: #FFFFFF; border: 1px solid #DDDDDD; border-radius: 20px; overflow: hidden; }
.gw-loc .gw-loc-cities__item + .gw-loc-cities__item { border-top: 1px solid #DDDDDD; }
.gw-loc .gw-loc-cities__link { display: flex; align-items: center; gap: 16px; padding: 16px 22px; color: #424242; text-decoration: none; transition: background-color .2s; }
.gw-loc .gw-loc-cities__link:hover { background: rgba(240, 240, 240, 0.5); color: #424242; }
.gw-loc .gw-loc-cities__link .gw-loc__iconhex { flex-basis: 34px; width: 34px; height: 39px; }
.gw-loc .gw-loc-cities__link .gw-loc__icon { width: 16px; height: 16px; }
.gw-loc .gw-loc-cities__name { flex: 0 0 160px; font-size: 17px; line-height: 1.3; font-weight: 700; color: #424242; }
.gw-loc .gw-loc-cities__teaser { flex: 1 1 0; min-width: 0; font-size: 15px; line-height: 1.5; color: #5f5f5f; }
.gw-loc .gw-loc-cities__chev { color: #6e5092; }
.gw-loc .gw-loc-cities__chev .gw-loc__icon { width: 18px; height: 18px; stroke-width: 2.5; }

/* =========================================================================
   What a [Country] IP unlocks (bento)
   ====================================================================== */
.gw-loc .gw-loc-unlocks__bento { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: auto auto; gap: 16px; }
.gw-loc .gw-loc-unlocks__tile { display: flex; flex-direction: column; gap: 10px; padding: 24px; background: #FFFFFF; border: 1px solid #DDDDDD; border-radius: 20px; }
.gw-loc .gw-loc-unlocks__tile--streaming { grid-row: span 2; padding: 28px; gap: 14px; background: #6e5092; border-color: #6e5092; color: #FFFFFF; }
.gw-loc .gw-loc-unlocks__tile--news { grid-column: span 2; flex-direction: row; align-items: center; gap: 20px; }
.gw-loc .gw-loc-unlocks__body { display: flex; flex: 1 1 auto; flex-direction: column; gap: 8px; }
.gw-loc .gw-loc-unlocks__tile--streaming .gw-loc-unlocks__body { gap: 14px; }
.gw-loc .gw-loc-unlocks__title { margin: 0; font-family: inherit; text-transform: none; font-size: 19px; line-height: 1.3; font-weight: 700; color: #424242; }
.gw-loc .gw-loc-unlocks__tile--streaming .gw-loc-unlocks__title { font-size: 26px; line-height: 1.2; color: #FFFFFF; }
.gw-loc .gw-loc-unlocks__text { font-size: 15px; line-height: 1.6; color: #5f5f5f; }
.gw-loc .gw-loc-unlocks__tile--streaming .gw-loc-unlocks__text { font-size: 16px; color: #FFFFFF; }
.gw-loc .gw-loc-unlocks__link { margin-top: auto; color: #FFFFFF; font-size: 15px; line-height: 1.4; font-weight: 600; text-decoration: none; }
.gw-loc .gw-loc-unlocks__link:hover { color: #FFFFFF; text-decoration: underline; }
.gw-loc .gw-loc-unlocks__link:focus-visible { outline-color: #FFFFFF !important; }

/* =========================================================================
   Channels
   ====================================================================== */
.gw-loc .gw-loc-channels__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.gw-loc .gw-loc-channels__item { display: flex; }
.gw-loc .gw-loc-channels__card { display: flex; flex: 1 1 auto; align-items: center; gap: 14px; padding: 18px; background: rgba(240, 240, 240, 0.5); border: 1px solid #DDDDDD; border-radius: 16px; color: #424242; text-decoration: none; transition: border-color .2s; }
.gw-loc .gw-loc-channels__card:hover { border-color: #6e5092; color: #424242; }
.gw-loc .gw-loc-channels__logo { display: flex; flex: 0 0 52px; width: 52px; height: 52px; align-items: center; justify-content: center; overflow: hidden; background: #FFFFFF; border: 1px solid #DDDDDD; border-radius: 12px; }
.gw-loc .gw-loc-channels__logo-img { display: block; width: 100%; height: 100%; max-width: none; margin: 0; object-fit: contain; padding: 6px; border: 0; border-radius: 0; }
.gw-loc .gw-loc-channels__meta { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: 4px; }
.gw-loc .gw-loc-channels__name { display: block; font-size: 17px; line-height: 1.3; font-weight: 700; color: #424242; }
.gw-loc .gw-loc-channels__badge { display: inline-block; padding: 2px 8px; border-radius: 999px; background: #F0F0F0; color: #424242; font-size: 12px; line-height: 1.4; font-weight: 600; }
.gw-loc .gw-loc-channels__badge--free { background: #EEE9F3; color: #6e5092; }
.gw-loc .gw-loc-channels__more { display: flex; flex: 1 1 auto; min-height: 90px; align-items: center; justify-content: center; padding: 18px; background: #FFFFFF; border: 1px dashed #b9a6cf; border-radius: 16px; color: #6e5092; font-size: 15px; line-height: 1.4; font-weight: 600; text-decoration: none; transition: border-color .2s, color .2s; }
.gw-loc .gw-loc-channels__more:hover { border-color: #424242; color: #424242; }

/* =========================================================================
   How to get a [Country] IP
   ====================================================================== */
.gw-loc .gw-loc-howto__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.gw-loc .gw-loc-howto__step { display: flex; flex-direction: column; gap: 12px; padding: 24px; background: #FFFFFF; border: 1px solid #DDDDDD; border-radius: 20px; }
.gw-loc .gw-loc-howto__title { margin: 0; font-family: inherit; text-transform: none; font-size: 20px; line-height: 1.3; font-weight: 700; color: #424242; }
.gw-loc .gw-loc-howto__text { font-size: 15px; line-height: 1.6; color: #5f5f5f; }
.gw-loc .gw-loc-howto__visual { margin-top: auto; padding: 14px; background: rgba(240, 240, 240, 0.5); border-radius: 14px; }
.gw-loc .gw-loc-howto__visual--platforms { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.gw-loc .gw-loc-howto__platform { display: flex; height: 40px; align-items: center; justify-content: center; background: #FFFFFF; border: 1px solid #DDDDDD; border-radius: 10px; font-size: 11px; line-height: 1.4; font-weight: 600; color: #424242; }
.gw-loc .gw-loc-howto__visual--search { display: flex; flex-direction: column; gap: 8px; }
.gw-loc .gw-loc-howto__search { display: flex; height: 36px; align-items: center; gap: 8px; padding: 0 12px; background: #FFFFFF; border: 1px solid #DDDDDD; border-radius: 9px; font-size: 13px; line-height: 1.4; color: #424242; }
.gw-loc .gw-loc-howto__search .gw-loc__icon { width: 13px; height: 13px; color: #5f5f5f; }
.gw-loc .gw-loc-howto__result { display: flex; min-height: 40px; align-items: center; gap: 10px; padding: 6px 12px; background: #FFFFFF; border: 2px solid #6e5092; border-radius: 9px; }
.gw-loc .gw-loc-howto__result-text { font-size: 13px; line-height: 1.4; font-weight: 700; color: #424242; }
.gw-loc .gw-loc-howto__visual--status { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.gw-loc .gw-loc-howto__ip { display: flex; flex-direction: column; gap: 2px; }
.gw-loc .gw-loc-howto__ip-label { display: block; font-size: 11px; line-height: 1.4; font-weight: 600; color: #5f5f5f; }
.gw-loc .gw-loc-howto__ip-value { display: block; font-size: 14px; line-height: 1.3; font-weight: 700; color: #424242; }
.gw-loc .gw-loc-howto__connected { display: inline-flex; flex: 0 0 auto; height: 34px; align-items: center; gap: 6px; padding: 0 14px; background: #6e5092; border-radius: 9px; color: #FFFFFF; font-size: 13px; line-height: 1.4; font-weight: 600; }
.gw-loc .gw-loc-howto__dot { width: 8px; height: 8px; border-radius: 4px; background: #FFFFFF; }

/* =========================================================================
   What you get on every server
   ====================================================================== */
.gw-loc .gw-loc-every__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.gw-loc .gw-loc-every__item { display: flex; }
.gw-loc .gw-loc-every__tile { display: flex; flex: 1 1 auto; flex-direction: column; gap: 10px; padding: 22px; background: #FFFFFF; border: 1px solid #DDDDDD; border-radius: 16px; color: #424242; text-decoration: none; transition: border-color .2s; }
.gw-loc .gw-loc-every__tile--link:hover { border-color: #6e5092; color: #424242; }
.gw-loc .gw-loc-every__title { display: block; font-size: 17px; line-height: 1.3; font-weight: 700; color: #424242; }
.gw-loc .gw-loc-every__text { display: block; font-size: 14px; line-height: 1.6; color: #5f5f5f; }

/* =========================================================================
   Other locations
   ====================================================================== */
.gw-loc .gw-loc-other__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.gw-loc .gw-loc-other__item { display: flex; }
.gw-loc .gw-loc-other__card { display: flex; flex: 1 1 auto; align-items: center; gap: 14px; padding: 16px 18px; background: #FFFFFF; border: 1px solid #DDDDDD; border-radius: 16px; color: #424242; text-decoration: none; transition: border-color .2s; }
.gw-loc .gw-loc-other__card:hover { border-color: #6e5092; color: #424242; }
.gw-loc .gw-loc-other__name { flex: 1 1 auto; min-width: 0; font-size: 16px; line-height: 1.3; font-weight: 700; color: #424242; }
.gw-loc .gw-loc-other__arrow { color: #6e5092; font-weight: 700; line-height: 1.4; }
.gw-loc .gw-loc-other__all { display: flex; flex: 1 1 auto; min-height: 76px; align-items: center; justify-content: center; padding: 16px 18px; background: #6e5092; border: 1px solid #6e5092; border-radius: 16px; color: #FFFFFF; font-size: 16px; line-height: 1.3; font-weight: 700; text-decoration: none; transition: background-color .2s, border-color .2s; }
.gw-loc .gw-loc-other__all:hover { background: #424242; border-color: #424242; color: #FFFFFF; }

/* =========================================================================
   Why pick [City]
   ====================================================================== */
.gw-loc .gw-loc-why__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.gw-loc .gw-loc-why__tile { display: flex; flex-direction: column; gap: 12px; padding: 28px; background: #FFFFFF; border: 1px solid #DDDDDD; border-radius: 20px; }
.gw-loc .gw-loc-why__tile--main { background: #6e5092; border-color: #6e5092; }
.gw-loc .gw-loc-why__title { margin: 0; font-family: inherit; text-transform: none; font-size: 20px; line-height: 1.3; font-weight: 700; color: #424242; }
.gw-loc .gw-loc-why__text { font-size: 15px; line-height: 1.6; color: #5f5f5f; }
.gw-loc .gw-loc-why__tile--main .gw-loc-why__title,
.gw-loc .gw-loc-why__tile--main .gw-loc-why__text { color: #FFFFFF; }
.gw-loc .gw-loc-why__tip { margin-top: 28px; font-size: 15px; line-height: 1.6; color: #5f5f5f; text-align: center; }
.gw-loc .gw-loc-why__tip strong { color: #424242; font-weight: 700; }

/* =========================================================================
   Other cities (city)
   ====================================================================== */
.gw-loc .gw-loc-siblings__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 28px; }
.gw-loc .gw-loc-siblings__item { display: flex; }
.gw-loc .gw-loc-siblings__card { display: flex; flex: 1 1 auto; align-items: center; gap: 14px; padding: 16px 18px; background: #FFFFFF; border: 1px solid #DDDDDD; border-radius: 16px; color: #424242; text-decoration: none; transition: border-color .2s, background-color .2s; }
.gw-loc .gw-loc-siblings__card:hover { border-color: #6e5092; color: #424242; }
.gw-loc .gw-loc-siblings__card .gw-loc__iconhex { flex-basis: 34px; width: 34px; height: 39px; }
.gw-loc .gw-loc-siblings__card .gw-loc__icon { width: 16px; height: 16px; }
.gw-loc .gw-loc-siblings__meta { display: flex; flex: 1 1 auto; min-width: 0; flex-direction: column; gap: 2px; }
.gw-loc .gw-loc-siblings__name { display: block; font-size: 16px; line-height: 1.3; font-weight: 700; color: #424242; }
.gw-loc .gw-loc-siblings__sub { display: block; font-size: 13px; line-height: 1.4; color: #5f5f5f; }
.gw-loc .gw-loc-siblings__arrow { color: #6e5092; font-weight: 700; line-height: 1.4; }
.gw-loc .gw-loc-siblings__card--country { background: #6e5092; border-color: #6e5092; }
.gw-loc .gw-loc-siblings__card--country:hover { background: #424242; border-color: #424242; }
.gw-loc .gw-loc-siblings__card--country .gw-loc-siblings__name,
.gw-loc .gw-loc-siblings__card--country .gw-loc-siblings__sub,
.gw-loc .gw-loc-siblings__card--country .gw-loc-siblings__arrow { color: #FFFFFF; }
.gw-loc .gw-loc-siblings__card--country .gw-loc__flaghex--sm { width: 36px; height: 41px; }
.gw-loc .gw-loc-siblings__card--country .gw-loc__flaghex--sm .gw-loc__hex-in { width: 32px; height: 37px; }

/* =========================================================================
   CTA band
   ====================================================================== */
.gw-loc .gw-loc-cta__band { display: flex; align-items: center; gap: 44px; padding: 48px 52px; background: #6e5092; border-radius: 24px; }
.gw-loc .gw-loc-cta__text { display: flex; flex: 1 1 0; min-width: 0; flex-direction: column; gap: 14px; }
.gw-loc .gw-loc-cta__title { color: #FFFFFF; }
.gw-loc .gw-loc-cta__lead { font-size: 17px; line-height: 1.6; color: #FFFFFF; }
.gw-loc .gw-loc-cta__text .gw-loc__btns { margin-top: 6px; }
.gw-loc .gw-loc-cta__facts { display: flex; flex: 0 0 280px; flex-direction: column; gap: 10px; }
.gw-loc .gw-loc-cta__fact { display: flex; flex-direction: column; gap: 2px; padding: 12px 16px; background: rgba(255, 255, 255, 0.12); border-radius: 14px; }
.gw-loc .gw-loc-cta__fact-title { display: block; font-size: 15px; line-height: 1.3; font-weight: 700; color: #FFFFFF; }
.gw-loc .gw-loc-cta__fact-text { display: block; font-size: 13px; line-height: 1.4; color: #FFFFFF; opacity: 0.88; }

/* =========================================================================
   FAQ (site standard)
   ====================================================================== */
.gw-loc .gw-loc-faq__grid { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 40px 56px; }
.gw-loc .gw-loc-faq__side { display: flex; flex: 1 1 320px; flex-direction: column; gap: 14px; }
.gw-loc .gw-loc-faq__support { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; margin-top: 10px; padding: 24px; background: rgba(240, 240, 240, 0.5); border: 1px solid #DDDDDD; border-radius: 20px; }
.gw-loc .gw-loc-faq__support-title { margin: 0; font-family: inherit; text-transform: none; font-size: 18px; line-height: 1.3; font-weight: 700; color: #424242; }
.gw-loc .gw-loc-faq__support-text { font-size: 15px; line-height: 1.6; color: #5f5f5f; }
.gw-loc .gw-loc-faq__support-link { color: #6e5092; font-size: 15px; line-height: 1.4; font-weight: 600; text-decoration: none; transition: color .2s; }
.gw-loc .gw-loc-faq__support-link:hover { color: #424242; }

.gw-loc .gw-loc-faq__list { display: flex; flex: 2 1 560px; min-width: 0; flex-direction: column; gap: 10px; }
.gw-loc .gw-loc-faq__item { background: #FFFFFF; border: 1px solid #DDDDDD; border-radius: 16px; overflow: hidden; transition: border-color .2s; }
.gw-loc .gw-loc-faq__item.is-open { border: 2px solid #6e5092; }
.gw-loc .gw-loc-faq__q { margin: 0; padding: 0; font-family: inherit; text-transform: none; font-size: 17px; line-height: 1.4; font-weight: 600; }
.gw-loc .gw-loc-faq__btn { display: flex; width: 100%; min-height: 60px; align-items: center; justify-content: space-between; gap: 16px; margin: 0; padding: 16px 20px; background: transparent; border: 0; border-radius: 0; box-shadow: none; color: #424242; font-family: inherit; font-size: 17px; line-height: 1.4; font-weight: 600; text-align: left; text-transform: none; letter-spacing: normal; cursor: pointer; }
.gw-loc .gw-loc-faq__btn:hover,
.gw-loc .gw-loc-faq__btn:focus { background: transparent; color: #424242; }
.gw-loc .gw-loc-faq__item.is-open .gw-loc-faq__btn { padding: 15px 19px; }
.gw-loc .gw-loc-faq__q-text { flex: 1 1 auto; font-size: 17px; line-height: 1.4; color: #424242; }
.gw-loc .gw-loc-faq__chev { flex: 0 0 20px; width: 20px; height: 20px; color: #6e5092; transition: transform .2s; }
.gw-loc .gw-loc-faq__item.is-open .gw-loc-faq__chev { transform: rotate(180deg); }
.gw-loc .gw-loc-faq__a { padding: 0 20px 18px; font-size: 16px; line-height: 1.7; color: #424242; }
.gw-loc .gw-loc-faq__item.is-open .gw-loc-faq__a { padding: 0 19px 17px; }
.gw-loc .gw-loc-faq__a p { margin: 0; font-size: 16px; line-height: 1.7; color: #424242; }
.gw-loc .gw-loc-faq__a p + p { margin-top: 12px; }
.gw-loc .gw-loc-faq__a a { color: #6e5092; font-size: 16px; line-height: 1.7; text-decoration: underline; transition: color .2s; }
.gw-loc .gw-loc-faq__a a:hover { color: #424242; }
/* Collapsed answers only once JS runs; without JS every answer stays visible. */
.gw-loc.gw-loc-faq.is-js .gw-loc-faq__item:not(.is-open) .gw-loc-faq__a { display: none; }

/* =========================================================================
   Responsive
   ====================================================================== */
@media (max-width: 1100px) {
	.gw-loc .gw-loc-hero__art { display: none; }
	.gw-loc .gw-loc-channels__grid,
	.gw-loc .gw-loc-every__grid,
	.gw-loc .gw-loc-other__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gw-loc .gw-loc-cities__grid { flex-direction: column; gap: 32px; }
	.gw-loc .gw-loc-cities__intro { flex-basis: auto; }
	.gw-loc .gw-loc-cities__list { width: 100%; flex-basis: auto; }
	.gw-loc .gw-loc-cta__band { flex-wrap: wrap; }
	.gw-loc .gw-loc-cta__facts { flex: 1 1 100%; flex-direction: row; flex-wrap: wrap; }
	.gw-loc .gw-loc-cta__fact { flex: 1 1 200px; }
}

@media (max-width: 900px) {
	.gw-loc .gw-loc-unlocks__bento { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gw-loc .gw-loc-unlocks__tile--streaming { grid-row: auto; grid-column: span 2; }
	.gw-loc .gw-loc-howto__steps,
	.gw-loc .gw-loc-why__grid { grid-template-columns: minmax(0, 1fr); }
	.gw-loc .gw-loc-siblings__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
	.gw-loc { padding: 40px 0; }
	.gw-loc.gw-loc-hero { padding: 48px 0 40px; }
	.gw-loc .gw-loc__wrap { padding: 0 20px; }
	.gw-loc .gw-loc__title--h2 { font-size: 30px; }
	.gw-loc .gw-loc__head { margin-bottom: 24px; }
	.gw-loc .gw-loc__head--row { flex-direction: column; align-items: flex-start; }
	.gw-loc .gw-loc__btn { flex: 1 1 100%; }

	.gw-loc .gw-loc-hero__intro { font-size: 17px; }

	.gw-loc .gw-loc-cities__link { flex-wrap: wrap; gap: 4px 14px; padding: 14px 18px; }
	.gw-loc .gw-loc-cities__name { flex: 1 1 auto; }
	.gw-loc .gw-loc-cities__teaser { order: 4; flex: 1 1 100%; padding-left: 48px; font-size: 14px; }

	.gw-loc .gw-loc-unlocks__bento { grid-template-columns: minmax(0, 1fr); }
	.gw-loc .gw-loc-unlocks__tile--streaming,
	.gw-loc .gw-loc-unlocks__tile--news { grid-column: auto; }
	.gw-loc .gw-loc-unlocks__tile--news { flex-direction: column; align-items: flex-start; gap: 10px; }
	.gw-loc .gw-loc-unlocks__tile--streaming .gw-loc-unlocks__title { font-size: 22px; }

	.gw-loc .gw-loc-channels__grid,
	.gw-loc .gw-loc-other__grid,
	.gw-loc .gw-loc-siblings__grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.gw-loc .gw-loc-every__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.gw-loc .gw-loc-every__tile { padding: 16px; gap: 8px; }
	.gw-loc .gw-loc-every__title { font-size: 15px; }
	.gw-loc .gw-loc-every__text { font-size: 13px; line-height: 1.5; }

	.gw-loc .gw-loc-cta__band { flex-direction: column; align-items: flex-start; gap: 24px; padding: 32px 24px; border-radius: 20px; }
	.gw-loc .gw-loc__flaghex--xl { width: 96px; height: 110px; }
	.gw-loc .gw-loc__flaghex--xl .gw-loc__hex-in { width: 86px; height: 99px; }
	.gw-loc .gw-loc-cta__facts { flex-direction: column; width: 100%; }
	.gw-loc .gw-loc-cta__fact { flex: 1 1 auto; }

	.gw-loc .gw-loc-faq__q,
	.gw-loc .gw-loc-faq__btn,
	.gw-loc .gw-loc-faq__q-text { font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
	.gw-loc *,
	.gw-loc *::before,
	.gw-loc *::after { transition: none !important; }
}