@font-face{font-family:'Gloock';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/gloock-latin-400-normal.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:'Gloock';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/gloock-latin-ext-400-normal.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:'Karla';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/karla-latin-400-normal.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:'Karla';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/karla-latin-ext-400-normal.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:'Karla';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/karla-latin-500-normal.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:'Karla';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/karla-latin-ext-500-normal.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:'Karla';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/karla-latin-600-normal.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:'Karla';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/karla-latin-ext-600-normal.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:'Karla';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/karla-latin-700-normal.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:'Karla';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/karla-latin-ext-700-normal.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;}

:root{
    --creme:#F1E9DB;
    --creme-clair:#F8F3EC;
    --olive:#444629;
    --olive-profond:#343722;
    --bois:#8A6440;
    --laiton:#C39B52;
    --sauge:#7C8A6A;
    --encre:#23281C;
    --trait:#DFD3BC;
    --trait-fonce:#6B6E4E;

    --display:'Gloock', 'Hoefler Text', Georgia, serif;
    --texte:'Karla', 'Helvetica Neue', Arial, sans-serif;

    --gouttiere:clamp(16px, 5vw, 56px);
    --max:1180px;
  }

  *{box-sizing:border-box;}

  body{
    margin:0;
    background:var(--creme);
    color:var(--encre);
    font-family:var(--texte);
    font-size:17px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }

  h1,h2,h3{font-family:var(--display); font-weight:400; text-wrap:balance; margin:0; line-height:1.08;}
  p{margin:0;}
  a{color:inherit;}

  .enveloppe{max-width:var(--max); margin-inline:auto; padding-inline:var(--gouttiere);}

  .surtitre{
    font-size:12px; font-weight:600; letter-spacing:.18em; text-transform:uppercase;
    color:var(--bois);
  }

  /* ---------- En-tête ---------- */
  .entete{
    position:sticky; top:env(safe-area-inset-top, 0px); z-index:50;
    background:var(--creme);
    border-bottom:1px solid var(--trait);
  }
  .entete-interieur{
    display:flex; align-items:center; justify-content:space-between; gap:16px;
    padding-block:14px;
  }
  .marque{display:block; text-decoration:none; color:var(--olive); line-height:0;}
  .logo{display:block; width:132px; height:auto;}

  .nav{display:flex; align-items:center; gap:26px;}
  .nav a{
    text-decoration:none; font-size:15px; font-weight:500;
    padding-block:4px; border-bottom:1px solid transparent;
  }
  .nav a:hover{border-bottom-color:var(--laiton);}

  .bouton{
    display:inline-block; text-decoration:none; font-weight:600; font-size:15px;
    padding:11px 22px; border:1px solid transparent; cursor:pointer;
  }
  .bouton-plein{background:var(--olive); color:var(--creme-clair);}
  .bouton-plein:hover{background:var(--olive-profond);}
  .bouton-clair{background:var(--creme-clair); color:var(--olive); }
  .bouton-clair:hover{background:#fff;}
  .bouton-contour{border-color:currentColor;}
  .bouton-contour:hover{background:rgba(255,255,255,.12);}

  .bascule{display:none; background:none; border:1px solid var(--trait); padding:9px 12px; font:inherit; font-size:14px; cursor:pointer;}

  /* ---------- Hero ---------- */
  .hero{background:var(--olive); color:var(--creme-clair);}
  .hero-grille{
    display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(24px,4vw,56px);
    align-items:end; padding-block:clamp(48px,7vw,86px) clamp(40px,5vw,64px);
  }
  .hero h1{font-size:clamp(40px,6.4vw,74px); color:var(--creme-clair);}
  .hero .intro{margin-top:22px; font-size:clamp(17px,1.6vw,19px); color:#E4DCCB; max-width:34ch;}
  .hero .actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:32px;}
  .hero .surtitre{color:var(--laiton);}

  .vignette{
    aspect-ratio:4/5; background:var(--olive-profond);
    border:1px solid var(--trait-fonce);
    display:flex; flex-direction:column; justify-content:flex-end; gap:6px;
    padding:20px; max-width:100%;
  }
  .vignette span{font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--laiton);}
  .vignette em{font-style:normal; font-size:14px; color:#CFC7B4;}

  /* ---------- Bandeau saison ---------- */
  .bandeau{background:var(--laiton); color:var(--olive-profond);}
  .bandeau-interieur{
    display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 18px; padding-block:14px;
    font-size:15px; font-weight:500;
  }
  .bandeau strong{font-weight:700; letter-spacing:.06em; text-transform:uppercase; font-size:13px;}
  .bandeau a{margin-left:auto; font-weight:600;}

  /* ---------- Sections ---------- */
  section{padding-block:clamp(52px,7vw,92px);}
  .titre-section{font-size:clamp(28px,3.4vw,40px); max-width:20ch;}
  .chapeau{margin-top:16px; max-width:56ch; color:#3C4232;}

  /* Trois arguments : colonnes séparées par un filet, pas des cartes */
  .arguments{
    display:grid; grid-template-columns:repeat(3,1fr); gap:0;
    margin-top:44px; border-top:1px solid var(--trait);
  }
  .argument{padding:28px 28px 0 0;}
  .argument + .argument{border-left:1px solid var(--trait); padding-left:28px;}
  .argument h3{font-size:22px; margin-bottom:10px;}
  .argument p{font-size:16px; color:#3C4232;}
  .argument .chiffre{
    display:block; font-family:var(--display); font-size:15px; color:var(--bois); margin-top:12px;
    font-variant-numeric:tabular-nums;
  }

  /* Carte du moment */
  .carte{background:var(--creme-clair); border-block:1px solid var(--trait);}
  .carte-grille{display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(28px,5vw,72px); align-items:start;}
  .ardoise{border:1px solid var(--trait); background:var(--creme); padding:clamp(22px,3vw,34px);}
  .plat{display:flex; gap:14px; align-items:baseline; padding-block:14px;}
  .plat + .plat{border-top:1px solid var(--trait);}
  .plat-nom{font-family:var(--display); font-size:19px;}
  .plat-detail{display:block; font-family:var(--texte); font-size:14px; color:#5B6150; margin-top:4px;}
  .plat-prix{margin-left:auto; font-variant-numeric:tabular-nums; font-weight:600; white-space:nowrap;}
  .note-prix{margin-top:18px; font-size:14px; color:#5B6150;}

  /* Avis */
  .avis{display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(20px,3vw,40px); margin-top:40px;}
  .avis blockquote{margin:0; font-family:var(--display); font-size:clamp(20px,2.2vw,26px); line-height:1.3;}
  .avis .source{margin-top:14px; font-size:14px; color:var(--bois); font-weight:600; font-variant-numeric:tabular-nums;}

  /* Groupes */
  .groupes{background:var(--olive); color:var(--creme-clair);}
  .groupes .titre-section, .groupes .chapeau{color:var(--creme-clair);}
  .groupes .chapeau{color:#DAD2C1;}
  .regles{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--trait-fonce); margin-top:40px; border:1px solid var(--trait-fonce);}
  .regle{background:var(--olive); padding:22px;}
  .regle dt{font-family:var(--display); font-size:19px; color:var(--laiton); margin-bottom:6px;}
  .regle dd{margin:0; font-size:15px; color:#DAD2C1;}
  .menus{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:24px;}
  .menu{border:1px solid var(--trait-fonce); padding:24px; display:flex; flex-direction:column; gap:10px;}
  .menu h3{font-size:24px; color:var(--creme-clair);}
  .menu .prix{font-family:var(--texte); font-weight:700; font-size:15px; color:var(--laiton); font-variant-numeric:tabular-nums; letter-spacing:.04em;}
  .menu ul{margin:0; padding-left:18px; font-size:15px; color:#DAD2C1;}
  .menu li + li{margin-top:6px;}

  /* Infos pratiques */
  .infos-grille{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(24px,4vw,56px); margin-top:40px;}
  .bloc-info h3{font-size:20px; margin-bottom:12px;}
  .horaire{display:flex; justify-content:space-between; gap:16px; padding-block:8px; border-bottom:1px solid var(--trait); font-size:16px; font-variant-numeric:tabular-nums;}
  .bloc-info p{font-size:16px; color:#3C4232;}
  .bloc-info a{font-weight:600;}

  /* Pied de page */
  footer{background:var(--encre); color:#CFC7B4; padding-block:44px 32px; font-size:15px;}
  .pied-grille{display:flex; flex-wrap:wrap; gap:32px 56px; justify-content:space-between;}
  footer a{text-decoration:none;}
  footer a:hover{color:var(--laiton);}
  .pied-liens{display:flex; flex-direction:column; gap:8px;}
  .pied-bas{margin-top:36px; padding-top:18px; border-top:1px solid #3A4030; font-size:13px; color:#8E8B7A; display:flex; flex-wrap:wrap; gap:8px 24px;}

  .logo-pied{width:164px; color:var(--creme-clair);}

  /* Barre d'action fixe sur téléphone */
  .barre-mobile{
    display:none; position:fixed; left:0; right:0; bottom:0; z-index:60;
    background:var(--olive); gap:10px;
    padding:10px var(--gouttiere);
    padding-bottom:calc(10px + env(safe-area-inset-bottom, 0px));
    border-top:1px solid var(--trait-fonce);
  }
  .barre-mobile .bouton{flex:1; text-align:center; padding-block:13px;}

  :where(a,button):focus-visible{outline:2px solid var(--laiton); outline-offset:3px;}

  @media (max-width:900px){
    .hero-grille{grid-template-columns:1fr;}
    .vignette{aspect-ratio:16/10;}
    .carte-grille{grid-template-columns:1fr;}
    .arguments{grid-template-columns:1fr;}
    .argument{padding:24px 0;}
    .argument + .argument{border-left:0; border-top:1px solid var(--trait); padding-left:0;}
    .regles, .menus, .infos-grille, .avis{grid-template-columns:1fr;}
    .menus{gap:16px;}
  }
  @media (max-width:760px){
    .entete{position:static;}
    .logo{width:112px;}
    .logo-pied{width:140px;}
    body{padding-bottom:82px;}
    .barre-mobile{display:flex;}
    .bascule{display:block;}
    .nav{
      display:none; position:absolute; left:0; right:0; top:100%;
      flex-direction:column; align-items:stretch; gap:0;
      background:var(--creme); border-bottom:1px solid var(--trait);
      padding:8px var(--gouttiere) 20px;
    }
    .nav[data-ouvert]{display:flex;}
    .nav a{padding-block:12px; border-bottom:1px solid var(--trait);}
    .entete-interieur{position:relative;}
    .entete-action{display:none;}
  }
  @media (prefers-reduced-motion:reduce){*{transition:none !important; animation:none !important;}}

/* ===== Ajouts pages intérieures ===== */
.page-entete{background:var(--olive); color:var(--creme-clair); padding-block:clamp(38px,5vw,64px);}
.page-entete .surtitre{color:var(--laiton);}
.page-entete h1{font-size:clamp(32px,4.6vw,54px); color:var(--creme-clair); margin-top:10px; max-width:22ch;}
.page-entete .intro{margin-top:18px; max-width:62ch; color:#DAD2C1; font-size:17px;}

.fil{font-size:13px; color:#B9B1A0;}
.fil a{text-decoration:none;}
.fil a:hover{color:var(--laiton);}

.etapes{display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:40px; border-top:1px solid var(--trait);}
.etape{padding:26px 24px 0 0;}
.etape + .etape{border-left:1px solid var(--trait); padding-left:24px;}
.etape .rang{font-family:var(--display); font-size:14px; color:var(--bois); letter-spacing:.08em;}
.etape h3{font-size:19px; margin:8px 0 8px;}
.etape p{font-size:15px; color:#3C4232;}

.duo{display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,4vw,56px); align-items:start;}
.encadre{border:1px solid var(--trait); background:var(--creme-clair); padding:clamp(20px,3vw,30px);}
.encadre h3{font-size:20px; margin-bottom:12px;}
.encadre p + p{margin-top:10px;}
.encadre ul{margin:10px 0 0; padding-left:18px; font-size:16px;}
.encadre li + li{margin-top:8px;}

.liste-def{margin-top:32px; border-top:1px solid var(--trait);}
.liste-def > div{display:grid; grid-template-columns:minmax(150px,220px) 1fr; gap:24px; padding-block:18px; border-bottom:1px solid var(--trait);}
.liste-def dt{font-family:var(--display); font-size:19px;}
.liste-def dd{margin:0; color:#3C4232;}

.calendrier{margin-top:40px; border-top:1px solid var(--trait);}
.rdv{display:grid; grid-template-columns:minmax(120px,170px) 1fr auto; gap:20px; align-items:baseline; padding-block:22px; border-bottom:1px solid var(--trait);}
.rdv .quand{font-variant-numeric:tabular-nums; font-weight:600; color:var(--bois); font-size:15px;}
.rdv h3{font-size:22px;}
.rdv p{font-size:15px; color:#3C4232; margin-top:6px; max-width:60ch;}
.rdv .etat{font-size:13px; letter-spacing:.1em; text-transform:uppercase; color:#6B7160; white-space:nowrap;}
.rdv .etat.ouvert{color:var(--olive); font-weight:700;}

.attente{border:1px dashed var(--bois); background:rgba(138,100,64,.06); padding:18px 20px; margin-top:28px; font-size:15px;}
.attente strong{font-family:var(--display); font-weight:400; font-size:17px; display:block; margin-bottom:4px;}

.rappel{background:var(--creme-clair); border:1px solid var(--trait); padding:clamp(20px,3vw,28px); margin-top:36px;}
.rappel form{display:flex; flex-wrap:wrap; gap:10px; margin-top:14px;}
.rappel input{flex:1 1 240px; padding:12px 14px; border:1px solid var(--trait); background:#fff; font:inherit; font-size:16px; color:var(--encre);}
.rappel input:focus-visible{outline:2px solid var(--laiton); outline-offset:1px;}

.tableau-plats{width:100%; border-collapse:collapse; margin-top:12px;}
.tableau-plats td{padding:12px 0; border-bottom:1px solid var(--trait); vertical-align:top;}
.tableau-plats td:last-child{text-align:right; font-variant-numeric:tabular-nums; font-weight:600; white-space:nowrap; padding-left:16px;}

@media (max-width:900px){
  .etapes{grid-template-columns:1fr;}
  .etape{padding:22px 0;}
  .etape + .etape{border-left:0; border-top:1px solid var(--trait); padding-left:0;}
  .duo{grid-template-columns:1fr;}
  .liste-def > div{grid-template-columns:1fr; gap:6px;}
  .rdv{grid-template-columns:1fr; gap:6px;}
  .rdv .etat{margin-top:4px;}
}

/* ===== Fiche menu d'une occasion ===== */
.fiche-menu{border:1px solid var(--trait); background:var(--creme-clair); padding:clamp(24px,4vw,44px); margin-top:36px; max-width:680px; text-align:center;}
.fiche-menu .annee{display:block; font-family:var(--display); font-size:clamp(52px,8vw,80px); line-height:1; color:var(--laiton); font-variant-numeric:lining-nums;}
.fiche-menu h3{font-size:24px; margin-top:10px;}
.fiche-menu .quand-menu{display:block; margin-top:8px; font-size:13px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--bois);}
.fiche-menu ol{list-style:none; padding:0; margin:26px 0 0;}
.fiche-menu li{font-size:17px; line-height:1.5; padding-block:13px;}
.fiche-menu li + li{border-top:1px solid var(--trait);}
.fiche-menu .prix-menu{margin-top:20px; font-weight:700; font-variant-numeric:tabular-nums; color:var(--olive);}
.fiche-menu .mention{margin-top:12px; font-size:13px; color:#6B7160;}

/* ===== Photos (shooting 2026) ===== */
.photo{display:block; width:100%; height:auto; object-fit:cover; background:var(--creme-clair);}
figure{margin:0;}
figcaption{font-size:13px; color:#6B7160; margin-top:8px;}

.hero-photo{position:relative; overflow:hidden; background:var(--olive-profond);}
.hero-photo > img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:60% 40%;}
.hero-photo::before{content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg, rgba(35,40,28,.88) 0%, rgba(35,40,28,.66) 42%, rgba(35,40,28,.10) 78%);}
.hero-photo .enveloppe{position:relative; z-index:2; min-height:min(78vh,640px); display:flex; flex-direction:column; justify-content:flex-end;
  padding-block:clamp(64px,10vw,120px) clamp(44px,6vw,72px);}
.hero-photo h1{font-size:clamp(40px,6.4vw,76px); color:var(--creme-clair); max-width:13ch;}
.hero-photo .intro{margin-top:22px; font-size:clamp(17px,1.6vw,19px); color:#EDE5D4; max-width:34ch;}
.hero-photo .actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:32px;}
.hero-photo .surtitre{color:var(--laiton);}
.hero-photo h1,.hero-photo p{text-shadow:0 1px 14px rgba(20,24,14,.45);}
.hero-photo .credit{position:absolute; right:var(--gouttiere); bottom:16px; z-index:2; font-size:12px; color:#E4DCCB; opacity:.8;}

.page-entete.avec-photo{position:relative; overflow:hidden;}
.page-entete.avec-photo > img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.page-entete.avec-photo::before{content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg, rgba(52,55,34,.95) 0%, rgba(52,55,34,.82) 48%, rgba(52,55,34,.25) 100%);}
.page-entete.avec-photo .enveloppe{position:relative; z-index:2; padding-block:clamp(20px,4vw,48px);}

.mosaique{display:grid; grid-template-columns:repeat(6,1fr); grid-auto-rows:clamp(120px,15vw,190px); gap:10px; margin-top:36px;}
.mosaique figure{position:relative; overflow:hidden; height:100%; min-height:0;}
.mosaique img{width:100%; height:100%; object-fit:cover; transition:transform .6s ease;}
.mosaique figure:hover img{transform:scale(1.03);}
.mosaique figcaption{position:absolute; left:0; right:0; bottom:0; margin:0; padding:22px 12px 9px; color:#F8F3EC;
  background:linear-gradient(transparent, rgba(35,40,28,.78)); font-size:13px;}
.m-a{grid-column:span 4; grid-row:span 2;} .m-b{grid-column:span 2; grid-row:span 2;}
.m-c{grid-column:span 2;} .m-d{grid-column:span 2;} .m-e{grid-column:span 2;}

.bande-photo{margin-top:36px; border:1px solid var(--trait-fonce);}
.bande-photo img{aspect-ratio:21/9;}
.carte-photo{margin-top:30px;}
.carte-photo img{aspect-ratio:4/3;}

/* carte complète */
.rubriques{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,56px) clamp(28px,5vw,72px); margin-top:40px;}
.rubrique h3{font-size:24px; padding-bottom:10px; border-bottom:2px solid var(--laiton); margin-bottom:4px;}
.ligne{display:grid; grid-template-columns:1fr auto; gap:6px 16px; align-items:baseline; padding-block:14px; border-bottom:1px solid var(--trait);}
.ligne.avec-img{grid-template-columns:76px 1fr auto; align-items:center;}
.ligne .mini{width:76px; height:76px; object-fit:cover;}
.ligne .nom{font-family:var(--display); font-size:18px; line-height:1.25;}
.ligne .nom small{display:block; font-family:var(--texte); font-size:14px; color:#5B6150; margin-top:3px;}
.ligne .p{font-variant-numeric:tabular-nums; font-weight:600; white-space:nowrap;}
.signature{display:grid; grid-template-columns:1fr 1fr; gap:0; margin-top:48px; border:1px solid var(--trait); background:var(--creme-clair);}
.signature img{height:100%; min-height:320px; object-fit:cover;}
.signature .txt{padding:clamp(24px,4vw,44px);}
.signature ol{margin:16px 0 0; padding-left:20px;}
.signature li{padding-block:5px;}
.signature .prix{margin-top:18px; font-weight:700; color:var(--olive); font-variant-numeric:tabular-nums;}

/* salles */
.salles{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:32px;}
.salle img{aspect-ratio:4/3;}
.salle h3{font-size:19px; margin-top:12px;}
.salle p{font-size:15px; color:#3C4232; margin-top:4px;}

/* appel composer */
.appel{display:grid; grid-template-columns:1.1fr .9fr; gap:0; margin-top:32px; background:var(--olive); color:var(--creme-clair);}
.appel img{height:100%; min-height:300px; object-fit:cover;}
.appel .txt{padding:clamp(24px,4vw,44px);}
.appel h3{font-size:clamp(24px,2.6vw,32px); color:var(--creme-clair);}
.appel p{color:#DAD2C1; margin-top:12px;}
.appel .actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:24px;}

@media (max-width:900px){
  .hero-photo::before{background:linear-gradient(0deg, rgba(35,40,28,.94) 0%, rgba(35,40,28,.80) 55%, rgba(35,40,28,.45) 100%);}
  .hero-photo .enveloppe{min-height:560px;}
  .page-entete.avec-photo::before{background:linear-gradient(0deg, rgba(52,55,34,.95) 10%, rgba(52,55,34,.72) 100%);}
  .mosaique{grid-template-columns:1fr 1fr; grid-auto-rows:150px;}
  .m-a{grid-column:span 2; grid-row:span 2;} .m-b,.m-c,.m-d,.m-e{grid-column:span 1; grid-row:span 1;}
  .rubriques{grid-template-columns:1fr;}
  .signature, .appel{grid-template-columns:1fr;}
  .signature img, .appel img{min-height:220px; aspect-ratio:16/10;}
  .salles{grid-template-columns:1fr 1fr;}
}
@media (max-width:520px){ .salles{grid-template-columns:1fr;} .ligne.avec-img{grid-template-columns:60px 1fr auto;} .ligne .mini{width:60px;height:60px;} }


/* ================= v6 : site complet ================= */
.nav{gap:22px;}
.nav a{font-size:14.5px; white-space:nowrap;}
.nav a[aria-current="page"]{border-bottom-color:var(--olive);}
@media (max-width:1060px){
  .entete{position:static;}
  .bascule{display:block;}
  .nav{display:none; position:absolute; left:0; right:0; top:100%; z-index:70;
    flex-direction:column; align-items:stretch; gap:0;
    background:var(--creme); border-bottom:1px solid var(--trait); padding:8px var(--gouttiere) 20px;}
  .nav[data-ouvert]{display:flex;}
  .nav a{padding-block:12px; border-bottom:1px solid var(--trait);}
  .entete-interieur{position:relative;}
}
@media (max-width:760px){ .entete-action{display:none;} }

img{display:block;}
.photo{display:block; width:100%; height:auto; object-fit:cover; background:var(--creme-clair);}
figure{margin:0;}
figcaption{font-size:13px; color:#6B7160; margin-top:8px;}
.lien-fleche{font-weight:600; text-decoration:none; border-bottom:1px solid var(--laiton); padding-bottom:2px;}
.lien-fleche::after{content:" →";}

/* héros photo */
.hero-photo{position:relative; overflow:hidden; background:var(--olive-profond);}
.hero-photo > img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.hero-photo::before{content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg, rgba(35,40,28,.88) 0%, rgba(35,40,28,.62) 44%, rgba(35,40,28,.08) 80%);}
.hero-photo .enveloppe{position:relative; z-index:2; min-height:min(80vh,660px); display:flex; flex-direction:column; justify-content:flex-end;
  padding-block:clamp(64px,10vw,120px) clamp(44px,6vw,72px);}
.hero-photo h1{font-size:clamp(40px,6.4vw,76px); color:var(--creme-clair); max-width:13ch;}
.hero-photo .intro{margin-top:22px; font-size:clamp(17px,1.6vw,19px); color:#EDE5D4; max-width:36ch;}
.hero-photo .actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:32px;}
.hero-photo .surtitre{color:var(--laiton);}
.hero-photo h1,.hero-photo p{text-shadow:0 1px 14px rgba(20,24,14,.45);}

.page-entete.avec-photo{position:relative; overflow:hidden;}
.page-entete.avec-photo > img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.page-entete.avec-photo::before{content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg, rgba(52,55,34,.95) 0%, rgba(52,55,34,.82) 50%, rgba(52,55,34,.22) 100%);}
.page-entete.avec-photo .enveloppe{position:relative; z-index:2; padding-block:clamp(24px,5vw,64px);}
.page-entete .actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:26px;}

/* cartes de navigation (produits) */
.cartes{display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:22px; margin-top:34px;}
.carte-lien{display:flex; flex-direction:column; text-decoration:none; color:inherit; background:var(--creme-clair); border:1px solid var(--trait); transition:border-color .2s ease, transform .2s ease;}
.carte-lien:hover{border-color:var(--laiton); transform:translateY(-2px);}
.carte-lien img{aspect-ratio:4/3; width:100%; object-fit:cover;}
.carte-lien .txt{padding:16px 18px 20px; display:flex; flex-direction:column; gap:6px; flex:1;}
.carte-lien .tag{font-size:11.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--bois);}
.carte-lien h3{font-size:21px;}
.carte-lien p{font-size:15px; color:#3C4232;}
.carte-lien .suite{margin-top:auto; padding-top:8px; font-size:14px; font-weight:600; color:var(--olive);}
.carte-lien .suite::after{content:" →";}
.carte-lien[hidden]{display:none;}
.sur-olive .carte-lien{background:var(--olive-profond); border-color:var(--trait-fonce); color:var(--creme-clair);}
.sur-olive .carte-lien p{color:#DAD2C1;} .sur-olive .carte-lien .suite{color:var(--laiton);} .sur-olive .carte-lien .tag{color:var(--laiton);}

.filtres{display:flex; flex-wrap:wrap; gap:8px; margin-top:26px;}
.filtres button{font:inherit; font-size:14.5px; padding:9px 16px; border:1px solid var(--trait); background:var(--creme-clair); color:var(--encre); cursor:pointer; border-radius:999px;}
.filtres button[aria-pressed="true"]{background:var(--olive); border-color:var(--olive); color:var(--creme-clair);}

/* mosaïque */
.mosaique{display:grid; grid-template-columns:repeat(6,1fr); grid-auto-rows:clamp(120px,15vw,190px); gap:10px; margin-top:36px;}
.mosaique figure{position:relative; overflow:hidden; height:100%; min-height:0;}
.mosaique img{width:100%; height:100%; object-fit:cover; transition:transform .6s ease;}
.mosaique figure:hover img{transform:scale(1.03);}
.mosaique figcaption{position:absolute; left:0; right:0; bottom:0; margin:0; padding:22px 12px 9px; color:#F8F3EC; background:linear-gradient(transparent, rgba(35,40,28,.78)); font-size:13px;}
.m-a{grid-column:span 4; grid-row:span 2;} .m-b{grid-column:span 2; grid-row:span 2;} .m-c,.m-d,.m-e{grid-column:span 2;}

/* rangée de 3 photos */
.trio{display:grid; grid-template-columns:2fr 1fr 1fr; gap:10px; margin-top:32px;}
.trio img{width:100%; height:100%; aspect-ratio:auto; object-fit:cover; max-height:420px;}
.trio figure{min-height:220px;}

/* bloc texte + photo */
.duo-photo{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,72px); align-items:center;}
.duo-photo.inverse > :first-child{order:2;}
.duo-photo img{aspect-ratio:4/5; width:100%; object-fit:cover;}
.duo-photo .paysage img{aspect-ratio:4/3;}
.points{list-style:none; padding:0; margin:22px 0 0;}
.points li{padding:12px 0 12px 28px; border-top:1px solid var(--trait); position:relative; color:#3C4232;}
.points li::before{content:""; position:absolute; left:4px; top:21px; width:9px; height:9px; background:var(--laiton); transform:rotate(45deg);}
.points strong{color:var(--encre); font-weight:600;}

/* menus de banquet */
.menus-banquet{display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:24px; margin-top:36px;}
.mb{background:var(--creme-clair); border:1px solid var(--trait); display:flex; flex-direction:column; scroll-margin-top:90px;}
.mb > img{aspect-ratio:16/10; width:100%; object-fit:cover;}
.mb .corps{padding:22px 24px 24px; display:flex; flex-direction:column; flex:1;}
.mb .pour{font-size:11.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--bois);}
.mb h3{font-size:27px; margin-top:6px;}
.mb .accroche{font-size:15px; color:#5B6150; margin-top:6px;}
.mb ol{list-style:none; padding:0; margin:16px 0 0; text-align:center;}
.mb ol li{padding:11px 0; font-family:var(--display); font-size:17.5px; line-height:1.3;}
.mb ol li small{display:block; font-family:var(--texte); font-size:13.5px; color:#6B7160; margin-top:3px;}
.mb ol li + li{border-top:1px solid var(--trait);}
.mb ol li.ou{font-family:var(--texte); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--bois); padding:2px 0; border:0;}
.mb ol li.ou + li{border-top:0;}
.mb .variantes{font-size:14px; color:#3C4232; margin-top:14px; padding-top:12px; border-top:1px dashed var(--trait);}
.mb .variantes b{font-weight:600;}
.mb .prix-mb{margin-top:12px; font-weight:700; color:var(--olive); font-variant-numeric:tabular-nums;}
.mb .actions{margin-top:auto; padding-top:18px; display:flex; flex-wrap:wrap; gap:10px;}
.mb.saison{border-color:var(--laiton); box-shadow:inset 0 0 0 1px var(--laiton);}
.ruban{display:inline-block; background:var(--laiton); color:var(--olive-profond); font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:4px 10px; margin-bottom:8px; align-self:flex-start;}

/* salles */
.salle-bloc{display:grid; grid-template-columns:1.25fr 1fr; gap:clamp(24px,4vw,56px); align-items:start; padding-block:clamp(36px,5vw,64px); border-top:1px solid var(--trait); scroll-margin-top:80px;}
.salle-bloc:first-of-type{border-top:0;}
.salle-photos{display:grid; grid-template-columns:2fr 1fr; grid-template-rows:1fr 1fr; gap:8px; aspect-ratio:16/11;}
.salle-photos img{width:100%; height:100%; object-fit:cover;}
.salle-photos img:first-child{grid-row:span 2;}
.salle-bloc h2{font-size:clamp(28px,3vw,38px);}
.fiche-salle{margin-top:20px; border-top:1px solid var(--trait);}
.fiche-salle div{display:grid; grid-template-columns:130px 1fr; gap:14px; padding:10px 0; border-bottom:1px solid var(--trait); font-size:15.5px;}
.fiche-salle dt{color:var(--bois); font-weight:600; font-size:14px;}
.fiche-salle dd{margin:0;}
.a-confirmer{font-size:12px; color:#8A6440; background:rgba(195,155,82,.16); padding:1px 6px; white-space:nowrap;}
.salles-mini{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:32px;}
.salles-mini a{text-decoration:none; color:inherit;}
.salles-mini img{aspect-ratio:4/3; width:100%; object-fit:cover;}
.salles-mini h3{font-size:19px; margin-top:12px;}
.salles-mini p{font-size:14.5px; color:#3C4232; margin-top:4px;}
.sur-olive .salles-mini p{color:#DAD2C1;} .sur-olive .salles-mini h3{color:var(--creme-clair);}

/* faq */
.faq{margin-top:30px; border-top:1px solid var(--trait);}
.faq details{border-bottom:1px solid var(--trait);}
.faq summary{cursor:pointer; list-style:none; padding:18px 36px 18px 0; position:relative; font-family:var(--display); font-size:19px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+"; position:absolute; right:4px; top:14px; font-family:var(--texte); font-size:24px; color:var(--bois);}
.faq details[open] summary::after{content:"–";}
.faq details p{padding:0 0 18px; color:#3C4232; max-width:70ch;}

/* bandeau d'appel */
.appel{display:grid; grid-template-columns:1.1fr .9fr; margin-top:32px; background:var(--olive); color:var(--creme-clair);}
.appel img{height:100%; min-height:300px; width:100%; object-fit:cover;}
.appel .txt{padding:clamp(24px,4vw,44px); align-self:center;}
.appel h2,.appel h3{font-size:clamp(26px,2.8vw,34px); color:var(--creme-clair);}
.appel p{color:#DAD2C1; margin-top:12px;}
.appel .actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:24px;}

/* carte (menu) */
.rubriques{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,56px) clamp(28px,5vw,72px); margin-top:40px;}
.rubrique h3{font-size:24px; padding-bottom:10px; border-bottom:2px solid var(--laiton); margin-bottom:4px;}
.ligne{display:grid; grid-template-columns:1fr auto; gap:6px 16px; align-items:baseline; padding-block:14px; border-bottom:1px solid var(--trait);}
.ligne.avec-img{grid-template-columns:76px 1fr auto; align-items:center;}
.ligne .mini{width:76px; height:76px; object-fit:cover;}
.ligne .nom{font-family:var(--display); font-size:18px; line-height:1.25;}
.ligne .nom small{display:block; font-family:var(--texte); font-size:14px; color:#5B6150; margin-top:3px;}
.ligne .p{font-variant-numeric:tabular-nums; font-weight:600; white-space:nowrap;}
.signature{display:grid; grid-template-columns:1fr 1fr; margin-top:48px; border:1px solid var(--trait); background:var(--creme-clair);}
.signature img{height:100%; min-height:320px; width:100%; object-fit:cover;}
.signature .txt{padding:clamp(24px,4vw,44px);}
.signature ol{margin:16px 0 0; padding-left:20px;} .signature li{padding-block:5px;}
.signature .prix{margin-top:18px; font-weight:700; color:var(--olive); font-variant-numeric:tabular-nums;}

/* pied de page étendu */
footer .pied-grille{display:grid; grid-template-columns:1.2fr 1fr 1fr 1fr; gap:32px 40px;}
footer h4{font-family:var(--texte); font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--laiton); margin:0 0 12px;}
footer .pied-liens a{font-size:14.5px;}
.logo-pied{width:150px;}

/* fil d'Ariane */
.fil a{color:#D7CFBE;}

/* merci */
.merci{max-width:640px; margin-inline:auto; text-align:center; padding-block:clamp(60px,9vw,110px);}
.merci .coche{width:64px; height:64px; border-radius:50%; background:var(--olive); color:var(--creme-clair); display:flex; align-items:center; justify-content:center; font-size:30px; margin:0 auto 18px;}

@media (max-width:900px){
  .hero-photo::before{background:linear-gradient(0deg, rgba(35,40,28,.94) 0%, rgba(35,40,28,.80) 55%, rgba(35,40,28,.45) 100%);}
  .hero-photo .enveloppe{min-height:560px;}
  .page-entete.avec-photo::before{background:linear-gradient(0deg, rgba(52,55,34,.95) 10%, rgba(52,55,34,.74) 100%);}
  .mosaique{grid-template-columns:1fr 1fr; grid-auto-rows:150px;}
  .m-a{grid-column:span 2; grid-row:span 2;} .m-b,.m-c,.m-d,.m-e{grid-column:span 1; grid-row:span 1;}
  .duo-photo, .salle-bloc, .appel, .signature, .rubriques{grid-template-columns:1fr;}
  .duo-photo.inverse > :first-child{order:0;}
  .duo-photo img{aspect-ratio:4/3;}
  .appel img, .signature img{min-height:220px; aspect-ratio:16/10;}
  .salles-mini{grid-template-columns:1fr 1fr;}
  .trio{grid-template-columns:1fr 1fr;} .trio figure:first-child{grid-column:span 2;}
  footer .pied-grille{grid-template-columns:1fr 1fr;}
}
@media (max-width:520px){
  .salles-mini{grid-template-columns:1fr;}
  .ligne.avec-img{grid-template-columns:60px 1fr auto;} .ligne .mini{width:60px;height:60px;}
  footer .pied-grille{grid-template-columns:1fr;}
  .fiche-salle div{grid-template-columns:1fr; gap:2px;}
}

/* ---- v7 : menus à prix fixe avec choix ---- */
.mb .prix-menu{margin-top:6px; color:var(--bois); font-size:14px;}
.mb .prix-menu b{font-family:var(--display); font-size:30px; color:var(--olive); font-weight:600; margin-right:4px;}
.mb .services{margin-top:14px;}
.mb .service{padding:12px 0; border-top:1px solid var(--trait);}
.mb .service h4{font-family:var(--texte); font-size:11.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--bois); margin:0 0 6px;}
.mb .service ul{list-style:none; margin:0; padding:0;}
.mb .service li{font-family:var(--display); font-size:17px; line-height:1.3; padding:5px 0;}
.mb .service li small{display:block; font-family:var(--texte); font-size:13px; color:#6B7160; margin-top:1px;}
.mb .service li em.supp{font-style:normal; font-family:var(--texte); font-size:12.5px; font-weight:700; color:var(--bois); margin-left:6px;}
.grille-prix{display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:28px; margin-top:28px;}
.grille-prix h3{font-size:22px; margin-bottom:8px;}
.grille-prix .ligne{display:flex; justify-content:space-between; gap:12px; padding:7px 0; border-bottom:1px dotted var(--trait); font-size:15px;}
.grille-prix .ligne .px{font-variant-numeric:tabular-nums; font-weight:600; color:var(--olive); white-space:nowrap;}
.grille-prix .ligne small{display:block; color:#6B7160; font-size:12.5px;}
.grille-prix .saison-tag{font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--bois); margin-left:6px;}
.rubrique .ligne .px{float:right; font-variant-numeric:tabular-nums; font-weight:600; color:var(--olive);}
.rubriques.trois{grid-template-columns:repeat(3,1fr);}
@media (max-width:900px){ .rubriques.trois{grid-template-columns:1fr;} }
.menus-banquet.quatre{grid-template-columns:repeat(4,1fr); gap:18px;}
.menus-banquet.quatre .mb .corps{padding:18px 18px 20px;}
@media (max-width:1100px){ .menus-banquet.quatre{grid-template-columns:repeat(2,1fr);} }
@media (max-width:640px){ .menus-banquet.quatre{grid-template-columns:1fr;} }

/* ================= Sélecteur de langue ================= */
.langues{display:flex; gap:2px; margin-left:auto; font-size:12.5px; font-weight:600; letter-spacing:.06em;}
.langues a{padding:5px 6px; text-decoration:none; color:#6B7160; border-bottom:1px solid transparent;}
.langues a:hover{color:var(--olive);}
.langues a[aria-current]{color:var(--olive); border-bottom-color:var(--olive);}
.entete-interieur .nav{margin-left:auto;}
.entete-interieur .langues{margin-left:18px; order:3;}
.entete-interieur .entete-action{order:4;}
@media (max-width:1060px){
  .marque{order:-1;}
  .entete-interieur .langues{margin-left:auto; order:1;}
  .entete-interieur .bascule{order:2;}
}
@media (max-width:400px){ .langues a{padding:5px 4px;} }

/* ================= Carte des vins, téléchargements, impression (PDF) ================= */
.rubrique .region{font-family:var(--texte); font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--bois); margin:18px 0 0;}
.telechargements{display:flex; flex-wrap:wrap; gap:10px; margin-top:18px;}
.telechargements .bouton{color:var(--olive);}
.impression-seule{display:none;}
@page{size:A4; margin:14mm 15mm 14mm;}
@media print{
  html, body{background:#fff !important;}
  body{font-size:10.5pt; padding:0 !important; color:var(--encre);}
  .entete, footer, .barre-mobile, .evitement, .pas-imprime, .page-entete img, .page-entete .fil, .page-entete .actions, .ligne img.mini, .signature img.photo{display:none !important;}
  .impression-seule{display:flex !important; align-items:center; justify-content:space-between; gap:20px; border-bottom:1.5px solid var(--laiton); padding-bottom:4mm; margin-bottom:2mm;}
  .impression-seule .logo{width:34mm;}
  .impression-seule p{font-size:9pt; color:#5B6150;}
  .page-entete, .page-entete.avec-photo{background:none !important; color:var(--olive) !important; min-height:0 !important; padding:4mm 0 0 !important;}
  .page-entete .enveloppe{padding:0 !important; min-height:0 !important;}
  .page-entete h1{font-size:26pt; color:var(--olive) !important;}
  .page-entete .intro, .page-entete .surtitre{color:#3C4232 !important; max-width:none;}
  .enveloppe{max-width:none !important; padding-inline:0 !important;}
  section, section.carte{padding-block:5mm !important; background:none !important;}
  .titre-section{font-size:18pt;}
  .rubriques, .rubriques.vins{display:block !important; columns:2; column-gap:10mm;}
  .rubrique{margin-bottom:6mm;}
  .rubrique{break-inside:auto;}
  .rubrique h3, .rubrique .region{break-after:avoid;}
  .ligne{break-inside:avoid;}
  .page-entete.avec-photo::before, .page-entete::after{display:none !important; content:none !important;}
  .rubrique h3{font-size:14pt; padding-bottom:1.5mm;}
  .ligne{padding-block:1.6mm !important; grid-template-columns:1fr auto !important;}
  .ligne small{font-size:8.5pt;}
  .signature{display:block !important; break-inside:avoid; border:1px solid var(--laiton); padding:5mm; margin-top:5mm; background:none !important; color:var(--encre) !important;}
  .signature .txt{padding:0 !important;}
  .signature *{color:var(--encre) !important;}
  .note-prix{font-size:8.5pt;}
  a{text-decoration:none; color:inherit;}
}

.evitement{position:absolute; left:-999px; top:8px; background:var(--olive); color:var(--creme-clair); padding:8px 14px; z-index:100;}
.evitement:focus{left:8px;}
.nav-mobile-seul{display:none;}
@media (max-width:1060px){ .nav-mobile-seul{display:block;} }

/* ================= v6.1 : corrections mobile (05.10.2026) ================= */
.barre-mobile:empty{display:none !important;}
@media (max-width:640px){
  body{font-size:16px;}
  /* en-tête plus compact, reste visible au défilement */
  .entete{position:sticky; top:0;}
  .entete-interieur{padding-block:8px;}
  .logo{width:92px;}
  .bascule{padding:8px 14px;}
  /* barre d'action du bas : plus basse, texte sur une ligne */
  body{padding-bottom:68px;}
  .barre-mobile{padding-top:8px; padding-bottom:calc(8px + env(safe-area-inset-bottom,0px)); gap:8px;}
  .barre-mobile .bouton{padding:11px 8px; font-size:15px; white-space:nowrap;}
  /* titres */
  .titre-section{max-width:none; font-size:28px; hyphens:manual;}
  .surtitre{letter-spacing:.12em; font-size:11.5px;}
  section{padding-block:44px;}
  /* héros d'accueil : laisse voir la photo et le bandeau chasse */
  .hero-photo .enveloppe{min-height:0; padding-block:150px 32px;}
  .hero-photo h1{font-size:38px;}
  .hero-photo .intro{font-size:16.5px; margin-top:14px;}
  .hero-photo .actions, .page-entete .actions{margin-top:22px; flex-direction:column; gap:10px;}
  .hero-photo .actions .bouton, .page-entete .actions .bouton{width:100%; text-align:center;}
  .hero-photo::before{background:linear-gradient(0deg, rgba(35,40,28,.95) 0%, rgba(35,40,28,.82) 62%, rgba(35,40,28,.35) 100%);}
  .hero-photo .enveloppe{padding-top:190px;}
  .hero-photo .surtitre{text-shadow:0 1px 8px rgba(20,24,14,.8);}
  /* en-têtes des pages intérieures : la photo redevient visible */
  .page-entete.avec-photo .enveloppe{padding-block:120px 28px;}
  .page-entete.avec-photo::before{background:linear-gradient(0deg, rgba(52,55,34,.96) 0%, rgba(52,55,34,.80) 55%, rgba(52,55,34,.20) 100%);}
  .page-entete h1{font-size:32px;}
  .page-entete .intro{font-size:16px; margin-top:12px;}
  /* cartes : format liste (vignette + texte), 3 fois moins hautes */
  .cartes{grid-template-columns:1fr; gap:10px; margin-top:24px;}
  .carte-lien{flex-direction:row; align-items:stretch;}
  .carte-lien img{width:112px; min-height:112px; height:auto; aspect-ratio:auto; flex:none;}
  .carte-lien .txt{padding:12px 14px; gap:3px; justify-content:center;}
  .carte-lien .tag{font-size:10.5px; letter-spacing:.1em;}
  .carte-lien h3{font-size:18px; line-height:1.15;}
  .carte-lien p{font-size:13.5px; line-height:1.4;}
  .carte-lien .suite{display:none;}
  /* filtres sur une seule ligne, défilement horizontal */
  .filtres{flex-wrap:nowrap; overflow-x:auto; margin-inline:calc(-1 * var(--gouttiere)); padding-inline:var(--gouttiere); padding-bottom:6px; scrollbar-width:none;}
  .filtres::-webkit-scrollbar{display:none;}
  .filtres button{flex:none; white-space:nowrap; font-size:14px; padding:8px 14px;}
  /* salles de l'accueil en 2 colonnes */
  .salles-mini{grid-template-columns:1fr 1fr !important; gap:14px;}
  .salles-mini h3{font-size:17px;}
  .salles-mini p{font-size:13.5px;}
  /* galerie : pas de photo orpheline */
  .mosaique{grid-auto-rows:130px; gap:6px;}
  .mosaique figure:last-child:nth-child(even){grid-column:span 2;}
  /* carte : l'extrait doublonne la carte complète */
  .carte-grille .ardoise{display:none;}
  /* pied de page : liens sur 2 colonnes */
  footer .pied-grille{gap:26px;}
  footer .pied-liens{display:grid; grid-template-columns:1fr 1fr; gap:4px 14px;}
  footer .pied-liens a{font-size:14px;}
  .logo-pied{width:120px;}
}
