/* ============================================================
   Azula Transfer — design system
   Meleg homok/krém + réz, editorial luxus. Cormorant Garamond + Jost.
   (Az ST Management testvér-DNS-e: warm-dark + egyetlen fém akcent, fegyelmezett.)
   ============================================================ */
:root{
  --ink:#1A1712;
  --paper:#F4EFE6;
  --paper-warm:#EDE5D6;
  --surface:#FBF8F2;
  --copper:#7A5E33;      /* WCAG AA: 5.27 papíron, 4.83 paper-warmon */
  --copper-dim:#5E4A26;
  --copper-lift:#C89A5B; /* réz sötét (ink/fotó) háttérre — 7.0 az inken */
  --text:#2A251E;
  --text-dim:#6B5F4E;
  --cream:#F2EAD8;
  --sage:#446349;    /* AA: 5.1+ a zöld tag-háttéren is */
  --river:#7A9BAA;
  --border:rgba(176,138,79,.20);
  --border-strong:rgba(176,138,79,.45);
  --hairline:rgba(42,37,30,.10);
  --alert:#B2452F;  /* AA: 5.2 surface-en */

  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Jost",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;

  --maxw:1200px;
  --pad:clamp(1.5rem,5vw,4rem);
  --radius:2px;                      /* majdnem éles sarkok, nem SaaS-lekerekítés */
  --shadow:0 24px 60px -30px rgba(26,23,18,.35);
  --ease:cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(74px + 1rem)}
body{
  margin:0;
  background:var(--paper);
  color:var(--text);
  font-family:var(--sans);
  font-weight:400;
  font-size:1.0625rem;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
/* finom papír-grain textúra az egész lapon (feTurbulence), fixen a viewporthoz */
body::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
@media (prefers-reduced-data:reduce){body::before{display:none}}
main,header,footer{position:relative;z-index:1}

a{color:inherit;text-decoration:none}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--copper);outline-offset:2px}
img{max-width:100%;display:block}
em{font-style:italic;font-weight:inherit}

.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad)}

/* CJK (kínai) tipográfia: nincs kurzív, nincs erőltetett sortörés, nincs betűritkítás */
:lang(zh) em{font-style:normal;color:var(--copper)}
:lang(zh) .hero h1 br{display:none}
:lang(zh) h1,:lang(zh) .h2,:lang(zh) .page-hero__h1{letter-spacing:0}
:lang(zh) body{line-height:1.8}

/* billentyűzetes ugrólink — csak fókuszban látszik */
.skip-link{position:fixed;top:-100px;left:16px;z-index:100;background:var(--copper);color:var(--surface);
  font-family:var(--sans);font-weight:500;font-size:.85rem;padding:.7rem 1.1rem;border-radius:var(--radius);
  transition:top .2s var(--ease)}
.skip-link:focus-visible{top:12px}

/* ---- tipográfia ---- */
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;letter-spacing:-.005em;color:var(--text)}
.eyebrow{
  font-family:var(--sans);font-weight:500;font-size:.72rem;letter-spacing:.28em;
  text-transform:uppercase;color:var(--copper);margin:0 0 1.1rem;display:flex;align-items:center;gap:.7rem;
}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--copper);opacity:.6}
.eyebrow--center{justify-content:center}
.lead{font-weight:300;font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.55;color:var(--text-dim)}
.h2{font-size:clamp(2.2rem,4vw,3.4rem);line-height:1.08}
.h3{font-size:1.5rem;font-weight:500;line-height:1.25}
.caption{font-weight:300;font-size:.8125rem;line-height:1.5;color:var(--text-dim)}

/* ---- gombok ---- */
.btn{
  font-family:var(--sans);font-weight:500;font-size:.9rem;letter-spacing:.02em;
  border:1px solid transparent;border-radius:var(--radius);padding:.95rem 1.6rem;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;transition:all .25s var(--ease);
  background:none;color:inherit;
}
.btn--primary{background:var(--copper);color:var(--surface);position:relative;overflow:hidden}
.btn--primary:hover{background:var(--copper-dim)}
.btn--primary::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--cream);transition:width .3s var(--ease)}
.btn--primary:hover::after{width:100%}
.btn--ghost{border-color:var(--border);color:var(--text)}
.btn--ghost:hover{border-color:var(--copper);color:var(--copper)}
.btn--block{width:100%}
.btn--lg{padding:1.05rem 1.9rem;font-size:.95rem}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn .ico{width:18px;height:18px}

/* ---- ikonok ---- */
.ico{width:20px;height:20px;flex:none;stroke:currentColor;stroke-width:1.5;fill:none;
  stroke-linecap:round;stroke-linejoin:round}

/* ============================================================
   NAV
   ============================================================ */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);
  border-bottom:1px solid transparent}
.nav__in{display:flex;align-items:center;justify-content:space-between;height:74px}
.nav.scrolled{background:rgba(251,248,242,.92);backdrop-filter:blur(10px);border-bottom-color:var(--hairline);box-shadow:0 8px 30px -24px rgba(26,23,18,.5)}
.brand{display:flex;flex-direction:column;line-height:1}
.brand__mark{font-family:var(--serif);font-weight:400;font-size:1.7rem;letter-spacing:.28em;color:var(--text);padding-left:.28em}
.brand__sub{font-family:var(--sans);font-weight:500;font-size:.58rem;letter-spacing:.32em;text-transform:uppercase;color:var(--copper);margin-top:.35rem}
.nav.on-hero:not(.scrolled) .brand__mark{color:var(--cream)}
.nav.on-hero:not(.scrolled) .brand__sub{color:var(--copper-lift)}
.nav.on-hero:not(.scrolled) .nav__link{color:rgba(242,234,216,.82)}
.nav.on-hero:not(.scrolled) .cur__btn{color:rgba(242,234,216,.82)}
.nav__links{display:flex;align-items:center;gap:2rem}
.nav__link{font-size:.76rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);transition:color .2s}
.nav__link:hover{color:var(--copper)}
.nav__right{display:flex;align-items:center;gap:1.3rem}
.cur{display:flex;gap:.1rem;border:0;padding:.2rem;opacity:.75;transition:opacity .2s}
.cur:hover,.cur:focus-within{opacity:1}
.cur__btn{font-family:var(--sans);font-weight:500;font-size:.72rem;letter-spacing:.05em;color:var(--text-dim);
  background:none;border:0;padding:.3rem .55rem;cursor:pointer;border-radius:1px;transition:all .2s}
.cur__btn.active{background:var(--copper);color:var(--surface)}
.lang{font-family:var(--sans);font-weight:400;font-size:.68rem;letter-spacing:.03em;color:var(--text-dim);opacity:.85;
  background:transparent;border:1px solid var(--border);border-radius:var(--radius);padding:.35rem .45rem;cursor:pointer}
.nav.on-hero:not(.scrolled) .lang{color:rgba(242,234,216,.82);border-color:rgba(242,234,216,.28)}
.lang option{color:#2A251E}
.nav__cta{display:inline-flex}
.nav__burger{display:none;flex-direction:column;gap:4px;background:none;border:0;cursor:pointer;padding:8px;color:var(--text)}
.nav__burger span{width:22px;height:2px;background:currentColor;border-radius:2px;transition:.2s var(--ease)}
.nav.on-hero:not(.scrolled) .nav__burger{color:var(--cream)}
.nav.nav--open .nav__burger span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav.nav--open .nav__burger span:nth-child(2){opacity:0}
.nav.nav--open .nav__burger span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.nav__mobile{display:none;flex-direction:column;padding:.4rem var(--pad) 1.3rem;background:var(--surface);border-top:1px solid var(--hairline);box-shadow:0 20px 40px -24px rgba(26,23,18,.4)}
.nav__mobile a:not(.btn){padding:.9rem 0;font-size:1rem;color:var(--text);border-bottom:1px solid var(--hairline)}
.nav__mobile .btn{margin-top:1rem;justify-content:center}
@media(max-width:860px){.nav__burger{display:flex}.nav.nav--open .nav__mobile{display:flex}}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative;padding-top:74px;overflow:hidden;
  background:linear-gradient(180deg,#1A1712 0%,#221d16 55%,#2b241a 100%);color:var(--cream)}
.hero__bg{position:absolute;inset:0;z-index:0;overflow:hidden}
/* önálló, meleg "art-directed" háttér — dobj ide valós budapesti fotót (lásd README) */
.hero__bg::before{content:"";position:absolute;inset:0;
  background:
    radial-gradient(120% 90% at 78% 8%,rgba(176,138,79,.28),transparent 55%),
    radial-gradient(90% 80% at 8% 100%,rgba(122,155,170,.18),transparent 60%);}
.hero__skyline{position:absolute;left:0;right:0;bottom:0;width:100%;height:auto;opacity:.5;z-index:0}
.hero__grain{position:absolute;inset:0;opacity:.06;z-index:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.hero__in{position:relative;z-index:2;display:grid;grid-template-columns:1fr;gap:clamp(2rem,4vw,3rem);
  padding-block:clamp(1.8rem,4vh,3rem) clamp(2.2rem,5vh,3.5rem)}
@media (min-width:960px){.hero__in{grid-template-columns:6.5fr 5.5fr;align-items:start}}
/* --- kép-hero (fő): budapesti fotó háttér + foglaló-widget rajta (2 oszlop) --- */
.hero--img .hero__skyline,.hero--img .hero__bg::before{display:none}
.hero__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%}
.hero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,16,10,.62),rgba(20,16,10,.5) 45%,rgba(20,16,10,.74))}
/* irányított sötétítés a bal oldali szöveg mögé — a fotó jobb fele világos marad,
   a h1/lead/CTA viszont mindig AA-kontraszttal olvasható */
.hero__scrim::after{content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(14,11,7,.72) 0%,rgba(14,11,7,.52) 30%,rgba(14,11,7,.12) 58%,transparent 72%)}
@media(max-width:860px){.hero__scrim::after{background:linear-gradient(180deg,rgba(14,11,7,.5),rgba(14,11,7,.3) 55%,rgba(14,11,7,.62))}}
@media (min-width:960px){.hero--img .hero__in{align-items:center}}
.hero__eyebrow{color:var(--copper)}
.hero--img .hero__eyebrow{color:var(--copper-lift)}
.hero h1{color:var(--cream);font-weight:300;font-size:clamp(2.6rem,5.2vw,4.4rem);line-height:1.04;letter-spacing:-.01em;margin:.4rem 0 1.1rem}
@media(min-width:960px){.hero__copy{padding-top:1.5rem}}
.hero__sub{max-width:30ch;color:rgba(242,234,216,.8);font-weight:300;font-size:clamp(1.1rem,1.5vw,1.28rem);line-height:1.55}
.hero__chips{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem}
.hero__cta{margin-top:1.8rem}
.chip{display:inline-flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:400;letter-spacing:.01em;
  color:#F6F1E5;background:rgba(20,16,10,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  border:1px solid rgba(242,234,216,.22);border-radius:999px;padding:.5rem .95rem;
  text-shadow:0 1px 2px rgba(0,0,0,.35)}
.chip .ico{width:15px;height:15px;stroke:var(--gold, #C9A15E);stroke:#C9A15E}

/* ============================================================
   BOOKING WIDGET
   ============================================================ */
.book{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:clamp(1.4rem,2.5vw,2rem);color:var(--text)}
.book__eyebrow{color:var(--copper);margin-bottom:1.2rem}
/* --- kétlépcsős wizard --- */
.wiz-steps{display:flex;align-items:center;gap:.55rem;margin:0 0 1.2rem;font-family:var(--sans);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}
.wiz-step{display:inline-flex;align-items:center;gap:.45rem;color:#6E6357;transition:color .2s}
.wiz-step b{display:grid;place-items:center;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--paper-warm);color:var(--text-dim);font-size:.72rem;font-weight:500}
.wiz-step.active{color:var(--text)}
.wiz-step.active b,.wiz-step.done b{background:var(--copper);color:var(--surface)}
.wiz-line{flex:1;height:1px;background:var(--border)}
.wiz[hidden]{display:none}
@media (prefers-reduced-motion:no-preference){
  .wiz:not([hidden]){animation:wizIn .34s var(--ease)}
  @keyframes wizIn{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}
}
.wiz-back{display:inline-flex;align-items:center;gap:.4rem;background:none;border:0;color:var(--copper);font-family:var(--sans);font-weight:500;font-size:.8rem;cursor:pointer;padding:.1rem 0;margin:0 0 .5rem}
.wiz-back:hover{color:var(--copper-dim)}
.trip-recap{display:flex;flex-wrap:wrap;gap:.25rem .5rem;align-items:center;padding:.65rem .8rem;margin:0 0 1.1rem;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--sans);font-size:.8rem;color:var(--text);line-height:1.4}
.trip-recap b{font-weight:500}
.trip-recap .sep{opacity:.4;margin:0 .1rem}
.book__micro{display:flex;align-items:center;justify-content:center;gap:.4rem;margin:.7rem 0 0;font-family:var(--sans);font-size:.7rem;color:var(--text-dim)}
.book__micro .ico{width:13px;height:13px;stroke:var(--copper);opacity:.8}
.seg{display:grid;grid-template-columns:repeat(3,1fr);position:relative;border:1px solid var(--border);
  border-radius:var(--radius);padding:.25rem;margin-bottom:1.1rem;background:var(--paper)}
.seg__ind{position:absolute;top:.25rem;bottom:.25rem;width:calc((100% - .5rem)/3);left:.25rem;
  background:var(--copper);border-radius:1px;transition:transform .25s var(--ease);z-index:0}
.seg__btn{position:relative;z-index:1;background:none;border:0;font-family:var(--sans);font-weight:500;
  font-size:.78rem;letter-spacing:.02em;color:var(--text-dim);padding:.6rem .3rem;cursor:pointer;transition:color .25s}
.seg__btn.active{color:var(--surface)}
.field{margin-bottom:.85rem}
.field__label{display:flex;align-items:center;justify-content:space-between;font-family:var(--sans);
  font-weight:500;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin-bottom:.4rem}
.field__wrap{display:flex;align-items:center;gap:.6rem;border-bottom:1px solid var(--border);padding:.55rem .2rem;transition:border-color .2s}
.field__wrap:focus-within{border-color:var(--copper);box-shadow:0 1px 0 0 var(--copper)}
.field__wrap .ico{width:17px;height:17px;stroke:var(--copper);opacity:.85}
.field input,.field select{width:100%;border:0;background:none;font-family:var(--sans);font-size:.98rem;color:var(--text);padding:0}
.field input:focus,.field select:focus{outline:none}
.field input::placeholder{color:#756A50}
.field select{cursor:pointer}
.loc-link{background:none;border:0;font-family:var(--sans);font-weight:500;font-size:.68rem;letter-spacing:.04em;
  color:var(--copper);cursor:pointer;display:inline-flex;align-items:center;gap:.3rem;padding:0}
.loc-link .ico{width:13px;height:13px}
.loc-link:disabled{opacity:.6;cursor:default}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.field--half{margin-bottom:.85rem}

.checkrow{display:flex;align-items:center;gap:.6rem;margin:.9rem 0;cursor:pointer;font-size:.9rem;color:var(--text)}
.checkrow input{appearance:none;width:20px;height:20px;border:1px solid var(--border-strong);border-radius:1px;cursor:pointer;position:relative;flex:none;transition:all .2s}
.checkrow input:checked{background:var(--copper);border-color:var(--copper)}
.checkrow input:checked::after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid var(--surface);border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}


/* extras */
.extras{border:0;padding:0;margin:.6rem 0}
.extras legend{font-family:var(--sans);font-weight:500;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin-bottom:.5rem;padding:0}
.extras__grid{display:grid;grid-template-columns:1fr 1fr;gap:.4rem .9rem}
.extra{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--text);cursor:pointer}
.extra input{appearance:none;width:17px;height:17px;border:1px solid var(--border-strong);border-radius:1px;cursor:pointer;position:relative;flex:none}
.extra input:checked{background:var(--copper);border-color:var(--copper)}
.extra input:checked::after{content:"";position:absolute;left:5px;top:1px;width:4px;height:9px;border:solid var(--surface);border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}

/* live price */
.quote{border-top:1px solid var(--border);margin-top:1rem;padding-top:1.1rem}
.quote__top{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}
.quote__label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--copper);margin-bottom:.2rem}
.quote__price{font-family:var(--serif);font-weight:400;font-size:clamp(2.3rem,5vw,3.2rem);line-height:1;color:var(--text);transition:opacity .25s var(--ease)}
.quote__price.fade{opacity:0}
.quote__route{text-align:right;font-size:.78rem;color:var(--text-dim);line-height:1.4}
.quote__route b{font-family:var(--serif);font-weight:500;font-size:1rem;color:var(--text)}
.quote__summary{font-size:.8rem;color:var(--text-dim);margin-top:.6rem;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.quote__night{display:inline-flex;align-items:center;gap:.35rem;color:var(--copper-dim)}
.quote__night .ico{width:14px;height:14px;stroke:var(--copper-dim)}
.quote__peak{display:inline-flex;align-items:center;gap:.3rem;color:var(--alert);font-weight:500}
.quote__peak .ico{width:14px;height:14px;fill:var(--alert);stroke:none}
.book__error{color:var(--alert);font-size:.82rem;margin:.7rem 0 0;display:none}
.book__error.show{display:block}
/* másnak foglalás — kinyíló utas-blokk */
.forother{border-left:2px solid var(--copper);padding:.15rem 0 .15rem .85rem;margin:-.3rem 0 1rem;
  animation:foOpen .3s var(--ease)}
.forother[hidden]{display:none}
@keyframes foOpen{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.forother{animation:none}}
.forother__note{margin:.1rem 0 .7rem;font-family:var(--sans);font-size:.74rem;color:var(--text-dim);line-height:1.45}

/* ============================================================
   NÉPSZERŰ ÚTVONALAK — valós árú, kattintható kártyák
   ============================================================ */
.routes{background:var(--paper)}
.routes[hidden]{display:none}
.routes__grid{display:grid;gap:.9rem;grid-template-columns:1fr}
@media(min-width:640px){.routes__grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.routes__grid{grid-template-columns:repeat(3,1fr)}}
.route-card{display:flex;flex-direction:column;gap:.5rem;text-align:left;cursor:pointer;
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  padding:1.15rem 1.25rem;font-family:var(--sans);color:var(--text);
  transition:border-color .22s,box-shadow .28s var(--ease),transform .28s var(--ease)}
.route-card:hover{border-color:var(--copper);transform:translateY(-3px);
  box-shadow:0 18px 40px -24px rgba(122,94,51,.6)}
.route-card:active{transform:translateY(-1px)}
.route-card:focus-visible{outline:2px solid var(--copper);outline-offset:3px}
.route-card__top{display:flex;align-items:center;gap:.6rem}
.route-card__label{font-family:var(--serif);font-size:1.16rem;font-weight:500;line-height:1.25;flex:1}
.route-card__arrow{width:17px;height:17px;flex:none;stroke:var(--copper);opacity:.55;
  transition:transform .25s var(--ease),opacity .25s}
.route-card:hover .route-card__arrow{transform:translateX(3px);opacity:1}
.route-card__meta{font-size:.76rem;letter-spacing:.03em;color:var(--text-dim)}
.route-card__price{display:flex;align-items:baseline;gap:.3rem;margin-top:.15rem}
.route-card__price b{font-family:var(--serif);font-size:1.5rem;font-weight:500;color:#5C4A2E;line-height:1}
.route-card__price span{font-size:.72rem;letter-spacing:.04em;color:var(--text-dim)}
.route-card__price span::before{content:"· "}
/* útvonal-oldal hero-kártya: élő tájékoztató ár */
.route-hero-card__price{margin:.15rem 0 .9rem;display:flex;flex-direction:column;gap:.15rem;
  animation:priceIn .4s var(--ease)}
.route-hero-card__price[hidden]{display:none}
.route-hero-card__price b{font-family:var(--serif);font-size:1.9rem;font-weight:500;color:#5C4A2E;line-height:1}
.route-hero-card__price span{font-family:var(--sans);font-size:.74rem;letter-spacing:.03em;color:var(--text-dim)}
@keyframes priceIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.route-hero-card__price{animation:none}}

/* Olvasás-jelző: hajszálvékony réz vonal a fejléc alatt. CSS-only, scroll-driven
   ott, ahol a böngésző tudja (Chrome 115+, Safari 26+); máshol egyszerűen nincs.
   Nulla JS, nulla scroll-listener — nem terheli a fő szálat. */
@supports (animation-timeline: scroll()){
  @media (prefers-reduced-motion:no-preference){
    .nav::after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:100%;
      transform-origin:0 50%;transform:scaleX(0);
      background:linear-gradient(90deg,var(--copper),#E8C88B);
      animation:navProgress linear;animation-timeline:scroll(root block);}
    @keyframes navProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
  }
}

/* csontváz-kártyák: a valós árak érkezéséig helyet tartanak, így a szekció
   megjelenése nem told el semmit a lapon (CLS = 0) */
.route-skel{min-height:132px;border-radius:var(--radius);border:1px solid var(--border);
  background:linear-gradient(100deg,var(--surface) 30%,var(--paper-warm) 50%,var(--surface) 70%);
  background-size:280% 100%}
@media (prefers-reduced-motion:no-preference){
  .route-skel{animation:skelShimmer 1.6s linear infinite}
  @keyframes skelShimmer{from{background-position:140% 0}to{background-position:-140% 0}}
}

/* kártya-belépés: lépcsőzött, rövid — a szem végigfut a soron, nem "ugrál" */
@media (prefers-reduced-motion:no-preference){
  .routes__grid .route-card{opacity:0;transform:translateY(14px)}
  .routes__grid--in .route-card{opacity:1;transform:none;
    transition:opacity .5s var(--ease),transform .5s var(--ease),border-color .22s,box-shadow .28s var(--ease);
    transition-delay:calc(var(--i, 0) * 70ms)}
  .routes__grid--in .route-card:hover{transition-delay:0s}
}

.routes__note{display:flex;align-items:center;gap:.45rem;margin:1.5rem 0 0;
  font-family:var(--sans);font-size:.76rem;color:var(--text-dim)}
.routes__note .ico{width:15px;height:15px;flex:none;stroke:var(--copper)}
@media(prefers-reduced-motion:reduce){
  .route-card,.route-card__arrow{transition:none}
  .route-card:hover{transform:none}
}

/* a foglaló rövid kiemelése, ha máshonnan (chat, útvonal-oldal) irányítottuk ide */
.book--flash{animation:bookFlash 1.4s var(--ease)}
@keyframes bookFlash{
  0%{box-shadow:var(--shadow)}
  22%{box-shadow:var(--shadow),0 0 0 3px rgba(201,161,94,.45)}
  100%{box-shadow:var(--shadow),0 0 0 0 rgba(201,161,94,0)}
}
@media(prefers-reduced-motion:reduce){.book--flash{animation:none}}

/* aloldal-fejléc CTA: a cselekvés ne legyen két képernyővel lejjebb */
.page-hero__cta{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem;margin:1.6rem 0 0}
.page-hero__note{font-family:var(--sans);font-size:.8rem;color:var(--text-dim)}

/* egyoszlopos űrlap-hasáb: a fejléc-szöveggel egy vonalban indul, nem középen */
.form-col{max-width:min(560px,100%)}

/* "Mi van az árban" — érték-bontás a döntés pillanatában (natív details) */
.incl{margin:.9rem 0 0;border-top:1px solid var(--border);padding-top:.85rem}
.incl__q{display:flex;align-items:center;gap:.5rem;cursor:pointer;list-style:none;
  font-family:var(--sans);font-size:.82rem;font-weight:500;color:var(--copper-dim);
  transition:color .18s}
.incl__q::-webkit-details-marker{display:none}
.incl__q:hover{color:var(--copper)}
.incl__q:focus-visible{outline:2px solid var(--copper);outline-offset:3px;border-radius:4px}
.incl__pm{position:relative;width:12px;height:12px;flex:none;margin-left:auto}
.incl__pm::before,.incl__pm::after{content:"";position:absolute;background:currentColor;
  transition:transform .22s var(--ease),opacity .22s}
.incl__pm::before{left:0;top:5px;width:12px;height:1.5px}
.incl__pm::after{left:5px;top:0;width:1.5px;height:12px}
.incl[open] .incl__pm::after{transform:scaleY(0);opacity:0}
.incl__list{margin:.85rem 0 0;padding:0;list-style:none;display:grid;gap:.5rem}
.incl__list li{position:relative;padding-left:1.35rem;font-family:var(--sans);font-size:.82rem;
  line-height:1.5;color:var(--text-dim)}
.incl__list li::before{content:"";position:absolute;left:.15rem;top:.42rem;width:6px;height:6px;
  border-radius:50%;background:var(--copper);opacity:.55}
@media (prefers-reduced-motion:no-preference){
  .incl[open] .incl__list{animation:inclOpen .3s var(--ease)}
  @keyframes inclOpen{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
}

/* közeli indulás jelzése — nem blokkol, csak a helyes utat mondja el */
.soon-note{display:flex;align-items:flex-start;gap:.5rem;margin:.9rem 0 0;padding:.6rem .75rem;
  background:rgba(176,138,79,.1);border:1px solid rgba(176,138,79,.3);border-radius:var(--radius);
  font-family:var(--sans);font-size:.76rem;line-height:1.45;color:#5C4A2E}
.soon-note[hidden]{display:none}
.soon-note .ico{width:15px;height:15px;flex:none;margin-top:.1rem;stroke:var(--copper)}

/* gyors célpontok — koppintásra kész útvonal, gépelés nélkül */
.quickdest{margin:-.35rem 0 1rem}
.quickdest[hidden]{display:none}
.quickdest__t{display:block;font-family:var(--sans);font-size:.66rem;letter-spacing:.11em;
  text-transform:uppercase;color:#8A7C6A;margin-bottom:.45rem}
.quickdest__row{display:flex;flex-wrap:wrap;gap:.35rem}
.quickdest__chip{font-family:var(--sans);font-size:.76rem;color:var(--text-dim);cursor:pointer;
  background:var(--paper);border:1px solid var(--border);border-radius:999px;padding:.34rem .7rem;
  transition:border-color .18s,color .18s,background .18s,transform .18s var(--ease)}
.quickdest__chip:hover{border-color:var(--copper);color:var(--copper-dim);background:rgba(176,138,79,.07)}
.quickdest__chip:active{transform:scale(.96)}
.quickdest__chip.on{border-color:var(--copper);background:rgba(176,138,79,.14);color:#5C4A2E;font-weight:500}
.quickdest__chip:focus-visible{outline:2px solid var(--copper);outline-offset:2px}

.book__cta{margin-top:1.1rem}
.book__fine{text-align:center;margin-top:.7rem;font-size:.72rem}
.demo-note{font-size:.75rem;color:#5C4A2E;background:rgba(176,138,79,.1);border:1px solid rgba(176,138,79,.28);
  border-radius:var(--radius);padding:.6rem .8rem;margin-bottom:1rem;line-height:1.45;display:none;
  align-items:flex-start;gap:.5rem}
.demo-note.show{display:flex}
.demo-note .ico{width:15px;height:15px;flex:none;margin-top:.12rem;stroke:var(--copper)}
.demo-note b{font-weight:500;color:#3F3325}

/* ============================================================
   SECTIONS
   ============================================================ */
section{padding-block:clamp(4.5rem,11vh,8.5rem)}
.sec-head{max-width:38rem;margin-bottom:clamp(2.5rem,5vw,4rem)}
.sec-head h2{margin-bottom:1rem}
.sec-head .lead{max-width:34rem}
.alt{background:var(--paper-warm)}
.rule{width:64px;height:1px;background:var(--copper);opacity:.55;margin:0 0 2rem}

/* value — aszimmetrikus 5+7 */
.value__grid{display:grid;grid-template-columns:1fr;gap:clamp(2rem,4vw,3.5rem)}
@media (min-width:900px){.value__grid{grid-template-columns:5fr 7fr;align-items:start}}
.value__list{display:grid;gap:0}
.value__item{display:grid;grid-template-columns:auto 1fr;gap:1.1rem;padding:1.4rem 0;border-top:1px solid var(--hairline)}
.value__item:last-child{border-bottom:1px solid var(--hairline)}
.value__ico{width:26px;height:26px;stroke:var(--copper)}
.value__item h3{font-family:var(--sans);font-weight:500;font-size:1.02rem;margin-bottom:.3rem;letter-spacing:.01em}
.value__item p{margin:0;color:var(--text-dim);font-size:.95rem}



/* process — eltolt számozott lépések */
.steps{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media (min-width:820px){.steps{grid-template-columns:repeat(3,1fr);gap:2rem}}
.step{padding-top:1rem;border-top:1px solid var(--copper)}
@media (min-width:820px){.step:nth-child(2){margin-top:3rem}.step:nth-child(3){margin-top:6rem}}
.step__n{font-family:var(--serif);font-weight:400;font-size:3.2rem;color:var(--copper);line-height:1;margin-bottom:.6rem}
.step h3{font-family:var(--sans);font-weight:500;font-size:1.05rem;margin-bottom:.4rem}
.step p{margin:0;color:var(--text-dim);font-size:.92rem}

/* concierge — meleg ink szekció */
.concierge{background:var(--ink);color:var(--cream)}
.concierge .eyebrow{color:var(--copper-lift)}
.concierge h2{color:var(--cream)}
.concierge .lead{color:rgba(242,234,216,.7)}
.conc__grid{display:grid;grid-template-columns:1fr;gap:0;margin-top:2.5rem}
@media (min-width:720px){.conc__grid{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.conc__grid{grid-template-columns:1fr 1fr 1fr}}
.conc{display:grid;grid-template-columns:auto 1fr;gap:1rem;padding:1.5rem;border-top:1px solid rgba(242,234,216,.14);border-right:1px solid rgba(242,234,216,.14)}
.conc .ico{width:24px;height:24px;stroke:var(--copper)}
.conc h3{font-family:var(--sans);font-weight:500;font-size:1rem;color:var(--cream);margin-bottom:.3rem}
.conc p{margin:0;font-size:.88rem;color:rgba(242,234,216,.66)}

/* testimonials */
.quotes{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media (min-width:820px){
  .quotes{grid-template-columns:repeat(3,1fr)}
  .quotes .q:nth-child(2){margin-top:2.4rem}.quotes .q:nth-child(3){margin-top:4.8rem}
  /* Kevés véleménynél ne maradjon üresen a sor kétharmada: 1-2 kártya
     szélesebbre nyúlik és lépcső nélkül áll. (A szolgáltatás indulásakor
     természetes, hogy még csak néhány értékelés van.) */
  .quotes:has(.q:only-child){grid-template-columns:minmax(0,.62fr)}
  .quotes:has(.q:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
  .quotes:has(.q:nth-child(2):last-child) .q:nth-child(2){margin-top:1.6rem}
}
.q{border:1px solid var(--border);border-radius:var(--radius);padding:1.7rem;background:var(--surface);position:relative}
.q__mark{font-family:var(--serif);font-size:3.4rem;line-height:.6;color:var(--copper);opacity:.5}
.q__text{font-family:var(--serif);font-size:1.22rem;line-height:1.4;color:var(--text);margin:.4rem 0 1.2rem}
.q__who{font-size:.8rem;color:var(--text-dim);letter-spacing:.02em}
.q__who b{color:var(--text);font-weight:500}
.ph-note{font-size:.78rem;color:var(--text-dim);font-style:italic;margin-top:1.6rem}

/* kategória-választó (pipálós) */
.cats{border:0;padding:0;margin:.5rem 0 .3rem;display:grid;gap:.5rem}
.cats legend{font-family:var(--sans);font-weight:500;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin-bottom:.5rem;padding:0}
.cat{position:relative;display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:.85rem;border:1px solid var(--border);
  border-radius:var(--radius);padding:.7rem .9rem;cursor:pointer;background:var(--paper);transition:border-color .2s,box-shadow .2s}
.cat:hover{border-color:var(--border-strong)}
.cat.selected{border-color:var(--copper);box-shadow:inset 0 0 0 1px var(--copper);background:rgba(138,108,60,.05)}
.cat.disabled{opacity:.4;pointer-events:none}
.cat.unavailable{opacity:.5;pointer-events:none}
.cat.unavailable::after{content:"Nem elérhető ekkor";position:absolute;top:.4rem;right:.9rem;font-size:.6rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--alert);background:var(--surface);padding:.1rem .35rem}
.cat input{position:absolute;opacity:0;pointer-events:none}
.cat:focus-within{outline:2px solid var(--copper);outline-offset:2px}
.cat__check{width:22px;height:22px;border:1.5px solid var(--border-strong);border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none}
.cat__check .ico{width:13px;height:13px;stroke:transparent;stroke-width:2.6}
.cat.selected .cat__check{background:var(--copper);border-color:var(--copper)}
.cat.selected .cat__check .ico{stroke:#fff}
.cat__name{font-weight:500;font-size:.98rem;display:flex;align-items:center;gap:.5rem}
.cat__eco{font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;color:var(--sage);border:1px solid rgba(107,143,113,.45);border-radius:999px;padding:.1rem .42rem}
.cat__meta{font-size:.76rem;color:var(--text-dim);margin-top:.12rem}
.cat__price{font-family:var(--serif);font-weight:500;font-size:1.2rem;color:var(--text);white-space:nowrap}
.cat.selected .cat__price{color:var(--copper)}

/* flotta fotó-showcase */
.fleet{display:grid;grid-template-columns:1fr;gap:1.2rem}
@media(min-width:600px){.fleet{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.fleet{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}}
.veh{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface);display:flex;flex-direction:column}
.veh__media{position:relative;aspect-ratio:16/10;background:var(--paper-warm);display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid var(--border)}
.veh__media img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.9) contrast(1.03) brightness(1.02)}
.veh__ph-ico{display:none;color:var(--copper);opacity:.45}.veh__ph-ico .ico{width:46px;height:46px}
.veh__media--ph .veh__ph-ico{display:block}
.veh__body{padding:1.1rem 1.2rem;display:flex;flex-direction:column;gap:.35rem}
.veh__badge{align-self:flex-start;font-size:.62rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);border:1px solid var(--border);border-radius:999px;padding:.25rem .6rem}
.veh__badge--eco{color:var(--sage);border-color:rgba(107,143,113,.45)}
.veh__body h3{font-family:var(--serif);font-weight:500;font-size:1.35rem}
.veh__body p{margin:0;color:var(--text-dim);font-size:.86rem}

/* concierge igény-szerinti jelölés */
.conc__tag{font-size:.56rem;letter-spacing:.08em;text-transform:uppercase;color:var(--copper);border:1px solid rgba(138,108,60,.5);
  border-radius:999px;padding:.12rem .45rem;vertical-align:middle;margin-left:.4rem}
.concierge .conc__tag{color:#d8b878;border-color:rgba(216,184,120,.4)}

/* vélemények — Google/Tripadvisor-stílus */
.stars{display:inline-flex;gap:2px;color:#E8B34A;align-items:center}
.stars .ico{width:18px;height:18px;fill:currentColor;stroke:none}
.stars--sm .ico{width:14px;height:14px}
.q__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.7rem}

/* faq */
.faq__grid{display:grid;grid-template-columns:1fr;gap:clamp(2rem,4vw,3.5rem)}
@media (min-width:900px){.faq__grid{grid-template-columns:5fr 7fr}}
.acc{border-top:1px solid var(--hairline)}
.acc__item{border-bottom:1px solid var(--hairline)}
.acc__q{width:100%;text-align:left;background:none;border:0;cursor:pointer;font-family:var(--sans);
  font-weight:500;font-size:1rem;color:var(--text);padding:1.25rem 0;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.acc__pm{width:20px;height:20px;flex:none;position:relative}
.acc__pm::before,.acc__pm::after{content:"";position:absolute;background:var(--copper);transition:transform .25s var(--ease)}
.acc__pm::before{left:0;top:9.5px;width:20px;height:1.5px}
.acc__pm::after{left:9.5px;top:0;width:1.5px;height:20px}
.acc__item.open .acc__pm::after{transform:scaleY(0)}
.acc__a{max-height:0;overflow:hidden;transition:max-height .3s var(--ease)}
.acc__a p{margin:0;padding:0 0 1.3rem;color:var(--text-dim);font-size:.94rem;max-width:52ch}

/* closing CTA */
/* --- stat sáv --- */

/* --- szolgáltatások két oszlop --- */
.svc{display:grid;grid-template-columns:1fr;gap:1.4rem;margin-top:2.4rem}
@media(min-width:820px){.svc{grid-template-columns:1fr 1fr;gap:2.4rem}}
.svc__col{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(1.3rem,2.5vw,1.9rem)}
.svc__tag{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--sans);font-weight:500;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;padding:.4rem .7rem;border-radius:999px;margin-bottom:1.3rem}
.svc__tag .ico{width:14px;height:14px}
.svc__tag--incl{background:rgba(107,143,113,.14);color:var(--sage)}
.svc__tag--incl .ico{stroke:var(--sage)}
.svc__tag--req{background:rgba(138,108,60,.13);color:var(--copper-dim)}
.svc__tag--req .ico{fill:var(--copper-dim);stroke:none}
.svc__list{list-style:none;margin:0;padding:0;display:grid;gap:1.1rem}
.svc__list li{display:flex;gap:.85rem;align-items:flex-start}
.svc__list>li>.ico{width:20px;height:20px;stroke:var(--copper);flex:none;margin-top:.15rem}
.svc__list b{display:block;font-family:var(--sans);font-weight:500;font-size:.95rem;color:var(--text);margin-bottom:.2rem}
.svc__list span{display:block;font-size:.85rem;color:var(--text-dim);line-height:1.55}

/* --- fedélzeti élmény (beltér-sáv) --- */
.cabin{background:var(--surface);border-block:1px solid var(--border)}
.cabin__in{display:grid;grid-template-columns:1fr;gap:2rem;align-items:center}
@media(min-width:900px){.cabin__in{grid-template-columns:1.1fr 1fr;gap:3.5rem}}
.cabin__media{margin:0;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.cabin__media img{display:block;width:100%;height:100%;object-fit:cover}
.cabin__gallery{display:grid;gap:.8rem}
.cabin__strip{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.cabin__strip img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}
.cabin__p{color:var(--text-dim);line-height:1.75;margin:1rem 0 1.4rem}
.cabin__list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
.cabin__list li{display:flex;align-items:center;gap:.7rem;font-family:var(--sans);font-size:.92rem;color:var(--text)}
.cabin__list .ico{width:18px;height:18px;stroke:var(--copper);flex:none}

/* --- szolgáltatás-típusok grid --- */
.stypes{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:2.6rem}
@media(min-width:640px){.stypes{grid-template-columns:1fr 1fr}}
@media(min-width:980px){.stypes{grid-template-columns:repeat(3,1fr)}}
.stype{display:block;padding:1.6rem 1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:var(--text);transition:border-color .2s,transform .2s,box-shadow .2s}
.stype:hover{border-color:var(--copper);transform:translateY(-3px);box-shadow:var(--shadow)}
.stype>.ico{width:26px;height:26px;stroke:var(--copper);margin-bottom:.8rem}
.stype h3{font-family:var(--serif);font-weight:500;font-size:1.18rem;margin-bottom:.35rem;color:var(--text)}
.stype p{font-size:.85rem;color:var(--text-dim);line-height:1.55;margin:0}

/* --- fiók: gomb + menü + modal --- */
.acct-btn{display:inline-flex;align-items:center;gap:.4rem;background:none;border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .8rem;font-family:var(--sans);font-weight:500;font-size:.76rem;color:var(--text);cursor:pointer;transition:border-color .2s,color .2s;white-space:nowrap}
.acct-btn:hover{border-color:var(--copper);color:var(--copper)}
.acct-btn svg{stroke:currentColor;flex:none}
.nav.on-hero:not(.scrolled) .acct-btn{color:var(--cream);border-color:rgba(242,234,216,.4)}
.nav__right{position:relative}
.acct-menu{position:absolute;top:calc(100% + .5rem);right:0;min-width:220px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);z-index:60;overflow:hidden}
.acct-menu__hd{padding:.9rem 1rem;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:.1rem}
.acct-menu__hd b{font-family:var(--sans);font-size:.9rem;color:var(--text)}
.acct-menu__hd span{font-size:.76rem;color:var(--text-dim)}
.acct-menu__it{display:block;width:100%;text-align:left;background:none;border:0;padding:.7rem 1rem;font-family:var(--sans);font-size:.85rem;color:var(--text);cursor:pointer;text-decoration:none}
.acct-menu__it:hover{background:var(--paper-warm);color:var(--copper)}
.auth-modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:1.2rem}
.auth-modal.open{display:flex}
.auth-modal__scrim{position:absolute;inset:0;background:rgba(20,16,10,.62);backdrop-filter:blur(3px)}
.auth-card{position:relative;z-index:1;width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(1.6rem,4vw,2.4rem);animation:authIn .25s var(--ease)}
@keyframes authIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.auth-card__x{position:absolute;top:.6rem;right:.9rem;background:none;border:0;font-size:1.6rem;line-height:1;color:var(--text-dim);cursor:pointer}
.auth-card__brand{display:grid;place-items:center;width:44px;height:44px;margin:0 auto 1rem;border-radius:50%;background:var(--paper-warm);color:var(--copper)}
.auth-card__brand svg{width:20px;height:20px}
.auth-tabs{display:flex;gap:.3rem;background:var(--paper);border-radius:var(--radius);padding:.25rem;margin-bottom:1.3rem}
.auth-tab{flex:1;background:none;border:0;padding:.55rem;font-family:var(--sans);font-weight:500;font-size:.82rem;color:var(--text-dim);cursor:pointer;border-radius:1px;transition:background .2s,color .2s}
.auth-tab.is-on{background:var(--copper);color:var(--surface)}
.auth-field{display:block;margin-bottom:.9rem}
.auth-field span{display:block;font-family:var(--sans);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin-bottom:.35rem}
.auth-field input{width:100%;border:1px solid var(--border);border-radius:var(--radius);padding:.7rem .8rem;font-family:var(--sans);font-size:.95rem;color:var(--text);background:var(--paper)}
.auth-field input:focus{outline:none;border-color:var(--copper)}
.auth-only-register{display:none}
.auth-modal.is-register .auth-only-register{display:block}
.auth-err{color:var(--alert);font-size:.82rem;margin:.2rem 0 .5rem;min-height:1px}
.auth-switch{text-align:center;font-size:.82rem;color:var(--text-dim);margin:.9rem 0 0}
.auth-switch button{background:none;border:0;color:var(--copper);cursor:pointer;font-size:.82rem;font-family:var(--sans);text-decoration:underline}
.auth-note{text-align:center;font-size:.72rem;color:var(--text-dim);margin:1rem 0 0;line-height:1.5}

/* --- Budapest kép-sáv --- */
.band{position:relative;overflow:hidden;isolation:isolate}
.band__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.band__overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(20,16,10,.9),rgba(20,16,10,.6) 55%,rgba(20,16,10,.28))}
.band__in{padding-block:clamp(4rem,13vh,8rem);max-width:40rem;color:var(--cream)}
.band__in .h2{color:var(--cream)}
.band__in .h2 em{color:#d8b37a}
.band__sub{margin-top:1rem;font-size:1.02rem;line-height:1.7;color:rgba(242,234,216,.86)}
.eyebrow--light{color:#d8b37a}
.eyebrow--light::before{background:#d8b37a}

/* --- záró CTA --- */
.close{background:var(--ink);color:var(--cream);border-top:1px solid rgba(176,138,79,.3)}
.close__in{display:grid;grid-template-columns:1fr;gap:2rem;align-items:center}
@media (min-width:820px){.close__in{grid-template-columns:1.4fr 1fr}}
.close .eyebrow{color:var(--copper-lift)}
.close h2{color:var(--cream);font-size:clamp(2rem,4vw,3.2rem)}
.close__sub{color:rgba(242,234,216,.72);margin-top:.8rem}
.close__act{display:flex;flex-direction:column;gap:1rem;align-items:flex-start}
@media (min-width:820px){.close__act{align-items:flex-end}}
.close__phone{color:rgba(242,234,216,.72);font-size:.85rem}
.close__phone b{font-family:var(--serif);font-size:1.4rem;color:var(--cream);font-weight:500;display:block;margin-top:.2rem}

/* footer */
.footer{background:var(--ink);color:var(--cream);padding-block:clamp(3rem,6vh,4.5rem) 2rem;border-top:1px solid rgba(242,234,216,.12)}
.footer__grid{display:grid;grid-template-columns:1fr;gap:2rem}
@media (min-width:720px){.footer__grid{grid-template-columns:2fr 1fr 1fr 1.2fr}}
.footer__brand .brand__mark{color:var(--cream)}
.footer__tag{color:rgba(242,234,216,.6);font-size:.88rem;max-width:26ch;margin-top:1rem}
.footer h4,.footer__coltitle{font-family:var(--sans);font-weight:500;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--copper-lift);margin:0 0 1rem}
.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.footer a,.footer li{color:rgba(242,234,216,.72);font-size:.88rem}
.footer a:hover{color:var(--copper-lift)}
.footer__credit{font-size:.68rem;color:rgba(242,234,216,.66);width:100%}
.footer__credit a{color:inherit;text-decoration:underline}
.footer__bottom{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid rgba(242,234,216,.12);
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.78rem;color:rgba(242,234,216,.62)}

/* reveal on scroll */
:where(html.js) .reveal{opacity:0;transform:translateY(18px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.reveal.in{opacity:1;transform:none}

/* result pages (success/cancel) */
.result-body{display:flex;align-items:center;justify-content:center;min-height:100vh}
.result{max-width:520px;text-align:center;padding:2rem}
.result-mark{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  margin:0 auto 1.5rem;font-size:1.8rem;border:1px solid var(--border)}
.result-mark.ok{color:var(--sage);border-color:rgba(107,143,113,.5)}
.result-mark.no{color:var(--alert);border-color:rgba(192,80,60,.5)}
.result h1{font-family:var(--serif);font-weight:400;font-size:2.2rem;margin:0 0 .8rem}
.result p{color:var(--text-dim);margin:0 0 1.5rem}
.result-amount{font-family:var(--serif);font-weight:500;font-size:1.5rem;color:var(--copper);
  border:1px solid var(--border);border-radius:var(--radius);padding:.7rem 1.4rem;display:inline-block;margin-bottom:1.6rem}

/* bizalmi sáv a hero alatt */
@media(max-width:760px){}

/* ============================================================
   ALOLDALAK (blog, driver, jogi, útvonal)
   ============================================================ */
.subpage{min-height:60vh}
.bc-wrap{padding-top:calc(74px + 1.2rem)}
.page-hero{background:var(--paper-warm);border-bottom:1px solid var(--hairline);
  padding:clamp(1.6rem,3.5vw,2.8rem) 0 clamp(2.2rem,4.5vw,3.5rem)}
.page-hero__h1{font-family:var(--serif);font-weight:300;font-size:clamp(2.2rem,4.5vw,3.6rem);line-height:1.06;margin:.6rem 0 .8rem}
.page-hero .lead{max-width:44ch}
.bc{font-size:.78rem;letter-spacing:.03em;color:var(--text-dim);padding:0;display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.bc a{color:var(--copper)}.bc a:hover{color:var(--copper-dim)}.bc__sep{opacity:.5}

.legal{max-width:820px;padding-block:clamp(2.5rem,5vw,4rem)}
.legal__intro{font-size:1.1rem;color:var(--text-dim);margin-bottom:2rem}
.legal__sec{margin-bottom:2rem}
.legal__sec h2{font-family:var(--serif);font-weight:500;font-size:1.5rem;margin:0 0 .7rem}
.legal__sec p{color:var(--text-dim);margin:0 0 .8rem;max-width:70ch}
.legal__table{overflow-x:auto;margin:1.5rem 0}
.legal__table table{width:100%;border-collapse:collapse;font-size:.9rem}
.legal__table td{border:1px solid var(--hairline);padding:.7rem .9rem;color:var(--text-dim);vertical-align:top}
.route__price{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.2rem;color:var(--text);font-size:.95rem;margin:1.5rem 0}

.prose{max-width:720px}
.prose h2{font-family:var(--serif);font-weight:500;font-size:1.7rem;margin:2rem 0 .8rem;line-height:1.2}
.prose p{color:var(--text-dim);margin:0 0 1.1rem;font-size:1.05rem;line-height:1.75}
.article{padding-block:clamp(2.5rem,5vw,4rem)}
.article__cta{margin-top:2.5rem;padding:1.6rem 1.8rem;background:var(--ink);color:var(--cream);border-radius:var(--radius);
  display:flex;align-items:center;justify-content:space-between;gap:1.2rem;flex-wrap:wrap}
.article__cta p{margin:0;font-family:var(--serif);font-size:1.3rem}

.blog-grid{display:grid;grid-template-columns:1fr;gap:1.3rem;padding-block:clamp(2.5rem,5vw,4rem)}
@media(min-width:680px){.blog-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.blog-grid{grid-template-columns:1fr 1fr 1fr}}
.blog-card{display:flex;flex-direction:column;gap:.6rem;background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);padding:1.5rem;transition:border-color .2s,transform .15s}
.blog-card:hover{border-color:var(--copper);transform:translateY(-2px)}
.blog-card__meta{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--copper)}
.blog-card h3{font-family:var(--serif);font-weight:500;font-size:1.4rem;line-height:1.2}
.blog-card p{color:var(--text-dim);font-size:.92rem;margin:0;flex:1}
.blog-card__more{color:var(--copper);font-size:.82rem;font-weight:500;display:inline-flex;align-items:center;gap:.4rem}
.blog-card__more .ico{width:15px;height:15px}

.feats{display:grid;grid-template-columns:1fr;gap:1.2rem}
@media(min-width:720px){.feats{grid-template-columns:1fr 1fr}}
.feat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}
.feat h3{font-family:var(--sans);font-weight:500;font-size:1.05rem;margin:0 0 .4rem}
.feat p{margin:0;color:var(--text-dim);font-size:.93rem}
.driver__two{display:grid;grid-template-columns:1fr;gap:clamp(2rem,5vw,4rem)}
@media(min-width:860px){.driver__two{grid-template-columns:1fr 1fr}}
.ticklist{list-style:none;padding:0;margin:0 0 1.5rem;display:grid;gap:.7rem}
.ticklist li{position:relative;padding-left:1.7rem;color:var(--text-dim)}
.ticklist li::before{content:"";position:absolute;left:0;top:.5em;width:9px;height:9px;border-radius:50%;background:var(--copper)}
.driver__earn{background:var(--paper-warm);border:1px solid var(--border);border-radius:var(--radius);padding:1.3rem 1.5rem}
.driver__earn h3{font-family:var(--sans);font-weight:500;font-size:.95rem;margin:0 0 .4rem;color:var(--copper)}
.driver__earn p{margin:0;color:var(--text-dim);font-size:.93rem}
.steps--v{grid-template-columns:1fr!important;gap:1.2rem;margin-bottom:1.8rem}
.steps--v .step{margin-top:0!important}
.partner{background:var(--ink);color:var(--cream);padding-block:clamp(2.5rem,5vw,4rem)}
.partner .eyebrow{color:var(--copper-lift)}
.partner__txt{max-width:60ch;color:rgba(242,234,216,.8);font-size:1.05rem;margin:0 0 1.3rem}

/* gazdag footer */
.footer__grid--rich{grid-template-columns:1fr}
@media(min-width:720px){.footer__grid--rich{grid-template-columns:1.6fr 1fr 1fr 1fr 1fr}}
.footer__contact{display:flex;flex-direction:column;gap:.35rem;margin-top:1.1rem}
.footer__contact a{color:rgba(242,234,216,.75);font-size:.88rem}
.footer__contact a:hover{color:var(--copper)}
.footer__pay{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2.2rem;padding-top:1.5rem;border-top:1px solid rgba(242,234,216,.12)}
.footer__pay span{font-size:.72rem;letter-spacing:.04em;color:rgba(242,234,216,.6);border:1px solid rgba(242,234,216,.18);
  border-radius:4px;padding:.35rem .7rem}

/* kompaktabb foglaló-widget (alacsonyabb hero, kevesebb görgetés) */
.book{padding:1.1rem 1.15rem}
.field{margin-bottom:.5rem}
.field__label{margin-bottom:.25rem;font-size:.68rem}
.field__wrap{padding:.42rem .15rem}
.field input,.field select,.field textarea{font-size:.92rem}
.seg{margin-bottom:.7rem;padding:.2rem}
.seg__btn{padding:.5rem .3rem;font-size:.74rem}
.grid-2{gap:.55rem}
.checkrow{margin:.55rem 0;font-size:.85rem}
.cats{margin:.35rem 0 .2rem;gap:.4rem}
.cats legend,.extras legend{margin-bottom:.35rem}
.cat{padding:.5rem .75rem}
.cat__meta{font-size:.72rem}
.cat__price{font-size:1.08rem}
.cat__check{width:20px;height:20px}
.extras{margin:.4rem 0}
.extras__grid{gap:.3rem .8rem}
.extra{font-size:.78rem}
.quote{margin-top:.7rem;padding-top:.8rem}
.quote__price{font-size:clamp(1.9rem,4vw,2.6rem)}
.book__cta{margin-top:.7rem;padding:.85rem 1.6rem}
.demo-note{margin-bottom:.7rem;padding:.45rem .6rem;font-size:.68rem}
.hero__sub{margin-top:0}.hero__chips{margin-top:1.2rem}

/* WhatsApp lebegő gomb (bal alsó) */
.wa-fab{position:fixed;left:20px;bottom:20px;z-index:60;display:inline-flex;align-items:center;gap:.55rem;
  background:#25D366;color:#fff;border-radius:999px;padding:.7rem 1.15rem;text-decoration:none;
  box-shadow:0 14px 34px -10px rgba(37,211,102,.55);font-family:var(--sans);font-weight:500;font-size:.9rem;
  transition:transform .2s var(--ease),box-shadow .2s}
.wa-fab:hover{transform:translateY(-2px);color:#fff;box-shadow:0 18px 40px -10px rgba(37,211,102,.65)}
.wa-fab svg{width:26px;height:26px;fill:currentColor;flex:none}
@media (max-width:560px){.wa-fab__txt{display:none}.wa-fab{padding:.85rem;left:16px;bottom:16px}}

/* Chat widget (jobb alsó) */
.chat-fab{position:fixed;right:20px;bottom:20px;z-index:60;width:56px;height:56px;border-radius:50%;border:0;cursor:pointer;
  background:var(--copper);color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 14px 34px -10px rgba(176,138,79,.6);transition:transform .2s,opacity .2s,background .2s}
.chat-fab:hover{transform:translateY(-2px);background:var(--copper-dim)}
.chat-fab.hidden{opacity:0;pointer-events:none;transform:scale(.85)}
.chat-panel{position:fixed;right:20px;bottom:20px;z-index:61;width:min(370px,calc(100vw - 40px));height:min(540px,calc(100vh - 100px));
  background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);
  display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(16px) scale(.98);pointer-events:none;
  transition:opacity .25s var(--ease),transform .25s var(--ease)}
.chat-panel.open{opacity:1;transform:none;pointer-events:auto}
.chat-head{background:var(--ink);color:var(--cream);padding:1rem 1.2rem;display:flex;align-items:center;gap:.55rem}
.chat-head>div{flex:1;min-width:0}
.chat-head .chat-close{margin-left:auto}
.chat-head strong{font-family:var(--serif);font-weight:500;font-size:1.15rem;display:block}
.chat-head__sub{display:block;font-size:.72rem;color:rgba(242,234,216,.65)}
.chat-close{background:none;border:0;color:var(--cream);font-size:1.5rem;cursor:pointer;line-height:1;opacity:.7}
.chat-close:hover{opacity:1}
.chat-msgs{flex:1;overflow-y:auto;padding:1.1rem;display:flex;flex-direction:column;gap:.7rem;background:var(--paper)}
.chat-msg{max-width:82%;padding:.7rem .95rem;border-radius:12px;font-size:.9rem;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}
.chat-bot{background:var(--surface);border:1px solid var(--border);color:var(--text);align-self:flex-start;border-bottom-left-radius:3px}
.chat-user{background:var(--copper);color:#fff;align-self:flex-end;border-bottom-right-radius:3px}
.chat-typing{display:flex;gap:4px;align-items:center;width:auto}
.chat-typing span{width:6px;height:6px;border-radius:50%;background:var(--text-dim);animation:chatdot 1s infinite}
.chat-typing span:nth-child(2){animation-delay:.2s}.chat-typing span:nth-child(3){animation-delay:.4s}
@keyframes chatdot{0%,60%,100%{opacity:.3}30%{opacity:1}}
.chat-form{display:flex;gap:.5rem;padding:.8rem;border-top:1px solid var(--border);background:var(--surface)}
.chat-form input{flex:1;border:1px solid var(--border);border-radius:8px;padding:.7rem .9rem;font-family:var(--sans);font-size:.9rem;color:var(--text);background:var(--paper)}
.chat-form input:focus{outline:none;border-color:var(--copper)}
.chat-form button{width:42px;border:0;border-radius:8px;background:var(--copper);color:#fff;font-size:1.1rem;cursor:pointer}
.chat-form button:hover{background:var(--copper-dim)}
.chat-quick{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.1rem}
.chat-chip{background:var(--surface);border:1px solid var(--border);color:var(--copper);border-radius:999px;
  padding:.45rem .8rem;font-family:var(--sans);font-size:.8rem;cursor:pointer;transition:border-color .2s,background .2s;text-align:left}
.chat-chip:hover{border-color:var(--copper);background:rgba(138,108,60,.06)}
/* akció-gombok a válasz alatt — innen egy koppintás a foglalás */
.chat-acts{display:flex;flex-wrap:wrap;gap:.4rem;margin:.15rem 0 .1rem}
.chat-act{font-family:var(--sans);font-size:.8rem;font-weight:500;cursor:pointer;
  background:var(--copper);color:#fff;border:0;border-radius:999px;padding:.5rem .95rem;
  box-shadow:0 8px 20px -12px rgba(122,94,51,.9);transition:background .18s,transform .18s var(--ease)}
.chat-act:hover{background:var(--copper-dim);transform:translateY(-1px)}
.chat-act:active{transform:translateY(0) scale(.98)}
.chat-act:focus-visible{outline:2px solid var(--copper);outline-offset:2px}

/* "elérhető vagyok" jel a fejlécben és a gombon */
.chat-head__dot{width:7px;height:7px;border-radius:50%;background:#4CD07D;flex:none;margin-right:.15rem;
  box-shadow:0 0 0 3px rgba(76,208,125,.2)}
.chat-fab__dot{position:absolute;top:11px;right:11px;width:8px;height:8px;border-radius:50%;
  background:#4CD07D;border:1.5px solid var(--copper)}
/* FIGYELEM: a .chat-fab position:fixed marad — az önmagában is containing block
   az abszolút gyerekeknek. Egy position:relative itt kiütné a fixed pozíciót, és
   a gomb a dokumentum aljára esne (2026-09-02-i hiba). */
/* diszkrét felirat-buborék a gomb mellett — egyszer, késleltetve úszik be */
.chat-fab__hint{position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%) translateX(6px);
  white-space:nowrap;background:var(--surface);color:var(--text);border:1px solid var(--border);
  border-radius:999px;padding:.42rem .8rem;font-family:var(--sans);font-size:.78rem;
  box-shadow:0 10px 26px -14px rgba(26,23,18,.5);opacity:0;pointer-events:none}
@media (prefers-reduced-motion:no-preference){
  .chat-fab:not(.hidden):not(.chat-fab--has-history) .chat-fab__hint{animation:chatHint 9s var(--ease) 4s 1 forwards}
  @keyframes chatHint{
    0%{opacity:0;transform:translateY(-50%) translateX(6px)}
    6%,60%{opacity:1;transform:translateY(-50%) translateX(0)}
    100%{opacity:0;transform:translateY(-50%) translateX(6px)}
  }
}
.chat-panel{box-shadow:0 30px 70px -24px rgba(26,23,18,.5)}
/* nyitott chat mellett a mobil sticky-CTA visszahúzódik — különben eltakarja a
   beviteli mezőt, és a látogató nem tud írni */
body.chat-open .sticky-cta{transform:translateY(110%);visibility:hidden}
body.chat-open .wa-fab{opacity:0;pointer-events:none;transition:opacity .2s}
.chat-msg{animation:chatIn .26s var(--ease)}
@keyframes chatIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.chat-msg{animation:none}}

@media(max-width:560px){.chat-panel{right:12px;bottom:12px}.chat-fab{right:16px;bottom:16px}}

/* megjegyzés textarea */
.field__wrap--area{align-items:flex-start;padding-top:.55rem}
.field textarea{width:100%;border:0;background:none;font-family:var(--sans);font-size:.98rem;color:var(--text);
  padding:0;resize:vertical;line-height:1.5;min-height:2.6em}
.field textarea:focus{outline:none}
.field textarea::placeholder{color:#756A50}

/* a fotós herón a szöveg kapjon finom árnyékot az olvashatóságért */
.hero--img h1,.hero--img .hero__sub,.hero--img .hero__eyebrow{text-shadow:0 1px 3px rgba(0,0,0,.45)}

/* responsive nav */
@media (max-width:860px){
  .nav__links{display:none}
  .nav__cta{display:none}
}
@media (max-width:640px){
  .nav__in{padding-block:.7rem}
  .nav__right{gap:.55rem}
  .cur{display:none}                     /* pénznem a mobil-menüben él tovább */
  .acct-btn{padding:.5rem .55rem}
  .acct-btn span{display:none}           /* ikon-only Belépés */
  .brand__mark{font-size:1.35rem}
  .brand__sub{font-size:.5rem;letter-spacing:.26em}
  /* hero + widget kompaktabban */
  .hero{padding-top:64px}
  .hero__in{gap:1.6rem;padding-block:1.6rem}
  .hero__sub{font-size:1.02rem;max-width:34ch}
  .hero__chips{margin-top:1.2rem;gap:.45rem}
  .chip{font-size:.74rem;padding:.42rem .8rem}
  .book{padding:1.1rem 1rem 1.3rem}
  section{padding-block:clamp(3.2rem,8vh,5rem)}
}
/* a lenyíló menüben a pénznem-választó a tartalmához igazodjon: flex-oszlopban
   a gyerek alapból teljes szélességre nyúlik, és a doboz háromszor szélesebb
   lett a három gombnál */
.nav__mobile .cur{display:inline-flex;align-self:flex-start;width:auto;margin-top:.4rem;
  border:1px solid var(--border);border-radius:999px;padding:.25rem;opacity:1}
.nav__mobile .cur__btn{border-radius:999px;padding:.42rem .8rem;font-size:.76rem}
@media (min-width:641px){.nav__mobile .cur{display:none}}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
  .reveal{opacity:1;transform:none}
  html{scroll-behavior:auto}
}

/* ===== Érintő-célok — minden vezérlő legalább 44px magas érintőn/mobilon ===== */
@media (pointer:coarse),(max-width:860px){
  .seg__btn,.cur__btn,.lang,.acct-btn,.chat-form input,.chat-form button{min-height:44px}
  .checkrow,.extra,.field__wrap{min-height:44px}
  .wiz-back{min-height:44px;align-items:center}
  .loc-link{padding-block:1.05rem;margin-block:-1.05rem}
  .nav__mobile a:not(.btn){padding:.85rem 0}
  .nav__burger{min-height:44px;min-width:44px;justify-content:center;align-items:center}
  .nav__link{min-height:44px;display:inline-flex;align-items:center}
}

/* ===== 320px-es garancia — nincs vízszintes görgetés a legkisebb kijelzőn sem ===== */
.field__wrap{min-width:0}
.field__wrap input,.field__wrap select{min-width:0;width:100%}
.wiz-step{min-width:0}
@media (max-width:380px){
  .grid-2,.extras__grid{grid-template-columns:1fr}
  .field--half{margin-bottom:.6rem}
  .chip{font-size:.7rem;padding:.4rem .65rem}
  .book{padding:1rem .9rem}
}

.extra__fee{margin-left:.3rem;color:#8A6C3C;font-weight:600;font-size:.82em;white-space:nowrap}

.hero__pic{position:absolute;inset:0;display:block}

/* ============================================================
   MIKROINTERAKCIÓK — diszkrét réteg (originkit-minták nyomán)
   Minden effekt PRM-kapus; layout nem változik.
   ============================================================ */

/* réz sheen-sweep a hero-eyebrow-n — egyrétegű background-clip, nincs plusz DOM */
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .hero--img .hero__eyebrow{
    background:linear-gradient(100deg,#C89A5B 0%,#C89A5B 42%,#F0DCB2 50%,#C89A5B 58%,#C89A5B 100%);
    background-size:260% 100%;background-position:120% 0;
    -webkit-background-clip:text;background-clip:text;color:transparent;
    text-shadow:none;
    animation:sheen 8s cubic-bezier(.4,0,.2,1) 5;
  }
}
@keyframes sheen{0%,45%{background-position:120% 0}90%,100%{background-position:-140% 0}}

/* elegáns fény-sweep a fő CTA-kon: ritka, lassú fénycsík fut át a gombon,
   hoverre finom emelkedés + mélyebb árnyék (a körbefutó beam helyett) */
.book__cta,.close .btn--primary,.hero__cta .btn--primary{position:relative;overflow:hidden;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.book__cta::after,.close .btn--primary::after,.hero__cta .btn--primary::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.14) 45%,rgba(232,200,143,.38) 50%,rgba(255,255,255,.14) 55%,transparent 68%);
  background-size:260% 100%;background-position:135% 0;
  animation:btnsheen 6.5s var(--ease) 6;
}
.book__cta:hover,.close .btn--primary:hover,.hero__cta .btn--primary:hover{
  transform:translateY(-2px);box-shadow:0 14px 34px -12px rgba(138,108,60,.55)}
@keyframes btnsheen{0%,58%{background-position:135% 0}92%,100%{background-position:-70% 0}}

/* szekció-fejek: sor-szintű stagger (eyebrow → cím → lead), finom blur-ból */
:where(html.js) .reveal :is(.eyebrow,.h2,.lead){
  opacity:0;transform:translateY(12px);filter:blur(5px);
  transition:opacity .55s var(--ease),transform .55s var(--ease),filter .55s var(--ease);
}
.reveal.in :is(.eyebrow,.h2,.lead){opacity:1;transform:none;filter:none}
.reveal.in .eyebrow{transition-delay:.02s}
.reveal.in .h2{transition-delay:.1s}
.reveal.in .lead{transition-delay:.18s}

/* hero-chipek: belépés enyhe lépcsőben */
:where(html.js) .reveal .chip{opacity:0;transform:translateY(8px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.reveal.in .chip{opacity:1;transform:none}
.reveal.in .chip:nth-child(1){transition-delay:.22s}
.reveal.in .chip:nth-child(2){transition-delay:.3s}
.reveal.in .chip:nth-child(3){transition-delay:.38s}
.reveal.in .chip:nth-child(4){transition-delay:.46s}

/* érték-lista: soronkénti stagger */
:where(html.js) .value__list.reveal .value__item{opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.value__list.reveal.in .value__item{opacity:1;transform:none}
.value__list.reveal.in .value__item:nth-child(1){transition-delay:.05s}
.value__list.reveal.in .value__item:nth-child(2){transition-delay:.12s}
.value__list.reveal.in .value__item:nth-child(3){transition-delay:.19s}
.value__list.reveal.in .value__item:nth-child(4){transition-delay:.26s}
.value__list.reveal.in .value__item:nth-child(5){transition-delay:.33s}

/* ár-szám váltás: fade + mikro-elmozdulás + blur */
.quote__price{transition:opacity .25s var(--ease),transform .25s var(--ease),filter .25s var(--ease)}
.quote__price.fade{opacity:0;transform:translateY(5px);filter:blur(3px)}

/* kiválasztott kategória: puha réz ambient */
.cat{transition:border-color .2s,box-shadow .3s var(--ease),background .2s}
.cat.selected{box-shadow:inset 0 0 0 1px var(--copper),0 10px 28px -16px rgba(122,94,51,.5)}

/* szolgáltatás-kártyák: ikon-mozdulat + réz aláhúzás-sweep a címen */
.stype>.ico{transition:transform .25s var(--ease)}
.stype:hover>.ico{transform:translateX(3px)}
.stype h3{display:inline-block;background:linear-gradient(var(--copper),var(--copper)) left calc(100% - 1px)/0 1px no-repeat;transition:background-size .3s var(--ease)}
.stype:hover h3{background-size:100% 1px}

/* blog-kártya: nyíl-mozdulat */
.blog-card__more .ico{transition:transform .25s var(--ease)}
.blog-card:hover .blog-card__more .ico{transform:translateX(3px)}

/* hero-fotó: nagyon lassú, alig érzékelhető közelítés — "él" a kép, de nem zavar.
   28 s, egyszeri, oda-vissza nem ugrik; PRM-nél teljesen kikapcsol. */
@media (prefers-reduced-motion:no-preference){
  .hero__photo{animation:heroDrift 28s var(--ease) forwards;will-change:transform}
  @keyframes heroDrift{from{transform:scale(1.06) translate3d(0,0,0)}to{transform:scale(1) translate3d(0,0,0)}}
}

/* hero-parallax: görgetésre a fotó lassabban úszik ki, mint a tartalom —
   tisztán CSS scroll-driven (JS nélkül), csak támogató böngészőben és PRM
   nélkül aktív. A transform a .hero__pic-en él (a __photo a Ken Burns-é),
   a .hero__bg overflow:hidden vágja; sticky elemet nem érint. */
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion:no-preference){
    /* a képdoboz 18%-kal túllóg felfelé, így a max. 16%-os lecsúszásnál sem
       villan ki a háttér a teteje fölött */
    .hero__pic{inset:-18% 0 auto 0;height:118%;animation:heroParallax linear both;animation-timeline:view();animation-range:exit 0% exit 100%}
    @keyframes heroParallax{to{transform:translateY(16%)}}
  }
}

/* fő CTA: lélegző réz-glória, hogy a szem odataláljon — 1 ciklus / 4,5 s */
@media (prefers-reduced-motion:no-preference){
  /* 3 ciklus, nem végtelen: a figyelemfelkeltés egyszeri gesztus. A végtelen
     animáció ráadásul folyamatosan ébren tartja a kompozitort (akku, és a
     screenshot/Lighthouse-eszközök sem találnak stabil állapotot). */
  .hero__cta .btn--primary{animation:ctaPulse 4.5s var(--ease) 1.6s 3}
  @keyframes ctaPulse{
    0%,100%{box-shadow:0 10px 30px -14px rgba(122,94,51,.7),0 0 0 0 rgba(201,161,94,0)}
    45%{box-shadow:0 12px 34px -12px rgba(122,94,51,.85),0 0 0 7px rgba(201,161,94,.09)}
    70%{box-shadow:0 10px 30px -14px rgba(122,94,51,.7),0 0 0 12px rgba(201,161,94,0)}
  }
}

/* PRM: minden fenti effekt statikus, olvasható véghelyzetben */
@media (prefers-reduced-motion:reduce){
  .hero--img .hero__eyebrow{animation:none;background-position:50% 0}
  .book__cta::before,.close .btn--primary::before{animation:none;opacity:.35}
  .reveal :is(.eyebrow,.h2,.lead),.reveal .chip,.value__list.reveal .value__item{opacity:1;transform:none;filter:none}
}

/* lightbox — beltér/flotta fotók nagyítása */
.zoomable{cursor:zoom-in}
.zoomable:focus-visible{outline:2px solid var(--copper);outline-offset:3px}
.lightbox{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;
  background:rgba(20,16,10,.88);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  opacity:0;pointer-events:none;transition:opacity .25s var(--ease);padding:2.5rem}
.lightbox.open{opacity:1;pointer-events:auto}
.lightbox img{max-width:min(1200px,92vw);max-height:86vh;object-fit:contain;border-radius:var(--radius);
  box-shadow:0 40px 120px -30px rgba(0,0,0,.8);transform:scale(.97);transition:transform .25s var(--ease)}
.lightbox.open img{transform:none}
.lightbox__x{position:absolute;top:18px;right:22px;background:none;border:0;color:var(--cream);
  font-size:2.2rem;line-height:1;cursor:pointer;opacity:.75;padding:.4rem .7rem}
.lightbox__x:hover{opacity:1}
.lightbox__x:focus-visible{outline:2px solid var(--copper-lift);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.lightbox,.lightbox img{transition:none}}

/* csillag-választó az értékelés-beküldőn (fordított DOM + row-reverse = balról töltődik) */
.starpick{border:0;padding:0;margin:.2rem 0 .9rem}
.starpick legend{margin-bottom:.35rem}
.starpick__row{display:inline-flex;flex-direction:row-reverse;gap:.1rem}
.starpick__row input{position:absolute;opacity:0;width:1px;height:1px}
.starpick__row label{font-size:2.1rem;line-height:1;color:var(--border-strong);cursor:pointer;padding:.15rem .2rem;transition:color .15s,transform .15s}
.starpick__row label:hover,.starpick__row label:hover~label,
.starpick__row input:checked~label{color:#E8B34A}
.starpick__row label:hover{transform:scale(1.1)}
.starpick__row input:focus-visible+label{outline:2px solid var(--copper);outline-offset:2px;border-radius:4px}
@media (pointer:coarse){.starpick__row label{font-size:2.4rem;padding:.2rem .3rem}}

/* sofőr-jelentkezés köszönő állapota */
.driver-done{text-align:center;padding:2.5rem 1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}
.driver-done .result-mark{margin-bottom:1.2rem}
.driver-done h3{margin-bottom:.5rem}
.driver-done p{color:var(--text-dim);max-width:44ch;margin:0 auto 1.4rem}
#driver-form .book__error{margin-bottom:.8rem}
#driver-form .btn--lg{margin-top:.4rem}
#driver-form .book__micro{justify-content:flex-start;margin-top:.9rem}

/* ============================================================
   SALES-RÉTEG: sticky mobil CTA, ár-horgony, badge, kártya-polish
   ============================================================ */
.hero__cta-note{margin:.8rem 0 0;font-size:.82rem;letter-spacing:.02em;color:rgba(246,241,229,.88);
  text-shadow:0 1px 3px rgba(0,0,0,.5)}
.hero__cta-note b{font-family:var(--serif);font-weight:500;font-size:1.05rem;color:#E8C88B;
  text-shadow:0 1px 4px rgba(0,0,0,.55)}

.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:70;display:none;align-items:center;justify-content:space-between;gap:1rem;
  padding:.65rem 1rem calc(.65rem + env(safe-area-inset-bottom));
  background:rgba(20,16,10,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border-top:1px solid rgba(200,154,91,.28);box-shadow:0 -14px 40px -18px rgba(0,0,0,.55);
  visibility:hidden;transform:translateY(110%);transition:transform .32s var(--ease),visibility 0s .32s}
.sticky-cta.show{visibility:visible;transform:translateY(0);transition:transform .32s var(--ease),visibility 0s}
.sticky-cta__txt{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.sticky-cta__txt b{font-family:var(--serif);font-weight:500;font-size:1.02rem;color:#F6F1E5;white-space:nowrap}
.sticky-cta__txt span{font-size:.66rem;letter-spacing:.02em;color:rgba(246,241,229,.72);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sticky-cta__btn{flex:none;min-height:44px;padding:.6rem 1.25rem}
@media (max-width:860px){
  .sticky-cta{display:flex}
  body.sticky-cta-on .wa-fab{bottom:calc(78px + env(safe-area-inset-bottom));transition:bottom .32s var(--ease)}
  body.sticky-cta-on .chat-fab{bottom:calc(78px + env(safe-area-inset-bottom));transition:bottom .32s var(--ease)}
  /* a lap aljára görgetve a sáv ne takarja a footer utolsó sorait */
  body.sticky-cta-on .footer{padding-bottom:calc(2rem + 78px + env(safe-area-inset-bottom))}
}

.cat__badge{position:absolute;top:-9px;right:12px;z-index:1;font-size:.58rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;
  color:var(--surface);background:var(--copper);border-radius:2px;padding:.18rem .5rem;pointer-events:none}

/* flotta-kártyák: finom lift + kép-zoom hoverre (PRM-nél a globális blokk kikapcsolja) */
.veh{transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .25s var(--ease)}
.veh:hover{transform:translateY(-4px);border-color:var(--copper);box-shadow:var(--shadow)}
.veh__media img{transition:transform .6s var(--ease)}
.veh:hover .veh__media img{transform:scale(1.045)}

.faq__more{margin-top:2.2rem;font-size:.92rem;color:var(--text-dim)}
.faq__more a{color:var(--copper);text-decoration:underline;text-underline-offset:3px}
.faq__more a:hover{color:var(--copper-lift, var(--copper))}

/* garancia-blokk az ár alatt (GoodUI "bulleted reassurances") */
.book__assure{list-style:none;margin:.9rem 0 0;padding:.85rem 1rem;display:grid;gap:.45rem;
  background:var(--paper-warm);border:1px solid var(--hairline);border-radius:var(--radius)}
.book__assure li{display:flex;align-items:flex-start;gap:.5rem;font-size:.78rem;line-height:1.4;color:var(--text-dim)}
.book__assure .ico{width:14px;height:14px;stroke:var(--copper);flex:none;margin-top:.12rem}

/* mezőnkénti inline hibajelzés (blur-validáció) */
.field--invalid .field__wrap{border-color:var(--alert)}
.field__err{display:none;font-size:.72rem;color:var(--alert);margin:.3rem 0 0}
.field--invalid .field__err{display:block}

/* személyvédelem óraszám-mező */
.extra--hours{display:flex;align-items:center;gap:.5rem;padding-left:1.6rem;font-size:.8rem;color:var(--text-dim)}
.extra--hours[hidden]{display:none}
.extra--hours input{width:4.2rem;padding:.35rem .5rem;border:1px solid var(--border-strong);border-radius:2px;
  background:var(--paper);color:var(--text);font-family:inherit;font-size:.85rem;text-align:center}
.extra--hours input:focus-visible{outline:2px solid var(--copper);outline-offset:1px}

/* success: opcionális fiók-gomb + auth consent */
.res__acct{display:inline-block;margin-top:1rem;font-family:var(--sans);font-size:.85rem;font-weight:500;
  color:var(--copper-lift,#C89A5B);background:none;border:1px solid rgba(200,154,91,.45);border-radius:var(--radius);
  padding:.65rem 1.2rem;cursor:pointer;transition:border-color .2s,color .2s}
.res__acct:hover{border-color:var(--copper-lift,#C89A5B);color:#E8C88F}
.auth-consent{display:flex;align-items:flex-start;gap:.55rem;margin:.2rem 0 .9rem;font-size:.8rem;color:var(--text-dim);cursor:pointer}
.auth-consent input{margin-top:.2rem;accent-color:var(--copper)}
.auth-consent a{color:var(--copper);text-decoration:underline;text-underline-offset:2px}
.auth-modal:not(.is-register) .auth-only-register{display:none}

/* kategória-kártya autó-képpel (Welcome Pickups-minta) */
.cat__img{width:72px;height:48px;object-fit:cover;border-radius:2px;border:1px solid var(--hairline);
  filter:saturate(.92) contrast(1.02);transition:transform .3s var(--ease)}
.cat.selected .cat__img{transform:scale(1.03)}
@media (max-width:420px){.cat__img{display:none}}

/* FAQ-oldali kontakt-kártya — kitölti a fejléc alatti teret, élő csatornákkal */
.faq-contact{margin-top:2rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:1.3rem 1.4rem}
.faq-contact__t{font-family:var(--serif);font-size:1.08rem;color:var(--text);margin:0 0 .8rem}
.faq-contact__row{display:flex;align-items:center;gap:.6rem;padding:.5rem 0;font-size:.88rem;color:var(--text-dim);text-decoration:none;border-top:1px solid var(--hairline);transition:color .2s}
.faq-contact__row:first-of-type{border-top:0}
.faq-contact__row:hover{color:var(--copper)}
.faq-contact__row .ico{width:17px;height:17px;stroke:var(--copper);flex:none}
.faq-contact__row svg[viewBox="0 0 32 32"]{fill:var(--copper);stroke:none}

/* ============================================================
   LOCBOX — nyelv + pénznem egyetlen diszkrét lenyílóban
   ============================================================ */
.locbox{position:relative}
.locbox__btn{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--sans);font-weight:400;
  font-size:.72rem;letter-spacing:.05em;color:var(--text-dim);background:none;border:0;cursor:pointer;
  padding:.5rem .55rem;border-radius:2px;opacity:.8;transition:opacity .2s,color .2s,background .2s}
.locbox__btn::after{content:"▾";font-size:.58rem;opacity:.65;transform:translateY(1px)}
.locbox__btn:hover,.locbox__btn[aria-expanded="true"]{opacity:1;color:var(--text);background:rgba(138,108,60,.08)}
.locbox__btn:focus-visible{outline:2px solid var(--copper);outline-offset:2px}
.nav.on-hero:not(.scrolled) .locbox__btn{color:rgba(242,234,216,.85)}
.nav.on-hero:not(.scrolled) .locbox__btn:hover{color:#F6F1E5}
.locbox__panel{position:absolute;right:0;top:calc(100% + 10px);z-index:90;min-width:220px;
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:1rem 1.1rem 1.1rem}
.locbox__panel[hidden]{display:none}
.locbox__t{font-family:var(--sans);font-size:.62rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;
  color:var(--text-dim);margin:0 0 .45rem}
.locbox__t + .locbox__t{margin-top:.9rem}
.locbox__panel .locbox__t:nth-of-type(2){margin-top:.9rem}
.locbox__panel .lang{width:100%;opacity:1;color:var(--text);border:1px solid var(--border);border-radius:2px;
  padding:.5rem .6rem;font-size:.85rem;background:var(--paper)}
.locbox__panel .cur{display:flex;opacity:1;border:1px solid var(--border);border-radius:2px;padding:.2rem;margin-top:.1rem}
.locbox__panel .cur .cur__btn{flex:1}

/* a panel mindig világos kártya — a hero-módos (világos betűs) nav-szabályok ne szivárogjanak be */
.nav.on-hero:not(.scrolled) .locbox__panel .lang,
.locbox__panel .lang{color:var(--text);border-color:var(--border);background:var(--paper)}
.nav.on-hero:not(.scrolled) .locbox__panel .cur__btn,
.locbox__panel .cur__btn{color:var(--text-dim)}
.nav.on-hero:not(.scrolled) .locbox__panel .cur__btn.active,
.locbox__panel .cur__btn.active{color:var(--surface);background:var(--copper)}

/* a panel-select teljes, önálló stílusa — semmit nem örököl a nav/hero szabályokból */
.locbox__panel select.lang,
.nav .locbox__panel select.lang,
.nav.on-hero:not(.scrolled) .locbox__panel select.lang{
  width:100%;opacity:1;color:#2A251E;background:#FFFDF8;
  border:1px solid var(--border-strong);border-radius:2px;
  padding:.55rem .65rem;font-size:.9rem;font-weight:400;letter-spacing:.02em;
  -webkit-appearance:menulist;appearance:menulist;cursor:pointer}
.locbox__panel select.lang:focus-visible{outline:2px solid var(--copper);outline-offset:1px}

/* csak felolvasónak szóló szöveg */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Árak-oldal: tipikus ár-sorok */
.pricelist{list-style:none;margin:0;padding:0;display:grid;gap:.8rem}
.pricerow{display:grid;grid-template-columns:1fr auto auto;gap:1rem 1.6rem;align-items:center;
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.3rem}
.pricerow__route b{font-family:var(--serif);font-weight:500;font-size:1.08rem;color:var(--text);display:block}
.pricerow__route small{display:block;font-size:.76rem;color:var(--text-dim);margin-top:.2rem}
.pricerow__p{text-align:right;min-width:7.2rem}
.pricerow__p span{display:block;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}
.pricerow__p b{font-family:var(--serif);font-weight:500;font-size:1.05rem;color:var(--copper)}
@media (max-width:640px){.pricerow{grid-template-columns:1fr;gap:.6rem}.pricerow__p{text-align:left;display:flex;gap:.6rem;align-items:baseline;min-width:0}}

/* nyelvi jelző a magyar SEO-tartalmakon (csak nem-magyar nyelven látszik) */
.lang-note{background:var(--paper-warm);border:1px solid var(--border);border-left:3px solid var(--copper);
  border-radius:var(--radius);padding:.85rem 1.1rem;font-size:.85rem;color:var(--text-dim);margin:0 0 1.8rem}
.lang-note[hidden]{display:none}


/* ── design-bírálói fixek ── */
/* szolgáltatás-kártya: az ikon mindig a cím fölött, determinisztikusan */
.stype>.ico{display:block;margin-bottom:.8rem}
/* dupla naptár/óra-ikon: a natív picker-indikátor láthatatlan, de kattintható marad */
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator{opacity:0;position:absolute;inset:0;width:100%;height:100%;cursor:pointer}
.field__wrap{position:relative}
/* tap-targetek: lightbox-záró, wizard-vissza, belépés */
.lightbox__x{min-width:44px;min-height:44px}
.wiz-back{padding:.6rem 0;min-height:44px;display:inline-flex;align-items:center}
.acct-btn{min-height:44px}
/* grid-árvák: az első szolgáltatás-kártya kiemelt (3 oszlopnál 8→3+3+2 helyett 1×2+6 = 3 teli sor) */
@media (min-width:980px){.stypes .stype:first-child{grid-column:span 2}}
/* driver "Amit kínálunk": az árva 5. kártya két oszlopra nyúlik */
.dbenefits>div:last-child:nth-child(odd){grid-column:1/-1}
/* security óra-mező: teljes sor, behúzva, underline-stílus */
.extra--hours{grid-column:1/-1;padding-left:1.9rem}
.extra--hours input{border:0;border-bottom:1px solid var(--border-strong);border-radius:0;background:none;width:3.5rem}
/* mobil: a chat is elérhető marad (a WhatsApp a bal, a chat a jobb sarokban),
   csak kompaktabb — a chat a leggyorsabb önkiszolgáló csatorna, nem hagyjuk el */
@media (max-width:640px){
  .chat-fab{width:50px;height:50px;right:16px;bottom:16px}
  .chat-fab svg{width:21px;height:21px}
  .chat-fab__hint{display:none}
}

/* mobil-menü scrim — a lap elsötétül a lenyíló menü alatt */
body.menu-open::after{content:"";position:fixed;inset:0;background:rgba(26,23,18,.45);z-index:64}
/* a scrim (z-index 64) a nav ALATT marad; a nav az eredeti fixed pozícióban */
.nav{z-index:70}
.nav__mobile{position:relative;z-index:70}

/* blog-index: featured első kártya + réz iniciálé-ritmus */
@media (min-width:900px){.blog-card--featured{grid-column:span 2}
  .blog-card--featured h3{font-size:1.7rem;line-height:1.25;max-width:24ch}}
.blog-card--featured{background:var(--paper-warm)}
.blog-card__initial{display:block;font-family:var(--serif);font-size:2.6rem;line-height:1;color:var(--copper);opacity:.55;margin-bottom:.5rem}

/* útvonal-hero: két hasáb, jobbra konverziós kártya */
.route-hero{display:grid;grid-template-columns:1fr;gap:2rem}
@media (min-width:960px){.route-hero{grid-template-columns:7fr 5fr;align-items:start}}
.route-hero-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:1.6rem 1.7rem}
.route-hero-card__t{font-family:var(--serif);font-size:1.35rem;color:var(--text);margin:0 0 .5rem}
.route-hero-card__p{font-size:.9rem;color:var(--text-dim);line-height:1.6;margin:0 0 1.1rem}
.route-hero-card .btn{width:100%;justify-content:center;display:inline-flex}
.route-hero-card__list{list-style:none;margin:1.1rem 0 0;padding:0;display:grid;gap:.45rem}
.route-hero-card__list li{font-size:.8rem;color:var(--text-dim);padding-left:1.2rem;position:relative}
.route-hero-card__list li::before{content:"✓";position:absolute;left:0;color:var(--copper)}
