/* =============================================
   LA TORGNOLE V4 — styles.css
   ============================================= */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Barlow:ital,wght@0,300;0,400;0,600;1,300&family=Barlow+Condensed:wght@300;400;600;700&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:'Barlow',sans-serif;background:#0F0F0F;color:#fff;overflow-x:hidden}

/* CURSOR — natif navigateur */
.cursor{display:none;}

/* =============================================
   AGE GATE
   ============================================= */
.age-gate{position:fixed;inset:0;z-index:10000;background:#070707;display:flex;align-items:center;justify-content:center;overflow:hidden}
.age-gate--out{pointer-events:none}
.age-gate--out .age-gate__panel{animation:agePanelOut .8s cubic-bezier(.77,0,.175,1) forwards}
.age-gate--out .age-gate__side-left{animation:ageSideLeftOut .7s cubic-bezier(.77,0,.175,1) .05s forwards}
.age-gate--out .age-gate__side-right{animation:ageSideRightOut .7s cubic-bezier(.77,0,.175,1) forwards}
@keyframes agePanelOut{to{opacity:0;transform:scale(1.05) translateY(-16px)}}
@keyframes ageSideLeftOut{to{transform:translateX(-110%);opacity:0}}
@keyframes ageSideRightOut{to{transform:translateX(110%);opacity:0}}
.age-gate__grid{position:absolute;inset:0;z-index:1;pointer-events:none;background-image:linear-gradient(rgba(200,151,42,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(200,151,42,.025) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse 65% 75% at 50% 50%,black,transparent);-webkit-mask-image:radial-gradient(ellipse 65% 75% at 50% 50%,black,transparent)}
.age-gate__side-left,.age-gate__side-right{position:absolute;top:0;bottom:0;width:clamp(80px,14vw,160px);z-index:2;pointer-events:none;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:3rem 1rem}
.age-gate__side-left{left:0;border-right:1px solid rgba(200,151,42,.08);animation:ageSideLeftIn .9s cubic-bezier(.22,1,.36,1) .1s both}
.age-gate__side-right{right:0;border-left:1px solid rgba(200,151,42,.08);animation:ageSideRightIn .9s cubic-bezier(.22,1,.36,1) .15s both}
@keyframes ageSideLeftIn{from{transform:translateX(-40px);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes ageSideRightIn{from{transform:translateX(40px);opacity:0}to{transform:translateX(0);opacity:1}}
.age-gate__side-word{font-family:'Bebas Neue',sans-serif;font-size:clamp(3rem,6vw,7rem);color:rgba(200,151,42,.04);line-height:1;writing-mode:vertical-rl;text-orientation:mixed;user-select:none}
.age-gate__side-ticker{font-family:'Barlow Condensed',sans-serif;font-size:.5rem;letter-spacing:.35em;text-transform:uppercase;color:rgba(200,151,42,.15);writing-mode:vertical-rl;margin-top:2rem;user-select:none}
.age-gate__panel{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;padding:3.5rem 3rem;max-width:520px;width:100%;text-align:center;animation:agePanelIn .9s cubic-bezier(.22,1,.36,1) .2s both}
@keyframes agePanelIn{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
.age-gate__panel::before,.age-gate__panel::after{content:'';position:absolute;width:18px;height:18px;pointer-events:none}
.age-gate__panel::before{top:0;left:0;border-top:1.5px solid rgba(200,151,42,.45);border-left:1.5px solid rgba(200,151,42,.45)}
.age-gate__panel::after{bottom:0;right:0;border-bottom:1.5px solid rgba(200,151,42,.45);border-right:1.5px solid rgba(200,151,42,.45)}
.age-gate__top-line{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;width:100%}
.age-gate__top-line::before,.age-gate__top-line::after{content:'';flex:1;height:1px;background:linear-gradient(to right,transparent,rgba(200,151,42,.3),transparent)}
.age-gate__top-tag{font-family:'Barlow Condensed',sans-serif;font-size:.56rem;letter-spacing:.35em;text-transform:uppercase;color:rgba(200,151,42,.5);white-space:nowrap}
.age-gate__logo{height:60px;width:auto;margin-bottom:1.5rem;filter:drop-shadow(0 0 30px rgba(200,151,42,.18))}
.age-gate__eyebrow{font-family:'Barlow Condensed',sans-serif;font-size:.63rem;letter-spacing:.4em;text-transform:uppercase;color:#C8972A;margin-bottom:.6rem}
.age-gate__title{font-family:'Bebas Neue',sans-serif;font-size:clamp(3rem,8vw,6rem);line-height:.88;letter-spacing:-.01em;color:#fff;margin-bottom:.4rem}
.age-gate__sub{font-family:'Barlow Condensed',sans-serif;font-size:clamp(.8rem,1.8vw,1rem);letter-spacing:.12em;color:rgba(255,255,255,.28)}
.age-gate__divider{display:flex;align-items:center;gap:.75rem;margin:1.75rem 0;width:100%}
.age-gate__divider-line{flex:1;height:1px;background:rgba(255,255,255,.06)}
.age-gate__divider-diamond{width:5px;height:5px;background:#C8972A;transform:rotate(45deg);flex-shrink:0}
.age-gate__question{font-family:'Barlow',sans-serif;font-size:.85rem;color:rgba(255,255,255,.42);line-height:1.75;max-width:360px;margin-bottom:2rem}
.age-gate__question strong{color:rgba(255,255,255,.82);font-weight:600}
.age-gate__btns{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center;margin-bottom:1.75rem;position:relative;z-index:10}
.age-gate__btns button{position:relative;z-index:10;cursor:pointer !important}
.age-gate__legal-bar{display:flex;align-items:center;gap:.75rem;width:100%}
.age-gate__legal-bar::before,.age-gate__legal-bar::after{content:'';flex:1;height:1px;background:rgba(255,255,255,.04)}
.age-gate__legal{font-family:'Barlow Condensed',sans-serif;font-size:.56rem;color:rgba(255,255,255,.18);letter-spacing:.1em;text-align:center;white-space:nowrap;text-transform:uppercase}

/* =============================================
   NOISE
   ============================================= */
.noise{position:fixed;inset:0;z-index:800;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* =============================================
   HEADER
   ============================================= */
header{position:fixed;top:0;left:0;right:0;z-index:500;height:72px;padding:0 3rem;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(to bottom,rgba(15,15,15,.95),transparent);backdrop-filter:blur(8px);transition:background .3s}
.logo-wrap{display:flex;align-items:center;gap:.75rem;text-decoration:none;transition:opacity .2s,transform .3s cubic-bezier(.22,1,.36,1)}
.logo-wrap:hover{opacity:.9;transform:scale(1.06)}
.logo-wrap img{height:68px;width:auto;animation:logoEntrance .8s cubic-bezier(.22,1,.36,1) .1s both;filter:drop-shadow(0 0 16px rgba(200,151,42,.2))}
@keyframes logoEntrance{from{opacity:0;transform:translateX(-10px) scale(.92)}to{opacity:1;transform:translateX(0) scale(1)}}
nav{display:flex;gap:2.5rem;align-items:center}
nav a{font-family:'Barlow Condensed',sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.55);text-decoration:none;transition:color .25s;position:relative;padding-bottom:2px}
nav a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:1.5px;background:#C8972A;transition:width .3s cubic-bezier(.22,1,.36,1)}
nav a:hover{color:#fff}
nav a:hover::after{width:100%}
nav a.active{color:#fff}
nav a.active::after{width:100%}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;position:relative;z-index:600}
.burger span{display:block;width:24px;height:1.5px;background:#fff;transition:transform .3s,opacity .3s}
.burger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.mobile-nav{display:none;position:fixed;inset:72px 0 0;background:#0F0F0F;z-index:490;padding:3rem;flex-direction:column;gap:.5rem;transform:translateX(100%);transition:transform .4s cubic-bezier(.77,0,.175,1)}
.mobile-nav.open{transform:translateX(0)}
.mobile-nav a{font-family:'Bebas Neue',sans-serif;font-size:3rem;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.06);padding:.5rem 0;transition:color .2s,padding-left .2s}
.mobile-nav a:hover{color:#C8972A;padding-left:.75rem}

/* =============================================
   PAGE HERO
   ============================================= */
.page-hero{padding:10rem 3.5rem 5rem;position:relative;overflow:hidden}
.page-hero-label{font-family:'Barlow Condensed',sans-serif;font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:#C8972A;margin-bottom:1rem;opacity:0;animation:heroLabelIn .6s ease .3s forwards}
@keyframes heroLabelIn{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}
.page-hero h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(5rem,14vw,13rem);line-height:.88;letter-spacing:-.01em;color:#fff}
.page-hero-bg-word{position:absolute;right:-2rem;top:50%;transform:translateY(-50%);font-family:'Bebas Neue',sans-serif;font-size:clamp(8rem,20vw,18rem);color:rgba(255,255,255,.03);white-space:nowrap;pointer-events:none;letter-spacing:-.02em}
.page-line{width:100%;height:1px;background:rgba(255,255,255,.06);margin-top:4rem;transform:scaleX(0);transform-origin:left;animation:lineIn .8s cubic-bezier(.22,1,.36,1) .5s forwards}
@keyframes lineIn{to{transform:scaleX(1)}}

/* =============================================
   SECTIONS
   ============================================= */
.section{padding:6rem 3.5rem}
.section-dark{background:#0F0F0F}
.section-mid{background:#111}
.section-label{font-family:'Barlow Condensed',sans-serif;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:#C8972A;margin-bottom:.75rem}
.section-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.5rem,5vw,4.5rem);line-height:.95;color:#fff;margin-bottom:1.5rem}
.section-title span{color:rgba(255,255,255,.15)}
.gold-line{width:48px;height:2px;background:#C8972A;margin-bottom:2rem;transform:scaleX(0);transform-origin:left;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.gold-line.visible,.fade-up.visible .gold-line{transform:scaleX(1)}

/* =============================================
   BEER GRID
   ============================================= */
.beers-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:4rem;flex-wrap:wrap;gap:2rem}
.beers-header p{max-width:300px;font-size:.88rem;color:rgba(255,255,255,.4);line-height:1.75;text-align:right}
.beers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5px;background:rgba(255,255,255,.05)}
.beer-item{background:#0F0F0F;padding:3rem 2rem 2.5rem;display:flex;flex-direction:column;align-items:center;text-align:center;transition:background .35s;position:relative;overflow:hidden}
.beer-item::before{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;transform:scaleX(0);transition:transform .4s cubic-bezier(.22,1,.36,1);transform-origin:left}
.beer-item::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 120%,rgba(200,151,42,.06),transparent 70%);opacity:0;transition:opacity .4s}
.beer-item:hover{background:#141414}
.beer-item:hover::before{transform:scaleX(1)}
.beer-item:hover::after{opacity:1}
.beer-item[data-c="yellow"]::before{background:#E8A020}
.beer-item[data-c="dark"]::before{background:#C8972A}
.beer-item[data-c="red"]::before{background:#C0202A}
.beer-item[data-c="gold"]::before{background:#C8972A}
.beer-item[data-c="blue"]::before{background:#5080DC}
.beer-item[data-c="green"]::before{background:#7EB83A}
.beer-item[data-c="yellow2"]::before{background:#E8A020}
.beer-item[data-c="france"]::before{background:#0052A5}
.badge{font-family:'Barlow Condensed',sans-serif;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;padding:.25rem .7rem;border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.4);margin-bottom:1.5rem;align-self:center;transition:border-color .3s,color .3s}
.beer-item:hover .badge{border-color:rgba(200,151,42,.3);color:rgba(200,151,42,.7)}
.badge-seasonal{border-color:rgba(200,151,42,.25);color:rgba(200,151,42,.6)}
.beer-bottle-wrap{height:200px;display:flex;align-items:center;justify-content:center;margin:.5rem 0 1.25rem}
.beer-bottle-wrap img{height:100%;width:auto;object-fit:contain;filter:drop-shadow(0 12px 24px rgba(0,0,0,.4));transition:transform .45s cubic-bezier(.22,1,.36,1),filter .45s}
.beer-item:hover .beer-bottle-wrap img{transform:translateY(-8px) scale(1.05);filter:drop-shadow(0 20px 36px rgba(0,0,0,.5))}
.beer-num{font-family:'Bebas Neue',sans-serif;font-size:.95rem;color:rgba(255,255,255,.18);letter-spacing:.06em;margin-bottom:.3rem}
.beer-name{font-family:'Bebas Neue',sans-serif;font-size:1.5rem;color:#fff;letter-spacing:.03em;margin-bottom:.25rem;transition:color .3s}
.beer-item:hover .beer-name{color:#fff}
.beer-type{font-family:'Barlow Condensed',sans-serif;font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:.5rem}
.beer-alc{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;color:#C8972A;margin-bottom:.75rem}
.beer-desc{font-size:.8rem;color:rgba(255,255,255,.38);line-height:1.65}
.fut-row{display:grid;grid-template-columns:repeat(7,1fr);gap:1.5px;background:rgba(255,255,255,.04)}
.fut-item{background:#0F0F0F;padding:2.5rem 1rem 2rem;display:flex;flex-direction:column;align-items:center;text-align:center;transition:background .3s;position:relative;overflow:hidden}
.fut-item::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1.5px;background:#C8972A;transform:scaleX(0);transition:transform .35s cubic-bezier(.22,1,.36,1);transform-origin:center}
.fut-item:hover{background:#141414}
.fut-item:hover::after{transform:scaleX(1)}
.fut-item img{height:140px;width:auto;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.3));transition:transform .4s cubic-bezier(.22,1,.36,1),filter .4s}
.fut-item:hover img{transform:translateY(-6px) scale(1.04);filter:drop-shadow(0 14px 28px rgba(0,0,0,.5))}
.fut-name{font-family:'Bebas Neue',sans-serif;font-size:.95rem;color:#fff;margin-top:.75rem}
.fut-alc{font-family:'Barlow Condensed',sans-serif;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(200,151,42,.5);margin-top:.2rem}

/* =============================================
   RHUM PAGE
   ============================================= */
.rhum-layout{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}
.rhum-visual{position:relative;background:#0A0602;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:5rem 3rem}
.rhum-visual-word{position:absolute;font-family:'Bebas Neue',sans-serif;font-size:clamp(5rem,12vw,12rem);color:rgba(200,151,42,.05);top:50%;left:50%;transform:translate(-50%,-50%);white-space:nowrap;pointer-events:none}
.rhum-visual img{height:65vh;width:auto;object-fit:contain;position:relative;z-index:1;filter:drop-shadow(0 30px 60px rgba(0,0,0,.5));transition:transform .6s cubic-bezier(.22,1,.36,1),filter .6s}
.rhum-visual:hover img{transform:scale(1.04) rotate(1.5deg);filter:drop-shadow(0 40px 80px rgba(200,151,42,.15))}
.rhum-info{padding:7rem 5rem;display:flex;flex-direction:column;justify-content:center;position:relative}
.rhum-num{font-family:'Bebas Neue',sans-serif;font-size:6rem;color:rgba(200,151,42,.06);line-height:1;position:absolute;top:2rem;right:3rem}
.rhum-info h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(3rem,6vw,6rem);line-height:.9;color:#fff;margin-bottom:1.5rem}
.rhum-info h1 em{font-style:normal;color:#C8972A}
.rhum-dash{width:48px;height:2px;background:#C8972A;margin-bottom:2rem}
.rhum-info p{font-size:.9rem;color:rgba(255,255,255,.45);line-height:1.85;margin-bottom:1rem;max-width:380px}
.rhum-specs{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5px;background:rgba(255,255,255,.06);margin:2.5rem 0}
.rspec{background:#0F0F0F;padding:1.25rem;position:relative;transition:background .3s}
.rspec::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1.5px;background:#C8972A;transform:scaleX(0);transition:transform .35s cubic-bezier(.22,1,.36,1);transform-origin:left}
.rspec:hover{background:#141414}
.rspec:hover::after{transform:scaleX(1)}
.rspec-l{font-family:'Barlow Condensed',sans-serif;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(200,151,42,.55);margin-bottom:.25rem}
.rspec-v{font-family:'Bebas Neue',sans-serif;font-size:1.5rem;color:#fff}
.tasting-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5px;background:rgba(255,255,255,.04);margin-top:5rem}
.tasting-item{background:#0F0F0F;padding:2.5rem 2rem;text-align:center;transition:background .3s}
.tasting-item:hover{background:#141414}
.tasting-icon-wrap{width:44px;height:44px;margin:0 auto 1.25rem;display:flex;align-items:center;justify-content:center;border:1px solid rgba(200,151,42,.2);border-radius:2px;transition:background .3s,border-color .3s}
.tasting-item:hover .tasting-icon-wrap{background:rgba(200,151,42,.08);border-color:rgba(200,151,42,.5)}
.tasting-icon-wrap svg{width:20px;height:20px;color:#C8972A}
.tasting-item h4{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;color:#C8972A;margin-bottom:.75rem}
.tasting-item p{font-size:.82rem;color:rgba(255,255,255,.4);line-height:1.65}

/* =============================================
   HISTOIRE
   ============================================= */
.histoire-layout{display:grid;grid-template-columns:1fr 1fr;gap:8rem;align-items:start}
.histoire-text p{font-size:.95rem;color:rgba(255,255,255,.5);line-height:1.9;margin-bottom:1.25rem}
.histoire-text strong{color:rgba(255,255,255,.8)}
.timeline{position:relative;padding-left:2rem}
.timeline::before{content:'';position:absolute;left:0;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,#C8972A,rgba(200,151,42,.1))}
.tl-item{position:relative;padding-bottom:2.5rem;transition:opacity .3s}
.tl-item::before{content:'';position:absolute;left:-2.35rem;top:.5rem;width:8px;height:8px;border-radius:50%;background:#C8972A;border:2px solid #0F0F0F;transition:transform .3s,box-shadow .3s}
.tl-item:hover::before{transform:scale(1.4);box-shadow:0 0 0 3px rgba(200,151,42,.2)}
.tl-year{font-family:'Bebas Neue',sans-serif;font-size:2.2rem;color:#C8972A;line-height:1;margin-bottom:.4rem}
.tl-item h4{font-family:'Barlow Condensed',sans-serif;font-size:.85rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#fff;margin-bottom:.4rem}
.tl-item p{font-size:.85rem;color:rgba(255,255,255,.4);line-height:1.65}

/* =============================================
   EVENEMENTS
   ============================================= */
.evt-carousel{position:relative;overflow:hidden;background:#111;border:1px solid rgba(255,255,255,.06)}
.evt-slide{display:none;padding:5rem;min-height:500px;flex-direction:column;justify-content:center;animation:slideIn .5s cubic-bezier(.22,1,.36,1)}
.evt-slide.active{display:flex}
@keyframes slideIn{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}
.evt-date{font-family:'Barlow Condensed',sans-serif;font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:#C8972A;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem}
.evt-date::before{content:'';width:24px;height:1.5px;background:#C8972A}
.evt-slide h3{font-family:'Bebas Neue',sans-serif;font-size:clamp(3rem,6vw,5rem);color:#fff;line-height:.95;margin-bottom:1.5rem}
.evt-slide p{font-size:.9rem;color:rgba(255,255,255,.45);line-height:1.75;max-width:500px;margin-bottom:2rem}
.evt-controls{display:flex;align-items:center;gap:1rem;margin-top:3rem}
.evt-btn{width:44px;height:44px;border:1px solid rgba(255,255,255,.15);background:none;color:rgba(255,255,255,.6);font-size:1.1rem;cursor:pointer;transition:background .25s,color .25s,border-color .25s,transform .2s;border-radius:2px}
.evt-btn:hover{background:#C8972A;color:#0F0F0F;border-color:#C8972A;transform:scale(1.05)}
.evt-dots{display:flex;gap:.5rem}
.evt-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.2);border:none;cursor:pointer;padding:0;transition:background .25s,transform .25s}
.evt-dot.active{background:#C8972A;transform:scale(1.5)}
.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}
.info-list{margin-top:1.5rem;display:flex;flex-direction:column;gap:.1rem}
.info-list li{display:flex;align-items:flex-start;gap:1rem;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:.88rem;color:rgba(255,255,255,.55);list-style:none;transition:color .25s,padding-left .25s}
.info-list li:hover{color:rgba(255,255,255,.8);padding-left:.25rem}
.info-list li:last-child{border-bottom:none}
.info-icon-svg{width:18px;height:18px;flex-shrink:0;margin-top:2px;color:#C8972A;opacity:.8}
.fut-showcase{display:flex;flex-direction:column;align-items:center;gap:1rem}
.fut-showcase img{height:280px;width:auto;object-fit:contain;transition:transform .5s cubic-bezier(.22,1,.36,1),filter .5s}
.fut-showcase:hover img{transform:scale(1.05) rotate(-2deg);filter:drop-shadow(0 20px 40px rgba(200,151,42,.15))}

/* =============================================
   CONTACT
   ============================================= */
.contact-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:6rem}
.contact-info-title{font-family:'Bebas Neue',sans-serif;font-size:2.5rem;color:#fff;margin-bottom:2rem}
.cd{display:flex;align-items:flex-start;gap:1rem;padding:1.1rem 0;border-bottom:1px solid rgba(255,255,255,.06);transition:padding-left .25s}
.cd:hover{padding-left:.25rem}
.cd:last-of-type{border-bottom:none}
.cd-icon-wrap{width:38px;height:38px;flex-shrink:0;border:1px solid rgba(200,151,42,.3);display:flex;align-items:center;justify-content:center;border-radius:2px;transition:background .25s,border-color .25s,transform .25s}
.cd:hover .cd-icon-wrap{background:rgba(200,151,42,.1);border-color:rgba(200,151,42,.6);transform:scale(1.05)}
.cd-icon-wrap svg{width:16px;height:16px;color:#C8972A}
.cd-label{font-family:'Barlow Condensed',sans-serif;font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:.2rem}
.cd-val{font-size:.92rem;font-weight:600;color:#fff}
.cd-val a{color:#fff;text-decoration:none;transition:color .2s}
.cd-val a:hover{color:#C8972A}
.contact-form-wrap{background:#111;padding:3rem;border-top:2px solid #C8972A;position:relative;overflow:hidden}
.contact-form-wrap::before{content:'';position:absolute;top:0;right:0;width:200px;height:200px;background:radial-gradient(circle,rgba(200,151,42,.04),transparent 70%);pointer-events:none}
.contact-form-wrap h3{font-family:'Bebas Neue',sans-serif;font-size:2rem;color:#fff;margin-bottom:2rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-group{margin-bottom:1.25rem}
.form-group label{display:block;font-family:'Barlow Condensed',sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:.5rem;transition:color .2s}
.form-group:focus-within label{color:rgba(200,151,42,.8)}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:.8rem 1rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);color:#fff;font-family:'Barlow',sans-serif;font-size:.9rem;border-radius:2px;outline:none;transition:border-color .25s,background .25s,box-shadow .25s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#C8972A;background:rgba(200,151,42,.04);box-shadow:0 0 0 3px rgba(200,151,42,.08)}
.form-group select option{background:#111;color:#fff}
.form-group textarea{min-height:120px;resize:vertical}
.form-success{display:none;background:rgba(200,151,42,.08);border:1px solid rgba(200,151,42,.25);padding:1.25rem;font-size:.88rem;color:#C8972A;margin-top:1rem;border-radius:2px;align-items:center;gap:.75rem}
.form-success.visible{display:flex}
.form-success-icon svg{width:18px;height:18px;color:#C8972A}
.location-info-box{margin-top:2rem;padding:1.5rem;background:rgba(200,151,42,.05);border-left:2px solid #C8972A;transition:background .3s}
.location-info-box:hover{background:rgba(200,151,42,.08)}
.location-info-label{font-family:'Barlow Condensed',sans-serif;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:#C8972A;margin-bottom:.5rem}
.location-info-text{font-size:.85rem;color:rgba(255,255,255,.4);line-height:1.7}

/* =============================================
   MENTIONS
   ============================================= */
.mentions-wrap{max-width:800px;margin:0 auto;padding:5rem 3.5rem 8rem}
.mentions-wrap h2{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;color:#fff;margin-bottom:1rem;margin-top:3rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.06)}
.mentions-wrap p,.mentions-wrap li{font-size:.88rem;color:rgba(255,255,255,.45);line-height:1.8;margin-bottom:.5rem}
.mentions-wrap a{color:#C8972A;text-decoration:none;transition:opacity .2s}
.mentions-wrap a:hover{opacity:.75}

/* =============================================
   FOOTER
   ============================================= */
footer{
  background:#080808;
  padding:2.5rem 3.5rem;
  display:flex;flex-direction:column;
  gap:0;
  border-top:1px solid rgba(255,255,255,.04);
}
.footer-top{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:1.5rem;
  padding-bottom:2rem;
}
.footer-logo-wrap{display:flex;align-items:center;gap:.75rem;transition:opacity .25s;text-decoration:none}
.footer-logo-wrap:hover{opacity:.75}
.footer-logo-wrap img{height:36px;width:auto}
.footer-brand{font-family:'Bebas Neue',sans-serif;font-size:1.5rem;color:#fff;letter-spacing:.06em}
.footer-sub{font-size:.72rem;color:rgba(255,255,255,.25);letter-spacing:.08em;margin-top:.2rem}
.footer-links{display:flex;gap:1.75rem;flex-wrap:wrap}
.footer-links a{font-family:'Barlow Condensed',sans-serif;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.3);text-decoration:none;transition:color .2s;position:relative}
.footer-links a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:1px;background:#C8972A;transition:width .3s cubic-bezier(.22,1,.36,1)}
.footer-links a:hover{color:#fff}
.footer-links a:hover::after{width:100%}
.footer-right{font-size:.7rem;color:rgba(255,255,255,.18);line-height:1.6}

/* =============================================
   BOUTONS
   ============================================= */
.btn-gold{display:inline-flex;align-items:center;gap:.75rem;font-family:'Barlow Condensed',sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#0F0F0F;background:#C8972A;padding:.9rem 2.2rem;clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%);border:none;cursor:pointer !important;text-decoration:none;transition:background .25s,transform .25s,box-shadow .25s;position:relative;z-index:5}
.btn-gold:hover{background:#E8B84B;transform:scale(1.04);box-shadow:0 8px 24px rgba(200,151,42,.3)}
.btn-outline{display:inline-flex;align-items:center;gap:.75rem;font-family:'Barlow Condensed',sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#C8972A;background:transparent;padding:.9rem 2.2rem;border:1.5px solid rgba(200,151,42,.4);cursor:pointer !important;text-decoration:none;transition:background .25s,color .25s,border-color .25s,transform .25s;position:relative;z-index:5}
.btn-outline:hover{background:#C8972A;color:#0F0F0F;border-color:#C8972A;transform:scale(1.04)}

/* =============================================
   SCROLL INDICATOR — minimal propre
   ============================================= */
.scroll-indicator{
  position:fixed;bottom:2.5rem;left:50%;transform:translateX(-50%);
  z-index:600;display:flex;flex-direction:column;align-items:center;gap:.6rem;
  opacity:1;transition:opacity .5s ease;
}
.scroll-indicator.hidden{opacity:0;pointer-events:none}
.scroll-indicator-label{
  font-family:'Barlow Condensed',sans-serif;font-size:.56rem;
  letter-spacing:.35em;text-transform:uppercase;
  color:rgba(200,151,42,.7);
  text-shadow:0 0 12px rgba(200,151,42,.5);
  animation:siLabelPulse 2.5s ease infinite;
}
@keyframes siLabelPulse{0%,100%{opacity:.5}50%{opacity:1}}
.scroll-indicator-line{
  width:1px;height:44px;
  background:linear-gradient(to bottom,rgba(200,151,42,.8),transparent);
  box-shadow:0 0 8px rgba(200,151,42,.4);
  animation:scrollPulse 2.5s ease infinite;
  transform-origin:top;
}
@keyframes scrollPulse{
  0%{transform:scaleY(0);opacity:0}
  40%{opacity:1}
  100%{transform:scaleY(1);opacity:0}
}

/* =============================================
   ANIMATIONS
   ============================================= */
.blur-text-word{display:inline-block;opacity:0;filter:blur(8px);transform:translateY(-14px);transition:opacity .5s ease,filter .5s ease,transform .5s cubic-bezier(.22,1,.36,1)}
.blur-text-word.in{opacity:1;filter:blur(0);transform:translateY(0)}
.split-char{display:inline-block;opacity:0;transform:translateY(32px);transition:opacity .55s ease,transform .55s cubic-bezier(.22,1,.36,1)}
.split-char.in{opacity:1;transform:translateY(0)}
/* Pages sans age gate — visible immédiatement avec animation douce au scroll */
.fade-in-ready{opacity:1;transform:translateY(0);transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1)}
/* Mais garde l'animation scroll pour les éléments plus bas */
.fade-in-ready.scroll-animate{opacity:0;transform:translateY(24px)}
.fade-in-ready.scroll-animate.visible{opacity:1;transform:translateY(0)}

.fade-up{opacity:0;transform:translateY(24px);animation:none}
.fade-up.visible{opacity:1;transform:translateY(0);transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1)}
/* Pages sans age gate : trigger immédiat via classe sur body */
body.no-gate .fade-up{animation:fadeUpIn .7s cubic-bezier(.22,1,.36,1) both}
body.no-gate .fade-up:nth-child(1){animation-delay:.05s}
body.no-gate .fade-up:nth-child(2){animation-delay:.12s}
body.no-gate .fade-up:nth-child(3){animation-delay:.19s}
body.no-gate .fade-up:nth-child(4){animation-delay:.26s}
body.no-gate .fade-up:nth-child(5){animation-delay:.33s}
@keyframes fadeUpIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
/* Stagger sur les grilles */
.beers-grid .beer-item:nth-child(2){transition-delay:.05s}
.beers-grid .beer-item:nth-child(3){transition-delay:.1s}
.beers-grid .beer-item:nth-child(4){transition-delay:.15s}
.beers-grid .beer-item:nth-child(5){transition-delay:.2s}

/* =============================================
   INDEX — HERO SLIDES
   ============================================= */
#hero{position:relative;width:100vw;height:100vh;overflow:hidden}
.slide{position:absolute;inset:0;display:flex;align-items:center;opacity:0;pointer-events:none}
.slide.active{opacity:1;pointer-events:auto}
.slide-bg{position:absolute;inset:0;z-index:0;transform:translateY(100%);transition:transform .92s cubic-bezier(.77,0,.175,1)}
.slide.active .slide-bg{transform:translateY(0)}
.slide.leaving .slide-bg{transform:translateY(-100%);transition:transform .92s cubic-bezier(.77,0,.175,1)}
.slide-word{position:absolute;z-index:1;font-family:'Bebas Neue',sans-serif;font-size:clamp(9rem,19vw,19rem);line-height:1;white-space:nowrap;left:0;right:0;text-align:center;top:50%;transform:translateY(-50%) translateX(60px);opacity:0;color:rgba(255,255,255,.1);pointer-events:none;transition:opacity .6s ease .35s,transform .8s cubic-bezier(.22,1,.36,1) .35s}
.slide.active .slide-word{opacity:1;transform:translateY(-50%) translateX(0)}
.slide-num{position:absolute;top:50%;left:3.5rem;font-family:'Bebas Neue',sans-serif;font-size:3.8rem;color:#fff;z-index:3;transform:translateY(calc(-50% - 7rem)) translateX(-20px);opacity:0;transition:opacity .5s ease .5s,transform .6s ease .5s;line-height:1}
.slide.active .slide-num{opacity:1;transform:translateY(calc(-50% - 7rem)) translateX(0)}
.slide-dash{position:absolute;top:50%;left:3.5rem;transform:translateY(calc(-50% - 2.8rem));width:40px;height:1.5px;background:#fff;z-index:3;scale:0 1;transition:scale .4s ease .75s;transform-origin:left}
.slide.active .slide-dash{scale:1 1}
.slide-info{position:absolute;top:50%;left:3.5rem;transform:translateY(calc(-50% + 1.5rem));z-index:3;max-width:260px}
.slide-info h2{font-family:'Bebas Neue',sans-serif;font-size:1.7rem;letter-spacing:.04em;color:#fff;margin-bottom:.5rem;opacity:0;transform:translateY(14px);transition:opacity .5s ease .6s,transform .6s ease .6s}
.slide-info p{font-family:'Barlow',sans-serif;font-size:.8rem;font-weight:300;line-height:1.7;color:rgba(255,255,255,.7);font-style:italic;opacity:0;transform:translateY(10px);transition:opacity .5s ease .75s,transform .6s ease .75s}
.slide.active .slide-info h2,.slide.active .slide-info p{opacity:1;transform:translateY(0)}
.slide-alc{position:absolute;bottom:2.5rem;left:3.5rem;z-index:3;opacity:0;transition:opacity .5s ease .8s}
.slide.active .slide-alc{opacity:1}
.slide-alc-num{font-family:'Bebas Neue',sans-serif;font-size:3.5rem;color:#fff;line-height:1}
.slide-alc-label{font-family:'Barlow Condensed',sans-serif;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.slide-accordion{position:absolute;right:3.5rem;top:50%;transform:translateY(-50%);z-index:3;min-width:220px;opacity:0;transition:opacity .5s ease .65s}
.slide.active .slide-accordion{opacity:1}
.acc-item{border-top:1px solid rgba(255,255,255,.2);padding:.8rem 0;cursor:pointer;transition:padding-left .25s}
.acc-item:hover{padding-left:.35rem}
.acc-item:last-child{border-bottom:1px solid rgba(255,255,255,.2)}
.acc-header{display:flex;justify-content:space-between;align-items:center}
.acc-label{font-family:'Barlow Condensed',sans-serif;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:#fff}
.acc-icon{color:rgba(255,255,255,.5);font-size:1.1rem;transition:transform .3s,color .3s}
.acc-item.open .acc-icon{transform:rotate(45deg);color:#C8972A}
.acc-item:hover .acc-label{color:#C8972A}
.acc-body{max-height:0;overflow:hidden;transition:max-height .4s ease,opacity .3s ease;opacity:0}
.acc-item.open .acc-body{max-height:120px;opacity:1}
.acc-body p{padding:.6rem 0 .25rem;font-size:.8rem;color:rgba(255,255,255,.5);line-height:1.6;font-family:'Barlow',sans-serif}
.slide-bottle{position:absolute;bottom:0;left:50%;transform:translateX(-50%) translateY(50px);z-index:2;height:88vh;display:flex;align-items:flex-end;justify-content:center;opacity:0;transition:opacity .6s ease .2s,transform .9s cubic-bezier(.22,1,.36,1) .2s;pointer-events:none}
.slide.active .slide-bottle{opacity:1;transform:translateX(-50%) translateY(0)}
.slide-bottle img{height:100%;width:auto;object-fit:contain;filter:drop-shadow(0 40px 80px rgba(0,0,0,.35));transition:transform .4s ease}
/* Nav dots — côté droit */
.slide-nav{position:fixed;right:1.75rem;top:50%;transform:translateY(-50%);z-index:600;display:flex;flex-direction:column;gap:.6rem}
.nav-dot{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.25);border:none;cursor:pointer;padding:0;transition:background .3s,transform .3s}
.nav-dot.active{background:#C8972A;transform:scale(1.6)}
/* Gamme section */
.gamme-section{background:#0A0A0A;padding:7rem 0 0}
.gamme-header{padding:0 3.5rem 3.5rem;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:2rem}
.gamme-header h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(3rem,6vw,5.5rem);line-height:.92;color:#fff}
.gamme-header h2 span{color:rgba(255,255,255,.12)}
.gamme-header p{max-width:280px;font-size:.85rem;color:rgba(255,255,255,.35);line-height:1.7;text-align:right}
.bottles-row{display:grid;grid-template-columns:repeat(8,1fr);background:rgba(255,255,255,.04)}
.bottle-item{padding:2.5rem 1rem 2rem;display:flex;flex-direction:column;align-items:center;text-align:center;cursor:pointer;border-right:1px solid rgba(255,255,255,.04);transition:background .3s;position:relative;overflow:hidden}
.bottle-item:last-child{border-right:none}
.bottle-item::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.22,1,.36,1)}
.bottle-item:hover::after{transform:scaleX(1)}
.bottle-item[data-c="y"]::after{background:#E8A020}.bottle-item[data-c="k"]::after{background:#C8972A}.bottle-item[data-c="r"]::after{background:#C0202A}.bottle-item[data-c="go"]::after{background:#C8972A}.bottle-item[data-c="b"]::after{background:#5080DC}.bottle-item[data-c="gr"]::after{background:#7EB83A}.bottle-item[data-c="fr"]::after{background:#0052A5}
.bottle-item img{height:170px;width:auto;object-fit:contain;filter:drop-shadow(0 10px 20px rgba(0,0,0,.3));transition:transform .45s cubic-bezier(.22,1,.36,1),filter .45s;position:relative;z-index:1}
.bottle-item:hover img{transform:translateY(-10px) scale(1.07);filter:drop-shadow(0 18px 32px rgba(0,0,0,.5))}
.bi-name{font-family:'Bebas Neue',sans-serif;font-size:.95rem;color:#fff;margin-top:.75rem;letter-spacing:.04em;transition:color .3s}
.bottle-item:hover .bi-name{color:#C8972A}
.bi-type{font-family:'Barlow Condensed',sans-serif;font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-top:.2rem}
/* Rhum teaser */
.rhum-teaser{display:grid;grid-template-columns:1fr 1fr;background:#100C05;min-height:70vh}
.rt-visual{display:flex;align-items:center;justify-content:center;padding:5rem 3rem;position:relative;overflow:hidden}
.rt-bg-word{position:absolute;font-family:'Bebas Neue',sans-serif;font-size:clamp(7rem,13vw,12rem);color:rgba(200,151,42,.05);top:50%;left:50%;transform:translate(-50%,-50%);white-space:nowrap;pointer-events:none}
.rt-visual img{height:55vh;width:auto;object-fit:contain;position:relative;z-index:1;filter:drop-shadow(0 25px 50px rgba(0,0,0,.5));transition:transform .6s cubic-bezier(.22,1,.36,1),filter .6s}
.rt-visual:hover img{transform:scale(1.04) rotate(1.5deg);filter:drop-shadow(0 35px 60px rgba(200,151,42,.12))}
.rt-info{padding:6rem 5rem;display:flex;flex-direction:column;justify-content:center}

/* =============================================
   RESPONSIVE
   ============================================= */
@media(max-width:1024px){
  .histoire-layout{grid-template-columns:1fr;gap:4rem}
  .rhum-layout{grid-template-columns:1fr}
  .rhum-visual{min-height:50vh;padding:4rem 2rem}
  .rhum-info{padding:4rem 3rem}
  .contact-layout{grid-template-columns:1fr;gap:3rem}
  .fut-row{grid-template-columns:repeat(4,1fr)}
  .location-grid{grid-template-columns:1fr;gap:3rem}
  .tasting-row{grid-template-columns:1fr}
  footer{flex-direction:column;align-items:flex-start}
  .footer-right{text-align:left}
  .age-gate__side-left,.age-gate__side-right{display:none}
}
@media(max-width:900px){
  .rhum-teaser{grid-template-columns:1fr}
  .rt-visual{min-height:40vh}
  .rt-info{padding:3rem 2rem}
  .bottles-row{grid-template-columns:repeat(4,1fr)}
  .gamme-header{padding:0 1.5rem 2.5rem}
}
@media(max-width:768px){
  header{padding:0 1.5rem}
  nav{display:none}
  .burger{display:flex}
  .mobile-nav{display:flex}
  .section{padding:4rem 1.5rem}
  .page-hero{padding:8rem 1.5rem 4rem}
  .beers-grid{grid-template-columns:1fr 1fr}
  .fut-row{grid-template-columns:repeat(3,1fr)}
  .form-row{grid-template-columns:1fr}
  .mentions-wrap{padding:3rem 1.5rem 5rem}
  footer{padding:2rem 1.5rem}
  .age-gate__panel{padding:2.5rem 1.5rem}
  .scroll-indicator{display:none}
}
@media(max-width:600px){
  .slide-accordion{display:none}
  .slide-num,.slide-info,.slide-dash{left:1.5rem}
  .slide-alc{left:1.5rem}
  .bottles-row{grid-template-columns:repeat(4,1fr)}
  .gamme-header p{display:none}
}
@media(max-width:480px){
  .beers-grid{grid-template-columns:1fr}
  .fut-row{grid-template-columns:repeat(2,1fr)}
}


/* =============================================
   BANNIÈRE COOKIES
   ============================================= */
.cookie-banner{
  position:fixed;bottom:0;left:0;right:0;z-index:9000;
  transform:translateY(110%);transition:transform 0s;pointer-events:none;
}
.cookie-banner--show{
  transform:translateY(0);pointer-events:auto;
  animation:cookieSlideUp .65s cubic-bezier(.22,1,.36,1) forwards;
}
@keyframes cookieSlideUp{
  from{transform:translateY(100%);opacity:0}
  to{transform:translateY(0);opacity:1}
}
.cookie-banner__inner{
  margin:0 1.5rem 1.25rem;background:#0A0A0A;
  border:1px solid rgba(200,151,42,.25);border-bottom:none;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:1.5rem;padding:1.5rem 2.5rem;
  position:relative;overflow:hidden;
  animation:cookieGlowBorder 3s ease infinite;
}
.cookie-banner__inner::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(to right,transparent 0%,#C8972A 30%,#E8B84B 50%,#C8972A 70%,transparent 100%);
  background-size:200% 100%;animation:cookieBorderSlide 3s linear infinite;
}
@keyframes cookieBorderSlide{0%{background-position:200% 0}100%{background-position:-200% 0}}
.cookie-banner__inner::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 50% 100% at 0% 50%,rgba(200,151,42,.05),transparent);
}
.cookie-banner__text{flex:1;min-width:260px}
.cookie-banner__title{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;color:#fff;letter-spacing:.06em;margin-bottom:.35rem}
.cookie-banner__desc{font-family:'Barlow',sans-serif;font-size:.78rem;color:rgba(255,255,255,.4);line-height:1.65;max-width:560px}
.cookie-banner__desc a{color:#C8972A;text-decoration:none}
.cookie-banner__desc a:hover{opacity:.75}
.cookie-banner__actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}
.cookie-btn-accept{
  font-family:'Barlow Condensed',sans-serif;font-size:.72rem;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;background:#C8972A;color:#0F0F0F;border:none;
  padding:.75rem 1.8rem;cursor:pointer;
  clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%);
  transition:background .2s,transform .2s,box-shadow .2s;
}
.cookie-btn-accept:hover{background:#E8B84B;transform:scale(1.04);box-shadow:0 6px 20px rgba(200,151,42,.3)}
.cookie-btn-refuse{
  font-family:'Barlow Condensed',sans-serif;font-size:.72rem;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;background:transparent;
  color:rgba(255,255,255,.45);border:1px solid rgba(255,255,255,.12);
  padding:.75rem 1.4rem;cursor:pointer;transition:color .2s,border-color .2s;
}
.cookie-btn-refuse:hover{color:#fff;border-color:rgba(255,255,255,.35)}
.cookie-btn-manage{
  font-family:'Barlow Condensed',sans-serif;font-size:.72rem;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;background:transparent;
  color:#C8972A;border:1px solid rgba(200,151,42,.35);
  padding:.75rem 1.4rem;cursor:pointer;transition:background .2s,color .2s,border-color .2s;
}
.cookie-btn-manage:hover{background:rgba(200,151,42,.1);border-color:#C8972A}
.cookie-btn-close{
  background:none;border:none;cursor:pointer;color:rgba(255,255,255,.25);
  font-size:1.1rem;padding:.25rem;transition:color .2s;line-height:1;flex-shrink:0;
}
.cookie-btn-close:hover{color:rgba(255,255,255,.7)}

/* ---- MODAL GESTION COOKIES ---- */
.cookie-modal-overlay{
  position:fixed;inset:0;z-index:9500;
  background:rgba(0,0,0,.75);
  backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;
  padding:1.5rem;
  opacity:0;pointer-events:none;
  transition:opacity .35s ease;
}
.cookie-modal-overlay--show{opacity:1;pointer-events:auto}
.cookie-modal{
  background:#0D0D0D;
  border:1px solid rgba(200,151,42,.25);
  max-width:620px;width:100%;
  max-height:90vh;overflow-y:auto;
  position:relative;
  transform:translateY(24px) scale(.97);
  transition:transform .4s cubic-bezier(.22,1,.36,1);
}
.cookie-modal-overlay--show .cookie-modal{transform:translateY(0) scale(1)}
.cookie-modal::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(to right,transparent,#C8972A,transparent);
}
.cookie-modal__head{
  padding:2rem 2rem 1.25rem;
  border-bottom:1px solid rgba(255,255,255,.06);
  display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;
}
.cookie-modal__title{
  font-family:'Bebas Neue',sans-serif;font-size:1.8rem;
  color:#fff;letter-spacing:.04em;line-height:1;
}
.cookie-modal__subtitle{
  font-family:'Barlow',sans-serif;font-size:.8rem;
  color:rgba(255,255,255,.38);line-height:1.6;margin-top:.5rem;
}
.cookie-modal__close{
  background:none;border:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.4);width:32px;height:32px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;flex-shrink:0;font-size:.9rem;
  transition:color .2s,border-color .2s;
}
.cookie-modal__close:hover{color:#fff;border-color:rgba(255,255,255,.35)}
.cookie-modal__body{padding:1.5rem 2rem}
.cookie-category{
  padding:1.25rem 0;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.cookie-category:last-child{border-bottom:none}
.cookie-category__row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}
.cookie-category__name{
  font-family:'Barlow Condensed',sans-serif;font-size:.82rem;
  font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#fff;
}
.cookie-category__badge{
  font-family:'Barlow Condensed',sans-serif;font-size:.58rem;
  letter-spacing:.12em;text-transform:uppercase;
  padding:.15rem .5rem;margin-left:.5rem;
  border:1px solid rgba(200,151,42,.3);color:rgba(200,151,42,.6);
}
.cookie-category__desc{
  font-family:'Barlow',sans-serif;font-size:.78rem;
  color:rgba(255,255,255,.35);line-height:1.6;
}
/* Toggle switch */
.cookie-toggle{position:relative;flex-shrink:0}
.cookie-toggle input{position:absolute;opacity:0;width:0;height:0}
.cookie-toggle__track{
  display:block;width:44px;height:24px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.15);
  border-radius:12px;cursor:pointer;
  transition:background .3s,border-color .3s;
  position:relative;
}
.cookie-toggle input:checked + .cookie-toggle__track{
  background:#C8972A;border-color:#C8972A;
}
.cookie-toggle input:disabled + .cookie-toggle__track{
  background:rgba(200,151,42,.4);border-color:rgba(200,151,42,.4);cursor:not-allowed;opacity:.7;
}
.cookie-toggle__track::after{
  content:'';position:absolute;top:3px;left:3px;
  width:16px;height:16px;border-radius:50%;
  background:#fff;
  transition:transform .3s cubic-bezier(.22,1,.36,1);
}
.cookie-toggle input:checked + .cookie-toggle__track::after{transform:translateX(20px)}
.cookie-modal__footer{
  padding:1.25rem 2rem 1.75rem;
  border-top:1px solid rgba(255,255,255,.06);
  display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;justify-content:flex-end;
}
@media(max-width:768px){
  .cookie-banner__inner{margin:.75rem .75rem 1rem;padding:1.25rem 1.5rem;flex-direction:column;align-items:flex-start}
  .cookie-banner__actions{width:100%;flex-direction:column}
  .cookie-btn-accept,.cookie-btn-refuse,.cookie-btn-manage{width:100%;text-align:center;justify-content:center}
  .cookie-modal{max-height:95vh}
  .cookie-modal__head,.cookie-modal__body,.cookie-modal__footer{padding-left:1.25rem;padding-right:1.25rem}
}

/* Footer legal bar */
.footer-bottom{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:1rem;
  padding-top:1.25rem;
  border-top:1px solid rgba(255,255,255,.05);
}
.footer-legal{
  display:flex;gap:2rem;flex-wrap:nowrap;align-items:center;flex:1;
}
.footer-legal a{
  font-family:'Barlow Condensed',sans-serif;font-size:.68rem;
  letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;
  color:rgba(255,255,255,.28);text-decoration:none;
  transition:color .25s;position:relative;
}
.footer-legal a::after{
  content:'';position:absolute;bottom:-2px;left:0;
  width:0;height:1px;background:#C8972A;
  transition:width .3s cubic-bezier(.22,1,.36,1);
}
.footer-legal a:hover{color:rgba(200,151,42,.8)}
.footer-legal a:hover::after{width:100%}

/* Cookie banner border glow animation */
@keyframes cookieGlowBorder{
  0%,100%{box-shadow:0 -2px 20px rgba(200,151,42,.15), inset 0 1px 0 rgba(200,151,42,.3)}
  50%{box-shadow:0 -4px 40px rgba(200,151,42,.35), inset 0 1px 0 rgba(200,151,42,.7)}
}
@keyframes cookieSlideUp{
  from{transform:translateY(100%);opacity:0}
  to{transform:translateY(0);opacity:1}
}

/* =============================================
   RESPONSIVE MOBILE — améliorations
   ============================================= */
@media(max-width:768px){
  /* Logo taille réduite sur mobile */
  .logo-wrap img{height:44px}
  /* Footer responsive */
  .footer-top{flex-direction:column;gap:1rem}
  .footer-bottom{flex-direction:column;gap:.75rem}
  .footer-legal{flex-wrap:wrap;gap:.75rem}
  .footer-legal a{font-size:.62rem}
  /* Age gate mobile */
  .age-gate__title{font-size:clamp(2.5rem,12vw,5rem)}
  .age-gate__btns{flex-direction:column;width:100%}
  .age-gate__btns button{width:100%;justify-content:center}
  /* Page hero mobile */
  .page-hero h1{font-size:clamp(3.5rem,14vw,8rem)}
  /* Rhum layout mobile */
  .rhum-info{padding:3rem 1.5rem}
  .rhum-num{display:none}
  /* Contact mobile */
  .contact-layout{grid-template-columns:1fr}
  /* History mobile */
  .histoire-layout{grid-template-columns:1fr;gap:3rem}
  /* Cookie banner mobile */
  .cookie-banner__inner{margin:.5rem .5rem .75rem;padding:1.25rem}
}
@media(max-width:480px){
  /* Index hero mobile */
  .slide-info{left:1.25rem;max-width:200px}
  .slide-num,.slide-dash{left:1.25rem}
  .slide-alc{left:1.25rem;bottom:1.5rem}
  .slide-alc-num{font-size:2.5rem}
  /* Bottles row mobile */
  .bottles-row{grid-template-columns:repeat(3,1fr)}
  /* Gamme header mobile */
  .gamme-header{padding:0 1.25rem 2rem}
  .gamme-header h2{font-size:2.5rem}
  /* Sections padding */
  .section{padding:3rem 1.25rem}
  .page-hero{padding:7rem 1.25rem 3rem}
  /* Footer */
  .footer-links{gap:1rem}
  .footer-links a{font-size:.65rem}
}
