/* GastroKnowMe – feuille de style unique */
@font-face{font-family:'Alfa Slab One';src:url(../fonts/alfa-slab-one-latin-400-normal.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Libre Franklin';src:url(../fonts/libre-franklin-latin-400-normal.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Libre Franklin';src:url(../fonts/libre-franklin-latin-600-normal.woff2) format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Libre Franklin';src:url(../fonts/libre-franklin-latin-400-italic.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Lora';src:url(../fonts/lora-latin-400-italic.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap}

:root{
  --fond:#000; --panneau:#121212; --texte:#C9CCC9; --blanc:#fff; --gris:#999; --gris2:#777;
  --orange:#F29A1F; --rouge:#C0393C; --lavande:#8E91C6; --trait:#333;
  --T:'Alfa Slab One',Georgia,serif; --B:'Libre Franklin',Arial,sans-serif; --Q:'Lora',Georgia,serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--fond);color:var(--texte);font:400 1.0625rem/1.7 var(--B);-webkit-user-select:none;-ms-user-select:none;user-select:none}
img{-webkit-user-drag:none;user-drag:none}
a{color:inherit}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
img{max-width:100%}
.wrap{max-width:1000px;margin:0 auto;padding:0 20px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
strong{color:var(--lavande);font-weight:600}

/* En-tête */
.top{padding:16px 0}
.logo{font:400 1.05rem var(--T);color:var(--blanc);text-decoration:none}
.logo span{color:var(--orange)}

/* Pastilles */
.pills{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.pill,.pills a{display:inline-block;padding:6px 15px;border:1.5px solid var(--orange);color:var(--orange);border-radius:22px;text-decoration:none;font-weight:600;line-height:1.4}
.pills a:hover,a.pill:hover{background:var(--orange);color:#000}
.pill.bientot{border:1.5px dashed #555;color:#888;font-weight:400}

/* Bandeau territoire */
.hero{display:flex;flex-direction:column;align-items:center;gap:18px;padding:12px 0 22px;border-bottom:3px solid var(--rouge)}
.hero .bandeau{display:block;width:100%;max-width:720px;height:auto}
.hero .titre-texte{font:400 clamp(2.4rem,7vw,4rem)/1.05 var(--T);color:var(--blanc);margin:10px 0 0;text-align:center}
.voisins{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;font-size:.88rem}
.voisins .lib{color:#8a8a8a;margin-right:2px}
.voisins .sep{width:18px}
.voisins .pill{padding:3px 11px;font-size:.85rem}

/* Présentation */
.intro{padding:30px 0 6px}
.devise{font:italic 1.5rem/1.35 var(--Q);color:var(--blanc);margin:0 0 22px}
.pres{display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:34px;align-items:start}
.pres h3{font:400 1.15rem var(--T);margin:0 0 6px;color:var(--rouge)}
.pres p{margin:0}
.pres figure{margin:0}
.pres blockquote{margin:0;font:italic 1.15rem/1.4 var(--Q);color:var(--blanc)}
.pres figcaption{font-size:.85rem;margin:4px 0 12px;color:#8a8a8a}
.pres .art{width:100%;max-width:240px;display:block}

/* Mon avis */
.avis{margin-top:30px;padding:28px 32px 20px;border-left:4px solid var(--orange);background:var(--panneau);display:grid;grid-template-columns:1fr auto;gap:30px}
.avis h2{color:var(--orange);margin:0 0 12px}
.avis-txt{font:italic 1.15rem/1.65 var(--Q);color:#e8e8e8;max-width:66ch}
.avis-txt p{margin:0 0 .9em}
.avis-txt strong{color:#fff}
.avis .pres-img{width:200px;height:auto;display:block}

/* Navigation de section */
.facnav{position:sticky;top:0;z-index:5;background:rgba(0,0,0,.94);border-bottom:1px solid var(--trait);margin-top:26px}
.facnav ul{display:flex;gap:4px;list-style:none;margin:0;padding:10px 0;overflow-x:auto}
.facnav a{display:block;padding:6px 14px;font-weight:600;color:var(--blanc);text-decoration:none;white-space:nowrap;border-radius:4px}
.facnav a:hover{color:var(--orange)}

h2{font:400 1.8rem/1.2 var(--T);margin:0 0 16px;color:var(--blanc)}
.facet{padding:40px 0 6px;scroll-margin-top:60px}

/* Fiches dépliables */
.fiches{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 28px;align-items:start}
.fiche{border-top:1px solid var(--trait)}
.fiche summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:110px 1fr 24px;gap:16px;align-items:center;padding:12px 0}
.fiche summary::-webkit-details-marker{display:none}
.fiche summary::after{content:"+";color:var(--orange);font:300 1.7rem Arial,sans-serif;transition:transform .2s}
.fiche[open] summary::after{transform:rotate(45deg)}
.fiche summary:hover .ft{color:var(--orange)}
.fiche .vign{width:110px;aspect-ratio:125/87;object-fit:cover;display:block;background:#1a1a1a}
.ft{font-weight:600;font-size:1.05rem;line-height:1.3;color:var(--blanc)}
.fb{padding:0 0 18px 126px;max-width:70ch;font-size:.98rem}
.fb p{margin:0 0 .8em}
.vide{color:var(--gris2);font-style:italic}

/* Menus */
.menu-plats{padding:0 0 18px 126px}
.menu-plats .cours{margin:0 0 12px;padding-bottom:12px;border-bottom:1px dashed #3a3a3a}
.menu-plats .cours:last-child{border:0}
.menu-plats p{margin:0;line-height:1.5}
.menu-plats .vin{font:italic .95rem var(--Q);color:var(--orange)}

/* Produits du territoire */
.panier{margin-top:44px;padding:40px 0 52px;border-top:3px solid var(--rouge);border-bottom:1px solid var(--trait);scroll-margin-top:50px}
.lead{max-width:60ch;margin:0 0 24px}
.prods{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:24px}
.prod{text-decoration:none;display:flex;flex-direction:column;gap:6px}
.prod img{width:100%;aspect-ratio:7/4;object-fit:cover;display:block}
.prod b{font-weight:600;font-size:1.1rem;color:var(--blanc);margin-top:4px}
.prod span{font-size:.88rem;line-height:1.5}
a.prod:hover b{color:var(--orange)}

/* Liens de bas de page territoire */
.suite{display:grid;grid-template-columns:repeat(3,1fr);margin:40px 0 0;border-top:1px solid var(--trait)}
.suite a{padding:22px 18px 26px;text-decoration:none;border-right:1px solid var(--trait)}
.suite a:first-child{padding-left:0}
.suite a:last-child{border:0}
.suite b{display:block;font:400 1.15rem var(--T);color:var(--orange)}
.suite span{font-size:.9rem}
.suite a:hover b{text-decoration:underline}

/* Sous-pages */
.sousnav{display:flex;flex-wrap:wrap;gap:8px;padding:22px 0 6px}
.sousnav a{padding:6px 16px;border-radius:20px;border:1.5px solid #555;color:var(--blanc);text-decoration:none;font-weight:600;font-size:.95rem}
.sousnav a:hover{border-color:var(--orange)}
.sousnav a[aria-current=page]{background:var(--orange);border-color:var(--orange);color:#000}
.sousnav .retour{border-color:transparent;padding-left:0;color:var(--orange)}
.page-titre{font:400 clamp(2rem,5vw,3rem)/1.1 var(--T);color:var(--blanc);margin:22px 0 6px}
.chapo{margin:0 0 26px;color:var(--gris);max-width:60ch}
.entree{display:grid;grid-template-columns:200px 1fr;gap:28px;padding:26px 0;border-top:1px solid var(--trait)}
.entree img{width:100%;height:auto;display:block}
.entree h2{font-size:1.5rem;margin:0 0 10px}
.entree .txt{max-width:66ch}
.entree p{margin:0 0 .85em}
.entree .moi{font:italic 1.08rem/1.65 var(--Q);color:#e8e8e8}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding:8px 0 10px}
.cols h2{font-size:1.5rem;color:var(--rouge);margin:0 0 10px}
.cols p{margin:0 0 .9em}
.persos{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;padding-top:6px}
.persos figure{margin:0}
.persos img{width:100%;height:auto;display:block;border-radius:4px}
.persos figcaption{font-size:.92rem;line-height:1.5;margin-top:10px}
.persos b{display:block;color:var(--blanc);font-weight:600}
.section-titre{margin:40px 0 18px;border-top:3px solid var(--rouge);padding-top:26px}

/* Accueil */
.accueil-tete{display:flex;justify-content:center;padding:26px 0 18px}
.accueil-tete img{width:100%;max-width:715px;height:auto;display:block}
.pitch{text-align:center;padding:14px 0 30px;border-bottom:3px solid var(--rouge)}
.pitch p{font:400 clamp(1.5rem,3.6vw,2.2rem)/1.25 var(--T);color:var(--blanc);margin:0}
.pitch p span{color:var(--orange)}
.pitch ul{list-style:none;padding:0;margin:20px auto 0;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 22px;font:italic 1.05rem var(--Q);color:#a8aba8;max-width:720px}
.bloc-accueil{padding:44px 0 8px;scroll-margin-top:20px}
.sous{margin:0 0 22px;color:var(--gris)}
.mois{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.une{display:grid;grid-template-columns:200px 1fr;gap:20px;align-items:center;text-decoration:none;padding:18px;background:var(--panneau);border-left:4px solid var(--orange)}
.une img{width:100%;height:auto;display:block}
.une small{display:block;color:var(--gris);font-size:.9rem}
.une b{display:block;font:400 1.5rem/1.2 var(--T);color:var(--orange);margin:2px 0 0}
.une:hover b{text-decoration:underline}
.onglets{display:flex;gap:6px;margin:0 0 22px;flex-wrap:wrap}
.onglets button{font:600 .95rem var(--B);background:none;color:var(--blanc);border:1.5px solid #555;border-radius:20px;padding:6px 16px;cursor:pointer}
.onglets button[aria-selected="true"]{background:var(--orange);border-color:var(--orange);color:#000}
.onglets button:hover{border-color:var(--orange)}
[role=tabpanel][hidden]{display:none}
.groupe{margin:0 0 22px}
.groupe h3,.famille h3{font:400 1.15rem var(--T);color:var(--rouge);margin:0 0 10px}
.familles{display:grid;grid-template-columns:1fr 2.2fr .8fr;gap:34px;border-top:1px solid var(--trait);padding-top:22px}
.famille h4{font-weight:600;font-size:.95rem;color:var(--lavande);margin:14px 0 4px}
.famille ul{list-style:none;padding:0;margin:0}
.famille.large ul{columns:3;column-gap:18px}
.famille li{break-inside:avoid}
.famille a{text-decoration:none;font-size:.95rem;line-height:1.75}
.famille a:hover{color:var(--orange);text-decoration:underline}

/* Produit */
.hero-produit{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;border-bottom:3px solid var(--rouge);padding:6px 0 22px}
.hero-produit h1{font:400 clamp(2rem,5vw,3.2rem)/1.08 var(--T);color:var(--blanc);margin:0 0 8px}
.hero-produit .surtitre{margin:0 0 4px;font:italic 1.05rem var(--Q);color:var(--orange)}
.hero-produit .surtitre a{text-decoration:none}
.hero-produit .terr{margin:6px 0 0;color:var(--gris)}
.hero-produit .terr a{color:var(--orange);font-weight:600}
.ovale{width:290px;height:auto;display:block}
.saison{list-style:none;padding:0;margin:16px 0 0;display:flex;gap:3px}
.saison li{font:600 .72rem/1 var(--B);padding:7px 0;width:38px;text-align:center;border-radius:3px;background:#161616;color:#666}
.saison li.on{background:var(--orange);color:#000}
.comparer{border-bottom:1px solid var(--trait);padding:22px 0}
.comparer h2{font-size:1.15rem;color:var(--rouge);margin:0 0 12px}
.choix{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.choix a,.choix .bientot{display:block;height:100%;padding:9px 12px;border:1.5px solid #444;border-radius:6px;text-decoration:none;line-height:1.3}
.choix b{display:block;font-weight:600;color:var(--blanc);font-size:.95rem}
.choix i{display:block;font:italic .85rem/1.35 var(--Q);color:#9a9d9a;margin-top:2px}
.choix a:hover{border-color:var(--orange)}
.choix a:hover b{color:var(--orange)}
.choix a[aria-current=page]{border-color:var(--orange);background:var(--orange)}
.choix a[aria-current=page] b,.choix a[aria-current=page] i{color:#000}
.choix .bientot{border-style:dashed;border-color:#3a3a3a}
.choix .bientot b{color:#777}
.choix .bientot i{color:#5d5d5d}
.texte{max-width:68ch;padding:20px 0 4px}
.texte p{margin:0 0 .9em}
.blocs{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0 10px}
.bloc{background:var(--panneau);padding:20px 22px 10px;border-top:3px solid var(--rouge)}
.bloc h3{font:400 1.2rem var(--T);color:var(--blanc);margin:0 0 10px}
.bloc p{margin:0 0 .8em;font-size:.97rem}
.bloc .bloc-img{display:block;max-width:252px;width:100%;height:auto;margin:0 0 12px;border-radius:6px}
.bloc .label{width:180px;max-width:100%;height:auto;border-radius:6px;display:block;margin:2px 0 10px;background:#fff}

/* Région, paysage, pages */
.region-imgs{display:flex;flex-wrap:wrap;gap:16px;margin:24px 0 0}
.region-imgs img{max-width:100%;height:auto;display:block}
.page-texte{max-width:70ch;padding:10px 0 20px}
.page-texte h2{font-size:1.4rem;color:var(--rouge);margin:30px 0 10px}
.page-texte p{margin:0 0 .9em}
.page-texte a{color:var(--orange)}

footer{margin-top:50px;border-top:3px solid var(--rouge);padding:26px 0 40px}
footer ul{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-wrap:wrap;gap:8px 26px}
footer a{text-decoration:none;font-weight:600;color:var(--blanc)}
footer a:hover{color:var(--orange)}
footer p{margin:0;color:var(--gris2);font-size:.88rem}

@media (max-width:820px){
  .pres{grid-template-columns:1fr;gap:20px}
  .avis{grid-template-columns:1fr;padding:22px 18px 14px}
  .avis .pres-img{width:160px}
  .fiches{grid-template-columns:1fr}
  .fiche summary{grid-template-columns:84px 1fr 24px}
  .fiche .vign{width:84px}
  .fb,.menu-plats{padding-left:0}
  .prods{grid-template-columns:1fr 1fr;gap:16px}
  .suite{grid-template-columns:1fr}
  .suite a{border-right:0;border-bottom:1px solid var(--trait);padding-left:0}
  .entree{grid-template-columns:1fr;gap:14px}
  .entree img{max-width:260px}
  .cols{grid-template-columns:1fr}
  .persos{grid-template-columns:1fr 1fr}
  .mois{grid-template-columns:1fr}
  .une{grid-template-columns:130px 1fr}
  .familles{grid-template-columns:1fr}
  .famille.large ul{columns:2}
  .hero-produit{grid-template-columns:1fr;gap:14px}
  .ovale{order:-1;width:220px;margin:0 auto}
  .blocs{grid-template-columns:1fr}
  .choix{grid-template-columns:1fr 1fr}
  .saison{width:100%}
  .saison li{width:auto;flex:1;font-size:.6rem;padding:6px 0}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
