/* Interactive adventure globe – Pimp Your Life */
.adventure-map {
  position: relative;
  padding-top: clamp(92px, 10vw, 150px);
  padding-bottom: clamp(88px, 10vw, 150px);
  overflow: hidden;
  isolation: isolate;
}
.adventure-map::before,
.adventure-map::after {
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:-1;
  border-radius:50%;
  filter: blur(20px);
}
.adventure-map::before {
  width: min(760px,70vw); height:min(760px,70vw);
  left:-18%; top:18%;
  background: radial-gradient(circle, color-mix(in srgb, var(--accent) 18%, transparent), transparent 68%);
  opacity:.56;
}
.adventure-map::after {
  width: min(620px,60vw); height:min(620px,60vw);
  right:-20%; top:0;
  background: radial-gradient(circle, rgba(59,205,255,.10), transparent 70%);
}
.adventure-map__heading {
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(310px,.8fr);
  gap:clamp(34px,7vw,110px);
  align-items:end;
  margin-bottom:clamp(40px,6vw,78px);
}
.adventure-map__heading h2 {
  margin:.22em 0 0;
  max-width:820px;
  font-size:clamp(3rem,6.4vw,7.3rem);
  line-height:.86;
  letter-spacing:-.065em;
}
.adventure-map__heading h2 em { color:var(--accent); font-style:normal; }
.adventure-map__intro { max-width:560px; justify-self:end; }
.adventure-map__intro > p { margin:0; color:var(--muted); font-size:clamp(1rem,1.2vw,1.16rem); line-height:1.75; }
.adventure-map__stats { display:flex; flex-wrap:wrap; gap:10px; margin-top:25px; }
.adventure-map__stats span { display:flex; align-items:baseline; gap:7px; padding:10px 13px; border:1px solid color-mix(in srgb,var(--accent) 23%,#26364a); border-radius:999px; color:#aabbd0; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; background:rgba(5,14,29,.55); }
.adventure-map__stats b { color:var(--accent); font-size:1rem; }

.adventure-explorer {
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(340px,.78fr);
  gap:18px;
  align-items:stretch;
}
.adventure-explorer__visual,
.adventure-detail {
  border:1px solid rgba(126,184,209,.18);
  background:linear-gradient(145deg,rgba(5,15,30,.92),rgba(3,10,22,.74));
  box-shadow:0 32px 100px rgba(0,0,0,.28);
}
.adventure-explorer__visual { position:relative; min-height:700px; border-radius:36px; padding:20px; overflow:hidden; }
.adventure-explorer__visual::before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 45% 42%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 46%); }

.adventure-map-toolbar { position:relative; z-index:12; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.adventure-map-toolbar__modes { display:inline-flex; padding:4px; border:1px solid rgba(125,183,209,.22); border-radius:999px; background:rgba(1,8,20,.72); backdrop-filter:blur(18px); }
.adventure-map-toolbar button { border:0; color:#9aaec3; font:inherit; cursor:pointer; transition:.25s ease; }
.adventure-map-toolbar__modes button { min-width:78px; padding:10px 15px; border-radius:999px; background:transparent; font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.adventure-map-toolbar__modes button.is-active { color:#031019; background:var(--accent); box-shadow:0 0 24px color-mix(in srgb,var(--accent) 32%,transparent); }
.adventure-map-toolbar__reset { display:flex; align-items:center; gap:8px; padding:10px 14px; border:1px solid rgba(125,183,209,.2)!important; border-radius:999px; background:rgba(1,8,20,.7); }
.adventure-map-toolbar__reset:hover { color:var(--accent); border-color:color-mix(in srgb,var(--accent) 45%,transparent)!important; }

.adventure-globe { --globe-size:min(650px,58vw); position:absolute; left:50%; top:51%; width:var(--globe-size); height:var(--globe-size); transform:translate(-50%,-50%); border-radius:50%; overflow:hidden; color:var(--accent); background:radial-gradient(circle at 34% 28%,rgba(40,122,151,.24),rgba(4,14,30,.97) 48%,#020813 79%); border:1px solid color-mix(in srgb,var(--accent) 32%,#183049); box-shadow:inset -44px -38px 80px rgba(0,0,0,.62),inset 22px 22px 70px rgba(50,194,227,.07),0 0 0 12px rgba(4,17,33,.42),0 0 100px color-mix(in srgb,var(--accent) 14%,transparent); transition:width .65s cubic-bezier(.2,.7,.2,1),height .65s cubic-bezier(.2,.7,.2,1),border-radius .65s ease; }
.adventure-globe[data-mode="flat"] { width:calc(100% - 40px); height:calc(100% - 160px); top:49%; border-radius:28px; --globe-size:auto; }
.adventure-globe__atmosphere { position:absolute; inset:-6px; z-index:7; border-radius:inherit; pointer-events:none; box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 34%,transparent),inset 0 0 56px rgba(99,222,255,.08); }
.adventure-globe__world { position:absolute; inset:0; z-index:2; transform-origin:0 0; transition:transform .86s cubic-bezier(.2,.72,.18,1); will-change:transform; }
.adventure-globe__continents { width:100%; height:100%; display:block; filter:drop-shadow(0 0 14px color-mix(in srgb,var(--accent) 12%,transparent)); opacity:.92; }
.adventure-globe__pins { position:absolute; inset:0; }
.adventure-globe__shine { position:absolute; inset:0; z-index:6; pointer-events:none; border-radius:inherit; background:radial-gradient(circle at 26% 18%,rgba(255,255,255,.12),transparent 28%),linear-gradient(115deg,transparent 32%,rgba(255,255,255,.02) 46%,transparent 60%); }
.adventure-globe__scan { position:absolute; z-index:8; left:0; right:0; top:-8%; height:2px; background:linear-gradient(90deg,transparent,var(--accent),transparent); opacity:.26; box-shadow:0 0 16px var(--accent); animation:adventure-scan 7s linear infinite; pointer-events:none; }
@keyframes adventure-scan { to { transform:translateY(700px); } }
.adventure-globe__orbit { position:absolute; z-index:0; left:50%; top:50%; width:112%; height:38%; border:1px solid color-mix(in srgb,var(--accent) 18%,transparent); border-radius:50%; transform:translate(-50%,-50%) rotate(-13deg); pointer-events:none; opacity:.58; }
.adventure-globe__orbit--two { width:46%; height:112%; transform:translate(-50%,-50%) rotate(21deg); opacity:.25; }
.adventure-globe[data-mode="flat"] .adventure-globe__orbit { display:none; }

.adventure-pin { --x:var(--pin-x); --y:var(--pin-y); position:absolute; left:var(--x); top:var(--y); z-index:5; width:22px; height:22px; padding:0; transform:translate(-50%,-50%); border:0; background:transparent; cursor:pointer; color:#eef9ff; }
.adventure-pin__dot { position:absolute; inset:3px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.84); border-radius:50%; background:color-mix(in srgb,var(--accent) 78%,#071322); box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 12%,transparent),0 0 18px color-mix(in srgb,var(--accent) 38%,transparent); transition:.22s ease; }
.adventure-pin__dot b { display:none; font-size:9px; }
.adventure-pin__pulse { position:absolute; inset:-4px; border:1px solid var(--accent); border-radius:50%; opacity:.35; animation:adventure-pulse 2.8s ease-out infinite; }
@keyframes adventure-pulse { 0%{transform:scale(.55);opacity:.5} 70%,100%{transform:scale(1.8);opacity:0} }
.adventure-pin__label { position:absolute; left:50%; bottom:30px; display:none; min-width:max-content; padding:8px 10px; transform:translateX(-50%); border:1px solid rgba(113,204,226,.24); border-radius:10px; background:rgba(3,11,24,.92); box-shadow:0 12px 35px rgba(0,0,0,.34); text-align:left; pointer-events:none; }
.adventure-pin__label strong,.adventure-pin__label small { display:block; white-space:nowrap; }
.adventure-pin__label strong { font-size:.72rem; letter-spacing:.02em; }
.adventure-pin__label small { margin-top:2px; color:#8fa5ba; font-size:.56rem; }
.adventure-pin:hover,.adventure-pin:focus-visible,.adventure-pin.is-active { z-index:15; }
.adventure-pin:hover .adventure-pin__label,.adventure-pin:focus-visible .adventure-pin__label,.adventure-pin.is-active .adventure-pin__label,.adventure-pin.is-featured .adventure-pin__label { display:block; }
.adventure-pin:hover .adventure-pin__dot,.adventure-pin.is-active .adventure-pin__dot { transform:scale(1.45); background:#fff; border-color:var(--accent); box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 30%,transparent),0 0 28px var(--accent); }
.adventure-pin.is-active .adventure-pin__dot b { display:block; }
.adventure-pin.is-active .adventure-pin__label { color:var(--accent); border-color:color-mix(in srgb,var(--accent) 54%,transparent); }
.adventure-globe.is-focused .adventure-pin:not(.is-active) .adventure-pin__label { display:none; }

.adventure-featured { position:absolute; z-index:12; left:20px; right:20px; bottom:20px; display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.adventure-featured button { display:grid; grid-template-columns:auto 1fr; column-gap:9px; align-items:center; min-width:0; padding:11px 12px; border:1px solid rgba(118,178,205,.16); border-radius:16px; color:#dfeaf4; background:rgba(2,10,22,.78); backdrop-filter:blur(18px); text-align:left; cursor:pointer; transition:.24s ease; }
.adventure-featured button:hover,.adventure-featured button.is-active { border-color:color-mix(in srgb,var(--accent) 44%,transparent); background:color-mix(in srgb,var(--accent) 8%,rgba(2,10,22,.88)); transform:translateY(-2px); }
.adventure-featured button > span { grid-row:1/3; font-size:1.25rem; }
.adventure-featured strong { overflow:hidden; text-overflow:ellipsis; font-size:.78rem; }
.adventure-featured small { overflow:hidden; text-overflow:ellipsis; color:#7f97ad; font-size:.62rem; white-space:nowrap; }

.adventure-detail { position:relative; border-radius:36px; padding:clamp(24px,3.2vw,38px); overflow:hidden; }
.adventure-detail::after { content:""; position:absolute; width:260px; height:260px; right:-120px; top:-110px; border-radius:50%; background:radial-gradient(circle,color-mix(in srgb,var(--accent) 17%,transparent),transparent 68%); pointer-events:none; }
.adventure-detail__topline { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:18px; border-bottom:1px solid rgba(125,183,209,.16); }
.adventure-detail__topline > span { font-size:2rem; }
.adventure-detail__topline > div { display:flex; align-items:center; gap:12px; }
.adventure-detail__topline small { color:#8ca2b7; font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; }
.adventure-detail__topline strong { color:var(--accent); font-size:.72rem; letter-spacing:.08em; }
.adventure-detail__title { display:flex; align-items:start; justify-content:space-between; gap:18px; margin-top:28px; }
.adventure-detail__title h3 { margin:.16em 0 0; max-width:470px; font-size:clamp(2rem,3.3vw,3.4rem); line-height:.95; letter-spacing:-.045em; }
.adventure-detail__open { display:grid; place-items:center; flex:0 0 48px; width:48px; height:48px; border:1px solid color-mix(in srgb,var(--accent) 30%,transparent); border-radius:50%; color:var(--accent); font-size:1.2rem; text-decoration:none; transition:.25s ease; }
.adventure-detail__open:hover { transform:rotate(45deg); background:var(--accent); color:#04111b; }
.adventure-detail__description { margin:20px 0 24px; color:#a9bbcc; line-height:1.7; }
.adventure-detail__gallery { display:grid; grid-template-columns:1.45fr .8fr; grid-template-rows:repeat(2,112px); gap:7px; }
.adventure-detail__gallery a { overflow:hidden; border-radius:14px; background:#071422; }
.adventure-detail__gallery a.is-main { grid-row:1/3; }
.adventure-detail__gallery img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease,filter .5s ease; }
.adventure-detail__gallery a:hover img { transform:scale(1.05); filter:saturate(1.1); }
.adventure-detail__highlights { display:flex; flex-wrap:wrap; gap:7px; margin:18px 0 28px; }
.adventure-detail__highlights span { padding:7px 9px; border:1px solid rgba(117,181,207,.18); border-radius:999px; color:#a9bdcf; font-size:.64rem; text-transform:uppercase; letter-spacing:.06em; }
.adventure-detail__courses { margin-top:auto; }
.adventure-detail__section-title { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:10px; padding-top:18px; border-top:1px solid rgba(125,183,209,.16); }
.adventure-detail__section-title span { font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.adventure-detail__section-title a { color:var(--accent); font-size:.68rem; text-decoration:none; }
.adventure-detail__course-list { display:grid; gap:7px; }
.adventure-course { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 13px; border:1px solid rgba(123,183,207,.13); border-radius:13px; color:inherit; text-decoration:none; background:rgba(9,24,39,.58); transition:.2s ease; }
.adventure-course:hover { border-color:color-mix(in srgb,var(--accent) 38%,transparent); transform:translateX(3px); }
.adventure-course span { min-width:0; }
.adventure-course small,.adventure-course strong { display:block; }
.adventure-course small { margin-bottom:3px; color:#7892a8; font-size:.59rem; }
.adventure-course strong { overflow:hidden; color:#e9f2f7; font-size:.74rem; text-overflow:ellipsis; white-space:nowrap; }
.adventure-course > b { flex:0 0 auto; color:var(--accent); font-size:.62rem; }
.adventure-detail__course-loading,.adventure-detail__empty { min-height:58px; display:flex; align-items:center; justify-content:center; gap:9px; padding:12px; border:1px dashed rgba(124,184,210,.18); border-radius:13px; color:#7f96aa; font-size:.7rem; text-align:center; }
.adventure-detail__course-loading i { width:8px; height:8px; border-radius:50%; background:var(--accent); box-shadow:0 0 12px var(--accent); animation:adventure-blink 1s ease-in-out infinite alternate; }
@keyframes adventure-blink { to { opacity:.2; transform:scale(.7); } }
.adventure-detail__empty { flex-direction:column; }
.adventure-detail__empty a { color:var(--accent); text-decoration:none; }

.adventure-location-index { display:flex; gap:8px; margin-top:16px; padding:8px 2px 8px; overflow-x:auto; scrollbar-width:thin; scrollbar-color:color-mix(in srgb,var(--accent) 35%,transparent) transparent; }
.adventure-location-index button { display:flex; align-items:center; gap:7px; flex:0 0 auto; padding:9px 11px; border:1px solid rgba(120,180,204,.16); border-radius:999px; color:#8fa5b9; background:rgba(4,13,27,.68); cursor:pointer; transition:.2s ease; }
.adventure-location-index button:hover,.adventure-location-index button.is-active { color:#ecf8fb; border-color:color-mix(in srgb,var(--accent) 45%,transparent); background:color-mix(in srgb,var(--accent) 7%,rgba(4,13,27,.85)); }
.adventure-location-index button span { font-size:.9rem; }
.adventure-location-index button b { color:var(--accent); font-size:.57rem; }
.adventure-location-index button strong { font-size:.68rem; }

@media (max-width:1120px) {
  .adventure-explorer { grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr); }
  .adventure-explorer__visual { min-height:620px; }
  .adventure-globe { --globe-size:min(570px,61vw); }
  .adventure-pin.is-featured .adventure-pin__label { display:none; }
  .adventure-pin.is-active .adventure-pin__label { display:block; }
  .adventure-featured { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:860px) {
  .adventure-map { padding-top:72px; }
  .adventure-map__heading { grid-template-columns:1fr; gap:22px; }
  .adventure-map__intro { justify-self:start; }
  .adventure-map__heading h2 { font-size:clamp(3rem,14vw,5.4rem); }
  .adventure-explorer { grid-template-columns:1fr; }
  .adventure-explorer__visual { min-height:610px; border-radius:28px; padding:14px; }
  .adventure-globe { --globe-size:min(540px,88vw); top:48%; }
  .adventure-globe[data-mode="flat"] { width:calc(100% - 28px); height:430px; top:46%; }
  .adventure-featured { left:14px; right:14px; bottom:14px; }
  .adventure-detail { border-radius:28px; }
}

@media (max-width:580px) {
  .adventure-map { padding-left:14px!important; padding-right:14px!important; }
  .adventure-map__heading h2 { font-size:clamp(2.8rem,16vw,4.6rem); }
  .adventure-map__intro > p { line-height:1.62; }
  .adventure-map__stats { gap:6px; }
  .adventure-map__stats span { padding:8px 10px; font-size:.6rem; }
  .adventure-explorer__visual { min-height:530px; }
  .adventure-map-toolbar__modes button { min-width:66px; padding:9px 11px; font-size:.66rem; }
  .adventure-map-toolbar__reset { font-size:.68rem; }
  .adventure-globe { --globe-size:min(445px,92vw); top:46%; }
  .adventure-globe[data-mode="flat"] { height:350px; }
  .adventure-pin { width:18px; height:18px; }
  .adventure-pin__label { bottom:25px; padding:6px 8px; }
  .adventure-pin__label strong { font-size:.64rem; }
  .adventure-featured { grid-template-columns:repeat(4,1fr); gap:5px; }
  .adventure-featured button { display:flex; flex-direction:column; justify-content:center; gap:2px; padding:8px 4px; text-align:center; }
  .adventure-featured button > span { font-size:1rem; }
  .adventure-featured strong { font-size:.61rem; max-width:100%; }
  .adventure-featured small { display:none; }
  .adventure-detail { padding:22px 18px; }
  .adventure-detail__title h3 { font-size:clamp(2rem,11vw,3rem); }
  .adventure-detail__gallery { grid-template-rows:repeat(2,88px); }
  .adventure-detail__description { font-size:.92rem; }
  .adventure-course { align-items:flex-start; flex-direction:column; }
}

@media (prefers-reduced-motion:reduce) {
  .adventure-globe__world,.adventure-globe,.adventure-pin__dot,.adventure-featured button { transition:none!important; }
  .adventure-globe__scan,.adventure-pin__pulse,.adventure-detail__course-loading i { animation:none!important; }
}


/* Real OpenStreetMap – regular map version */
.adventure-map-toolbar__badge {
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:9px 13px;
  border:1px solid rgba(125,183,209,.22);
  border-radius:999px;
  color:#dce9f3;
  background:rgba(1,8,20,.78);
  backdrop-filter:blur(18px);
  box-shadow:0 12px 30px rgba(0,0,0,.15);
}
.adventure-map-toolbar__badge > span { color:var(--accent); font-size:1rem; }
.adventure-map-toolbar__badge strong { font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }
.adventure-map-toolbar__badge small { color:#7891a7; font-size:.6rem; }

.adventure-real-map {
  position:absolute;
  z-index:2;
  left:20px;
  right:20px;
  top:78px;
  bottom:94px;
  min-height:420px;
  overflow:hidden;
  border:1px solid rgba(125,183,209,.2);
  border-radius:28px;
  background:#dfe7ea;
  box-shadow:0 26px 60px rgba(0,0,0,.22), inset 0 0 0 1px rgba(255,255,255,.08);
}
.adventure-real-map::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:500;
  pointer-events:none;
  border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08), inset 0 0 52px rgba(2,11,22,.15);
}
.adventure-real-map .leaflet-control-zoom {
  overflow:hidden;
  margin:16px 0 0 16px;
  border:1px solid rgba(8,31,47,.2)!important;
  border-radius:14px;
  box-shadow:0 8px 26px rgba(0,0,0,.16);
}
.adventure-real-map .leaflet-control-zoom a {
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border:0!important;
  color:#071422;
  background:rgba(255,255,255,.94);
  font:700 20px/1 system-ui,sans-serif;
}
.adventure-real-map .leaflet-control-zoom a:hover { background:#fff; color:#000; }
.adventure-real-map .leaflet-control-attribution {
  margin:0 8px 7px 0!important;
  padding:3px 6px!important;
  border-radius:7px 0 0 0;
  color:#50616c;
  background:rgba(255,255,255,.82)!important;
  font-size:9px;
}
.adventure-real-map .leaflet-control-attribution a { color:#203e50; }

.adventure-map-marker { background:transparent!important; border:0!important; }
.adventure-map-marker__dot {
  position:absolute;
  left:50%;
  top:50%;
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  transform:translate(-50%,-50%);
  border:2px solid rgba(255,255,255,.96);
  border-radius:50%;
  background:#071726;
  box-shadow:0 4px 15px rgba(0,0,0,.38),0 0 0 4px rgba(5,19,31,.18);
  font-size:.88rem;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.adventure-map-marker__pulse {
  position:absolute;
  left:50%;
  top:50%;
  width:40px;
  height:40px;
  transform:translate(-50%,-50%);
  border:1px solid color-mix(in srgb,var(--accent) 75%,white);
  border-radius:50%;
  opacity:0;
  animation:real-map-pulse 2.2s ease-out infinite;
}
.adventure-map-marker__label {
  position:absolute;
  left:50%;
  bottom:24px;
  display:none;
  min-width:max-content;
  transform:translateX(-50%);
  padding:6px 8px;
  border:1px solid rgba(8,35,51,.18);
  border-radius:10px;
  background:rgba(255,255,255,.95);
  box-shadow:0 8px 22px rgba(0,0,0,.18);
  color:#071422;
  text-align:center;
}
.adventure-map-marker__label strong,.adventure-map-marker__label small { display:block; white-space:nowrap; }
.adventure-map-marker__label strong { font-size:.67rem; }
.adventure-map-marker__label small { margin-top:1px; color:#667985; font-size:.52rem; }
.adventure-map-marker:hover .adventure-map-marker__label,.adventure-map-marker.is-active .adventure-map-marker__label { display:block; }
.adventure-map-marker:hover .adventure-map-marker__dot,.adventure-map-marker.is-active .adventure-map-marker__dot {
  transform:translate(-50%,-50%) scale(1.2);
  background:#fff;
  box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 35%,transparent),0 8px 22px rgba(0,0,0,.32);
}
.adventure-map-marker.is-active .adventure-map-marker__label { border-color:color-mix(in srgb,var(--accent) 58%,transparent); color:#04111b; }
@keyframes real-map-pulse { 0% { transform:translate(-50%,-50%) scale(.55); opacity:.68; } 100% { transform:translate(-50%,-50%) scale(1.55); opacity:0; } }

.adventure-real-map__error {
  position:absolute;
  inset:0;
  display:grid;
  place-content:center;
  gap:6px;
  padding:30px;
  color:#425463;
  text-align:center;
}
.adventure-real-map__error strong { color:#132532; }

@media (max-width:860px) {
  .adventure-real-map { left:14px; right:14px; top:70px; bottom:116px; min-height:0; border-radius:22px; }
  .adventure-map-toolbar__badge small { display:none; }
}
@media (max-width:580px) {
  .adventure-map-toolbar__badge { padding:8px 10px; }
  .adventure-map-toolbar__badge strong { font-size:.61rem; }
  .adventure-real-map { top:66px; bottom:106px; border-radius:18px; }
  .adventure-real-map .leaflet-control-zoom { margin:10px 0 0 10px; }
  .adventure-real-map .leaflet-control-zoom a { width:32px; height:32px; }
  .adventure-map-marker__label { bottom:22px; }
}
@media (prefers-reduced-motion:reduce) {
  .adventure-map-marker__pulse { animation:none!important; }
  .adventure-map-marker__dot { transition:none!important; }
}

/* ==========================================================================\n   Adventure map V3 — immersive wide layout\n   ========================================================================== */

/* The base .section is intentionally narrow on the rest of the site. The map
   deserves a cinematic canvas, so only this section escapes that constraint. */
.locations-page .adventure-map.section {
  width:min(1580px, calc(100% - 48px));
  max-width:none;
  margin-inline:auto;
  padding-inline:0;
}

.adventure-map {
  padding-top:clamp(84px,8vw,128px);
  padding-bottom:clamp(90px,8vw,132px);
}

.adventure-map__heading {
  grid-template-columns:minmax(0,1.25fr) minmax(340px,.62fr);
  gap:clamp(42px,7vw,120px);
  margin-bottom:34px;
  padding-inline:clamp(2px,1vw,16px);
}

.adventure-map__heading h2 {
  max-width:930px;
  font-size:clamp(4.15rem,6.6vw,7.8rem);
  line-height:.84;
}

.adventure-map__intro {
  max-width:500px;
  padding-bottom:8px;
}

.adventure-map__intro > p {
  font-size:clamp(.98rem,1.08vw,1.12rem);
  line-height:1.72;
}

.adventure-map__stats {
  margin-top:20px;
}

.adventure-map__stats span {
  padding:9px 12px;
  background:rgba(5,14,29,.72);
  box-shadow:inset 0 1px rgba(255,255,255,.025);
}

.adventure-map__navigation {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  margin:0 0 14px;
  padding:10px 12px 10px 14px;
  border:1px solid rgba(126,184,209,.15);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(8,20,34,.78),rgba(4,13,26,.64));
  box-shadow:0 18px 45px rgba(0,0,0,.16),inset 0 1px rgba(255,255,255,.025);
  backdrop-filter:blur(18px);
}

.adventure-region-tabs {
  display:flex;
  align-items:center;
  gap:5px;
  min-width:0;
  overflow-x:auto;
  scrollbar-width:none;
}
.adventure-region-tabs::-webkit-scrollbar { display:none; }
.adventure-region-tabs button {
  flex:0 0 auto;
  padding:10px 14px;
  border:1px solid transparent;
  border-radius:999px;
  color:#8fa6b9;
  background:transparent;
  font:800 .68rem/1 var(--font-ui,inherit);
  letter-spacing:.055em;
  text-transform:uppercase;
  cursor:pointer;
  transition:.22s ease;
}
.adventure-region-tabs button:hover {
  color:#edf8fb;
  background:rgba(255,255,255,.035);
}
.adventure-region-tabs button.is-active {
  color:#06121c;
  border-color:color-mix(in srgb,var(--accent) 66%,white 8%);
  background:var(--accent);
  box-shadow:0 0 28px color-mix(in srgb,var(--accent) 22%,transparent);
}

.adventure-map__hint {
  display:flex;
  align-items:center;
  gap:9px;
  flex:0 0 auto;
  margin:0;
  color:#7f96a9;
  font-size:.71rem;
}
.adventure-map__hint span {
  padding:5px 7px;
  border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);
  border-radius:999px;
  color:var(--accent);
  font-size:.55rem;
  font-weight:900;
  letter-spacing:.1em;
}

.adventure-explorer {
  grid-template-columns:minmax(0,1.78fr) minmax(390px,.72fr);
  gap:14px;
  min-height:760px;
}

.adventure-explorer__visual,
.adventure-detail {
  border-color:rgba(126,184,209,.17);
  box-shadow:0 38px 100px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.028);
}

.adventure-explorer__visual {
  min-height:760px;
  padding:0;
  border-radius:30px;
  background:#05101d;
}

.adventure-explorer__visual::before {
  z-index:4;
  background:
    linear-gradient(180deg,rgba(2,10,20,.55),transparent 22%,transparent 72%,rgba(2,9,19,.75)),
    radial-gradient(circle at 72% 18%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 34%);
}

.adventure-map-toolbar {
  position:absolute;
  z-index:750;
  top:18px;
  left:18px;
  right:18px;
  pointer-events:none;
}
.adventure-map-toolbar > * { pointer-events:auto; }

.adventure-map-toolbar__badge,
.adventure-map-toolbar__reset {
  min-height:44px;
  background:rgba(3,12,23,.84)!important;
  border-color:rgba(157,201,218,.2)!important;
  box-shadow:0 14px 38px rgba(0,0,0,.28);
  backdrop-filter:blur(20px) saturate(1.2);
}

.adventure-map-toolbar__badge {
  padding:10px 14px;
}
.adventure-map-toolbar__badge strong { font-size:.68rem; }
.adventure-map-toolbar__badge small { color:#7690a5; }

.adventure-real-map {
  position:absolute;
  inset:0;
  min-height:0;
  border:0;
  border-radius:inherit;
  background:#061321;
  box-shadow:none;
}
.adventure-real-map::after {
  z-index:450;
  border-radius:inherit;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.035),
    inset 0 0 90px rgba(1,8,16,.42);
}

/* Keep a real geographic map, but integrate the standard OSM tiles into the
   dark Pimp Your Life visual language. Labels/roads remain readable. */
.adventure-real-map .leaflet-tile-pane {
  filter:grayscale(.56) sepia(.14) saturate(.72) hue-rotate(154deg) brightness(.57) contrast(1.24);
}
.adventure-real-map .leaflet-overlay-pane,
.adventure-real-map .leaflet-marker-pane,
.adventure-real-map .leaflet-shadow-pane,
.adventure-real-map .leaflet-tooltip-pane,
.adventure-real-map .leaflet-popup-pane { filter:none; }

.adventure-real-map .leaflet-control-zoom {
  margin:76px 0 0 18px;
  border-color:rgba(177,213,226,.17)!important;
  background:rgba(3,12,23,.88);
}
.adventure-real-map .leaflet-control-zoom a {
  color:#dfeef4;
  background:rgba(3,12,23,.92);
}
.adventure-real-map .leaflet-control-zoom a:hover {
  color:#06121c;
  background:var(--accent);
}
.adventure-real-map .leaflet-control-attribution {
  margin:0 12px 10px 0!important;
  color:#7f929e;
  background:rgba(3,12,23,.72)!important;
}
.adventure-real-map .leaflet-control-attribution a { color:#a9c4d0; }

.adventure-featured {
  z-index:720;
  left:18px;
  right:18px;
  bottom:18px;
  gap:8px;
}
.adventure-featured button {
  min-height:66px;
  padding:12px 13px;
  border-color:rgba(151,196,214,.16);
  border-radius:17px;
  background:rgba(3,12,23,.82);
  box-shadow:0 12px 30px rgba(0,0,0,.24);
  backdrop-filter:blur(18px) saturate(1.15);
}
.adventure-featured button:hover,
.adventure-featured button.is-active {
  border-color:color-mix(in srgb,var(--accent) 58%,transparent);
  background:color-mix(in srgb,var(--accent) 11%,rgba(3,12,23,.93));
  box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 10%,transparent),0 14px 34px rgba(0,0,0,.27);
}
.adventure-featured strong { font-size:.82rem; }
.adventure-featured small { font-size:.61rem; }

.adventure-map-marker__dot {
  width:30px;
  height:30px;
  border:2px solid rgba(237,249,252,.92);
  background:#061522;
  box-shadow:0 5px 16px rgba(0,0,0,.55),0 0 0 5px rgba(2,10,19,.25);
}
.adventure-map-marker__label {
  bottom:27px;
  padding:7px 9px;
  border-color:rgba(184,216,228,.18);
  color:#eaf7fb;
  background:rgba(3,12,23,.93);
}
.adventure-map-marker__label small { color:#829caf; }
.adventure-map-marker.is-active .adventure-map-marker__dot {
  color:#04111b;
  background:var(--accent);
  border-color:#fff;
  box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 24%,transparent),0 8px 24px rgba(0,0,0,.42);
}
.adventure-map-marker.is-active .adventure-map-marker__label {
  color:#fff;
  background:rgba(3,12,23,.97);
}

.adventure-detail {
  display:flex;
  flex-direction:column;
  min-height:760px;
  padding:30px;
  border-radius:30px;
  background:
    radial-gradient(circle at 110% -10%,color-mix(in srgb,var(--accent) 17%,transparent),transparent 33%),
    linear-gradient(155deg,rgba(6,18,34,.97),rgba(3,11,23,.9));
}
.adventure-detail__topline { padding-bottom:16px; }
.adventure-detail__topline > span { font-size:2.35rem; }
.adventure-detail__title { margin-top:22px; }
.adventure-detail__title h3 {
  max-width:430px;
  font-size:clamp(2.45rem,3vw,3.75rem);
  line-height:.92;
}
.adventure-detail__description {
  margin:16px 0 20px;
  font-size:.94rem;
  line-height:1.66;
}
.adventure-detail__gallery {
  grid-template-rows:repeat(2,116px);
  gap:8px;
}
.adventure-detail__gallery a { border-radius:16px; }
.adventure-detail__highlights { margin:16px 0 22px; }
.adventure-detail__courses { margin-top:auto; }
.adventure-course { padding:11px 12px; }

.adventure-index-heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:28px;
  margin:48px 4px 14px;
  padding-top:30px;
  border-top:1px solid rgba(126,184,209,.14);
}
.adventure-index-heading > div { display:grid; gap:4px; }
.adventure-index-heading span {
  color:var(--accent);
  font-size:.64rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.adventure-index-heading strong {
  font-size:clamp(1.25rem,1.55vw,1.65rem);
  letter-spacing:-.025em;
}
.adventure-index-heading small {
  max-width:430px;
  color:#7f96aa;
  font-size:.78rem;
  line-height:1.6;
  text-align:right;
}

.adventure-location-index {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
  margin-top:0;
  padding:0;
  overflow:visible;
}
.adventure-location-index button {
  min-width:0;
  min-height:52px;
  padding:10px 11px;
  border-radius:15px;
  background:linear-gradient(180deg,rgba(7,20,35,.7),rgba(4,13,26,.66));
}
.adventure-location-index button span { font-size:1.05rem; }
.adventure-location-index button strong {
  overflow:hidden;
  font-size:.7rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.adventure-location-index button.is-active {
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 14%,transparent),0 10px 25px rgba(0,0,0,.12);
}

@media (max-width:1320px) {
  .locations-page .adventure-map.section { width:min(1240px,calc(100% - 36px)); }
  .adventure-explorer { grid-template-columns:minmax(0,1.55fr) minmax(360px,.72fr); min-height:700px; }
  .adventure-explorer__visual,.adventure-detail { min-height:700px; }
  .adventure-detail { padding:26px; }
  .adventure-location-index { grid-template-columns:repeat(5,minmax(0,1fr)); }
}

@media (max-width:1060px) {
  .adventure-map__heading { grid-template-columns:1fr; gap:20px; }
  .adventure-map__intro { justify-self:start; max-width:720px; }
  .adventure-map__heading h2 { font-size:clamp(3.8rem,9vw,6.7rem); }
  .adventure-map__navigation { align-items:flex-start; flex-direction:column; gap:9px; }
  .adventure-map__hint { padding-left:4px; }
  .adventure-explorer { grid-template-columns:1fr; min-height:0; }
  .adventure-explorer__visual { min-height:650px; }
  .adventure-detail { min-height:0; }
  .adventure-detail__gallery { grid-template-rows:repeat(2,150px); }
  .adventure-location-index { grid-template-columns:repeat(4,minmax(0,1fr)); }
}

@media (max-width:720px) {
  .locations-page .adventure-map.section { width:calc(100% - 24px); }
  .adventure-map { padding-top:68px; padding-bottom:88px; }
  .adventure-map__heading { margin-bottom:26px; }
  .adventure-map__heading h2 { font-size:clamp(3.15rem,15vw,5rem); line-height:.88; }
  .adventure-map__intro > p { font-size:.94rem; }
  .adventure-map__navigation { margin-bottom:10px; padding:8px; border-radius:18px; }
  .adventure-region-tabs { width:100%; }
  .adventure-region-tabs button { padding:9px 12px; font-size:.61rem; }
  .adventure-map__hint { display:none; }
  .adventure-explorer__visual { min-height:560px; border-radius:24px; }
  .adventure-map-toolbar { top:12px; left:12px; right:12px; }
  .adventure-map-toolbar__badge { max-width:64%; }
  .adventure-map-toolbar__badge small { display:none; }
  .adventure-map-toolbar__badge strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .adventure-real-map .leaflet-control-zoom { margin:70px 0 0 12px; }
  .adventure-featured { left:12px; right:12px; bottom:12px; grid-template-columns:repeat(2,1fr); }
  .adventure-featured button { min-height:56px; padding:9px 10px; }
  .adventure-featured button > span { font-size:1rem; }
  .adventure-featured strong { font-size:.69rem; }
  .adventure-detail { padding:23px 18px; border-radius:24px; }
  .adventure-detail__title h3 { font-size:clamp(2.3rem,12vw,3.4rem); }
  .adventure-detail__gallery { grid-template-rows:repeat(2,104px); }
  .adventure-index-heading { align-items:flex-start; flex-direction:column; gap:8px; margin-top:34px; }
  .adventure-index-heading small { text-align:left; }
  .adventure-location-index { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:430px) {
  .locations-page .adventure-map.section { width:calc(100% - 18px); }
  .adventure-map__stats span:nth-child(3) { display:none; }
  .adventure-explorer__visual { min-height:520px; }
  .adventure-map-toolbar__badge { min-height:40px; padding:8px 10px; }
  .adventure-map-toolbar__reset { min-height:40px; padding:8px 11px; font-size:.64rem; }
  .adventure-featured { grid-template-columns:repeat(2,1fr); gap:6px; }
  .adventure-featured small { display:none; }
  .adventure-detail__gallery { grid-template-rows:repeat(2,92px); }
  .adventure-location-index button { min-height:48px; }
}

/* ==========================================================================
   Locations page — cinematic video background
   ========================================================================== */
.locations-page {
  position:relative;
  min-height:100%;
  background:#030912 !important;
}
.locations-page > .locations-background-video {
  position:fixed;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
  background:#030912;
}
.locations-background-video video {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  opacity:.34;
  filter:saturate(.88) contrast(1.08) brightness(.62);
  transform:none;
}
.locations-background-video__veil {
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(3,9,18,.5) 0%,rgba(3,9,18,.73) 34%,rgba(3,9,18,.88) 100%),
    radial-gradient(circle at 74% 18%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 38%),
    radial-gradient(circle at 12% 62%,rgba(2,20,34,.28),transparent 42%);
}
.locations-page > .site-header,
.locations-page > main,
.locations-page > .footer {
  position:relative;
  z-index:1;
}
.locations-page .adventure-map::before,
.locations-page .adventure-map::after {
  opacity:.28;
}
.locations-page .adventure-map__navigation,
.locations-page .adventure-explorer__visual,
.locations-page .adventure-detail,
.locations-page .adventure-location-index button {
  backdrop-filter:blur(18px) saturate(1.08);
}
.locations-page .adventure-explorer__visual {
  background:rgba(5,16,29,.88);
}
.locations-page .adventure-detail {
  background:
    radial-gradient(circle at 110% -10%,color-mix(in srgb,var(--accent) 17%,transparent),transparent 33%),
    linear-gradient(155deg,rgba(6,18,34,.94),rgba(3,11,23,.86));
}

@media (max-width:720px) {
  .locations-background-video video {
    opacity:.26;
    object-position:58% center;
    filter:saturate(.82) contrast(1.08) brightness(.56);
  }
}

@media (prefers-reduced-motion:reduce) {
  .locations-background-video video { display:none; }
  .locations-background-video {
    background:linear-gradient(180deg,#06111d,#030912 65%);
  }
}


/* Lokace hero – kompaktní ovládací lišta hlavních destinací */
.locations-page .location-slider--local .location-slider__controls {
  right: auto;
  left: 50%;
  bottom: 34px;
  width: min(760px, calc(100% - 48px));
  grid-template-columns: 48px minmax(0, 1fr) 48px;
  gap: 10px;
  padding: 0;
  transform: translateX(-50%);
}

.locations-page .location-slider--local .location-slider__tabs--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 16px;
  background: rgba(3, 12, 21, 0.66);
  box-shadow: 0 16px 45px rgba(0, 0, 0, 0.26);
  backdrop-filter: blur(20px) saturate(1.15);
}

.locations-page .location-slider--local .location-slider__tabs--two button {
  position: relative;
  min-width: 0;
  min-height: 54px;
  justify-content: flex-start;
  gap: 11px;
  padding: 0 18px;
  border-right: 1px solid rgba(255, 255, 255, 0.09);
  color: rgba(226, 238, 244, 0.72);
  background: transparent;
}

.locations-page .location-slider--local .location-slider__tabs--two button:last-child {
  border-right: 0;
}

.locations-page .location-slider--local .location-slider__tabs--two button::after {
  position: absolute;
  right: 16px;
  bottom: 8px;
  left: 16px;
  height: 2px;
  content: "";
  border-radius: 99px;
  background: var(--accent, var(--cyan));
  opacity: 0;
  transform: scaleX(0.25);
  transition: opacity 220ms ease, transform 320ms ease;
}

.locations-page .location-slider--local .location-slider__tabs--two button.is-active {
  color: #fff;
  background: linear-gradient(100deg, color-mix(in srgb, var(--accent, var(--cyan)) 16%, transparent), rgba(255,255,255,.025));
}

.locations-page .location-slider--local .location-slider__tabs--two button.is-active::after {
  opacity: 0.85;
  transform: scaleX(1);
}

.locations-page .location-slider--local .location-slider__tabs--two span {
  flex: 0 0 auto;
  color: color-mix(in srgb, var(--accent, var(--cyan)) 82%, #fff 18%);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.locations-page .location-slider--local .location-slider__tabs--two strong {
  min-width: 0;
  overflow: hidden;
  font-size: 0.86rem;
  font-weight: 760;
  letter-spacing: 0.01em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.locations-page .location-slider--local .location-slider__arrow {
  width: 48px;
  height: 48px;
  border-color: rgba(255,255,255,.18);
  background: rgba(3, 12, 21, 0.66);
  box-shadow: 0 12px 34px rgba(0,0,0,.22);
  backdrop-filter: blur(18px);
}

.locations-page .location-slider--local .location-slider__arrow:hover {
  border-color: color-mix(in srgb, var(--accent, var(--cyan)) 56%, transparent);
  background: color-mix(in srgb, var(--accent, var(--cyan)) 12%, rgba(3, 12, 21, 0.82));
}

/* Progress už netvoří tenkou čáru přes celou obrazovku. */
.locations-page .location-slider--local .location-slider__progress {
  right: auto;
  bottom: 18px;
  left: 50%;
  width: min(520px, calc(100% - 160px));
  height: 2px;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(255,255,255,.08);
  transform: translateX(-50%);
}

.locations-page .location-slider--local .location-slider__progress span {
  border-radius: inherit;
  background: linear-gradient(90deg, color-mix(in srgb, var(--accent, var(--cyan)) 55%, transparent), var(--accent, var(--cyan)));
  box-shadow: 0 0 12px color-mix(in srgb, var(--accent, var(--cyan)) 48%, transparent);
}

@media (max-width: 760px) {
  .locations-page .location-slider--local .location-slider__controls {
    bottom: 24px;
    width: calc(100% - 24px);
    grid-template-columns: 42px minmax(0, 1fr) 42px;
    gap: 7px;
  }

  .locations-page .location-slider--local .location-slider__arrow {
    width: 42px;
    height: 42px;
  }

  .locations-page .location-slider--local .location-slider__tabs--two button {
    min-height: 48px;
    justify-content: center;
    gap: 6px;
    padding: 0 10px;
  }

  .locations-page .location-slider--local .location-slider__tabs--two span {
    display: inline;
    font-size: 0.55rem;
  }

  .locations-page .location-slider--local .location-slider__tabs--two strong {
    font-size: 0.72rem;
  }

  .locations-page .location-slider--local .location-slider__tabs--two button::after {
    right: 10px;
    bottom: 6px;
    left: 10px;
  }

  .locations-page .location-slider--local .location-slider__progress {
    bottom: 13px;
    width: min(310px, calc(100% - 120px));
  }
}

@media (max-width: 430px) {
  .locations-page .location-slider--local .location-slider__controls {
    grid-template-columns: 38px minmax(0, 1fr) 38px;
    gap: 5px;
  }

  .locations-page .location-slider--local .location-slider__arrow {
    width: 38px;
    height: 38px;
  }

  .locations-page .location-slider--local .location-slider__tabs--two button {
    min-height: 46px;
    padding: 0 7px;
  }

  .locations-page .location-slider--local .location-slider__tabs--two span {
    display: none;
  }

  .locations-page .location-slider--local .location-slider__tabs--two strong {
    font-size: 0.68rem;
  }
}

/* ==========================================================================
   LOKACE – HERO STEJNĚ JAKO STRÁNKA "O MNĚ"
   Background je přímo součástí hero sekce. Header je samostatná plovoucí
   tmavá lišta nad obrázkem – žádný řez, žádná mezera a žádný background
   přes zbytek stránky.
   ========================================================================== */

.locations-page {
  position: relative;
  min-height: 100vh;
  background:
    radial-gradient(circle at 12% 20%, rgba(17, 78, 92, .10), transparent 30rem),
    #030812 !important;
}

/* Zrušení starého full-page video backgroundu. */
.locations-page > .locations-background-video,
.locations-page .locations-background-video {
  display: none !important;
}

/* Header se chová přesně jako na O mně – fixed, plovoucí, vlastní tmavé sklo. */
.locations-page > .site-header.is-inner {
  position: fixed !important;
  top: 18px !important;
  left: 50% !important;
  z-index: 80 !important;
  width: var(--page) !important;
  transform: translateX(-50%) !important;
  background: color-mix(in srgb, var(--navy) 90%, transparent) !important;
  border: 1px solid rgba(255, 255, 255, 0.13) !important;
  box-shadow: 0 18px 55px rgba(0, 0, 0, 0.18) !important;
  backdrop-filter: blur(20px) saturate(1.15) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.15) !important;
}

/* Při scrollu stejné chování jako ostatní inner stránky. */
.locations-page.is-scrolled > .site-header.is-inner,
html.is-scrolled .locations-page > .site-header.is-inner,
body.is-scrolled.locations-page > .site-header.is-inner {
  top: 10px !important;
  background: rgba(2, 12, 24, .92) !important;
}

/*
 * Stejný princip jako .inner-hero--about:
 * background je přímo na hero sekci a začíná od její horní hrany.
 */
.locations-page .location-cinema--local {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 0 !important;
  background:
    linear-gradient(
      90deg,
      rgba(2, 9, 18, .98) 0%,
      rgba(2, 10, 20, .80) 31%,
      rgba(2, 12, 24, .48) 62%,
      rgba(2, 12, 24, .18) 100%
    ),
    url("/assets/hero-four-worlds.webp") center 38% / cover no-repeat !important;
}

/* Žádné další obrázky/video vrstvy uvnitř jednotlivých slidů. */
.locations-page .location-slide__media,
.locations-page .location-slide__media--bali,
.locations-page .location-slide__media--croatia,
.locations-page .location-local-video {
  display: none !important;
}

/* Slidy jsou jen obsah nad společným hero backgroundem. */
.locations-page .location-slider--local,
.locations-page .location-slide {
  background: transparent !important;
}

/* Lehký spodní fade, podobný .inner-hero::after na stránce O mně. */
.locations-page .location-cinema--local::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  height: 150px;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(3, 8, 18, 0) 0%,
    rgba(3, 8, 18, .48) 58%,
    #030812 100%
  );
}

/* Už nepotřebujeme další agresivní overlay přes celý slide. */
.locations-page .location-slide__veil {
  position: absolute;
  inset: 0;
  z-index: 0 !important;
  pointer-events: none;
  background:
    radial-gradient(circle at 75% 48%, rgba(1, 10, 18, 0) 0%, rgba(2, 9, 18, .05) 42%, rgba(2, 9, 18, .18) 100%) !important;
}

/* Obsah + dock musí být nad backgroundem i spodním fade. */
.locations-page .location-slider--local .location-slide__content {
  position: relative;
  z-index: 3;
  padding-top: 126px !important;
  padding-bottom: 150px !important;
}

.locations-page .location-slider--local .location-slider__controls {
  z-index: 10 !important;
}

.locations-page .location-slider--local .location-slider__progress {
  z-index: 11 !important;
}

/* Dock má vlastní pevný tmavý povrch – background pod ním už nic neobarvuje. */
.locations-page .location-slider--local .location-slider__tabs--two {
  background: linear-gradient(180deg, rgba(7, 18, 30, .98), rgba(5, 14, 24, .98)) !important;
  border-color: rgba(255, 255, 255, .14) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.locations-page .location-slider--local .location-slider__arrow {
  background: linear-gradient(180deg, rgba(7, 18, 30, .98), rgba(5, 14, 24, .98)) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Zbytek stránky má vlastní čisté tmavé pozadí – jako O mně pod hero. */
.locations-page main {
  background:
    radial-gradient(circle at 12% 24%, var(--ambient), transparent 32rem),
    linear-gradient(180deg, color-mix(in srgb, var(--navy) 96%, black), var(--navy)) !important;
}

.locations-page .adventure-map {
  background: transparent !important;
}

/* Hero se nesmí opticky oddělit od horního okraje / headeru. */
.locations-page .location-slider--local::before {
  content: none !important;
}

@media (max-width: 900px) {
  .locations-page > .site-header.is-inner {
    top: 12px !important;
  }

  .locations-page .location-cinema--local {
    background:
      linear-gradient(
        90deg,
        rgba(2, 9, 18, .96) 0%,
        rgba(2, 10, 20, .69) 45%,
        rgba(2, 12, 24, .28) 100%
      ),
      url("/assets/hero-four-worlds.webp") 58% 38% / cover no-repeat !important;
  }
}

@media (max-width: 620px) {
  .locations-page > .site-header.is-inner {
    top: 10px !important;
    width: calc(100vw - 24px) !important;
    background: rgba(2, 12, 24, .94) !important;
  }

  .locations-page .location-cinema--local {
    background:
      linear-gradient(
        180deg,
        rgba(2, 9, 18, .30) 0%,
        rgba(2, 9, 18, .48) 34%,
        rgba(2, 9, 18, .82) 75%,
        #030812 100%
      ),
      url("/assets/hero-four-worlds.webp") 61% 36% / cover no-repeat !important;
  }

  .locations-page .location-slider--local .location-slide__content {
    padding-top: 110px !important;
    padding-bottom: 158px !important;
  }

  .locations-page .location-cinema--local::after {
    height: 120px;
  }
}

/* ==========================================================================
   FINÁLNÍ OPRAVA PŘECHODU HERO -> MAPA
   Travel téma barvilo pozadí pod hero do hněda. Lokace mají vlastní navy
   základ stejně jako stránka O mně.
   ========================================================================== */

.locations-page {
  background: #030812 !important;
}

/* Header nesmí přebírat teplý / hnědý odstín travel tématu. */
.locations-page > .site-header.is-inner {
  background: rgba(3, 10, 20, .94) !important;
  border-color: rgba(116, 181, 201, .18) !important;
}

/* Hero končí přímo do stejné navy barvy, bez hnědého pásu. */
.locations-page .location-cinema--local {
  margin-bottom: 0 !important;
  border-bottom: 0 !important;
}

.locations-page .location-cinema--local::after {
  height: 170px !important;
  background: linear-gradient(
    180deg,
    rgba(3, 8, 18, 0) 0%,
    rgba(3, 8, 18, .34) 44%,
    rgba(3, 8, 18, .82) 78%,
    #030812 100%
  ) !important;
}

/* Celý obsah pod hero má pevný tmavě modrý základ.
   Nepoužíváme var(--navy), protože travel theme ho může tónovat do hněda. */
.locations-page main {
  background: #030812 !important;
}

.locations-page .adventure-map {
  position: relative;
  margin-top: 0 !important;
  background:
    radial-gradient(circle at 14% 12%, rgba(16, 75, 92, .14), transparent 34rem),
    linear-gradient(180deg, #030812 0%, #020a14 55%, #020812 100%) !important;
}

/* Pozadí sekce se roztáhne přes celý viewport, takže nevznikne boční ani
   horizontální barevný pás z body/theme backgroundu. */
.locations-page .adventure-map::before {
  content: "";
  position: absolute;
  z-index: -2;
  top: 0;
  bottom: 0;
  left: calc(50% - 50vw);
  width: 100vw;
  background:
    radial-gradient(circle at 14% 12%, rgba(16, 75, 92, .14), transparent 34rem),
    linear-gradient(180deg, #030812 0%, #020a14 55%, #020812 100%);
}

/* Pokud mezi hero a mapou vzniká prostor z padding/margin pravidel,
   bude mít stejnou navy barvu. */
.locations-page .location-cinema--local + .adventure-map {
  border-top: 0 !important;
}

/* Footer také drží stejný studený základ. */
.locations-page .footer {
  background: #020812 !important;
}

@media (max-width: 620px) {
  .locations-page > .site-header.is-inner {
    background: rgba(3, 10, 20, .96) !important;
  }

  .locations-page .location-cinema--local::after {
    height: 130px !important;
  }
}

/* ==========================================================================
   LOKACE 2026-08-18 — FINÁLNÍ DESKTOP / TABLET LAYOUT REFINEMENT
   Větší využití obrazovky, lepší rytmus sekcí a čitelnější mapa / index.
   ========================================================================== */

/* ----- společná šířka a vertikální rytmus ----- */
.locations-page {
  --locations-wide: min(1440px, calc(100vw - 64px));
  --locations-reading: min(1320px, calc(100vw - 72px));
}

.locations-page .location-slide__content,
.locations-page .location-slider__controls,
.locations-page .adventure-map.section,
.locations-page .course-cta.section {
  width: var(--locations-wide);
  max-width: none;
}

/* ----- HERO: méně prázdného prostoru, silnější kompozice ----- */
.locations-page .location-cinema--local {
  min-height: clamp(700px, 88svh, 850px) !important;
}

.locations-page .location-slider--local,
.locations-page .location-slide {
  min-height: inherit;
}

.locations-page .location-slider--local .location-slide__content {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(260px, .48fr);
  align-items: center;
  gap: clamp(52px, 7vw, 120px);
  min-height: inherit;
  padding-top: 118px !important;
  padding-bottom: 132px !important;
}

.locations-page .location-slide__copy {
  max-width: 760px;
  padding-left: clamp(4px, 1.2vw, 18px);
}

.locations-page .location-slide__number {
  margin-bottom: 18px;
  letter-spacing: .16em;
}

.locations-page .location-slide__copy h1 {
  margin: 0 0 18px;
  font-size: clamp(5.4rem, 8.25vw, 9.3rem);
  line-height: .86;
  letter-spacing: -.072em;
}

.locations-page .location-slide__lead {
  max-width: 680px;
  margin-bottom: 22px;
  font-size: clamp(1.08rem, 1.4vw, 1.32rem);
  line-height: 1.55;
}

.locations-page .location-slide__tags {
  gap: 9px;
  margin-bottom: 28px;
}

.locations-page .location-slide__actions {
  gap: 22px;
}

.locations-page .location-slide__facts {
  justify-self: end;
  width: min(100%, 300px);
  margin-right: clamp(8px, 2vw, 30px);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(13, 38, 48, .72), rgba(7, 21, 31, .70));
  box-shadow: 0 24px 70px rgba(0, 0, 0, .20);
  backdrop-filter: blur(18px) saturate(1.06);
}

.locations-page .location-slide__facts > div {
  min-height: 92px;
  padding: 19px 23px;
}

/* Dock je opticky součást hero, ale nesoutěží s hlavním CTA. */
.locations-page .location-slider--local .location-slider__controls {
  bottom: 28px;
  width: min(780px, calc(100% - 56px));
}

.locations-page .location-slider--local .location-slider__progress {
  bottom: 12px;
  width: min(460px, calc(100% - 190px));
}

/* ----- MAPA: anchor se už neschová pod fixed header ----- */
.locations-page #mapa-lokaci {
  scroll-margin-top: 92px;
}

.locations-page .adventure-map.section {
  width: var(--locations-wide);
  padding-top: clamp(90px, 8vw, 126px);
  padding-bottom: 92px;
}

/* Nadpis mapy už nepůsobí jako druhý full-screen hero. */
.locations-page .adventure-map__heading {
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, .68fr);
  gap: clamp(44px, 6vw, 100px);
  align-items: end;
  margin-bottom: 38px;
}

.locations-page .adventure-map__heading h2 {
  max-width: 840px;
  margin-top: 10px;
  font-size: clamp(4.2rem, 6.6vw, 7.4rem);
  line-height: .88;
  letter-spacing: -.065em;
}

.locations-page .adventure-map__intro {
  width: 100%;
  max-width: 540px;
  padding-bottom: 5px;
}

.locations-page .adventure-map__intro > p {
  font-size: 1rem;
  line-height: 1.68;
}

.locations-page .adventure-map__stats {
  gap: 8px;
  margin-top: 20px;
}

.locations-page .adventure-map__stats span {
  padding: 8px 11px;
  font-size: .66rem;
}

/* Regionální filtr – jasná navigační vrstva nad mapou. */
.locations-page .adventure-map__navigation {
  min-height: 60px;
  margin: 0 0 16px;
  padding: 8px 10px;
  border: 1px solid rgba(126, 184, 209, .14);
  border-radius: 19px;
  background: linear-gradient(180deg, rgba(7, 20, 34, .80), rgba(4, 13, 26, .74));
}

.locations-page .adventure-region-tabs {
  gap: 4px;
}

.locations-page .adventure-region-tabs button {
  min-height: 40px;
  padding: 0 16px;
  border-radius: 12px;
}

/* ----- hlavní explorer: mapa je dominantní, detail má rozumnou šířku ----- */
.locations-page .adventure-explorer {
  grid-template-columns: minmax(0, 1.72fr) minmax(350px, .64fr);
  gap: 16px;
  min-height: 660px;
}

.locations-page .adventure-explorer__visual,
.locations-page .adventure-detail {
  min-height: 660px;
  border-radius: 26px;
}

.locations-page .adventure-explorer__visual {
  box-shadow: 0 28px 80px rgba(0, 0, 0, .22);
}

.locations-page .adventure-real-map {
  min-height: 660px;
}

.locations-page .adventure-map-toolbar {
  top: 15px;
  right: 15px;
  left: 15px;
}

.locations-page .adventure-featured {
  right: 15px;
  bottom: 15px;
  left: 15px;
  gap: 8px;
}

.locations-page .adventure-featured button {
  min-height: 62px;
  border-radius: 15px;
}

.locations-page .adventure-detail {
  padding: 28px;
}

.locations-page .adventure-detail__topline {
  padding-bottom: 16px;
}

.locations-page .adventure-detail__title {
  margin-top: 22px;
}

.locations-page .adventure-detail__title h3 {
  font-size: clamp(2.75rem, 3.2vw, 4.1rem);
}

.locations-page .adventure-detail__description {
  margin: 14px 0 18px;
  font-size: .92rem;
  line-height: 1.62;
}

.locations-page .adventure-detail__gallery {
  grid-template-rows: repeat(2, 108px);
}

.locations-page .adventure-detail__highlights {
  margin: 15px 0 18px;
}

/* ----- přehled 24 míst: větší, čitelnější, méně "tabulkový" ----- */
.locations-page .adventure-index-heading {
  align-items: center;
  margin: 40px 0 16px;
  padding-top: 28px;
}

.locations-page .adventure-index-heading strong {
  font-size: clamp(1.35rem, 1.65vw, 1.78rem);
}

.locations-page .adventure-location-index {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.locations-page .adventure-location-index button {
  min-height: 60px;
  padding: 12px 15px;
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(8, 24, 39, .78), rgba(4, 14, 27, .76));
  transition: transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease;
}

.locations-page .adventure-location-index button:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--accent) 46%, rgba(126,184,209,.22));
  background:
    linear-gradient(180deg, rgba(10, 31, 47, .92), rgba(5, 17, 31, .88));
  box-shadow: 0 14px 34px rgba(0, 0, 0, .17);
}

.locations-page .adventure-location-index button span {
  font-size: 1.18rem;
}

.locations-page .adventure-location-index button strong {
  font-size: .76rem;
}

/* ----- CTA: blíž k přehledu a v jedné výrazné horizontální kompozici ----- */
.locations-page .course-cta.section {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(32px, 6vw, 92px);
  min-height: 245px;
  margin-top: 54px;
  margin-bottom: 92px;
  padding: clamp(34px, 4vw, 56px) clamp(34px, 5vw, 72px);
  overflow: hidden;
  border: 1px solid rgba(108, 184, 205, .17);
  border-radius: 30px;
  background:
    radial-gradient(circle at 8% 0%, rgba(42, 210, 222, .10), transparent 31rem),
    radial-gradient(circle at 92% 100%, color-mix(in srgb, var(--accent) 17%, transparent), transparent 29rem),
    linear-gradient(115deg, #071828 0%, #06111e 58%, #0b1620 100%) !important;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .22);
}

.locations-page .course-cta.section > div {
  max-width: 850px;
}

.locations-page .course-cta.section h2 {
  max-width: 820px;
  margin: 8px 0 12px;
  font-size: clamp(2.8rem, 4.8vw, 5.6rem);
  line-height: .92;
  letter-spacing: -.055em;
}

.locations-page .course-cta.section p:not(.eyebrow) {
  max-width: 660px;
  margin: 0;
  color: #91a6b8;
  line-height: 1.65;
}

.locations-page .course-cta.section .button {
  min-width: 190px;
  min-height: 58px;
  justify-content: center;
  white-space: nowrap;
}

/* ----- desktop mezi 1100–1400 ----- */
@media (max-width: 1380px) {
  .locations-page {
    --locations-wide: min(1280px, calc(100vw - 40px));
  }

  .locations-page .location-slide__content {
    grid-template-columns: minmax(0, 1.12fr) minmax(250px, .48fr);
    gap: 44px;
  }

  .locations-page .location-slide__copy h1 {
    font-size: clamp(5rem, 8vw, 7.9rem);
  }

  .locations-page .adventure-explorer {
    grid-template-columns: minmax(0, 1.58fr) minmax(340px, .7fr);
  }
}

/* ----- tablet / menší notebook ----- */
@media (max-width: 1080px) {
  .locations-page {
    --locations-wide: calc(100vw - 32px);
  }

  .locations-page .location-cinema--local {
    min-height: 760px !important;
  }

  .locations-page .location-slider--local .location-slide__content {
    grid-template-columns: minmax(0, 1fr) 250px;
    gap: 28px;
    padding-top: 112px !important;
  }

  .locations-page .location-slide__facts {
    margin-right: 0;
  }

  .locations-page .adventure-map__heading {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .locations-page .adventure-map__heading h2 {
    max-width: 900px;
    font-size: clamp(4rem, 9vw, 6.4rem);
  }

  .locations-page .adventure-map__intro {
    max-width: 760px;
  }

  .locations-page .adventure-explorer {
    grid-template-columns: 1fr;
  }

  .locations-page .adventure-explorer__visual,
  .locations-page .adventure-real-map {
    min-height: 620px;
  }

  .locations-page .adventure-detail {
    min-height: 0;
  }

  .locations-page .adventure-detail__gallery {
    grid-template-rows: repeat(2, 145px);
  }

  .locations-page .adventure-location-index {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .locations-page .course-cta.section {
    grid-template-columns: 1fr auto;
    min-height: 220px;
  }
}

/* ----- mobil ----- */
@media (max-width: 720px) {
  .locations-page {
    --locations-wide: calc(100vw - 24px);
  }

  .locations-page .location-cinema--local {
    min-height: 760px !important;
  }

  .locations-page .location-slider--local .location-slide__content {
    display: block;
    padding-top: 106px !important;
    padding-bottom: 150px !important;
  }

  .locations-page .location-slide__copy {
    max-width: 100%;
    padding-left: 0;
  }

  .locations-page .location-slide__copy h1 {
    font-size: clamp(4.3rem, 22vw, 6.25rem);
  }

  .locations-page .location-slide__lead {
    max-width: 94%;
    font-size: 1rem;
  }

  .locations-page .location-slide__facts {
    display: none;
  }

  .locations-page .adventure-map.section {
    padding-top: 72px;
    padding-bottom: 70px;
  }

  .locations-page .adventure-map__heading {
    margin-bottom: 26px;
  }

  .locations-page .adventure-map__heading h2 {
    font-size: clamp(3.2rem, 15vw, 4.8rem);
  }

  .locations-page .adventure-map__navigation {
    padding: 7px;
  }

  .locations-page .adventure-explorer__visual,
  .locations-page .adventure-real-map {
    min-height: 545px;
  }

  .locations-page .adventure-location-index {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .locations-page .adventure-location-index button {
    min-height: 56px;
    padding: 10px 12px;
  }

  .locations-page .course-cta.section {
    grid-template-columns: 1fr;
    gap: 24px;
    min-height: 0;
    margin-top: 38px;
    margin-bottom: 64px;
    padding: 30px 24px;
    border-radius: 24px;
  }

  .locations-page .course-cta.section h2 {
    font-size: clamp(2.55rem, 12vw, 4rem);
  }

  .locations-page .course-cta.section .button {
    width: 100%;
  }
}


/* ======================================================================
   LOKACE SALES REFRESH — 2026-08-18
   Více prodejní rozložení, vlaječky u destinací a silnější CTA ke kurzům.
   ====================================================================== */

.locations-page .adventure-map.section {
  position: relative;
}

.locations-page .adventure-map__heading h2 {
  max-width: 880px;
}

.locations-page .adventure-map__intro > p {
  max-width: 560px;
}

.locations-page .adventure-map__stats span:last-child b {
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .74em;
}

.locations-page .adventure-explorer {
  align-items: start;
}

.locations-page .adventure-explorer__visual {
  background:
    radial-gradient(circle at 0% 0%, rgba(44, 203, 219, .08), transparent 26rem),
    linear-gradient(180deg, rgba(5, 17, 31, .92), rgba(4, 13, 25, .88));
}

.locations-page .adventure-real-map {
  bottom: 108px;
  border-radius: 30px;
}

.locations-page .adventure-featured {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding-top: 36px;
}

.locations-page .adventure-featured__title {
  position: absolute;
  left: 0;
  top: 0;
  margin: 0;
  color: #7ea0ba;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.locations-page .adventure-featured button {
  min-height: 66px;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(9, 26, 40, .88), rgba(5, 16, 29, .82));
}

.locations-page .adventure-featured button strong {
  font-size: .8rem;
}

.locations-page .adventure-featured button small {
  font-size: .64rem;
}

.locations-page .adventure-detail {
  position: sticky;
  top: 94px;
  box-shadow: 0 28px 72px rgba(0, 0, 0, .16);
}

.locations-page .adventure-detail__description {
  max-width: 44ch;
}

.locations-page .adventure-detail__course-list {
  gap: 8px;
}

.locations-page .adventure-course {
  padding: 13px 14px;
  border-radius: 15px;
}

.locations-page .adventure-course strong {
  font-size: .78rem;
}

.locations-page .adventure-course > b {
  padding: 6px 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent) 14%, rgba(6, 18, 34, .8));
}

.locations-page .adventure-detail__booking {
  display: grid;
  gap: 16px;
  margin-top: 18px;
  padding: 18px 18px 20px;
  border: 1px solid rgba(125, 183, 209, .16);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 10rem),
    linear-gradient(180deg, rgba(9, 25, 40, .92), rgba(5, 15, 29, .88));
}

.locations-page .adventure-detail__booking small {
  display: block;
  margin-bottom: 6px;
  color: var(--accent);
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.locations-page .adventure-detail__booking strong {
  display: block;
  color: #eff8fc;
  font-size: .96rem;
  line-height: 1.45;
}

.locations-page .adventure-detail__booking .button {
  width: 100%;
  justify-content: center;
}

.locations-page .adventure-index-heading {
  align-items: center;
}

.locations-page .adventure-index-heading__aside {
  display: grid;
  justify-items: end;
  gap: 12px;
}

.locations-page .adventure-index-heading__aside .text-link {
  font-size: .76rem;
  font-weight: 700;
  color: var(--accent);
  text-decoration: none;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.locations-page .adventure-location-index button {
  position: relative;
  padding-left: 38px;
}

.locations-page .adventure-location-index button::before {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: .95rem;
  line-height: 1;
}

.locations-page .adventure-location-index button:nth-child(1)::before { content: "🇮🇩"; }
.locations-page .adventure-location-index button:nth-child(2)::before { content: "🇭🇷"; }
.locations-page .adventure-location-index button:nth-child(3)::before { content: "🇨🇿"; }
.locations-page .adventure-location-index button:nth-child(4)::before { content: "🇨🇿"; }
.locations-page .adventure-location-index button:nth-child(5)::before { content: "🇨🇿"; }
.locations-page .adventure-location-index button:nth-child(6)::before { content: "🇲🇹"; }
.locations-page .adventure-location-index button:nth-child(7)::before { content: "🇨🇿"; }
.locations-page .adventure-location-index button:nth-child(8)::before { content: "🇲🇹"; }
.locations-page .adventure-location-index button:nth-child(9)::before { content: "🇨🇾"; }
.locations-page .adventure-location-index button:nth-child(10)::before { content: "🇲🇻"; }
.locations-page .adventure-location-index button:nth-child(11)::before { content: "🇮🇹"; }
.locations-page .adventure-location-index button:nth-child(12)::before { content: "🇲🇽"; }
.locations-page .adventure-location-index button:nth-child(13)::before { content: "🇪🇬"; }
.locations-page .adventure-location-index button:nth-child(14)::before { content: "🇨🇭"; }
.locations-page .adventure-location-index button:nth-child(15)::before { content: "🇵🇭"; }
.locations-page .adventure-location-index button:nth-child(16)::before { content: "🇨🇿"; }
.locations-page .adventure-location-index button:nth-child(17)::before { content: "🇪🇸"; }
.locations-page .adventure-location-index button:nth-child(18)::before { content: "🇨🇿"; }
.locations-page .adventure-location-index button:nth-child(19)::before { content: "🇪🇬"; }
.locations-page .adventure-location-index button:nth-child(20)::before { content: "🇨🇿"; }
.locations-page .adventure-location-index button:nth-child(21)::before { content: "🇨🇿"; }
.locations-page .adventure-location-index button:nth-child(22)::before { content: "🇬🇷"; }
.locations-page .adventure-location-index button:nth-child(23)::before { content: "🇵🇱"; }
.locations-page .adventure-location-index button:nth-child(24)::before { content: "🇨🇿"; }

.locations-page .course-cta.section {
  gap: clamp(32px, 6vw, 96px);
}

@media (max-width: 1180px) {
  .locations-page .adventure-detail {
    position: relative;
    top: auto;
  }
}

@media (max-width: 720px) {
  .locations-page .adventure-featured {
    padding-top: 32px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .locations-page .adventure-featured__title {
    left: 2px;
  }

  .locations-page .adventure-index-heading__aside {
    justify-items: start;
  }

  .locations-page .adventure-detail__booking {
    padding: 16px;
  }
}

/* ==========================================================================
   LOKACE — SVG VLAJKY + VĚTŠÍ AKTUÁLNÍ KURZY
   ========================================================================== */

/* Windows/Chrome neumí spolehlivě vykreslit Unicode country flags.
   Používáme proto vlastní lokální SVG vlajky na všech zařízeních. */
.locations-page .adventure-location-index button::before {
  content: none !important;
  display: none !important;
}

.locations-page .adventure-location-index button {
  display: grid;
  grid-template-columns: 28px auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding-left: 13px !important;
}

.locations-page .adventure-location-index__flag,
.locations-page .adventure-featured__flag {
  display: inline-grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 5px;
  background: #fff;
  box-shadow: 0 5px 14px rgba(0,0,0,.18);
}

.locations-page .adventure-location-index__flag {
  width: 24px;
  height: 17px;
}

.locations-page .location-flag-image,
.locations-page .adventure-detail__flag-image,
.locations-page .adventure-map-marker__flag,
.locations-page .adventure-featured__flag img,
.locations-page .adventure-location-index__flag img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.locations-page .adventure-featured__flag {
  grid-row: 1 / 3;
  width: 25px;
  height: 18px;
}

.locations-page .adventure-detail__topline > span {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 27px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(0,0,0,.2);
  font-size: 0 !important;
}

.locations-page .adventure-map-marker__dot {
  overflow: hidden;
  padding: 0 !important;
  border: 2px solid rgba(255,255,255,.88);
  background: #06111d !important;
}

.locations-page .adventure-map-marker__flag {
  width: 100%;
  height: 100%;
  border-radius: 50%;
}

/* Pravý panel dostává o trochu více šířky, aby kurzy nebyly drobné. */
@media (min-width: 1181px) {
  .locations-page .adventure-explorer {
    grid-template-columns: minmax(0, 1.46fr) minmax(425px, .78fr);
  }
}

/* Aktuální termíny mají být jedna z hlavních prodejních částí detailu. */
.locations-page .adventure-detail__courses {
  margin-top: 22px;
  padding: 17px;
  border: 1px solid rgba(125,183,209,.15);
  border-radius: 20px;
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--accent) 11%, transparent), transparent 12rem),
    linear-gradient(180deg, rgba(8,24,39,.76), rgba(5,16,29,.68));
}

.locations-page .adventure-detail__section-title {
  margin-bottom: 13px;
  padding-top: 0;
  border-top: 0;
}

.locations-page .adventure-detail__section-title span {
  font-size: .82rem;
  letter-spacing: .11em;
}

.locations-page .adventure-detail__section-title a {
  padding-bottom: 2px;
  border-bottom: 1px solid color-mix(in srgb, var(--accent) 34%, transparent);
  font-size: .72rem;
  font-weight: 700;
}

.locations-page .adventure-detail__course-list {
  gap: 10px;
}

.locations-page .adventure-course {
  min-height: 72px;
  padding: 14px 15px !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, rgba(10,30,47,.94), rgba(6,20,35,.88));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}

.locations-page .adventure-course:hover {
  transform: translateY(-1px) translateX(2px);
  background: linear-gradient(180deg, rgba(12,35,53,.98), rgba(7,23,39,.94));
}

.locations-page .adventure-course small {
  margin-bottom: 5px;
  color: #8fa9bd;
  font-size: .68rem;
  line-height: 1.35;
}

.locations-page .adventure-course strong {
  max-width: 30ch;
  font-size: .9rem !important;
  line-height: 1.3;
}

.locations-page .adventure-course > b {
  padding: 7px 9px !important;
  font-size: .7rem !important;
  white-space: nowrap;
}

.locations-page .adventure-detail__empty,
.locations-page .adventure-detail__course-loading {
  min-height: 76px;
  font-size: .78rem;
}

@media (max-width: 720px) {
  .locations-page .adventure-location-index button {
    grid-template-columns: 25px auto minmax(0,1fr);
    gap: 7px;
    padding-left: 11px !important;
  }

  .locations-page .adventure-location-index__flag {
    width: 22px;
    height: 16px;
  }

  .locations-page .adventure-detail__courses {
    padding: 14px;
  }

  .locations-page .adventure-course {
    min-height: 68px;
  }
}


/* ===== Kam jedeme dál – stavy mapy ===== */
.adventure-map-legend{display:flex;flex-wrap:wrap;gap:.55rem 1rem;margin:.2rem 0 .9rem;color:#8fa6b5;font-size:.7rem}
.adventure-map-legend span{display:inline-flex;align-items:center;gap:.42rem}
.adventure-map-legend i{display:block;width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 3px rgba(255,255,255,.04)}
.adventure-map-legend .is-current-course{background:#64d893}
.adventure-map-legend .is-regular{background:#35e7f2}
.adventure-map-legend .is-archive{background:#73808a}
.adventure-map-legend .is-here{background:#fff;box-shadow:0 0 0 4px rgba(53,231,242,.24),0 0 18px rgba(53,231,242,.65)}

.adventure-map-marker .adventure-map-marker__dot{transition:background .25s ease,border-color .25s ease,box-shadow .25s ease}
.adventure-map-marker.is-current-course .adventure-map-marker__dot{border-color:#64d893!important;box-shadow:0 0 0 4px rgba(100,216,147,.12),0 8px 26px rgba(0,0,0,.35)}
.adventure-map-marker.is-regular .adventure-map-marker__dot{border-color:#35e7f2!important;box-shadow:0 0 0 4px rgba(53,231,242,.10),0 8px 26px rgba(0,0,0,.35)}
.adventure-map-marker.is-archive .adventure-map-marker__dot{filter:grayscale(.85);opacity:.72;border-color:#65727b!important}
.adventure-map-marker.is-here .adventure-map-marker__dot{border-color:#fff!important;box-shadow:0 0 0 5px rgba(53,231,242,.18),0 0 24px rgba(53,231,242,.65)}
.adventure-map-marker.is-here .adventure-map-marker__pulse{display:block!important;animation:adventure-here-pulse 1.8s ease-out infinite}
@keyframes adventure-here-pulse{0%{transform:scale(.65);opacity:.8}75%,100%{transform:scale(2.2);opacity:0}}

.adventure-detail__live{margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid rgba(126,184,209,.12)}
.adventure-detail__live-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:.8rem}
.adventure-live-card{display:grid;gap:.45rem;min-height:118px;padding:.9rem;border:1px solid rgba(126,184,209,.12);border-radius:15px;background:rgba(255,255,255,.025);text-decoration:none;color:#dceaf1}
.adventure-live-card small{color:#62e1e8;text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:.62rem}
.adventure-live-card strong{font-size:.92rem}
.adventure-live-card span{color:#8fa6b5;font-size:.76rem;line-height:1.5}
.adventure-live-card>a{display:flex;justify-content:space-between;gap:.5rem;padding:.35rem 0;color:#dceaf1;text-decoration:none;font-size:.76rem;border-bottom:1px solid rgba(255,255,255,.055)}
.adventure-live-card>a:last-child{border-bottom:0}
@media(max-width:640px){.adventure-detail__live-grid{grid-template-columns:1fr}}


/* =========================================================
   2026-08-24 — Bali / Vir video: bez zoomu, shake a Ken Burns
   Zachovává pouze jemný cross-fade mezi slidy.
   ========================================================= */
.locations-page .location-slide {
  transform: none !important;
  transition:
    opacity 900ms ease-in-out,
    visibility 0s linear 900ms !important;
}

.locations-page .location-slide.is-active {
  transform: none !important;
  transition-delay: 0s !important;
}

.locations-page .location-slide__media,
.locations-page .location-slide__media--bali,
.locations-page .location-slide__media--croatia {
  display: block !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
  overflow: hidden;
}

.locations-page .location-local-video {
  display: block !important;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: none !important;
  transition: none !important;
  animation: none !important;
  will-change: auto !important;
}

.locations-page .location-slide.is-active .location-slide__media,
.locations-page .location-slide.is-active .location-local-video {
  transform: none !important;
}


/* =========================================================
   2026-08-24 — Bali / Vir: SCALE LOCK
   Video zůstává přesně 1:1 bez dodatečného CSS zoomu.
   ========================================================= */
.locations-page .location-cinema--local,
.locations-page .location-slider--local,
.locations-page .location-slide,
.locations-page .location-slide__media,
.locations-page .location-slide__media--bali,
.locations-page .location-slide__media--croatia,
.locations-page .location-local-video {
  transform: none !important;
  scale: 1 !important;
}

.locations-page .location-local-video {
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  animation: none !important;
  transition: none !important;
  will-change: auto !important;
}

/* Aktivní slide nesmí video ani jeho wrapper zvětšit. */
.locations-page .location-slide.is-active,
.locations-page .location-slide.is-active .location-slide__media,
.locations-page .location-slide.is-active .location-local-video {
  transform: none !important;
  scale: 1 !important;
}


/* =========================================================
   2026-08-24 — Bali / Vir: bez černého spodního fade
   Video zůstává viditelné až k samotnému konci hero sekce.
   ========================================================= */
.locations-page .location-cinema--local::after {
  content: none !important;
  display: none !important;
  background: none !important;
  height: 0 !important;
}

/* Jemný overlay kvůli čitelnosti textu ano, ale bez spodního zčernání. */
.locations-page .location-slide__veil {
  background:
    linear-gradient(
      90deg,
      rgba(2, 9, 18, .34) 0%,
      rgba(2, 9, 18, .14) 36%,
      rgba(2, 9, 18, .02) 68%,
      rgba(2, 9, 18, 0) 100%
    ) !important;
}


/* =========================================================
   2026-08-24 — Bali / Vir: VIDEO PŘES CELÝ HERO / HEADER
   - první sekce má výšku celého viewportu
   - video je absolutně přes 100 % hero plochy
   - žádný CSS zoom / shake
   - žádný spodní černý fade
   ========================================================= */

/* Celý první hero přes výšku obrazovky. */
.locations-page .location-cinema--local {
  position: relative !important;
  width: 100% !important;
  height: 100svh !important;
  min-height: 100svh !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #030812 !important;
}

/* Slider musí mít přesně stejnou plochu jako celé hero. */
.locations-page .location-slider--local {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Původní spodní fade slideru pryč. */
.locations-page .location-slider--local::after {
  content: none !important;
  display: none !important;
  background: none !important;
  height: 0 !important;
}

/* Každý slide = celá plocha hero. */
.locations-page .location-slide {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: none !important;
  transform: none !important;
  scale: 1 !important;
  overflow: hidden !important;
}

/* Media wrapper opravdu od kraje ke kraji. */
.locations-page .location-slide__media,
.locations-page .location-slide__media--bali,
.locations-page .location-slide__media--croatia {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  transform: none !important;
  scale: 1 !important;
  overflow: hidden !important;
  background: transparent !important;
}

/* Video vyplní celý background hero. object-fit: cover = bez pruhů. */
.locations-page .location-local-video {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
  scale: 1 !important;
  animation: none !important;
  transition: none !important;
  will-change: auto !important;
}

/* Bali/Chorvatsko jen lehké doladění výřezu – bez zvětšování. */
.locations-page .location-slide__media--bali .location-local-video {
  object-position: center 50% !important;
}

.locations-page .location-slide__media--croatia .location-local-video {
  object-position: center 50% !important;
}

/* Obsah je také roztažený na celou výšku hero a zůstane nad videem. */
.locations-page .location-slider--local .location-slide__content {
  position: relative !important;
  z-index: 3 !important;
  width: var(--locations-wide) !important;
  height: 100% !important;
  min-height: 100% !important;
  box-sizing: border-box !important;
}

/* Žádný spodní fade ani na vnějším hero wrapperu. */
.locations-page .location-cinema--local::after {
  content: none !important;
  display: none !important;
  background: none !important;
  height: 0 !important;
}

/* Mapa začíná hned po full-screen hero. */
.locations-page .location-cinema--local + .adventure-map {
  margin-top: 0 !important;
}

/* Na mobilech necháme full-screen výšku, ale minimálně tolik,
   aby se pohodlně vešel obsah. */
@media (max-width: 720px) {
  .locations-page .location-cinema--local {
    height: max(100svh, 760px) !important;
    min-height: max(100svh, 760px) !important;
  }

  .locations-page .location-slider--local,
  .locations-page .location-slide {
    height: 100% !important;
    min-height: 100% !important;
  }
}


/* =========================================================
   2026-08-24 — LOKACE HERO: TMAVŠÍ JAKO NA KURZECH
   Celé video je lehce ztmavené, vlevo více kvůli textu.
   Bez černého pruhu dole.
   ========================================================= */
.locations-page .location-slide__veil {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background:
    linear-gradient(
      90deg,
      rgba(2, 8, 16, .60) 0%,
      rgba(2, 8, 16, .48) 30%,
      rgba(2, 8, 16, .36) 58%,
      rgba(2, 8, 16, .30) 100%
    ),
    rgba(2, 8, 16, .14) !important;
}

/* Obsah zůstává nad overlayem. */
.locations-page .location-slide__content,
.locations-page .location-slider--local .location-slide__content {
  position: relative !important;
  z-index: 3 !important;
}

/* Pořád bez samostatného spodního černého fade. */
.locations-page .location-cinema--local::after,
.locations-page .location-slider--local::after {
  content: none !important;
  display: none !important;
  background: none !important;
  height: 0 !important;
}
