/* ==========================================================================
   Cultur'elles.Bdv — feuille de style commune
   1. Socle partagé par toutes les pages : couleurs, typos, pictos, boutons,
      focus, en-tête, pied de page, tirages photo, apparitions douces
   2. Page d'accueil uniquement (classes accueil__, rdv, equipe, videos, contact)
   La page du marché ajoute ses propres styles dans assets/css/marche.css
   (classes hero, etiquette, pastille, carte, billet, collant…).
   ========================================================================== */

/* ---- Polices auto-hébergées (rapides, pas d'appel à Google) ---- */
@font-face{font-family:"Archivo";src:url(../fonts/archivo.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:"Fraunces";src:url(../fonts/fraunces.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Fraunces";src:url(../fonts/fraunces-italic.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:swap}

/* ---- Couleurs & réglages ---- */
:root{
  --terra:#D97A5F;      /* terracotta */
  --terra-ink:#A94F37;  /* terracotta assombri pour le texte (contraste AA) */
  --brique:#973A22;     /* rouge brique des titres d'affiche */
  --saumon:#D67472;     /* couleur du logo */
  --sage:#70836D;
  --sage-deep:#5E705A;
  --sage-ink:#52634C;
  --cream:#F8F2E8;
  --paper:#FFFBF4;
  --kraft:#E8D3B0;
  --gold:#D6A84F;
  --gold-soft:#F4E4BF;
  --brun:#4A342B;
  --brun-deep:#3A2922;
  --brun-soft:#6E5549;
  --t-terra:#F3D5C8; --t-sage:#DCE3D6; --t-gold:#F3E3BC; --t-kraft:#EBDDC6;

  /* univers « Soirée entr'Elles » (garde son identité rose) */
  --rose:#E8328A;       /* décor (filets, puces) */
  --rose-btn:#D62A80;   /* fond des boutons : texte blanc lisible (AA) */
  --rose-ink:#B8166A;
  --rose-soft:#FBD9EA;

  --ff-sans:"Archivo",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --ff-serif:"Fraunces",Georgia,"Times New Roman",serif;
  --gutter:clamp(1rem,4vw,3rem);
  --max:1240px;
  --ease:cubic-bezier(.2,.7,.2,1);
  --ombre:0 1px 1px rgba(74,52,43,.08),0 14px 26px -18px rgba(74,52,43,.55);
}

/* ---- Socle ---- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5rem}
body{
  margin:0;color:var(--brun);background-color:var(--cream);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .29 0 0 0 0 .2 0 0 0 0 .17 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  font-family:var(--ff-sans);font-size:1.0625rem;line-height:1.55;font-stretch:100%;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
[hidden]{display:none!important}
a{color:inherit}
:focus-visible{outline:3px solid var(--brun);outline-offset:3px;border-radius:4px}
/* sur fond sombre, contour doré */
.contact :focus-visible,.pied :focus-visible,.collant :focus-visible,.carte :focus-visible,.skip:focus-visible{outline-color:var(--gold)}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:1rem;top:-4rem;background:var(--brun);color:var(--cream);padding:.6rem 1rem;border-radius:6px;z-index:200}
.skip:focus{top:1rem}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
em{font-family:var(--ff-serif);font-style:italic;font-weight:400}

/* ---- Pictos dessinés (sprite inline dans chaque page) ---- */
.ico{fill:none;stroke:var(--brun);stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.fa{fill:var(--ia,var(--terra))}.fs{fill:var(--is,var(--sage))}.fg{fill:var(--gold)}
.fc{fill:var(--paper)}.fk{fill:var(--kraft)}.fb{fill:var(--brun)}
.trace use{filter:url(#tremble)}

/* ---- Boutons ---- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55em;text-decoration:none;cursor:pointer;
  font:700 .82rem/1 var(--ff-sans);font-stretch:112%;letter-spacing:.06em;text-transform:uppercase;
  padding:.95em 1.35em;min-height:46px;border-radius:999px;border:2px solid var(--brun);background:transparent;color:var(--brun);
  transition:transform .2s var(--ease),background .2s,color .2s,border-color .2s;
}
.btn:hover{transform:translateY(-2px) rotate(-1deg)}
.btn--plein{background:var(--brun);color:var(--cream)}
.btn--plein:hover{background:var(--brique);border-color:var(--brique)}
.btn--rose{background:var(--rose-btn);border-color:var(--rose-btn);color:#fff}
.btn--rose:hover{background:var(--rose-ink);border-color:var(--rose-ink)}
.btn svg{width:1.3em;height:1.3em;flex:none}
.btn--plein .ico,.btn--rose .ico{stroke:currentColor}

/* ---- Titres de section ---- */
.sec{padding-block:clamp(3.5rem,9vw,7rem)}
.surtitre{display:flex;align-items:center;gap:.5rem;margin:0 0 .9rem;font:700 .76rem/1 var(--ff-sans);font-stretch:118%;letter-spacing:.14em;text-transform:uppercase;color:var(--terra-ink)}
.surtitre svg{width:1.6rem;height:1.6rem}
.h2{margin:0;font:800 clamp(2.1rem,7vw,4.6rem)/.95 var(--ff-sans);font-stretch:118%;text-transform:uppercase;letter-spacing:-.02em}
.h2 em{text-transform:none;font-weight:400;color:var(--terra-ink);letter-spacing:-.01em}
.chapo{max-width:46ch;margin:1.1rem 0 0;font-size:clamp(1.05rem,2vw,1.2rem);color:var(--brun-soft)}

/* ---- Tirage photo (papier + masking tape) ---- */
.tirage{--r:0;position:relative;margin:0;background:var(--paper);padding:.6rem;transform:rotate(calc(var(--r)*1deg));box-shadow:var(--ombre)}
.tirage--scotch::before{content:"";position:absolute;left:50%;top:-.8rem;width:4.6rem;height:1.5rem;z-index:2;transform:translateX(-50%) rotate(-4deg);background:rgba(214,168,79,.55)}
.tirage figcaption{padding:.55rem .1rem .1rem;font:italic 400 .98rem/1.25 var(--ff-serif);color:var(--brun-soft)}
/* Planche de tirages (souvenirs de l'accueil, photos de la page du marché) */
.tirages{list-style:none;margin:2.4rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.2rem 1rem}
@media (min-width:760px){.tirages{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:2.6rem 2rem}.tirages>li{width:calc(var(--w,24)*1%)}.tirages>li:nth-child(even){margin-top:2.2rem}}
.tirages .tirage{padding:.6rem .6rem 0;box-shadow:0 14px 26px -18px rgba(74,52,43,.55),0 1px 2px rgba(74,52,43,.1)}
.tirages .tirage::before{content:"";position:absolute;left:50%;top:-.8rem;width:4.6rem;height:1.5rem;transform:translateX(-50%) rotate(calc(var(--r)*-2deg - 3deg));background:rgba(214,168,79,.5);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.tirages figcaption{padding:.55rem .1rem .7rem}
.tirage__img{aspect-ratio:var(--ar,4/5);overflow:hidden;background:var(--tint,var(--t-kraft));display:grid;place-items:center}
.tirage__img img{width:100%;height:100%;object-fit:cover}
.tirage__img svg{width:42%;height:auto;opacity:.9}
.tint-terra{--tint:var(--t-terra)}.tint-sage{--tint:var(--t-sage)}.tint-gold{--tint:var(--t-gold)}.tint-kraft{--tint:var(--t-kraft)}
.nw{white-space:nowrap}

/* ---- En-tête commun ---- */
.entete{position:sticky;top:0;z-index:50;transition:background .3s,box-shadow .3s}
.entete.defile{background:rgba(248,242,232,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 1px 0 rgba(74,52,43,.1)}
.entete__row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.75rem}
.marque{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;font:italic 500 1.3rem/1 var(--ff-serif);letter-spacing:-.01em;white-space:nowrap}
.marque img{width:40px;height:40px;border-radius:50%;object-fit:cover;transform:rotate(-6deg)}
.marque b{font-weight:500;color:var(--terra-ink)}
.marque small{font:inherit;font-size:.8em;color:var(--brun-soft)}
.nav{display:flex;gap:clamp(.8rem,2.4vw,1.6rem);list-style:none;margin:0;padding:0;font:600 .76rem/1 var(--ff-sans);font-stretch:112%;letter-spacing:.08em;text-transform:uppercase}
.nav a{display:inline-block;white-space:nowrap;text-decoration:none;padding-block:.45rem;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current]{border-color:var(--terra)}
@media (max-width:760px){.nav li:not(.nav-m){display:none}.marque small{display:none}.nav{gap:.9rem;font-size:.7rem;letter-spacing:.05em}.marque{font-size:1.15rem}.marque img{width:34px;height:34px}}
@media (max-width:380px){.entete__row{gap:.6rem}.nav{gap:.7rem;font-size:.64rem;letter-spacing:.03em}.marque{gap:.4rem;font-size:1.02rem}.marque img{width:30px;height:30px}}

/* ---- Pied de page commun ---- */
.pied{background:var(--brun-deep);color:rgba(248,242,232,.72);padding-block:1.8rem 2rem;font-size:.9rem}
.pied__row{display:flex;flex-wrap:wrap;gap:.8rem 1.6rem;justify-content:space-between;align-items:center}
.pied__marque{font:italic 500 1.15rem/1 var(--ff-serif);color:var(--cream)}
.pied ul{display:flex;flex-wrap:wrap;gap:1.2rem;list-style:none;margin:0;padding:0;font-weight:600}
.pied a{text-decoration:none}
.pied a:hover{color:#fff}
.pied__sous{margin:1rem 0 0;font-size:.8rem;color:rgba(248,242,232,.5)}
.pied__sous a{text-decoration:underline;text-underline-offset:3px}

/* ---- Apparition douce ---- */
/* masqué seulement si JavaScript tourne (classe .js posée dans le <head>) : sans JS, tout reste visible */
.js .apparait{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .apparait.vu{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js .apparait{opacity:1;transform:none}
}

/* ==========================================================================
   PAGE D'ACCUEIL
   ========================================================================== */

/* ---- Haut de page ---- */
.accueil{display:grid;gap:2.2rem 3rem;align-items:center;padding-block:clamp(1rem,4vw,3rem) clamp(3rem,7vw,6rem)}
@media (min-width:900px){.accueil{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);min-height:min(80vh,46rem)}}
.accueil__kicker{display:block;margin:0 0 .5rem;font:900 clamp(.95rem,4vw,1.45rem)/1.1 var(--ff-sans);font-stretch:125%;letter-spacing:.01em;text-transform:uppercase;color:var(--brique)}
.accueil__titre{margin:0;font-weight:400}
.accueil__titre .l{display:block;font:450 clamp(2.3rem,10.2vw,4.5rem)/.9 var(--ff-sans);font-stretch:118%;text-transform:uppercase;letter-spacing:-.025em}
.accueil__titre .l em{text-transform:none;color:var(--terra-ink);font-weight:350;letter-spacing:-.015em;font-size:1.08em}
.accueil__presentation{max-width:40ch;margin:1.3rem 0 0;font-size:clamp(1.05rem,2vw,1.2rem);color:var(--brun)}
.accueil__intro{max-width:30ch;margin:.7rem 0 0;font:italic 400 clamp(1.15rem,2.4vw,1.45rem)/1.4 var(--ff-serif);color:var(--brun-soft)}
.accueil__actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.8rem}
.accueil__photo{position:relative;max-width:34rem;justify-self:center;width:100%}
.accueil__photo .tirage{--r:2}
.accueil__photo img{width:100%;aspect-ratio:4/3.4;object-fit:cover;object-position:center 28%}
.accueil__tampon{
  position:absolute;left:-1.6rem;top:-1.8rem;z-index:3;width:7.4rem;aspect-ratio:1;border-radius:50%;
  display:grid;place-content:center;text-align:center;background:var(--gold-soft);transform:rotate(-10deg);box-shadow:var(--ombre);
  font:800 .7rem/1.15 var(--ff-sans);font-stretch:122%;letter-spacing:.06em;text-transform:uppercase;color:var(--sage-ink);margin:0;
}
.accueil__tampon b{display:block;font:italic 500 1.15rem/1 var(--ff-serif);letter-spacing:0;text-transform:none;color:var(--terra-ink);margin-bottom:.2rem}
.deco{position:absolute;width:2.8rem;height:2.8rem;z-index:3}
.deco--1{right:-1rem;top:-1.4rem;transform:rotate(14deg)}
.deco--2{right:-1.6rem;bottom:22%;width:3.4rem;height:3.4rem;transform:rotate(-20deg)}
@media (max-width:899px){.accueil__photo{max-width:min(26rem,calc(100% - 1.2rem));margin:1.6rem auto 0}.accueil__tampon{width:5.6rem;left:-.4rem;top:-1.4rem}.deco--1{right:.8rem;top:-1.6rem}.deco--2{right:.4rem}}

/* ---- Les prochains rendez-vous ---- */
.rdv-grille{display:grid;gap:4rem 3rem;margin-top:clamp(2rem,5vw,3.5rem)}
@media (min-width:860px){.rdv-grille{grid-template-columns:1fr 1fr}}
.rdv{position:relative;display:grid;gap:1.4rem;align-content:start}
@media (min-width:560px) and (max-width:859px){.rdv{grid-template-columns:.8fr 1fr;align-items:start}}
.rdv__affiche{--r:-1.6;display:block;max-width:24rem;width:100%}
.rdv:nth-child(2) .rdv__affiche{--r:1.4}
.rdv__affiche img{width:100%}  /* ratio naturel : l'affiche n'est jamais recadrée */
.rdv__date{
  position:absolute;right:-.6rem;top:1.4rem;z-index:3;margin:0;min-width:5.2rem;padding:.55rem .7rem .6rem;text-align:center;
  background:var(--paper);box-shadow:var(--ombre);transform:rotate(5deg);border-top:6px solid var(--terra);
  font:700 .72rem/1 var(--ff-sans);font-stretch:118%;letter-spacing:.1em;text-transform:uppercase;
}
.rdv__date b{display:block;font:900 2.3rem/1 var(--ff-sans);font-stretch:125%;margin:.1rem 0;color:var(--terra-ink)}
.rdv--rose .rdv__date{border-top-color:var(--rose)}
.rdv--rose .rdv__date b{color:var(--rose-ink)}
.rdv__tag{margin:0;font:800 .8rem/1.2 var(--ff-sans);font-stretch:118%;letter-spacing:.1em;text-transform:uppercase;color:var(--terra-ink)}
.rdv--rose .rdv__tag{color:var(--rose-ink)}
.rdv__nom{margin:.35rem 0 0;font:800 clamp(1.8rem,4vw,2.6rem)/1 var(--ff-sans);font-stretch:115%;text-transform:uppercase;letter-spacing:-.015em}
.rdv__nom em{text-transform:none;font-weight:400;letter-spacing:-.01em}
.rdv--rose .rdv__nom em{color:var(--rose-ink)}
.rdv:not(.rdv--rose) .rdv__nom em{color:var(--terra-ink)}
.rdv__meta{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.45rem}
.rdv__meta li{display:flex;gap:.6rem;align-items:baseline}
.rdv__meta li::before{content:"";flex:none;width:.5rem;height:.5rem;border-radius:50%;background:var(--terra);transform:translateY(-.1em)}
.rdv--rose .rdv__meta li::before{background:var(--rose)}
.rdv__desc{max-width:44ch;margin:.8rem 0 0;color:var(--brun-soft)}
.rdv__cta{margin-top:1.4rem}
.rdv__note{margin:.7rem 0 0;font-size:.88rem;color:var(--brun-soft)}
.rdv__statut{margin:1.2rem 0 0;font:italic 500 1.15rem/1.35 var(--ff-serif);color:var(--brun)}
.rdv--passe .rdv__affiche img{filter:grayscale(.6);opacity:.8}
.rdv--passe .rdv__date{display:none}
.rdv-aucun{max-width:52ch;margin:2rem 0 0;padding:1.2rem 1.4rem;border:1.5px dashed rgba(74,52,43,.35);border-radius:12px;font:italic 400 1.15rem/1.4 var(--ff-serif)}
.rdv-aucun a{color:var(--terra-ink)}

/* ---- Derrière Cultur'elles.Bdv ---- */
.equipe{display:grid;gap:3rem;align-items:center}
@media (min-width:900px){.equipe{grid-template-columns:1fr .9fr;gap:5rem}}
.equipe__texte p:not(.surtitre){max-width:48ch;margin:1rem 0 0;font-size:1.12rem;color:var(--brun-soft)}
.equipe__texte .h2 + p{margin-top:1.4rem;font:italic 400 clamp(1.3rem,2.6vw,1.6rem)/1.35 var(--ff-serif);color:var(--brun)}
.equipe__signature{display:flex;align-items:center;gap:.6rem;font:italic 500 1.5rem/1.2 var(--ff-serif)!important;color:var(--terra-ink)!important;margin-top:1.6rem!important}
.equipe__signature svg{width:2.2rem;height:2.2rem;flex:none}
.equipe__photo{max-width:28rem;width:100%;justify-self:center}
.equipe__photo .tirage{--r:-2.2}


/* ---- Souvenirs ---- */
.souvenirs__plus{margin:2.4rem 0 0;text-align:center}
.souvenirs__plus a,.etals__suite a{display:inline-flex;align-items:center;gap:.45rem;font-weight:700;text-decoration:none;border-bottom:1.5px solid var(--terra);padding-bottom:2px}
.souvenirs__plus .ico{width:1.1rem;height:1.1rem;stroke-width:2}
.videos{margin-top:clamp(3rem,7vw,4.5rem)}
.videos .surtitre{margin-bottom:1.4rem}
.videos__row{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,13rem),1fr));gap:1.6rem}
.video-card{--r:-1;display:flex;flex-direction:column;gap:.6rem;background:var(--paper);padding:.5rem .5rem .9rem;box-shadow:var(--ombre);transform:rotate(calc(var(--r)*1deg))}
.video-card:nth-child(2n){--r:.8}
.video-embed{position:relative;width:100%;aspect-ratio:9/16;max-height:26rem;background:var(--brun);display:grid;place-items:center}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-apercu .ico{width:3.6rem;height:3.6rem;stroke:var(--cream);stroke-width:1.6}
.video-titre{margin:.2rem .3rem 0;font:italic 500 1.05rem/1.25 var(--ff-serif)}
.video-card .btn{align-self:flex-start;margin-left:.3rem}
.video-lien{margin:0 .3rem;font-size:.88rem;font-weight:600;color:var(--terra-ink)}
.videos__note{margin:1.4rem 0 0;font-size:.88rem;color:var(--brun-soft)}

/* ---- Contact ---- */
.contact{background:var(--brun);color:var(--cream)}
.contact .surtitre{color:var(--gold)}
.contact .surtitre .ico{stroke:var(--gold)}
.contact .h2{font-size:clamp(1.3rem,6.2vw,4.2rem)}
.contact .h2 em{color:var(--gold-soft);display:block}
.contact__suivre{margin:1.2rem 0 0;font:italic 400 1.15rem/1.4 var(--ff-serif);color:var(--gold-soft)}
.contact__grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.6rem;margin-top:2.4rem}
.contact__item span{display:block;margin-bottom:.5rem;font:700 .72rem/1 var(--ff-sans);font-stretch:118%;letter-spacing:.14em;text-transform:uppercase;color:rgba(248,242,232,.6)}
.contact__item a{font:italic 500 clamp(1.15rem,2.4vw,1.4rem)/1.2 var(--ff-serif);text-decoration:none;border-bottom:1.5px solid var(--terra);padding-bottom:2px;word-break:break-word}
.contact__item a:hover{border-color:var(--gold)}
.rdv__visuel{position:relative;max-width:24rem;width:100%}
