/* Ish Travel – base styles shared by every page.
 * Generated from phase 2/design/*.html (approved designs, 24 Oct 2026).
 * Edit here from now on; the design HTML is no longer the source. */

:root{
  --red:#C4262E; --red-deep:#9E1C23; --gold:#C9A46A; --coconut:#FFD9A8;
  --paper:#FBF8F3; --cream:#F5EFE6; --sand:#EBE2D3; --stone:#6F685F; --ink:#12110F;
  --tea:#2F6B3A; --ocean:#1D5F7A; --turmeric:#8A5300;
  --bg:var(--paper); --bg-alt:var(--cream); --fill:var(--sand); --fg:var(--ink); --muted:var(--stone);
  --line:rgba(18,17,15,.12); --card:#FFFFFF; --footer:#12110F; --footer-fg:#EDE6DA;
  --st-tea:var(--tea); --st-ocean:var(--ocean); --st-turmeric:var(--turmeric);
  --serif:"Fraunces", "Iowan Old Style", Georgia, serif;
  --sans:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --radius:28px; --wrap:1240px;
  --gutter-l:max(20px, env(safe-area-inset-left, 0px)); --gutter-r:max(20px, env(safe-area-inset-right, 0px));
}

@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --bg:#141210; --bg-alt:#1C1916; --fill:#2A2621; --fg:#F2ECE2; --muted:#B3AA9C; --line:rgba(242,236,226,.14);
  --card:#1E1B18; --footer:#0B0A09; --red:#D7353D; --st-tea:#7FBF8A; --st-ocean:#7DB9D2; --st-turmeric:#E0A84A; color-scheme:dark } }

:root[data-theme="dark"]{
  --bg:#141210; --bg-alt:#1C1916; --fill:#2A2621; --fg:#F2ECE2; --muted:#B3AA9C; --line:rgba(242,236,226,.14);
  --card:#1E1B18; --footer:#0B0A09; --red:#D7353D; --st-tea:#7FBF8A; --st-ocean:#7DB9D2; --st-turmeric:#E0A84A; color-scheme:dark }

*{box-sizing:border-box}

[hidden]{display:none !important}

html{scroll-behavior:smooth}

body{margin:0; background:var(--bg); color:var(--fg); font:400 16px/1.65 var(--sans); -webkit-font-smoothing:antialiased}

img{max-width:100%; display:block}

a{color:inherit}

button,input,select{font:inherit; color:inherit}

:focus-visible{outline:2px solid var(--red); outline-offset:3px; border-radius:6px}

.wrap{max-width:calc(var(--wrap) + 40px); margin:0 auto; padding-left:var(--gutter-l); padding-right:var(--gutter-r)}

h1,h2,h3{font-family:var(--serif); font-weight:300; margin:0; text-wrap:balance; letter-spacing:-.01em; line-height:1.08}

h1 em,h2 em{font-style:italic}

p{margin:0}

.sr{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0)}

.drop{display:inline-block; width:.62em; height:.85em; background:var(--red); flex:none;
  clip-path:path("M5 0 C6.6 3.4 10 5.6 10 8.7 A5 5 0 1 1 0 8.7 C0 5.6 3.4 3.4 5 0 Z"); -webkit-clip-path:path("M5 0 C6.6 3.4 10 5.6 10 8.7 A5 5 0 1 1 0 8.7 C0 5.6 3.4 3.4 5 0 Z")}

.label{display:inline-flex; align-items:center; gap:10px; font:600 12px/1 var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--muted)}

.label .drop{width:10px; height:14px}

.btn{display:inline-flex; align-items:center; gap:10px; border-radius:999px; padding:14px 22px; font:600 15px/1 var(--sans); text-decoration:none; border:1px solid transparent; cursor:pointer; transition:background .25s, color .25s, border-color .25s, transform .25s}

.btn .arr{transition:transform .25s}

.btn:hover .arr{transform:translateX(4px)}

.btn--red{background:var(--red); color:#fff}

.btn--red:hover{background:var(--red-deep)}

.btn--ghost{border-color:var(--line); background:transparent}

.btn--ghost:hover{border-color:var(--fg)}

.btn--light{background:#fff; color:#12110F}

.btn--light:hover{background:var(--coconut)}

.topbar{background:var(--footer); color:var(--footer-fg); font-size:13px}

.topbar .wrap{display:flex; justify-content:space-between; align-items:center; gap:16px; padding-block:9px}

.topbar a{text-decoration:none; opacity:.85}

.topbar a:hover{opacity:1}

.topbar__l,.topbar__r{display:flex; gap:22px; align-items:center}

.topbar__r .heart{display:inline-flex; gap:6px; align-items:center}

body::before{content:""; position:fixed; inset:0 0 auto; height:env(safe-area-inset-top,0px); z-index:60; background:var(--bg)}

.hdr{position:sticky; top:env(safe-area-inset-top,0px); z-index:50; background:color-mix(in srgb, var(--bg) 92%, transparent); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-bottom:1px solid var(--line)}

.hdr__bar{display:flex; align-items:center; gap:28px; height:76px}

.logo{display:flex; align-items:center; gap:12px; text-decoration:none; flex:none}

.mark{width:44px; height:44px; border-radius:10px; flex:none; background:#C4262E url(../img/logo-mark.jpg) center/cover}

.logo span{font:400 22px/1 var(--serif)}

.logo small{display:block; font:600 10px/1 var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin-top:5px}

.nav{display:flex; gap:4px; margin-left:auto}

.nav > .nav__item{position:relative}

.nav__btn{background:none; border:0; padding:10px 14px; border-radius:999px; font:600 15px/1 var(--sans); cursor:pointer; display:flex; align-items:center; gap:6px; text-decoration:none}

.nav__btn:hover,.nav__item:focus-within .nav__btn{background:var(--fill)}

.nav__btn svg{transition:transform .2s}

.mega{position:absolute; top:calc(100% + 12px); left:50%; transform:translate(-50%,8px); opacity:0; visibility:hidden; transition:.25s; background:var(--card); border:1px solid var(--line); border-radius:22px; padding:22px; box-shadow:0 30px 60px -30px rgba(18,17,15,.35); width:min(640px, 90vw)}

.mega::before{content:""; position:absolute; inset:-14px 0 auto; height:14px}

.nav__item:hover .mega,.nav__item:focus-within .mega{opacity:1; visibility:visible; transform:translate(-50%,0)}

.nav__item:hover .nav__btn svg{transform:rotate(180deg)}

.mega__grid{display:grid; grid-template-columns:repeat(3,1fr); gap:12px}

.mega__tile small{display:block; font-weight:500; color:var(--muted); font-size:12px}

.mega__tile{text-decoration:none; display:grid; gap:8px; font-weight:600; font-size:14px}

.mega__tile img{aspect-ratio:16/10; object-fit:cover; border-radius:14px; background:var(--fill)}

.mega__tile:hover img{filter:brightness(1.05)}

.mega__foot{display:flex; justify-content:space-between; align-items:center; margin-top:16px; padding-top:14px; border-top:1px solid var(--line); font-size:14px}

.mega__foot a{font-weight:600; color:var(--red); text-decoration:none}

.mega--list{width:300px}

.mega--list a{display:block; padding:12px 14px; border-radius:12px; text-decoration:none}

.mega--list a:hover{background:var(--fill)}

.mega--list strong{display:block; font-size:15px}

.mega--list span{font-size:13px; color:var(--muted)}

.hdr__cta{flex:none}

.burger{display:none; margin-left:auto; width:46px; height:46px; border-radius:50%; border:1px solid var(--line); background:none; cursor:pointer; place-items:center}

.burger i{display:block; width:18px; height:1.5px; background:var(--fg); position:relative}

.burger i::before,.burger i::after{content:""; position:absolute; left:0; width:18px; height:1.5px; background:var(--fg)}

.burger i::before{top:-6px}

.burger i::after{top:6px}

.mnav{display:none}

.hero{position:relative; color:#fff; overflow:hidden; isolation:isolate; min-height:min(820px, 92vh)}

.hero__slides{position:absolute; inset:0; z-index:-2}

.hero__slide{position:absolute; inset:0; opacity:0; transition:opacity 1.6s ease}

.hero__slide img{width:100%; height:100%; object-fit:cover; transform:scale(1.12); transition:transform 8s cubic-bezier(.2,.6,.2,1)}

.hero__slide.is-on{opacity:1}

.hero__slide.is-on img{transform:scale(1.02)}

.hero::after{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(10,9,8,.4) 0%, rgba(10,9,8,.1) 28%, rgba(10,9,8,.35) 55%, rgba(10,9,8,.8) 100%)}

.hero .wrap{display:flex; flex-direction:column; justify-content:flex-end; min-height:inherit; padding-block:150px 40px; gap:34px}

.hero__eyebrow{display:inline-flex; align-items:center; gap:10px; font:600 12px/1 var(--sans); letter-spacing:.16em; text-transform:uppercase; opacity:.92}

.hero__eyebrow .drop{background:var(--coconut); width:10px; height:14px}

.hero h1 em{color:var(--coconut)}

.hero h1 .w{display:inline-block; opacity:0; transform:translateY(30px); animation:rise 1s cubic-bezier(.2,.7,.2,1) forwards}

@keyframes rise{to{opacity:1; transform:none}}

.hero__row{display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap}

.hero__place{display:flex; align-items:center; gap:14px; font-size:13px; letter-spacing:.04em}

.hero__dots{display:flex; gap:6px}

.hero__dots button{width:30px; height:3px; border:0; padding:0; background:rgba(255,255,255,.35); border-radius:3px; cursor:pointer; overflow:hidden; position:relative}

.hero__dots button.is-on::after{content:""; position:absolute; inset:0; background:#fff; transform-origin:left; animation:prog 7s linear forwards}

@keyframes prog{from{transform:scaleX(0)} to{transform:scaleX(1)}}

.qs{display:grid; grid-template-columns:1.2fr 1fr 1fr auto; background:#FBF8F3; color:#12110F; border-radius:999px; padding:8px; gap:0; box-shadow:0 30px 60px -20px rgba(0,0,0,.45); max-width:920px}

.qs__f{display:grid; gap:2px; padding:10px 24px; border-right:1px solid rgba(18,17,15,.12); min-width:0}

.qs__f:nth-child(3){border-right:0}

.qs__f label{font:600 11px/1.2 var(--sans); letter-spacing:.14em; text-transform:uppercase; color:#6F685F}

.qs__f select{border:0; background:transparent; font-weight:600; font-size:15px; padding:2px 0; cursor:pointer; appearance:none; -webkit-appearance:none; color:#12110F; width:100%}

.qs__f select:focus-visible{outline:none}

.qs__f:focus-within{background:#F5EFE6; border-radius:999px}

.qs .btn{padding:18px 28px}

.trust{border-bottom:1px solid var(--line)}

.trust .wrap{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px 36px; padding-block:26px}

.trust__score{display:flex; align-items:center; gap:14px}

.trust__score b{font:400 34px/1 var(--serif)}

.stars{color:var(--red); letter-spacing:2px; font-size:14px}

.trust__score small{display:block; color:var(--muted); font-size:13px}

.trust__items{display:flex; flex-wrap:wrap; gap:12px 30px; font-weight:600; font-size:15px}

.trust__items span{display:inline-flex; align-items:center; gap:10px}

.trust__items svg{color:var(--red)}

section{padding-block:clamp(72px, 9vw, 128px)}

.sec-alt{background:var(--bg-alt)}

.head{display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap; margin-bottom:44px}

.head h2{font-size:clamp(36px, 4.6vw, 48px); max-width:18ch; margin-top:16px}

.head p{color:var(--muted); max-width:46ch; font-size:17px}

.head__l{display:grid}

.ways{display:grid; grid-template-columns:1fr 1fr; gap:24px}

.way{position:relative; border-radius:var(--radius); overflow:hidden; min-height:520px; color:#fff; text-decoration:none; display:flex; flex-direction:column; justify-content:flex-end; isolation:isolate}

.way img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}

.way::after{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(10,9,8,0) 30%, rgba(10,9,8,.82) 100%)}

.way:hover img{transform:scale(1.05)}

.way__body{padding:36px; display:grid; gap:14px}

.way__tag{justify-self:start; font:600 12px/1 var(--sans); letter-spacing:.14em; text-transform:uppercase; background:rgba(255,255,255,.16); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); padding:9px 14px; border-radius:999px}

.way h3{font-size:clamp(32px,3.4vw,40px)}

.way p{max-width:42ch; opacity:.9}

.way ul{list-style:none; padding:0; margin:4px 0 8px; display:flex; flex-wrap:wrap; gap:8px 20px; font-size:14px; font-weight:600}

.way li{display:flex; align-items:center; gap:8px}

.way li .drop{background:var(--coconut); width:8px; height:11px}

.way .btn{justify-self:start}

.rail{display:grid; grid-template-columns:repeat(4, 1fr); gap:22px}

.card{background:var(--card); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; border:1px solid var(--line); transition:transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s}

.card:hover{transform:translateY(-6px); box-shadow:0 28px 50px -30px rgba(18,17,15,.4)}

.card__img{position:relative; aspect-ratio:4/3.4; overflow:hidden; background:var(--fill)}

.card__img img{width:100%; height:100%; object-fit:cover; transition:transform 1s}

.card:hover .card__img img{transform:scale(1.06)}

.badge{position:absolute; top:14px; left:14px; font:600 12px/1 var(--sans); padding:8px 12px; border-radius:999px; background:#FBF8F3; color:#12110F}

.badge--offer{background:#C4262E; color:#fff}

.badge--sig{background:#12110F; color:#C9A46A}

.heartbtn{position:absolute; top:10px; right:10px; width:40px; height:40px; border-radius:50%; border:0; background:rgba(251,248,243,.92); color:#12110F; display:grid; place-items:center; cursor:pointer; transition:transform .2s}

.heartbtn:hover{transform:scale(1.08)}

.heartbtn[aria-pressed="true"] svg{fill:#C4262E; stroke:#C4262E}

.card__body{padding:20px 22px 22px; display:flex; flex-direction:column; gap:10px; flex:1}

.card__region{font:600 12px/1 var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--muted)}

.card h3{font-size:24px; font-weight:400; line-height:1.15}

.card h3 a{text-decoration:none}

.card h3 a::after{content:""; position:absolute; inset:0}

.card{position:relative}

.card .heartbtn{z-index:2}

.card__meta{display:flex; flex-wrap:wrap; gap:6px 14px; font-size:13px; color:var(--muted)}

.card__meta span{display:inline-flex; align-items:center; gap:6px}

.card__foot{margin-top:auto; padding-top:14px; border-top:1px solid var(--line); display:flex; align-items:flex-end; justify-content:space-between; gap:10px}

.price small{display:block; font-size:12px; color:var(--muted)}

.price b{font:400 30px/1 var(--serif); font-variant-numeric:tabular-nums}

.price s{color:var(--muted); font-size:14px; margin-left:6px}

.rating{font-size:13px; font-weight:600; display:flex; align-items:center; gap:5px; white-space:nowrap}

.rating span{color:var(--muted); font-weight:400}

.exp{display:grid; grid-template-columns:repeat(6, 1fr); gap:16px}

.tile{position:relative; border-radius:22px; overflow:hidden; aspect-ratio:3/4.2; color:#fff; text-decoration:none; display:flex; align-items:flex-end; isolation:isolate}

.tile img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform 1s}

.tile::after{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, transparent 40%, rgba(10,9,8,.78))}

.tile:hover img{transform:scale(1.08)}

.tile div{padding:18px; display:grid; gap:4px}

.tile b{font:400 21px/1.15 var(--serif)}

.tile span{font-size:13px; opacity:.85}

.dest{display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1.05fr); gap:clamp(32px, 6vw, 90px); align-items:center}

.dest__list{list-style:none; padding:0; margin:0; border-top:1px solid var(--line)}

.dest__list li{border-bottom:1px solid var(--line)}

.dest__list span{grid-column:1; font-size:14px; color:var(--muted)}

.dest__list i{grid-row:1 / span 2; grid-column:2; font-style:normal; font-size:13px; font-weight:600; white-space:nowrap; display:flex; align-items:center; gap:8px}

.dest__list a:hover,.dest__list a.is-on{padding-left:14px}

.dest__list a:hover b,.dest__list a.is-on b{color:var(--red); font-style:italic}

.why{display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid var(--line)}

.why div{padding:30px 26px 6px 0; display:grid; gap:12px; align-content:start}

.why div + div{padding-left:26px; border-left:1px solid var(--line)}

.why svg{color:var(--red)}

.why b{font:400 24px/1.2 var(--serif)}

.why p{color:var(--muted); font-size:15px}

.deps{border-radius:var(--radius); background:var(--card); border:1px solid var(--line); overflow:hidden}

.deps__bar{display:flex; flex-wrap:wrap; gap:10px; padding:18px 22px; border-bottom:1px solid var(--line); align-items:center; justify-content:space-between}

.chips{display:flex; gap:8px; flex-wrap:wrap}

.chip{border:1px solid var(--line); background:transparent; border-radius:999px; padding:9px 16px; font-size:14px; font-weight:600; cursor:pointer}

.chip[aria-pressed="true"]{background:var(--fg); color:var(--bg); border-color:var(--fg)}

.deps__note{font-size:13px; color:var(--muted)}

.dep{display:grid; grid-template-columns:120px minmax(0,1.6fr) minmax(0,1fr) 150px auto; align-items:center; gap:20px; padding:20px 22px; border-bottom:1px solid var(--line)}

.dep:last-child{border-bottom:0}

.dep:hover{background:var(--bg-alt)}

.dep__date{font:400 26px/1 var(--serif); font-variant-numeric:tabular-nums}

.dep__date small{display:block; font:600 12px/1.4 var(--sans); color:var(--muted); letter-spacing:.06em; text-transform:uppercase; margin-top:6px}

.dep__tour b{display:block; font-weight:600}

.dep__tour span{font-size:13px; color:var(--muted)}

.status{display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:600; padding:7px 12px; border-radius:999px; border:1px solid currentColor; justify-self:start}

.status::before{content:""; width:7px; height:7px; border-radius:50%; background:currentColor}

.st-g{color:var(--st-tea)}

.st-a{color:var(--st-ocean)}

.st-l{color:var(--st-turmeric)}

.dep__price{text-align:right}

.dep__price b{font:400 26px/1 var(--serif); font-variant-numeric:tabular-nums}

.dep__price small{display:block; font-size:12px; color:var(--muted); margin-top:4px}

.dep .btn{padding:12px 18px; font-size:14px}

.revs{display:flex; gap:22px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:18px; scrollbar-width:thin}

.rev{flex:0 0 min(440px, 86%); scroll-snap-align:start; background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:34px; display:flex; flex-direction:column; gap:22px}

.rev q{font:300 23px/1.4 var(--serif); quotes:none}

.rev q::before{content:"\201C"; color:var(--red)}

.rev q::after{content:"\201D"; color:var(--red)}

.rev footer{margin-top:auto; display:flex; align-items:center; gap:14px; font-size:14px}

.rev footer img{width:46px; height:46px; border-radius:50%; object-fit:cover}

.rev footer span{display:block; color:var(--muted); font-size:13px}

.revs__nav{display:flex; gap:10px}

.round{width:48px; height:48px; border-radius:50%; border:1px solid var(--line); background:transparent; display:grid; place-items:center; cursor:pointer}

.round:hover{border-color:var(--fg)}

.cta{background:var(--red); color:#fff; border-radius:var(--radius); padding:clamp(36px,6vw,80px); display:grid; grid-template-columns:1.3fr 1fr; gap:40px; align-items:center; position:relative; overflow:hidden; isolation:isolate}

.cta::after{content:""; position:absolute; right:-80px; top:-60px; width:420px; height:560px; z-index:-1; border:1.5px solid rgba(255,255,255,.28);
  clip-path:none; border-radius:50% 50% 50% 50% / 62% 62% 38% 38%; transform:rotate(18deg)}

.cta h2{font-size:clamp(36px,4.6vw,56px)}

.cta h2 em{color:var(--coconut)}

.cta p{opacity:.9; font-size:17px; max-width:44ch; margin-top:16px}

.steps{list-style:none; margin:0; padding:0; display:grid; gap:10px; counter-reset:s}

.steps li{display:flex; gap:16px; align-items:center; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); border-radius:18px; padding:14px 18px; font-weight:600}

.steps li::before{counter-increment:s; content:counter(s); font:400 22px/1 var(--serif); color:var(--coconut); width:22px}

.cta .btn{margin-top:26px}

.news{display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:center}

.news h2{font-size:clamp(30px,3.4vw,40px)}

.news p{color:var(--muted); margin-top:10px}

.news form{display:flex; gap:8px; background:var(--card); border:1px solid var(--line); border-radius:999px; padding:6px}

.news input{flex:1; min-width:0; border:0; background:transparent; padding:0 18px; font-size:15px}

.news input:focus{outline:none}

.news form:focus-within{border-color:var(--fg)}

.news__ok{font-size:14px; color:var(--st-tea); font-weight:600; margin-top:12px}

.ftr{background:var(--footer); color:var(--footer-fg); padding-block:80px 30px; font-size:14px}

.ftr__top{display:grid; grid-template-columns:1.4fr repeat(3, 1fr); gap:40px}

.ftr__brand p{opacity:.7; max-width:34ch; margin-top:18px}

.ftr__word{font:300 clamp(64px, 13vw, 190px)/.9 var(--serif); letter-spacing:-.03em; color:transparent; -webkit-text-stroke:1px rgba(201,164,106,.5); margin:70px 0 30px; white-space:nowrap; overflow:hidden}

.ftr__word em{-webkit-text-stroke:0; color:var(--gold)}

.ftr h4{color:var(--gold); font:600 12px/1 var(--sans); letter-spacing:.14em; text-transform:uppercase; margin:0 0 18px}

.ftr ul{list-style:none; margin:0; padding:0; display:grid; gap:10px}

.ftr a{text-decoration:none; opacity:.78}

.ftr a:hover{opacity:1}

.ftr__bot{display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; padding-top:24px; border-top:1px solid rgba(237,230,218,.14); opacity:.7; font-size:13px}

.ftr__bot nav{display:flex; flex-wrap:wrap; gap:18px}

.pay{display:flex; gap:8px; flex-wrap:wrap; margin-top:20px}

.pay span{border:1px solid rgba(237,230,218,.25); border-radius:6px; padding:5px 9px; font-size:11px; font-weight:700; letter-spacing:.06em}

.social{display:flex; gap:10px; margin-top:20px}

.social a{width:38px; height:38px; border-radius:50%; border:1px solid rgba(237,230,218,.25); display:grid; place-items:center; opacity:1}

.social a:hover{border-color:var(--gold); color:var(--gold)}

.wa{position:fixed; right:calc(22px + env(safe-area-inset-right,0px)); bottom:calc(22px + env(safe-area-inset-bottom,0px)); z-index:70; display:flex; align-items:center; gap:10px; background:var(--red); color:#fff; text-decoration:none; border-radius:999px; padding:14px 20px 14px 16px; font:600 15px/1 var(--sans); box-shadow:0 16px 30px -10px rgba(158,28,35,.6); transition:transform .25s, background .25s}

.wa:hover{transform:translateY(-2px); background:var(--red-deep)}

.lang{display:inline-flex; align-items:center; gap:6px}

.lang select{background:transparent; border:0; color:inherit; font:inherit; cursor:pointer; opacity:.85}

.lang select option{color:#12110F}

.js .rv{opacity:0; transform:translateY(26px); transition:opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1)}

.js .rv.in{opacity:1; transform:none}

@media (max-width:1100px){
  .nav,.hdr__cta{display:none}
  .burger{display:grid}
  .mnav{display:block; border-top:1px solid var(--line); padding:8px 0 20px}
  .mnav[hidden]{display:none}
  .mnav details{border-bottom:1px solid var(--line)}
  .mnav summary{list-style:none; padding:16px 0; font:400 24px/1 var(--serif); cursor:pointer; display:flex; justify-content:space-between}
  .mnav summary::-webkit-details-marker{display:none}
  .mnav details div{display:grid; gap:4px; padding-bottom:14px}
  .mnav details a{text-decoration:none; padding:6px 0; color:var(--muted); font-weight:600}
  .mnav .btn{margin-top:18px}
  .rail{grid-template-columns:repeat(4, minmax(270px, 1fr)); overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:14px}
  .rail .card{scroll-snap-align:start}
  .exp{grid-template-columns:repeat(3,1fr)}
  .why{grid-template-columns:1fr 1fr}
  .why div:nth-child(3){padding-left:0; border-left:0}
  .dep{grid-template-columns:100px minmax(0,1fr) auto; grid-template-areas:"d t p" "d s b"}
  .dep__date{grid-area:d} .dep__tour{grid-area:t} .dep .status{grid-area:s} .dep__price{grid-area:p} .dep .btn{grid-area:b; justify-self:end}
  .ftr__top{grid-template-columns:1fr 1fr}
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important}
  .hero h1 .w{opacity:1; transform:none}
}

/* ===== Theme additions (not in the design HTML) ===== */
/* Mega-menu opened by click / tap (assets/js/main.js), same look as hover. */
.nav__item.is-open .mega{opacity:1; visibility:visible; transform:translate(-50%,0)}
/* Block content on generic pages and posts. */
.entry-content > * + *{margin-top:1em}
.entry-content img{height:auto; border-radius:14px}
.entry-content a{color:var(--red)}
/* Mobile menu: plain link row (Offers) styled like the summary rows, and the language line. */
.mnav__link{display:block; padding:16px 0; font:400 24px/1 var(--serif); text-decoration:none; border-bottom:1px solid var(--line)}
.mnav__lang{margin-top:18px; font-size:14px; color:var(--muted)}
.mnav__lang a{color:inherit}
/* Skip link: hidden until focused with the keyboard. */
.skip-link:focus{position:fixed; top:12px; left:12px; z-index:1000; width:auto; height:auto; clip:auto; padding:12px 18px; background:var(--card); color:var(--fg); border-radius:12px; box-shadow:0 10px 30px rgba(0,0,0,.2)}

/* Page heading and text column (from the legal page design), shared by generic templates. */
.lhead{border-bottom:1px solid var(--line); padding-block:28px 34px}
.lhead h1{font-size:clamp(40px,5.6vw,64px); margin-top:14px}
.lmeta{display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:16px; font-size:14px; color:var(--muted)}
.lmeta b{color:var(--fg); font-weight:600}
.ldoc{max-width:720px; min-width:0}
/* Phones: keep only the first top-bar item on the left (the hours are text, not a link). */
@media (max-width:820px){ .topbar__l > :not(:first-child){display:none} }
/* Mobile menu keeps the page side margins (its own padding rule removed them in the design). */
.wrap.mnav{padding-left:var(--gutter-l); padding-right:var(--gutter-r)}
