/* ============ TOKENS ============ */
:root{
  --cream:#FBF8F4;
  --cream-2:#F5F0E8;
  --ink:#190C06;
  --ink-soft:rgba(25,12,6,.72);
  --navy:#06192B;          /* hlboká polnočná navy */
  --navy-deep:#03101E;
  --gold:#B39655;          /* jemná metalická šampanská — akcent na plochách a tlačidlách */
  --gold-text:#8F6D1F;     /* metalická zlatá pre text na svetlom pozadí (AA) */
  --gold-light:#CBB37E;    /* svetlá šampanská pre text na navy/ink */
  --white:#FFFFFF;
  --white-soft:rgba(255,255,255,.78);

  /* spacing scale — jedna škála, žiadne ad-hoc hodnoty */
  --s-1:.5rem; --s-2:1rem; --s-3:1.5rem; --s-4:2.5rem;
  --s-5:4rem;  --s-6:6.5rem; --s-7:10rem;

  /* fluid type scale (ratio ~1.25) */
  --t-overline:.8125rem;
  --t-sm:.9375rem;
  --t-base:1.0625rem;
  --t-lg:clamp(1.15rem,1.05rem + .5vw,1.375rem);
  --t-h3:clamp(1.5rem,1.3rem + 1vw,2rem);
  --t-h2:clamp(2.1rem,1.6rem + 2.4vw,3.4rem);
  --t-h1:clamp(2.6rem,1.8rem + 4.5vw,5.25rem);
  --t-quote:clamp(1.6rem,1.2rem + 2vw,2.6rem);

  --font-display:'EB Garamond',serif;
  --font-body:'DM Sans',system-ui,sans-serif;
  --max:1280px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ============ RESET / BASE ============ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
html{scroll-behavior:smooth;scroll-padding-top:5.5rem}
body{
  font-family:var(--font-body);
  font-size:var(--t-base);
  font-weight:300;
  line-height:1.65;
  color:var(--ink);
  background:var(--cream);
  -webkit-font-smoothing:antialiased;
}
img,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.12;letter-spacing:-.01em}

.wrap{max-width:var(--max);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,3rem)}

/* overline label */
.overline{
  display:block;
  font-size:var(--t-overline);
  font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold-text);
  margin-bottom:var(--s-3);
}
.on-dark .overline{color:var(--gold-light)}

/* tichý textový odkaz */
.quiet-link{
  display:inline-block;
  font-size:var(--t-sm);
  font-weight:400;
  letter-spacing:.06em;
  color:var(--gold-text);
  border-bottom:1px solid rgba(130,107,59,.35);
  padding-bottom:2px;
  transition:border-color .25s var(--ease),color .25s var(--ease);
  cursor:pointer;
}
.quiet-link:hover{border-color:var(--gold-text)}
.on-dark .quiet-link{color:var(--gold-light);border-color:rgba(203,179,126,.4)}
.on-dark .quiet-link:hover{border-color:var(--gold-light)}

/* CTA button */
.btn{
  display:inline-block;
  font-family:var(--font-body);
  font-size:var(--t-sm);
  font-weight:500;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--ink);
  background:var(--gold);
  padding:1.05rem 2.4rem;
  border:1px solid var(--gold);
  cursor:pointer;
  transition:background .25s var(--ease),color .25s var(--ease);
}
.btn:hover{background:#9C8148;border-color:#9C8148;color:var(--white)}
.btn-ghost{
  background:transparent;
  color:var(--white);
  border:1px solid rgba(255,255,255,.55);
}
.btn-ghost:hover{background:var(--white);border-color:var(--white);color:var(--ink)}

/* reveal animácie */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  .parallax-img{transform:none!important}
  .gold-line{transform:none;transition:none}
  .img-reveal{clip-path:none;transition:none}
}

/* ============ HEADER ============ */
.site-header{
  position:fixed;inset-inline:0;top:0;z-index:50;
  transition:background .35s var(--ease),box-shadow .35s var(--ease);
}
.site-header .wrap{
  display:flex;align-items:center;
  gap:clamp(1.5rem,3vw,3.5rem);
  padding-block:1.1rem;
}
.logo{flex-shrink:0}
.logo img{height:2rem;width:auto;max-width:none;filter:brightness(0) invert(1);transition:filter .35s var(--ease)}
.main-nav{display:flex;gap:clamp(.85rem,1.1vw,1.25rem);align-items:center;margin-inline:auto}
.main-nav a{
  font-size:.9375rem;font-weight:400;letter-spacing:.04em;
  color:var(--white-soft);
  transition:color .25s var(--ease);
  padding-block:.4rem;
  white-space:nowrap;
}
.main-nav a:hover{color:var(--white)}
.header-cta{display:flex;align-items:center;gap:1rem}
.header-phone{font-size:.86rem;color:var(--white-soft);letter-spacing:.03em;white-space:nowrap}
.header-phone:hover{color:var(--white)}
.btn-header{
  padding:.65rem 1.3rem;
  background:transparent;border:1px solid rgba(255,255,255,.7);color:var(--white);
}
.btn-header:hover{background:var(--white);border-color:var(--white);color:var(--ink)}
.site-header.is-solid .btn-header{background:transparent;border-color:var(--ink);color:var(--ink)}
.site-header.is-solid .btn-header:hover{background:var(--ink);color:var(--cream)}

.site-header.is-solid{background:var(--cream);box-shadow:0 1px 0 rgba(25,12,6,.08)}
.site-header.is-solid .logo img{filter:none}
.site-header.is-solid .main-nav a{color:var(--ink-soft)}
.site-header.is-solid .main-nav a:hover{color:var(--ink)}
.site-header.is-solid .header-phone{color:var(--ink-soft)}
.site-header.is-solid .header-phone:hover{color:var(--ink)}

.nav-toggle{display:none}

@media (max-width:1239px){
  .main-nav,.header-cta{display:none}
  .logo img{height:1.7rem}
  /* na malých telefónoch zaberalo logo takmer polovicu šírky */
  @media (max-width:640px){.logo img{height:1.4rem}}
  @media (max-width:400px){.logo img{height:1.25rem}}

  /* hamburger */
  .nav-toggle{
    display:block;margin-left:auto;background:none;border:none;cursor:pointer;
    padding:.7rem .6rem;margin-right:-.6rem;
  }
  .burger{display:block;width:1.5rem;height:1.05rem;position:relative}
  .burger i{
    position:absolute;left:0;right:0;height:1.5px;background:var(--white);
    transition:transform .3s var(--ease),opacity .25s var(--ease),background .35s var(--ease);
  }
  .burger i:nth-child(1){top:0}
  .burger i:nth-child(2){top:50%;transform:translateY(-50%)}
  .burger i:nth-child(3){bottom:0}
  .site-header.is-solid .burger i,
  .site-header.is-static .burger i,
  .site-header.nav-open .burger i{background:var(--ink)}
  .site-header.nav-open .burger i:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .site-header.nav-open .burger i:nth-child(2){opacity:0}
  .site-header.nav-open .burger i:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .site-header.nav-open{background:var(--cream);box-shadow:none}
  .site-header.nav-open .logo img{filter:none}

  /* panel pod headerom */
  .mobile-nav{
    position:fixed;top:0;inset-inline:0;bottom:0;z-index:45;
    background:var(--cream);
    padding-top:4.1rem;
    overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
    transform:translateY(-101%);
    transition:transform .38s var(--ease);
  }
  .mobile-nav.is-open{transform:none}
  .mn-inner{
    display:flex;flex-direction:column;min-height:100%;
    padding:var(--s-2) clamp(1.25rem,4vw,3rem) var(--s-3);
  }
  .mn-inner > a:not(.mn-cta),
  .mn-row > a{
    font-family:var(--font-display);font-size:1.22rem;color:var(--ink);
    padding:.62rem 0;transition:color .25s var(--ease);
  }
  .mn-inner > a:not(.mn-cta):hover,.mn-row > a:hover{color:var(--gold-text)}
  /* rozbaľovacie podmenu v mobilnej navigácii */
  .mn-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}
  .mn-row > a{flex:1 1 auto}
  .mn-toggle{
    flex:none;display:grid;place-items:center;width:2.5rem;height:2.5rem;
    margin-right:-.6rem;color:var(--ink-soft);
  }
  .mn-toggle .nd-caret{transition:transform .25s var(--ease)}
  .mn-toggle[aria-expanded="true"]{color:var(--ink)}
  .mn-toggle[aria-expanded="true"] .nd-caret{transform:rotate(180deg)}
  .mn-sub{display:flex;flex-direction:column;padding:.1rem 0 .5rem .9rem;border-left:1px solid rgba(25,12,6,.14)}
  .mn-sub[hidden]{display:none}
  .mn-sub a{font-size:.95rem;color:var(--ink-soft);padding:.42rem 0}
  .mn-sub a:hover{color:var(--gold-text)}
  .mn-sep{height:1px;background:rgba(25,12,6,.14);margin:var(--s-2) 0 var(--s-2);margin-top:auto}
  .mn-label{
    font-size:.75rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
    color:var(--gold-text);margin-bottom:.7rem;
  }
  .mn-lang{display:flex;gap:.5rem;margin-bottom:var(--s-2)}
  .mn-lang button{
    font-family:var(--font-body);font-size:var(--t-sm);letter-spacing:.06em;
    min-width:3.2rem;padding:.5rem 0;cursor:pointer;
    background:transparent;color:var(--ink-soft);
    border:1px solid rgba(25,12,6,.2);
    transition:border-color .25s var(--ease),color .25s var(--ease);
  }
  .mn-lang button:hover{border-color:var(--ink);color:var(--ink)}
  .mn-lang button.active{border-color:var(--gold);color:var(--gold-text)}
  .mn-cta{
    background:var(--navy);border-color:var(--navy);color:var(--white);
    text-align:center;padding:.9rem;
  }
  .mn-cta:hover{background:var(--navy-deep);border-color:var(--navy-deep);color:var(--white)}

}
@media (min-width:1240px){.mobile-nav,.nav-toggle{display:none}}

/* ============ HERO ============ */
.hero{
  position:relative;height:100svh;min-height:600px;
  display:flex;align-items:flex-end;
  background:var(--navy-deep);
  overflow:hidden;
}
.hero video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  will-change:transform;transform-origin:center;
}
.hero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(8,20,33,.72) 0%,rgba(8,20,33,.15) 45%,rgba(8,20,33,.25) 100%);
}
.hero-content{
  position:relative;z-index:2;width:100%;
  padding-bottom:clamp(4rem,10vh,7rem);
  text-align:center;
  will-change:transform,opacity;
}
.hero h1{
  color:var(--white);
  font-size:var(--t-h1);
  max-width:17ch;
  margin-inline:auto;
  margin-bottom:var(--s-4);
  text-wrap:balance;
}
.hero h1 .it{font-style:italic}
/* nástup headline — slová sa vynárajú spoza masky riadku */
.hero h1 .w{
  display:inline-block;vertical-align:top;position:relative;
  /* WebKit neoreže posunuté slovo spoľahlivo cez overflow — clip-path áno */
  overflow:hidden;clip-path:inset(0);
  padding-bottom:.42em;margin-bottom:-.42em;
  padding-inline:.06em;margin-inline:-.06em;
}
/* Animácia je deklaratívna — beží od prvého vykreslenia, bez JS a bez čakania
   na font. Trieda pridávaná skriptom sa v Safari zapínala inokedy než v Chrome,
   takže nábeh raz preblikol a inokedy nenabehol vôbec. */
.hero h1 .w>span{
  display:inline-block;
  animation:heroRise 1.3s cubic-bezier(.19,1,.22,1) both;
}
.hero h1 .w:nth-child(1)>span{animation-delay:.15s}
.hero h1 .w:nth-child(2)>span{animation-delay:.24s}
.hero h1 .w:nth-child(3)>span{animation-delay:.33s}
.hero h1 .w:nth-child(4)>span{animation-delay:.42s}
.hero h1 .w:nth-child(5)>span{animation-delay:.55s}
.hero h1 .w:nth-child(6)>span{animation-delay:.64s}
@keyframes heroRise{from{transform:translateY(115%)}to{transform:none}}
.hero .hero-search{animation:heroFade 1s var(--ease) 1.15s both}
@keyframes heroFade{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes heroSoft{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){
  /* bez pohybu, ale nadpis sa aj tak jemne prelína */
  .hero h1 .w>span{animation:heroSoft .9s var(--ease) both}
  .hero .hero-search{animation:heroSoft .9s var(--ease) .5s both}
}
.hero .btn-ghost{margin-bottom:0}
.scroll-hint{
  position:absolute;bottom:1.6rem;left:50%;transform:translateX(-50%);
  z-index:2;
  width:1px;height:3.2rem;
  background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.7));
  animation:hint 2.6s var(--ease) infinite;
}
@keyframes hint{0%{transform:translateX(-50%) scaleY(0);transform-origin:top}
  45%{transform:translateX(-50%) scaleY(1);transform-origin:top}
  55%{transform:translateX(-50%) scaleY(1);transform-origin:bottom}
  100%{transform:translateX(-50%) scaleY(0);transform-origin:bottom}}
@media (prefers-reduced-motion:reduce){.scroll-hint{animation:none}}

/* hero search — redizajn pôvodného vyhľadávania */
.hero-search{
  margin-inline:auto;
  max-width:780px;
  display:flex;align-items:flex-end;
  gap:clamp(1.5rem,4vw,3rem);
}
.hs-field{
  flex:1;display:flex;flex-direction:column;gap:.2rem;
  padding:.6rem 0;text-align:left;
  border-bottom:1px solid rgba(255,255,255,.55);
}
.hs-field label{
  font-size:.6875rem;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,255,255,.8);
}
.hs-field select{
  appearance:none;-webkit-appearance:none;
  background:transparent;border:none;
  color:var(--white);
  font-family:var(--font-body);font-size:var(--t-sm);font-weight:300;
  padding:.15rem 1.6rem .15rem 0;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23FFFFFF' stroke-opacity='.7'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right center;
}
.hs-field select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.hs-field select option{color:var(--ink);background:var(--cream)}
.hs-submit{
  border:1px solid rgba(255,255,255,.7);
  background:transparent;color:var(--white);
  font-family:var(--font-body);font-size:var(--t-sm);font-weight:500;
  letter-spacing:.1em;text-transform:uppercase;
  padding:1.05rem 2.2rem;cursor:pointer;white-space:nowrap;
  transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease);
}
.hs-submit:hover{background:var(--white);border-color:var(--white);color:var(--ink)}
@media (max-width:720px){
  .hero-search{flex-direction:column;align-items:stretch;gap:1.25rem}
  .hs-submit{padding:1.15rem;margin-top:.5rem}
}

/* zlatá linka — opakujúci sa motív sekcií */
.gold-line{
  display:block;width:1px;height:4.5rem;
  background:linear-gradient(to bottom,rgba(179,150,85,0),var(--gold));
  transform:scaleY(0);transform-origin:top;
  transition:transform 1.2s var(--ease) .1s;
  margin-bottom:var(--s-3);
}
.gold-line--center{margin-inline:auto}
.gold-line.is-in{transform:scaleY(1)}
.on-dark .gold-line{background:linear-gradient(to bottom,rgba(203,179,126,0),var(--gold-light))}

/* odhalenie obrázkov clip-path */
.img-reveal{clip-path:inset(100% 0 0 0);transition:clip-path 1.2s var(--ease)}
.img-reveal.is-in{clip-path:inset(0 0 0 0)}

/* stagger v gridoch */
.dest-grid .dest-card:nth-child(3n+2){transition-delay:.1s}
.dest-grid .dest-card:nth-child(3n){transition-delay:.2s}
.offer-grid .offer-card:nth-child(2){transition-delay:.12s}
.offer-grid .offer-card:nth-child(3){transition-delay:.24s}
@media (min-width:861px){
  .dest-grid{align-items:start}
  .dest-grid .dest-card:nth-child(even){margin-top:2.5rem}
}

/* ============ MANIFEST ============ */
.manifest{padding-block:var(--s-6) var(--s-7)}
.manifest .inner{max-width:52rem;margin-inline:auto;text-align:center}
.manifest h2{font-size:var(--t-h2);margin-bottom:var(--s-3);text-wrap:balance}
.manifest p{font-size:var(--t-lg);color:var(--ink-soft);max-width:38rem;margin-inline:auto}

/* ============ FLAGSHIP SPLITS ============ */
.flagship{display:grid;grid-template-columns:1fr 1fr;min-height:82vh}
.flagship .media{position:relative;overflow:hidden;min-height:420px}
.flagship .media > img{
  position:absolute;inset:-6% 0;height:112%;width:100%;object-fit:cover;
  will-change:transform;
}
.flagship .text{
  display:flex;flex-direction:column;justify-content:center;
  padding:clamp(3rem,7vw,6.5rem);
}
/* vonkajší okraj textu zarovnaný s hranou obsahového kontajnera (1280px) */
.flagship .text:first-child{
  padding-left:max(clamp(1.25rem,4vw,3rem),calc((100vw - var(--max))/2 + 3rem));
}
.flagship .text:last-child{
  padding-right:max(clamp(1.25rem,4vw,3rem),calc((100vw - var(--max))/2 + 3rem));
}
.flagship h2{font-size:var(--t-h2);margin-bottom:var(--s-3);max-width:16ch;text-wrap:balance}
.flagship p{max-width:34rem;margin-bottom:var(--s-4);color:var(--ink-soft)}
.flagship.on-dark{background:var(--navy)}
.flagship.on-dark h2{color:var(--white)}
.flagship.on-dark p{color:var(--white-soft)}
.media--fade > img{transition:opacity 1.6s var(--ease);will-change:opacity,transform}
.media--fade > img.is-hidden{opacity:0}
@media (prefers-reduced-motion:reduce){.media--fade > img{transition:none}}
.media-inset{
  position:absolute;z-index:3;
  left:clamp(1.25rem,4vw,2.75rem);bottom:clamp(1.25rem,4vw,2.75rem);
  width:min(40%,15rem);
  border:6px solid var(--cream);
  box-shadow:0 18px 44px rgba(3,16,30,.3);
  will-change:transform;
}
.media-inset img{width:100%;aspect-ratio:3/4;object-fit:cover}
.flagship.on-dark .media-inset{left:auto;right:clamp(1.25rem,4vw,2.75rem);border-color:var(--navy)}
@media (max-width:860px){
  .flagship{grid-template-columns:1fr;min-height:0}
  .flagship .media{order:-1;aspect-ratio:4/3;min-height:0}
}

/* ============ PARTNERI / PORTFÓLIO ============ */
.partners{padding-block:var(--s-7) var(--s-6)}
.partners .inner{max-width:46rem;margin-inline:auto;text-align:center}
.partners h2{font-size:var(--t-h2);margin-bottom:var(--s-3);text-wrap:balance}
.partners p{color:var(--ink-soft);margin-bottom:var(--s-3)}
.logo-band{padding-block:var(--s-4);background:var(--white);border-bottom:1px solid rgba(25,12,6,.08)}
.marquee{
  overflow:hidden;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent);
  mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent);
}
.marquee-track{display:flex;width:max-content;animation:marquee 38s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-group{
  display:flex;align-items:center;
  gap:clamp(3rem,6vw,5.5rem);
  padding-right:clamp(3rem,6vw,5.5rem);
}
.marquee-group img{
  height:4rem;width:auto;max-width:13rem;object-fit:contain;
  filter:brightness(0);opacity:.38;
  transition:opacity .3s var(--ease);
}
.marquee-group img:hover{opacity:.7}
/* Variety má kompaktnú značku — pri rovnakej výške pôsobí opticky väčšie */
.marquee-group img[alt*="Variety"],
.marquee-group img[src*="variety"]{height:2.9rem}
@keyframes marquee{to{transform:translate3d(-50%,0,0)}}

/* ============ DESTINÁCIE ============ */
.destinations{padding-block:var(--s-7)}
.destinations .head{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:var(--s-4);margin-bottom:var(--s-5);
}
.destinations h2{font-size:var(--t-h2);max-width:14ch;text-wrap:balance}
.dest-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(.75rem,1.5vw,1.5rem);
}
.dest-card{position:relative;overflow:hidden;aspect-ratio:4/5;display:block}
.dest-card img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1.2s var(--ease);
}
.dest-card:hover img{transform:scale(1.045)}
.dest-card::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(8,20,33,.62),rgba(8,20,33,0) 55%);
}
.dest-card .label{
  position:absolute;left:1.6rem;bottom:1.4rem;z-index:2;
  font-family:var(--font-display);
  font-size:var(--t-h3);
  color:var(--white);
  letter-spacing:.01em;
}
@media (max-width:860px){.dest-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.dest-grid{grid-template-columns:1fr}.dest-card{aspect-ratio:16/10}}
.dest-index{margin-top:var(--s-6);display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4) var(--s-5)}
.dest-index h3{
  font-family:var(--font-body);font-size:var(--t-overline);font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gold-text);
  margin-bottom:var(--s-2);
}
.dest-index p{font-size:var(--t-sm);color:var(--ink-soft);line-height:2.1}
.dest-index a{white-space:nowrap;transition:color .25s var(--ease)}
.dest-index a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.dest-index .sep{opacity:.4;margin-inline:.35rem}
@media (max-width:720px){.dest-index{grid-template-columns:1fr}}

/* ============ PONUKY ============ */
.offers{background:var(--cream-2);padding-block:var(--s-7)}
.offers .head{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:var(--s-4);margin-bottom:var(--s-5);
}
.offers h2{font-size:var(--t-h2);max-width:16ch;text-wrap:balance}
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,3rem)}
.offer-card{display:flex;flex-direction:column}
.offer-card .thumb{overflow:hidden;aspect-ratio:4/3;margin-bottom:var(--s-3)}
.offer-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.offer-card:hover .thumb img{transform:scale(1.04)}
.offer-card h3{font-size:var(--t-h3);margin-bottom:var(--s-2);text-wrap:balance}
.offer-card p{font-size:var(--t-sm);color:var(--ink-soft);margin-bottom:var(--s-3);flex-grow:1}
@media (max-width:860px){.offer-grid{grid-template-columns:1fr;max-width:32rem}}
.offer-index{margin-top:var(--s-6);border-top:1px solid rgba(25,12,6,.14)}
.offer-index a{
  display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-4);
  padding:1.15rem 0;border-bottom:1px solid rgba(25,12,6,.14);
  transition:transform .3s var(--ease);
}
.offer-index a:hover{transform:translateX(.6rem)}
.offer-index .t{font-family:var(--font-display);font-size:var(--t-lg)}
.offer-index .go{font-size:var(--t-sm);letter-spacing:.06em;color:var(--gold-text);white-space:nowrap}

/* ============ AKTIVITY ============ */
.activities{padding-block:var(--s-7)}
.activities .head{margin-bottom:var(--s-5)}
.activities h2{font-size:var(--t-h2);max-width:16ch;text-wrap:balance}
.act-note{font-size:var(--t-sm);color:var(--ink-soft);margin-top:var(--s-2);max-width:34rem}
.act-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-4) var(--s-5)}
.act{border-top:1px solid rgba(25,12,6,.14);padding-top:var(--s-3)}
.act h3{font-size:1.35rem;margin-bottom:.45rem}
.act p{font-size:var(--t-sm);color:var(--ink-soft)}
@media (max-width:860px){.act-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.act-grid{grid-template-columns:1fr}}

/* ============ KONZULTÁCIA ============ */
.consult{background:var(--navy);color:var(--white);padding-block:var(--s-7)}
.consult .grid{
  display:grid;grid-template-columns:1.15fr .85fr;
  gap:clamp(3rem,6vw,6rem);align-items:center;
}
.consult h2{font-size:var(--t-h2);color:var(--white);margin-bottom:var(--s-3);max-width:16ch;text-wrap:balance}
.consult .lead{color:var(--white-soft);max-width:34rem;margin-bottom:var(--s-4)}
.consult .contact-line{
  display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-4);
  margin-top:var(--s-4);
}
.consult .phone{
  font-family:var(--font-display);font-size:var(--t-h3);color:var(--white);
  letter-spacing:.02em;
}
.consult .phone:hover{color:var(--gold-light)}
.consult .hours{font-size:var(--t-sm);color:var(--white-soft);letter-spacing:.05em}
.advisors{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,2vw,2rem)}
/* height:auto — inak atribút height="719" prebije aspect-ratio a fotka sa natiahne */
.advisor img{aspect-ratio:3/4;height:auto;object-fit:cover;width:100%;margin-bottom:var(--s-2);
  filter:saturate(.92)}
.advisor .name{font-family:var(--font-display);font-size:var(--t-lg);color:var(--white)}
.advisor .role{font-size:var(--t-overline);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-light);margin-top:.3rem}
@media (max-width:860px){.consult .grid{grid-template-columns:1fr}}

/* ============ RECENZIA ============ */
.review{padding-block:var(--s-7)}
.review .inner{max-width:50rem;margin-inline:auto;text-align:center}
.review .mark{
  font-family:var(--font-display);font-size:4.5rem;line-height:1;
  color:var(--gold);display:block;margin-bottom:var(--s-2);
}
.review blockquote p{
  font-family:var(--font-display);
  font-size:var(--t-quote);
  line-height:1.3;
  color:var(--ink);
  text-wrap:balance;
  margin-bottom:var(--s-4);
}
.review cite{
  font-style:normal;font-size:var(--t-overline);
  letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);
}
.review .slide{transition:opacity .5s var(--ease)}
.review .slide.is-fading{opacity:0}
.review-dots{display:flex;gap:.7rem;justify-content:center;margin-top:var(--s-4)}
.review-dots button{
  width:.55rem;height:.55rem;border-radius:50%;padding:0;
  border:none;background:rgba(25,12,6,.18);cursor:pointer;
  transition:background .3s var(--ease);
}
.review-dots button.active{background:var(--gold)}
@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}.review .slide{transition:none}}

/* ============ FOOTER ============ */
.site-footer{background:var(--navy-deep);color:var(--white-soft);padding-block:var(--s-6) var(--s-4)}
.site-footer .top{
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;
  gap:var(--s-5);margin-bottom:var(--s-5);
}
.site-footer .logo img{height:1.9rem;filter:brightness(0) invert(1);opacity:.92}
.site-footer .tagline{font-size:var(--t-sm);max-width:22rem;margin-top:var(--s-3);color:rgba(255,255,255,.55)}
.site-footer h4{
  font-family:var(--font-body);font-size:var(--t-overline);font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gold-light);
  margin-bottom:var(--s-3);
}
.site-footer ul{list-style:none}
.site-footer li{margin-bottom:.65rem}
.site-footer .top a{font-size:var(--t-sm);color:var(--white-soft);transition:color .25s var(--ease)}
.site-footer .top a:hover{color:var(--white)}
.site-footer .bottom{
  border-top:1px solid rgba(255,255,255,.12);
  padding-top:var(--s-3);
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s-2);
  font-size:.8125rem;color:rgba(255,255,255,.45);
}
@media (max-width:860px){.site-footer .top{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.site-footer .top{grid-template-columns:1fr}}

/* ============ PODSTRÁNKY: PAGE HERO ============ */
.page-hero{
  position:relative;min-height:56vh;
  display:flex;align-items:flex-end;
  background:var(--navy-deep);overflow:hidden;
}
.page-hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.page-hero::after{
  content:"";position:absolute;inset:0;
  /* text hero sedí v dolnej polovici — závoj ju drží tmavšiu dlhšie,
     svetlé okno fotky ostáva v hornej tretine (zlatý overline sa strácal
     na svetlých záberoch presne v páse okolo 55 %) */
  background:linear-gradient(to top,
    rgba(3,16,30,.92),
    rgba(3,16,30,.52) 58%,
    rgba(3,16,30,.3) 80%,
    rgba(3,16,30,.6));
}
.page-hero .inner{position:relative;z-index:2;width:100%;padding-block:7.5rem var(--s-5)}
.page-hero h1{
  color:var(--white);
  font-size:clamp(2.4rem,1.6rem + 3.5vw,4.5rem);
  max-width:22ch;text-wrap:balance;
  margin-bottom:var(--s-2);
}
.page-hero .sub{color:var(--white-soft);font-size:var(--t-lg);max-width:38rem}
.page-hero .overline{color:var(--gold-light);margin-bottom:var(--s-2)}
.page-hero h1,.page-hero .sub{text-shadow:0 2px 28px rgba(3,16,30,.55)}
/* malé zlaté verzálky sa na svetlých fotkách strácali — potrebujú tesný tieň */
.page-hero .overline{text-shadow:0 1px 3px rgba(3,16,30,.65),0 2px 20px rgba(3,16,30,.6)}
.page-hero--tall{min-height:70vh}
/* Obrázok článku je raz fotka, raz mapa s vlastnými popiskami. Jemné rozostrenie
   zruší cudzí text v mape, ale fotku necháva čitateľnou — preto rozostrenie
   namiesto tmavšieho závoja, ktorý by fotku zrovnal do plochy.
   scale kvôli okrajom, ktoré by rozostrenie presvetlilo. */
.page-hero--article .bg{filter:blur(3px) saturate(.9);transform:scale(1.06)}
/* hero prehľadových stránok — na stred, ako v origináli */
.page-hero--center{align-items:center;min-height:48vh}
/* keď za hero nasleduje filtračná lišta, spolu vyplnia presne viewport
   a lišta zostane ukotvená na jeho spodku */
@media (min-width:901px){
  .page-hero--center:has(+ .tabs-bar),
  .page-hero--center:has(+ .filter-panel){height:calc(100svh - var(--bar-h,4rem));min-height:26rem}
}
.page-hero--center .inner{text-align:center;padding-block:6rem 4rem}
/* mierka 1:1 s originálom: nadpis 2.5→3.5rem, popisok 1.125rem v šírke 48rem */
.page-hero--center h1{font-size:clamp(2.5rem,1.8rem + 2.2vw,3.5rem);max-width:26ch;margin-inline:auto}
.page-hero--center .sub{font-size:1.125rem;line-height:1.625;max-width:48rem;margin-inline:auto}
/* úvodný odsek pod hero — ako v origináli */
.page-intro{padding-block:var(--s-5);text-align:center}
.page-intro p{
  max-width:48rem;margin-inline:auto;
  color:var(--ink-soft);font-size:1.125rem;line-height:1.625;
}
.page-intro p + p{margin-top:.9rem}
.page-intro strong{color:var(--ink);font-weight:500}
.page-intro + .tabs-bar{border-top:1px solid rgba(25,12,6,.12)}
@media (max-width:640px){
  .page-hero--center{min-height:42vh}
  .page-hero--center .inner{padding-block:5.5rem 3rem}
  .page-hero--center h1{font-size:clamp(2rem,1.3rem + 3.4vw,2.5rem)}
  .page-intro{padding-block:var(--s-4)}
  .page-intro p,.page-hero--center .sub,.dm-sub{font-size:1.0625rem}
}

/* ============ TOOLBAR / FILTRE ============ */
.tabs-bar{
  border-top:1px solid rgba(25,12,6,.12);
  border-bottom:1px solid rgba(25,12,6,.12);
  background:var(--cream);
}
.tabs-bar-inner{display:flex;align-items:center;padding-block:.2rem}
.article-meta{
  justify-content:space-between;gap:var(--s-2);padding-block:.85rem;
  font-size:var(--t-sm);color:var(--ink-soft);
}
.article-meta time{letter-spacing:.06em;text-transform:uppercase;font-size:var(--t-overline)}
.tabs-bar-inner > .chips,
.tabs-bar-inner > .tabscroll{flex:1 1 auto;min-width:0}
/* počet položiek pod lištou — len tam, kde ho má originál */
.chips{
  display:flex;flex-wrap:nowrap;gap:clamp(1rem,2.4vw,2.2rem);
  justify-content:safe center;
  overflow-x:auto;scroll-behavior:smooth;
  scrollbar-width:none;-ms-overflow-style:none;
}
.chips::-webkit-scrollbar{display:none}
.chip{flex:0 0 auto}
.chip{
  font-family:var(--font-body);font-size:var(--t-sm);letter-spacing:.05em;
  background:transparent;border:none;border-bottom:2px solid transparent;
  color:var(--ink-soft);padding:.9rem .2rem;cursor:pointer;white-space:nowrap;
  transition:color .25s var(--ease),border-color .25s var(--ease);
}
.chip:hover{color:var(--ink)}
.chip.active{color:var(--ink);border-color:var(--gold)}
.result-count{font-size:var(--t-sm);color:var(--ink-soft);letter-spacing:.04em}
.result-count strong{color:var(--ink);font-weight:500}

/* ============ KARTY PLAVIEB ============ */
.cruise-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(1.25rem,2.5vw,2.25rem);
  margin-top:var(--s-5);
}
.cruise-card{
  display:flex;flex-direction:column;
  background:var(--white);
  border:1px solid rgba(25,12,6,.1);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease);
}
.cruise-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(3,16,30,.12)}
.cruise-card .thumb{overflow:hidden;aspect-ratio:16/10}
.cruise-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.cruise-card:hover .thumb img{transform:scale(1.04)}
.cruise-card .body{padding:var(--s-3) var(--s-3) var(--s-2);flex-grow:1;display:flex;flex-direction:column}
.cc-ship{
  font-size:.6875rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold-text);margin-bottom:.5rem;
}
.cc-title{font-size:1.35rem;line-height:1.2;margin-bottom:.5rem;text-wrap:balance}
.cc-route{font-size:var(--t-sm);color:var(--ink-soft);margin-bottom:var(--s-3);flex-grow:1}
.cc-facts{
  display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem;
  padding-block:var(--s-2);
  border-top:1px solid rgba(25,12,6,.12);
}
.cc-facts .k{display:block;font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
.cc-facts .v{font-size:var(--t-sm);color:var(--ink)}
.cc-foot{
  display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-2);
  padding:var(--s-2) var(--s-3) var(--s-3);
  border-top:1px solid rgba(25,12,6,.12);
}
.cc-price{font-family:var(--font-display);font-size:1.35rem;color:var(--ink)}
.cc-price small{display:block;font-family:var(--font-body);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-top:.15rem}
@media (max-width:1024px){.cruise-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.cruise-grid{grid-template-columns:1fr}}

/* ============ KARTY LODÍ ============ */
.ship-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(1.25rem,2.5vw,2.25rem);
  margin-top:var(--s-5);
}
.ship-card{display:flex;flex-direction:column}
.ship-card .thumb{overflow:hidden;aspect-ratio:4/3;margin-bottom:var(--s-2)}
.ship-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.ship-card:hover .thumb img{transform:scale(1.04)}
.ship-card h3{font-size:var(--t-h3);margin-bottom:.35rem}
.ship-card .meta{font-size:var(--t-sm);color:var(--ink-soft);margin-bottom:var(--s-2)}
@media (max-width:1024px){.ship-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.ship-grid{grid-template-columns:1fr}}

/* ============ ČLÁNKY / PONUKY ============ */
.article-list{margin-top:var(--s-4)}
.article-row{
  display:grid;grid-template-columns:300px 1fr;gap:clamp(1.5rem,3.5vw,3.5rem);
  align-items:center;
  padding-block:var(--s-4);
  border-bottom:1px solid rgba(25,12,6,.14);
}
.article-row .thumb{overflow:hidden;aspect-ratio:4/3}
.article-row .thumb img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.article-row:hover .thumb img{transform:scale(1.04)}
.article-row .date{
  font-size:.6875rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold-text);margin-bottom:.5rem;display:block;
}
.article-row h3{font-size:var(--t-h3);margin-bottom:.6rem;max-width:26ch;text-wrap:balance}
.article-row p{font-size:var(--t-sm);color:var(--ink-soft);max-width:60ch;margin-bottom:var(--s-2)}
@media (max-width:760px){.article-row{grid-template-columns:1fr;align-items:start}.article-row .thumb{max-width:26rem}}

/* ============ FORMULÁRE ============ */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4) var(--s-4)}
.field{display:flex;flex-direction:column}
.field label{
  font-size:.6875rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold-text);margin-bottom:.45rem;
}
.field input,.field select,.field textarea{
  width:100%;background:transparent;
  border:0;border-bottom:1px solid rgba(25,12,6,.3);
  padding:.55rem 0;
  font-family:var(--font-body);font-size:var(--t-base);font-weight:300;color:var(--ink);
  transition:border-color .25s var(--ease);
}
.field textarea{min-height:6.5rem;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold-text)}
.field input::placeholder,.field textarea::placeholder{color:rgba(25,12,6,.55)}
.field--full{grid-column:1/-1}
.form-consent{display:flex;gap:.7rem;align-items:flex-start;font-size:var(--t-sm);color:var(--ink-soft)}
.form-consent input{width:1rem;height:1rem;margin-top:.3rem;accent-color:var(--gold)}
.form-actions{margin-top:var(--s-2)}
@media (max-width:700px){.form-grid{grid-template-columns:1fr}}

/* ============ DETAIL PLAVBY ============ */
.fact-band{background:var(--cream-2);padding-block:var(--s-4)}
.fact-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--s-3)}
.fact .k{display:block;font-size:.6875rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.3rem}
.fact .v{font-family:var(--font-display);font-size:1.15rem;color:var(--ink)}
@media (max-width:1024px){.fact-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:560px){.fact-grid{grid-template-columns:1fr 1fr}}
.tab-nav{
  display:flex;flex-wrap:wrap;gap:clamp(1.25rem,3vw,2.5rem);
  border-bottom:1px solid rgba(25,12,6,.14);
  margin-block:var(--s-5) var(--s-4);
}
.tab-nav a{
  font-size:var(--t-sm);letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-soft);padding-bottom:.8rem;
  border-bottom:2px solid transparent;
  transition:color .25s var(--ease),border-color .25s var(--ease);
}
.tab-nav a:hover{color:var(--ink)}
.tab-nav a.active{color:var(--ink);border-color:var(--gold)}
.itinerary{width:100%;border-collapse:collapse}
.itinerary th{
  text-align:left;font-family:var(--font-body);font-size:.6875rem;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;color:var(--gold-text);
  padding:.7rem .5rem;border-bottom:1px solid rgba(25,12,6,.25);
}
.itinerary td{
  padding:.85rem .5rem;font-size:var(--t-sm);color:var(--ink);
  border-bottom:1px solid rgba(25,12,6,.1);
}
.itinerary td.port{font-family:var(--font-display);font-size:1.1rem}
.itinerary td.muted{color:var(--ink-soft)}
.itinerary tr.sea td{color:var(--ink-soft);font-style:italic}
.detail-cta{
  display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center;
  margin-top:var(--s-4);
}

/* ============ STRÁNKOVANIE ============ */
.pagination{display:flex;gap:.55rem;justify-content:center;align-items:center;margin-top:var(--s-6)}
.pagination a,.pagination span{
  min-width:2.7rem;height:2.7rem;padding-inline:.5rem;
  display:grid;place-items:center;
  font-size:var(--t-sm);color:var(--ink-soft);
  border:1px solid rgba(25,12,6,.2);
  transition:border-color .25s var(--ease),color .25s var(--ease);
}
.pagination a:hover{border-color:var(--ink);color:var(--ink)}
.pagination .current{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.pagination .dots{border:none}

/* ============ SEKCIE PODSTRÁNOK ============ */
.page-section{padding-block:var(--s-6)}
.page-section--tight{padding-block:var(--s-5)}
/* úvodný odstavec a nasledujúca sekcia mali odsadenie každý zvlášť a sčítavali
   sa — spolu s odsadením zoznamu to robilo 168 px prázdna nad prvou položkou */
.page-intro + .page-section{padding-top:0}
.page-intro + .page-section > .article-list{margin-top:0}
.prose{max-width:66ch;color:var(--ink-soft)}
.prose p+p{margin-top:var(--s-2)}
.lead-serif{font-family:var(--font-display);font-size:var(--t-quote);line-height:1.3;color:var(--ink);max-width:30ch;text-wrap:balance}
.two-col{display:grid;grid-template-columns:minmax(16rem,22rem) 1fr;gap:clamp(2rem,6vw,6rem)}
.sticky-aside{position:sticky;top:6rem;align-self:start}
/* v jednom stĺpci by pripnutý aside plával cez text pod ním */
@media (max-width:860px){
  .two-col{grid-template-columns:1fr}
  .sticky-aside{position:static}
}

/* ============ MEGA MENU V NAVIGÁCII (hover) ============ */
.nav-drop{position:static}
.main-nav .nav-drop-btn{display:inline-flex;align-items:center;gap:.35rem;position:relative}
/* neviditeľný mostík po spodok hlavičky — inak kurzor cestou dole prejde
   medzerou, kde nie je nič, a panel sa medzitým zavrie */
.main-nav .nav-drop-btn::after{
  content:"";position:absolute;left:-.5rem;right:-.5rem;top:100%;height:1.9rem;
}
.nd-caret{opacity:.7;transition:transform .25s var(--ease)}
.nav-drop:hover .nd-caret,.nav-drop:focus-within .nd-caret{transform:rotate(180deg)}
.nav-drop-panel{
  position:absolute;left:0;right:0;top:100%;z-index:60;
  background:var(--cream);border-top:1px solid rgba(25,12,6,.12);
  box-shadow:0 18px 40px rgba(3,16,30,.12);
  opacity:0;visibility:hidden;transform:translateY(-4px);
  /* zatvorenie s malým oneskorením — krátke vybočenie kurzora panel nezhodí */
  transition:opacity .2s var(--ease) .12s,transform .2s var(--ease) .12s,visibility .2s .12s;
}
.nav-drop:hover .nav-drop-panel,
.nav-drop:focus-within .nav-drop-panel{
  opacity:1;visibility:visible;transform:none;transition-delay:0s;
}
.nd-inner{padding-block:var(--s-4)}
.nd-brands{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem}
.nd-brand{
  display:grid;place-items:center;min-height:6rem;padding:1rem;
  transition:background .25s var(--ease);
}
.nd-brand img{
  max-height:3.5rem;max-width:100%;width:auto;object-fit:contain;
  filter:brightness(0);opacity:.6;
  transition:opacity .3s var(--ease);
}
.nd-brand:hover{background:var(--cream-2)}
.nd-brand:hover img{opacity:1}
/* Variety má kompaktnú značku — pri rovnakej výške pôsobí opticky väčšie */
.nd-brand[href*="variety"] img{max-height:2.5rem}
.nd-foot{
  border-top:1px solid rgba(25,12,6,.12);text-align:center;
  padding-block:1rem;
}
.nd-about{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;max-width:38rem;margin-inline:auto}
.nd-item{
  display:block;text-align:center;padding:1rem;
  font-size:.9375rem;letter-spacing:.04em;color:var(--ink-soft);
  transition:background .25s var(--ease),color .25s var(--ease);
}
.nd-item:hover{background:var(--cream-2);color:var(--gold-text)}
/* pri otvorenom mega menu musí byť hlavička plná, inak panel visí v prázdne */
.site-header:has(.nav-drop:hover),
.site-header:has(.nav-drop:focus-within){background:var(--cream);box-shadow:0 1px 0 rgba(25,12,6,.08)}
.site-header:has(.nav-drop:hover) .logo img,
.site-header:has(.nav-drop:focus-within) .logo img{filter:none}
.site-header:has(.nav-drop:hover) .main-nav a,
.site-header:has(.nav-drop:focus-within) .main-nav a{color:var(--ink-soft)}
.site-header:has(.nav-drop:hover) .main-nav a:hover,
.site-header:has(.nav-drop:focus-within) .main-nav a:hover{color:var(--ink)}
.site-header:has(.nav-drop:hover) .main-nav a[aria-current="page"],
.site-header:has(.nav-drop:focus-within) .main-nav a[aria-current="page"]{color:var(--gold-text)}
.site-header:has(.nav-drop:hover) .header-phone,
.site-header:has(.nav-drop:focus-within) .header-phone{color:var(--ink-soft)}
.site-header:has(.nav-drop:hover) .lang summary,
.site-header:has(.nav-drop:focus-within) .lang summary{color:var(--ink-soft)}
.site-header:has(.nav-drop:hover) .btn-header,
.site-header:has(.nav-drop:focus-within) .btn-header{background:transparent;border-color:var(--ink);color:var(--ink)}
.site-header:has(.nav-drop:hover) .btn-header:hover,
.site-header:has(.nav-drop:focus-within) .btn-header:hover{background:var(--ink);color:var(--cream)}
@media (max-width:1239px){.nav-drop-panel{display:none}}

/* aktívna položka navigácie — bez podčiarknutia, len zlatá */
.main-nav a[aria-current="page"]{color:var(--gold-light)}
.site-header.is-solid .main-nav a[aria-current="page"],
.site-header.is-static .main-nav a[aria-current="page"]{color:var(--gold-text)}

/* ============ KATALÓG: FILTER PANEL ============ */
.filter-panel{background:var(--cream-2);border-bottom:1px solid rgba(25,12,6,.1);padding-block:var(--s-4)}
.filter-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:var(--s-3) var(--s-4);
}
.filter-grid select{cursor:pointer}
.filter-foot{
  display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;
  gap:var(--s-2) var(--s-4);margin-top:var(--s-3);
}
.filter-checks{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-4)}
.filter-checks .form-consent{align-items:center}
.filter-checks .form-consent input{margin-top:0}
.filter-foot .quiet-link{background:none;border-top:none;border-left:none;border-right:none;font-family:var(--font-body)}
@media (max-width:900px){.filter-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.filter-grid{grid-template-columns:1fr}}

/* katalóg: lišta pod filtrami — počet výsledkov + triedenie */
.catalog-toolbar{
  display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;
  gap:var(--s-2) var(--s-4);margin-top:var(--s-4);
}
.catalog-sort{display:flex;align-items:center;gap:.9rem}
.catalog-sort .sort-label{font-size:var(--t-sm);color:var(--ink-soft);letter-spacing:.04em;white-space:nowrap}
.catalog-sort .cs-trigger{font-size:var(--t-sm);padding:.35rem 0;min-width:11.5rem}
.catalog-sort .cs-panel{left:auto;right:0}

/* ============ CUSTOM SELECT (dropdown s bielym panelom) ============ */
.cs-native{
  /* skrytý natívny select musí prebiť aj .field select / .hs-field select,
     inak si drží width:100 % a vytŕča mimo viewportu (vodorovný posun na mobile) */
  position:absolute!important;width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
.cs-root{position:relative}
.cs-trigger{
  display:flex;align-items:center;justify-content:space-between;gap:.7rem;
  width:100%;background:transparent;
  border:0;border-bottom:1px solid rgba(25,12,6,.3);
  padding:.55rem 0;cursor:pointer;text-align:left;
  font-family:var(--font-body);font-size:var(--t-base);font-weight:300;color:var(--ink);
  transition:border-color .25s var(--ease);
}
.cs-trigger:hover,.cs-root.is-open .cs-trigger{border-color:var(--gold-text)}
/* na dotyku musia polia vyhľadávania spĺňať minimálny terč — bez toho mali 30 px */
@media (hover:none){
  .cs-trigger{min-height:2.75rem}
  /* šípky pri rolovacích lištách mali 32 px */
  .tabscroll-arrow{min-width:2.5rem;min-height:2.5rem}
  /* bodky recenzií zostávajú vizuálne malé, terč rozšírime odsadením */
  .review-dots{gap:.2rem}
  .review-dots button{
    width:2.75rem;height:2.75rem;background:none;
    display:grid;place-items:center;
  }
  .review-dots button::before{
    content:"";width:.55rem;height:.55rem;border-radius:50%;
    background:rgba(25,12,6,.18);transition:background .3s var(--ease);
  }
  .review-dots button.active::before{background:var(--gold)}
  .review-dots button.active{background:none}
}
.cs-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cs-trigger.is-placeholder .cs-value{color:var(--ink-soft)}
.cs-caret{flex:none;opacity:.65;transition:transform .25s var(--ease)}
.cs-root.is-open .cs-caret{transform:rotate(180deg)}
.cs-panel.is-floating{
  /* nad modálmi (napr. palubné plány majú z-index 120) */
  position:fixed;z-index:130;display:block;
  top:0;left:0;
}
.cs-panel{
  position:absolute;top:calc(100% + .45rem);left:0;z-index:40;
  min-width:100%;max-height:420px;overflow:auto;
  background:var(--white);
  border:1px solid rgba(25,12,6,.1);
  box-shadow:0 14px 34px rgba(3,16,30,.16);
  display:none;
}
.cs-root.is-open .cs-panel{display:block}
.cs-item{
  display:block;width:100%;text-align:left;
  background:none;border:0;cursor:pointer;
  padding:.9rem 1.5rem;
  font-family:var(--font-body);font-size:.9375rem;font-weight:300;color:var(--ink);
  white-space:nowrap;
  transition:background .18s var(--ease);
}
.cs-item:hover,.cs-item:focus-visible,.cs-item[aria-selected="true"]{background:var(--cream-2)}

/* panel „Aké obdobie?" — taby rokov + grid mesiacov */
.cs-panel--months{min-width:min(21.5rem,88vw);padding:1.5rem}
.cs-months-title{
  font-family:var(--font-display);font-size:1.5rem;font-weight:400;
  color:var(--ink);line-height:1.2;margin-bottom:1.1rem;
}
.cs-years{display:flex;gap:.3rem;margin-bottom:1rem}
.cs-year{
  flex:1;background:none;border:0;cursor:pointer;
  font-family:var(--font-display);font-size:1.1rem;color:var(--ink-soft);
  padding:.55rem .5rem;
  transition:background .18s var(--ease),color .18s var(--ease);
}
.cs-year:hover{color:var(--ink)}
.cs-year.is-active{background:var(--cream-2);color:var(--ink)}
.cs-mgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:.3rem}
.cs-month{
  background:none;border:0;cursor:pointer;
  font-family:var(--font-body);font-size:.8125rem;font-weight:400;
  letter-spacing:.08em;text-transform:uppercase;color:var(--ink);
  padding:.75rem .3rem;
  transition:background .18s var(--ease);
}
.cs-month:hover:not(:disabled),.cs-month:focus-visible,.cs-month.is-selected{background:var(--cream-2)}
.cs-month:disabled{
  text-decoration:line-through;
  color:rgba(25,12,6,.32);cursor:default;
}

/* custom select v hero vyhľadávaní (tmavé pozadie) */
.hs-field .cs-trigger{
  border-bottom:0;padding:.15rem 0;
  font-size:var(--t-sm);color:var(--white);
}
.hs-field .cs-trigger:hover{border-color:transparent}
.hs-field .cs-trigger.is-placeholder .cs-value{color:var(--white)}
.hs-field .cs-caret{opacity:.7}
.hs-field .cs-panel{color:var(--ink)}

/* ============ KATALÓG: RIADKY PLAVIEB ============ */
.cruise-list{display:flex;flex-direction:column;gap:clamp(1.25rem,2.5vw,2rem);margin-top:var(--s-4)}
.cruise-row{
  display:grid;grid-template-columns:300px 1fr 260px;
  background:var(--white);
  border:1px solid rgba(25,12,6,.1);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease);
}
.cruise-row:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(3,16,30,.12)}
.cruise-row .cr-photo{overflow:hidden;min-height:230px}
.cruise-row .cr-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.cruise-row:hover .cr-photo img{transform:scale(1.04)}
.cr-body{padding:var(--s-3) var(--s-4);display:flex;flex-direction:column;min-width:0}
.cr-body .cc-route{flex-grow:1}
.cc-facts--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cr-side{
  display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;
  gap:var(--s-2);
  padding:var(--s-3);
  border-left:1px solid rgba(25,12,6,.1);
  text-align:right;
}
.cr-map{width:100%;aspect-ratio:2/1;object-fit:cover;border:1px solid rgba(25,12,6,.1)}
.cr-map--detail{margin-top:var(--s-3);aspect-ratio:2/1;width:100%}
.cc-price--ask{font-size:1.1rem}
.btn-outline{
  background:transparent;color:var(--ink);border:1px solid var(--ink);
  padding:.65rem 1.6rem;
}
.btn-outline:hover{background:var(--ink);border-color:var(--ink);color:var(--cream)}
/* veľký variant pre primárne CTA vo formulároch — rozmer .btn, správanie .btn-outline */
.btn-outline--lg{padding:1.05rem 2.4rem}
.no-results{margin-top:var(--s-4);font-size:var(--t-lg);color:var(--ink-soft)}
@media (max-width:1024px){
  .cruise-row{grid-template-columns:260px 1fr}
  .cr-side{grid-column:1/-1;flex-direction:row;align-items:center;border-left:none;border-top:1px solid rgba(25,12,6,.1);text-align:left}
  .cr-map{width:180px;flex-shrink:0}
  .cr-side .cc-price{margin-left:auto}
}
@media (max-width:640px){
  .cruise-row{grid-template-columns:1fr}
  .cruise-row .cr-photo{aspect-ratio:16/9;min-height:0}
  .cc-facts--4{grid-template-columns:1fr 1fr}
  .cr-side{flex-wrap:wrap}
}

/* ============ LODNÉ SPOLOČNOSTI ============ */
/* karty lodných spoločností — logo, linka, popis, tlačidlo (ako v origináli) */
/* šesť značiek — tri a tri, nie 4+2 */
.brand-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.25rem,2vw,1.75rem)}
.brand-card{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  background:var(--cream-2);padding:var(--s-4) var(--s-3) var(--s-3);
  color:inherit;transition:background .3s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease);
}
.brand-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(3,16,30,.08)}
.brand-logo{
  display:flex;align-items:center;justify-content:center;
  height:5rem;width:100%;margin-bottom:var(--s-3);
}
/* všetky značky jednotne v čiernej — pestré logá inak rozbíjajú stránku */
.brand-logo img{max-height:5rem;max-width:80%;object-fit:contain;filter:brightness(0);opacity:.82;transition:opacity .3s var(--ease)}
.brand-card:hover .brand-logo img{opacity:1}
.brand-card[data-brand*="variety"] .brand-logo img{max-height:3.6rem}
.brand-card[data-brand*="msc"] .brand-logo img,
.brand-card[data-brand*="four"] .brand-logo img{max-height:4.4rem}
.brand-line{display:block;width:100%;height:1px;background:rgba(25,12,6,.14);margin-bottom:var(--s-3)}
.brand-desc{
  display:block;font-size:var(--t-sm);color:var(--ink-soft);line-height:1.65;
  margin-bottom:var(--s-3);flex-grow:1;
}
.brand-btn{padding:.65rem 1.4rem;pointer-events:none}
.brand-card:hover .brand-btn{background:var(--ink);border-color:var(--ink);color:var(--cream)}
@media (max-width:900px){.brand-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.brand-grid{grid-template-columns:1fr}}

/* ============ FAQ ============ */
.faq-list{border-top:1px solid rgba(25,12,6,.14)}
.faq-item{border-bottom:1px solid rgba(25,12,6,.14)}
.faq-item summary{
  cursor:pointer;list-style:none;
  font-family:var(--font-display);font-size:var(--t-h3);
  padding-block:var(--s-3);
  position:relative;padding-right:3rem;
  transition:color .25s var(--ease);
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
  content:"+";position:absolute;right:.5rem;top:50%;transform:translateY(-50%);
  font-family:var(--font-display);font-size:1.6rem;color:var(--gold-text);
  transition:transform .3s var(--ease);
}
.faq-item[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq-item summary:hover{color:var(--gold-text)}
.faq-item p{color:var(--ink-soft);max-width:65ch;padding-bottom:var(--s-3)}

/* ============ RECENZIE ============ */
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,3rem)}
.review-card{
  border-top:1px solid rgba(25,12,6,.14);
  padding-top:var(--s-3);
}
.review-card .mark{
  font-family:var(--font-display);font-size:3rem;line-height:1;
  color:var(--gold);display:block;margin-bottom:var(--s-1);
}
.review-card p{
  font-family:var(--font-display);font-size:1.4rem;line-height:1.35;
  margin-bottom:var(--s-2);
}
.review-card cite{
  font-style:normal;font-size:var(--t-overline);
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);
}
@media (max-width:900px){.review-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.review-grid{grid-template-columns:1fr}}

/* ============ NEWSLETTER (footer) ============ */
.site-footer .newsletter{
  display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;
  gap:var(--s-3) var(--s-5);
  padding-bottom:var(--s-4);margin-bottom:var(--s-5);
  border-bottom:1px solid rgba(255,255,255,.12);
}
.site-footer .newsletter p{font-size:var(--t-sm);color:rgba(255,255,255,.55);margin-top:.35rem}
.newsletter-form{display:flex;gap:var(--s-2);align-items:flex-end}
.newsletter-form input{
  background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.4);
  color:var(--white);font-family:var(--font-body);font-size:var(--t-sm);font-weight:300;
  padding:.55rem 0;width:min(16rem,50vw);
  transition:border-color .25s var(--ease);
}
.newsletter-form input:focus{outline:none;border-color:var(--gold-light)}
.newsletter-form input::placeholder{color:rgba(255,255,255,.55)}
.newsletter-form .btn-header{border-color:rgba(255,255,255,.5);color:var(--white);background:transparent}
.newsletter-form .btn-header:hover{background:var(--white);color:var(--ink);border-color:var(--white)}
@media (max-width:640px){
  /* vedľa seba sa tlačidlo lámalo na dva riadky a pole stláčalo — pod sebou */
  .newsletter-form{flex-direction:column;align-items:stretch;gap:var(--s-3);width:100%}
  .newsletter-form input{width:100%}
  .newsletter-form .btn-header{white-space:nowrap;text-align:center}
}

/* ============ DROBNOSTI ============ */
.phone-link{font-family:var(--font-display);font-size:var(--t-h3);color:var(--ink);transition:color .25s var(--ease)}
.phone-link:hover{color:var(--gold-text)}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* prehľad prístavov — fotka a pod ňou názov s regiónom.
   Popiska cez fotku sa na pestrých záberoch strácala a karty pôsobili prázdne. */
.port-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--s-4) clamp(1.25rem,2.4vw,2.25rem);
}
.port-card{display:flex;flex-direction:column;overflow:hidden}
.port-photo{display:block;aspect-ratio:4/3;overflow:hidden}
.port-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.port-card:hover .port-photo img{transform:scale(1.045)}
.port-region{
  display:block;margin-top:var(--s-2);
  font-family:var(--font-body);font-size:var(--t-overline);font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gold-text);
}
.port-card .label{
  display:block;margin-top:.35rem;
  font-family:var(--font-display);font-size:1.3rem;line-height:1.25;color:var(--ink);
  transition:color .25s var(--ease);
}
.port-card:not(:has(.port-region)) .label{margin-top:var(--s-2)}
.port-card:hover .label{color:var(--gold-text)}
/* vyhľadávanie je tesne nad mriežkou — plné odsadenie sekcie tam robí dieru */
.page-section--ports{padding-top:var(--s-4)}
@media (max-width:900px){.port-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.port-grid{grid-template-columns:1fr}}

[hidden]{display:none!important}

/* ============ PREPÍNAČ JAZYKA ============ */
.lang{position:relative}
.lang summary{
  list-style:none;cursor:pointer;
  display:inline-flex;align-items:center;gap:.35rem;
  font-size:.9375rem;letter-spacing:.04em;
  color:var(--white-soft);padding:.4rem .1rem;
  transition:color .25s var(--ease);
}
.lang summary::-webkit-details-marker{display:none}
.lang summary:hover{color:var(--white)}
.lang[open] summary svg:last-child{transform:rotate(180deg)}
.lang summary svg:last-child{transition:transform .25s var(--ease)}
.site-header.is-solid .lang summary{color:var(--ink-soft)}
.site-header.is-solid .lang summary:hover{color:var(--ink)}
.lang-menu{
  position:absolute;top:calc(100% + .7rem);right:-.5rem;
  background:var(--cream);
  border:1px solid rgba(25,12,6,.12);
  box-shadow:0 14px 34px rgba(3,16,30,.16);
  min-width:8.5rem;padding:.4rem 0;
  display:flex;flex-direction:column;
  z-index:70;
}
.lang-menu a{
  padding:.5rem 1.1rem;font-size:.875rem;color:var(--ink-soft);
  transition:background .2s var(--ease),color .2s var(--ease);
}
.lang-menu a:hover{background:var(--cream-2);color:var(--ink)}
.lang-menu a[aria-current]{color:var(--gold-text);font-weight:500}
.header-phone{display:inline-flex;align-items:center;gap:.45rem}

/* ============ KONTAKT: FORMULÁR PODĽA ORIGINÁLU ============ */
.quote-form{width:100%}
.form-block{
  border:0;padding:var(--s-5) 0 0;margin:0 0 var(--s-5);
  border-top:1px solid rgba(25,12,6,.14);
  display:grid;grid-template-columns:minmax(15rem,21rem) 1fr;
  gap:var(--s-4) clamp(2.5rem,6vw,6rem);
  align-items:start;
}
.fb-head .overline{margin-bottom:var(--s-2)}
.fb-head h2{font-size:var(--t-h3);margin-bottom:var(--s-2);max-width:14ch;text-wrap:balance}
.fb-head p{font-size:var(--t-sm);color:var(--ink-soft);max-width:26rem}
.form-block .form-grid{gap:var(--s-3) var(--s-4)}
.form-foot{
  display:grid;grid-template-columns:minmax(15rem,21rem) 1fr;
  gap:var(--s-4) clamp(2.5rem,6vw,6rem);
  border-top:1px solid rgba(25,12,6,.14);
  padding-top:var(--s-4);
}
.quote-form .form-consent{margin-bottom:var(--s-3)}
@media (max-width:860px){
  .form-block,.form-foot{grid-template-columns:1fr;gap:var(--s-3)}
  /* Po zložení do stĺpca mal overline sekcie rovnaký štýl ako štítky polí —
     dva identické zlaté nadpisy pod sebou. Sekciu na mobile nesie serifový
     nadpis so zlatou linkou (ako medzinadpisy článkov), overline skryjeme. */
  .fb-head .overline{display:none}
  .fb-head h2::before{
    content:"";display:block;width:2.5rem;height:1px;background:var(--gold);
    margin-bottom:var(--s-2);
  }
  .fb-head h2{max-width:none}
  /* border sekcie by kolidoval so zlatou linkou nadpisu — oddelenie nesie linka */
  .form-block{padding-top:var(--s-4);margin-bottom:var(--s-4);border-top:0}
  /* Podčiarknutý vizuál zostáva; hierarchiu robí blízkosť — štítok tesne
     pri svojom poli a väčšia medzera medzi dvojicami. */
  .form-block .form-grid{gap:var(--s-4)}
  /* odoslanie je jediná akcia stránky — na mobile na celú šírku */
  .quote-form .btn-outline--lg{width:100%;text-align:center}
}

/* ============ ČLÁNOK (CMS obsah) ============ */
.article-body{max-width:66ch;margin-inline:auto}
.article-body h2,.article-body h3{
  font-family:var(--font-display);font-weight:400;color:var(--ink);
  margin:var(--s-4) 0 var(--s-2);line-height:1.15;
}
.article-body h2{font-size:var(--t-h2)}
.article-body h3{font-size:var(--t-h3)}
.article-body h2:first-child,.article-body h3:first-child{margin-top:0}
.article-body p{margin-bottom:var(--s-2)}
.article-body p+p{margin-top:0}
.article-body ul,.article-body ol{margin:0 0 var(--s-2) 1.2rem}
.article-body li{margin-bottom:.35rem}
.article-body li p{margin-bottom:.35rem}
.article-body img{max-width:100%;height:auto;display:block;margin-block:var(--s-4)}
.article-body strong{color:var(--ink);font-weight:500}
.article-body a{
  color:var(--gold-text);
  border-bottom:1px solid rgba(130,107,59,.35);
  padding-bottom:1px;
  transition:border-color .25s var(--ease);
}
.article-body a:hover{border-color:var(--gold-text)}
.article-body a.btn{color:var(--ink);border-bottom:none;padding-bottom:1.05rem}
/* pod lištou s dátumom netreba plné odsadenie sekcie */
.page-section--article{padding-top:var(--s-5)}
/* CMS oddeľuje sekcie cez <hr>; pred nadpisom je zbytočný — ten má vlastnú
   zlatú linku. Samostatný <hr> medzi odsekmi ostáva ako vlasová linka. */
.article-body .prose hr{border:0;border-top:1px solid rgba(25,12,6,.12);margin:var(--s-4) 0}
.article-body .prose hr:has(+ h2),
.article-body .prose hr:has(+ h3){display:none}
/* zlatá linka drží rytmus sekcií rovnako ako na ostatných podstránkach */
.article-body h2::before{
  content:"";display:block;width:2.5rem;height:1px;background:var(--gold);
  margin-bottom:var(--s-2);
}
.article-back{margin-top:var(--s-5)}

/* ============ MAPA DESTINÁCIÍ (hero) ============ */
/* mapa vypĺňa viewport, pás oblastí je ukotvený na jeho spodku */
.dest-map{
  background:var(--cream);position:relative;
  padding-top:4.6rem;height:100svh;min-height:34rem;
  display:flex;flex-direction:column;
}
.dm-canvas{
  position:relative;width:100%;max-width:1500px;margin-inline:auto;
  flex:1 1 auto;min-height:0;overflow:hidden;
}
.dest-map .dm-tabs{margin-top:auto}
/* popis pod mapou */
.dm-intro{text-align:center;padding-block:var(--s-5)}
.dm-intro .overline{display:block;color:var(--gold-text);margin-bottom:var(--s-2)}
.dm-intro h1{font-size:clamp(2.5rem,1.8rem + 2.2vw,3.5rem);margin-bottom:var(--s-3);text-wrap:balance}
.dm-sub{color:var(--ink-soft);max-width:48rem;margin-inline:auto;font-size:1.125rem;line-height:1.625}
.dm-svg{display:block;width:100%;height:100%}
.dm-geo path{
  fill:#F0ECE5;stroke:#DDD5C6;stroke-width:.5;stroke-linejoin:round;
  transition:fill .3s var(--ease);
}
.dm-geo path.is-lit{fill:#D3C29A}
.dm-marker{cursor:pointer;transition:opacity .3s var(--ease)}
.dm-marker image{
  transition:transform .3s var(--ease),opacity .3s var(--ease);
  transform-box:fill-box;transform-origin:center;
}
.dm-marker:hover image,.dm-marker:focus-visible image{transform:scale(1.25)}
.dm-marker:focus{outline:none}
.dm-marker:focus-visible circle{stroke:var(--gold);stroke-width:2}
.dm-marker.is-dim{opacity:.22;pointer-events:none}

/* tooltip */
.dm-tip{
  position:absolute;z-index:5;pointer-events:none;
  transform:translate(-50%,-100%);
  background:var(--navy);color:var(--white);
  padding:.85rem 1.5rem 1rem;
  min-width:11rem;text-align:center;
  box-shadow:0 14px 34px rgba(3,16,30,.28);
  opacity:0;transition:opacity .2s var(--ease);
}
.dm-tip.is-on{opacity:1}
.dm-tip.is-pinned{pointer-events:auto}
.dm-tip-cta:hover{color:var(--white);text-decoration:underline;text-underline-offset:3px}
.dm-tip::after{
  content:"";position:absolute;left:50%;bottom:-9px;
  border:9px solid transparent;border-top-color:var(--navy);
  transform:translateX(-50%);
}
.dm-tip-name{display:block;font-family:var(--font-display);font-size:1.2rem;line-height:1.2}
.dm-tip-cta{
  display:block;margin-top:.3rem;
  font-size:.8125rem;letter-spacing:.08em;color:var(--gold-light);
}

/* pás oblastí */
/* svetlé hero → header má tmavý text hneď od začiatku */
.site-header.is-static{background:var(--cream);box-shadow:0 1px 0 rgba(25,12,6,.08)}
.site-header.is-static .logo img{filter:none}
.site-header.is-static .main-nav a{color:var(--ink-soft)}
.site-header.is-static .main-nav a:hover{color:var(--ink)}
.site-header.is-static .main-nav a[aria-current="page"]{color:var(--gold-text)}
.site-header.is-static .lang summary{color:var(--ink-soft)}
.site-header.is-static .lang summary:hover{color:var(--ink)}
.site-header.is-static .btn-header{background:transparent;border-color:var(--ink);color:var(--ink)}
.site-header.is-static .btn-header:hover{background:var(--ink);color:var(--cream)}
.site-header.is-static .nav-toggle{color:var(--ink)}
.dm-tabs{border-top:1px solid rgba(25,12,6,.12);border-bottom:1px solid rgba(25,12,6,.12);background:var(--cream)}
.dm-tabs-inner{
  display:flex;flex-wrap:nowrap;gap:clamp(1rem,2.4vw,2.2rem);
  align-items:center;justify-content:safe center;
  padding-block:.2rem;
  overflow-x:auto;scroll-behavior:smooth;
  scrollbar-width:none;-ms-overflow-style:none;
}
.dm-tabs-inner::-webkit-scrollbar{display:none}
.dm-tab,.dm-clear{flex:0 0 auto}
.dm-tab{
  font-family:var(--font-body);font-size:var(--t-sm);letter-spacing:.05em;
  color:var(--ink-soft);background:transparent;
  border:none;border-bottom:2px solid transparent;
  padding:.9rem .2rem;cursor:pointer;white-space:nowrap;
  transition:color .25s var(--ease),border-color .25s var(--ease);
}
.dm-tab:hover{color:var(--ink)}
.dm-tab.active{color:var(--ink);border-color:var(--gold)}
.dm-clear{
  background:transparent;border:none;cursor:pointer;
  color:var(--ink-soft);font-size:1rem;padding:.5rem .7rem;line-height:1;
  transition:color .25s var(--ease);
}
.dm-clear:hover{color:var(--ink)}

@media (max-width:860px){
  .dest-map{padding-top:4.1rem;height:auto;min-height:0}
  .dm-canvas{flex:0 0 auto;height:min(46vh,420px)}
  .dm-intro{padding-block:var(--s-4)}
  .dm-intro .dm-sub{font-size:1.0625rem}
  .dm-tip{min-width:9rem;padding:.7rem 1.1rem .85rem}
  .dm-tip-name{font-size:1.05rem}
}
@media (prefers-reduced-motion:reduce){
  .dm-svg,.dm-geo path,.dm-marker image,.dm-tip{transition:none}
}

/* ============ DETAIL PLAVBY ============ */
/* sticky lišta */
.cd-bar{
  position:fixed;top:0;inset-inline:0;z-index:60;
  background:var(--cream);border-bottom:1px solid rgba(25,12,6,.12);
  box-shadow:0 1px 14px rgba(3,16,30,.07);
  transform:translateY(-100%);transition:transform .4s var(--ease);
}
.cd-bar.is-on{transform:none}
.cd-bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding-block:.7rem}
.cd-bar-title{
  display:block;font-family:var(--font-display);font-size:1.15rem;line-height:1.2;
  max-width:46ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.cd-bar-meta{display:block;font-size:.8125rem;color:var(--ink-soft);letter-spacing:.04em;margin-top:.15rem}
.cd-bar-cta{display:flex;align-items:center;gap:var(--s-3);flex-shrink:0}
.cd-bar-price{font-family:var(--font-display);font-size:1.2rem;text-align:right;white-space:nowrap}
.cd-bar-price small{
  display:block;font-family:var(--font-body);font-size:.6875rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-soft);margin-top:.1rem;
}
.cd-bar .btn{padding:.75rem 1.6rem}
@media (max-width:900px){
  .cd-bar-meta,.cd-bar-price small{display:none}
  .cd-bar-title{font-size:1rem;max-width:20ch}
  .cd-bar .btn{padding:.7rem 1.1rem;font-size:.8125rem}
}

/* split hero */
/* hero + lišta tabov sa musia zmestiť do viewportu ako v origináli */
.cd-hero{display:grid;grid-template-columns:1fr 1fr;min-height:min(70vh,40rem);margin-top:4.6rem;overflow:hidden}
.cd-panel{min-height:0}
.cd-gallery{position:relative;overflow:hidden;background:var(--navy-deep);min-height:0}
.gal-stage{position:absolute;inset:0}
.gal-slide{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity .3s var(--ease);
}
.gal-slide.is-on{opacity:1}
/* mapa trasy — celá viditeľná, ako v origináli */
.gal-slide--map{object-fit:contain;background:var(--cream-2);padding:1.25rem}
.gal-nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:2;
  width:2.9rem;height:2.9rem;display:grid;place-items:center;
  background:rgba(251,248,244,.9);border:none;cursor:pointer;
  font-size:1.4rem;line-height:1;color:var(--ink);
  transition:background .25s var(--ease);
}
.gal-nav:hover{background:var(--cream)}
.gal-nav.prev{left:1.25rem}
.gal-nav.next{right:1.25rem}
.gal-dots{position:absolute;left:50%;bottom:1.1rem;transform:translateX(-50%);display:flex;gap:.5rem;z-index:2}
.gal-dot{
  width:.5rem;height:.5rem;border:none;padding:0;cursor:pointer;
  background:rgba(255,255,255,.5);transition:background .25s var(--ease);
}
.gal-dot.active{background:var(--gold)}

.cd-panel{background:var(--cream-2);display:flex;align-items:center}
.cd-panel-inner{padding:clamp(1.25rem,2.2vw,2rem);max-width:36rem}
.cd-chip{
  display:inline-block;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold-text);border:1px solid rgba(143,109,31,.4);
  padding:.3rem .8rem;margin-bottom:.6rem;
  transition:background .25s var(--ease),color .25s var(--ease);
}
.cd-chip:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.cd-hero h1{font-size:clamp(1.6rem,1.05rem + 1.35vw,2.1rem);line-height:1.15;margin-bottom:.45rem;text-wrap:balance}
.cd-ports{color:var(--ink-soft);font-size:var(--t-sm);margin-bottom:var(--s-2)}
.cd-facts{display:flex;flex-direction:column;gap:.6rem;margin-bottom:var(--s-2)}
.cd-fact{display:flex;gap:.9rem;align-items:flex-start}
.cd-fact .ico{flex-shrink:0;width:1.15rem;height:1.15rem;color:var(--gold-text);margin-top:.2rem}
.cd-fact .ico svg{width:100%;height:100%}
/* hodnota nasleduje hneď za dvojbodkou — bez zarovnávania do stĺpca,
   inak pri rôzne dlhých popiskoch vznikajú nerovnaké medzery */
.cd-fact div{display:block;font-size:var(--t-sm);line-height:1.6}
.cd-fact dt{display:inline;color:var(--ink);font-weight:500}
.cd-fact dt::after{content:":\00a0";font-weight:400}
.cd-fact dd{display:inline;color:var(--ink-soft)}
.cd-fact dd::after{content:"\A";white-space:pre}
.cd-fact dd:last-child::after{content:none}
.cd-price{margin-bottom:.85rem}
.cd-price-v{display:block;font-family:var(--font-display);font-size:1.35rem;color:var(--gold-text)}
.cd-price-n{display:block;font-size:var(--t-sm);color:var(--ink-soft);margin-top:.1rem}
@media (max-width:900px){
  .cd-hero{grid-template-columns:1fr;min-height:0;margin-top:4.1rem}
  .cd-gallery{aspect-ratio:4/3;min-height:0}
  .cd-panel-inner{max-width:none;padding:var(--s-4) clamp(1.25rem,4vw,3rem) var(--s-5)}
}

/* taby detailu */
.cd-tabs{
  position:sticky;top:0;z-index:40;background:var(--cream);
  border-top:1px solid rgba(25,12,6,.12);
  border-bottom:1px solid rgba(25,12,6,.12);
}
.cd-tabs .wrap{
  display:flex;flex-wrap:nowrap;justify-content:safe center;
  gap:clamp(1rem,2.4vw,2.2rem);padding-block:.2rem;
  overflow-x:auto;scroll-behavior:smooth;
  scrollbar-width:none;-ms-overflow-style:none;
}
.cd-tab{flex:0 0 auto}
.cd-tabs .wrap::-webkit-scrollbar{display:none}
/* rovnaká lišta ako filtre na Lodiach/Prístavoch */
.cd-tab{
  background:none;border:none;cursor:pointer;white-space:nowrap;
  font-family:var(--font-body);font-size:var(--t-sm);letter-spacing:.05em;
  color:var(--ink-soft);padding:.9rem .2rem;
  border-bottom:2px solid transparent;
  transition:color .25s var(--ease),border-color .25s var(--ease);
}
.cd-tab:hover{color:var(--ink)}
.cd-tab.active{color:var(--ink);border-color:var(--gold)}
.cd-panelbox{scroll-margin-top:5rem}

/* spoločné pre panely detailu */
.cd-h2{font-size:clamp(2rem,1.4rem + 2.2vw,3rem);margin-bottom:.4rem}
.cd-note{font-size:var(--t-sm);font-style:italic;color:var(--ink-soft);margin-bottom:var(--s-4)}
.itinerary--full{margin-top:var(--s-2)}
.itinerary--full tbody tr{transition:background .2s var(--ease)}
.itinerary--full tbody tr:hover{background:var(--cream-2)}

/* kajuty — vodorovné karty ako v origináli */
.cabin-list{display:flex;flex-direction:column;gap:var(--s-3)}
.cabin-row{
  display:grid;grid-template-columns:400px 1fr;
  background:var(--cream-2);min-height:280px;overflow:hidden;
}
.cabin-photo{overflow:hidden}
.cabin-photo img{width:100%;height:100%;object-fit:cover;display:block}
.cabin-body{
  display:flex;flex-direction:column;justify-content:space-between;
  gap:var(--s-3);padding:var(--s-4) var(--s-4) calc(var(--s-4) + .35rem);
}
.cabin-body h3{font-size:clamp(1.35rem,1.1rem + .7vw,1.75rem);margin-bottom:var(--s-2)}
.cabin-facts{display:flex;flex-direction:column;gap:.55rem;font-size:var(--t-sm)}
.cabin-facts li{display:flex;align-items:center;gap:.6rem}
.cabin-facts .ico{display:inline-flex;width:1rem;height:1rem;color:var(--ink-soft);flex:none}
.cabin-facts .ico svg{width:100%;height:100%}
.cabin-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap}
.cabin-more{
  font-size:var(--t-sm);color:var(--gold-text);text-decoration:underline;
  text-underline-offset:3px;white-space:nowrap;
}
.cabin-more:hover{color:var(--ink)}
.cabin-buy{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap}
.cabin-price .v{display:block;font-size:1.25rem;color:var(--gold-text);font-weight:500}
.cabin-price .n{display:block;font-size:.6875rem;color:var(--ink-soft);margin-top:.1rem}
.cabin-row .btn-outline{padding:.75rem 1.9rem;white-space:nowrap}
@media (max-width:900px){
  .cabin-row{grid-template-columns:1fr}
  .cabin-photo{aspect-ratio:16/9}
  .cabin-foot{flex-direction:column;align-items:flex-start}
  .cabin-buy{width:100%;justify-content:space-between}
}

/* údaje o lodi */
.cd-shipbox{background:var(--cream-2);padding-block:clamp(3.5rem,6vw,6rem)}
/* Oba stĺpce majú rovnakú výšku a obsah vpravo sa rozloží od hornej po dolnú
   hranu fotografie — inak pod špecifikáciou zostávala prázdna plocha. */
.ship-split{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5);align-items:stretch}
.ship-photo{overflow:hidden;min-height:24rem}
.ship-photo img{width:100%;height:100%;object-fit:cover;display:block}
.ship-split > .ship-info{display:flex;flex-direction:column;justify-content:space-between;gap:var(--s-3)}
.ship-stats{
  display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);
  padding-bottom:var(--s-4);border-bottom:1px solid rgba(25,12,6,.14);
}
.ship-stat{display:flex;flex-direction:column;flex:1 1 0}
.ship-stat + .ship-stat{border-left:1px solid rgba(25,12,6,.14);padding-left:var(--s-3)}
.ship-stat .v{font-size:1.15rem;font-weight:500;color:var(--gold-text);margin-bottom:.15rem}
.ship-stat .k{font-size:var(--t-sm);color:var(--ink-soft)}
.ship-specs-head{
  font-family:var(--font-body);font-size:var(--t-overline);font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gold-text);
  margin-bottom:var(--s-2);
}
.ship-spec{display:grid;grid-template-columns:1fr 1fr;gap:.6rem var(--s-4)}
.ship-spec > div{display:flex;justify-content:space-between;gap:var(--s-2);border-bottom:1px solid rgba(25,12,6,.1);padding-bottom:.5rem;font-size:var(--t-sm)}
.ship-spec dt{color:var(--ink-soft)}
@media (max-width:900px){.ship-split{grid-template-columns:1fr}}
@media (max-width:640px){
  .ship-stats{flex-wrap:wrap;row-gap:var(--s-3)}
  .ship-stat{flex:1 1 40%}
  .ship-stat:nth-child(odd) + .ship-stat{border-left:1px solid rgba(25,12,6,.14)}
  .ship-stat:nth-child(odd){border-left:0;padding-left:0}
  .ship-spec{grid-template-columns:1fr}
}

/* aktivity na lodi — karusel s obrázkami ako v origináli */
.act-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-3)}
.act-nav{display:flex;gap:.5rem;flex:none}
.act-arrow{
  width:2.5rem;height:2.5rem;display:grid;place-items:center;
  border:1px solid var(--gold);color:var(--gold-text);font-size:1.2rem;line-height:1;
  transition:background .25s var(--ease),color .25s var(--ease),opacity .25s var(--ease);
}
.act-arrow:hover:not(:disabled){background:var(--gold);color:var(--white)}
.act-arrow:disabled{opacity:.3;cursor:default}
.chips--pill{flex-wrap:wrap;justify-content:flex-start;gap:.5rem;overflow:visible;margin-bottom:var(--s-4)}
.chips--pill .chip{
  padding:.55rem 1.1rem;border:1px solid rgba(25,12,6,.28);
  font-size:var(--t-sm);letter-spacing:.02em;
}
.chips--pill .chip::after{display:none}
.chips--pill .chip.active{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.act-rail{
  display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 2 * var(--s-4)) / 3);
  gap:var(--s-4);overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;
  scrollbar-width:none;-ms-overflow-style:none;padding-bottom:.25rem;
}
.act-rail::-webkit-scrollbar{display:none}
.act-card{scroll-snap-align:start;display:flex;flex-direction:column}
.act-card[hidden]{display:none}
.act-photo{aspect-ratio:4/3;overflow:hidden}
.act-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.act-card:hover .act-photo img{transform:scale(1.05)}
.act-text{background:rgba(25,12,6,.03);padding:var(--s-3);flex:1;min-height:11rem}
.act-text h3{font-size:1.35rem;margin-bottom:.6rem;text-wrap:balance;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.act-text p{font-size:var(--t-sm);color:var(--ink-soft);line-height:1.65;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:900px){.act-rail{grid-auto-columns:calc((100% - var(--s-4)) / 2)}}
@media (max-width:600px){.act-rail{grid-auto-columns:86%}.act-nav{display:none}}

/* hľadanie prístavu */
.port-search{padding-bottom:var(--s-4)}
.ps-field{position:relative;max-width:28rem;margin-inline:auto}
.ps-ico{
  position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:1.15rem;height:1.15rem;color:var(--ink-soft);pointer-events:none;
}
.ps-field input{
  width:100%;padding:.7rem 0 .7rem 1.9rem;
  font-family:inherit;font-size:var(--t-base);color:var(--ink);
  background:none;border:0;border-bottom:1px solid rgba(25,12,6,.28);
  transition:border-color .25s var(--ease);
}
.ps-field input::placeholder{color:var(--ink-soft)}
.ps-field input:focus{outline:none;border-color:var(--gold-text)}
.ps-field input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
.ports-empty{text-align:center;color:var(--ink-soft);padding-block:var(--s-4)}

/* FAQ */
.faq-cat{
  max-width:52rem;margin:0 auto var(--s-4);text-align:center;
  font-size:clamp(1.6rem,1.2rem + 1.2vw,2.2rem);
}
.faq-list{max-width:52rem;margin-inline:auto}
.faq-note{
  max-width:52rem;margin:var(--s-5) auto 0;text-align:center;
  font-size:var(--t-sm);color:var(--ink-soft);
}

/* palubné plány — sekcia s tlačidlom a popup so zoomom (ako v origináli) */
.deck-lead{max-width:42rem;margin:0 auto var(--s-4);text-align:center;color:var(--ink-soft);line-height:1.7}
.deck-box{
  /* rovnaké rozmery ako originál: max. 1024 px široké, 85 % výšky okna */
  position:relative;display:grid;grid-template-columns:16.25rem 1fr;
  width:min(64rem,100%);height:85vh;
  background:var(--cream);box-shadow:0 30px 80px rgba(3,16,30,.35);overflow:hidden;
}
.deck-nav{background:var(--cream-2);padding:var(--s-3);border-right:1px solid rgba(25,12,6,.12);overflow-y:auto}
.deck-nav .overline{display:block;margin-bottom:.4rem}
.deck-ship{font-size:1.5rem;margin-bottom:var(--s-3)}
.deck-label{
  display:block;font-size:var(--t-sm);letter-spacing:.04em;
  color:var(--ink-soft);margin-bottom:.6rem;
}
.deck-select{width:100%}
.deck-nav .cs-trigger{width:100%;border:1px solid rgba(25,12,6,.28);padding:.7rem .9rem;background:var(--cream)}
.deck-hint{margin-top:var(--s-3);font-size:var(--t-sm);color:var(--ink-soft);line-height:1.6}
.deck-stage{
  position:relative;overflow:hidden;background:var(--white);
  display:grid;place-items:center;touch-action:none;cursor:grab;
}
.deck-stage.is-panning{cursor:grabbing}
/* absolútne umiestnenie — percentuálna max-height sa v grid bunke
   neuplatní a veľmi vysoké plány potom pretečú mimo plochu */
.deck-stage img{
  position:absolute;inset:var(--s-3);
  width:calc(100% - 2 * var(--s-3));height:calc(100% - 2 * var(--s-3));
  object-fit:contain;transform-origin:center center;
  user-select:none;-webkit-user-drag:none;
}
.deck-zoom{position:absolute;right:1rem;bottom:2.6rem;display:flex;flex-direction:column;gap:.4rem;z-index:2}
.deck-zoom button{
  width:2.4rem;height:2.4rem;display:grid;place-items:center;font-size:1.05rem;
  background:var(--cream);border:1px solid rgba(25,12,6,.16);color:var(--ink-soft);
  transition:color .2s var(--ease),border-color .2s var(--ease);
}
.deck-zoom button:hover{color:var(--ink);border-color:var(--gold)}
.deck-caption{
  position:absolute;left:0;right:0;bottom:.6rem;text-align:center;
  font-size:var(--t-sm);color:var(--gold-text);letter-spacing:.04em;
}
.deck-x{
  position:absolute;right:1rem;top:1rem;z-index:3;
  width:2.4rem;height:2.4rem;display:grid;place-items:center;
  color:var(--ink-soft);background:var(--cream);
}
.deck-x:hover{color:var(--ink)}
@media (max-width:860px){
  .deck-box{grid-template-columns:1fr;grid-template-rows:auto 1fr;height:92vh}
  .deck-nav{border-right:0;border-bottom:1px solid rgba(25,12,6,.12);padding:var(--s-3)}
  .deck-ship{font-size:1.5rem;margin-bottom:var(--s-3)}
  .deck-hint{display:none}
}

/* zážitky v prístave — vždy v jednom rade, nech nezostane jedna karta sama */
/* zážitky v prístave — fotka a pod ňou nadpis s popisom, nie popiska cez obrázok.
   Počet stĺpcov riadi generátor podľa počtu zážitkov (--exp-cols/--exp-max),
   aby jeden zážitok nezabral celú šírku strany. */
.exp-grid{
  display:grid;grid-template-columns:repeat(var(--exp-cols,3),minmax(0,1fr));
  gap:var(--s-4) clamp(1.25rem,2.4vw,2.25rem);
  max-width:var(--exp-max,none);margin-inline:auto;
}
.exp-card{display:flex;flex-direction:column}
.exp-photo{aspect-ratio:4/3;overflow:hidden}
.exp-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.exp-card:hover .exp-photo img{transform:scale(1.045)}
.exp-body{padding-top:var(--s-2)}
.exp-body h3{
  font-family:var(--font-display);font-size:1.3rem;line-height:1.25;color:var(--ink);
  margin-bottom:.55rem;text-wrap:balance;
}
.exp-body p{font-size:var(--t-sm);line-height:1.75;color:var(--ink-soft)}
@media (max-width:900px){.exp-grid{grid-template-columns:1fr 1fr;max-width:none}}
@media (max-width:560px){.exp-grid{grid-template-columns:1fr}}

/* lightbox galérie a detail aktivity */
.gal-item,.act-card{cursor:pointer}
.lb{position:fixed;inset:0;z-index:140;display:grid;place-items:center;padding:var(--s-3)}
.lb[hidden]{display:none}
.lb-backdrop{position:absolute;inset:0;background:rgba(3,16,30,.72)}
.lb-box{position:relative;width:min(64rem,100%);max-height:90vh;display:flex;flex-direction:column}
.lb-figure{flex:1;min-height:0;display:grid;place-items:center}
.lb-img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.lb-x{
  position:absolute;right:-.25rem;top:-2.6rem;z-index:2;
  width:2.4rem;height:2.4rem;display:grid;place-items:center;color:var(--white-soft);
}
.lb-x:hover{color:var(--white)}
.lb-nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:2;
  width:2.8rem;height:2.8rem;display:grid;place-items:center;
  font-size:1.4rem;color:var(--ink);background:var(--cream);
  transition:background .25s var(--ease);
}
.lb-nav:hover{background:var(--white)}
.lb-nav[hidden]{display:none}
.lb-prev{left:-1.4rem}
.lb-next{right:-1.4rem}
/* varianta s textom — karta aktivity */
.lb--info .lb-box{width:min(34rem,100%);background:var(--cream)}
.lb--info .lb-figure{flex:none;aspect-ratio:16/9;overflow:hidden}
.lb--info .lb-img{width:100%;height:100%;object-fit:cover}
.lb-text{padding:var(--s-3);overflow-y:auto}
.lb-text[hidden]{display:none}
.lb-title{font-size:1.5rem;margin-bottom:.6rem}
.lb-desc{font-size:var(--t-sm);color:var(--ink-soft);line-height:1.7}
@media (max-width:720px){
  .lb-prev{left:.2rem}
  .lb-next{right:.2rem}
}

/* článok a jeho pätka s ďalšími článkami */
.article-body{max-width:44rem}
.article-back{
  display:inline-block;margin-bottom:var(--s-4);
  font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;
}
.article-body .prose{font-size:1.0625rem;line-height:1.8;color:var(--ink-soft)}
/* prvý odsek ako perex */
.article-body .prose > p:first-of-type{
  font-size:1.25rem;line-height:1.65;color:var(--ink);
  padding-bottom:var(--s-3);border-bottom:1px solid rgba(25,12,6,.12);
}
.article-body .prose h2{
  font-size:clamp(1.5rem,1.2rem + 1vw,2rem);color:var(--ink);
  line-height:1.25;margin:var(--s-5) 0 var(--s-2);text-wrap:balance;
}
.article-body .prose h2:first-child{margin-top:0}
.article-body .prose h3{font-size:1.3rem;color:var(--ink);margin:var(--s-4) 0 .6rem}
.article-body .prose p{margin-bottom:1.15rem}
.article-body .prose strong{color:var(--ink);font-weight:500}
.article-body .prose ul,.article-body .prose ol{margin:0 0 1.4rem;padding-left:0;list-style:none}
.article-body .prose li{position:relative;padding-left:1.5rem;margin-bottom:.6rem}
.article-body .prose ul li::before{
  content:"";position:absolute;left:0;top:.7em;
  width:.42rem;height:1px;background:var(--gold);
}
.article-body .prose ol{counter-reset:art}
.article-body .prose ol li{counter-increment:art}
.article-body .prose ol li::before{
  content:counter(art) ".";position:absolute;left:0;top:0;
  color:var(--gold-text);font-size:var(--t-sm);
}
.article-body .prose img{width:100%;height:auto;margin:var(--s-4) 0}
.article-body .prose a{color:var(--gold-text);text-decoration:underline;text-underline-offset:3px}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-4)}
.post-card{display:flex;flex-direction:column;color:inherit}
.post-photo{display:block;aspect-ratio:3/2;overflow:hidden;margin-bottom:var(--s-2)}
.post-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.post-card:hover .post-photo img{transform:scale(1.05)}
.post-date{
  display:block;font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold-text);margin-bottom:.4rem;
}
.post-title{
  display:block;font-family:var(--font-display);font-size:1.2rem;line-height:1.3;
  transition:color .25s var(--ease);
}
.post-card:hover .post-title{color:var(--gold-text)}
@media (max-width:820px){.post-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.post-grid{grid-template-columns:1fr}}

/* stránka O nás */
/* rovnaké rozloženie bez ohľadu na dĺžku textu — fotka sa drží pri čítaní,
   aby pri dlhom zozname nezostal vedľa nej prázdny stĺpec */
.about-split{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5);align-items:start}
.about-split--rev .about-photo{order:2}
.about-photo{aspect-ratio:4/3;overflow:hidden;position:sticky;top:6rem}
.about-photo img{width:100%;height:100%;object-fit:cover;display:block}
.about-split .cd-h2{margin-bottom:var(--s-3)}
.about-split .prose{max-width:38rem}
/* sekcia bez fotky nesmie zostať v polovičnom stĺpci */
.about-split:not(:has(.about-photo)){grid-template-columns:1fr}
.about-split:not(:has(.about-photo)) .prose{max-width:48rem}
.prose p + p{margin-top:.9rem}
.about-split .btn-outline{margin-top:var(--s-3)}
/* rozbaľovací text — každá spoločnosť má rovnako vysoký blok, dlhší sa otvorí */
.prose-clip{position:relative;overflow:hidden;transition:max-height .5s ease}
.prose-clip.is-clipped{max-height:var(--clip-h,20rem)}
.prose-clip.is-clipped::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:5rem;pointer-events:none;
  background:linear-gradient(to top,var(--clip-bg,var(--cream)),rgba(251,248,244,0));
}
.prose-more{
  display:inline-flex;align-items:center;gap:.45rem;margin-top:var(--s-2);
  background:none;border:0;padding:0;cursor:pointer;
  font-family:var(--font-body);font-size:var(--t-sm);color:var(--gold-text);
  letter-spacing:.02em;border-bottom:1px solid rgba(143,109,31,.35);
  padding-bottom:.15rem;transition:border-color .25s,color .25s;
}
.prose-more:hover{color:var(--ink);border-color:var(--ink)}
.prose-more-caret{transition:transform .3s ease}
.prose-more[aria-expanded="true"] .prose-more-caret{transform:rotate(180deg)}
@media (prefers-reduced-motion:reduce){
  .prose-clip,.prose-more-caret{transition:none}
}

/* zoznamy v obsahových sekciách — zlaté pomlčky, čitateľné vnorenie */
.prose ul,.prose ol,
.article-body ul,.article-body ol{margin:1rem 0;padding-left:0;list-style:none}
.prose li,.article-body li{position:relative;padding-left:1.4rem;margin-bottom:.5rem}
.prose li::before,.article-body li::before{
  content:"";position:absolute;left:0;top:.72em;width:.42rem;height:1px;background:var(--gold);
}
.prose li ul,.article-body li ul{margin:.55rem 0 .3rem;padding-left:.4rem}
.prose li li,.article-body li li{
  font-size:.875rem;color:rgba(25,12,6,.55);margin-bottom:.3rem;padding-left:1.1rem;
}
/* úvodné tučné slovo v odrážke musí niesť váhu — je to nosič informácie */
.prose li > p strong:first-child,
.article-body li > p strong:first-child{color:var(--ink);font-weight:500}
.prose li li::before,.article-body li li::before{
  width:.3rem;height:.3rem;border-radius:50%;background:var(--gold-light);top:.62em;
}
/* odsek v odrážke nemá pridávať vertikálny rytmus */
.prose li > p,.article-body li > p{margin:0}
.prose li > p + p,.article-body li > p + p{margin-top:.35rem}
/* odsek zložený len z tučného textu funguje ako medzinadpis */
.prose .prose-sub,.article-body .prose-sub{
  margin:var(--s-4) 0 .35rem;font-size:.6875rem;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gold-text);
}
.prose .prose-sub:first-child,.article-body .prose-sub:first-child{margin-top:0}
/* poznámka pod čiarou */
.prose .prose-note,.article-body .prose-note{
  margin-top:1rem;padding-left:.9rem;border-left:1px solid rgba(25,12,6,.16);
  font-size:.875rem;color:rgba(25,12,6,.55);
}
.prose h3,.article-body h3{
  font-size:1.15rem;color:var(--ink);margin:var(--s-3) 0 .5rem;
}
.prose strong,.article-body strong{color:var(--ink);font-weight:500}
.prose em,.article-body em{font-size:var(--t-sm)}
/* ocenenia — kompas nad názvom a zvislé deliace linky ako v origináli */
.award-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.award{display:flex;flex-direction:column;padding-inline:clamp(1.5rem,3vw,3rem)}
.award:first-child{padding-left:0}
.award:last-child{padding-right:0}
.award + .award{border-left:1px solid rgba(25,12,6,.16)}
.award-ico{width:3rem;height:3rem;margin-bottom:var(--s-3);display:block}
.award h3{
  font-family:var(--font-display);font-size:1.4rem;line-height:1.25;
  letter-spacing:.01em;margin-bottom:.6rem;text-wrap:balance;
}
.award p{font-size:var(--t-sm);color:var(--ink-soft);line-height:1.7}
.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-5);max-width:52rem;margin-inline:auto}
.team-card{text-align:center}
.team-photo{aspect-ratio:3/4;overflow:hidden;margin-bottom:var(--s-3)}
.team-photo img{width:100%;height:100%;object-fit:cover;display:block}
.team-card h3{font-size:1.35rem;margin-bottom:.2rem}
.team-role{font-size:var(--t-sm);color:var(--gold-text);margin-bottom:.75rem}
.team-contact{display:flex;flex-direction:column;gap:.2rem;font-size:var(--t-sm)}
.team-contact a{color:var(--ink-soft)}
.team-contact a:hover{color:var(--ink)}
@media (max-width:860px){
  .about-split{grid-template-columns:1fr}
  .about-split--rev .about-photo{order:0}
  .about-photo{position:static}
  .about-split .prose{max-width:none}
  .award-grid{grid-template-columns:1fr;gap:var(--s-4)}
  .award{padding-inline:0}
  .award + .award{border-left:0;border-top:1px solid rgba(25,12,6,.16);padding-top:var(--s-4)}
}
@media (max-width:600px){.team-grid{grid-template-columns:1fr;max-width:22rem}}

/* detail destinácie */
.anchor-section{scroll-margin-top:5.5rem}
.section-h2--center{text-align:center;margin-bottom:var(--s-4)}
.section-more{text-align:center;margin-top:var(--s-4)}
.dest-about{background:var(--cream-2);padding-block:clamp(3.5rem,6vw,6rem)}
.prose--center{max-width:52rem;margin-inline:auto;text-align:center}
.act-head--center{align-items:center}
.act-head--center .cd-h2{margin-bottom:.25rem}
.cd-sub{color:var(--ink-soft);font-size:var(--t-sm)}
.port-slide{scroll-snap-align:start;display:flex;flex-direction:column;color:inherit}
.port-slide[hidden]{display:none}
.port-photo{aspect-ratio:4/3;overflow:hidden}
.port-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.port-slide:hover .port-photo img{transform:scale(1.05)}
.port-text{background:rgba(25,12,6,.03);padding:var(--s-3);flex:1;min-height:10rem}
.port-text h3{font-size:1.6rem;margin-bottom:.5rem;text-wrap:balance}
.port-text p{font-size:var(--t-sm);color:var(--ink-soft);line-height:1.65;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:640px){.act-head--center{flex-direction:column;align-items:flex-start;gap:var(--s-2)}}

/* modál detailu kajuty */
.cabin-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:var(--s-3)}
.cabin-modal[hidden]{display:none}
.cabin-modal-backdrop{position:absolute;inset:0;background:rgba(3,16,30,.55)}
.cabin-modal-box{
  position:relative;width:min(64rem,100%);max-height:88vh;overflow:auto;
  background:var(--cream);box-shadow:0 30px 80px rgba(3,16,30,.35);
}
.cabin-modal-head{
  display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);
  padding:var(--s-3) var(--s-4);border-bottom:1px solid rgba(25,12,6,.12);
  position:sticky;top:0;background:var(--cream);z-index:2;
}
.cabin-modal-head h2{font-size:clamp(1.5rem,1.2rem + 1vw,2rem)}
.cabin-modal-x{font-size:1rem;color:var(--ink-soft);padding:.25rem .5rem}
.cabin-modal-x:hover{color:var(--ink)}
.cabin-modal-body{display:grid;grid-template-columns:1.15fr 1fr;gap:var(--s-4);padding:var(--s-4)}
.cabin-modal-gal{display:flex;flex-direction:column;gap:.6rem}
.cabin-modal-gal img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.cabin-modal-info .overline{display:block;margin:var(--s-3) 0 .75rem}
.cabin-modal-info .btn-outline{margin-top:var(--s-3)}
@media (max-width:800px){.cabin-modal-body{grid-template-columns:1fr}}

/* galéria */
.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.75rem,1.5vw,1.5rem)}
.gal-item{overflow:hidden;aspect-ratio:4/3}
/* obrázok je vyšší než rám a pri rolovaní sa v ňom posúva.
   Priblíženie pri hoveri ide cez samostatnú vlastnosť `scale`, aby sa
   nebilo s posunom, ktorý do `transform` zapisuje skript. */
.gal-item img{
  width:100%;height:128%;position:relative;top:-14%;object-fit:cover;
  scale:1;transition:scale 1.1s var(--ease);
}
.gal-item:hover img{scale:1.04}
/* posunuté druhé stĺpce ako v prehľade destinácií — pri rolovaní to čítať
   ako parallax a mriežka prestane pôsobiť ako tabuľka */
@media (min-width:861px){
  .gal-grid{align-items:start}
  .gal-grid .gal-item:nth-child(even){margin-top:2.5rem}
}
@media (max-width:860px){.gal-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.gal-grid{grid-template-columns:1fr}}


/* ============ VODOROVNE ROLOVATEĽNÉ MENU (šípky ako v origináli) ============ */
.tabscroll{display:flex;align-items:center;gap:.25rem}
.tabscroll > .chips,
.tabscroll > .dm-tabs-inner,
.tabscroll > .wrap{flex:1 1 auto;min-width:0;order:0}
.tabscroll-arrow{
  order:1;flex:0 0 auto;
  display:none;place-items:center;
  width:2rem;height:2rem;padding:0;
  background:none;border:none;cursor:pointer;
  color:var(--ink-soft);font-size:1.35rem;line-height:1;
  transition:color .25s var(--ease),opacity .25s var(--ease);
}
.tabscroll-arrow.prev{order:-1}
.tabscroll.has-scroll .tabscroll-arrow{display:grid}
.tabscroll-arrow:hover{color:var(--ink)}
.tabscroll-arrow[disabled]{opacity:.2;cursor:default}

/* ============ ŽIADOSŤ O CENU — viackrokový formulár ============
   Rozmery a skladba 1:1 podľa originálu (aureanjourneys.com), len naše
   farby (navy/zlatá/krém) a fonty (EB Garamond namiesto Forum). */
.wz{position:fixed;inset:0;z-index:150;background:var(--cream);overflow-y:auto}
.wz[hidden]{display:none}
.wz--page{position:static;min-height:100vh}

/* lišta: späť · Krok X z Y + segmenty · zavrieť */
.wz-bar{position:sticky;top:0;z-index:2;background:var(--cream);border-bottom:1px solid rgba(25,12,6,.1)}
.wz-bar-inner{
  max-width:var(--max);margin-inline:auto;padding:.9rem clamp(1rem,4vw,3rem);
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--s-2);
}
.wz-back,.wz-x{
  background:none;border:0;cursor:pointer;color:var(--ink-soft);
  font-family:var(--font-body);font-size:var(--t-sm);
  display:inline-flex;align-items:center;gap:.45rem;padding:.5rem;
}
.wz-back:hover,.wz-x:hover{color:var(--ink)}
.wz-x{justify-self:end;font-size:1.25rem;line-height:1}
.wz-prog{display:flex;align-items:center;gap:.8rem;justify-self:center}
.wz-prog .lab{font-size:var(--t-base);color:var(--ink);white-space:nowrap}
.wz-prog .dots{display:flex;gap:.5rem}
.wz-prog i{display:block;width:2rem;height:4px;border-radius:999px;background:rgba(25,12,6,.2)}
.wz-prog i.on{background:var(--gold)}
@media (max-width:640px){
  .wz-bar-inner{padding-inline:1rem}
  .wz-prog{gap:.5rem}.wz-prog .lab{font-size:var(--t-sm)}
  .wz-prog i{width:1.1rem}
  .wz-back span{display:none}
}

/* telo kroku — stĺpec 768 px ako v origináli */
.wz-body{max-width:48rem;margin-inline:auto;padding:var(--s-5) clamp(1rem,4vw,1.5rem) var(--s-6)}
.wz-step[hidden]{display:none}
.wz-h{font-family:var(--font-display);font-weight:400;font-size:clamp(1.7rem,1.3rem+1.8vw,2.25rem);text-align:center;margin-bottom:.5rem}
.wz-sub{text-align:center;color:var(--ink-soft);font-size:var(--t-base);margin-bottom:var(--s-5)}
@media (max-width:560px){.wz-body{padding-top:var(--s-4)}.wz-sub{margin-bottom:var(--s-4)}}

/* cestujúci */
.wz-pax{border-bottom:1px solid rgba(25,12,6,.1);padding-bottom:var(--s-4);margin-bottom:var(--s-4)}
.wz-pax:last-of-type{border-bottom:0}
.wz-pax-head{display:flex;align-items:center;gap:.7rem;margin-bottom:var(--s-3)}
.wz-pax-head .av{
  width:2.25rem;height:2.25rem;border-radius:50%;display:grid;place-items:center;
  background:rgba(179,150,85,.14);color:var(--gold-text);flex:none;
}
.wz-pax-head .av svg{width:1.1rem;height:1.1rem}
.wz-pax-head h3{font-family:var(--font-body);font-weight:500;font-size:var(--t-base)}
.wz-pax-head .rm{margin-left:auto;background:none;border:0;cursor:pointer;font-size:var(--t-sm);color:rgba(25,12,6,.46)}
.wz-pax-head .rm:hover{color:var(--ink)}
.wz-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3) var(--s-4)}
@media (max-width:560px){.wz-grid{grid-template-columns:1fr}}
.wz-f label{display:block;font-size:.875rem;font-weight:500;color:rgba(25,12,6,.7);margin-bottom:.3rem}
.wz-f label .opt{font-weight:400;color:rgba(25,12,6,.46)}
.wz-f label .req{color:#9E3B24}
.wz-f input,.wz-f select,.wz-f textarea{
  width:100%;background:transparent;border:0;border-bottom:1px solid rgba(25,12,6,.3);
  padding:.75rem 0;font-family:var(--font-body);font-size:var(--t-base);font-weight:300;color:var(--ink);
}
.wz-f input:focus,.wz-f select:focus,.wz-f textarea:focus{outline:none;border-color:var(--gold-text)}
.wz-f textarea{min-height:5.5rem;resize:vertical}
.wz-f .hint{display:block;font-size:.875rem;color:rgba(25,12,6,.46);margin-top:.4rem}
.wz-add{
  width:100%;margin-top:var(--s-3);padding:1rem;cursor:pointer;
  background:none;border:2px dashed rgba(25,12,6,.2);color:rgba(25,12,6,.7);
  font-family:var(--font-body);font-size:var(--t-base);
}
.wz-add:hover{border-color:rgba(143,109,31,.5);color:var(--gold-text)}
.wz-note{
  background:rgba(25,12,6,.035);
  padding:var(--s-3);margin-top:var(--s-4);font-size:var(--t-sm);line-height:1.65;color:var(--ink-soft);
}
.wz-note b{color:var(--ink);font-weight:500}

/* možnosti — kajuty a typ žiadosti: tónované karty ako v origináli
   (bg #F9F8F5, foto 80×64, malé meno 12px, serif 18px, cena 18px zlatá) */
.wz-opt{
  position:relative;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;
  gap:.15rem var(--s-3);width:100%;text-align:left;cursor:pointer;
  background:rgba(25,12,6,.035);border:1px solid transparent;
  padding:1rem;margin-bottom:.75rem;font-family:var(--font-body);
}
.wz-opt:hover{border-color:rgba(179,150,85,.5)}
.wz-opt.is-on{border-color:var(--gold);background:rgba(179,150,85,.09)}
.wz-opt img{grid-row:span 4;width:5rem;height:4rem;object-fit:cover;align-self:start}
.wz-opt .cat{grid-column:2;font-size:.75rem;color:rgba(25,12,6,.5);line-height:1.3}
.wz-opt .nm{grid-column:2;font-family:var(--font-display);font-size:1.125rem;line-height:1.3;color:var(--ink)}
.wz-opt .mt{grid-column:2;font-size:.875rem;color:var(--ink-soft)}
.wz-opt .more{grid-column:2;font-size:.875rem;color:var(--gold-text);margin-top:.2rem}
.wz-opt .pr{
  grid-column:3;grid-row:1/span 4;align-self:center;
  font-size:1.125rem;font-weight:600;color:var(--gold-text);
  white-space:nowrap;font-variant-numeric:tabular-nums;
}
.wz-opt .pr.ask{font-size:.875rem;font-weight:400;color:var(--ink-soft);white-space:normal;max-width:7rem;text-align:right}
.wz-opt .rad{
  grid-column:4;grid-row:1/span 3;align-self:center;
  width:1.5rem;height:1.5rem;border-radius:50%;border:2px solid rgba(25,12,6,.2);
  display:grid;place-items:center;flex:none;
}
.wz-opt.is-on .rad{border-color:var(--gold)}
.wz-opt.is-on .rad::after{content:"";width:.7rem;height:.7rem;border-radius:50%;background:var(--gold)}
@media (max-width:560px){
  .wz-opt{grid-template-columns:auto 1fr auto;row-gap:.2rem;padding-right:1rem}
  .wz-opt img{grid-row:span 3;width:4rem;height:3.2rem}
  .wz-opt .pr{grid-column:2;grid-row:auto;justify-self:start;padding-top:.25rem}
  .wz-opt .pr.ask{max-width:none;text-align:left}
  .wz-opt .rad{grid-column:3;grid-row:1/span 4}
}
.wz-cards{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3)}
@media (max-width:640px){.wz-cards{grid-template-columns:1fr}}
.wz-cards .wz-opt{display:flex;align-items:flex-start;flex-direction:column;gap:.6rem;margin:0;padding:var(--s-3)}
.wz-cards .wz-opt .top{display:flex;align-items:center;gap:.7rem;width:100%}
.wz-cards .wz-opt .rad{grid-column:auto;grid-row:auto}
.wz-svc{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:.3rem;font-size:var(--t-sm);color:var(--ink-soft)}
.wz-svc span{display:inline-flex;align-items:center;gap:.35rem}
.wz-svc svg{width:.95rem;height:.95rem;color:var(--gold-text)}

/* rekapitulácia — tónované boxy */
.wz-rec{background:rgba(25,12,6,.035);padding:var(--s-3);margin-bottom:.75rem}
.wz-rec .k{display:block;font-size:.8125rem;color:rgba(25,12,6,.5);margin-bottom:.35rem}
.wz-rec .v{font-weight:500;color:var(--ink)}
.wz-rec-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem var(--s-3);margin-top:.5rem;font-size:var(--t-sm);color:var(--ink-soft)}
@media (max-width:560px){.wz-rec-grid{grid-template-columns:1fr}}
.wz-sum-row{display:flex;justify-content:space-between;gap:var(--s-3);padding:.6rem 0;border-bottom:1px solid rgba(25,12,6,.08);font-size:var(--t-sm)}
.wz-sum-total{display:flex;justify-content:space-between;gap:var(--s-3);padding-top:.8rem;align-items:baseline}
.wz-sum-total .k{font-weight:500;color:var(--ink)}
.wz-sum-total .v{font-size:1.125rem;font-weight:600;color:var(--gold-text);font-variant-numeric:tabular-nums}

/* pätka kroku — tlačidlo prázdne so zlatým obrysom, bez hover výplne */
.wz-foot{display:flex;justify-content:flex-end;gap:var(--s-2);margin-top:var(--s-5)}
.wz .wz-foot .btn,.wz .wz-done .btn{
  background:transparent;border:1px solid var(--gold);color:var(--gold-text);
  font-size:.875rem;letter-spacing:.04em;text-transform:none;padding:.7rem 2rem;
}
.wz .wz-foot .btn:hover,.wz .wz-done .btn:hover{background:transparent;border-color:var(--gold);color:var(--gold-text)}
.wz-foot .btn[disabled]{opacity:.45;pointer-events:none}
@media (max-width:560px){.wz-foot .btn{width:100%;text-align:center}}
.wz-consent{display:flex;gap:.7rem;align-items:flex-start;margin-top:var(--s-4);font-size:var(--t-sm);color:var(--ink)}
.wz-consent input{margin-top:.25rem;flex:none;width:1.1rem;height:1.1rem;accent-color:var(--gold)}
.wz-consent a{color:var(--gold-text);border-bottom:1px solid rgba(143,109,31,.35)}
.wz-done{text-align:center;padding-block:var(--s-5)}
.wz-done .ok{
  width:3.5rem;height:3.5rem;border-radius:50%;margin:0 auto var(--s-3);
  display:grid;place-items:center;background:rgba(179,150,85,.14);color:var(--gold-text);
}
.wz-done .ok svg{width:1.6rem;height:1.6rem}
