/* Villa Rudolf — /vylety/ (veřejná, indexovatelná stránka výletů).
   Sdílí design tokeny a komponenty (nav, footer, tlačítka, .vr-seg, .vr-lang,
   .vr-reveal) z ../assets/site.css. Tady jen specifika stránky výletů.
   Dvě sezónní podoby přepínané přes .vr-root[data-season]. */

/* Hero content clears the fixed nav */
.vyl-hero{position:relative;overflow:hidden;background:#05080a;
  min-height:clamp(360px,58vh,540px);display:flex;align-items:flex-end;
  padding:calc(92px + clamp(20px,6vh,64px)) 0 clamp(34px,6vh,64px)}
.vyl-hero-bg{position:absolute;inset:0;border-radius:0}
.vyl-hero-bg .vr-seasonimg{object-position:50% 42%}
/* Dark scrim in BOTH seasons so the light hero copy + transparent nav stay legible */
.vyl-hero-scrim{position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(180deg,rgba(4,7,10,.62) 0%,rgba(4,7,10,.34) 34%,rgba(4,7,10,.44) 66%,rgba(4,7,10,.72) 100%)}
.vyl-hero-copy{position:relative;z-index:3}
.vyl-h1{font-family:'Newsreader',serif;font-weight:300;font-size:clamp(2.1rem,5vw,4rem);line-height:1.03;
  letter-spacing:-.02em;color:#F7F1E8;margin:14px 0 0;max-width:20ch;text-wrap:balance;
  text-shadow:0 1px 3px rgba(0,0,0,.55),0 2px 22px rgba(0,0,0,.5)}
.vyl-lead{font-family:'Newsreader',serif;font-weight:300;font-size:clamp(1.1rem,1.8vw,1.5rem);line-height:1.45;
  color:#E7E2D8;max-width:56ch;margin:18px 0 0;text-shadow:0 1px 14px rgba(0,0,0,.5)}
.vyl-hero-toggle{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:26px}
.vyl-toggle-lbl{font-family:'Archivo',sans-serif;font-size:12.5px;font-weight:600;letter-spacing:.02em;
  color:#E7E2D8;text-shadow:0 1px 10px rgba(0,0,0,.5)}
/* Hero season pill sits over the dark photo → keep it readable in both seasons */
.vyl-hero-toggle .vr-seg{--vr-seg-bg:rgba(240,235,225,.12);border-color:rgba(240,235,225,.24)}
.vyl-hero-toggle .vr-segbtn{color:#E7E2D8}
.vyl-hero-toggle .vr-segbtn[data-active="true"]{background:var(--vr-ember);color:#10150f}

/* ---------- Section shells ---------- */
.vyl-main{padding:clamp(56px,8vh,104px) 0 0}
.vyl-sec{padding:0 0 clamp(56px,9vh,110px);background:var(--vr-bg);transition:background-color .6s ease}
/* Seasonal show/hide — only the active season's block is visible; both stay in the
   HTML source (crawlable). Default markup is data-season="leto" → summer visible. */
.vyl-season{display:none}
.vr-root[data-season="leto"] .vyl-season.leto{display:block}
.vr-root[data-season="zima"] .vyl-season.zima{display:block}

.vyl-head{max-width:720px;margin:0 0 clamp(26px,4vw,44px)}
.vyl-note{font-family:'Newsreader',serif;font-weight:300;font-size:clamp(1.02rem,1.5vw,1.28rem);line-height:1.5;
  color:var(--vr-text-muted);margin:12px 0 0;max-width:56ch;transition:color .6s ease}

/* ---------- Highlight grid ---------- */
.vyl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.2vw,30px)}
.vyl-card{display:flex;flex-direction:column;overflow:hidden;border-radius:4px;
  background:var(--vr-panel-strong);border:1px solid var(--vr-line);
  transition:transform .3s cubic-bezier(.2,.7,.15,1),border-color .3s ease,background-color .6s ease}
.vyl-card:hover{transform:translateY(-4px);border-color:color-mix(in oklab,var(--vr-accent),transparent 55%)}
.vyl-media{position:relative;aspect-ratio:3/2;overflow:hidden;background:#0c110f}
.vyl-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.15,1)}
.vyl-card:hover .vyl-media img{transform:scale(1.05)}
.vyl-body{position:relative;padding:clamp(18px,2vw,24px);display:flex;flex-direction:column;flex:1}
.vyl-ico{position:absolute;top:-22px;left:clamp(18px,2vw,24px);display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:50%;background:var(--vr-ember);box-shadow:0 8px 22px rgba(214,138,76,.4)}
.vyl-ico svg{width:22px;height:22px;fill:none;stroke:#10150f;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.vyl-name{font-family:'Newsreader',serif;font-weight:400;font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.12;
  letter-spacing:-.01em;color:var(--vr-text);margin:16px 0 0;text-wrap:balance;transition:color .6s ease}
.vyl-meta{font-family:'Archivo',sans-serif;font-size:12px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;
  color:var(--vr-accent);margin:9px 0 0;transition:color .6s ease}
.vyl-pitch{font-family:'Archivo',sans-serif;font-size:14.5px;line-height:1.65;color:var(--vr-text-muted);
  margin:12px 0 0;transition:color .6s ease}
.vyl-link{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;margin-top:16px;
  font-family:'Archivo',sans-serif;font-size:12.5px;font-weight:600;letter-spacing:.02em;
  color:var(--vr-text-faint);transition:color .2s ease}
.vyl-link:hover{color:var(--vr-accent-2)}
.vyl-link svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
/* Sekundární odkaz do plánovače — otevře stejný bottom-sheet jako karta katalogu.
   Bez JS nemá smysl, proto se ukáže až s html.js. */
.vyl-detail{display:none}
html.js .vyl-detail{display:inline-flex;align-items:center;align-self:flex-start;margin-top:8px;
  font-family:'Archivo',sans-serif;font-size:12px;font-weight:600;letter-spacing:.02em;
  color:var(--vr-text-faint);background:transparent;border:0;border-bottom:1px solid var(--vr-line-2);
  padding:0 0 3px;cursor:pointer;transition:color .2s ease,border-color .2s ease}
html.js .vyl-detail:hover{color:var(--vr-accent-2);border-color:var(--vr-accent)}
html.js .vyl-card[data-trip]{cursor:pointer}

/* Ghost odkaz vedle sezónního přepínače v hero */
.vyl-skip{font-family:'Archivo',sans-serif;font-size:12.5px;font-weight:600;letter-spacing:.02em;
  color:#E7E2D8;text-decoration:none;border-bottom:1px solid rgba(240,235,225,.35);padding-bottom:2px;
  text-shadow:0 1px 10px rgba(0,0,0,.5);transition:color .2s ease,border-color .2s ease}
.vyl-skip:hover{color:#fff;border-color:var(--vr-ember)}

/* ---------- CTA band ---------- */
.vyl-ctaband{position:relative;background:var(--vr-bg-deep);border-top:1px solid var(--vr-line);
  padding:clamp(64px,10vh,120px) 0;text-align:center;transition:background-color .6s ease}
.vyl-ctaband-inner{max-width:760px}
.vyl-ctaband .vr-wrap{max-width:760px}
.vyl-cta-title{font-family:'Newsreader',serif;font-weight:400;font-size:clamp(1.8rem,4vw,3rem);line-height:1.08;
  letter-spacing:-.015em;color:var(--vr-text);margin:14px 0 0;text-wrap:balance;transition:color .6s ease}
.vyl-cta-body{font-family:'Newsreader',serif;font-weight:300;font-size:clamp(1.05rem,1.7vw,1.35rem);line-height:1.5;
  color:var(--vr-text-muted);margin:16px auto 0;max-width:52ch;transition:color .6s ease}
/* Jediné tlačítko — odkaz „Zobrazit všech 38 výletů s filtry" zrušen,
   katalog se přestěhoval nahoru do pásu #planovac. */
.vyl-cta-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin-top:32px}

/* ---------- Footer additions (link column + secondary labels) ---------- */
.vr-foot-links{display:flex;flex-direction:column;gap:9px;margin-top:16px}
.vr-foot-links a{font-family:'Archivo',sans-serif;font-size:14px;color:var(--vr-text-muted);transition:color .2s ease}
.vr-foot-links a:hover{color:var(--vr-accent-2)}
.vr-foot-lbl-lang,.vr-foot-lbl-social{margin-top:26px}
/* Secondary (guest-facing) mobile-menu link — smaller than the primary nav items */
.vr-mob .vr-mob-2nd{margin-top:18px;font-family:'Archivo',sans-serif;font-size:15px;font-weight:500;
  letter-spacing:.02em;color:var(--vr-text-faint)}
.vr-mob .vr-mob-2nd:hover{color:var(--vr-accent-2)}

/* ---------- Lokalizační mapa (kde nás najdete) ---------- */
.vyl-mapsec{padding:0 0 clamp(56px,9vh,110px);background:var(--vr-bg);transition:background-color .6s ease}
.vyl-mapfig{margin:clamp(22px,3.4vw,40px) 0 0}
/* Vyzdvižená „deska" mapy — čte se jako karta v obou sezónách (papír-color splývá s bg) */
.vyl-mapscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:14px;
  background:var(--vr-panel-strong);border:1px solid var(--vr-line-2);
  box-shadow:0 20px 54px rgba(0,0,0,.26);transition:background-color .6s ease,border-color .6s ease}
.vyl-map{display:block;width:100%;height:auto;padding:2px}
@media(max-width:640px){ .vyl-map{min-width:520px} }
/* Papír je průhledný — desku dělá .vyl-mapscroll (kontrast v létě i zimě) */
.m-paper{fill:transparent}
.m-frame{fill:none;stroke:none}
.m-ridge{fill:none;stroke:var(--vr-map-ridge);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;opacity:.22}
.m-border{fill:none;stroke:var(--vr-map-ink);stroke-width:1.6;stroke-dasharray:2 5;stroke-linecap:round;opacity:.6}
.m-country{fill:var(--vr-map-ink);opacity:.42;font-family:'Archivo',sans-serif;font-weight:700;font-size:13px;letter-spacing:.26em}
.m-links line{stroke:var(--vr-map-road);stroke-width:1;stroke-dasharray:1 4;stroke-linecap:round}
.m-target circle{fill:var(--vr-accent);transition:fill .6s ease}
.m-place{fill:var(--vr-map-ink);font-family:'Archivo',sans-serif;font-weight:600;font-size:13.5px;letter-spacing:.01em}
.m-detail{fill:var(--vr-accent);font-family:'Archivo',sans-serif;font-weight:700;font-size:11px;letter-spacing:.02em}
/* Vila — výrazný ember bod (v obou sezónách ember, aby vždy „vyskočila") */
.m-villa-dot{fill:var(--vr-ember);stroke:var(--vr-bg);stroke-width:1.5;transition:stroke .6s ease}
.m-villa-ring{fill:none;stroke:var(--vr-ember);stroke-width:1.6;opacity:.55}
.m-villa-pulse{fill:none;stroke:var(--vr-ember);stroke-width:1.4;opacity:0;transform-box:fill-box;transform-origin:center}
.m-villa-name{fill:var(--vr-text);font-family:'Archivo',sans-serif;font-weight:700;font-size:14.5px;letter-spacing:.01em;transition:fill .6s ease}
.m-villa-sub{fill:var(--vr-map-ink);opacity:.85;font-family:'Archivo',sans-serif;font-weight:600;font-size:11px;letter-spacing:.01em}
@media(prefers-reduced-motion:no-preference){
  .m-villa-pulse{animation:vylPulse 2.8s ease-out infinite}
}
@keyframes vylPulse{0%{transform:scale(.7);opacity:.55}70%{opacity:0}100%{transform:scale(2.1);opacity:0}}
/* Směrové značky na velká města */
.m-arrow path{fill:var(--vr-accent)}
.m-city{fill:var(--vr-map-ink);font-family:'Archivo',sans-serif;font-weight:700;font-size:12.5px;letter-spacing:.03em}
.m-cityT{fill:var(--vr-accent);font-family:'Archivo',sans-serif;font-weight:700;font-size:11px}
/* Měřítko + kompas */
.m-scale line{stroke:var(--vr-map-ink);stroke-width:1.3;opacity:.65}
.m-scale text{fill:var(--vr-map-ink);opacity:.7;font-family:'Archivo',sans-serif;font-weight:600;font-size:10.5px;letter-spacing:.04em}
.m-compass circle{stroke:var(--vr-map-ink);stroke-width:1.2;opacity:.5}
.m-compass .m-needle{fill:var(--vr-accent)}
.m-compass .m-north{fill:var(--vr-map-ink);opacity:.75;font-family:'Archivo',sans-serif;font-weight:700;font-size:12px;letter-spacing:.05em}
/* Tvrdá čísla pod mapou */
.vyl-mapfacts{display:flex;flex-wrap:wrap;gap:10px;margin:clamp(16px,2vw,22px) 0 0;padding:0}
.vyl-mapfact{display:inline-flex;align-items:baseline;gap:8px;padding:9px 15px;border-radius:999px;
  background:var(--vr-panel-strong);border:1px solid var(--vr-line);transition:background-color .6s ease,border-color .6s ease}
.vyl-mapfact b{font-family:'Archivo',sans-serif;font-weight:700;font-size:12.5px;letter-spacing:.02em;color:var(--vr-text-soft)}
.vyl-mapfact i{font-family:'Archivo',sans-serif;font-style:normal;font-weight:600;font-size:12.5px;color:var(--vr-accent)}

/* ---------- Responsive ---------- */
@media(max-width:960px){
  .vr-stickycta{display:flex}
}
@media(max-width:900px){
  .vyl-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .vyl-grid{grid-template-columns:1fr}
  .vyl-hero{min-height:clamp(320px,52vh,440px)}
}
