/* ============================================================
   pc92-anim.css — 07/09/2026
   Le site s'appuyait sur des ombres qui grossissaient au survol.
   Les ombres retirées, plus rien ne réagissait. On rend la
   réaction au mouvement et au trait, pas au flou.

   Règle de conduite : tout est lisible à l'arrêt. Les entrées
   en scène ne s'activent que si le JS tourne et que la personne
   n'a pas demandé à réduire les animations.
   ============================================================ */

:root{
  --ease:cubic-bezier(.2,.7,.3,1);
  --vif:cubic-bezier(.34,1.4,.64,1);
}

/* ---------- 1. Ce qu'on survole doit répondre ---------- */

.cat-card{
  transition:transform .22s var(--ease), border-top-width .18s var(--ease),
             border-color .18s var(--ease), background .18s var(--ease);
  border-top-width:2px;
}
.cat-card:hover,.cat-card:focus-within{
  transform:translateY(-3px);
  border-top-width:4px;
  background:var(--off);
}
.cat-card:hover .pc-ico{transform:scale(1.06)}
.cat-card .pc-ico{transition:transform .22s var(--vif)}

.newcomers-card,.sig-card,.bizcard,.ep-card,.hshop,.ccard{
  transition:transform .2s var(--ease), border-color .2s var(--ease);
}
.newcomers-card:hover,.sig-card:hover,.bizcard:hover,.ep-card:hover,.hshop:hover,.ccard:hover{
  transform:translateY(-2px);
  border-color:var(--brique);
}

/* La flèche avance : c'est elle qui dit « ça mène quelque part ». */
.cat-card-arrow,.newcomer-cta span,.hshop-arr,.pc92-map-arr,
a[class*="cta"] span,.btn-arrow{
  display:inline-block;
  transition:transform .22s var(--vif);
}
.cat-card:hover .cat-card-arrow,
.newcomers-card:hover .newcomer-cta span,
.hshop:hover .hshop-arr,
button:hover .pc92-map-arr{transform:translateX(4px)}

/* ---------- 2. Boutons et liens ---------- */

.btn,.hero-cta,.bizcard_btn,.newcomer-cta,button[type=submit],.nb{
  transition:background .18s var(--ease), color .18s var(--ease),
             transform .12s var(--ease), border-color .18s var(--ease);
}
.btn:hover,.hero-cta:hover,.bizcard_btn:hover,.nb:hover{transform:translateY(-1px)}
.btn:active,.hero-cta:active,.bizcard_btn:active,.nb:active{transform:translateY(0)}

/* Le soulignement se dessine au lieu d'apparaître d'un coup. */
.nl a,.newcomer-info-link,.ep-card-shop a,.bizcard_info a{
  position:relative;
  text-decoration:none;
}
.nl a::after,.newcomer-info-link::after,.ep-card-shop a::after,.bizcard_info a::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:-2px;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .24s var(--ease);
}
.nl a:hover::after,.newcomer-info-link:hover::after,
.ep-card-shop a:hover::after,.bizcard_info a:hover::after{transform:scaleX(1)}

/* Le champ de recherche prend la couleur d'accent quand on y est. */
input[type=text],input[type=search],select,textarea{
  transition:border-color .18s var(--ease), box-shadow .18s var(--ease);
}
input[type=text]:focus,input[type=search]:focus,select:focus{
  border-color:var(--brique);
  box-shadow:0 0 0 3px rgba(57,46,48,.14);
  outline:none;
}

/* Les icônes des fiches réagissent avec leur bloc. */
.bizcard_info-icon .pc-ico,.ci-ico .pc-ico{transition:transform .2s var(--vif)}
.bizcard:hover .bizcard_info-icon .pc-ico{transform:scale(1.08)}

/* ---------- 3. Entrée en scène ---------- */
/* L'état par défaut est visible : sans JS, rien ne manque. */

html.anim [data-monte]{
  opacity:0;
  transform:translateY(14px);
}
html.anim [data-monte].vu{
  opacity:1;
  transform:translateY(0);
  transition:opacity .5s var(--ease), transform .5s var(--ease);
}
/* le survol reste prioritaire pendant la pose */
html.anim [data-monte].vu:hover{transform:translateY(-3px)}

/* Le haut de page se pose au chargement, une fois, en moins d'une demi-seconde. */
html.anim .hero-kicker-txt,
html.anim .hero-h1,
html.anim .hero-sub,
html.anim .hero-pills,
html.anim .hero-cta-row{
  animation:pc92-pose .52s var(--ease) both;
}
html.anim .hero-h1{animation-delay:.06s}
html.anim .hero-sub{animation-delay:.12s}
html.anim .hero-pills{animation-delay:.18s}
html.anim .hero-cta-row{animation-delay:.24s}

@keyframes pc92-pose{
  from{opacity:0; transform:translateY(12px)}
  to{opacity:1; transform:none}
}

/* ---------- 4. Respect du réglage système ---------- */

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  html.anim [data-monte]{opacity:1 !important; transform:none !important}
}


/* ============================================================
   Harmonisation des pages internes — 07/09/2026
   Chargée en dernier sur les cinq pages publiques.
   ============================================================ */

:root{
  --pc-papier:#FAF7F3; --pc-fond:#F1EDE7; --pc-encre:#1E1719;
  --pc-accent:#6E2733; --pc-accent2:#8A3441; --pc-or:#B08637;
  --pc-filet:#DDD5CD; --pc-mid:#665C5C;
}

body{background:var(--pc-papier) !important}

/* Le blanc reste pour ce qui est posé sur le papier : c'est ce qui
   donne du relief aux blocs sans une seule ombre. */
.bizcard,.ccard,.pcard,.evcard,.cat-card,.newcomers-card,.sig-card,.ep-card{
  background:#fff;
  border:1px solid var(--pc-filet);
}

/* Les boutons pleins et les filtres actifs portent l'accent, pas le brun. */
.bizcard_btn.is-primary,.cta,.btn-primary,.pcard-cta,.evcard-cta,
.topbar .cta,.chip.actif,.filtre.actif,[class*="chip"].is-active,
.cat-pill.is-active,.filter-pill.active{
  background:var(--pc-accent) !important;
  border-color:var(--pc-accent) !important;
  color:#fff !important;
}
.bizcard_btn.is-primary:hover,.cta:hover,.btn-primary:hover{
  background:var(--pc-accent2) !important;
  border-color:var(--pc-accent2) !important;
}

/* Les pastilles de catégorie : accent en aplat, texte clair. */
.bizcard_category-pill{background:var(--pc-encre) !important;color:#fff !important}

/* Les liens de contenu prennent l'accent. */
a{color:inherit}
.bizcard_info a,.pcard a,.evcard a,.ccard a,.newcomer-info-link{color:var(--pc-accent)}


/* ------------------------------------------------------------
   Les traits décoratifs devant les surtitres
   ------------------------------------------------------------ */

/* Un petit trait de 22 px précédait chaque surtitre. Il n'annonçait rien
   que le texte juste à côté ne disait déjà : on le retire, et le surtitre
   s'aligne enfin sur la marge des titres. */
.hero-kicker-dot{display:none !important}
.sig-kicker::before,.hero-panel-kicker::before,
[class*="kicker"]::before{content:none !important}
.hero-kicker-row{gap:0 !important}
