@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/bodoni-moda-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Bodoni Moda";font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/bodoni-moda-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/bodoni-moda-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Bodoni Moda";font-style:italic;font-weight:500;font-display:swap;src:url(../fonts/bodoni-moda-latin-500-italic.woff2) format("woff2")}
@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/bodoni-moda-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"EB Garamond";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/eb-garamond-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"EB Garamond";font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/eb-garamond-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"EB Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/eb-garamond-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/jost-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/jost-latin-500-normal.woff2) format("woff2")}
/* Layout : une carte de brasserie qu'on feuillette — enseigne centrée, photo plein cadre, filets marine et or, cadre à coins échancrés repris des menus imprimés */
:root{
  --papier:#f8f5ee;   /* papier crème des menus */
  --carte:#fffdf8;    /* intérieur du cadre */
  --marine:#1c2950;   /* bleu marine des menus */
  --encre:#1b223b;    /* texte */
  --or:#a57c2c;       /* or des menus */
  --filet:#ddd6c6;    /* filets fins */
  --gris:#5f6273;     /* texte secondaire */
  --sur-marine:#efe7d4;
  --display:"Bodoni Moda","Didot","Bodoni 72",Georgia,serif;
  --texte:"EB Garamond","Garamond","Iowan Old Style",Georgia,serif;
  --label:"Jost","Futura","Avenir Next",system-ui,sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --papier:#0f1326;--carte:#141a31;--marine:#0b1024;--encre:#ece6d8;--or:#cfa75a;--filet:#2a3150;--gris:#a7a9b8;--sur-marine:#efe7d4;color-scheme:dark}}
:root[data-theme="dark"]{--papier:#0f1326;--carte:#141a31;--marine:#0b1024;--encre:#ece6d8;--or:#cfa75a;--filet:#2a3150;--gris:#a7a9b8;--sur-marine:#efe7d4;color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--papier);color:var(--encre);font-family:var(--texte);font-size:19px;line-height:1.6;
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.wrap{max-width:1120px;margin:0 auto}
.plein{margin-inline:calc(-1*max(16px,env(safe-area-inset-left,0px)))}
.plein > .in{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--display);font-weight:400;margin:0;line-height:1.05;text-wrap:balance}
p{margin:0}
a{color:inherit}
:focus-visible{outline:2px solid var(--or);outline-offset:3px}
.label{font-family:var(--label);font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;font-weight:500;color:var(--or)}
.fleuron{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--or)}
.fleuron::before,.fleuron::after{content:"";height:1px;width:min(120px,22vw);background:currentColor;opacity:.7}
.fleuron span{font-family:var(--display);font-size:1.2rem;line-height:1}

/* en-tête */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--papier)}
.entete{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--papier);border-bottom:1px solid var(--filet)}
.entete .in{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding-block:14px}
.entete nav{display:flex;gap:26px;font-family:var(--label);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase}
.entete nav a{text-decoration:none;padding-block:4px;border-bottom:1px solid transparent}
.entete nav a:hover{border-color:var(--or)}
.mot-marque{text-align:center;text-decoration:none;line-height:1}
.mot-marque b{display:block;font-family:var(--display);font-weight:500;font-size:1.55rem;letter-spacing:.06em;text-transform:uppercase;color:var(--marine)}
:root[data-theme="dark"] .mot-marque b{color:var(--encre)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .mot-marque b{color:var(--encre)}}
.mot-marque small{display:block;font-family:var(--label);font-size:.6rem;letter-spacing:.42em;text-transform:uppercase;color:var(--or);margin-top:5px}
.droite{display:flex;justify-content:flex-end;align-items:center;gap:12px}
.langue{background:none;border:0;color:var(--encre);font:500 .72rem var(--label);letter-spacing:.2em;cursor:pointer;padding:8px}
.btn{display:inline-block;text-decoration:none;font:500 .72rem var(--label);letter-spacing:.22em;text-transform:uppercase;padding:13px 22px;border:1px solid var(--marine);color:var(--marine);background:transparent;transition:background .25s,color .25s}
.btn:hover{background:var(--marine);color:var(--papier)}
.btn.plein-btn{background:var(--marine);color:#f8f5ee}
.btn.plein-btn:hover{background:var(--or);border-color:var(--or)}
:root[data-theme="dark"] .btn{border-color:var(--or);color:var(--encre)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn{border-color:var(--or);color:var(--encre)}}
:root[data-theme="dark"] .btn.plein-btn{background:var(--or);color:#0f1326}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn.plein-btn{background:var(--or);color:#0f1326}}

/* ouverture */
.ouverture{position:relative;min-height:min(78vh,720px);display:grid;align-items:end;color:#fbf7ee;overflow:hidden;background:#0d1226}
.ouverture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.92}
.ouverture::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,18,38,.15) 30%,rgba(13,18,38,.82) 100%)}
.ouverture .in{position:relative;z-index:1;max-width:1120px;margin:0 auto;width:100%;padding-block:0 56px}
.ouverture .label{color:#e3c27d}
.ouverture h1{font-size:clamp(2.8rem,7vw,5.8rem);font-style:italic;margin-top:14px;max-width:14ch}
.ouverture p{font-size:1.25rem;max-width:44ch;margin-top:18px;color:#efe8d8}
.ouverture .actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.ouverture .btn{border-color:#e3c27d;color:#fbf7ee}
.ouverture .btn:hover{background:#e3c27d;color:#0d1226}
.ouverture .btn.plein-btn{background:#e3c27d;color:#0d1226;border-color:#e3c27d}
.ouverture .btn.plein-btn:hover{background:#fbf7ee}

/* manifeste */
.manifeste{text-align:center;padding-block:96px 80px;max-width:760px;margin:0 auto}
.manifeste h2{font-size:clamp(2rem,4.4vw,3.1rem);margin-top:18px}
.manifeste p{margin-top:24px;font-size:1.22rem;color:var(--gris)}
.trois{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:56px;text-align:center}
.trois > div{min-width:0}
.trois b{display:block;font-family:var(--display);font-style:italic;font-weight:400;font-size:1.6rem;color:var(--encre)}
.trois span{display:block;font-size:1rem;color:var(--gris);margin-top:6px}

/* façade */
.facade{background:#fdf8ee;border-block:1px solid var(--filet)}
.facade .in{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1.4fr .6fr;gap:48px;align-items:center;padding-block:56px}
.facade img{width:100%;display:block}
.facade .texte{color:#2a2420}
.facade .texte h2{font-size:clamp(1.8rem,3.4vw,2.5rem);font-style:italic;color:#6e3b25;margin-top:12px}
.facade .texte p{margin-top:16px;font-size:1.1rem;color:#5a4a40}
.facade .label{color:#a0602f}

/* mosaïque */
.tuiles{display:grid;grid-template-columns:repeat(4,1fr)}
.tuile{aspect-ratio:1/1;max-width:100%;display:flex;align-items:center;justify-content:center;text-decoration:none;overflow:hidden}
.tuile img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.tuile.dessin{background:#f6f1e6}
.tuile.dessin img{width:72%;height:72%;object-fit:contain}
.tuile:hover img{transform:scale(1.05)}
.tuile.mot{flex-direction:column;gap:12px}
.tuile.mot b{font-family:var(--display);font-weight:400;font-size:clamp(1.3rem,2.6vw,2.2rem);font-style:italic;text-align:center;padding:0 12px;line-height:1.1}
.tuile.mot small{font-family:var(--label);font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;opacity:.85}
.tuile.marine{background:#1c2950;color:#efe7d4}
.tuile.marine small{color:#e3c27d}
.tuile.or{background:#a57c2c;color:#fdf8ee}
.tuile.creme{background:#efe7d4;color:#1c2950}
.tuile.creme small{color:#a57c2c}

/* carte encadrée comme les menus */
.carte{padding-block:96px}
.cadre{position:relative;background:var(--carte);border:2px solid var(--marine);padding:10px}
:root[data-theme="dark"] .cadre{border-color:var(--or)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cadre{border-color:var(--or)}}
.cadre-in{border:1px solid var(--or);padding:clamp(28px,5vw,64px) clamp(18px,5vw,64px)}
.cadre::before,.cadre::after,.cadre-in::before,.cadre-in::after{content:"";position:absolute;width:26px;height:26px;background:var(--papier);border:2px solid var(--marine);border-radius:50%}
:root[data-theme="dark"] .cadre::before,:root[data-theme="dark"] .cadre::after,:root[data-theme="dark"] .cadre-in::before,:root[data-theme="dark"] .cadre-in::after{border-color:var(--or)}
.cadre::before{top:-14px;left:-14px}.cadre::after{top:-14px;right:-14px}.cadre-in::before{bottom:-14px;left:-14px}.cadre-in::after{bottom:-14px;right:-14px}
.entete-carte{text-align:center;margin-bottom:40px}
.entete-carte h2{font-size:clamp(2.2rem,5vw,3.6rem);margin-top:10px;color:var(--marine)}
:root[data-theme="dark"] .entete-carte h2{color:var(--encre)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .entete-carte h2{color:var(--encre)}}
.entete-carte p{font-style:italic;color:var(--gris);margin-top:8px}
.onglets{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 28px;margin:26px 0 48px}
.onglets button{background:none;border:0;border-bottom:1px solid transparent;color:var(--gris);font:500 .74rem var(--label);letter-spacing:.22em;text-transform:uppercase;padding:8px 2px;cursor:pointer}
.onglets button[aria-selected="true"]{color:var(--encre);border-color:var(--or)}
.blocs{columns:2 360px;column-gap:72px}
.bloc{break-inside:avoid;margin-bottom:44px}
.bloc h3{font-size:1.5rem;text-align:center;letter-spacing:.06em;font-variant:small-caps;color:var(--marine);margin-bottom:18px}
:root[data-theme="dark"] .bloc h3{color:var(--encre)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .bloc h3{color:var(--encre)}}
.bloc h3::after{content:"✦";display:block;font-size:.6rem;color:var(--or);margin-top:8px;letter-spacing:0}
.liste{list-style:none;padding:0;margin:0;display:grid;gap:13px}
.liste li{display:grid;grid-template-columns:1fr auto;gap:4px 14px;align-items:baseline}
.plat{min-width:0}
.plat b{font-weight:500;font-size:1.06rem}
.plat .desc{display:block;font-size:.93rem;font-style:italic;color:var(--gris);line-height:1.4}
.prix{white-space:nowrap;font-variant-numeric:tabular-nums lining-nums;font-family:var(--texte);font-size:1.05rem;color:var(--or);font-weight:500}
.tablewrap{overflow-x:auto}
.vins{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums lining-nums;font-size:1rem}
.vins th{font:500 .62rem var(--label);letter-spacing:.2em;text-transform:uppercase;color:var(--or);text-align:right;padding:0 0 8px 10px}
.vins td{padding:8px 0;border-bottom:1px dotted var(--filet)}
.vins td:not(:first-child){text-align:right;padding-left:12px;white-space:nowrap;color:var(--or)}
.petit{font-size:.9rem;color:var(--gris);margin-top:10px;font-style:italic}
.note{margin-top:8px;text-align:center;font-size:.98rem;color:var(--gris);font-style:italic}

/* groupes */
.groupes{background:var(--marine);color:var(--sur-marine)}
.groupes .in{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center;padding-block:96px}
.groupes img{width:100%;aspect-ratio:1/1;object-fit:cover;max-width:100%;display:block;outline:1px solid rgba(227,194,125,.6);outline-offset:10px}
.groupes .label{color:#e3c27d}
.groupes h2{font-size:clamp(2.2rem,4.8vw,3.4rem);font-style:italic;margin-top:14px}
.groupes p{margin-top:20px;font-size:1.15rem;color:#d7d5cf;max-width:48ch}
.formats{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:26px;font-family:var(--label);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#e3c27d}
.chiffre{display:flex;align-items:baseline;gap:14px;margin-top:30px}
.chiffre b{font-family:var(--display);font-weight:400;font-size:4.2rem;line-height:1;color:#e3c27d}
.chiffre span{font-size:1.05rem;color:#d7d5cf}
.groupes .btn{margin-top:30px;border-color:#e3c27d;color:#fbf7ee}
.groupes .btn:hover{background:#e3c27d;color:#0d1226}


/* histoire */
.histoire{padding-block:96px 88px}
.titre-h{text-align:center;max-width:720px;margin:0 auto 56px}
.titre-h h2{font-size:clamp(2.2rem,5vw,3.4rem);margin-top:12px;font-style:italic}
.titre-h .intro{margin-top:18px;font-size:1.2rem;color:var(--gris)}
.frise{list-style:none;margin:0 auto;padding:0;max-width:820px;position:relative}
.frise::before{content:"";position:absolute;left:150px;top:6px;bottom:6px;width:1px;background:var(--or);opacity:.6}
.frise li{display:grid;grid-template-columns:150px 1fr;column-gap:40px;padding-bottom:40px;position:relative}
.frise li::before{content:"";position:absolute;left:146px;top:10px;width:9px;height:9px;border-radius:50%;background:var(--papier);border:1px solid var(--or)}
.frise .date{grid-row:1/3;font-family:var(--label);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--or);padding-top:6px;padding-right:24px;text-align:right}
.frise h3{font-size:1.5rem;font-style:italic}
.frise p{color:var(--gris);margin-top:8px}
@media (max-width:640px){.frise::before{left:4px}.frise li{grid-template-columns:1fr;padding-left:28px}.frise li::before{left:0}.frise .date{grid-row:auto;text-align:left;padding:0 0 6px}}

/* privatisation */
.groupes .in{grid-template-columns:1fr 1fr!important;align-items:start!important}
.espaces{list-style:none;padding:0;margin:34px 0 0;display:grid;gap:22px}
.espaces li{display:grid;grid-template-columns:110px 1fr;gap:20px;align-items:baseline;border-top:1px solid rgba(227,194,125,.35);padding-top:18px}
.espaces b{font-family:var(--display);font-weight:400;font-size:2.6rem;line-height:1;color:#e3c27d}
.espaces b.h{font-size:1.5rem}
.espaces h3{font-size:1.3rem;font-style:italic;color:#fbf7ee}
.espaces p{margin-top:4px!important;font-size:1rem!important}
.formulaire{background:#f8f5ee;color:#1b223b;padding:clamp(22px,4vw,40px);outline:1px solid rgba(227,194,125,.6);outline-offset:10px}
.formulaire h3{font-size:1.6rem;font-style:italic;color:#1c2950;margin-bottom:22px}
.champs{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.champs label{display:flex;flex-direction:column;gap:6px;font:500 .64rem var(--label);letter-spacing:.18em;text-transform:uppercase;color:#5f6273;min-width:0}
.champs .large{grid-column:1/-1}
.champs input,.champs textarea,.champs select{font:400 1.02rem var(--texte);color:#1b223b;background:#fffdf8;border:1px solid #d8d0bd;border-radius:0;padding:10px 12px;width:100%;color-scheme:light}
.champs [aria-invalid="true"]{border-color:#9b2c1f}
.champs input:focus,.champs textarea:focus{outline:2px solid #a57c2c;outline-offset:0;border-color:#a57c2c}
.formulaire .btn{margin-top:22px;background:#1c2950;color:#f8f5ee;border-color:#1c2950}
.formulaire .btn:hover{background:#a57c2c;border-color:#a57c2c}
.erreur{color:#9b2c1f;font-size:.95rem;margin-top:14px}
.merci{color:#2e5a3a;margin-top:14px;font-style:italic}
@media (max-width:860px){.groupes .in{grid-template-columns:1fr!important}.champs{grid-template-columns:1fr}}


/* photo histoire */
.photo-h.archive{max-width:640px;background:#f3efe6;padding:16px 16px 18px;outline:1px solid #a57c2c;outline-offset:6px}
.photo-h.archive img{filter:sepia(.25) contrast(1.05)}
.photo-h.archive figcaption{color:#4a3f36}
.photo-h{margin:0 auto 56px;max-width:900px;background:#fdf8ee;padding:22px;outline:1px solid var(--filet)}
.photo-h img{display:block;width:100%}
.photo-h figcaption{text-align:center;font-style:italic;color:#6e3b25;margin-top:10px;font-size:1rem}

/* réservation */
.resa{border:0;padding:0;max-width:min(560px,calc(100vw - 24px));width:100%;background:#f8f5ee;color:#1b223b;outline:1px solid #a57c2c;outline-offset:-8px;max-height:calc(100dvh - 24px)}
.resa::backdrop{background:rgba(13,18,38,.72)}
.resa form{padding:clamp(24px,5vw,40px);position:relative}
.resa h2{font-size:1.9rem;font-style:italic;color:#1c2950;margin:8px 0 22px}
.fermer{position:absolute;top:10px;right:14px;background:none;border:0;font-size:1.9rem;line-height:1;color:#1c2950;cursor:pointer;padding:6px 10px}
.nb{border:0;padding:0;margin:0 0 20px}
.nb legend{font:500 .64rem var(--label);letter-spacing:.18em;text-transform:uppercase;color:#5f6273;margin-bottom:10px}
.pastilles{display:flex;flex-wrap:wrap;gap:8px}
.pastilles button{min-width:46px;height:46px;border:1px solid #d8d0bd;background:#fffdf8;color:#1b223b;font:500 1.05rem var(--texte);cursor:pointer;padding:0 12px}
.pastilles button[aria-pressed="true"]{background:#1c2950;color:#f8f5ee;border-color:#1c2950}
.groupe-info{margin-top:12px;font-size:.98rem;font-style:italic}
.groupe-info a{color:#a57c2c}
.resa select{font:400 1.02rem var(--texte);color:#1b223b;background:#fffdf8;border:1px solid #d8d0bd;border-radius:0;padding:10px 12px;width:100%;color-scheme:light}
.resa .btn{margin-top:20px;width:100%;background:#1c2950;color:#f8f5ee;border-color:#1c2950}
.resa .btn:hover{background:#a57c2c;border-color:#a57c2c}
.resa .btn[disabled]{opacity:.45;cursor:not-allowed}
@media (max-width:520px){.resa .champs{grid-template-columns:1fr}}

.retour{display:inline-block;font:500 .7rem var(--label);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:var(--or);margin-bottom:40px}
.retour:hover{text-decoration:underline}
.vue-histoire .histoire{padding-top:56px}

/* en-tête façon grande brasserie */
.entete .in{grid-template-columns:1fr auto 1fr!important}
.burger{justify-self:start;display:flex;align-items:center;gap:12px;background:none;border:0;color:var(--encre);font:500 .72rem var(--label);letter-spacing:.22em;text-transform:uppercase;cursor:pointer;padding:8px 0}
.barres{display:grid;gap:5px;width:24px}.barres i{display:block;height:1.5px;background:currentColor}
.tel-haut{display:flex;align-items:center;gap:8px;font-family:var(--texte);font-size:1rem;color:var(--encre);user-select:all}
.menu-plein{position:fixed;inset:0;z-index:20;background:#141d3d;color:#efe7d4;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:40px;
  padding:calc(70px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) calc(30px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));overflow:auto}
.menu-plein nav{display:flex;flex-direction:column;align-items:center;gap:14px}
.menu-plein nav a{font-family:var(--display);font-style:italic;font-size:clamp(1.9rem,5vw,3rem);text-decoration:none;line-height:1.15}
.menu-plein nav a:hover{color:#e3c27d}
.menu-bas{display:flex;gap:28px;flex-wrap:wrap;justify-content:center;font:500 .7rem var(--label);letter-spacing:.2em;text-transform:uppercase;color:#e3c27d}

/* bandeau des pages */
.bandeau{position:relative;color:#fbf7ee;background:#0d1226 url(../img/61c3cd24e5.webp) center/cover no-repeat;overflow:hidden}
.bandeau::before{content:"";position:absolute;inset:0;background:rgba(13,18,38,.66)}
.bandeau .in{position:relative;max-width:1120px;margin:0 auto;padding-block:40px 56px;text-align:center}
.bandeau .retour{color:#e3c27d;margin-bottom:26px}
.bandeau .label{color:#e3c27d}
.bandeau h1{font-size:clamp(2.6rem,7vw,4.8rem);font-style:italic;margin-top:10px}
.bandeau .sous{margin-top:12px;font-size:1.15rem;color:#e6e0d2}
.vue .carte{padding-top:64px}
.vue .infos{padding-top:72px}

/* barre de réservation toujours visible, comme chez Georges */
.flottant{display:block!important;left:50%;right:auto!important;transform:translateX(-50%)}
.flottant .btn{padding:15px 30px}
footer{padding-bottom:110px}
@media (max-width:860px){.tel-haut .num{display:none}.burger span:not(.barres){display:none}.mot-marque{text-align:center!important}.entete .in{grid-template-columns:auto 1fr auto!important}}


/* ouverture v2 : photo entière, texte dessous sur téléphone */
.ouverture{min-height:0!important;display:block!important;background:#141d3d}
.ouverture img{position:relative!important;inset:auto!important;display:block;width:100%;height:auto!important;aspect-ratio:1214/760;max-height:72vh;object-fit:cover;opacity:1!important}
.ouverture::after{display:none}
.ouverture .in{padding-block:40px 48px!important}
@media (min-width:861px){
  .ouverture{position:relative}
  .ouverture::after{display:block;content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,18,38,0) 35%,rgba(13,18,38,.85) 100%)}
  .ouverture .in{position:absolute!important;left:0;right:0;bottom:0;z-index:1;padding-inline:max(16px,env(safe-area-inset-left,0px))}
}
@media (max-width:860px){
  .ouverture .in{text-align:center}
  .ouverture h1{font-size:2.3rem!important;max-width:none!important}
  .ouverture p{font-size:1.08rem!important;margin-inline:auto}
  .ouverture .actions{justify-content:center}
  .ouverture .actions .btn{flex:1 1 200px}
  .tuile.mot b{font-size:1.25rem}
  .tuile.mot small{font-size:.56rem;letter-spacing:.22em}
}


/* téléphone : barre de réservation pleine largeur, ouverture plus courte */
.flottant .btn{white-space:nowrap}
@media (max-width:860px){
  .flottant{left:0!important;right:0!important;bottom:0!important;transform:none!important;padding:10px max(12px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));background:var(--papier);border-top:1px solid var(--filet)}
  .flottant .btn{display:block;width:100%;text-align:center;box-shadow:none}
  .ouverture .in{padding-block:26px 30px!important}
  .ouverture .label{display:none}
  .ouverture h1{font-size:1.9rem!important;margin-top:0!important}
  .ouverture p{display:none}
  .ouverture .actions{margin-top:20px!important}
  .ouverture .actions .plein-btn{display:none}
}


/* menu tiroir qui glisse depuis la gauche */
.menu-plein{inset:0 auto 0 0!important;width:min(340px,84vw);justify-content:flex-start!important;align-items:flex-start!important;gap:34px!important;
  padding:calc(78px + env(safe-area-inset-top,0px)) 32px calc(30px + env(safe-area-inset-bottom,0px)) max(32px,env(safe-area-inset-left,0px))!important;
  z-index:30!important;box-shadow:12px 0 40px -20px rgba(0,0,0,.6);animation:glisse .32s ease-out}
.menu-plein nav{align-items:flex-start!important;gap:10px!important}
.menu-plein nav a{font-size:1.75rem!important}
.menu-bas{flex-direction:column;gap:8px!important;justify-content:flex-start!important}
.fermer-menu{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));right:16px;background:none;border:0;color:#efe7d4;font-size:2.2rem;line-height:1;cursor:pointer;padding:6px 10px}
.voile{position:fixed;inset:0;z-index:29;background:rgba(10,14,30,.55);animation:fondu .3s ease-out}
@keyframes glisse{from{transform:translateX(-100%)}to{transform:none}}
@keyframes fondu{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.menu-plein,.voile{animation:none}}
.entete.ouvert{background:var(--papier)!important;border-color:var(--filet)!important}
.entete.ouvert .burger,.entete.ouvert .tel-haut,.entete.ouvert .langue{color:var(--encre)!important}
.entete.ouvert .btn{display:inline-block!important}

/* photo d'ouverture moins haute (30 % de moins) */
.ouverture img{aspect-ratio:1214/530!important;max-height:52vh!important;object-position:center 55%}


/* carte façon grande brasserie : une rubrique à la fois */
.carte .cadre-in{padding-top:28px!important}
.bande-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0 0 28px}
.bande-photos img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;max-width:100%}
.tous{text-align:center;margin-bottom:36px}
.toutes-cartes{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}
.toutes-cartes button{background:none;border:1px solid var(--filet);color:var(--encre);font:400 1rem var(--texte);padding:8px 14px;cursor:pointer}
.toutes-cartes button[aria-current="true"]{border-color:var(--or);color:var(--or)}
.navcat{display:grid;grid-template-columns:44px 1fr 44px;align-items:start;gap:8px}
.fleche{position:sticky;top:120px;background:none;border:0;color:var(--or);font-family:var(--display);font-size:3rem;line-height:1;cursor:pointer;padding:0;height:60px}
.cats{min-width:0;max-width:640px;margin:0 auto;width:100%}
.cat-titre{text-align:center;font-size:clamp(2rem,6vw,3rem);font-style:italic;color:var(--or)!important;margin-bottom:26px}
.cat .bloc{margin-bottom:34px}
.cat.seule .bloc > h3{display:none}
.cat .bloc h3{text-align:left!important;font-variant:normal!important;text-transform:uppercase;font-family:var(--label)!important;font-size:.82rem!important;letter-spacing:.2em!important;font-weight:500;color:var(--encre)!important;border-bottom:1px solid var(--filet);padding-bottom:8px}
.cat .bloc h3::after{display:none!important}
.compteur{text-align:center;font:500 .66rem var(--label);letter-spacing:.24em;text-transform:uppercase;color:var(--gris);margin-top:6px}
@media (max-width:640px){.navcat{grid-template-columns:30px 1fr 30px;gap:4px}.fleche{font-size:2.4rem;top:90px}.bande-photos{margin-inline:-8px}}

/* infos */
.infos{padding-block:96px 72px}
.infos .titre{text-align:center;margin-bottom:56px}
.infos .titre h2{font-size:clamp(2.1rem,4.6vw,3.2rem);margin-top:12px}
.trois-col{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}
.trois-col > div{min-width:0;text-align:center}
.trois-col h3{font-size:1.25rem;font-variant:small-caps;letter-spacing:.06em;margin-bottom:14px;color:var(--or)}
.horaires{margin:0 auto;border-collapse:collapse;font-variant-numeric:tabular-nums lining-nums}
.horaires td{padding:4px 8px;text-align:left;vertical-align:top}
.horaires td:last-child{text-align:right;color:var(--gris)}
.selection{user-select:all}
footer{border-top:1px solid var(--filet);padding-block:28px 96px;text-align:center;font-family:var(--label);font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gris)}

.flottant{position:fixed;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:6}
.flottant .btn{background:var(--marine);color:#f8f5ee;border-color:var(--or);box-shadow:0 12px 26px -14px rgba(0,0,0,.6)}

@media (max-width:860px){
  .entete .in{grid-template-columns:1fr auto}
  .entete nav.gauche{display:none}
  .mot-marque{text-align:left}
  .droite .btn{display:none}
  .trois,.trois-col{grid-template-columns:1fr;gap:28px}
  .facade .in,.groupes .in{grid-template-columns:1fr}
  .tuiles{grid-template-columns:repeat(2,1fr)}
  .ouverture{min-height:560px}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tuile img,.btn{transition:none}}
.bas-cat{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-top:26px;border-top:1px solid var(--filet);padding-top:18px}.bas-btn{background:none;border:0;cursor:pointer;color:var(--or);font-family:var(--display);font-style:italic;font-size:1.15rem;line-height:1.2;padding:8px 0}#bas-prec{text-align:left}#bas-suiv{text-align:right}.bas-cat .compteur{margin:0}
.piege{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.rgpd{font-size:.86rem;color:#5f6273;margin-top:14px;font-style:italic;line-height:1.4}.rgpd a{color:#a57c2c}
footer a{color:inherit}footer .pied-liens{display:block;margin-top:8px}
.mentions{max-width:760px;margin:0 auto;padding-block:56px 80px}.mentions h2{font-size:1.6rem;font-style:italic;margin:34px 0 10px;color:var(--marine)}
:root[data-theme="dark"] .mentions h2{color:var(--encre)}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .mentions h2{color:var(--encre)}}
.mentions p{margin-top:8px;color:var(--encre)}.mentions .a-remplir{background:#fff3c4;color:#5a4300;padding:0 4px}
.toutes-cartes{position:sticky;top:var(--haut-entete,70px);z-index:4;background:var(--carte);margin:0 -4px 28px;padding:10px 4px;border-bottom:1px solid var(--filet)}
.toutes-cartes button{white-space:nowrap}
.toutes-cartes button[aria-current="true"]{background:var(--marine);border-color:var(--marine)!important;color:#f8f5ee!important}
:root[data-theme="dark"] .toutes-cartes button[aria-current="true"]{background:var(--or);color:#0f1326!important}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .toutes-cartes button[aria-current="true"]{background:var(--or);color:#0f1326!important}}
@media (max-width:640px){.toutes-cartes{flex-wrap:nowrap!important;justify-content:flex-start!important;overflow-x:auto;scrollbar-width:none;margin-inline:-18px;padding-inline:14px}.toutes-cartes::-webkit-scrollbar{display:none}.toutes-cartes{-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}.toutes-cartes button{font-size:.95rem!important;padding:7px 12px!important}}
.bande-photos{margin-top:36px}
@media (min-width:641px){.ouverture .in{padding-block:0 34px!important;max-width:1120px;margin:0 auto}
.ouverture h1{font-size:clamp(2.2rem,3.6vw,3.4rem)!important;max-width:22ch!important;margin-top:8px!important}
.ouverture p{font-size:1.08rem!important;margin-top:12px!important}.ouverture .actions{margin-top:20px!important}
.ouverture img{max-height:60vh!important;min-height:440px}}
.lieux{background:var(--papier)}.lieux .in{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1.6fr 1fr;gap:18px;padding-block:40px}
.lieu{margin:0;position:relative;overflow:hidden;background:#0d1226}.lieu img{display:block;width:100%;height:100%;min-height:300px;object-fit:cover}
.lieu figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 18px 16px;background:linear-gradient(180deg,transparent,rgba(13,18,38,.85));color:#fbf7ee}
.lieu figcaption b{display:block;font-family:var(--display);font-weight:400;font-style:italic;font-size:1.5rem}.lieu figcaption span{font-size:.98rem;color:#e7dfcc}
@media (max-width:700px){.lieux .in{grid-template-columns:1fr;padding-block:24px;gap:12px}.lieu img{min-height:0;aspect-ratio:4/3}}
[hidden]{display:none!important}

/* --- ajouts : nettoyage des styles en ligne --- */
.img-pav{object-fit:contain!important;background:#fdf8ee;padding:8%}
.metro{color:var(--gris);margin-top:10px!important;font-size:1rem}
.gros-tel{font-family:var(--display);font-size:1.6rem}
.mail{margin-top:6px!important}
.mt16{margin-top:16px}
.centre-btn{text-align:center;margin-top:24px}
.tel-haut{text-decoration:none}
.tel-haut:hover .num{text-decoration:underline}
.selection a,.menu-bas a{text-decoration:none}
.selection a:hover,.menu-bas a:hover{text-decoration:underline}
.itineraire{display:inline-block;margin-top:12px;font:500 .7rem var(--label);letter-spacing:.2em;text-transform:uppercase;color:var(--or);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
/* sur ordinateur, le bouton « Réserver » de l'en-tête suffit : plus de bouton flottant au milieu de la page */
@media (min-width:861px){.flottant{display:none!important}footer{padding-bottom:28px}}
/* page 404 */
.p404{max-width:640px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:18px;padding:40px 0}
.p404 h1{font-size:clamp(2.2rem,6vw,3.4rem);font-style:italic;color:var(--marine)}
.p404 p{color:var(--gris)}.p404 .btn{margin:6px}.p404-tel a{color:var(--or)}
@media (max-width:860px){.mot-marque b{font-size:1.2rem;white-space:nowrap;letter-spacing:.04em}}
@media (max-width:340px){.mot-marque b{font-size:1.02rem}}
form.envoye .nb,form.envoye .champs,form.envoye .rgpd,form.envoye [type=submit],form.envoye .erreur,form.envoye .piege{display:none!important}
form.envoye .merci{font-size:1.2rem;font-style:normal;line-height:1.55;color:#1f4a2c;background:#e7efe4;border:1px solid #2e5a3a;padding:20px 22px;margin-top:6px}
form.envoye .merci .btn{margin-top:18px;width:100%}
