/* ==========================================================================
   Basic Frite — feuille de style
   Couleurs inspirées de l'enseigne : orange néon sur façade sombre
   ========================================================================== */
/* ----- Polices hébergées sur le site (aucune connexion à Google) ----- */
@font-face { font-family: "Anton"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/anton-400.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/source-sans-3-400.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/source-sans-3-600.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/source-sans-3-700.woff2") format("woff2"); }

:root {
  --fond: #16110d;
  --fond-2: #211a14;
  --carte: #2b221a;
  --texte: #f6efe5;
  --texte-doux: #cfc3b3;
  --orange: #ff9d1c;
  --jaune: #ffc93c;
  --brique: #b4472a;
  --vert: #5fd38a;
  --rouge: #ff6b5a;
  --bord: rgba(255, 201, 60, .18);
  --rayon: 14px;
  --titre: "Anton", "Impact", "Arial Narrow", sans-serif;
  --corps: "Source Sans 3", system-ui, -apple-system, "Segoe UI", sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 72px; }
body {
  margin: 0; background: var(--fond); color: var(--texte);
  font: 400 1.0625rem/1.6 var(--corps);
  -webkit-font-smoothing: antialiased;
  padding-bottom: 68px; /* place pour la barre mobile */
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--jaune); }
a:focus-visible, .btn:focus-visible { outline: 3px solid var(--jaune); outline-offset: 3px; }
h1, h2, h3 { font-family: var(--titre); font-weight: 400; letter-spacing: .02em; line-height: 1.05; margin: 0 0 .6em; text-transform: uppercase; }
h2 { font-size: clamp(2rem, 6vw, 3rem); color: var(--jaune); }
h3 { font-size: 1.4rem; }
p { margin: 0 0 1em; }

.wrap { width: min(1120px, 100% - 32px); margin-inline: auto; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: 8px; top: -60px; background: var(--jaune); color: #1a1208; padding: 8px 14px; border-radius: 8px; z-index: 100; font-weight: 700; }
.skip:focus { top: 8px; }
.a-preciser { color: var(--texte-doux); font-style: italic; border-bottom: 1px dashed currentColor; }
.surtitre { font-weight: 700; text-transform: uppercase; letter-spacing: .14em; font-size: .8rem; color: var(--orange); margin-bottom: .5em; }

/* ----- Boutons ----- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .4em;
  min-height: 48px; padding: .7em 1.4em; border-radius: 999px;
  background: var(--jaune); color: #1a1208; font-weight: 700; text-decoration: none;
  border: 2px solid var(--jaune); transition: transform .15s, background .15s;
}
.btn:hover { transform: translateY(-2px); background: var(--orange); border-color: var(--orange); }
.btn--ghost { background: transparent; color: var(--texte); border-color: rgba(246, 239, 229, .5); }
.btn--ghost:hover { background: rgba(255, 255, 255, .08); border-color: var(--texte); }
.btn--petit { min-height: 42px; padding: .5em 1.1em; font-size: .95rem; }
[aria-disabled="true"] { opacity: .55; pointer-events: none; }

/* ----- Bandeau fermeture ----- */
.bandeau { background: var(--brique); color: #fff; text-align: center; padding: .7em 16px; margin: 0; font-weight: 600; }
.bandeau p { margin: 0; }

/* ----- En-tête ----- */
.entete { position: sticky; top: 0; z-index: 50; background: rgba(22, 17, 13, .92); backdrop-filter: blur(8px); border-bottom: 1px solid var(--bord); }
.entete__in { display: flex; align-items: center; gap: 16px; min-height: 64px; }
.logo { font-family: var(--titre); font-size: 1.6rem; text-transform: uppercase; color: var(--orange); text-decoration: none; text-shadow: 0 0 18px rgba(255, 157, 28, .55); letter-spacing: .03em; }
.entete nav { margin-left: auto; }
.nav { display: none; list-style: none; margin: 0; padding: 0; gap: 28px; }
.nav a { color: var(--texte); text-decoration: none; font-weight: 600; }
.nav a:hover { color: var(--jaune); }
.entete__tel { margin-left: auto; }

/* ----- Hero ----- */
.hero { position: relative; min-height: min(88vh, 760px); display: flex; align-items: flex-end; overflow: hidden; isolation: isolate; }
.hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 30%; z-index: -2; }
.hero__voile { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(22,17,13,.15) 0%, rgba(22,17,13,.55) 45%, var(--fond) 96%); }
.hero__txt { padding: 120px 0 56px; }
.hero h1 { font-size: clamp(2.6rem, 12.5vw, 7.5rem); color: var(--orange); text-shadow: 0 0 30px rgba(255, 157, 28, .5), 0 4px 0 rgba(0,0,0,.35); margin-bottom: .2em; }
.hero__accroche { font-size: clamp(1.1rem, 3.6vw, 1.35rem); max-width: 34ch; }
.hero__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }

/* Guirlande lumineuse (clin d'œil à la terrasse) */
.guirlande { position: absolute; left: 0; right: 0; top: 0; height: 28px; pointer-events: none;
  background: radial-gradient(circle at 50% 70%, #ffe7a6 0 3px, rgba(255, 201, 60, .45) 4px, transparent 9px) 0 0 / 46px 28px repeat-x; opacity: .9; }

/* ----- Statut ouvert / fermé ----- */
.statut { display: inline-flex; align-items: center; gap: .55em; padding: .45em 1em; border-radius: 999px; background: rgba(0,0,0,.45); font-weight: 700; margin: 0; }
.statut i { width: 10px; height: 10px; border-radius: 50%; background: var(--texte-doux); }
.statut--ouvert i { background: var(--vert); box-shadow: 0 0 0 4px rgba(95, 211, 138, .25); }
.statut--ferme i { background: var(--rouge); }

/* ----- Blocs ----- */
.bloc { padding: 64px 0; }
.bloc--clair { background: var(--fond-2); border-block: 1px solid var(--bord); }
.intro { color: var(--texte-doux); max-width: 60ch; }
.grille-2 { display: grid; gap: 32px; }
.arrondi { border-radius: var(--rayon); object-fit: cover; width: 100%; aspect-ratio: 4 / 5; }

/* Horaires */
.horaires { width: 100%; border-collapse: collapse; font-size: 1.05rem; }
.horaires th, .horaires td { padding: .75em .5em; border-bottom: 1px solid rgba(255,255,255,.08); text-align: left; }
.horaires th { font-weight: 600; }
.horaires td { text-align: right; }
.horaires tr.auj { background: rgba(255, 201, 60, .1); }
.horaires tr.auj th { color: var(--jaune); }
.horaires small { color: var(--texte-doux); font-weight: 400; }
.carte-info { background: var(--carte); border: 1px solid var(--bord); border-radius: var(--rayon); padding: 24px; align-self: start; }
.liste { padding-left: 1.1em; margin: 0 0 1em; }
.liste li { margin-bottom: .4em; }
.note { color: var(--texte-doux); }

/* Promos */
.promos { display: grid; gap: 16px; margin-bottom: 32px; }
.promo { position: relative; background: var(--carte); border: 2px dashed var(--orange); border-radius: var(--rayon); padding: 24px; }
.promo h3 { color: var(--texte); margin-right: 70px; }
.promo__tag { position: absolute; top: 18px; right: 18px; background: var(--orange); color: #1a1208; font-weight: 700; font-size: .8rem; text-transform: uppercase; padding: .25em .7em; border-radius: 999px; transform: rotate(4deg); }
.promo__prix { font-family: var(--titre); font-size: 1.8rem; color: var(--jaune); margin: 0; }
.promo__fin { color: var(--texte-doux); font-size: .9rem; margin: .4em 0 0; }

/* Article du mois */
.adm { display: grid; gap: 0; background: linear-gradient(135deg, var(--brique), #7d2c19); border-radius: var(--rayon); overflow: hidden; }
.adm__visuel img, .adm__vide { width: 100%; height: 100%; min-height: 220px; object-fit: cover; }
.adm__vide { display: grid; place-items: center; background: repeating-linear-gradient(45deg, rgba(0,0,0,.18) 0 14px, rgba(0,0,0,.08) 14px 28px); color: #fff; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.adm__texte { padding: 28px; }
.adm__texte .surtitre { color: var(--jaune); }
.adm__texte h3 { font-size: clamp(1.8rem, 6vw, 2.6rem); }
.adm__texte .a-preciser { color: #f3e2d6; }
.adm__prix { font-family: var(--titre); font-size: 2rem; color: var(--jaune); margin: 0; }

/* Carte */
.carte { display: grid; gap: 16px; margin: 24px 0 40px; }
.cat { background: var(--carte); border-radius: var(--rayon); padding: 22px 24px; border-top: 4px solid var(--orange); }
.cat h3 { color: var(--orange); }
.cat ul { list-style: none; margin: 0; padding: 0; }
.cat li { display: flex; align-items: baseline; gap: 8px; padding: .35em 0; }
.cat__pts { flex: 1; border-bottom: 2px dotted rgba(255,255,255,.18); transform: translateY(-4px); min-width: 12px; }
.cat__prix { font-weight: 700; color: var(--jaune); white-space: nowrap; }

.galerie { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.galerie img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 10px; }

/* Contact */
.infos { display: grid; grid-template-columns: max-content 1fr; gap: .55em 1.2em; margin: 0 0 24px; }
.infos dt { font-weight: 700; color: var(--texte-doux); }
.infos dd { margin: 0; }
.contact__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 18px; }
.reseaux { display: flex; flex-wrap: wrap; gap: 10px; }

/* Pied de page */
.pied { border-top: 1px solid var(--bord); padding: 28px 0; color: var(--texte-doux); font-size: .95rem; text-align: center; }
.pied p { margin: .2em 0; }

/* Barre mobile */
.barre-mobile { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; display: grid; grid-template-columns: repeat(3, 1fr); background: #0f0b08; border-top: 1px solid var(--bord); padding-bottom: env(safe-area-inset-bottom); }
.barre-mobile a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 60px; color: var(--texte); text-decoration: none; font-weight: 600; font-size: .85rem; }
.barre-mobile a:first-child { background: var(--jaune); color: #1a1208; }
.barre-mobile a span:first-child { font-size: 1.25rem; line-height: 1; }

/* ----- Tablette & ordinateur ----- */
@media (min-width: 640px) {
  .promos { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
  .carte { grid-template-columns: repeat(2, 1fr); }
  .galerie { grid-template-columns: repeat(4, 1fr); }
  .adm { grid-template-columns: 2fr 3fr; }
}
@media (min-width: 900px) {
  body { padding-bottom: 0; }
  .barre-mobile { display: none; }
  .nav { display: flex; }
  .entete__tel { margin-left: 0; }
  .grille-2 { grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
  .grille-2--img { grid-template-columns: 2fr 3fr; }
  .carte { grid-template-columns: repeat(3, 1fr); }
  .bloc { padding: 96px 0; }
  .hero__img { object-position: center 35%; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .btn { transition: none; }
  .btn:hover { transform: none; }
}

/* Évite tout débordement horizontal sur petits écrans (longs mots, variables {{...}}) */
.promos > *, .adm > *, .carte > *, .grille-2 > * { min-width: 0; }
h1, h2, h3, p, dd, li { overflow-wrap: anywhere; }
.logo { white-space: nowrap; }
@media (max-width: 899px) { .logo { font-size: 1.35rem; } .entete__tel { font-size: .85rem; padding: .45em .9em; min-height: 40px; white-space: nowrap; } }

/* ----- Logo : une frite remplace le « i » (comme sur l'enseigne) ----- */
.mot { white-space: nowrap; }
.frite {
  display: inline-block;
  width: .355em; height: 1.12em; margin: -.26em -.055em 0 -.05em;
  vertical-align: -.13em;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 38 120'%3E %3Cdefs%3E %3ClinearGradient id='t' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23b9832a' stop-opacity='.55'/%3E%3Cstop offset='.1' stop-color='%23b9832a' stop-opacity='0'/%3E%3Cstop offset='.88' stop-color='%23b9832a' stop-opacity='0'/%3E%3Cstop offset='1' stop-color='%23b9832a' stop-opacity='.6'/%3E%3C/linearGradient%3E %3C/defs%3E %3Cpath d='M12.57,9.02 L12.56,11.21 L12.56,13.40 L12.57,15.61 L12.59,17.83 L12.63,20.05 L12.69,22.28 L12.76,24.53 L12.84,26.77 L12.94,29.03 L13.05,31.28 L13.18,33.54 L13.32,35.80 L13.47,38.07 L13.64,40.33 L13.82,42.59 L14.02,44.85 L14.23,47.11 L14.46,49.37 L14.70,51.61 L14.95,53.86 L15.22,56.10 L15.50,58.32 L15.80,60.55 L16.11,62.76 L16.43,64.96 L16.77,67.14 L17.13,69.32 L17.49,71.48 L17.88,73.63 L18.27,75.76 L18.68,77.88 L19.11,79.97 L19.54,82.05 L20.00,84.11 L20.46,86.15 L20.94,88.17 L21.44,90.16 L21.95,92.13 L22.47,94.08 L23.01,95.99 L23.56,97.89 L24.12,99.75 L24.70,101.59 L25.29,103.40 L25.90,105.17 L26.51,106.91 L27.15,108.63 L27.79,110.30 L33.18,108.21 L32.54,106.61 L31.91,104.98 L31.29,103.32 L30.69,101.61 L30.10,99.88 L29.52,98.11 L28.95,96.31 L28.40,94.48 L27.85,92.62 L27.32,90.73 L26.81,88.82 L26.30,86.88 L25.81,84.92 L25.34,82.93 L24.87,80.92 L24.42,78.89 L23.99,76.84 L23.56,74.78 L23.15,72.69 L22.76,70.59 L22.37,68.47 L22.00,66.33 L21.65,64.18 L21.31,62.02 L20.98,59.85 L20.67,57.67 L20.37,55.48 L20.08,53.28 L19.81,51.07 L19.55,48.86 L19.30,46.64 L19.07,44.41 L18.86,42.19 L18.66,39.96 L18.47,37.73 L18.29,35.50 L18.13,33.27 L17.99,31.04 L17.86,28.81 L17.74,26.59 L17.63,24.38 L17.54,22.17 L17.47,19.96 L17.41,17.77 L17.36,15.58 L17.32,13.41 L17.30,11.24 L17.30,9.09 Z' fill='%23dcbd5c'/%3E %3Cpath d='M4.70,8.91 L4.65,11.15 L4.61,13.39 L4.58,15.65 L4.57,17.92 L4.58,20.20 L4.60,22.48 L4.63,24.77 L4.68,27.07 L4.74,29.38 L4.82,31.69 L4.91,34.00 L5.02,36.32 L5.14,38.63 L5.28,40.95 L5.43,43.27 L5.59,45.59 L5.77,47.90 L5.97,50.21 L6.18,52.52 L6.40,54.83 L6.64,57.13 L6.89,59.42 L7.16,61.70 L7.44,63.98 L7.74,66.24 L8.05,68.50 L8.38,70.74 L8.72,72.98 L9.08,75.20 L9.45,77.40 L9.84,79.60 L10.24,81.77 L10.66,83.93 L11.10,86.07 L11.54,88.20 L12.01,90.30 L12.49,92.39 L12.98,94.46 L13.49,96.50 L14.02,98.52 L14.56,100.52 L15.12,102.49 L15.70,104.44 L16.29,106.37 L16.90,108.26 L17.52,110.13 L18.16,111.98 L18.82,113.79 L27.79,110.30 L27.15,108.63 L26.51,106.91 L25.90,105.17 L25.29,103.40 L24.70,101.59 L24.12,99.75 L23.56,97.89 L23.01,95.99 L22.47,94.08 L21.95,92.13 L21.44,90.16 L20.94,88.17 L20.46,86.15 L20.00,84.11 L19.54,82.05 L19.11,79.97 L18.68,77.88 L18.27,75.76 L17.88,73.63 L17.49,71.48 L17.13,69.32 L16.77,67.14 L16.43,64.96 L16.11,62.76 L15.80,60.55 L15.50,58.32 L15.22,56.10 L14.95,53.86 L14.70,51.61 L14.46,49.37 L14.23,47.11 L14.02,44.85 L13.82,42.59 L13.64,40.33 L13.47,38.07 L13.32,35.80 L13.18,33.54 L13.05,31.28 L12.94,29.03 L12.84,26.77 L12.76,24.53 L12.69,22.28 L12.63,20.05 L12.59,17.83 L12.57,15.61 L12.56,13.40 L12.56,11.21 L12.57,9.02 Z' fill='%23fbeeaa'/%3E %3Cpath d='M4.70,8.91 L17.30,9.09 L18.93,6.89 L6.33,6.71 Z' fill='%23fff6cf' stroke='%23a8913a' stroke-width='.7' stroke-linejoin='round'/%3E %3Cpath d='M4.70,8.91 L4.65,11.15 L4.61,13.39 L4.58,15.65 L4.57,17.92 L4.58,20.20 L4.60,22.48 L4.63,24.77 L4.68,27.07 L4.74,29.38 L4.82,31.69 L4.91,34.00 L5.02,36.32 L5.14,38.63 L5.28,40.95 L5.43,43.27 L5.59,45.59 L5.77,47.90 L5.97,50.21 L6.18,52.52 L6.40,54.83 L6.64,57.13 L6.89,59.42 L7.16,61.70 L7.44,63.98 L7.74,66.24 L8.05,68.50 L8.38,70.74 L8.72,72.98 L9.08,75.20 L9.45,77.40 L9.84,79.60 L10.24,81.77 L10.66,83.93 L11.10,86.07 L11.54,88.20 L12.01,90.30 L12.49,92.39 L12.98,94.46 L13.49,96.50 L14.02,98.52 L14.56,100.52 L15.12,102.49 L15.70,104.44 L16.29,106.37 L16.90,108.26 L17.52,110.13 L18.16,111.98 L18.82,113.79 L33.18,108.21 L32.54,106.61 L31.91,104.98 L31.29,103.32 L30.69,101.61 L30.10,99.88 L29.52,98.11 L28.95,96.31 L28.40,94.48 L27.85,92.62 L27.32,90.73 L26.81,88.82 L26.30,86.88 L25.81,84.92 L25.34,82.93 L24.87,80.92 L24.42,78.89 L23.99,76.84 L23.56,74.78 L23.15,72.69 L22.76,70.59 L22.37,68.47 L22.00,66.33 L21.65,64.18 L21.31,62.02 L20.98,59.85 L20.67,57.67 L20.37,55.48 L20.08,53.28 L19.81,51.07 L19.55,48.86 L19.30,46.64 L19.07,44.41 L18.86,42.19 L18.66,39.96 L18.47,37.73 L18.29,35.50 L18.13,33.27 L17.99,31.04 L17.86,28.81 L17.74,26.59 L17.63,24.38 L17.54,22.17 L17.47,19.96 L17.41,17.77 L17.36,15.58 L17.32,13.41 L17.30,11.24 L17.30,9.09 Z' fill='url(%23t)'/%3E %3Cpath d='M7.48,20.14 L7.51,22.41 L7.56,24.69 L7.62,26.97 L7.69,29.25 L7.78,31.54 L7.89,33.84 L8.01,36.13 L8.14,38.43 L8.29,40.73 L8.45,43.03 L8.63,45.32 L8.82,47.62 L9.02,49.91 L9.24,52.20 L9.48,54.48 L9.73,56.75 L9.99,59.02 L10.27,61.28 L10.56,63.54 L10.87,65.78 L11.19,68.01 L11.53,70.23 L11.88,72.44 L12.25,74.63 L12.63,76.81' stroke='%23ffffff' stroke-width='1.4' fill='none' stroke-linecap='round' opacity='.65'/%3E %3Cpath d='M15.45,76.29 L15.85,78.43 L16.27,80.55 L16.70,82.65 L17.15,84.74 L17.61,86.81 L18.08,88.85 L18.57,90.87 L19.08,92.87' stroke='%23d9bf62' stroke-width='1.4' fill='none' stroke-linecap='round' opacity='.8'/%3E %3Cpath d='M9.29,40.65 L9.46,42.95 L9.64,45.24 L9.83,47.52 L10.04,49.81' stroke='%23d9bf62' stroke-width='1.2' fill='none' stroke-linecap='round' opacity='.7'/%3E %3Cpath d='M15.26,26.68 L15.36,28.92 L15.49,31.16 L15.62,33.41 L15.77,35.65 L15.94,37.90 L16.11,40.15 L16.31,42.39 L16.51,44.64 L16.73,46.88 L16.97,49.11 L17.22,51.35 L17.48,53.57' stroke='%23c7a64a' stroke-width='1.1' fill='none' stroke-linecap='round' opacity='.7'/%3E %3Cpath d='M4.70,8.91 L4.65,11.15 L4.61,13.39 L4.58,15.65 L4.57,17.92 L4.58,20.20 L4.60,22.48 L4.63,24.77 L4.68,27.07 L4.74,29.38 L4.82,31.69 L4.91,34.00 L5.02,36.32 L5.14,38.63 L5.28,40.95 L5.43,43.27 L5.59,45.59 L5.77,47.90 L5.97,50.21 L6.18,52.52 L6.40,54.83 L6.64,57.13 L6.89,59.42 L7.16,61.70 L7.44,63.98 L7.74,66.24 L8.05,68.50 L8.38,70.74 L8.72,72.98 L9.08,75.20 L9.45,77.40 L9.84,79.60 L10.24,81.77 L10.66,83.93 L11.10,86.07 L11.54,88.20 L12.01,90.30 L12.49,92.39 L12.98,94.46 L13.49,96.50 L14.02,98.52 L14.56,100.52 L15.12,102.49 L15.70,104.44 L16.29,106.37 L16.90,108.26 L17.52,110.13 L18.16,111.98 L18.82,113.79 L33.18,108.21 L32.54,106.61 L31.91,104.98 L31.29,103.32 L30.69,101.61 L30.10,99.88 L29.52,98.11 L28.95,96.31 L28.40,94.48 L27.85,92.62 L27.32,90.73 L26.81,88.82 L26.30,86.88 L25.81,84.92 L25.34,82.93 L24.87,80.92 L24.42,78.89 L23.99,76.84 L23.56,74.78 L23.15,72.69 L22.76,70.59 L22.37,68.47 L22.00,66.33 L21.65,64.18 L21.31,62.02 L20.98,59.85 L20.67,57.67 L20.37,55.48 L20.08,53.28 L19.81,51.07 L19.55,48.86 L19.30,46.64 L19.07,44.41 L18.86,42.19 L18.66,39.96 L18.47,37.73 L18.29,35.50 L18.13,33.27 L17.99,31.04 L17.86,28.81 L17.74,26.59 L17.63,24.38 L17.54,22.17 L17.47,19.96 L17.41,17.77 L17.36,15.58 L17.32,13.41 L17.30,11.24 L17.30,9.09 Z' fill='none' stroke='%23a8913a' stroke-width='.8' stroke-linejoin='miter'/%3E %3C/svg%3E") no-repeat center / contain;
  filter: drop-shadow(0 0 .12em rgba(255, 236, 140, .55));
}

/* ----- Sur place / À emporter ----- */
.formules { list-style: none; padding: 0; margin: 4px 0 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; max-width: 520px; }
.formule { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: var(--rayon);
  background: rgba(22, 17, 13, .78); border: 2px solid var(--orange); backdrop-filter: blur(4px); }
.formule svg { flex: none; width: 34px; height: 34px; fill: none; stroke: var(--jaune); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.formule strong { display: block; font-family: var(--titre); font-weight: 400; text-transform: uppercase; font-size: 1.25rem; letter-spacing: .03em; line-height: 1.1; color: var(--texte); }
.formule small { display: block; color: var(--texte-doux); font-size: .85rem; line-height: 1.25; }
@media (max-width: 380px) { .formule { padding: 10px; gap: 8px; } .formule svg { width: 28px; height: 28px; } .formule strong { font-size: 1.1rem; } }
.formule strong { white-space: nowrap; }
@media (max-width: 480px) { .formule { gap: 9px; padding: 11px 10px; } .formule svg { width: 28px; height: 28px; } .formule strong { font-size: 1.08rem; } .formule small { font-size: .8rem; } }

/* ----- Pages secondaires (vie privée, 404) ----- */
.page { padding: 56px 0 80px; }
.page h1 { font-size: clamp(2.2rem, 8vw, 3.4rem); color: var(--orange); }
.page h2 { font-size: clamp(1.5rem, 5vw, 2rem); margin-top: 1.6em; }
.page h3 { font-size: 1.15rem; margin-top: 1.2em; color: var(--jaune); }
.page p, .page li { max-width: 72ch; color: var(--texte); }
.page ul { padding-left: 1.2em; }
.page .maj { color: var(--texte-doux); font-size: .95rem; }
.page table { border-collapse: collapse; margin: .5em 0 1em; }
.page td, .page th { text-align: left; padding: .45em .9em .45em 0; border-bottom: 1px solid rgba(255,255,255,.08); vertical-align: top; }
.page--404 { min-height: 70vh; display: grid; place-items: center; text-align: center; }
.page--404 .grand { font-family: var(--titre); font-size: clamp(5rem, 25vw, 9rem); line-height: 1; color: var(--orange); margin: 0; }
body.secondaire { padding-bottom: 0; }

/* ----- Punchlines ----- */
.hero__punch { font-family: var(--titre); text-transform: uppercase; letter-spacing: .02em; font-size: clamp(1.35rem, 5.2vw, 2rem); line-height: 1.15; color: var(--texte); margin: 0 0 .35em; max-width: 22ch; }
.hero__accroche { margin-bottom: .9em; }
.punch-band { background: var(--orange); color: #1a1208; padding: 26px 0; overflow: hidden; }
.punch-band p { margin: 0 auto; font-family: var(--titre); text-transform: uppercase; font-size: clamp(1.6rem, 6vw, 3rem); line-height: 1.1; text-align: center; }
.punch-band span { display: inline-block; background: #1a1208; color: var(--jaune); padding: 0 .25em; transform: rotate(-1.5deg); }
.citation { margin: 1.2em 0; padding: .6em 0 .6em 1em; border-left: 4px solid var(--orange); font-family: var(--titre); text-transform: uppercase; font-size: clamp(1.3rem, 4.5vw, 1.8rem); line-height: 1.2; color: var(--jaune); }

/* Carte en colonnes (pas de trous sous les petites catégories) */
@media (min-width: 640px) {
  .carte { display: block; columns: 2; column-gap: 16px; }
  .carte .cat { break-inside: avoid; margin-bottom: 16px; display: block; }
}
@media (min-width: 900px) { .carte { columns: 3; } }
