*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#090909;color:#f4f0e8;font-family:Arial,Helvetica,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}.hero{min-height:88vh;background:radial-gradient(circle at 75% 20%,#7a2b18 0,transparent 28%),linear-gradient(135deg,#080808,#17110d 55%,#050505);display:flex;flex-direction:column}.nav{display:flex;align-items:center;justify-content:space-between;padding:24px 6vw;border-bottom:1px solid rgba(255,255,255,.1)}.brand{font-weight:900;letter-spacing:.16em}.brand small{display:block;color:#d5a84b;font-size:.55rem}.nav-menu{display:flex;align-items:center;gap:24px}.hero-content{max-width:850px;padding:14vh 7vw 10vh}.hero h1{font-size:clamp(3.2rem,8vw,7.5rem);line-height:.92;margin:.2em 0}.hero-content>p:not(.eyebrow){font-size:1.15rem;max-width:630px;color:#cfc8bd}.eyebrow{letter-spacing:.24em;font-size:.73rem;font-weight:800;color:#d7ad55}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border:1px solid #d7ad55;background:#d7ad55;color:#111;font-weight:800;border-radius:999px;cursor:pointer}.btn.ghost{background:transparent;color:#f4f0e8}.btn.small{padding:10px 15px;font-size:.85rem}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.section{padding:90px 7vw}.section-head h2,.split h2,.contact h2{font-size:clamp(2rem,5vw,4rem);margin:.15em 0}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:35px}.event-card{min-height:210px;padding:26px;border:1px solid rgba(255,255,255,.12);border-radius:24px;background:linear-gradient(145deg,#171717,#0e0e0e);display:flex;gap:22px;align-items:flex-end}.event-date{font-size:2.3rem;font-weight:900;color:#d7ad55}.event-day{margin:0;color:#d7ad55;text-transform:uppercase;font-size:.75rem;font-weight:800;letter-spacing:.18em}.event-card h3{font-size:1.7rem;margin:.2em 0}.event-card p:last-child{color:#aaa;margin:0}.split{display:flex;justify-content:space-between;align-items:center;gap:30px;background:#111}.contact{text-align:center}footer{text-align:center;padding:30px;color:#777;border-top:1px solid #222}.install-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,#28170e,#090909 45%)}.install-card{width:min(620px,100%);background:#121212;border:1px solid #2a2a2a;border-radius:28px;padding:34px;box-shadow:0 30px 80px rgba(0,0,0,.45)}.install-card h1{font-size:2.2rem;margin:.15em 0 1em}.install-card h1 span{color:#d7ad55}.install-card form{display:grid;gap:15px}.install-card label{display:grid;gap:7px;font-weight:700;color:#d7d1c7}.install-card input{width:100%;padding:14px 15px;background:#0b0b0b;border:1px solid #353535;color:#fff;border-radius:12px;font:inherit}.install-card hr{width:100%;border:0;border-top:1px solid #2d2d2d;margin:10px 0}.notice{padding:14px;border-radius:12px;margin:15px 0}.notice.success{background:#102718;color:#9be5b0}.notice.error{background:#321515;color:#ffb0b0}.check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.check input{width:auto}.admin-body{background:#0b0b0b}.admin-top{display:flex;justify-content:space-between;align-items:center;padding:26px 5vw;border-bottom:1px solid #242424}.admin-top h1{margin:0}.admin-main{padding:40px 5vw}.admin-card{background:#121212;border:1px solid #262626;border-radius:24px;padding:28px}.admin-title{display:flex;justify-content:space-between;align-items:center}.admin-title h2{font-size:2.2rem;margin:.1em 0}.admin-list{display:grid;margin-top:20px}.admin-row{display:grid;grid-template-columns:130px 1fr 1fr;gap:18px;padding:17px 0;border-top:1px solid #292929}.admin-row span{color:#aaa}@media(max-width:800px){.nav-menu>a:not(.btn){display:none}.event-grid{grid-template-columns:1fr}.split{align-items:flex-start;flex-direction:column}.admin-row{grid-template-columns:1fr}.hero{min-height:76vh}}.public-event-grid{align-items:stretch}.public-event-card{background:#111;border:1px solid rgba(255,255,255,.12);border-radius:24px;overflow:hidden}.public-event-image{height:330px;position:relative;background:#171717}.public-event-image img{width:100%;height:100%;object-fit:cover}.public-placeholder{height:100%;display:grid;place-items:center;color:#d7ad55;font-weight:900;letter-spacing:.18em}.public-date{position:absolute;top:15px;right:15px;background:#d7ad55;color:#111;border-radius:999px;padding:8px 12px;font-weight:900}.public-event-body{padding:22px}.public-event-body h3{font-size:1.8rem;margin:.25em 0}.artist-line{color:#bbb;margin:.2em 0}.event-description{color:#999}.event-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.event-tags span{border:1px solid #3b3323;background:#17130c;color:#e0bd70;border-radius:999px;padding:7px 10px;font-size:.8rem;font-weight:800}@media(max-width:800px){.public-event-image{height:420px}}

/* V0.3.1 — programme hebdomadaire public */
.events-section{background:linear-gradient(180deg,#090909 0%,#0d0d0d 100%)}
.public-event-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:stretch}
.public-event-card{position:relative;display:flex;flex-direction:column;background:linear-gradient(155deg,#171717,#0d0d0d);border:1px solid rgba(215,173,85,.22);border-radius:28px;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.3);transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}
.public-event-card:hover{transform:translateY(-8px);border-color:rgba(215,173,85,.7);box-shadow:0 28px 70px rgba(0,0,0,.5),0 0 30px rgba(215,173,85,.08)}
.public-event-image{height:auto;aspect-ratio:1/1;overflow:hidden;background:#171717}
.public-event-image img{transition:transform .45s ease}
.public-event-card:hover .public-event-image img{transform:scale(1.035)}
.public-date{top:18px;right:18px;padding:9px 14px;letter-spacing:.05em;box-shadow:0 8px 25px rgba(0,0,0,.35)}
.public-event-body{display:flex;flex:1;flex-direction:column;padding:25px 25px 27px}
.public-event-body h3{font-size:clamp(1.7rem,2.2vw,2.2rem);line-height:1.1;margin:.28em 0}
.artist-line{font-size:1.1rem;color:#f5ead2;margin:.35em 0 .15em;text-transform:uppercase;letter-spacing:.04em}
.event-time{margin:.25em 0;color:#d7ad55;font-weight:800}
.event-description{color:#aaa;margin:.8em 0 0}
.event-tags{margin-top:auto;padding-top:20px}
.event-action{display:flex;align-items:center;justify-content:center;margin-top:18px;padding:12px 16px;border-radius:999px;background:#d7ad55;color:#111;font-weight:900;transition:filter .2s ease,transform .2s ease}
.event-action:hover{filter:brightness(1.08);transform:scale(1.01)}
.public-empty{margin-top:35px;padding:35px;border:1px solid #292929;border-radius:24px;background:#111;color:#aaa;text-align:center}
@media(max-width:1050px){.public-event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.public-event-grid{grid-template-columns:1fr;gap:22px}.public-event-image{height:auto;aspect-ratio:1/1}.public-event-body{padding:22px}}

/* V0.5 galerie publique */
.public-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.public-gallery figure{position:relative;margin:0;height:260px;overflow:hidden;border-radius:18px;background:#151515}.public-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.public-gallery figure:hover img{transform:scale(1.06)}.public-gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 14px 14px;background:linear-gradient(transparent,rgba(0,0,0,.88));font-weight:800}@media(max-width:980px){.public-gallery{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.public-gallery{grid-template-columns:1fr}.public-gallery figure{height:320px}}

/* V0.6 réservation */
.reservation-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start;background:linear-gradient(135deg,#111,#0b0b0b)}.reservation-intro{position:sticky;top:40px}.reservation-intro h2{font-size:clamp(2.4rem,5vw,4.5rem);line-height:1;margin:.2em 0}.reservation-intro p:last-child{color:#aaa;max-width:520px}.reservation-card{background:#151515;border:1px solid rgba(215,173,85,.25);border-radius:28px;padding:30px;box-shadow:0 24px 70px rgba(0,0,0,.28)}.reservation-form{display:grid;gap:18px}.reservation-form label{display:grid;gap:8px;font-weight:800;color:#ddd}.reservation-form input,.reservation-form select,.reservation-form textarea{width:100%;border:1px solid #373737;border-radius:13px;background:#090909;color:#fff;padding:14px;font:inherit}.reservation-form textarea{resize:vertical}.reservation-form select{appearance:auto}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row.three{grid-template-columns:1fr 1fr .7fr}.reservation-submit{width:100%;border:0;margin-top:4px}.reservation-form>small{color:#777;text-align:center}.form-notice{padding:16px;border-radius:13px;margin-bottom:18px}.form-notice.success{background:#13351f;color:#a4eab5}.form-notice.error{background:#3a1717;color:#ffb2b2}@media(max-width:900px){.reservation-section{grid-template-columns:1fr}.reservation-intro{position:static}.form-row,.form-row.three{grid-template-columns:1fr}}@media(max-width:560px){.reservation-card{padding:20px;border-radius:20px}}

/* V0.8 — accueil animé */
.hero{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 72% 18%,rgba(210,91,38,.34),transparent 28%),radial-gradient(circle at 18% 72%,rgba(215,173,85,.13),transparent 32%),linear-gradient(135deg,#050505,#18100c 55%,#050505)}
.hero:after{content:"";position:absolute;inset:auto -15% -45% 35%;height:70%;background:radial-gradient(ellipse,rgba(215,173,85,.16),transparent 65%);filter:blur(20px);z-index:-1;animation:heroPulse 7s ease-in-out infinite}
.hero-grid{position:absolute;inset:0;z-index:-2;opacity:.13;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,black,transparent 88%)}
.hero-orb{position:absolute;border-radius:50%;filter:blur(8px);z-index:-1;opacity:.5;pointer-events:none}
.hero-orb-one{width:380px;height:380px;right:8%;top:18%;background:radial-gradient(circle,rgba(225,118,50,.42),rgba(225,118,50,0) 68%);animation:floatOrb 9s ease-in-out infinite}
.hero-orb-two{width:250px;height:250px;left:8%;bottom:8%;background:radial-gradient(circle,rgba(215,173,85,.22),rgba(215,173,85,0) 70%);animation:floatOrb 11s ease-in-out infinite reverse}
.nav{position:relative;z-index:5;background:linear-gradient(to bottom,rgba(0,0,0,.45),transparent);backdrop-filter:blur(8px)}
.brand-logo{display:flex;align-items:center;gap:12px}.brand-sun{display:grid;place-items:center;width:43px;height:43px;border:1px solid rgba(215,173,85,.55);border-radius:50%;color:#d7ad55;box-shadow:0 0 25px rgba(215,173,85,.17);animation:logoGlow 3.2s ease-in-out infinite}
.hero-content{position:relative;z-index:2}.hero h1 span{color:#d7ad55;text-shadow:0 0 35px rgba(215,173,85,.18)}
.next-event-strip{margin-top:45px;max-width:760px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border:1px solid rgba(215,173,85,.35);border-radius:20px;background:rgba(10,10,10,.62);backdrop-filter:blur(12px);box-shadow:0 20px 60px rgba(0,0,0,.28)}
.next-event-strip>div:first-child{display:grid;gap:4px}.next-event-strip small{font-size:.67rem;letter-spacing:.16em;color:#d7ad55;font-weight:900}.next-event-strip strong{font-size:1.05rem;text-transform:uppercase}
.countdown{display:flex;align-items:baseline;gap:6px;white-space:nowrap}.countdown span{font-size:1.55rem;font-weight:900;color:#fff}.countdown small{font-size:.6rem;margin-right:4px}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .75s ease}.reveal.is-visible{opacity:1;transform:none}.public-event-card.reveal:nth-child(2){transition-delay:.08s}.public-event-card.reveal:nth-child(3){transition-delay:.16s}.public-event-card.reveal:nth-child(4){transition-delay:.24s}
.btn{transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(215,173,85,.18);filter:brightness(1.06)}
@keyframes floatOrb{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-18px,22px,0) scale(1.06)}}
@keyframes logoGlow{0%,100%{box-shadow:0 0 18px rgba(215,173,85,.12)}50%{box-shadow:0 0 34px rgba(215,173,85,.38)}}
@keyframes heroPulse{0%,100%{opacity:.65;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}
@media(max-width:760px){.brand-sun{width:38px;height:38px}.next-event-strip{align-items:flex-start;flex-direction:column}.hero-content{padding-top:10vh}.countdown span{font-size:1.35rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-orb,.hero:after,.brand-sun{animation:none}.reveal{opacity:1;transform:none;transition:none}}

/* V1.3 — finition premium publique */
body{overflow-x:hidden}.premium-hero{min-height:100svh}.hero-cover{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.72) 44%,rgba(0,0,0,.3) 100%),linear-gradient(0deg,rgba(0,0,0,.82),transparent 52%)}.has-cover .hero-cover{background-image:linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.74) 45%,rgba(0,0,0,.28) 100%),linear-gradient(0deg,rgba(0,0,0,.85),transparent 55%),var(--hero-cover);background-size:cover;background-position:center;animation:heroZoom 18s ease-in-out infinite alternate}.premium-nav{padding-top:20px;padding-bottom:20px}.menu-toggle{display:none;border:0;background:transparent;color:#fff;cursor:pointer}.menu-toggle span{display:block;width:25px;height:2px;margin:5px;background:#d7ad55}.menu-toggle b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.premium-hero .hero-content{padding-top:13vh;max-width:980px}.premium-hero h1{font-size:clamp(3.3rem,8.5vw,8rem);max-width:1000px;letter-spacing:-.055em}.premium-hero .hero-content>p:not(.eyebrow){font-size:clamp(1rem,1.55vw,1.28rem);max-width:670px}.scroll-cue{position:absolute;right:6vw;bottom:30px;z-index:4;display:flex;align-items:center;gap:12px;color:#aaa;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase}.scroll-cue span{display:block;width:1px;height:48px;background:linear-gradient(#d7ad55,transparent);animation:scrollLine 1.7s ease-in-out infinite}.programme-ticker{overflow:hidden;border-top:1px solid rgba(215,173,85,.22);border-bottom:1px solid rgba(215,173,85,.22);background:#d7ad55;color:#111}.ticker-track{display:flex;width:max-content;animation:ticker 28s linear infinite}.ticker-track span{padding:12px 28px;white-space:nowrap;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em}.ticker-track b{margin-right:8px}.premium-section-head{display:flex;justify-content:space-between;align-items:end;gap:40px}.premium-section-head>p{max-width:430px;color:#8e8e8e}.public-event-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.event-overlay-label{position:absolute;left:18px;bottom:16px;padding:7px 10px;background:rgba(0,0,0,.72);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.17);border-radius:999px;font-size:.7rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.experience-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;background:radial-gradient(circle at 5% 45%,rgba(215,173,85,.1),transparent 32%),#0d0d0d}.experience-copy{align-self:center}.experience-copy h2{font-size:clamp(2.8rem,6vw,5.4rem);line-height:.94;margin:.2em 0}.experience-copy>p:not(.eyebrow){color:#aaa;max-width:530px;font-size:1.05rem}.text-link{display:inline-flex;gap:12px;margin-top:18px;color:#d7ad55;font-weight:900}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.experience-card{position:relative;min-height:260px;padding:27px;border:1px solid rgba(255,255,255,.1);border-radius:24px;background:linear-gradient(145deg,#171717,#0b0b0b);overflow:hidden;transition:.3s ease}.experience-card:hover{transform:translateY(-6px);border-color:rgba(215,173,85,.5)}.experience-card>span{position:absolute;top:20px;right:22px;color:#555;font-weight:900}.experience-icon{font-size:2.1rem;margin:22px 0}.experience-card h3{font-size:1.45rem;margin:.3em 0}.experience-card p{color:#999;margin-bottom:0}.premium-gallery{grid-template-columns:repeat(4,1fr);grid-auto-rows:235px}.premium-gallery figure{height:auto}.premium-gallery .gallery-featured{grid-column:span 2;grid-row:span 2}.gallery-open{width:100%;height:100%;padding:0;border:0;background:#111;color:#fff;cursor:zoom-in}.gallery-plus{position:absolute;top:15px;right:15px;width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:rgba(0,0,0,.4);font-size:1.5rem;opacity:0;transition:.25s}.gallery-item:hover .gallery-plus{opacity:1}.lightbox{position:fixed;inset:0;z-index:1000;display:none;place-items:center;background:rgba(0,0,0,.94);padding:60px}.lightbox.is-open{display:grid}.lightbox figure{margin:0;max-width:min(1200px,90vw);max-height:85vh;text-align:center}.lightbox img{max-width:100%;max-height:78vh;object-fit:contain;border-radius:12px}.lightbox figcaption{margin-top:12px;color:#ccc}.lightbox button{position:absolute;border:0;background:rgba(255,255,255,.1);color:#fff;cursor:pointer}.lightbox-close{top:22px;right:26px;width:48px;height:48px;border-radius:50%;font-size:2rem}.lightbox-prev,.lightbox-next{top:50%;width:52px;height:72px;border-radius:12px;font-size:2.7rem}.lightbox-prev{left:25px}.lightbox-next{right:25px}.reservation-points{display:grid;gap:9px;margin-top:25px;color:#d4c4a0}.premium-contact{display:grid;grid-template-columns:.8fr 1.2fr;text-align:left;gap:60px;background:radial-gradient(circle at 15% 50%,rgba(215,173,85,.12),transparent 35%),#090909}.contact-main h2 span{color:#d7ad55}.contact-main>p:last-child{color:#888}.contact-actions{display:grid;border-top:1px solid #292929}.contact-actions a{display:grid;grid-template-columns:1fr 2fr auto;align-items:center;gap:20px;padding:24px 0;border-bottom:1px solid #292929;transition:.25s}.contact-actions a:hover{padding-left:12px;color:#d7ad55}.contact-actions small{letter-spacing:.15em;color:#777}.contact-actions strong{font-size:1.1rem}.contact-actions span{font-size:1.5rem}.premium-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:32px 6vw}.premium-footer .brand-logo{justify-self:start}.premium-footer p{margin:0;color:#777}.premium-footer>span{justify-self:end;color:#777}
@keyframes ticker{to{transform:translateX(-50%)}}@keyframes scrollLine{0%,100%{opacity:.3;transform:scaleY(.6);transform-origin:top}50%{opacity:1;transform:scaleY(1)}}@keyframes heroZoom{from{background-size:auto,auto,cover}to{background-size:auto,auto,108%}}
@media(max-width:1180px){.public-event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.premium-gallery{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.menu-toggle{display:block;position:relative;z-index:20}.premium-nav .nav-menu{position:absolute;top:100%;left:4vw;right:4vw;display:none;flex-direction:column;align-items:stretch;gap:0;padding:14px;border:1px solid #333;border-radius:18px;background:rgba(8,8,8,.97);box-shadow:0 25px 60px rgba(0,0,0,.5)}.premium-nav .nav-menu.is-open{display:flex}.premium-nav .nav-menu>a{display:block!important;padding:13px 14px}.premium-nav .nav-menu .btn{margin-top:5px}.experience-section,.premium-contact{grid-template-columns:1fr}.experience-grid{grid-template-columns:1fr 1fr}.premium-gallery{grid-template-columns:repeat(2,1fr)}.premium-footer{grid-template-columns:1fr;text-align:center}.premium-footer .brand-logo,.premium-footer>span{justify-self:center}.scroll-cue{display:none}}
@media(max-width:650px){.premium-nav{padding-left:5vw;padding-right:5vw}.brand{letter-spacing:.11em;font-size:.85rem}.premium-hero .hero-content{padding:10vh 6vw 12vh}.premium-hero h1{font-size:clamp(3.1rem,17vw,5rem)}.next-event-strip{margin-top:30px}.premium-section-head{align-items:flex-start;flex-direction:column;gap:8px}.section{padding:72px 6vw}.public-event-grid{grid-template-columns:1fr}.experience-grid{grid-template-columns:1fr}.experience-card{min-height:210px}.premium-gallery{grid-template-columns:1fr;grid-auto-rows:300px}.premium-gallery .gallery-featured{grid-column:auto;grid-row:auto}.lightbox{padding:70px 15px}.lightbox-prev,.lightbox-next{top:auto;bottom:18px;height:48px}.contact-actions a{grid-template-columns:1fr auto}.contact-actions small{grid-column:1/-1}.premium-footer{padding:28px 6vw}.programme-ticker .ticker-track{animation-duration:20s}}

/* V1.4 — Accueil Neon Gold inspiré du visuel Costa do Sol */
.luxury-home{background:#030303;color:#fff}.luxury-home main{background:radial-gradient(circle at 50% 0,#1b0b22 0,transparent 35%),#030303}.luxury-hero{position:relative;min-height:710px;overflow:hidden;border-bottom:1px solid #c69322;background:#050505}.luxury-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.35) contrast(1.08)}.luxury-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.34) 48%,rgba(0,0,0,.18) 72%,rgba(0,0,0,.58) 100%),linear-gradient(0deg,#030303 0%,transparent 32%)}.luxury-nav{position:relative;z-index:10;border-bottom:1px solid rgba(236,179,52,.45);background:rgba(0,0,0,.72);backdrop-filter:blur(14px)}.luxury-nav .nav-menu a{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.luxury-hero-inner{position:relative;z-index:3;width:min(1420px,94%);margin:auto;padding:150px 0 130px}.luxury-script{font-family:cursive;font-size:clamp(1.6rem,3vw,3.4rem);font-style:italic;margin:0 0 -12px 70px;text-shadow:0 2px 12px #000}.luxury-hero h1{font-family:Georgia,serif;font-size:clamp(5rem,10vw,10.5rem);line-height:.72;margin:0;letter-spacing:-.055em;background:linear-gradient(#fff8b3 0,#f9bf37 22%,#8e4800 52%,#ffda5f 72%,#7d3800 100%);-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 0 12px rgba(255,170,0,.62));max-width:760px}.by-jos{font-family:cursive;font-size:clamp(2.5rem,5vw,5rem);color:#ffc728;margin:-6px 0 -6px 185px;transform:rotate(-4deg);text-shadow:0 0 18px #ad5d00}.luxury-kicker{letter-spacing:.55em;color:#efb52e;font-weight:700;margin-left:90px}.luxury-hero .hero-actions{margin-left:45px}.luxury-hero .btn{min-width:240px;display:inline-flex;flex-direction:column;align-items:flex-start;box-shadow:0 0 24px rgba(230,164,30,.18)}.luxury-hero .btn small{font-size:.65rem;margin-top:3px}.luxury-countdown{position:absolute;z-index:5;right:5%;bottom:52px;width:300px;padding:16px;border:1px solid #f058df;border-radius:12px;background:rgba(10,0,14,.82);box-shadow:0 0 24px rgba(238,54,218,.35);text-align:center}.luxury-countdown>b{color:#fb75e8}.luxury-countdown .countdown{display:grid;grid-template-columns:repeat(6,auto);align-items:end;justify-content:center;gap:8px}.luxury-countdown .countdown span{font-family:Georgia,serif;font-size:2.2rem;color:#ffbd3c;text-shadow:0 0 10px #c34a00}.luxury-countdown .countdown small{font-size:.5rem;color:#eee;margin-bottom:6px}.beam{position:absolute;z-index:2;top:-35%;width:8px;height:150%;background:linear-gradient(transparent,rgba(143,92,255,.55),transparent);filter:blur(5px);transform-origin:top;animation:beamSweep 7s ease-in-out infinite alternate}.beam-a{left:72%;transform:rotate(20deg)}.beam-b{left:84%;transform:rotate(-18deg);animation-delay:-3s;background:linear-gradient(transparent,rgba(28,161,255,.55),transparent)}@keyframes beamSweep{to{transform:rotate(-22deg)}}
.compact-section{width:min(1480px,96%);margin:auto;padding:18px 0}.ornament-title{display:flex;align-items:center;gap:18px;justify-content:center;color:#f2bd3d}.ornament-title span{height:1px;flex:1;background:linear-gradient(90deg,transparent,#c98b17)}.ornament-title span:last-child{background:linear-gradient(90deg,#c98b17,transparent)}.ornament-title h2{font-size:1rem;letter-spacing:.23em}.luxury-event-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.luxury-event-card{border:1px solid #bd861b;border-radius:14px;overflow:hidden;background:#080808;transition:.35s}.luxury-event-card:hover{transform:translateY(-8px);box-shadow:0 10px 35px rgba(255,166,0,.24)}.luxury-event-card>a{color:#fff;text-decoration:none}.luxury-event-image{height:265px;position:relative;overflow:hidden}.luxury-event-image img{width:100%;height:100%;object-fit:cover;transition:.5s}.luxury-event-card:hover img{transform:scale(1.08)}.luxury-card-shade{position:absolute;inset:0;background:linear-gradient(transparent 25%,rgba(0,0,0,.9))}.luxury-day{position:absolute;z-index:2;top:0;left:50%;transform:translateX(-50%);padding:5px 28px;border-radius:0 0 10px 10px;background:#b62bd5;box-shadow:0 0 20px #d23af4;font-weight:800;text-transform:uppercase}.luxury-event-card:nth-child(2) .luxury-day{background:#d75d00;box-shadow:0 0 20px #ef7c19}.luxury-event-card:nth-child(3) .luxury-day{background:#0076df;box-shadow:0 0 20px #208aff}.luxury-event-card:nth-child(4) .luxury-day{background:#e38700;box-shadow:0 0 20px #ff9f13}.luxury-event-copy{position:absolute;z-index:2;left:18px;right:18px;bottom:12px}.luxury-event-copy h3{font-size:1.6rem;margin:.1em 0;color:#fff}.luxury-event-copy strong{color:#ffc43b}.luxury-event-copy p{margin:.35em 0 0;font-size:.78rem}.luxury-event-card footer{padding:10px 15px;display:flex;justify-content:space-between;color:#efb935;font-size:.8rem}.luxury-features{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.luxury-features article{display:flex;gap:14px;align-items:center;border:1px solid #a87418;border-radius:12px;padding:14px 18px;background:linear-gradient(100deg,#0a0a0a,#170c02)}.feature-icon{font-size:2.5rem;color:#f6bd35}.luxury-features h3{margin:0;color:#eeb732;font-size:.92rem}.luxury-features p{margin:4px 0 0;font-size:.76rem;color:#ddd}.luxury-gallery-section{display:grid;grid-template-columns:210px 1fr;gap:12px}.gallery-intro{border:1px solid #9d6e17;border-radius:14px;padding:18px;background:#080808}.gallery-intro h2{font-family:cursive;color:#fff;font-size:1.6rem}.luxury-gallery{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(180px,1fr);gap:7px;overflow-x:auto}.luxury-gallery button,.demo-gallery img{height:160px;border:1px solid #b57e17;border-radius:10px;overflow:hidden;background:#111;padding:0;position:relative}.luxury-gallery img{width:100%;height:100%;object-fit:cover}.luxury-gallery button span{position:absolute;right:8px;bottom:8px;width:30px;height:30px;border-radius:50%;background:#d79c1b;color:#000;font-size:1.5rem}.luxury-reservation{display:grid;grid-template-columns:.75fr 1.25fr;gap:20px;border-top:1px solid #b67d17;margin-top:18px;padding-top:34px}.luxury-reservation .reservation-intro h2{font-family:Georgia,serif;color:#f1bd3d;font-size:2.5rem}.quick-contact{display:flex;gap:10px;flex-wrap:wrap}.quick-contact a{border:1px solid #b68421;padding:10px 15px;border-radius:9px;color:#ffc23a;text-decoration:none}.luxury-info-bar{display:grid;grid-template-columns:repeat(7,1fr);gap:0;border-top:1px solid #9f6f18;border-bottom:1px solid #9f6f18;background:#070707}.luxury-info-bar span{padding:15px 10px;text-align:center;border-right:1px solid #5c4318;font-size:.72rem}.luxury-footer{border-top:0;background:radial-gradient(circle at 50% 0,#351900,#050505 55%)}.luxury-footer p{font-family:cursive;color:#f0b92d;font-size:1.6rem}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:950px){.luxury-hero{min-height:780px}.luxury-hero-inner{padding-top:150px}.luxury-hero h1{font-size:clamp(4.5rem,18vw,8rem)}.by-jos{margin-left:80px}.luxury-countdown{left:5%;right:5%;bottom:20px;width:auto}.luxury-event-grid,.luxury-features{grid-template-columns:repeat(2,1fr)}.luxury-gallery-section,.luxury-reservation{grid-template-columns:1fr}.luxury-info-bar{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.luxury-hero{min-height:720px}.luxury-video{filter:saturate(1.35) brightness(.72)}.luxury-hero-inner{padding:130px 0 145px}.luxury-script{font-size:1.45rem;margin-left:10px}.luxury-hero h1{font-size:4.7rem}.by-jos{font-size:2.9rem;margin-left:85px}.luxury-kicker{margin-left:10px;letter-spacing:.28em}.luxury-hero .hero-actions{margin-left:0;display:grid}.luxury-hero .btn{min-width:0;width:100%}.luxury-event-grid,.luxury-features{grid-template-columns:1fr}.luxury-event-image{height:330px}.luxury-info-bar{grid-template-columns:1fr}.luxury-info-bar span{border-bottom:1px solid #3f2f14}.ornament-title h2{text-align:center;font-size:.78rem}.luxury-countdown .countdown span{font-size:1.7rem}}

/* V1.5 — Hero statique + galerie automatique */
.luxury-static-hero{position:absolute;inset:0;background-image:url('/assets/img/costa-hero-static.png');background-size:cover;background-position:center top;filter:saturate(1.1) contrast(1.03);transform:scale(1.015);animation:staticHeroBreath 18s ease-in-out infinite alternate}
@keyframes staticHeroBreath{from{transform:scale(1.015)}to{transform:scale(1.055)}}
.luxury-gallery{scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;cursor:grab}
.luxury-gallery::-webkit-scrollbar{display:none}
.luxury-gallery.is-dragging{cursor:grabbing;scroll-behavior:auto}
@media(max-width:560px){.luxury-static-hero{background-position:58% top;animation:none;transform:none}}
@media(prefers-reduced-motion:reduce){.luxury-static-hero{animation:none}.luxury-gallery{scroll-behavior:auto}}

/* V1.6 — le haut est uniquement l'image validée, sans aucun calque superposé */
.static-showcase-hero{
  width:100%;
  margin:0;
  padding:0;
  background:#000;
  line-height:0;
  overflow:hidden;
}
.static-showcase-hero img{
  display:block;
  width:100%;
  height:auto;
  max-width:none;
  object-fit:contain;
}

/* Galerie en défilement horizontal réellement continu */
.luxury-gallery-section{
  overflow:hidden;
}
.gallery-marquee{
  min-width:0;
  overflow:hidden;
  border-radius:12px;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 3%,#000 97%,transparent 100%);
  mask-image:linear-gradient(to right,transparent 0,#000 3%,#000 97%,transparent 100%);
}
.gallery-track{
  display:flex;
  width:max-content;
  gap:8px;
  will-change:transform;
  animation:costaGalleryFlow 38s linear infinite;
}
.gallery-track .gallery-open{
  flex:0 0 clamp(190px,20vw,310px);
  width:clamp(190px,20vw,310px);
  height:175px;
  border:1px solid #b57e17;
  border-radius:10px;
  overflow:hidden;
  background:#111;
  padding:0;
  position:relative;
  cursor:pointer;
}
.gallery-track .gallery-open img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease,filter .45s ease;
}
.gallery-track .gallery-open:hover img{transform:scale(1.06);filter:brightness(1.08)}
.gallery-track .gallery-open span{
  position:absolute;
  right:8px;
  bottom:8px;
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:#d79c1b;
  color:#000;
  font-size:1.5rem;
  line-height:1;
}
@keyframes costaGalleryFlow{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(calc(-50% - 4px),0,0)}
}
@media(max-width:950px){
  .static-showcase-hero img{min-height:0}
  .luxury-gallery-section{grid-template-columns:1fr}
  .gallery-track{animation-duration:30s}
}
@media(max-width:560px){
  .gallery-track .gallery-open{flex-basis:240px;width:240px;height:155px}
  .gallery-track{animation-duration:26s}
}
@media(prefers-reduced-motion:reduce){
  .gallery-track{animation-play-state:paused}
}

/* V1.8 — HERO reconstruit en HTML/CSS : même ambiance, tous les éléments sont fonctionnels */
.functional-hero{position:relative;min-height:760px;overflow:hidden;background:#020202;border-bottom:1px solid #a97215;color:#fff}
.hero-bg{position:absolute;inset:72px 0 0;background-image:url('/assets/img/hero-club-bg.jpg');background-size:cover;background-position:center center;filter:saturate(1.08) contrast(1.05);transform:scale(1.02);animation:heroBreath 16s ease-in-out infinite alternate}
.hero-vignette{position:absolute;inset:72px 0 0;background:linear-gradient(90deg,rgba(0,0,0,.93) 0%,rgba(0,0,0,.72) 28%,rgba(0,0,0,.28) 52%,rgba(0,0,0,.12) 72%,rgba(0,0,0,.46) 100%),linear-gradient(0deg,#020202 0,transparent 34%),radial-gradient(circle at 28% 40%,rgba(126,44,150,.25),transparent 30%)}
.hero-nav{position:relative;z-index:20;height:72px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;padding:0 2.4vw;background:rgba(0,0,0,.94);border-bottom:1px solid rgba(235,174,38,.55);backdrop-filter:blur(12px)}
.hero-brand{display:flex;align-items:center;gap:10px;color:#eeb833;min-width:300px}.hero-brand-sun{font-size:2.7rem;line-height:1;filter:drop-shadow(0 0 8px rgba(255,186,40,.3))}.hero-brand b{display:block;font-family:Georgia,serif;font-size:1.5rem;letter-spacing:.04em}.hero-brand small{display:block;margin-top:-4px;font-family:cursive;font-size:1.05rem;text-align:center;color:#ffd35a}
.hero-menu{display:flex;align-items:center;justify-content:center;gap:clamp(18px,2.6vw,42px)}.hero-menu a{position:relative;padding:27px 0 22px;text-transform:uppercase;font-size:.78rem;letter-spacing:.06em;color:#eee;transition:color .25s}.hero-menu a:hover,.hero-menu a.active{color:#f3bd3b}.hero-menu a.active:after{content:"";position:absolute;left:50%;bottom:0;width:8px;height:8px;border-radius:50%;background:#ffc63f;transform:translateX(-50%);box-shadow:0 0 14px 5px rgba(255,176,28,.55)}
.hero-socials{display:flex;gap:12px}.hero-socials a{display:grid;place-items:center;width:34px;height:34px;border:1px solid #b77c16;border-radius:50%;color:#ffc83d;font-weight:900;transition:.25s}.hero-socials a:hover{background:#e6a923;color:#070707;transform:translateY(-2px);box-shadow:0 0 16px rgba(241,175,30,.5)}
.menu-toggle{display:none;width:42px;height:38px;border:1px solid #a9781b;background:#080808;border-radius:8px;padding:8px;cursor:pointer}.menu-toggle span{display:block;height:2px;background:#f0b72e;margin:5px 0}
.hero-copy{position:relative;z-index:6;width:min(1450px,94%);margin:auto;padding:104px 0 150px}.hero-script{margin:0 0 -14px 80px;font-family:cursive;font-size:clamp(1.8rem,3.2vw,3.5rem);font-style:italic;text-shadow:0 3px 12px #000}.hero-copy h1{width:max-content;margin:0;font-family:Georgia,serif;font-size:clamp(5.2rem,9.6vw,10.2rem);line-height:.72;letter-spacing:-.055em;background:linear-gradient(180deg,#fff5ac 0%,#ffd457 16%,#b86600 47%,#ffe16a 69%,#7b3600 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 12px rgba(255,165,0,.48));text-transform:uppercase}.hero-copy h1 span{display:block}.hero-signature{margin:-10px 0 -6px 180px;font-family:cursive;font-size:clamp(2.6rem,5vw,5.2rem);color:#ffc62f;transform:rotate(-4deg);text-shadow:0 0 15px rgba(196,97,0,.8)}.hero-kicker{margin:0 0 0 95px;color:#eebb38;font-weight:800;letter-spacing:.5em}.hero-kicker i{font-style:normal;margin:0 .3em}
.hero-actions{display:flex;gap:16px;margin:28px 0 0 72px}.hero-btn{min-width:260px;display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;align-items:center;padding:12px 17px;border:1px solid;border-radius:10px;background:rgba(4,4,4,.76);backdrop-filter:blur(7px);text-transform:uppercase;transition:.25s}.hero-btn>span{grid-row:1/3;font-size:1.5rem}.hero-btn b{font-size:.84rem}.hero-btn small{font-size:.66rem;margin-top:2px}.hero-btn.gold{border-color:#c88a16;color:#f6c343}.hero-btn.pink{border-color:#e857d7;color:#f6e5f4}.hero-btn:hover{transform:translateY(-3px);box-shadow:0 0 24px rgba(242,175,30,.28);background:rgba(15,11,3,.9)}.hero-btn.pink:hover{box-shadow:0 0 24px rgba(232,77,216,.35)}
.hero-countdown{position:absolute;z-index:8;right:4.5%;bottom:68px;width:340px;padding:15px 18px;border:1px solid #df58d7;border-radius:12px;background:rgba(8,1,12,.86);box-shadow:0 0 28px rgba(225,50,211,.25);text-align:center;backdrop-filter:blur(8px)}.hero-countdown>b{display:block;margin-bottom:8px;color:#f27de8;letter-spacing:.04em}.countdown-values{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;align-items:end}.countdown-values span{font-family:Georgia,serif;font-size:2.35rem;line-height:1;color:#ffbd43;text-shadow:0 0 12px rgba(255,100,0,.45)}.countdown-values small{font-size:.5rem;color:#f5f5f5}.countdown-values span:nth-of-type(1){grid-column:1}.countdown-values small:nth-of-type(1){grid-column:1}.countdown-values span:nth-of-type(2){grid-column:2;grid-row:1}.countdown-values small:nth-of-type(2){grid-column:2;grid-row:2}.countdown-values span:nth-of-type(3){grid-column:3;grid-row:1}.countdown-values small:nth-of-type(3){grid-column:3;grid-row:2}.countdown-values span:nth-of-type(4){grid-column:4;grid-row:1}.countdown-values small:nth-of-type(4){grid-column:4;grid-row:2}
.hero-scroll{position:absolute;z-index:7;left:50%;bottom:10px;transform:translateX(-50%);font-size:2rem;color:#edb637;animation:heroBounce 1.8s ease-in-out infinite}
.hero-beam{position:absolute;z-index:3;top:50px;width:7px;height:760px;transform-origin:top;background:linear-gradient(transparent,rgba(101,92,255,.5),transparent);filter:blur(6px);opacity:.55}.beam-one{right:22%;transform:rotate(22deg);animation:beamOne 7s ease-in-out infinite alternate}.beam-two{right:8%;transform:rotate(-18deg);background:linear-gradient(transparent,rgba(27,172,255,.48),transparent);animation:beamTwo 8s ease-in-out infinite alternate}
@keyframes heroBreath{to{transform:scale(1.055)}}@keyframes heroBounce{50%{transform:translate(-50%,8px)}}@keyframes beamOne{to{transform:rotate(-16deg)}}@keyframes beamTwo{to{transform:rotate(18deg)}}
@media(max-width:1100px){.hero-nav{grid-template-columns:auto auto auto}.hero-brand{min-width:0}.hero-menu{position:absolute;top:72px;left:0;right:0;display:none;flex-direction:column;gap:0;background:rgba(0,0,0,.98);border-bottom:1px solid #9f6e17}.hero-menu.is-open{display:flex}.hero-menu a{width:100%;padding:14px 24px;text-align:center;border-top:1px solid #171717}.menu-toggle{display:block;justify-self:center}.hero-socials{justify-self:end}.hero-copy{padding-top:120px}.hero-countdown{right:3%;bottom:50px}.hero-copy h1{font-size:clamp(5rem,12vw,8.5rem)}}
@media(max-width:760px){.functional-hero{min-height:820px}.hero-bg,.hero-vignette{inset:66px 0 0}.hero-bg{background-position:62% center}.hero-nav{height:66px;padding:0 14px;gap:10px}.hero-brand-sun{font-size:2rem}.hero-brand b{font-size:1rem}.hero-brand small{font-size:.8rem}.hero-socials a:nth-child(-n+2){display:none}.hero-copy{padding:105px 18px 220px;text-align:left}.hero-script{margin-left:0;font-size:1.65rem}.hero-copy h1{font-size:clamp(4.1rem,20vw,6.2rem)}.hero-signature{margin-left:70px;font-size:3rem}.hero-kicker{margin-left:0;letter-spacing:.25em;font-size:.75rem}.hero-actions{display:grid;margin-left:0}.hero-btn{width:100%;min-width:0}.hero-countdown{left:18px;right:18px;bottom:54px;width:auto}.countdown-values span{font-size:1.8rem}.hero-beam{display:none}}
@media(max-width:430px){.hero-brand span:last-child{display:none}.functional-hero{min-height:790px}.hero-copy h1{font-size:4.2rem}.hero-signature{margin-left:46px}.hero-countdown{padding:13px 10px}.countdown-values span{font-size:1.55rem}}
@media(prefers-reduced-motion:reduce){.hero-bg,.hero-scroll,.hero-beam{animation:none}}

/* V1.9 — correction hero : masque les éléments imprimés dans l'ancienne image */
.functional-hero::before{
  content:"";
  position:absolute;
  z-index:4;
  inset:72px auto 0 0;
  width:min(51vw,920px);
  pointer-events:none;
  background:linear-gradient(90deg,rgba(0,0,0,.99) 0%,rgba(0,0,0,.96) 38%,rgba(0,0,0,.78) 72%,rgba(0,0,0,0) 100%);
}
.functional-hero::after{
  content:"";
  position:absolute;
  z-index:4;
  right:2.2%;
  bottom:42px;
  width:390px;
  height:250px;
  border-radius:18px;
  pointer-events:none;
  background:radial-gradient(circle at 55% 40%,rgba(13,6,20,.98),rgba(0,0,0,.99) 68%);
  box-shadow:0 0 40px 26px rgba(0,0,0,.94);
}
.hero-vignette{
  background:
    linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.02) 45%,rgba(0,0,0,.88) 100%),
    linear-gradient(90deg,rgba(0,0,0,.6) 0%,transparent 52%,rgba(0,0,0,.14) 100%);
}
.hero-copy{
  width:min(1450px,94%);
  padding:142px 0 158px;
}
.hero-script{
  margin:0 0 -6px 58px;
  font-size:clamp(1.75rem,2.75vw,3.15rem);
  line-height:1;
}
.hero-copy h1{
  font-size:clamp(4.8rem,8.1vw,8.8rem);
  line-height:.78;
  letter-spacing:-.045em;
}
.hero-signature{
  margin:-2px 0 -2px 120px;
  font-size:clamp(2.4rem,4.1vw,4.5rem);
  line-height:1;
}
.hero-kicker{
  margin:8px 0 0 72px;
  letter-spacing:.38em;
}
.hero-actions{margin:26px 0 0 58px}
.hero-countdown{right:4.2%;bottom:78px;width:330px}
.hero-socials svg{width:17px;height:17px;fill:currentColor;display:block}
.floating-whatsapp{
  position:fixed;
  z-index:999;
  right:22px;
  bottom:22px;
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#20c765;
  color:#fff;
  box-shadow:0 10px 28px rgba(0,0,0,.45),0 0 0 0 rgba(32,199,101,.55);
  animation:waPulse 2.1s infinite;
  transition:transform .2s ease,filter .2s ease;
}
.floating-whatsapp:hover{transform:translateY(-3px) scale(1.05);filter:brightness(1.08)}
.floating-whatsapp svg{width:31px;height:31px;fill:currentColor}
@keyframes waPulse{70%{box-shadow:0 10px 28px rgba(0,0,0,.45),0 0 0 14px rgba(32,199,101,0)}100%{box-shadow:0 10px 28px rgba(0,0,0,.45),0 0 0 0 rgba(32,199,101,0)}}
@media(max-width:1100px){
  .functional-hero::before{width:68vw}
  .functional-hero::after{right:1.5%;bottom:34px;width:360px;height:230px}
  .hero-countdown{right:3%;bottom:60px}
}
@media(max-width:760px){
  .functional-hero::before{inset:66px 0 0;width:100%;background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.55) 70%,rgba(0,0,0,.28))}
  .functional-hero::after{display:none}
  .hero-copy{padding:114px 18px 235px}
  .hero-script{margin-left:0}
  .hero-signature{margin-left:48px}
  .hero-kicker{margin-left:0}
  .hero-actions{margin-left:0}
  .hero-countdown{left:18px;right:18px;bottom:58px;width:auto}
  .hero-socials a{display:grid!important}
  .floating-whatsapp{right:15px;bottom:15px;width:54px;height:54px}
}

/* V2.0 — HERO propre, sans aucun texte ni compteur imprimé dans l'image */
.functional-hero{
  min-height:760px;
  background:#020203;
  isolation:isolate;
}
.functional-hero::before,
.functional-hero::after{display:none!important}
.hero-bg{
  inset:72px 0 0;
  background-image:url('/assets/img/hero-clean-bg.jpg');
  background-size:cover;
  background-position:center 34%;
  filter:saturate(1.08) contrast(1.08) brightness(.82);
  transform:scale(1.01);
}
.hero-vignette{
  inset:72px 0 0;
  background:
    linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.84) 29%,rgba(0,0,0,.35) 52%,rgba(0,0,0,.12) 75%,rgba(0,0,0,.32) 100%),
    linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.08) 55%,rgba(0,0,0,.88) 100%);
}
.hero-copy{
  width:min(1420px,92%);
  padding:112px 0 150px;
}
.hero-script{
  margin:0 0 8px 6px;
  font-family:"Segoe Script","Brush Script MT",cursive;
  font-size:clamp(1.7rem,2.5vw,3rem);
  line-height:1.1;
  letter-spacing:.01em;
}
.hero-copy h1{
  margin:0;
  font-size:clamp(5rem,8.2vw,9rem);
  line-height:.76;
  letter-spacing:-.055em;
}
.hero-signature{
  margin:14px 0 0 112px;
  font-family:"Segoe Script","Brush Script MT",cursive;
  font-size:clamp(2.6rem,4vw,4.5rem);
  line-height:1;
  transform:rotate(-4deg);
}
.hero-kicker{
  margin:14px 0 0 38px;
  letter-spacing:.42em;
  font-size:.86rem;
}
.hero-actions{margin:30px 0 0 0}
.hero-btn{min-width:252px}
.hero-countdown{
  right:5.2%;
  bottom:72px;
  width:390px;
  padding:22px 22px 18px;
  border:1px solid rgba(229,89,218,.9);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(18,5,22,.88),rgba(4,1,8,.94));
  box-shadow:0 0 34px rgba(223,68,207,.22),inset 0 0 0 1px rgba(255,255,255,.04);
}
.hero-countdown>b{
  margin-bottom:14px;
  font-size:1rem;
  letter-spacing:.09em;
}
.countdown-values{gap:10px}
.countdown-values span{font-size:2.65rem}
.countdown-values small{font-size:.54rem;letter-spacing:.08em}
.hero-socials a{width:36px;height:36px}
@media(max-width:1100px){
  .hero-copy{padding-top:125px}
  .hero-countdown{right:3%;width:350px}
}
@media(max-width:760px){
  .functional-hero{min-height:860px}
  .hero-bg,.hero-vignette{inset:66px 0 0}
  .hero-bg{background-position:63% center}
  .hero-vignette{background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.48)),linear-gradient(180deg,transparent 45%,rgba(0,0,0,.9))}
  .hero-copy{padding:102px 18px 270px}
  .hero-script{margin-left:0;font-size:1.6rem}
  .hero-copy h1{font-size:clamp(4.1rem,20vw,6.3rem)}
  .hero-signature{margin-left:44px;font-size:3rem}
  .hero-kicker{margin-left:0;letter-spacing:.22em;font-size:.72rem}
  .hero-actions{grid-template-columns:1fr;display:grid}
  .hero-countdown{left:18px;right:18px;bottom:54px;width:auto}
}

/* V2.1 — fond réellement propre provenant d'une vidéo Costa do Sol, sans texte ni faux compteur */
.hero-bg{
  background-image:url('/assets/img/hero-clean-bg.jpg?v=210')!important;
  background-position:center 42%!important;
  filter:saturate(1.18) contrast(1.12) brightness(.58)!important;
}
.hero-vignette{
  background:
    linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.82) 30%,rgba(0,0,0,.42) 56%,rgba(0,0,0,.24) 100%),
    linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.2) 55%,rgba(0,0,0,.94) 100%)!important;
}
.hero-copy{z-index:4!important}
.hero-countdown{z-index:5!important}
@media(max-width:760px){
  .hero-bg{background-position:58% center!important}
}

/* V2.3 — HERO final basé sur la photo vierge fournie */
.functional-hero{
  position:relative;
  min-height:860px;
  overflow:hidden;
  background:#030306;
}
.hero-bg{
    position:absolute;
    z-index:1;
    inset:72px 0 0;
    background-image:url('/assets/img/hero-dj-jos-final-v3.png?v=1001');
    background-size:cover;
    background-position:center center;
    filter:saturate(1.08) contrast(1.04) brightness(.76);
    transform:none;
    animation:none;
}
.hero-vignette{
  position:absolute;
  z-index:2;
  inset:72px 0 0;
  background:
    linear-gradient(90deg,rgba(2,2,8,.92) 0%,rgba(3,2,10,.79) 27%,rgba(3,2,10,.34) 48%,rgba(3,2,10,.04) 68%,rgba(0,0,0,.18) 100%),
    linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.04) 60%,rgba(0,0,0,.9) 100%);
}
.hero-nav{
  position:absolute;
  z-index:20;
  top:0;left:0;right:0;
  height:72px;
  display:grid;
  grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);
  align-items:center;
  gap:26px;
  padding:0 4vw;
  background:rgba(3,3,7,.88);
  border-bottom:1px solid rgba(227,170,42,.42);
  backdrop-filter:blur(13px);
}
.hero-brand{display:flex;align-items:center;gap:10px;min-width:220px}
.hero-brand-sun{font-size:2.4rem;color:#f3b72d;text-shadow:0 0 14px rgba(244,177,35,.5)}
.hero-brand b{display:block;font-family:Georgia,serif;font-size:1.22rem;letter-spacing:.05em;color:#ffd45b}
.hero-brand small{display:block;margin-top:-4px;font-family:"Segoe Script",cursive;font-size:.92rem;color:#f3c149}
.hero-menu{display:flex;align-items:center;justify-content:center;gap:25px}
.hero-menu a{position:relative;padding:26px 0 20px;color:#eee;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.hero-menu a::after{content:"";position:absolute;left:50%;right:50%;bottom:14px;height:2px;background:#f0b72e;transition:.25s}
.hero-menu a:hover::after,.hero-menu a.active::after{left:0;right:0}
.hero-socials{display:flex;justify-content:flex-end;gap:10px}
.hero-socials a{display:grid;place-items:center;width:34px;height:34px;border:1px solid #c88d20;border-radius:50%;color:#f4ba31;background:rgba(0,0,0,.4)}
.hero-copy{
  position:relative;
  z-index:7;
  width:min(1450px,92%);
  min-height:860px;
  margin:0 auto;
  padding:184px 0 190px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
}
.hero-script{margin:0 0 -8px 8px;font-family:"Segoe Script","Brush Script MT",cursive;font-size:clamp(2rem,3vw,3.5rem);font-style:italic;color:#fff;text-shadow:0 4px 18px #000}
.hero-copy h1{margin:0;width:min-content;font-family:Georgia,serif;font-size:clamp(5rem,8.4vw,9.4rem);line-height:.82;letter-spacing:-.055em;white-space:nowrap;text-transform:uppercase;background:linear-gradient(180deg,#fff2a1 0%,#ffd04b 16%,#c87800 48%,#ffe16b 72%,#8a4300 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 15px rgba(255,161,0,.42))}
.hero-signature{margin:-4px 0 0 55%;font-family:"Segoe Script","Brush Script MT",cursive;font-size:clamp(2.5rem,4.1vw,4.7rem);line-height:1;color:#ffc43a;transform:rotate(-4deg);text-shadow:0 0 15px rgba(213,115,0,.75)}
.hero-kicker{margin:12px 0 0 5px;color:#e9b934;font-size:.86rem;font-weight:900;letter-spacing:.46em}
.hero-actions{display:flex;gap:15px;margin:32px 0 0}
.hero-btn{min-width:262px;display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;align-items:center;padding:13px 18px;border:1px solid;border-radius:9px;background:rgba(5,5,8,.72);backdrop-filter:blur(8px);text-transform:uppercase}
.hero-btn>span{grid-row:1/3;font-size:1.45rem}.hero-btn b{font-size:.82rem;letter-spacing:.04em}.hero-btn small{font-size:.65rem;letter-spacing:.04em}
.hero-btn.gold{border-color:#c98c1d;color:#f7c542}.hero-btn.pink{border-color:#de52d7;color:#f4e4f5}
.hero-countdown{position:absolute;z-index:8;right:4.5vw;top:50%;bottom:auto;transform:translateY(-12%);width:355px;padding:17px 18px 14px;border:1px solid #db51d2;border-radius:11px;background:rgba(9,2,13,.83);box-shadow:0 0 30px rgba(213,62,204,.24);backdrop-filter:blur(10px)}
.hero-countdown>b{display:block;margin-bottom:8px;color:#ef75e5;font-size:.9rem;letter-spacing:.05em;text-align:center}
.countdown-values{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;text-align:center}
.countdown-values span{font-family:Georgia,serif;font-size:2.35rem;color:#ffc24a;text-shadow:0 0 12px rgba(255,126,0,.45)}
.countdown-values small{font-size:.48rem;color:#fff}
.hero-info-bar{position:absolute;z-index:10;left:0;right:0;bottom:0;min-height:68px;display:flex;align-items:center;justify-content:center;gap:0;background:rgba(0,0,0,.82);border-top:1px solid rgba(226,167,38,.38);backdrop-filter:blur(10px)}
.hero-info-bar span{padding:0 32px;border-right:1px solid rgba(255,255,255,.13);font-size:.78rem;color:#ddd;white-space:nowrap}.hero-info-bar span:last-child{border-right:0}.hero-info-bar b{display:block;color:#f2bd37;text-transform:uppercase;font-size:.66rem;letter-spacing:.08em}
.hero-scroll{bottom:72px;z-index:11}
.hero-beam{z-index:4;opacity:.32}
@media(max-width:1180px){
  .hero-nav{grid-template-columns:auto auto auto}.hero-menu{position:absolute;top:72px;left:0;right:0;display:none;flex-direction:column;gap:0;background:rgba(0,0,0,.98)}.hero-menu.is-open{display:flex}.hero-menu a{width:100%;padding:15px;text-align:center;border-top:1px solid #191919}.hero-menu a::after{display:none}.menu-toggle{display:block}.hero-copy h1{font-size:clamp(4.5rem,10vw,7.6rem)}.hero-countdown{right:3vw;width:330px}.hero-info-bar{overflow-x:auto;justify-content:flex-start}.hero-info-bar span{padding:0 22px}
}
@media(max-width:820px){
  .functional-hero{min-height:900px}.hero-bg,.hero-vignette{inset:66px 0 0}.hero-bg{background-position:61% center}.hero-nav{height:66px;padding:0 15px}.hero-brand{min-width:0}.hero-brand b{font-size:1rem}.hero-brand small{font-size:.78rem}.hero-brand-sun{font-size:2rem}.hero-socials a{width:32px;height:32px}.hero-copy{min-height:900px;padding:130px 18px 285px;justify-content:flex-start}.hero-script{font-size:1.7rem;margin-top:35px}.hero-copy h1{font-size:clamp(3.4rem,15vw,5.8rem);white-space:normal;line-height:.86}.hero-signature{margin:8px 0 0 36%;font-size:3rem}.hero-kicker{font-size:.68rem;letter-spacing:.28em}.hero-actions{display:grid;width:100%;max-width:390px}.hero-btn{width:100%;min-width:0}.hero-countdown{left:18px;right:18px;top:auto;bottom:92px;transform:none;width:auto}.hero-info-bar{min-height:62px}.hero-info-bar span{padding:0 16px;font-size:.68rem}.hero-scroll{display:none}.hero-beam{display:none}
}
@media(max-width:480px){.hero-socials{gap:6px}.hero-socials a{width:30px;height:30px}.hero-brand span:last-child{display:block}.hero-copy h1{font-size:3.65rem}.hero-signature{margin-left:30%;font-size:2.7rem}.hero-countdown{padding:13px 9px}.countdown-values span{font-size:1.55rem}.hero-info-bar span{padding:0 13px}}

/* Costa do Sol V3 — vraies pages séparées */
.inner-page{min-height:100vh}.inner-header{min-height:360px;position:relative;background:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.9)),url('/assets/img/hero-dj-jos-final-v3.png') center 42%/cover no-repeat}.inner-nav{position:relative}.inner-heading{min-height:288px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:100px 20px 40px}.inner-heading h1{margin:.1em 0;font-family:Georgia,serif;font-size:clamp(3rem,8vw,6rem);text-transform:uppercase;background:linear-gradient(#fff3a5,#e9a821,#9b5700);-webkit-background-clip:text;background-clip:text;color:transparent}.v3-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:30px}.v3-gallery-grid .gallery-open{position:relative;height:260px;padding:0;border:1px solid #8e651d;border-radius:14px;overflow:hidden;background:#111;cursor:pointer}.v3-gallery-grid img{width:100%;height:100%;object-fit:cover;transition:.35s}.v3-gallery-grid button:hover img{transform:scale(1.05)}.v3-gallery-grid span{position:absolute;right:12px;bottom:10px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:rgba(0,0,0,.7);color:#ffc344;font-size:1.4rem}.v3-contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:32px;align-items:start}.contact-cards{display:grid;gap:14px}.contact-cards>a,.contact-cards>div{display:grid;gap:6px;padding:22px;border:1px solid rgba(220,164,47,.35);border-radius:16px;background:#111}.contact-cards b{color:#e7b43d;text-transform:uppercase;letter-spacing:.08em}.contact-cards span{color:#ddd}.contact-form-card{width:100%}.standalone-reservation{padding-top:70px}.reservation-rules{display:grid;gap:10px;margin-top:28px;padding:20px;border:1px solid rgba(220,164,47,.3);border-radius:15px;background:#111}.reservation-rules b{color:#e7b43d}.reservation-rules span{color:#ccc}.reservation-rules span:before{content:'✓';color:#e7b43d;margin-right:8px}
@media(max-width:900px){.v3-gallery-grid{grid-template-columns:repeat(2,1fr)}.v3-contact{grid-template-columns:1fr}.inner-header{min-height:300px}.inner-heading{min-height:234px;padding-top:80px}}
@media(max-width:520px){.v3-gallery-grid{grid-template-columns:1fr 1fr;gap:7px}.v3-gallery-grid .gallery-open{height:170px}.inner-heading h1{font-size:2.7rem}}

/* V3.1 — correction définitive de la photo HERO (priorité sur l'ancienne règle V2.1) */
.functional-hero .hero-bg{
  background-image:url('/assets/img/hero-dj-jos-final-v3.png?v=31701')!important;
  background-size:cover!important;
  background-position:center center!important;
  filter:saturate(1.08) contrast(1.05) brightness(.78)!important;
  transform:none!important;
  animation:none!important;
}
@media(max-width:760px){
  .functional-hero .hero-bg{
    background-position:64% center!important;
  }
}

/* V3.2 — accueil premium, navigation fixe et section de présentation */
.functional-hero .hero-nav{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:100!important;
  transition:background .3s ease,box-shadow .3s ease,border-color .3s ease;
  box-shadow:0 8px 30px rgba(0,0,0,.2);
}
.functional-hero .hero-nav.nav-scrolled{
  background:rgba(2,2,5,.97)!important;
  border-bottom-color:rgba(240,183,46,.7)!important;
  box-shadow:0 12px 35px rgba(0,0,0,.55);
}
.v3-welcome{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);
  gap:clamp(42px,7vw,110px);
  align-items:center;
  padding-top:110px;
  padding-bottom:110px;
  background:
    radial-gradient(circle at 10% 20%,rgba(218,161,35,.13),transparent 34%),
    linear-gradient(180deg,#060606,#0b080d);
}
.v3-welcome-copy h2{
  max-width:720px;
  margin:.15em 0 .3em;
  font-family:Georgia,serif;
  font-size:clamp(2.8rem,5.2vw,5.7rem);
  line-height:.95;
  letter-spacing:-.045em;
}
.v3-welcome-copy h2 span{
  display:block;
  background:linear-gradient(180deg,#fff0a1,#e2a526 45%,#8f4b00);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.v3-welcome-lead{font-size:clamp(1.15rem,1.7vw,1.45rem)!important;color:#f2e6c7!important}
.v3-welcome-copy>p{max-width:680px;color:#aaa;line-height:1.8}
.v3-welcome-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:30px}
.v3-text-link{display:inline-flex;align-items:center;gap:12px;color:#e8b43b;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.v3-text-link span{font-size:1.4rem;transition:transform .25s}.v3-text-link:hover span{transform:translateX(5px)}
.v3-welcome-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:45px}
.v3-welcome-stats span{padding:17px 15px;border-top:1px solid rgba(229,177,54,.38);background:linear-gradient(180deg,rgba(255,255,255,.025),transparent)}
.v3-welcome-stats strong{display:block;color:#efbd43;font-family:Georgia,serif;font-size:2rem}
.v3-welcome-stats small{display:block;margin-top:3px;color:#929292;text-transform:uppercase;letter-spacing:.08em;font-size:.62rem}
.v3-welcome-visual{position:relative;min-height:560px;border:1px solid rgba(231,175,48,.38);border-radius:28px;overflow:hidden;box-shadow:0 35px 85px rgba(0,0,0,.48)}
.v3-welcome-visual:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 52%,rgba(0,0,0,.92)),linear-gradient(90deg,rgba(225,169,39,.12),transparent 40%)}
.v3-welcome-visual img{width:100%;height:100%;min-height:560px;display:block;object-fit:cover;transition:transform 1s ease}
.v3-welcome-visual:hover img{transform:scale(1.035)}
.v3-welcome-badge{position:absolute;z-index:2;left:25px;right:25px;bottom:24px;display:flex;align-items:end;justify-content:space-between;gap:15px;padding-top:18px;border-top:1px solid rgba(255,255,255,.38)}
.v3-welcome-badge b{font-family:Georgia,serif;font-size:1.3rem;color:#ffd45b;letter-spacing:.08em}.v3-welcome-badge span{color:#eee;text-transform:uppercase;font-size:.7rem;letter-spacing:.16em}
@media(max-width:950px){
  .v3-welcome{grid-template-columns:1fr;padding-top:80px;padding-bottom:80px}
  .v3-welcome-visual{min-height:460px}.v3-welcome-visual img{min-height:460px}
}
@media(max-width:560px){
  .v3-welcome{padding:68px 20px;gap:38px}
  .v3-welcome-stats{grid-template-columns:1fr 1fr}.v3-welcome-stats span:last-child{grid-column:1/-1}
  .v3-welcome-visual{min-height:390px;border-radius:20px}.v3-welcome-visual img{min-height:390px}
  .v3-welcome-badge{left:18px;right:18px;bottom:18px}
}

/* V3.3 WOW — nouvel accueil radicalement différent */
.v3-reborn{background:#050505;color:#fff}.v3-reborn *{box-sizing:border-box}.v3-hero{min-height:100vh;position:relative;overflow:hidden}.v3-hero .hero-bg{inset:0!important}.v3-hero-overlay{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.76) 42%,rgba(0,0,0,.2) 75%),linear-gradient(0deg,#050505 0%,transparent 28%),radial-gradient(circle at 72% 35%,rgba(210,24,104,.18),transparent 34%)}
.v3-nav{height:82px!important;padding:0 4vw!important;display:grid!important;grid-template-columns:auto 1fr auto!important;background:rgba(0,0,0,.12)!important;border-bottom:1px solid rgba(255,255,255,.1)!important}.v3-logo{display:flex;align-items:center;gap:10px;color:#fff}.v3-logo>span{font-size:2.1rem;color:#f5b82e}.v3-logo strong{font-family:Georgia,serif;letter-spacing:.08em}.v3-logo small{display:block;color:#f1be41;font:700 .62rem Arial;letter-spacing:.22em}.v3-menu{justify-self:center}.v3-nav-book{padding:12px 21px;border:1px solid #e2ad35;color:#f4c34f;text-transform:uppercase;font-weight:900;font-size:.75rem;letter-spacing:.12em}.v3-hero-grid{position:relative;z-index:5;min-height:100vh;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.55fr);gap:7vw;align-items:center;padding:140px 6vw 120px}.v3-overline,.v3-eyebrow{color:#e8b53c;font-size:.7rem;font-weight:900;letter-spacing:.23em;text-transform:uppercase}.v3-hero-main h1{max-width:900px;margin:.15em 0 .25em;font:400 clamp(4.4rem,8.4vw,9rem)/.82 Georgia,serif;letter-spacing:-.07em}.v3-hero-main h1 em{color:#e4af37;font-style:italic}.v3-hero-text{max-width:630px;color:#c7c7c7;font-size:1.08rem;line-height:1.75}.v3-hero-actions,.v3-cta>div{display:flex;gap:16px;flex-wrap:wrap;margin-top:32px}.v3-primary,.v3-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 25px;text-transform:uppercase;font-size:.73rem;font-weight:900;letter-spacing:.1em}.v3-primary{background:#e4ae35;color:#0a0803}.v3-secondary{border:1px solid rgba(255,255,255,.36);color:#fff}.v3-next-card{align-self:end;margin-bottom:58px;border:1px solid rgba(255,255,255,.22);background:rgba(4,4,6,.72);backdrop-filter:blur(16px);box-shadow:0 30px 90px rgba(0,0,0,.5)}.v3-next-image{height:250px;position:relative;overflow:hidden}.v3-next-image img{width:100%;height:100%;object-fit:cover}.v3-next-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.8),transparent)}.v3-next-image>span{position:absolute;z-index:2;left:18px;bottom:15px;padding:7px 10px;background:#d5297e;font-size:.7rem;font-weight:900;letter-spacing:.15em}.v3-next-content{padding:25px}.v3-next-content>small{color:#d8a83b;letter-spacing:.14em}.v3-next-content h2{margin:.3em 0 .1em;font:2rem Georgia,serif}.v3-next-content p{color:#aaa}.v3-count{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:22px 0}.v3-count b{padding:10px 4px;border:1px solid rgba(255,255,255,.12);text-align:center}.v3-count span{display:block;color:#f0bb3f;font:1.7rem Georgia,serif}.v3-count small{font-size:.52rem;color:#aaa}.v3-next-content>a{color:#fff;font-weight:900}.v3-hero-bottom{position:absolute;z-index:6;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(0,0,0,.78);border-top:1px solid rgba(226,173,53,.35)}.v3-hero-bottom span{padding:18px;text-align:center;color:#c9c9c9;font-size:.65rem;letter-spacing:.12em;border-right:1px solid rgba(255,255,255,.1)}
.v3-manifest,.v3-week,.v3-gallery-home,.v3-cta{padding:110px 6vw}.v3-manifest{display:grid;grid-template-columns:80px 1.1fr .8fr;gap:5vw;align-items:end;background:#070707;border-bottom:1px solid #1b1b1b}.v3-section-num{color:#555;font:2rem Georgia,serif}.v3-manifest h2,.v3-section-head h2,.v3-exp-copy h2,.v3-cta h2{margin:.12em 0;font:400 clamp(3.2rem,6vw,7rem)/.92 Georgia,serif;letter-spacing:-.055em}.v3-manifest h2 span,.v3-cta h2 span{color:#e0a936}.v3-manifest>p:last-child{color:#9d9d9d;line-height:1.8;font-size:1.05rem}.v3-week{background:#0b0b0b}.v3-section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:55px}.v3-section-head>a{color:#e1ad39;text-transform:uppercase;font-size:.72rem;font-weight:900;letter-spacing:.1em}.v3-event-list{border-top:1px solid #262626}.v3-event>a{display:grid;grid-template-columns:70px 180px 1fr 55px;gap:26px;align-items:center;padding:24px 0;border-bottom:1px solid #262626;color:#fff;transition:.3s}.v3-event>a:hover{padding-left:18px;background:linear-gradient(90deg,rgba(225,173,57,.09),transparent)}.v3-event-number{color:#585858;font:1.8rem Georgia,serif}.v3-event-photo{height:120px;position:relative;overflow:hidden}.v3-event-photo img{width:100%;height:100%;object-fit:cover}.v3-event-photo span{position:absolute;left:8px;top:8px;padding:5px 7px;background:#d3297b;font-size:.58rem;font-weight:900}.v3-event-info small{color:#e2ae39;letter-spacing:.12em}.v3-event-info h3{margin:.25em 0 .1em;font:2.2rem Georgia,serif}.v3-event-info p{margin:0;color:#999}.v3-event-arrow{font-size:1.8rem}.v3-experience{display:grid;grid-template-columns:1fr 1fr;min-height:850px}.v3-exp-photo{position:relative;overflow:hidden}.v3-exp-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.65),transparent)}.v3-exp-photo img{width:100%;height:100%;object-fit:cover}.v3-exp-photo>span{position:absolute;z-index:2;left:7%;bottom:7%;font:clamp(3rem,7vw,7rem)/.8 Georgia,serif;color:#fff}.v3-exp-copy{padding:10% 9%;background:#110b10}.v3-exp-copy h2 em{color:#db327f}.v3-exp-items{margin-top:55px}.v3-exp-items article{display:grid;grid-template-columns:45px 1fr;column-gap:18px;padding:24px 0;border-top:1px solid rgba(255,255,255,.13)}.v3-exp-items b{color:#d8a735}.v3-exp-items h3{margin:0;font:1.45rem Georgia,serif}.v3-exp-items p{grid-column:2;color:#999;line-height:1.6}.v3-gallery-home{background:#070707}.v3-photo-wall{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:280px 280px;gap:12px}.v3-photo-wall a{position:relative;overflow:hidden}.v3-photo-wall .p1{grid-row:1/3}.v3-photo-wall img{width:100%;height:100%;object-fit:cover;transition:.5s}.v3-photo-wall a:hover img{transform:scale(1.05)}.v3-photo-wall a:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.72),transparent 55%)}.v3-photo-wall span{position:absolute;z-index:2;left:18px;bottom:15px;color:#fff;font-size:.72rem;font-weight:900;text-transform:uppercase}.v3-cta{text-align:center;background:radial-gradient(circle at center,rgba(218,45,125,.22),transparent 38%),#0b070a}.v3-cta>p{color:#ddd}.v3-cta>div{justify-content:center}.v3-contact-strip{display:flex;justify-content:center;gap:45px;flex-wrap:wrap;padding:25px 4vw;border-top:1px solid #222;border-bottom:1px solid #222;color:#aaa;font-size:.78rem}.v3-contact-strip a{color:#e4b23c}.v3-footer{padding:55px 6vw;display:flex;justify-content:space-between;align-items:center;gap:25px;background:#030303}.v3-footer p,.v3-footer>small{color:#777}
@media(max-width:980px){.v3-nav{grid-template-columns:auto auto auto!important}.v3-nav-book{display:none}.v3-hero-grid{grid-template-columns:1fr;padding-top:135px}.v3-next-card{max-width:520px;margin:0}.v3-manifest{grid-template-columns:1fr}.v3-section-num{display:none}.v3-experience{grid-template-columns:1fr}.v3-exp-photo{min-height:600px}.v3-photo-wall{grid-template-columns:1fr 1fr}.v3-photo-wall .p1{grid-row:auto;grid-column:1/3}.v3-hero-bottom{grid-template-columns:1fr 1fr}.v3-event>a{grid-template-columns:50px 130px 1fr 35px}}
@media(max-width:620px){.v3-nav{height:68px!important;padding:0 15px!important}.v3-logo strong{font-size:.85rem}.v3-logo>span{font-size:1.7rem}.v3-hero-grid{padding:115px 20px 165px;align-items:start}.v3-hero-main h1{font-size:4.2rem}.v3-hero-text{font-size:.95rem}.v3-next-image{height:190px}.v3-hero-bottom{grid-template-columns:1fr 1fr}.v3-hero-bottom span{padding:12px 6px;font-size:.52rem}.v3-manifest,.v3-week,.v3-gallery-home,.v3-cta{padding:75px 20px}.v3-section-head{align-items:flex-start;flex-direction:column}.v3-event>a{grid-template-columns:1fr 36px;gap:14px}.v3-event-number{display:none}.v3-event-photo{grid-column:1/3;height:210px}.v3-event-info h3{font-size:1.7rem}.v3-event-arrow{grid-column:2;grid-row:2}.v3-exp-photo{min-height:500px}.v3-exp-copy{padding:75px 20px}.v3-photo-wall{display:flex;overflow-x:auto}.v3-photo-wall a,.v3-photo-wall .p1{flex:0 0 82%;height:420px;grid-column:auto}.v3-contact-strip{flex-direction:column;gap:10px;text-align:center}.v3-footer{flex-direction:column;text-align:center}.v3-primary,.v3-secondary{width:100%}}


/* V3.4 — Logo officiel + TikTok */
.v3-logo-image{display:flex!important;align-items:center!important;min-width:150px!important;height:78px!important;overflow:visible!important}
.v3-logo-image img{display:block!important;width:auto!important;height:72px!important;max-width:190px!important;object-fit:contain!important;filter:drop-shadow(0 4px 14px rgba(0,0,0,.45))}
.v3-nav-actions{display:flex;align-items:center;gap:12px}
.v3-tiktok{display:grid;width:40px;height:40px;place-items:center;border:1px solid rgba(255,255,255,.32);border-radius:50%;color:#fff;font-size:1.25rem;font-weight:900;transition:.25s ease}
.v3-tiktok:hover{border-color:#ff2d88;color:#ff2d88;box-shadow:0 0 18px rgba(255,45,136,.35);transform:translateY(-2px)}
.v3-footer-logo{height:100px!important}
.v3-footer-logo img{height:96px!important;max-width:235px!important}
.site-logo-image{display:flex!important;align-items:center!important;height:76px!important}
.site-logo-image img{display:block!important;width:auto!important;height:70px!important;max-width:185px!important;object-fit:contain!important}
.site-footer-logo{display:flex!important;align-items:center!important}
.site-footer-logo img{display:block!important;width:auto!important;height:90px!important;max-width:225px!important;object-fit:contain!important}
@media(max-width:900px){.v3-nav-actions{margin-left:auto}.v3-logo-image{min-width:112px!important;height:64px!important}.v3-logo-image img{height:58px!important;max-width:145px!important}.v3-nav-book{display:none}.v3-tiktok{width:36px;height:36px}.site-logo-image{height:62px!important}.site-logo-image img{height:56px!important;max-width:145px!important}}
@media(max-width:620px){.v3-logo-image{min-width:98px!important}.v3-logo-image img{height:52px!important;max-width:130px!important}.v3-footer-logo{height:84px!important}.v3-footer-logo img{height:80px!important;max-width:190px!important}}


/* V3.2 — Galerie mixte */
.mixed-gallery video{width:100%;height:100%;object-fit:cover;transition:.35s}.mixed-gallery button:hover video{transform:scale(1.05)}.gallery-video-icon{left:50%!important;right:auto!important;bottom:auto!important;top:50%;transform:translate(-50%,-50%);width:58px!important;height:58px!important;background:rgba(0,0,0,.68)!important;border:1px solid rgba(255,255,255,.55);font-size:1.25rem!important}.media-lightbox video{display:none;max-width:100%;max-height:78vh;border-radius:12px}.media-lightbox.is-video img{display:none}.media-lightbox.is-video video{display:block}.media-lightbox figure{display:grid;place-items:center}

/* V3.3 — Avis clients */
.section-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:72px 0}.reviews-summary{text-align:center;margin-bottom:32px}.reviews-summary h2{font-size:clamp(2.2rem,5vw,4.5rem);margin:.2em 0}.review-average{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}.review-average strong{font-size:3rem;color:#d9ad52}.review-average span,.review-stars{color:#f7c850;letter-spacing:.08em}.review-average small{color:#999}.review-layout{display:grid;grid-template-columns:380px 1fr;gap:28px;align-items:start}.review-form-card,.review-card-public{background:linear-gradient(145deg,#141414,#0d0d0d);border:1px solid #282828;border-radius:24px;padding:24px}.review-form-card{position:sticky;top:110px;display:grid;gap:16px}.review-form-card h3{font-size:1.8rem;margin:0}.review-form-card label{display:grid;gap:8px;font-weight:800}.review-form-card input,.review-form-card textarea{width:100%;background:#090909;border:1px solid #343434;border-radius:13px;padding:14px;color:#fff;font:inherit}.rating-picker{border:0;padding:0;margin:0;display:flex;flex-direction:row-reverse;justify-content:flex-end}.rating-picker legend{font-weight:800;margin-bottom:7px}.rating-picker input{display:none}.rating-picker label{font-size:2.2rem;color:#444;cursor:pointer}.rating-picker label:hover,.rating-picker label:hover~label,.rating-picker input:checked~label{color:#f7c850}.review-photo-upload input{padding:10px}.reviews-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.review-card-public img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:16px;margin-bottom:16px}.review-card-public>p{font-size:1.05rem;line-height:1.7;color:#ddd}.review-card-public footer{display:flex;justify-content:space-between;gap:10px;color:#999}.review-card-public footer strong{color:#fff}.owner-reply{margin-top:18px;padding:16px;border-left:3px solid #d9ad52;background:#17130b;border-radius:12px}.owner-reply p{margin:.45em 0 0;color:#ccc}.public-alert{margin:0 auto 24px;width:min(900px,100%);padding:14px 18px;border-radius:14px}.public-alert.success{background:#14331e;color:#b8efc5}.public-alert.error{background:#351717;color:#ffbcbc}.empty-public{padding:50px;text-align:center;border:1px dashed #333;border-radius:20px;color:#999}@media(max-width:900px){.review-layout{grid-template-columns:1fr}.review-form-card{position:static}.reviews-grid{grid-template-columns:1fr}}@media(max-width:620px){.section-shell{padding:42px 0}.review-card-public,.review-form-card{padding:18px}}

/* ===== V3.4 — DJ JOS / MUSIQUE ===== */
.music-artist-hero,.music-featured,.music-catalog{width:min(1180px,calc(100% - 32px));margin:0 auto}.music-artist-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding:72px 0}.music-artist-copy h2{font-size:clamp(3.2rem,8vw,7rem);line-height:.9;margin:12px 0 24px}.music-tagline{font-size:1.25rem;color:#f0d18a}.music-artist-copy>p{max-width:720px;line-height:1.75}.music-platforms,.music-listen-links,.music-card-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.music-platforms a,.music-listen-links a,.music-card-links a{border:1px solid rgba(217,173,82,.45);padding:10px 15px;border-radius:999px;color:#fff;text-decoration:none;background:rgba(255,255,255,.035)}.music-artist-photo{min-height:520px;border-radius:28px;overflow:hidden;border:1px solid rgba(217,173,82,.25);box-shadow:0 24px 80px rgba(0,0,0,.45)}.music-artist-photo img{width:100%;height:100%;object-fit:cover}.music-featured{display:grid;grid-template-columns:minmax(260px,460px) 1fr;gap:48px;align-items:center;padding:44px;border-radius:30px;background:linear-gradient(135deg,rgba(217,173,82,.12),rgba(255,255,255,.025));border:1px solid rgba(217,173,82,.22)}.music-cover,.music-card-cover{aspect-ratio:1/1;overflow:hidden;border-radius:22px;background:#111}.music-cover img,.music-card-cover img{width:100%;height:100%;object-fit:cover}.music-cover-placeholder{height:100%;display:grid;place-items:center;font-weight:900;letter-spacing:.25em;color:#d9ad52;background:radial-gradient(circle at 30% 30%,#372a13,#070707 70%)}.music-featured h2{font-size:clamp(2.3rem,5vw,4.8rem);margin:.25em 0}.music-meta{display:flex;gap:12px;margin:16px 0}.music-meta span{color:#d9ad52}.music-featured audio,.music-card audio{width:100%;margin-top:18px}.music-catalog{padding:84px 0}.music-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.music-card{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.09);border-radius:24px;overflow:hidden}.music-card-body{padding:22px}.music-card-body small{color:#d9ad52}.music-card-body h3{font-size:1.5rem;margin:8px 0}.music-card-body p{color:#c6c6c6}.music-card-links a{padding:7px 11px;font-size:.82rem}
@media(max-width:900px){.music-artist-hero,.music-featured{grid-template-columns:1fr}.music-artist-photo{min-height:380px}.music-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.music-featured{padding:24px}}
@media(max-width:620px){.music-grid{grid-template-columns:1fr}.music-artist-hero{padding:48px 0}.music-artist-photo{min-height:320px}.music-featured{width:calc(100% - 24px)}}


/* ===== COSTA DO SOL V5 PREMIUM — HEADER & FOOTER ===== */
:root{--premium-gold:#e5b43d;--premium-gold-soft:#f6dc91;--premium-black:#050505;--premium-line:rgba(229,180,61,.24)}
.premium-site-header{position:relative;z-index:50;background:#050505}.premium-nav{position:fixed;z-index:1000;top:0;left:0;right:0;height:92px;padding:0 clamp(18px,4vw,64px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px;background:linear-gradient(180deg,rgba(5,5,5,.97),rgba(5,5,5,.82));backdrop-filter:blur(18px);border-bottom:1px solid var(--premium-line);box-shadow:0 18px 45px rgba(0,0,0,.28)}
.premium-brand{display:flex;align-items:center;height:84px}.premium-brand img{display:block;width:auto;height:76px;max-width:195px;object-fit:contain;filter:drop-shadow(0 8px 22px rgba(0,0,0,.65))}.premium-menu{display:flex;justify-content:center;align-items:center;gap:clamp(14px,2vw,32px)}.premium-menu a{position:relative;padding:34px 0 30px;color:#ddd;font-size:.78rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.premium-menu a:after{content:"";position:absolute;left:50%;bottom:22px;width:0;height:2px;background:linear-gradient(90deg,#8d5900,var(--premium-gold-soft));transform:translateX(-50%);transition:.25s}.premium-menu a:hover,.premium-menu a.active{color:#fff}.premium-menu a:hover:after,.premium-menu a.active:after{width:100%}.premium-nav-actions{display:flex;align-items:center;gap:15px}.premium-socials{display:flex;gap:7px}.premium-socials a{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.18);border-radius:50%;color:#fff;font-weight:900;transition:.25s}.premium-socials a:hover{color:var(--premium-gold-soft);border-color:var(--premium-gold);transform:translateY(-2px)}.premium-book{padding:14px 22px;border-radius:999px;color:#080808!important;background:linear-gradient(135deg,#ffe8a5,#d89c1d 62%,#8b5100);font-size:.76rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em;box-shadow:0 8px 28px rgba(221,163,39,.2);transition:.25s}.premium-book:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(221,163,39,.36)}.premium-inner-heading{padding-top:160px!important;padding-bottom:60px!important;background:radial-gradient(circle at 50% 0,rgba(229,180,61,.11),transparent 42%),#070707;border-bottom:1px solid rgba(255,255,255,.06)}
.premium-v5-footer{position:relative;padding:78px clamp(20px,5vw,80px) 0;background:radial-gradient(circle at 14% 8%,rgba(229,180,61,.10),transparent 32%),linear-gradient(180deg,#090909,#020202);border-top:1px solid var(--premium-line);color:#c8c8c8}.premium-v5-footer:before{content:"";position:absolute;top:-1px;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,var(--premium-gold),transparent)}.premium-footer-grid{width:min(1320px,100%);margin:auto;display:grid;grid-template-columns:1.35fr .75fr 1fr 1fr;gap:55px}.premium-footer-grid section{display:flex;flex-direction:column;align-items:flex-start;gap:11px}.premium-footer-grid h3{margin:0 0 13px;color:#fff;font-family:Georgia,serif;font-size:1.3rem}.premium-footer-grid a{color:#bdbdbd;text-decoration:none;transition:.2s}.premium-footer-grid a:hover{color:var(--premium-gold-soft);transform:translateX(3px)}.premium-footer-grid p{margin:0;line-height:1.75}.premium-footer-brand img{height:108px;max-width:250px;object-fit:contain;margin-bottom:8px}.premium-footer-brand>p{max-width:330px}.premium-footer-socials{display:flex;flex-wrap:wrap;gap:9px;margin-top:10px}.premium-footer-socials a{padding:8px 12px;border:1px solid rgba(255,255,255,.13);border-radius:999px;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.premium-age{color:var(--premium-gold-soft)!important}.premium-map-link{margin-top:5px;color:var(--premium-gold-soft)!important;font-weight:900}.premium-footer-bottom{width:min(1320px,100%);margin:58px auto 0;padding:22px 0;display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.09);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:#777}
@media(max-width:1080px){.premium-nav{grid-template-columns:auto auto 1fr}.premium-menu{position:fixed;inset:92px 0 auto 0;display:none!important;padding:22px;background:rgba(5,5,5,.98);border-bottom:1px solid var(--premium-line);flex-direction:column;align-items:stretch}.premium-menu.is-open{display:flex!important}.premium-menu a{padding:15px 8px;text-align:center}.premium-menu a:after{bottom:7px}.premium-nav-actions{justify-self:end}.menu-toggle{display:flex!important}.premium-footer-grid{grid-template-columns:1fr 1fr}.premium-footer-brand{grid-column:1/-1}}
@media(max-width:680px){.premium-nav{height:74px;padding:0 15px;gap:10px}.premium-brand{height:70px}.premium-brand img{height:62px;max-width:145px}.premium-menu{top:74px}.premium-socials{display:none}.premium-book{padding:11px 14px;font-size:.67rem}.premium-inner-heading{padding-top:125px!important}.premium-v5-footer{padding:58px 22px 0}.premium-footer-grid{grid-template-columns:1fr;gap:35px}.premium-footer-brand{grid-column:auto}.premium-footer-bottom{margin-top:38px;flex-direction:column;text-align:center}.premium-footer-brand img{height:94px}}

/* ===== V6 SIGNATURE — HEADER & FOOTER UNIQUEMENT ===== */
:root{--signature-gold:#f0bd4f;--signature-champagne:#ffe5a0;--signature-deep:#030304}
.premium-nav,.hero-nav{isolation:isolate}
.premium-nav:before,.hero-nav:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(110deg,rgba(255,255,255,.055),transparent 30%,rgba(240,189,79,.055) 72%,transparent);pointer-events:none}
.premium-nav:after,.hero-nav:after{content:"";position:absolute;left:4%;right:4%;bottom:-1px;height:2px;background:linear-gradient(90deg,transparent,rgba(240,189,79,.4),var(--signature-champagne),rgba(240,189,79,.4),transparent);box-shadow:0 0 18px rgba(240,189,79,.42);pointer-events:none}
.premium-brand{position:relative;gap:12px;text-decoration:none}.premium-brand-glow,.home-brand-halo{position:absolute;width:74px;height:74px;border-radius:50%;background:radial-gradient(circle,rgba(240,189,79,.22),transparent 68%);filter:blur(5px);animation:signaturePulse 4s ease-in-out infinite;pointer-events:none}.premium-brand-copy{display:flex;flex-direction:column;line-height:1.05}.premium-brand-copy strong,.signature-home-brand strong{font-family:Georgia,serif;color:#fff2c2;font-size:1rem;letter-spacing:.04em}.premium-brand-copy small,.signature-home-brand small{margin-top:5px;color:#c79c45;font-size:.58rem;text-transform:uppercase;letter-spacing:.16em}
.signature-home-brand{position:relative;display:flex!important;align-items:center;gap:12px;text-decoration:none}.signature-home-brand>span:last-child{display:flex;flex-direction:column}.signature-home-brand img{position:relative;z-index:1}.home-brand-halo{left:4px;top:50%;transform:translateY(-50%)}
.premium-menu a,.hero-menu a{text-shadow:0 1px 12px rgba(0,0,0,.85)}.premium-book,.v3-nav-book{position:relative;overflow:hidden}.premium-book:before,.v3-nav-book:before{content:"";position:absolute;top:-80%;left:-35%;width:24%;height:260%;background:rgba(255,255,255,.48);transform:rotate(24deg);transition:left .6s ease}.premium-book:hover:before,.v3-nav-book:hover:before{left:120%}
@keyframes signaturePulse{0%,100%{opacity:.55;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}

.signature-cta{position:relative;overflow:hidden;padding:30px 24px;background:linear-gradient(90deg,#070605,#171006 50%,#070605);border-top:1px solid rgba(240,189,79,.18);border-bottom:1px solid rgba(240,189,79,.28)}
.signature-cta:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 120%,rgba(240,189,79,.18),transparent 48%),repeating-linear-gradient(115deg,transparent 0 42px,rgba(255,255,255,.012) 43px 44px)}
.signature-cta>div{position:relative;width:min(1180px,100%);margin:auto;display:flex;align-items:center;justify-content:center;gap:22px;text-align:center}.signature-cta span{font-size:2.2rem;color:var(--signature-gold);filter:drop-shadow(0 0 12px rgba(240,189,79,.55))}.signature-cta p{margin:0;font-family:Georgia,serif;font-size:clamp(1.05rem,2vw,1.5rem);color:#f4ead1;letter-spacing:.025em}.signature-cta a{padding:11px 17px;border:1px solid rgba(240,189,79,.58);border-radius:999px;color:#ffe7aa;text-decoration:none;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;transition:.25s}.signature-cta a:hover{background:var(--signature-gold);color:#111;box-shadow:0 0 24px rgba(240,189,79,.28)}
.premium-v5-footer{overflow:hidden;padding-top:96px;background:radial-gradient(circle at 50% -18%,rgba(240,189,79,.17),transparent 35%),linear-gradient(180deg,#090807 0%,#020202 68%)}
.premium-v5-footer:after{content:"";position:absolute;left:-4%;right:-4%;bottom:54px;height:180px;opacity:.22;background:radial-gradient(ellipse at 8% 100%,#000 0 22%,transparent 23%),radial-gradient(ellipse at 25% 100%,#000 0 19%,transparent 20%),radial-gradient(ellipse at 75% 100%,#000 0 22%,transparent 23%),radial-gradient(ellipse at 94% 100%,#000 0 18%,transparent 19%);pointer-events:none}
.premium-footer-grid,.premium-footer-bottom{position:relative;z-index:2}.premium-footer-grid section{padding-left:20px;border-left:1px solid rgba(240,189,79,.13)}.premium-footer-brand{padding-left:0!important;border-left:0!important}.footer-logo-wrap{position:relative;display:inline-flex}.footer-logo-halo{position:absolute;inset:8% -12%;background:radial-gradient(ellipse,rgba(240,189,79,.17),transparent 68%);filter:blur(12px)}.footer-logo-wrap img{position:relative;z-index:1}.premium-footer-grid h3{position:relative;padding-bottom:12px;color:#fff1c3}.premium-footer-grid h3:after{content:"";position:absolute;left:0;bottom:0;width:44px;height:1px;background:linear-gradient(90deg,var(--signature-gold),transparent)}.premium-footer-socials a{background:rgba(255,255,255,.025)}.footer-signature{color:#cda84f;font-weight:800}.floating-whatsapp{box-shadow:0 0 0 6px rgba(37,211,102,.08),0 14px 34px rgba(0,0,0,.42)}
@media(max-width:1080px){.premium-brand-copy{display:none}.signature-home-brand>span:last-child{display:none}.premium-footer-grid section{padding-left:0;border-left:0}.signature-cta>div{flex-wrap:wrap}}
@media(max-width:680px){.premium-brand-glow{width:58px;height:58px}.signature-cta{padding:26px 18px}.signature-cta>div{gap:13px}.signature-cta p{width:100%;line-height:1.45}.signature-cta a{margin-top:2px}.premium-v5-footer{padding-top:68px}.premium-footer-grid section{padding-bottom:7px}.premium-footer-grid h3{font-size:1.2rem}}
@media(prefers-reduced-motion:reduce){.premium-brand-glow,.home-brand-halo{animation:none}.premium-book:before,.v3-nav-book:before{display:none}}


/* =========================================================
   V7 — ACCUEIL ANIMÉ (administrable depuis /gestion)
   ========================================================= */
.home-live-ticker{position:absolute;z-index:9;top:92px;left:0;right:0;overflow:hidden;border-top:1px solid rgba(218,177,92,.22);border-bottom:1px solid rgba(218,177,92,.3);background:var(--ticker-bg,rgba(4,4,4,.8));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);white-space:nowrap}
.home-live-ticker-track{display:flex;align-items:center;width:max-content;min-width:200%;padding:11px 0;animation:homeTicker var(--ticker-duration,28s) linear infinite;will-change:transform}
.home-live-ticker:hover .home-live-ticker-track{animation-play-state:paused}
.home-live-ticker span{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;padding:0 28px}
.home-live-ticker i{font-style:normal;color:#d8ad54;filter:drop-shadow(0 0 8px rgba(216,173,84,.75))}
@keyframes homeTicker{to{transform:translateX(-50%)}}
.home-live-enabled .v3-hero-grid{padding-top:42px}
.home-live-words{padding:32px 5vw;display:flex;justify-content:center;align-items:baseline;gap:14px;flex-wrap:wrap;border-top:1px solid rgba(216,173,84,.18);border-bottom:1px solid rgba(216,173,84,.18);background:radial-gradient(circle at center,rgba(134,14,33,.2),transparent 66%)}
.home-live-words span{font-size:clamp(1rem,2vw,1.5rem);color:#ddd}
.home-live-words strong{position:relative;min-width:190px;font-family:Georgia,serif;font-style:italic;font-size:clamp(1.8rem,4vw,3.8rem);color:#e4bd69;text-shadow:0 0 24px rgba(228,189,105,.25);transition:opacity .28s ease,transform .28s ease}
.home-live-words strong.is-changing{opacity:0;transform:translateY(12px)}
.home-gallery-marquee{overflow:hidden;margin-top:34px;padding:10px 0 22px;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.home-gallery-track{display:flex;gap:18px;width:max-content;animation:homeGallery var(--gallery-duration,38s) linear infinite;will-change:transform}
.home-gallery-marquee:hover .home-gallery-track{animation-play-state:paused}
.home-gallery-track a{position:relative;display:block;width:clamp(230px,25vw,390px);height:clamp(170px,20vw,290px);overflow:hidden;border-radius:20px;border:1px solid rgba(216,173,84,.28);box-shadow:0 18px 50px rgba(0,0,0,.42);flex:none}
.home-gallery-track img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease,filter .6s ease}
.home-gallery-track span{position:absolute;left:16px;right:16px;bottom:14px;z-index:2;color:#fff;font-size:.86rem;font-weight:800;opacity:0;transform:translateY(8px);transition:.35s ease;text-shadow:0 2px 12px #000}
.home-gallery-track a:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(0,0,0,.78));opacity:.35;transition:.35s ease}
.home-gallery-track a:hover img{transform:scale(1.07);filter:saturate(1.14)}
.home-gallery-track a:hover span{opacity:1;transform:none}.home-gallery-track a:hover:after{opacity:1}
@keyframes homeGallery{to{transform:translateX(calc(-50% - 9px))}}
.home-reviews-live{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(300px,1.25fr);gap:50px;align-items:center;padding:90px 7vw;background:linear-gradient(135deg,rgba(96,4,24,.28),rgba(5,5,5,.2));border-top:1px solid rgba(216,173,84,.16)}
.home-reviews-title h2{font-size:clamp(2.2rem,5vw,5rem);line-height:.95;margin:.3em 0 0}
.home-reviews-slider{position:relative;min-height:280px;padding:44px;border:1px solid rgba(216,173,84,.25);border-radius:24px;background:rgba(12,12,12,.66);box-shadow:0 24px 70px rgba(0,0,0,.38);overflow:hidden}
.home-reviews-slider article{position:absolute;inset:44px;opacity:0;transform:translateX(25px);pointer-events:none;transition:opacity .55s ease,transform .55s ease;display:flex;flex-direction:column;justify-content:center}
.home-reviews-slider article.is-active{opacity:1;transform:none;pointer-events:auto}
.home-review-stars{color:#e4bd69;letter-spacing:.18em;margin-bottom:20px}.home-reviews-slider blockquote{margin:0 0 22px;font-family:Georgia,serif;font-style:italic;font-size:clamp(1.35rem,2.3vw,2.1rem);line-height:1.35;color:#fff}.home-reviews-slider strong{color:#dcb968;text-transform:uppercase;letter-spacing:.13em;font-size:.78rem}
.home-review-dots{position:absolute;left:44px;bottom:24px;display:flex;gap:8px}.home-review-dots button{width:8px;height:8px;border:0;border-radius:99px;background:rgba(255,255,255,.3);padding:0;cursor:pointer;transition:.3s}.home-review-dots button.is-active{width:28px;background:#dcb968}
@media(max-width:850px){.home-live-ticker{top:76px}.home-live-enabled .v3-hero-grid{padding-top:44px}.home-live-ticker span{font-size:.68rem;padding:0 18px}.home-reviews-live{grid-template-columns:1fr;padding:65px 22px;gap:28px}.home-reviews-slider{min-height:310px;padding:30px}.home-reviews-slider article{inset:30px 30px 55px}.home-review-dots{left:30px}.home-gallery-track a{width:260px;height:190px}.home-live-words{padding:25px 18px}.home-live-words strong{min-width:auto}}
@media(prefers-reduced-motion:reduce){.home-live-ticker-track,.home-gallery-track{animation:none}.home-live-words strong,.home-reviews-slider article{transition:none}}

/* V8 PREMIUM — accueil entièrement pilotable */
.hero-bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.v3-hero .hero-bg{background-size:cover!important;background-position:center!important;animation:v8HeroMove 18s ease-in-out infinite alternate}
.anim-soft .v3-hero .hero-bg{animation-duration:30s}.anim-dynamic .v3-hero .hero-bg{animation-duration:11s}
@keyframes v8HeroMove{from{transform:scale(1)}to{transform:scale(1.075)}}
.v3-hero-main h1{text-shadow:0 12px 42px rgba(0,0,0,.65)}
.v3-primary{box-shadow:0 0 0 rgba(226,173,53,0);transition:transform .25s,box-shadow .25s}.v3-primary:hover{transform:translateY(-3px);box-shadow:0 12px 38px rgba(226,173,53,.3)}
.v8-experience{padding:110px 6vw;background:radial-gradient(circle at 10% 10%,rgba(210,35,112,.1),transparent 34%),#070707;overflow:hidden}
.v8-experience-head{display:grid;grid-template-columns:1fr 1.25fr;gap:25px;align-items:end;margin-bottom:50px}.v8-experience-head .v3-eyebrow{grid-column:1/-1}.v8-experience-head h2{margin:0;font:400 clamp(3.3rem,7vw,7.4rem)/.88 Georgia,serif;letter-spacing:-.06em}.v8-experience-head>p:last-child{max-width:540px;color:#a8a8a8;line-height:1.8;font-size:1.05rem}
.v8-experience-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:18px}.v8-exp-card{position:relative;min-height:550px;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:#111}.v8-exp-card:nth-child(2),.v8-exp-card:nth-child(3){min-height:470px;margin-top:80px}.v8-exp-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.92));z-index:1}.v8-exp-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform 1.1s cubic-bezier(.2,.7,.2,1),filter .5s}.v8-exp-card:hover img{transform:scale(1.09);filter:saturate(1.15)}.v8-exp-card>div{position:absolute;z-index:2;left:28px;right:28px;bottom:28px}.v8-exp-card span{color:#e4af37;font:1.1rem Georgia,serif}.v8-exp-card h3{margin:.25em 0;font:2rem Georgia,serif}.v8-exp-card p{margin:0;color:#c5c5c5;line-height:1.6}
.v8-promo{position:relative;min-height:540px;display:grid;place-items:center;padding:80px 6vw;text-align:center;background-image:linear-gradient(rgba(0,0,0,.52),rgba(0,0,0,.86)),var(--promo-bg,linear-gradient(135deg,#301124,#080808));background-size:cover;background-position:center;background-attachment:fixed;overflow:hidden}.v8-promo:before{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(229,177,54,.4);border-radius:50%;animation:v8Pulse 4s ease-in-out infinite}.v8-promo>div{position:relative;z-index:2;max-width:880px}.v8-promo h2{margin:.2em 0;font:400 clamp(3.5rem,8vw,8rem)/.9 Georgia,serif}.v8-promo p{color:#ddd;font-size:1.1rem;line-height:1.7}.v8-promo .v3-primary{margin-top:20px}@keyframes v8Pulse{50%{transform:scale(1.2);opacity:.25}}
.anim-dynamic .reveal{transition-duration:.55s}.anim-soft .reveal{transition-duration:1.1s}.anim-dynamic .v8-exp-card:hover img{transform:scale(1.14) rotate(.4deg)}
@media(max-width:900px){.v8-experience-head{grid-template-columns:1fr}.v8-experience-grid{grid-template-columns:1fr 1fr}.v8-exp-card:first-child{grid-column:1/-1}.v8-exp-card:nth-child(2),.v8-exp-card:nth-child(3){margin-top:0}.v8-promo{background-attachment:scroll}}
@media(max-width:620px){.v8-experience{padding:70px 18px}.v8-experience-grid{grid-template-columns:1fr}.v8-exp-card:first-child{grid-column:auto}.v8-exp-card,.v8-exp-card:nth-child(2),.v8-exp-card:nth-child(3){min-height:430px}.v8-experience-head h2{font-size:3.6rem}.v8-promo{min-height:470px;padding:60px 20px}.v8-promo:before{width:260px;height:260px}.hero-bg-video{min-height:100%}}
@media(prefers-reduced-motion:reduce){.v3-hero .hero-bg,.v8-promo:before{animation:none}.v8-promo{background-attachment:scroll}}

/* V8.0.1 — suppression des numéros décoratifs sur l'accueil */
.v3-manifest{grid-template-columns:1.1fr .8fr}
.v3-section-num,.v3-event-number,.v8-exp-card span{display:none!important}
.v3-event>a{grid-template-columns:180px 1fr 55px}
.v8-exp-card h3{margin:0 0 .25em}
@media(max-width:980px){.v3-manifest{grid-template-columns:1fr}.v3-event>a{grid-template-columns:130px 1fr 35px}}
@media(max-width:620px){.v3-event>a{grid-template-columns:1fr 36px}.v3-event-photo{grid-column:1/3}.v3-event-arrow{grid-column:2;grid-row:2}}


/* V8.2 — médias Accueil Premium réellement visibles */
.v8-experience{position:relative;isolation:isolate}
.v8-experience:before{content:"";position:absolute;inset:0;z-index:-2;background-image:linear-gradient(rgba(7,7,7,.86),rgba(7,7,7,.96)),var(--experience-bg,none);background-size:cover;background-position:center;background-attachment:fixed;opacity:.72}
.v8-experience:after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 10% 10%,rgba(210,35,112,.12),transparent 34%);pointer-events:none}
@media(max-width:900px){.v8-experience:before{background-attachment:scroll}}


/* V8.5 — HERO réellement piloté par Gestion */
.functional-hero .hero-bg{background-image:var(--hero-admin-bg,url('/assets/img/hero-dj-jos-final-v3.png'))!important;}
.v3-reborn{background-image:linear-gradient(rgba(5,5,5,var(--site-bg-alpha,.82)),rgba(5,5,5,var(--site-bg-alpha,.82))),var(--site-bg-image);background-size:auto,var(--site-bg-size,520px);background-position:center,var(--site-bg-position,center top);background-repeat:no-repeat,var(--site-bg-repeat,repeat);background-attachment:fixed,fixed;}
.home-live-ticker-track a{display:inline-flex;color:inherit;text-decoration:none}.home-live-ticker-track a:hover span{color:#ffd35a}
.premium-footer{position:relative;padding:68px 5vw 22px;background:linear-gradient(145deg,rgba(6,6,8,.98),rgba(16,8,18,.98));border-top:1px solid rgba(231,180,61,.38);color:#eee;overflow:hidden}
.premium-footer:before{content:"";position:absolute;inset:-40% auto auto -10%;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(221,44,126,.17),transparent 68%)}
.premium-footer-grid{position:relative;display:grid;grid-template-columns:1.2fr .75fr .9fr 1.3fr;gap:38px;max-width:1450px;margin:auto}.premium-footer h3{font-family:Georgia,serif;color:#f7c84a;font-size:1.8rem;margin:10px 0}.premium-footer h4{color:#f7c84a;text-transform:uppercase;letter-spacing:.1em}.premium-footer p{color:#bbb;line-height:1.7}.premium-footer a{display:block;color:#eee;margin:9px 0}.premium-footer-logo{width:120px}.footer-facebook{display:inline-flex!important;padding:10px 15px;border:1px solid #3f6fce;border-radius:999px;background:#173a79}.footer-map iframe,.footer-map-empty{width:100%;height:220px;border:0;border-radius:16px;background:#151515}.footer-map-empty{display:grid;place-items:center;padding:20px;text-align:center;color:#999}.footer-mini-gallery{max-width:1450px;margin:34px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.footer-mini-gallery img{width:100%;height:150px;object-fit:cover;border-radius:14px;border:1px solid rgba(255,255,255,.1)}.premium-footer-bottom{max-width:1450px;margin:25px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);display:flex;gap:22px;align-items:center}.premium-footer-bottom span{margin-right:auto;color:#999}
.offers-page{min-height:100vh;background:#050505;color:#fff}.offers-hero{padding:170px 5vw 80px;text-align:center;background:radial-gradient(circle at 50% 0,rgba(225,34,127,.25),transparent 40%),#050505}.offers-hero h1{font-family:Georgia,serif;font-size:clamp(3.2rem,8vw,7rem);margin:0;color:#f7c84a}.offers-grid{max-width:1350px;margin:auto;padding:50px 5vw 100px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.offer-card{overflow:hidden;border:1px solid rgba(232,181,60,.3);border-radius:22px;background:#101014;box-shadow:0 15px 45px rgba(0,0,0,.35)}.offer-card img{width:100%;height:280px;object-fit:cover}.offer-card-content{padding:25px}.offer-card h2{margin:.2em 0;font-family:Georgia,serif;font-size:2rem;color:#ffd152}.offer-price{display:inline-block;margin:8px 0 14px;padding:7px 12px;border-radius:999px;background:#d92d7a;font-weight:800}.offer-card p{color:#ccc;line-height:1.65}.offer-card .v3-primary{margin-top:12px;display:inline-flex}
@media(max-width:980px){.premium-footer-grid{grid-template-columns:1fr 1fr}.offers-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.premium-footer{padding-inline:20px}.premium-footer-grid,.offers-grid{grid-template-columns:1fr}.footer-mini-gallery{grid-template-columns:1fr}.premium-footer-bottom{flex-wrap:wrap}.premium-footer-bottom span{width:100%}.v3-reborn{background-attachment:scroll}}


/* V9.1 — footer accueil réellement compact + coupon offre caché */
body.v3-reborn .premium-footer{padding:28px 3.5vw 14px!important;min-height:0!important}
body.v3-reborn .premium-footer-grid{grid-template-columns:1fr .72fr .9fr 1.15fr;gap:24px!important;align-items:start;max-width:1500px}
body.v3-reborn .premium-footer-grid section{min-height:0!important}
body.v3-reborn .premium-footer h3{font-size:1.45rem;margin:4px 0 8px}
body.v3-reborn .premium-footer h4{font-size:.9rem;margin:0 0 10px}
body.v3-reborn .premium-footer p{line-height:1.45;margin:5px 0}
body.v3-reborn .premium-footer a{margin:6px 0}
body.v3-reborn .premium-footer-logo{width:82px;max-height:76px;object-fit:contain}
body.v3-reborn .footer-facebook{padding:8px 12px!important;font-size:.88rem}
body.v3-reborn .footer-map iframe,body.v3-reborn .footer-map-empty{height:135px!important;border-radius:12px}
body.v3-reborn .footer-mini-gallery{margin:16px auto 0;gap:8px}
body.v3-reborn .footer-mini-gallery img{height:82px}
body.v3-reborn .premium-footer-bottom{margin:14px auto 0;padding-top:12px;font-size:.78rem}
.coupon-page{min-height:100vh;margin:0;background:radial-gradient(circle at 50% 0,rgba(225,34,127,.2),transparent 36%),#050505;color:#fff;font-family:Arial,sans-serif}.coupon-shell{width:min(1050px,92vw);margin:auto;padding:38px 0 80px}.coupon-back{display:inline-block;color:#ffd152;text-decoration:none;margin-bottom:24px}.coupon-intro{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center;padding:28px;border:1px solid rgba(247,200,74,.28);border-radius:26px;background:#0f0f13}.coupon-intro>img{width:100%;max-height:520px;object-fit:cover;border-radius:18px}.coupon-intro h1{font-family:Georgia,serif;font-size:clamp(2.5rem,6vw,5rem);line-height:.98;margin:.2em 0;color:#ffd152}.coupon-intro p{line-height:1.7;color:#d0d0d0}.coupon-reveal{border:0;cursor:pointer}.coupon-ticket{margin-top:38px;overflow:hidden;border:3px dashed #ffd152;border-radius:28px;background:linear-gradient(145deg,#25111c,#0b0b0d);box-shadow:0 30px 90px rgba(0,0,0,.5);text-align:center}.coupon-ticket>img{display:block;width:100%;max-height:680px;object-fit:contain;background:#000}.coupon-ticket-copy{padding:32px}.coupon-won{font-size:1.15rem;font-weight:900;letter-spacing:.12em;color:#ffd152}.coupon-ticket h2{font-family:Georgia,serif;font-size:clamp(2.2rem,6vw,4.8rem);margin:.15em 0}.coupon-ticket-copy>p{font-size:1.12rem;line-height:1.65}.coupon-code{display:inline-block;margin:18px 0;padding:14px 20px;border:1px solid #ffd152;border-radius:12px;font-size:1.1rem;letter-spacing:.08em}.coupon-instruction{padding:15px;border-radius:14px;background:#ffd152;color:#111;font-weight:900}.coupon-ticket small{display:block;color:#bbb;margin-top:15px}
@media(max-width:900px){body.v3-reborn .premium-footer-grid{grid-template-columns:1fr 1fr}.coupon-intro{grid-template-columns:1fr}}
@media(max-width:620px){body.v3-reborn .premium-footer{padding:24px 18px 12px!important}body.v3-reborn .premium-footer-grid{grid-template-columns:1fr;gap:18px!important}body.v3-reborn .footer-map iframe,body.v3-reborn .footer-map-empty{height:120px!important}body.v3-reborn .footer-mini-gallery img{height:95px}.coupon-shell{padding-top:20px}.coupon-intro{padding:17px;gap:20px}.coupon-ticket-copy{padding:22px 16px}}


/* V9.2 — footer ultra compact + page cadeau plus courte */
body.v3-reborn .premium-footer{padding:14px 3.5vw 8px!important}
body.v3-reborn .premium-footer-grid{gap:16px!important;grid-template-columns:.78fr .62fr .82fr 1fr!important}
body.v3-reborn .premium-footer-grid section{padding:0!important}
body.v3-reborn .premium-footer-logo{width:58px!important;max-height:54px!important}
body.v3-reborn .premium-footer h3{font-size:1.12rem!important;margin:2px 0 4px!important}
body.v3-reborn .premium-footer h4{font-size:.78rem!important;margin:0 0 6px!important}
body.v3-reborn .premium-footer p,body.v3-reborn .premium-footer nav a{font-size:.83rem!important;line-height:1.3!important;margin:3px 0!important}
body.v3-reborn .footer-facebook{padding:6px 9px!important;font-size:.78rem!important;margin-top:6px!important}
body.v3-reborn .footer-map iframe,body.v3-reborn .footer-map-empty{height:88px!important;min-height:0!important;padding:10px!important;font-size:.78rem!important}
body.v3-reborn .footer-mini-gallery{display:none!important}
body.v3-reborn .premium-footer-bottom{margin:8px auto 0!important;padding-top:7px!important;font-size:.68rem!important;min-height:0!important}

.coupon-shell{width:min(920px,94vw)!important;padding:18px 0 36px!important}
.coupon-back{margin-bottom:12px!important;font-size:.9rem}
.coupon-intro{grid-template-columns:minmax(0,.72fr) minmax(0,1fr)!important;gap:22px!important;padding:18px!important;border-radius:20px!important}
.coupon-intro:not(:has(> img)){grid-template-columns:1fr!important}
.coupon-intro>img{max-height:300px!important;border-radius:14px!important}
.coupon-intro h1{font-size:clamp(2rem,5vw,3.6rem)!important;margin:.12em 0!important}
.coupon-intro p{margin:8px 0!important;line-height:1.45!important}
.coupon-reveal{padding:12px 18px!important;margin-top:8px!important}
.coupon-ticket{margin-top:20px!important;border-radius:20px!important}
.coupon-ticket>img{max-height:520px!important}
.coupon-ticket-copy{padding:20px!important}
.coupon-won{font-size:.95rem!important;margin:0 0 8px!important}
.coupon-ticket h2{font-size:clamp(1.9rem,5vw,3.5rem)!important;margin:.08em 0!important}
.coupon-ticket-copy>p{font-size:1rem!important;line-height:1.45!important;margin:10px 0!important}
.coupon-instruction{padding:11px!important;font-size:.95rem!important}
@media(max-width:900px){body.v3-reborn .premium-footer-grid{grid-template-columns:1fr 1fr!important}.coupon-intro{grid-template-columns:1fr!important}}
@media(max-width:620px){body.v3-reborn .premium-footer{padding:12px 16px 7px!important}body.v3-reborn .premium-footer-grid{gap:12px!important}.coupon-shell{padding-top:12px!important}.coupon-intro{padding:14px!important;gap:14px!important}.coupon-ticket-copy{padding:16px 12px!important}}

/* V9.4 — bandeaux sur toutes les pages */
.page-live-ticker{position:relative;top:auto;left:auto;right:auto;z-index:20;margin:0;width:100%;background:var(--ticker-bg,#090909)}
.page-live-ticker .home-live-ticker-track{padding:9px 0}
.inner-page .page-live-ticker + .inner-heading{padding-top:34px}
.offers-page .page-live-ticker{margin-top:0}
@media(max-width:850px){.page-live-ticker{top:auto}.page-live-ticker .home-live-ticker-track{padding:8px 0}}

/* V9.6 — bas de page très compact sur toutes les pages */
body.v3-reborn .premium-footer{
  padding:8px 3vw 5px!important;
}
body.v3-reborn .premium-footer-grid{
  grid-template-columns:.68fr .58fr .76fr .95fr!important;
  gap:10px!important;
  max-width:1500px!important;
}
body.v3-reborn .premium-footer-logo{
  width:44px!important;
  max-height:42px!important;
}
body.v3-reborn .premium-footer h3{
  font-size:.95rem!important;
  margin:0 0 2px!important;
}
body.v3-reborn .premium-footer h4{
  font-size:.69rem!important;
  margin:0 0 3px!important;
}
body.v3-reborn .premium-footer p,
body.v3-reborn .premium-footer nav a,
body.v3-reborn .premium-footer section>a{
  font-size:.72rem!important;
  line-height:1.18!important;
  margin:2px 0!important;
}
body.v3-reborn .footer-facebook{
  padding:4px 7px!important;
  font-size:.68rem!important;
  margin-top:3px!important;
}
body.v3-reborn .footer-map iframe,
body.v3-reborn .footer-map-empty{
  height:62px!important;
  border-radius:8px!important;
  padding:5px!important;
  font-size:.68rem!important;
}
body.v3-reborn .premium-footer-bottom{
  margin:4px auto 0!important;
  padding-top:4px!important;
  font-size:.6rem!important;
  gap:12px!important;
}

.signature-cta{
  padding:10px 3vw!important;
  min-height:0!important;
}
.signature-cta>div{
  min-height:0!important;
  gap:12px!important;
}
.signature-cta p{
  margin:0!important;
  font-size:.82rem!important;
  line-height:1.2!important;
}
.signature-cta a{
  padding:6px 10px!important;
  font-size:.7rem!important;
}
.signature-cta>div>span{
  font-size:1.1rem!important;
}

.premium-v5-footer{
  padding:14px 3vw 0!important;
  min-height:0!important;
}
.premium-v5-footer:after{
  display:none!important;
}
.premium-v5-footer .premium-footer-grid{
  grid-template-columns:.78fr .72fr .88fr .82fr!important;
  gap:14px!important;
  max-width:1450px!important;
}
.premium-v5-footer .premium-footer-grid section{
  padding:0!important;
  border-left:0!important;
  min-height:0!important;
}
.premium-v5-footer .premium-footer-brand img{
  height:48px!important;
  max-width:95px!important;
  object-fit:contain!important;
}
.premium-v5-footer .premium-footer-brand p,
.premium-v5-footer .premium-footer-grid p,
.premium-v5-footer .premium-footer-grid a{
  margin:2px 0!important;
  font-size:.74rem!important;
  line-height:1.22!important;
}
.premium-v5-footer .premium-footer-grid h3{
  font-size:.82rem!important;
  margin:0 0 5px!important;
  padding-bottom:5px!important;
}
.premium-v5-footer .premium-footer-socials{
  display:flex!important;
  gap:5px!important;
  flex-wrap:wrap!important;
  margin-top:4px!important;
}
.premium-v5-footer .premium-footer-socials a{
  padding:4px 7px!important;
  font-size:.62rem!important;
}
.premium-v5-footer .premium-footer-bottom{
  margin:7px auto 0!important;
  padding:6px 0!important;
  font-size:.58rem!important;
  gap:12px!important;
}

@media(max-width:900px){
  body.v3-reborn .premium-footer-grid,
  .premium-v5-footer .premium-footer-grid{
    grid-template-columns:1fr 1fr!important;
    gap:10px 16px!important;
  }
}
@media(max-width:620px){
  body.v3-reborn .premium-footer{
    padding:8px 14px 5px!important;
  }
  body.v3-reborn .premium-footer-grid,
  .premium-v5-footer .premium-footer-grid{
    grid-template-columns:1fr 1fr!important;
    gap:9px 12px!important;
  }
  body.v3-reborn .footer-map iframe,
  body.v3-reborn .footer-map-empty{
    height:54px!important;
  }
  .signature-cta{
    padding:8px 14px!important;
  }
  .signature-cta p{
    display:none!important;
  }
  .premium-v5-footer{
    padding:10px 14px 0!important;
  }
  .premium-v5-footer .premium-footer-brand p{
    display:none!important;
  }
  .premium-v5-footer .premium-footer-brand img{
    height:40px!important;
  }
  .premium-v5-footer .premium-footer-bottom{
    flex-direction:row!important;
    justify-content:space-between!important;
    text-align:left!important;
    margin-top:5px!important;
  }
}

/* =========================================================
   COSTA DO SOL V10 — MOBILE PREMIUM / PHASE 1
   Toutes les règles sont volontairement limitées au mobile.
   La version ordinateur reste inchangée.
   ========================================================= */
.mobile-premium-nav{display:none}

@media (max-width:620px){
  body.v3-reborn{padding-bottom:78px}
  body.v3-reborn .v3-hero{min-height:auto}
  body.v3-reborn .v3-nav{height:68px;padding:0 14px;gap:10px}
  body.v3-reborn .v3-logo{height:64px;min-width:0}
  body.v3-reborn .v3-logo img{height:55px;max-width:128px}
  body.v3-reborn .v3-logo>span:last-child{display:none}
  body.v3-reborn .v3-nav-actions{gap:7px}
  body.v3-reborn .v3-tiktok{display:none}
  body.v3-reborn .v3-nav-book{padding:10px 13px;font-size:.66rem;border-radius:999px}

  body.v3-reborn .home-live-ticker{top:68px}
  body.v3-reborn.home-live-enabled .v3-hero-grid{padding-top:88px}
  body.v3-reborn.home-live-disabled .v3-hero-grid{padding-top:76px}
  body.v3-reborn .v3-hero-grid{min-height:610px;padding-left:18px;padding-right:18px;padding-bottom:62px;align-items:end}
  body.v3-reborn .v3-hero-main{max-width:100%}
  body.v3-reborn .v3-overline{font-size:.62rem;letter-spacing:.15em;margin-bottom:11px}
  body.v3-reborn .v3-hero-main h1{font-size:clamp(2.65rem,13vw,4.25rem);line-height:.91;letter-spacing:-.045em;max-width:9ch}
  body.v3-reborn .v3-hero-text{font-size:.98rem;line-height:1.5;max-width:31ch;margin-top:15px}
  body.v3-reborn .v3-hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;width:100%;margin-top:22px}
  body.v3-reborn .v3-hero-actions a{min-height:48px;padding:12px 10px;border-radius:14px;font-size:.72rem;display:flex;align-items:center;justify-content:center;text-align:center}
  body.v3-reborn .v3-hero-aside{display:none}
  body.v3-reborn .v3-hero-bottom{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0 12px}
  body.v3-reborn .v3-hero-bottom span{padding:8px 5px;font-size:.56rem;text-align:center;border-bottom:1px solid rgba(255,255,255,.08)}

  body.v3-reborn .v3-manifest{padding:54px 18px;gap:18px}
  body.v3-reborn .v3-manifest h2{font-size:clamp(2.35rem,11vw,3.4rem);line-height:.98}
  body.v3-reborn .v3-manifest>p{font-size:.98rem;line-height:1.65}
  body.v3-reborn .v3-week,body.v3-reborn .v3-gallery-home{padding:58px 18px}
  body.v3-reborn .v3-section-head{align-items:end;gap:14px;margin-bottom:24px}
  body.v3-reborn .v3-section-head h2{font-size:clamp(2.4rem,11vw,3.5rem);line-height:.96}
  body.v3-reborn .v3-section-head>a{font-size:.66rem;max-width:105px;text-align:right}
  body.v3-reborn .v3-event-list{gap:14px}
  body.v3-reborn .v3-event{border-radius:20px;overflow:hidden;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08)}
  body.v3-reborn .v3-event>a{grid-template-columns:1fr 42px;padding:0}
  body.v3-reborn .v3-event-photo{grid-column:1/3;height:260px}
  body.v3-reborn .v3-event-info{padding:17px 5px 18px 16px}
  body.v3-reborn .v3-event-info h3{font-size:1.45rem;margin:5px 0}
  body.v3-reborn .v3-event-arrow{padding-right:14px}

  body.v3-reborn .v8-experience{padding:60px 18px}
  body.v3-reborn .v8-experience-head h2{font-size:clamp(2.7rem,12vw,3.7rem)}
  body.v3-reborn .v8-exp-card,body.v3-reborn .v8-exp-card:nth-child(2),body.v3-reborn .v8-exp-card:nth-child(3){min-height:360px;border-radius:22px}
  body.v3-reborn .v8-exp-card div{padding:22px}

  body.v3-reborn .home-live-words{padding:28px 18px;gap:8px;text-align:center}
  body.v3-reborn .home-live-words span{font-size:.72rem}
  body.v3-reborn .home-live-words strong{font-size:clamp(2rem,10vw,3rem)}
  body.v3-reborn .home-gallery-track a{width:238px;height:176px;border-radius:18px}
  body.v3-reborn .home-reviews-live{padding:58px 18px;gap:22px}
  body.v3-reborn .home-reviews-slider{min-height:285px;padding:25px;border-radius:22px}
  body.v3-reborn .home-reviews-slider article{inset:25px 25px 52px}
  body.v3-reborn .home-reviews-slider blockquote{font-size:1.15rem;line-height:1.5}
  body.v3-reborn .v3-cta{padding:62px 18px}
  body.v3-reborn .v3-cta h2{font-size:clamp(2.5rem,11vw,3.7rem);line-height:.98}
  body.v3-reborn .v3-cta>div{display:grid;grid-template-columns:1fr 1fr;gap:9px}
  body.v3-reborn .v3-cta a{min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center;padding:11px 9px}
  body.v3-reborn .v3-contact-strip{display:none}
  body.v3-reborn .floating-whatsapp{bottom:88px;right:15px;width:50px;height:50px}

  .mobile-premium-nav{position:fixed;left:10px;right:10px;bottom:9px;z-index:9999;height:64px;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;padding:5px 4px calc(5px + env(safe-area-inset-bottom));border:1px solid rgba(255,255,255,.13);border-radius:20px;background:rgba(10,10,12,.9);box-shadow:0 14px 45px rgba(0,0,0,.48);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  .mobile-premium-nav a{height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#aaa;text-decoration:none;font-size:.55rem;font-weight:800;letter-spacing:.02em;border-radius:15px;transition:.2s ease}
  .mobile-premium-nav a span{font-size:1.15rem;line-height:1}
  .mobile-premium-nav a.active,.mobile-premium-nav a:active{color:#ffd152;background:rgba(255,209,82,.1)}
}


/* =========================================================
   COSTA DO SOL V10 — MOBILE PREMIUM / PHASE 2
   Navigation globale et finitions des pages intérieures.
   Règles exclusivement mobiles : aucun changement sur PC.
   ========================================================= */
@media (max-width:620px){
  body.inner-page{padding-bottom:82px}
  body.inner-page .premium-nav{height:68px;padding:0 13px;gap:8px}
  body.inner-page .premium-brand{height:64px;min-width:0}
  body.inner-page .premium-brand img{height:55px;max-width:126px}
  body.inner-page .premium-brand-copy{display:none}
  body.inner-page .premium-book{padding:10px 12px;font-size:.64rem}
  body.inner-page .menu-toggle{width:39px;height:36px;border-radius:12px;padding:7px}

  body.inner-page .premium-menu{top:68px;inset-inline:9px;padding:9px;border:1px solid rgba(255,255,255,.12);border-radius:0 0 20px 20px;background:rgba(7,7,8,.97);box-shadow:0 24px 55px rgba(0,0,0,.55);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  body.inner-page .premium-menu a{padding:13px 12px;border-radius:12px;font-size:.78rem;letter-spacing:.08em}
  body.inner-page .premium-menu a.active{background:rgba(223,170,47,.12);color:#ffd767}

  body.inner-page .premium-inner-heading{min-height:190px;padding:105px 16px 28px!important}
  body.inner-page .premium-inner-heading .eyebrow{font-size:.58rem;letter-spacing:.15em}
  body.inner-page .premium-inner-heading h1{font-size:clamp(2.35rem,12vw,3.55rem);line-height:.96;margin:.14em 0}
  body.inner-page .page-live-ticker + .inner-heading{padding-top:25px!important}

  body.inner-page .compact-section{padding:46px 16px}
  body.inner-page .ornament-title{gap:9px;margin-bottom:23px}
  body.inner-page .ornament-title h2{font-size:clamp(1.45rem,7vw,2.15rem);line-height:1;text-align:center}
  body.inner-page .ornament-title span{min-width:20px}

  body.inner-page .luxury-event-grid{grid-template-columns:1fr;gap:16px}
  body.inner-page .luxury-event-card{border-radius:21px;overflow:hidden}
  body.inner-page .luxury-event-image{min-height:390px}
  body.inner-page .luxury-event-copy{padding:22px 18px}
  body.inner-page .luxury-event-copy h3{font-size:1.75rem;line-height:1.02}
  body.inner-page .luxury-event-card footer{padding:14px 17px}

  body.inner-page .standalone-reservation{grid-template-columns:1fr;gap:22px;padding-top:38px}
  body.inner-page .reservation-intro h2{font-size:clamp(2.4rem,11vw,3.25rem);line-height:.98}
  body.inner-page .quick-contact{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  body.inner-page .quick-contact a{min-height:46px;display:flex;align-items:center;justify-content:center;text-align:center;border-radius:13px;padding:10px 7px}
  body.inner-page .reservation-rules{border-radius:18px;padding:17px}
  body.inner-page .reservation-card{border-radius:22px;padding:18px}
  body.inner-page .reservation-form .form-row,
  body.inner-page .reservation-form .form-row.three{grid-template-columns:1fr;gap:13px}
  body.inner-page .reservation-form input,
  body.inner-page .reservation-form select,
  body.inner-page .reservation-form textarea{min-height:50px;font-size:16px;border-radius:13px}
  body.inner-page .reservation-submit{width:100%;min-height:52px;border-radius:14px}

  body.inner-page .v3-gallery-grid,
  body.inner-page .premium-gallery{grid-template-columns:1fr 1fr;gap:9px}
  body.inner-page .v3-gallery-grid .gallery-open{height:190px;border-radius:16px}
  body.inner-page .premium-gallery .gallery-featured{grid-column:span 2;grid-row:auto}

  body.inner-page .premium-contact{gap:28px;padding:46px 16px}
  body.inner-page .contact-main h2{font-size:clamp(2.35rem,11vw,3.35rem);line-height:.98}
  body.inner-page .contact-actions a{grid-template-columns:1fr auto;gap:10px;padding:18px 0}
  body.inner-page .contact-actions a small{grid-column:1/-1}
  body.inner-page .contact-actions strong{font-size:.96rem;overflow-wrap:anywhere}

  body.inner-page .premium-v5-footer{padding-bottom:8px!important}
  body.inner-page .floating-whatsapp{bottom:88px;right:15px;width:50px;height:50px}

  .mobile-premium-nav{padding-bottom:max(5px,env(safe-area-inset-bottom))}
  .mobile-premium-nav a{position:relative;-webkit-tap-highlight-color:transparent}
  .mobile-premium-nav a.active:after{content:"";position:absolute;bottom:3px;width:18px;height:2px;border-radius:99px;background:#ffd152;box-shadow:0 0 10px rgba(255,209,82,.7)}
}

/* =========================================================
   COSTA DO SOL V10 — MOBILE PREMIUM / PHASE 3
   Expérience tactile, rythme visuel et finition type application.
   Exclusivement mobile : aucun impact sur l'affichage ordinateur.
   ========================================================= */
@media (max-width:620px){
  html{scroll-padding-bottom:92px}
  body.v3-reborn,body.inner-page{-webkit-tap-highlight-color:transparent}

  /* Hero plus lisible et plus luxueux sur petit écran */
  body.v3-reborn .v3-hero-overlay{
    background:linear-gradient(0deg,rgba(3,3,5,.98) 0%,rgba(3,3,5,.64) 46%,rgba(3,3,5,.2) 76%),linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.08))
  }
  body.v3-reborn .v3-hero-main{
    padding:18px 16px 17px;
    border:1px solid rgba(255,255,255,.11);
    border-radius:24px;
    background:linear-gradient(145deg,rgba(7,7,10,.72),rgba(18,10,18,.48));
    box-shadow:0 20px 55px rgba(0,0,0,.42);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px)
  }
  body.v3-reborn .v3-hero-main h1{max-width:10ch;margin-bottom:.2em}
  body.v3-reborn .v3-hero-text{margin-bottom:0}
  body.v3-reborn .v3-primary,body.v3-reborn .v3-secondary,
  body.inner-page .premium-book,body.inner-page .reservation-submit{
    transition:transform .16s ease,filter .16s ease,background .16s ease
  }
  body.v3-reborn .v3-primary:active,body.v3-reborn .v3-secondary:active,
  body.inner-page .premium-book:active,body.inner-page .reservation-submit:active{
    transform:scale(.97);filter:brightness(1.08)
  }

  /* Événements de l'accueil : défilement horizontal naturel au doigt */
  body.v3-reborn .v3-event-list{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:minmax(82vw,82vw);
    gap:13px;
    overflow-x:auto;
    padding:2px 2px 15px;
    margin-right:-18px;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    overscroll-behavior-inline:contain
  }
  body.v3-reborn .v3-event-list::-webkit-scrollbar{display:none}
  body.v3-reborn .v3-event{scroll-snap-align:start}
  body.v3-reborn .v3-event-photo{height:235px}
  body.v3-reborn .v3-event-info small{font-size:.66rem}
  body.v3-reborn .v3-event-info p{font-size:.86rem}

  /* Cartes expérience : glissement horizontal plus rapide qu'une longue colonne */
  body.v3-reborn .v8-experience-grid{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:84vw;
    grid-template-columns:none;
    overflow-x:auto;
    gap:13px;
    margin-right:-18px;
    padding:1px 2px 15px;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    overscroll-behavior-inline:contain
  }
  body.v3-reborn .v8-experience-grid::-webkit-scrollbar{display:none}
  body.v3-reborn .v8-exp-card,
  body.v3-reborn .v8-exp-card:nth-child(2),
  body.v3-reborn .v8-exp-card:nth-child(3){scroll-snap-align:start;min-height:390px}

  /* Galerie et avis avec profondeur légère */
  body.v3-reborn .home-gallery-track a{box-shadow:0 16px 38px rgba(0,0,0,.36)}
  body.v3-reborn .home-reviews-slider{border:1px solid rgba(232,181,60,.2);background:linear-gradient(145deg,rgba(20,16,20,.95),rgba(8,8,10,.96))}

  /* Pages intérieures : cartes et formulaires plus tactiles */
  body.inner-page .luxury-event-card,
  body.inner-page .reservation-card,
  body.inner-page .contact-form-card,
  body.inner-page .offer-card{
    box-shadow:0 18px 48px rgba(0,0,0,.32)
  }
  body.inner-page input,body.inner-page select,body.inner-page textarea{touch-action:manipulation}
  body.inner-page .contact-actions a:active,
  body.inner-page .quick-contact a:active,
  body.inner-page .luxury-event-card:active{transform:scale(.985)}

  /* Footer très compact : l'essentiel reste accessible par la barre basse */
  body.v3-reborn .signature-cta,body.inner-page .signature-cta{display:none!important}
  body.v3-reborn .premium-v5-footer,
  body.inner-page .premium-v5-footer{padding:13px 15px 7px!important}
  body.v3-reborn .premium-v5-footer .premium-footer-grid,
  body.inner-page .premium-v5-footer .premium-footer-grid{display:none!important}
  body.v3-reborn .premium-v5-footer .premium-footer-bottom,
  body.inner-page .premium-v5-footer .premium-footer-bottom{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    min-height:34px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    text-align:center!important;
    font-size:.62rem!important
  }
  body.v3-reborn .premium-v5-footer .premium-footer-bottom span:last-child,
  body.inner-page .premium-v5-footer .premium-footer-bottom span:last-child{display:none!important}

  /* Barre basse : meilleur repère et prise en charge des iPhone */
  .mobile-premium-nav{
    height:66px;
    bottom:max(8px,env(safe-area-inset-bottom));
    border-color:rgba(232,181,60,.2);
    background:linear-gradient(145deg,rgba(13,13,16,.94),rgba(7,7,9,.92));
    box-shadow:0 18px 55px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.055)
  }
  .mobile-premium-nav a{min-width:0;touch-action:manipulation}
  .mobile-premium-nav a span{transition:transform .18s ease}
  .mobile-premium-nav a:active span{transform:scale(.88)}
  .mobile-premium-nav a.active span{transform:translateY(-1px) scale(1.06)}
  .mobile-premium-nav a.active{color:#ffd86a;text-shadow:0 0 14px rgba(255,216,106,.3)}

  /* Le bouton WhatsApp ne masque jamais la navigation */
  body.v3-reborn .floating-whatsapp,body.inner-page .floating-whatsapp{
    bottom:91px!important;
    box-shadow:0 12px 32px rgba(0,0,0,.38)
  }
}

/* =========================================================
   COSTA DO SOL V10 — MOBILE PREMIUM / PHASE 4
   En-tête intelligent, très petits écrans et accessibilité.
   Exclusivement mobile : aucun impact sur l'affichage ordinateur.
   ========================================================= */
@media (max-width:620px){
  body.v3-reborn .v3-nav,
  body.inner-page .premium-nav{
    transition:height .22s ease,padding .22s ease,background .22s ease,box-shadow .22s ease,transform .22s ease;
    will-change:height
  }
  body.mobile-has-scrolled.v3-reborn .v3-nav,
  body.mobile-has-scrolled.inner-page .premium-nav{
    height:58px;
    background:rgba(7,7,9,.94);
    box-shadow:0 10px 30px rgba(0,0,0,.34);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px)
  }
  body.mobile-has-scrolled.v3-reborn .v3-logo,
  body.mobile-has-scrolled.inner-page .premium-brand{height:56px}
  body.mobile-has-scrolled.v3-reborn .v3-logo img,
  body.mobile-has-scrolled.inner-page .premium-brand img{height:47px}
  body.mobile-has-scrolled.v3-reborn .v3-nav-book,
  body.mobile-has-scrolled.inner-page .premium-book{padding:8px 11px}
  body.mobile-has-scrolled.v3-reborn .home-live-ticker{top:58px}

  .mobile-premium-nav a[aria-current="page"]{color:#ffd86a;background:rgba(255,216,106,.1)}
  .mobile-premium-nav a[aria-current="page"]:after{content:"";position:absolute;bottom:3px;width:18px;height:2px;border-radius:99px;background:#ffd152;box-shadow:0 0 10px rgba(255,209,82,.7)}

  body.v3-reborn .v3-event-list:after,
  body.v3-reborn .v8-experience-grid:after{
    content:"";
    width:5px;
    height:1px
  }

  body.v3-reborn .v3-event-list,
  body.v3-reborn .v8-experience-grid,
  body.v3-reborn .home-gallery-track{-webkit-overflow-scrolling:touch}

  a,button,input,select,textarea{scroll-margin-bottom:96px}
  button,a{touch-action:manipulation}
}

@media (max-width:390px){
  .mobile-premium-nav{left:6px;right:6px;border-radius:18px;padding-inline:2px}
  .mobile-premium-nav a{font-size:.49rem;gap:2px}
  .mobile-premium-nav a span{font-size:1.05rem}
  body.v3-reborn .v3-hero-actions,
  body.v3-reborn .v3-cta>div{grid-template-columns:1fr}
  body.v3-reborn .v3-hero-grid{padding-left:12px;padding-right:12px}
  body.v3-reborn .v3-hero-main{padding:16px 13px}
  body.inner-page .quick-contact{grid-template-columns:1fr}
}

@media (max-width:620px) and (orientation:landscape){
  .mobile-premium-nav{height:58px;bottom:5px}
  .mobile-premium-nav a{height:47px;flex-direction:row;font-size:.52rem;gap:4px}
  .mobile-premium-nav a span{font-size:.95rem}
  body.v3-reborn,body.inner-page{padding-bottom:70px}
  body.v3-reborn .floating-whatsapp,body.inner-page .floating-whatsapp{bottom:72px!important}
}

@media (prefers-reduced-motion:reduce){
  @media (max-width:620px){
    body.v3-reborn .v3-nav,
    body.inner-page .premium-nav,
    .mobile-premium-nav a,
    .mobile-premium-nav a span,
    body.v3-reborn .v3-primary,
    body.v3-reborn .v3-secondary{transition:none!important}
    html{scroll-behavior:auto!important}
  }
}

/* =========================================================
   COSTA DO SOL V10 — MOBILE PREMIUM / PHASE 5
   Repères de navigation, gestes tactiles et finition application.
   Exclusivement mobile : aucun impact sur l'affichage ordinateur.
   ========================================================= */
@media (max-width:620px){
  /* Fine barre de progression sous l'en-tête */
  .mobile-scroll-progress{
    position:fixed;
    top:0;
    left:0;
    z-index:10050;
    width:100%;
    height:3px;
    pointer-events:none;
    background:transparent
  }
  .mobile-scroll-progress span{
    display:block;
    width:0;
    height:100%;
    border-radius:0 99px 99px 0;
    background:linear-gradient(90deg,#c9952f,#ffd96a);
    box-shadow:0 0 12px rgba(255,211,92,.45);
    transition:width .08s linear
  }

  /* Indication de glissement sur les carrousels mobiles */
  .mobile-swipe-zone{position:relative}
  .mobile-swipe-zone:before{
    content:"Glissez";
    position:absolute;
    top:-28px;
    right:3px;
    z-index:3;
    padding:5px 9px;
    border:1px solid rgba(232,181,60,.22);
    border-radius:99px;
    color:rgba(255,231,167,.82);
    background:rgba(9,9,12,.72);
    font-size:.56rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    animation:mobileSwipeHint 1.5s ease-in-out infinite
  }
  .mobile-swipe-zone:after{
    content:"→";
    position:absolute;
    top:-25px;
    right:63px;
    z-index:3;
    color:#ffd96a;
    font-size:.8rem;
    animation:mobileSwipeArrow 1.5s ease-in-out infinite
  }
  .mobile-swipe-zone.has-been-used:before,
  .mobile-swipe-zone.has-been-used:after{display:none}

  /* Les cartes s'arrêtent naturellement au centre de l'écran */
  body.v3-reborn .v3-event-list,
  body.v3-reborn .v8-experience-grid,
  body.v3-reborn .home-gallery-track{
    scroll-padding-inline:2px;
    cursor:grab
  }
  body.v3-reborn .v3-event-list:active,
  body.v3-reborn .v8-experience-grid:active,
  body.v3-reborn .home-gallery-track:active{cursor:grabbing}

  /* Navigation basse : léger relief au toucher */
  .mobile-premium-nav a:active{
    background:rgba(255,216,106,.08);
    transform:translateY(1px)
  }
  .mobile-premium-nav a.active{
    background:linear-gradient(180deg,rgba(255,216,106,.12),rgba(255,216,106,.035))
  }

  /* Retour en haut discret après une longue descente */
  .mobile-back-top{
    position:fixed;
    right:17px;
    bottom:151px;
    z-index:10020;
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border:1px solid rgba(232,181,60,.28);
    border-radius:50%;
    color:#ffe7a5;
    background:rgba(8,8,11,.9);
    box-shadow:0 12px 30px rgba(0,0,0,.34);
    opacity:0;
    visibility:hidden;
    transform:translateY(10px) scale(.92);
    transition:opacity .2s ease,visibility .2s ease,transform .2s ease;
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px)
  }
  .mobile-back-top.is-visible{
    opacity:1;
    visibility:visible;
    transform:none
  }
  .mobile-back-top:active{transform:scale(.92)}

  @keyframes mobileSwipeHint{0%,100%{transform:translateX(0);opacity:.72}50%{transform:translateX(-4px);opacity:1}}
  @keyframes mobileSwipeArrow{0%,100%{transform:translateX(0)}50%{transform:translateX(4px)}}
}

@media (max-width:390px){
  .mobile-back-top{right:12px;bottom:145px;width:39px;height:39px}
  .mobile-swipe-zone:before{font-size:.51rem}
}

@media (prefers-reduced-motion:reduce){
  @media (max-width:620px){
    .mobile-swipe-zone:before,
    .mobile-swipe-zone:after{animation:none!important}
    .mobile-scroll-progress span{transition:none!important}
  }
}

/* =========================================================
   COSTA DO SOL V10 — MOBILE PREMIUM / PHASE 6
   Navigation intelligente, clavier mobile et chargement visuel.
   Exclusivement mobile : aucun impact sur l'affichage ordinateur.
   ========================================================= */
@media (max-width:620px){
  .mobile-premium-nav{
    transition:transform .24s ease,opacity .2s ease,box-shadow .2s ease
  }
  body.mobile-nav-hidden .mobile-premium-nav{
    transform:translateY(calc(100% + 18px));
    opacity:.15;
    pointer-events:none
  }
  body.mobile-nav-hidden .floating-whatsapp{
    bottom:18px!important
  }
  body.mobile-nav-hidden .mobile-back-top{
    bottom:72px
  }

  /* La navigation ne masque pas le clavier ni les champs actifs */
  body.mobile-keyboard-open .mobile-premium-nav{
    transform:translateY(calc(100% + 18px));
    opacity:0;
    pointer-events:none
  }
  body.mobile-keyboard-open .floating-whatsapp,
  body.mobile-keyboard-open .mobile-back-top{display:none!important}

  /* Hauteur plus fiable sur les navigateurs mobiles modernes */
  body.v3-reborn .v3-hero{min-height:min(760px,calc(100svh - 58px))}

  /* Images secondaires : apparition propre après chargement */
  img[data-mobile-lazy="1"]{
    opacity:0;
    transition:opacity .28s ease
  }
  img[data-mobile-lazy="1"].is-mobile-loaded{opacity:1}
}

@media (prefers-reduced-motion:reduce){
  @media (max-width:620px){
    .mobile-premium-nav,
    img[data-mobile-lazy="1"]{transition:none!important}
  }
}

/* =========================================================
   COSTA DO SOL V10.8 — MENU MOBILE PREMIUM ANIMÉ
   Correction écran noir + navigation visible et professionnelle.
   ========================================================= */
.mobile-menu-intro,.mobile-menu-actions,.mobile-menu-signature{display:none}

@media (max-width:1080px){
  body.public-menu-open{overflow:hidden!important;touch-action:none}
  .premium-site-header,.v3-hero{position:relative;z-index:10000}
  .menu-toggle{z-index:10003!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:0;transition:transform .3s ease,border-color .3s ease,background .3s ease}
  .menu-toggle span{transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .2s ease;width:23px!important;margin:3px 0!important;transform-origin:center}
  .menu-toggle.is-open{border-color:rgba(255,211,103,.8)!important;background:rgba(231,174,43,.12)!important;transform:rotate(90deg)}
  .menu-toggle.is-open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .menu-toggle.is-open span:nth-child(2){opacity:0;transform:scaleX(0)}
  .menu-toggle.is-open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

  .hero-menu.premium-menu,.hero-menu.v3-menu{
    position:fixed!important;inset:0!important;z-index:10002!important;display:flex!important;
    flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;
    gap:3px!important;padding:92px 22px calc(30px + env(safe-area-inset-bottom))!important;
    overflow-y:auto!important;overscroll-behavior:contain;
    background:
      radial-gradient(circle at 50% 8%,rgba(230,174,47,.2),transparent 28%),
      linear-gradient(180deg,rgba(8,8,10,.985),rgba(2,2,3,.995))!important;
    border:0!important;border-radius:0!important;box-shadow:none!important;
    opacity:0;visibility:hidden;pointer-events:none;
    transform:translateY(-14px) scale(1.015);
    transition:opacity .32s ease,transform .38s cubic-bezier(.2,.8,.2,1),visibility 0s linear .38s;
  }
  .hero-menu.premium-menu.is-open,.hero-menu.v3-menu.is-open{
    opacity:1;visibility:visible;pointer-events:auto;transform:none;
    transition-delay:0s;
  }
  .hero-menu.premium-menu:before,.hero-menu.v3-menu:before{
    content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
    background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
    background-size:32px 32px;mask-image:linear-gradient(to bottom,#000,transparent 78%);
  }
  .mobile-menu-intro{display:flex;flex-direction:column;align-items:center;margin:0 auto 14px;text-align:center;animation:none}
  .mobile-menu-sun{display:grid;place-items:center;width:48px;height:48px;margin-bottom:7px;border:1px solid rgba(255,210,94,.42);border-radius:50%;color:#ffd25d;font-size:1.45rem;box-shadow:0 0 38px rgba(224,163,31,.2);animation:menuSunPulse 2.8s ease-in-out infinite}
  .mobile-menu-intro small{color:#aaa;font-size:.59rem;font-style:normal;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
  .mobile-menu-intro strong{margin-top:3px;color:#fff;font-family:Georgia,serif;font-size:clamp(1.8rem,8vw,2.35rem);line-height:1}
  .mobile-menu-intro em{margin-top:5px;color:#d9ad4b;font-size:.64rem;font-style:normal;letter-spacing:.16em;text-transform:uppercase}

  .hero-menu.premium-menu>a,.hero-menu.v3-menu>a{
    display:flex!important;align-items:center!important;justify-content:space-between!important;
    width:100%!important;min-height:48px!important;padding:10px 15px!important;margin:0!important;
    border:1px solid transparent!important;border-radius:14px!important;
    color:#f1f1f1!important;background:rgba(255,255,255,.025)!important;
    font-size:clamp(.86rem,3.8vw,1rem)!important;font-weight:850!important;letter-spacing:.09em!important;text-align:left!important;text-transform:uppercase!important;
    opacity:0;transform:translateY(13px);transition:background .2s,border-color .2s,color .2s,transform .2s!important;
  }
  .hero-menu.premium-menu>a:after,.hero-menu.v3-menu>a:after{content:"→"!important;position:static!important;width:auto!important;height:auto!important;background:none!important;color:#c99626!important;transform:none!important;font-size:1rem!important}
  .hero-menu.premium-menu>a.active,.hero-menu.v3-menu>a.active{color:#ffd563!important;border-color:rgba(224,169,44,.28)!important;background:linear-gradient(90deg,rgba(221,163,38,.16),rgba(221,163,38,.03))!important}
  .hero-menu.is-open>a{animation:menuLinkIn .42s both}
  .hero-menu.is-open>a:nth-of-type(1){animation-delay:.08s}.hero-menu.is-open>a:nth-of-type(2){animation-delay:.12s}.hero-menu.is-open>a:nth-of-type(3){animation-delay:.16s}.hero-menu.is-open>a:nth-of-type(4){animation-delay:.20s}.hero-menu.is-open>a:nth-of-type(5){animation-delay:.24s}.hero-menu.is-open>a:nth-of-type(6){animation-delay:.28s}

  .mobile-menu-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:13px}
  .mobile-menu-actions a{display:flex!important;align-items:center;justify-content:center;min-height:48px!important;padding:10px!important;border-radius:14px!important;text-align:center!important;font-size:.7rem!important;font-weight:950!important;letter-spacing:.06em!important;text-transform:uppercase!important}
  .mobile-menu-actions a:first-child{color:#080808!important;background:linear-gradient(135deg,#ffe593,#dc9f1e)!important}
  .mobile-menu-actions a:last-child{color:#fff!important;border:1px solid rgba(255,255,255,.2)!important;background:rgba(255,255,255,.055)!important}
  .mobile-menu-signature{display:block;margin:18px 0 4px;color:#777;text-align:center;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase}
}

@media (max-width:620px){
  .hero-menu.premium-menu,.hero-menu.v3-menu{padding-top:82px!important;padding-left:16px!important;padding-right:16px!important}
}

@keyframes menuLinkIn{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:none}}
@keyframes menuSunPulse{0%,100%{transform:scale(1);box-shadow:0 0 25px rgba(224,163,31,.14)}50%{transform:scale(1.06);box-shadow:0 0 42px rgba(224,163,31,.3)}}
@media (prefers-reduced-motion:reduce){.hero-menu,.hero-menu>a,.menu-toggle,.menu-toggle span,.mobile-menu-sun{animation:none!important;transition:none!important}}

/* =========================================================
   COSTA DO SOL V10.9 — NAVIGATION MOBILE PROFESSIONNELLE
   Barre inférieure premium, icônes SVG et repère actif animé.
   ========================================================= */
@media (max-width:620px){
  .mobile-premium-nav-v109{
    left:10px!important;right:10px!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;
    width:auto!important;height:68px!important;min-height:68px!important;
    padding:5px 5px 6px!important;border:1px solid rgba(255,255,255,.1)!important;
    border-radius:22px!important;
    background:linear-gradient(180deg,rgba(20,20,22,.96),rgba(5,5,7,.985))!important;
    box-shadow:0 18px 50px rgba(0,0,0,.55),inset 0 1px rgba(255,255,255,.06)!important;
    backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
    overflow:visible!important;
  }
  .mobile-premium-nav-v109:before{
    content:"";position:absolute;left:18%;right:18%;top:0;height:1px;
    background:linear-gradient(90deg,transparent,rgba(255,214,112,.72),transparent);
    opacity:.7;pointer-events:none;
  }
  .mobile-premium-nav-v109 a{
    position:relative;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
    gap:3px!important;min-width:0!important;height:57px!important;padding:2px 1px!important;
    border-radius:17px!important;color:#8c8c93!important;text-decoration:none!important;
    transition:color .2s ease,transform .22s ease,background .22s ease!important;
  }
  .mobile-premium-nav-v109 a:before{
    content:"";position:absolute;left:50%;top:1px;width:28px;height:3px;border-radius:999px;
    background:linear-gradient(90deg,#ffe18a,#c98716);opacity:0;transform:translate(-50%,-5px) scaleX(.25);
    transition:opacity .22s ease,transform .28s cubic-bezier(.2,.8,.2,1);
  }
  .mobile-premium-nav-v109 a.active{
    color:#ffe18a!important;background:linear-gradient(180deg,rgba(229,173,47,.12),rgba(229,173,47,.02))!important;
    transform:translateY(-1px);
  }
  .mobile-premium-nav-v109 a.active:before{opacity:1;transform:translate(-50%,-2px) scaleX(1)}
  .mobile-premium-nav-v109 small{
    display:block!important;font-size:.58rem!important;line-height:1!important;font-weight:800!important;
    letter-spacing:.02em!important;color:inherit!important;text-transform:none!important;
  }
  .mobile-nav-icon{
    display:grid!important;place-items:center!important;width:25px!important;height:25px!important;margin:0!important;
    color:inherit!important;line-height:1!important;transition:transform .24s ease,filter .24s ease!important;
  }
  .mobile-nav-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .mobile-premium-nav-v109 a.active .mobile-nav-icon{transform:translateY(-1px) scale(1.07);filter:drop-shadow(0 0 8px rgba(255,205,77,.28))}
  .mobile-premium-nav-v109 .mobile-nav-icon-main{
    width:34px!important;height:34px!important;margin-top:-17px!important;border:1px solid rgba(255,220,125,.5)!important;
    border-radius:50%!important;color:#17120a!important;background:linear-gradient(145deg,#ffe69b,#c98a18)!important;
    box-shadow:0 8px 24px rgba(202,137,22,.32),inset 0 1px rgba(255,255,255,.65)!important;
  }
  .mobile-premium-nav-v109 .mobile-nav-icon-main svg{width:19px;height:19px;stroke-width:2}
  .mobile-premium-nav-v109 a:nth-child(3) small{margin-top:0}
  body.public-menu-open .mobile-premium-nav-v109{opacity:0!important;visibility:hidden!important;transform:translateY(24px)!important;pointer-events:none!important}
  body.mobile-keyboard-open .mobile-premium-nav-v109{display:none!important}
  body{padding-bottom:calc(86px + env(safe-area-inset-bottom))!important}
}

@media (max-width:370px){
  .mobile-premium-nav-v109{left:6px!important;right:6px!important}
  .mobile-premium-nav-v109 small{font-size:.53rem!important}
}

@media (prefers-reduced-motion:reduce){
  .mobile-premium-nav-v109,.mobile-premium-nav-v109 a,.mobile-nav-icon{transition:none!important}
}

/* =========================================================
   COSTA DO SOL V9.8 — BARRE MOBILE TOUJOURS VISIBLE
   Correction exclusivement smartphone : la navigation basse
   reste fixée au-dessus de toutes les photos et sections.
   ========================================================= */
@media (max-width:620px){
  .mobile-premium-nav,
  .mobile-premium-nav-v109{
    position:fixed!important;
    z-index:2147483000!important;
    isolation:isolate!important;
    transform:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    will-change:auto!important;
  }

  body.mobile-nav-hidden .mobile-premium-nav,
  body.mobile-nav-hidden .mobile-premium-nav-v109{
    transform:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  /* Le grand menu ouvert reste prioritaire et masque proprement la barre basse. */
  body.public-menu-open .mobile-premium-nav,
  body.public-menu-open .mobile-premium-nav-v109{
    opacity:0!important;
    visibility:hidden!important;
    transform:translateY(24px)!important;
    pointer-events:none!important;
  }

  /* Sur les formulaires, on la masque seulement lorsque le clavier est réellement ouvert. */
  body.mobile-keyboard-open .mobile-premium-nav,
  body.mobile-keyboard-open .mobile-premium-nav-v109{
    display:none!important;
  }
}


/* =========================================================
   COSTA DO SOL V9.9 — CORRECTION DEFINITIVE NAVIGATION MOBILE
   Le menu plein écran passe au-dessus de toutes les photos.
   La barre basse est présente et fixe aussi sur l'accueil.
   ========================================================= */
@media (max-width:620px){
  .v3-home-hero,
  .premium-hero,
  .hero-shell,
  .hero-stage{
    overflow:visible!important;
    isolation:auto!important;
  }

  .hero-nav,
  .premium-nav{
    position:relative!important;
    z-index:2147483600!important;
    transform:none!important;
    filter:none!important;
    isolation:auto!important;
  }

  .hero-menu.premium-menu,
  .hero-menu.v3-menu{
    position:fixed!important;
    inset:0!important;
    z-index:2147483640!important;
    transform:translateY(-14px) scale(1.015)!important;
  }

  .hero-menu.premium-menu.is-open,
  .hero-menu.v3-menu.is-open{
    transform:none!important;
  }

  .menu-toggle{
    position:relative!important;
    z-index:2147483646!important;
  }

  .mobile-premium-nav,
  .mobile-premium-nav-v109{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    bottom:calc(8px + env(safe-area-inset-bottom))!important;
    z-index:2147483500!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  body.public-menu-open .mobile-premium-nav,
  body.public-menu-open .mobile-premium-nav-v109{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}

/* =========================================================
   COSTA DO SOL V10.0 — MENU MOBILE HORS DU HERO (PORTAIL BODY)
   Le panneau est déplacé directement sous <body> par JavaScript afin
   qu'aucune photo, vidéo, animation ou conteneur du hero ne puisse le recouvrir.
   ========================================================= */
@media (max-width:1080px){
  body > .hero-menu.mobile-menu-portal{
    position:fixed!important;
    inset:0!important;
    z-index:2147483647!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:3px!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:100vh!important;
    margin:0!important;
    padding:82px 16px calc(30px + env(safe-area-inset-bottom))!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    isolation:isolate!important;
    transform:translateY(-12px)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    background:radial-gradient(circle at 50% 8%,rgba(230,174,47,.22),transparent 30%),linear-gradient(180deg,#09090b 0%,#020203 100%)!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    transition:opacity .25s ease,transform .3s ease,visibility 0s linear .3s!important;
  }
  body > .hero-menu.mobile-menu-portal.is-open{
    transform:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transition-delay:0s!important;
  }
  .mobile-menu-close{
    position:fixed!important;
    top:calc(14px + env(safe-area-inset-top))!important;
    right:16px!important;
    z-index:2147483647!important;
    width:46px!important;
    height:46px!important;
    display:grid!important;
    place-items:center!important;
    padding:0!important;
    border:1px solid rgba(255,211,103,.55)!important;
    border-radius:14px!important;
    background:#111!important;
    color:#ffd563!important;
    font-size:29px!important;
    line-height:1!important;
    cursor:pointer!important;
  }
  body.public-menu-open::after{
    content:"";position:fixed;inset:0;z-index:2147483646;background:#020203;pointer-events:none;
  }
  body.public-menu-open > .hero-menu.mobile-menu-portal{z-index:2147483647!important}
}


/* =========================================================
   COSTA DO SOL V10.1 — BARRE BASSE INTELLIGENTE
   Visible en haut et à la remontée, masquée à la descente.
   Mobile uniquement, sans impact sur ordinateur.
   ========================================================= */
@media (max-width:620px){
  .mobile-premium-nav,
  .mobile-premium-nav-v109{
    transition:transform .26s ease,opacity .22s ease,visibility .22s ease!important;
  }
  body.mobile-nav-hidden:not(.public-menu-open):not(.mobile-keyboard-open) .mobile-premium-nav,
  body.mobile-nav-hidden:not(.public-menu-open):not(.mobile-keyboard-open) .mobile-premium-nav-v109{
    transform:translateY(calc(100% + 24px))!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  body:not(.mobile-nav-hidden):not(.public-menu-open):not(.mobile-keyboard-open) .mobile-premium-nav,
  body:not(.mobile-nav-hidden):not(.public-menu-open):not(.mobile-keyboard-open) .mobile-premium-nav-v109{
    transform:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
}


/* =========================================================
   COSTA DO SOL V10.2 — FINITIONS MOBILE + PERFORMANCE
   Ajustements sûrs sur toutes les pages publiques.
   ========================================================= */
html{overflow-x:hidden}
img{max-width:100%;height:auto}
@media (max-width:620px){
  body{overflow-x:hidden;-webkit-text-size-adjust:100%}
  main{min-width:0}
  img,video{max-width:100%}
  .inner-heading,.premium-inner-heading{padding-left:18px!important;padding-right:18px!important}
  .premium-inner-heading h1,.inner-heading h1{font-size:clamp(2rem,10vw,3.15rem)!important;line-height:.98!important;overflow-wrap:anywhere}
  .premium-inner-heading .eyebrow,.inner-heading .eyebrow{font-size:.68rem!important;letter-spacing:.15em!important}
  main>section,main>.section,.public-section{scroll-margin-top:82px}
  input,select,textarea,button{font-size:16px}
  button,a{-webkit-tap-highlight-color:transparent}
  .v3-primary,.premium-book,.premium-map-link,.secondary-btn{min-height:44px}
  .luxury-event-card img,.offer-card img,.music-card-cover img,.gallery-card img{display:block;width:100%;object-fit:cover}
  .signature-cta{padding-left:14px!important;padding-right:14px!important}
  .signature-cta>div{max-width:100%!important}
  .floating-whatsapp{bottom:calc(92px + env(safe-area-inset-bottom))!important}
}
@media (max-width:390px){
  .premium-brand-copy small{font-size:.57rem!important;letter-spacing:.04em!important}
  .premium-brand-copy strong{font-size:.93rem!important}
}

/* =========================================================
   COSTA DO SOL V10.4 — EQUILIBRE TYPOGRAPHIQUE ACCUEIL PC
   Correction strictement limitée aux grands écrans.
   Aucun impact sur le smartphone, le panel ou les fonctions.
   ========================================================= */
@media (min-width:1081px){
  body.v3-reborn .v3-nav{
    height:76px!important;
    padding-inline:3.6vw!important;
  }
  body.v3-reborn .v3-menu,
  body.v3-reborn .premium-menu{
    gap:clamp(16px,1.65vw,27px)!important;
  }
  body.v3-reborn .v3-menu>a,
  body.v3-reborn .premium-menu>a,
  body.v3-reborn .hero-menu>a{
    padding-top:27px!important;
    padding-bottom:23px!important;
    font-size:.71rem!important;
    letter-spacing:.075em!important;
  }
  body.v3-reborn .v3-nav-book,
  body.v3-reborn .premium-book{
    padding:11px 18px!important;
    font-size:.7rem!important;
  }
  body.v3-reborn .v3-nav-actions,
  body.v3-reborn .premium-nav-actions{
    gap:10px!important;
  }

  body.v3-reborn .v3-hero-main h1{
    max-width:820px!important;
    font-size:clamp(4.1rem,6.7vw,7.25rem)!important;
    line-height:.86!important;
    letter-spacing:-.055em!important;
  }
  body.v3-reborn .v3-hero-text{
    max-width:600px!important;
    font-size:1rem!important;
    line-height:1.68!important;
  }
  body.v3-reborn .v3-overline,
  body.v3-reborn .v3-eyebrow{
    font-size:.66rem!important;
  }

  body.v3-reborn .v3-manifest h2,
  body.v3-reborn .v3-section-head h2,
  body.v3-reborn .v3-exp-copy h2,
  body.v3-reborn .v3-cta h2{
    font-size:clamp(2.9rem,4.8vw,5.65rem)!important;
    line-height:.94!important;
    letter-spacing:-.045em!important;
  }
  body.v3-reborn .v8-experience-head h2{
    font-size:clamp(3rem,5.2vw,6rem)!important;
    line-height:.92!important;
  }
  body.v3-reborn .v3-event-info h3{
    font-size:1.95rem!important;
  }
  body.v3-reborn .v3-manifest>p:last-child,
  body.v3-reborn .v8-experience-head>p:last-child{
    font-size:1rem!important;
  }
}


/* ==========================================================
   CORRECTION BARRE PUBLIQUE — Costa Club + réseaux sociaux
   ========================================================== */
@media (min-width:1101px){
  .v3-nav>.menu-toggle,.premium-nav>.menu-toggle{display:none!important}
}
.v3-nav>.menu-toggle,.premium-nav>.menu-toggle{
  appearance:none;-webkit-appearance:none;background:transparent!important;
  border:0!important;box-shadow:none!important;color:inherit;padding:0;
}
.public-nav-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:max-content}
.public-nav-socials{display:flex;align-items:center;gap:7px}
.public-nav-socials a{
  display:grid!important;place-items:center;width:36px;height:36px;padding:0;
  border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(0,0,0,.34);
  color:#fff!important;font-size:1rem;font-weight:950;line-height:1;text-decoration:none;
  transition:transform .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease
}
.public-nav-socials a:hover{transform:translateY(-2px);color:#ffd35f!important;border-color:#e7af32;box-shadow:0 0 16px rgba(231,175,50,.24)}
.costa-club-nav-button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 17px;
  border:1px solid rgba(208,78,255,.78);border-radius:10px;
  background:linear-gradient(135deg,rgba(8,57,62,.94),rgba(69,15,92,.92));
  color:#fff!important;font-size:.72rem;font-weight:950;letter-spacing:.09em;text-transform:uppercase;
  text-decoration:none;white-space:nowrap;box-shadow:0 0 15px rgba(174,40,255,.22),inset 0 0 14px rgba(27,220,205,.08);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease
}
.costa-club-nav-button:hover{transform:translateY(-2px);border-color:#69f3df;box-shadow:0 0 21px rgba(181,57,255,.42),0 0 12px rgba(57,237,211,.2)}
.costa-club-nav-button span{font-size:1rem;line-height:1}

@media (max-width:1100px){
  .public-nav-socials{display:none!important}
  .costa-club-nav-button{min-height:38px;padding:0 12px;font-size:.64rem;letter-spacing:.055em}
  .v3-nav-actions,.premium-nav-actions{display:flex!important}
  .v3-nav,.premium-nav{grid-template-columns:minmax(0,1fr) auto auto!important}
  .v3-nav>.menu-toggle,.premium-nav>.menu-toggle{display:flex!important;order:3}
  .public-nav-actions{order:2}
}
@media (max-width:560px){
  .costa-club-nav-button{padding:0 10px;min-height:36px;font-size:.58rem;border-radius:9px}
  .costa-club-nav-button span{display:none}
  .v3-logo span:last-child,.premium-brand-copy{display:none!important}
  .v3-logo img,.premium-brand img{max-width:116px!important;height:55px!important}
  .v3-nav,.premium-nav{padding-left:10px!important;padding-right:10px!important;gap:8px!important}
}
@media (max-width:390px){
  .costa-club-nav-button{padding:0 8px;font-size:.54rem}
  .v3-logo img,.premium-brand img{max-width:100px!important;height:50px!important}
}


/* =========================================================
   HEADER PREMIUM — Costa Club mis en avant, réseaux retirés
   ========================================================= */
.public-nav-actions,
.v3-nav-actions.premium-nav-actions,
.v3-nav-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:0;
}
.public-nav-socials,
.premium-socials.public-nav-socials{
  display:none!important;
}
.costa-club-nav-button{
  position:relative;
  isolation:isolate;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  padding:10px 18px;
  border:1px solid rgba(118,255,232,.55);
  border-radius:999px;
  color:#fff!important;
  background:linear-gradient(115deg,#00bfa6 0%,#16c8d4 37%,#7652e8 72%,#b63bd8 100%);
  box-shadow:0 8px 24px rgba(0,190,166,.24),0 0 18px rgba(139,74,232,.30),inset 0 1px 0 rgba(255,255,255,.32);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.095em;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;
}
.costa-club-nav-button:before{
  content:"";
  position:absolute;
  z-index:-1;
  top:-80%;
  left:-42%;
  width:26%;
  height:270%;
  background:rgba(255,255,255,.55);
  transform:rotate(24deg);
  transition:left .65s ease;
}
.costa-club-nav-button:hover{
  transform:translateY(-2px) scale(1.025);
  filter:saturate(1.1) brightness(1.08);
  box-shadow:0 12px 30px rgba(0,190,166,.34),0 0 28px rgba(156,70,235,.48),inset 0 1px 0 rgba(255,255,255,.42);
}
.costa-club-nav-button:hover:before{left:125%}
.costa-club-nav-button span{font-size:1rem;filter:drop-shadow(0 2px 3px rgba(0,0,0,.25))}
@media(max-width:1080px){
  .costa-club-nav-button{min-height:39px;padding:9px 14px;font-size:.68rem;letter-spacing:.07em}
}
@media(max-width:680px){
  .costa-club-nav-button{min-height:36px;padding:8px 12px;font-size:.62rem;gap:6px}
  .costa-club-nav-button span{font-size:.9rem}
}


/* V10.4 — Bouton Costa Club deux lignes */
.costa-club-nav-button{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-width:174px;
  min-height:48px;
  padding:7px 16px!important;
  line-height:1!important;
  text-align:left;
}
.costa-club-nav-button .costa-club-icon{
  display:block!important;
  flex:0 0 auto;
  font-size:1.05rem!important;
}
.costa-club-nav-button .costa-club-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
  white-space:nowrap;
}
.costa-club-nav-button .costa-club-copy strong{
  color:#fff;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.105em;
  line-height:1;
}
.costa-club-nav-button .costa-club-copy small{
  color:rgba(255,255,255,.88);
  font-size:.49rem;
  font-weight:800;
  letter-spacing:.035em;
  line-height:1;
  text-transform:none;
}
@media(max-width:900px){
  .costa-club-nav-button{min-width:154px;min-height:43px;padding:6px 12px!important;gap:7px}
  .costa-club-nav-button .costa-club-copy strong{font-size:.65rem}
  .costa-club-nav-button .costa-club-copy small{font-size:.44rem}
}
@media(max-width:560px){
  .costa-club-nav-button{min-width:132px;min-height:39px;padding:5px 9px!important;border-radius:12px;gap:5px}
  .costa-club-nav-button .costa-club-icon{font-size:.86rem!important}
  .costa-club-nav-button .costa-club-copy strong{font-size:.57rem;letter-spacing:.07em}
  .costa-club-nav-button .costa-club-copy small{font-size:.38rem;letter-spacing:0}
}
@media(max-width:390px){
  .costa-club-nav-button{min-width:116px;padding:5px 7px!important}
  .costa-club-nav-button .costa-club-copy strong{font-size:.52rem}
  .costa-club-nav-button .costa-club-copy small{font-size:.34rem}
}


/* V10.5 — Bouton final Costa Club : texte plus grand et Accès VIP */
.costa-club-nav-button{
  min-width:190px!important;
  min-height:52px!important;
  padding:7px 17px!important;
  gap:9px!important;
  border-radius:18px!important;
}
.costa-club-nav-button .costa-club-icon{
  display:inline-flex!important;
  font-size:1.18rem!important;
  line-height:1!important;
}
.costa-club-nav-button .costa-club-copy strong{
  font-size:1rem!important;
  line-height:1.05!important;
  letter-spacing:.085em!important;
  font-weight:900!important;
}
.costa-club-nav-button .costa-club-copy small{
  font-size:.72rem!important;
  line-height:1.05!important;
  margin-top:3px!important;
  letter-spacing:.045em!important;
  font-weight:700!important;
  opacity:.94!important;
}
@media (max-width:1100px){
  .costa-club-nav-button{min-width:170px!important;min-height:48px!important;padding:6px 13px!important}
  .costa-club-nav-button .costa-club-copy strong{font-size:.88rem!important}
  .costa-club-nav-button .costa-club-copy small{font-size:.64rem!important}
}
@media (max-width:760px){
  .costa-club-nav-button{min-width:145px!important;min-height:44px!important;padding:5px 10px!important;border-radius:15px!important;gap:6px!important}
  .costa-club-nav-button .costa-club-icon{font-size:.95rem!important}
  .costa-club-nav-button .costa-club-copy strong{font-size:.72rem!important;letter-spacing:.06em!important}
  .costa-club-nav-button .costa-club-copy small{font-size:.54rem!important;margin-top:2px!important}
}
@media (max-width:390px){
  .costa-club-nav-button{min-width:128px!important;min-height:41px!important;padding:4px 8px!important}
  .costa-club-nav-button .costa-club-icon{font-size:.86rem!important}
  .costa-club-nav-button .costa-club-copy strong{font-size:.64rem!important}
  .costa-club-nav-button .costa-club-copy small{font-size:.48rem!important}
}

/* V10.6 — Correction lisibilite Costa Club uniquement smartphone */
@media (max-width:760px){
  .costa-club-nav-button{
    min-width:158px!important;
    min-height:54px!important;
    padding:7px 11px!important;
    gap:7px!important;
    border-radius:17px!important;
  }
  .costa-club-nav-button .costa-club-icon{
    font-size:1.05rem!important;
  }
  .costa-club-nav-button .costa-club-copy strong{
    font-size:16px!important;
    line-height:1.05!important;
    letter-spacing:.045em!important;
  }
  .costa-club-nav-button .costa-club-copy small{
    font-size:12px!important;
    line-height:1.05!important;
    margin-top:3px!important;
    letter-spacing:.01em!important;
  }
}
@media (max-width:390px){
  .costa-club-nav-button{
    min-width:146px!important;
    min-height:52px!important;
    padding:6px 9px!important;
  }
  .costa-club-nav-button .costa-club-icon{
    font-size:1rem!important;
  }
  .costa-club-nav-button .costa-club-copy strong{
    font-size:15px!important;
  }
  .costa-club-nav-button .costa-club-copy small{
    font-size:11px!important;
  }
}

/* V10.7 — Bouton Costa Club nettement plus grand sur smartphone */
@media (max-width:760px){
  .premium-nav-actions.public-nav-actions{
    flex:0 0 auto!important;
  }
  .costa-club-nav-button{
    width:200px!important;
    min-width:200px!important;
    max-width:200px!important;
    min-height:62px!important;
    padding:8px 14px!important;
    gap:9px!important;
    border-radius:20px!important;
    flex-shrink:0!important;
  }
  .costa-club-nav-button .costa-club-icon{
    font-size:1.35rem!important;
  }
  .costa-club-nav-button .costa-club-copy{
    align-items:center!important;
    gap:4px!important;
  }
  .costa-club-nav-button .costa-club-copy strong{
    font-size:19px!important;
    line-height:1!important;
    letter-spacing:.035em!important;
  }
  .costa-club-nav-button .costa-club-copy small{
    font-size:13px!important;
    line-height:1!important;
    margin-top:2px!important;
    letter-spacing:.015em!important;
  }
}
@media (max-width:390px){
  .costa-club-nav-button{
    width:182px!important;
    min-width:182px!important;
    max-width:182px!important;
    min-height:58px!important;
    padding:7px 11px!important;
  }
  .costa-club-nav-button .costa-club-icon{
    font-size:1.22rem!important;
  }
  .costa-club-nav-button .costa-club-copy strong{
    font-size:17px!important;
  }
  .costa-club-nav-button .costa-club-copy small{
    font-size:12px!important;
  }
}


/* =========================================================
   COSTA DO SOL V11.0 — MENU SMARTPHONE PREMIUM
   Modification exclusivement mobile. Aucun impact sur PC.
   ========================================================= */
.mobile-menu-costa-club{display:none}

@media (max-width:620px){
  .hero-menu.premium-menu,.hero-menu.v3-menu{
    padding:76px 14px calc(28px + env(safe-area-inset-bottom))!important;
    gap:5px!important;
  }
  .mobile-menu-intro{margin-bottom:10px!important}
  .mobile-menu-sun{width:54px!important;height:54px!important;font-size:1.65rem!important}
  .mobile-menu-intro strong{font-size:2.05rem!important}

  .hero-menu.premium-menu>a:not(.mobile-menu-costa-club),
  .hero-menu.v3-menu>a:not(.mobile-menu-costa-club){
    min-height:52px!important;
    padding:11px 16px!important;
    border-radius:16px!important;
    font-size:.95rem!important;
    letter-spacing:.075em!important;
  }

  .mobile-menu-costa-club{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:72px!important;
    margin:10px 0 5px!important;
    padding:10px 15px!important;
    border:1px solid rgba(130,255,225,.72)!important;
    border-radius:21px!important;
    background:linear-gradient(120deg,#05caa7 0%,#4b73ef 47%,#a63ee8 100%)!important;
    box-shadow:0 9px 30px rgba(72,100,239,.32),0 0 22px rgba(5,202,167,.22),inset 0 1px rgba(255,255,255,.28)!important;
    color:#fff!important;
    text-decoration:none!important;
    text-transform:none!important;
    letter-spacing:0!important;
    opacity:1!important;
    transform:none!important;
  }
  .mobile-menu-costa-club:after{display:none!important;content:none!important}
  .mobile-menu-costa-club>span:first-child{
    flex:0 0 43px!important;
    width:43px!important;height:43px!important;
    display:grid!important;place-items:center!important;
    margin-right:11px!important;
    border-radius:50%!important;
    background:rgba(0,0,0,.18)!important;
    font-size:1.55rem!important;
    box-shadow:inset 0 1px rgba(255,255,255,.2)!important;
  }
  .mobile-menu-costa-club>span:nth-child(2){display:flex!important;flex:1!important;flex-direction:column!important;line-height:1.05!important}
  .mobile-menu-costa-club strong{font-size:1.15rem!important;font-weight:950!important;letter-spacing:.055em!important}
  .mobile-menu-costa-club small{margin-top:5px!important;color:rgba(255,255,255,.88)!important;font-size:.78rem!important;font-weight:800!important;letter-spacing:.03em!important}
  .mobile-menu-costa-club b{font-size:2rem!important;line-height:1!important;font-weight:400!important;color:#fff!important}
  .mobile-menu-costa-club:active{transform:scale(.985)!important}

  .mobile-menu-actions{margin-top:5px!important;gap:8px!important}
  .mobile-menu-actions a{min-height:50px!important;font-size:.72rem!important;border-radius:16px!important}
  .mobile-menu-signature{margin-top:15px!important}
}

@media (max-width:380px){
  .mobile-menu-costa-club{min-height:66px!important;padding:8px 12px!important}
  .mobile-menu-costa-club strong{font-size:1.03rem!important}
  .mobile-menu-costa-club small{font-size:.71rem!important}
  .hero-menu.premium-menu>a:not(.mobile-menu-costa-club),
  .hero-menu.v3-menu>a:not(.mobile-menu-costa-club){min-height:48px!important;font-size:.86rem!important}
}

/* =========================================================
   COSTA DO SOL — FOOTER PREMIUM + COSTA CLUB
   ========================================================= */
.footer-costa-club-band{
  max-width:1450px;
  margin:12px auto 0;
  padding:12px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border:1px solid rgba(244,195,74,.28);
  border-radius:16px;
  background:linear-gradient(110deg,rgba(93,19,64,.52),rgba(18,13,22,.94) 55%,rgba(27,55,46,.72));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 12px 32px rgba(0,0,0,.22)
}
.footer-costa-club-copy{display:flex;align-items:center;gap:11px;min-width:0}
.footer-costa-club-copy>span{font-size:1.55rem;filter:drop-shadow(0 0 10px rgba(244,195,74,.35))}
.footer-costa-club-copy div{display:flex;flex-direction:column;gap:1px}
.footer-costa-club-copy strong{font-size:.9rem;letter-spacing:.12em;color:#f5ce64}
.footer-costa-club-copy small{font-size:.7rem;color:rgba(255,255,255,.72)}
.footer-costa-club-band>a{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:38px;padding:8px 14px;border-radius:999px;
  background:linear-gradient(135deg,#f1c453,#fff0a6);
  color:#211509!important;font-size:.72rem!important;font-weight:900!important;
  text-transform:uppercase;letter-spacing:.055em;white-space:nowrap;
  box-shadow:0 8px 24px rgba(240,190,69,.18)
}
.footer-costa-club-band>a:hover{transform:translateY(-1px);filter:brightness(1.05)}

@media(max-width:620px){
  body.v3-reborn .premium-v5-footer,
  body.inner-page .premium-v5-footer{padding:12px 14px 86px!important}
  body.v3-reborn .premium-v5-footer .footer-costa-club-band,
  body.inner-page .premium-v5-footer .footer-costa-club-band{
    display:flex!important;
    margin:0 auto 10px!important;
    padding:12px!important;
    border-radius:15px!important;
    gap:10px!important
  }
  .footer-costa-club-copy{gap:9px}
  .footer-costa-club-copy>span{font-size:1.35rem}
  .footer-costa-club-copy strong{font-size:.78rem}
  .footer-costa-club-copy small{font-size:.61rem;line-height:1.15}
  .footer-costa-club-band>a{min-height:36px;padding:7px 11px;font-size:.62rem!important}
}

@media(max-width:390px){
  .footer-costa-club-band{align-items:stretch;flex-direction:column}
  .footer-costa-club-band>a{width:100%}
}

/* Page Soutenir restaurée : visible, compacte et premium */
.support-page{max-width:1180px;margin:0 auto;padding:70px 22px 120px;background:radial-gradient(circle at 50% 8%,rgba(105,20,65,.28),transparent 34%)}
.support-page .reveal{opacity:1!important;transform:none!important;visibility:visible!important}
.support-hero{text-align:center;max-width:820px;margin:0 auto 70px}
.support-heart{display:grid;width:118px;height:118px;margin:24px auto 28px;place-items:center;border:1px solid #b37d26;border-radius:50%;font-size:48px;color:#ff4c85;background:radial-gradient(circle,rgba(255,60,120,.18),transparent 68%);box-shadow:0 0 45px rgba(255,65,130,.12)}
.support-hero h2{margin:0;font-family:Georgia,serif;font-size:clamp(3.2rem,8vw,6.7rem);line-height:.9;color:#f5c64a}
.support-hero>p:last-child{max-width:760px;margin:28px auto 0;color:#d9d3d8;font-size:1.15rem}
.support-intro{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:end;padding:50px 0;border-top:1px solid rgba(226,177,61,.32)}
.support-intro h2{margin:8px 0 0;font-family:Georgia,serif;font-size:clamp(2.3rem,5vw,4.3rem);line-height:.98;color:#f5c64a}
.support-intro>p{color:#ccc4cd;font-size:1.05rem}
.support-reasons{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:15px 0 55px}
.support-reason{padding:28px;border:1px solid rgba(226,177,61,.28);border-radius:23px;background:rgba(13,13,14,.86)}
.support-reason>span{font-size:2rem}.support-reason h3{margin:15px 0 8px;color:#f2c34b}.support-reason p{margin:0;color:#bfb8c0}
.support-card{padding:34px;border:1px solid rgba(226,177,61,.4);border-radius:28px;background:linear-gradient(145deg,rgba(28,12,28,.96),rgba(8,8,10,.98));box-shadow:0 24px 70px rgba(0,0,0,.35)}
.support-card-head{text-align:center;max-width:720px;margin:0 auto 25px}.support-card-head h2{margin:8px 0;font-family:Georgia,serif;font-size:clamp(2.1rem,5vw,4rem);color:#f5c64a}.support-card-head p{color:#c9c2ca}
.support-amounts{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:25px 0}.support-amounts button{min-width:92px;padding:14px 18px;border:1px solid rgba(226,177,61,.5);border-radius:999px;background:#0b0b0c;color:#f4cf6b;font-weight:900;cursor:pointer}.support-amounts button.is-selected{background:linear-gradient(135deg,#f4c349,#fff0a1);color:#15100a;box-shadow:0 10px 26px rgba(244,195,73,.22)}
.support-custom{display:block;max-width:320px;margin:0 auto 20px;color:#d8d0d8}.support-custom input{width:100%;margin-top:7px;padding:13px;border:1px solid rgba(226,177,61,.45);border-radius:13px;background:#080809;color:white;font-size:16px}
.support-payment-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:720px;margin:22px auto 0}.support-pay-button{min-height:58px;border:0;border-radius:17px;display:flex;align-items:center;justify-content:center;gap:9px;font-weight:950;font-size:1rem;cursor:pointer}.support-pay-button.stripe{background:linear-gradient(135deg,#635bff,#847dff);color:#fff}.support-pay-button.paypal{background:linear-gradient(135deg,#ffd140,#ffb800);color:#152c54}.support-status{text-align:center;min-height:24px;margin:13px 0 0;color:#f4cf6b}.support-secure{text-align:center;display:block;margin-top:12px;color:#9e979f}
.support-thanks{display:grid;grid-template-columns:110px 1fr;gap:25px;align-items:center;margin-top:55px;padding:34px;border-top:1px solid rgba(226,177,61,.3)}.support-thanks>span{font-size:4rem;text-align:center;color:#f5c64a}.support-thanks h2{margin:6px 0;font-family:Georgia,serif;color:#f5c64a;font-size:2.2rem}.support-thanks p{color:#c6bec7}
@media(max-width:760px){
 .support-page{padding:45px 18px 110px}.support-hero{margin-bottom:45px}.support-heart{width:92px;height:92px;font-size:38px}.support-hero h2{font-size:clamp(3rem,16vw,5rem)}.support-hero>p:last-child{font-size:1rem}.support-intro{grid-template-columns:1fr;gap:16px;padding:36px 0}.support-reasons{grid-template-columns:1fr}.support-card{padding:24px 16px;border-radius:22px}.support-payment-actions{grid-template-columns:1fr}.support-thanks{grid-template-columns:1fr;text-align:center;padding:28px 10px}.support-thanks>span{font-size:3rem}
}


/* =========================================================
   CORRECTION PROPRE V1 — PAGES INTÉRIEURES IDENTIQUES À
   L'ACCUEIL SUR SMARTPHONE. Aucune modification de l'accueil.
   ========================================================= */
@media (max-width:760px){
  body.inner-page .inner-page-hero{
    min-height:0!important;
    height:auto!important;
    overflow:visible!important;
    background:#050507!important;
    border-bottom:0!important;
  }

  /* Même barre supérieure compacte que l'accueil */
  body.inner-page .inner-page-hero .hero-nav{
    position:relative!important;
    inset:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    height:76px!important;
    min-height:76px!important;
    padding:0 14px!important;
    gap:8px!important;
    background:linear-gradient(100deg,#080a0f 0%,#090d13 58%,#1b1009 100%)!important;
    border-bottom:1px solid rgba(222,174,67,.45)!important;
    transform:none!important;
    overflow:hidden!important;
  }

  body.inner-page .inner-page-hero .signature-home-brand{
    flex:0 0 76px!important;
    width:76px!important;
    min-width:76px!important;
    height:68px!important;
    margin:0!important;
    padding:0!important;
    gap:0!important;
    overflow:visible!important;
  }
  body.inner-page .inner-page-hero .signature-home-brand img{
    display:block!important;
    width:68px!important;
    height:68px!important;
    max-width:68px!important;
    max-height:68px!important;
    object-fit:contain!important;
  }
  body.inner-page .inner-page-hero .signature-home-brand>span:last-child,
  body.inner-page .inner-page-hero .home-brand-halo{display:none!important}

  body.inner-page .inner-page-hero .costa-access-buttons{
    flex:0 0 222px!important;
    width:222px!important;
    min-width:222px!important;
    max-width:222px!important;
    display:grid!important;
    grid-template-columns:108px 108px!important;
    gap:6px!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }

  body.inner-page .inner-page-hero .costa-access-button,
  body.inner-page .inner-page-hero .costa-club-nav-button,
  body.inner-page .inner-page-hero .costa-life-nav-button{
    box-sizing:border-box!important;
    width:108px!important;
    min-width:108px!important;
    max-width:108px!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    margin:0!important;
    padding:5px 6px!important;
    border-radius:14px!important;
    gap:4px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    transform:none!important;
  }
  body.inner-page .inner-page-hero .costa-access-button .costa-club-icon{
    display:block!important;
    flex:0 0 auto!important;
    font-size:13px!important;
    line-height:1!important;
  }
  body.inner-page .inner-page-hero .costa-access-button .costa-club-copy{
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:2px!important;
    overflow:hidden!important;
    line-height:1!important;
  }
  body.inner-page .inner-page-hero .costa-access-button .costa-club-copy strong{
    display:block!important;
    max-width:100%!important;
    margin:0!important;
    overflow:hidden!important;
    text-overflow:clip!important;
    white-space:nowrap!important;
    font-size:11px!important;
    line-height:1!important;
    letter-spacing:.02em!important;
  }
  body.inner-page .inner-page-hero .costa-access-button .costa-club-copy small{
    display:block!important;
    max-width:100%!important;
    margin:0!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    font-size:8px!important;
    line-height:1!important;
    letter-spacing:0!important;
  }

  body.inner-page .inner-page-hero .menu-toggle{
    position:relative!important;
    inset:auto!important;
    flex:0 0 38px!important;
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    margin:0!important;
    padding:5px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    z-index:30!important;
  }
  body.inner-page .inner-page-hero .menu-toggle span{
    display:block!important;
    width:28px!important;
    height:2px!important;
    margin:0!important;
    background:#e7b647!important;
  }

  /* Le bandeau reste immédiatement sous le header, comme à l'accueil */
  body.inner-page .inner-page-hero .page-live-ticker{
    position:relative!important;
    z-index:5!important;
    margin:0!important;
  }

  /* Titre intérieur propre, sans chevauchement ni grand vide */
  body.inner-page .inner-page-hero .inner-heading{
    position:relative!important;
    min-height:205px!important;
    margin:0!important;
    padding:55px 18px 42px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    background:#030303!important;
    transform:none!important;
  }
  body.inner-page .inner-page-hero .inner-heading .eyebrow{
    margin:0 0 13px!important;
    font-size:11px!important;
    line-height:1.2!important;
    letter-spacing:.18em!important;
  }
  body.inner-page .inner-page-hero .inner-heading h1{
    margin:0!important;
    max-width:100%!important;
    font-size:clamp(38px,11vw,54px)!important;
    line-height:.96!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  /* Contenu des pages : aucune échelle/zoom artificiel */
  body.inner-page main{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    transform:none!important;
    zoom:1!important;
  }

  /* Soutenir : restauration immédiate et robuste */
  body.inner-page .support-page{
    display:block!important;
    min-height:0!important;
    padding:42px 18px 120px!important;
    overflow:visible!important;
  }
  body.inner-page .support-page .reveal{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }
  body.inner-page .support-hero{
    margin-bottom:42px!important;
  }
  body.inner-page .support-hero h2{
    font-size:clamp(48px,14vw,72px)!important;
    line-height:.9!important;
  }
}

@media (max-width:390px){
  body.inner-page .inner-page-hero .hero-nav{padding:0 9px!important;gap:5px!important}
  body.inner-page .inner-page-hero .signature-home-brand{flex-basis:68px!important;width:68px!important;min-width:68px!important}
  body.inner-page .inner-page-hero .signature-home-brand img{width:60px!important;height:60px!important;max-width:60px!important;max-height:60px!important}
  body.inner-page .inner-page-hero .costa-access-buttons{flex-basis:204px!important;width:204px!important;min-width:204px!important;max-width:204px!important;grid-template-columns:99px 99px!important}
  body.inner-page .inner-page-hero .costa-access-button{width:99px!important;min-width:99px!important;max-width:99px!important;height:42px!important;min-height:42px!important;max-height:42px!important;padding:4px!important}
  body.inner-page .inner-page-hero .costa-access-button .costa-club-icon{font-size:12px!important}
  body.inner-page .inner-page-hero .costa-access-button .costa-club-copy strong{font-size:10px!important}
  body.inner-page .inner-page-hero .costa-access-button .costa-club-copy small{font-size:7.5px!important}
  body.inner-page .inner-page-hero .menu-toggle{flex-basis:34px!important;width:34px!important;min-width:34px!important}
  body.inner-page .inner-page-hero .menu-toggle span{width:25px!important}
}


/* =========================================================
   CORRECTION FINALE V2 — BOUTON COSTA LIFE + LIBELLÉ SOUTIEN
   ========================================================= */
@media (max-width:760px){
  body.inner-page .inner-page-hero .costa-life-nav-button{
    color:#fff!important;
    border:1px solid rgba(98,238,224,.92)!important;
    background:linear-gradient(135deg,#13c7c0 0%,#18c9d0 48%,#7a45e8 100%)!important;
    box-shadow:0 0 18px rgba(40,221,211,.24),inset 0 1px 0 rgba(255,255,255,.28)!important;
  }
  body.inner-page .inner-page-hero .costa-life-nav-button .costa-club-copy strong,
  body.inner-page .inner-page-hero .costa-life-nav-button .costa-club-copy small{
    color:#fff!important;
    text-shadow:0 1px 2px rgba(0,0,0,.38)!important;
  }
}

/* =========================================================
   AJUSTEMENT FINAL MOBILE — léger dézoom réel du contenu
   Le header, les boutons Costa, le ticker et le menu bas
   restent strictement inchangés.
   ========================================================= */
@media (max-width:760px){
  /* Titre de page + contenu : environ 8 % plus petits,
     tout en gardant exactement la largeur de l’écran. */
  body.inner-page .inner-page-hero .inner-heading,
  body.inner-page main > section{
    zoom:.92!important;
    width:108.6957%!important;
    max-width:108.6957%!important;
    margin-left:-4.3478%!important;
    margin-right:-4.3478%!important;
  }
}

/* =========================================================
   COSTA ACCUEIL MOBILE — RYTHME PLUS COMPACT (TEST V1)
   Uniquement l'accueil sur smartphone. Aucun changement du
   header, des boutons Costa Club/Costa Life, du ticker,
   de la navigation basse, des couleurs, textes ou images.
   ========================================================= */
@media (max-width:620px){
  /* Hero : même design, moins de hauteur à parcourir */
  body.v3-reborn .v3-hero-grid{
    min-height:540px!important;
    padding-bottom:48px!important;
  }
  body.v3-reborn .v3-hero-actions{margin-top:16px!important}
  body.v3-reborn .v3-hero-bottom span{padding-top:7px!important;padding-bottom:7px!important}

  /* Sections : réduction uniquement des grands espaces verticaux */
  body.v3-reborn .v3-manifest{
    padding-top:38px!important;
    padding-bottom:38px!important;
    gap:12px!important;
  }
  body.v3-reborn .v3-week,
  body.v3-reborn .v3-gallery-home{
    padding-top:42px!important;
    padding-bottom:42px!important;
  }
  body.v3-reborn .v3-section-head{margin-bottom:18px!important}

  /* Cartes événements et expérience : légèrement moins hautes */
  body.v3-reborn .v3-event-photo{height:220px!important}
  body.v3-reborn .v3-event-info{padding-top:13px!important;padding-bottom:14px!important}
  body.v3-reborn .v8-experience{
    padding-top:42px!important;
    padding-bottom:42px!important;
  }
  body.v3-reborn .v8-experience-head{margin-bottom:28px!important}
  body.v3-reborn .v8-exp-card,
  body.v3-reborn .v8-exp-card:nth-child(2),
  body.v3-reborn .v8-exp-card:nth-child(3){min-height:330px!important}

  /* Offre, mots animés, galerie, avis et réservation finale */
  body.v3-reborn .v8-promo{
    min-height:400px!important;
    padding-top:42px!important;
    padding-bottom:42px!important;
  }
  body.v3-reborn .v8-promo:before{width:230px!important;height:230px!important}
  body.v3-reborn .home-live-words{padding-top:18px!important;padding-bottom:18px!important}
  body.v3-reborn .home-gallery-track a{height:160px!important}
  body.v3-reborn .home-reviews-live{padding-top:42px!important;padding-bottom:42px!important}
  body.v3-reborn .home-reviews-slider{min-height:255px!important}
  body.v3-reborn .v3-cta{padding-top:46px!important;padding-bottom:46px!important}
  body.v3-reborn .v3-cta>div{margin-top:20px!important}

  /* Footer public : contenu inchangé, seulement plus rapproché */
  body.v3-reborn .premium-footer{padding-top:20px!important;padding-bottom:10px!important}
  body.v3-reborn .premium-footer-grid{gap:14px!important}
}

/* HERO PREMIUM V3 */
.v3-hero-main{position:relative;overflow:hidden}
.v3-hero-main::before{content:'';position:absolute;inset:-20%;
background:radial-gradient(circle at 20% 20%,rgba(255,215,0,.18),transparent 45%),
radial-gradient(circle at 80% 30%,rgba(255,255,255,.08),transparent 35%);
animation:heroGlow 8s linear infinite;pointer-events:none}
.v3-hero-main>*{position:relative;z-index:1}
.v3-hero-main h1{animation:heroUp .8s ease both}
.v3-hero-main p{animation:heroUp 1.1s ease both}
.v3-primary,.v3-secondary{transition:.35s}
.v3-primary:hover{transform:translateY(-2px);box-shadow:0 0 24px rgba(255,215,0,.35)}
@keyframes heroGlow{50%{transform:translate(2%,-2%) scale(1.04)}}
@keyframes heroUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@media(max-width:768px){.v3-hero-main{min-height:72vh}}

/* =========================================================
   PATCH ACCUEIL MOBILE — BOUTONS COSTA CLUB / COSTA LIFE
   Ciblé uniquement sur le header de la page d'accueil.
   Aucun impact sur les pages intérieures ou le contenu.
   ========================================================= */
@media (max-width:620px){
  body.v3-reborn .v3-hero .hero-nav{
    display:grid!important;
    grid-template-columns:72px minmax(0,1fr) 36px!important;
    align-items:center!important;
    gap:7px!important;
    padding:10px 10px!important;
    min-height:82px!important;
  }

  body.v3-reborn .v3-hero .signature-home-brand{
    width:72px!important;
    min-width:72px!important;
    max-width:72px!important;
    margin:0!important;
    overflow:visible!important;
  }
  body.v3-reborn .v3-hero .signature-home-brand img{
    width:66px!important;
    height:66px!important;
    max-width:66px!important;
    max-height:66px!important;
    object-fit:contain!important;
  }
  body.v3-reborn .v3-hero .signature-home-brand>span:last-child{
    display:none!important;
  }

  body.v3-reborn .v3-hero .public-nav-actions.costa-access-buttons{
    order:2!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    align-items:center!important;
    gap:6px!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
  }

  body.v3-reborn .v3-hero .costa-access-button,
  body.v3-reborn .v3-hero .costa-club-nav-button,
  body.v3-reborn .v3-hero .costa-life-nav-button{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:48px!important;
    min-height:48px!important;
    max-height:48px!important;
    margin:0!important;
    padding:5px 6px!important;
    gap:5px!important;
    border-radius:15px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    white-space:normal!important;
    flex-shrink:1!important;
  }

  body.v3-reborn .v3-hero .costa-club-nav-button{
    color:#fff!important;
    background:linear-gradient(135deg,#10cdb8 0%,#28bcd4 46%,#9747e8 100%)!important;
    border:1px solid rgba(105,243,223,.9)!important;
    box-shadow:0 0 16px rgba(41,218,207,.22),inset 0 1px 0 rgba(255,255,255,.25)!important;
  }
  body.v3-reborn .v3-hero .costa-life-nav-button{
    color:#fff!important;
    background:linear-gradient(135deg,#10bfe1 0%,#15c8cd 55%,#48dcb1 100%)!important;
    border:1px solid rgba(116,242,226,.9)!important;
    box-shadow:0 0 16px rgba(32,216,205,.2),inset 0 1px 0 rgba(255,255,255,.25)!important;
  }

  body.v3-reborn .v3-hero .costa-access-button .costa-club-icon{
    flex:0 0 auto!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:14px!important;
    line-height:1!important;
  }
  body.v3-reborn .v3-hero .costa-access-button .costa-club-copy{
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:2px!important;
    line-height:1!important;
    overflow:hidden!important;
  }
  body.v3-reborn .v3-hero .costa-access-button .costa-club-copy strong{
    display:block!important;
    max-width:100%!important;
    margin:0!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    text-overflow:clip!important;
    color:#fff!important;
    font-size:12px!important;
    line-height:1!important;
    letter-spacing:.025em!important;
    font-weight:900!important;
  }
  body.v3-reborn .v3-hero .costa-access-button .costa-club-copy small{
    display:block!important;
    max-width:100%!important;
    margin:1px 0 0!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    color:rgba(255,255,255,.92)!important;
    font-size:9px!important;
    line-height:1!important;
    letter-spacing:0!important;
    font-weight:600!important;
  }

  body.v3-reborn .v3-hero .hero-nav>.menu-toggle{
    order:3!important;
    position:relative!important;
    inset:auto!important;
    display:flex!important;
    width:36px!important;
    min-width:36px!important;
    max-width:36px!important;
    height:40px!important;
    margin:0!important;
    padding:5px 2px!important;
    align-items:center!important;
    justify-content:center!important;
  }
  body.v3-reborn .v3-hero .hero-nav>.menu-toggle span{
    width:29px!important;
  }
}

@media (max-width:390px){
  body.v3-reborn .v3-hero .hero-nav{
    grid-template-columns:66px minmax(0,1fr) 34px!important;
    gap:5px!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
  body.v3-reborn .v3-hero .signature-home-brand{
    width:66px!important;
    min-width:66px!important;
    max-width:66px!important;
  }
  body.v3-reborn .v3-hero .signature-home-brand img{
    width:60px!important;
    height:60px!important;
    max-width:60px!important;
    max-height:60px!important;
  }
  body.v3-reborn .v3-hero .public-nav-actions.costa-access-buttons{gap:5px!important}
  body.v3-reborn .v3-hero .costa-access-button,
  body.v3-reborn .v3-hero .costa-club-nav-button,
  body.v3-reborn .v3-hero .costa-life-nav-button{
    height:45px!important;
    min-height:45px!important;
    max-height:45px!important;
    padding:4px 5px!important;
    gap:4px!important;
    border-radius:14px!important;
  }
  body.v3-reborn .v3-hero .costa-access-button .costa-club-icon{font-size:12px!important}
  body.v3-reborn .v3-hero .costa-access-button .costa-club-copy strong{font-size:10.5px!important}
  body.v3-reborn .v3-hero .costa-access-button .costa-club-copy small{font-size:8px!important}
}


/* =========================================================
   FOOTER PREMIUM V14 — CARTE + LIENS + MOBILE
   ========================================================= */
.premium-footer-v14{
  position:relative;
  overflow:hidden;
  border-top:1px solid rgba(239,185,67,.42);
}
.premium-footer-v14:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 8%,rgba(23,217,224,.10),transparent 30%),
    radial-gradient(circle at 86% 18%,rgba(167,70,255,.11),transparent 34%);
}
.premium-footer-grid-v14{
  position:relative;
  z-index:1;
  grid-template-columns:1.15fr .8fr 1fr 1.15fr;
  gap:34px;
  align-items:start;
}
.footer-logo-wrap-v14{
  width:120px!important;
  height:120px!important;
  margin:0 0 14px!important;
}
.footer-logo-wrap-v14 img{
  width:100%!important;
  height:100%!important;
  object-fit:contain;
}
.premium-footer-brand-v14 h3,
.premium-footer-v14 section>h3{
  margin:0 0 16px;
  color:#f0bc42;
  font-size:1.05rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.premium-footer-brand-v14>p{
  max-width:340px;
  line-height:1.65;
}
.premium-footer-socials-v14{
  display:flex!important;
  flex-wrap:wrap;
  gap:9px;
  margin-top:18px;
}
.premium-footer-socials-v14 a{
  display:inline-flex!important;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:10px 14px!important;
  border:1px solid rgba(255,255,255,.15);
  border-radius:999px;
  background:rgba(255,255,255,.055);
  color:#fff!important;
  text-decoration:none;
}
.premium-footer-socials-v14 a:hover{
  transform:translateY(-2px);
  border-color:rgba(239,185,67,.72);
  box-shadow:0 10px 25px rgba(0,0,0,.3);
}
.premium-footer-socials-v14 a span{
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  border-radius:50%;
  background:linear-gradient(135deg,#f3bd3f,#a54eff);
  color:#08090d;
  font-weight:900;
}
.premium-footer-links-v14 nav{
  display:grid;
  gap:8px;
}
.premium-footer-links-v14 nav a{
  display:flex!important;
  align-items:center;
  gap:10px;
  min-height:40px;
  padding:8px 11px!important;
  border-radius:12px;
  background:rgba(255,255,255,.035);
  color:rgba(255,255,255,.88)!important;
}
.premium-footer-links-v14 nav a span{
  color:#f0bc42;
  font-size:1.4rem;
}
.premium-footer-links-v14 nav a:hover{
  background:rgba(239,185,67,.10);
  transform:translateX(3px);
}
.premium-footer-contact-v14{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.footer-address{
  margin:0 0 12px!important;
  line-height:1.55;
}
.footer-contact-link{
  display:inline-flex!important;
  margin:4px 0;
  color:#fff!important;
}
.footer-hours-v14{
  width:100%;
  margin-top:18px;
  padding:15px;
  border:1px solid rgba(239,185,67,.22);
  border-radius:16px;
  background:rgba(255,255,255,.035);
}
.footer-hours-v14 h4{
  margin:0 0 10px;
  color:#f0bc42;
  font-size:.82rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.footer-hours-v14 p{margin:3px 0!important}
.footer-hours-v14 small{color:rgba(255,255,255,.62)}
.premium-footer-map-v14{
  min-width:0;
}
.footer-map-frame{
  overflow:hidden;
  width:100%;
  aspect-ratio:4/3;
  border:1px solid rgba(239,185,67,.26);
  border-radius:18px;
  background:#0a0a0d;
  box-shadow:0 18px 40px rgba(0,0,0,.32);
}
.footer-map-frame iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
  filter:saturate(.9) contrast(1.05);
}
.footer-map-placeholder{
  display:grid;
  place-items:center;
  align-content:center;
  width:100%;
  aspect-ratio:4/3;
  border:1px dashed rgba(239,185,67,.4);
  border-radius:18px;
  background:
    linear-gradient(rgba(7,9,14,.78),rgba(7,9,14,.78)),
    radial-gradient(circle at center,rgba(164,73,255,.28),transparent 60%);
  text-align:center;
}
.footer-map-placeholder span{font-size:2rem}
.footer-map-placeholder strong{margin-top:8px;color:#fff}
.footer-map-placeholder small{color:rgba(255,255,255,.62)}
.premium-map-link-v14{
  display:flex!important;
  justify-content:center;
  margin-top:10px;
  padding:11px 14px!important;
  border:1px solid rgba(239,185,67,.28);
  border-radius:12px;
  background:rgba(239,185,67,.08);
  color:#f4c854!important;
  font-weight:800;
}
.premium-footer-bottom-v14{
  position:relative;
  z-index:1;
}
@media(max-width:1100px){
  .premium-footer-grid-v14{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:700px){
  .premium-footer-grid-v14{
    grid-template-columns:1fr!important;
    gap:28px!important;
    text-align:left!important;
  }
  .premium-footer-brand-v14,
  .premium-footer-contact-v14{
    align-items:flex-start!important;
  }
  .footer-logo-wrap-v14{
    width:112px!important;
    height:112px!important;
  }
  .premium-footer-socials-v14{
    width:100%;
  }
  .premium-footer-socials-v14 a{
    flex:1 1 auto;
    justify-content:center;
  }
  .premium-footer-links-v14 nav{
    grid-template-columns:1fr 1fr;
  }
  .premium-footer-map-v14{
    width:100%;
  }
  .footer-map-frame,
  .footer-map-placeholder{
    aspect-ratio:16/10;
  }
  .premium-footer-bottom-v14{
    gap:8px!important;
    text-align:center;
  }
}


/* =========================================================
   V14.1 — FOOTER IDENTIQUE SUR ACCUEIL + CORRECTION MOBILE
   ========================================================= */

/* Empêche les anciennes règles génériques footer de casser le nouveau footer. */
footer.premium-v5-footer.premium-footer-v14{
  display:block!important;
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  text-align:left!important;
  color:#f4f0e8!important;
  background:
    radial-gradient(circle at 12% 5%,rgba(30,222,232,.10),transparent 30%),
    radial-gradient(circle at 88% 10%,rgba(171,74,255,.11),transparent 34%),
    linear-gradient(180deg,#07080d 0%,#03050a 100%)!important;
}

footer.premium-footer-v14 .premium-footer-grid-v14{
  display:grid!important;
  width:min(1500px,92%)!important;
  margin:0 auto!important;
  padding:58px 0 42px!important;
}

footer.premium-footer-v14 .premium-footer-bottom-v14{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  flex-wrap:wrap!important;
  width:min(1500px,92%)!important;
  margin:0 auto!important;
  padding:19px 0 calc(19px + env(safe-area-inset-bottom))!important;
  border-top:1px solid rgba(255,255,255,.09)!important;
  color:rgba(255,255,255,.62)!important;
}

footer.premium-footer-v14 .footer-costa-club-band{
  position:relative!important;
  z-index:2!important;
  width:min(1500px,92%)!important;
  margin:0 auto 28px!important;
}

/* La carte/placeholder reste visible et ne produit plus une grande zone noire. */
footer.premium-footer-v14 .footer-map-placeholder{
  color:#fff!important;
  text-decoration:none!important;
  min-height:210px!important;
  background:
    linear-gradient(rgba(4,8,15,.58),rgba(4,8,15,.82)),
    radial-gradient(circle at 52% 42%,rgba(170,77,255,.42),transparent 42%),
    linear-gradient(135deg,#0b2430,#130c24)!important;
}
footer.premium-footer-v14 .footer-map-placeholder em{
  margin-top:10px;
  padding:7px 12px;
  border:1px solid rgba(239,185,67,.42);
  border-radius:999px;
  color:#f0bc42;
  font-size:.72rem;
  font-style:normal;
  font-weight:800;
}

/* Smartphone : aucun écran noir, aucun footer hors écran. */
@media(max-width:700px){
  body{
    min-height:100vh!important;
    height:auto!important;
    background:#05070c!important;
  }

  body>main{
    min-height:0!important;
    height:auto!important;
  }

  .signature-cta{
    min-height:0!important;
    height:auto!important;
    margin:0!important;
  }

  footer.premium-v5-footer.premium-footer-v14{
    display:block!important;
    min-height:0!important;
    height:auto!important;
    overflow:visible!important;
    padding-bottom:84px!important;
  }

  footer.premium-footer-v14 .premium-footer-grid-v14{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    padding:38px 20px 28px!important;
    gap:30px!important;
  }

  footer.premium-footer-v14 .premium-footer-grid-v14>section{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }

  footer.premium-footer-v14 .premium-footer-socials-v14{
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  footer.premium-footer-v14 .premium-footer-links-v14 nav{
    grid-template-columns:1fr 1fr!important;
  }

  footer.premium-footer-v14 .footer-map-frame,
  footer.premium-footer-v14 .footer-map-placeholder{
    width:100%!important;
    min-height:210px!important;
    height:210px!important;
    aspect-ratio:auto!important;
  }

  footer.premium-footer-v14 .footer-costa-club-band{
    width:calc(100% - 40px)!important;
    margin:0 20px 24px!important;
  }

  footer.premium-footer-v14 .premium-footer-bottom-v14{
    width:calc(100% - 40px)!important;
    margin:0 20px!important;
    justify-content:center!important;
    text-align:center!important;
  }
}


/* =========================================================
   V14.3 — CORRECTION DÉFINITIVE DU FOOTER SUR SMARTPHONE
   Réactive le contenu du footer que d'anciennes règles
   mobiles masquaient sur les pages intérieures.
   ========================================================= */
@media (max-width:760px){

  body.inner-page footer.premium-v5-footer.premium-footer-v14,
  body.v3-reborn footer.premium-v5-footer.premium-footer-v14{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    padding:0 0 86px!important;
    background:
      radial-gradient(circle at 12% 5%,rgba(30,222,232,.10),transparent 30%),
      radial-gradient(circle at 88% 10%,rgba(171,74,255,.11),transparent 34%),
      linear-gradient(180deg,#07080d 0%,#03050a 100%)!important;
  }

  body.inner-page footer.premium-footer-v14 .premium-footer-grid,
  body.inner-page footer.premium-footer-v14 .premium-footer-grid-v14,
  body.v3-reborn footer.premium-footer-v14 .premium-footer-grid,
  body.v3-reborn footer.premium-footer-v14 .premium-footer-grid-v14{
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    margin:0!important;
    padding:38px 20px 28px!important;
    gap:30px!important;
    transform:none!important;
  }

  body.inner-page footer.premium-footer-v14 .premium-footer-grid-v14>section,
  body.v3-reborn footer.premium-footer-v14 .premium-footer-grid-v14>section{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    transform:none!important;
  }

  body.inner-page footer.premium-footer-v14 .premium-footer-brand-v14,
  body.inner-page footer.premium-footer-v14 .premium-footer-contact-v14,
  body.v3-reborn footer.premium-footer-v14 .premium-footer-brand-v14,
  body.v3-reborn footer.premium-footer-v14 .premium-footer-contact-v14{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
  }

  body.inner-page footer.premium-footer-v14 .premium-footer-bottom,
  body.inner-page footer.premium-footer-v14 .premium-footer-bottom-v14,
  body.v3-reborn footer.premium-footer-v14 .premium-footer-bottom,
  body.v3-reborn footer.premium-footer-v14 .premium-footer-bottom-v14{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    width:calc(100% - 40px)!important;
    margin:0 20px!important;
    padding:18px 0!important;
    justify-content:center!important;
    gap:8px!important;
    text-align:center!important;
  }

  body.inner-page footer.premium-footer-v14 .premium-footer-bottom span,
  body.v3-reborn footer.premium-footer-v14 .premium-footer-bottom span{
    display:inline!important;
  }

  body.inner-page footer.premium-footer-v14 .footer-costa-club-band,
  body.v3-reborn footer.premium-footer-v14 .footer-costa-club-band{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
  }
}

/* =========================================================
   V14.4 — FOOTER COMPACT SUR TOUTES LES PAGES
   - Liens rapides supprimés
   - Réseaux sur une seule ligne
   - Carte Google Maps plus petite
   ========================================================= */
footer.premium-footer-v14 .premium-footer-grid-v14{
  grid-template-columns:minmax(260px,1.1fr) minmax(230px,.9fr) minmax(260px,1fr)!important;
  gap:34px!important;
  padding-top:42px!important;
  padding-bottom:30px!important;
}

footer.premium-footer-v14 .premium-footer-socials-v14{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
}

footer.premium-footer-v14 .premium-footer-socials-v14 a{
  flex:1 1 0!important;
  min-width:0!important;
  justify-content:center!important;
  padding:10px 8px!important;
  white-space:nowrap!important;
  font-size:.76rem!important;
}

footer.premium-footer-v14 .footer-map-frame,
footer.premium-footer-v14 .footer-map-placeholder{
  min-height:170px!important;
  height:170px!important;
  aspect-ratio:auto!important;
}

footer.premium-footer-v14 .footer-map-frame iframe{
  height:170px!important;
}

footer.premium-footer-v14 .premium-map-link-v14{
  margin-top:9px!important;
}

footer.premium-footer-v14 .footer-costa-club-band{
  margin-bottom:20px!important;
}

@media(max-width:1000px){
  footer.premium-footer-v14 .premium-footer-grid-v14{
    grid-template-columns:1fr 1fr!important;
  }
  footer.premium-footer-v14 .premium-footer-brand-v14{
    grid-column:1/-1!important;
  }
}

@media(max-width:700px){
  footer.premium-footer-v14 .premium-footer-grid-v14,
  body.inner-page footer.premium-footer-v14 .premium-footer-grid-v14,
  body.v3-reborn footer.premium-footer-v14 .premium-footer-grid-v14{
    grid-template-columns:minmax(0,1fr)!important;
    gap:22px!important;
    padding:30px 18px 22px!important;
  }

  footer.premium-footer-v14 .footer-logo-wrap-v14 img{
    width:92px!important;
    height:92px!important;
  }

  footer.premium-footer-v14 .premium-footer-socials-v14{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:6px!important;
  }

  footer.premium-footer-v14 .premium-footer-socials-v14 a{
    flex:1 1 0!important;
    min-width:0!important;
    padding:9px 5px!important;
    font-size:.68rem!important;
    border-radius:12px!important;
  }

  footer.premium-footer-v14 .premium-footer-socials-v14 a span{
    width:24px!important;
    height:24px!important;
    flex:0 0 24px!important;
  }

  footer.premium-footer-v14 .footer-map-frame,
  footer.premium-footer-v14 .footer-map-placeholder,
  body.inner-page footer.premium-footer-v14 .footer-map-frame,
  body.inner-page footer.premium-footer-v14 .footer-map-placeholder,
  body.v3-reborn footer.premium-footer-v14 .footer-map-frame,
  body.v3-reborn footer.premium-footer-v14 .footer-map-placeholder{
    min-height:145px!important;
    height:145px!important;
  }

  footer.premium-footer-v14 .footer-map-frame iframe{
    height:145px!important;
  }

  footer.premium-footer-v14 .footer-hours-v14{
    margin-top:14px!important;
    padding-top:12px!important;
  }

  footer.premium-footer-v14 .footer-costa-club-band{
    margin-bottom:16px!important;
  }
}


/* =========================================================
   V14.5 — RÉPARATION BARRE MENU PC UNIQUEMENT
   Aucun changement tablette / smartphone / footer.
   ========================================================= */
@media (min-width:1081px){

  /* Header accueil : menu principal propre et toujours au-dessus. */
  body.v3-reborn .v3-hero .hero-nav,
  body.v3-reborn .v3-hero .v3-nav{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    z-index:60!important;
    display:grid!important;
    grid-template-columns:minmax(210px,auto) minmax(520px,1fr) auto!important;
    align-items:center!important;
    width:100%!important;
    height:80px!important;
    min-height:80px!important;
    padding:0 2.5vw!important;
    gap:22px!important;
    margin:0!important;
    overflow:visible!important;
    background:rgba(3,3,5,.96)!important;
    border-bottom:1px solid rgba(235,174,38,.72)!important;
    box-shadow:0 10px 28px rgba(0,0,0,.48)!important;
  }

  /* Logo entier, sans découpe. */
  body.v3-reborn .v3-hero .signature-home-brand{
    display:flex!important;
    align-items:center!important;
    align-self:center!important;
    min-width:205px!important;
    height:80px!important;
    margin:0!important;
    overflow:visible!important;
  }

  body.v3-reborn .v3-hero .signature-home-brand img{
    display:block!important;
    width:72px!important;
    height:72px!important;
    max-width:72px!important;
    max-height:72px!important;
    object-fit:contain!important;
    flex:0 0 72px!important;
  }

  body.v3-reborn .v3-hero .signature-home-brand>span:last-child{
    display:flex!important;
    min-width:0!important;
  }

  /* Liens parfaitement centrés, sans chevauchement. */
  body.v3-reborn .v3-hero .hero-menu,
  body.v3-reborn .v3-hero .v3-menu{
    position:static!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    align-self:stretch!important;
    min-width:0!important;
    height:80px!important;
    gap:clamp(13px,1.25vw,23px)!important;
    padding:0!important;
    margin:0!important;
    overflow:visible!important;
    background:transparent!important;
    border:0!important;
    transform:none!important;
    opacity:1!important;
    visibility:visible!important;
  }

  body.v3-reborn .v3-hero .hero-menu>a:not(.mobile-menu-costa-club),
  body.v3-reborn .v3-hero .v3-menu>a:not(.mobile-menu-costa-club){
    display:flex!important;
    align-items:center!important;
    height:80px!important;
    padding:0 2px!important;
    margin:0!important;
    white-space:nowrap!important;
    font-size:.69rem!important;
    line-height:1!important;
    letter-spacing:.065em!important;
  }

  body.v3-reborn .v3-hero .mobile-menu-intro,
  body.v3-reborn .v3-hero .mobile-menu-costa-club,
  body.v3-reborn .v3-hero .mobile-menu-actions,
  body.v3-reborn .v3-hero .mobile-menu-signature{
    display:none!important;
  }

  body.v3-reborn .v3-hero .hero-nav>.menu-toggle{
    display:none!important;
  }

  /* Costa Club et Costa Life restent côte à côte et alignés. */
  body.v3-reborn .v3-hero .public-nav-actions.costa-access-buttons,
  body.v3-reborn .v3-hero .v3-nav-actions{
    position:relative!important;
    z-index:62!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    align-self:center!important;
    width:auto!important;
    min-width:360px!important;
    max-width:none!important;
    height:80px!important;
    margin:0!important;
    padding:0!important;
    gap:10px!important;
    overflow:visible!important;
  }

  body.v3-reborn .v3-hero .costa-access-button{
    flex:0 0 auto!important;
    margin:0!important;
    white-space:nowrap!important;
  }

  /* Bandeau d'annonces placé sous le menu, jamais par-dessus. */
  body.v3-reborn .v3-hero .home-live-ticker{
    position:absolute!important;
    top:80px!important;
    left:0!important;
    right:0!important;
    z-index:45!important;
    width:100%!important;
    margin:0!important;
  }

  /* Réserve l'espace du bandeau dans le hero. */
  body.v3-reborn.home-live-enabled .v3-hero-grid{
    padding-top:150px!important;
  }
}


/* =========================================================
   V14.6 — MENU PC : SUPPRESSION DU BOUTON MOBILE
   PC uniquement. Aucun changement smartphone/tablette.
   ========================================================= */
@media (min-width:1081px){

  /* Le bouton carré X / burger ne doit jamais apparaître sur PC. */
  .menu-toggle,
  .mobile-menu-toggle,
  .mobile-menu-close,
  .nav-toggle,
  button[aria-label="Ouvrir le menu"],
  button[aria-label="Fermer le menu"]{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    width:0!important;
    height:0!important;
    min-width:0!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    overflow:hidden!important;
  }

  /* Navigation PC toujours ouverte et bien alignée sur toutes les pages. */
  header .hero-menu,
  header .v3-menu,
  header .nav-menu,
  header .public-menu{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    transform:none!important;
  }

  /* Empêche un ancien état mobile de décaler la barre sur PC. */
  header nav,
  header .hero-nav,
  header .v3-nav,
  header .public-nav{
    overflow:visible!important;
  }
}


/* =========================================================
   V14.7 — BOUTON MENU CACHÉ SUR PC MÊME AVEC ZOOM NAVIGATEUR
   Le précédent seuil 1081px était trop haut.
   Smartphone jusqu'à 760px strictement inchangé.
   ========================================================= */
@media (min-width:761px){
  header .menu-toggle,
  .v3-hero .menu-toggle,
  .inner-page-hero .menu-toggle,
  .hero-nav .menu-toggle,
  button.menu-toggle{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    position:absolute!important;
    width:0!important;
    height:0!important;
    min-width:0!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    clip-path:inset(100%)!important;
    pointer-events:none!important;
    overflow:hidden!important;
  }
}


/* =========================================================
   V14.9 — MENU PC FIABLE + SMARTPHONE INCHANGÉ
   Détection par souris/trackpad : fonctionne même avec zoom PC.
   ========================================================= */
@media (hover:hover) and (pointer:fine){
  .v3-nav>.menu-toggle,
  .premium-nav>.menu-toggle,
  body.inner-page .menu-toggle{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    position:absolute!important;
    inline-size:0!important;
    block-size:0!important;
    min-inline-size:0!important;
    min-block-size:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    overflow:hidden!important;
  }

  .v3-nav,
  .premium-nav{
    grid-template-columns:auto minmax(0,1fr) auto!important;
  }

  .v3-nav>.hero-menu,
  .v3-nav>.v3-menu,
  .premium-nav>.hero-menu,
  .premium-nav>.premium-menu{
    display:flex!important;
    position:static!important;
    inset:auto!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    padding:0!important;
    margin:0!important;
    gap:clamp(10px,1.25vw,22px)!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    transform:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  .v3-nav>.hero-menu>a:not(.mobile-menu-costa-club),
  .v3-nav>.v3-menu>a:not(.mobile-menu-costa-club),
  .premium-nav>.premium-menu>a:not(.mobile-menu-costa-club){
    width:auto!important;
    padding:8px 0!important;
    border:0!important;
    text-align:center!important;
  }

  .mobile-menu-intro,
  .mobile-menu-actions,
  .mobile-menu-signature,
  .hero-menu>.mobile-menu-costa-club,
  .v3-menu>.mobile-menu-costa-club,
  .premium-menu>.mobile-menu-costa-club{
    display:none!important;
  }
}

/* =========================================================
   V15.0 — COSTA CLUB / COSTA LIFE PLUS COMPACTS ET UNIFIÉS
   Même rendu sur l'accueil et toutes les pages intérieures.
   ========================================================= */
@media (max-width:760px){
  /* Accueil : boutons légèrement réduits et centrés. */
  body.v3-reborn .v3-hero .public-nav-actions.costa-access-buttons{
    width:92%!important;
    justify-self:center!important;
    gap:5px!important;
  }
  body.v3-reborn .v3-hero .costa-access-button,
  body.v3-reborn .v3-hero .costa-club-nav-button,
  body.v3-reborn .v3-hero .costa-life-nav-button{
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    padding:4px 5px!important;
    border-radius:13px!important;
    gap:4px!important;
  }
  body.v3-reborn .v3-hero .costa-access-button .costa-club-icon{
    font-size:12px!important;
  }
  body.v3-reborn .v3-hero .costa-access-button .costa-club-copy strong{
    font-size:10.5px!important;
  }
  body.v3-reborn .v3-hero .costa-access-button .costa-club-copy small{
    font-size:7.7px!important;
  }

  /* Pages intérieures : exactement les mêmes dimensions. */
  body.inner-page .inner-page-hero .costa-access-buttons{
    flex:0 0 198px!important;
    width:198px!important;
    min-width:198px!important;
    max-width:198px!important;
    grid-template-columns:96px 96px!important;
    gap:6px!important;
  }
  body.inner-page .inner-page-hero .costa-access-button,
  body.inner-page .inner-page-hero .costa-club-nav-button,
  body.inner-page .inner-page-hero .costa-life-nav-button{
    width:96px!important;
    min-width:96px!important;
    max-width:96px!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    padding:4px 5px!important;
    border-radius:13px!important;
    gap:4px!important;
  }
  body.inner-page .inner-page-hero .costa-access-button .costa-club-icon{
    font-size:12px!important;
  }
  body.inner-page .inner-page-hero .costa-access-button .costa-club-copy strong{
    font-size:10.5px!important;
  }
  body.inner-page .inner-page-hero .costa-access-button .costa-club-copy small{
    font-size:7.7px!important;
  }
}

@media (max-width:390px){
  body.v3-reborn .v3-hero .public-nav-actions.costa-access-buttons{
    width:90%!important;
  }
  body.v3-reborn .v3-hero .costa-access-button,
  body.v3-reborn .v3-hero .costa-club-nav-button,
  body.v3-reborn .v3-hero .costa-life-nav-button{
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
  }
  body.v3-reborn .v3-hero .costa-access-button .costa-club-copy strong,
  body.inner-page .inner-page-hero .costa-access-button .costa-club-copy strong{
    font-size:9.7px!important;
  }
  body.v3-reborn .v3-hero .costa-access-button .costa-club-copy small,
  body.inner-page .inner-page-hero .costa-access-button .costa-club-copy small{
    font-size:7px!important;
  }
  body.inner-page .inner-page-hero .costa-access-buttons{
    flex-basis:184px!important;
    width:184px!important;
    min-width:184px!important;
    max-width:184px!important;
    grid-template-columns:89px 89px!important;
  }
  body.inner-page .inner-page-hero .costa-access-button,
  body.inner-page .inner-page-hero .costa-club-nav-button,
  body.inner-page .inner-page-hero .costa-life-nav-button{
    width:89px!important;
    min-width:89px!important;
    max-width:89px!important;
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
  }
}

/* =========================================================
   V15.1 — Boutons Costa Club / Costa Life réellement réduits
   Correction finale mobile, appliquée après tous les anciens overrides.
   ========================================================= */
@media (max-width:760px){
  body.inner-page .inner-page-hero .costa-access-buttons{
    flex:0 0 184px!important;
    width:184px!important;
    min-width:184px!important;
    max-width:184px!important;
    grid-template-columns:89px 89px!important;
    gap:6px!important;
  }
  body.inner-page .inner-page-hero .costa-access-button,
  body.inner-page .inner-page-hero .costa-club-nav-button,
  body.inner-page .inner-page-hero .costa-life-nav-button{
    width:89px!important;
    min-width:89px!important;
    max-width:89px!important;
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    padding:3px 4px!important;
    border-radius:12px!important;
    gap:3px!important;
  }
  body.inner-page .inner-page-hero .costa-access-button .costa-club-icon{font-size:11px!important}
  body.inner-page .inner-page-hero .costa-access-button .costa-club-copy strong{font-size:9.5px!important;letter-spacing:.015em!important}
  body.inner-page .inner-page-hero .costa-access-button .costa-club-copy small{font-size:7px!important}
}
@media (max-width:390px){
  body.inner-page .inner-page-hero .costa-access-buttons{
    flex-basis:174px!important;
    width:174px!important;
    min-width:174px!important;
    max-width:174px!important;
    grid-template-columns:84px 84px!important;
  }
  body.inner-page .inner-page-hero .costa-access-button,
  body.inner-page .inner-page-hero .costa-club-nav-button,
  body.inner-page .inner-page-hero .costa-life-nav-button{
    width:84px!important;
    min-width:84px!important;
    max-width:84px!important;
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
  }
  body.inner-page .inner-page-hero .costa-access-button .costa-club-copy strong{font-size:9px!important}
  body.inner-page .inner-page-hero .costa-access-button .costa-club-copy small{font-size:6.7px!important}
}

/* =========================================================
   V15.2 — HEADER COSTA UNIFIÉ
   Apparence néon de l'accueil + dimensions compactes des pages intérieures.
   Appliqué en dernier pour neutraliser tous les anciens overrides.
   ========================================================= */
@media (max-width:760px){
  /* Même largeur totale sur l'accueil et les pages intérieures. */
  body.v3-reborn .v3-hero .public-nav-actions.costa-access-buttons,
  body.inner-page .inner-page-hero .costa-access-buttons{
    display:grid!important;
    grid-template-columns:89px 89px!important;
    gap:6px!important;
    width:184px!important;
    min-width:184px!important;
    max-width:184px!important;
    flex:0 0 184px!important;
    justify-self:center!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
    padding:0!important;
  }

  /* Même taille compacte sur toutes les pages. */
  body.v3-reborn .v3-hero .costa-access-button,
  body.v3-reborn .v3-hero .costa-club-nav-button,
  body.v3-reborn .v3-hero .costa-life-nav-button,
  body.inner-page .inner-page-hero .costa-access-button,
  body.inner-page .inner-page-hero .costa-club-nav-button,
  body.inner-page .inner-page-hero .costa-life-nav-button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:89px!important;
    min-width:89px!important;
    max-width:89px!important;
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    margin:0!important;
    padding:3px 4px!important;
    gap:3px!important;
    border-radius:12px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    white-space:nowrap!important;
  }

  /* Apparence néon de l'accueil appliquée partout. */
  body.v3-reborn .v3-hero .costa-club-nav-button,
  body.inner-page .inner-page-hero .costa-club-nav-button{
    color:#fff!important;
    background:rgba(7,8,16,.92)!important;
    border:1px solid #ff4edb!important;
    box-shadow:0 0 12px rgba(255,78,219,.38),inset 0 0 10px rgba(255,78,219,.08)!important;
  }
  body.v3-reborn .v3-hero .costa-life-nav-button,
  body.inner-page .inner-page-hero .costa-life-nav-button{
    color:#fff!important;
    background:rgba(7,8,16,.92)!important;
    border:1px solid #28d8ff!important;
    box-shadow:0 0 12px rgba(40,216,255,.38),inset 0 0 10px rgba(40,216,255,.08)!important;
  }

  body.v3-reborn .v3-hero .costa-access-button .costa-club-icon,
  body.inner-page .inner-page-hero .costa-access-button .costa-club-icon{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
    font-size:11px!important;
    line-height:1!important;
  }
  body.v3-reborn .v3-hero .costa-access-button .costa-club-copy,
  body.inner-page .inner-page-hero .costa-access-button .costa-club-copy{
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:1px!important;
    line-height:1!important;
    overflow:hidden!important;
  }
  body.v3-reborn .v3-hero .costa-access-button .costa-club-copy strong,
  body.inner-page .inner-page-hero .costa-access-button .costa-club-copy strong{
    display:block!important;
    max-width:100%!important;
    margin:0!important;
    color:#fff!important;
    font-size:9.5px!important;
    line-height:1!important;
    letter-spacing:.01em!important;
    font-weight:900!important;
    white-space:nowrap!important;
    overflow:hidden!important;
  }
  body.v3-reborn .v3-hero .costa-access-button .costa-club-copy small,
  body.inner-page .inner-page-hero .costa-access-button .costa-club-copy small{
    display:block!important;
    max-width:100%!important;
    margin:0!important;
    color:rgba(255,255,255,.86)!important;
    font-size:7px!important;
    line-height:1!important;
    font-weight:600!important;
    white-space:nowrap!important;
    overflow:hidden!important;
  }
}

@media (max-width:390px){
  body.v3-reborn .v3-hero .public-nav-actions.costa-access-buttons,
  body.inner-page .inner-page-hero .costa-access-buttons{
    grid-template-columns:84px 84px!important;
    width:174px!important;
    min-width:174px!important;
    max-width:174px!important;
    flex-basis:174px!important;
  }
  body.v3-reborn .v3-hero .costa-access-button,
  body.v3-reborn .v3-hero .costa-club-nav-button,
  body.v3-reborn .v3-hero .costa-life-nav-button,
  body.inner-page .inner-page-hero .costa-access-button,
  body.inner-page .inner-page-hero .costa-club-nav-button,
  body.inner-page .inner-page-hero .costa-life-nav-button{
    width:84px!important;
    min-width:84px!important;
    max-width:84px!important;
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
  }
  body.v3-reborn .v3-hero .costa-access-button .costa-club-copy strong,
  body.inner-page .inner-page-hero .costa-access-button .costa-club-copy strong{font-size:9px!important}
  body.v3-reborn .v3-hero .costa-access-button .costa-club-copy small,
  body.inner-page .inner-page-hero .costa-access-button .costa-club-copy small{font-size:6.7px!important}
}

/* =========================================================
   CORRECTION DEFINITIVE — ACCUEIL MOBILE / CADRE HERO COMPACT
   Neutralise l'ancienne règle .v3-hero-main{min-height:72vh}.
   ========================================================= */
@media (max-width:768px){
  body.v3-reborn .v3-hero-main{
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    padding:14px 14px 15px!important;
    border-radius:18px!important;
    border-width:1px!important;
  }
  body.v3-reborn .v3-hero-grid{
    min-height:0!important;
    height:auto!important;
    padding-bottom:42px!important;
    align-items:end!important;
  }
  body.v3-reborn.home-live-enabled .v3-hero-grid{
    padding-top:138px!important;
  }
  body.v3-reborn.home-live-disabled .v3-hero-grid{
    padding-top:82px!important;
  }
  body.v3-reborn .v3-overline{
    margin:0 0 7px!important;
    font-size:.62rem!important;
  }
  body.v3-reborn .v3-hero-main h1{
    margin:0 0 8px!important;
    font-size:clamp(2.35rem,11vw,3.35rem)!important;
    line-height:.92!important;
    max-width:10ch!important;
  }
  body.v3-reborn .v3-hero-text{
    margin:0!important;
    font-size:.9rem!important;
    line-height:1.38!important;
  }
  body.v3-reborn .v3-hero-actions{
    margin-top:13px!important;
    gap:8px!important;
  }
  body.v3-reborn .v3-hero-actions a{
    min-height:42px!important;
    padding:9px 8px!important;
    border-radius:11px!important;
    font-size:.66rem!important;
  }
}
