/*
Theme Name: Aventure Quad V5040 — Connected
Description: Expérience immersive administrable : vidéo MP4 administrable en boucle, galerie, typographies, couleurs, contenus et réservation V500.
Version: 5040.0.0
Author: Aventure Quad Bab El Assa
*/
:root{--green:#082e23;--red:#c92b22;--sand:#f7f4ec;--text:#10241d;--title:system-ui,sans-serif;--body:system-ui,sans-serif;--hero:82vh;--overlay:.38;--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:var(--body);background:var(--sand)}h1,h2,h3{font-family:var(--title)}.site-head{height:78px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,28px);position:sticky;top:0;z-index:80;border-bottom:1px solid #eee}.brand{display:flex;align-items:center;gap:12px;font-weight:900}.brand img{width:52px;height:52px;object-fit:contain}.site-head nav a{color:inherit;text-decoration:none;margin-left:28px;font-weight:700}.hero{height:var(--hero);min-height:560px;position:relative;overflow:hidden;background:#082e23 center/cover no-repeat}.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,calc(var(--overlay) + .18)),rgba(0,0,0,calc(var(--overlay) * .35)))}.hero-copy{position:absolute;left:8vw;bottom:14%;max-width:780px;color:#fff;z-index:2}.hero-copy h1{font-size:clamp(50px,7vw,108px);line-height:.9;margin:12px 0 20px}.hero-copy>p:not(.eyebrow){font-size:clamp(18px,2vw,25px);max-width:650px}.eyebrow{font-weight:900;letter-spacing:.18em;font-size:12px;text-transform:uppercase}.hero-actions{display:flex;gap:12px;margin-top:26px}.btn{display:inline-block;border-radius:999px;padding:15px 22px;text-decoration:none;font-weight:900}.btn-primary{background:var(--red);color:#fff}.btn-light{background:#fff;color:var(--green)}.quick{background:var(--green);color:#fff;padding:18px max(5vw,30px);display:flex;justify-content:center;gap:55px;font-weight:800}.manifest,.booking{max-width:1200px;margin:auto;padding:90px 30px}.manifest{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end}.manifest h2,.booking h2,.rides h2{font-size:clamp(42px,5vw,72px);margin:8px 0}.manifest>p{font-size:20px;line-height:1.6}.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:260px;gap:12px;padding:0 30px 90px;max-width:1400px;margin:auto}.photo{background:#ddd center/cover no-repeat;border-radius:var(--radius);overflow:hidden}.photo:first-child{grid-row:span 2}.rides{background:var(--green);color:#fff;padding:90px max(5vw,30px)}.rides-inner{max-width:1200px;margin:auto}.ride-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:35px}.ride{border:1px solid rgba(255,255,255,.22);border-radius:20px;padding:28px;background:rgba(255,255,255,.05)}.ride h3{font-size:26px;margin:0 0 8px}.ride .price{font-weight:900;font-size:20px}.booking{display:grid;grid-template-columns:.75fr 1.25fr;gap:50px}.booking-engine{background:#fff;border-radius:var(--radius);padding:28px;box-shadow:0 20px 60px rgba(0,0,0,.08)}.site-foot{background:#061f18;color:#fff;padding:55px max(5vw,30px)}.float-book{position:fixed;right:25px;bottom:25px;background:var(--red);color:#fff;text-decoration:none;padding:16px 22px;border-radius:99px;font-weight:900;z-index:90;box-shadow:0 12px 35px rgba(0,0,0,.22);transition:.2s}.float-book:hover{transform:translateY(-3px)}.theme-version{opacity:.55;font-size:12px;margin-top:20px}@media(max-width:800px){.site-head nav{display:none}.hero{min-height:620px}.manifest,.booking{grid-template-columns:1fr}.gallery,.ride-grid{grid-template-columns:1fr}.gallery{grid-auto-rows:300px}.photo:first-child{grid-row:auto}.quick{gap:18px;overflow:auto;justify-content:flex-start}.float-book{left:16px;right:16px;bottom:14px;text-align:center}.hero-copy{left:7vw;right:7vw}.hero-actions{flex-wrap:wrap}}
/* V2000.1 Experience migration */
.lang-switch{display:flex;gap:8px;margin-bottom:16px}.lang-switch a{color:#fff;border:1px solid #ffffff66;border-radius:99px;padding:6px 10px;text-decoration:none;font-weight:800}.ride-book{display:inline-block;margin-top:16px;padding:11px 16px;border-radius:12px;background:var(--red);color:#fff;text-decoration:none;font-weight:900}.final-cta{text-align:center;padding:90px 24px;background:var(--green);color:#fff}.final-cta h2{font-size:clamp(34px,5vw,62px);max-width:900px;margin:10px auto 30px}.reviews-home{background:var(--sand);padding:1px 0 50px}.hero video{transition:opacity .4s ease}.aq-video-fallback .hero{background-size:cover;background-position:center}
/* V2300 Production visual layer */
html{scroll-behavior:smooth}.gallery-title{max-width:1180px;margin:70px auto 24px;padding:0 24px}.gallery-title h2{font-size:clamp(34px,4vw,58px);line-height:1.02;margin:.2em 0;color:var(--green)}
.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:260px;gap:10px;max-width:1400px;margin:0 auto 70px;padding:0 20px}.gallery .photo{margin:0;overflow:hidden;border-radius:20px;background:#ddd}.gallery .photo:first-child{grid-row:span 2}.gallery .photo:nth-child(4){grid-column:span 2}.gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s ease,filter .4s ease;filter:saturate(1.03) contrast(1.02)}.gallery .photo:hover img{transform:scale(1.035)}
.ride-book{appearance:none;border:0;cursor:pointer;background:var(--red);color:#fff;border-radius:999px;padding:14px 20px;font-weight:900;font-size:15px;transition:transform .2s ease,box-shadow .2s ease}.ride-book:hover{transform:translateY(-2px);box-shadow:0 10px 24px #0002}.reviews-home:empty{display:none}
#availability{scroll-margin-top:90px}.aq22-explorer{border-top:1px solid #ffffff20}
@media(max-width:800px){.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:210px;padding:0 12px}.gallery .photo:first-child{grid-row:span 1;grid-column:span 2}.gallery .photo:nth-child(4){grid-column:span 1}.gallery-title{margin-top:45px}}
@media(max-width:520px){.gallery{grid-template-columns:1fr;grid-auto-rows:230px}.gallery .photo:first-child{grid-column:span 1}.hero-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px}.hero-actions .btn{text-align:center}}

/* V5000.2 — Mobile Experience, palette claire. N'écrase pas les options enregistrées. */
:root{--green:#146d4d;--red:#e84530;--sand:#f7f8f5;--text:#173a2e;--radius:22px}
body{background:#f7f8f5;color:#173a2e;overflow-x:hidden}
.site-head{background:#ffffffed;border-bottom:1px solid #e4eee8;box-shadow:0 2px 14px #183d2c0a}
.brand{color:#174d37}.quick{background:#e9f5ee;color:#205c43;gap:clamp(14px,3vw,55px)}
.rides{background:#f0f8f3;color:#173a2e;padding-block:64px}.ride{background:#fff;border:1px solid #dcebe2;box-shadow:0 8px 26px #123c2510}
.ride .price{color:#146d4d}.ride-book,.btn-primary{background:#e84530;color:white}
.ride-book:focus-visible,.btn:focus-visible,.site-head a:focus-visible{outline:3px solid #e8a32a;outline-offset:3px}
#availability{scroll-margin-top:105px;background:#f7f8f5;max-width:100%;overflow-x:clip}
#availability :is(input,select,button){max-width:100%}
.gallery-title h2,.manifest h2,.rides h2{color:#174d37}
@media(max-width:800px){
 .site-head{height:auto;min-height:72px;padding:10px 16px}.brand{gap:9px;font-size:clamp(13px,3.8vw,17px);line-height:1.15}.brand img{width:50px;height:50px;flex:none}
 .hero{height:auto;min-height:0;background-color:#f0f7f4;background-size:100% auto;background-position:center top;background-repeat:no-repeat;padding-top:clamp(220px,69vw,560px)}
 .hero video{display:none!important} /* L'affiche d'accueil reste entièrement visible sur téléphone. */
 .hero .shade{display:none}
 .hero-copy{position:relative;inset:auto;max-width:none;padding:22px 20px 26px;background:#f0f7f4;color:#173a2e}
 .hero-copy h1{font-size:clamp(36px,10vw,60px);line-height:1.04;margin:10px 0 12px;overflow-wrap:anywhere}
 .hero-copy>p:not(.eyebrow){font-size:clamp(16px,4.2vw,20px);line-height:1.4}
 .lang-switch a{color:#174d37;border-color:#bfd7c8}
 .hero-actions{margin-top:18px}.hero-actions .btn{display:block;text-align:center;padding:15px 16px}
 .quick{padding:16px;gap:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));font-size:clamp(11px,3vw,14px);text-align:center;overflow:visible}
 .manifest{padding:45px 20px;gap:16px}.manifest h2,.rides h2{font-size:clamp(32px,8vw,46px)}
 .gallery-title{padding:0 18px}.rides{padding:45px 16px}.ride-grid{grid-template-columns:1fr}.ride{padding:22px}
 .ride-book{min-height:46px;width:100%}
 .float-book{max-width:calc(100% - 32px)}
 #availability{scroll-margin-top:85px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* V5000.3: une seule liste de balades (cartes du theme), calendrier du Manager conserve. */
.home #availability .aq22-explorer{background:#edf6f1;color:#193e30;padding:34px 18px 65px}
.home #availability .aq22-k,
.home #availability .aq22-inner > h2,
.home #availability .aq22-inner > h3:first-of-type,
.home #availability .aq22-rides{display:none!important}
.home #availability .aq22-inner > h3{color:#193e30}
.home #availability .aq22-hint{color:#36594b;opacity:1}
.home #availability .aq22-legend{color:#193e30}
.home #availability .aq22-calhead button{color:#176445}
.home #availability{scroll-margin-top:105px}
.home .ride-book:focus-visible{outline:3px solid #173e30;outline-offset:3px}
@media(max-width:700px){
 .home #availability .aq22-explorer{padding:24px 15px 50px}
 .home #availability .aq22-inner > h3{font-size:clamp(21px,5vw,28px);line-height:1.25}
 .home #availability .aq22-week span{font-size:11px}
 .home #availability .aq22-day{min-height:45px;font-size:14px}
}

/* V5040 – cohérence avec l'application Android */
:root{--green:#07552f;--red:#d10b23;--sand:#f9f7f0}
.site-head{background:rgba(5,52,32,.95);backdrop-filter:blur(14px)}
.site-head .brand img{object-fit:contain}
.site-head nav a.aq-team-link{border:1px solid rgba(255,255,255,.6);border-radius:999px;padding:9px 15px}
.aq-team-portal{max-width:780px;margin:70px auto;padding:36px;background:#fff;border-radius:22px;box-shadow:0 12px 45px #002a151a}
.aq-team-portal h1{color:#07552f}.aq-team-portal .aq-team-btn{display:inline-block;background:#07552f;color:white;padding:13px 22px;border-radius:10px;text-decoration:none}
@media(max-width:800px){.site-head nav a.aq-team-link{padding:7px 9px}.aq-team-portal{margin:24px 14px;padding:22px}}
