/* Les Petits Plats d'Isa — feuille de style du site */
@font-face{font-family:"Playfair";font-weight:700;font-display:swap;src:url(fonts/playfair-display-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Montserrat";font-weight:400;font-display:swap;src:url(fonts/montserrat-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Montserrat";font-weight:600;font-display:swap;src:url(fonts/montserrat-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Montserrat";font-weight:700;font-display:swap;src:url(fonts/montserrat-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"GreatVibes";font-display:swap;src:url(fonts/great-vibes-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant";font-style:italic;font-weight:600;font-display:swap;src:url(fonts/cormorant-garamond-latin-600-italic.woff2) format("woff2")}

:root{
  --vert:#2E4A2F; --vert2:#4F6B4A; --sauge:#E4EBDD; --creme:#FBF7EF; --lin:#F4EFE4;
  --peche:#FBEDE1; --terre:#A9582A; --or:#B08A48; --encre:#2B2A26; --gris:#55534C;
  --r:14px; --max:1100px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--creme);color:var(--encre);font-family:"Montserrat",system-ui,sans-serif;font-size:17px;line-height:1.6;font-variant-numeric:lining-nums}
img{max-width:100%;height:auto;display:block}
a{color:var(--vert)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:"Playfair",Georgia,serif;color:var(--vert);line-height:1.2}
h2{font-size:clamp(1.6rem,3.5vw,2.2rem);text-align:center;margin-bottom:.4em;letter-spacing:.02em}
.lead{text-align:center;color:var(--gris);max-width:640px;margin:0 auto 2.2rem}
section{padding:72px 0}
.script{font-family:"GreatVibes",cursive;font-weight:400}

/* En-tête */
.top{position:sticky;top:0;z-index:10;background:rgba(251,247,239,.94);backdrop-filter:blur(6px);border-bottom:1px solid #E7DFCF}
.top .wrap{display:flex;align-items:center;gap:18px;height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--vert);font-family:"Playfair",serif;font-size:1.05rem;white-space:nowrap}
.brand img{width:46px;height:46px}
.nav{margin-left:auto;display:flex;gap:22px;align-items:center}
.nav a{text-decoration:none;font-weight:600;font-size:.92rem;color:var(--encre);white-space:nowrap}
.nav a:hover{color:var(--terre)}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--vert);color:#fff !important;text-decoration:none;font-weight:700;padding:12px 22px;border-radius:40px;font-size:.95rem;transition:background .2s}
.btn:hover{background:var(--vert2)}
.btn.clair{background:#fff;color:var(--vert) !important;border:2px solid var(--vert)}
.btn.clair:hover{background:var(--sauge)}
.btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Accueil */
.hero{padding:48px 0 56px;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:32px;align-items:center}
.hero .tag{font-size:clamp(2.1rem,4.6vw,3.2rem);color:var(--vert);line-height:1.05;margin-bottom:14px}
.hero h1{font-size:clamp(1.25rem,2.4vw,1.6rem);margin-bottom:14px}
.hero .sous{font-family:"Cormorant",serif;font-style:italic;font-weight:600;font-size:1.35rem;color:var(--terre);margin-bottom:22px}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}
.pastille{display:inline-block;background:var(--sauge);color:var(--vert);font-weight:600;font-size:.88rem;padding:6px 14px;border-radius:30px}
.hero .visuel{position:relative}
.hero .visuel img.plat{width:100%;border-radius:0}
.hero .visuel img.logo{position:absolute;left:-6%;bottom:-4%;width:38%;filter:drop-shadow(0 6px 14px rgba(0,0,0,.12))}

/* Étapes */
.etapes{background:var(--lin)}
.grille4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.etape{background:#fff;border-radius:var(--r);padding:26px 22px;text-align:center;position:relative}
.etape .num{position:absolute;top:-16px;left:50%;transform:translateX(-50%);width:34px;height:34px;border-radius:50%;background:var(--vert);color:#fff;font-family:"Playfair",serif;font-weight:700;display:flex;align-items:center;justify-content:center}
.ic{width:60px;height:60px;border-radius:50%;background:var(--sauge);display:flex;align-items:center;justify-content:center;margin:8px auto 14px}
.ic svg{width:30px;height:30px;stroke:var(--vert);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.etape h3,.atout h3{font-family:"Montserrat",sans-serif;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}
.etape p,.atout p{font-size:.95rem;color:var(--gris)}

/* Atouts */
.grille3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.atout{text-align:center;padding:10px 18px}

/* Tarifs */
.tarifs{background:var(--lin)}
.carte{background:#fff;border:1px solid #DCD3C0;border-radius:var(--r);padding:34px 26px 28px;text-align:center;position:relative;display:flex;flex-direction:column}
.carte.reco{background:var(--peche);border:2px solid var(--terre)}
.badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--terre);color:#fff;font-weight:700;font-size:.72rem;letter-spacing:.12em;padding:4px 14px;border-radius:6px;white-space:nowrap}
.carte h3{font-size:1.35rem;letter-spacing:.06em}
.prix{font-family:"Playfair",serif;font-weight:700;font-size:2.6rem;color:var(--vert);margin-top:6px;line-height:1.1}
.prix small{font-family:"Montserrat",sans-serif;font-weight:600;font-size:.9rem;color:var(--gris)}
.apres{display:inline-block;margin:10px auto 18px;background:var(--sauge);color:var(--vert);font-weight:600;font-size:.88rem;padding:5px 14px;border-radius:30px}
.carte ul{list-style:none;text-align:left;font-size:.95rem;margin-bottom:6px}
.carte li{padding-left:24px;position:relative;margin-bottom:6px}
.carte li:before{content:"✓";position:absolute;left:0;color:var(--or);font-weight:700}
.note{text-align:center;font-size:.85rem;color:var(--gris);margin-top:22px}

/* Crédit d'impôt */
.credit .boite{background:#fff;border-radius:var(--r);padding:34px;display:grid;grid-template-columns:1fr 1fr;gap:34px;border:1px solid #E7DFCF}
.credit h3{font-size:1.25rem;margin-bottom:10px}
.credit p{color:var(--gris);margin-bottom:10px}
.exemple{align-self:center;background:var(--sauge);border-radius:10px;padding:18px 22px}
.exemple .ligne{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px dashed #B9C6AF}
.exemple .ligne:last-child{border:0;font-weight:700;color:var(--vert)}

/* Zone + FAQ */
.zone p{text-align:center;max-width:720px;margin:0 auto;color:var(--gris)}
.villes{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px}
.villes span{background:#fff;border:1px solid #E1D8C6;border-radius:30px;padding:5px 14px;font-size:.9rem}
.faq{background:var(--lin)}
.faq details{background:#fff;border-radius:10px;margin:0 auto 12px;max-width:780px;padding:16px 22px}
.faq summary{cursor:pointer;font-weight:700;color:var(--vert);list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::after{content:"+";font-size:1.4rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin-top:10px;color:var(--gris)}

/* Contact */
.contact{text-align:center}
.contact .script{font-size:clamp(2.4rem,5vw,3.4rem);color:var(--vert)}
.contact .cta{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin:22px 0 10px}
.contact .zonetxt{color:var(--gris)}

/* Pied de page */
footer{background:var(--vert);color:#E9EFE4;font-size:.85rem;padding:36px 0 28px}
footer .wrap{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
footer img{width:90px;border-radius:6px;background:#fff;padding:4px}
footer a{color:#fff}
footer .liens{margin-top:8px;display:flex;flex-wrap:wrap;gap:16px}
footer .petit{opacity:.85;margin-top:6px;max-width:760px}

/* Pages légales */
.legal{padding:48px 0 72px}
.legal .wrap{max-width:820px}
.legal h1{font-size:2rem;margin-bottom:6px}
.legal h2{text-align:left;font-size:1.3rem;margin:1.8em 0 .5em}
.legal p,.legal li{margin-bottom:.7em;color:#3a3833}
.legal ul,.legal ol{padding-left:1.4em;margin-bottom:1em}
.legal table{border-collapse:collapse;width:100%;margin:1em 0;font-size:.92rem}
.legal th,.legal td{border:1px solid #DCD3C0;padding:8px 10px;text-align:left;vertical-align:top}
.legal th{background:var(--sauge)}
.legal blockquote{background:#fff;border-left:4px solid var(--or);padding:14px 18px;margin:1em 0}
.retour{display:inline-block;margin-bottom:24px;font-weight:600}

/* Téléphone */
.brand{flex:none}
@media (max-width:1300px){.nav{gap:16px}.nav a{font-size:.86rem}}
@media (max-width:1180px){.top .brand span{display:none}}
@media (max-width:900px){
  .hero .wrap{grid-template-columns:1fr}
  .hero .visuel{order:-1;max-width:520px;margin:0 auto}
  .grille4{grid-template-columns:1fr 1fr;row-gap:36px}
  .grille3{grid-template-columns:1fr}
  .credit .boite{grid-template-columns:1fr;padding:24px}
  .nav a:not(.btn){display:none}
}
@media (max-width:560px){
  body{font-size:16px}
  section{padding:52px 0}
  .grille4{grid-template-columns:1fr}
  .brand span{display:none}
  .nav .btn{padding:10px 16px}
}
.exemple .ligne span:last-child{white-space:nowrap;margin-left:12px}
@media (max-width:900px){.hero .visuel img.logo{left:2%;width:30%}}

/* Page des plats */
.plats-intro{padding:48px 0 20px;text-align:center}
.plats-intro h1{font-size:clamp(2rem,4vw,2.6rem);margin-bottom:10px}
.titre-script{font-size:clamp(1.8rem,4vw,2.4rem);color:var(--terre);margin-bottom:4px}
.legende{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}
.plats-liste{padding-top:24px}
.categorie{margin-bottom:48px}
.categorie h2{text-align:left;border-bottom:2px solid var(--sauge);padding-bottom:8px;margin-bottom:18px}
.grille-plats{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.plat{background:#fff;border:1px solid #E7DFCF;border-radius:12px;padding:18px 18px 16px}
.plat h3{font-size:1.1rem;margin-bottom:4px}
.plat p{font-size:.92rem;color:var(--gris);margin-bottom:10px}
.tag{display:inline-block;font-size:.74rem;font-weight:600;padding:3px 10px;border-radius:20px;margin:0 4px 4px 0}
.tag.eco{background:#FBEDE1;color:#8A4520}
.tag.congel{background:#E3ECF2;color:#2F4F66}
.tag.vege{background:var(--sauge);color:var(--vert)}
.semaine{background:var(--lin);border-radius:var(--r);padding:34px 28px;margin-top:10px}
.semaine ol{max-width:520px;margin:0 auto;padding-left:1.4em;columns:2;column-gap:40px}
.semaine li{margin-bottom:8px;break-inside:avoid}
/* Encart plats sur l'accueil */
.encart-plats{background:var(--peche);border-radius:var(--r);padding:34px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:44px}
.encart-plats h3{font-size:1.4rem;margin-bottom:6px}
.encart-plats p{color:var(--gris);max-width:560px}
@media (max-width:560px){.semaine ol{columns:1}.encart-plats{padding:24px}}
.tag.vide{background:#EFE7F5;color:#5B3F73}
.sousvide{display:flex;gap:14px;align-items:center;max-width:720px;margin:18px auto 0;background:#fff;border:1px solid #E7DFCF;border-radius:12px;padding:14px 18px;text-align:left}
.sousvide svg{flex:none;width:30px;height:30px;stroke:#5B3F73;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sousvide p{font-size:.93rem;color:var(--gris)}
.tag.vide{background:#EFE7F5;color:#5B3F73}
.sousvide{display:flex;gap:14px;align-items:center;max-width:720px;margin:18px auto 0;background:#fff;border:1px solid #E7DFCF;border-radius:12px;padding:14px 18px;text-align:left}
.sousvide svg{flex:none;width:30px;height:30px;stroke:#5B3F73;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sousvide p{font-size:.93rem;color:var(--gris)}
.etiquette-bloc{display:grid;grid-template-columns:320px 1fr;gap:36px;align-items:center;max-width:900px;margin:36px auto 0;text-align:left}
.etiquette-bloc h2{text-align:left;font-size:1.6rem}
.etiquette-bloc p{color:var(--gris);margin-bottom:8px}
.etiquette{background:#fff;border:2px dashed var(--or);border-radius:12px;padding:18px 20px;box-shadow:0 6px 18px rgba(46,74,47,.08);transform:rotate(-1.5deg)}
.etiquette p{margin:0}
.et-titre{font-family:"Playfair",serif;font-weight:700;font-size:1.25rem;color:var(--vert) !important;margin-bottom:6px !important}
.et-ligne{font-size:.85rem}
.et-rechauffe{background:var(--sauge);border-radius:8px;padding:10px 12px;margin-top:10px}
.et-rechauffe p{font-size:.88rem;color:var(--vert) !important}
.et-exemple{font-size:.72rem;text-align:right;margin-top:8px !important;font-style:italic}
@media (max-width:700px){.etiquette-bloc{grid-template-columns:1fr}.etiquette{max-width:320px;margin:0 auto}}
.surmesure{max-width:760px;margin:26px auto 0;background:#fff;border:1px dashed var(--terre);border-radius:12px;padding:14px 20px;text-align:center;color:var(--gris)}
.surmesure a{font-weight:700;margin-left:4px}
.carte li.opt{color:var(--terre);font-weight:600}
.carte li.opt:before{content:"+";color:var(--terre)}
.opt-note{color:var(--terre);font-weight:600;margin:-8px 0 16px;font-size:.95rem}
.sap-credit{display:block;margin:0 auto 14px;width:120px;border-radius:8px}

/* Qui suis-je */
.quisuisje{background:#fff}
.quisuisje .wrap{display:grid;grid-template-columns:320px 1fr;gap:48px;align-items:center}
.quisuisje .portrait{width:300px;height:300px;border-radius:50%;background:var(--creme);border:6px solid var(--sauge);box-shadow:0 0 0 2px var(--or);display:flex;align-items:center;justify-content:center;overflow:hidden;margin:0 auto}
.quisuisje .portrait img{width:78%}
.quisuisje .portrait img.photo{width:100%;height:100%;object-fit:cover}
.quisuisje .script{font-family:"GreatVibes",cursive;font-size:2rem;color:var(--terre);line-height:1}
.quisuisje h2{text-align:left}
.quisuisje .texte p{margin-bottom:.8em}
@media (max-width:900px){.quisuisje .wrap{grid-template-columns:1fr;gap:24px}.quisuisje .portrait{width:220px;height:220px}.quisuisje h2,.quisuisje .script{text-align:center}}
.tag.saison,.tag.hiver{background:#F3E4C8;color:#7A5418}
.tag.ete{background:#FFF0C7;color:#6E5200}
