:root{--cream:#f9e0cf;--accent:#596925;--pink:#e4a696;--ink:#1d1d1b;--line:#1d1d1b30}
*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:20px}
body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 Avenir,"Trebuchet MS",sans-serif}
a{color:inherit}button{font:inherit;cursor:pointer}img{max-width:100%;height:auto}
[hidden]{display:none!important}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.skip{position:absolute;top:-100px}.skip:focus{top:8px;left:8px;background:white;padding:10px;z-index:5}
.header,footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 6%;flex-wrap:wrap}
.header{border-bottom:1px solid var(--line)}.wordmark{font:italic 25px/1.15 Georgia,serif;text-decoration:none}
.wordmark img{display:block;width:100px;margin-top:6px}nav{display:flex;gap:25px}nav a{text-decoration:none;font-size:14px}
.button{display:inline-flex;padding:13px 23px;background:var(--accent);color:white;text-decoration:none;font-weight:bold;font-size:14px}
.button:hover{background:#46531d}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:45px;align-items:center;padding:65px 6%}
.hero p:not(.eyebrow){max-width:500px}.logo{width:100%;max-width:440px;border-radius:50%;justify-self:center}
.eyebrow{font-size:11px;letter-spacing:2px;font-weight:bold}h1,h2,h3{line-height:1.08;margin-top:0}
h1{font:900 clamp(52px,6.5vw,94px)/1 "Arial Black",Arial,sans-serif;letter-spacing:-4px;color:var(--accent);margin-bottom:28px}
h2{font:900 clamp(34px,4.5vw,62px)/1.08 "Arial Black",Arial,sans-serif;letter-spacing:-2px;margin-bottom:28px}
h1 em,h2 em{font-family:Georgia,serif;font-weight:normal}.intro{font-size:25px;line-height:1.25}
.ribbon{padding:18px;text-align:center;background:var(--accent);color:var(--cream);font-weight:bold;letter-spacing:3px}
.section{padding:75px 6%}.offers{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:40px}
.offers article{border-top:1px solid;padding-top:20px}.offers img{display:block;width:100%;height:185px;object-fit:contain;margin:22px 0}
h3{font-size:23px}.vegetal{border-top:1px solid var(--line);padding-top:28px;margin-top:35px}
.story{background:var(--accent);color:var(--cream);text-align:center}.story p:not(.eyebrow){max-width:800px;margin:20px auto}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0}.filters button{padding:9px 17px;border:1px solid var(--ink);border-radius:30px;background:transparent}
.filters button[aria-pressed=true]{background:var(--ink);color:var(--cream)}.menu{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}
.dish{padding:25px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.dish-head{display:flex;justify-content:space-between;gap:20px}
.dish h3{font-size:21px;margin:0}.price{color:var(--accent);white-space:nowrap}.dish small{display:block;margin:10px 0;color:var(--accent)}
.markdown img{max-height:420px;object-fit:contain}.markdown p:last-child{margin-bottom:0}.markdown pre{overflow:auto}.markdown a{overflow-wrap:anywhere}
.visit{display:grid;grid-template-columns:1fr 1fr;gap:45px;background:var(--pink)}address{font-style:normal;white-space:pre-line}
#infos p{white-space:pre-line}#alerte:not(:empty){padding:16px 6%;background:var(--pink);text-align:center;white-space:pre-line}
.rubrique{border-top:1px solid var(--line);overflow-wrap:anywhere}.rubrique>img{max-height:420px;display:block;margin-top:25px}
footer{border-top:1px solid var(--line);font-size:13px}.empty{grid-column:1/-1}
@media(max-width:760px){.header{gap:18px}.header nav{order:3;width:100%;justify-content:space-between;gap:10px}.header .button{padding:10px 15px}
.hero,.visit,.offers,.menu{grid-template-columns:1fr}.hero,.section{padding:45px 6%}.logo{max-width:330px;margin-top:20px}
h1{letter-spacing:-3px}.ribbon{font-size:12px;letter-spacing:1px}.offers{gap:30px}footer{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Page Événement */
.header nav a[aria-current=page]{color:var(--accent);font-weight:bold;border-bottom:1px solid}
.event-hero{display:grid;grid-template-columns:1.5fr 1fr;gap:50px;align-items:center}
.event-hero h1{font-size:clamp(42px,5.5vw,78px);letter-spacing:-3px;max-width:950px}
.event-hero>img{width:100%;height:300px;object-fit:contain}.event-intro{font-size:20px;max-width:650px}
.event-menus{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.event-menu{display:flex;flex-direction:column;border:1px solid var(--accent);padding:30px 25px;overflow-wrap:anywhere}
.event-menu:nth-child(2){background:var(--accent);color:var(--cream)}.event-menu:nth-child(2) .button{background:var(--cream);color:var(--accent)}
.event-menu h3{font-size:28px;margin-bottom:18px}.event-price{font-size:28px;font-weight:bold;line-height:1.3;margin:0}
.event-price small{font-size:13px;font-weight:normal}.price-note{font-size:13px;min-height:22px;margin-top:5px}
.event-menu dl{margin:8px 0 30px}.event-menu dt{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:bold;margin-top:20px}
.event-menu dd{margin:6px 0 0;white-space:pre-line}.event-menu .button{margin-top:auto;align-self:flex-start}
.event-carte{background:#fff5ed}.event-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}
.event-categories h3{color:var(--accent)}.event-categories h4{font-size:18px;line-height:1.3;margin:0}.event-categories .dish{padding:20px 0}
.event-reservation{display:grid;grid-template-columns:1fr 1.2fr;gap:65px;background:var(--pink)}
.preserve{white-space:pre-line;overflow-wrap:anywhere}.phone-link{font-size:26px;font-weight:bold;text-decoration:none}
.event-phone a{overflow-wrap:anywhere}.form-note{font-size:13px}.reservation-form{padding:30px;background:var(--cream);min-width:0}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid label{font-size:13px;font-weight:bold;min-width:0}
.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;min-width:0;padding:12px;margin-top:7px;border:1px solid var(--line);border-radius:0;background:#fff5ed;color:var(--ink);font:inherit;font-size:16px}
.form-grid .full{grid-column:1/-1}.form-grid textarea{resize:vertical}.reservation-form button{border:0;cursor:pointer;max-width:100%}
.reservation-form button:disabled{opacity:.6;cursor:wait}#form-status{margin-bottom:0;font-size:14px}.thank-you{max-width:950px;margin:auto}.thank-you>.wordmark{display:inline-block;margin-bottom:50px}
@media(max-width:1000px){.event-reservation{gap:30px;grid-template-columns:1fr}.event-menu{padding:22px 18px}}
@media(max-width:760px){.event-hero,.event-menus,.event-categories{grid-template-columns:1fr}.event-hero{gap:15px}.event-hero>img{height:190px}.form-grid{grid-template-columns:1fr}.reservation-form{padding:22px 18px}.header nav{flex-wrap:wrap}.event-hero h1{letter-spacing:-2px}.event-menus{gap:20px}}



:root {
    --vert-olive: #596925;
    --vert-olive-sombre: #424e1b;
    --beige-creme: #f5ece3;
    --rose-poudre: #e3b3a1;
    --texte-sombre: #232323;
    --texte-gris: #5a5a5a;
    --fond-blanc: #fdfaf6;
}

/* Application de la police moderne sur tout le site */
* {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    box-sizing: border-box;
}

body {
    margin: 0;
    padding: 0;
    color: var(--texte-sombre);
    background-color: var(--beige-creme);
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, .logo {
    font-weight: 400;
    margin: 0 0 20px 0;
    letter-spacing: -0.5px;
}

/* Bandeau Supérieur */
.top-bar {
    background-color: var(--vert-olive-sombre);
    color: var(--fond-blanc);
    text-align: center;
    padding: 12px 20px;
    font-size: 0.85rem;
    font-weight: 500;
    letter-spacing: 0.5px;
}
.admin-link {
    color: var(--beige-creme);
    text-decoration: none;
    margin-left: 5px;
}

/* Barre de navigation */
.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 30px 80px;
    background-color: var(--beige-creme);
}
.navbar .logo {
    font-size: 1.8rem;
    color: var(--texte-sombre);
}
.navbar .logo span {
    color: var(--vert-olive);
}
/* Style des onglets toujours soulignés */
.navbar nav a {
    text-decoration: none;
    color: var(--texte-sombre); /* Texte de base noir/sombre */
    font-weight: 500; /* Écriture normale au départ */
    font-size: 0.95rem;
    margin-left: 30px;
    padding-bottom: 4px; /* Éspace discret sous le mot */
    border-bottom: 2px solid var(--texte-sombre); /* Ligne toujours visible */
    transition: color 0.25s ease, border-color 0.25s ease; /* Animation fluide pour les couleurs */
}

/* Changement visuel lors du passage de la souris (Hover) */
.navbar nav a:hover {
    color: var(--vert-olive); /* Passe au vert olive */
    border-bottom: 2px solid var(--vert-olive); /* La ligne passe au vert olive */
    font-weight: 700; /* Le texte passe en GRAS (bold) instantanément */
}

/* Section Hero */
.hero-section {
    padding: 80px 80px 120px 80px;
    background-color: var(--beige-creme);
}
.hero-grid {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 60px;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
}
.badge-text {
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 2px;
    color: var(--vert-olive);
    font-weight: 700;
    display: block;
    margin-bottom: 20px;
}
.hero-section h1 {
    font-size: 5rem;
    line-height: 1.05;
    color: var(--vert-olive);
}
.hero-section h3 {
    font-size: 2rem;
    color: var(--texte-sombre);
}
.hero-p {
    font-size: 1.15rem;
    color: var(--texte-gris);
    max-width: 520px;
    margin-bottom: 40px;
}
.logo-badge-container {
    width: 380px;
    height: 360px;
    margin: 0 auto;
    border-radius: 50%;
    background-color: var(--fond-blanc);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    overflow: hidden; 
}
.img-responsive-placeholder {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.hero-footer-banner {
    text-align: center;
    background-color: var(--vert-olive);
    color: var(--fond-blanc);
    padding: 22px 0;
    font-size: 0.95rem;
    letter-spacing: 4px;
    font-weight: 700;
    margin-top: 60px;
}

/* Sections & Grilles */
.section-padding {
    padding: 100px 80px;
    background-color: var(--fond-blanc);
}
.bg-cream-light {
    background-color: var(--vert-olive);
    color: var(--fond-blanc) !important;
}
.section-intro {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 60px auto;
}
.section-intro h2 { font-size: 3.5rem; }
.section-tagline { font-size: 1.3rem; color: var(--texte-gris); }

.bam-features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 40px;
    max-width: 1200px;
    margin: 0 auto;
}
.feature-item {
    background: #fbf7f4;
    padding: 50px 40px;
    border-radius: 24px;
}
.feature-header {
    display: flex;
    align-items: center;
    margin-bottom: 25px;
}
.feature-header .number {
    font-size: 1.8rem;
    color: var(--vert-olive);
    margin-right: 15px;
    font-weight: bold;
}
.feature-header .feature-title {
    font-size: 0.85rem;
    letter-spacing: 2px;
    font-weight: 700;
    color: var(--texte-gris);
}
.feature-img-box {
    width: 100%;
    height: 220px;
    border-radius: 16px;
    margin-bottom: 30px;
}
.feature-item h3 { font-size: 2rem; margin-bottom: 15px; }
.action-trigger {
    display: inline-block;
    margin-top: 20px;
    text-decoration: none;
    color: var(--vert-olive);
    font-weight: 700;
}

/* Structure E-Commerce & Panier */
.checkout-grid {
    display: grid;
    grid-template-columns: 1.4fr 0.6fr;
    gap: 50px;
    max-width: 1200px;
    margin: 0 auto;
}
.shop-products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 25px;
}
.product-item-card {
    background: #fbf7f4;
    padding: 20px;
    border-radius: 20px;
    border: 1px solid rgba(0,0,0,0.03);
}
.prod-img-placeholder {
    background-color: var(--beige-creme);
    height: 140px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--vert-olive);
    font-weight: 600;
    margin-bottom: 15px;
}
.prod-desc { font-size: 0.85rem; color: var(--texte-gris); min-height: 40px; }
.prod-meta { display: flex; justify-content: space-between; align-items: center; margin-top: 15px; }
.prod-meta .price { font-weight: 700; color: var(--vert-olive); }
.btn-add-to-cart {
    background-color: var(--vert-olive);
    color: white;
    border: none;
    padding: 8px 18px;
    border-radius: 50px;
    cursor: pointer;
    font-weight: bold;
}

/* Panier Latéral */
.checkout-right-sidebar {
    background-color: #fbf7f4;
    padding: 40px;
    border-radius: 24px;
    align-self: start;
    position: sticky;
    top: 120px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.02);
}
.sidebar-block {
    margin-top: 25px;
    border-top: 1px solid #e8e8e8;
    padding-top: 20px;
}
.empty-cart-state { color: var(--texte-gris); font-style: italic; }
.radio-label { display: block; margin: 10px 0; font-size: 0.95rem; }
.disabled-order-banner {
    width: 100%;
    background-color: var(--rose-poudre);
    color: var(--texte-sombre);
    text-align: center;
    padding: 16px;
    border-radius: 50px;
    margin-top: 25px;
    font-weight: 700;
    font-size: 1rem;
    border: none;
}

/* Section Formulaires Événements */
.grid-2-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    max-width: 1200px;
    margin: 0 auto;
}
.evt-menus-list { margin: 25px 0; }
.evt-menu-card { background: rgba(255,255,255,0.1); padding: 15px; border-radius: 12px; margin-bottom: 12px; border-left: 4px solid var(--beige-creme); }
.evt-menu-card h5 { margin: 0 0 5px 0; font-size: 1.1rem; color: var(--beige-creme); }
.classic-form { background-color: var(--beige-creme); padding: 45px; border-radius: 24px; }
.classic-form input, .classic-form select, .classic-form textarea {
    width: 100%; padding: 12px; margin-bottom: 15px; border: 1px solid #ddd; border-radius: 6px;
}
.btn-submit-form { width: 100%; border: none; padding: 16px; border-radius: 50px; font-weight: 700; cursor: pointer; font-size: 1.1rem; color: white; }

/* Boutons & Divers */
.btn {
    display: inline-block;
    background-color: var(--vert-olive);
    color: var(--fond-blanc);
    padding: 16px 36px;
    text-decoration: none;
    border-radius: 50px;
    font-weight: 700;
}
.btn-line { background: none; color: var(--vert-olive); border: 2px solid var(--vert-olive); }
.main-footer { background: var(--texte-sombre); color: #fff; text-align: center; padding: 40px 20px; margin-top: 60px; }
.main-footer a { color: var(--rose-poudre); text-decoration: none; }

@media (max-width: 990px) {
    .hero-grid, .grid-2-columns, .checkout-grid { grid-template-columns: 1fr; }
    .navbar { padding: 30px; flex-direction: column; gap: 20px; }
    .hero-section h1 { font-size: 3.2rem !important; }
    .logo-badge-container { width: 290px; height: 290px; }
}

/* Ajustements de la présentation réunie */
.brand{font-size:1.8rem;text-decoration:none;flex-shrink:0}.brand img{display:block;margin-top:8px}
.navbar{gap:28px}.navbar nav{flex-wrap:wrap;gap:18px}.navbar nav a{margin-left:0}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px}.hero-grid>*{min-width:0}
.logo-badge-container{max-width:100%;height:auto;aspect-ratio:1}.hero-section h1{letter-spacing:-2px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:400}
.checkout-grid{grid-template-columns:1fr}.btn-add-to-cart:disabled{cursor:default;opacity:.65;font-size:11px;padding:8px}
.prod-meta{gap:8px}.bg-cream-light h2{font-size:clamp(30px,3.5vw,48px)}
.carousel-track{display:grid;gap:16px}.carousel-slide{min-height:110px;display:grid;place-items:center;border-radius:16px}
.main-footer{display:block}.section-intro h2{font-size:clamp(30px,4vw,56px)}
@media(max-width:600px){.hero-section,.section-padding{padding:45px 22px}.hero-section h1{font-size:clamp(36px,10vw,52px)!important}.hero-section h3{font-size:24px}.hero-grid{gap:30px}.navbar{padding:24px 22px;align-items:flex-start}.navbar nav{gap:14px}.navbar nav a{font-size:13px}.bam-features-grid{grid-template-columns:minmax(0,1fr)!important}.shop-products-grid{grid-template-columns:minmax(0,1fr)}.grid-2-columns{gap:25px}.hero-footer-banner{letter-spacing:1px;padding:18px 10px}.prod-meta{flex-wrap:wrap}}

/* Accueil : navigation centrée et fin de page harmonisée */
.navbar{position:relative;display:flex;flex-direction:column;justify-content:center;padding:25px 5% 30px;gap:26px}.navbar nav{order:-1;justify-content:center;width:100%;gap:32px}.brand{text-align:center;font-size:24px}.brand img{margin:8px auto 0}
#la-maison{text-align:center;padding:90px 7%}#la-maison .grid-2-columns{display:block;max-width:900px;margin:auto}#la-maison h2{font-size:clamp(36px,5vw,64px);line-height:1.1}#la-maison h2 em,.instagram-section h2 em{font-family:Georgia,serif!important;font-weight:normal}#la-maison p{max-width:700px;margin:22px auto;font-size:18px}
.category-illustration{display:block;width:100%;height:150px;object-fit:contain;margin:10px auto 22px}.feature-item{display:flex;flex-direction:column}.feature-item h4{line-height:1.2}
#nous-trouver{background:var(--beige-creme);border-top:1px solid #59692526;padding-top:75px;padding-bottom:75px}.instagram-section{text-align:center;background:var(--fond-blanc)}.instagram-section h2{font-size:clamp(36px,5vw,62px)}.instagram-section>p{max-width:560px;margin:20px auto 30px}.instagram-posts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:22px;max-width:1100px;margin:30px auto}.instagram-posts iframe{width:100%;height:560px;border:1px solid #ddd;background:var(--fond-blanc);border-radius:12px}
.main-footer{margin-top:0;background:var(--vert-olive);color:var(--beige-creme);padding:55px 6% 24px;text-align:left;border:0}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;align-items:center;padding-bottom:40px}.footer-brand{font-family:Georgia,serif!important;font-size:30px;font-style:italic;text-decoration:none!important}.footer-brand img{display:block;margin-top:12px;filter:brightness(0) invert(93%) sepia(12%) saturate(333%);width:160px}.footer-top p{font-size:24px;line-height:1.4}.footer-top nav{display:flex;flex-direction:column;gap:12px;align-items:flex-end}.main-footer a{color:var(--beige-creme);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px;border-top:1px solid #f5ece344;padding-top:24px;font-size:12px}.main-footer a:hover{color:#fff;text-decoration-thickness:2px}
@media(max-width:650px){.navbar nav{gap:16px}.navbar{align-items:center}.navbar nav a{font-size:12px}.footer-top{grid-template-columns:1fr;gap:15px;text-align:center}.footer-top nav{align-items:center}.footer-brand img{margin:12px auto}.footer-bottom{justify-content:center;text-align:center}#la-maison{padding:65px 24px}.instagram-section{padding:60px 22px}}

.gallery-section{text-align:center;background:var(--fond-blanc)}.gallery-section h2{font-size:clamp(36px,5vw,62px)}.gallery-section h2 em{font-family:Georgia,serif!important;font-weight:normal}.photo-carousel{max-width:1000px;margin:35px auto 0}.photo-slide{margin:0}.photo-slide img{width:100%;height:clamp(260px,48vw,560px);object-fit:cover;border-radius:18px}.photo-slide figcaption{padding:15px}.photo-controls{display:flex;align-items:center;justify-content:center;gap:22px;margin:15px 0}.photo-controls button{width:48px;height:48px;border:1px solid var(--vert-olive);border-radius:50%;background:transparent;color:var(--vert-olive);font-size:24px}.photo-controls button:hover{background:var(--vert-olive);color:white}.gallery-empty{border:1px dashed #59692555;border-radius:20px;max-width:800px;margin:30px auto 0;padding:30px;background:#f5ece344}.gallery-empty img{height:150px;width:100%;object-fit:contain}.gallery-empty p{color:var(--texte-gris)}

/* Proportions du bloc d’accueil de la version rouge, conservées en vert. */
.hero-section{padding:0;background:var(--beige-creme)}
.hero-grid{max-width:none;grid-template-columns:1.15fr 1fr;gap:40px;align-items:center;padding:68px 6% 75px}
.hero-section h1{font-family:'Arial Black',Arial,sans-serif!important;font-weight:900;font-size:clamp(55px,6.3vw,98px)!important;line-height:.97;letter-spacing:-5px;margin:0 0 30px;color:var(--vert-olive)}
.hero-section h1 em{font-family:Georgia,serif!important;font-weight:400}
.hero-section h3{font-family:Avenir,'Trebuchet MS',sans-serif!important;font-size:25px;font-weight:400;line-height:1.25;margin:0 0 20px}
.hero-section .badge-text{font-size:11px;letter-spacing:2px;margin-bottom:24px}
.hero-p{font-family:Avenir,'Trebuchet MS',sans-serif!important;max-width:470px;font-size:16px;line-height:1.6;margin:0;color:var(--texte-sombre)}
.hero-cta{margin-top:32px;gap:22px}.hero-cta .btn{border-radius:0;font-size:14px;padding:15px 23px}
.hero-right{min-height:470px;display:flex;align-items:center;justify-content:center;margin:15px 25px 0}
.logo-badge-container{width:75%;height:auto;aspect-ratio:1;background:transparent;box-shadow:none;border-radius:0;overflow:visible}
.hero-footer-banner{width:100%;margin:0;padding:18px;font-size:18px;letter-spacing:2px;font-weight:900}
@media(max-width:760px){.hero-grid{grid-template-columns:1fr;padding:42px 6%;gap:25px}.hero-section h1{font-size:clamp(55px,6.3vw,98px)!important;letter-spacing:-3px}.hero-right{min-height:0;max-width:450px;width:85%;margin:20px auto}.logo-badge-container{width:100%;max-width:300px}.hero-footer-banner{font-size:12px;letter-spacing:1px}.hero-cta{gap:14px}}

/* En-tête lisible, logo détouré à l’affichage et cartes produits alignées. */
.navbar{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:45px;padding:26px 5%}
.navbar .brand{text-align:left;justify-self:start;font-size:28px;line-height:1.2}
.navbar .brand img{margin:10px 0 0;width:135px;height:auto}
.navbar nav{order:0;justify-content:center;gap:28px}
.navbar nav a{font-size:18px;line-height:1.5;white-space:nowrap}
.logo-badge-container{background:transparent;box-shadow:none}
.logo-badge-container img{clip-path:circle(49% at 50% 50%);display:block}
.shop-products-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));align-items:stretch}
.product-item-card{display:flex;flex-direction:column;min-width:0;height:100%;padding:22px}
.prod-img-placeholder{flex:0 0 160px}
.product-item-card h4{font-size:18px;line-height:1.4;margin:4px 0 16px;min-height:2.8em;overflow-wrap:anywhere}
.product-item-card .prod-desc{line-height:1.55;margin:0 0 24px;min-height:0}
.product-item-card .prod-meta{margin-top:auto;display:flex;flex-direction:column;align-items:stretch;gap:12px;padding-top:8px}
.product-item-card .price{font-size:20px;line-height:1.3}
.product-item-card .btn-add-to-cart{width:100%;min-height:44px;padding:10px 12px;font-size:13px;line-height:1.4;white-space:nowrap;text-align:center}
.stock-pill{display:inline-flex;align-self:flex-start;align-items:center;gap:7px;margin:0 0 14px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;line-height:1.2}.stock-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.stock-en-stock{background:#e5efcf;color:#405418}.stock-faible-stock{background:#f9e3b7;color:#875d0c}.stock-rupture{background:#f5d5d0;color:#914539}
@media(max-width:1100px){.navbar{gap:25px}.navbar nav{gap:15px 22px}.navbar nav a{font-size:16px}}
@media(max-width:760px){.navbar{grid-template-columns:1fr;padding:22px 6%;gap:24px;justify-items:start}.navbar .brand{font-size:26px}.navbar nav{justify-content:flex-start;gap:14px 20px}.navbar nav a{font-size:16px}.shop-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-item-card{padding:16px}.product-item-card h4{font-size:17px}.prod-img-placeholder{flex-basis:130px}.product-item-card .btn-add-to-cart{font-size:12px}}
@media(max-width:480px){.shop-products-grid{grid-template-columns:1fr}.product-item-card h4{min-height:0}.product-item-card .prod-meta{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px}}

/* Titres de rubrique : caractères épais et italique de la maison. */
.signature-title,.section-intro .signature-title{font-family:'Arial Black',Arial,sans-serif!important;font-weight:900;font-size:clamp(36px,4.5vw,64px);line-height:1.06;letter-spacing:-2px;color:var(--vert-olive);margin:0 0 28px}
.signature-title em{font-family:Georgia,serif!important;font-weight:400;font-style:italic;letter-spacing:-1.5px}
@media(max-width:600px){.signature-title,.section-intro .signature-title{font-size:clamp(34px,9vw,46px);letter-spacing:-1.5px}.signature-title em{letter-spacing:-1px}}

/* Un logo plus discret, équilibré avec le texte d’accueil. */
.hero-right{min-height:0;margin:0;align-self:center}
.hero-section .logo-badge-container{width:68%;max-width:350px;margin:0 auto}
@media(max-width:760px){.hero-right{width:100%;margin:12px auto 0}.hero-section .logo-badge-container{width:72%;max-width:260px}}

/* Signature et composition illustrée de la maison. */
.visit-signature{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:0 0 28px}
.visit-signature span{font-family:Georgia,serif!important;font-style:italic;font-weight:400;font-size:clamp(30px,3vw,42px);line-height:1.1;letter-spacing:-1px}
.visit-signature img{width:160px;height:auto}
.hero-composition{position:relative;isolation:isolate;padding:38px 15px;min-height:470px}
.hero-section .hero-composition .logo-badge-container{width:78%;max-width:390px;position:relative;z-index:1}
.hero-drawing{position:absolute;object-fit:contain;pointer-events:none;z-index:2}
.drawing-cafe{width:120px;height:115px;top:0;right:0;transform:rotate(13deg)}
.drawing-tartine{width:150px;height:130px;bottom:0;left:-5px;transform:rotate(-15deg)}
.hero-star{position:absolute;left:3%;top:8%;font-size:48px;color:var(--vert-olive);line-height:1;transform:rotate(12deg)}
@media(max-width:760px){.hero-composition{min-height:360px;max-width:430px;padding:38px 18px;margin:22px auto 0}.hero-section .hero-composition .logo-badge-container{width:78%;max-width:300px}.drawing-cafe{width:85px;height:85px;right:0;top:0}.drawing-tartine{width:110px;height:95px;left:0;bottom:0}.hero-star{font-size:34px;left:3%;top:10%}}

/* Composition gourmande à partir de la planche Illustrator de Maison Martin. */
.hero-composition{min-height:530px;padding:72px 45px}
.hero-section .hero-composition .logo-badge-container{width:78%;max-width:370px}
.hero-composition .hero-drawing{mix-blend-mode:multiply}
.drawing-cafe{width:105px;height:100px;right:0;top:55px;transform:rotate(12deg)}
.drawing-tartine{width:145px;height:125px;left:-12px;bottom:20px;transform:rotate(-17deg)}
.drawing-macaron{width:88px;height:72px;left:28%;top:0;transform:rotate(-14deg)}
.drawing-tartelette{width:88px;height:85px;left:-12px;top:115px;transform:rotate(9deg)}
.drawing-pate{width:78px;height:82px;left:48%;bottom:0;transform:rotate(14deg)}
.drawing-verre{width:85px;height:135px;right:-10px;bottom:35px;transform:rotate(9deg)}
.hero-star{left:7%;top:7%;font-size:30px}
@media(max-width:760px){.hero-composition{min-height:390px;padding:64px 25px;max-width:430px}.hero-section .hero-composition .logo-badge-container{width:78%;max-width:285px}.drawing-cafe{width:72px;height:75px;right:0;top:45px}.drawing-tartine{width:105px;height:95px;left:0;bottom:12px}.drawing-macaron{width:64px;height:55px;left:30%;top:0}.drawing-tartelette{width:60px;height:62px;left:-5px;top:105px}.drawing-pate{width:59px;height:64px;bottom:0;left:49%}.drawing-verre{width:61px;height:104px;right:-3px;bottom:15px}.hero-star{font-size:25px;left:8%;top:10%}}

.hero-composition{background:var(--beige-creme)}

/* Référence validée : échelle de l’accueil et en-tête commun fixe. */
:root{--beige-creme:#f9e0cf;--header-height:112px}
html{scroll-padding-top:var(--header-height)}body{padding-top:var(--header-height)}
.navbar.site-header{position:fixed;inset:0 0 auto;z-index:100;height:var(--header-height);min-height:var(--header-height);box-sizing:border-box;padding:20px 6%;display:grid;grid-template-columns:230px minmax(0,1fr);gap:30px;align-items:center;background:var(--beige-creme);border-bottom:1px solid #1d1d1b25}
.site-header .brand{font-family:Georgia,serif!important;font-style:italic;font-weight:600;font-size:28px;line-height:1.1;margin:0}
.site-header .brand img{width:112px;height:auto;margin:7px 0 0}
.site-header nav{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:26px;overflow-x:auto;min-width:0;padding:5px 0}
.site-header nav a{font-size:16px;font-weight:500;line-height:1.5;white-space:nowrap;border-bottom:1px solid transparent;margin:0}
.site-header nav a:hover{font-weight:500;border-color:var(--vert-olive)}
.hero-grid{grid-template-columns:1.15fr 1fr;padding:65px 6%;gap:45px;align-items:center}
.hero-section h1{font-size:clamp(52px,6.5vw,94px)!important;line-height:1;letter-spacing:-4px;margin-bottom:28px}
.hero-section h3{font-size:25px;line-height:1.25}.hero-p{max-width:500px}
.hero-composition{width:100%;max-width:none;min-height:510px;padding:35px 20px;margin:0;background:transparent}
.hero-section .hero-composition .logo-badge-container{width:92%;max-width:440px}
.hero-composition .hero-drawing{mix-blend-mode:normal}
.hero-composition .drawing-cafe{width:95px;height:95px;right:-8px;top:0}
.hero-composition .drawing-tartine{width:125px;height:112px;left:-10px;bottom:0}
.hero-composition .drawing-macaron{width:65px;height:55px;left:0;top:22px}
.bam-features-grid .feature-item{padding:30px!important}
.bam-features-grid .feature-item>h3,.bam-features-grid .feature-item>h4{font-size:23px!important;line-height:1.25;font-weight:500;color:var(--vert-olive);margin:0 0 18px!important;letter-spacing:-.5px}
.bam-features-grid .feature-item>.badge-text,.bam-features-grid .feature-header{height:46px;min-height:46px;margin:0 0 15px!important;display:flex;align-items:center}
.bam-features-grid .feature-header span:last-child,.bam-features-grid .feature-item>.badge-text{font-size:12px!important;color:var(--vert-olive)!important;letter-spacing:1px;font-weight:700}
.bam-features-grid .feature-item>img{width:100%!important;height:150px!important;object-fit:contain;margin:10px 0 22px!important}
.bam-features-grid .feature-item>p{font-size:14px!important;line-height:1.6!important}
@media(max-width:1100px){.navbar.site-header{grid-template-columns:195px minmax(0,1fr);gap:20px}.site-header nav{justify-content:flex-start;gap:22px}.site-header nav a{font-size:15px}.hero-composition{min-height:430px}}
@media(max-width:760px){:root{--header-height:142px}.navbar.site-header{grid-template-columns:1fr;grid-template-rows:65px 39px;padding:15px 6%;gap:8px;align-items:center}.site-header .brand{font-size:24px}.site-header .brand img{width:95px;margin-top:5px}.site-header nav{width:100%;justify-content:flex-start;gap:22px;height:39px}.site-header nav a{font-size:15px}.hero-grid{grid-template-columns:1fr;padding:42px 6%;gap:25px}.hero-section h1{font-size:clamp(44px,10.6vw,64px)!important;letter-spacing:-2.5px}.hero-composition{min-height:360px;max-width:430px;padding:30px 20px;margin:0 auto}.hero-section .hero-composition .logo-badge-container{width:86%;max-width:310px}.hero-composition .drawing-cafe{width:72px;height:72px;right:0}.hero-composition .drawing-tartine{width:95px;height:90px;left:0}.hero-composition .drawing-macaron{width:52px;height:45px;left:0;top:10px}}

/* Composition de référence : accueil isolé des anciennes variantes. */
:root{--header-height:100px}
.navbar.site-header{grid-template-columns:200px minmax(0,1fr);padding:24px 6%;gap:24px}
.site-header .brand{font:italic 25px/1.15 Georgia,serif!important;letter-spacing:0}
.site-header .brand img{width:100px;margin-top:6px}
.site-header nav{gap:30px;justify-content:center}
.site-header nav a{font:20px/1.55 Avenir,'Trebuchet MS',sans-serif!important;border:0;padding:0}
.reference-button{display:inline-flex;justify-content:center;align-items:center;padding:13px 23px;background:#596925;color:white;text-decoration:none;font:700 14px/1.65 Avenir,'Trebuchet MS',sans-serif!important;white-space:nowrap}
.contact-cta{gap:17px;padding:17px 30px;font-size:17px!important;line-height:1.3!important}.contact-cta-icon{width:32px;height:32px;flex:none;stroke:currentColor;stroke-width:1.55;fill:none;stroke-linecap:round;stroke-linejoin:round}
.reference-button:hover{background:#46531d}.header-action{justify-self:end}
.reference-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:45px;align-items:center;padding:65px 6%;background:#f9e0cf;color:#1d1d1b}
.reference-copy{min-width:0}
.reference-hero .reference-eyebrow{font:700 14px/1.65 Avenir,'Trebuchet MS',sans-serif!important;letter-spacing:2.2px;margin:0 0 20px}
.reference-hero h1{font:900 clamp(52px,6.5vw,94px)/1 'Arial Black',Arial,sans-serif!important;letter-spacing:-4px;color:#596925;margin:0 0 28px}
.reference-hero h1 em{font-family:Georgia,serif!important;font-weight:400;font-style:italic}
.reference-hero .reference-intro{font:400 clamp(26px,2.2vw,34px)/1.25 Avenir,'Trebuchet MS',sans-serif!important;margin:0 0 25px}
.reference-hero .reference-description{font:400 clamp(17px,1.4vw,21px)/1.65 Avenir,'Trebuchet MS',sans-serif!important;max-width:580px;margin:0 0 24px}
.reference-visual{position:relative;width:100%;max-width:620px;height:540px;justify-self:center}.reference-logo{position:absolute;z-index:2;top:50%;left:50%;width:min(100%,490px);max-width:490px;height:auto;transform:translate(-50%,-50%);clip-path:circle(49% at 50% 50%)}.reference-decoration{position:absolute;z-index:1;display:block;object-fit:contain;pointer-events:none;mix-blend-mode:multiply}.decoration-cafe{width:125px;height:125px;top:-3%;left:-9%;transform:rotate(-13deg)}.decoration-tartine{width:178px;height:150px;bottom:-6%;left:-15%;transform:rotate(-14deg)}.decoration-macaron{width:120px;height:104px;top:-4%;right:-10%;transform:rotate(14deg)}.decoration-verre{width:108px;height:166px;right:-11%;bottom:-4%;transform:rotate(10deg)}.decoration-assiette{width:230px;height:190px;left:-28%;top:16%;transform:rotate(-10deg)}.decoration-mijote{width:225px;height:190px;right:-29%;top:18%;transform:rotate(12deg)}.decoration-dessert{width:200px;height:170px;left:-22%;bottom:19%;transform:rotate(11deg)}.decoration-pate{width:155px;height:140px;right:-19%;bottom:21%;transform:rotate(-15deg)}
.reference-ribbon{padding:18px;text-align:center;background:#596925;color:#f9e0cf;font:700 16px/1.65 Avenir,'Trebuchet MS',sans-serif!important;letter-spacing:3px}
.contact-page .event-reservation{min-height:calc(100vh - var(--header-height));align-items:center}.contact-title{font:900 clamp(44px,5vw,72px)/1 'Arial Black',Arial,sans-serif!important;letter-spacing:-3px;color:var(--vert-olive);margin:0 0 24px}.contact-intro{font-size:19px;line-height:1.55;max-width:520px}
@media(max-width:1150px){.navbar.site-header{grid-template-columns:180px minmax(0,1fr);gap:20px}.site-header .header-action{display:none}.site-header nav{justify-content:flex-start;gap:26px}.site-header nav a{font-size:18px!important}}
@media(max-width:760px){:root{--header-height:142px}.navbar.site-header{grid-template-columns:1fr;grid-template-rows:65px 39px;padding:15px 6%;gap:8px}.site-header .brand{font-size:24px!important}.site-header nav{gap:22px}.site-header nav a{font-size:17px!important}.reference-hero{grid-template-columns:1fr;padding:45px 6%;gap:35px}.reference-hero .reference-eyebrow{font-size:12px!important;letter-spacing:1.4px}.reference-hero h1{font-size:clamp(43px,10.5vw,65px)!important;letter-spacing:-2.5px}.reference-visual{height:410px;max-width:430px}.reference-logo{width:min(100%,355px);max-width:355px}.decoration-cafe{width:82px;height:82px;top:-2%;left:-8%}.decoration-tartine{width:120px;height:98px;bottom:-7%;left:-13%}.decoration-macaron{width:79px;height:65px;top:-3%;right:-8%}.decoration-verre{width:68px;height:105px;right:-10%;bottom:-5%}.decoration-assiette{width:135px;height:112px;left:-23%;top:17%}.decoration-mijote{width:132px;height:112px;right:-25%;top:19%}.decoration-dessert{width:120px;height:102px;left:-18%;bottom:22%}.decoration-pate{width:100px;height:90px;right:-16%;bottom:23%}.reference-ribbon{font-size:12px;letter-spacing:1px}}

/* Cartes BAM : illustrations de la planche de l’illustratrice et titres réguliers. */
.bam-features-grid .feature-item {
  display: grid !important;
  grid-template-rows: 46px 150px minmax(58px, auto) minmax(86px, 1fr) auto;
  align-items: start;
}
.bam-features-grid .feature-item > .category-illustration {
  grid-row: 2;
  width: 100% !important;
  height: 150px !important;
  margin: 0 0 22px !important;
  object-fit: contain;
  object-position: center;
  max-width: 100%;
  max-height: 150px;
  overflow: visible;
}
.bam-features-grid .feature-item > .illustrator-art { mix-blend-mode: multiply; }
.bam-features-grid .feature-item > .category-title {
  grid-row: 3;
  align-self: center;
  min-height: 58px;
  display: flex;
  align-items: center;
  color: var(--vert-olive) !important;
  font: 500 23px/1.2 'Plus Jakarta Sans', sans-serif !important;
  margin: 0 !important;
}
.bam-features-grid .feature-item > p:not(.category-title) { margin: 0 !important; }
.bam-features-grid .feature-item > p:last-child {
  align-self: end;
  color: var(--vert-olive) !important;
}
@media(max-width:760px) {
  .bam-features-grid .feature-item { grid-template-rows: 40px 135px minmax(58px, auto) minmax(75px, 1fr) auto; }
  .bam-features-grid .feature-item > .category-illustration { height: 135px !important; }
  .bam-features-grid .feature-item > .category-title { font-size: 21px !important; }
}

/* ===== Accueil v3 : menu en boutons, haut de page, catégories cliquables, carrousel ===== */

/* 1. Menu : des boutons faciles à reconnaître */
.navbar.site-header nav{gap:10px;align-items:center}
.navbar.site-header nav a{display:inline-flex;align-items:center;padding:9px 18px;border:1.5px solid var(--vert-olive);border-radius:999px;background:transparent;color:var(--vert-olive);font:600 15px/1.2 'Plus Jakarta Sans',Avenir,'Trebuchet MS',sans-serif!important;white-space:nowrap;text-decoration:none;transition:background .15s,color .15s}
.navbar.site-header nav a:hover,.navbar.site-header nav a:focus-visible{background:var(--vert-olive);color:#fff;border-color:var(--vert-olive)}
.navbar.site-header nav a[aria-current="page"]{background:var(--vert-olive);color:#fff}
.navbar.site-header nav a.is-active{background:var(--vert-olive);color:#fff;border-color:var(--vert-olive);font-weight:700}
@media(max-width:1150px) and (min-width:761px){:root{--header-height:128px}.navbar.site-header nav{flex-wrap:wrap;justify-content:flex-end;gap:8px}.navbar.site-header nav a{padding:7px 13px;font-size:14px!important}.navbar.site-header{padding:12px 4%}}
@media(max-width:760px){:root{--header-height:240px}.navbar.site-header{grid-template-rows:60px auto;height:var(--header-height);padding:12px 5%;gap:8px;align-content:start}.navbar.site-header nav{justify-content:center;flex-wrap:wrap;gap:6px 8px;overflow:visible;mask-image:none;-webkit-mask-image:none;padding:0;height:auto}.navbar.site-header nav a{padding:6px 10px;font-size:12px!important}.navbar.site-header nav::-webkit-scrollbar{display:none}}
.menu-toggle{display:none}.menu-toggle span{display:block;width:24px;height:2px;background:currentColor;transition:transform .2s,opacity .2s}.menu-toggle{gap:5px}
@media(max-width:760px){:root{--header-height:84px}.navbar.site-header{height:var(--header-height);min-height:var(--header-height);grid-template-columns:1fr auto;grid-template-rows:60px auto;padding:12px 6%;gap:0;align-content:start}.site-header .brand{align-self:center}.menu-toggle{display:flex;grid-column:2;grid-row:1;flex-direction:column;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:1px solid var(--vert-olive);border-radius:50%;background:transparent;color:var(--vert-olive)}.site-header nav{display:none;grid-column:1/-1;grid-row:2;width:100%;margin-top:9px;padding:16px 0 10px!important;align-items:center;justify-content:center;flex-direction:column;flex-wrap:nowrap;gap:9px!important;border-top:1px solid #59692533}.site-header.menu-open{height:auto;min-height:var(--header-height);box-shadow:0 14px 28px #1d1d1b1c}.site-header.menu-open nav{display:flex}.site-header.menu-open .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}.site-header.menu-open .menu-toggle span:nth-child(2){opacity:0}.site-header.menu-open .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.navbar.site-header nav a{display:flex;align-items:center;justify-content:center;width:min(100%,330px);min-height:44px;padding:8px 16px;font-size:15px!important;line-height:1.2;text-align:center}}
.epicerie-popup{width:min(580px,92vw);padding:0;border:0;border-radius:24px;background:#fffaf5;color:var(--texte-sombre);box-shadow:0 30px 80px #0006}.epicerie-popup::backdrop{background:#1d1d1b99}.epicerie-popup-inner{position:relative;padding:clamp(32px,6vw,60px);text-align:center}.epicerie-popup h2{font:500 clamp(35px,5vw,58px)/1.04 'Plus Jakarta Sans',Avenir,sans-serif;letter-spacing:-2px;color:var(--vert-olive);margin:12px 0 20px}.epicerie-popup h2 em{font-family:Georgia,serif;font-weight:400}.epicerie-popup p:not(.badge-text){max-width:440px;margin:0 auto 28px;font-size:clamp(17px,1.6vw,21px);line-height:1.55}.epicerie-popup .button{border:0;border-radius:999px;cursor:pointer}.epicerie-popup-close{position:absolute;right:16px;top:16px;display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--vert-olive);border-radius:50%;background:transparent;color:var(--vert-olive);font-size:26px;line-height:1;cursor:pointer}
@media(min-width:761px){.navbar.site-header{grid-template-columns:175px minmax(0,1fr);gap:16px}.navbar.site-header nav{justify-content:center;gap:6px;overflow:visible}.navbar.site-header nav a{padding:7px 9px;font-size:12px!important}}
.footer-brand{line-height:.95}.footer-brand img{margin-top:3px}
.footer-bottom a[href^="mailto:"]{display:none}
.main-footer{padding:clamp(46px,6vw,78px) 7% 26px;background:#53651f}.footer-top{grid-template-columns:minmax(190px,1fr) minmax(220px,1fr) minmax(160px,.7fr);gap:clamp(28px,5vw,90px);padding-bottom:46px}.footer-top p{margin:0;color:#f9e0cf;font-size:clamp(21px,2.1vw,30px);letter-spacing:-.7px}.footer-top nav{gap:14px}.footer-top nav a{font-size:15px;text-underline-offset:5px}.footer-bottom{align-items:center;gap:14px;padding-top:20px;color:#f9e0cfcc;font-size:12px;letter-spacing:.15px}.footer-bottom>span{font-size:0}.footer-bottom>span::before{content:"© 2026 Maison Martin BAM · Sérignan-du-Comtat";font-size:12px}.footer-bottom a{text-underline-offset:4px}@media(max-width:650px){.main-footer{padding:44px 24px 24px}.footer-top{grid-template-columns:1fr;gap:28px;padding-bottom:32px}.footer-top p{font-size:23px}.footer-top nav{gap:11px}.footer-bottom{display:grid;justify-items:center;gap:10px}}

/* 2. Ligne d’accroche : toujours sur une seule ligne, quelle que soit la largeur */
.reference-copy{container-type:inline-size}
.reference-hero .reference-eyebrow{white-space:nowrap;font-size:clamp(6px,1.85cqw,13.5px)!important;letter-spacing:.06em!important;line-height:1.4!important;margin-bottom:22px}

/* 3. Illustrations autour du logo : trois seulement, bien placées, sans déborder */
.reference-hero{overflow-x:clip}
.reference-visual .decoration-cafe{width:150px;height:150px;top:1%;left:1%;right:auto;bottom:auto;transform:rotate(-10deg)}
.reference-visual .decoration-tartine{width:190px;height:150px;bottom:1%;left:0;top:auto;right:auto;transform:rotate(-7deg)}
.reference-visual .decoration-verre{width:104px;height:164px;right:1%;top:30%;bottom:auto;left:auto;transform:rotate(8deg)}
@media(max-width:760px){.reference-visual .decoration-cafe{width:88px;height:88px;top:0;left:0}.reference-visual .decoration-tartine{width:122px;height:98px;bottom:0;left:0}.reference-visual .decoration-verre{width:66px;height:104px;right:0;top:34%}}

/* 4. Catégories : cartes cliquables, illustrations centrées et à la même taille */
#frigos .section-intro{text-align:center;max-width:820px;margin:0 auto}
#frigos .section-tagline{max-width:760px;margin:0 auto;text-align:center;font-size:clamp(17px,1.6vw,20px);line-height:1.55}
.cat-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;max-width:1240px;margin:44px auto 0}
.cat-card{flex:1 1 240px;max-width:292px;display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:24px 24px 20px;background:#fbf7f4;border:1.5px solid #59692530;border-radius:22px;cursor:pointer;font:inherit;color:var(--texte-sombre);transition:transform .18s,box-shadow .18s,border-color .18s}
.cat-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px #1d1d1b1f;border-color:var(--vert-olive)}
.cat-card:focus-visible{outline:3px solid var(--vert-olive);outline-offset:3px}
.cat-card>span{display:block}
.cat-head{display:flex!important;align-items:center;gap:10px;min-height:42px}
.cat-num{font-size:1.5rem;font-weight:700;color:var(--vert-olive);line-height:1}
.cat-label{font-size:11.5px;letter-spacing:1px;font-weight:700;color:var(--vert-olive);line-height:1.3}
.cat-illus{height:150px;margin:8px 0 18px;display:flex!important;align-items:center;justify-content:center}
.cat-illus img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}
.cat-title{font:500 22px/1.2 'Plus Jakarta Sans',sans-serif;color:var(--vert-olive);margin:0 0 10px;min-height:54px;display:flex!important;align-items:center}
.cat-desc{font-size:14px;line-height:1.55;color:var(--texte-gris);margin-bottom:14px}
.cat-price{font-size:14px;font-weight:700;line-height:1.45;color:var(--vert-olive);margin-bottom:16px}
.cat-more{margin-top:auto;display:flex!important;align-items:center;justify-content:space-between;gap:10px;padding-top:14px;border-top:1px solid #59692524;font-size:13.5px;font-weight:700;color:var(--vert-olive)}
.cat-more b{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--vert-olive);color:#fff;font-size:18px;line-height:1;flex:none}
@media(max-width:600px){.cat-card{flex-basis:100%;max-width:none}}

/* Fenêtre (popup) d’une catégorie */
.cat-dialog{border:0;padding:0;margin:auto;width:min(560px,92vw);max-height:90vh;border-radius:24px;background:#fffaf5;color:var(--texte-sombre);box-shadow:0 30px 80px #0006;overflow:visible}
.cat-dialog::backdrop{background:#1d1d1b99}
.cat-dialog-box{position:relative;padding:34px 32px 30px;max-height:90vh;overflow:auto;border-radius:24px}
.cat-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:42px;height:42px;padding:0;border:1.5px solid var(--vert-olive);border-radius:50%;background:transparent;color:var(--vert-olive);font-size:26px;line-height:1;cursor:pointer}
.cat-close:hover,.cat-close:focus-visible{background:var(--vert-olive);color:#fff}
.cat-dialog-label{margin:0 48px 0 0;font-size:11.5px;letter-spacing:1px;font-weight:700;color:var(--vert-olive)}
.cat-dialog-label .cat-num{font-size:1.3rem;margin-right:6px;letter-spacing:0}
.cat-dialog-illus{height:150px;margin:14px 0 8px}.cat-dialog-illus img{width:100%;height:100%;object-fit:contain;display:block}
.cat-dialog h3{font:500 28px/1.15 'Plus Jakarta Sans',sans-serif;color:var(--vert-olive);margin:6px 0 8px}
.cat-dialog-price{margin:0 0 14px;font-weight:700;font-size:15px;color:var(--vert-olive)}
.cat-dialog-intro{margin:0 0 8px;font-weight:600}
.cat-list{margin:0 0 20px;padding:0;list-style:none}
.cat-list li{position:relative;padding:8px 0 8px 26px;border-top:1px solid #59692520;line-height:1.45}
.cat-list li:last-child{border-bottom:1px solid #59692520}
.cat-list li::before{content:"";position:absolute;left:2px;top:9px;width:15px;height:16px;background:url('/images/illustrations/cigale.png') center/contain no-repeat}
.cat-note{margin:0;padding:14px 16px;border-radius:14px;background:#f9e0cf;font-size:14px;line-height:1.55;color:var(--texte-sombre)}
body.dialog-open{overflow:hidden}

/* 5. Section « On change de formule » : BAM bien visible */
#la-maison .bam-lockup{display:flex;flex-direction:column;align-items:center;gap:8px;margin:26px auto 30px}
#la-maison .bam-wordmark-big{width:min(260px,62vw);height:auto;display:block}
#la-maison .bam-lockup span{font:italic 22px/1.2 Georgia,serif;letter-spacing:.5px}
#la-maison .bam-inline{height:.95em;width:auto;vertical-align:-.12em;margin:0 .1em}
#la-maison p{text-align:center}
.la-maison-link{display:inline-flex;margin-top:14px;padding:13px 26px;border:1.5px solid #f9e0cf;border-radius:999px;color:#f9e0cf;font-weight:700;text-decoration:none}
.la-maison-link:hover{background:#f9e0cf;color:var(--vert-olive)}

/* 6. Carrousel horizontal : toutes les photos à la même taille, rognées sans déformation, bords arrondis */
.gallery-section .photo-carousel{max-width:1240px;margin:38px auto 0}

/* Accueil : contenus administrables et composition illustrée. */
.reference-ribbon{overflow:hidden;white-space:nowrap;padding:0!important}
.reference-ribbon-track{display:flex;width:max-content;animation:maison-marquee 38s linear infinite}
.reference-ribbon-track>span{display:block;padding:18px 28px;font:700 16px/1.65 'Plus Jakarta Sans',sans-serif;letter-spacing:3px}
@keyframes maison-marquee{to{transform:translateX(-50%)}}
.daily-board{display:flex;align-items:center;justify-content:center;gap:14px;max-width:760px;margin:0 auto 36px;padding:15px 22px;border:1px solid #59692555;border-radius:999px;background:#fffaf5;color:var(--vert-olive);font-weight:700;text-align:center}.daily-board p{max-width:none;margin:0}.daily-board>span{position:static;font-size:24px;transform:none}
.gallery-more{display:inline-flex;margin:30px auto 0;padding:12px 22px;border:1px solid var(--vert-olive);border-radius:999px;color:var(--vert-olive);font-weight:700;text-decoration:none}.gallery-more:hover{background:var(--vert-olive);color:#fff}
.photo-slide figcaption{display:none!important}.photo-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 16px}.photo-slide{flex:0 0 min(76vw,720px);scroll-snap-align:center}.photo-slide img{width:100%;height:clamp(280px,42vw,560px);object-fit:cover;border-radius:20px;display:block}
.decoration-pate{position:absolute;width:145px;height:auto;object-fit:contain;right:24%;bottom:1%;z-index:2;transform:rotate(8deg)}.decoration-verre{width:105px!important;height:auto!important;right:-14%!important;bottom:5%!important}.decoration-tartine{width:185px!important;height:auto!important;left:-6%!important;bottom:-4%!important;z-index:4}
.instagram-feed{max-width:1200px;margin:0 auto;padding:25px 6%;background:var(--fond-blanc)}
.main-footer,.event-page footer,body>footer{position:relative}.back-to-top{position:absolute;left:6%;top:28px;display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid currentColor;border-radius:50%;font-size:24px;line-height:1;text-decoration:none}.back-to-top:hover{background:var(--beige-creme);color:var(--vert-olive)!important}
.contact-page .event-reservation{align-items:stretch}.contact-page .reservation-copy{position:relative;display:flex;flex-direction:column;justify-content:center;background:#fffaf5;border-radius:24px;padding:clamp(30px,4vw,68px);box-shadow:0 12px 35px #1d1d1b12}.contact-page .contact-title{position:relative;margin:8px 0 22px;font-family:'Arial Black',Arial,sans-serif!important;font-size:clamp(42px,5vw,74px);font-weight:900;line-height:1.05;letter-spacing:-3px}.contact-page .contact-title strong{font-weight:900}.contact-page .contact-title em{font-family:Georgia,serif!important;font-weight:400;letter-spacing:-2px}.contact-page .contact-intro{position:relative;max-width:560px;font-size:clamp(18px,1.45vw,23px);line-height:1.55}.contact-details{position:relative;display:grid;gap:22px;margin-top:30px;padding-top:28px;border-top:1px solid #59692544}.contact-detail-label{display:block;margin-bottom:7px;color:var(--vert-olive);font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px}.contact-details a{display:inline-flex;align-items:center;gap:9px;color:var(--vert-olive);text-decoration:none;transition:color .18s ease}.contact-details .phone-link{font-size:clamp(28px,3vw,42px);font-weight:800;letter-spacing:1px}.contact-details .phone-link span{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid var(--vert-olive);border-radius:50%;font-size:18px;color:var(--vert-olive)}.contact-details .email-link{font-size:clamp(17px,1.5vw,22px);text-decoration:underline;text-underline-offset:5px}.contact-details a:hover{color:var(--texte-sombre)}
@media(max-width:760px){.contact-page .reservation-copy{padding:32px 24px}.contact-page .reservation-copy::after{right:14px;top:16px}.contact-details .phone-link{font-size:28px}}
.bg-cream-light .grid-2-columns{display:block}.bg-cream-light .text-block{max-width:1280px;margin:0 auto;text-align:center}.bg-cream-light .text-block h2{font-size:clamp(46px,4.5vw,82px);line-height:1.08}.bg-cream-light .text-block>p:not(.bam-lockup){font-size:clamp(18px,1.65vw,28px);line-height:1.55;max-width:1180px;margin:30px auto}.bg-cream-light .subtitle{font-size:clamp(16px,1.35vw,22px)}.bg-cream-light .bam-lockup{justify-content:center;margin:28px auto 38px}.bg-cream-light .bam-wordmark-big{width:clamp(220px,18vw,340px)!important;height:auto}.bg-cream-light .la-maison-link{display:inline-flex;margin:16px auto 0}
.bg-cream-light .bam-meaning{margin:-18px auto 34px!important;font-size:clamp(16px,1.3vw,22px)!important;letter-spacing:.2px}.bg-cream-light .bam-meaning em{font-family:Georgia,serif;font-size:1.12em}
@media(max-width:760px){.bg-cream-light .text-block>p:not(.bam-lockup){font-size:18px;line-height:1.5;margin:24px auto}.bg-cream-light .text-block h2{font-size:46px}.bg-cream-light .bam-wordmark-big{width:220px!important}}
.instants-main{min-height:70vh;background:var(--fond-blanc);text-align:center}.instants-main h1{font-size:clamp(36px,5vw,62px);font-family:Avenir,"Trebuchet MS",sans-serif;font-weight:400;letter-spacing:-2px;color:var(--texte-sombre);margin:8px 0}.instants-main h1 em{font-family:Georgia,serif;font-weight:400}.instants-grid{max-width:1320px;margin:48px auto 0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:85px;grid-auto-flow:dense;gap:20px}.instant-photo{display:block;grid-column:span 4;grid-row:span 4;border:0;background:none;padding:0;margin:0;cursor:zoom-in;overflow:hidden;border-radius:18px}.instant-photo:nth-child(3n+1){grid-column:span 5;grid-row:span 6}.instant-photo:nth-child(4n+2){grid-column:span 3;grid-row:span 5}.instant-photo:nth-child(5n){grid-column:span 4;grid-row:span 3}.instant-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}.instant-photo:hover img{transform:scale(1.06)}.lightbox{position:relative;max-width:min(92vw,1100px);max-height:92vh;padding:0;border:0;background:transparent}.lightbox::backdrop{background:#1d1d1bd9}.lightbox img{display:block;max-width:92vw;max-height:88vh;border-radius:16px}.lightbox-close{position:absolute;z-index:2;top:14px;right:14px;display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid #fff;border-radius:50%;background:#596925;color:#fff;font-size:30px;line-height:1;cursor:pointer}.legal-main{max-width:980px;margin:0 auto;background:var(--fond-blanc)}.legal-main h1{font-size:clamp(48px,6vw,78px)}.legal-main h1 em{font-family:Georgia,serif;font-weight:400}.legal-content{display:grid;gap:20px;margin-top:45px;text-align:left}.legal-content section{padding:26px 30px;background:var(--fond-blanc);border-left:4px solid var(--vert-olive);border-radius:0 14px 14px 0}.legal-content h2{font-size:clamp(24px,2.5vw,34px);letter-spacing:-1px;margin-bottom:14px;color:var(--vert-olive)}.legal-content p{max-width:720px;margin:0 0 12px}.legal-content p:last-child{margin-bottom:0}.legal-content a{text-decoration:underline;text-underline-offset:3px}.legal-page{background:var(--fond-blanc)}
@media(max-width:760px){.reference-ribbon-track>span{font-size:12px;padding:14px 18px;letter-spacing:1px}.daily-board{border-radius:18px;margin-bottom:25px}.decoration-pate{width:90px;right:25%;bottom:11%}.decoration-verre{width:72px!important;right:-13%!important}.decoration-tartine{width:125px!important}}
@media(max-width:760px){.instants-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:120px;gap:12px}.instant-photo{grid-column:span 1;grid-row:span 2}.instant-photo:nth-child(3n+1){grid-column:span 2;grid-row:span 3}.instant-photo:nth-child(4n+2){grid-column:span 1;grid-row:span 3}.instant-photo:nth-child(5n){grid-column:span 1;grid-row:span 2}}
.photo-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 2px 12px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.photo-track::-webkit-scrollbar{display:none}
.photo-track:focus-visible{outline:3px solid var(--vert-olive);outline-offset:4px;border-radius:20px}
.photo-slide{position:relative;flex:0 0 calc((100% - 36px)/3);aspect-ratio:4/3;margin:0;scroll-snap-align:start;border-radius:22px;overflow:hidden;background:#f2e7dd}
.photo-slide img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0}
.photo-slide figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 14px;background:linear-gradient(transparent,#1d1d1bb0);color:#fff;font-size:14px;line-height:1.35;text-align:left}
.photo-controls{display:flex;justify-content:center;gap:16px;margin:12px 0 0}
.photo-controls[hidden]{display:none}
@media(max-width:900px){.photo-slide{flex-basis:calc((100% - 18px)/2)}}
@media(max-width:560px){.photo-slide{flex-basis:84%}}

/* Haut de page : logo un peu plus petit pour laisser voir les trois illustrations, une colonne dès 980 px */
.reference-visual .reference-logo{width:min(100%,430px);max-width:430px}
.reference-visual .decoration-cafe{width:140px;height:140px;top:2%;left:0}
.reference-visual .decoration-tartine{width:176px;height:138px;bottom:2%;left:0}
.reference-visual .decoration-verre{width:96px;height:152px;right:0;top:34%}
@media(max-width:980px){.reference-hero{grid-template-columns:1fr;padding:45px 6%;gap:35px}.reference-visual{height:470px;max-width:520px}}
@media(max-width:760px){.reference-visual .reference-logo{width:min(100%,330px);max-width:330px}.reference-visual{height:410px;max-width:430px}}
.reference-visual .decoration-verre{width:98px;height:156px;right:3%;top:auto;bottom:2%;transform:rotate(8deg)}
.reference-visual .decoration-pate{width:165px;height:auto;right:auto;bottom:18%;left:-16%;top:auto;transform:rotate(-15deg)}
.reference-visual .decoration-verre{width:142px!important;height:auto!important;right:-4%!important;top:auto!important;bottom:0!important;transform:rotate(8deg)}
@media(max-width:760px){.reference-visual .decoration-pate{width:105px;right:auto;left:-5%;bottom:24%}.reference-visual .decoration-verre{width:88px!important;height:auto!important;right:-8%!important;top:auto!important;bottom:0!important}}

/* Ajustements de finition : illustration, titre BAM, rendez-vous et ouverture. */
.reference-visual .decoration-pate{width:188px;height:166px;bottom:25%;left:-19%;object-fit:contain;clip-path:none}
.reference-visual .decoration-dessert{width:190px;height:168px;top:-7%;right:-14%;bottom:auto;left:auto;transform:rotate(8deg)}
@media(max-width:760px){.reference-visual .decoration-pate{width:122px;height:108px;bottom:25%;left:-12%}.reference-visual .decoration-dessert{width:114px;height:101px;top:-4%;right:-12%}}
.formula-title{font-family:'Arial Black',Arial,sans-serif!important;font-weight:900!important;font-size:clamp(36px,4.5vw,64px)!important;line-height:1.06!important;letter-spacing:-2px!important}.formula-title strong{font-weight:900;font-style:normal}.formula-title em{font-family:Georgia,serif!important;font-weight:400;letter-spacing:-1.5px}
#nous-trouver{align-items:center;gap:clamp(42px,8vw,120px)}.visit-copy{max-width:660px}.visit-copy .badge-text{margin:0 0 15px}.visit-question{margin:24px 0 12px;font-size:clamp(24px,2.5vw,36px);line-height:1.25}.visit-description{max-width:600px;margin:0 0 26px;font-size:clamp(17px,1.5vw,22px);line-height:1.55}.visit-event-link{display:inline-flex;padding:12px 18px;border:1.5px solid var(--vert-olive);border-radius:999px;color:var(--vert-olive);font-weight:700;text-decoration:none}.visit-event-link:hover{background:var(--vert-olive);color:var(--fond-blanc)}
.opening-popup{width:min(620px,92vw);padding:0;border:0;border-radius:24px;background:var(--fond-blanc);color:var(--texte-sombre);box-shadow:0 30px 80px #0006}.opening-popup::backdrop{background:#1d1d1b99}.opening-popup-inner{position:relative;padding:clamp(32px,6vw,60px);text-align:center}.opening-popup .opening-title{font:800 clamp(42px,6vw,68px)/.98 'Plus Jakarta Sans',Avenir,sans-serif;letter-spacing:-3px;color:var(--vert-olive);margin:12px 0 24px}.opening-popup .opening-title em{font-family:Georgia,serif;font-weight:400;letter-spacing:-2px}.opening-popup p:not(.badge-text){max-width:500px;margin:0 auto 28px;font-size:clamp(16px,1.5vw,20px);line-height:1.58}.opening-popup .button{border:0;border-radius:999px;cursor:pointer}.opening-popup-close{position:absolute;right:16px;top:16px;display:flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid var(--vert-olive);border-radius:50%;background:transparent;color:var(--vert-olive);font:26px/0 Arial,sans-serif;cursor:pointer}
.popup-bam-wordmark{display:inline-block;width:auto;height:.9em;max-width:4em;vertical-align:-.08em;margin-right:.06em}

/* Les croix de fermeture sont dessinées, plutôt que dépendre de la police. */
.opening-popup-close,.epicerie-popup-close,.cat-close,.lightbox-close{font-size:0!important}
.opening-popup-close::before,.opening-popup-close::after,.epicerie-popup-close::before,.epicerie-popup-close::after,.cat-close::before,.cat-close::after,.lightbox-close::before,.lightbox-close::after{content:"";position:absolute;top:50%;left:50%;width:15px;height:2px;border-radius:2px;background:currentColor}
.opening-popup-close::before,.epicerie-popup-close::before,.cat-close::before,.lightbox-close::before{transform:translate(-50%,-50%) rotate(45deg)}
.opening-popup-close::after,.epicerie-popup-close::after,.cat-close::after,.lightbox-close::after{transform:translate(-50%,-50%) rotate(-45deg)}

/* Sur mobile, la fermeture garde une vraie marge et ne chevauche pas le bandeau. */
@media(max-width:760px){.opening-popup-inner{padding-top:76px}.opening-popup-close{top:24px;right:24px}}

/* Galerie « Les instants » : grille régulière, sans grands vides entre les photos. */
.instants-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;grid-auto-flow:row;gap:20px}
.instant-photo,.instant-photo:nth-child(3n+1),.instant-photo:nth-child(4n+2),.instant-photo:nth-child(5n){grid-column:auto;grid-row:auto;aspect-ratio:4 / 5}
@media(max-width:760px){.instants-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:12px}.instant-photo,.instant-photo:nth-child(3n+1),.instant-photo:nth-child(4n+2),.instant-photo:nth-child(5n){grid-column:auto;grid-row:auto;aspect-ratio:1 / 1}}

/* Épicerie : les disponibilités restent alignées malgré des descriptions de longueurs différentes. */
.product-item-card .stock-pill{margin-top:auto}
.product-item-card .prod-meta{margin-top:0}

/* Cigale : signe distinctif de la maison dans les éléments décoratifs. */
.cigale-symbol{display:inline-block;width:1em;height:1em;object-fit:contain;vertical-align:-.12em;margin:0 .28em}
.prod-img-placeholder .cigale-symbol{width:56px;height:56px;margin:0;filter:invert(35%) sepia(27%) saturate(996%) hue-rotate(36deg) brightness(86%) contrast(88%)}
.reference-ribbon .cigale-symbol,.ribbon .cigale-symbol{width:1.15em;height:1.15em;filter:brightness(0) invert(92%) sepia(18%) saturate(344%) hue-rotate(331deg) brightness(106%) contrast(95%)}

/* Signe + dessiné pour un centrage optique parfait dans son cercle. */
.cat-more b{position:relative;font-size:0}
.cat-more b::before,.cat-more b::after{content:"";position:absolute;top:50%;left:50%;width:13px;height:2px;border-radius:2px;background:currentColor;transform:translate(-50%,-50%)}
.cat-more b::after{transform:translate(-50%,-50%) rotate(90deg)}

/* Événement : l'accueil reste rose, les menus apparaissent sur un fond vert au défilement. */
.event-hero{background:var(--pink)}
#menus{background:var(--vert-olive);color:var(--fond-blanc)}
#menus>.eyebrow,#menus>h2{color:var(--fond-blanc)}
#menus .event-menu,#menus .event-menu:nth-child(2){background:var(--beige-creme);border-color:var(--beige-creme);color:var(--texte-sombre)}
#menus .event-menu .eyebrow,#menus .event-menu dt{color:var(--vert-olive)}
#menus .event-menu .button{background:var(--vert-olive);color:var(--fond-blanc);border-color:var(--vert-olive)}
#menus .event-menu .button:hover{background:var(--texte-sombre);border-color:var(--texte-sombre);color:var(--fond-blanc)}

/* Pied de page : plus compact, sans réduire la lisibilité. */
.main-footer{padding:clamp(32px,4vw,48px) 7% 18px}
.footer-top{gap:clamp(22px,3vw,52px);padding-bottom:26px}
.footer-top p{font-size:clamp(19px,1.8vw,26px)}
.footer-top nav{gap:10px}
.footer-bottom{padding-top:14px}
@media(max-width:650px){.main-footer{padding:32px 24px 18px}.footer-top{gap:22px;padding-bottom:24px}.footer-bottom{gap:7px}}

/* Accueil : la carafe remplace le verre, la tarte reste discrète autour du logo. */
.reference-visual .decoration-verre{width:120px!important;height:auto!important;right:-2%!important;bottom:-1%!important;transform:rotate(6deg)}
.reference-visual .decoration-dessert{width:165px;height:146px;top:-4%;right:-11%}
@media(max-width:760px){.reference-visual .decoration-verre{width:76px!important;right:-5%!important;bottom:0!important}.reference-visual .decoration-dessert{width:100px;height:89px;top:-2%;right:-9%}}

/* Sur téléphone, le logo reste seul et devient le repère principal de l'accueil. */
@media(max-width:760px){.reference-visual{height:360px}.reference-visual .reference-decoration{display:none}.reference-visual .reference-logo{width:min(100%,340px);max-width:340px}}

/* Sur téléphone, la présentation reste vivante ; seul le logo est retiré du bloc d'adresse pour éviter le doublon. */
@media(max-width:760px){#nous-trouver{gap:32px}.visit-copy .visit-question,.visit-copy .visit-description{display:block}.visit-copy .visit-event-link{display:inline-flex}#infos .visit-signature{display:none}}

/* Contact : les deux panneaux restent centrés et proportionnés sur les grands écrans. */
@media(min-width:1001px){
  .contact-page .event-reservation{width:min(100%,1800px);margin-inline:auto;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);box-shadow:0 0 0 100vmax var(--pink);clip-path:inset(0 -100vmax)}
}

/* Illustrations des univers : une marge de sécurité évite tout rognage. */
.cat-illus img,.cat-dialog-illus img{width:88%;height:88%;object-fit:contain}

/* Événement : une arrivée rose clair sur tout l'écran, avant de découvrir les menus. */
.event-hero{min-height:calc(100dvh - var(--header-height));background:var(--beige-creme);align-content:center}
.event-hero+.ribbon{background:var(--rose-poudre);color:var(--texte-sombre)}
.event-hero+.ribbon .cigale-symbol{filter:invert(13%) sepia(6%) saturate(11%) hue-rotate(317deg) brightness(95%) contrast(90%)}

/* Titres Événement : même duo typographique que « Chez BAM, on trouve quoi ? ». */
.event-title{font-family:'Arial Black',Arial,sans-serif!important;font-weight:900!important;line-height:1.06;letter-spacing:-2px}
.event-title em{font-family:Georgia,serif!important;font-weight:400;letter-spacing:-1.5px}
.event-hero .event-title{font-size:clamp(48px,5.5vw,78px)}
#menus .event-title{color:var(--fond-blanc)}
.event-carte .event-title,.event-reservation .event-title{color:var(--vert-olive)}

/* Réservation Événement : même présentation claire et équilibrée que la page Contact. */
#reservation.event-reservation{align-items:stretch}
#reservation.event-reservation .reservation-copy{position:relative;display:flex;flex-direction:column;justify-content:center;background:var(--fond-blanc);border-radius:24px;padding:clamp(30px,4vw,68px);box-shadow:0 12px 35px #1d1d1b12}
#reservation.event-reservation .reservation-copy .preserve{max-width:560px;font-size:clamp(18px,1.45vw,23px);line-height:1.55}
#reservation.event-reservation .event-phone{margin-top:10px}
@media(min-width:1001px){#reservation.event-reservation{width:min(100%,1800px);margin-inline:auto;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);box-shadow:0 0 0 100vmax var(--pink);clip-path:inset(0 -100vmax)}}
@media(max-width:760px){#reservation.event-reservation .reservation-copy{padding:32px 24px}}

/* Les panneaux de contact occupent le centre vertical de leur zone rose quand l'écran le permet. */
.contact-page .event-reservation,#reservation.event-reservation{min-height:calc(100dvh - var(--header-height));align-content:center}

/* Accueil : aucun jour blanc entre la composition et son bandeau défilant. */
.reference-hero,.reference-ribbon{margin-block:0;border:0}
.reference-ribbon{display:block;line-height:1}
.reference-ribbon .cigale-symbol{width:1.32em;height:1.32em;vertical-align:-.2em;filter:brightness(0) invert(92%) sepia(18%) saturate(344%) hue-rotate(331deg) brightness(106%) contrast(95%)}

/* Événement : appel à l'action simplifié et planche d'illustrations utilisée comme décor. */
.event-hero{grid-template-columns:1.15fr .85fr;gap:26px 60px}
.event-copy{min-width:0}
.event-visual{position:relative;width:100%;height:clamp(310px,28vw,430px);align-self:center}
.event-decor{position:absolute;display:block;object-fit:contain;mix-blend-mode:multiply;pointer-events:none}
.event-decor-pot{width:46%;height:46%;left:25%;top:17%;transform:rotate(-4deg)}
.event-decor-carafe{width:27%;height:54%;right:1%;bottom:0;transform:rotate(8deg)}
.event-decor-tarte{width:42%;height:38%;left:2%;bottom:1%;transform:rotate(-9deg)}
.event-decor-poire{width:24%;height:37%;left:5%;top:0;transform:rotate(-10deg)}
.event-decor-cocktail{width:22%;height:37%;right:2%;top:1%;transform:rotate(9deg)}
.event-actions{grid-column:1/-1;justify-self:center;width:min(100%,920px);margin-top:0;text-align:center}
.event-scroll-link{display:inline-flex;flex-direction:column;align-items:center;gap:3px;color:var(--vert-olive);text-decoration:none;transition:transform .2s ease,color .2s ease}
.event-scroll-link:hover,.event-scroll-link:focus-visible{color:var(--texte-sombre);transform:translateY(4px)}
.event-scroll-copy{font-family:'Arial Black',Arial,sans-serif!important;font-weight:900;font-size:clamp(34px,4.1vw,62px);line-height:.98;letter-spacing:-2px}
.event-scroll-copy em{font-family:Georgia,serif!important;font-weight:400;font-size:1.12em;letter-spacing:-1px}
.event-bam-wordmark{display:block!important;width:122px!important;height:auto!important;object-fit:contain!important;margin:8px 0 0!important;mix-blend-mode:normal}
.event-scroll-arrow{display:grid;place-items:center;width:56px;height:56px;margin-top:12px;border:1.5px solid currentColor;border-radius:50%;font-size:32px;line-height:1;animation:event-scroll-pulse 1.8s ease-in-out infinite}
@keyframes event-scroll-pulse{50%{transform:translateY(6px)}}
@media(max-width:760px){.event-hero{grid-template-columns:1fr;gap:22px;padding-top:42px;padding-bottom:42px}.event-visual{height:280px;max-width:430px;margin-inline:auto}.event-actions{grid-column:auto;margin-inline:auto}.event-scroll-copy{font-size:clamp(31px,9vw,42px);line-height:1}.event-bam-wordmark{width:105px!important}.event-scroll-arrow{width:48px;height:48px;font-size:28px}.event-decor-pot{width:48%;height:48%}.event-decor-carafe{width:28%;height:54%}}
@media(prefers-reduced-motion:reduce){.event-scroll-arrow{animation:none}.event-scroll-link:hover,.event-scroll-link:focus-visible{transform:none}}

/* Événement : le logo est le repère central, entouré des dessins de la maison. */
.event-hero{grid-template-areas:"copy visual" "actions visual";grid-template-rows:auto auto;align-items:center;gap:20px 60px}
.event-copy{grid-area:copy}
.event-visual{grid-area:visual;height:clamp(360px,32vw,520px);max-width:620px;justify-self:center;overflow:visible}
.event-hero-logo{position:absolute;z-index:2;top:50%;left:50%;width:min(74%,440px);height:auto;transform:translate(-50%,-50%);clip-path:circle(49% at 50% 50%)}
.event-visual .event-decor{z-index:3;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply}
.event-visual .event-decor-carafe{width:20%;right:0;bottom:2%;left:auto;top:auto;transform:rotate(6deg)}
.event-visual .event-decor-sandwich{width:25%;right:-2%;top:0;left:auto;bottom:auto;transform:rotate(8deg)}
.event-visual .event-decor-cafe{width:17%;left:0;bottom:7%;right:auto;top:auto;transform:rotate(-8deg)}
.event-visual .event-decor-carotte{width:19%;left:6%;top:1%;right:auto;bottom:auto;transform:rotate(-28deg)}
.event-visual .event-decor-champignon{width:15%;left:69%;top:1%;right:auto;bottom:auto;transform:rotate(12deg)}
.event-visual .event-decor-citron{width:16%;right:7%;top:60%;left:auto;bottom:auto;transform:rotate(10deg)}
.event-visual .event-decor-dessert{width:22%;left:20%;bottom:-1%;right:auto;top:auto;transform:rotate(-8deg)}
.event-visual .event-decor-poire{width:17%;right:18%;bottom:-1%;left:auto;top:auto;transform:rotate(9deg)}
.event-visual .event-decor-oeuf{width:13%;left:45%;top:-3%;right:auto;bottom:auto;transform:rotate(-8deg)}
.event-actions{grid-area:actions;grid-column:auto;justify-self:start;width:auto;margin:4px 0 0;text-align:left}
.event-scroll-link{flex-direction:row;align-items:center;gap:17px;text-align:left}
.event-scroll-copy{font-size:clamp(19px,1.75vw,27px);line-height:1.07;letter-spacing:-.8px}
.event-scroll-copy em{font-size:1.05em;letter-spacing:-.6px}
.event-scroll-arrow{flex:none;width:46px;height:46px;margin:0;font-size:26px}
@media(max-width:980px){.event-hero{grid-template-columns:1fr;grid-template-areas:"copy" "visual" "actions";gap:24px}.event-visual{height:clamp(330px,68vw,480px);max-width:520px}.event-actions{justify-self:start;margin-top:0}}
@media(max-width:760px){.event-hero{padding-top:42px;padding-bottom:42px}.event-visual{height:min(94vw,420px);width:min(100%,430px)}.event-hero-logo{width:76%}.event-scroll-copy{font-size:clamp(18px,5.1vw,23px);line-height:1.1}.event-scroll-arrow{width:43px;height:43px;font-size:24px}.event-visual .event-decor-carafe{width:22%}.event-visual .event-decor-sandwich{width:27%}.event-visual .event-decor-cafe{width:19%}.event-visual .event-decor-carotte{width:21%}.event-visual .event-decor-dessert{width:24%}.event-visual .event-decor-poire{width:19%}}

/* Le repère reste une transition légère, sans encart. */
.event-actions{width:100%;padding:22px 0 0;border:0;border-top:1px solid var(--vert-olive);border-radius:0;background:transparent}
.event-scroll-link:hover,.event-scroll-link:focus-visible{color:var(--vert-olive)}
.event-scroll-bam{display:inline-block;width:auto;height:.86em;max-width:3.4em;vertical-align:-.08em;margin-left:.08em}
.event-visual .event-decor-pate{width:18%;left:-4%;top:30%;right:auto;bottom:auto;transform:rotate(-11deg)}
.event-visual .event-decor-banane{width:17%;right:23%;bottom:1%;left:auto;top:auto;transform:rotate(-12deg)}
.event-visual .event-decor-burger{width:15%;right:44%;bottom:19%;left:auto;top:auto;transform:rotate(5deg)}
.event-visual .event-decor-fraise{width:13%;left:34%;top:-2%;right:auto;bottom:auto;transform:rotate(-10deg)}
.event-visual .event-decor-marmitte{width:27%;left:39%;top:32%;right:auto;bottom:auto;transform:rotate(-3deg)}
.event-visual .event-decor-piment{width:10%;right:3%;top:34%;left:auto;bottom:auto;transform:rotate(18deg)}
.event-visual .event-decor-plat{width:20%;left:20%;bottom:28%;right:auto;top:auto;transform:rotate(-4deg)}
.event-visual .event-decor-poisson{width:18%;right:28%;top:-1%;left:auto;bottom:auto;transform:rotate(8deg)}
.event-visual .event-decor-poulet{width:13%;left:44%;bottom:-2%;right:auto;top:auto;transform:rotate(-12deg)}
.event-visual .event-decor-verre{width:12%;right:-1%;bottom:19%;left:auto;top:auto;transform:rotate(8deg)}
.event-visual .event-decor-cigale{width:8%;left:48%;bottom:7%;right:auto;top:auto;transform:rotate(10deg)}
@media(max-width:760px){.event-visual .event-decor-pate{width:20%}.event-visual .event-decor-banane{width:19%}.event-visual .event-decor-burger{width:17%}.event-visual .event-decor-fraise{width:15%}.event-visual .event-decor-marmitte{width:29%}.event-visual .event-decor-piment{width:12%}.event-visual .event-decor-plat{width:22%}.event-visual .event-decor-poisson{width:20%}.event-visual .event-decor-poulet{width:15%}.event-visual .event-decor-verre{width:14%}.event-visual .event-decor-cigale{width:10%}}

/* Planche d'illustrations : chacune garde sa place et remplit le vide du héros. */
@media(min-width:981px){.event-hero{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:20px 46px}.event-visual{width:100%;max-width:800px;height:min(72dvh,720px)}}
.event-visual{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));gap:clamp(7px,1vw,17px);align-items:center;justify-items:center}
.event-visual .event-decor,.event-visual .event-decor-carafe,.event-visual .event-decor-sandwich,.event-visual .event-decor-cafe,.event-visual .event-decor-carotte,.event-visual .event-decor-champignon,.event-visual .event-decor-citron,.event-visual .event-decor-dessert,.event-visual .event-decor-poire,.event-visual .event-decor-oeuf,.event-visual .event-decor-pate,.event-visual .event-decor-banane,.event-visual .event-decor-burger,.event-visual .event-decor-fraise,.event-visual .event-decor-marmitte,.event-visual .event-decor-piment,.event-visual .event-decor-plat,.event-visual .event-decor-poisson,.event-visual .event-decor-poulet,.event-visual .event-decor-verre,.event-visual .event-decor-cigale{position:relative!important;inset:auto!important;width:94%!important;height:94%!important;max-width:100%;max-height:100%;object-fit:contain;transform:none!important}
.event-visual .event-decor-sandwich,.event-visual .event-decor-marmitte,.event-visual .event-decor-plat{width:100%!important;height:100%!important}
.event-visual .event-decor-piment,.event-visual .event-decor-verre,.event-visual .event-decor-carafe{height:100%!important}
.event-visual .event-decor-cigale{width:72%!important;height:72%!important}
.event-visual .event-decor,.event-visual .event-decor-sandwich,.event-visual .event-decor-marmitte,.event-visual .event-decor-plat,.event-visual .event-decor-piment,.event-visual .event-decor-verre,.event-visual .event-decor-carafe,.event-visual .event-decor-cigale{width:94%!important;height:94%!important}
.event-visual .event-decor-cigale{order:-1}
.event-visual .event-decor-carafe{order:1}
.event-visual .event-decor-carafe{grid-column:1;grid-row:5}
.event-visual .event-decor-poisson{grid-column:4;grid-row:5}
.event-visual .event-decor-verre{box-sizing:border-box;padding:9px 6px 3px}
@media(max-width:980px){.event-visual{width:min(100%,760px);height:min(92vw,700px);grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));margin-inline:auto}}
@media(max-width:760px){.event-hero{grid-template-areas:"copy" "actions" "visual";padding-bottom:16px}.event-visual{height:min(132vw,500px);grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:10px}.event-visual .event-decor,.event-visual .event-decor-sandwich,.event-visual .event-decor-marmitte,.event-visual .event-decor-plat,.event-visual .event-decor-cigale{width:94%!important;height:94%!important}.event-visual .event-decor-carafe,.event-visual .event-decor-oeuf,.event-visual .event-decor-pate,.event-visual .event-decor-banane,.event-visual .event-decor-burger,.event-visual .event-decor:nth-child(n+13){display:none}}

/* Sur téléphone, la planche utilise la sélection de huit illustrations choisie pour ce format. */
.event-mobile-visual{display:none}
@media(max-width:760px){.event-visual{display:none}.event-mobile-visual{grid-area:visual;display:grid;width:min(100%,430px);height:min(105vw,400px);margin-inline:auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:6px;align-items:center;justify-items:center}.event-mobile-visual img{display:block;width:80%;height:80%;max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply}}

.mobile-line-break{display:none}@media(max-width:760px){.mobile-line-break{display:block}.daily-board{display:flex;flex-direction:column;gap:8px;padding:16px 22px}.daily-board p{max-width:none}.daily-board>span{position:static;font-size:24px;transform:none}}

.eyebrow-mobile{display:none}@media(max-width:760px){.reference-hero .reference-eyebrow{white-space:normal!important;font-size:13px!important;line-height:1.7!important;letter-spacing:1.35px!important}.eyebrow-desktop{display:none}.eyebrow-mobile{display:block}}

.mobile-reference-logo{display:none}@media(max-width:760px){.mobile-reference-logo{display:block;width:min(58vw,240px);height:auto;margin:8px auto 20px;clip-path:circle(50% at 50% 50%)}.reference-hero .reference-visual{display:none}}

/* Traiteur : annonce éditable dans Decap, entre l'arrivée et les menus. */
.traiteur-announcement{padding-block:clamp(42px,6vw,78px)!important;background:var(--rose-poudre);color:var(--texte-sombre);text-align:center}
.traiteur-announcement>*{max-width:900px;margin-inline:auto}
.traiteur-announcement .eyebrow{margin-top:0;margin-bottom:16px;color:var(--vert-olive)}
.traiteur-announcement h2{margin-top:0;margin-bottom:16px;color:var(--texte-sombre);font:400 clamp(36px,5vw,62px)/1.04 Avenir,'Trebuchet MS',sans-serif;letter-spacing:-2px}
.traiteur-announcement h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-1.5px}

/* Instants : même italique sérif que les titres de l'accueil. */
.instants-main h1 em{font-family:Georgia,'Times New Roman',serif!important;font-weight:400;font-style:italic;letter-spacing:-1.5px}
.traiteur-announcement p:last-child{margin-bottom:0;font-size:clamp(17px,1.55vw,22px);line-height:1.5}
.desktop-line-break{display:block}
@media(max-width:760px){.desktop-line-break{display:none}}
.traiteur-announcement-call{display:inline-flex;margin-top:24px;padding:11px 18px;border:1.5px solid var(--vert-olive);border-radius:999px;color:var(--vert-olive);font-weight:700;text-decoration:none}
.traiteur-announcement-call:hover,.traiteur-announcement-call:focus-visible{background:var(--vert-olive);color:var(--fond-blanc)}

/* Champs de sélection : flèche alignée avec la même marge que le texte. */
.form-grid select{appearance:none;-webkit-appearance:none;padding-right:56px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%231d1d1b' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 21px center!important;background-size:14px 8px!important}

/* Traiteur : les explications remplacent les menus vides hors saison. */
.traiteur-process{background:var(--vert-olive);color:var(--fond-blanc)}
.traiteur-process .event-title{color:var(--fond-blanc)}
.traiteur-process .eyebrow{color:var(--beige-creme)}
.traiteur-process-intro{max-width:670px;margin:0 0 34px;font-size:clamp(18px,1.5vw,22px);line-height:1.5}
.traiteur-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.traiteur-steps article{min-height:250px;padding:clamp(24px,2.7vw,38px);background:var(--beige-creme);color:var(--texte-sombre)}
.traiteur-steps span{display:block;margin-bottom:28px;color:var(--vert-olive);font-size:14px;font-weight:800;letter-spacing:1.5px}
.traiteur-steps h3{margin:0 0 14px;color:var(--vert-olive);font-size:clamp(23px,2.1vw,31px);line-height:1.06}
.traiteur-steps p{margin:0;font-size:17px;line-height:1.5}
.seasonal-menus{background:var(--fond-blanc);color:var(--texte-sombre)}
.seasonal-menus .event-title{color:var(--vert-olive)}
.seasonal-menus .eyebrow{color:var(--vert-olive)}
.seasonal-menus .event-menu,.seasonal-menus .event-menu:nth-child(2){background:var(--beige-creme);border-color:var(--vert-olive);color:var(--texte-sombre)}
.seasonal-menus .event-menu .button,.seasonal-menus .event-menu:nth-child(2) .button{background:var(--vert-olive);color:var(--fond-blanc)}
@media(max-width:760px){.traiteur-steps{grid-template-columns:1fr}.traiteur-steps article{min-height:0}.traiteur-process-intro{margin-bottom:24px}}

/* La cigale reprend exactement la couleur du texte qui l'accompagne. */
.cigale-symbol{display:inline-block;background-color:currentColor;-webkit-mask:url('/images/illustrations/cigale.png') center/contain no-repeat;mask:url('/images/illustrations/cigale.png') center/contain no-repeat;filter:none!important}
.reference-ribbon .cigale-symbol{color:inherit;background-color:currentColor;filter:none!important}
