/* ==========================================================================
   Marabou Savanna — design system
   Direction 03 "Savanna". No framework, no jQuery, no build step.
   ========================================================================== */

:root{
  --white:#FFFFFF; --mist:#F5F8F6; --mist-2:#EAF2EC; --edge:#E2EAE5; --edge-2:#D3E0D8;
  --ink:#10201A; --ink-2:#43564D; --ink-3:#78897F;
  --green:#0E7A4E; --green-d:#0A5E3C; --green-l:#E6F2EB;
  --sun:#F2A93B; --sun-l:#FDF3E2;
  --red:#C2412B; --wa:#25D366;

  --sans:"Archivo","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;

  --sh-sm:0 1px 2px rgba(16,32,26,.05),0 2px 8px rgba(16,32,26,.05);
  --sh-md:0 4px 12px rgba(16,32,26,.07),0 12px 32px -10px rgba(16,32,26,.14);
  --sh-lg:0 10px 40px -12px rgba(16,32,26,.22);

  --wrap:1240px;
  --r-sm:7px; --r:9px; --r-md:12px; --r-lg:16px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--white); color:var(--ink);
  font-family:var(--sans); font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,h5{margin:0; line-height:1.12; letter-spacing:-.035em; font-weight:800; text-wrap:balance}
p{margin:0}
a{color:inherit; text-decoration:none}
img{max-width:100%; height:auto; display:block}
button,input,select,textarea{font-family:inherit; font-size:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--green); outline-offset:2px}
.screen-reader-text{
  position:absolute!important; width:1px; height:1px; overflow:hidden;
  clip:rect(1px,1px,1px,1px); white-space:nowrap;
}
.skip-link{
  position:absolute; left:-9999px; z-index:999; padding:12px 20px;
  background:var(--ink); color:#fff; border-radius:0 0 var(--r) 0; font-weight:700;
}
.skip-link:focus{left:0; top:0}

.wrap{max-width:var(--wrap); margin:0 auto; padding-inline:26px}
.eyebrow{font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--green); font-weight:700}
.stars{color:var(--sun); letter-spacing:-1px}

/* --------------------------------------------------------- buttons ------ */
.btn{
  display:inline-flex; align-items:center; gap:8px; font-size:14.5px; font-weight:700;
  padding:11px 20px; border-radius:var(--r); background:var(--green); color:#fff;
  border:0; transition:background .15s ease;
}
.btn:hover,.btn:focus{background:var(--green-d); color:#fff}
.btn--ghost{background:var(--white); color:var(--ink); border:1px solid var(--edge-2)}
.btn--ghost:hover{background:var(--mist); color:var(--ink)}
.btn--lg{padding:14px 26px; font-size:15.5px}
.btn--wa{background:var(--wa)}
.btn--wa:hover{background:#1EBE5A}
.btn--block{width:100%; justify-content:center}

/* --------------------------------------------------------- header ------- */
.topbar{background:var(--ink); color:rgba(255,255,255,.78); font-size:12.5px}
.topbar .wrap{display:flex; justify-content:space-between; gap:16px; padding-block:9px; flex-wrap:wrap}
.topbar b{color:#fff; font-weight:600}

.site-header{
  position:sticky; top:0; z-index:50; background:rgba(255,255,255,.96);
  backdrop-filter:blur(10px); border-bottom:1px solid var(--edge);
}
.site-header .wrap{display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:14px}
.brand{display:flex; align-items:center; gap:10px; font-size:19px; font-weight:900; letter-spacing:-.04em}
.brand__mark{width:32px; height:32px; border-radius:var(--r); background:var(--green); display:grid; place-items:center; flex:none}
.brand img{max-height:38px; width:auto}

.nav__list{display:flex; gap:24px; list-style:none; margin:0; padding:0; font-size:14.5px; font-weight:500; color:var(--ink-2)}
.nav__list a:hover{color:var(--green)}
.nav__list .current-menu-item > a{color:var(--green); font-weight:700}
.header__right{display:flex; align-items:center; gap:14px}
.header__phone{font-size:14.5px; font-weight:700; display:flex; align-items:center; gap:7px; white-space:nowrap}

.nav-toggle{display:none; width:40px; height:34px; background:none; border:0; position:relative}
.nav-toggle span{position:absolute; left:8px; right:8px; height:2px; border-radius:2px; background:var(--ink); transition:transform .2s,opacity .2s}
.nav-toggle span:nth-child(1){top:10px}
.nav-toggle span:nth-child(2){top:16px}
.nav-toggle span:nth-child(3){top:22px}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* --------------------------------------------------------- hero --------- */
.hero{
  background:linear-gradient(172deg,var(--mist-2) 0%,var(--mist) 55%,var(--white) 100%);
  position:relative; overflow:hidden; padding-top:56px;
}
.hero__bg{position:absolute; inset:auto 0 0 0; width:100%; height:230px; display:block}
.hero .wrap{position:relative; z-index:2; padding-bottom:78px}
.hero h1{font-size:clamp(34px,5.4vw,60px); font-weight:900; letter-spacing:-.045em; line-height:1.04; max-width:15ch; margin-top:22px}
.hero h1 em{font-style:normal; color:var(--green)}
.hero__lede{font-size:18px; color:var(--ink-2); max-width:48ch; margin-top:20px}

.trustpill{
  display:inline-flex; align-items:center; gap:9px; background:#fff; border:1px solid var(--edge);
  border-radius:40px; padding:7px 16px; font-size:13.5px; font-weight:600; box-shadow:var(--sh-sm);
}
.trustpill span{color:var(--ink-3); font-weight:500}

/* trip shaper */
.shaper{
  background:#fff; border:1px solid var(--edge); border-radius:var(--r-lg);
  box-shadow:var(--sh-lg); margin-top:34px; overflow:hidden;
}
.shaper__row{display:grid; grid-template-columns:1fr 1fr 1fr auto}
.shaper__fld{padding:16px 22px; border-right:1px solid var(--edge); display:flex; flex-direction:column; gap:5px}
.shaper__fld:last-of-type{border-right:0}
.shaper__fld label{font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3); font-weight:700}
.shaper__sel{position:relative; display:flex; align-items:center; gap:8px}
.shaper__sel svg{flex:none; color:var(--ink-3)}
.shaper__fld select{
  border:0; background:transparent; font-size:16px; font-weight:700; color:var(--ink);
  padding:0; appearance:none; cursor:pointer; letter-spacing:-.02em; width:100%;
}
.shaper__go{
  background:var(--green); color:#fff; border:0; font-size:16px; font-weight:800;
  letter-spacing:-.02em; padding:0 34px; display:flex; align-items:center; gap:9px;
}
.shaper__go:hover{background:var(--green-d)}

.quickrow{display:flex; align-items:center; gap:9px; flex-wrap:wrap; margin-top:18px; font-size:13.5px; color:var(--ink-3)}
.chip{
  background:#fff; border:1px solid var(--edge-2); border-radius:30px;
  padding:6px 14px; font-size:13.5px; font-weight:600; color:var(--ink-2);
}
.chip:hover{border-color:var(--green); color:var(--green)}

/* --------------------------------------------------------- trust strip -- */
.strip{border-bottom:1px solid var(--edge); background:var(--white)}
.strip .wrap{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; padding-block:26px}
.trustitem{display:flex; align-items:flex-start; gap:12px}
.trustitem__ic{
  width:38px; height:38px; border-radius:var(--r-md); background:var(--green-l);
  display:grid; place-items:center; flex:none; color:var(--green);
}
.trustitem__t{font-size:14.5px; font-weight:700; letter-spacing:-.02em}
.trustitem__s{font-size:13px; color:var(--ink-3); margin-top:2px; line-height:1.45}

/* --------------------------------------------------------- sections ----- */
.section{padding-block:74px}
.section--alt{background:var(--mist)}
.section__head{display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:34px; flex-wrap:wrap}
.section__head h2{font-size:clamp(26px,3.6vw,40px); font-weight:900; letter-spacing:-.042em; margin-top:10px}
.section__head p{color:var(--ink-2); max-width:52ch; margin-top:10px; font-size:16.5px}
.viewall{font-size:14.5px; font-weight:700; color:var(--green); display:inline-flex; align-items:center; gap:7px}

/* filter tabs */
.tabs{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:26px}
.tab{
  background:var(--white); border:1px solid var(--edge-2); border-radius:var(--r);
  padding:9px 17px; font-size:14px; font-weight:600; color:var(--ink-2);
}
.tab:hover{border-color:var(--green); color:var(--green)}
.tab.is-active{background:var(--ink); border-color:var(--ink); color:#fff}

/* --------------------------------------------------------- tour cards --- */
.tourgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
.tourgrid--2{grid-template-columns:repeat(2,1fr)}

.tourcard{
  background:#fff; border:1px solid var(--edge); border-radius:var(--r-md); overflow:hidden;
  box-shadow:var(--sh-sm); transition:box-shadow .2s ease,transform .2s ease;
  display:flex; flex-direction:column;
}
.tourcard:hover{box-shadow:var(--sh-md); transform:translateY(-2px)}
.tourcard__art{aspect-ratio:16/10; position:relative; overflow:hidden; background:var(--mist-2)}
.tourcard__art img{width:100%; height:100%; object-fit:cover}
.tourcard__tag{
  position:absolute; top:12px; left:12px; background:rgba(255,255,255,.95); color:var(--green);
  font-size:11.5px; font-weight:800; padding:5px 11px; border-radius:var(--r-sm); box-shadow:var(--sh-sm);
}
.tourcard__tag--hot{background:var(--sun); color:#4A3210}
.tourcard__bd{padding:16px 18px 18px; display:flex; flex-direction:column; flex:1}
.tourcard__loc{font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3); font-weight:700}
.tourcard h3{font-size:18.5px; font-weight:800; letter-spacing:-.03em; line-height:1.22; margin-top:7px}
.tourcard__rate{display:flex; align-items:center; gap:7px; font-size:13.5px; color:var(--ink-3); margin-top:9px}
.tourcard__rate b{color:var(--ink); font-weight:700}
.tourcard__inc{display:flex; gap:7px; flex-wrap:wrap; margin-top:13px}
.tourcard__inc span{font-size:12px; background:var(--mist-2); color:var(--ink-2); padding:4px 9px; border-radius:6px; font-weight:600}
.tourcard__ft{
  display:flex; align-items:flex-end; justify-content:space-between; gap:12px;
  margin-top:auto; padding-top:15px; border-top:1px solid var(--edge);
}
.tourcard__from{font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3); font-weight:700}
.tourcard__pp{font-size:24px; font-weight:900; letter-spacing:-.045em; line-height:1.1}
.tourcard__pp small{font-size:13px; font-weight:600; color:var(--ink-3); letter-spacing:-.01em}
.tourcard__book{background:var(--green-l); color:var(--green); font-size:14px; font-weight:800; padding:9px 16px; border-radius:8px}
.tourcard:hover .tourcard__book{background:var(--green); color:#fff}

/* --------------------------------------------------------- steps -------- */
.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:26px}
.step{background:#fff; border:1px solid var(--edge); border-radius:var(--r-md); padding:26px 24px}
.step__n{
  width:38px; height:38px; border-radius:var(--r-md); background:var(--ink); color:#fff;
  display:grid; place-items:center; font-size:16px; font-weight:800; margin-bottom:16px;
}
.step h3{font-size:18px; font-weight:800; letter-spacing:-.03em}
.step p{font-size:15px; color:var(--ink-2); margin-top:9px; line-height:1.6}

/* --------------------------------------------------------- destinations - */
.destgrid{display:grid; grid-template-columns:repeat(6,1fr); gap:14px}
.dest{
  position:relative; aspect-ratio:3/4; border-radius:var(--r-md); overflow:hidden;
  display:flex; align-items:flex-end; padding:14px;
}
.dest img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.dest__ov{position:absolute; inset:0; background:linear-gradient(transparent 42%,rgba(10,26,20,.78))}
.dest__in{position:relative; z-index:2; color:#fff}
.dest h3{font-size:15px; font-weight:800; letter-spacing:-.03em; color:#fff}
.dest span{font-size:11.5px; opacity:.82; display:block; margin-top:3px}

/* --------------------------------------------------------- faq ---------- */
.faq{max-width:820px}
.faq__q{border:1px solid var(--edge); border-radius:var(--r-md); background:#fff; margin-bottom:10px; overflow:hidden}
.faq__q summary{
  list-style:none; cursor:pointer; padding:18px 22px; font-size:16.5px; font-weight:700;
  letter-spacing:-.025em; display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.faq__q summary::-webkit-details-marker{display:none}
.faq__q summary::after{content:"+"; font-size:21px; font-weight:600; color:var(--green); flex:none; line-height:1}
.faq__q[open] summary::after{content:"\2212"}
.faq__a{padding:0 22px 20px; font-size:15.5px; color:var(--ink-2); line-height:1.68; max-width:66ch}
.faq__a p + p{margin-top:12px}

/* --------------------------------------------------------- reviews ------ */
.reviewgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
.review{background:#fff; border:1px solid var(--edge); border-radius:var(--r-md); padding:24px; box-shadow:var(--sh-sm)}
.review p{font-size:15.5px; margin-top:14px; line-height:1.65; color:var(--ink)}
.review__who{display:flex; align-items:center; gap:11px; margin-top:18px; padding-top:16px; border-top:1px solid var(--edge)}
.review__av{
  width:38px; height:38px; border-radius:50%; background:var(--mist-2); display:grid; place-items:center;
  font-weight:800; font-size:14px; color:var(--green); flex:none;
}
.review__nm{font-size:14.5px; font-weight:700; letter-spacing:-.02em}
.review__tr{font-size:12.5px; color:var(--ink-3); margin-top:1px}

/* --------------------------------------------------------- cta band ----- */
.band{background:var(--ink); color:#fff}
.band .wrap{padding-block:66px; display:grid; grid-template-columns:1.25fr 1fr; gap:48px; align-items:center}
.band h2{font-size:clamp(28px,4.2vw,44px); font-weight:900; letter-spacing:-.045em; color:#fff; max-width:16ch}
.band p{color:rgba(255,255,255,.72); font-size:17px; margin-top:16px; max-width:44ch}
.band .btn--ghost{background:transparent; color:#fff; border-color:rgba(255,255,255,.35)}
.band .btn--ghost:hover{background:#fff; color:var(--ink)}

/* --------------------------------------------------------- forms -------- */
.enquiry{background:#fff; border-radius:var(--r-lg); padding:24px; box-shadow:var(--sh-lg); color:var(--ink)}
.enquiry h3{font-size:18px; font-weight:800; letter-spacing:-.03em}
.field{margin-top:14px}
.field label{
  font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-3);
  font-weight:700; display:block; margin-bottom:5px;
}
.field input,.field select,.field textarea{
  width:100%; border:1px solid var(--edge-2); border-radius:var(--r);
  padding:11px 13px; font-size:15px; color:var(--ink); background:#fff; font-weight:500;
}
.field textarea{min-height:96px; resize:vertical; font-weight:400}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:2px solid var(--green); outline-offset:-1px; border-color:var(--green);
}
.enquiry .btn{margin-top:16px}
.enquiry__fine{font-size:12.5px; color:var(--ink-3); margin-top:11px; text-align:center}
.formnote{padding:12px 15px; border-radius:var(--r); font-size:14.5px; font-weight:600; margin-bottom:14px}
.formnote--ok{background:var(--green-l); color:var(--green-d)}
.formnote--err{background:#FBE9E6; color:var(--red)}

/* --------------------------------------------------------- single tour -- */
.tourhead{background:var(--mist); border-bottom:1px solid var(--edge); padding-block:34px 0}
.breadcrumbs{font-size:13.5px; color:var(--ink-3); margin-bottom:16px}
.breadcrumbs a:hover{color:var(--green)}
.breadcrumbs span[aria-current]{color:var(--ink-2)}
.tourhead h1{font-size:clamp(28px,4.4vw,44px); font-weight:900; letter-spacing:-.042em; max-width:20ch}
.tourhead__meta{display:flex; gap:20px; flex-wrap:wrap; margin-top:16px; font-size:14.5px; color:var(--ink-2); font-weight:600}
.tourhead__meta span{display:flex; align-items:center; gap:7px}
.tourhead__gallery{display:grid; grid-template-columns:2fr 1fr 1fr; gap:10px; margin-top:26px; padding-bottom:26px}
.tourhead__gallery figure{margin:0; border-radius:var(--r-md); overflow:hidden; aspect-ratio:16/11; background:var(--mist-2)}
.tourhead__gallery figure:first-child{grid-row:span 2; aspect-ratio:auto}
.tourhead__gallery img{width:100%; height:100%; object-fit:cover}

.tourlayout{display:grid; grid-template-columns:1fr 368px; gap:44px; align-items:start; padding-block:48px}
.tourbody h2{font-size:26px; font-weight:800; letter-spacing:-.035em; margin-top:40px; margin-bottom:14px}
.tourbody h2:first-child{margin-top:0}
.tourbody h3{font-size:19px; font-weight:800; letter-spacing:-.03em; margin-top:24px; margin-bottom:8px}
.tourbody p{margin-bottom:14px; color:var(--ink-2); font-size:16.5px; line-height:1.7}
.tourbody ul,.tourbody ol{color:var(--ink-2); font-size:16.5px; line-height:1.7; padding-left:22px; margin-bottom:14px}
.tourbody li{margin-bottom:6px}
.tourbody img{border-radius:var(--r-md); margin-block:18px}

/* itinerary */
.itinerary{border-left:2px solid var(--edge); margin-left:8px; padding-left:0}
.day{position:relative; padding:0 0 26px 28px}
.day:last-child{padding-bottom:0}
.day::before{
  content:""; position:absolute; left:-8px; top:6px; width:14px; height:14px; border-radius:50%;
  background:var(--green); border:3px solid var(--white);
}
.day__n{font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--green); font-weight:800}
.day h3{font-size:18.5px; font-weight:800; letter-spacing:-.03em; margin-top:5px}
.day p{font-size:15.5px; color:var(--ink-2); margin-top:8px; line-height:1.68}

/* inclusions table */
.incgrid{display:grid; grid-template-columns:1fr 1fr; gap:20px}
.inccol{background:var(--mist); border:1px solid var(--edge); border-radius:var(--r-md); padding:20px 22px}
.inccol h3{font-size:15px; font-weight:800; letter-spacing:-.02em; margin:0 0 12px; display:flex; align-items:center; gap:8px}
.inccol ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px}
.inccol li{font-size:14.5px; color:var(--ink-2); padding-left:24px; position:relative; line-height:1.5}
.inccol li::before{position:absolute; left:0; top:0; font-weight:800}
.inccol--in li::before{content:"\2713"; color:var(--green)}
.inccol--out li::before{content:"\2715"; color:var(--ink-3)}

/* booking sidebar */
.bookbox{
  position:sticky; top:96px; background:#fff; border:1px solid var(--edge);
  border-radius:var(--r-lg); box-shadow:var(--sh-md); overflow:hidden;
}
.bookbox__top{padding:22px 24px; border-bottom:1px solid var(--edge)}
.bookbox__from{font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-3); font-weight:700}
.bookbox__price{font-size:38px; font-weight:900; letter-spacing:-.05em; line-height:1.05; margin-top:4px}
.bookbox__price small{font-size:15px; font-weight:600; color:var(--ink-3); letter-spacing:-.01em}
.bookbox__note{font-size:13.5px; color:var(--ink-3); margin-top:8px}
.bookbox__body{padding:20px 24px 24px}
.bookbox__facts{list-style:none; margin:0 0 18px; padding:0; display:flex; flex-direction:column; gap:11px}
.bookbox__facts li{display:flex; justify-content:space-between; gap:12px; font-size:14.5px; border-bottom:1px dashed var(--edge); padding-bottom:10px}
.bookbox__facts li:last-child{border-bottom:0; padding-bottom:0}
.bookbox__facts dt,.bookbox__facts .k{color:var(--ink-3); font-weight:600}
.bookbox__facts .v{font-weight:700; text-align:right}

/* --------------------------------------------------------- archive ------ */
.archhead{background:var(--mist); border-bottom:1px solid var(--edge); padding-block:44px}
.archhead h1{font-size:clamp(28px,4.4vw,44px); font-weight:900; letter-spacing:-.045em; max-width:20ch}
.archhead p{color:var(--ink-2); font-size:17px; margin-top:14px; max-width:62ch}
.pagination{display:flex; gap:8px; justify-content:center; margin-top:44px; flex-wrap:wrap}
.pagination .page-numbers{
  padding:10px 16px; border:1px solid var(--edge-2); border-radius:var(--r);
  font-weight:700; font-size:14.5px; color:var(--ink-2);
}
.pagination .page-numbers.current{background:var(--ink); border-color:var(--ink); color:#fff}
.pagination .page-numbers:hover{border-color:var(--green); color:var(--green)}
.pagination .current:hover{color:#fff}

/* --------------------------------------------------------- post --------- */
.postlayout{display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:48px; align-items:start; padding-block:48px}
.entry{max-width:none}
.entry h2{font-size:28px; font-weight:800; letter-spacing:-.035em; margin-top:40px; margin-bottom:14px}
.entry h3{font-size:21px; font-weight:800; letter-spacing:-.03em; margin-top:28px; margin-bottom:10px}
.entry p{margin-bottom:16px; font-size:17.5px; line-height:1.78; color:var(--ink-2)}
.entry ul,.entry ol{font-size:17.5px; line-height:1.78; color:var(--ink-2); padding-left:24px; margin-bottom:16px}
.entry img{border-radius:var(--r-md); margin-block:22px}
.entry table{width:100%; border-collapse:collapse; margin-block:22px; font-size:15.5px}
.entry th,.entry td{text-align:left; padding:14px 18px; border-bottom:1px solid var(--edge)}
.entry thead th{background:var(--mist); font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3)}
.tablewrap{overflow-x:auto}
.byline{display:flex; align-items:center; gap:12px; margin-top:20px; font-size:14px; color:var(--ink-3)}
.byline img{border-radius:50%}
.byline b{color:var(--ink); font-weight:700}

/* --------------------------------------------------------- footer ------- */
.site-footer{background:var(--mist); border-top:1px solid var(--edge); padding-block:56px 30px}
.footer__grid{display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px; padding-bottom:38px; border-bottom:1px solid var(--edge)}
.site-footer h2{font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-3); margin:0 0 16px; font-weight:700}
.site-footer ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px}
.site-footer li a{font-size:14.5px; color:var(--ink-2)}
.site-footer li a:hover{color:var(--green)}
.footer__blurb{font-size:14.5px; color:var(--ink-2); line-height:1.65; margin-top:14px; max-width:34ch}
.footer__bottom{display:flex; justify-content:space-between; gap:18px; padding-top:24px; flex-wrap:wrap; font-size:13px; color:var(--ink-3)}

/* --------------------------------------------------------- whatsapp ----- */
.wa-float{
  position:fixed; right:22px; bottom:22px; z-index:60; display:flex; align-items:center; gap:10px;
  background:var(--wa); color:#fff; padding:12px 18px 12px 14px; border-radius:40px;
  box-shadow:var(--sh-lg); font-size:14.5px; font-weight:700;
}
.wa-float:hover{background:#1EBE5A; color:#fff}

/* --------------------------------------------------------- responsive --- */
@media (max-width:1080px){
  .tourlayout{grid-template-columns:1fr; gap:34px}
  .bookbox{position:static}
  .postlayout{grid-template-columns:1fr}
  .destgrid{grid-template-columns:repeat(3,1fr)}
  .tourgrid{grid-template-columns:repeat(2,1fr)}
  .band .wrap{grid-template-columns:1fr; gap:32px}
}
@media (max-width:900px){
  .nav__list{
    display:none; position:absolute; left:0; right:0; top:100%; flex-direction:column;
    gap:0; background:#fff; border-bottom:1px solid var(--edge); box-shadow:var(--sh-md); padding:8px 0;
  }
  .nav__list.is-open{display:flex}
  .nav__list li{border-bottom:1px solid var(--edge)}
  .nav__list li:last-child{border-bottom:0}
  .nav__list a{display:block; padding:14px 26px; font-size:16px; font-weight:600}
  .site-header .wrap{position:relative}
  .nav-toggle{display:block}
  .header__phone{display:none}
  .shaper__row{grid-template-columns:1fr}
  .shaper__fld{border-right:0; border-bottom:1px solid var(--edge)}
  .shaper__go{padding:16px; justify-content:center}
  .strip .wrap{grid-template-columns:repeat(2,1fr)}
  .steps,.reviewgrid{grid-template-columns:1fr}
  .tourhead__gallery{grid-template-columns:1fr 1fr}
  .tourhead__gallery figure:first-child{grid-row:auto; grid-column:span 2; aspect-ratio:16/9}
  .incgrid{grid-template-columns:1fr}
}
@media (max-width:620px){
  .wrap{padding-inline:20px}
  .tourgrid,.tourgrid--2{grid-template-columns:1fr}
  .destgrid{grid-template-columns:repeat(2,1fr)}
  .footer__grid{grid-template-columns:1fr; gap:30px}
  .section{padding-block:52px}
  .hero{padding-top:38px}
  .hero .wrap{padding-bottom:56px}
  .wa-float span{display:none}
  .wa-float{padding:14px; border-radius:50%}
  .entry p,.entry ul,.entry ol{font-size:16.5px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important; transition-duration:.01ms!important}
}

@media print{
  .site-header,.topbar,.wa-float,.band,.bookbox,.shaper{display:none}
  body{font-size:12pt}
}
