
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--cream:#FAF8F4;--ink:#1A1712;--muted:#8A8070;--rule:rgba(26,23,18,0.06);--gold:#C4A97D}
html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;font-weight:300;background:var(--cream);color:var(--ink);overflow-x:hidden}

/* NAV */
#nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:26px 56px;transition:all 0.4s}
#nav.scrolled{background:rgba(250,248,244,0.97);padding:15px 56px;border-bottom:0.5px solid var(--rule);backdrop-filter:blur(8px)}
.nav-logo{font-family:'Cormorant',serif;font-weight:300;font-style:italic;font-size:18px;letter-spacing:0.04em;color:rgba(255,255,255,0.9);transition:color 0.4s;text-decoration:none;cursor:pointer}
.nav-logo:hover{opacity:0.8}
.nav-logo-loc{font-style:normal;font-size:13px;opacity:0.65;letter-spacing:0.08em;margin-left:2px}
@media(max-width:600px){.nav-logo-loc{display:none}}
#nav.scrolled .nav-logo{color:var(--ink)}
.nav-links{display:flex;gap:32px}
.nav-links a{font-size:13px;letter-spacing:0.18em;text-transform:uppercase;color:rgba(255,255,255,0.6);text-decoration:none;transition:color 0.2s}
#nav.scrolled .nav-links a{color:var(--muted)}
.nav-links a:hover,.nav-links a:hover{color:#fff}
#nav.scrolled .nav-links a:hover{color:var(--ink)}
.nav-cta{font-family:'Jost',sans-serif;font-weight:300;font-size:12px;letter-spacing:0.2em;text-transform:uppercase;background:transparent;border:0.5px solid rgba(255,255,255,0.45);color:rgba(255,255,255,0.9);padding:9px 20px;cursor:pointer;transition:all 0.3s;white-space:nowrap;flex-shrink:0;text-decoration:none;display:inline-block}
.nav-cta:hover{background:rgba(255,255,255,0.12);border-color:#fff;color:#fff}
#nav.scrolled .nav-cta{border-color:var(--rule);color:var(--ink)}
#nav.scrolled .nav-cta:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}

/* VIDEO HERO */
.hero{position:relative;height:100vh;min-height:600px;overflow:hidden;background:var(--ink)}

.hero-veil{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(15,12,8,0.1) 0%,rgba(15,12,8,0.35) 55%,rgba(15,12,8,0.75) 100%)}
.hero-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;text-align:center}
.hero-eyebrow{font-size:14px;letter-spacing:0.22em;text-transform:uppercase;color:rgba(255,255,255,0.75);margin-bottom:20px}
.hero-title{font-family:'Cormorant',serif;font-weight:300;font-size:clamp(48px,7vw,88px);color:#fff;line-height:1.02;margin-bottom:20px}
.hero-title em{font-style:italic}
.hero-tagline{font-family:'Cormorant',serif;font-style:italic;font-weight:300;font-size:clamp(24px,3.2vw,40px);color:rgba(255,255,255,0.88);line-height:1.3;margin-bottom:28px;max-width:720px}
.hero-rule{width:40px;height:0.5px;background:rgba(196,169,125,0.7);margin:0 auto 20px}
.hero-sub{font-size:14px;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.75);margin-bottom:40px}
.hero-btn{font-size:10px;letter-spacing:0.22em;text-transform:uppercase;background:transparent;border:0.5px solid rgba(255,255,255,0.5);color:rgba(255,255,255,0.9);padding:13px 42px;cursor:pointer;font-family:'Jost',sans-serif;transition:all 0.3s}
.hero-btn:hover{background:rgba(255,255,255,0.1)}
.scroll-hint{position:absolute;bottom:26px;right:56px;font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:rgba(255,255,255,0.3);display:flex;align-items:center;gap:10px}
.scroll-hint::before{content:'';display:block;width:28px;height:0.5px;background:rgba(255,255,255,0.25)}

/* STATS */
.stats-band{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:none}
.stat-cell{padding:32px 20px;text-align:center;border-right:none}
.stat-cell:last-child{border-right:none}
.stat-n{font-family:'Cormorant',serif;font-weight:300;font-size:38px;color:var(--ink);line-height:1;margin-bottom:6px}
.stat-n sup{font-size:16px;vertical-align:super}
.stat-l{font-size:13px;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted)}

/* UTILITAIRES */
.s-rule{width:36px;height:0.5px;background:var(--gold);margin-bottom:18px}
.s-rule-c{width:36px;height:0.5px;background:var(--gold);margin:0 auto 18px}
.eyebrow{font-size:13px;letter-spacing:0.22em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.title{font-family:'Cormorant',serif;font-weight:300;font-size:clamp(38px,4.5vw,54px);line-height:1.05;color:var(--ink);margin-bottom:24px}
.title em{font-style:italic}
.body-text{font-size:18px;line-height:1.9;color:var(--muted);font-weight:300}

/* INTRO — 2 colonnes */
.intro-wrap{display:grid;grid-template-columns:1fr 1fr;align-items:center;border-bottom:0.5px solid var(--rule)}
.intro-text{padding:80px 68px 80px 56px;border-right:0.5px solid var(--rule)}
.intro-img{height:560px;background-image:url('assets/images/intro-chalet.jpg');background-size:cover;background-position:center}

/* PHOTO SIMPLE ENTRE INTRO ET AUDIENCE */
.single-photo{height:480px;background-size:cover;background-position:center;border-bottom:0.5px solid var(--rule)}

/* POUR QUI — AUDIENCE */
.audience-section{background:var(--ink);padding:80px 56px}
.audience-header{text-align:center;max-width:600px;margin:0 auto 48px}
.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;max-width:1000px;margin:0 auto}
.aud-card{background:rgba(250,248,244,0.04);padding:36px 30px;border:0.5px solid rgba(250,248,244,0.06)}
.aud-icon{font-size:24px;margin-bottom:16px}
.aud-title{font-family:'Cormorant',serif;font-style:italic;font-size:24px;color:var(--cream);margin-bottom:10px}
.aud-text{font-size:17px;color:rgba(250,248,244,0.5);line-height:1.75}

/* TWO COL */
.two-col{display:grid;grid-template-columns:1fr 1fr;border-top:none}
.two-col.no-top{border-top:none}
.col-img{min-height:480px;background-size:cover;background-position:center}
.col-text{padding:72px 60px;display:flex;flex-direction:column;justify-content:center;border-left:none}
.col-text.left{border-left:none;border-right:0.5px solid var(--rule)}

/* SLIDER CHAMBRES */
.chambre-section{padding:80px 0;border-top:0.5px solid var(--rule);overflow:hidden;background:var(--cream)}
.ch-header{display:grid;grid-template-columns:300px 1fr;padding:0 56px 48px;gap:40px;align-items:end}
.ch-header-left .title{font-size:clamp(36px,4vw,52px);margin-bottom:0}
.ch-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:16px}
.ch-arrows{display:flex;gap:12px}
.ch-arrow{background:transparent;border:none;color:var(--ink);font-size:18px;cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;transition:transform 0.2s;font-family:'Cormorant',serif}
.ch-arrow:hover{transform:translateX(2px)}
.ch-arrow.prev:hover{transform:translateX(-2px)}
.ch-arrow:disabled{opacity:0.2;cursor:default;transform:none!important}
.ch-viewport{overflow-x:auto;overflow-y:hidden;padding-left:56px;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:pan-x}.ch-viewport::-webkit-scrollbar{display:none}.ch-viewport.grabbing{cursor:grabbing}.ch-viewport.grabbing .ch-slide{pointer-events:none}
.ch-track{display:flex;gap:16px;padding-right:56px}
.ch-slide{flex:0 0 calc(25% - 12px);min-width:240px}
.ch-photo{aspect-ratio:3/4;background-size:cover;background-position:center;position:relative;overflow:hidden;margin-bottom:16px}
.ch-label{position:absolute;bottom:16px;left:18px;font-family:'Cormorant',serif;font-style:italic;font-size:18px;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,0.5);z-index:2}
.ch-line{width:20px;height:0.5px;background:var(--gold);margin-bottom:10px}
.ch-name{font-family:'Cormorant',serif;font-style:italic;font-size:20px;color:var(--ink);margin-bottom:4px}
.ch-desc{font-size:14px;color:var(--muted);line-height:1.6}
.ch-progress{padding:40px 56px 0;}
.ch-bar{width:160px;height:0.5px;background:var(--rule);position:relative}
.ch-fill{position:absolute;top:0;left:0;height:100%;background:var(--ink);transition:width 0.7s cubic-bezier(0.32,0.72,0,1)}

/* ÉQUIPEMENTS */
.equip-section{padding:80px 56px;border-top:0.5px solid var(--rule)}
.equip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px;max-width:1000px;margin-left:auto;margin-right:auto}
.equip-card{padding:28px 20px;border:0.5px solid var(--rule);text-align:center;transition:border-color 0.2s}
.equip-card:hover{border-color:var(--gold)}
.equip-icon{font-size:24px;margin-bottom:12px}
.equip-name{font-family:'Cormorant',serif;font-style:italic;font-size:15px;color:var(--ink);margin-bottom:6px}
.equip-detail{font-size:14px;color:var(--muted);line-height:1.55}

/* EXPÉRIENCES — grille mosaïque mix loisirs+territoire */
.experiences-section{background:var(--ink);padding:80px 56px}
.exp-header{text-align:center;max-width:600px;margin:0 auto 48px}
.exp-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px;max-width:800px;margin:0 auto}
.exp-cell{position:relative;overflow:hidden;cursor:pointer}
.exp-cell.tall{grid-column:1;grid-row:1/3}
.exp-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 0.6s ease}
.exp-cell:hover .exp-bg{transform:scale(1.04)}
.exp-veil{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(10,8,6,0.05) 30%,rgba(10,8,6,0.72) 100%)}
.exp-photo{width:100%;display:block;visibility:hidden}
.exp-content{position:absolute;bottom:0;left:0;right:0;padding:20px 22px}
.exp-label{font-size:9px;letter-spacing:0.2em;text-transform:uppercase;color:rgba(250,248,244,0.45);margin-bottom:5px}
.exp-name{font-family:'Cormorant',serif;font-style:italic;font-size:20px;color:var(--cream);line-height:1.1}

/* AVIS */
.avis-section{padding:80px 56px;border-top:0.5px solid rgba(250,248,244,0.06);background:var(--ink)}
.avis-scroll-wrap{position:relative;max-width:1300px;margin:48px auto 0}
.avis-viewport{overflow-x:auto;overflow-y:visible;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:pan-x;padding:0 56px}
.avis-viewport::-webkit-scrollbar{display:none}
.avis-viewport.grabbing{cursor:grabbing}
.avis-viewport.grabbing .avis-card-dark{pointer-events:none}
.avis-track{display:flex;gap:24px;padding-right:56px}
.avis-card-dark{flex:0 0 560px;max-width:560px;min-height:380px;border:0.5px solid rgba(250,248,244,0.08);padding:44px 48px;position:relative;background:rgba(250,248,244,0.025);display:flex;flex-direction:column}
.avis-tag{position:absolute;top:24px;right:32px;font-size:9px;letter-spacing:0.14em;text-transform:uppercase;color:rgba(196,169,125,0.8);border:0.5px solid rgba(196,169,125,0.3);padding:4px 12px}
.avis-stars{display:flex;gap:3px;margin-bottom:18px}
.avis-star{color:var(--gold);font-size:13px}
.avis-quote{font-family:'Cormorant',serif;font-weight:300;font-style:italic;font-size:17px;color:rgba(250,248,244,0.92);line-height:1.7;margin-bottom:24px;flex:1}
.avis-author{display:flex;align-items:center;gap:14px;padding-top:20px;border-top:0.5px solid rgba(250,248,244,0.08)}
.avis-avatar{width:40px;height:40px;border-radius:50%;background:rgba(196,169,125,0.15);display:flex;align-items:center;justify-content:center;font-family:'Cormorant',serif;font-size:16px;color:var(--gold);font-style:italic;flex-shrink:0}
.avis-name{font-family:'Cormorant',serif;font-size:16px;color:var(--cream);margin-bottom:2px}
.avis-platform{font-size:10px;color:rgba(250,248,244,0.45);letter-spacing:0.06em}
.avis-controls{display:flex;justify-content:center;gap:14px;margin-top:36px}
.avis-arrow{background:transparent;border:0.5px solid rgba(250,248,244,0.25);color:rgba(250,248,244,0.7);width:42px;height:42px;cursor:pointer;font-family:'Cormorant',serif;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all 0.2s}
.avis-arrow:hover{background:rgba(250,248,244,0.08);color:var(--cream);border-color:rgba(250,248,244,0.4)}
.avis-arrow:disabled{opacity:0.2;cursor:default}
@media(max-width:700px){.avis-card-dark{flex:0 0 85vw;padding:32px 28px}.avis-viewport{padding:0 24px}}

/* FAQ */
.faq-section{padding:80px 56px;border-top:0.5px solid var(--rule)}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;max-width:960px;margin:48px auto 0;border-top:0.5px solid var(--rule);border-left:0.5px solid var(--rule)}
.faq-item{padding:22px 28px;border-right:0.5px solid var(--rule);border-bottom:0.5px solid var(--rule);transition:background 0.3s}
.faq-item:hover{background:rgba(196,169,125,0.06)}
.faq-q{font-family:'Cormorant',serif;font-size:19px;color:var(--ink);margin-bottom:0;display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;user-select:none;-webkit-user-select:none}
/* Le "+" devient un bouton rond doré — affordance évidente */
.faq-q span{width:32px;height:32px;border:1px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gold);flex-shrink:0;font-size:18px;line-height:1;font-weight:400;font-family:'Jost',sans-serif;transition:transform 0.4s cubic-bezier(0.22,1,0.36,1),background 0.3s,color 0.3s}
.faq-item:hover .faq-q span{background:var(--gold);color:var(--cream)}
.faq-item.open .faq-q span{transform:rotate(45deg);background:var(--gold);color:var(--cream)}
.faq-a{font-size:15px;color:var(--muted);line-height:1.7;max-height:0;overflow:hidden;opacity:0;margin-top:0;transition:max-height 0.45s cubic-bezier(0.22,1,0.36,1),opacity 0.3s ease,margin-top 0.45s ease}
.faq-item.open .faq-a{max-height:1000px;opacity:1;margin-top:14px}
.faq-q:focus-visible{outline:2px solid var(--gold);outline-offset:6px;border-radius:2px}
/* Petite mention au-dessus de la grille FAQ */
.faq-hint{font-size:12px;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted);text-align:center;margin-top:24px;margin-bottom:-12px;font-family:'Jost',sans-serif;opacity:0.7}
.faq-hint::before{content:'↓';margin-right:6px;color:var(--gold);font-size:14px}

/* VIDÉO */
.video-section{background:var(--ink);padding:80px 0;border-top:0.5px solid var(--rule)}
.video-header{max-width:600px;margin:0 auto 48px;padding:0 56px;text-align:center}
.video-header .eyebrow{color:rgba(196,169,125,0.7)}
.video-header .title{color:var(--cream)}
.video-frame-wrap{max-width:1000px;margin:0 auto;padding:0 56px}
.video-frame{width:100%;aspect-ratio:16/9;position:relative;background:#000}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:none}
.video-fallback{text-align:center;margin-top:20px}
.video-fallback a{font-size:13px;letter-spacing:0.16em;text-transform:uppercase;color:rgba(196,169,125,0.6);text-decoration:none;border-bottom:0.5px solid rgba(196,169,125,0.3);padding-bottom:3px}

/* GALERIE */
.gallery-section{padding:80px 56px;border-top:0.5px solid var(--rule)}
.gallery-header{text-align:center;max-width:600px;margin:0 auto 48px}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;max-width:1100px;margin:0 auto}
.gi{aspect-ratio:4/3;background-size:cover;background-position:center;cursor:pointer;position:relative;overflow:hidden}
.gi::after{content:'';position:absolute;inset:0;background:rgba(15,12,8,0);transition:background 0.3s}
.gi:hover::after{background:rgba(15,12,8,0.12)}
.gallery-cta{text-align:center;margin-top:36px}
.gallery-link{font-size:13px;letter-spacing:0.2em;text-transform:uppercase;color:var(--ink);text-decoration:none;padding-bottom:5px;border-bottom:0.5px solid var(--gold);transition:color 0.2s;font-family:'Jost',sans-serif}
.gallery-link:hover{color:var(--gold)}

/* SHORT */
.short-section{background:#0C0A08;padding:80px 68px;border-top:none}
.short-inner{max-width:960px;margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:80px;align-items:center}
.short-text-side{display:flex;flex-direction:column;justify-content:center;gap:0}
.short-text-side .eyebrow{color:rgba(196,169,125,0.7)}
.short-text-side .title{color:var(--cream);font-size:clamp(30px,4vw,48px)}
.short-text-side .title em{color:var(--gold)}
.short-text-side .body-text{color:rgba(250,248,244,0.5)}
.short-yt-link{margin-top:28px;font-size:13px;letter-spacing:0.14em;text-transform:uppercase;color:rgba(250,248,244,0.45);text-decoration:none;border-bottom:0.5px solid rgba(250,248,244,0.2);padding-bottom:3px;align-self:flex-start;transition:color 0.2s,border-color 0.2s}
.short-yt-link:hover{color:rgba(250,248,244,0.8);border-color:rgba(250,248,244,0.5)}
.short-video-side{width:360px;flex-shrink:0}
.short-video-wrap{position:relative;width:100%;aspect-ratio:9/16;background:#000 url('https://img.youtube.com/vi/kyGZ5Dasiec/hqdefault.jpg') center/cover no-repeat;overflow:hidden;border-radius:4px}
.short-play-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;background:rgba(0,0,0,0);transition:background 0.3s}
.short-play-overlay:hover{background:rgba(0,0,0,0.15)}
.short-play-btn{display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 2px 12px rgba(0,0,0,0.5));transition:transform 0.25s,filter 0.25s}
.short-play-overlay:hover .short-play-btn{transform:scale(1.1);filter:drop-shadow(0 4px 20px rgba(0,0,0,0.7))}

/* RÉSERVATION */
.resa-section{display:grid;grid-template-columns:1fr 1fr;border-top:none;align-items:stretch}
.resa-left{padding:80px 60px;border-right:none;position:relative;overflow:hidden;display:flex;align-items:center;background:var(--ink)}
.resa-bg{position:absolute;inset:0;background-image:url('assets/images/resa-bg.jpg');background-size:cover;background-position:center;opacity:0.18;transition:opacity 0.6s ease}
.resa-section:hover .resa-bg{opacity:0.26}
.resa-inner{position:relative;z-index:2;width:100%}
.resa-price{font-family:'Cormorant',serif;font-size:26px;color:var(--cream);font-weight:300;margin-top:28px;margin-bottom:6px;line-height:1.4}
.resa-price em{font-style:italic;color:var(--gold);font-size:32px}
.resa-price-note{font-size:11px;letter-spacing:0.08em;color:rgba(250,248,244,0.55);margin-bottom:32px;text-transform:uppercase}
.resa-info{margin-bottom:0}
.resa-info-item{font-size:15px;color:rgba(250,248,244,0.7);padding:14px 0;border-bottom:0.5px solid rgba(250,248,244,0.15);display:flex;gap:16px;transition:padding-left 0.3s ease,color 0.3s ease}
.resa-info-item:hover{padding-left:8px;color:var(--cream)}
.resa-info-item:first-child{border-top:0.5px solid rgba(250,248,244,0.15)}
.resa-info-item b{color:var(--cream);font-weight:400;min-width:100px;font-size:12px;letter-spacing:0.14em;text-transform:uppercase}
.resa-left .eyebrow{color:rgba(250,248,244,0.5)}
.resa-left .title{color:var(--cream)}
.resa-left .body-text{color:rgba(250,248,244,0.65)}
.resa-left .s-rule{background:rgba(250,248,244,0.25)}
.contact-name{font-family:'Cormorant',serif;font-style:italic;font-size:24px;color:var(--ink);margin-bottom:14px}
.contact-links{display:flex;gap:16px}
.contact-link{display:inline-flex;align-items:center;gap:8px;font-size:15px;color:var(--muted);text-decoration:none;padding:10px 18px;border:0.5px solid var(--rule);transition:all 0.2s;letter-spacing:0.04em}
.contact-link:hover{border-color:var(--gold);color:var(--ink)}
.contact-link svg{width:14px;height:14px;flex-shrink:0}

/* FORMULAIRE — raffiné */
.resa-form{padding:80px 60px;display:flex;flex-direction:column;justify-content:center;background:var(--cream)}
.rf-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:0}
.rf-full{grid-column:1/-1}
.rf-field{position:relative;border:0.5px solid var(--rule);padding:14px 18px;background:#fff;transition:border-color 0.3s ease,box-shadow 0.3s ease,transform 0.3s cubic-bezier(0.22,1,0.36,1)}
.rf-field::after{content:'';position:absolute;bottom:-0.5px;left:50%;right:50%;height:2px;background:var(--gold);transition:left 0.4s cubic-bezier(0.22,1,0.36,1),right 0.4s cubic-bezier(0.22,1,0.36,1)}
.rf-field:hover{border-color:rgba(196,169,125,0.4)}
.rf-field:focus-within{border-color:var(--gold);box-shadow:0 8px 24px -16px rgba(196,169,125,0.4);transform:translateY(-1px)}
.rf-field:focus-within::after{left:0;right:0}
.rf-label{font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink);opacity:0.55;display:block;margin-bottom:6px;transition:color 0.3s,opacity 0.3s}
.rf-field:focus-within .rf-label{color:var(--gold)}
.rf-input{background:transparent;border:none;outline:none;font-family:'Jost',sans-serif;font-weight:300;font-size:16px;color:var(--ink);width:100%;cursor:pointer;padding:2px 0}
.rf-input::placeholder{color:rgba(26,23,18,0.38);font-weight:300;transition:opacity 0.3s}
.rf-field:focus-within .rf-input::placeholder{opacity:0.5}
textarea.rf-input{height:90px;resize:none;line-height:1.6}
.btn-resa{font-family:'Jost',sans-serif;font-weight:300;font-size:12px;letter-spacing:0.22em;text-transform:uppercase;background:var(--ink);color:var(--cream);border:none;padding:18px 40px;cursor:pointer;margin-top:24px;transition:all 0.4s cubic-bezier(0.22,1,0.36,1);align-self:flex-start;position:relative;overflow:hidden}
.btn-resa::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(196,169,125,0.18),transparent);transition:left 0.6s ease}
.btn-resa:hover{background:var(--gold);letter-spacing:0.26em;padding-right:48px}
.btn-resa:hover::before{left:100%}
.resa-note{font-size:11px;letter-spacing:0.08em;color:var(--muted);margin-top:14px;text-align:left}

/* LIGHTBOX */
.lightbox{position:fixed;inset:0;background:rgba(10,8,6,0.96);z-index:1000;display:none;align-items:center;justify-content:center}
.lightbox.open{display:flex}
.lightbox img{max-width:90vw;max-height:90vh;object-fit:contain}
.lb-close{position:fixed;top:24px;right:32px;color:rgba(250,248,244,0.6);font-size:24px;cursor:pointer;background:none;border:none}
.lb-prev,.lb-next{position:fixed;top:50%;transform:translateY(-50%);color:rgba(250,248,244,0.5);font-size:28px;cursor:pointer;background:none;border:none;padding:16px}
.lb-prev{left:16px}
.lb-next{right:16px}

/* FOOTER */
.site-footer{background:var(--ink);border-top:0.5px solid rgba(250,248,244,0.07)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px;padding:72px 56px 48px;max-width:1300px;margin:0 auto}
.footer-logo{font-family:'Cormorant',serif;font-style:italic;font-size:24px;color:var(--cream);line-height:1.2;margin-bottom:12px}
.footer-logo-loc{display:inline-block;margin-top:4px;font-style:normal;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:rgba(196,169,125,0.7);font-family:'Jost',sans-serif}
.footer-tagline{font-size:14px;color:rgba(250,248,244,0.38);line-height:1.7}
.footer-heading{font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.footer-links{list-style:none}
.footer-links li{margin-bottom:9px}
.footer-links a,.footer-links span{font-size:15px;color:rgba(250,248,244,0.5);text-decoration:none;transition:color 0.2s}
.footer-links a:hover{color:var(--cream)}
.footer-bottom{border-top:0.5px solid rgba(250,248,244,0.06);padding:24px 56px;max-width:1300px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;font-size:14px;color:rgba(250,248,244,0.75);letter-spacing:0.03em}
.footer-legal{display:flex;gap:28px}
.footer-legal a{color:rgba(250,248,244,0.75);text-decoration:none;font-size:14px}
.footer-legal a:hover{color:rgba(250,248,244,0.95)}

/* SKI & TERRITOIRE */
.ski-section{padding:80px 56px;border-top:0.5px solid var(--rule);background:var(--cream)}
.ski-header{max-width:600px;margin:0 auto 48px;text-align:center}
.ski-photos{display:grid;grid-template-columns:1fr 1fr;gap:4px;max-width:1100px;margin:0 auto 4px}
.ski-photo-main{height:420px;background-size:cover;background-position:center}
.ski-photo-side{display:flex;flex-direction:column;gap:4px}
.ski-photo-half{flex:1;background-size:cover;background-position:center;min-height:420px}
.ski-facts{display:grid;grid-template-columns:repeat(4,1fr);max-width:1100px;margin:0 auto;border-top:0.5px solid var(--rule);border-left:0.5px solid var(--rule)}
.ski-fact{padding:24px 20px;text-align:center;border-right:0.5px solid var(--rule);border-bottom:0.5px solid var(--rule)}
.ski-fact-n{font-family:'Cormorant',serif;font-weight:300;font-size:28px;color:var(--ink);margin-bottom:5px}
.ski-fact-l{font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted)}

/* RESPONSIVE */
@media(max-width:900px){
  #nav{padding:16px 24px;gap:12px}
  #nav.scrolled{padding:12px 24px}
  .nav-links{display:none}
  .nav-cta{padding:8px 14px;font-size:11px;letter-spacing:0.16em}
  .nav-logo{font-size:15px}
  .hero-title{font-size:clamp(36px,9vw,60px)}
  .stats-band{grid-template-columns:repeat(3,1fr)}
  .stat-cell:nth-child(4),.stat-cell:nth-child(5){display:none}
  .intro-wrap{grid-template-columns:1fr}
  .intro-img{height:300px}
  .audience-grid{grid-template-columns:1fr}
  .two-col{grid-template-columns:1fr}
  .col-img{min-height:280px}
  .col-text,.col-text.left{border-left:none;border-right:none;padding:48px 24px}
  .ch-header{grid-template-columns:1fr;padding:0 24px 32px}
  .ch-header-right{align-items:flex-start}
  .ch-viewport{padding-left:24px}
  .ch-slide{flex:0 0 calc(80% - 12px)}
  .equip-section{padding:60px 24px}
  .equip-grid{grid-template-columns:repeat(2,1fr)}
  .exp-grid{grid-template-columns:1fr 1fr}
  .exp-cell.tall{grid-row:span 1}
  .ski-photos{grid-template-columns:1fr}
  .ski-photo-side{flex-direction:row}
  .ski-facts{grid-template-columns:repeat(2,1fr)}
  .avis-card{padding:32px 24px}
  .faq-grid{grid-template-columns:1fr}
  .video-frame-wrap{padding:0 24px}
  .gallery-section{padding:60px 24px}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .short-section{padding:60px 24px}
  .short-inner{grid-template-columns:1fr;gap:40px}
  .short-video-side{width:min(300px,100%);margin:0 auto}
  .resa-section{grid-template-columns:1fr}
  .resa-left{border-right:none;border-bottom:0.5px solid rgba(250,248,244,0.15);padding:48px 24px}
  .resa-form{padding:48px 24px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px;padding:48px 24px 32px}
  .footer-bottom{padding:16px 24px;flex-direction:column;gap:12px;text-align:center}
  .footer-legal{gap:16px;flex-wrap:wrap;justify-content:center}
  .experiences-section,.territoire-section,.ski-section,.avis-section,.faq-section,.video-section,.gallery-section{padding-left:24px;padding-right:24px}
}
@media(max-width:600px){
  .hero-title{font-size:clamp(30px,10vw,48px)}
  .stats-band{grid-template-columns:repeat(3,1fr);border:none}
  .stat-cell{padding:20px 10px;border:none}
  .stat-cell:nth-child(4),.stat-cell:nth-child(5){display:none}
  .exp-grid{grid-template-columns:1fr}
  .exp-cell.tall{aspect-ratio:4/3}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .contact-links{flex-direction:column}
  .ski-photo-side{flex-direction:column}
  .footer-grid{grid-template-columns:1fr}

  /* Équipements : 3 colonnes sur mobile → 9 cartes = 3 rangées parfaites */
  .equip-section{padding:40px 16px}
  .equip-grid{grid-template-columns:repeat(3,1fr);gap:8px}
  .equip-card{padding:16px 8px}
  .equip-icon{font-size:20px;margin-bottom:8px}
  .equip-name{font-size:13px;margin-bottom:4px}
  .equip-detail{font-size:11px;line-height:1.4}

  /* Formulaire compact */
  .resa-form{padding:32px 20px}
  .rf-grid{grid-template-columns:1fr}
  .rf-full{grid-column:1}
  .rf-field{padding:12px 16px}
  .rf-label{font-size:11px;letter-spacing:0.12em;margin-bottom:5px}
  .rf-input{font-size:15px}
  textarea.rf-input{height:65px}
  .btn-resa{width:100%;padding:14px}

  /* Sections : moins de padding vertical */
  .intro-section,.audience-section,.equip-section,.experiences-section,.territoire-section,.ski-section,.avis-section,.faq-section,.video-section,.gallery-section{padding-top:40px;padding-bottom:40px}
  .resa-left{padding:32px 20px}
  .col-text,.col-text.left{padding:32px 20px}

  /* Espace galerie / chambres réduit */
  .chambre-section{padding-bottom:24px}
  .gallery-section{padding-top:24px!important}

  .short-play-overlay{display:flex}

  /* Formulaire réservation : meilleure lisibilité */
  .resa-price{font-size:22px}
  .resa-price em{font-size:26px}
  .resa-price-note{font-size:12px;margin-bottom:20px}
  .rf-label{font-size:11px;color:var(--ink);opacity:0.7}
  .rf-input{font-size:16px;color:var(--ink)}
  .rf-field{border-color:rgba(26,23,18,0.25);background:#faf8f4}
  .btn-resa{font-size:13px;letter-spacing:0.18em;padding:16px;background:var(--gold);color:#fff}
  .resa-note{font-size:12px;text-align:center;color:var(--muted)}

  /* Masquer textes trop longs sur mobile */
  .audience-section .body-text{display:none}
  .video-header .body-text{display:none}
}

/* GOOGLE MAP */
.map-section{height:400px;border-top:none;border-bottom:none}
.map-section iframe{display:block;width:100%;height:100%;border:none}
@media(max-width:900px){.map-section{height:280px}}


.map-wrapper{padding:60px 0 0;border-top:0.5px solid var(--rule);background:var(--cream)}
.map-header{text-align:center;padding:0 56px 32px;max-width:600px;margin:0 auto}

.exp-grid-4{display:grid;grid-template-columns:1fr 1fr;gap:3px;max-width:800px;margin:0 auto}
.exp-grid-6{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;max-width:900px;margin:0 auto}


/* SCROLL PROGRESS BAR */
.scroll-progress{position:fixed;top:0;left:0;height:1.5px;background:var(--gold);z-index:300;width:0%;transition:width 0.1s linear}

/* GLASSMORPHISM NAV (amélioré) */
#nav.scrolled{background:rgba(250,248,244,0.72);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}

/* BADGE DISPONIBILITÉ — point vert pulsant */
.dispo-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background:rgba(255,255,255,0.08);border:0.5px solid rgba(255,255,255,0.18);border-radius:100px;font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:rgba(255,255,255,0.85);margin-bottom:24px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.dispo-dot{width:6px;height:6px;border-radius:50%;background:#5BCB7A;position:relative;flex-shrink:0}
.dispo-dot::before{content:'';position:absolute;inset:-3px;border-radius:50%;background:#5BCB7A;opacity:0.5;animation:pulse 2s ease-out infinite}
@keyframes pulse{0%{transform:scale(1);opacity:0.5}100%{transform:scale(2.2);opacity:0}}

/* FADE IN ON SCROLL */
.fade-in{opacity:0;transform:translateY(20px);transition:opacity 0.9s cubic-bezier(0.22,1,0.36,1),transform 0.9s cubic-bezier(0.22,1,0.36,1)}
.fade-in.visible{opacity:1;transform:translateY(0)}

/* BACK TO TOP */
.back-top{position:fixed;bottom:32px;right:32px;width:44px;height:44px;background:rgba(26,23,18,0.85);color:var(--cream);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity 0.3s,visibility 0.3s,background 0.2s;z-index:150;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-family:'Cormorant',serif;font-size:18px;line-height:1}
.back-top.visible{opacity:1;visibility:visible}
.back-top:hover{background:var(--ink)}
@media(max-width:600px){.back-top{bottom:20px;right:20px;width:40px;height:40px}}

/* INTERIOR SLIDER */
.interior-section{display:grid;grid-template-columns:1fr 1fr;border-top:0.5px solid var(--rule);border-bottom:0.5px solid var(--rule)}
.interior-slider-wrap{position:relative;min-height:520px;overflow:hidden;background:var(--ink)}
.interior-viewport{position:absolute;inset:0;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:pan-x}
.interior-viewport::-webkit-scrollbar{display:none}
.interior-viewport.grabbing{cursor:grabbing}
.interior-track{display:flex;height:100%}
.interior-slide{flex:0 0 100%;height:100%;scroll-snap-align:start;overflow:hidden;position:relative}
.interior-slide-img{position:absolute;inset:0;background-size:cover;background-position:center;will-change:transform,filter}
.interior-arrows{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:5}
.interior-arrow{background:rgba(250,248,244,0.92);border:none;width:38px;height:38px;cursor:pointer;font-family:'Cormorant',serif;font-size:16px;color:var(--ink);display:flex;align-items:center;justify-content:center;transition:all 0.2s;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.interior-arrow:hover{background:var(--cream)}
.interior-arrow:disabled{opacity:0.4;cursor:default}
.interior-dots{position:absolute;top:24px;right:24px;display:flex;gap:6px;z-index:5}
.interior-dot{width:18px;height:1.5px;background:rgba(250,248,244,0.35);transition:background 0.3s}
.interior-dot.active{background:var(--gold)}
.interior-text{padding:80px 68px;display:flex;flex-direction:column;justify-content:center;border-left:0.5px solid var(--rule)}
@media(max-width:900px){.interior-section{grid-template-columns:1fr}.interior-slider-wrap{min-height:320px}.interior-text{padding:48px 24px;border-left:none;border-top:0.5px solid var(--rule)}}

/* CONTACT SECTION STANDALONE */
.contact-section{padding:100px 56px;background:var(--cream);border-top:0.5px solid var(--rule);text-align:center}
.contact-inner{max-width:900px;margin:0 auto}
.contact-section .title{text-align:center}
.contact-card{max-width:520px;margin:0 auto;border:0.5px solid var(--rule);padding:48px 40px;background:#fff;box-shadow:0 30px 80px -30px rgba(26,23,18,0.15);transition:transform 0.5s cubic-bezier(0.22,1,0.36,1),box-shadow 0.5s ease,border-color 0.4s ease;position:relative;overflow:hidden}
.contact-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform:scaleX(0);transform-origin:center;transition:transform 0.6s cubic-bezier(0.22,1,0.36,1)}
.contact-card:hover{transform:translateY(-6px);box-shadow:0 40px 100px -30px rgba(26,23,18,0.22);border-color:rgba(196,169,125,0.3)}
.contact-card:hover::before{transform:scaleX(1)}
.contact-name-card{font-family:'Cormorant',serif;font-style:italic;font-weight:300;font-size:42px;color:var(--ink);margin-bottom:32px;line-height:1}
.contact-card-links{display:flex;flex-direction:column;gap:0}
.contact-card-link{display:flex;align-items:center;justify-content:center;gap:14px;padding:18px 24px;font-family:'Jost',sans-serif;font-weight:300;font-size:17px;color:var(--ink);text-decoration:none;letter-spacing:0.02em;transition:color 0.3s ease,background 0.3s ease,padding-left 0.3s cubic-bezier(0.22,1,0.36,1);position:relative}
.contact-card-link:hover{color:var(--gold);background:rgba(196,169,125,0.04)}
.contact-card-link svg{width:20px;height:20px;flex-shrink:0;color:var(--gold);transition:transform 0.3s cubic-bezier(0.22,1,0.36,1)}
.contact-card-link:hover svg{transform:scale(1.1) rotate(-4deg)}
.contact-card-link span{font-weight:400}
.contact-divider{height:0.5px;background:var(--rule);width:60%;margin:0 auto}
@media(max-width:600px){.contact-section{padding:60px 24px}.contact-card{padding:36px 24px}.contact-name-card{font-size:36px}.contact-card-link{font-size:15px}}

/* SECTION HIVER */
.winter-section{background:var(--ink);padding:80px 0 60px}
.winter-header{text-align:center;padding:0 56px 48px;max-width:700px;margin:0 auto}
.winter-viewport{overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:pan-x;padding:0 56px}
.winter-viewport::-webkit-scrollbar{display:none}
.winter-viewport.grabbing{cursor:grabbing}
.winter-track{display:flex;gap:12px;padding-right:56px;align-items:stretch}
.winter-slide{flex:0 0 520px;background-size:cover;background-position:center;position:relative;overflow:hidden}
.winter-slide-portrait{flex:0 0 360px}
.winter-slide-video{flex:0 0 300px;position:relative}
.winter-slide:hover .winter-caption{opacity:1;transform:translateY(0)}
.winter-caption{position:absolute;bottom:0;left:0;right:0;padding:24px 20px 20px;background:linear-gradient(to top,rgba(10,8,6,0.85) 0%,transparent 100%);font-family:'Cormorant',serif;font-style:italic;font-size:17px;color:var(--cream);opacity:0;transform:translateY(8px);transition:all 0.3s ease}
.winter-controls{display:flex;justify-content:center;gap:12px;margin-top:32px}
.winter-arrow{background:transparent;border:0.5px solid rgba(250,248,244,0.2);color:rgba(250,248,244,0.6);width:42px;height:42px;cursor:pointer;font-family:'Cormorant',serif;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all 0.2s}
.winter-arrow:hover{background:rgba(250,248,244,0.08);color:var(--cream);border-color:rgba(250,248,244,0.4)}
.winter-arrow:disabled{opacity:0.2;cursor:default}
@media(max-width:700px){.winter-slide{flex:0 0 80vw}.winter-slide-portrait{flex:0 0 65vw}.winter-slide-video{flex:0 0 55vw}.winter-viewport{padding:0 24px}}

/* CONTACT MAP */
.contact-map{max-width:760px;margin:48px auto 0}
.contact-map-label{text-align:center;margin-bottom:16px;font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--muted)}
.contact-map-frame{height:360px;border:0.5px solid var(--rule);overflow:hidden}
.contact-map-frame iframe{display:block;width:100%;height:100%;border:none}
@media(max-width:700px){.contact-map-frame{height:260px}}

/* HIVER — style chambres */
.hiver-section{background:var(--cream);padding:80px 0 60px;border-top:0.5px solid var(--rule)}
.hiver-header{text-align:center;padding:0 56px 48px;max-width:700px;margin:0 auto}
.hiver-viewport{overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:pan-x;padding-left:56px}
.hiver-viewport::-webkit-scrollbar{display:none}
.hiver-viewport.grabbing{cursor:grabbing}
.hiver-viewport.grabbing .hiver-slide{flex:0 0 calc(33.333% - 12px);min-width:260px}
.hiver-track{display:flex;gap:16px;padding-right:56px}
.hiver-slide{flex:0 0 calc(33.333% - 12px);min-width:280px}
.hiver-photo{aspect-ratio:3/2;background-size:cover;background-position:center;position:relative;overflow:hidden}
.hiver-meta{padding:14px 2px 0}
.hiver-line{width:20px;height:0.5px;background:var(--gold);margin-bottom:10px}
.hiver-name{font-family:'Cormorant',serif;font-style:italic;font-size:16px;color:var(--ink)}
.hiver-progress-wrap{padding:32px 56px 0}
.hiver-bar{width:160px;height:0.5px;background:var(--rule)}
.hiver-fill{height:100%;background:var(--gold);transition:width 0.5s}
.hiver-arrows{display:flex;gap:14px;padding:20px 56px 0}
.hiver-arrow{background:transparent;border:none;color:var(--muted);font-family:'Cormorant',serif;font-size:20px;cursor:pointer;padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;transition:color 0.2s}
.hiver-arrow:hover{color:var(--ink)}
.hiver-arrow:disabled{opacity:0.2;cursor:default}
@media(max-width:900px){.hiver-slide{flex:0 0 75vw}.hiver-viewport{padding-left:24px}}

/* CONTACT TWO-COL */
.contact-two-col{display:grid;grid-template-columns:1fr 1fr;gap:0;max-width:1000px;margin:0 auto;border:0.5px solid var(--rule);transition:border-color 0.4s ease,box-shadow 0.5s ease}
.contact-two-col:hover{border-color:rgba(196,169,125,0.3);box-shadow:0 40px 100px -40px rgba(26,23,18,0.18)}
.contact-card-wrap{padding:52px 48px;display:flex;align-items:center;justify-content:center;border-right:0.5px solid var(--rule);position:relative;background:#fff;transition:background 0.5s ease}
.contact-card-wrap::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform:scaleX(0);transform-origin:center;transition:transform 0.6s cubic-bezier(0.22,1,0.36,1)}
.contact-two-col:hover .contact-card-wrap::before{transform:scaleX(1)}
.contact-map-wrap{position:relative;overflow:hidden;min-height:520px}
.contact-map-wrap iframe{position:absolute;inset:0;width:100%;height:100%;display:block;border:none;transition:transform 0.6s ease,filter 0.6s ease;filter:saturate(0.92)}
.contact-two-col:hover .contact-map-wrap iframe{transform:scale(1.02);filter:saturate(1)}
.map-osm-link{position:absolute;bottom:10px;right:10px;font-size:11px;letter-spacing:0.06em;color:var(--muted);background:rgba(250,248,244,0.85);padding:4px 10px;text-decoration:none;border-radius:2px;backdrop-filter:blur(4px)}
.map-osm-link:hover{color:var(--ink)}
.contact-adresse{font-size:13px;color:var(--muted);text-align:center;margin-top:24px;letter-spacing:0.06em;line-height:1.8}
@media(max-width:800px){.contact-two-col{grid-template-columns:1fr}.contact-map-wrap{min-height:320px;height:320px;border-top:0.5px solid var(--rule)}.contact-card-wrap{border-right:none;padding:36px 24px}}

/* VIDEO MODAL */
.video-modal{position:fixed;inset:0;background:rgba(0,0,0,0.95);z-index:500;display:none;align-items:center;justify-content:center;padding:24px}
.video-modal.open{display:flex}
.video-modal-inner{position:relative;width:100%;max-width:1100px}
.video-modal-frame{position:relative;width:100%;aspect-ratio:16/9}
.video-modal-frame.portrait{height:min(82vh,720px);aspect-ratio:9/16;width:auto;max-width:100%;margin:0 auto}
.video-modal-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:none}
.video-modal-close{position:absolute;top:-44px;right:0;background:none;border:none;color:rgba(255,255,255,0.7);font-size:28px;cursor:pointer;line-height:1;padding:8px;transition:color 0.2s}
.video-modal-close:hover{color:#fff}

/* GALLERY */
.gallery-section{padding:80px 56px;border-top:0.5px solid var(--rule)}
.gallery-header{text-align:center;max-width:700px;margin:0 auto 48px}
.gi{aspect-ratio:4/3;background-size:cover;background-position:center;cursor:pointer;position:relative;overflow:hidden}
.gi::after{content:'';position:absolute;inset:0;background:rgba(15,12,8,0);transition:background 0.3s}
.gi:hover::after{background:rgba(15,12,8,0.12)}
.gallery-cta{text-align:center;margin-top:36px}
.gallery-link{font-size:13px;letter-spacing:0.2em;text-transform:uppercase;color:var(--ink);text-decoration:none;padding-bottom:5px;border-bottom:0.5px solid var(--gold);transition:color 0.2s;font-family:'Jost',sans-serif}
.gallery-link:hover{color:var(--gold)}

@media(max-width:900px){
  .gallery-scroll-slide{flex:0 0 75vw}
  .gallery-viewport{padding-left:24px}
  .exp-scroll-slide{flex:0 0 75vw}
  .exp-viewport{padding-left:24px}
}

/* FLOATING MOBILE CTA */
.mobile-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:190;padding:12px 16px;background:rgba(250,248,244,0.97);border-top:0.5px solid var(--rule);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.mobile-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:12px}
.mobile-cta-price{font-family:'Cormorant',serif;font-size:18px;color:var(--ink)}
.mobile-cta-price em{font-style:italic;color:var(--gold)}
.mobile-cta-price span{font-size:11px;color:var(--muted);font-family:'Jost',sans-serif;font-weight:300}
.mobile-cta-btn{font-family:'Jost',sans-serif;font-weight:300;font-size:10px;letter-spacing:0.2em;text-transform:uppercase;background:var(--ink);color:var(--cream);border:none;padding:13px 28px;cursor:pointer;white-space:nowrap;flex-shrink:0}
@media(max-width:900px){.mobile-cta{display:block}}


/* ====== PAGES SECONDAIRES (mentions, CGV, confidentialité, merci) ====== */
.page-wrap{max-width:820px;margin:0 auto;padding:140px 56px 80px}
.page-back{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted);text-decoration:none;margin-bottom:48px;transition:color 0.2s}
.page-back:hover{color:var(--ink)}
.page-title{font-family:'Cormorant',serif;font-weight:300;font-size:clamp(40px,5vw,60px);line-height:1.1;color:var(--ink);margin-bottom:16px}
.page-title em{font-style:italic}
.page-intro{font-size:14px;letter-spacing:0.08em;color:var(--muted);margin-bottom:48px;padding-bottom:24px;border-bottom:0.5px solid var(--rule)}
.page-wrap h2{font-family:'Cormorant',serif;font-weight:300;font-style:italic;font-size:28px;color:var(--ink);margin:48px 0 16px}
.page-wrap h2:first-of-type{margin-top:0}
.page-wrap h3{font-family:'Jost',sans-serif;font-weight:400;font-size:14px;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);margin:32px 0 12px}
.page-wrap p,.page-wrap li{font-size:16px;line-height:1.8;color:var(--ink);font-weight:300;margin-bottom:14px}
.page-wrap ul{padding-left:20px;margin-bottom:24px}
.page-wrap a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}
.page-wrap a:hover{color:var(--gold)}
.page-wrap strong{font-weight:400;color:var(--ink)}
.page-wrap .updated{font-size:12px;color:var(--muted);margin-top:48px;padding-top:24px;border-top:0.5px solid var(--rule);font-style:italic}

/* Page merci — variante centrée */
.merci-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 24px;background:var(--cream)}
.merci-rule{width:48px;height:0.5px;background:var(--gold);margin:0 auto 28px}
.merci-eyebrow{font-size:12px;letter-spacing:0.22em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}
.merci-title{font-family:'Cormorant',serif;font-weight:300;font-size:clamp(40px,6vw,68px);line-height:1.1;color:var(--ink);margin-bottom:24px}
.merci-title em{font-style:italic}
.merci-text{font-size:17px;line-height:1.8;color:var(--muted);max-width:520px;margin:0 auto 40px;font-weight:300}
.merci-btn{display:inline-block;font-family:'Jost',sans-serif;font-weight:300;font-size:12px;letter-spacing:0.2em;text-transform:uppercase;background:var(--ink);color:var(--cream);border:none;padding:15px 36px;cursor:pointer;text-decoration:none;transition:background 0.2s}
.merci-btn:hover{background:var(--muted)}

@media(max-width:700px){
  .page-wrap{padding:100px 24px 60px}
  .page-wrap h2{font-size:24px}
  .merci-wrap{padding:60px 24px}
}

/* ====== ACCESSIBILITÉ — Focus clavier visible ====== */
/* Affiche un anneau doré uniquement pour la navigation au clavier (pas à la souris) */
*:focus{outline:none}
*:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
.nav-cta:focus-visible,.btn-resa:focus-visible,.mobile-cta-btn:focus-visible,.merci-btn:focus-visible{outline-offset:4px}
.gi:focus-visible{outline-offset:-3px}
a:focus-visible{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}

/* Réduit les animations pour les utilisateurs qui le demandent */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}
}

/* ====== CONSENTEMENT COOKIES — Placeholder Google Maps ====== */

/* L'iframe injectée dynamiquement après consentement */
#mapWrap iframe{display:block;width:100%;height:100%;border:none}

/* ====== BLOG — index + articles ====== */
/* INDEX BLOG */
.blog-hero{padding:140px 56px 60px;text-align:center;max-width:760px;margin:0 auto}
.blog-hero .eyebrow{margin-bottom:14px}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;max-width:1200px;margin:0 auto;padding:0 56px 100px}
.blog-card{background:#fff;border:0.5px solid var(--rule);transition:transform 0.4s,box-shadow 0.4s;text-decoration:none;color:inherit;display:flex;flex-direction:column}
.blog-card:hover{transform:translateY(-4px);box-shadow:0 30px 60px -30px rgba(26,23,18,0.18)}
.blog-card-img{aspect-ratio:16/10;background-size:cover;background-position:center;background-color:#f0ebe1}
.blog-card-body{padding:28px 28px 32px;display:flex;flex-direction:column;gap:10px;flex:1}
.blog-card-meta{font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.blog-card-title{font-family:'Cormorant',serif;font-weight:300;font-size:24px;line-height:1.2;color:var(--ink)}
.blog-card-title em{font-style:italic}
.blog-card-excerpt{font-size:14px;line-height:1.7;color:var(--muted);flex:1}
.blog-card-link{margin-top:8px;font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);padding-bottom:3px;border-bottom:0.5px solid var(--gold);align-self:flex-start}

/* ARTICLE */
.article-wrap{max-width:760px;margin:0 auto;padding:140px 56px 80px}
.article-breadcrumb{font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted);margin-bottom:32px}
.article-breadcrumb a{color:var(--muted);text-decoration:none;border-bottom:0.5px solid transparent;transition:border-color 0.2s}
.article-breadcrumb a:hover{border-bottom-color:var(--gold)}
.article-breadcrumb span{margin:0 8px;color:var(--rule)}
.article-eyebrow{font-size:13px;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.article-title{font-family:'Cormorant',serif;font-weight:300;font-size:clamp(36px,5vw,56px);line-height:1.1;color:var(--ink);margin-bottom:20px}
.article-title em{font-style:italic}
.article-meta{font-size:12px;letter-spacing:0.08em;color:var(--muted);margin-bottom:36px;padding-bottom:24px;border-bottom:0.5px solid var(--rule)}
.article-cover{aspect-ratio:16/9;background-size:cover;background-position:center;margin-bottom:48px}
.article-lede{font-size:20px;line-height:1.65;color:var(--ink);font-weight:300;font-style:italic;margin-bottom:36px;padding-left:20px;border-left:2px solid var(--gold)}
.article-body{font-size:17px;line-height:1.85;color:var(--ink);font-weight:300}
.article-body h2{font-family:'Cormorant',serif;font-weight:300;font-style:italic;font-size:30px;color:var(--ink);margin:48px 0 16px}
.article-body h3{font-family:'Jost',sans-serif;font-weight:400;font-size:13px;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold);margin:32px 0 12px}
.article-body p{margin-bottom:18px}
.article-body ul,.article-body ol{padding-left:20px;margin-bottom:24px}
.article-body li{margin-bottom:8px}
.article-body a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}
.article-body a:hover{color:var(--gold)}
.article-body strong{font-weight:400;color:var(--ink)}
.article-body blockquote{border-left:2px solid var(--gold);padding:12px 0 12px 24px;margin:32px 0;font-style:italic;color:var(--muted);font-family:'Cormorant',serif;font-size:20px}
.article-body .info-box{background:#f6f1e6;padding:24px 28px;margin:32px 0;border-left:3px solid var(--gold)}
.article-body .info-box p:last-child{margin-bottom:0}
.article-body .info-box strong{color:var(--ink)}

/* CTA fin d'article */
.article-cta{margin-top:60px;padding:40px;background:var(--ink);color:var(--cream);text-align:center}
.article-cta h3{font-family:'Cormorant',serif;font-style:italic;font-weight:300;font-size:28px;color:var(--cream);margin-bottom:14px;letter-spacing:0}
.article-cta p{font-size:14px;color:rgba(250,248,244,0.7);margin-bottom:24px;line-height:1.6}
.article-cta a{display:inline-block;font-family:'Jost',sans-serif;font-weight:300;font-size:11px;letter-spacing:0.2em;text-transform:uppercase;background:transparent;border:0.5px solid rgba(250,248,244,0.4);color:var(--cream);padding:14px 32px;text-decoration:none;transition:all 0.2s}
.article-cta a:hover{background:var(--cream);color:var(--ink)}

/* Articles connexes */
.related-articles{margin-top:60px;padding-top:48px;border-top:0.5px solid var(--rule)}
.related-articles h3{font-family:'Jost',sans-serif;font-weight:400;font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:var(--muted);margin-bottom:24px}
.related-list{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.related-item{text-decoration:none;color:var(--ink);padding:20px;border:0.5px solid var(--rule);transition:border-color 0.2s}
.related-item:hover{border-color:var(--gold)}
.related-item-title{font-family:'Cormorant',serif;font-style:italic;font-size:18px;line-height:1.3}

@media(max-width:900px){
  .blog-grid{grid-template-columns:1fr;padding:0 24px 60px;gap:24px}
  .blog-hero{padding:120px 24px 40px}
  .article-wrap{padding:120px 24px 60px}
  .article-body{font-size:16px}
  .article-body h2{font-size:24px}
  .article-cta{padding:32px 24px}
  .related-list{grid-template-columns:1fr}
}

/* ====== ARTICLE — média flottant sur le côté ====== */
.article-figure-side{float:right;width:280px;margin:6px 0 24px 32px;clear:right}
.article-figure-side video,.article-figure-side img{width:100%;height:auto;display:block;background:#000}
.article-figure-side figcaption{font-size:12px;color:var(--muted);font-style:italic;margin-top:10px;text-align:center;line-height:1.5;font-family:'Cormorant',serif;font-size:14px}
.article-figure-side.left{float:left;margin:6px 32px 24px 0}
/* Responsive — pleine largeur sur mobile */
@media(max-width:700px){
  .article-figure-side,.article-figure-side.left{float:none;width:100%;margin:24px 0}
}

/* ====== HOVER LIFT — Effet vignettes (uniforme avec le blog) ====== */

/* Chambres — slider horizontal */
.ch-slide{transition:transform 0.45s cubic-bezier(0.22,1,0.36,1)}
.ch-slide:hover{transform:translateY(-6px)}
.ch-photo{transition:box-shadow 0.45s ease}
.ch-slide:hover .ch-photo{box-shadow:0 30px 60px -28px rgba(26,23,18,0.28)}

/* Hiver — slider horizontal */
.hiver-slide{transition:transform 0.45s cubic-bezier(0.22,1,0.36,1)}
.hiver-slide:hover{transform:translateY(-6px)}
.hiver-photo{transition:box-shadow 0.45s ease}
.hiver-slide:hover .hiver-photo{box-shadow:0 30px 60px -28px rgba(26,23,18,0.28)}

/* Équipements — petit lift en complément du changement de bordure */
.equip-card{transition:border-color 0.2s,transform 0.4s cubic-bezier(0.22,1,0.36,1),box-shadow 0.4s ease}
.equip-card:hover{transform:translateY(-3px);box-shadow:0 20px 40px -20px rgba(26,23,18,0.12)}

/* Audience cards (dark section) — lift adapté au fond sombre */
.aud-card{transition:transform 0.4s cubic-bezier(0.22,1,0.36,1),background 0.3s,border-color 0.3s}
.aud-card:hover{transform:translateY(-4px);background:rgba(250,248,244,0.06);border-color:rgba(196,169,125,0.25)}

/* Activités/Expériences — accentuation hover (zoom déjà présent, on ajoute lift subtil) */
.exp-cell{transition:transform 0.5s cubic-bezier(0.22,1,0.36,1)}
.exp-cell:hover{transform:translateY(-4px)}

/* Galerie — lift léger en plus de l'overlay sombre */
.gi{transition:transform 0.4s cubic-bezier(0.22,1,0.36,1),box-shadow 0.4s ease}
.gi:hover{transform:translateY(-3px);box-shadow:0 20px 40px -20px rgba(26,23,18,0.18)}

/* Avis — accentuation hover (bordure or pour cohérence) */
.avis-card-dark{transition:transform 0.45s cubic-bezier(0.22,1,0.36,1),border-color 0.3s,background 0.3s}
.avis-card-dark:hover{transform:translateY(-4px);border-color:rgba(196,169,125,0.25);background:rgba(250,248,244,0.04)}

/* ====== Voile blanc subtil sur les photos des chambres ====== */
.ch-photo::after{
  content:'';
  position:absolute;
  inset:0;
  background:rgba(255,255,255,0);
  pointer-events:none;
  z-index:1;
  transition:background 0.5s cubic-bezier(0.22,1,0.36,1);
}
/* Au survol, un voile blanc léger se pose sur la photo */
.ch-slide:hover .ch-photo::after{background:rgba(255,255,255,0.12)}
/* Le label de la chambre passe au-dessus du voile */
.ch-label{z-index:2}

/* ====== DÉCOUVRIR ROUBION — Aperçu blog en bas de la home ====== */
.discover-section{padding:80px 56px;border-top:0.5px solid var(--rule);background:var(--cream)}
.discover-inner{max-width:1100px;margin:0 auto}
.discover-header{margin-bottom:48px}
.discover-header-top{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.discover-header-text{text-align:left}
.discover-header-text .s-rule-c{margin:0 0 16px}
.disc-arrows{display:flex;gap:12px;flex-shrink:0;padding-bottom:4px}
.disc-arrow{background:transparent;border:none;color:var(--ink);font-size:18px;cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;transition:transform 0.2s;font-family:'Cormorant',serif}
.disc-arrow:hover{transform:translateX(2px)}
.disc-arrow.prev:hover{transform:translateX(-2px)}
.disc-arrow:disabled{opacity:0.2;cursor:default;transform:none!important}
.disc-viewport{overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:pan-x}.disc-viewport::-webkit-scrollbar{display:none}.disc-viewport.grabbing{cursor:grabbing}.disc-viewport.grabbing .discover-card{pointer-events:none}
.disc-track{display:flex;gap:20px}
.discover-card{flex:0 0 calc(33.333% - 14px);min-width:280px;background:#fff;border:0.5px solid var(--rule);text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:transform 0.4s cubic-bezier(0.22,1,0.36,1),box-shadow 0.4s ease}
.discover-card:hover{transform:translateY(-4px);box-shadow:0 25px 50px -25px rgba(26,23,18,0.18)}
.discover-card-img{aspect-ratio:16/10;background-size:cover;background-position:center;background-color:#f0ebe1}
.discover-card-body{padding:22px 24px 26px}
.discover-card-meta{font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.discover-card-title{font-family:'Cormorant',serif;font-weight:300;font-size:21px;line-height:1.25;color:var(--ink);margin:0}
.discover-card-title em{font-style:italic}
.discover-cta{text-align:center;margin-top:40px}
.discover-link{font-size:13px;letter-spacing:0.2em;text-transform:uppercase;color:var(--ink);text-decoration:none;padding-bottom:5px;border-bottom:0.5px solid var(--gold);transition:color 0.2s;font-family:'Jost',sans-serif;font-weight:300}
.discover-link:hover{color:var(--gold)}

@media(max-width:900px){
  .discover-section{padding:60px 24px}
  .discover-header-top{flex-direction:column;align-items:flex-start;gap:20px}
  .discover-card{flex:0 0 calc(80% - 10px)}
  .discover-card-body{padding:20px}
}

/* ====== ARTICLE — Éléments visuels supplémentaires (cartes, images inline) ====== */
/* Variante: image flottante à gauche */
.article-figure-side.left{float:left;width:280px;margin:6px 32px 24px 0;clear:left}

/* Image inline pleine largeur (pour respirer entre paragraphes) */
.article-figure-inline{margin:36px 0;width:100%}
.article-figure-inline img,.article-figure-inline .img-bg{display:block;width:100%;height:auto;aspect-ratio:16/9;background-size:cover;background-position:center;background-color:#f0ebe1}
.article-figure-inline figcaption{font-size:13px;color:var(--muted);font-style:italic;text-align:center;margin-top:12px;line-height:1.5;font-family:'Cormorant',serif;font-size:15px}

/* Carte OpenStreetMap intégrée dans l'article */
.article-map{margin:36px 0;border:0.5px solid var(--rule);background:#f0ebe1;overflow:hidden}
.article-map iframe{display:block;width:100%;height:380px;border:none}
.article-map-caption{font-size:13px;color:var(--muted);font-style:italic;text-align:center;margin-top:12px;line-height:1.5;font-family:'Cormorant',serif;font-size:15px}
@media(max-width:700px){
  .article-figure-side.left{float:none;width:100%;margin:24px 0}
  .article-map iframe{height:300px}
}

/* Carte OpenStreetMap latérale (à côté du texte) */
.article-map-side{float:right;width:340px;margin:6px 0 24px 32px;clear:right}
.article-map-side iframe{display:block;width:100%;height:280px;border:none;background:#f0ebe1}
.article-map-side figcaption{font-size:14px;color:var(--muted);font-style:italic;text-align:center;margin-top:10px;line-height:1.5;font-family:'Cormorant',serif}
.article-map-side figcaption a{color:var(--gold)}
@media(max-width:700px){
  .article-map-side{float:none;width:100%;margin:24px 0}
}

/* ====== HARMONISATION HOVER — sections restantes ====== */

/* Section INTRO — "Votre chalet de montagne à Roubion" */
.intro-wrap{overflow:hidden}
.intro-img{transition:transform 0.9s cubic-bezier(0.22,1,0.36,1),filter 0.7s ease;will-change:transform}
.intro-wrap:hover .intro-img{transform:scale(1.05);filter:saturate(1.08) brightness(1.03)}
.intro-text .title em,.intro-text .s-rule{transition:color 0.5s ease,width 0.5s cubic-bezier(0.22,1,0.36,1)}
.intro-wrap:hover .intro-text .s-rule{width:80px}
.intro-wrap:hover .intro-text .title em{color:var(--gold)}

/* Section INTÉRIEUR — "Un espace de vie chaleureux" */
.interior-slide-img{transition:transform 0.9s cubic-bezier(0.22,1,0.36,1),filter 0.7s ease}
.interior-section:hover .interior-slide-img{transform:scale(1.06);filter:saturate(1.15) brightness(1.05)}
.interior-text .title em,.interior-text .s-rule{transition:color 0.5s ease,width 0.5s cubic-bezier(0.22,1,0.36,1)}
.interior-section:hover .interior-text .s-rule{width:80px}
.interior-section:hover .interior-text .title em{color:var(--gold)}

/* STATS BAND — hover doux sur chaque cellule */
.stat-cell{transition:background 0.4s ease,transform 0.4s cubic-bezier(0.22,1,0.36,1)}
.stat-cell:hover{background:rgba(196,169,125,0.04);transform:translateY(-2px)}
.stat-n{transition:color 0.3s ease}
.stat-cell:hover .stat-n{color:var(--gold)}

/* VIDÉO YOUTUBE — la grande fenêtre de visite */
.video-frame{transition:transform 0.5s cubic-bezier(0.22,1,0.36,1),box-shadow 0.5s ease;will-change:transform}
.video-frame:hover{transform:translateY(-4px);box-shadow:0 40px 80px -40px rgba(0,0,0,0.55)}

/* SHORT SECTION — Le chalet la nuit (vidéo verticale) */
.short-video-side iframe{transition:filter 0.6s ease;filter:saturate(0.95)}
.short-section:hover .short-video-wrap iframe{filter:saturate(1.08)}
.short-text-side .s-rule{transition:width 0.5s cubic-bezier(0.22,1,0.36,1)}
.short-section:hover .short-text-side .s-rule{width:80px}

/* ====== PORTRAIT DE MATHIEU dans la carte contact ====== */
.contact-portrait{width:120px;height:120px;border-radius:50%;background-size:140%;background-position:center 38%;margin:0 auto 24px;border:2px solid rgba(196,169,125,0.25);box-shadow:0 12px 28px -12px rgba(26,23,18,0.25);transition:transform 0.5s cubic-bezier(0.22,1,0.36,1),border-color 0.4s ease,box-shadow 0.5s ease}
.contact-card:hover .contact-portrait{transform:scale(1.05);border-color:var(--gold);box-shadow:0 20px 40px -15px rgba(196,169,125,0.4)}
.contact-role{font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);margin-bottom:28px;margin-top:-18px}

/* ====== BOUTON WHATSAPP FLOTTANT ====== */
.whatsapp-btn{position:fixed;bottom:32px;right:32px;z-index:160;display:inline-flex;align-items:center;gap:10px;padding:14px 22px 14px 16px;background:#25D366;color:#fff;border-radius:100px;text-decoration:none;font-family:'Jost',sans-serif;font-weight:400;font-size:14px;letter-spacing:0.04em;box-shadow:0 12px 30px -10px rgba(37,211,102,0.55),0 4px 12px -4px rgba(26,23,18,0.2);transition:all 0.4s cubic-bezier(0.22,1,0.36,1);cursor:pointer}
.whatsapp-btn svg{width:22px;height:22px;flex-shrink:0;transition:transform 0.4s cubic-bezier(0.22,1,0.36,1)}
.whatsapp-btn:hover{background:#1ebd5b;transform:translateY(-3px);box-shadow:0 18px 40px -10px rgba(37,211,102,0.7),0 6px 18px -4px rgba(26,23,18,0.25)}
.whatsapp-btn:hover svg{transform:rotate(-8deg) scale(1.08)}
.whatsapp-btn:focus-visible{outline:2px solid var(--gold);outline-offset:4px}

/* Sur mobile : juste l'icône, et on remonte au-dessus du CTA mobile */
@media(max-width:900px){
  .whatsapp-btn{bottom:78px;right:20px;padding:14px;gap:0}
  .whatsapp-btn .whatsapp-label{display:none}
  .back-top{bottom:78px;right:78px;width:44px;height:44px}
}

/* Sur desktop : on remonte le bouton "back-top" pour qu'il ne se superpose pas */
@media(min-width:901px){
  .back-top{bottom:96px;right:32px}
}

/* Sur petit mobile : stacker WhatsApp et back-top verticalement */
@media(max-width:600px){
  .whatsapp-btn{bottom:78px;right:20px}
  .back-top{bottom:140px;right:20px;width:40px;height:40px}
}

/* ====== POUR QUI — 3 cartes audience en ligne ====== */
.audience-row{padding:60px 56px;background:var(--cream);border-bottom:0.5px solid var(--rule)}
.audience-row-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1100px;margin:0 auto;list-style:none;padding:0}
.audience-card-light{padding:36px 28px;border:0.5px solid var(--rule);text-align:center;background:#fff;transition:border-color 0.3s ease,transform 0.4s cubic-bezier(0.22,1,0.36,1),box-shadow 0.4s ease}
.audience-card-light:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 24px 48px -24px rgba(26,23,18,0.14)}
.audience-card-icon{font-size:28px;margin-bottom:16px;line-height:1}
.audience-card-title{font-family:'Cormorant',serif;font-style:italic;font-weight:300;font-size:22px;color:var(--ink);margin:0 0 10px;line-height:1.2}
.audience-card-text{font-size:14px;color:var(--muted);line-height:1.65;margin:0}
.audience-card-text strong{color:var(--ink);font-weight:400}

@media(max-width:900px){
  .audience-row{padding:48px 24px}
  .audience-row-grid{grid-template-columns:1fr;gap:14px;max-width:520px}
  .audience-card-light{padding:28px 24px}
}

/* Container pour iframe YouTube Shorts (vertical) dans une article-figure-side */
.article-figure-video-wrap{position:relative;width:100%;aspect-ratio:9/16;background:#000;overflow:hidden}
.article-figure-video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:none}
