/* =====================================================================
   PRÉMICES · Traiteur — Preview V2 (charte Ouverture)
   Additif à newhome/styles.css (chrome nav+footer + tokens Léonie Ory)
   Toutes les classes préfixées .pt2- pour éviter toute collision avec
   .hero/.concept/.chefs/.plating/.club/.mib/.table de la home Ouverture
   et avec les previews sœurs (.pex2-, .plx2-, .phv2-, .pba-, .pbb-).
   ===================================================================== */

/* ---------- HERO éditorial ---------- */
.pt2-hero{
  position:relative;
  min-height:min(88vh,860px);
  display:flex;align-items:flex-end;
  padding:calc(var(--pad) + 60px) var(--pad) calc(var(--pad) + 20px);
  overflow:hidden;color:var(--creme);
  isolation:isolate;
}
.pt2-hero__media{position:absolute;inset:0;z-index:-2}
.pt2-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 55%}
.pt2-hero__scrim{
  position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(180deg, rgba(10,9,8,.55) 0%, rgba(10,9,8,.15) 35%, rgba(10,9,8,.65) 100%);
}
.pt2-hero__inner{max-width:900px;position:relative;z-index:1}
.pt2-hero__eyebrow{
  font-family:var(--f-title);font-weight:500;font-size:.78rem;
  letter-spacing:.34em;text-transform:uppercase;color:var(--gold);
  display:inline-flex;align-items:center;gap:.9rem;margin-bottom:1.6rem;
}
.pt2-hero__eyebrow::before{content:'';width:38px;height:1px;background:var(--gold)}
.pt2-hero__title{
  font-family:var(--f-title);font-weight:500;
  font-size:clamp(2.6rem,6.6vw,5.6rem);line-height:1.02;letter-spacing:-.01em;
  color:var(--creme);margin-bottom:1.4rem;
}
.pt2-hero__title em{font-style:italic;font-weight:400;color:#f0c47f}
.pt2-hero__lead{
  font-family:var(--f-detail);font-style:italic;font-weight:400;
  font-size:clamp(1.05rem,1.4vw,1.28rem);line-height:1.6;
  color:rgba(246,241,233,.9);max-width:60ch;margin-bottom:2.2rem;
}
.pt2-hero__cta{display:inline-flex}

/* ---------- Bandeau intro ---------- */
.pt2-intro{
  padding:calc(var(--pad) + 20px) var(--pad);
  background:var(--bg);
}
.pt2-intro__inner{max-width:920px;margin:0 auto;text-align:center}
.pt2-intro__act{
  font-family:var(--f-title);font-weight:500;font-size:.78rem;
  letter-spacing:.34em;text-transform:uppercase;color:var(--sig);
  display:inline-flex;align-items:center;gap:.8rem;margin-bottom:1.3rem;
}
.pt2-intro__act::before,.pt2-intro__act::after{
  content:'';width:32px;height:1px;background:var(--gold-ink);
}
.pt2-intro__title{
  font-family:var(--f-title);font-weight:500;
  font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.05;letter-spacing:-.01em;
  margin-bottom:1.5rem;color:var(--text);
}
.pt2-intro__title em{font-style:italic;font-weight:400;color:var(--sig)}
.pt2-intro__lead{
  font-size:1.02rem;line-height:1.8;color:var(--text-soft);max-width:60ch;
  margin:0 auto;
}

/* ---------- Cartes prestations ---------- */
.pt2-cards{
  padding:var(--pad);
  background:linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 100%);
}
.pt2-cards__head{max-width:1200px;margin:0 auto 3rem;text-align:center}
.pt2-cards__grid{
  max-width:1240px;margin:0 auto;
  display:grid;gap:1.6rem;
  grid-template-columns:repeat(3,1fr);
}
@media(max-width:1080px){.pt2-cards__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.pt2-cards__grid{grid-template-columns:1fr}}

.pt2-card{
  position:relative;display:flex;flex-direction:column;
  background:var(--card);border:1px solid var(--line);border-radius:6px;
  overflow:hidden;isolation:isolate;
  transition:transform .55s var(--ease), box-shadow .55s var(--ease), border-color .35s ease;
  min-height:340px;
}
.pt2-card:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 60px -34px rgba(10,9,8,.35);
  border-color:rgba(184,147,90,.35);
}
.pt2-card__media{position:relative;aspect-ratio:4/3;overflow:hidden;background:#1a1512}
.pt2-card__media img{
  width:100%;height:100%;object-fit:cover;object-position:center;
  transition:transform 1.4s var(--ease);
}
.pt2-card:hover .pt2-card__media img{transform:scale(1.05)}
.pt2-card__media::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,9,8,0) 45%,rgba(10,9,8,.35) 100%);
  pointer-events:none;
}
.pt2-card__body{
  padding:1.6rem 1.5rem 1.7rem;
  display:flex;flex-direction:column;flex:1;gap:.65rem;
}
.pt2-card__eyebrow{
  font-family:var(--f-title);font-weight:500;font-size:.68rem;
  letter-spacing:.28em;text-transform:uppercase;color:var(--gold-ink);
}
.pt2-card__title{
  font-family:var(--f-title);font-weight:500;
  font-size:clamp(1.3rem,1.6vw,1.55rem);line-height:1.15;color:var(--text);
  letter-spacing:-.005em;
}
.pt2-card__desc{
  font-size:.95rem;line-height:1.6;color:var(--text-soft);flex:1;
}
.pt2-card__link{
  margin-top:.3rem;font-family:var(--f-body);font-weight:600;font-size:.78rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--sig);
  display:inline-flex;align-items:center;gap:.5rem;
  transition:gap .3s var(--ease);
}
.pt2-card__link:hover{gap:.85rem}
.pt2-card__link .arr{display:inline-block;transition:transform .3s var(--ease)}
.pt2-card__link:hover .arr{transform:translateX(4px)}

/* ---------- Méthode 3 étapes ---------- */
.pt2-method{
  padding:calc(var(--pad) + 20px) var(--pad);
  background:var(--bg);
}
.pt2-method__inner{max-width:1200px;margin:0 auto}
.pt2-method__head{text-align:center;max-width:820px;margin:0 auto 3.5rem}
.pt2-method__steps{
  display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem;
  align-items:start;
}
@media(max-width:900px){.pt2-method__steps{grid-template-columns:1fr;gap:2rem}}
.pt2-step{
  position:relative;padding:1.8rem 1.4rem 1.4rem;
  border-top:1px solid var(--gold-ink);
}
.pt2-step__num{
  position:absolute;top:-22px;left:1.4rem;
  font-family:var(--f-title);font-style:italic;font-weight:500;
  font-size:2.4rem;color:var(--sig);line-height:1;
  background:var(--bg);padding:0 .55rem;
}
.pt2-step__title{
  font-family:var(--f-title);font-weight:500;
  font-size:1.5rem;line-height:1.2;color:var(--text);
  margin-bottom:.9rem;letter-spacing:-.005em;
}
.pt2-step__title em{font-style:italic;font-weight:400;color:var(--sig)}
.pt2-step__desc{
  font-size:.98rem;line-height:1.7;color:var(--text-soft);
}

/* ---------- Bandeau références (fond noir) ---------- */
.pt2-refs{
  padding:calc(var(--pad) - 10px) var(--pad);
  background:#0a0908;color:#f3ece0;
  border-top:1px solid rgba(235,207,149,.16);
  border-bottom:1px solid rgba(235,207,149,.16);
}
.pt2-refs__inner{
  max-width:1240px;margin:0 auto;
  display:flex;flex-direction:column;align-items:center;gap:1.6rem;
}
.pt2-refs__eyebrow{
  font-family:var(--f-title);font-weight:500;font-size:.72rem;
  letter-spacing:.34em;text-transform:uppercase;color:var(--gold);
}
.pt2-refs__list{
  display:flex;flex-wrap:wrap;justify-content:center;gap:1.6rem 2.6rem;
  font-family:var(--f-title);font-weight:500;font-size:clamp(1rem,1.6vw,1.35rem);
  color:rgba(243,236,224,.82);letter-spacing:.02em;
  text-align:center;
}
.pt2-refs__list span{white-space:nowrap;position:relative}
.pt2-refs__list span:not(:last-child)::after{
  content:'·';position:absolute;right:-1.6rem;top:0;color:var(--gold);
}
@media(max-width:600px){
  .pt2-refs__list{gap:.5rem 1.2rem;font-size:.98rem}
  .pt2-refs__list span:not(:last-child)::after{right:-.9rem}
}

/* ---------- Maillage villes ---------- */
.pt2-cities{
  padding:calc(var(--pad) + 10px) var(--pad);
  background:var(--bg);
}
.pt2-cities__inner{max-width:1100px;margin:0 auto}
.pt2-cities__head{text-align:center;max-width:760px;margin:0 auto 2.8rem}
.pt2-cities__grid{
  display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem .6rem;
  margin-bottom:2.2rem;
}
.pt2-city{
  display:inline-flex;align-items:center;
  padding:.55rem 1.05rem;
  border:1px solid var(--line);border-radius:999px;
  font-family:var(--f-body);font-weight:500;font-size:.88rem;
  color:var(--text);background:var(--card);
  transition:background .25s ease, border-color .25s ease, color .25s ease, transform .25s ease;
}
.pt2-city:hover{
  background:var(--sig);color:var(--sig-ink);
  border-color:var(--sig);transform:translateY(-1px);
}
.pt2-cities__note{
  text-align:center;color:var(--text-soft);font-size:.92rem;line-height:1.6;
  max-width:640px;margin:0 auto;font-family:var(--f-detail);font-style:italic;
}

/* ---------- CTA final ---------- */
.pt2-cta{
  padding:calc(var(--pad) + 30px) var(--pad);
  background:linear-gradient(180deg,var(--bg-2) 0%,var(--bg) 100%);
  text-align:center;
}
.pt2-cta__inner{max-width:820px;margin:0 auto}
.pt2-cta__title{
  font-family:var(--f-title);font-weight:500;
  font-size:clamp(2.2rem,5vw,3.8rem);line-height:1.05;
  color:var(--text);margin-bottom:1.2rem;letter-spacing:-.01em;
}
.pt2-cta__title em{font-style:italic;font-weight:400;color:var(--sig)}
.pt2-cta__lead{
  font-family:var(--f-detail);font-style:italic;
  color:var(--text-soft);font-size:1.12rem;line-height:1.6;
  margin-bottom:2rem;
}

/* ---------- Reveals ---------- */
.pt2-reveal{opacity:0;transform:translateY(20px);transition:opacity .9s var(--ease), transform .9s var(--ease);transition-delay:var(--d,0s)}
.pt2-reveal.is-in{opacity:1;transform:none}

/* ---------- FIL D'ARIANE ---------- */
.pt2-breadcrumb{
  padding: clamp(88px,10vh,120px) var(--pad) 0;
  font-family:var(--f-body);font-size:.78rem;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--text-soft);
  display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;
}
.pt2-breadcrumb a{
  color:var(--text-soft);text-decoration:none;
  border-bottom:1px solid transparent;padding-bottom:.05rem;
  transition:color .3s,border-color .3s;
}
.pt2-breadcrumb a:hover{color:var(--sig);border-bottom-color:var(--gold-ink)}
.pt2-breadcrumb span[aria-hidden]{color:var(--gold-ink);opacity:.75}

/* ---------- HERO rating ---------- */
.pt2-hero__rating{
  margin:1.2rem 0 0;
  font-family:var(--f-body);font-weight:500;
  font-size:.88rem;letter-spacing:.06em;
  color:rgba(246,241,233,.85);
  display:inline-flex;align-items:center;gap:.55rem;
}
.pt2-hero__rating span[aria-hidden]{color:var(--gold);letter-spacing:.12em}

/* ---------- Link arrow (bouton texte or) ---------- */
.pt2-linkarrow{
  font-family:var(--f-body);font-weight:500;
  font-size:.86rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold);text-decoration:none;
  border-bottom:1px solid rgba(235,207,149,.55);padding:6px 0;
  display:inline-flex;align-items:center;gap:.5rem;
  transition:color .35s var(--ease), border-color .35s var(--ease);
}
.pt2-linkarrow:hover{color:var(--creme);border-color:var(--creme)}
.pt2-linkarrow span{transition:transform .35s var(--ease)}
.pt2-linkarrow:hover span{transform:translateX(4px)}

/* ---------- WHY (4 tuiles) ---------- */
.pt2-why{
  background:var(--bg);
  padding: clamp(80px,10vh,140px) var(--pad);
  border-top:1px solid var(--line);
}
.pt2-why__inner{max-width:1180px;margin:0 auto}
.pt2-why__head{
  max-width:900px;margin:0 auto clamp(48px,7vh,72px);
  display:flex;flex-direction:column;gap:1rem;align-items:center;text-align:center;
}
.pt2-why__grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:clamp(14px,1.6vw,24px);
}
.pt2-why__item{
  background:var(--card);border:1px solid var(--line);
  border-top:2px solid var(--gold-ink);
  padding: clamp(24px,2.6vw,32px) clamp(20px,2.2vw,28px);
  display:flex;flex-direction:column;gap:.8rem;min-height:180px;
  transition:transform .5s var(--ease),border-color .5s var(--ease),box-shadow .5s var(--ease);
}
.pt2-why__item:hover{
  transform:translateY(-4px);border-color:var(--gold-ink);
  box-shadow:0 24px 60px -30px rgba(10,9,8,.22);
}
.pt2-why__t{
  font-family:var(--f-title);font-weight:500;font-size:1.15rem;
  line-height:1.22;color:var(--text);margin:0;
}
.pt2-why__p{
  margin:0;color:var(--text-soft);font-family:var(--f-body);
  font-size:.95rem;line-height:1.6;
}

/* ---------- PRICE ---------- */
.pt2-price{
  background:var(--bg-2);
  padding: clamp(80px,10vh,140px) var(--pad);
  border-top:1px solid var(--line);
}
.pt2-price__inner{
  max-width:60rem;margin:0 auto;padding:0;
  text-align:center;
  display:flex;flex-direction:column;gap:1rem;align-items:center;
}
.pt2-price__cta{
  margin-top:1.4rem;
  display:flex;gap:1.4rem;align-items:center;justify-content:center;flex-wrap:wrap;
}

/* ---------- REGIONS ---------- */
.pt2-regions{
  background:var(--bg);
  padding: clamp(80px,10vh,140px) var(--pad);
  border-top:1px solid var(--line);
}
.pt2-regions__inner{max-width:1180px;margin:0 auto}
.pt2-regions__head{
  max-width:900px;margin:0 auto clamp(40px,6vh,64px);
  display:flex;flex-direction:column;gap:1rem;align-items:center;text-align:center;
}
.pt2-regions__grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:clamp(1.8rem,3vw,2.8rem);
}
.pt2-region{
  padding:1.6rem 1.4rem 1.4rem;
  border-left:2px solid var(--gold-ink);
  background:var(--card);
  display:flex;flex-direction:column;gap:.8rem;
  transition:transform .5s var(--ease),border-color .5s var(--ease),box-shadow .5s var(--ease);
}
.pt2-region:hover{
  transform:translateY(-3px);border-left-color:var(--sig);
  box-shadow:0 24px 60px -30px rgba(10,9,8,.22);
}
.pt2-region__t{
  font-family:var(--f-title);font-weight:500;font-size:1.2rem;
  line-height:1.22;color:var(--text);margin:0;
}
.pt2-region__t a{
  color:var(--text);text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .3s,border-color .3s;
}
.pt2-region__t a:hover{color:var(--sig);border-bottom-color:var(--gold-ink)}
.pt2-region__p{
  font-family:var(--f-detail);font-size:1rem;line-height:1.6;
  color:var(--text-soft);margin:0;
}

/* ---------- FAQ ---------- */
.pt2-faq{
  background:var(--bg-2);
  padding: clamp(80px,10vh,140px) var(--pad);
  border-top:1px solid var(--line);
}
.pt2-faq__inner{max-width:920px;margin:0 auto}
.pt2-faq__head{
  max-width:640px;margin:0 auto clamp(40px,6vh,64px);
  display:flex;flex-direction:column;gap:1rem;align-items:center;text-align:center;
}
.pt2-faq__list{
  display:flex;flex-direction:column;gap:.9rem;
}
.pt2-q{
  border:1px solid var(--line);
  background:var(--card);
  padding:0;
  transition:border-color .3s;
}
.pt2-q[open]{border-color:var(--gold-ink)}
.pt2-q > summary{
  cursor:pointer;list-style:none;
  padding:1.2rem 1.4rem;
  font-family:var(--f-title);font-weight:500;
  font-size:clamp(1rem,1.3vw,1.15rem);
  color:var(--text);
  display:flex;align-items:center;justify-content:space-between;gap:1.2rem;
  transition:color .3s;
}
.pt2-q > summary::-webkit-details-marker{display:none}
.pt2-q > summary::after{
  content:'+';font-family:var(--f-title);font-weight:400;
  color:var(--sig);font-size:1.3rem;line-height:1;
  transition:transform .35s var(--ease), color .3s;
  flex:none;
}
.pt2-q[open] > summary{color:var(--sig)}
.pt2-q[open] > summary::after{transform:rotate(45deg)}
.pt2-q__body{
  padding:0 1.4rem 1.3rem;
  font-family:var(--f-detail);font-size:1rem;line-height:1.65;
  color:var(--text-soft);
}
.pt2-q__body a{color:var(--sig);text-decoration:none;border-bottom:1px solid var(--gold-ink);padding-bottom:.05rem}
.pt2-q__body a:hover{color:var(--text);border-bottom-color:var(--sig)}

/* ---------- Mobile fine-tuning ---------- */
@media(max-width:960px){
  .pt2-why__grid{grid-template-columns:repeat(2,1fr)}
  .pt2-regions__grid{grid-template-columns:1fr;gap:1.4rem}
}
@media(max-width:720px){
  .pt2-hero{min-height:min(78vh,720px);padding-bottom:calc(var(--pad) + 40px)}
  .pt2-hero__lead{font-size:1rem}
  .pt2-card__body{padding:1.3rem 1.2rem 1.4rem}
  .pt2-step{padding:1.5rem 1rem 1rem}
  .pt2-breadcrumb{padding-top:clamp(78px,9vh,100px)}
  .pt2-why__grid{grid-template-columns:1fr}
  .pt2-price__cta{gap:1rem}
}
