/* Style des pages recettes et pages locales — La Cagette Nîmoise */
:root{
  --kraft:#E3D9C3; --kraft-2:#D6C8A9; --kraft-3:#C9B993; --craie:#F8F3E7;
  --encre:#1E3A62; --e60:rgba(30,58,98,.62); --e30:rgba(30,58,98,.28); --e12:rgba(30,58,98,.12);
  --tomate:#C1402B; --olive:#6B7A3A;
  --disp:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --serif:Georgia,"Iowan Old Style","Times New Roman",serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,"Courier New",monospace;
  --pad:clamp(1.2rem,4vw,3rem);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--kraft);color:var(--encre);
  font-family:var(--serif);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9;opacity:.14;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}
img{max-width:100%;display:block}
a{color:var(--tomate)}
:focus-visible{outline:3px solid var(--tomate);outline-offset:3px}

/* nav */
.nav{background:rgba(227,217,195,.94);border-bottom:1px solid var(--e12);
  position:sticky;top:0;z-index:20;backdrop-filter:blur(8px)}
.nav-in{max-width:1000px;margin:0 auto;padding:.65rem var(--pad);display:flex;align-items:center;gap:1rem}
.mark{font-family:var(--disp);font-weight:800;font-size:1.28rem;letter-spacing:-.03em;
  text-decoration:none;color:var(--encre);display:flex;align-items:center;gap:.5rem}
.mark-txt{display:flex;flex-direction:column;line-height:.86}
.mark-txt i{font-family:var(--mono);font-style:normal;font-size:.5em;letter-spacing:.22em;
  color:var(--tomate);text-transform:uppercase;margin-top:.24em}
.nav-l{margin-left:auto;display:flex;gap:1.1rem;font-family:var(--mono);font-size:.72rem;
  letter-spacing:.07em;text-transform:uppercase}
.nav-l a{text-decoration:none;color:var(--e60)}
.nav-l a:hover{color:var(--tomate)}
.btn{font-family:var(--mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;
  background:var(--tomate);color:var(--craie);border:none;padding:.7rem 1.1rem;
  text-decoration:none;display:inline-block}
.btn:hover{opacity:.9}
.btn.sec{background:transparent;color:var(--encre);border:1.5px solid var(--e30)}
@media (max-width:680px){.nav-l{display:none}}

/* fil d'ariane */
.fil{max-width:1000px;margin:0 auto;padding:1rem var(--pad) 0;
  font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;color:var(--e60)}
.fil a{color:var(--e60);text-decoration:none}
.fil a:hover{color:var(--tomate)}

main{max-width:1000px;margin:0 auto;padding:1.5rem var(--pad) 4rem}
.etroit{max-width:720px}
h1{font-family:var(--disp);font-weight:800;letter-spacing:-.035em;line-height:1;
  font-size:clamp(2rem,5vw,3.3rem);margin:0 0 1rem}
h2{font-family:var(--disp);font-weight:800;letter-spacing:-.03em;
  font-size:clamp(1.4rem,3vw,2rem);margin:2.6rem 0 1rem}
h3{font-family:var(--disp);font-weight:700;font-size:1.15rem;letter-spacing:-.02em;margin:1.8rem 0 .6rem}
p{margin:0 0 1rem}
.eyebrow{font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--tomate);margin:0 0 .8rem}
.chapo{font-size:1.12rem;color:var(--e60);max-width:58ch;margin-bottom:1.6rem}

/* fiche recette */
.infos{display:flex;flex-wrap:wrap;gap:0;border-top:2px solid var(--encre);
  border-bottom:1px solid var(--e12);margin-bottom:2.2rem}
.infos div{padding:.9rem 1.4rem .9rem 0;margin-right:1.4rem;border-right:1px solid var(--e12);
  font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--e60)}
.infos div:last-child{border-right:none;margin-right:0}
.infos b{display:block;font-family:var(--disp);font-size:1.15rem;font-weight:800;
  letter-spacing:-.02em;color:var(--encre);text-transform:none;margin-top:.2rem}
.grid-rec{display:grid;grid-template-columns:minmax(220px,300px) 1fr;
  gap:clamp(1.6rem,4vw,3.2rem);align-items:start}
.ing{background:var(--craie);border:1px solid var(--e12);padding:1.3rem 1.3rem 1.1rem;
  position:sticky;top:70px}
.ing h3{margin:0 0 .9rem;padding-bottom:.6rem;border-bottom:1.5px solid var(--encre);font-size:1.05rem}
.ing ul{list-style:none;margin:0;padding:0;font-size:.95rem}
.ing li{display:flex;gap:.55rem;align-items:baseline;padding:.42rem 0;
  border-bottom:1px dashed var(--e30)}
.ing li:last-child{border-bottom:none}
.pt{width:7px;height:7px;border-radius:50%;background:var(--tomate);flex-shrink:0;transform:translateY(-1px)}
.pt.off{background:transparent;border:1px solid var(--e30)}
.leg{font-family:var(--mono);font-size:.63rem;letter-spacing:.06em;color:var(--e60);
  margin-top:.9rem;line-height:1.6}
ol.etapes{list-style:none;margin:0;padding:0;counter-reset:e}
ol.etapes li{position:relative;padding-left:2.6rem;margin-bottom:1.5rem;font-size:1.03rem}
ol.etapes li::before{counter-increment:e;content:counter(e);position:absolute;left:0;top:-.05rem;
  font-family:var(--mono);font-size:.78rem;color:var(--tomate);border:1.5px solid var(--e30);
  width:1.75rem;height:1.75rem;display:grid;place-items:center;border-radius:50%}
.astuce{background:var(--craie);border-left:3px solid var(--olive);padding:1.1rem 1.2rem;margin:2rem 0}
.astuce b{font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--olive);display:block;margin-bottom:.4rem}
.astuce p:last-child{margin-bottom:0}

/* liste de recettes */
.cartes{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.2rem}
.carte-r{background:var(--craie);border:1px solid var(--e12);padding:1.4rem 1.3rem;
  text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:transform .2s}
.carte-r:hover{transform:translateY(-3px);border-color:var(--e30)}
.carte-r .sais{font-family:var(--mono);font-size:.63rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--tomate)}
.carte-r h3{font-size:1.25rem;font-weight:800;margin:.6rem 0 .5rem;letter-spacing:-.025em}
.carte-r p{font-size:.92rem;color:var(--e60);flex:1;margin-bottom:.9rem}
.carte-r .meta{font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;color:var(--e60);
  border-top:1px dashed var(--e30);padding-top:.7rem}

/* page locale */
.enc{background:var(--craie);border:1px solid var(--e12);padding:1.5rem;margin-bottom:1.2rem}
.enc h3{margin-top:0}
.duo-col{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.tarifs{width:100%;border-collapse:collapse;margin-bottom:1.5rem;font-size:.97rem}
.tarifs th{font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;
  text-align:left;color:var(--e60);font-weight:400;padding:.6rem .5rem;border-bottom:1.5px solid var(--encre)}
.tarifs td{padding:.65rem .5rem;border-bottom:1px solid var(--e12)}
.tarifs td:last-child{text-align:right;font-family:var(--mono);font-weight:500}
.cta{background:var(--encre);color:var(--craie);padding:2rem 1.6rem;text-align:center;margin-top:3rem}
.cta h2{color:var(--craie);margin-top:0}
.cta p{color:rgba(248,243,231,.75);max-width:48ch;margin:0 auto 1.4rem}

footer{border-top:1px solid var(--e30);background:var(--kraft-2);padding:2rem var(--pad);
  font-family:var(--mono);font-size:.7rem;letter-spacing:.05em;color:var(--e60);text-align:center}
footer a{color:var(--e60);text-decoration:none;margin:0 .45rem}
footer a:hover{color:var(--tomate)}

@media (max-width:760px){
  .grid-rec{grid-template-columns:1fr}
  .ing{position:static}
  .duo-col{grid-template-columns:1fr}
}
