:root{--aqua:#00C9C8;--aqua-d:#009e9d;--yellow:#FFD60A;--lime:#7ED957;--lime-d:#5ab83a;--coral:#FF6B6B;--navy:#0A2342;--white:#FFF;--sand:#FFF8E7;--text:#1a2e3a;--textl:#5a7080;--sh:0 8px 32px rgba(10,35,66,.12);--shl:0 20px 60px rgba(10,35,66,.18);--r:20px;--rs:12px;}
*{margin:0;padding:0;box-sizing:border-box;}html{scroll-behavior:smooth;}
body{font-family:'Nunito',sans-serif;color:var(--text);background:var(--white);overflow-x:hidden;}
h1,h2,h3,h4{font-family:'Baloo 2',cursive;}
#scrollBar{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--aqua),var(--yellow));z-index:9999;width:0;}
nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:0 5%;display:flex;align-items:center;justify-content:space-between;height:68px;background:rgba(10,35,66,.93);backdrop-filter:blur(12px);transition:all .3s;}
nav.scrolled{box-shadow:0 4px 20px rgba(0,0,0,.3);}
.nav-logo{font-family:'Baloo 2',cursive;font-size:1.55rem;font-weight:800;color:var(--yellow);text-decoration:none;display:flex;align-items:center;}
.nav-logo span{color:var(--aqua);}
.nav-logo img{height:48px;width:auto;display:block;}
.nav-links{display:flex;gap:4px;list-style:none;align-items:center;}
.nav-links a{color:rgba(255,255,255,.85);text-decoration:none;font-size:.86rem;font-weight:600;padding:6px 13px;border-radius:30px;transition:all .2s;}
.nav-links a:hover{color:var(--yellow);background:rgba(255,214,10,.12);}
.nav-cta{background:var(--yellow)!important;color:var(--navy)!important;font-weight:800!important;padding:8px 18px!important;}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;}
.hamburger span{display:block;width:24px;height:2px;background:white;border-radius:2px;}
@media(max-width:900px){.nav-links{display:none;}.hamburger{display:flex;}
nav.menu-open .nav-links{display:flex;flex-direction:column;position:fixed;top:68px;left:0;right:0;background:var(--navy);padding:16px;gap:4px;}}

/* HERO CAROUSEL */
#hero{position:relative;height:100vh;min-height:580px;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;}
.car-track{position:absolute;inset:0;display:flex;transition:transform .9s cubic-bezier(.77,0,.18,1);}
.car-slide{min-width:100%;height:100%;position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.car-slide::after{content:'';position:absolute;inset:0;background:linear-gradient(160deg,rgba(10,35,66,.72) 0%,rgba(10,35,66,.42) 60%,rgba(10,35,66,.65) 100%);}
.slide-bg{position:absolute;inset:0;background-size:cover;background-position:center;}
.hero-content{position:relative;z-index:2;padding:0 5%;max-width:860px;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,214,10,.15);border:1px solid rgba(255,214,10,.35);color:var(--yellow);padding:7px 18px;border-radius:50px;font-size:.8rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:24px;animation:fadeUp .6s ease both;}
.hero-title{font-size:clamp(2.4rem,5.5vw,4.6rem);font-weight:800;color:white;line-height:1.1;margin-bottom:18px;animation:fadeUp .7s .1s ease both;}
.hero-title .hl{color:var(--yellow);}
.hero-sub{font-size:clamp(.95rem,1.8vw,1.2rem);color:rgba(255,255,255,.78);max-width:580px;margin:0 auto 40px;line-height:1.7;animation:fadeUp .7s .2s ease both;}
.hero-btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:52px;animation:fadeUp .7s .3s ease both;}
.hero-stats{display:flex;gap:36px;flex-wrap:wrap;justify-content:center;animation:fadeUp .7s .4s ease both;}
.stat-num{font-family:'Baloo 2',cursive;font-size:1.9rem;font-weight:800;color:var(--yellow);}
.stat-lbl{font-size:.75rem;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:1px;}
.car-prev,.car-next{position:absolute;top:50%;transform:translateY(-50%);z-index:3;background:rgba(255,255,255,.14);border:1.5px solid rgba(255,255,255,.3);color:white;width:48px;height:48px;border-radius:50%;cursor:pointer;font-size:1.3rem;display:flex;align-items:center;justify-content:center;transition:all .25s;backdrop-filter:blur(6px);}
.car-prev{left:22px;}.car-next{right:22px;}
.car-prev:hover,.car-next:hover{background:rgba(255,255,255,.28);}
.car-dots{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:8px;}
.dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.4);cursor:pointer;transition:all .3s;}
.dot.active{background:var(--yellow);width:24px;border-radius:4px;}
.car-caption{position:absolute;bottom:64px;left:5%;z-index:3;background:rgba(10,35,66,.6);backdrop-filter:blur(8px);border-left:3px solid var(--yellow);padding:8px 16px;border-radius:0 8px 8px 0;color:white;font-size:.82rem;font-weight:600;max-width:320px;transition:opacity .4s;}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:7px;padding:13px 26px;border-radius:50px;font-family:'Baloo 2',cursive;font-size:.97rem;font-weight:700;cursor:pointer;text-decoration:none;border:none;transition:all .25s;white-space:nowrap;}
.btn-primary{background:var(--yellow);color:var(--navy);box-shadow:0 8px 24px rgba(255,214,10,.4);}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(255,214,10,.5);}
.btn-secondary{background:rgba(255,255,255,.12);color:white;border:2px solid rgba(255,255,255,.3);}
.btn-secondary:hover{background:rgba(255,255,255,.22);transform:translateY(-3px);}
.btn-aqua{background:var(--aqua);color:var(--navy);box-shadow:0 8px 24px rgba(0,201,200,.4);}
.btn-aqua:hover{transform:translateY(-3px);background:#00b0af;}
.btn-lime{background:var(--lime);color:var(--navy);box-shadow:0 8px 24px rgba(126,217,87,.4);}
.btn-lime:hover{transform:translateY(-3px);}
.btn-sm{padding:9px 20px;font-size:.85rem;}

/* SECTIONS */
section{padding:90px 5%;}
.section-header{text-align:center;margin-bottom:54px;}
.section-label{display:inline-block;font-size:.76rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:5px 16px;border-radius:30px;margin-bottom:14px;}
.lb-aqua{background:rgba(0,201,200,.12);color:var(--aqua-d);}
.lb-yellow{background:rgba(255,214,10,.15);color:#b89500;}
.lb-lime{background:rgba(126,217,87,.15);color:var(--lime-d);}
.lb-coral{background:rgba(255,107,107,.12);color:#c94040;}
.section-title{font-size:clamp(1.7rem,3.2vw,2.6rem);font-weight:800;color:var(--navy);line-height:1.2;margin-bottom:14px;}
.section-desc{font-size:1rem;color:var(--textl);max-width:560px;margin:0 auto;line-height:1.7;}

/* ACTIVITIES */
#activites{background:var(--sand);}
.cat-nav{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin-bottom:44px;}
.cat-btn{padding:9px 20px;border-radius:50px;font-family:'Baloo 2',cursive;font-size:.87rem;font-weight:700;cursor:pointer;border:2px solid transparent;background:white;color:var(--textl);transition:all .2s;box-shadow:0 2px 8px rgba(0,0,0,.06);}
.cat-btn:hover,.cat-btn.active{background:var(--navy);color:white;border-color:var(--navy);transform:translateY(-2px);}
.act-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px;}
.act-card{background:white;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);transition:transform .3s,box-shadow .3s,border-color .3s;border:2px solid transparent;cursor:pointer;}
.act-card:hover{transform:translateY(-6px);box-shadow:var(--shl);}
.act-card[data-cat="virtuel"]:hover{border-color:var(--aqua);}
.act-card[data-cat="extreme"]:hover,.act-card[data-cat="sport"]:hover{border-color:var(--coral);}
.act-card[data-cat="karting"]:hover{border-color:var(--yellow);}
.act-card[data-cat="aquatique"]:hover{border-color:#0077ff;}
.act-card[data-cat="mecanique"]:hover{border-color:#ff8c00;}
.act-card[data-cat="decouverte"]:hover{border-color:var(--lime);}
.act-card[data-cat="detente"]:hover{border-color:#b07fcb;}
.act-img-wrap{position:relative;height:175px;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.act-img-wrap img{width:112px;height:112px;object-fit:contain;transition:transform .3s;}
.act-card:hover .act-img-wrap img{transform:scale(1.06);}
.act-more-hint{position:absolute;bottom:10px;right:12px;background:rgba(255,255,255,.9);color:var(--navy);font-size:.72rem;font-weight:700;padding:4px 10px;border-radius:20px;opacity:0;transition:opacity .3s;z-index:1;}
.act-card:hover .act-more-hint{opacity:1;}
.card-body{padding:16px 24px 24px;}
.card-tag{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:3px 10px;border-radius:20px;margin-bottom:8px;}
.card-title{font-size:1.15rem;font-weight:800;color:var(--navy);margin-bottom:6px;}
.card-desc{font-size:.88rem;color:var(--textl);line-height:1.6;margin-bottom:12px;}
.card-link{font-size:.82rem;font-weight:700;color:var(--aqua-d);display:inline-flex;align-items:center;gap:5px;}
.card-link:hover{color:var(--navy);}

/* MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(10,35,66,.72);z-index:2000;display:none;align-items:flex-start;justify-content:center;padding:60px 16px 30px;overflow-y:auto;backdrop-filter:blur(6px);}
.modal-overlay.open{display:flex;}
.modal-box{background:white;border-radius:var(--r);width:100%;max-width:860px;overflow:hidden;position:relative;animation:modalIn .35s ease both;}
@keyframes modalIn{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
.modal-close{position:sticky;top:12px;float:right;margin:12px 12px 0 0;z-index:10;background:rgba(10,35,66,.75);color:white;border:none;width:38px;height:38px;border-radius:50%;font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;}
.modal-close:hover{background:var(--coral);}
.modal-gallery{background:#0a1a2e;}
.gallery-main{height:340px;display:flex;align-items:center;justify-content:center;font-size:7rem;position:relative;overflow:hidden;}
.gslide{position:absolute;inset:0;display:none;align-items:center;justify-content:center;font-size:7rem;transition:opacity .3s;}
.gslide.active{display:flex;}
.gallery-thumbs{display:flex;gap:8px;padding:10px 14px;background:#08162a;overflow-x:auto;}
.gthumb{width:72px;height:52px;border-radius:8px;cursor:pointer;opacity:.55;transition:opacity .2s;border:2px solid transparent;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1.6rem;overflow:hidden;}
.gslide img,.gthumb img{width:100%;height:100%;object-fit:cover;}
.gthumb.active{opacity:1;border-color:var(--yellow);}
.modal-body{padding:30px 34px 38px;}
.modal-tag{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:4px 12px;border-radius:20px;margin-bottom:12px;}
.modal-title{font-size:1.85rem;font-weight:800;color:var(--navy);margin-bottom:12px;}
.modal-desc{font-size:.98rem;color:var(--textl);line-height:1.75;margin-bottom:26px;}
.modal-details{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-bottom:26px;}
.detail-chip{background:var(--sand);border-radius:var(--rs);padding:13px 15px;}
.dc-label{font-size:.7rem;font-weight:700;color:var(--textl);text-transform:uppercase;letter-spacing:.8px;margin-bottom:4px;}
.dc-val{font-size:.93rem;font-weight:700;color:var(--navy);}
.modal-features h4,.modal-video h4{font-size:.98rem;font-weight:800;color:var(--navy);margin-bottom:10px;}
.features-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px;}
.feat-item{background:white;border:1.5px solid #e2eaf4;border-radius:30px;padding:5px 13px;font-size:.83rem;font-weight:600;color:var(--text);}
.feat-item::before{content:"✓ ";}
.video-placeholder{background:linear-gradient(135deg,var(--navy),#1a4080);border-radius:var(--rs);height:190px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:white;cursor:pointer;margin-bottom:26px;}
.video-play{width:56px;height:56px;border-radius:50%;background:rgba(255,214,10,.9);display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--navy);}
.modal-cta{display:flex;gap:12px;flex-wrap:wrap;}
@media(max-width:600px){.modal-body{padding:18px 16px 26px;}.modal-title{font-size:1.45rem;}.gallery-main{height:210px;font-size:4rem;}}

/* RESTO */
#restauration{background:white;}
.resto-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px;}
.resto-card{background:linear-gradient(135deg,var(--navy) 0%,#1a4080 100%);border-radius:var(--r);padding:30px 26px;color:white;position:relative;overflow:hidden;transition:transform .3s;box-shadow:var(--sh);cursor:pointer;}
.resto-card:hover{transform:translateY(-5px);}
.resto-icon{font-size:2.3rem;margin-bottom:14px;display:block;}
.resto-title{font-size:1.1rem;font-weight:800;margin-bottom:8px;}
.resto-desc{font-size:.86rem;opacity:.75;line-height:1.6;margin-bottom:14px;}
.resto-more{font-size:.8rem;font-weight:700;color:var(--yellow);display:inline-flex;align-items:center;gap:5px;}

/* SHOPPING */
#shopping{background:var(--sand);}
.shops-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:17px;}
.shop-card{background:white;border-radius:var(--rs);padding:24px 17px;text-align:center;box-shadow:0 4px 16px rgba(0,0,0,.07);transition:all .25s;border-bottom:4px solid transparent;cursor:pointer;}
.shop-card:hover{transform:translateY(-4px);border-bottom-color:var(--yellow);box-shadow:var(--sh);}
.shop-icon{font-size:2.6rem;margin-bottom:12px;display:block;}
.shop-name{font-size:.92rem;font-weight:700;color:var(--navy);margin-bottom:6px;}
.shop-desc{font-size:.8rem;color:var(--textl);line-height:1.5;margin-bottom:10px;}
.shop-more{font-size:.78rem;font-weight:700;color:var(--aqua-d);display:inline-flex;align-items:center;gap:4px;}

/* INFOS */
#infos{background:white;}
.infos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:22px;}
.info-card{border-radius:var(--r);padding:30px 26px;border:2px solid #eef2f8;transition:all .25s;}
.info-card:hover{border-color:var(--aqua);box-shadow:var(--sh);}
.info-icon{font-size:2.3rem;margin-bottom:16px;display:block;}
.info-title{font-size:1.12rem;font-weight:800;color:var(--navy);margin-bottom:10px;}
.info-body{font-size:.87rem;color:var(--textl);line-height:1.8;}
.info-body ul{padding-left:16px;}
.info-body li{margin-bottom:4px;}

/* FAQ */
#faq{background:var(--sand);}
.faq-list{max-width:740px;margin:0 auto;}
.faq-item{background:white;border-radius:var(--rs);margin-bottom:10px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.05);}
.faq-item.open{box-shadow:0 6px 24px rgba(0,201,200,.15);}
.faq-q{padding:18px 22px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-weight:700;color:var(--navy);font-size:.95rem;user-select:none;}
.faq-q .arrow{transition:transform .3s;color:var(--aqua);flex-shrink:0;margin-left:10px;}
.faq-item.open .faq-q .arrow{transform:rotate(180deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .2s;font-size:.89rem;color:var(--textl);line-height:1.7;padding:0 22px;}
.faq-item.open .faq-a{max-height:300px;padding:0 22px 18px;}

/* LOC */
#localisation{background:linear-gradient(135deg,var(--navy) 0%,#0f3a7a 100%);padding:70px 5%;text-align:center;position:relative;overflow:hidden;}
#localisation::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(0,201,200,.15),transparent 70%);}
.loc-title{font-size:clamp(1.6rem,2.8vw,2.4rem);font-weight:800;color:white;margin-bottom:12px;}
.loc-desc{color:rgba(255,255,255,.7);margin-bottom:28px;font-size:.98rem;max-width:460px;margin-left:auto;margin-right:auto;}
.loc-info{display:flex;flex-wrap:wrap;gap:26px;justify-content:center;margin-bottom:34px;}
.loc-item{color:rgba(255,255,255,.85);font-size:.92rem;display:flex;align-items:center;gap:7px;}
.map-embed{max-width:860px;margin:0 auto;border-radius:var(--r);overflow:hidden;height:290px;background:#1a3a6a;display:flex;align-items:center;justify-content:center;}
.map-ph{text-align:center;color:rgba(255,255,255,.5);font-size:.87rem;}
.map-ph span{font-size:2.8rem;display:block;margin-bottom:8px;}

.reserve-banner{background:linear-gradient(90deg,var(--aqua),var(--lime));padding:54px 5%;text-align:center;}
.reserve-banner h2{font-size:clamp(1.5rem,2.8vw,2.2rem);font-weight:800;color:var(--navy);margin-bottom:10px;}
.reserve-banner p{color:var(--navy);opacity:.75;margin-bottom:24px;font-size:.98rem;}

/* FOOTER */
footer{background:#06172a;color:rgba(255,255,255,.7);padding:56px 5% 26px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:34px;margin-bottom:40px;}
.footer-logo{font-family:'Baloo 2',cursive;font-size:1.7rem;font-weight:800;color:var(--yellow);}
.footer-logo span{color:var(--aqua);}
.footer-logo img{height:64px;width:auto;display:block;}
.footer-brand p{margin-top:12px;line-height:1.7;font-size:.87rem;max-width:265px;}
.footer-socials{display:flex;gap:8px;margin-top:16px;}
.social-btn{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;font-size:.9rem;text-decoration:none;transition:all .2s;cursor:pointer;}
.social-btn:hover{background:var(--aqua);}
.footer-col h4{font-family:'Baloo 2',cursive;font-size:.95rem;font-weight:800;color:white;margin-bottom:14px;}
.footer-col ul{list-style:none;}
.footer-col li{margin-bottom:8px;}
.footer-col a{color:rgba(255,255,255,.6);text-decoration:none;font-size:.85rem;transition:color .2s;}
.footer-col a:hover{color:var(--yellow);}
.fn-row{display:flex;gap:7px;margin-top:12px;}
.fn-row input{flex:1;padding:9px 13px;border-radius:30px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);color:white;font-family:'Nunito',sans-serif;font-size:.82rem;}
.fn-row input::placeholder{color:rgba(255,255,255,.35);}
.fn-row button{padding:9px 15px;border-radius:30px;background:var(--yellow);color:var(--navy);border:none;font-weight:800;font-family:'Baloo 2',cursive;cursor:pointer;font-size:.82rem;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;font-size:.79rem;gap:10px;}
.footer-bottom a{color:rgba(255,255,255,.5);text-decoration:none;}
.footer-bottom a:hover{color:var(--yellow);}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.footer-grid{grid-template-columns:1fr;}section{padding:60px 4%;}}
#btt{position:fixed;bottom:24px;right:24px;width:40px;height:40px;border-radius:50%;background:var(--navy);color:var(--yellow);border:2px solid var(--yellow);font-size:1.1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transform:translateY(10px);transition:all .3s;z-index:999;text-decoration:none;}
#btt.show{opacity:1;transform:translateY(0);}
#btt:hover{background:var(--yellow);color:var(--navy);}
@keyframes fadeUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
/* ── HISTOIRE ── */
#histoire{background:linear-gradient(160deg,#f8f4ee 0%,#fff 60%);}
.lb-gold{background:rgba(184,149,0,.13);color:#8a6500;}
.histoire-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:start;}
@media(max-width:900px){.histoire-layout{grid-template-columns:1fr;}}
.histoire-timeline{display:flex;flex-direction:column;gap:0;}
.htl-item{display:flex;gap:20px;padding-bottom:36px;position:relative;}
.htl-item::before{content:'';position:absolute;left:26px;top:52px;bottom:0;width:2px;background:linear-gradient(180deg,var(--aqua),transparent);}
.htl-item:last-child::before{display:none;}
.htl-icon{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--navy),#1a4a8a);display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0;box-shadow:0 4px 14px rgba(10,35,66,.2);}
.htl-content{padding-top:8px;}
.htl-era{font-size:.72rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--aqua-d);margin-bottom:5px;}
.htl-content h4{font-size:1.1rem;font-weight:800;color:var(--navy);margin-bottom:7px;}
.htl-content p{font-size:.9rem;color:var(--textl);line-height:1.7;}
.histoire-aside{display:flex;flex-direction:column;gap:18px;position:sticky;top:90px;}
.histoire-card{border-radius:var(--r);padding:24px 22px;border:2px solid transparent;transition:all .25s;}
.histoire-card.royal{background:linear-gradient(135deg,#0a2342,#1a4a8a);color:white;border-color:rgba(255,214,10,.2);}
.histoire-card.nature{background:linear-gradient(135deg,#0d2e1a,#1a5c30);color:white;}
.histoire-card.culture{background:linear-gradient(135deg,#2a1a0d,#6a3a10);color:white;}
.hc-icon{font-size:2rem;margin-bottom:10px;display:block;}
.histoire-card h4{font-size:1rem;font-weight:800;margin-bottom:8px;}
.histoire-card p{font-size:.87rem;opacity:.82;line-height:1.6;}
.btn-outline-dark:hover{background:var(--navy);color:white!important;}

/* ── FORFAITS ── */
#forfaits{background:var(--sand);}
.forfait-tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:44px;}
.ftab{padding:10px 22px;border-radius:50px;font-family:'Baloo 2',cursive;font-size:.88rem;font-weight:700;cursor:pointer;border:2px solid transparent;background:white;color:var(--textl);transition:all .2s;box-shadow:0 2px 8px rgba(0,0,0,.06);}
.ftab:hover,.ftab.active{background:var(--navy);color:white;border-color:var(--navy);transform:translateY(-2px);}
.ftab-content{display:none;animation:fadeUp .4s ease both;}
.ftab-content.active{display:block;}

/* Tarifs table */
.tarifs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px;}
.tarif-block{background:white;border-radius:var(--r);padding:26px 24px;box-shadow:var(--sh);}
.tb-title{font-size:1rem;font-weight:800;color:var(--navy);margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid var(--sand);}
.tarif-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f0f4f8;font-size:.88rem;}
.tarif-row:last-of-type{border-bottom:none;}
.tarif-row.promo{background:rgba(126,217,87,.07);border-radius:8px;padding:8px 10px;margin:4px -4px;}
.price{font-weight:800;color:var(--navy);font-family:'Baloo 2',cursive;}
.price.free{color:var(--lime-d);}
.tb-note{font-size:.78rem;color:var(--textl);margin-top:12px;font-style:italic;}

/* Pass cards */
.pass-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px;}
.pass-card{background:white;border-radius:var(--r);padding:28px 24px;box-shadow:var(--sh);border:2px solid #eef2f8;position:relative;transition:transform .25s,box-shadow .25s;}
.pass-card:hover{transform:translateY(-5px);box-shadow:var(--shl);}
.pass-card.bronze{border-color:var(--yellow);background:linear-gradient(160deg,#fffdf0,white);}
.pass-card.noir{background:linear-gradient(160deg,#0a1e35,#0d3060);border-color:rgba(255,214,10,.3);}
.pass-card.noir .pass-name,.pass-card.noir ul li{color:rgba(255,255,255,.88);}
.pass-card.noir .pass-includes li.no{color:rgba(255,255,255,.4);}
.pass-card.soir{border-color:var(--aqua);}
.pass-card.platinum{background:linear-gradient(160deg,#1a1a2e,#2d2d44);border-color:rgba(255,255,255,.35);}
.pass-card.platinum .pass-includes li{color:rgba(255,255,255,.88);}
.pass-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--coral);color:white;font-size:.72rem;font-weight:700;padding:4px 14px;border-radius:20px;white-space:nowrap;}
.pass-badge.vip{background:var(--yellow);color:var(--navy);}
.pass-icon{font-size:2.5rem;margin-bottom:14px;display:block;text-align:center;}
.pass-name{font-size:1.15rem;font-weight:800;color:var(--navy);text-align:center;margin-bottom:16px;}
.pass-prices{background:var(--sand);border-radius:var(--rs);padding:14px 16px;margin-bottom:18px;}
.pass-price-row{display:flex;justify-content:space-between;font-size:.9rem;margin-bottom:4px;}
.pass-price-row:last-child{margin-bottom:0;}
.pass-price-row strong{font-family:'Baloo 2',cursive;font-size:1.05rem;color:var(--navy);}
.pass-price-row.single{justify-content:center;}
.pass-price-row.single strong{font-size:1.4rem;}
.pass-includes{list-style:none;margin-bottom:20px;}
.pass-includes li{font-size:.86rem;padding:5px 0;display:flex;align-items:flex-start;gap:8px;color:var(--text);}
.pass-includes li::before{flex-shrink:0;font-weight:800;font-size:.85rem;}
.pass-includes li.yes::before{content:'✓';color:var(--lime-d);}
.pass-includes li.no::before{content:'✗';color:#ccc;}
.pass-includes li.no{color:var(--textl);opacity:.6;}
.pass-cible{font-size:.78rem;color:var(--textl);font-style:italic;margin-bottom:16px;text-align:center;}

/* Famille */
.famille-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:start;}
@media(max-width:800px){.famille-layout{grid-template-columns:1fr;}}
.famille-card{background:white;border-radius:var(--r);padding:32px 28px;box-shadow:var(--sh);border:2px solid var(--lime);}
.famille-card.main-card{background:linear-gradient(160deg,#f0faec,white);}
.fam-header{display:flex;gap:18px;align-items:flex-start;margin-bottom:22px;}
.fam-icon{font-size:3rem;flex-shrink:0;}
.fam-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--lime-d);}
.fam-title{font-size:1.4rem;font-weight:800;color:var(--navy);margin:4px 0 6px;}
.fam-price{font-family:'Baloo 2',cursive;font-size:1.6rem;font-weight:800;color:var(--navy);}
.fam-price small{font-size:.8rem;opacity:.6;font-weight:400;}
.famille-side{display:flex;flex-direction:column;gap:18px;}
.fam-extra{background:white;border-radius:var(--r);padding:22px 20px;box-shadow:var(--sh);display:flex;gap:16px;align-items:flex-start;}
.fe-icon{font-size:2.2rem;flex-shrink:0;}
.fam-extra h4{font-size:1rem;font-weight:800;color:var(--navy);margin-bottom:4px;}
.fe-price{font-family:'Baloo 2',cursive;font-size:1.05rem;font-weight:800;color:var(--coral);margin-bottom:6px;}

/* Corporate */
.corp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:20px;margin-bottom:28px;}
.corp-card{background:white;border-radius:var(--r);padding:26px 22px;box-shadow:var(--sh);border:2px solid #eef2f8;position:relative;transition:transform .25s;}
.corp-card:hover{transform:translateY(-5px);}
.corp-card.featured{border-color:var(--aqua);background:linear-gradient(160deg,#e8f8f8,white);}
.corp-card.devis{border-color:var(--yellow);}
.corp-badge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--aqua);color:var(--navy);font-size:.7rem;font-weight:700;padding:3px 13px;border-radius:20px;white-space:nowrap;}
.corp-icon{font-size:2.2rem;margin-bottom:8px;display:block;}
.corp-price{font-family:'Baloo 2',cursive;font-size:1.4rem;font-weight:800;color:var(--navy);margin-bottom:6px;}
.corp-price small{font-size:.8rem;opacity:.5;font-weight:400;}
.corp-card h4{font-size:1rem;font-weight:800;color:var(--navy);margin-bottom:4px;}
.corp-sub{font-size:.8rem;color:var(--textl);margin-bottom:14px;}
.addons-box{background:white;border-radius:var(--r);padding:26px 28px;box-shadow:var(--sh);border-left:4px solid var(--yellow);}
.addons-box h4{font-size:1rem;font-weight:800;color:var(--navy);margin-bottom:16px;}
.addons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;}
.addon-item{font-size:.88rem;color:var(--text);display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--sand);border-radius:var(--rs);}
.addon-item span{font-weight:700;color:var(--navy);font-family:'Baloo 2',cursive;font-size:.85rem;}