* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: poppins, sans-serif;
    line-height: normal;
}

:root {
    --brun: #6b5746;
    --brun-deep: #3a2c1f;
    --sauge: #758957;
    --foret: #2f3d21;
    --or: #C8A96E;
    --creme: #FAFAF4;
    --texte: #2a1f15;
    /* Aligné sur nav : padding vertical (1.4rem × 2) + ligne du contenu */
    --nav-padding-y: 1.4rem;
    --nav-height: calc(var(--nav-padding-y) * 2 + 2.25rem);
}

html {
    overflow-x: clip;
}
body {
    margin: 0;
    max-width: 100%;
    overflow-x: clip;
    background: var(--creme) !important;
}
p {
    margin-bottom: 0 !important;
}
section {
    padding: 7rem 8vw;
}
/* HERO */
#hero{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;}
.hero-left{background:var(--foret);display:flex;flex-direction:column;justify-content:center;padding:10rem 5vw 6rem 8vw;position:relative;z-index:2;}
.hero-left::after{content:'';position:absolute;right:-55px;top:0;bottom:0;width:110px;background:var(--foret);clip-path:polygon(0 0,0 100%,100% 100%);z-index:1;}
.hero-eyebrow{font-size:.66rem !important;letter-spacing:.3em;text-transform:uppercase;color:var(--or);margin-bottom:1.6rem !important;display:flex;align-items:center;gap:1rem;}
.hero-eyebrow::before{content:'';width:2.5rem;height:1px;background:var(--or);}
.hero-title{font-family:'Playfair Display',serif !important;font-size:clamp(3rem,4vw,5.2rem) !important;line-height: 1.06 !important;color:var(--creme);font-weight:400 !important;margin-bottom:.5rem !important;}
.hero-title em{font-style:italic;color:var(--or);font-family:'Playfair Display',serif; line-height: 1.06 !important;}
.hero-sub{font-family:'Playfair Display',serif;font-style:italic;font-size:1.1rem;color:rgba(250,250,244,.52);margin-bottom:2.4rem !important;}
.hero-desc{font-size:.87rem;line-height:1.9;color:rgba(250,250,244,.72);max-width:38ch;margin-bottom:3.5rem !important;font-weight:300;}
.hero-ctas{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap;}
.cta-p{display:inline-flex;align-items:center;gap:.7rem;background:var(--or);color:var(--brun-deep);text-decoration:none;padding:1rem 2.2rem;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;border-radius:2px;transition:background .3s,transform .2s;}
.cta-p:hover{background:var(--creme);transform:translateY(-2px);}
.cta-s{color:rgba(250,250,244,.65);text-decoration:none;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid rgba(250,250,244,.22);padding-bottom:2px;transition:color .3s;}
.cta-s:hover{color:var(--or);border-color:var(--or);}
.hero-right{position:relative;overflow:hidden;}
.hero-img{width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:brightness(.78) saturate(1.1);transform:scale(1.04);transition:transform 10s;position:absolute;inset:0;}
#hero:hover .hero-img{transform:scale(1);}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(47,61,33,.3),transparent 55%);}
.hero-badge{position:absolute;bottom:2.5rem;left:2.5rem;background:rgba(250,250,244,.93);backdrop-filter:blur(8px);padding:1.2rem 1.6rem;border-left:3px solid var(--or);}
.hero-badge-label{font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sauge);font-weight:600;margin-bottom:.2rem; line-height: 1.3 !important;}
.hero-badge-tel{font-family:'Playfair Display',serif;font-style:italic;font-size:.98rem;color:var(--brun-deep); line-height: 1.3 !important;}
.hero-right-img {
    flex: 1;
    width: 100%;
    min-height: min(70vh, 560px);
    background-image: url('/img/hero-img.jpeg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}


/* SECTIONS */
section{padding:7rem 8vw;}
.eyebrow{font-size:.63rem;letter-spacing:.3em;text-transform:uppercase;color:var(--sauge);margin-bottom:1rem !important;display:flex;align-items:center;gap:1rem;}
.eyebrow::before{content:'';width:2rem;height:1px;background:var(--sauge);}
.s-title{font-family:'Playfair Display',serif;font-size:clamp(2.1rem,3.3vw,3.4rem);line-height:1.15;color:var(--brun-deep);font-weight:400;margin-bottom:1.5rem;}
.s-title em{font-style:italic;color:var(--brun);font-family:'Playfair Display',serif;}
.s-body {
    font-size: 0.88rem;
    line-height: 1.95;
    color: #5a4a3a;
    font-weight: 300;
    max-width: min(50ch, 100%);
    overflow-wrap: break-word;
    word-wrap: break-word;
}
.gold-line{width:3rem;height:1px;background:var(--or);margin:2rem 0;}

/* STRIP */
.strip {
    background: var(--brun);
    padding: 1.3rem 8vw;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 1rem 2rem;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    row-gap: 1.25rem;
}
.strip-item {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    color: rgba(250, 250, 244, 0.85);
    font-size: 0.68rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    white-space: normal;
    max-width: 100%;
    text-align: center;
    justify-content: center;
}
.sdot{width:5px;height:5px;border-radius:50%;background:var(--or);flex-shrink:0;}
.ssep {
    width: 1px;
    height: 28px;
    background: rgba(250, 250, 244, 0.18);
    flex-shrink: 0;
    align-self: center;
}

@media (min-width: 1025px) {
    .strip {
        flex-wrap: nowrap;
        justify-content: space-between;
        row-gap: 0;
    }
    .strip-item {
        white-space: nowrap;
        text-align: left;
        justify-content: flex-start;
    }
}

/* Tablette / mobile : liste verticale = dots alignés sur une même verticale */
@media (max-width: 1024px) {
    .strip {
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 0.85rem;
        overflow-x: visible;
        overflow-y: visible;
    }
    .strip .ssep {
        display: none;
    }
    .strip-item {
        width: 100%;
        white-space: normal;
    }
}

/* MARQUEE */
.marquee-wrap {background: var(--or);padding: 0.7rem 0;overflow: hidden;}
.marquee-track {display: flex;width: max-content;animation: marquee 32s linear infinite;}
.mitem {display: flex;align-items: center;gap: 1.5rem;padding: 0 2.5rem;font-size: 0.64rem;letter-spacing: 0.22em;text-transform: uppercase;color: var(--brun-deep);font-weight: 600;white-space: nowrap;}
.msep {width: 4px;height: 4px;border-radius: 50%;background: var(--brun-deep);opacity: 0.35;flex-shrink: 0;}
@keyframes marquee {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}

/* HISTOIRE */
#histoire{display:grid;grid-template-columns:1fr 1fr;gap:8rem;align-items:center;background:var(--creme);}
.hist-images{position:relative;height:600px;}
.hist-img1{position:absolute;width:72%;height:480px;object-fit:cover;top:0;left:0;filter:brightness(.88) saturate(1.05);transition:transform .8s cubic-bezier(.16,1,.3,1);}
.hist-img2{position:absolute;width:55%;height:310px;object-fit:cover;bottom:0;right:0;border:6px solid var(--creme);filter:brightness(.9);object-position:center 20%;transition:transform .8s cubic-bezier(.16,1,.3,1) .06s;}
.hist-images:hover .hist-img1{transform:scale(1.03) rotate(-.4deg);}
.hist-images:hover .hist-img2{transform:scale(1.04) rotate(.3deg);}
.hist-badge{position:absolute;top:50%;left:58%;transform:translate(-50%,-50%);background:var(--foret);color:var(--creme);width:136px;height:136px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:5;border:3px solid var(--or);}
.hist-badge-year{font-family:'Playfair Display',serif;font-style:italic;font-size:1.8rem;color:var(--or);line-height:1;}
.hist-badge-label{font-size:.57rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(250,250,244,.65);margin-top:.3rem;}
.hist-quote{margin-top:2.5rem;padding:1.8rem 2rem;border-left:2px solid var(--or);background:rgba(107,87,70,.07);font-family:'Playfair Display',serif;font-style:italic;font-size:1.08rem;color:var(--brun);line-height:1.72;}
.hist-tag{display:inline-flex;align-items:center;gap:.7rem;margin-top:.9rem;padding:.5rem 1.1rem;background:rgba(47,61,33,.06);border:1px solid rgba(107,87,70,.16);border-radius:2px;}
.hist-tag .tdot{width:6px;height:6px;border-radius:50%;background:var(--or);flex-shrink:0;}
.hist-tag span{font-family:'Playfair Display',serif;font-style:italic;font-size:.88rem;color:var(--brun-deep);}
.valeurs{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem;}
.valeur{padding:1.6rem;border-top:1px solid rgba(107,87,70,.18);transition:border-color .3s;}
.valeur:hover{border-color:var(--or);}
.v-num{font-family:'Playfair Display',serif;font-style:italic;font-size:2.4rem;color:rgba(107,87,70,.14);line-height:1;margin-bottom:.7rem;}
.v-title{font-size:.67rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sauge);font-weight:600;margin-bottom:.45rem;}
.v-desc{font-size:.77rem;line-height:1.7;color:#7a6555;font-weight:300;}

/* CUISINE */
#cuisine{background:var(--foret);color:var(--creme);padding:8rem 8vw;}
#cuisine .eyebrow{color:var(--or);}
#cuisine .eyebrow::before{background:var(--or);}
#cuisine .s-title{color:var(--creme);}
#cuisine .s-body{color:rgba(250,250,244,.62);}
.cuisine-head{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:end;margin-bottom:5rem;}
.cuisine-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:380px 260px;gap:1rem;}
.cw{overflow:hidden;}
.cw-span{grid-row:span 2;}
.cw-wide{grid-column:span 2;}
.cimg{width:100%;height:100%;object-fit:cover;filter:brightness(.82) saturate(1.15);transition:filter .45s,transform .45s;display:block;}
.cuisine-img-placeholder{width:100%;height:100%;min-height:12rem;background:rgba(107,87,70,.1);background-image:linear-gradient(135deg,rgba(107,87,70,.06) 25%,transparent 25%,transparent 50%,rgba(107,87,70,.06) 50%,rgba(107,87,70,.06) 75%,transparent 75%,transparent);background-size:1.5rem 1.5rem;}
.cimg:hover{filter:brightness(1) saturate(1.25);transform:scale(1.04);}

/* CARTE */
#carte,#menu-page,#gallery-page,#legal-page{background:var(--creme);padding:8rem 8vw;}
.carte-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:4rem;border-bottom:1px solid rgba(107,87,70,.13);padding-bottom:3rem;}
.ctabs{display:flex;border:1px solid rgba(107,87,70,.2);border-radius:2px;overflow:hidden;}
.ctab{padding:.7rem 1.5rem;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;cursor:pointer;background:transparent;border:none;color:var(--brun);transition:all .3s;font-family:'Poppins',sans-serif;}
.ctab.active{background:var(--foret);color:var(--creme);}
.ctab:hover:not(.active){background:rgba(107,87,70,.07);}
.plats-grid{display:grid;grid-template-columns:1fr 1fr;}
.plat{padding:2rem 4rem 2rem 0;border-bottom:1px solid rgba(107,87,70,.1);display:grid;grid-template-columns:1fr auto;gap:2rem;transition:padding-left .3s,background .3s;position:relative;}
.plat::before{content:'';position:absolute;left:-.5rem;top:2rem;bottom:2rem;width:2px;background:var(--or);transform:scaleY(0);transform-origin:top;transition:transform .3s;}
.plat:hover::before{transform:scaleY(1);}
.plat:hover{padding-left:1rem;background:rgba(107,87,70,.03);}
.plat-name{font-family:'Playfair Display',serif;font-size:1.02rem;color:var(--brun-deep);margin-bottom:.35rem;}
.plat-desc{font-size:.75rem;color:#8a7060;line-height:1.6;font-weight:300;}
.plat-origin{font-size:.59rem;letter-spacing:.15em;text-transform:uppercase;color:var(--sauge);margin-top:.4rem;}
.plat-price{font-family:'Playfair Display',serif;font-style:italic;font-size:1.26rem;color:var(--brun);white-space:nowrap;align-self:start;}
.psec{display:none;}
.psec.active{display:grid;}
.carte-cta{text-align:center;margin-top:4rem;padding-top:3rem;border-top:1px solid rgba(107,87,70,.1);}
.btn-carte{display:inline-flex;align-items:center;gap:.8rem;border:1px solid var(--brun);color:var(--brun-deep);text-decoration:none;padding:1rem 2.5rem;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500;transition:all .3s;}
.btn-carte:hover{background:var(--brun-deep);color:var(--creme);border-color:var(--brun-deep);}

/* TERROIR */
#terroir{background:var(--brun);padding:8rem 8vw;position:relative;overflow:hidden;}
#terroir::before{content:'TERROIR';position:absolute;font-family:'Playfair Display',serif;font-size:17vw;color:rgba(255,255,255,.035);top:50%;left:50%;transform:translate(-50%,-50%);white-space:nowrap;pointer-events:none;}
#terroir .eyebrow{color:var(--or);}
#terroir .eyebrow::before{background:var(--or);}
#terroir .s-title{color:var(--creme);}
.terroir-layout{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center;position:relative;z-index:1;}
.t-body{font-size:.88rem;line-height:1.95;color:rgba(250,250,244,.62);font-weight:300;margin-bottom:1.5rem;}
.producteurs{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:2rem;}
.producteur{display:flex;align-items:center;gap:.9rem;padding:1.2rem 1.4rem;background:rgba(250,250,244,.07);border:1px solid rgba(250,250,244,.1);transition:all .3s;}
.producteur:hover{background:rgba(250,250,244,.12);border-color:var(--or);transform:translateY(-2px);}
.p-icon{width:38px;height:38px;border-radius:50%;background:rgba(200,169,110,.15);display:flex;align-items:center;justify-content:center;font-size:1.05rem;flex-shrink:0;}
.p-name{font-size:.72rem;font-weight:600;color:var(--creme);margin-bottom:.12rem;}
.p-origin{font-size:.61rem;color:var(--or);letter-spacing:.12em;text-transform:uppercase;}
.t-right{position:relative;}
.t-img-main{width:100%;height:500px;object-fit:cover;filter:brightness(.82) saturate(1.1);transition:transform .8s cubic-bezier(.16,1,.3,1),filter .8s;}
.t-right:hover .t-img-main{transform:scale(1.03);filter:brightness(.9) saturate(1.2);}
.t-img-acc{position:absolute;bottom:-2rem;left:-2rem;width:46%;height:215px;object-fit:cover;border:5px solid var(--brun);filter:brightness(.88);}
.terroir-img-placeholder.t-img-main{display:block;width:100%;min-height:500px;background:rgba(250,250,244,.08);background-image:linear-gradient(135deg,rgba(250,250,244,.06) 25%,transparent 25%,transparent 50%,rgba(250,250,244,.06) 50%,rgba(250,250,244,.06) 75%,transparent 75%,transparent);background-size:1.2rem 1.2rem;}
.terroir-img-placeholder.t-img-acc{background:rgba(250,250,244,.06);background-image:linear-gradient(135deg,rgba(250,250,244,.05) 25%,transparent 25%,transparent 50%,rgba(250,250,244,.05) 50%,rgba(250,250,244,.05) 75%,transparent 75%,transparent);background-size:1rem 1rem;}

/* CHEFS */
#chefs{background:var(--creme);padding:8rem 8vw;}
.chefs-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;margin-top:4rem;}
.chef-card{padding:2.5rem 2rem;background:rgba(107,87,70,.05);border:1px solid rgba(107,87,70,.12);display:flex;flex-direction:column;gap:.8rem;position:relative;overflow:hidden;transition:background .35s,border-color .35s,transform .35s,box-shadow .35s;}
.chef-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--or),rgba(200,169,110,.2));opacity:0;transition:opacity .35s;}
.chef-card:hover{background:rgba(107,87,70,.09);border-color:var(--or);transform:translateY(-4px);box-shadow:0 12px 40px rgba(107,87,70,.12);}
.chef-card:hover::before{opacity:1;}
.chef-role{font-size:.61rem;letter-spacing:.26em;text-transform:uppercase;color:var(--or);}
.chef-name{font-family:'Playfair Display',serif;font-size:2.4rem;font-style:italic;color:var(--brun-deep);font-weight:400;line-height:1;}
.chef-desc{font-size:.82rem;color:#7a6555;line-height:1.78;font-weight:300;flex:1;}
.chef-tag{display:inline-flex;align-items:center;align-self:flex-start;padding:.38rem .9rem;border:1px solid rgba(107,87,70,.2);font-size:.59rem;letter-spacing:.15em;text-transform:uppercase;color:var(--sauge);}
.chefs-stats{margin-top:4rem;padding:3.5rem 5rem;background:var(--foret);display:flex;justify-content:space-around;align-items:center;position:relative;overflow:hidden;}
.chefs-stats::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(200,169,110,.07),transparent 70%);pointer-events:none;}
.chefs-stats::after{content:'PASSION �b7 TERROIR �b7 EXIGENCE �b7 MONTOIS';position:absolute;bottom:.6rem;left:0;right:0;text-align:center;font-size:.5rem;letter-spacing:.35em;text-transform:uppercase;color:rgba(250,250,244,.1);pointer-events:none;}
.stat{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;position:relative;z-index:1;}
.stat-num{font-family:'Playfair Display',serif;font-style:italic;font-size:3.8rem;color:var(--or);line-height:1;display:block;}
.stat-label{font-size:.61rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(250,250,244,.5);}

/* AVIS */
#avis{background:var(--foret);padding:8rem 8vw;}
#avis .eyebrow{color:var(--or);}
#avis .eyebrow::before{background:var(--or);}
#avis .s-title{color:var(--creme);}
.avis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:4rem;}
.avis-card{background:rgba(250,250,244,.05);border:1px solid rgba(250,250,244,.08);padding:2.5rem 2rem;transition:all .4s cubic-bezier(.16,1,.3,1);position:relative;}
.avis-card:hover{background:rgba(250,250,244,.09);border-color:rgba(200,169,110,.3);transform:translateY(-4px);}
.aqmark{font-family:'Playfair Display',serif;font-size:4rem;color:rgba(200,169,110,.18);line-height:1;position:absolute;top:1.4rem;right:1.4rem;font-style:italic;}
.avis-stars{color:var(--or);font-size:.77rem;margin-bottom:1.2rem;}
.avis-text{font-family:'Playfair Display',serif;font-style:italic;font-size:.92rem;color:rgba(250,250,244,.8);line-height:1.75;margin-bottom:1.5rem;}
.avis-author{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sauge);display:flex;align-items:center;gap:.7rem;}
.avis-author::before{content:'';width:1.5rem;height:1px;background:var(--sauge);}
.avis-platform{font-size:.59rem;color:rgba(250,250,244,.3);letter-spacing:.1em;text-transform:uppercase;margin-top:.3rem;padding-left:2.2rem;}
.avis-empty{font-size:.9rem;line-height:1.75;color:rgba(250,250,244,.55);font-weight:300;margin:3rem 0 0;max-width:36rem;}
.rating-strip{display:flex;gap:4rem;margin-top:5rem;padding-top:3rem;border-top:1px solid rgba(250,250,244,.1);justify-content:center;}
.rating-num{font-family:'Playfair Display',serif;font-style:italic;font-size:2.8rem;color:var(--or);line-height:1; text-align: center;}
.rating-label{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(250,250,244,.48);margin-top:.4rem;text-align:center;}

/* RESERVATION */
#reservation{background:var(--creme);padding:8rem 8vw;}
.resa-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8rem;
    align-items: center;
    min-width: 0;
}
.resa-layout > * {
    min-width: 0;
}.horaires{display:grid;grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);gap:2rem;margin-top:3rem;}
.horaire{padding:2rem;border:1px solid rgba(107,87,70,.14);transition:border-color .3s;}
.horaire--full {grid-area: 2 / 1 / 3 / 3; }
.horaire-1 { grid-area: 1 / 1 / 2 / 2; }
.horaire-2 { grid-area: 1 / 2 / 2 / 3; }

.horaire:hover{border-color:var(--or);}
.h-service{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sauge);font-weight:600;margin-bottom:.7rem;}
.h-jours{font-family:'Playfair Display',serif;font-size:.97rem;color:var(--brun-deep);margin-bottom:.35rem;}
.h-heures{font-size:.77rem;color:var(--brun);font-weight:300;}
.resa-box{padding:4rem;background:var(--foret);position:relative;}
.resa-box::before{content:'';position:absolute;top:-1rem;right:-1rem;bottom:1rem;left:1rem;border:1px solid rgba(200,169,110,.28);pointer-events:none;z-index:0;}
.resa-box>*{position:relative;z-index:1;}
.resa-box .eyebrow{color:var(--or);}
.resa-box .eyebrow::before{background:var(--or);}
.tel{font-family:'Playfair Display',serif;font-size:2.2rem;color:var(--or);letter-spacing:.05em;margin:2rem 0 1rem;display:block;text-decoration:none;transition:opacity .3s;}
.tel:hover{opacity:.78;}
.resa-note{font-size:.77rem;color:rgba(250,250,244,.55);line-height:1.75;font-weight:300;margin-bottom:2.5rem;}
.addr-block{padding-top:2rem;border-top:1px solid rgba(250,250,244,.11);}
.addr-label{font-size:.59rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sauge);margin-bottom:.45rem;}
.addr-text{font-size:.85rem;color:rgba(250,250,244,.68);line-height:1.7;font-weight:300;}
.addr-email{font-size:.77rem;color:var(--or);text-decoration:none;display:block;margin-top:.3rem;transition:opacity .3s;}
.addr-email:hover{opacity:.7;}
.btn-itin{display:inline-flex;align-items:center;gap:.6rem;border:1px solid rgba(250,250,244,.22);color:rgba(250,250,244,.72);text-decoration:none;padding:.8rem 1.5rem;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;margin-top:1.2rem;transition:all .3s;}
.btn-itin:hover{border-color:var(--or);color:var(--or);}

/* FOOTER */
footer{background:var(--brun-deep);padding:4rem 8vw 2rem;}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:5rem;padding-bottom:3rem;border-bottom:1px solid rgba(250,250,244,.09);margin-bottom:2rem;}
.f-brand-name{font-family:'Playfair Display',serif;font-style:italic;font-size:1.6rem;color:var(--creme);margin-bottom:1rem;display:block;}
.f-brand{color:rgba(250,250,244,.62);font-size:.79rem;line-height:1.8;font-weight:300;max-width:34ch;}
.f-heading{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--or);margin-bottom:1.5rem;}
.f-links{list-style:none; padding-left: 0;}
.f-links li{margin-bottom:.65rem;}
.f-links a{text-decoration:none;font-size:.79rem;color:rgba(250,250,244,.52);transition:color .3s;font-weight:300;}
.f-links a:hover{color:var(--or);}
.f-socials{display:flex;gap:1rem;margin-top:1.5rem;}
.social{width:35px;height:35px;border:1px solid rgba(250,250,244,.18);display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:.75rem;color:rgba(250,250,244,.48);transition:all .3s;border-radius:2px;}
.social:hover{border-color:var(--or);color:var(--or);}
.footer-bot{display:flex;justify-content:space-between;align-items:center;font-size:.65rem;color:rgba(250,250,244,.28);}
.footer-bot a{color:rgba(250,250,244,.28);text-decoration:none;transition:color .3s;}
.footer-bot a:hover{color:var(--or);}

/* STICKY */
.sticky {
    position: fixed;
    bottom: max(6rem, env(safe-area-inset-bottom, 0px));
    right: max(1rem, env(safe-area-inset-right, 0px));
    z-index: 90;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.4s ease, transform 0.4s ease;
    pointer-events: none;
}
.sticky.show {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
.sticky a{display:flex;align-items:center;gap:.6rem;background:var(--foret);color:var(--creme);text-decoration:none;padding:.9rem 1.8rem;font-size:.66rem;letter-spacing:.15em;text-transform:uppercase;font-weight:500;box-shadow:0 8px 30px rgba(47,61,33,.45);transition:background .3s;border-left:3px solid var(--or);}
.sticky a:hover{background:var(--brun-deep);}

/* SCROLL PROGRESS */
.pbar{position:fixed;top:0;left:0;z-index:200;height:2px;background:var(--or);width:0;transition:width .1s linear;}

/* ——— Tablette & mobile : évite débordements + grilles empilées ——— */
@media (max-width: 1024px) {
    .strip .ssep {
        display: none;
    }
    #hero {
        grid-template-columns: 1fr;
    }
    .hero-left {
        padding: calc(var(--nav-height) + 2.5rem) 6vw 3rem;
    }
    .hero-left::after {
        display: none;
    }
    .hero-right {
        min-height: min(52vh, 440px);
    }
    #histoire {
        grid-template-columns: 1fr;
        gap: 3rem;
    }
    .hist-images {
        height: min(520px, 70vw);
        max-width: 100%;
    }
    .cuisine-head {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    .cuisine-gallery {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
    }
    .cw-span {
        grid-row: span 1;
    }
    .cw-wide {
        grid-column: span 2;
    }
    .terroir-layout {
        grid-template-columns: 1fr;
        gap: 3rem;
    }
    .chefs-grid {
        grid-template-columns: 1fr;
    }
    .avis-grid {
        grid-template-columns: 1fr;
    }
    .resa-layout {
        grid-template-columns: 1fr;
        gap: 3rem;
    }
    .footer-top {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }
    .plats-grid {
        grid-template-columns: 1fr;
    }
    
}

@media (max-width: 768px) {
    section {
        padding: 4rem 5vw;
    }
    #cuisine,
    #carte,
    #menu-page,
    #gallery-page,
    #terroir,
    #chefs,
    #avis,
    #reservation {
        padding: 4rem 5vw;
    }
    .cuisine-gallery {
        grid-template-columns: 1fr;
    }
    .cw-wide {
        grid-column: span 1;
    }
    .valeurs {
        grid-template-columns: 1fr;
    }
    .producteurs {
        grid-template-columns: 1fr;
    }
    
    .sticky {
        right: 1rem;
        bottom: 1.25rem;
    }
    .sticky a {
        padding: 0.75rem 1.25rem;
        font-size: 0.6rem;
    }
    .hero-left {
        margin-top: var(--nav-height);
        padding: 60px;
    }
}
@media (max-width: 634px) {
    .strip-container {
        display: flex;
        justify-content: center;
        background-color:var(--brun) !important ;
    }
    .strip {
        width: max-content !important;
        flex-direction: column;
        align-items: start;
        justify-content: center !important;
        margin: auto !important;
        gap: 0.85rem;
        overflow-x: visible;
        overflow-y: visible;
    }
    #histoire .eyebrow {
        margin-top: 5vh;
    }
    .chefs-stats {
        flex-direction: column !important;
        align-items: center;
        gap: 2rem;
    }
    .rating-strip {
        flex-direction: column;
        gap: 2rem;
        align-items: center;
    }

}

@media (max-width: 576px) {
    #histoire .eyebrow {
        margin-top: 15vh;
    }

}

@media (max-width: 525px) {
    #histoire .eyebrow {
        margin-top: 25vh;
    }

    .carte-head {
        flex-direction: column;
        align-items: center;
    }

    
}

@media (max-width: 425px) {
    .hero-left {
        padding: 60px;
        margin-top: calc(var(--nav-height ) /2);
    }
    .horaires {
        display: flex; flex-direction: column;
    }
    .marquee-wrap {
        margin-bottom: 2rem;
    }

    #histoire .eyebrow {
        margin-top: 37vh;
    }
    
    
}

@media (max-width: 365px) {
    .tel {
        font-size: 1.7em;
    }
}

/* ——— Page /admin ——— */
.admin-page {
    min-height: calc(100svh - var(--nav-height));
    padding: calc(var(--nav-height) + 2rem) 5vw 4rem;
    background: var(--creme);
}
.admin-page-inner {
    max-width: 52rem;
    margin: 0 auto;
}
.admin-header {
    margin-bottom: 2.5rem;
}
.admin-eyebrow {
    font-size: 0.63rem;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--sauge);
    margin-bottom: 0.75rem;
}
.admin-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.85rem, 4vw, 2.5rem);
    color: var(--brun-deep);
    font-weight: 400;
    line-height: 1.15;
    margin: 0 0 0.5rem;
}
.admin-user {
    font-size: 0.88rem;
    color: #6b5746;
    margin: 0;
}
.admin-user strong {
    color: var(--brun-deep);
    font-weight: 500;
}
.admin-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1.5rem;
    margin-bottom: 2.5rem;
}
.admin-card {
    padding: 1.75rem 1.5rem;
    border: 1px solid rgba(107, 87, 70, 0.14);
    border-radius: 4px;
    background: rgba(250, 250, 244, 0.85);
    box-shadow: 0 8px 28px rgba(47, 61, 33, 0.06);
}
.admin-card-title {
    font-family: 'Playfair Display', serif;
    font-size: 1.15rem;
    color: var(--brun-deep);
    margin: 0 0 0.75rem;
    font-weight: 400;
}
.admin-card-text {
    margin: 0;
    font-size: 0.88rem;
    line-height: 1.75;
    color: #5a4a3a;
    font-weight: 300;
}
.admin-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
}
.admin-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.85rem 1.75rem;
    font-size: 0.68rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    font-weight: 600;
    text-decoration: none;
    border-radius: 2px;
    transition: background 0.25s, color 0.25s, border-color 0.25s;
}
.admin-btn--primary {
    background: var(--foret);
    color: var(--creme);
    border: 1px solid var(--foret);
}
.admin-btn--primary:hover {
    background: var(--brun-deep);
    border-color: var(--brun-deep);
    color: var(--creme);
}
.admin-btn--secondary {
    background: transparent;
    color: var(--sauge);
    border: 1px solid rgba(117, 137, 87, 0.45);
}
.admin-btn--secondary:hover {
    border-color: var(--foret);
    color: var(--foret);
}
.admin-page-inner--wide {
    max-width: 56rem;
}
.admin-link-muted {
    color: #6b5746;
    text-decoration: none;
    border-bottom: 1px solid rgba(107, 87, 70, 0.25);
}
.admin-link-muted:hover {
    color: var(--foret);
    border-color: rgba(47, 61, 33, 0.35);
}
.admin-flash {
    padding: 0.85rem 1.1rem;
    margin-bottom: 1.5rem;
    font-size: 0.88rem;
    color: #3d4a2e;
    background: rgba(117, 137, 87, 0.12);
    border: 1px solid rgba(117, 137, 87, 0.28);
    border-radius: 2px;
}
.admin-menu-section {
    padding: 1rem 2vw;
}
.menu-filter-ctabs {
    margin-top: 2rem;
}
.admin-heading {
    font-family: 'Playfair Display', serif;
    font-size: 1.2rem;
    font-weight: 400;
    color: var(--brun-deep);
    margin: 0 0 1rem;
    padding-bottom: 0.65rem;
    border-bottom: 1px solid rgba(107, 87, 70, 0.12);
}
.admin-menu-form .form-row,
.admin-menu-form > div {
    margin-bottom: 1rem;
}
.admin-menu-form label {
    display: block;
    font-size: 0.68rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--sauge);
    margin-bottom: 0.4rem;
    font-weight: 600;
}
.admin-menu-form input[type="text"],
.admin-menu-form input[type="number"],
.admin-menu-form select,
.admin-menu-form textarea {
    width: 100%;
    max-width: 32rem;
    padding: 0.65rem 0.75rem;
    font-size: 0.95rem;
    font-family: inherit;
    border: 1px solid rgba(107, 87, 70, 0.22);
    border-radius: 2px;
    background: #fff;
    color: var(--brun-deep);
}
.admin-menu-form textarea {
    resize: vertical;
    min-height: 4.5rem;
}
.admin-form-row-2 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    gap: 1rem;
    max-width: 32rem;
}
.admin-form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
    margin-top: 1.25rem;
}
.admin-empty {
    margin: 0;
    font-size: 0.9rem;
    color: #7a6a5a;
}
.admin-menu-list {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(107, 87, 70, 0.12);
    border-radius: 4px;
    overflow: hidden;
    background: rgba(250, 250, 244, 0.6);
}
.admin-menu-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.15rem;
    border-bottom: 1px solid rgba(107, 87, 70, 0.08);
}
.admin-menu-row:last-child {
    border-bottom: none;
}
.admin-menu-row-main {
    flex: 1;
    min-width: 12rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}
.admin-menu-name {
    font-family: 'Playfair Display', serif;
    font-size: 1.02rem;
    color: var(--brun-deep);
}
.admin-menu-meta {
    font-size: 0.82rem;
    color: #6b5746;
}
.admin-menu-desc {
    font-size: 0.85rem;
    line-height: 1.5;
    color: #5a4a3a;
    font-weight: 300;
}
.admin-menu-row-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}
.admin-btn-inline {
    display: inline;
    margin: 0;
}
.admin-btn-inline button {
    cursor: pointer;
}
.admin-btn--small {
    padding: 0.55rem 1rem;
    font-size: 0.58rem;
}
.admin-btn--danger {
    background: transparent;
    color: #8b3a3a;
    border: 1px solid rgba(139, 58, 58, 0.45);
}
.admin-btn--danger:hover {
    background: rgba(139, 58, 58, 0.08);
    border-color: #8b3a3a;
    color: #6b2020;
}

/* ——— Page /menu ——— */
.menu-filter-panels {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}
.menu-section-panel {
    margin: 0;
    padding: 1rem 2vw;
}
.menu-section-panel[hidden] {
    display: none !important;
}
.menu-section-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.2rem, 2.2vw, 1.45rem);
    font-weight: 400;
    color: var(--brun-deep);
    margin: 0 0 1.25rem;
    padding-bottom: 0.65rem;
    border-bottom: 1px solid rgba(107, 87, 70, 0.13);
}
.menu-empty-psec {
    grid-column: 1 / -1;
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.6;
    color: #7a6a5a;
    font-weight: 300;
}
.menu-empty {
    font-size: 1rem;
    color: #6b5746;
    margin: 0 0 2rem;
    max-width: 32rem;
}
.menu-page-cta {
    margin-top: 3.5rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(107, 87, 70, 0.13);
}

#menu-page,
#gallery-page,
#legal-page {
    margin-top: var(--nav-height);
}

.legal-page {
    min-height: calc(100svh - var(--nav-height));
    max-width: 42rem;
}
.legal-page--wide {
    max-width: 48rem;
}
.legal-back--split {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    justify-content: space-between;
}
.btn-carte--ghost {
    background: transparent;
    color: var(--brun-deep);
    border-color: rgba(107, 87, 70, 0.35);
}
.btn-carte--ghost:hover {
    background: rgba(107, 87, 70, 0.06);
    border-color: var(--brun-deep);
    color: var(--brun-deep);
}
.legal-head {
    margin-bottom: 3rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid rgba(107, 87, 70, 0.13);
}
.legal-h2 {
    font-family: 'Playfair Display', serif;
    font-size: 1.25rem;
    font-weight: 400;
    color: var(--brun-deep);
    margin: 0 0 1rem;
    letter-spacing: 0.02em;
}
.legal-section {
    padding: 1rem 3vw;
}
.legal-block {
    font-size: 0.9rem;
    line-height: 1.75;
    color: #4a3d32;
    font-weight: 300;
}
.legal-block p {
    margin: 0 0 0.85rem;
}
.legal-block p:last-child {
    margin-bottom: 0;
}
.legal-block a {
    color: var(--foret);
    text-decoration: underline;
    text-underline-offset: 2px;
}
.legal-block a:hover {
    color: var(--sauge);
}
.legal-block strong {
    font-weight: 600;
    color: var(--brun-deep);
}
.legal-block--prose p {
    margin-bottom: 1rem;
}
.legal-address {
    margin-top: 0.5rem !important;
    padding: 1rem 1.15rem;
    background: rgba(107, 87, 70, 0.06);
    border-left: 3px solid var(--or);
    font-style: normal;
}
.legal-back {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(107, 87, 70, 0.13);
}

.gallery-page {
    min-height: calc(100svh - var(--nav-height));
}
.gallery-head {
    margin-bottom: 3rem;
    padding-bottom: 2.5rem;
    border-bottom: 1px solid rgba(107, 87, 70, 0.13);
}
.gallery-empty {
    font-size: 1rem;
    color: #6b5746;
    margin: 0 0 2rem;
    max-width: 32rem;
}
.gallery-grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 1.75rem;
}
.gallery-item {
    margin: 0;
}
.gallery-figure {
    margin: 0;
}
.gallery-link {
    display: block;
    overflow: hidden;
    border-radius: 2px;
    border: 1px solid rgba(107, 87, 70, 0.12);
    background: rgba(250, 250, 244, 0.5);
    aspect-ratio: 4 / 3;
}
.gallery-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.45s ease, filter 0.35s ease;
    filter: brightness(0.96);
}
.gallery-link:hover .gallery-img {
    transform: scale(1.04);
    filter: brightness(1);
}
.gallery-caption {
    margin-top: 0.65rem;
    font-size: 0.82rem;
    line-height: 1.45;
    color: #5a4a3a;
    font-weight: 300;
}
.gallery-cta {
    margin-top: 3.5rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(107, 87, 70, 0.13);
    text-align: center;
}

button.gallery-link {
    font: inherit;
    color: inherit;
    width: 100%;
    text-align: left;
    cursor: zoom-in;
}
body.gallery-lightbox-open {
    overflow: hidden;
}
.gallery-lightbox {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3.5rem 4.5rem;
    box-sizing: border-box;
}
.gallery-lightbox[hidden] {
    display: none !important;
}
.gallery-lightbox-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(28, 22, 18, 0.88);
    backdrop-filter: blur(4px);
    cursor: pointer;
}
.gallery-lightbox-toolbar {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 2;
    display: flex;
    justify-content: flex-end;
    padding: 1rem 1rem 0;
    pointer-events: none;
}
.gallery-lightbox-toolbar > * {
    pointer-events: auto;
}
.gallery-lightbox-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border: 1px solid rgba(250, 250, 244, 0.25);
    border-radius: 2px;
    background: rgba(28, 22, 18, 0.5);
    color: var(--creme);
    font-size: 1.75rem;
    line-height: 1;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
}
.gallery-lightbox-close:hover {
    background: rgba(250, 250, 244, 0.12);
    border-color: rgba(200, 169, 110, 0.45);
}
.gallery-lightbox-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 3rem;
    height: 3.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(250, 250, 244, 0.2);
    border-radius: 2px;
    background: rgba(28, 22, 18, 0.45);
    color: var(--creme);
    font-size: 2rem;
    line-height: 1;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
}
.gallery-lightbox-nav:hover {
    background: rgba(250, 250, 244, 0.1);
    border-color: rgba(200, 169, 110, 0.4);
}
.gallery-lightbox-prev {
    left: 1rem;
}
.gallery-lightbox-next {
    right: 1rem;
}
.gallery-lightbox-figure {
    position: relative;
    z-index: 1;
    margin: 0;
    max-width: min(96vw, 1200px);
    max-height: calc(100vh - 6rem);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    pointer-events: none;
}
.gallery-lightbox-figure .gallery-lightbox-img {
    pointer-events: auto;
    max-width: 100%;
    max-height: calc(100vh - 9rem);
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 2px;
    box-shadow: 0 12px 48px rgba(0, 0, 0, 0.35);
}
.gallery-lightbox-caption {
    margin: 0;
    padding: 0 0.5rem;
    font-size: 0.9rem;
    line-height: 1.5;
    color: rgba(250, 250, 244, 0.85);
    font-weight: 300;
    text-align: center;
    max-width: 42rem;
    pointer-events: auto;
}
@media (max-width: 640px) {
    .gallery-lightbox {
        padding: 3.25rem 0.75rem;
    }
    .gallery-lightbox-nav {
        width: 2.5rem;
        height: 3rem;
        font-size: 1.5rem;
    }
    .gallery-lightbox-prev {
        left: 0.35rem;
    }
    .gallery-lightbox-next {
        right: 0.35rem;
    }
}

.admin-flash--error {
    color: #6b2020;
    background: rgba(139, 58, 58, 0.1);
    border-color: rgba(139, 58, 58, 0.35);
}
.admin-gallery-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.admin-gallery-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.25rem;
    padding: 1rem 1.15rem;
    border: 1px solid rgba(107, 87, 70, 0.12);
    border-radius: 4px;
    background: rgba(250, 250, 244, 0.6);
}
.admin-gallery-thumb-wrap {
    flex-shrink: 0;
    width: 160px;
    height: 120px;
    overflow: hidden;
    border-radius: 2px;
    border: 1px solid rgba(107, 87, 70, 0.1);
    background: #fff;
}
.admin-gallery-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.admin-gallery-meta {
    flex: 1;
    min-width: 10rem;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}
.admin-gallery-caption {
    font-family: 'Playfair Display', serif;
    font-size: 1rem;
    color: var(--brun-deep);
}
.admin-gallery-preview {
    max-width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
    border: 1px solid rgba(107, 87, 70, 0.12);
    margin-bottom: 1.5rem;
}
.admin-gallery-current {
    margin-bottom: 1.5rem;
}

.admin-cuisine-intro {
    font-size: 0.9rem;
    line-height: 1.65;
    color: #5a4a3a;
    margin: 0 0 2rem;
    max-width: 42rem;
}
.admin-cuisine-slot {
    margin-bottom: 2.75rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid rgba(107, 87, 70, 0.1);
}
.admin-cuisine-slot:last-of-type {
    border-bottom: none;
}
.admin-cuisine-slot-body {
    display: grid;
    grid-template-columns: minmax(200px, 280px) 1fr;
    gap: 1.75rem;
    align-items: start;
}
@media (max-width: 720px) {
    .admin-cuisine-slot-body {
        grid-template-columns: 1fr;
    }
}
.admin-cuisine-preview-wrap {
    border-radius: 4px;
    overflow: hidden;
    border: 1px solid rgba(107, 87, 70, 0.12);
    background: #fff;
    aspect-ratio: 4 / 3;
}
.admin-cuisine-preview {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.admin-cuisine-preview--empty {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    color: #8a7060;
    background: rgba(107, 87, 70, 0.06);
}
.admin-cuisine-forms {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.admin-cuisine-label {
    display: block;
    font-size: 0.68rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--sauge);
    margin-bottom: 0.4rem;
    font-weight: 600;
}
.admin-cuisine-text {
    width: 100%;
    max-width: 28rem;
    padding: 0.65rem 0.75rem;
    font-size: 0.95rem;
    border: 1px solid rgba(107, 87, 70, 0.22);
    border-radius: 2px;
    font-family: inherit;
}
.admin-cuisine-delete-form {
    margin: 0;
    padding-top: 0.25rem;
}

/* === ANIMATIONS — safe: no opacity:0 by default === */

/* ——— Bannière cookies ——— */
body.cookie-consent-open {
    overflow: hidden;
}
.cookie-consent {
    position: fixed;
    inset: 0;
    z-index: 9998;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
    box-sizing: border-box;
    background: rgba(35, 30, 26, 0.42);
    backdrop-filter: blur(3px);
}
.cookie-consent[hidden] {
    display: none !important;
}
.cookie-consent-box {
    max-width: 32rem;
    width: 100%;
    background: #fafaf6;
    border: 2px solid var(--foret);
    border-radius: 3px;
    box-shadow: 0 16px 48px rgba(47, 61, 33, 0.22);
    padding: 1.65rem 1.75rem 1.45rem;
    font-family: 'Poppins', sans-serif;
}
.cookie-consent-title {
    margin: 0 0 0.85rem;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--foret);
    letter-spacing: 0.02em;
    line-height: 1.3;
}
.cookie-consent-text {
    margin: 0 0 1.35rem;
    font-size: 0.88rem;
    line-height: 1.65;
    color: #2a2420;
    font-weight: 400;
}
.cookie-consent-more {
    color: var(--foret);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.cookie-consent-more:hover {
    color: var(--sauge);
}
.cookie-consent-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.65rem;
    margin-top: 0.25rem;
}
.cookie-btn {
    font-family: 'Poppins', sans-serif;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 0.75rem 1.35rem;
    border-radius: 2px;
    cursor: pointer;
    border: 2px solid var(--foret);
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.cookie-btn--primary {
    background: var(--foret);
    color: var(--creme);
    border-color: var(--foret);
}
.cookie-btn--primary:hover {
    background: #243018;
    border-color: #243018;
    color: var(--creme);
}
.cookie-btn--outline {
    background: transparent;
    color: var(--foret);
    border-color: var(--foret);
}
.cookie-btn--outline:hover {
    background: rgba(47, 61, 33, 0.08);
}
.cookie-consent-options {
    list-style: none;
    margin: 0 0 1.25rem;
    padding: 0;
}
.cookie-consent-option {
    margin-bottom: 0.75rem;
    font-size: 0.86rem;
    line-height: 1.5;
    color: #2a2420;
}
.cookie-consent-option label {
    cursor: pointer;
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
}
.cookie-consent-option input {
    margin-top: 0.2rem;
    accent-color: var(--foret);
}
.cookie-consent-hint {
    font-size: 0.78rem;
    color: #6b5c50;
    font-weight: 400;
}
.footer-cookie-policy {
    padding-top: 2rem;
    margin-top: 0;
    border-top: 1px solid rgba(250, 250, 244, 0.1);
}
.footer-cookie-policy-text {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.65;
    color: rgba(250, 250, 244, 0.55);
    font-weight: 300;
    max-width: 52rem;
}
.footer-cookie-policy-text strong {
    color: rgba(250, 250, 244, 0.75);
    font-weight: 500;
}
@media (max-width: 540px) {
    .cookie-consent-actions {
        flex-direction: column-reverse;
        align-items: stretch;
    }
    .cookie-btn {
        width: 100%;
        text-align: center;
    }
}

/* Grain overlay */
.grain{position:fixed;inset:-50%;z-index:9997;width:200%;height:200%;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:256px;animation:grain .5s steps(1) infinite;}
@keyframes grain{0%{transform:translate(0,0)}10%{transform:translate(-3%,-4%)}20%{transform:translate(-6%,3%)}30%{transform:translate(3%,-5%)}40%{transform:translate(-5%,6%)}50%{transform:translate(-1%,-2%)}60%{transform:translate(4%,3%)}70%{transform:translate(0,5%)}80%{transform:translate(-4%,1%)}90%{transform:translate(3%,-3%)}}

/* Reveal — only applied after JS adds class .js-ready to body */
body.js-ready .reveal{opacity:0;transform:translateY(32px);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1);}
body.js-ready .reveal.in-view{opacity:1;transform:translateY(0);}
body.js-ready .rd1{transition-delay:.12s;}
body.js-ready .rd2{transition-delay:.24s;}
body.js-ready .rd3{transition-delay:.36s;}

/* Counter pop */
@keyframes statPop{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.1)}100%{transform:scale(1);opacity:1}}
.stat.pop .stat-num{animation:statPop .65s cubic-bezier(.16,1,.3,1) both;}

/* Gold line grow */
.gold-line{transition:width 1s cubic-bezier(.16,1,.3,1);}
.reveal.in-view ~ .gold-line,
.in-view .gold-line{width:3rem;}