/* Hua Hin Adventure Tour – one stylesheet for the whole site */
:root{
  --ink:#12332c;      /* deep forest green: text, footer */
  --sea:#0e7c7b;      /* gulf teal: links, accents */
  --pine:#f2b824;     /* pineapple yellow: prices, main buttons */
  --mist:#edf3f1;     /* pale sea mist: quiet backgrounds */
  --white:#fff;
  --line:#d5e0dc;
  --muted:#4d655f;
  --display:"Bricolage Grotesque",system-ui,sans-serif;
  --body:"Source Serif 4",Georgia,serif;
  --wrap:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.65}
img{display:block;max-width:100%;height:auto}
a{color:var(--sea)}
h1,h2,h3,.ui{font-family:var(--display);line-height:1.1;letter-spacing:-.015em}
h1,h2,h3{margin:0;font-weight:700}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:24px}
:focus-visible{outline:3px solid var(--pine);outline-offset:3px}
.skip{position:absolute;left:-999px}
.skip:focus{left:12px;top:12px;z-index:99;background:var(--white);padding:8px 12px}

/* header */
.site-header{background:var(--white);border-bottom:1px solid var(--line);position:relative;z-index:5}
.site-header .wrap{display:flex;align-items:center;gap:24px;min-height:72px}
.brand{font-family:var(--display);font-weight:800;font-size:21px;letter-spacing:-.02em;color:var(--ink);text-decoration:none;line-height:1;margin-right:auto}
.brand small{display:block;font-weight:500;font-size:13px;letter-spacing:0;margin-top:5px;opacity:.8}
.nav{display:flex;align-items:center;gap:26px;font-family:var(--display);font-size:16px;font-weight:500}
.nav a{color:inherit;text-decoration:none}
.nav a:hover{text-decoration:underline;text-underline-offset:5px}
.btn{display:inline-block;font-family:var(--display);font-weight:700;font-size:16px;line-height:1;padding:15px 22px;border-radius:999px;border:2px solid var(--pine);background:var(--pine);color:var(--ink);text-decoration:none;cursor:pointer}
.btn:hover{background:#ffcb47;border-color:#ffcb47}
.btn.ghost{background:transparent;border-color:currentColor;color:inherit}
.btn.ghost:hover{background:rgba(255,255,255,.16)}
.nav .btn{padding:12px 18px}
.nav a.btn:hover{text-decoration:none}
.menu-btn{display:none;font-family:var(--display);font-weight:700;font-size:15px;background:none;border:2px solid currentColor;color:inherit;border-radius:999px;padding:9px 16px;cursor:pointer}
.page-home .site-header{position:absolute;inset:0 0 auto 0;background:none;border:0;color:var(--white)}
.page-home .site-header .brand{color:var(--white)}

/* hero */
.hero{position:relative;min-height:min(92vh,800px);display:flex;align-items:flex-end;color:var(--white);background:var(--ink)}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,28,24,.62) 0,rgba(9,28,24,0) 26%,rgba(9,28,24,0) 42%,rgba(9,28,24,.86) 100%)}
.hero .wrap{position:relative;z-index:1;width:100%;padding-block:150px 64px}
.hero h1{font-size:clamp(40px,6.4vw,86px);font-weight:800;letter-spacing:-.035em;line-height:.98;max-width:13ch}
.hero p{font-size:clamp(18px,1.6vw,21px);max-width:44ch;margin:24px 0 30px}
.hero .actions{display:flex;flex-wrap:wrap;gap:12px}

/* sections */
.section{padding-block:88px}
.section.tint{background:var(--mist)}
.section h2{font-size:clamp(32px,4vw,52px);letter-spacing:-.03em}
.section .lead{max-width:60ch;margin-top:16px;color:var(--muted)}

/* tour finder */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:32px 0 36px}
.chip{font-family:var(--display);font-size:16px;font-weight:600;padding:10px 16px;border-radius:999px;border:1.5px solid var(--ink);background:var(--white);color:var(--ink);cursor:pointer}
.chip span{font-weight:400;opacity:.65;margin-left:4px}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--white)}
.tours{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:44px 28px;list-style:none;margin:0;padding:0}
.tour a{display:block;color:inherit;text-decoration:none}
.tour figure{position:relative;margin:0 0 14px;aspect-ratio:4/3;background:var(--mist);overflow:hidden;border-radius:3px}
.tour img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.tour a:hover img{transform:scale(1.04)}
.tour .price{position:absolute;left:0;bottom:0;background:var(--pine);font-family:var(--display);font-weight:700;font-size:17px;line-height:1;padding:9px 12px 8px;border-top-right-radius:3px}
.tour .price small{font-weight:500;font-size:13px}
.tour h3{font-size:21px;letter-spacing:-.02em}
.tour a:hover h3{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}
.tour .meta{font-family:var(--display);font-size:14.5px;color:var(--muted);margin:6px 0 0}
.tour.off figure img{filter:grayscale(1);opacity:.6}
.tour.off .price{background:var(--white);border:1.5px solid var(--ink)}
.tour[hidden]{display:none}

/* booking steps + price ladder */
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:start}
.steps{list-style:none;margin:36px 0 0;padding:0;counter-reset:s}
.steps li{counter-increment:s;display:grid;grid-template-columns:52px 1fr;gap:18px;padding:22px 0;border-top:1px solid var(--line)}
.steps li::before{content:counter(s);font-family:var(--display);font-weight:800;font-size:22px;width:52px;height:52px;border-radius:50%;background:var(--ink);color:var(--pine);display:grid;place-items:center}
.steps h3{font-size:22px;margin-bottom:6px}
.steps p{margin:0;color:var(--muted)}
.ladder-box{background:var(--white);border:1.5px solid var(--ink);border-radius:3px;padding:28px}
.ladder-box h3{font-size:24px;letter-spacing:-.02em}
.ladder-box>p{font-size:16px;color:var(--muted);margin:8px 0 0}
.ladder{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(var(--n,4),1fr);gap:10px;align-items:end;font-family:var(--display)}
.ladder li{text-align:center}
.ladder b{display:block;font-size:19px;font-weight:700;margin-bottom:6px;white-space:nowrap}
.ladder i{display:block;height:calc(var(--p)*150px);background:var(--sea);border-radius:3px 3px 0 0}
.ladder li.join i{background:var(--pine)}
.ladder span{display:block;font-size:14px;line-height:1.25;padding-top:8px;border-top:1.5px solid var(--ink)}
.ladder-box .fine{font-size:14.5px;margin-top:18px}

/* about */
.about img{border-radius:3px;aspect-ratio:4/3;object-fit:cover;width:100%}
.about .big{font-family:var(--display);font-weight:700;font-size:clamp(26px,3vw,38px);line-height:1.15;letter-spacing:-.025em;margin-bottom:24px}

/* forms */
.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form label{display:block;font-family:var(--display);font-weight:600;font-size:15px}
.form .full{grid-column:1/-1}
.form [hidden]{display:none}
.form input,.form select,.form textarea{display:block;width:100%;margin-top:6px;font:inherit;font-family:var(--display);font-size:16px;color:var(--ink);padding:12px 14px;border:1.5px solid var(--ink);border-radius:3px;background:var(--white)}
.form textarea{min-height:110px;resize:vertical}
.form .note{font-size:15px;color:var(--muted);margin:0}
.form-msg{grid-column:1/-1;background:var(--mist);border-left:4px solid var(--sea);padding:12px 14px;font-family:var(--display);font-size:15px}

/* footer */
.site-footer{background:var(--ink);color:var(--white);padding-block:80px 32px}
.site-footer a{color:var(--white)}
.site-footer h2{font-size:clamp(32px,4vw,52px);letter-spacing:-.03em}
.site-footer .split{gap:64px}
.contact-list{list-style:none;margin:28px 0 0;padding:0;font-family:var(--display)}
.contact-list li{padding:14px 0;border-top:1px solid rgba(255,255,255,.22)}
.contact-list small{display:block;font-size:14px;opacity:.72}
.contact-list a,.contact-list b{font-size:22px;font-weight:600;text-decoration:none}
.site-footer .form label{color:var(--white)}
.site-footer .form input,.site-footer .form select,.site-footer .form textarea{border-color:transparent}
.site-footer .form .note{color:rgba(255,255,255,.75)}
.legal{margin-top:64px;padding-top:20px;border-top:1px solid rgba(255,255,255,.22);font-family:var(--display);font-size:14px;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;opacity:.85}

/* floating WhatsApp and Facebook buttons, bottom right on every page (raised to sit above the Netlify badge) */
.fab{position:fixed;right:18px;bottom:74px;z-index:40;background:var(--ink);color:var(--white);font-family:var(--display);font-weight:700;font-size:15px;line-height:1;padding:14px 18px;border-radius:999px;text-decoration:none;border:2px solid var(--white);box-shadow:0 4px 14px rgba(0,0,0,.28)}
.fab:hover{background:var(--sea)}
.fab.wa{bottom:132px;background:var(--pine);color:var(--ink)}
.fab.wa:hover{background:#ffcb47}

/* tour page */
.crumbs{font-family:var(--display);font-size:15px;padding-block:22px 0;color:var(--muted)}
.crumbs a{color:inherit}
.tour-head{padding-block:22px 34px}
.tour-head h1{font-size:clamp(38px,5.6vw,76px);font-weight:800;letter-spacing:-.035em;line-height:1}
.tour-head .facts{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:20px;font-family:var(--display);font-size:16px}
.tour-head .facts b{font-weight:700}
.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:8px;aspect-ratio:2.35/1}
.gallery img{width:100%;height:100%;object-fit:cover;border-radius:3px}
.gallery img:first-child{grid-row:1/3}
.tour-body{display:grid;grid-template-columns:1fr 400px;gap:72px;align-items:start;padding-block:64px 96px}
.tour-body h2{font-size:30px;letter-spacing:-.025em;margin:48px 0 16px}
.tour-body .intro{font-size:21px;line-height:1.55}
.tour-body .prose{max-width:62ch}
.day{list-style:none;margin:0;padding:0;counter-reset:d}
.day li{counter-increment:d;position:relative;padding:0 0 22px 46px}
.day li::before{content:counter(d);position:absolute;left:0;top:1px;width:30px;height:30px;border-radius:50%;background:var(--ink);color:var(--white);font-family:var(--display);font-weight:700;font-size:15px;display:grid;place-items:center}
.day li:not(:last-child)::after{content:"";position:absolute;left:14px;top:34px;bottom:2px;width:2px;background:var(--line)}
.alert{background:var(--mist);border-left:4px solid var(--pine);padding:16px 18px;font-size:17px;margin-top:8px}
.facts-table{width:100%;border-collapse:collapse;font-family:var(--display);font-size:16.5px}
.facts-table th,.facts-table td{text-align:left;vertical-align:top;padding:13px 0;border-top:1px solid var(--line)}
.facts-table th{width:38%;font-weight:600;color:var(--muted);padding-right:16px}
.book{position:sticky;top:24px;display:grid;gap:20px}
.book .form{grid-template-columns:1fr 1fr;background:var(--mist);padding:24px;border-radius:3px}
.book .form h3{font-size:22px}
.book .form .btn{width:100%}


/* gallery with fewer than 5 photos */
.gallery.n1{grid-template-columns:1fr;grid-template-rows:1fr;aspect-ratio:2.6/1}
.gallery.n2{grid-template-columns:1fr 1fr;grid-template-rows:1fr}
.gallery.n3{grid-template-columns:2fr 1fr}
.gallery.n4 img:last-child{grid-column:2/4}
.gallery.n1 img:first-child,.gallery.n2 img:first-child{grid-row:auto}
/* timed schedule, day names, price table */
.sched{list-style:none;margin:0;padding:0}
.sched li{display:grid;grid-template-columns:62px 1fr;gap:14px;padding:11px 0;border-top:1px solid var(--line)}
.sched b{font-family:var(--display);font-weight:700;font-size:16.5px;padding-top:2px}
.tour-body h3.dayname{font-size:21px;margin:28px 0 12px}
.price-table{width:100%;border-collapse:collapse;font-family:var(--display);font-size:16px;margin-top:14px}
.price-table th,.price-table td{padding:11px 0;border-top:1px solid var(--line);text-align:left;vertical-align:top}
.price-table th{font-weight:500;padding-right:12px}
.price-table td{font-weight:700;font-size:18px;text-align:right;white-space:nowrap}
.tour-body .alert+.alert{margin-top:10px}
@media (max-width:920px){
  .split,.tour-body{grid-template-columns:1fr;gap:48px}
  .book{position:static}
  .section{padding-block:64px}
  .menu-btn{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:flex-start;gap:18px;padding:22px 24px 26px;background:var(--ink);color:var(--white)}
  .nav.open{display:flex}
  .gallery{grid-template-columns:1fr 1fr;grid-template-rows:auto;aspect-ratio:auto}
  .gallery img{aspect-ratio:4/3}
  .gallery img:first-child{grid-row:auto;grid-column:1/-1;aspect-ratio:16/10}
  .gallery.n1,.gallery.n2,.gallery.n3{grid-template-columns:1fr 1fr;aspect-ratio:auto}
  .gallery.n4 img:last-child{grid-column:auto}
}
@media (max-width:520px){
  body{font-size:17px}
  .form,.book .form{grid-template-columns:1fr}
  .tours{gap:32px}
  .hero .wrap{padding-bottom:40px}
  .ladder b{font-size:16px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tour img{transition:none}}
