/* ==========================================================================
   Portrait Haute Sensibilité — identité « éditorial sensible »   (0.19.0)
   Papier crème, encre bleu-vert, accent pêche. Titres en Fraunces,
   textes en Atkinson Hyperlegible (lisibilité). Photos en noir et blanc.

   Deux passes ont été fusionnées ici, pas empilées :

   1. « Direction », d'après des références primées — Per Appelgren (le vide
      comme matière), Almira Kho (la typographie comme structure), AGNESTOTH
      (le registre crème). Elle retire du chrome et étire l'échelle des titres.

   2. « Tendances 2026 », d'après les pièces primées en octobre 2026 — KINORIA
      (micro-étiquettes monospace, repères 01…04, filet d'annotation), PSP
      Production, EAST 64 Films, Atmos Gallery. Toutes ces règles portent la
      mention « tendances 2026 » pour être retirées d'un seul coup si besoin.

   Rien n'exige de script ni de police supplémentaire : le monospace est la
   pile système, les repères sont des compteurs CSS, les flèches sont posées
   en ::after (donc invisibles pour un lecteur d'écran).
   ========================================================================== */

@font-face{font-family:"Fraunces";src:url("fonts/Fraunces-SemiBold.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";src:url("fonts/AtkinsonHyperlegible-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";src:url("fonts/AtkinsonHyperlegible-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}

/* ------------------------------------------------------------------ racine
   Les jetons sont posés sur trois portées : le contenu (.phs), le bloc de fin
   d'article (.phs-plus, hors de .phs) et la page PHS entière (body.phs-site).
   Une peau n'a donc qu'à redéfinir ces valeurs, sans toucher aux règles.
   Contrat de contraste : tests/run.php vérifie chaque peau. */
:where(body.phs-site),.phs,.phs-plus,.phs-fin{
  /* surfaces */
  --phs-creme:#FBF7F2;
  --phs-creme-2:#F4ECE1;
  --phs-blanc:#fff;
  /* contenu */
  --phs-texte:#16313A;
  --phs-doux:#566A70;
  /* encre de marque : titres, liens, filets */
  --phs-canard:#014A5D;
  --phs-canard-2:#0B6378;
  --phs-canard-fonce:#012F3B;
  /* accent : réservé aux actions et aux états, jamais décoratif */
  --phs-peche:#FDA76E;
  --phs-peche-fonce:#8A4B1A;
  --phs-peche-pale:#FCE7D4;
  /* indicateurs non textuels (traits, pointillés) */
  --phs-peche-2:#D97C33;
  /* texte posé sur une surface d'encre ou d'accent : une peau sombre l'inverse */
  --phs-sur-canard:#fff;
  --phs-sur-peche:#16313A;
  /* états */
  --phs-ok:#2E7D4F;
  --phs-ok-fond:#E3F1EE;
  --phs-erreur:#B3261E;
  --phs-erreur-fond:#FDE8E4;
  /* anneau de focus : lisible sur la surface claire comme sur la surface d'encre */
  --phs-focus:#0B6378;
  /* fond des vignettes pendant leur chargement */
  --phs-image-fond:#E6DDD2;
  /* filets et bordures de champs (contraste ≥ 3:1 sur blanc) */
  --phs-ligne:#E6DBCD;
  --phs-ligne-2:#D3C2AD;
  --phs-champ:#7E8F8C;
  --phs-serif:"Fraunces","Iowan Old Style",Palatino,Georgia,"Times New Roman",serif;
  --phs-sans:"Atkinson Hyperlegible",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  /* tendances 2026 : le monospace des micro-étiquettes (pile système, zéro requête) */
  --phs-mono:ui-monospace,"SF Mono","Cascadia Mono",Menlo,Consolas,"DejaVu Sans Mono",monospace;
  --phs-r:6px;
  --phs-btn-r:999px;
  --phs-ombre:0 24px 46px -28px rgba(1,47,59,.5);
}
.phs{
  /* la taille de base suit le réglage de texte du visiteur (rem), sans descendre sous 17px */
  color:var(--phs-texte);font-family:var(--phs-sans);font-size:max(17px,1.09375rem);line-height:1.7;
  background:var(--phs-creme);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.phs *,.phs *::before,.phs *::after{box-sizing:border-box}

/* neutralisation du thème (Astra, Twenty Twenty-One…) : le contenu occupe toute la largeur */
.phs-sans-titre .entry-header,.phs-sans-titre .ast-single-entry-banner{display:none!important}
.phs-site .site-content>.ast-container{max-width:none;padding-left:0;padding-right:0}
.phs-site .entry-content>.phs,.entry-content>.phs,.phs{max-width:none!important;width:100%}
.phs-site .entry-content>.phs{margin:0}
.phs-site .entry-content,.phs-site .site-main,.phs-site article.page{max-width:none!important;padding-left:0!important;padding-right:0!important;margin-top:0!important}
/* plus de bande entre l'en-tête et la première section : Astra met 32px de marge en haut de l'article, sur le fond beige du thème */
.phs-site article.page{padding-top:0!important;padding-bottom:0!important}
body.phs-site{background:var(--phs-creme)}

/* ------------------------------------------------------------------ conteneurs et rythme */
.phs-w{max-width:1160px;margin:0 auto;padding:0 24px}
.phs-narrow{max-width:700px;margin:0 auto}
.phs-center{text-align:center}
.phs-s{padding:clamp(88px,12vw,164px) 0}
.phs-s.phs-bg-creme{background:var(--phs-creme)}
.phs-s.phs-bg-blanc{background:var(--phs-blanc)}

/* ------------------------------------------------------------------ titres et textes */
.phs h1,.phs h2,.phs h3{font-family:var(--phs-serif);color:var(--phs-canard);font-weight:600;letter-spacing:-.012em;margin:0 0 .5em}
.phs h1{font-size:clamp(2.4rem,5.4vw,3.8rem);line-height:1;letter-spacing:-.026em;text-wrap:balance}
.phs h2{font-size:clamp(2rem,4.6vw,3.2rem);line-height:1.05;letter-spacing:-.022em;text-wrap:balance}
.phs h3{font-size:1.3rem;line-height:1.25;margin-bottom:.4em}
/* filet de section : on sépare, on ne décore plus */
.phs h2.phs-h::before{content:"";display:block;width:100%;height:1px;border-radius:0;background:var(--phs-ligne-2);margin:0 0 clamp(24px,3vw,36px)}
.phs-center h2.phs-h::before{margin-left:auto;margin-right:auto}
.phs p{margin:0 0 1em}
.phs a{color:var(--phs-canard);text-underline-offset:3px;text-decoration-thickness:1px}
.phs a:hover{color:var(--phs-canard-2)}
.phs-sur{font-family:var(--phs-mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--phs-doux);font-weight:400;margin-bottom:.9em!important}
.phs-sur::before{content:"";display:inline-block;width:18px;height:1px;background:var(--phs-doux);vertical-align:middle;margin-right:14px}
.phs-center .phs-sur::before{display:none}
.phs-lead{font-size:1.16rem;line-height:1.6;color:var(--phs-doux);max-width:32em}
.phs-center .phs-lead{margin-left:auto;margin-right:auto}
/* lettrine discrète sur les premiers paragraphes de prose */
.phs-prose{max-width:66ch}
.phs-prose p{margin:0 0 1.1em}
.phs-prose ul{padding-left:1.15em;margin:0 0 1.1em}
.phs-prose li{margin-bottom:.45em}
.phs-prose>p:first-of-type::first-letter{font-family:var(--phs-serif);font-weight:600;font-size:3.05em;line-height:.78;float:left;padding:.06em .1em 0 0;color:var(--phs-canard)}
.phs img{max-width:100%;height:auto;display:block;border-radius:var(--phs-r)}

/* ------------------------------------------------------------------ boutons */
.phs-btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:1.6em}
.phs-center.phs-btns,.phs-cta-box .phs-btns{justify-content:center}
.phs .phs-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 28px;border-radius:var(--phs-btn-r);background:var(--phs-canard);color:var(--phs-sur-canard);font-weight:700;font-size:1rem;letter-spacing:.005em;text-decoration:none;border:1.5px solid var(--phs-canard);transition:background .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s;cursor:pointer;font-family:inherit;line-height:1.2}
.phs .phs-btn:hover{background:var(--phs-canard-2);border-color:var(--phs-canard-2);color:var(--phs-sur-canard);transform:translateY(-2px);box-shadow:0 16px 28px -18px rgba(1,47,59,.8)}
.phs .phs-btn-2{background:transparent;color:var(--phs-canard);border-color:var(--phs-canard)}
.phs .phs-btn-2:hover{background:var(--phs-canard);border-color:var(--phs-canard);color:var(--phs-sur-canard)}
.phs .phs-btn-clair{background:var(--phs-peche);border-color:var(--phs-peche);color:var(--phs-sur-peche)}
.phs .phs-btn-clair:hover{background:var(--phs-blanc);border-color:var(--phs-blanc);color:var(--phs-canard)}
.phs .phs-btn-ligne{background:transparent;border-color:var(--phs-canard);color:var(--phs-canard)}
.phs .phs-btn-ligne:hover{background:var(--phs-canard);border-color:var(--phs-canard);color:var(--phs-sur-canard)}
.phs .phs-btn-plein{width:100%}
.phs .phs-btn:active{transform:translateY(0);box-shadow:none}
.phs .phs-form button.phs-btn,.phs .phs-form button.phs-btn:focus{background:var(--phs-canard);color:var(--phs-sur-canard);border:1.5px solid var(--phs-canard);border-radius:var(--phs-btn-r);text-transform:none;letter-spacing:0;font-size:1rem;padding:13px 28px}
.phs .phs-form button.phs-btn:hover{background:var(--phs-canard-2);border-color:var(--phs-canard-2);color:var(--phs-sur-canard)}
.phs .phs-form button.phs-btn:disabled{opacity:.7;cursor:wait;transform:none}
.phs-apercu #fm-barre,.phs-apercu #fm-bf,.phs-apercu #fm-bf-adm{display:none!important}
.phs :focus-visible{outline:3px solid var(--phs-focus);outline-offset:2px}
.phs-cta-box :focus-visible{outline-color:var(--phs-focus)}
.phs-link{font-weight:700;text-decoration:none;border-bottom:2px solid var(--phs-peche);padding-bottom:1px}
.phs-link:hover{border-bottom-color:var(--phs-canard)}
/* tendances 2026 — flèche décorative, d'après SeedRouter (→) et KINORIA (« Look closer ↓ »).
   Posée en ::after : un lecteur d'écran ne l'annonce pas. */
.phs-link::after{content:"\2192";display:inline-block;margin-left:.3em;transition:transform .18s}
.phs-link:hover::after{transform:translateX(3px)}
.phs-card .phs-btn::after{content:"\2192";margin-left:.55em;font-weight:400;transition:transform .18s}
.phs-card .phs-btn:hover::after{transform:translateX(3px)}

/* ------------------------------------------------------------------ fil d'Ariane + langue */
.phs-ariane{padding:16px 0 0;font-size:.85rem;color:var(--phs-doux)}
.phs-ariane-w{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.phs-ariane ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.phs-ariane li+li::before{content:"›";margin-right:6px;color:var(--phs-doux)}
.phs-ariane a{color:var(--phs-doux);text-decoration:none}
.phs .phs-lang{font-size:.85rem;font-weight:700;color:var(--phs-canard);text-decoration:none;border:1px solid var(--phs-ligne-2);border-radius:999px;padding:4px 14px;background:var(--phs-blanc)}
.phs .phs-lang:hover{border-color:var(--phs-canard)}

/* ------------------------------------------------------------------ en-tête (héros) */
.phs-t-hero{padding:clamp(64px,9vw,120px) 0 clamp(88px,12vw,164px);background:var(--phs-creme)!important}
.phs-hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(32px,6vw,72px);align-items:center}
.phs-hero-img{position:relative;isolation:isolate}
.phs-hero-img img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:2px;border:0;box-shadow:0 0 0 1px var(--phs-ligne)}
.phs-hero-compact{padding:48px 0 40px}
.phs-hero-seul{max-width:760px}
.phs-hero-compact+.phs-s{padding-top:24px}

/* texte + image côte à côte */
.phs-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,72px);align-items:center}
.phs-split-img{position:relative;isolation:isolate}
.phs-split-img img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:2px;border:0;box-shadow:0 0 0 1px var(--phs-ligne)}

/* ------------------------------------------------------------------ étapes (frise numérotée) */
.phs-steps{list-style:none;margin:2.4em 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,36px)}
.phs-steps-n3{grid-template-columns:repeat(3,1fr)}
.phs-steps-n5{grid-template-columns:repeat(5,1fr);gap:clamp(16px,2vw,28px)}
.phs-steps-n6{grid-template-columns:repeat(3,1fr)}
.phs-steps li{position:relative;border-top:1px solid var(--phs-ligne);padding-top:20px}
.phs-num{display:block;font-family:var(--phs-serif);font-weight:600;font-size:2.2rem;line-height:1;color:var(--phs-canard);margin-bottom:12px}
.phs-steps h3{margin-bottom:.3em}
.phs-steps p{color:var(--phs-doux);font-size:.95rem;margin:0}

/* ------------------------------------------------------------------ cartes et offres */
.phs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(28px,4vw,56px);margin-top:2.4em}
.phs-card{background:transparent;border:0;border-top:1px solid var(--phs-ligne-2);border-radius:0;padding:26px 0 0;display:flex;flex-direction:column;transition:border-color .2s}
.phs-card:hover{border-top-color:var(--phs-canard)}
.phs-card p{color:var(--phs-doux)}
.phs-card .phs-btn,.phs-card .phs-link{margin-top:auto;align-self:flex-start}
/* tendances 2026 — repères numérotés, d'après KINORIA (01…04) et EAST 64 (lignes indexées).
   Un compteur CSS se renumérote seul quand on ajoute une offre. */
.phs-offers,.phs-cards{counter-reset:phs-repere}
.phs-offers>.phs-card,.phs-cards>.phs-card{counter-increment:phs-repere}
.phs-offers>.phs-card h3::before,.phs-cards>.phs-card h3::before{content:counter(phs-repere,decimal-leading-zero);display:block;font-family:var(--phs-mono);font-size:.7rem;font-weight:400;letter-spacing:.18em;color:var(--phs-doux);margin:0 0 8px}
/* tendances 2026 — le filet d'annotation avant l'action (KINORIA). Posé sur le dernier
   paragraphe, donc sur le propos, et non sous le seul prix : sinon la carte sans prix décroche. */
.phs-offers>.phs-card>p:last-of-type,.phs-cards>.phs-card>p:last-of-type{border-top:1px solid var(--phs-ligne-2);padding-top:14px}
.phs-card .phs-btn{margin-top:auto}
.phs-card-n{font-family:var(--phs-serif);color:var(--phs-canard);font-size:1.6rem;line-height:1;margin-bottom:12px}
.phs-price{font-family:var(--phs-serif);font-weight:600;font-size:2.1rem;color:var(--phs-canard)!important;margin:.1em 0 .5em!important;line-height:1.1}
.phs-note{font-family:var(--phs-mono);font-size:.7rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--phs-peche-fonce)!important;background:transparent;border:1px solid var(--phs-ligne-2);display:inline-block;align-self:flex-start;padding:3px 10px;border-radius:999px;margin:0 0 .9em}

/* ------------------------------------------------------------------ FAQ */
.phs-faq{margin-top:2em}
.phs-faq details{border-bottom:1px solid var(--phs-ligne);padding:0}
.phs-faq details:first-child{border-top:1px solid var(--phs-ligne)}
.phs-faq summary{cursor:pointer;list-style:none;padding:20px 44px 20px 0;font-family:var(--phs-serif);font-weight:600;font-size:1.3rem;letter-spacing:-.012em;position:relative;color:var(--phs-texte)}
.phs-faq summary::-webkit-details-marker{display:none}
.phs-faq summary::after{content:"";position:absolute;right:10px;top:50%;width:9px;height:9px;margin-top:-6px;border-right:2px solid var(--phs-canard);border-bottom:2px solid var(--phs-canard);transform:rotate(45deg);transition:transform .2s}
.phs-faq details[open] summary::after{transform:rotate(225deg);margin-top:-2px}
.phs-faq details p{color:var(--phs-doux);padding:0 0 20px;margin:0;max-width:64em}

/* ------------------------------------------------------------------ appel à l'action */
.phs-t-cta .phs-cta-box{box-shadow:none}
.phs-cta-box{background:transparent;color:var(--phs-texte);border-top:1px solid var(--phs-ligne-2);border-radius:0;padding:clamp(56px,8vw,96px) 0;text-align:center}
.phs-cta-box .phs-h{color:var(--phs-canard);font-size:clamp(2.4rem,6vw,4.4rem);line-height:1.02}
.phs-cta-box h2.phs-h::before{display:none}
.phs-cta-box p{color:var(--phs-doux);max-width:34em;margin-left:auto;margin-right:auto}

/* ------------------------------------------------------------------ contenus d'extensions */
.phs-embed{margin-top:1.6em}
.phs-admin-note{background:var(--phs-peche-pale);border-left:4px solid var(--phs-peche);padding:10px 14px;font-size:.9rem;color:var(--phs-texte)}

/* ------------------------------------------------------------------ formulaires */
.phs-form{margin-top:1.6em;background:var(--phs-blanc);border:1px solid var(--phs-ligne);border-radius:var(--phs-r);padding:32px}
.phs-bg-blanc .phs-form{background:var(--phs-creme)}
.phs-form label{display:block;font-weight:700;font-size:.92rem;margin-bottom:7px}
.phs-form input[type=text],.phs-form input:not([type]),.phs-form input[type=email],.phs-form input[type=tel],.phs-form input[type=number],.phs-form select,.phs-form textarea{width:100%;min-height:50px;padding:11px 15px;border:1px solid var(--phs-champ);border-radius:4px;background:var(--phs-blanc);font:inherit;color:var(--phs-texte);transition:border-color .2s}
.phs-form ::placeholder{color:var(--phs-doux);opacity:1}
.phs-form input[type=text]:focus,.phs-form input:not([type]):focus,.phs-form input[type=email]:focus,.phs-form input[type=tel]:focus,.phs-form input[type=number]:focus,.phs-form select:focus,.phs-form textarea:focus{border-color:var(--phs-canard)}
.phs-form textarea{min-height:120px}
.phs-form small{display:block;color:var(--phs-doux);font-size:.82rem;margin-top:5px;font-weight:400}
.phs-row{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.phs-form fieldset{border:0;padding:0;margin:0 0 1.2em}
.phs-form legend{font-weight:700;margin-bottom:8px}
.phs-opt{display:flex!important;gap:12px;align-items:flex-start;border:1px solid var(--phs-champ);border-radius:6px;padding:14px 16px;margin-bottom:10px!important;cursor:pointer;background:var(--phs-blanc);transition:border-color .2s,box-shadow .2s}
.phs-opt:has(input:checked){border-color:var(--phs-canard);box-shadow:0 0 0 1px var(--phs-canard)}
.phs-opt input{margin-top:5px;accent-color:var(--phs-canard)}
.phs-opt span{display:block}
.phs-check label{font-weight:400;display:flex;gap:10px;align-items:flex-start}
.phs-check input{margin-top:5px;flex:none;accent-color:var(--phs-canard)}
.phs-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.phs-small{font-size:.85rem;color:var(--phs-doux);margin-top:.6em}
.phs-msg{background:var(--phs-peche-pale);border-radius:6px;padding:14px 18px;margin:1em 0}
.phs-msg-ok{background:var(--phs-ok-fond);border-left:4px solid var(--phs-canard)}
.phs-msg-err{background:var(--phs-erreur-fond);border-left:4px solid var(--phs-erreur)}
.phs-test{display:inline-block;background:var(--phs-peche-pale);border:1px dashed var(--phs-peche-2);color:var(--phs-peche-fonce);padding:5px 12px;border-radius:6px;font-size:.85rem;font-weight:700}
.phs-freq,.phs-montants{display:flex;flex-wrap:wrap;gap:10px}
.phs-freq legend,.phs-montants legend{width:100%}
.phs-freq label,.phs-montants label{display:inline-flex!important;align-items:center;gap:8px;border:1px solid var(--phs-champ);border-radius:999px;padding:10px 18px;background:var(--phs-blanc);cursor:pointer;margin:0!important;transition:background .2s,color .2s,border-color .2s}
.phs-freq label:has(input:checked),.phs-montants label:has(input:checked){border-color:var(--phs-canard);background:var(--phs-canard);color:var(--phs-sur-canard)}
.phs-montants .phs-libre input[type=number]{width:90px;min-height:36px;padding:4px 8px}

/* ------------------------------------------------------------------ barre d'objectifs */
.phs-goal{margin:1.4em 0 1.8em}
.phs-goal-total{font-size:1.05rem}
.phs-goal-total strong{font-family:var(--phs-serif);font-size:1.8rem;color:var(--phs-canard)}
.phs-goal-bar{position:relative;height:16px;background:var(--phs-ligne);border-radius:999px;overflow:visible;margin:10px 0 16px}
.phs-goal-bar span{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--phs-canard),var(--phs-canard-2));border-radius:999px;min-width:16px}
.phs-goal-bar i{position:absolute;top:-4px;width:4px;height:24px;margin-left:-2px;background:var(--phs-blanc);border:1px solid var(--phs-canard);border-radius:2px}
.phs-goal-bar i.ok{background:var(--phs-peche);border-color:var(--phs-peche-2)}
.phs-goal-list{list-style:none;margin:0;padding:0;font-family:var(--phs-mono);font-size:.8rem;letter-spacing:.02em}
.phs-goal-list li{padding:6px 0;color:var(--phs-doux)}
.phs-goal-list li span{display:inline-block;min-width:88px;font-weight:700;color:var(--phs-texte)}
.phs-goal-list li.ok span{color:var(--phs-canard)}
.phs-goal-list li.ok::before{content:"✓";color:var(--phs-canard);font-weight:700;margin-right:.45em}

/* ------------------------------------------------------------------ menu : bouton Réserver (hors .phs : couleurs littérales) */
.menu-item.phs-menu-cta>a{background:#014A5D;color:#fff!important;border-radius:999px;padding-left:22px!important;padding-right:22px!important}
.menu-item.phs-menu-cta>a:hover{background:#0B6378}

/* ------------------------------------------------------------------ Calendly chargé au clic */
.phs-calendly{margin-top:1em}
.phs-calendly-gate{background:var(--phs-blanc);border:1px dashed var(--phs-ligne-2);border-radius:var(--phs-r);padding:28px;text-align:center}
.phs-calendly-gate .phs-btns{justify-content:center}
.phs-calendly-gate p{color:var(--phs-doux)}

/* ------------------------------------------------------------------ pont vers Aparté */
.phs-aparte{margin:1.6em auto 0;max-width:760px;background:var(--phs-blanc);border:1px solid var(--phs-ligne);border-left:4px solid var(--phs-peche);border-radius:var(--phs-r);padding:18px 22px;text-align:left;display:flex;gap:22px;align-items:center}
.phs .phs-aparte-t{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--phs-canard-2);font-weight:700;margin:0 0 .4em}
.phs-aparte p:last-child{margin:0}
.phs-aparte-txt{min-width:0;flex:1}
.phs-aparte-logo{flex:0 0 110px;display:block;line-height:0}
.phs .phs-aparte-logo img{width:110px;height:auto;filter:none!important;display:block}
@media(max-width:560px){.phs-aparte{flex-direction:column;align-items:flex-start;gap:12px}.phs-aparte-logo{flex-basis:auto}.phs .phs-aparte-logo img{width:88px}}

/* ------------------------------------------------------------------ galerie aléatoire [phs_galerie] */
.phs-gal{background:transparent;margin:1.4em 0}
.phs-gal-grid,.phs-cad-bar{max-width:var(--phs-gal-max,100%);margin-left:auto;margin-right:auto}
@media (max-width:600px){.phs-gal-grid,.phs-cad-bar{max-width:100%}}
.phs-gal-grid{width:100%;display:grid;grid-template-columns:repeat(var(--phs-cols,4),minmax(0,1fr));gap:14px;transition:opacity .18s}
.phs-gal-grid.phs-gal-fade{opacity:.15}
.phs-gal-item{margin:0}
.phs-gal-a{display:block;overflow:hidden;border-radius:2px;background:var(--phs-image-fond);box-shadow:0 0 0 1px var(--phs-ligne)}
.phs-gal-a img{width:100%;height:100%;aspect-ratio:3/4;object-fit:cover;display:block;border-radius:0;transition:transform .5s}
.phs-gal-carre .phs-gal-a img{aspect-ratio:1/1}
.phs-gal-libre .phs-gal-a img{aspect-ratio:auto;height:auto}
.phs-gal-a:hover img{transform:scale(1.04)}
/* photos sans lien (lien="non") : pas de <a> englobant, le cadre est porté par la figure */
.phs-gal-item-nolien{overflow:hidden;border-radius:2px;background:var(--phs-image-fond);box-shadow:0 0 0 1px var(--phs-ligne)}
.phs-gal-item-nolien img{width:100%;height:100%;aspect-ratio:3/4;object-fit:cover;display:block}
.phs-gal-carre .phs-gal-item-nolien img{aspect-ratio:1/1}
.phs-gal-libre .phs-gal-item-nolien img{aspect-ratio:auto;height:auto}
.phs .phs-gal-more{text-align:center;margin:1.6em 0 0}
.phs-lb{position:fixed;inset:0;z-index:100000;background:rgba(6,26,32,.95);display:none;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top,0px)) max(56px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(56px,env(safe-area-inset-left,0px))}
.phs-lb.on{display:flex}
.phs-lb img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.phs-lb button{position:absolute;background:none;border:0;color:#fff;font-size:42px;line-height:1;cursor:pointer;padding:10px;opacity:.85}
.phs-lb button:hover,.phs-lb button:focus-visible{opacity:1;outline:2px solid #FDA76E}
.phs-lb-x{top:max(10px,env(safe-area-inset-top,0px));right:max(10px,env(safe-area-inset-right,0px));font-size:28px!important}
.phs-lb-p{left:max(6px,env(safe-area-inset-left,0px));top:50%;transform:translateY(-50%)}
.phs-lb-n{right:max(6px,env(safe-area-inset-right,0px));top:50%;transform:translateY(-50%)}
.phs-lb.phs-lb-couleur img{filter:none!important}
@media (max-width:900px){.phs-gal-grid{grid-template-columns:repeat(min(var(--phs-cols,4),3),minmax(0,1fr))}}
@media (max-width:600px){.phs-gal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
@media (prefers-reduced-motion:reduce){.phs-gal-a img,.phs-gal-grid{transition:none}}

/* ------------------------------------------------------------------ questionnaire adaptatif [phs_questionnaire] */
.phs-quiz{max-width:760px;margin:1.6em auto 0;text-align:left}
.phs-quiz-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.phs .phs-quiz-card{display:flex;flex-direction:column;gap:6px;text-align:left;background:transparent;border:0;border-top:1px solid var(--phs-ligne-2);border-radius:0;padding:24px 0 0;cursor:pointer;font:inherit;color:var(--phs-texte);transition:border-color .2s}
.phs .phs-quiz-card:hover,.phs .phs-quiz-card:focus-visible{border-top-color:var(--phs-canard)}
.phs .phs-quiz-card:active{transform:translateY(0)}
.phs-quiz-card strong{font-family:var(--phs-serif);font-weight:600;font-size:1.25rem;color:var(--phs-canard)}
.phs-quiz-card span{color:var(--phs-doux);font-size:.95rem}
.phs .phs-quiz-q{font-weight:700;font-size:1.15rem;color:var(--phs-texte);display:block;margin:0 0 .8em;outline:none}
.phs-quiz-screen{background:var(--phs-blanc);border:1px solid var(--phs-ligne);border-radius:var(--phs-r);padding:30px}
.phs-bg-creme .phs-quiz-screen{background:var(--phs-blanc)}
.phs-quiz-screen h3{outline:none}
.phs-quiz-prog{height:6px;background:var(--phs-ligne);border-radius:999px;overflow:hidden;margin-bottom:16px}
.phs-quiz-prog span{display:block;height:100%;background:var(--phs-peche);transition:width .3s}
.phs .phs-quiz-count{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--phs-canard-2);font-weight:700;margin:0 0 .6em}
.phs-quiz fieldset{border:0;margin:0;padding:0}
.phs-quiz legend{padding:0;width:100%}
.phs-quiz legend small{display:block;color:var(--phs-doux);margin:-.4em 0 .9em;font-size:.9rem}
.phs-quiz-opts{display:grid;gap:10px}
.phs .phs-quiz-opt{display:flex;gap:12px;align-items:center;border:1px solid var(--phs-champ);border-radius:6px;padding:13px 16px;cursor:pointer;background:var(--phs-creme);font-weight:400;margin:0;transition:border-color .2s,background .2s}
.phs .phs-quiz-opt:hover{border-color:var(--phs-canard-2)}
.phs .phs-quiz-opt:has(input:checked){border-color:var(--phs-canard);background:var(--phs-ok-fond);box-shadow:0 0 0 1px var(--phs-canard)}
.phs-quiz-opt input{accent-color:var(--phs-canard);width:18px;height:18px;flex:none;margin:0}
.phs-quiz-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px;flex-wrap:wrap}
.phs-quiz-nav-r{display:flex;gap:14px;align-items:center}
.phs .phs-quiz-nav .phs-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.phs .phs-link-btn{background:none;border:0;padding:6px 0;color:var(--phs-canard);font:inherit;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.phs-quiz-recap{list-style:none;margin:0 0 1.2em;padding:0}
.phs-quiz-recap li{display:grid;grid-template-columns:minmax(0,13em) minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--phs-ligne)}
.phs-quiz-recap li span{color:var(--phs-doux)}
.phs-quiz-recap li strong{font-weight:700}
.phs-quiz-notes{background:var(--phs-peche-pale);border-radius:6px;padding:14px 18px;margin:0 0 1.2em}
.phs-quiz-notes p{margin:0 0 .3em}.phs-quiz-notes ul{margin:0;padding-left:1.2em}
.phs-quiz-actions{display:flex;flex-wrap:wrap;gap:12px}
.phs-quiz-form .phs-form{padding:0;border:0;background:transparent;margin-top:1.2em}
.phs .phs-quiz-retour{text-align:center;margin-top:1em}
@media (max-width:700px){.phs-quiz-cards{grid-template-columns:minmax(0,1fr)}.phs-quiz-screen{padding:20px 16px}.phs-quiz-recap li{grid-template-columns:minmax(0,1fr);gap:2px}.phs-quiz-actions .phs-btn{width:100%}}

/* ------------------------------------------------------------------ boutons <button> : protège nos styles de ceux du thème */
.phs button.phs-btn{background:var(--phs-canard)!important;color:var(--phs-sur-canard)!important;border:1.5px solid var(--phs-canard)!important;border-radius:var(--phs-btn-r)!important;text-transform:none!important;letter-spacing:0!important;box-shadow:none!important}
.phs button.phs-btn:hover{background:var(--phs-canard-2)!important;border-color:var(--phs-canard-2)!important}
.phs button.phs-btn.phs-btn-2{background:transparent!important;color:var(--phs-canard)!important}
.phs button.phs-btn.phs-btn-2:hover{background:var(--phs-canard)!important;color:var(--phs-sur-canard)!important}
.phs button.phs-link-btn{background:none!important;border:0!important;color:var(--phs-canard)!important;padding:6px 0!important;box-shadow:none!important;text-transform:none!important}
.phs button.phs-quiz-card{background:transparent!important;color:var(--phs-texte)!important;border:0!important;border-top:1px solid var(--phs-ligne-2)!important;border-radius:0!important;text-transform:none!important;letter-spacing:0!important}
.phs button.phs-quiz-card:hover,.phs button.phs-quiz-card:focus-visible{border-top-color:var(--phs-canard)!important}

/* ------------------------------------------------------------------ emplacements photo (0.9.0) — visibles seulement par l'administrateur */
.phs-slot{display:flex;align-items:center;justify-content:center;text-align:center;width:100%;aspect-ratio:4/5;border:2px dashed #9DB3B8;border-radius:var(--phs-r);background:repeating-linear-gradient(135deg,rgba(157,179,184,.08) 0 12px,transparent 12px 24px);color:#3E5A62;padding:16px;box-sizing:border-box}
.phs-slot-paysage{aspect-ratio:3/2}.phs-slot-carre{aspect-ratio:1/1}
.phs-slot strong{display:block;font-size:15px;margin-bottom:6px}.phs-slot small{display:block;font-size:12.5px;line-height:1.45}
.phs-card-img{margin:0 0 20px;position:relative}
.phs-card-img img,.phs-card-img .phs-slot{width:100%;aspect-ratio:3/2;max-height:340px;object-fit:cover;border-radius:2px;display:block}
.phs-card-img .phs-slot{border-radius:2px}
.phs-photos-intro{max-width:65ch;margin:0 0 26px}
.phs-photos{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.phs-photos-n1{grid-template-columns:minmax(0,640px)}
.phs-photo{margin:0;min-width:0}
.phs-photo-cadre{aspect-ratio:4/5;overflow:hidden;border-radius:2px;box-shadow:0 0 0 1px var(--phs-ligne)}
.phs-photos-paysage .phs-photo-cadre{aspect-ratio:3/2}.phs-photos-carre .phs-photo-cadre{aspect-ratio:1/1}
.phs .phs-photo-cadre img{width:100%;height:100%!important;object-fit:cover;border-radius:0;display:block}
.phs-photo figcaption{font-size:14px;color:var(--phs-doux);margin-top:10px}

/* ------------------------------------------------------------------ illustrations (0.12.0) : dessins au trait, jamais passés en noir et blanc.
   0.30.8 : plus de panneau blanc ni de cadre autour : les dessins se posent directement sur le fond de la page */
.phs .phs-illu{filter:none!important;object-fit:contain!important;background:transparent}
.phs-hero-img .phs-illu{aspect-ratio:3/2!important;padding:6%;box-sizing:border-box;background:transparent;border:0;box-shadow:none}
.phs-card-illu .phs-illu{padding:0 0 16px;box-sizing:border-box;border-bottom:0;background:transparent}
.phs-card-img .phs-illu{background:transparent}
.phs-split-img .phs-illu{aspect-ratio:4/5!important;height:auto!important;padding:6%;box-sizing:border-box;background:transparent;border:0;box-shadow:none}
.phs-step-ico{margin:0 0 12px}.phs-step-ico img{width:100%;max-width:150px;aspect-ratio:3/2;object-fit:contain;display:block;border-radius:var(--phs-r)}
.phs-step-ico img:not(.phs-illu){object-fit:cover}

/* ------------------------------------------------------------------ codes intégrés (0.13.1) */
.phs-embed iframe{display:block;width:100%;max-width:100%;border:0;min-height:80vh}

/* Villes des photographes : photo de chaque photographe dans un rond, en bas au centre */
.phs-ph-ronds{position:absolute;left:50%;bottom:0;transform:translate(-50%,50%);display:flex;justify-content:center;z-index:2}
.phs-ph-rond{width:56px;height:56px;border-radius:50%;background:var(--phs-blanc);border:3px solid var(--phs-blanc);box-shadow:0 0 0 2px var(--phs-peche,#FDA76E);overflow:hidden;display:block;margin:0 -6px}
.phs .phs-ph-rond img{width:100%!important;height:100%!important;aspect-ratio:1/1!important;max-height:none!important;object-fit:cover!important;border-radius:50%!important;display:block}
.phs-card-img:has(.phs-ph-ronds){margin-bottom:44px}
.phs-ph-prive .phs-ph-rond{box-shadow:0 0 0 2px var(--phs-peche,#FDA76E),0 0 0 5px rgba(1,74,93,.15)}
.phs-card-ronds{min-height:1px;border-bottom:1px solid var(--phs-ligne)}

/* ------------------------------------------------------------------ Cadrage des visages (administrateur, sur la page) */
.phs-cad-bar{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin:0 0 8px}
.phs .phs-cad-encore{background:none;border:0;padding:0;font-size:.8rem;color:var(--phs-doux);text-decoration:underline;cursor:pointer}
.phs .phs-cad-btn:disabled{opacity:.55;cursor:default;border-style:solid}
.phs .phs-cad-btn{font-size:.85rem;padding:6px 14px;border-radius:999px;border:1px dashed var(--phs-canard);background:var(--phs-blanc);color:var(--phs-canard);cursor:pointer}
.phs-cad-on .phs-cad-btn{background:var(--phs-canard);color:var(--phs-sur-canard);border-style:solid}
.phs-cad-on .phs-gal-a{outline:2px dashed var(--phs-peche);outline-offset:-2px;cursor:crosshair}
.phs-cad-on .phs-gal-a:hover img{transform:none}
.phs-cad-on .phs-gal-a{position:relative}
.phs-cad-on .phs-gal-a.phs-cad-okay{outline:3px solid var(--phs-ok)}
.phs-cad-on .phs-gal-a.phs-cad-okay::after{content:"✓ OK";position:absolute;top:8px;right:8px;background:var(--phs-ok);color:#fff;font:700 12px/1 system-ui,sans-serif;padding:5px 8px;border-radius:999px;box-shadow:0 1px 4px rgba(0,0,0,.3)}
.phs-cad-ed{position:fixed;inset:0;z-index:2147483000;background:rgba(6,26,32,.94);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:16px;font-family:system-ui,sans-serif}
.phs-cad-ed p{color:#fff;margin:0;text-align:center;max-width:640px;font-size:15px}
.phs-cad-zone{position:relative;line-height:0;touch-action:none;cursor:crosshair;user-select:none}
.phs-cad-zone img{max-width:min(92vw,1100px);max-height:68vh;display:block;filter:none!important;-webkit-user-drag:none}
.phs-cad-rect{position:absolute;border:2px solid var(--phs-peche,#FDA76E);box-shadow:0 0 0 9999px rgba(0,0,0,.35);border-radius:4px;pointer-events:none}
.phs-cad-pt{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 2px var(--phs-peche,#FDA76E);pointer-events:none}
.phs-cad-apercu{display:flex;gap:10px;align-items:center;color:#fff;font-size:13px}
.phs-cad-apercu span{width:60px;height:80px;border-radius:4px;background-size:cover;background-repeat:no-repeat;border:1px solid rgba(255,255,255,.5)}
.phs-cad-act{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.phs-cad-act button{font:600 14px system-ui,sans-serif;padding:9px 18px;border-radius:999px;border:1px solid #fff;background:transparent;color:#fff;cursor:pointer}
.phs-cad-act .phs-cad-ok{background:var(--phs-peche,#FDA76E);border-color:var(--phs-peche,#FDA76E);color:var(--phs-sur-peche)}

/* ------------------------------------------------------------------ guide offert et derniers articles (0.28.0) */

/* Guide offert : visuel facultatif, texte, formulaire */
.phs-lm{display:grid;gap:clamp(24px,4vw,48px);align-items:start}
.phs-lm-avec{grid-template-columns:minmax(0,180px) minmax(0,1fr)}
.phs-lm-corps{display:grid;gap:clamp(24px,4vw,48px);grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start}
.phs-lm-visuel{position:relative;border:1px solid var(--phs-ligne-2);border-radius:var(--phs-r);overflow:hidden;background:var(--phs-blanc);box-shadow:var(--phs-ombre)}
.phs-lm-visuel img{display:block;width:100%;height:auto}
.phs-lm-pdf{position:absolute;top:10px;right:10px;background:var(--phs-peche);color:var(--phs-sur-peche);font-family:var(--phs-mono);font-size:.62rem;letter-spacing:.14em;padding:4px 8px;border-radius:3px;font-weight:700}
.phs-lm-texte{color:var(--phs-doux)}
.phs-lm-texte p:last-child{margin-bottom:0}
.phs-lm-cta{background:var(--phs-blanc);border:1px solid var(--phs-ligne);border-radius:var(--phs-r);padding:clamp(22px,3vw,32px)}
.phs-bg-blanc .phs-lm-cta{background:var(--phs-creme)}
.phs-lm-cta .phs-form{margin:0;padding:0;border:0;background:transparent}
.phs-nl-champ{margin:0 0 14px}
.phs-nl-accord{margin:0 0 16px}
.phs-nl-accord label{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:.86rem;line-height:1.5;color:var(--phs-doux);cursor:pointer}
.phs-nl-accord input[type=checkbox]{flex:0 0 auto;width:19px;height:19px;margin:2px 0 0;accent-color:var(--phs-canard);cursor:pointer}
.phs-nl-accord input[type=checkbox]:focus-visible{outline:2px solid var(--phs-focus);outline-offset:2px}
.phs-nl-envoi{margin:0}
.phs-lm-ok{border-left:4px solid var(--phs-peche);padding-left:18px}
.phs-lm-ok p{margin:0 0 12px}
.phs-lm-ok-t{font-family:var(--phs-serif);font-size:1.3rem;color:var(--phs-canard);font-weight:600;margin-bottom:6px!important}
.phs-lm-ok .phs-btn{margin:4px 0 14px}
.phs-lm-fin{font-size:.82rem;color:var(--phs-doux)}

/* Derniers articles : accueil et bas d'article */
.phs-blog-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:clamp(18px,2.5vw,28px);margin-top:clamp(28px,4vw,44px)}
.phs-blog-carte{position:relative;display:flex;flex-direction:column;height:100%;background:var(--phs-blanc);border:1px solid var(--phs-ligne);border-radius:var(--phs-r);overflow:hidden;transition:border-color .2s,box-shadow .2s}
.phs-bg-blanc .phs-blog-carte{background:var(--phs-creme)}
.phs-blog-carte:hover{border-color:var(--phs-ligne-2);box-shadow:0 14px 30px -22px rgba(1,47,59,.55)}
.phs-blog-img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--phs-creme-2)}
.phs .phs-blog-img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.phs-blog-carte:hover .phs-blog-img img{transform:scale(1.03)}
.phs-blog-meta{display:flex;flex-wrap:wrap;gap:0 .55em;font-family:var(--phs-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--phs-doux);padding:16px 18px 0}
.phs-blog-cat::before{content:"·" / "";margin-right:.55em}
.phs-blog-titre{font-family:var(--phs-serif);font-size:1.16rem;line-height:1.3;font-weight:600;letter-spacing:-.01em;color:var(--phs-canard);margin:8px 0 0;padding:0 18px 20px}
.phs-blog-titre a{color:inherit;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:1px;text-underline-offset:3px;transition:text-decoration-color .2s}
/* le titre porte le lien, la carte entière est cliquable : un seul arrêt de tabulation, le titre reste un vrai intertitre */
.phs-blog-titre a::after{content:"";position:absolute;inset:0;border-radius:var(--phs-r)}
.phs-blog-titre a:focus-visible{outline:2px solid var(--phs-focus);outline-offset:3px}
.phs-blog-carte:has(a:focus-visible){outline:2px solid var(--phs-focus);outline-offset:2px}
.phs-blog-carte:has(a:focus-visible) .phs-blog-titre a{outline:none}
.phs-blog-carte:hover .phs-blog-titre a{text-decoration-color:var(--phs-canard)}
/* bas d'article : hors des sections de page, le bloc reste dans la colonne de lecture */
.phs-plus{margin:clamp(36px,5vw,60px) 0 0;padding-top:clamp(24px,3.5vw,36px);border-top:1px solid var(--phs-ligne,#E6DBCD)}
.phs-plus>.phs{background:transparent;padding:0}
.phs-plus-h{font-family:var(--phs-serif);font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.15;font-weight:600;letter-spacing:-.012em;color:var(--phs-canard);margin:.2em 0 0}
/* trois vignettes dans une colonne de lecture : titres plus petits, la date suffit comme repère */
.phs-plus .phs-blog-titre{font-size:1.02rem;line-height:1.32}
.phs-plus .phs-blog-cat{display:none}
@media (max-width:900px){
  .phs-lm-avec,.phs-lm-corps{grid-template-columns:minmax(0,1fr)}
  .phs-lm-avec .phs-lm-media{max-width:200px}
}
@media (prefers-reduced-motion:reduce){
  .phs-blog-carte,.phs-blog-titre,.phs-blog-img img{transition:none!important}
  .phs-blog-carte:hover .phs-blog-img img{transform:none}
}

/* ------------------------------------------------------------------ blog : barre latérale (thème Astra) toujours visible, recherche sur fond blanc */
@media (min-width:922px){
  :is(.single-post,.blog,.archive,.search) #secondary .sidebar-main{position:sticky;top:24px;max-height:calc(100vh - 48px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
  .admin-bar:is(.single-post,.blog,.archive,.search) #secondary .sidebar-main{top:56px;max-height:calc(100vh - 80px)}
  body.phs-skin-planche:is(.single-post,.blog,.archive,.search) #secondary .sidebar-main{top:96px;max-height:calc(100vh - 120px)}
  body.phs-skin-planche.admin-bar:is(.single-post,.blog,.archive,.search) #secondary .sidebar-main{top:128px;max-height:calc(100vh - 152px)}
}
#secondary :is(.wp-block-search__input,input[type=search],.search-field),.widget_search :is(.wp-block-search__input,input[type=search],.search-field){background:#fff!important;color:#16313A;border:1px solid #D3C2AD;border-radius:6px}
#secondary :is(.wp-block-search__input,input[type=search],.search-field):focus{border-color:#014A5D;outline:2px solid #0B6378;outline-offset:1px}

/* ------------------------------------------------------------------ adaptations */
@media (max-width:900px){
  .phs-hero-grid,.phs-split{grid-template-columns:1fr;gap:36px}
  .phs-hero-img{order:-1}
  .phs-steps,.phs-steps-n5,.phs-steps-n6{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .phs{font-size:max(16px,1.03125rem)}
  .phs-w{padding:0 18px}
  .phs-s{padding:64px 0}
  .phs-steps,.phs-steps-n3,.phs-steps-n5,.phs-steps-n6,.phs-row{grid-template-columns:1fr}
  .phs-btns .phs-btn{width:100%}
  .phs-form{padding:22px 18px}
  .phs-cta-box{padding:56px 0}
}
/* Contraste renforcé : répond au réglage système « Augmenter le contraste » */
@media (prefers-contrast:more){
  .phs{--phs-doux:#3E5257;--phs-ligne:#C9BBA8;--phs-ligne-2:#A99578;--phs-champ:#5C6E6B}
  .phs-card,.phs-form,.phs-opt,.phs-quiz-opt,.phs-calendly-gate{border-color:var(--phs-ligne-2)}
}
@media (prefers-reduced-motion:reduce){.phs *{transition:none!important}}
.fm-quiz .phs-tutoie{font-style:italic;color:var(--q-ink2,#4a4743);margin:0 0 14px}

/* ================================================================== 0.33.0 : nouveau design de l'accueil (toutes peaux) */
/* infos pratiques sous le titre */
.phs-faits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:1.4em 0 .4em;border-top:1px solid var(--phs-ligne-2);border-bottom:1px solid var(--phs-ligne-2)}
.phs-faits-n3{grid-template-columns:repeat(3,minmax(0,1fr))}.phs-faits-n2{grid-template-columns:repeat(2,minmax(0,1fr))}.phs-faits-n1{grid-template-columns:1fr}
.phs-faits>div{padding:12px 14px;border-left:1px solid var(--phs-ligne-2);min-width:0}
.phs-faits>div:first-child{border-left:0;padding-left:0}
.phs-faits dt{font-family:var(--phs-serif);font-size:1.45rem;line-height:1.15;color:var(--phs-texte)}
.phs-faits dd{margin:2px 0 0;font-size:.8rem;line-height:1.35;color:var(--phs-doux)}
@media (max-width:600px){
  .phs-faits{grid-template-columns:repeat(2,minmax(0,1fr))}
  .phs-faits>div{border-left:0;border-bottom:1px solid var(--phs-ligne-2);padding-left:0}
  .phs-faits>div:nth-child(even){border-left:1px solid var(--phs-ligne-2);padding-left:12px}
  .phs-faits>div:nth-last-child(-n+2){border-bottom:0}
}
/* légende de la photo d'en-tête */
.phs-hero-fig{margin:0}
.phs-hero-fig figcaption{margin-top:8px;font-size:.82rem;color:var(--phs-doux)}
/* étapes illustrées par des photos */
.phs-step-photo{margin:0 0 14px}
.phs-step-photo img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;border-radius:2px}
/* texte à gauche, contenu (galerie, extension) à droite */
.phs-split-embed{align-items:start}
.phs-split-embed .phs-embed{margin-top:0;min-width:0}
@media (max-width:900px){.phs-split-embed{grid-template-columns:1fr}}
/* signature sous l'appel final */
.phs-signature{margin:1.4em 0 0}
.phs-signature img{max-width:220px;height:auto;display:inline-block}
/* fond bleu canard */
.phs-s.phs-bg-canard{background:var(--phs-canard);color:var(--phs-sur-canard)}
.phs-bg-canard .phs-h,.phs-bg-canard h2,.phs-bg-canard h3,.phs-bg-canard .phs-sur{color:var(--phs-sur-canard)}
.phs-bg-canard>.phs-w>.phs-narrow p{color:rgba(255,255,255,.88)}
.phs-bg-canard .phs-embed{background:var(--phs-blanc);color:var(--phs-texte);border-radius:var(--phs-r);padding:clamp(20px,3vw,36px)}
.phs .phs-bg-canard>.phs-w>.phs-narrow .phs-btn.phs-btn-2{color:var(--phs-sur-canard)!important;border-color:var(--phs-sur-canard)!important;background:transparent!important}
/* fond « planche contact » : noir, les portraits en bande de film */
.phs-s.phs-bg-sombre{background:#171615;color:#F2ECE2}
.phs-bg-sombre .phs-h,.phs-bg-sombre h2,.phs-bg-sombre .phs-sur{color:#F2ECE2}
.phs-bg-sombre .phs-h::before{background:rgba(242,236,226,.18)!important}
.phs-bg-sombre p{color:#CFC8BD}
.phs-bg-sombre a:not(.phs-btn){color:#FDA76E}
.phs .phs-bg-sombre .phs-btn.phs-btn-2{color:#F2ECE2!important;border-color:#F2ECE2!important;background:transparent!important}
.phs .phs-bg-sombre .phs-btn.phs-btn-2:hover,.phs .phs-bg-sombre .phs-btn.phs-btn-2:focus-visible{background:#F2ECE2!important;color:#171615!important}
.phs-bg-sombre .phs-admin-note{color:#171615}
/* barre « Réserver » sur téléphone */
.phs-barre-mobile{display:none}
@media (max-width:781px){
  .phs-barre-mobile:not([hidden]){display:flex;position:fixed;left:0;right:0;bottom:0;z-index:9990;gap:8px;align-items:center;padding:10px max(16px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:rgba(251,247,242,.97);border-top:1px solid #DCD3C6;box-shadow:0 -6px 20px rgba(22,49,58,.08);font-family:inherit}
  .phs-barre-mobile a{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:999px;font-weight:700;text-decoration:none;font-size:1rem}
  .phs-barre-mobile .phs-bm-1{flex:1 1 auto;background:#014A5D;color:#fff}
  .phs-barre-mobile .phs-bm-2{flex:0 0 auto;padding:0 18px;color:#014A5D;border:1.5px solid #014A5D;background:transparent}
  body.phs-bm-on{padding-bottom:76px}
  body.phs-bm-on .trp-floating-switcher{display:none!important}
}

/* 0.34.3 : boutons − et + des bons cadeaux (Fiches Modèles). Astra donne à tous les boutons
   une couleur de texte claire (#F5EAD8) : sur leur fond blanc, les signes étaient invisibles. */
.fm-bons .qte button{color:#16313A!important;border-color:#16313A!important;font-weight:700}
.fm-bons .qte button:hover,.fm-bons .qte button:focus-visible{background:#16313A!important;color:#FFFFFF!important}

/* 0.36.1 : articles du blog en pleine largeur. Astra (réglage « conteneur étroit » des articles)
   limitait la page à 750 px, barre latérale comprise : le texte n'avait plus que 420 px. */
@media (min-width:922px){
  body.ast-narrow-container:is(.single-post,.blog,.archive,.search) .site-content>.ast-container{max-width:1240px}
  body:is(.single-post,.blog,.archive,.search).ast-left-sidebar #secondary,
  body:is(.single-post,.blog,.archive,.search).ast-right-sidebar #secondary{width:27%}
  body:is(.single-post,.blog,.archive,.search):is(.ast-left-sidebar,.ast-right-sidebar) #primary{width:73%}
  body.single-post .entry-content>:is(p,ul,ol,blockquote,h2,h3,h4){max-width:46em}
}
/* recherche de la barre latérale : le bouton passe sous le champ plutôt que d'être coupé */
#secondary .wp-block-search__inside-wrapper{flex-wrap:wrap;gap:8px}
#secondary .wp-block-search__input{flex:1 1 140px;min-width:0}
#secondary .wp-block-search__button{margin-left:0}
/* image d'illustration en tête d'article (quand l'article n'a pas d'image à la une) */
.phs-art-banniere{margin:0 0 1.8em}
.phs-art-banniere img{width:100%;height:auto;display:block;border-radius:3px}
/* 0.36.5 : si le thème affiche aussi l'image à la une, une seule image en tête */
.single-post article:has(.phs-art-banniere) :is(.post-thumb-img-content,.ast-single-post-featured-section,.post-thumbnail){display:none}
.phs-art-banniere figcaption{margin-top:8px;font-size:.85rem;color:#56656A}
/* 0.39.0 : cadrage des visages sur toutes les photos de la page (administrateur seulement) */
.phs-cad-survol{position:fixed;z-index:99990;font:600 13px/1.2 system-ui,sans-serif!important;padding:8px 14px!important;border-radius:999px!important;border:1px dashed #014A5D!important;background:rgba(255,255,255,.95)!important;color:#014A5D!important;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.2);text-transform:none!important;letter-spacing:0!important}
.phs-cad-survol:hover{background:#014A5D!important;color:#fff!important}
/* 0.39.0 : photo sans zone visage réglée → on garde le haut de l'image (les visages y sont presque toujours) */
.phs :is(.phs-hero-img,.phs-split-img,.phs-step-photo,.phs-card-img,.phs-photo-cadre,.phs-ph-rond,.phs-gal-a,.phs-gal-item-nolien) img{object-position:50% 30%}
/* 0.40.0 : bouton « Indiquer le visage » sur la photo d'en-tête (administrateur seulement) */
.phs-hero-img{position:relative}
.phs .phs-cad-ici{position:absolute;right:12px;bottom:12px;z-index:5;font:600 13px/1.2 system-ui,sans-serif;padding:8px 14px;border-radius:999px;border:1px dashed #014A5D!important;background:rgba(255,255,255,.94)!important;color:#014A5D!important;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.2);text-transform:none!important;letter-spacing:0!important}
.phs .phs-cad-ici:hover{background:#014A5D!important;color:#fff!important}
/* 0.42.0 */
.phs-step-lien{margin:6px 0 0;font-size:.95rem}.phs-step-lien a{font-weight:700}
/* 0.44.0 : formulaire de contact adapté au profil */
.phs-c-profils{border:0;margin:0 0 18px;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.phs-c-profils legend{font-weight:700;margin-bottom:8px;padding:0}
.phs .phs-c-profil{display:inline-flex;align-items:center;gap:8px;margin:0;padding:10px 16px;border:1.5px solid var(--phs-ligne-2);border-radius:999px;cursor:pointer;font-weight:600;background:var(--phs-blanc)}
.phs .phs-c-profil:has(input:checked){border-color:var(--phs-canard);background:var(--phs-canard);color:var(--phs-sur-canard)}
.phs .phs-c-profil input{accent-color:var(--phs-canard);margin:0}
.phs .phs-c-profil:has(input:focus-visible){outline:2px solid var(--phs-focus);outline-offset:2px}
.phs-c-bloc[hidden]{display:none!important}
.phs .phs-c-profil input{width:16px;height:16px;flex:none}
/* 0.45.0 : encadré « Pour les associations » sous la section vos photos */
.phs .phs-note-asso{margin-top:1.6em;padding:18px 20px;border-left:3px solid var(--phs-peche);background:var(--phs-blanc);border-radius:var(--phs-r)}
.phs-bg-blanc .phs-note-asso{background:var(--phs-creme)}
.phs .phs-note-asso h3{margin-top:0}

/* 0.48.0 — page Conditions générales de vente */
.phs-cgv-page{--cg-c:var(--phs-cuivre-texte,var(--phs-canard));text-align:left;max-width:1180px;margin:0 auto;font-size:max(16px,1.0625rem);line-height:1.7;color:var(--phs-texte)}
.phs-embed .phs-cgv-page{margin-top:0}
.phs-cgv-sur{margin:0 0 18px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--cg-c)}
.phs-cgv-alerte{margin:0 0 28px;padding:14px 18px;border-left:4px solid var(--phs-peche);background:var(--phs-creme);border-radius:var(--phs-r)}
.phs-cgv-essentiel{padding:clamp(24px,3.4vw,44px);background:var(--phs-canard);color:var(--phs-sur-canard);border-radius:var(--phs-r)}
.phs-cgv-essentiel .phs-cgv-sur{color:var(--phs-peche)}
.phs-cgv-essentiel ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.16)}
.phs-cgv-essentiel li{margin:0;padding:20px 22px 22px;background:var(--phs-canard);display:flex;flex-direction:column;gap:6px;min-width:0}
.phs-cgv-essentiel li p{margin:0}
.phs-cgv-e-t{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;opacity:.75}
.phs-cgv-e-v{font-family:var(--phs-serif);font-weight:600;font-size:clamp(22px,2vw,27px);line-height:1.15;letter-spacing:-.01em}
.phs-cgv-e-d{font-size:15px;line-height:1.55;opacity:.88;flex:1}
.phs-cgv-essentiel li a{margin-top:6px;font-size:14px;font-weight:700;color:var(--phs-sur-canard)!important;text-decoration:underline;text-decoration-color:var(--phs-peche);text-underline-offset:5px;width:max-content}
.phs-cgv-note{margin:18px 0 0;font-size:14px;opacity:.75}
.phs-cgv-grille{display:grid;grid-template-columns:minmax(0,270px) minmax(0,1fr);gap:clamp(28px,5vw,72px);margin-top:clamp(36px,5vw,64px);align-items:start}
.phs-cgv-sommaire{position:sticky;top:110px;max-height:calc(100vh - 130px);overflow:auto;font-size:15px}
.phs-cgv-sommaire summary{cursor:pointer;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--cg-c);padding-bottom:12px;border-bottom:1px solid var(--phs-ligne);list-style:none}
.phs-cgv-sommaire summary::-webkit-details-marker{display:none}
.phs-cgv-sommaire ol{list-style:none;margin:8px 0 0;padding:0}
.phs-cgv-sommaire li{margin:0}
.phs-cgv-sommaire a{display:flex;gap:12px;padding:7px 0;line-height:1.35;color:var(--phs-texte)!important;text-decoration:none;border-bottom:1px solid var(--phs-ligne)}
.phs-cgv-sommaire a span{flex:0 0 1.6em;font-variant-numeric:tabular-nums;color:var(--cg-c);font-weight:700}
.phs-cgv-sommaire a:hover,.phs-cgv-sommaire a.est-ici{color:var(--cg-c)!important}
.phs-cgv-texte{min-width:0;max-width:72ch}
.phs-cgv-version{margin:0 0 18px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--phs-doux)}
.phs-cgv-intro{padding-bottom:24px;border-bottom:1px solid var(--phs-ligne);color:var(--phs-doux)}
.phs-cgv-intro p{text-align:left!important}
.phs-cgv-art{padding:clamp(28px,3.4vw,44px) 0;border-bottom:1px solid var(--phs-ligne);scroll-margin-top:110px}
.phs-cgv-art h2{margin:0 0 .7em;font-family:var(--phs-serif);font-weight:600;font-size:clamp(26px,2.8vw,36px);line-height:1.1;letter-spacing:-.02em;color:var(--phs-canard);text-wrap:balance}
.phs-cgv-num{display:block;margin-bottom:10px;font-family:inherit;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--cg-c)}
.phs-cgv-art :is(ul,ol){padding-left:1.2em}
.phs-cgv-art li{margin:.35em 0}
.phs-cgv-art li::marker{color:var(--cg-c)}
.phs-cgv-art strong{color:var(--phs-canard)}
.phs-cgv-art table{width:100%;border-collapse:collapse;font-size:.95em;display:block;overflow-x:auto}
.phs-cgv-art :is(td,th){padding:8px 10px;border:1px solid var(--phs-ligne);text-align:left;vertical-align:top}
.phs-cgv-haut{display:inline-block;margin-top:10px;font-size:13px;font-weight:700;color:var(--phs-doux)!important;text-decoration:none}
.phs-cgv-annexe{margin-top:36px;padding:clamp(22px,3vw,36px);background:var(--phs-creme);border:1px dashed var(--phs-ligne-2);border-radius:var(--phs-r)}
.phs-cgv-question{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px 24px;margin-top:40px;padding-top:28px;border-top:2px solid var(--phs-canard)}
.phs-cgv-question p{margin:0;font-family:var(--phs-serif);font-weight:600;font-size:clamp(24px,2.4vw,32px);color:var(--phs-canard)}
.phs-cgv-question a{font-weight:700;color:var(--cg-c)!important;text-decoration:underline;text-underline-offset:6px}
.phs-cgv-brouillon mark{background:#FFE9A8;color:inherit;padding:0 .15em}
.phs-cgv-bientot{text-align:center}
@media (max-width:980px){.phs-cgv-essentiel ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.phs-cgv-essentiel ul{grid-template-columns:minmax(0,1fr)}}
@media (max-width:860px){
.phs-cgv-grille{grid-template-columns:minmax(0,1fr)}
.phs-cgv-sommaire{position:static;max-height:none;padding:14px 18px;background:var(--phs-creme);border-radius:var(--phs-r)}
.phs-cgv-sommaire summary{border-bottom:0;padding-bottom:0}
.phs-cgv-sommaire summary::after{content:" +";}
.phs-cgv-sommaire details[open] summary::after{content:" −"}
}
