/* ── Tour Pages ── */
.tour-hero{position:relative;min-height:50vh;display:flex;align-items:flex-end;overflow:hidden}
.tour-hero__bg{position:absolute;inset:0}
.tour-hero__bg img{width:100%;height:100%;object-fit:cover}
.tour-hero__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,27,39,.7) 0%,transparent 60%)}
.tour-hero__content{position:relative;z-index:2;padding:var(--sp-10) 0 var(--sp-12);color:#fff}
.tour-hero__content h1{color:#fff;margin-bottom:var(--sp-4)}
.tour-hero__meta{display:flex;flex-wrap:wrap;gap:var(--sp-4);font-size:var(--fs-sm)}
.tour-hero__meta-item{display:flex;align-items:center;gap:var(--sp-2);background:rgba(255,255,255,.15);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);backdrop-filter:blur(4px)}
.tour-inclusions{display:grid;grid-template-columns:1fr;gap:var(--sp-3)}
.tour-inclusions__item{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-base)}
.tour-inclusions__check{width:20px;height:20px;color:var(--success);flex-shrink:0}
.tour-inclusions__x{width:20px;height:20px;color:var(--danger);flex-shrink:0}
@media(min-width:768px){.tour-inclusions{grid-template-columns:repeat(2,1fr)}}
.tour-schedule{display:flex;flex-direction:column;gap:var(--sp-4)}
.tour-schedule__item{display:flex;gap:var(--sp-4);padding:var(--sp-4);background:var(--bone-100);border-radius:var(--r-md)}
.tour-schedule__time{font-weight:700;color:var(--navy-950);min-width:80px;font-size:var(--fs-sm)}
.tour-schedule__desc{font-size:var(--fs-sm);color:var(--muted)}
.weather-notice{background:rgba(40,103,122,.08);border:1px solid rgba(40,103,122,.2);border-radius:var(--r-md);padding:var(--sp-5);font-size:var(--fs-sm);color:var(--sea-700)}

/* ── Private Groups ── */
.private-hero{background:var(--navy-950);color:var(--bone-100);padding:var(--sp-20) 0}
.private-hero h1{color:var(--white)}
.private-hero p{color:rgba(245,240,232,.8)}
.private-form{background:var(--white);border:1px solid var(--sand-200);border-radius:var(--r-lg);padding:var(--sp-8);max-width:700px;margin:0 auto}
.private-form h2{margin-bottom:var(--sp-6)}

/* ── About Page ── */
.about-intro{display:grid;grid-template-columns:1fr;gap:var(--sp-10);align-items:center}
.about-intro__image{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5}
.about-intro__image img{width:100%;height:100%;object-fit:cover}
.about-intro__text h1{margin-bottom:var(--sp-6)}
.about-intro__text p{margin-bottom:var(--sp-4);color:var(--muted)}
@media(min-width:768px){.about-intro{grid-template-columns:1fr 1fr}}

/* ── Contact Page ── */
.contact-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-10)}
.contact-method{padding:var(--sp-6);border:1px solid var(--sand-200);border-radius:var(--r-md)}
.contact-method--primary{border-color:var(--coral-600);background:rgba(217,101,67,.04)}
.contact-method__title{font-weight:600;margin-bottom:var(--sp-2)}
.contact-method__text{font-size:var(--fs-sm);color:var(--muted);margin-bottom:var(--sp-4)}
@media(min-width:768px){.contact-grid{grid-template-columns:1fr 1fr}}

/* ── Legal Pages ── */
.legal-content{max-width:700px;margin:0 auto;padding:var(--sp-12) 0}
.legal-content h1{margin-bottom:var(--sp-8)}
.legal-content h2{margin-top:var(--sp-10);margin-bottom:var(--sp-4);font-size:var(--fs-lg)}
.legal-content p,.legal-content li{font-size:var(--fs-sm);color:var(--muted);margin-bottom:var(--sp-3)}
.legal-content ul{padding-left:var(--sp-6)}
.legal-todo{background:rgba(165,106,23,.08);border:1px solid rgba(165,106,23,.2);border-radius:var(--r-md);padding:var(--sp-5);margin:var(--sp-6) 0;font-size:var(--fs-sm);color:var(--warning)}

/* ── Guide Pages ── */
.guide-hero{background:var(--bone-100);padding:var(--sp-16) 0 var(--sp-12)}
.guide-hero h1{margin-bottom:var(--sp-4)}
.guide-hero__meta{font-size:var(--fs-sm);color:var(--muted)}
.guide-toc{background:var(--white);border:1px solid var(--sand-200);border-radius:var(--r-md);padding:var(--sp-6);margin-bottom:var(--sp-10)}
.guide-toc__title{font-weight:600;margin-bottom:var(--sp-3);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.guide-toc ol{counter-reset:toc}
.guide-toc li{counter-increment:toc;margin-bottom:var(--sp-2)}
.guide-toc li::before{content:counter(toc) '. ';font-weight:600;color:var(--coral-600)}
.guide-toc a{color:var(--navy-950);font-size:var(--fs-sm)}
.guide-toc a:hover{color:var(--coral-600)}
