/* Voyance FR — main.css. Préfixe vfr-. Titres : Cormorant Garamond ; texte : Jost. */
:root{--fond:#FBF8FF;--blanc:#FFFFFF;--encre:#241A3C;--gris:#6C6189;--prim:#6B3FA0;--prim-f:#472A72;--prim-c:#E3D5F6;--prim-cc:#F5EEFD;--acc:#D4568C;--acc-f:#A8336A;--acc-c:#FBE3EF;--or:#E3A92F;--or-c:#FDF2D8;--nuit:#1E1538;--ligne:#E8DEF6;--titre:"Cormorant Garamond","Iowan Old Style",Georgia,serif;--texte:"Jost","Segoe UI",Arial,sans-serif;--rayon:18px;--rayon-photo:150px 150px 20px 20px;--arc:linear-gradient(90deg,#472A72 0%,#6B3FA0 28%,#D4568C 62%,#E3A92F 100%)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;background:var(--fond);color:var(--encre);font-family:var(--texte);font-size:1.03rem;line-height:1.7;font-feature-settings:"kern","liga"}
img{max-width:100%;height:auto;display:block}
a{color:var(--prim);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--prim-f)}
:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
h1,h2,h3,h4{font-family:var(--titre);font-weight:700;line-height:1.14;letter-spacing:-.005em;color:var(--prim-f);margin:0 0 .5em}
h1{font-size:clamp(2.3rem,5.2vw,3.8rem);font-weight:700}
h2{font-size:clamp(1.75rem,3.2vw,2.45rem)}
h3{font-size:1.4rem}
p{margin:0 0 1.1em}
b,strong{font-weight:600}
small{font-size:.8em}
.vfr-saut{position:absolute;left:-999px;top:0;background:var(--prim-f);color:#fff;padding:.6rem 1rem;z-index:99}
.vfr-saut:focus{left:1rem}

/* ─── Conteneurs ─── */
.vfr-int{width:min(100% - 2.5rem,1160px);margin-inline:auto}
.vfr-int--etroit{max-width:760px}
.vfr-int--moyen{max-width:920px}
.vfr-main{display:block}
.vfr-section{padding:4.25rem 0}
.vfr-section--tint{background:var(--prim-cc)}
.vfr-deux{display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:start}
.vfr-deux--photo{grid-template-columns:.8fr 1.2fr;align-items:center}
@media(max-width:860px){.vfr-deux,.vfr-deux--photo{grid-template-columns:1fr;gap:2rem}.vfr-section{padding:3rem 0}}

/* ─── Boutons ─── */
.vfr-btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--prim);color:#fff;font-family:var(--texte);font-weight:600;font-size:1rem;letter-spacing:.01em;padding:.85rem 1.4rem;border-radius:999px;text-decoration:none;border:2px solid var(--prim);transition:background .18s,border-color .18s}
.vfr-btn:hover{background:var(--prim-f);border-color:var(--prim-f);color:#fff}
.vfr-btn--ghost{background:transparent;color:var(--prim-f);border-color:var(--prim)}
.vfr-btn--ghost:hover{background:var(--prim-c);color:var(--prim-f);border-color:var(--prim)}

/* ─── En-tête : rangée claire (logo + recherche) puis bandeau de rubriques ─── */
.vfr-tete{position:sticky;top:0;z-index:50}
.vfr-tete__haut{background:rgba(251,248,255,.94);backdrop-filter:saturate(1.3) blur(10px)}
.vfr-tete__int{width:min(100% - 2.5rem,1240px);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;min-height:66px}

.vfr-logo{margin:0;font-family:var(--titre);font-size:1.7rem;font-weight:700;letter-spacing:0;line-height:1}
.vfr-logo a{display:inline-flex;align-items:center;gap:.5rem;color:var(--encre);text-decoration:none}
.vfr-logo__piece{width:30px;height:30px;flex:none;border-radius:7px}
.vfr-logo__mot b{color:var(--prim);font-weight:700}

/* Recherche : champ visible dès 760px, loupe seule en dessous */
.vfr-recherche{display:flex;align-items:center;gap:.35rem}
.vfr-recherche__lab{position:absolute;left:-9999px}
.vfr-recherche__champ{width:230px;border:1px solid var(--ligne);background:var(--blanc);border-radius:999px;padding:.5rem 1rem;font:inherit;font-size:.92rem;color:var(--encre)}
.vfr-recherche__champ::placeholder{color:#9A8FB8}
.vfr-recherche__btn{border:0;background:var(--prim);color:#fff;width:38px;height:38px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none}
.vfr-recherche__btn:hover{background:var(--prim-f)}
.vfr-recherche--page{margin:.5rem 0 1.5rem;max-width:520px}
.vfr-recherche--page .vfr-recherche__champ{flex:1}
.vfr-recherche--page .vfr-recherche__btn{width:auto;padding:0 1.1rem;height:40px;font:inherit;font-weight:600}

/* Bandeau des rubriques */
.vfr-nav{background:var(--prim-f);border-bottom:3px solid transparent;border-image:var(--arc) 1}
.vfr-nav__int{width:min(100% - 2.5rem,1240px);margin-inline:auto}
.vfr-nav__liste{list-style:none;margin:0;padding:0;display:flex;align-items:stretch;justify-content:space-between;gap:.1rem}
.vfr-nav__liste>li{position:relative}
.vfr-nav__liste>li>a{display:flex;align-items:center;height:100%;padding:.78rem .6rem;color:#EDE4FA;text-decoration:none;font-weight:600;font-size:.9rem;white-space:nowrap;border-bottom:3px solid transparent;margin-bottom:-3px}
.vfr-nav__liste>li>a:hover,.vfr-nav__liste>li:focus-within>a{color:#fff;border-bottom-color:var(--or)}
.vfr-nav__liste .current-menu-item>a,.vfr-nav__liste .current-menu-parent>a{color:#fff;border-bottom-color:var(--or)}

/* Sous-menus */
.vfr-nav__liste .sub-menu{list-style:none;margin:0;padding:.4rem;display:none;position:absolute;top:100%;left:0;min-width:260px;background:var(--blanc);border:1px solid var(--ligne);border-radius:0 0 12px 12px;box-shadow:0 18px 36px rgba(36,26,60,.2);z-index:5}
.vfr-nav__liste li:hover>.sub-menu,.vfr-nav__liste li:focus-within>.sub-menu{display:block}
.vfr-nav__liste .sub-menu a{display:block;padding:.5rem .7rem;color:var(--encre);text-decoration:none;font-size:.9rem;font-weight:500;border-radius:7px}
.vfr-nav__liste .sub-menu a:hover{background:var(--prim-cc);color:var(--prim-f)}

/* Bouton de dépliage des sous-menus, injecté par main.js */
.vfr-nav__plus{display:none}
/* Cases d'état du menu : invisibles mais focusables, donc utilisables au clavier. */
.vfr-etat-menu,.vfr-sm{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap}

/* Burger, masqué sur grand écran */
.vfr-burger{display:none;width:44px;height:44px;border:0;background:transparent;cursor:pointer;flex-direction:column;justify-content:center;gap:5px;padding:0 8px;flex:none;-webkit-tap-highlight-color:transparent}
.vfr-etat-menu:focus-visible~.vfr-tete__haut .vfr-burger{outline:2px solid var(--prim);outline-offset:3px;border-radius:8px}
.vfr-burger span{display:block;height:2px;background:var(--encre);border-radius:2px;transition:transform .2s,opacity .2s}

@media(max-width:1180px){
  .vfr-nav__liste>li>a{font-size:.86rem;padding:.72rem .45rem}
}
@media(max-width:980px){
  .vfr-burger{display:flex}
  .vfr-etat-menu:checked~.vfr-tete__haut .vfr-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .vfr-etat-menu:checked~.vfr-tete__haut .vfr-burger span:nth-child(2){opacity:0}
  .vfr-etat-menu:checked~.vfr-tete__haut .vfr-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .vfr-nav{display:none;border-bottom-width:0}
  /* Le panneau est hors flux : sans hauteur maximale ni défilement, un
     sous-menu ouvert repousserait les entrées suivantes hors de l'écran. */
  .vfr-etat-menu:checked~.vfr-nav{display:block;max-height:calc(100vh - 66px);max-height:calc(100dvh - 66px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-bottom:.6rem}
  .vfr-nav__liste{display:block}
  .vfr-nav__liste>li>a{height:auto;padding:.8rem .2rem;border-bottom:1px solid rgba(255,255,255,.14);margin:0;font-size:1rem}
  .vfr-nav__liste>li>a:hover{border-bottom-color:rgba(255,255,255,.14)}
  .vfr-nav__liste .sub-menu{position:static;display:none;min-width:0;background:transparent;border:0;box-shadow:none;padding:0 0 .4rem .9rem}
  /* Le survol ouvre les sous-menus sur grand écran ; au doigt il ne veut rien
     dire, et un tap laisse un :hover résiduel. On le neutralise ici, et la
     case à cocher reprend la main — avec une spécificité supérieure, sans quoi
     la règle de fermeture ci-dessus gagnerait. */
  .vfr-nav__liste li:hover>.sub-menu,
  .vfr-nav__liste li:focus-within>.sub-menu{display:none}
  .vfr-nav__liste li .vfr-sm:checked~.sub-menu{display:block}
  .vfr-nav__liste>li{display:flex;flex-wrap:wrap;align-items:center;border-bottom:1px solid rgba(255,255,255,.14)}
  .vfr-nav__liste>li>a{flex:1;border-bottom:0}
  .vfr-nav__liste>li>.sub-menu{flex:1 0 100%;order:3}
  .vfr-nav__liste>li>.vfr-nav__plus{order:2}
  .vfr-nav__liste>li>a{order:1}
  .vfr-nav__plus{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:0;background:transparent;color:#C9B6EA;cursor:pointer;flex:none;-webkit-tap-highlight-color:transparent}
  .vfr-nav__plus svg{transition:transform .2s}
  .vfr-sm:checked~.vfr-nav__plus svg{transform:rotate(180deg)}
  .vfr-nav__plus:hover{color:#fff}
  .vfr-sm:focus-visible~.vfr-nav__plus{outline:2px solid var(--or);outline-offset:-2px;border-radius:8px}
  .vfr-nav__liste .sub-menu a{color:#DCCFF2;padding:.42rem .2rem}
  .vfr-nav__liste .sub-menu a:hover{background:transparent;color:#fff}
}
@media(max-width:620px){
  .vfr-tete__int{gap:.6rem;min-height:60px}
  .vfr-logo{font-size:1.2rem}
  .vfr-recherche__champ{display:none}
}

/* ─── Hero ─── */
.vfr-hero{position:relative;padding:3.5rem 0 4.25rem;background:radial-gradient(1200px 520px at 12% -10%,var(--acc-c) 0%,transparent 60%),linear-gradient(180deg,var(--prim-cc) 0%,var(--fond) 100%)}
.vfr-hero__int{width:min(100% - 2.5rem,1160px);margin-inline:auto;display:grid;grid-template-columns:1.05fr .95fr;gap:3.5rem;align-items:center}
.vfr-hero__qui{font-family:var(--titre);font-weight:500;color:var(--prim);margin:0 0 .9rem;font-size:1.02rem}
.vfr-hero__titre{margin-bottom:1rem}
.vfr-hero__sub{font-size:1.15rem;color:var(--gris);max-width:36rem}
.vfr-hero__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.6rem 0 1.4rem}
.vfr-hero__photo{margin:0;position:relative}
.vfr-hero__photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:var(--rayon-photo);box-shadow:0 34px 70px -34px rgba(36,26,60,.5)}
.vfr-credit{font-size:.75rem;color:var(--gris);margin:.5rem 0 0;text-align:right}
.vfr-credit a{color:var(--gris)}
@media(max-width:860px){.vfr-hero{padding:2rem 0 2.5rem}.vfr-hero__int{grid-template-columns:1fr;gap:1.75rem}.vfr-hero__photo{order:-1}.vfr-hero__photo img{border-radius:var(--rayon)}}

/* ─── Encadrés, listes ─── */
.vfr-encadre{background:var(--blanc);border:1px solid var(--ligne);border-radius:var(--rayon);padding:1.5rem 1.6rem;border-top:5px solid var(--acc)}
.vfr-encadre__titre{font-family:var(--titre);font-weight:700;font-size:1.3rem;color:var(--prim-f);margin:0 0 .8rem}
.vfr-liste{list-style:none;margin:0;padding:0}
.vfr-liste li{position:relative;padding-left:1.4rem;margin-bottom:.55rem}
.vfr-liste li::before{content:"";position:absolute;left:0;top:.6em;width:10px;height:10px;background:var(--acc);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%)}

/* ─── Silos ─── */
.vfr-silos{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.vfr-silo{display:flex;flex-direction:column;text-decoration:none;color:var(--encre);background:var(--blanc);border-radius:var(--rayon);overflow:hidden;border:1px solid var(--ligne)}
.vfr-silo__img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--prim-c)}
.vfr-silo__img img{width:100%;height:100%;object-fit:cover}
.vfr-silo__corps{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.3rem}
.vfr-silo__titre{font-family:var(--titre);font-weight:700;font-size:1.3rem;color:var(--prim-f);line-height:1.2}
.vfr-silo:hover .vfr-silo__titre{text-decoration:underline;text-decoration-color:var(--acc);text-decoration-thickness:2px;text-underline-offset:4px}
.vfr-silo__accroche{font-size:.92rem;color:var(--gris)}
.vfr-silos--compact{grid-template-columns:repeat(4,1fr)}
.vfr-silos--compact .vfr-silo__img{aspect-ratio:16/9}
.vfr-silos--compact .vfr-silo__accroche{display:none}
@media(max-width:1000px){.vfr-silos,.vfr-silos--compact{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.vfr-silos,.vfr-silos--compact{grid-template-columns:1fr;gap:1rem}}

/* ─── Chiffres ─── */
.vfr-chiffres{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.vfr-chiffre{background:var(--blanc);border:1px solid var(--ligne);border-radius:var(--rayon);padding:1.6rem 1.5rem}
.vfr-chiffre__n{display:block;font-family:var(--titre);font-weight:700;font-size:2.8rem;color:var(--acc-f);letter-spacing:-.02em;line-height:1;margin-bottom:.6rem}
.vfr-chiffre p{margin:0;font-size:.98rem;color:var(--gris)}
@media(max-width:860px){.vfr-chiffres{grid-template-columns:1fr}}

/* ─── Photo de section ─── */
.vfr-photo{margin:0}
.vfr-photo img{border-radius:var(--rayon-photo);aspect-ratio:1;object-fit:cover}
@media(max-width:860px){.vfr-photo img{border-radius:var(--rayon);aspect-ratio:3/2}}

/* ─── Cartes d'articles ─── */
.vfr-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.vfr-grille--4{grid-template-columns:repeat(4,1fr)}
.vfr-carte{background:var(--blanc);border:1px solid var(--ligne);border-radius:var(--rayon);overflow:hidden;display:flex;flex-direction:column}
.vfr-carte__img{display:block;aspect-ratio:3/2;background:var(--prim-c);overflow:hidden}
.vfr-carte__img img{width:100%;height:100%;object-fit:cover}
.vfr-carte__corps{padding:1rem 1.15rem 1.25rem;display:flex;flex-direction:column;gap:.35rem}
.vfr-carte__silo{font-size:.8rem;font-weight:600;color:var(--acc-f);text-decoration:none;letter-spacing:.01em}
.vfr-carte__titre{font-size:1.12rem;margin:0}
.vfr-carte__titre a{color:var(--prim-f);text-decoration:none}
.vfr-carte__titre a:hover{text-decoration:underline;text-decoration-color:var(--acc);text-decoration-thickness:2px}
.vfr-carte__extrait{margin:0;font-size:.93rem;color:var(--gris)}
@media(max-width:1000px){.vfr-grille,.vfr-grille--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.vfr-grille,.vfr-grille--4{grid-template-columns:1fr}}
.vfr-pagination{margin-top:2.5rem;text-align:center}
.vfr-pagination .nav-links{display:inline-flex;gap:.4rem;flex-wrap:wrap}
.vfr-pagination .page-numbers{display:inline-block;padding:.5rem .9rem;border-radius:999px;background:var(--blanc);border:1px solid var(--ligne);text-decoration:none;color:var(--prim-f)}
.vfr-pagination .page-numbers.current{background:var(--prim);color:#fff;border-color:var(--prim)}

/* ─── FAQ ─── */
.vfr-faq{margin:3rem 0 2rem}
.vfr-faq__titre{margin-bottom:1rem}
.vfr-faq__item{border-top:1px solid var(--ligne);padding:.2rem 0}
.vfr-faq__item:last-of-type{border-bottom:1px solid var(--ligne)}
.vfr-faq__item summary{cursor:pointer;list-style:none;font-family:var(--titre);font-weight:700;font-size:1.28rem;color:var(--prim-f);padding:.9rem 2.2rem .9rem 0;position:relative}
.vfr-faq__item summary::-webkit-details-marker{display:none}
.vfr-faq__item summary::after{content:"";position:absolute;right:.4rem;top:50%;width:11px;height:14px;margin-top:-7px;background:var(--acc);border-radius:50% 50% 50% 50%/40% 40% 60% 60%;transition:transform .2s}
.vfr-faq__item[open] summary::after{transform:rotate(180deg)}
.vfr-faq__rep{padding:0 0 1rem;color:var(--encre)}
.vfr-faq__rep p:last-child{margin-bottom:0}

/* ─── Fil d'Ariane ─── */
.vfr-fil{font-size:.86rem;color:var(--gris);margin-bottom:1rem}
.vfr-fil ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}
.vfr-fil li+li::before{content:"›";margin-right:.35rem;color:var(--acc-f)}
.vfr-fil a{color:var(--gris);text-decoration:none}
.vfr-fil a:hover{color:var(--prim-f);text-decoration:underline}
.vfr-fil span{color:var(--prim-f)}

/* ─── Bandeau des pages silo ─── */
.vfr-bandeau{background:linear-gradient(180deg,var(--prim-cc) 0%,var(--fond) 100%);padding:2.5rem 0 3rem}
.vfr-bandeau__int{width:min(100% - 2.5rem,1160px);margin-inline:auto;display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}
.vfr-bandeau__sub{font-size:1.15rem;color:var(--gris);max-width:34rem}
.vfr-bandeau__photo{margin:0}
.vfr-bandeau__photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--rayon-photo);box-shadow:0 34px 70px -34px rgba(36,26,60,.5)}
.vfr-titre-liste span{display:inline-block;font-size:.9rem;font-weight:600;background:var(--acc-c);color:var(--acc-f);border-radius:999px;padding:.15rem .7rem;vertical-align:middle;margin-left:.4rem}
@media(max-width:860px){.vfr-bandeau__int{grid-template-columns:1fr;gap:1.5rem}.vfr-bandeau__photo img{border-radius:var(--rayon);aspect-ratio:3/2}}

/* ─── Article, page ─── */
.vfr-article__tete,.vfr-page__tete{padding:2.25rem 0 1.25rem}
.vfr-article__meta{color:var(--gris);font-size:.93rem;margin:0}
.vfr-article__photo{margin:0 auto 2rem}
.vfr-article__photo img{border-radius:var(--rayon);width:100%;aspect-ratio:16/9;object-fit:cover}
.vfr-prose{padding-bottom:1rem}
.vfr-prose>*:first-child{margin-top:0}
.vfr-prose h2{margin-top:2.2em}
.vfr-prose h3{margin-top:1.6em}
.vfr-prose ul,.vfr-prose ol{padding-left:1.35rem;margin:0 0 1.2em}
.vfr-prose li{margin-bottom:.4em}
.vfr-prose li::marker{color:var(--acc-f)}
.vfr-prose img{border-radius:var(--rayon);margin:1.5rem 0}
.vfr-prose figure{margin:1.5rem 0}
.vfr-prose figcaption{font-size:.85rem;color:var(--gris);margin-top:.5rem}
.vfr-prose blockquote{margin:1.6rem 0;padding:1rem 1.4rem;border-left:4px solid var(--acc);background:var(--blanc);border-radius:0 var(--rayon) var(--rayon) 0;font-style:italic}
.vfr-prose table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.95rem;background:var(--blanc);border-radius:var(--rayon);overflow:hidden;display:block;overflow-x:auto}
.vfr-prose th,.vfr-prose td{padding:.7rem .9rem;border-bottom:1px solid var(--ligne);text-align:left;vertical-align:top}
.vfr-prose th{background:var(--prim-c);color:var(--prim-f);font-family:var(--texte);font-weight:600}
.vfr-prose .vfr-astuce{background:var(--acc-c);border-radius:var(--rayon);padding:1.1rem 1.4rem;margin:1.6rem 0;border-left:4px solid var(--acc)}
.vfr-prose .vfr-astuce p:last-child{margin-bottom:0}
.vfr-prose .vfr-exemple{background:var(--blanc);border:1px solid var(--ligne);border-radius:var(--rayon);padding:1.1rem 1.4rem;margin:1.6rem 0}
.vfr-prose .vfr-exemple p:last-child{margin-bottom:0}
.vfr-prose .vfr-tableau{overflow-x:auto}

/* ─── Fiche notée ─── */
.vfr-note{background:var(--blanc);border:1px solid var(--ligne);border-radius:var(--rayon);padding:1.4rem 1.6rem;margin:0 0 2rem}
.vfr-note__tete{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}
.vfr-note__nom{font-family:var(--titre);font-weight:700;font-size:1.45rem;color:var(--prim-f)}
.vfr-note__chiffre{font-family:var(--titre);font-weight:700;font-size:2.3rem;color:var(--acc-f);line-height:1}
.vfr-note__chiffre small{font-size:1rem;color:var(--gris);font-weight:600}
.vfr-note__barre{height:8px;background:var(--prim-c);border-radius:999px;margin:.8rem 0 1rem;overflow:hidden}
.vfr-note__barre span{display:block;height:100%;background:var(--acc);border-radius:999px}
.vfr-note__resume{margin:0 0 .8rem}
.vfr-note__pm{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.vfr-note__plus,.vfr-note__moins{list-style:none;margin:0;padding:0;font-size:.95rem}
.vfr-note__plus li,.vfr-note__moins li{padding-left:1.4rem;position:relative;margin-bottom:.3rem}
.vfr-note__plus li::before{content:"+";position:absolute;left:0;font-weight:700;color:var(--prim)}
.vfr-note__moins li::before{content:"–";position:absolute;left:0;font-weight:700;color:var(--acc-f)}
.vfr-note__signe{margin:.9rem 0 0;font-size:.82rem;color:var(--gris)}
@media(max-width:560px){.vfr-note__pm{grid-template-columns:1fr}}

/* ─── Signature ─── */
.vfr-sign{display:flex;gap:1rem;align-items:flex-start;background:var(--blanc);border:1px solid var(--ligne);border-radius:var(--rayon);padding:1.2rem 1.4rem;margin:2rem 0 3rem}
.vfr-sign__piece{width:22px;height:30px;flex:none;margin-top:.15rem}
.vfr-sign__nom{font-family:var(--titre);font-weight:700;font-size:1.2rem;color:var(--prim-f);margin:0 0 .2rem}
.vfr-sign__posture{margin:0;color:var(--gris);font-size:.95rem}

/* ─── 404, listes ─── */
.vfr-404{padding-bottom:4rem}
.vfr-listing{padding-bottom:4rem}

/* ─── Pied de page ─── */
.vfr-pied{background:var(--prim-f);color:#DCE7DD;margin-top:3rem}
.vfr-pied__int{width:min(100% - 2.5rem,1160px);margin-inline:auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem;padding:3.5rem 0 2.5rem}
.vfr-pied__col--large{max-width:34rem}
.vfr-pied .vfr-logo a{color:#fff}
.vfr-pied .vfr-logo__mot b{color:var(--acc)}
.vfr-pied__texte{margin:1rem 0 .6rem;font-size:.97rem}
.vfr-pied__mail a{color:var(--acc);font-weight:600}
.vfr-pied__titre{font-family:var(--titre);font-weight:700;color:#fff;margin:0 0 .6rem;font-size:1.25rem}
.vfr-pied__liens{list-style:none;margin:0;padding:0}
.vfr-pied__liens li{margin-bottom:.35rem}
.vfr-pied__liens a{color:#DCE7DD;text-decoration:none}
.vfr-pied__liens a:hover{color:#fff;text-decoration:underline}
.vfr-pied__bas{border-top:1px solid rgba(255,255,255,.12);padding:1.1rem 0;font-size:.85rem}
.vfr-pied__bas p{width:min(100% - 2.5rem,1160px);margin:0 auto;color:#A9BDAE}
@media(max-width:860px){.vfr-pied__int{grid-template-columns:1fr;gap:1.75rem;padding:2.5rem 0 2rem}}

/* ─── Blocs de mise en page (sans style propre, ancrages pour le CSS) ─── */
.vfr-hero__texte{min-width:0}
.vfr-bandeau__texte{min-width:0}
.vfr-pilier{display:block}

/* ─── Bandeau de consentement ─── */
.vfr-rgpd{position:fixed;left:0;right:0;bottom:0;z-index:200;padding:0 0 max(1rem,env(safe-area-inset-bottom))}
.vfr-rgpd[hidden]{display:none}
body:has(.vfr-etat-menu:checked) .vfr-rgpd{display:none}
.vfr-rgpd__boite{width:min(100% - 1.5rem,760px);margin:0 auto;background:var(--blanc);border:1px solid var(--ligne);border-radius:var(--rayon);box-shadow:0 18px 50px rgba(36,26,60,.2);padding:1.35rem 1.5rem 1.2rem}
.vfr-rgpd__titre{font-family:var(--titre);font-weight:700;color:var(--prim-f);font-size:1.3rem;margin:0 0 .35rem}
.vfr-rgpd__texte{margin:0;font-size:.97rem;color:var(--gris);line-height:1.55}
.vfr-rgpd__reglages{margin-top:1rem;border-top:1px solid var(--ligne);padding-top:.9rem;max-height:40vh;overflow:auto}
.vfr-rgpd__reglages[hidden]{display:none}
.vfr-rgpd__liste{list-style:none;margin:0;padding:0;display:grid;gap:.85rem}
.vfr-rgpd__item{display:grid;grid-template-columns:auto 1fr;gap:.85rem;align-items:start;font-size:.93rem;color:var(--gris)}
.vfr-rgpd__item b{color:var(--encre);font-family:var(--texte);font-weight:600}
.vfr-rgpd__interrupteur{position:relative;display:inline-block;width:46px;height:26px;flex:none;margin-top:.15rem}
.vfr-rgpd__interrupteur input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.vfr-rgpd__interrupteur span{position:absolute;inset:0;background:var(--ligne);border-radius:999px;transition:background .18s;pointer-events:none}
.vfr-rgpd__interrupteur span::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .18s;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.vfr-rgpd__interrupteur input:checked+span{background:var(--prim)}
.vfr-rgpd__interrupteur input:checked+span::after{transform:translateX(20px)}
.vfr-rgpd__interrupteur input:focus-visible+span{outline:3px solid var(--acc);outline-offset:2px}
.vfr-rgpd__interrupteur--fige{background:var(--prim-c);border-radius:999px}
.vfr-rgpd__interrupteur--fige::after{content:"";position:absolute;top:3px;left:23px;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.vfr-rgpd__actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end;margin-top:1.1rem}
.vfr-rgpd__actions .vfr-btn{font-size:.95rem;padding:.65rem 1.15rem;cursor:pointer}
.vfr-rgpd__actions .vfr-btn[hidden]{display:none}
.vfr-pied__cookies{background:none;border:0;padding:0;color:#DCE7DD;font:inherit;font-size:1rem;cursor:pointer;text-align:left}
.vfr-pied__cookies:hover{color:#fff;text-decoration:underline}
@media(max-width:560px){.vfr-rgpd__boite{padding:1.1rem 1.1rem 1rem}.vfr-rgpd__actions{justify-content:stretch}.vfr-rgpd__actions .vfr-btn{flex:1 1 auto;justify-content:center}}


/* ─── Identité Voyance FR ───
   Nuit améthyste sur fond clair : violet profond pour la structure, rose pour
   l'accent, or pour les petits signaux. Le fond reste très clair, parce qu'un
   blog se lit, et qu'un site de voyance tout noir se lit mal. */
.vfr-tete{border-bottom:3px solid transparent;border-image:var(--arc) 1}
.vfr-tete__haut{background:rgba(251,248,255,.94)}

/* Ciel du hero : deux halos et un semis d'étoiles en dégradés radiaux.
   Tout est en fond, donc rien ne peut recouvrir le texte. */
.vfr-hero{
  background:
    radial-gradient(2px 2px at 14% 22%,rgba(227,169,47,.85),transparent 60%),
    radial-gradient(2px 2px at 31% 9%,rgba(212,86,140,.7),transparent 60%),
    radial-gradient(1.6px 1.6px at 47% 28%,rgba(107,63,160,.7),transparent 60%),
    radial-gradient(2.4px 2.4px at 68% 13%,rgba(227,169,47,.7),transparent 60%),
    radial-gradient(1.6px 1.6px at 84% 33%,rgba(212,86,140,.6),transparent 60%),
    radial-gradient(2px 2px at 92% 8%,rgba(107,63,160,.6),transparent 60%),
    radial-gradient(900px 440px at 86% -12%,rgba(212,86,140,.22),transparent 64%),
    radial-gradient(820px 460px at 2% 4%,rgba(107,63,160,.18),transparent 62%),
    linear-gradient(180deg,#FFFDFF 0%,var(--prim-cc) 44%,var(--fond) 100%)}
.vfr-hero__texte{position:relative;z-index:1;min-width:0}

/* Pastille d'auteur : une étoile, pas une puce ronde. */
.vfr-hero__qui{display:inline-flex;align-items:center;gap:.55rem;background:var(--blanc);border:1px solid var(--ligne);border-radius:999px;padding:.4rem .95rem;font-size:.95rem;font-weight:500;color:var(--prim-f);box-shadow:0 8px 20px -14px rgba(36,26,60,.6)}
.vfr-hero__qui::before{content:"";width:14px;height:14px;flex:none;background:var(--or);
  clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}

/* Photo du hero : un bord arrondi en arche, qui évoque une carte de tarot. */
.vfr-hero__photo img{border-radius:var(--rayon-photo);box-shadow:0 34px 68px -34px rgba(36,26,60,.55)}
.vfr-hero__photo::after{content:"";position:absolute;inset:0;border-radius:var(--rayon-photo);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);pointer-events:none}

.vfr-section--tint{background:linear-gradient(180deg,var(--prim-cc),#FFF7FB)}
.vfr-filet{height:4px;width:76px;border-radius:999px;background:var(--arc);margin:0 0 1.1rem}

/* Intertitres de contenu : un croissant de lune en marge. */
.vfr-prose h2{position:relative;padding-left:2.1rem}
.vfr-prose h2::before{content:"";position:absolute;left:0;top:.34em;width:17px;height:17px;border-radius:50%;
  background:var(--or);box-shadow:inset -5px -1px 0 0 var(--fond)}
.vfr-prose h3{color:var(--acc-f)}

/* Bande de compteurs */
.vfr-compteurs{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:0}
.vfr-compteur{background:var(--blanc);border:1px solid var(--ligne);border-radius:var(--rayon);padding:1.15rem 1.3rem;position:relative;overflow:hidden}
.vfr-compteur::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--arc)}
.vfr-compteur__n{display:block;font-family:var(--titre);font-weight:700;font-size:clamp(1.85rem,3.6vw,2.6rem);color:var(--prim-f);line-height:1.05}
.vfr-compteur__l{display:block;font-size:.9rem;color:var(--gris);margin-top:.15rem}
@media(max-width:700px){.vfr-compteurs{grid-template-columns:1fr}}

/* Rubriques : compte d'articles */
.vfr-silo__compte{display:inline-block;margin-top:.45rem;font-size:.8rem;font-weight:500;color:var(--prim-f);background:var(--prim-cc);border-radius:999px;padding:.14rem .66rem}
.vfr-silo{transition:transform .18s,box-shadow .18s}
.vfr-silo:hover{transform:translateY(-3px);box-shadow:0 18px 34px -22px rgba(36,26,60,.5)}
.vfr-silo__img{background:linear-gradient(140deg,var(--prim-c),var(--acc-c))}

/* Cartes d'articles : même mouvement, discret */
.vfr-carte{transition:transform .18s,box-shadow .18s}
.vfr-carte:hover{transform:translateY(-3px);box-shadow:0 18px 34px -22px rgba(36,26,60,.45)}
.vfr-carte__img{background:linear-gradient(140deg,var(--prim-c),var(--acc-c))}

/* FAQ en accordéon : le chevron devient une étoile à quatre branches */
.vfr-faq__liste{border-top:1px solid var(--ligne)}
.vfr-faq__item{border-bottom:1px solid var(--ligne)}
.vfr-faq__item summary::after{background:var(--acc);border-radius:0;width:13px;height:13px;margin-top:-6px;
  clip-path:polygon(50% 0,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0 50%,42% 42%)}
.vfr-faq__item[open] summary::after{transform:rotate(45deg)}

/* Encadrés : liseré or au lieu du trait orange */
.vfr-encadre{border-top:5px solid transparent;border-image:var(--arc) 1;
  background:linear-gradient(180deg,var(--blanc),#FEFBFF)}

/* Articles de la même rubrique */
.vfr-lies{margin:2.5rem 0 1rem;background:var(--blanc);border:1px solid var(--ligne);border-radius:var(--rayon);padding:1.4rem 1.6rem}
.vfr-lies h2{font-size:1.4rem;margin-bottom:.8rem;padding-left:0}
.vfr-lies h2::before{display:none}
.vfr-lies ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.4rem 1.6rem}
.vfr-lies li{padding-left:1.15rem;position:relative}
.vfr-lies li::before{content:"";position:absolute;left:0;top:.66em;width:8px;height:8px;background:var(--or);
  clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%)}
.vfr-lies__tout{margin:1.1rem 0 0}
@media(max-width:700px){.vfr-lies ul{grid-template-columns:1fr}}

/* Maillage interne : les liens que le plugin pose dans le corps du texte */
.vfr-prose a{color:var(--prim);text-decoration-color:var(--acc-c);text-decoration-thickness:2px}
.vfr-prose a:hover{color:var(--acc-f);text-decoration-color:var(--acc)}
.vfr-suite{margin:2.2rem 0 0;background:linear-gradient(140deg,var(--prim-cc),var(--acc-c));
  border-radius:var(--rayon);padding:1.3rem 1.6rem}
.vfr-suite__titre{font-family:var(--titre);font-weight:700;font-size:1.3rem;color:var(--prim-f);margin:0 0 .7rem}
.vfr-suite ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.45rem 1.6rem}
.vfr-suite li{padding-left:1.15rem;position:relative}
.vfr-suite li::before{content:"";position:absolute;left:0;top:.62em;width:9px;height:9px;border-radius:50%;
  background:var(--prim);box-shadow:inset -3px -1px 0 0 var(--prim-cc)}
.vfr-suite a{color:var(--prim-f);font-weight:500;text-decoration:none}
.vfr-suite a:hover{text-decoration:underline;text-decoration-color:var(--acc);text-decoration-thickness:2px}
@media(max-width:700px){.vfr-suite ul{grid-template-columns:1fr}}

/* Le plan des rubriques, en pied d'archive et de page */
.vfr-plan{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem 1.6rem;list-style:none;margin:0;padding:0}
.vfr-plan li{padding-left:1.1rem;position:relative}
.vfr-plan li::before{content:"";position:absolute;left:0;top:.66em;width:8px;height:8px;background:var(--acc);
  clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%)}
.vfr-plan a{color:var(--prim-f);text-decoration:none}
.vfr-plan a:hover{text-decoration:underline;text-decoration-color:var(--acc);text-decoration-thickness:2px}
.vfr-plan .vfr-plan__ici{color:var(--gris)}
@media(max-width:860px){.vfr-plan{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.vfr-plan{grid-template-columns:1fr}}

/* Signature de l'autrice */
.vfr-sign{background:linear-gradient(140deg,var(--blanc),var(--prim-cc))}
.vfr-sign__piece{width:26px;height:26px}

/* Bandeau des pages rubrique */
.vfr-bandeau{background:
  radial-gradient(2px 2px at 22% 18%,rgba(227,169,47,.8),transparent 60%),
  radial-gradient(1.8px 1.8px at 62% 11%,rgba(212,86,140,.65),transparent 60%),
  radial-gradient(2.2px 2.2px at 88% 26%,rgba(107,63,160,.6),transparent 60%),
  linear-gradient(180deg,var(--prim-cc) 0%,var(--fond) 100%)}
.vfr-bandeau__texte{position:relative;z-index:1}
.vfr-bandeau__photo img{border-radius:var(--rayon-photo);box-shadow:0 34px 68px -34px rgba(36,26,60,.55)}
.vfr-titre-liste span{background:var(--or-c);color:#8A6214}

/* Pied de page : la nuit, enfin */
.vfr-pied{background:var(--nuit);color:#CFC4E6;
  background-image:
    radial-gradient(2px 2px at 12% 18%,rgba(227,169,47,.5),transparent 60%),
    radial-gradient(1.6px 1.6px at 41% 9%,rgba(255,255,255,.35),transparent 60%),
    radial-gradient(2px 2px at 73% 22%,rgba(212,86,140,.45),transparent 60%),
    radial-gradient(1.6px 1.6px at 91% 12%,rgba(255,255,255,.3),transparent 60%),
    linear-gradient(180deg,#2A1F4C,var(--nuit))}
.vfr-pied a{color:var(--or)}
.vfr-pied .vfr-logo a{color:#fff}
.vfr-pied .vfr-logo__mot b{color:var(--or)}
.vfr-pied__mail a{color:var(--or);font-weight:600}
.vfr-pied__liens a{color:#CFC4E6}
.vfr-pied__bas p{color:#9C8FBD}
.vfr-pied__cookies{color:#CFC4E6}

/* Bandeau des rubriques : violet profond */
.vfr-nav{background:var(--prim-f)}

/* Pagination */
.vfr-pagination .page-numbers{font-weight:500}

/* Photos : arche sur grand écran, arrondi simple sur mobile. */
@media(max-width:860px){
  .vfr-hero__photo img,.vfr-bandeau__photo img{border-radius:var(--rayon)}
  .vfr-hero__photo::after{border-radius:var(--rayon)}
}
@media(max-width:420px){
  .vfr-prose h2{padding-left:1.7rem}
}
