/*
Theme Name: Hipocamp
Theme URI: https://hipocamp.fr
Description: Habillage editorial chaleureux pour Hipocamp, le magazine du haut potentiel chez l'enfant.
Author: Ecomyo
Template: astra
Version: 1.0
Text Domain: hipocamp
*/

:root{
  --creme:#fbf8f3;        /* fond papier */
  --creme-2:#f3ede2;      /* sections alternées / bandeaux doux */
  --ivoire:#fffdf9;       /* cartes, surface de lecture */
  --encre:#2a2438;        /* texte principal (prune très foncé) */
  --encre-doux:#544c66;   /* texte courant */
  --brume:#857c95;        /* texte secondaire */
  --prune:#4a3b6b;        /* primaire */
  --prune-fonce:#3a2e5c;  /* titres, liens */
  --corail:#ef6f5c;       /* accent */
  --corail-fonce:#d6543f; /* accent au survol / liens chauds */
  --sauge:#6f8f73;        /* secondaire calme */
  --or:#caa24a;
  --filet:rgba(42,36,56,.12);
  --filet-fort:rgba(42,36,56,.22);
  --ombre:0 22px 50px -32px rgba(58,46,92,.45);
  --ombre-douce:0 10px 30px -20px rgba(58,46,92,.35);
  --titre:"Fraunces",Georgia,"Times New Roman",serif;
  --texte:"Mulish",-apple-system,Segoe UI,sans-serif;
  --largeur:1140px;
  --radius:16px;
}

/* on masque l'habillage Astra : on pose le nôtre */
.site-header,.ast-above-header-wrap,.ast-below-header-wrap,
.site-footer,.ast-small-footer,footer.site-footer{ display:none !important; }

html{ scroll-behavior:smooth; }
body{
  background:var(--creme);
  color:var(--encre-doux);
  font-family:var(--texte);
  font-size:18px;
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
}
a{ color:var(--prune); text-decoration:none; }
a:hover{ color:var(--corail-fonce); }
img{ max-width:100%; height:auto; display:block; }
h1,h2,h3,h4{ font-family:var(--titre); color:var(--prune-fonce); line-height:1.08; font-weight:600; }
:focus-visible{ outline:2.5px solid var(--corail); outline-offset:3px; border-radius:3px; }

.hc-cadre{ max-width:var(--largeur); margin-inline:auto; padding-inline:26px; }

/* ============== ENTÊTE ============== */
/* volontairement NON sticky : on reste sur une lecture posée, "papier" */
.hc-tete{ background:var(--creme); border-bottom:1px solid var(--filet); }
.hc-tete__rang{ display:flex; align-items:center; gap:28px; min-height:78px; }
.hc-tete__logo{ display:inline-flex; align-items:center; gap:12px; font-family:var(--titre);
  font-weight:600; font-size:1.5rem; color:var(--prune-fonce); white-space:nowrap; letter-spacing:-.01em; }
.hc-tete__logo:hover{ color:var(--prune-fonce); }
.hc-tete__logo b{ font-weight:600; }
.hc-embleme{ width:38px; height:38px; flex:0 0 38px; }
.hc-tete__nav{ display:flex; align-items:center; gap:22px; margin-left:auto; }
.hc-tete__nav a{ color:var(--encre); font-weight:600; font-size:.97rem; padding:6px 2px;
  border-bottom:2px solid transparent; transition:border-color .2s,color .2s; }
.hc-tete__nav a:hover{ color:var(--prune); border-color:var(--corail); }
.hc-tete__cta{ display:inline-flex; align-items:center; gap:8px; background:var(--prune);
  color:#fff !important; padding:11px 19px; border-radius:999px; font-weight:700; font-size:.92rem;
  border-bottom:0 !important; transition:transform .15s,background .2s; }
.hc-tete__cta:hover{ background:var(--prune-fonce); color:#fff !important; transform:translateY(-1px); }
.hc-bascule{ display:none; background:none; border:0; width:44px; height:44px; cursor:pointer;
  margin-left:auto; color:var(--prune-fonce); }
.hc-bascule span{ display:block; width:25px; height:2px; background:currentColor; margin:5px auto; transition:.3s; }
.hc-bascule.on span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.hc-bascule.on span:nth-child(2){ opacity:0; }
.hc-bascule.on span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* ============== OUVERTURE (hero) ============== */
.hc-ouverture{ position:relative; overflow:hidden; background:var(--creme); }
.hc-ouverture::before{ content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(46% 60% at 88% 8%,rgba(239,111,92,.10),transparent 62%),
            radial-gradient(40% 55% at 6% 92%,rgba(74,59,107,.07),transparent 60%); }
.hc-ouverture__rang{ position:relative; display:grid; grid-template-columns:1.05fr .95fr; gap:54px;
  align-items:center; padding-block:78px 86px; }
.hc-ouverture__sur{ display:inline-flex; align-items:center; gap:10px; font-weight:700;
  text-transform:uppercase; letter-spacing:.15em; font-size:.74rem; color:var(--corail-fonce); margin-bottom:22px; }
.hc-ouverture__sur::before{ content:""; width:28px; height:2px; background:var(--corail); }
.hc-ouverture__titre{ font-size:clamp(2.5rem,5.3vw,4.3rem); font-weight:600; color:var(--prune-fonce);
  margin:0 0 22px; letter-spacing:-.018em; }
.hc-ouverture__titre em{ font-style:italic; color:var(--corail-fonce); font-weight:500; }
.hc-ouverture__sous{ font-size:1.18rem; color:var(--encre-doux); max-width:40ch; margin:0 0 34px; }
.hc-ouverture__actions{ display:flex; flex-wrap:wrap; gap:14px; }

.hc-bouton{ display:inline-flex; align-items:center; gap:9px; padding:14px 26px; border-radius:999px;
  font-weight:700; font-size:1rem; font-family:var(--texte);
  transition:transform .15s,box-shadow .2s,background .2s,color .2s,border-color .2s; }
.hc-bouton--plein{ background:var(--corail); color:#fff !important; }
.hc-bouton--plein:hover{ background:var(--corail-fonce); color:#fff !important; transform:translateY(-2px);
  box-shadow:0 14px 30px -14px rgba(214,84,63,.7); }
.hc-bouton--ligne{ border:1.6px solid var(--filet-fort); color:var(--prune-fonce) !important; }
.hc-bouton--ligne:hover{ border-color:var(--prune); color:var(--prune) !important; }

/* le carnet (signature) : une page de carnet posée de biais, avec un sommaire manuscrit */
.hc-carnet{ position:relative; }
.hc-carnet__page{ position:relative; background:var(--ivoire); border:1px solid var(--filet);
  border-radius:14px; padding:30px 32px 28px; box-shadow:var(--ombre); transform:rotate(-1.4deg);
  background-image:linear-gradient(transparent 33px,rgba(74,59,107,.06) 34px); background-size:100% 34px;
  background-position:0 64px; }
.hc-carnet__page::before{ /* spirale / reliure */
  content:""; position:absolute; left:0; top:18px; bottom:18px; width:5px; border-radius:5px;
  background:repeating-linear-gradient(transparent 0 8px,var(--corail) 8px 12px); opacity:.5; }
.hc-carnet__ruban{ position:absolute; top:-13px; right:26px; background:var(--corail); color:#fff;
  font-weight:800; font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; padding:7px 14px 9px;
  border-radius:3px 3px 0 0; box-shadow:var(--ombre-douce); }
.hc-carnet__ruban::after{ content:""; position:absolute; left:0; right:0; bottom:-8px; height:8px;
  background:var(--corail); clip-path:polygon(0 0,100% 0,100% 100%,50% 55%,0 100%); }
.hc-carnet__sur{ font-family:var(--titre); font-style:italic; font-size:1.05rem; color:var(--brume); margin-bottom:4px; }
.hc-carnet__titre{ font-family:var(--titre); font-size:1.6rem; color:var(--prune-fonce); margin:0 0 16px; }
.hc-carnet__som{ list-style:none; margin:0; padding:0; }
.hc-carnet__som li{ display:flex; align-items:baseline; gap:10px; padding:7px 0;
  font-size:1.02rem; color:var(--encre); }
.hc-carnet__som li a{ color:var(--encre); border-bottom:1px solid transparent; }
.hc-carnet__som li a:hover{ color:var(--corail-fonce); border-color:var(--corail); }
.hc-carnet__num{ font-family:var(--titre); font-style:italic; color:var(--corail); width:1.4em; flex:none; }
.hc-carnet__fil{ flex:1; border-bottom:1px dotted var(--filet-fort); transform:translateY(-4px); }
.hc-carnet__creature{ position:absolute; right:-26px; bottom:-30px; width:138px; height:138px;
  color:var(--corail); transform:rotate(6deg); filter:drop-shadow(0 12px 18px rgba(214,84,63,.28)); }

/* ============== PANNEAUX / SECTIONS ============== */
.hc-pan{ padding-block:72px; }
.hc-pan--creme{ background:var(--creme-2); }
.hc-titraille{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px;
  margin-bottom:14px; }
.hc-titraille__sur{ display:block; color:var(--corail-fonce); font-weight:700; font-size:.78rem;
  letter-spacing:.14em; text-transform:uppercase; margin-bottom:9px; }
.hc-titraille__titre{ font-size:clamp(1.8rem,3.2vw,2.5rem); margin:0; color:var(--prune-fonce); }
.hc-titraille__lien{ color:var(--prune); font-weight:700; font-size:.94rem; white-space:nowrap; }
.hc-titraille__lien:hover{ color:var(--corail-fonce); }
.hc-pan__chapo{ max-width:64ch; color:var(--encre-doux); margin:0 0 40px; font-size:1.08rem; }

/* ============== MANIFESTE (section éditoriale + photos) ============== */
.hc-manifeste .hc-cadre{ display:grid; grid-template-columns:1.04fr .96fr; gap:60px; align-items:center; }
.hc-album{ position:relative; padding:18px 30px; }
.hc-album::before{ content:""; position:absolute; left:6px; bottom:8px; width:62%; height:78%;
  background:radial-gradient(circle at 30% 30%,rgba(239,111,92,.18),transparent 70%); z-index:0; }
.hc-album__principale{ position:relative; z-index:1; margin:0; border-radius:18px; overflow:hidden;
  border:1px solid var(--filet); box-shadow:var(--ombre); }
.hc-album__principale img{ display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
/* clichés = photos "posées" type instantané (cohérent carnet) */
.hc-cliche{ position:absolute; z-index:2; margin:0; background:#fff; padding:7px 7px 26px;
  border-radius:3px; box-shadow:var(--ombre); }
.hc-cliche img{ display:block; width:100%; height:100%; object-fit:cover; }
.hc-cliche__legende{ position:absolute; left:7px; right:7px; bottom:6px; text-align:center;
  font-family:var(--titre); font-style:italic; font-size:.82rem; color:var(--brume); }
.hc-cliche--a{ width:160px; right:6px; bottom:-22px; transform:rotate(4deg); }
.hc-cliche--a img{ aspect-ratio:3/4; }
.hc-cliche--b{ width:158px; left:-2px; top:-20px; transform:rotate(-5deg); }
.hc-cliche--b img{ aspect-ratio:4/3; }

.hc-promesse__sur{ display:inline-flex; align-items:center; gap:10px; font-weight:700;
  text-transform:uppercase; letter-spacing:.15em; font-size:.74rem; color:var(--corail-fonce); margin-bottom:16px; }
.hc-promesse__sur::before{ content:""; width:28px; height:2px; background:var(--corail); }
.hc-promesse h2{ font-size:clamp(1.9rem,3.4vw,2.7rem); margin:0 0 18px; color:var(--prune-fonce); }
.hc-promesse p{ font-size:1.1rem; color:var(--encre-doux); margin:0 0 22px; max-width:46ch; }
.hc-promesse p em{ font-style:italic; color:var(--prune); }
.hc-promesse__points{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:13px; }
.hc-promesse__points li{ position:relative; padding-left:32px; color:var(--encre); font-weight:500; }
.hc-promesse__points li::before{ content:""; position:absolute; left:0; top:2px; width:20px; height:20px;
  border-radius:50%; background:color-mix(in srgb,var(--corail) 16%,#fff);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d6543f' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E"); background-size:13px; background-repeat:no-repeat; background-position:center; }

/* ============== RUBRIQUES (grille catégories) ============== */
.hc-grille{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.hc-rubrique{ --teinte:var(--prune); position:relative; display:flex; flex-direction:column;
  background:var(--ivoire); border:1px solid var(--filet); border-radius:var(--radius);
  padding:28px 26px 30px; transition:transform .22s,box-shadow .22s,border-color .22s; }
.hc-rubrique::before{ content:""; position:absolute; left:0; top:24px; bottom:24px; width:4px;
  border-radius:0 4px 4px 0; background:var(--teinte); }
.hc-rubrique:hover{ transform:translateY(-4px); box-shadow:var(--ombre); border-color:transparent; }
.hc-rubrique__ic{ width:54px; height:54px; border-radius:14px; display:grid; place-items:center;
  margin-bottom:18px; background:color-mix(in srgb,var(--teinte) 14%,#fff);
  color:var(--teinte); }
.hc-rubrique__ic svg{ width:28px; height:28px; stroke:currentColor; fill:none; stroke-width:1.8;
  stroke-linecap:round; stroke-linejoin:round; }
.hc-rubrique__titre{ font-size:1.28rem; margin:0 0 9px; }
.hc-rubrique__titre a{ color:var(--prune-fonce); }
.hc-rubrique__titre a:hover{ color:var(--corail-fonce); }
.hc-rubrique__desc{ color:var(--encre-doux); font-size:.98rem; line-height:1.6; margin:0 0 18px; flex:1; }
.hc-rubrique__lire{ font-weight:700; font-size:.9rem; color:var(--teinte);
  display:inline-flex; align-items:center; gap:7px; }
.hc-rubrique__lire span{ transition:transform .2s; }
.hc-rubrique:hover .hc-rubrique__lire span{ transform:translateX(4px); }

/* ============== FIL (cartes articles) ============== */
.hc-fil{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.hc-fil--une{ grid-template-columns:1.6fr 1fr 1fr; }
.hc-billet{ display:flex; flex-direction:column; background:var(--ivoire); border:1px solid var(--filet);
  border-radius:var(--radius); overflow:hidden; transition:transform .2s,box-shadow .2s; }
.hc-billet:hover{ transform:translateY(-3px); box-shadow:var(--ombre); }
.hc-billet__media{ aspect-ratio:16/10; overflow:hidden; background:var(--creme-2); display:block; }
.hc-billet__media svg,.hc-billet__media img{ width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.hc-billet:hover .hc-billet__media img{ transform:scale(1.05); }
.hc-billet__corps{ padding:20px 22px 24px; display:flex; flex-direction:column; flex:1; }
.hc-fanion{ align-self:flex-start; font-weight:700; text-transform:uppercase; letter-spacing:.08em;
  font-size:.66rem; color:var(--corail-fonce); margin-bottom:11px; }
.hc-billet__titre{ font-size:1.2rem; line-height:1.22; margin:0 0 10px; }
.hc-billet--vedette .hc-billet__titre{ font-size:1.75rem; }
.hc-billet__titre a{ color:var(--prune-fonce); }
.hc-billet__titre a:hover{ color:var(--corail-fonce); }
.hc-billet__chapo{ color:var(--encre-doux); font-size:.96rem; line-height:1.62; margin:0 0 14px; flex:1; }
.hc-billet__meta{ font-size:.82rem; color:var(--brume); border-top:1px solid var(--filet); padding-top:12px; }

.hc-vide{ grid-column:1/-1; text-align:center; padding:48px 26px; border:1px dashed var(--filet-fort);
  border-radius:var(--radius); background:var(--ivoire); color:var(--encre-doux); }
.hc-vide strong{ display:block; font-family:var(--titre); color:var(--prune-fonce); font-size:1.4rem; margin-bottom:6px; }

/* ============== RELANCE (CTA) ============== */
.hc-relance{ position:relative; overflow:hidden; border-radius:22px;
  background:linear-gradient(135deg,var(--prune),var(--prune-fonce)); color:#fff; }
.hc-relance::after{ content:""; position:absolute; right:-8%; top:-50%; width:46%; height:200%;
  border-radius:50%; background:rgba(239,111,92,.22); }
.hc-relance__in{ position:relative; display:flex; align-items:center; justify-content:space-between;
  gap:30px; padding:48px 46px; flex-wrap:wrap; }
.hc-relance h2{ color:#fff; font-size:clamp(1.5rem,3vw,2.15rem); margin:0 0 8px; max-width:26ch; }
.hc-relance p{ margin:0; color:rgba(255,255,255,.82); max-width:50ch; }
.hc-relance .hc-bouton--plein{ background:#fff; color:var(--prune-fonce) !important; }
.hc-relance .hc-bouton--plein:hover{ background:var(--creme); color:var(--prune-fonce) !important; }

/* ============== SOCLE (footer) ============== */
.hc-socle{ background:var(--prune-fonce); color:rgba(255,255,255,.74); padding-block:58px 26px; }
.hc-socle__grille{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:34px; margin-bottom:40px; }
.hc-socle__marque{ display:inline-flex; align-items:center; gap:11px; font-family:var(--titre);
  font-weight:600; font-size:1.4rem; color:#fff; margin-bottom:14px; }
.hc-socle p{ font-size:.95rem; line-height:1.66; max-width:36ch; }
.hc-socle h4{ color:#fff; font-size:.78rem; text-transform:uppercase; letter-spacing:.14em; margin:0 0 16px; font-weight:700; }
.hc-socle ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px; }
.hc-socle a{ color:rgba(255,255,255,.74); font-size:.95rem; }
.hc-socle a:hover{ color:var(--corail); }
.hc-socle__bas{ border-top:1px solid rgba(255,255,255,.14); padding-top:22px; display:flex;
  justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:.85rem; color:rgba(255,255,255,.55); }

/* ============== FEUILLET (article / page) ============== */
.hc-feuillet{ background:var(--creme); }
.hc-feuillet__tete{ position:relative; overflow:hidden; background:var(--creme); padding-block:62px 44px; }
.hc-feuillet__tete::before{ content:""; position:absolute; inset:0;
  background:radial-gradient(54% 90% at 82% 0,rgba(239,111,92,.10),transparent 60%); }
.hc-feuillet__tete .hc-cadre{ position:relative; max-width:840px; }
.hc-feuillet__rubr{ font-weight:700; text-transform:uppercase; letter-spacing:.12em; font-size:.74rem;
  color:var(--corail-fonce); margin-bottom:16px; display:inline-block; }
.hc-feuillet__titre{ color:var(--prune-fonce); font-size:clamp(2rem,4.4vw,3.05rem); font-weight:600;
  margin:0 0 18px; letter-spacing:-.015em; }
.hc-feuillet__meta{ font-size:.92rem; color:var(--brume); display:flex; gap:16px; flex-wrap:wrap; align-items:center; }
.hc-feuillet__meta .pt{ color:var(--prune); font-weight:700; }

/* surface de lecture : île ivoire posée sur le crème, ombre douce */
.hc-feuillet__corps{ background:var(--creme); padding-block:8px 64px; }
.hc-feuillet__corps .entry-content{ max-width:760px; margin-inline:auto; background:var(--ivoire);
  padding:54px clamp(24px,4vw,60px); border-radius:var(--radius); box-shadow:var(--ombre-douce);
  border:1px solid var(--filet); }
.entry-content>*{ margin-bottom:1.45em; }
.entry-content p{ font-size:1.12rem; line-height:1.82; color:var(--encre-doux); }
.entry-content h2,.entry-content h3,.entry-content h4{ color:var(--prune-fonce); }
.entry-content h2{ font-size:1.72rem; margin-top:1.9em; }
.entry-content h2::before{ content:""; display:block; width:42px; height:3px; background:var(--corail);
  border-radius:3px; margin-bottom:.5em; }
.entry-content h3{ font-size:1.34rem; margin-top:1.5em; }
.entry-content a{ color:var(--corail-fonce); text-decoration:underline; text-underline-offset:3px; }
.entry-content blockquote{ border-left:3px solid var(--corail); margin:1.7em 0; padding:.3em 0 .3em 1.4em;
  font-family:var(--titre); font-style:italic; font-size:1.32rem; line-height:1.4; color:var(--prune-fonce); }
.entry-content ul,.entry-content ol{ padding-left:1.3em; }
.entry-content li{ margin-bottom:.5em; }
.entry-content li::marker{ color:var(--corail); }
.entry-content img,.hc-visuel{ border-radius:12px; }
.hc-visuel{ margin:0 0 1.7em; overflow:hidden; box-shadow:var(--ombre-douce); }
.single .hc-feuillet__corps .entry-content>p:first-of-type::first-letter{ font-family:var(--titre);
  font-weight:600; float:left; font-size:3.6rem; line-height:.78; padding:8px 12px 0 0; color:var(--corail); }
.single .ast-article-single .entry-header,.page .ast-article-single .entry-header{ display:none; }

/* à lire aussi (related) */
.hc-aussi{ max-width:760px; margin:46px auto 0; }
.hc-aussi__titre{ font-family:var(--titre); font-weight:600; font-size:1.45rem; margin:0 0 22px;
  color:var(--prune-fonce); }
.hc-aussi__titre span{ color:var(--corail); }
.hc-aussi .fil{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }

/* ============== CARTOUCHE (archive / page tête) ============== */
.hc-cartouche{ position:relative; overflow:hidden; background:var(--creme); padding-block:58px 42px; }
.hc-cartouche::before{ content:""; position:absolute; inset:0;
  background:radial-gradient(54% 90% at 84% 0,rgba(239,111,92,.10),transparent 60%); }
.hc-cartouche .hc-cadre{ position:relative; }
.hc-cartouche h1{ color:var(--prune-fonce); font-size:clamp(2rem,4vw,2.9rem); margin:0; }
.hc-cartouche p{ color:var(--encre-doux); margin:14px 0 0; max-width:62ch; }

/* ============== ARCHIVE (2 colonnes : fil + rail droit) ============== */
.hc-archive{ display:grid; grid-template-columns:minmax(0,1fr) 296px; gap:50px; align-items:start; }
.hc-archive .hc-fil{ grid-template-columns:repeat(2,1fr); }
.hc-rail{ position:sticky; top:24px; display:flex; flex-direction:column; gap:22px; }
.hc-encart{ background:var(--ivoire); border:1px solid var(--filet); border-radius:var(--radius); padding:24px 24px 26px; }
.hc-encart h3{ font-size:1.12rem; margin:0 0 14px; color:var(--prune-fonce); }
.hc-encart p{ font-size:.95rem; color:var(--encre-doux); margin:0; }
.hc-encart ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px; }
.hc-encart li a{ display:flex; align-items:center; gap:10px; padding:9px 0; color:var(--encre);
  font-weight:600; border-bottom:1px solid var(--filet); font-size:.96rem; }
.hc-encart li:last-child a{ border-bottom:0; }
.hc-encart li a:hover{ color:var(--corail-fonce); }
.hc-encart li a::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--puce,var(--prune)); flex:none; }

.pagination,.ast-pagination{ margin-top:44px; }
.page-numbers{ display:inline-flex; min-width:42px; height:42px; align-items:center; justify-content:center;
  padding:0 12px; border:1px solid var(--filet); border-radius:10px; margin:0 4px 4px 0; color:var(--prune);
  font-weight:700; background:var(--ivoire); }
.page-numbers.current{ background:var(--prune); color:#fff; border-color:var(--prune); }
.page-numbers:hover:not(.current){ border-color:var(--corail); color:var(--corail-fonce); }

/* ============== CONTACT ============== */
.hc-contact-grille{ display:grid; grid-template-columns:1fr 1.05fr; gap:48px; align-items:start; }
.hc-contact-infos{ padding:0; margin:0; }
.hc-contact-infos li{ list-style:none; display:flex; gap:14px; margin-bottom:22px; }
.hc-contact-infos .puce{ flex:0 0 44px; height:44px; border-radius:12px; background:color-mix(in srgb,var(--prune) 12%,#fff);
  color:var(--prune); display:grid; place-items:center; }
.hc-contact-infos b{ display:block; color:var(--prune-fonce); font-family:var(--titre); font-weight:600; }
.hc-contact-infos span{ color:var(--encre-doux); }
.hc-contact-infos a{ color:var(--corail-fonce); }
.hc-form{ background:var(--ivoire); border:1px solid var(--filet); border-radius:var(--radius); padding:32px; box-shadow:var(--ombre-douce); }
.hc-form label{ display:block; font-weight:700; font-size:.9rem; color:var(--prune-fonce); margin:0 0 7px; }
.hc-form p{ margin:0 0 18px; }
.hc-form input,.hc-form textarea{ width:100%; padding:12px 14px; border:1px solid var(--filet-fort);
  border-radius:10px; background:var(--creme); font-family:var(--texte); font-size:1rem; color:var(--encre);
  transition:border-color .2s,box-shadow .2s; }
.hc-form input:focus,.hc-form textarea:focus{ outline:0; border-color:var(--corail);
  box-shadow:0 0 0 3px rgba(239,111,92,.2); background:#fff; }
.hc-form textarea{ min-height:152px; resize:vertical; }
.hc-form .miel{ position:absolute; left:-9999px; }
.hc-form button{ background:var(--corail); color:#fff; border:0; padding:14px 30px; border-radius:999px;
  font-family:var(--texte); font-weight:700; font-size:1rem; cursor:pointer; transition:transform .15s,background .2s; }
.hc-form button:hover{ background:var(--corail-fonce); transform:translateY(-1px); }
.hc-avis{ padding:14px 16px; border-radius:10px; margin-bottom:20px; font-weight:600; }
.hc-avis--ok{ background:color-mix(in srgb,var(--sauge) 16%,#fff); color:#3e6b48; border:1px solid color-mix(in srgb,var(--sauge) 45%,#fff); }
.hc-avis--ko{ background:color-mix(in srgb,var(--corail) 14%,#fff); color:var(--corail-fonce); border:1px solid color-mix(in srgb,var(--corail) 40%,#fff); }

/* ============== RESPONSIVE ============== */
@media (max-width:1000px){
  .hc-ouverture__rang{ grid-template-columns:1fr; gap:46px; padding-block:58px 64px; }
  .hc-carnet{ max-width:460px; }
  .hc-manifeste .hc-cadre{ grid-template-columns:1fr; gap:54px; }
  .hc-album{ max-width:540px; margin-inline:auto; }
  .hc-grille,.hc-fil,.hc-fil--une{ grid-template-columns:repeat(2,1fr); }
  .hc-socle__grille{ grid-template-columns:1fr 1fr; }
  .hc-contact-grille{ grid-template-columns:1fr; gap:32px; }
  .hc-aussi .fil{ grid-template-columns:1fr; }
  .hc-archive{ grid-template-columns:1fr; gap:40px; }
  .hc-rail{ position:static; flex-direction:row; flex-wrap:wrap; }
  .hc-encart{ flex:1 1 240px; }
}
@media (max-width:680px){
  body{ font-size:17px; }
  .hc-tete__nav{ position:fixed; inset:78px 0 auto 0; flex-direction:column; align-items:stretch; gap:0;
    background:var(--creme); border-bottom:1px solid var(--filet); padding:8px 26px 18px;
    transform:translateY(-135%); transition:transform .3s; box-shadow:var(--ombre); z-index:50; }
  .hc-tete__nav.on{ transform:translateY(0); }
  .hc-tete__nav a{ padding:13px 0; border-bottom:1px solid var(--filet); }
  .hc-tete__cta{ margin-top:10px; justify-content:center; }
  .hc-bascule{ display:block; }
  .hc-grille,.hc-fil,.hc-fil--une,.hc-archive .hc-fil{ grid-template-columns:1fr; }
  .hc-socle__grille{ grid-template-columns:1fr; }
  .hc-titraille{ flex-direction:column; align-items:flex-start; gap:8px; }
  .hc-relance__in{ padding:34px 26px; }
  .hc-carnet__creature{ width:92px; height:92px; right:-8px; }
  .hc-cliche--a{ width:118px; bottom:-16px; right:-4px; }
  .hc-cliche--b{ width:116px; top:-14px; left:-6px; }
  .hc-cliche__legende{ font-size:.72rem; }
}
@media (prefers-reduced-motion:reduce){ *{ animation:none !important; transition:none !important; scroll-behavior:auto !important; } }

/* reveals — masqués seulement si JS actif (.js sur <html>) ; visibles sans JS */
.js .eclore{ opacity:0; transform:translateY(22px); transition:opacity .6s ease,transform .6s ease; }
.js .eclore.vu{ opacity:1; transform:none; }

/* full-width robuste (conteneur Astra page-builder en display:grid → forcer block + width) */
body #content.site-content>.ast-container{ display:block !important; max-width:100% !important; width:100% !important;
  margin-left:0 !important; margin-right:0 !important; padding-left:0 !important; padding-right:0 !important; }
#content.site-content{ padding-top:0 !important; }
#primary{ margin:0 !important; padding:0 !important; max-width:100% !important; width:100% !important; }
.hc-accueil,.hc-feuillet{ position:relative; z-index:1; }
/* fond crème sur tous les wrappers Astra (sinon liseré blanc sous le contenu) */
html,body,#page,#content.site-content,#content.site-content>.ast-container{ background:var(--creme); }
