/*
Theme Name: AR4HO Cruise
Theme URI: https://ar4ho.example
Author: AR4HO
Description: Theme for the AR4HO Nile Cruise System. Video hero, booking engine, facilities, itinerary and reviews on the home page. Requires the AR4HO Nile Cruise System plugin.
Version: 1.0.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: ar4ho-cruise
*/

:root{
	--ar-ink:#0c2733;--ar-teal:#17857f;--ar-gold:#d4a33a;--ar-stone:#eef2ef;--ar-line:#cfd9d6;
	--ar-serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
	--ar-sans:"Avenir Next","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--ar-stone);color:var(--ar-ink);font:400 1.0625rem/1.6 var(--ar-sans)}
img,video{max-width:100%;height:auto}
a{color:var(--ar-teal)}
h1,h2,h3{font-family:var(--ar-serif);line-height:1.15}
.wrap{width:min(1120px,100% - 2.5rem);margin-inline:auto}
.wrap.narrow{width:min(780px,100% - 2.5rem)}
.skip{position:absolute;left:-999px}
.skip:focus{left:1rem;top:1rem;z-index:100;background:#fff;padding:.5rem 1rem}
:focus-visible{outline:3px solid var(--ar-gold);outline-offset:2px}

/* header */
.site-header{background:var(--ar-ink);color:#fff;position:relative;z-index:20}
.home .site-header{position:absolute;inset:0 0 auto 0;background:linear-gradient(rgba(6,22,30,.75),rgba(6,22,30,0))}
.site-header .bar{width:min(1120px,100% - 2.5rem);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0}
.brand{display:flex;align-items:baseline;gap:.6rem;color:#fff;text-decoration:none}
.brand-mark{font:700 1.7rem/1 var(--ar-serif);letter-spacing:.04em}
.brand-sub{font-size:.95rem;color:var(--ar-gold)}
.primary-nav ul{list-style:none;display:flex;gap:1.6rem;margin:0;padding:0}
.primary-nav a{color:#fff;text-decoration:none;font-weight:600;padding:.4rem 0;border-bottom:2px solid transparent}
.primary-nav a:hover{border-bottom-color:var(--ar-gold)}
.nav-toggle{display:none;background:none;border:1px solid rgba(255,255,255,.6);color:#fff;padding:.5rem .9rem;font:inherit;border-radius:3px}

/* hero */
.hero{position:relative;min-height:min(86vh,720px);display:flex;align-items:flex-end;color:#fff;background:linear-gradient(160deg,#0c2733 0%,#145a63 55%,#d4a33a 140%) center/cover;overflow:hidden}
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(6,22,30,.85) 0%,rgba(6,22,30,.25) 55%,rgba(6,22,30,.35) 100%)}
.hero-inner{position:relative;padding:8rem 0 7.5rem}
.hero h1{font-size:clamp(2.2rem,5.6vw,4.4rem);max-width:15ch;margin:0 0 1rem;font-weight:600;letter-spacing:-.01em}
.hero p{font-size:1.2rem;max-width:36rem;margin:0 0 1.8rem;color:#e6efee}
.hero-sound{position:absolute;right:1.25rem;bottom:1.25rem;z-index:3;background:rgba(6,22,30,.65);color:#fff;border:1px solid rgba(255,255,255,.6);border-radius:99px;padding:.6em 1.2em;font:600 .95rem var(--ar-sans);cursor:pointer}
.hero-sound:hover{background:var(--ar-gold);color:#1b1503;border-color:var(--ar-gold)}
.btn{display:inline-block;padding:.95em 1.7em;border-radius:3px;font-weight:700;text-decoration:none;background:var(--ar-ink);color:#fff}
.btn-gold{background:var(--ar-gold);color:#1b1503}
.btn-gold:hover{background:#e6b64c}

/* booking panel floats over the hero edge */
.booking-wrap{position:relative;z-index:5;margin-top:-4.5rem}
.booking-wrap .ar4ho-booking{background:#fff;padding:1.6rem 1.8rem 1.8rem;border-top:5px solid var(--ar-gold);box-shadow:0 18px 40px -22px rgba(6,22,30,.55)}
.booking-wrap .ar4ho-booking h2{font-size:1.6rem}

.facts-strip{background:var(--ar-ink);color:#d9e6e4;margin-top:3rem}
.facts{display:flex;flex-wrap:wrap;gap:.6rem 2.5rem;justify-content:space-between;padding:1.1rem 0;font-size:1rem}
.facts strong{color:var(--ar-gold);font-family:var(--ar-serif);font-size:1.3rem}

/* sections */
.section{padding:4.5rem 0}
.section h2{font-size:clamp(1.8rem,3.4vw,2.6rem);margin:0 0 1.6rem}
.facility-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0}
.facility-list li{padding:1.3rem 1.4rem 1.4rem 0;border-top:2px solid var(--ar-teal)}
.facility-list h3{font-size:1.25rem;margin:0 0 .4rem}
.facility-list p{margin:0;color:#3d545c}
.itinerary-band{background:#fff}
.reviews-band{background:var(--ar-stone)}

/* inner pages */
.page-wrap{padding:3.5rem 0 5rem}
.entry-title{font-size:clamp(2rem,4vw,3rem);margin:0 0 1.5rem}
.entry-title a{color:inherit;text-decoration:none}
.notice{background:#fff6dd;border-left:4px solid var(--ar-gold);padding:1rem 1.2rem}

/* footer */
.site-footer{background:var(--ar-ink);color:#cfdddb;padding:2.5rem 0}
.site-footer p{margin:.2rem 0}
.footer-brand{font:600 1.4rem var(--ar-serif);color:#fff}
.footer-links a{color:var(--ar-gold);margin-right:1.2rem}

@media(max-width:760px){
	.nav-toggle{display:block}
	.primary-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--ar-ink);padding:1rem 1.25rem}
	.primary-nav.is-open{display:block}
	.primary-nav ul{flex-direction:column;gap:.5rem}
	.hero-inner{padding:7rem 0 6.5rem}
	.booking-wrap{margin-top:-3.5rem}
	.section{padding:3rem 0}
}
