/* Template: tours & experiences (sea kayak). Mood: fresh, sunny, outdoorsy. Navy, ocean teal, lime. */
:root{
  --font-head:"Manrope",system-ui,sans-serif; --font-body:"Manrope",system-ui,sans-serif;
  --bg:#FFFFFF; --surface:#FFFFFF; --surface-2:#EEF6F7; --text:#0A2A3D; --muted:#4A6271; --line:#D6E6EA;
  --brand:#0B6F82; --brand-ink:#fff; --accent:#C6F25C; --navy:#0A2A3D;
  --radius:22px; --radius-sm:14px; --head-weight:800; --head-tracking:-.04em;
  --shadow:0 20px 50px -20px rgba(10,42,61,.35);
}
.eyebrow{font:800 .76rem var(--font-body);letter-spacing:.14em;color:var(--brand)}
.btn{border-radius:999px;font-weight:800;padding:1em 1.6em}
.btn--lime{background:var(--accent);border-color:var(--accent);color:var(--navy)}
.btn--lime:hover{box-shadow:0 0 0 5px rgba(198,242,92,.35)}
.section{padding:110px 0}
@media (max-width:700px){.section{padding:70px 0}}
.wave{display:block;width:100%;height:60px}

.site-header{background:rgba(255,255,255,.9)}
.brand{font-weight:800}
.brand svg{color:var(--brand)}
.nav a{font-weight:700;color:var(--text)}
.nav a[aria-current=page]{color:var(--brand)}

/* Hero */
.k-hero{position:relative;min-height:min(92vh,880px);display:flex;align-items:flex-end;color:#fff;overflow:hidden;isolation:isolate;border-radius:0 0 40px 40px}
.k-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.k-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,42,61,.1) 30%,rgba(10,42,61,.78))}
.k-hero .wrap{width:100%;padding-bottom:72px;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:end}
.k-hero h1{color:#fff;font-size:clamp(3rem,8vw,6.6rem);line-height:.92;letter-spacing:-.06em;margin:0 0 .3em}
.k-hero p{font-size:1.2rem;color:rgba(255,255,255,.9);max-width:30em}
.k-hero .eyebrow{color:var(--accent)}
.badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.badges span{background:rgba(255,255,255,.14);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:.45em 1em;font-weight:700;font-size:.88rem}
.rating-card{background:#fff;color:var(--text);border-radius:var(--radius);padding:22px 24px;box-shadow:var(--shadow);justify-self:end;max-width:320px}
.rating-card b{font:800 3rem/1 var(--font-head);letter-spacing:-.05em}
.rating-card .stars{color:#E8B100;letter-spacing:2px}
@media (max-width:860px){.k-hero .wrap{grid-template-columns:1fr}.rating-card{justify-self:start}}

/* Season banner */
.season-bar{background:var(--accent);color:var(--navy);text-align:center;padding:12px 16px;font-weight:700}
.season-bar a{color:var(--navy)}

/* Finder quiz */
.finder{background:var(--navy);color:#fff;border-radius:32px;padding:44px;display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:center}
.finder h2{color:#fff}
.finder p{color:#A9C3CF}
.fq{display:grid;gap:18px}
.fq fieldset{border:0;padding:0;margin:0}
.fq legend{font-weight:800;margin-bottom:10px}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opts label{cursor:pointer}
.opts input{position:absolute;opacity:0}
.opts span{display:inline-block;border:2px solid rgba(255,255,255,.25);border-radius:999px;padding:.55em 1.1em;font-weight:700}
.opts label:has(input:checked) span{background:var(--accent);border-color:var(--accent);color:var(--navy)}
.opts label:has(input:focus-visible) span{outline:3px solid #fff;outline-offset:2px}
.match{background:#fff;color:var(--text);border-radius:var(--radius);padding:22px;display:grid;grid-template-columns:110px 1fr;gap:16px;align-items:center}
.match img{width:110px;height:110px;object-fit:cover;border-radius:16px}
.match b{font:800 1.3rem var(--font-head);display:block}
.match small{color:var(--muted);display:block;margin:4px 0 10px}
@media (max-width:900px){.finder{grid-template-columns:1fr;padding:28px}}

/* Tour cards */
.tours{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tour{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.tour:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.tour .ph{position:relative}
.tour img{width:100%;aspect-ratio:4/3;object-fit:cover}
.tour .tag{position:absolute;top:14px;left:14px;background:var(--accent);color:var(--navy);font-weight:800}
.tour .b{padding:22px;display:flex;flex-direction:column;gap:8px;flex:1}
.tour h3{font-size:1.35rem;margin:0}
.facts{display:flex;flex-wrap:wrap;gap:6px}
.facts span{background:var(--surface-2);border-radius:999px;padding:.3em .75em;font-size:.8rem;font-weight:700;color:var(--text)}
.tour p{color:var(--muted);margin:0;font-size:.95rem}
.tour .foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:14px}
.tour .foot b{font:800 1.6rem var(--font-head);letter-spacing:-.04em}
.tour .foot small{font-weight:600;color:var(--muted)}
@media (max-width:960px){.tours{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.tours{grid-template-columns:1fr}}

/* Included strip */
.inc{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.inc div{background:var(--surface-2);border-radius:var(--radius-sm);padding:22px}
.inc svg{width:28px;height:28px;color:var(--brand);margin-bottom:10px}
.inc b{display:block;font-size:1.05rem}
.inc span{color:var(--muted);font-size:.9rem}
@media (max-width:860px){.inc{grid-template-columns:1fr 1fr}}

/* Reviews masonry */
.rvk{columns:3;column-gap:18px}
.rvk figure{break-inside:avoid;margin:0 0 18px;background:var(--surface-2);border-radius:var(--radius);padding:24px}
.rvk blockquote{margin:0 0 12px;font-weight:600}
.rvk figcaption{font-size:.88rem;color:var(--muted)}
.rvk figcaption b{color:var(--text)}
@media (max-width:860px){.rvk{columns:1}}

/* Page head */
.page-head{background:var(--navy);color:#fff;padding:88px 0 72px;border-radius:0 0 40px 40px}
.page-head h1{color:#fff;font-size:clamp(2.6rem,6vw,4.8rem);letter-spacing:-.05em;max-width:15ch}
.page-head .lead{color:#A9C3CF}
.page-head .eyebrow{color:var(--accent)}

/* Tour detail */
.td{display:grid;grid-template-columns:1fr 1fr;gap:56px;padding:80px 0;border-bottom:1px solid var(--line)}
.td img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}
.itin{list-style:none;padding:0;margin:20px 0;border-left:3px solid var(--line)}
.itin li{position:relative;padding:0 0 16px 22px}
.itin li::before{content:"";position:absolute;left:-8px;top:5px;width:13px;height:13px;border-radius:50%;background:var(--brand);border:3px solid #fff;box-shadow:0 0 0 1px var(--brand)}
.itin time{font-weight:800;color:var(--brand);margin-right:8px}
.bring{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 22px}
.bring span{border:1px solid var(--line);border-radius:999px;padding:.35em .85em;font-size:.85rem}
@media (max-width:900px){.td{grid-template-columns:1fr;gap:26px;padding:56px 0}}

/* Booking widget */
.bkw{display:grid;grid-template-columns:1.5fr 1fr;gap:32px;padding:56px 0 110px;align-items:start}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px;margin-bottom:20px}
.card h2{font-size:1.35rem;margin-bottom:16px}
.tour-pick{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.tour-pick label{cursor:pointer;border:2px solid var(--line);border-radius:var(--radius-sm);padding:14px;display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:center}
.tour-pick img{width:56px;height:56px;border-radius:12px;object-fit:cover}
.tour-pick input{position:absolute;opacity:0}
.tour-pick label:has(input:checked){border-color:var(--brand);background:var(--surface-2)}
.tour-pick label:has(input:focus-visible){outline:3px solid var(--brand);outline-offset:2px}
.tour-pick b{display:block}
.tour-pick small{color:var(--muted)}
.dates{display:grid;grid-auto-flow:column;grid-auto-columns:84px;gap:8px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x mandatory}
.dates button{scroll-snap-align:start;border:2px solid var(--line);border-radius:16px;background:#fff;padding:10px 6px;cursor:pointer;text-align:center;font:inherit;color:var(--text)}
.dates button small{display:block;font-size:.72rem;color:var(--muted);font-weight:700;text-transform:uppercase}
.dates button b{display:block;font:800 1.5rem/1.1 var(--font-head)}
.dates button span{display:block;font-size:.72rem;font-weight:700;margin-top:4px}
.dates button .few{color:#B3261E}
.dates button[aria-pressed=true]{border-color:var(--brand);background:var(--brand);color:#fff}
.dates button[aria-pressed=true] small,.dates button[aria-pressed=true] span{color:#E5F3F5}
.dates button:disabled{opacity:.45;cursor:not-allowed;text-decoration:line-through}
.slots{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.slots button{border:2px solid var(--line);border-radius:999px;background:#fff;padding:.5em 1em;font:700 .9rem var(--font-body);cursor:pointer;color:var(--text)}
.slots button[aria-pressed=true]{border-color:var(--navy);background:var(--navy);color:#fff}
.people{display:grid;gap:14px}
.people>div{display:flex;justify-content:space-between;align-items:center}
.people b{display:block}
.people small{color:var(--muted)}
.ksum{position:sticky;top:92px;background:var(--navy);color:#E5F3F5;border-radius:var(--radius);padding:28px}
.ksum h2{color:#fff;font-size:1.35rem}
.krow{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:.93rem}
.krow span:first-child{color:#A9C3CF}
.ktotal{display:flex;justify-content:space-between;align-items:baseline;padding:18px 0 8px}
.ktotal b{font:800 2.6rem/1 var(--font-head);color:var(--accent)}
.ksum .form{grid-template-columns:1fr;margin-top:16px}
.ksum .form label{color:#E5F3F5}
.ksum .btn{width:100%}
.ksum .note{color:#A9C3CF}
.kdone{display:none;text-align:center}
.kdone.show{display:block}
.kdone b{display:block;font:800 1.8rem var(--font-head);color:var(--accent);margin:.3em 0}
@media (max-width:960px){.bkw{grid-template-columns:1fr}.ksum{position:static}.tour-pick{grid-template-columns:1fr}}

.site-footer{background:var(--navy)}
.site-footer h2{text-transform:none;letter-spacing:-.01em;font-size:1.1rem}
.bkw>div,.card{min-width:0}
.rating-card p{color:var(--muted);font-size:.9rem}
