/* Il Maestro — genere le 202609052228. Source : atelier/gabarits/style.css */
/* ═══════════════════════════════════════════════════════════════════
   IL MAESTRO — feuille de style unique.
   Charte reprise du theme de reference : blanc franc, noir franc, un seul
   gris chaud pour les filets, et Poppins des titres au courant. Rien ne
   porte la couleur — la hierarchie tient a la graisse, aux capitales
   espacees et au blanc ; ce sont les photos qui donnent le ton.
   Site en clair uniquement, volontairement : pas de variante sombre.

   Les noms de variables sont d'avant la refonte (--laurier, --laiton,
   --serif). Ils sont conserves tels quels : les gabarits de reservation
   de hcr-facile chargent cette feuille et les appellent par ces noms,
   un renommage casserait le widget sans rien apporter ici.
   ═══════════════════════════════════════════════════════════════════ */

@font-face{font-family:'Poppins';font-style:italic;font-weight:400;font-display:swap;src:url('/polices/poppins-400-italique-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Poppins';font-style:italic;font-weight:400;font-display:swap;src:url('/polices/poppins-400-italique-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:300;font-display:swap;src:url('/polices/poppins-300-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:300;font-display:swap;src:url('/polices/poppins-300-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url('/polices/poppins-400-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url('/polices/poppins-400-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url('/polices/poppins-500-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url('/polices/poppins-500-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url('/polices/poppins-600-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url('/polices/poppins-600-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url('/polices/poppins-700-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url('/polices/poppins-700-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

:root{
  /* Blanc et noir francs, comme la reference. --papier et --blanc sont
     desormais identiques : les cartes se detachent par leur filet, pas
     par un fond distinct. */
  --papier:#ffffff;
  --blanc:#ffffff;
  --creux:#f4f4f1;
  --encre:#000000;
  --texte:#1c1c1c;
  --doux:#5c5c5c;
  --tres-doux:#6d6d68;
  --trait:#e0e0db;        /* le gris chaud de la reference */
  --trait-fort:#c9c9c2;

  /* Palette monochrome : les deux accents historiques pointent sur le noir.
     Ce qui les distinguait — le vert des liens, l'or des prix — passe
     desormais par la graisse et les capitales. */
  --laurier:#000000;
  --laurier-clair:#f4f4f1;
  --laiton:#000000;
  --laiton-clair:#f4f4f1;

  --sans:"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:var(--sans);

  --marge:clamp(1.15rem,5vw,4rem);
  --bandeau-haut:4.2rem;
  --colonne:min(72rem,100%);
  --respire:clamp(3.5rem,9vw,7rem);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth; scroll-padding-top:5.5rem;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{animation:none !important; transition:none !important;}
}

body{
  margin:0;
  background:var(--papier);
  color:var(--texte);
  font-family:var(--sans);
  font-size:1.0625rem;
  /* Poppins a un oeil large : il lui faut plus d'interligne que Karla. */
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}

/* Une geometrique en maigre tient les grands corps sans peser ; c'est ce
   maigre, et non un empattement, qui fait l'elegance du theme repris. */
h1,h2,h3{font-family:var(--serif); color:var(--encre); font-weight:300;
         text-wrap:balance; margin:0; line-height:1.2;}
h1{font-size:clamp(2.3rem,6.6vw,3.7rem); letter-spacing:-.02em;}
h2{font-size:clamp(1.7rem,4vw,2.45rem); letter-spacing:-.015em;}
/* Le h3 descend trop bas pour le maigre : il repasse en capitales serrees,
   dans l'esprit des intertitres de la carte. */
h3{font-size:clamp(1.05rem,2.1vw,1.22rem); line-height:1.3; font-weight:500;
   letter-spacing:.02em;}
p{margin:0;}
img{max-width:100%; height:auto; display:block;}
a{color:var(--laurier); text-underline-offset:.18em; text-decoration-thickness:1px;}
a:hover{color:var(--laiton);}
:focus-visible{outline:2px solid var(--laurier); outline-offset:3px; border-radius:2px;}

.surtitre{
  font-size:.72rem; font-weight:600; letter-spacing:.22em; text-transform:uppercase;
  color:var(--laiton); margin:0;
}
.chapeau{font-size:clamp(1.05rem,2.1vw,1.2rem); line-height:1.6; color:var(--doux); max-width:46ch;}
.discret{font-size:.9rem; color:var(--doux);}

/* ── Ossature ─────────────────────────────────────────────────── */
.contenu{width:var(--colonne); margin-inline:auto; padding-inline:var(--marge);}
.etroit{max-width:64ch;}
section{padding-block:var(--respire);}
section.liseré{padding-block:clamp(1.5rem,3.5vw,2.6rem);}
.pile{display:flex; flex-direction:column; gap:1.15rem;}
.pile-large{display:flex; flex-direction:column; gap:2.2rem;}

/* ── Passage direct au contenu ────────────────────────────────── */
.evitement{
  position:absolute; left:-9999px; top:0; background:var(--encre); color:var(--papier);
  padding:.7rem 1.1rem; z-index:100; border-radius:0 0 3px 0;
}
.evitement:focus{left:0; color:var(--papier);}

/* ── En-tête ──────────────────────────────────────────────────── */
.bandeau{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid var(--trait);
}
.bandeau-interieur{
  width:var(--colonne); margin-inline:auto; padding:.85rem var(--marge);
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem;
}
.marque{
  display:inline-flex; align-items:center; gap:.75rem;
  font-family:var(--serif); font-size:1.22rem; letter-spacing:.3em;
  color:var(--encre); text-decoration:none; white-space:nowrap;
}
/* La hauteur est fixee, la largeur suit : l'embleme est fourni en 2x (92 px)
   pour rester net sur les ecrans fins. */
.marque img{height:2.9rem; width:auto; display:block; flex:none;}
.marque:hover{color:var(--laurier);}
.navigation{display:flex; align-items:center; gap:clamp(.85rem,2.2vw,1.7rem); flex-wrap:wrap;}
.navigation a{
  font-size:.82rem; font-weight:600; letter-spacing:.11em; text-transform:uppercase;
  color:var(--texte); text-decoration:none; padding-block:.25rem;
  border-bottom:1px solid transparent;
}
.navigation a:hover{color:var(--encre); border-bottom-color:var(--laiton);}
.navigation a[aria-current="page"]{color:var(--encre); border-bottom-color:var(--encre);}

@media (max-width:52rem){
  .bandeau-interieur{
    flex-direction:column; align-items:stretch; gap:.55rem; padding-bottom:.55rem;
  }
  .marque{justify-content:center; gap:.6rem; font-size:1.1rem;}
  .marque img{height:2.3rem;}
  .navigation{
    justify-content:flex-start; flex-wrap:nowrap; gap:1.1rem;
    overflow-x:auto; scrollbar-width:none; padding-bottom:.15rem;
    margin-inline:calc(-1 * var(--marge)); padding-inline:var(--marge);
  }
  .navigation::-webkit-scrollbar{display:none;}
  .navigation a{white-space:nowrap; font-size:.78rem;}
}

/* ── Sélecteur de langue ──────────────────────────────────────── */
/* Les drapeaux sont des emoji : aucun fichier a charger, aucun droit
   d'image a verifier, et ils suivent la police du systeme. */
.langues{display:inline-flex; align-items:center; gap:.35rem; margin-left:.6rem;}
.langues a{
  font-size:1rem; line-height:1; text-decoration:none; padding:.15rem .1rem;
  border-bottom:2px solid transparent; opacity:.55; filter:grayscale(1);
  transition:opacity .15s ease, filter .15s ease;
}
.langues a:hover{opacity:1; filter:none;}
/* La langue courante seule est en couleur : on voit d'un coup ou l'on est. */
.langues a[aria-current]{opacity:1; filter:none; border-bottom-color:var(--laiton);}

/* ── Boutons ──────────────────────────────────────────────────── */
.boutons{display:flex; flex-wrap:wrap; gap:.7rem;}
.bouton{
  display:inline-flex; align-items:center; gap:.5rem;
  font-family:var(--sans); font-size:.83rem; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase; text-decoration:none;
  padding:.78rem 1.35rem; border:1px solid var(--laurier); border-radius:2px;
  background:var(--laurier); color:var(--papier);
  transition:background .18s ease, color .18s ease, border-color .18s ease;
}
.bouton:hover{background:var(--encre); border-color:var(--encre); color:var(--papier);}
.bouton.creux{background:transparent; color:var(--laurier);}
.bouton.creux:hover{background:var(--laurier); color:var(--papier);}
.bouton.clair{border-color:var(--papier); background:transparent; color:var(--papier);}
.bouton.clair:hover{background:var(--papier); color:var(--encre);}

/* ── Ouverture ────────────────────────────────────────────────── */
.ouverture{
  display:grid; gap:clamp(2rem,5vw,4rem); align-items:center;
  padding-block:clamp(2.5rem,7vw,5rem) var(--respire);
}
@media (min-width:56rem){ .ouverture{grid-template-columns:1.05fr .95fr;} }
.ouverture-texte{display:flex; flex-direction:column; gap:1.5rem;}
.ouverture h1 .italique{font-style:italic;}
.ouverture-image{position:relative;}
.ouverture-image img{
  width:100%; border-radius:2px;
  aspect-ratio:4/5; object-fit:cover;
  box-shadow:0 1px 2px rgba(0,0,0,.06), 0 24px 48px -28px rgba(0,0,0,.28);
}
.legende-image{
  position:absolute; left:0; bottom:-1.9rem;
  font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--tres-doux);
}

/* ── Filet de séparation ──────────────────────────────────────── */
.filet{border:0; height:1px; background:var(--trait); margin:0;}
.ornement{
  display:flex; align-items:center; gap:1rem; color:var(--trait-fort);
}
.ornement::before,.ornement::after{content:""; flex:1; height:1px; background:var(--trait);}
.ornement span{
  font-size:.7rem; letter-spacing:.24em; text-transform:uppercase; color:var(--laiton);
}

/* ── Cartes de rubrique ───────────────────────────────────────── */
.grille{display:grid; gap:clamp(1.5rem,3.5vw,2.5rem);}
.grille.deux{grid-template-columns:repeat(auto-fit,minmax(min(20rem,100%),1fr));}
.grille.trois{grid-template-columns:repeat(auto-fit,minmax(min(16rem,100%),1fr));}

.rubrique{
  display:flex; flex-direction:column; gap:1rem;
  background:var(--blanc); border:1px solid var(--trait); border-radius:2px;
  overflow:hidden;
}
.rubrique img{aspect-ratio:3/2; object-fit:cover; width:100%;}
.rubrique-corps{display:flex; flex-direction:column; gap:.85rem; padding:1.4rem 1.5rem 1.6rem;}
.rubrique h3{font-size:1.3rem;}

.atout{display:flex; flex-direction:column; gap:.5rem;}
.atout h3{font-family:var(--sans); font-size:.86rem; font-weight:700;
          letter-spacing:.13em; text-transform:uppercase; color:var(--encre);}
.atout p{font-size:.97rem; color:var(--doux);}

/* ── Bandeau sombre d'appel ───────────────────────────────────── */
.appel{background:var(--encre); color:#dcdcd7;}
.appel h2{color:var(--papier);}
.appel .surtitre{color:var(--laiton-clair);}
.appel a:not(.bouton){color:var(--laiton-clair);}

/* ── La carte du restaurant ───────────────────────────────────── */
.sommaire-carte{
  display:flex; flex-wrap:wrap; gap:.4rem .5rem;
  padding:1.1rem 0; border-block:1px solid var(--trait);
}
.sommaire-carte a{
  font-size:.75rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  text-decoration:none; color:var(--doux);
  padding:.32rem .7rem; border:1px solid var(--trait); border-radius:100px;
  background:var(--blanc);
}
.sommaire-carte a:hover{color:var(--encre); border-color:var(--laiton); background:var(--laiton-clair);}

.section-carte{padding-block:clamp(2rem,4vw,2.8rem); border-bottom:1px solid var(--trait);}
.section-carte:last-of-type{border-bottom:0;}
.section-carte h2{margin-bottom:1.4rem;}

.plats{display:flex; flex-direction:column; gap:1.05rem; list-style:none; margin:0; padding:0;}
.plats.boissons{gap:.62rem;}
.plat{display:grid; grid-template-columns:1fr auto; gap:.3rem .9rem; align-items:baseline;}
.plat-nom{font-size:1.03rem; color:var(--encre); font-weight:500;}
.plats.boissons .plat-nom{font-size:.98rem; font-weight:400;}
.plat-prix{
  font-variant-numeric:tabular-nums; font-weight:600; font-size:.98rem;
  color:var(--laiton); white-space:nowrap;
}
.plat-detail{grid-column:1/-1; font-size:.9rem; line-height:1.5; color:var(--doux); max-width:52ch;}

/* Les vins : un tableau, parce que ce sont vraiment des colonnes de prix. */
.cadre-table{overflow-x:auto; border:1px solid var(--trait); border-radius:2px; background:var(--blanc);}
table{width:100%; border-collapse:collapse; font-size:.94rem; min-width:26rem;}
caption{
  text-align:left; padding:.9rem 1rem .55rem; font-family:var(--sans);
  font-size:.74rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:var(--laiton);
}
th,td{padding:.55rem 1rem; border-bottom:1px solid var(--trait); text-align:right;}
th:first-child,td:first-child{text-align:left;}
thead th{
  font-size:.68rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  color:var(--doux); background:var(--creux); border-bottom:1px solid var(--trait-fort);
}
tbody td{font-variant-numeric:tabular-nums;}
tbody tr:last-child td{border-bottom:0;}
td.absent{color:var(--tres-doux);}

/* ── Formule du jour ──────────────────────────────────────────── */
.formule{
  background:var(--laurier); color:#e4e4df; border-radius:2px;
  padding:clamp(1.8rem,4vw,2.8rem);
  display:flex; flex-direction:column; gap:1.5rem;
}
.formule h2{color:#fff;}
.formule .surtitre{color:#d8d8d3;}
.formule-choix{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.1rem;}
.formule-choix li{
  display:flex; justify-content:space-between; align-items:baseline; gap:1.5rem;
  padding:.85rem 0; border-bottom:1px solid rgba(255,255,255,.16);
}
.formule-choix li:last-child{border-bottom:0;}
.formule-choix .prix{
  font-family:var(--sans); font-size:1.45rem; font-weight:600; color:#fff;
  font-variant-numeric:tabular-nums; white-space:nowrap;
}

/* ── Encadrés ─────────────────────────────────────────────────── */
.encadre{
  background:var(--blanc); border:1px solid var(--trait);
  border-left:3px solid var(--laiton); border-radius:2px;
  padding:1.15rem 1.35rem; display:flex; flex-direction:column; gap:.6rem;
}
.encadre .surtitre{color:var(--laiton);}

/* L'avertissement de langue des mentions legales. --texte sur --creux,
   et non --doux : c'est une information, pas une note de bas de page,
   et le contraste doit passer le controle AA. */
.avert{
  background:var(--creux); border-left:3px solid var(--trait-fort);
  border-radius:2px; padding:.7rem .95rem; margin-block:.9rem;
  color:var(--texte); font-size:.94rem;
}

/* ── Horaires ─────────────────────────────────────────────────── */
.horaires{list-style:none; margin:0; padding:0; display:flex; flex-direction:column;}
.horaires li{
  display:grid; grid-template-columns:6.5rem 1fr; gap:.4rem 1rem;
  padding:.55rem 0; border-bottom:1px solid var(--trait); font-size:.96rem;
}
.horaires li:last-child{border-bottom:0;}
.horaires .jour{font-weight:600; color:var(--encre);}
.horaires .services{color:var(--doux); font-variant-numeric:tabular-nums;}
.horaires .ferme{color:var(--tres-doux); font-style:italic;}

/* ── Coordonnées ──────────────────────────────────────────────── */
.coordonnees{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:1.15rem;}
.coordonnees li{display:flex; flex-direction:column; gap:.15rem;}
.coordonnees .etiquette{
  font-size:.7rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  color:var(--tres-doux);
}
.coordonnees a,.coordonnees span{font-size:1.05rem; color:var(--encre); text-decoration:none;}
.coordonnees a:hover{color:var(--laurier); text-decoration:underline;}

/* ── Galerie ──────────────────────────────────────────────────── */
.galerie{
  display:grid; gap:.75rem;
  grid-template-columns:repeat(auto-fill,minmax(min(15rem,100%),1fr));
}
.galerie figure{margin:0; position:relative; background:var(--creux);}
.galerie img{width:100%; height:100%; object-fit:cover; aspect-ratio:4/5; border-radius:2px;}
.galerie figcaption{
  font-size:.78rem; color:var(--doux); padding-top:.5rem; line-height:1.45;
}
.galerie .large{grid-column:span 2;}
.galerie .large img{aspect-ratio:3/2;}
@media (max-width:32rem){ .galerie .large{grid-column:span 1;} .galerie .large img{aspect-ratio:4/5;} }

/* ── Pied de page ─────────────────────────────────────────────── */
.pied{background:var(--encre); color:#a3a39d; padding-block:clamp(2.8rem,6vw,4rem);
      font-size:.94rem;}
.pied a{color:#d6d6d1; text-decoration:none;}
.pied a:hover{color:#fff; text-decoration:underline;}
.pied-grille{display:grid; gap:2.2rem; grid-template-columns:repeat(auto-fit,minmax(min(14rem,100%),1fr));}
.pied h2{font-size:1.15rem; letter-spacing:.28em; text-indent:.28em; color:var(--papier);}
.pied .titre-colonne{
  font-size:.7rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  color:#85857f; margin-bottom:.7rem;
}
.pied ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.4rem;}
.pied-bas{
  margin-top:2.5rem; padding-top:1.4rem; border-top:1px solid #2e2e2e;
  display:flex; flex-wrap:wrap; gap:.6rem 1.6rem; justify-content:space-between;
  font-size:.82rem; color:#85857f;
}

/* Le cadenas du pied : une cible de 44 px pour le pouce, alors que le
   dessin n'en fait que 13. Sans ce rembourrage, l'icone serait juste mais
   impossible a viser sur un telephone. */
.cadenas{
  display:inline-flex; align-items:center; justify-content:center;
  width:1.5rem; height:1.5rem; margin:-.55rem 0;
  padding:.55rem; box-sizing:content-box;
  color:#85857f; text-decoration:none;
}
.cadenas:hover{color:#fff;}
.cadenas svg{display:block;}

/* ── Bandeau de préproduction ─────────────────────────────────── */
.preproduction{
  background:var(--laiton); color:#fff; text-align:center;
  padding:.5rem var(--marge); font-size:.8rem; letter-spacing:.04em;
}
.preproduction a{color:#fff; text-decoration:underline;}

@media print{
  .bandeau,.preproduction,.boutons,.sommaire-carte{display:none;}
  body{background:#fff; font-size:10.5pt;}
  .section-carte{page-break-inside:avoid;}
}
