/*
Theme Name: CISADM
Theme URI: https://www.cisadm.fr/
Author: CISADM
Author URI: https://www.cisadm.fr/
Description: Thème sur-mesure pour CISADM, assistante administrative indépendante à Orléans. Design moderne et dynamique respectant la charte framboise (#BA1D5F) et gris anthracite (#666566). One-page d'accueil, modèles de pages intérieures, personnalisateur de coordonnées.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cisadm
Tags: business, one-column, custom-logo, custom-menu, featured-images, translation-ready, blog
*/

/* =========================================================================
   CISADM — Feuille de style principale
   Charte : framboise #BA1D5F · gris anthracite #666566 · blanc
   Design : « le dossier bien tenu » — index à références, respiration,
            silhouette de bâtiments en rappel du logo.
   ========================================================================= */

:root{
  --framboise:      #BA1D5F;
  --framboise-fonce:#8E1449;
  --framboise-nuit: #5E0E30;
  --encre:          #241a1e;   /* near-black, légèrement teinté framboise */
  --gris:           #666566;   /* gris du logo, texte secondaire */
  --gris-clair:     #8b8a8b;
  --craie:          #fbf7f9;   /* off-white rosé (pas de crème chaude) */
  --rose-poudre:    #f7e9f0;
  --rose-vif:       #fbeef4;
  --ligne:          #ece2e8;
  --blanc:          #ffffff;

  --ombre-douce: 0 1px 2px rgba(36,26,30,.04), 0 8px 24px rgba(36,26,30,.06);
  --ombre-carte: 0 2px 4px rgba(94,14,48,.05), 0 18px 40px rgba(94,14,48,.10);

  --r-s: 10px;
  --r-m: 16px;
  --r-l: 24px;

  --conteneur: 1200px;
  --pad-section: clamp(4.5rem, 9vw, 8rem);

  --f-display: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;
  --f-corps:   "Hanken Grotesk", ui-sans-serif, system-ui, sans-serif;
  --f-mono:    "Space Mono", ui-monospace, "SFMono-Regular", monospace;
}

/* ----- Reset léger ----- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:90px; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }
body{
  margin:0;
  font-family:var(--f-corps);
  color:var(--encre);
  background:var(--blanc);
  line-height:1.6;
  font-size:clamp(1rem, .96rem + .2vw, 1.075rem);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; }
h1,h2,h3,h4{ font-family:var(--f-display); font-weight:700; line-height:1.05; margin:0; letter-spacing:-.015em; }

/* ----- Utilitaires ----- */
.conteneur{ width:100%; max-width:var(--conteneur); margin-inline:auto; padding-inline:clamp(1.25rem, 4vw, 2.5rem); }
.eyebrow{
  font-family:var(--f-mono); font-size:20px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--framboise); font-weight:700; display:inline-flex; align-items:center; gap:.6rem;
}
.eyebrow::before{ content:""; width:1.6rem; height:1px; background:var(--framboise); opacity:.55; }
.section{ padding-block:var(--pad-section); }

/* ----- Boutons ----- */
.btn{
  --_bg:var(--framboise); --_fg:#fff;
  display:inline-flex; align-items:center; gap:.55rem;
  padding:.85rem 1.4rem; border-radius:999px;
  font-family:var(--f-corps); font-weight:600; font-size:.98rem;
  background:var(--_bg); color:var(--_fg); border:1.5px solid var(--_bg);
  cursor:pointer; transition:transform .25s cubic-bezier(.2,.7,.2,1), box-shadow .25s, background .2s, color .2s, border-color .2s;
  will-change:transform;
}
.btn:hover{ transform:translateY(-2px); box-shadow:0 12px 26px rgba(186,29,95,.28); }
.btn:focus-visible{ outline:3px solid var(--framboise); outline-offset:3px; }
.btn .fleche{ transition:transform .25s; }
.btn:hover .fleche{ transform:translateX(3px); }
.btn--ghost{ --_bg:transparent; --_fg:var(--encre); border-color:var(--ligne); }
.btn--ghost:hover{ border-color:var(--framboise); color:var(--framboise); box-shadow:none; }
.btn--clair{ --_bg:#fff; --_fg:var(--framboise); border-color:#fff; }
.btn--clair:hover{ box-shadow:0 12px 26px rgba(0,0,0,.18); }

/* =========================================================================
   EN-TÊTE
   ========================================================================= */
.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.82); backdrop-filter:saturate(160%) blur(12px);
  border-bottom:1px solid transparent; transition:border-color .3s, box-shadow .3s;
}
.site-header.is-scrolled{ border-color:var(--ligne); box-shadow:var(--ombre-douce); }
.header-inner{ display:flex; align-items:center; justify-content:space-between; gap:1.5rem; min-height:74px; }
.brand{ display:flex; align-items:center; gap:.7rem; font-family:var(--f-display); font-weight:800; letter-spacing:-.02em; font-size:1.35rem; }
.brand .cis{ color:var(--gris); } .brand .adm{ color:var(--framboise); }
.brand img,.custom-logo{ height:54px; width:auto; display:block; }
.custom-logo-link{ display:inline-flex; align-items:center; }
.site-header.is-scrolled .brand img,
.site-header.is-scrolled .custom-logo{ height:46px; transition:height .3s; }
.nav{ display:flex; align-items:center; gap:.35rem; }
.nav ul{ display:flex; align-items:center; gap:.35rem; list-style:none; margin:0; padding:0; }
.nav li{ list-style:none; }
.nav a{ padding:.5rem .8rem; border-radius:8px; font-weight:500; font-size:.96rem; color:var(--encre); transition:color .2s, background .2s; }
.nav a:hover{ color:var(--framboise); background:var(--rose-vif); }
.header-cta{ display:flex; align-items:center; gap:.9rem; }
.header-tel{ font-family:var(--f-mono); font-weight:700; font-size:.9rem; color:var(--encre); white-space:nowrap; }
.header-tel:hover{ color:var(--framboise); }
.burger{ display:none; background:none; border:0; padding:.4rem; cursor:pointer; color:var(--encre); }

/* menu mobile */
.nav-mobile{ display:none; }

/* =========================================================================
   HERO
   ========================================================================= */
.hero{ position:relative; overflow:hidden; padding-block:clamp(3.5rem,7vw,6rem) clamp(3rem,6vw,5rem); background:
   radial-gradient(120% 90% at 88% -10%, var(--rose-vif) 0%, rgba(251,238,244,0) 55%),
   linear-gradient(180deg,#fff 0%, var(--craie) 100%); }
.hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; }
.hero-copy h1{
  font-size:calc(clamp(2.5rem, 1.6rem + 3.4vw, 4.35rem) - 4px); margin:1.1rem 0 0;
  letter-spacing:-.03em;
}
.hero-copy h1 .accent{ color:var(--framboise); position:relative; }
.hero-copy h1 .accent::after{
  content:""; position:absolute; left:0; right:0; bottom:.08em; height:.14em;
  background:linear-gradient(90deg,var(--framboise),var(--rose-poudre)); border-radius:2px; opacity:.35;
}
.hero-lead{ font-size:clamp(1.05rem,1rem+.4vw,1.2rem); color:var(--gris); max-width:34ch; margin:1.4rem 0 2rem; }
.hero-actions{ display:flex; flex-wrap:wrap; gap:.9rem; margin-top:2.2rem; }
.hero-meta{ display:flex; flex-wrap:wrap; gap:1.4rem; margin-top:2.4rem; padding-top:1.6rem; border-top:1px solid var(--ligne); }
.hero-meta div{ font-size:.9rem; color:var(--gris); }
.hero-meta strong{ display:block; font-family:var(--f-mono); font-size:1.05rem; color:var(--encre); font-weight:700; }

/* Signature : la fiche « dossier » */
.dossier{ position:relative; }
.dossier-card{
  background:#fff; border:1px solid var(--ligne); border-radius:var(--r-l);
  box-shadow:var(--ombre-carte); padding:1.6rem 1.6rem 1.4rem; position:relative; z-index:2;
}
.dossier-card::before{ /* onglet */
  content:"DOSSIER"; position:absolute; top:-14px; left:1.6rem;
  font-family:var(--f-mono); font-size:.62rem; letter-spacing:.18em; font-weight:700; color:#fff;
  background:var(--framboise); padding:.3rem .7rem; border-radius:6px 6px 0 0;
}
.dossier-head{ display:flex; align-items:center; justify-content:space-between; padding-bottom:1rem; margin-bottom:.4rem; border-bottom:1px dashed var(--ligne); }
.dossier-head .ref{ font-family:var(--f-mono); font-size:.72rem; color:var(--gris-clair); letter-spacing:.05em; }
.dossier-head .titre{ font-family:var(--f-display); font-weight:700; font-size:1.05rem; }
.checklist{ list-style:none; margin:.3rem 0 0; padding:0; display:grid; gap:.55rem; }
.checklist li{ display:flex; align-items:center; gap:.7rem; font-size:.96rem; color:var(--encre); }
.check{ flex:0 0 auto; width:22px; height:22px; border-radius:6px; background:var(--rose-vif); border:1.5px solid var(--framboise);
  display:grid; place-items:center; position:relative; }
.check svg{ width:13px; height:13px; stroke:var(--framboise); stroke-width:3; fill:none; stroke-dasharray:20; stroke-dashoffset:20; }
.checklist li.done .check{ background:var(--framboise); }
.checklist li.done .check svg{ stroke:#fff; stroke-dashoffset:0; transition:stroke-dashoffset .4s ease; }
.checklist li.done span{ color:var(--gris-clair); text-decoration:line-through; text-decoration-color:var(--rose-poudre); }
.dossier-foot{ margin-top:1.1rem; padding-top:.9rem; border-top:1px dashed var(--ligne);
  display:flex; align-items:center; justify-content:space-between; font-family:var(--f-mono); font-size:1.14rem; line-height:1.4; color:var(--gris); }
.dossier-foot b{ color:var(--framboise); }
.dossier-glow{ position:absolute; inset:auto -12% -18% -12%; height:60%; background:radial-gradient(60% 100% at 50% 0,var(--rose-poudre),transparent 70%); filter:blur(6px); z-index:1; }
.dossier-mission-label{ display:block; font-family:var(--f-mono); font-size:calc(.72rem + 2px); letter-spacing:.05em; text-transform:uppercase; color:var(--framboise); margin-bottom:.9rem; }
.dossier-mission{ font-family:var(--f-display); font-weight:500; font-size:1.14rem; line-height:1.55; color:var(--encre); margin:0 0 1.1rem; }
.raisons-closing{ font-family:var(--f-display); font-weight:600; font-size:1.12rem; color:var(--encre); margin:.6rem 0 0; }

/* silhouette bâtiments (rappel logo) en ambiance */
.skyline{ position:absolute; right:-4%; bottom:0; width:min(560px,52%); opacity:.06; pointer-events:none; color:var(--framboise); }

/* =========================================================================
   BANDEAU CLIENTS (marquee)
   ========================================================================= */
.bandeau{ border-block:1px solid var(--ligne); background:#fff; padding-block:1.15rem; overflow:hidden; }
.bandeau-inner{ display:flex; align-items:center; gap:1rem; }
.bandeau-label{ font-family:var(--f-mono); font-size:calc(.68rem + 2px); letter-spacing:.16em; text-transform:uppercase; color:var(--encre); white-space:nowrap; flex:0 0 auto; }
.marquee{ overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
.marquee-track{ display:flex; gap:2.6rem; width:max-content; animation:defiler 26s linear infinite; }
.marquee:hover .marquee-track{ animation-play-state:paused; }
.marquee-track span{ font-family:var(--f-display); font-weight:600; font-size:1.05rem; color:var(--encre); display:inline-flex; align-items:center; gap:2.6rem; white-space:nowrap; }
.marquee-track span::after{ content:"•"; color:var(--framboise); }
@keyframes defiler{ to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion: reduce){ .marquee-track{ animation:none; } }

/* =========================================================================
   SERVICES — l'index du dossier
   ========================================================================= */
.services{ background:var(--craie); }
.services .tete{ display:flex; align-items:end; justify-content:space-between; gap:2rem; flex-wrap:wrap; margin-bottom:2.8rem; }
.services .tete h2{ font-size:clamp(2rem,1.4rem+2.4vw,3.1rem); max-width:none; white-space:nowrap; }
.services .tete p{ color:var(--gris); max-width:38ch; margin:0; }
.grille-services{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; }
.carte-service{
  position:relative; background:#fff; border:1px solid var(--ligne); border-radius:var(--r-m);
  padding:1.7rem 1.5rem 1.5rem; overflow:hidden;
  transition:transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s, border-color .3s;
}
.carte-service::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--framboise); transform:scaleY(0); transform-origin:top; transition:transform .35s cubic-bezier(.2,.7,.2,1); }
.carte-service:hover{ transform:translateY(-6px); box-shadow:var(--ombre-carte); border-color:transparent; }
.carte-service:hover::before{ transform:scaleY(1); }
.carte-service .ref{ font-family:var(--f-mono); font-size:.72rem; letter-spacing:.1em; color:var(--gris-clair); }
.carte-service .icone{ width:46px; height:46px; border-radius:12px; background:var(--rose-vif); color:var(--framboise);
  display:grid; place-items:center; margin:.9rem 0 1.05rem; transition:background .3s, color .3s; }
.carte-service:hover .icone{ background:var(--framboise); color:#fff; }
.carte-service .icone svg{ width:23px; height:23px; }
.carte-service h3{ font-size:1.22rem; margin-bottom:.45rem; }
.carte-service p{ margin:0; color:var(--gris); font-size:.96rem; }
.carte-service .lien{ margin-top:1.1rem; display:inline-flex; align-items:center; gap:.4rem; font-weight:600; font-size:.9rem; color:var(--framboise); }
.carte-service .lien svg{ transition:transform .25s; }
.carte-service:hover .lien svg{ transform:translateX(4px); }

/* Accordéon des services (contenu détaillé) */
.services-acc{ display:grid; gap:.9rem; }
.service-item{ background:#fff; border:1px solid var(--ligne); border-radius:var(--r-m); overflow:hidden; transition:border-color .3s, box-shadow .3s; }
.service-item[open]{ box-shadow:var(--ombre-carte); border-color:transparent; }
.service-item summary{ list-style:none; cursor:pointer; display:flex; align-items:center; gap:1rem; padding:1.05rem 1.35rem; }
.service-item summary::-webkit-details-marker{ display:none; }
.service-item summary::marker{ content:""; }
.service-item summary:hover{ background:var(--craie); }
.service-item summary .ref{ font-family:var(--f-mono); font-size:.72rem; letter-spacing:.1em; color:var(--gris-clair); flex:0 0 auto; }
.service-item summary .icone{ width:42px; height:42px; border-radius:12px; background:var(--rose-vif); color:var(--framboise); display:grid; place-items:center; flex:0 0 auto; transition:background .3s, color .3s; }
.service-item summary .icone svg{ width:22px; height:22px; }
.service-item[open] summary .icone{ background:var(--framboise); color:#fff; }
.service-item summary .titre{ flex:1; font-family:var(--f-display); font-weight:700; font-size:1.16rem; letter-spacing:-.01em; }
.service-item summary .chevron{ flex:0 0 auto; color:var(--gris); transition:transform .3s, color .3s; }
.service-item[open] summary .chevron{ transform:rotate(180deg); color:var(--framboise); }
.service-item[open] summary{ border-bottom:1px dashed var(--ligne); }
.service-detail{ padding:1.1rem 1.35rem 1.5rem; }
.service-detail p{ color:var(--gris); margin:0 0 .9rem; line-height:1.62; }
.service-detail p:last-of-type{ margin-bottom:0; }
.service-detail .prestations{ list-style:none; margin:1.1rem 0 0; padding:0; display:grid; gap:.5rem; }
.service-detail .prestations li{ position:relative; padding-left:1.4rem; color:var(--encre); font-size:.95rem; line-height:1.5; }
.service-detail .prestations li::before{ content:""; position:absolute; left:0; top:.55em; width:7px; height:7px; border-radius:2px; background:var(--framboise); }
@media (prefers-reduced-motion:no-preference){ .service-item[open] .service-detail{ animation:svc-in .32s cubic-bezier(.2,.7,.2,1); } }
@keyframes svc-in{ from{ opacity:0; transform:translateY(-6px); } to{ opacity:1; transform:none; } }

/* Section « Les avantages » (détaillée) */
.avantages-detail{ background:var(--craie); }
.avantages-detail .tete{ margin-bottom:2.8rem; }
.avantages-detail .tete h2{ font-size:clamp(2rem,1.4rem+2.4vw,3.1rem); white-space:nowrap; }
.grille-avantages{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; align-items:start; }
.carte-avantage{ position:relative; background:#fff; border:1px solid var(--ligne); border-radius:var(--r-m); padding:1.7rem 1.6rem; transition:transform .3s, box-shadow .3s, border-color .3s; }
.carte-avantage:hover{ transform:translateY(-5px); box-shadow:var(--ombre-carte); border-color:transparent; }
.carte-avantage .ref{ font-family:var(--f-mono); font-size:.72rem; letter-spacing:.1em; color:var(--gris-clair); }
.carte-avantage h3{ font-family:var(--f-display); font-size:1.22rem; margin:.45rem 0 .9rem; }
.carte-avantage p{ margin:0 0 .85rem; color:var(--gris); font-size:.95rem; line-height:1.62; }
.carte-avantage p:last-child{ margin-bottom:0; }
.carte-avantage strong{ color:var(--encre); font-weight:700; }
.avantages-closing{ margin:2.6rem auto 0; text-align:center; max-width:62ch; font-family:var(--f-display); font-weight:600; font-size:clamp(1.1rem,1rem+.6vw,1.45rem); color:var(--encre); }

/* =========================================================================
   AVANTAGES
   ========================================================================= */
.avantages-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; }
.avantages-copy h2{ font-size:clamp(2rem,1.4rem+2.4vw,3rem); margin:1rem 0 1.1rem; }
.avantages-copy p{ color:var(--gris); margin:0 0 1.6rem; max-width:42ch; }
.avantages-liste{ list-style:none; margin:0; padding:0; display:grid; gap:1rem; }
.avantages-liste li{ display:flex; gap:1rem; padding:1.15rem 1.25rem; background:#fff; border:1px solid var(--ligne); border-radius:var(--r-m); transition:border-color .3s, transform .3s; }
.avantages-liste li:hover{ border-color:var(--framboise); transform:translateX(4px); }
.avantages-liste .num{ font-family:var(--f-mono); font-weight:700; color:var(--framboise); font-size:.95rem; flex:0 0 auto; padding-top:.15rem; }
.avantages-liste h4{ font-size:1.05rem; margin:0 0 .2rem; font-family:var(--f-display); }
.avantages-liste p{ margin:0; font-size:.94rem; color:var(--gris); }

/* =========================================================================
   ASSISTANTE (Isabelle)
   ========================================================================= */
.assistante{ background:linear-gradient(180deg,var(--craie),#fff); }
.assistante-grid{ display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(2rem,5vw,4rem); align-items:start; }
.assistante-copy .role-titre{ font-family:var(--f-mono); color:var(--framboise); text-transform:uppercase; letter-spacing:.12em; font-size:.8rem; margin:.1rem 0 1.4rem; }
.portrait{ position:relative; }
.portrait .cadre{ aspect-ratio:4/5; border-radius:var(--r-l); overflow:hidden; background:
   linear-gradient(150deg,var(--framboise),var(--framboise-nuit)); display:grid; place-items:center; box-shadow:var(--ombre-carte); }
.portrait .cadre img{ width:100%; height:100%; object-fit:cover; }
.portrait .mono{ font-family:var(--f-display); font-weight:800; font-size:clamp(3rem,7vw,5rem); color:rgba(255,255,255,.92); letter-spacing:-.03em; }
.portrait .badge{ position:absolute; bottom:-18px; left:-18px; background:#fff; border:1px solid var(--ligne); border-radius:var(--r-m); padding:.9rem 1.1rem; box-shadow:var(--ombre-carte); }
.portrait .badge b{ display:block; font-family:var(--f-display); font-size:1.1rem; }
.portrait .badge span{ font-family:var(--f-mono); font-size:.68rem; letter-spacing:.1em; color:var(--gris); text-transform:uppercase; }
.assistante-copy h2{ font-size:clamp(1.9rem,1.4rem+2.2vw,2.8rem); margin:1rem 0 1.1rem; }
.assistante-copy p{ color:var(--gris); margin:0 0 1rem; max-width:52ch; }
.assistante-copy .signature{ font-family:var(--f-display); font-weight:600; color:var(--encre); text-align:left; }
.assistante-copy .cta-inline{ margin-top:1.6rem; }

/* =========================================================================
   MÉTHODE (3 étapes — vraie séquence, numérotation justifiée)
   ========================================================================= */
.methode{ background:var(--encre); color:#fff; }
.methode h2{ color:#fff; font-size:clamp(1.3rem,.9rem+1.5vw,2.05rem); max-width:none; white-space:nowrap; }
.methode .eyebrow{ color:#ff8fb8; }
.methode .eyebrow::before{ background:#ff8fb8; }
.methode-tete{ margin-bottom:2.8rem; }
.etapes{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; counter-reset:etape; }
.etape{ position:relative; padding:1.7rem 1.4rem; border:1px solid rgba(255,255,255,.14); border-radius:var(--r-m); background:rgba(255,255,255,.03); transition:background .3s, border-color .3s, transform .3s; }
.etape:hover{ background:rgba(255,255,255,.06); border-color:rgba(255,143,184,.5); transform:translateY(-4px); }
.etape .num{ font-family:var(--f-mono); font-size:.8rem; color:#ff8fb8; letter-spacing:.1em; }
.etape h3{ color:#fff; font-size:1.3rem; margin:.7rem 0 .5rem; }
.etape p{ margin:0; color:rgba(255,255,255,.72); font-size:.95rem; }
.etape .barre{ position:absolute; left:1.4rem; right:1.4rem; top:0; height:2px; background:linear-gradient(90deg,var(--framboise),transparent); border-radius:2px; opacity:.7; }

/* =========================================================================
   CONTACT (CTA)
   ========================================================================= */
.contact{ padding-block:var(--pad-section); }
.contact-bloc{ position:relative; overflow:hidden; border-radius:var(--r-l);
  background:linear-gradient(135deg,var(--framboise),var(--framboise-nuit)); color:#fff;
  padding:clamp(2.5rem,5vw,4.5rem); }
.contact-bloc .skyline{ opacity:.12; color:#fff; right:-2%; }
.contact-grid{ position:relative; z-index:2; display:grid; grid-template-columns:1.2fr .8fr; gap:clamp(2rem,5vw,4rem); align-items:center; }
.contact h2{ color:#fff; font-size:clamp(2rem,1.5rem+2.6vw,3.2rem); }
.contact p{ color:rgba(255,255,255,.85); max-width:40ch; margin:1rem 0 2rem; }
.contact-actions{ display:flex; flex-wrap:wrap; gap:.9rem; }
.coordonnees{ display:grid; gap:1.1rem; }
.coord{ display:flex; gap:.9rem; align-items:flex-start; }
.coord .ic{ width:40px; height:40px; border-radius:11px; background:rgba(255,255,255,.14); display:grid; place-items:center; flex:0 0 auto; }
.coord .ic svg{ width:19px; height:19px; stroke:#fff; }
.coord b{ display:block; font-family:var(--f-mono); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.7); font-weight:700; }
.coord a,.coord span{ font-size:1.02rem; color:#fff; }
.coord a:hover{ text-decoration:underline; }

/* =========================================================================
   PIED DE PAGE
   ========================================================================= */
.site-footer{ background:var(--craie); border-top:1px solid var(--ligne); padding-block:3.5rem 2rem; }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:2.5rem; }
.footer-brand .brand{ font-size:1.4rem; margin-bottom:.8rem; }
.footer-brand img{ height:64px; width:auto; display:block; margin-bottom:1rem; }
.footer-brand p{ color:var(--gris); font-size:.94rem; max-width:34ch; margin:0 0 1.2rem; }
.socials{ display:flex; gap:.6rem; }
.socials a{ width:38px; height:38px; border-radius:10px; border:1px solid var(--ligne); display:grid; place-items:center; color:var(--gris); transition:all .25s; }
.socials a:hover{ background:var(--framboise); border-color:var(--framboise); color:#fff; transform:translateY(-2px); }
.socials svg{ width:18px; height:18px; }
.footer-col h4{ font-family:var(--f-mono); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gris-clair); font-weight:700; margin:0 0 1rem; }
.footer-col ul{ list-style:none; margin:0; padding:0; display:grid; gap:.6rem; }
.footer-col a{ color:var(--encre); font-size:.95rem; }
.footer-col a:hover{ color:var(--framboise); }
.footer-bas{ margin-top:2.8rem; padding-top:1.5rem; border-top:1px solid var(--ligne); display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; align-items:center; font-size:.86rem; color:var(--gris); }
.footer-bas nav{ display:flex; gap:1.4rem; flex-wrap:wrap; }
.footer-bas a:hover{ color:var(--framboise); }

/* =========================================================================
   RÉVÉLATION AU SCROLL
   ========================================================================= */
/* Contenu visible par défaut ; l'animation ne s'applique que si le JS a ajouté .reveal-on (sinon rien n'est masqué). */
.reveal{ opacity:1; transform:none; }
html.reveal-on .reveal{ opacity:0; transform:translateY(22px); transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
html.reveal-on .reveal.vu{ opacity:1; transform:none; }
.reveal[data-delai="1"]{ transition-delay:.08s; }
.reveal[data-delai="2"]{ transition-delay:.16s; }
.reveal[data-delai="3"]{ transition-delay:.24s; }
.reveal[data-delai="4"]{ transition-delay:.32s; }
@media (prefers-reduced-motion: reduce){ html.reveal-on .reveal{ opacity:1; transform:none; transition:none; } }

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media (max-width: 980px){
  .hero-grid{ grid-template-columns:1fr; }
  .dossier{ max-width:440px; }
  .avantages-grid,.assistante-grid,.contact-grid{ grid-template-columns:1fr; }
  .grille-services{ grid-template-columns:repeat(2,1fr); }
  .grille-avantages{ grid-template-columns:repeat(2,1fr); }
  .etapes{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width: 720px){
  .nav, .header-tel{ display:none; }
  .burger{ display:inline-flex; }
  .nav-mobile.ouvert{ display:block; position:fixed; top:74px; left:0; right:0; bottom:0; height:auto; background:#fff; z-index:49; padding:1.5rem clamp(1.25rem,4vw,2.5rem); border-top:1px solid var(--ligne); overflow-y:auto; -webkit-overflow-scrolling:touch; }
  .nav-mobile ul{ list-style:none; margin:0; padding:0; display:grid; gap:.3rem; }
  .nav-mobile a{ display:block; padding:.9rem .6rem; border-radius:10px; font-family:var(--f-display); font-size:1.15rem; font-weight:600; }
  .nav-mobile a:hover{ background:var(--rose-vif); color:var(--framboise); }
  .nav-mobile .btn{ width:100%; justify-content:center; margin-top:1rem; }
  .services .tete h2{ white-space:normal; }
  .avantages-detail .tete h2{ white-space:normal; }
  .methode h2{ white-space:normal; font-size:clamp(1.6rem,1.4rem+2.4vw,2.2rem); }
  .grille-services{ grid-template-columns:1fr; }
  .grille-avantages{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr; }
  .hero-meta{ gap:1rem; }
  .hero-copy .eyebrow{ align-items:flex-start; }
  .hero-copy .eyebrow > span{ white-space:normal; }
  .dossier{ max-width:100%; }
  .bandeau-inner{ flex-direction:column; align-items:flex-start; gap:.75rem; }
  .bandeau-label{ white-space:normal; }
  .bandeau .marquee{ width:100%; align-self:stretch; }
}

/* =========================================================================
   PAGES INTÉRIEURES (page.php / single.php / index.php / 404.php)
   ========================================================================= */
.page-banniere{ background:radial-gradient(120% 90% at 88% -20%,var(--rose-vif),transparent 55%),linear-gradient(180deg,#fff,var(--craie)); border-bottom:1px solid var(--ligne); padding-block:clamp(3rem,6vw,5rem) clamp(2rem,4vw,3rem); }
.page-banniere .fil{ font-family:var(--f-mono); font-size:.72rem; letter-spacing:.1em; color:var(--gris); text-transform:uppercase; }
.page-banniere .fil a:hover{ color:var(--framboise); }
.page-banniere h1{ font-size:clamp(2rem,1.5rem+2.4vw,3.2rem); margin-top:.6rem; max-width:20ch; }
.entry{ padding-block:clamp(3rem,6vw,5rem); }
.entry-content{ max-width:72ch; margin-inline:auto; }
.entry-content > *{ margin-block:1.1em; }
.entry-content h2{ font-size:1.7rem; margin-top:2em; }
.entry-content h3{ font-size:1.3rem; margin-top:1.6em; }
.entry-content a{ color:var(--framboise); text-underline-offset:3px; text-decoration:underline; }
.entry-content a:hover{ color:var(--framboise-fonce); }
.entry-content img{ border-radius:var(--r-m); }
.entry-content blockquote{ border-left:3px solid var(--framboise); padding:.4rem 0 .4rem 1.2rem; color:var(--gris); font-family:var(--f-display); font-size:1.15rem; }
.entry-content ul,.entry-content ol{ padding-left:1.3rem; }
.entry-content li{ margin-block:.4em; }
.entry-content li::marker{ color:var(--framboise); }

.liste-articles{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.article-carte{ background:#fff; border:1px solid var(--ligne); border-radius:var(--r-m); overflow:hidden; transition:transform .3s, box-shadow .3s; }
.article-carte:hover{ transform:translateY(-5px); box-shadow:var(--ombre-carte); }
.article-carte .vignette{ aspect-ratio:16/10; background:var(--rose-vif); overflow:hidden; }
.article-carte .vignette img{ width:100%; height:100%; object-fit:cover; }
.article-carte .corps{ padding:1.3rem 1.3rem 1.5rem; }
.article-carte .date{ font-family:var(--f-mono); font-size:.72rem; color:var(--gris-clair); letter-spacing:.05em; }
.article-carte h2{ font-size:1.2rem; margin:.5rem 0 .5rem; }
.article-carte h2 a:hover{ color:var(--framboise); }
.article-carte p{ color:var(--gris); font-size:.94rem; margin:0; }

.pagination{ margin-top:3rem; display:flex; gap:.6rem; flex-wrap:wrap; justify-content:center; }
.pagination .page-numbers{ padding:.6rem .95rem; border:1px solid var(--ligne); border-radius:10px; font-family:var(--f-mono); font-size:.85rem; color:var(--encre); }
.pagination .page-numbers.current{ background:var(--framboise); border-color:var(--framboise); color:#fff; }
.pagination a.page-numbers:hover{ border-color:var(--framboise); color:var(--framboise); }

.zone-404{ text-align:center; padding-block:clamp(4rem,9vw,7rem); }
.zone-404 .code{ font-family:var(--f-display); font-weight:800; font-size:clamp(5rem,16vw,9rem); line-height:1; color:var(--framboise); letter-spacing:-.04em; }
.zone-404 h1{ font-size:clamp(1.6rem,1.2rem+1.6vw,2.2rem); margin:.6rem 0 1rem; }
.zone-404 p{ color:var(--gris); max-width:42ch; margin:0 auto 2rem; }

/* Accessibilité : lien d'évitement */
.screen-reader-text{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }
.screen-reader-text:focus{ position:fixed; top:12px; left:12px; width:auto; height:auto; clip:auto; z-index:100; background:#fff; color:var(--framboise); padding:.7rem 1.1rem; border-radius:10px; box-shadow:var(--ombre-carte); font-weight:600; }

/* Barre d'administration WP */
.admin-bar .site-header{ top:32px; }
@media screen and (max-width:782px){ .admin-bar .site-header{ top:46px; } }

/* =========================================================================
   REFONTE — contenu Word (hero, bandeau, sous-titres services, méthode, form)
   ========================================================================= */

/* Hero : liste de points + ligne d'accroche */
.hero-copy .eyebrow{ align-items:flex-start; }
.hero-copy .eyebrow::before{ margin-top:.55em; }
.hero-copy .eyebrow > span{ white-space:nowrap; line-height:1.4; }
.hero-points{ list-style:none; margin:1.6rem 0 0; padding:0; display:grid; gap:.7rem; max-width:48ch; }
.hero-points li{ position:relative; padding-left:1.9rem; color:var(--gris); line-height:1.55; }
.hero-points li::before{ content:""; position:absolute; left:0; top:.35em; width:13px; height:13px; border:2px solid var(--framboise); border-radius:4px; }
.hero-cta-line{ margin:1.4rem 0 0; font-family:var(--f-display); font-weight:600; font-style:italic; color:var(--encre); font-size:clamp(1.05rem,1rem+.4vw,1.2rem); max-width:46ch; }

/* Bandeau : lignes de clôture */
.bandeau-note{ margin:1.4rem 0 0; color:var(--gris); font-size:.98rem; max-width:70ch; }
.bandeau-accroche{ margin:.5rem 0 0; font-family:var(--f-display); font-weight:600; font-style:italic; color:var(--framboise); font-size:1.05rem; }

/* Sous-titre des services dans l'accordéon */
.service-item summary .titre{ display:flex; flex-direction:column; gap:.15rem; }
.service-item summary .titre small{ font-family:var(--f-corps); font-weight:500; font-size:.82rem; letter-spacing:0; color:var(--gris); }

/* Clôtures en italique (services, méthode) */
.services-closing,.methode-closing{ font-family:var(--f-display); font-weight:600; font-style:italic; font-size:clamp(1.1rem,1rem+.6vw,1.4rem); max-width:64ch; }
.services-closing{ margin:2.4rem auto 0; text-align:center; color:var(--encre); }
.methode-closing{ margin:2.6rem auto 0; text-align:center; color:#fff; }
.methode .etape .num{ text-transform:uppercase; }

/* Contact : formulaire + coordonnées + réseaux */
.contact-grid--form{ display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(2rem,5vw,4rem); align-items:start; }
.contact-form-col h2{ margin:.3rem 0 1.3rem; }
.contact-form label{ display:block; color:#fff; font-weight:600; font-size:.92rem; margin-bottom:1rem; }
.contact-form label span{ color:#ffd0e0; }
.contact-form input[type=text],
.contact-form input[type=email],
.contact-form textarea{
  width:100%; margin-top:.4rem; padding:.75rem .9rem; font:inherit; color:#fff;
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.32); border-radius:12px;
  transition:border-color .2s, background .2s;
}
.contact-form input::placeholder,.contact-form textarea::placeholder{ color:rgba(255,255,255,.6); }
.contact-form input:focus,.contact-form textarea:focus{ outline:none; border-color:#fff; background:rgba(255,255,255,.18); }
.contact-form textarea{ resize:vertical; min-height:120px; }
.contact-form .consent{ display:flex; align-items:flex-start; gap:.6rem; font-weight:400; font-size:.86rem; color:rgba(255,255,255,.9); margin-bottom:1.3rem; }
.contact-form .consent input{ margin-top:.15rem; accent-color:#fff; flex:0 0 auto; }
.contact-form .btn--clair{ border:none; cursor:pointer; }
.cisadm-hp{ position:absolute!important; left:-9999px!important; width:1px; height:1px; overflow:hidden; }
.form-message{ padding:.85rem 1.1rem; border-radius:12px; margin-bottom:1.2rem; font-weight:600; background:#fff; }
.form-message--ok{ color:#166534; }
.form-message--ko{ color:#9a1230; }
.contact-infos-titre{ color:#fff; font-family:var(--f-display); font-size:1.35rem; margin:0 0 1.2rem; }
.contact-grid--form .coord b{ color:#fff; }
.contact-grid--form .coord span,.contact-grid--form .coord a{ color:rgba(255,255,255,.85); }
.contact-grid--form .coord .ic{ color:#fff; border-color:rgba(255,255,255,.35); }
.contact-reseaux{ margin-top:1.8rem; }
.contact-reseaux-label{ display:block; color:rgba(255,255,255,.85); font-family:var(--f-mono); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; margin-bottom:.7rem; }
.socials--clair a{ border-color:rgba(255,255,255,.35); color:#fff; }
.socials--clair a:hover{ background:#fff; border-color:#fff; color:var(--framboise); }

@media (max-width:900px){
  .contact-grid--form{ grid-template-columns:1fr; }
}


/* ===== Corrections responsive mobile (fin de fichier = priorité) ===== */
@media (max-width: 720px){
  .hero-copy .eyebrow{ align-items:flex-start; }
  .hero-copy .eyebrow > span{ white-space:normal; }
  .dossier{ max-width:100%; }
  .bandeau-inner{ flex-direction:column; align-items:flex-start; gap:.75rem; }
  .bandeau-label{ white-space:normal; }
  .bandeau .marquee{ width:100%; align-self:stretch; }
  .services .tete h2,.avantages-detail .tete h2,.methode h2{ white-space:normal; }
}
