/* Polices auto-hebergees (nLPD : aucun appel externe).
   Carlito = police libre metriquement compatible Calibri, utilisee en REPLI quand Calibri est absent (Mac, Linux, mobile).
   Windows/Office affichent le vrai Calibri ; les autres, Carlito (jumeau metrique). */
@font-face{font-family:'Carlito';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/carlito-regular.woff2') format('woff2');}
@font-face{font-family:'Carlito';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/carlito-italic.woff2') format('woff2');}
@font-face{font-family:'Carlito';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/carlito-bold.woff2') format('woff2');}
@font-face{font-family:'Carlito';font-style:italic;font-weight:700;font-display:swap;src:url('../fonts/carlito-bolditalic.woff2') format('woff2');}

:root{
  /* Palette AMBRE (charte V1) */
  --as-ambre-50:#fbf6ec; --as-ambre-100:#f6e9cd; --as-ambre-200:#ecd49b;
  --as-ambre-300:#e0b964; --as-ambre-400:#d29e38; --as-ambre-500:#bd811d;
  --as-ambre-600:#9d6a17; --as-ambre-700:#785214; --as-ambre-800:#5a3d13; --as-ambre-900:#3d2a11;
  /* Palette PIERRE (neutres) */
  --as-pierre-50:#faf9f6; --as-pierre-100:#f3f1ec; --as-pierre-200:#e6e2d9;
  --as-pierre-300:#d4cec1; --as-pierre-400:#b2aa99; --as-pierre-500:#8b8373;
  --as-pierre-600:#6a6456; --as-pierre-700:#4e4a40; --as-pierre-800:#35322b;
  --as-pierre-900:#211e1a; --as-pierre-950:#14120f;
  /* Nuances de marque */
  --as-ink:#211e1a; --as-ink-strong:#161310; --as-cream:#f4f1ec; --as-mist:#6b645a;
  /* Indicateurs de performance : RESERVES aux chiffres de performance, jamais decoratifs */
  --as-perf-positive:#2e6b4a; --as-perf-positive-soft:#cfe2d5;
  --as-perf-negative:#b23a2e; --as-perf-negative-soft:#f4dad5;
}

/* Libelles et donnees techniques : Tahoma (digital-only), figures tabulaires. */
.as-label,.as-figure{ font-family:Tahoma,Verdana,Geneva,system-ui,sans-serif; font-variant-numeric:tabular-nums; letter-spacing:.02em; }

/* Indicateurs de performance (usage strictement numerique). */
.as-perf--positive{ color:var(--as-perf-positive); }
.as-perf--negative{ color:var(--as-perf-negative); }

/* Le nom de marque s'ecrit toujours en capitales. */
.as-wordmark{ text-transform:uppercase; letter-spacing:.08em; }

/* Sticky footer : la page occupe au minimum la hauteur de l'ecran et le footer
   reste en bas, meme sur les pages courtes. Conteneur global du block theme. */
.wp-site-blocks{ display:flex; flex-direction:column; min-height:100vh; }
.wp-site-blocks > footer,
.wp-site-blocks > .wp-block-template-part:last-child{ margin-top:auto; }

/* Logo : hauteur de rendu (viewBox recadre sur le dessin -> le trace remplit la hauteur).
   width:auto suit le ratio du viewBox. Ajustable au responsive. */
.amberstone-logo__img{ display:block; height:36px; width:auto; }          /* header */
.amberstone-logo__img--footer{ height:36px; }                             /* footer */

/* Footer : logo aligne a gauche (pas de centrage par le layout constrained). */
.amberstone-footer-logo{ display:block; }
.amberstone-footer-logo img{ margin-inline:0; }

/* =========================================================
   FOOTER — maquette : zone haute (marque + 3 colonnes), barre basse
   ========================================================= */
.am-footer__top{
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:40px;
  padding-bottom:36px; border-bottom:1px solid var(--wp--preset--color--stone-800);
}
.am-footer__brand{ max-width:320px; }
.am-footer__baseline{
  margin:16px 0 0; font-size:13.5px; line-height:1.6;
  color:var(--wp--preset--color--stone-400);
}
.am-footer-cols{ display:flex; flex-wrap:wrap; gap:56px; }
.am-footer-col__title{
  font-family:var(--wp--preset--font-family--labels); font-size:11px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--wp--preset--color--amber-400); margin-bottom:14px;
}
.am-footer-col__items{ display:flex; flex-direction:column; gap:9px; }
.am-footer-col__items a{
  font-size:13.5px; color:var(--wp--preset--color--stone-300); text-decoration:none;
}
.am-footer-col__items a:hover{ color:#fff; text-decoration:underline; }
/* Item « a venir » : span inerte badge. Sans consommateur depuis le 23.09.2026,
   les entrees sans URL n'etant plus rendues du tout ; conserve au cas ou la
   convention « a venir » serait reprise ailleurs. */
.am-footer-soon{
  display:inline-flex; align-items:center; gap:7px;
  font-size:13.5px; color:var(--wp--preset--color--mist); cursor:default;
}
.am-soon-badge{
  font-family:var(--wp--preset--font-family--labels); font-size:9px; letter-spacing:.04em;
  text-transform:uppercase; color:var(--wp--preset--color--stone-400);
  border:1px solid var(--wp--preset--color--stone-800); border-radius:999px; padding:1px 6px;
}
.am-footer__bar{
  display:flex; justify-content:space-between; align-items:center;
  margin-top:26px; flex-wrap:wrap; gap:16px;
}
.am-footer__legalline{ display:flex; flex-direction:column; gap:6px; }
.am-footer__copy{
  font-family:var(--wp--preset--font-family--labels); font-size:11px; letter-spacing:.06em;
  color:var(--wp--preset--color--mist);
}
/* Mention d'agrement FINMA (validee le 17.09.2026) : discrete sous le copyright. */
.am-footer__finma{
  font-family:var(--wp--preset--font-family--labels); font-size:11px; letter-spacing:.02em;
  color:var(--wp--preset--color--stone-400);
}
.am-footer__actions{ display:flex; align-items:center; gap:18px; }
/* Selecteur de langue en contexte sombre (meme structure que le header). */
.am-footer .am-lang__code{ color:var(--wp--preset--color--stone-400); }
.am-footer .am-lang__code--active{ color:var(--wp--preset--color--amber-400); }
.am-footer .am-lang__sep{ color:var(--wp--preset--color--stone-800); }
.am-footer__mailbtn{
  width:34px; height:34px; border-radius:8px; flex:none;
  border:1px solid var(--wp--preset--color--stone-800);
  display:inline-flex; align-items:center; justify-content:center;
  color:var(--wp--preset--color--stone-300);
}
.am-footer__mailbtn:hover{ background:rgba(255,255,255,0.08); color:#fff; }
@media (max-width:900px){ .am-footer-cols{ gap:36px; } }
@media (max-width:560px){
  .am-footer__top{ gap:30px; }
  .am-footer-cols{ flex-direction:column; gap:28px; }
  .am-footer__bar{ flex-direction:column; align-items:flex-start; gap:14px; }
}

/* Mobile : logos reduits. */
@media (max-width:600px){
  .amberstone-logo__img,
  .amberstone-logo__img--footer{ height:28px; }
}

/* CORRECTION debordement header mobile (mesure a 390px : barre nowrap de
   441px -> burger rendu mais expulse hors ecran a x=399, CTA colle au bord).
   Rien n'etait compressible : logo a hauteur fixe (28px -> 193px de large),
   CTA nowrap, burger 42px, paddings. Le LOGO devient l'element flexible :
   il retrecit (object-fit) au lieu de pousser le burger hors viewport.
   CTA et burger gardent leur taille ; la marge droite = padding de la bande. */
@media (max-width:600px){
  .wp-block-group.am-header-bar{ gap:8px; }
  .am-header-bar > .amberstone-logo{ flex:0 1 auto; min-width:0; }
  .am-header-bar .amberstone-logo__img{ max-width:100%; object-fit:contain; object-position:left center; }
}

/* Header : logo a gauche, puis cluster droit nav + selecteur de langue + CTA.
   La marge auto sur la nav absorbe l'espace central du space-between -> le CTA est
   flush au bord droit de la bande wide (meme ligne que le contenu wide des sections). */

/* Centrage vertical exact de la bande :
   - align-items:center force sur la barre (double la config du bloc, en dur) ;
   - l'ancre du logo etait inline -> espace de descendante sous l'image
     (surplus en bas de bande) : on la passe en flex. */
.wp-block-group.am-header-bar{ align-items:center; }
.amberstone-logo{ display:flex; align-items:center; }

/* AIR SOUS LE HEADER — cause mesuree dans la feuille globale generee :
   :where(.wp-site-blocks) > * { margin-block-start: 1.2rem } (blockGap racine TT5)
   -> ~19px de marge au-dessus de <main>, meme fond que le header : lu comme de
   l'air DANS la bande (16px au-dessus du contenu vs 35px en dessous).
   On annule cette marge racine apres le header et avant le footer (les sections
   gerent leur propre respiration) ; :where() du core = specificite nulle. */
.wp-site-blocks > header.wp-block-template-part + *,
.wp-site-blocks > footer.wp-block-template-part{ margin-block-start:0; }

/* Bande header = maquette : padding vertical 14px (12px <=560), filet bas. */
.wp-block-group.am-header-bar{ padding-top:14px; padding-bottom:14px; }
@media (max-width:560px){
  .wp-block-group.am-header-bar{ padding-top:12px; padding-bottom:12px; }
}
.am-header{ border-bottom:1px solid var(--wp--preset--color--line); }

/* HEADER STICKY (maquette home.jsx : sticky top 0, fond base a 85% + blur 10px).
   - Porte par le wrapper du template-part (ancetre direct de wp-site-blocks :
     aucun ancetre a overflow ne casse le sticky).
   - Decalage barre d'admin WP pour les utilisateurs connectes : le core pose
     --wp-admin--admin-bar--height sur html (32px / 46px mobile) ; fallback 0
     pour les visiteurs.
   - z-index 100 : au-dessus de tous les contenus (halos/monogrammes sont a
     z-index 0-1), sous la barre d'admin (z-index 99999) ; l'overlay du menu
     mobile (position:fixed du core, z-index eleve) vit DANS ce contexte et
     passe donc aussi au-dessus du header.
   - Flou : uniquement si backdrop-filter ET color-mix sont supportes ; sinon
     fallback = fond plein existant (has-base-background-color). Pas de
     transition ajoutee -> rien a desactiver en prefers-reduced-motion. */
.wp-site-blocks > header.wp-block-template-part{
  position:sticky; top:var(--wp-admin--admin-bar--height, 0px); z-index:100;
}
/* <=600px : la barre d'admin du core passe en position:absolute (elle DEFILE
   avec la page) mais sa variable de hauteur reste posee (46px) -> caler le
   header dessus laissait 46px de vide une fois la barre defilee (mesure en
   harnais). Sous ce breakpoint, top:0 ; le visiteur non connecte etait deja
   a 0 partout (fallback de la variable). */
@media (max-width:600px){
  .wp-site-blocks > header.wp-block-template-part{ top:0; }
}
@supports ((backdrop-filter: blur(10px)) or (-webkit-backdrop-filter: blur(10px))) {
  @supports (background: color-mix(in srgb, red 50%, transparent)) {
    .am-header.has-base-background-color{
      /* !important requis : la classe preset du core (has-base-background-color)
         pose background-color en !important — sans lui le fond reste opaque
         et le flou ne se voit pas. Scope a ce seul cas. */
      background-color:color-mix(in srgb, var(--wp--preset--color--base) 85%, transparent) !important;
      position:relative;
    }
    /* Flou sur un PSEUDO-ELEMENT, jamais sur la bande : backdrop-filter sur
       .am-header ferait d'elle le containing block des position:fixed, et
       l'overlay du menu mobile (fixed inset 0 du core) se retrouverait
       emprisonne dans la bande au lieu de couvrir l'ecran (mesure en harnais). */
    .am-header.has-base-background-color::before{
      content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
      -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
    }
  }
}

.am-header-cta,
.am-header-cta .wp-block-button{ margin:0; }
.am-header-cta .wp-block-button__link{
  padding:0.55rem 1.1rem; font-size:14px; white-space:nowrap;
}
.am-header-bar > .wp-block-navigation{ margin-left:auto; }

/* Items de nav : valeurs maquette (14.5px / 500 / stone-800, gap 28px) et
   nowrap DUR : un item ne wrappe jamais (scope au menu deplie, pas a l'overlay). */
.am-header-bar .wp-block-navigation.is-layout-flex{ gap:28px; }
.am-header-bar .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item a{
  white-space:nowrap; font-size:14.5px; font-weight:500;
  color:var(--wp--preset--color--stone-800);
}

/* Selecteur de langue (visuel seul, cable avec Polylang plus tard).
   Valeurs maquette (LangSelect, home.jsx) : gap 2, codes 12px / 0.06em / padding 4-6,
   separateur 11px stone-400, actif ambre profond gras, inactifs 500 grises.
   Tahoma (labels) et non Consolas : decision charte, pas de police mono. */
.am-lang{ display:flex; align-items:center; gap:2px; }
.am-lang__code{
  font-family:var(--wp--preset--font-family--labels); font-size:12px; letter-spacing:.06em;
  padding:4px 6px; font-weight:500; color:var(--wp--preset--color--mist); cursor:default;
}
.am-lang__code--active{ color:var(--wp--preset--color--amber-700); font-weight:700; }
.am-lang__sep{ color:var(--wp--preset--color--stone-400); font-size:11px; }

/* Cascade responsive (menu 5 entrees, largeurs mesurees) :
   >=1280 : logo | nav | langue | CTA (bande 1200, contenu ~1120) ;
   1024-1279 : langue masquee (elle ira dans l'overlay Polylang), nav + CTA tiennent ;
   <1024 : hamburger (menu deplie masque) + CTA. */
@media (min-width:1280px){
  /* Rythme maquette : nav |~36px| langue |16px| CTA. */
  .am-header-bar > .am-lang{ margin-left:20px; }
}
@media (max-width:1279.98px){
  .am-header-bar > .am-lang{ display:none; }
}
@media (max-width:600px){
  .am-header-cta .wp-block-button__link{ padding:0.45rem 0.85rem; font-size:13px; }
}
/* <=480 : CTA compacte un cran de plus -> le logo (element flexible) garde
   plus de largeur. Place APRES la regle <=600 (meme specificite, la cascade
   tranche par l'ordre). */
@media (max-width:480px){
  .am-header-cta .wp-block-button__link{ padding:0.4rem 0.75rem; font-size:12.5px; }
}

/* Repli <1024px : bascule hamburger AVANT que quoi que ce soit ne wrappe (le
   breakpoint natif du bloc navigation, 600px, reste trop bas).
   Ordre maquette : logo | ... | CTA PUIS hamburger a l'extreme droite. */
@media (max-width:1023.98px){
  .am-header-bar .wp-block-navigation__responsive-container:not(.is-menu-open){ display:none; }
  .am-header-bar > .am-header-cta{ order:2; margin-left:auto; }
  .am-header-bar > .wp-block-navigation{ order:3; margin-left:0; }
  .wp-block-group.am-header-bar{ gap:10px; } /* cluster serre comme la maquette (8-10px) */

  /* Bouton hamburger : style maquette (.am-burger) — cadre 42x42, bord fin stone-300,
     rayon 6px, fond blanc, hover ambre voile. Le core le masque >=600px : reaffiche.
     Restyle CSS uniquement, le JS d'ouverture du bloc natif reste intact. */
  .am-header-bar .wp-block-navigation__responsive-container-open:not(.always-shown){
    display:inline-flex; align-items:center; justify-content:center;
    width:42px; height:42px; flex:none; padding:0;
    border:1px solid var(--wp--preset--color--stone-300);
    border-radius:6px;
    background:var(--wp--preset--color--white);
    color:var(--wp--preset--color--contrast);
    cursor:pointer;
  }
  .am-header-bar .wp-block-navigation__responsive-container-open:not(.always-shown):hover{
    background:var(--wp--preset--color--amber-50);
  }
  /* Icone native (2 traits fins) remplacee par 3 traits nets de 2px (icone menu maquette, 22px). */
  .am-header-bar .wp-block-navigation__responsive-container-open svg{ display:none; }
  .am-header-bar .wp-block-navigation__responsive-container-open::before{
    content:""; width:22px; height:12px;
    background:
      linear-gradient(currentColor 0 0) top/100% 2px no-repeat,
      linear-gradient(currentColor 0 0) center/100% 2px no-repeat,
      linear-gradient(currentColor 0 0) bottom/100% 2px no-repeat;
  }
}

/* =========================================================
   OVERLAY MENU MOBILE — drawer maquette (panneau droit + scrim)
   Restyle CSS PUR de l'overlay natif du bloc navigation : le JS core
   (ouverture, fermeture, Echap, piege a focus) reste intact.
   Le pied du panneau (langues + CTA) vit DANS le menu (post wp_navigation 4,
   bloc wp:html .am-nav-extra) : un pattern ne peut pas injecter de markup
   dans le responsive container genere par le bloc, et c'est le seul
   emplacement couvert par le piege a focus natif. Masque en nav deployee.
   ========================================================= */
/* Extras invisibles dans la nav en ligne (desktop). */
.am-header-bar .wp-block-navigation__responsive-container:not(.is-menu-open) .am-nav-extra{ display:none; }

/* Conteneur ouvert = scrim (fond assombri) ; le panneau s'ancre a droite.
   !important : la classe preset overlay (has-base-background-color) pose le
   fond en !important. */
.am-header-bar .wp-block-navigation__responsive-container.is-menu-open{
  background:rgba(33,30,26,0.5) !important;
  padding:0; display:flex; justify-content:flex-end; align-items:stretch;
}
/* Panneau clair (fond base), ~86 % de largeur plafonne a 360px.
   margin en raccourci COMPLET : le core (has-modal-open) pose margin-left ET
   margin-right auto -> panneau centre au lieu d'ancre a droite (cause mesuree
   des defauts d'alignement). Padding horizontal 24px = marge commune de tout
   le contenu (en-tete Menu, entrees, filets, pied). */
.am-header-bar .is-menu-open .wp-block-navigation__responsive-close{
  width:min(86vw, 360px); height:100%; margin:0 0 0 auto;
  background:var(--wp--preset--color--base);
  border-left:1px solid var(--wp--preset--color--line);
  box-shadow:0 20px 50px rgba(0,0,0,0.25);
  padding:18px 24px 24px; box-sizing:border-box;
  overflow:hidden; /* rien ne depasse jamais visuellement du panneau */
  animation:amDrawerIn .22s ease-out;
}
@keyframes amDrawerIn{ from{ transform:translateX(48px); opacity:.4; } to{ transform:none; opacity:1; } }
@media (prefers-reduced-motion: reduce){
  .am-header-bar .is-menu-open .wp-block-navigation__responsive-close{ animation:none; }
}
.am-header-bar .is-menu-open .wp-block-navigation__responsive-dialog{
  position:relative; height:100%; display:flex; flex-direction:column;
  /* gap:0 : le core propage gap:inherit (28px de la nav) jusqu'au dialog,
     ce qui gonflait la colonne et faisait sortir le CTA du panneau (mesure
     sur le site reel : deboradait de 8px, scrollbar parasite du conteneur). */
  gap:0;
}
/* UTILISATEURS CONNECTES : le core pousse le dialog sous la barre d'admin
   (margin-top 46px, 32px >=782) via `.has-modal-open .admin-bar ...` — c'est
   ce qui faisait sortir le CTA du panneau sur les passes connectees (cause
   racine mesuree sur le site reel ; invisible pour les visiteurs anonymes).
   Sans objet ici : notre drawer (z-index core 100000) couvre la barre d'admin.
   Specificite (0,4,1) > core (0,3,1) pour gagner quel que soit l'ordre. */
.am-header .am-header-bar .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog{
  margin:0;
}
/* Etiquette MENU en tete (decorative : le dialogue natif porte deja son nom accessible). */
.am-header-bar .is-menu-open .wp-block-navigation__responsive-dialog::before{
  content:"Menu"; align-self:flex-start; padding:12px 0;
  font-family:var(--wp--preset--font-family--labels); font-size:11px;
  letter-spacing:.18em; text-transform:uppercase; color:var(--wp--preset--color--mist);
}
/* Bouton fermer : meme style que le hamburger (carre 42, bord fin, coins arrondis). */
.am-header-bar .is-menu-open .wp-block-navigation__responsive-container-close{
  position:absolute; top:0; right:0; width:42px; height:42px; padding:0;
  display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--wp--preset--color--stone-300); border-radius:6px;
  background:var(--wp--preset--color--white); color:var(--wp--preset--color--contrast);
  cursor:pointer;
}
.am-header-bar .is-menu-open .wp-block-navigation__responsive-container-close:hover{
  background:var(--wp--preset--color--amber-50);
}
/* Contenu : colonne pleine hauteur, le pied pousse en bas.
   Chaine de selecteurs core complete : son padding-top:56px (espace du X natif,
   en double avec notre en-tete Menu/X) provoquait un debordement vertical et
   un ascenseur de 15px qui retrecissait toute la colonne. */
.am-header-bar .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
  flex:1; display:flex; margin-top:16px; overflow-y:auto; padding:0; gap:0;
  /* min-height:0 : sans lui, un enfant flex ne retrecit pas sous son contenu
     -> le scroll interne ne s'armait pas et le pied debordait du panneau. */
  min-height:0;
}
.am-header-bar .is-menu-open .wp-block-navigation__container{
  display:flex; flex-direction:column; flex:1; width:100%;
  gap:0; align-items:stretch; margin:0; padding:0;
}
/* Le core aligne l'ul de l'overlay sur la justification de la nav en ligne
   (justifyContent:right -> align-items:flex-end) : les items se retractaient
   a leur largeur de contenu (mesure 189px). Meme chaine de selecteurs que la
   regle core pour que le stretch gagne a la cascade. */
.am-header-bar .is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container{
  align-items:stretch;
  gap:0; /* le gap core (28px x 5) gonflait l'ul de 140px -> scroll interne */
}
/* Entrees : Georgia/display 24px, filet fin entre chaque. */
.am-header-bar .is-menu-open .wp-block-navigation-item:not(.am-nav-extra){
  border-bottom:1px solid var(--wp--preset--color--line); margin:0;
}
/* Chaine complete : le core (4 classes) impose aussi aux li d'entrees la
   justification de la nav (colonne align-items:flex-end) — invisible tant
   que le lien faisait 100 % pile, mais le padding d'air de l'anneau de focus
   l'a revele (lien decale de 16px). */
.am-header-bar .is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item:not(.am-nav-extra){
  align-items:stretch;
}
.am-header-bar .is-menu-open .wp-block-navigation-item:not(.am-nav-extra) a{
  /* padding lateral 8px compense par une marge negative : l'anneau de focus
     (offset -2px, interieur) garde de l'air autour du texte sans deplacer
     le texte de la marge commune des 24px. */
  display:block; width:100%; padding:13px 8px; margin-left:-8px;
  font-family:var(--wp--preset--font-family--display); font-size:24px; font-weight:500;
  color:var(--wp--preset--color--contrast);
  /* !important : neutralise tout soulignement herite (etat courant compris) —
     dans le drawer, aucune entree ne porte de trait, seul le filet du li separe. */
  text-decoration:none !important;
  border-bottom:none; box-shadow:none;
}
.am-header-bar .is-menu-open .wp-block-navigation-item:not(.am-nav-extra) a:hover{
  color:var(--wp--preset--color--amber-700);
}
/* Entree courante : distinction par la COULEUR (ambre), jamais par un trait. */
.am-header-bar .is-menu-open .wp-block-navigation-item.current-menu-item > a,
.am-header-bar .is-menu-open .wp-block-navigation-item:not(.am-nav-extra) a[aria-current]{
  color:var(--wp--preset--color--amber-700);
}
/* Focus : le piege natif focus la 1re entree a l'ouverture ; l'anneau global
   (noir 2px, offset 4px EXTERIEUR) se lisait comme un trait epais colle au
   filet (cause reelle du defaut). On garde un indicateur net (a11y) mais
   ambre et INTERIEUR au bloc, loin du filet. */
.am-header-bar .is-menu-open .wp-block-navigation-item a:focus-visible,
.am-header-bar .is-menu-open .wp-block-navigation-item a:focus{
  outline:2px solid var(--wp--preset--color--amber-700);
  outline-offset:-2px; border-radius:4px;
}
/* Pied du panneau : langues inertes + CTA pleine largeur.
   align-items:stretch : sans lui, la variable de justification core
   (flex-end) pousse langues et CTA a droite. Les langues restent alignees
   a gauche sur la marge commune (maquette). */
.am-header-bar .is-menu-open .am-nav-extra{
  margin-top:auto; display:flex; flex-direction:column; align-items:stretch;
  gap:16px; padding-top:20px; list-style:none;
}
.am-header-bar .is-menu-open .am-nav-extra .am-lang{ justify-content:flex-start; }
/* Chaine complete : la regle core content+item (4 classes) reimpose la
   justification flex-end et repoussait les langues a droite. */
.am-header-bar .is-menu-open .wp-block-navigation__responsive-container-content .am-nav-extra{
  align-items:stretch;
}
.am-header-bar .is-menu-open .am-nav-extra__cta{
  display:inline-flex; align-items:center; justify-content:center; width:100%;
  box-sizing:border-box; text-align:center;
}

/* =========================================================
   ACCUEIL — Section 1 : Hero
   Contenu (couleurs/typos/espacements) : tokens theme.json (dans le pattern).
   Ce bloc CSS = habillage decoratif only (monogramme, lien fleche).
   ========================================================= */
.am-home-hero{ position:relative; overflow:hidden; }

/* Le contenu passe au-dessus du monogramme. */
.am-home-hero > *{ position:relative; z-index:1; }

/* Bande de contenu = reference de positionnement du monogramme (position relative
   au conteneur centre, pas au plein cadre). */
.am-hero-content{ position:relative; }
.am-hero-content > *{ position:relative; z-index:1; }

/* Monogramme AS : deborde de la bande vers le bord droit, de facon ADAPTATIVE.
   Ancrage sur la bande (max 1200px, root-padding 24px) -> ecart bande/bord d'ecran
   G = 24px sur la plage serree (<=1248px), puis G = 50vw - 600px au-dela.
   On vise ~8px de marge de boite SVG au bord : right = -(G - 8) = calc(608px - 50vw),
   borne par clamp() :
     - <=~1250px : -16px (plage serree, marge sure) ;
     - ~1280-1496px : hug ~8px du bord (le debordement grandit avec l'ecran) ;
     - ultra-large : plafond -140px (le monogramme ne colle pas au bord).
   Le trace du dessin etant a ~28px de l'arete du SVG, le S n'est jamais rogne.
   Sous 1180px : retour dans le flux (media plus bas), right ignore (position:static). */
.am-home-hero__mark{
  position:absolute; right:clamp(-140px, calc(608px - 50vw), -16px); top:50%;
  transform:translateY(-50%); z-index:0; width:330px; height:auto; pointer-events:none;
}

/* Largeur de lecture des blocs texte du hero (laisse la place au monogramme a droite).
   16ch (unite relative a la taille de police) : fait tenir « Transformer le temps »
   sur la 1re ligne et rejette « en valeur. » a la ligne, a toute taille (jusqu'a 74px). */
.am-hero-content .am-home-h1{ max-width:16ch; }
.am-hero-content .am-hero-intro{ max-width:56ch; }

/* CTA secondaire : lien fleche ambre (lisible sur fond sombre). */
.am-hero-link{
  display:inline-flex; align-items:center; gap:8px;
  color:var(--wp--preset--color--accent-hover); font-weight:700; text-decoration:none;
}
.am-hero-link:hover{ text-decoration:underline; }
.am-hero-link svg{ flex:none; }

/* Sous 1180px : le monogramme repasse dans le flux, au-dessus du titre, reduit. */
@media (max-width:1180px){
  .am-home-hero__mark{ position:static; transform:none; width:120px; max-width:none; margin:0 0 26px; }
}
@media (max-width:560px){
  .am-home-hero__mark{ width:102px; margin-bottom:22px; }
}

/* =========================================================
   ACCUEIL — commun aux sections
   ========================================================= */
/* En-tete de section : largeur de lecture limitee, cale a gauche. */
.am-section-head{ max-width:720px; }

/* Filet "strata" : ambre (60%) puis pierre claire, en pilule. */
.am-strata{
  height:3px; width:48px; border-radius:999px;
  background:linear-gradient(90deg,
    var(--wp--preset--color--accent) 0 60%,
    var(--wp--preset--color--stone-300) 60% 100%);
}

/* =========================================================
   ACCUEIL — Section 2 : Valeurs
   ========================================================= */
/* Pastille d'icone : carre sombre a coins adoucis, icone ambre centree. */
.am-value-icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:52px; height:52px; border-radius:14px;
  background:var(--wp--preset--color--contrast);
}
.am-value-icon svg{ display:block; }

/* =========================================================
   ACCUEIL — Section 3 : Strategies
   ========================================================= */
/* Grille 2x2 : gap uniforme, 1 colonne en mobile. Cartes de meme hauteur. */
.am-strat-grid.is-layout-grid{ gap:20px; }
.am-strat-card{ height:100%; }
@media (max-width:600px){
  .am-strat-grid.is-layout-grid{ grid-template-columns:1fr !important; }
}

/* Ligne haute de carte : pastille + badge. */
.am-strat-top{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.am-strat-icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:46px; height:46px; border-radius:12px;
  background:var(--wp--preset--color--amber-50);
}
.am-strat-icon svg{ display:block; }

/* Badge (categorie). Variante brand pour fond sombre. */
.am-badge{
  display:inline-flex; align-items:center; white-space:nowrap;
  font-family:Tahoma,Verdana,Geneva,system-ui,sans-serif; font-size:12px; letter-spacing:.02em;
  color:var(--wp--preset--color--mist);
  background:var(--wp--preset--color--cream);
  border:1px solid var(--wp--preset--color--line); border-radius:999px; padding:3px 10px;
}
.am-badge--brand{ color:#fff; background:var(--wp--preset--color--accent); border-color:transparent; }

/* Pied de carte : metriques (chiffres Tahoma tabulaires) + lien. */
/* Cartes compactes (home) sans rang de métriques : le lien seul en pied,
   léger retrait supplémentaire pour garder la carte équilibrée. */
.am-strat-card > .am-strat-link{ margin-top:calc(1rem + 4px); }
.am-strat-link{
  display:inline-flex; align-items:center; gap:6px; white-space:nowrap;
  font-size:14px; font-weight:700; text-decoration:none;
  color:var(--wp--preset--color--amber-700);
}
.am-strat-link:hover{ text-decoration:underline; }
.am-strat-link svg{ flex:none; }

/* Banniere ONE CREATION (carte sombre, halo ambre). */
.am-oc-card{ position:relative; overflow:hidden; }
.am-oc-card::after{
  content:""; position:absolute; right:-60px; bottom:-100px; width:300px; height:300px;
  border-radius:50%; pointer-events:none; z-index:0;
  background:radial-gradient(circle, rgba(190,130,31,0.22), transparent 68%);
}
.am-oc-card > *{ position:relative; z-index:1; }
.am-oc-left{ min-width:0; flex:1 1 300px; }
.am-oc-icon{
  display:inline-flex; align-items:center; justify-content:center; flex:none;
  width:50px; height:50px; border-radius:13px; background:rgba(190,130,31,0.16);
}
.am-oc-icon svg{ display:block; }
/* Sigle OC (image SVG blanche) cale dans la pastille. */
.am-oc-mark{ display:block; width:27px; height:auto; }
.am-oc-titlerow{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.am-oc-title{
  font-family:var(--wp--preset--font-family--display); font-size:1.375rem; font-weight:600;
  line-height:1.1; color:#fff; margin:0;
}
.am-btn-outline-light{
  display:inline-flex; align-items:center; gap:8px; flex:none;
  padding:10px 18px; border:1px solid rgba(255,255,255,0.28); border-radius:6px;
  color:#fff; text-decoration:none;
  font-family:var(--wp--preset--font-family--labels); font-weight:700; font-size:15px;
}
.am-btn-outline-light:hover{ background:rgba(255,255,255,0.08); }
.am-btn-outline-light svg{ flex:none; }
/* Bandeaux ONE CREATION (Accueil + Strategies) : le bouton reste a droite une fois
   passe a la ligne — space-between aligne un element seul en flex-start. */
.am-oc-card > .am-btn-outline-light{ margin-left:auto; }

/* Grille 4 colonnes commune (repères, engagements) : 4 -> 2 -> 1. */
.am-g4.is-layout-grid{ gap:24px; }
@media (max-width:900px){ .am-g4.is-layout-grid{ grid-template-columns:repeat(2,1fr) !important; } }
@media (max-width:560px){ .am-g4.is-layout-grid{ grid-template-columns:1fr !important; } }

/* Grille 3 colonnes (reperes, depuis le retrait du repere classification) : 3 -> 1.
   Pas de palier a 2 colonnes : 3 blocs y laisseraient un orphelin isole. */
.am-g3.is-layout-grid{ gap:24px; }
@media (max-width:560px){ .am-g3.is-layout-grid{ grid-template-columns:1fr !important; } }

/* =========================================================
   ACCUEIL — Section 4 : Repères chiffrés
   ========================================================= */
.am-home-band{
  border-top:1px solid var(--wp--preset--color--line);
  border-bottom:1px solid var(--wp--preset--color--line);
}
/* Chaque repère : filet ambre a gauche. */
.am-marker{ border-left:2px solid var(--wp--preset--color--accent); padding-left:18px; }
/* Chiffre : Tahoma tabulaire (.as-figure), grand, serre. */
.am-marker__val{
  font-size:clamp(2rem, 1.6rem + 1.1vw, 2.375rem); font-weight:500; line-height:1;
  font-variant-numeric:tabular-nums;
}
.am-marker__lab{ font-size:11px; }

/* =========================================================
   ACCUEIL — Section 5 : Engagements
   ========================================================= */
.am-label-card{
  height:100%; box-sizing:border-box;
  background:var(--wp--preset--color--white);
  border:1px solid var(--wp--preset--color--line); border-radius:10px;
  padding:24px 26px;
}
/* Zone de marque calee en haut, hauteur fixe pour aligner les descriptions. */
.am-label-mark{ height:124px; display:flex; align-items:flex-start; }
.am-label-name{
  font-family:var(--wp--preset--font-family--display); font-size:1.75rem; font-weight:600;
  line-height:1.1; letter-spacing:-0.01em; color:var(--wp--preset--color--contrast);
}
.am-label-desc{
  margin:14px 0 0; font-size:14px; line-height:1.6;
  color:var(--wp--preset--color--mist);
}

/* =========================================================
   ACCUEIL — Section 6 : Contact
   ========================================================= */
.am-contact-card{ position:relative; overflow:hidden; }
.am-contact-card::after{
  content:""; position:absolute; right:-80px; bottom:-130px; width:380px; height:380px;
  border-radius:50%; pointer-events:none; z-index:0;
  background:radial-gradient(circle, rgba(190,130,31,0.24), transparent 68%);
}
.am-contact-card > *{ position:relative; z-index:1; }

/* Grille 2 colonnes (accroche large / interlocuteurs) -> 1 colonne en mobile. */
.am-contact-grid{ display:grid; grid-template-columns:1.4fr 1fr; }
@media (max-width:782px){ .am-contact-grid{ grid-template-columns:1fr; } }

.am-contact-left{ padding:48px; }
.am-contact-tel{
  display:inline-flex; align-items:center; gap:8px;
  color:var(--wp--preset--color--accent-hover); font-weight:700; font-size:15px;
  text-decoration:none; font-variant-numeric:tabular-nums;
}
a.am-contact-tel:hover{ text-decoration:underline; }
.am-contact-tel svg{ flex:none; }

.am-contact-right{
  padding:40px 44px; display:flex; flex-direction:column; gap:14px; justify-content:center;
  border-left:1px solid var(--wp--preset--color--stone-800); background:rgba(0,0,0,0.12);
}
@media (max-width:782px){
  .am-contact-right{ border-left:none; border-top:1px solid var(--wp--preset--color--stone-800); }
}
.am-contact-side__label{
  font-family:var(--wp--preset--font-family--labels); font-size:11px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--wp--preset--color--stone-400); margin-bottom:4px;
}
.am-contact-person{ display:flex; align-items:center; gap:13px; }
.am-avatar{
  width:40px; height:40px; border-radius:50%; flex:none;
  display:inline-flex; align-items:center; justify-content:center;
  background:rgba(190,130,31,0.16); color:var(--wp--preset--color--amber-400);
  font-family:var(--wp--preset--font-family--labels); font-weight:700; font-size:13px; letter-spacing:.04em;
}
/* Mini-portrait rond (interlocuteurs compacts) : meme emprise que la pastille. */
.am-avatar--photo{ object-fit:cover; object-position:center 25%; background:none; }
.am-contact-person__name{ font-family:var(--wp--preset--font-family--display); font-size:14.5px; font-weight:600; color:#fff; }
.am-contact-person__role{ font-size:12.5px; color:var(--wp--preset--color--stone-400); }
.am-contact-addr{
  display:flex; align-items:center; gap:8px; margin-top:6px;
  font-size:13px; color:var(--wp--preset--color--stone-400);
}
.am-contact-addr svg{ flex:none; }

/* =========================================================
   APPROCHE — Section 1 : Hero de page interne (sans monogramme)
   ========================================================= */
.am-page-hero__title{ max-width:18ch; }
.am-page-hero__intro{ max-width:58ch; }

/* Split commun (contenu large + aside), 1 colonne <=900px. */
.am-maison-split{ display:grid; grid-template-columns:1.5fr 1fr; gap:44px; align-items:start; }
@media (max-width:900px){ .am-maison-split{ grid-template-columns:1fr; gap:32px; } }

/* =========================================================
   APPROCHE — Section 2 : Notre ancrage (carte de repères 2x2)
   ========================================================= */
.am-facts{
  display:grid; grid-template-columns:1fr 1fr; overflow:hidden;
  background:var(--wp--preset--color--white);
  border:1px solid var(--wp--preset--color--line); border-radius:10px;
}
.am-fact{ padding:22px 24px; }
.am-fact:nth-child(1), .am-fact:nth-child(2){ border-bottom:1px solid var(--wp--preset--color--line); }
.am-fact:nth-child(odd){ border-right:1px solid var(--wp--preset--color--line); }
.am-fact__k{
  font-family:var(--wp--preset--font-family--labels); font-size:10.5px; letter-spacing:.06em;
  text-transform:uppercase; color:var(--wp--preset--color--mist);
}
.am-fact__v{
  font-size:20px; font-weight:600; margin-top:6px;
  color:var(--wp--preset--color--contrast); font-variant-numeric:tabular-nums;
}
.am-fact__v--todo{ font-size:13px; font-weight:400; color:var(--wp--preset--color--mist); margin-top:8px; }

/* =========================================================
   APPROCHE — Section 3 : Nos valeurs (grille 3 cartes)
   ========================================================= */
.am-grid-3.is-layout-grid{ gap:26px; }
.am-value-card{ height:100%; }
@media (max-width:900px){ .am-grid-3.is-layout-grid{ grid-template-columns:1fr !important; } }

/* =========================================================
   APPROCHE — Section 4 : Etapes numerotees (.am-steps, reutilisable)
   ========================================================= */
.am-steps{ display:grid; grid-template-columns:1fr 1fr; gap:20px 40px; }
@media (max-width:900px){ .am-steps{ grid-template-columns:1fr; } }
.am-step{ display:flex; gap:18px; padding:24px 4px; border-top:1px solid var(--wp--preset--color--line); }
.am-step__n{
  flex:none; width:40px; font-size:22px; font-weight:700; line-height:1.1;
  color:var(--wp--preset--color--accent-deep); font-variant-numeric:tabular-nums;
}
.am-step__body{ min-width:0; }
.am-step__title{
  font-family:var(--wp--preset--font-family--display); font-size:1.3125rem; font-weight:600;
  line-height:1.2; margin:0 0 7px; color:var(--wp--preset--color--contrast);
}
.am-step__desc{
  font-size:15px; line-height:1.65; margin:0; max-width:46ch;
  color:var(--wp--preset--color--mist);
}

/* =========================================================
   APPROCHE — Section 6 : Équipe (carte split, interlocuteurs)
   ========================================================= */
.am-equipe-card{ overflow:hidden; }
.am-equipe-split{ align-items:center; }
.am-equipe-left{ padding:44px; }
.am-equipe-side{
  padding:44px; display:flex; flex-direction:column; gap:16px;
  border-left:1px solid var(--wp--preset--color--line);
}
@media (max-width:900px){
  .am-equipe-side{ border-left:none; border-top:1px solid var(--wp--preset--color--line); }
}
.am-side-label{
  font-family:var(--wp--preset--font-family--labels); font-size:11px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--wp--preset--color--mist);
}
.am-equipe-person{ display:flex; align-items:center; gap:13px; }
.am-equipe-person__name{ font-family:var(--wp--preset--font-family--display); font-size:14.5px; font-weight:600; color:var(--wp--preset--color--contrast); }
.am-equipe-person__role{ font-size:12.5px; color:var(--wp--preset--color--mist); }
/* Avatar en contexte clair : chiffre/initiales ambre profond sur voile ambre. */
.am-equipe-side .am-avatar{ background:rgba(190,130,31,0.14); color:var(--wp--preset--color--amber-700); }

/* =========================================================
   APPROCHE — Section 7 : CTA de fin (carte sombre)
   ========================================================= */
.am-cta-inner{ max-width:640px; }

/* =========================================================
   STRATEGIES — Section 2 : cartes riches (variante de .am-strat-card,
   base partagee : .am-badge, .am-strat-link ; la home garde la compacte)
   ========================================================= */
.am-strat-grid--rich{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
@media (max-width:782px){ .am-strat-grid--rich{ grid-template-columns:1fr; } }
.am-strat-card--rich{
  display:flex; flex-direction:column; overflow:hidden; padding:0;
  background:var(--wp--preset--color--white);
  border:1px solid var(--wp--preset--color--line); border-radius:10px;
}
/* Padding bas explicite : il etait a 0 parce que le rang de metriques, retire le
   23.09.2026, apportait sa propre marge haute. Sans lui, le pitch venait toucher
   le filet du pied. */
.am-strat-rich__top{ padding:26px 28px 24px; }
.am-strat-rich__name{
  font-family:var(--wp--preset--font-family--display);
  font-size:var(--wp--preset--font-size--card-title); font-weight:600;
  margin:20px 0 8px; color:var(--wp--preset--color--contrast);
}
.am-strat-rich__pitch{
  font-size:15px; line-height:1.6; margin:0; min-height:48px;
  color:var(--wp--preset--color--mist);
}
.am-strat-rich__foot{
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px;
  padding:16px 28px; margin-top:auto;
  border-top:1px solid var(--wp--preset--color--line);
  background:var(--wp--preset--color--base);
}
/* Lien toujours cale a droite : (a) pied replie sur mobile, il passe sous le badge ;
   (b) fonds sans classification, il est seul et space-between l'alignerait a gauche. */
.am-strat-rich__foot .am-strat-link{ margin-left:auto; }
/* Tres petits ecrans : le badge, en white-space:nowrap, depasse encore seul la rangee. */
@media (max-width:480px){
  .am-strat-rich__foot .am-badge{ white-space:normal; }
}

/* =========================================================
   STRATEGIES — Section 4 : Comment choisir
   ========================================================= */
.am-choisir-grid{ display:grid; grid-template-columns:1fr 1fr; gap:0 40px; margin-top:var(--wp--preset--spacing--50); }
@media (max-width:900px){ .am-choisir-grid{ grid-template-columns:1fr; } }
.am-choisir-row{
  display:flex; align-items:center; gap:16px; padding:20px 4px;
  border-top:1px solid var(--wp--preset--color--line);
}
.am-choisir-icon{
  display:inline-flex; align-items:center; justify-content:center; flex:none;
  width:42px; height:42px; border-radius:11px; background:var(--wp--preset--color--amber-50);
}
.am-choisir-icon svg{ display:block; }
.am-choisir-body{ flex:1; min-width:0; }
.am-choisir-obj{ font-size:15px; line-height:1.4; color:var(--wp--preset--color--stone-800); }
.am-choisir-to{
  display:inline-flex; align-items:center; gap:6px; margin-top:4px;
  font-size:14px; font-weight:600; color:var(--wp--preset--color--contrast);
}
.am-choisir-note{
  margin:22px 0 0; font-size:12px; line-height:1.55; max-width:70ch;
  color:var(--wp--preset--color--mist);
}

/* =========================================================
   STRATEGIES — Section 5 : Acces documentaire
   ========================================================= */
.am-doc-row{
  display:flex; align-items:center; justify-content:space-between; gap:28px;
  padding:36px 40px; flex-wrap:wrap;
}
.am-doc-row__text{ max-width:52ch; }
.am-doc-eyebrow{
  font-family:var(--wp--preset--font-family--labels); font-size:0.875rem;
  letter-spacing:0.18em; text-transform:uppercase; margin:0;
  color:var(--wp--preset--color--amber-700);
}
.am-doc-title{
  font-family:var(--wp--preset--font-family--display); font-size:1.875rem; font-weight:600;
  letter-spacing:-0.01em; margin:10px 0 12px; color:var(--wp--preset--color--contrast);
}
.am-doc-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.am-doc-chip{
  display:inline-flex; align-items:center; gap:7px;
  font-size:13px; color:var(--wp--preset--color--stone-800);
  background:var(--wp--preset--color--white);
  border:1px solid var(--wp--preset--color--line); border-radius:999px; padding:6px 12px;
}
.am-doc-chip svg{ flex:none; }
/* Bouton sombre (variant dark de la maquette). */
.am-btn-dark{
  display:inline-flex; align-items:center; gap:8px; flex:none;
  padding:12px 22px; border-radius:6px; text-decoration:none;
  background:var(--wp--preset--color--contrast); color:#fff;
  font-family:var(--wp--preset--font-family--labels); font-weight:700; font-size:15px;
}
.am-btn-dark:hover{ background:var(--wp--preset--color--ink-strong); color:#fff; }
.am-btn-dark svg{ flex:none; }

/* =========================================================
   EQUIPE — Section 2 : grille des membres (avatars-initiales, sans photos)
   ========================================================= */
.am-team-head{ display:flex; align-items:baseline; gap:14px; }
.am-team-head .am-strata{ flex:1; max-width:120px; }
.am-team-head__title{
  font-family:var(--wp--preset--font-family--display); font-size:1.5rem; font-weight:600;
  margin:0; color:var(--wp--preset--color--contrast);
}
/* Intertitre de pole : eyebrow Tahoma + filet (am-section-head compact). */
.am-team-pole{ display:flex; align-items:center; gap:14px; }
.am-team-pole__label{
  margin:0; font-family:var(--wp--preset--font-family--labels); font-size:0.875rem;
  letter-spacing:0.18em; text-transform:uppercase; color:var(--wp--preset--color--amber-700);
  white-space:nowrap;
}
.am-team-pole .am-strata{ flex:1; max-width:120px; }
/* Carte membre : portrait ENTIER au ratio naturel 4:5 (aucun rognage),
   affiche a ~50 % de la largeur de la carte, centre horizontalement,
   nom + fonction dessous. Le pole est porte par l'intertitre (pas de badge). */
.am-team-card{
  background:var(--wp--preset--color--white);
  border:1px solid var(--wp--preset--color--line); border-radius:10px;
  padding:16px; /* compact et uniforme : l'espace au-dessus du portrait = les cotes */
}
.am-team-card__photo{
  display:block; width:70%; margin:0 auto; border-radius:8px;
  height:auto; /* ratio naturel de l'image (4:5), aucun object-fit : pas de rognage */
}
/* Repli photo manquante : pastille-initiales sur voile ambre, meme emprise (70 %, 4:5). */
.am-team-card__nophoto{
  width:70%; margin:0 auto; aspect-ratio:4 / 5; border-radius:8px;
  display:flex; align-items:center; justify-content:center;
  background:var(--wp--preset--color--amber-50);
  border:1px solid var(--wp--preset--color--line);
}
.am-team-card__nophoto .am-avatar{
  width:48px; height:48px; font-size:14px;
  background:rgba(190,130,31,0.14); color:var(--wp--preset--color--amber-700);
}
.am-team-card__body{ padding:16px 0 0; text-align:center; } /* carte symetrique : texte centre sous le portrait centre */
.am-team-card__id{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:16px; }
.am-team-card__name{
  font-family:var(--wp--preset--font-family--display); font-size:17px; font-weight:600;
  color:var(--wp--preset--color--contrast);
}
.am-team-card__role{ font-size:13.5px; color:var(--wp--preset--color--mist); margin-top:5px; }
.am-team-mail{
  display:inline-flex; align-items:center; justify-content:center;
  width:36px; height:36px; margin-top:16px;
  border:1px solid var(--wp--preset--color--line); border-radius:6px;
  color:var(--wp--preset--color--contrast);
}
/* Hover réservé aux vrais liens (le pictogramme est un span inerte tant que
   l'adresse n'est pas confirmée). */
a.am-team-mail:hover{ background:var(--wp--preset--color--cream); }

/* =========================================================
   EQUIPE — Section 3 : bureau & coordonnées (grille 2 -> 1)
   ========================================================= */
.am-grid-2.is-layout-grid{ gap:22px; }
@media (max-width:782px){ .am-grid-2.is-layout-grid{ grid-template-columns:1fr !important; } }
.am-office-card{
  background:var(--wp--preset--color--white);
  border:1px solid var(--wp--preset--color--line); border-radius:10px;
  padding:24px 26px;
}
.am-office-head{ display:flex; align-items:center; gap:10px; }
.am-office-head svg{ flex:none; }
.am-office-head h3{
  font-family:var(--wp--preset--font-family--display); font-size:1.25rem; font-weight:600;
  margin:0; color:var(--wp--preset--color--contrast);
}
.am-office-lines{ font-style:normal; font-size:14px; line-height:1.7; color:var(--wp--preset--color--mist); margin-top:12px; }
.am-office-links{ display:flex; flex-direction:column; gap:12px; margin-top:14px; }
.am-office-form{
  display:inline-flex; align-items:center; gap:9px;
  font-size:14px; font-weight:600; color:var(--wp--preset--color--accent-deep); text-decoration:none;
}
a.am-office-form:hover{ text-decoration:underline; }
.am-office-tel{
  display:inline-flex; align-items:center; gap:9px;
  font-size:14px; color:var(--wp--preset--color--contrast); text-decoration:none;
  font-family:var(--wp--preset--font-family--labels); font-variant-numeric:tabular-nums;
}
a.am-office-tel:hover{ text-decoration:underline; }

/* =========================================================
   ONE CREATION — Section 1 : hero, symbole en colonne droite
   (statique : l'animation JS de la maquette n'est pas portée)
   ========================================================= */
.am-oc-hero__inner{ position:relative; }
.am-oc-hero__mark{
  position:absolute; right:0; top:50%; transform:translateY(-50%);
  width:220px; height:auto; pointer-events:none;
}
@media (max-width:1180px){
  .am-oc-hero__mark{ position:static; transform:none; width:112px; display:block; margin:0 0 26px; }
}
@media (max-width:560px){ .am-oc-hero__mark{ width:104px; margin-bottom:20px; } }
.am-oc-hero__actions{ display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:30px; }
.am-oc-hero__actions .wp-element-button svg{ vertical-align:-2px; margin-left:4px; }

/* =========================================================
   ONE CREATION — Section 2 : bande compacte de reperes (lignes, pas de cartes)
   ========================================================= */
.am-oc-bref__intro{ max-width:64ch; line-height:1.7; }
.am-oc-reperes{
  border:1px solid var(--wp--preset--color--line); border-radius:10px; overflow:hidden;
  background:var(--wp--preset--color--white); margin-top:34px;
}
.am-oc-repere{ display:flex; align-items:center; gap:16px; padding:17px 20px; }
.am-oc-repere + .am-oc-repere{ border-top:1px solid var(--wp--preset--color--line); }
.am-oc-repere__ic{
  width:40px; height:40px; border-radius:11px; flex:none;
  background:var(--wp--preset--color--amber-50);
  display:inline-flex; align-items:center; justify-content:center;
}
.am-oc-repere__text{ min-width:0; display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
.am-oc-repere__label{ font-size:15.5px; font-weight:700; color:var(--wp--preset--color--contrast); white-space:nowrap; }
.am-oc-repere__desc{ font-size:14.5px; line-height:1.5; color:var(--wp--preset--color--mist); min-width:0; }

/* =========================================================
   ONE CREATION — Section 3 : passerelle vers le site officiel
   ========================================================= */
.am-oc-gateway{ display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap; }
.am-oc-gateway__text{ min-width:0; flex:1 1 380px; max-width:62ch; }
.am-oc-gateway__eyebrow{
  font-family:var(--wp--preset--font-family--labels); font-size:0.875rem;
  letter-spacing:0.18em; text-transform:uppercase; margin:0 0 12px;
  color:var(--wp--preset--color--amber-700);
}
.am-oc-gateway__title{
  font-family:var(--wp--preset--font-family--display); font-size:2rem; font-weight:600;
  letter-spacing:-0.01em; margin:16px 0 0; color:var(--wp--preset--color--contrast);
}
.am-oc-gateway__desc{ font-size:16px; line-height:1.65; color:var(--wp--preset--color--mist); margin:12px 0 0; }
.am-oc-actions{ display:flex; flex-direction:column; gap:12px; flex:none; }
.am-oc-actions .wp-element-button svg{ vertical-align:-2px; margin-left:4px; }
@media (max-width:560px){
  .am-oc-actions{ width:100%; }
  .am-oc-actions .wp-block-button, .am-oc-actions .wp-block-button__link, .am-oc-actions .am-btn-outline{ width:100%; justify-content:center; }
}
/* Bouton secondaire sur fond clair (pendant de .am-btn-outline-light). */
.am-btn-outline{
  display:inline-flex; align-items:center; gap:8px; flex:none;
  padding:10px 18px; border:1px solid var(--wp--preset--color--line); border-radius:6px;
  color:var(--wp--preset--color--contrast); text-decoration:none;
  background:var(--wp--preset--color--white);
  font-family:var(--wp--preset--font-family--labels); font-weight:700; font-size:15px;
}
.am-btn-outline:hover{ background:var(--wp--preset--color--cream); }
.am-btn-outline svg{ flex:none; }

/* =========================================================
   CENTRE DOCUMENTAIRE — badges de type (complements de .am-badge)
   ========================================================= */
.am-badge--positive{
  color:#2f6b3f; background:#eef5ee; border-color:#cfe3d2;
}
.am-badge--info{
  color:#2f5a78; background:#eef4f8; border-color:#cfe0ea;
}
/* Classe de parts d'un document (fiche + Centre documentaire) : accent ambre,
   pendant sur fond clair du badge de classe de la banniere de fiche. */
.am-badge--classe{
  color:var(--wp--preset--color--amber-700); font-weight:700;
  background:var(--wp--preset--color--amber-50); border-color:#e6d5b0;
}

/* =========================================================
   CENTRE DOCUMENTAIRE — recherche, pastilles, compteur
   (prefixe .am-docc, distinct des .am-doc-* de strategies-docs)
   ========================================================= */
/* Fallback : label masque visuellement mais lu par les lecteurs d'ecran
   (la classe core n'est pas garantie sur le front d'un block theme). */
.am-docc__search .screen-reader-text{
  position:absolute; width:1px; height:1px; overflow:hidden;
  clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap;
}
.am-docc__search{ margin-bottom:20px; }
.am-docc__searchbox{
  display:flex; align-items:center; gap:10px; max-width:460px; height:46px; padding:0 14px;
  background:var(--wp--preset--color--white);
  border:1px solid var(--wp--preset--color--line); border-radius:8px;
}
.am-docc__searchbox:focus-within{ border-color:var(--wp--preset--color--accent-deep); }
.am-docc__searchic{ display:inline-flex; color:var(--wp--preset--color--mist); }
.am-docc__searchbox input{
  flex:1; min-width:0; border:none; outline:none; background:transparent;
  font-size:14.5px; color:var(--wp--preset--color--contrast);
}
.am-docc__clear{
  border:none; background:none; cursor:pointer; padding:4px;
  display:inline-flex; color:var(--wp--preset--color--mist);
}
.am-docc__filtergroup{ margin-bottom:14px; }
.am-docc__filterlabel{
  font-family:var(--wp--preset--font-family--labels); font-size:10.5px; letter-spacing:.08em;
  text-transform:uppercase; color:var(--wp--preset--color--mist); margin-bottom:9px;
}
.am-docc__pills{ display:flex; flex-wrap:wrap; gap:8px; }
.am-pill{
  cursor:pointer; font-size:13px; font-weight:600;
  padding:8px 14px; border-radius:999px;
  border:1px solid var(--wp--preset--color--line);
  background:var(--wp--preset--color--base); color:var(--wp--preset--color--stone-800);
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.am-pill:hover{ border-color:var(--wp--preset--color--stone-400); }
.am-pill[aria-pressed="true"]{
  background:var(--wp--preset--color--contrast); color:#fff;
  border-color:var(--wp--preset--color--contrast);
}
/* Clavier : focus visible sur pastilles, boutons et champ. */
.am-pill:focus-visible, .am-docc__clear:focus-visible, .am-docc__reset:focus-visible{
  outline:2px solid var(--wp--preset--color--accent-deep); outline-offset:2px;
}
.am-docc__bar{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:12px 0 16px; margin-top:6px;
  border-top:1px solid var(--wp--preset--color--line);
}
.am-docc__count{ font-size:13.5px; color:var(--wp--preset--color--mist); }
.am-docc__count-n{
  font-family:var(--wp--preset--font-family--labels); font-weight:700;
  font-variant-numeric:tabular-nums; color:var(--wp--preset--color--contrast);
}
.am-docc__reset{
  border:none; background:none; cursor:pointer;
  font-size:13px; font-weight:600; color:var(--wp--preset--color--accent-deep);
}
.am-docc__reset:hover{ text-decoration:underline; }
.am-docc__list{ display:flex; flex-direction:column; gap:12px; }
.am-docc__empty{
  background:var(--wp--preset--color--white);
  border:1px solid var(--wp--preset--color--line); border-radius:10px;
  padding:40px 24px; text-align:center; color:var(--wp--preset--color--mist);
}
.am-docc__empty p{ margin:12px 0 0; font-size:15px; }
.am-docc__finma{
  display:flex; gap:14px; align-items:flex-start;
  background:var(--wp--preset--color--amber-50);
  border:1px solid var(--wp--preset--color--line); border-radius:10px;
  padding:20px 24px; margin-top:28px;
}
.am-docc__finma-ic{ flex:none; margin-top:2px; display:inline-flex; }
.am-docc__finma p{ margin:0; font-size:13px; line-height:1.65; color:var(--wp--preset--color--mist); }

/* =========================================================
   DOCUMENT ROW — composant partage (centre documentaire, fiches fonds)
   Bouton Telecharger REEL quand le document a un fichier ; une entree sans
   fichier n'est plus rendue du tout (voir amberstone_doc_allowed).
   ========================================================= */
.am-doc-item{
  background:var(--wp--preset--color--white);
  border:1px solid var(--wp--preset--color--line); border-radius:10px;
  padding:18px 20px;
}
.am-doc-item--pinned{ background:var(--wp--preset--color--amber-50); }
.am-doc-item__top{ min-width:0; }
.am-doc-item__pin{ margin-bottom:10px; }
.am-doc-item__title{
  font-family:var(--wp--preset--font-family--display); font-size:18px; font-weight:500;
  line-height:1.28; margin:0 0 10px; color:var(--wp--preset--color--contrast);
}
.am-doc-item__bottom{
  display:flex; justify-content:space-between; align-items:flex-end; gap:16px; margin-top:14px;
}
.am-doc-item__meta{ flex:1; min-width:0; display:flex; flex-direction:column; gap:6px; }
.am-doc-item__strat{ font-size:13.5px; font-weight:600; color:var(--wp--preset--color--stone-800); }
.am-doc-item__date, .am-doc-item__fmt{
  font-family:var(--wp--preset--font-family--labels); font-size:12.5px;
  font-variant-numeric:tabular-nums; color:var(--wp--preset--color--mist);
}
.am-doc-item__todo{
  font-family:var(--wp--preset--font-family--labels); font-size:11.5px; letter-spacing:.02em;
  color:var(--wp--preset--color--amber-700);
}
.am-doc-item__rail{
  flex:none; display:flex; flex-direction:column; align-items:flex-end; gap:14px;
}
.am-doc-item__ic{
  width:46px; height:46px; border-radius:11px;
  background:var(--wp--preset--color--base);
  border:1px solid var(--wp--preset--color--line);
  display:inline-flex; align-items:center; justify-content:center;
}
.am-doc-item--pinned .am-doc-item__ic{ background:var(--wp--preset--color--white); }
/* Bouton inerte : pas de curseur pointeur, opacite reduite. */
.am-doc-item__dl[aria-disabled="true"]{ cursor:default; opacity:.55; }
/* =========================================================
   FICHES FONDS (volet B) — gabarit unique fund-detail
   ========================================================= */
.am-fund-back{
  display:inline-flex; align-items:center; gap:6px; margin-bottom:22px;
  font-size:13px; color:var(--wp--preset--color--stone-400); text-decoration:none;
}
.am-fund-back:hover{ color:#fff; }
.am-fund-hero__row{ display:flex; align-items:center; gap:18px; }
.am-fund-hero__icon{
  width:56px; height:56px; border-radius:14px; flex:none;
  background:rgba(190,130,31,0.16);
  display:inline-flex; align-items:center; justify-content:center;
}
.am-fund-hero__eyebrow{
  font-family:var(--wp--preset--font-family--labels); font-size:12px;
  letter-spacing:.14em; text-transform:uppercase;
  color:var(--wp--preset--color--accent-hover);
}
.am-fund-hero__title{
  font-family:var(--wp--preset--font-family--display);
  font-size:var(--wp--preset--font-size--page-hero); font-weight:500;
  line-height:1.08; letter-spacing:-0.025em; margin:20px 0 0; color:#fff;
}
.am-fund-hero__tagline{
  margin:20px 0 0; font-size:var(--wp--preset--font-size--large);
  line-height:1.6; color:var(--wp--preset--color--stone-300); max-width:60ch;
}
.am-fund-badges{ display:flex; flex-wrap:wrap; gap:9px; margin-top:26px; }
.am-fund-badge{
  font-family:var(--wp--preset--font-family--labels); font-size:11.5px; letter-spacing:.04em;
  color:var(--wp--preset--color--stone-300);
  background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.16);
  border-radius:999px; padding:6px 13px;
}
/* Badge de classe de parts : celle du profil courant (gating). Accent ambre pour
   le detacher des tags thematiques, memes rgba que les cartes ONE CREATION. */
.am-fund-badge--class{
  color:var(--wp--preset--color--amber-400); font-weight:700;
  background:rgba(190,130,31,0.16); border-color:rgba(210,158,59,0.42);
}
.am-fund-metricsband{ border-bottom:1px solid var(--wp--preset--color--line); }
.am-fund-metrics{
  display:grid; grid-template-columns:repeat(4,1fr); gap:28px; padding:32px 0;
}
@media (max-width:900px){ .am-fund-metrics{ grid-template-columns:repeat(2,1fr); gap:22px; } }
@media (max-width:560px){ .am-fund-metrics{ grid-template-columns:1fr; } }
.am-fund-metric{ border-left:2px solid var(--wp--preset--color--accent); padding-left:16px; }
.am-fund-metric__val{
  display:block; font-size:30px; font-weight:600; line-height:1;
  font-variant-numeric:tabular-nums; color:var(--wp--preset--color--contrast);
}
.am-fund-metric__unit{ font-size:16px; color:var(--wp--preset--color--mist); margin-right:4px; }
/* Date de reference des reperes : discrete, sous la bande, alignee a gauche. */
.am-fund-metrics__date{
  margin:0 0 4px; font-family:var(--wp--preset--font-family--labels);
  font-size:11px; letter-spacing:.06em; color:var(--wp--preset--color--mist);
}
.am-fund-metric__lab{
  display:block; font-family:var(--wp--preset--font-family--labels); font-size:10.5px;
  letter-spacing:.06em; text-transform:uppercase; color:var(--wp--preset--color--mist); margin-top:9px;
}
.am-fund-h2{ margin:0; }
.am-fund-eyebrow{
  font-family:var(--wp--preset--font-family--labels); font-size:0.875rem;
  letter-spacing:0.18em; text-transform:uppercase; margin:0 0 12px;
  color:var(--wp--preset--color--amber-700);
}
.am-fund-these .am-section-head h2, .am-fund-docs .am-section-head h2{
  font-family:var(--wp--preset--font-family--display);
  font-size:var(--wp--preset--font-size--section-title); font-weight:600;
  color:var(--wp--preset--color--contrast); margin:16px 0 0;
}
/* Placeholder cadré du graphique : jamais de courbes inventées. */
.am-fund-chart{
  margin-top:26px; min-height:260px;
  display:flex; align-items:center; justify-content:center; text-align:center;
  border:1.5px dashed var(--wp--preset--color--stone-300); border-radius:10px;
  background:var(--wp--preset--color--white);
  font-family:var(--wp--preset--font-family--labels); font-size:13px;
  letter-spacing:.03em; color:var(--wp--preset--color--mist); padding:24px;
}
/* Graphique reellement servi (assets/perf/) : bordure pleine, pas de pointilles
   d'attente, pas de hauteur minimale imposee — le SVG porte son propre ratio. */
.am-fund-chart--rempli{
  min-height:0; padding:18px;
  border:1px solid var(--wp--preset--color--line);
}
.am-fund-chart--rempli img{ display:block; width:100%; height:auto; }
/* Encart bouclier generique (disclaimers, notes reglementaires). */
.am-note-shield{
  display:flex; gap:14px; align-items:flex-start;
  background:var(--wp--preset--color--amber-50);
  border:1px solid var(--wp--preset--color--line); border-radius:10px;
  padding:20px 24px; margin-top:22px;
}
.am-note-shield__ic{ flex:none; margin-top:2px; display:inline-flex; }
.am-note-shield p{ margin:0; font-size:12.5px; line-height:1.65; color:var(--wp--preset--color--mist); }
.am-fund-split{ display:grid; grid-template-columns:1.55fr 1fr; gap:48px; align-items:start; }
@media (max-width:900px){ .am-fund-split{ grid-template-columns:1fr; gap:32px; } }
.am-fund-thesis{ display:flex; flex-direction:column; gap:18px; max-width:62ch; margin-top:26px; }
.am-fund-thesis p{ margin:0; font-size:16.5px; line-height:1.7; color:var(--wp--preset--color--mist); }
.am-fund-thesis p:first-child{ color:var(--wp--preset--color--stone-800); }
.am-fund-chars{
  background:var(--wp--preset--color--white);
  border:1px solid var(--wp--preset--color--line); border-radius:10px; overflow:hidden;
}
.am-fund-chars__head{
  padding:18px 24px; border-bottom:1px solid var(--wp--preset--color--line);
  font-family:var(--wp--preset--font-family--display); font-size:18px; font-weight:600;
  color:var(--wp--preset--color--contrast);
}
.am-fund-chars__list{ margin:0; }
.am-fund-chars__row{
  display:flex; justify-content:space-between; gap:16px; padding:11px 24px;
}
.am-fund-chars__row + .am-fund-chars__row{ border-top:1px solid var(--wp--preset--color--line); }
.am-fund-chars__row dt{ font-size:13.5px; color:var(--wp--preset--color--mist); }
.am-fund-chars__row dd{
  margin:0; font-size:13.5px; font-weight:600; text-align:right;
  color:var(--wp--preset--color--contrast);
}
/* Classes de parts (fiche fonds) : sous-section de l'encart Caractéristiques. */
.am-fund-classes__head{ border-top:1px solid var(--wp--preset--color--line); }
.am-fund-classes{ list-style:none; margin:0; padding:0; }
.am-fund-class{ padding:14px 24px; }
.am-fund-class + .am-fund-class{ border-top:1px solid var(--wp--preset--color--line); }
.am-fund-class__name{ display:block; font-size:13.5px; font-weight:600; color:var(--wp--preset--color--contrast); }
.am-fund-class__aud{ display:block; font-size:12.5px; color:var(--wp--preset--color--mist); margin-top:2px; }
/* Lignes de donnees propres a la classe (ISIN, TER, lancement, Bloomberg) :
   libelle a gauche, valeur en chiffres tabulaires a droite. */
.am-fund-class__line{ display:flex; justify-content:space-between; gap:16px; margin-top:8px; font-size:13.5px; }
.am-fund-class__line + .am-fund-class__line{ margin-top:6px; }
.am-fund-class__line > span:first-child{ color:var(--wp--preset--color--mist); }
.am-fund-class__line .as-figure{ font-weight:600; color:var(--wp--preset--color--contrast); text-align:right; }
.am-fund-docs__list{ display:flex; flex-direction:column; gap:12px; margin-top:26px; }
.am-fund-docs__all{ margin-top:22px; }
.am-fund-cta__grid{ display:grid; grid-template-columns:1.5fr 1fr; }
@media (max-width:900px){ .am-fund-cta__grid{ grid-template-columns:1fr; } }
.am-fund-cta__main{ padding:46px 48px; }
.am-fund-cta__eyebrow{
  font-family:var(--wp--preset--font-family--labels); font-size:0.875rem;
  letter-spacing:0.18em; text-transform:uppercase; margin:0;
  color:var(--wp--preset--color--amber-400);
}
.am-fund-cta__title{
  font-family:var(--wp--preset--font-family--display); font-size:clamp(26px,3vw,34px);
  font-weight:500; color:#fff; line-height:1.14; letter-spacing:-0.02em; margin:14px 0 0;
}
.am-fund-cta__desc{ margin:16px 0 0; font-size:16px; line-height:1.6; color:var(--wp--preset--color--stone-300); max-width:44ch; }
.am-fund-cta__actions{ margin-top:28px; display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
.am-fund-cta__actions .wp-element-button svg{ vertical-align:-2px; margin-left:4px; }
.am-fund-cta__side{
  padding:46px 44px; border-left:1px solid var(--wp--preset--color--stone-800);
  display:flex; flex-direction:column; justify-content:center; gap:14px;
  background:rgba(0,0,0,0.12);
}
@media (max-width:900px){
  .am-fund-cta__side{ border-left:none; border-top:1px solid var(--wp--preset--color--stone-800); }
}
.am-fund-cta__name{ font-family:var(--wp--preset--font-family--display); font-size:15px; font-weight:600; color:#fff; }
.am-fund-cta__role{ font-size:12.5px; color:var(--wp--preset--color--stone-400); }
/* Coordonnees de la fiche : adresse seule. Aucun e-mail public (decision 23.09.2026) :
   les canaux sont le formulaire de contact et le telephone. */
.am-fund-cta__addr{
  display:inline-flex; align-items:center; gap:8px;
  font-size:13px; color:var(--wp--preset--color--stone-400);
}

/* =========================================================
   CONTACT — split formulaire / aside, et bande reassurance
   ========================================================= */
.am-contact-layout{ display:grid; grid-template-columns:1.4fr 1fr; gap:40px; align-items:start; }
@media (max-width:900px){ .am-contact-layout{ grid-template-columns:1fr; gap:28px; } }
.am-form-card{
  background:var(--wp--preset--color--white);
  border:1px solid var(--wp--preset--color--line); border-radius:10px;
  padding:32px;
}
/* =========================================================
   FORMULAIRE DE CONTACT — Fluent Forms (ID 3), habille aux couleurs AMBERSTONE.
   Les regles .am-form-* de la maquette (champs disabled) ont ete remplacees le
   23.09.2026 par ce bloc, qui cible le balisage du plugin. .am-form-card, la
   carte qui entoure le formulaire, est conservee : elle est toujours rendue.
   ========================================================= */
.am-form-card .fluentform{ font-family:inherit; }
/* Libelles : meme graisse et meme couleur que les anciens .am-form-field label. */
.am-form-card .ff-el-input--label label{
  font-size:13px; font-weight:600; color:var(--wp--preset--color--contrast);
  margin-bottom:6px;
}
.am-form-card .ff-el-input--label.ff-el-is-required label:after{
  color:var(--wp--preset--color--accent-deep); margin-left:2px;
}
/* Champs : bordure, rayon et rythme identiques a la maquette. */
.am-form-card .ff-el-form-control{
  font-family:inherit; font-size:14px; color:var(--wp--preset--color--stone-800);
  background:var(--wp--preset--color--white);
  border:1px solid var(--wp--preset--color--stone-300); border-radius:8px;
  padding:10px 12px; width:100%; box-sizing:border-box; outline:none;
}
.am-form-card textarea.ff-el-form-control{ resize:vertical; }
/* Focus ambre, comme partout ailleurs sur le site. */
.am-form-card .ff-el-form-control:focus-visible,
.am-form-card .ff-el-form-control:focus{
  border-color:var(--wp--preset--color--accent-deep);
  box-shadow:0 0 0 3px rgba(190,130,31,0.18);
}
.am-form-card .ff-el-group{ margin-bottom:18px; }
/* Consentement : le meme filet de separation que dans la maquette. */
.am-form-card .ff-el-form-check{
  margin-top:22px; padding-top:20px;
  border-top:1px solid var(--wp--preset--color--line);
}
.am-form-card .ff-el-form-check-label{
  font-size:13.5px; line-height:1.55; color:var(--wp--preset--color--stone-800);
}
.am-form-card .ff-el-form-check-label a{ color:var(--wp--preset--color--accent-deep); font-weight:600; }
/* Aide sous un champ. */
/* Message d'aide sous un champ. Il porte le lien vers la politique de
   confidentialite sous la case de consentement : Fluent Forms recopie le label
   d'une case a cocher tel quel dans son aria-label, ou du balisage serait lu a
   voix haute. Le lien vit donc ici, ou le plugin rend le HTML en clair. */
.am-form-card .ff-el-help-message{ font-size:12px; color:var(--wp--preset--color--mist); margin-top:6px; }
.am-form-card .ff-el-help-message a{ color:var(--wp--preset--color--accent-deep); font-weight:600; }
/* Bouton : bouton primaire du theme. */
.am-form-card .ff-btn-submit{
  font-family:inherit; font-size:15px; font-weight:600;
  background:var(--wp--preset--color--accent-deep); color:#fff;
  border:none; border-radius:6px; padding:12px 26px; cursor:pointer;
}
.am-form-card .ff-btn-submit:hover{ background:var(--wp--preset--color--accent-hover); }
.am-form-card .ff-btn-submit:focus-visible{ box-shadow:0 0 0 3px rgba(190,130,31,0.35); }
/* Erreurs de validation : rouge sobre, aligne sur .is-error d'origine. */
.am-form-card .ff-el-is-error .ff-el-form-control{ border-color:#b3432f; }
.am-form-card .error.text-danger, .am-form-card .ff-el-is-error .error{
  font-size:12.5px; color:#b3432f; margin-top:4px;
}
/* Message de confirmation apres envoi. */
.am-form-card .ff-message-success{
  background:var(--wp--preset--color--amber-50);
  border:1px solid var(--wp--preset--color--line); border-radius:10px;
  padding:18px 20px; font-size:14px; color:var(--wp--preset--color--stone-800);
}
.am-contact-aside{ display:flex; flex-direction:column; gap:24px; }
.am-reassure{
  display:flex; gap:24px; flex-wrap:wrap; align-items:center;
  background:var(--wp--preset--color--amber-50);
  border:1px solid var(--wp--preset--color--line); border-radius:10px;
  padding:20px 24px;
}
.am-reassure__item{ display:flex; align-items:center; gap:12px; }
.am-reassure__item svg{ flex:none; }
.am-reassure__item span{ font-size:13.5px; color:var(--wp--preset--color--stone-800); }
.am-reassure__item a{ color:var(--wp--preset--color--accent-deep); font-weight:600; }
@media (max-width:560px){ .am-reassure{ gap:14px; } }

/* =========================================================
   PAGES LEGALES — corps placeholder avec ancres de sections
   ========================================================= */
.am-legal-sections{ margin-top:40px; display:flex; flex-direction:column; gap:44px; max-width:70ch; }
.am-legal-section__title{
  font-family:var(--wp--preset--font-family--display); font-size:1.5rem; font-weight:600;
  margin:0 0 12px; color:var(--wp--preset--color--contrast);
}
.am-legal-section__todo{
  margin:16px 0 0; font-family:var(--wp--preset--font-family--labels); font-size:13px;
  letter-spacing:.02em; color:var(--wp--preset--color--mist);
}
.am-legal-section__text{ margin:16px 0 0; font-size:15px; line-height:1.75; color:var(--wp--preset--color--stone-800); }
/* Bandeau BROUILLON : bien visible, ambre plein cadre. */
.am-draft-banner{
  background:var(--wp--preset--color--amber-50);
  border:2px solid var(--wp--preset--color--accent); border-radius:10px;
  padding:14px 20px; margin:0 0 8px;
  font-family:var(--wp--preset--font-family--labels); font-size:13px; letter-spacing:.03em;
  color:var(--wp--preset--color--contrast);
}
.am-draft-banner strong{ color:var(--wp--preset--color--amber-700); letter-spacing:.08em; }
/* Encart ▶ (point compliance du document de cadrage). */
.am-legal-flag{ margin-top:16px; }
.am-legal-flag p strong{ color:var(--wp--preset--color--amber-700); }
/* Marqueur inline ambre pour les pages legales (ex. "[... a valider]").
   Sans consommateur depuis le retrait du marqueur de domaine e-mail
   (23.09.2026) ; conserve comme convention pour la passe legale a venir. */
.am-legal-mark{
  font-family:var(--wp--preset--font-family--labels); font-size:11px; letter-spacing:.02em;
  color:var(--wp--preset--color--amber-700); background:rgba(190,130,31,0.12);
  border-radius:4px; padding:2px 6px; white-space:nowrap; vertical-align:1px;
}

/* Variant passerelle (documents ONE CREATION -> onecreation.org) :
   hors filtres et hors compteur, lien externe reel (pas de telechargement local). */
.am-doc-item--gateway{ background:var(--wp--preset--color--amber-50); }
.am-doc-item__bottom--gateway{ align-items:center; }
.am-doc-item--gateway .am-btn-outline{ flex:none; }
@media (max-width:560px){
  .am-doc-item__bottom--gateway{ flex-direction:column; align-items:stretch; }
  .am-doc-item--gateway .am-btn-outline{ justify-content:center; }
}
@media (max-width:560px){
  .am-doc-item__bottom{ flex-direction:column; align-items:stretch; }
  .am-doc-item__rail{ flex-direction:row; align-items:center; justify-content:space-between; }
}

/* =========================================================
   Portail FINMA — interstitiel d'entrée (inc/portail-overlay.php)
   Rendu serveur, sans JS. z-index sous la barre d'admin (99999)
   pour laisser le switcher de préversion accessible.
   ========================================================= */
body.am-portail-open{ overflow:hidden; }
.am-portail{
  position:fixed; inset:0; z-index:99998;
  background:rgba(26,23,18,.82);
  display:grid; place-items:center; padding:24px; overflow-y:auto;
}
.am-portail__card{
  background:var(--wp--preset--color--white);
  border-radius:10px; max-width:640px; width:100%;
  padding:44px 48px; margin:auto;
  box-shadow:0 30px 80px rgba(0,0,0,.35);
}
.am-portail__logo{ height:34px; width:auto; display:block; margin-bottom:26px; }
.am-portail__eyebrow{
  font-family:Tahoma,Verdana,Geneva,system-ui,sans-serif; font-size:11.5px;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--wp--preset--color--amber-700); margin:0 0 6px;
}
.am-portail__title{
  font-family:var(--wp--preset--font-family--display);
  font-size:25px; font-weight:600; line-height:1.25;
  color:var(--wp--preset--color--contrast); margin:0 0 10px;
}
.am-portail__intro{ font-size:14.5px; color:var(--wp--preset--color--mist); margin:0 0 22px; }
.am-portail__error{ font-size:13.5px; color:#b3432f; margin:0 0 14px; }
.am-portail__group{ border:0; padding:0; margin:0 0 18px; }
.am-portail__legend{
  font-family:Tahoma,Verdana,Geneva,system-ui,sans-serif; font-size:11px;
  letter-spacing:.08em; text-transform:uppercase;
  color:var(--wp--preset--color--mist); padding:0; margin-bottom:8px;
}
.am-portail__opts{ display:grid; gap:8px; }
.am-portail__opt{
  display:flex; align-items:center; gap:10px;
  border:1px solid var(--wp--preset--color--line); border-radius:8px;
  padding:11px 14px; cursor:pointer; font-size:14.5px;
  color:var(--wp--preset--color--contrast);
  background:var(--wp--preset--color--white);
}
.am-portail__opt:hover{ border-color:var(--wp--preset--color--amber-400); }
.am-portail__opt:has(input:checked){
  border-color:var(--wp--preset--color--amber-700);
  background:rgba(204,123,29,.07);
}
.am-portail__opt input{ accent-color:var(--wp--preset--color--amber-700); margin:0; }
.am-portail__btn{ margin-top:6px; }
.am-portail__refus{ margin-top:20px; text-align:center; }
.am-portail__refuslink{
  background:none; border:none; padding:0; cursor:pointer;
  font-size:13.5px; color:var(--wp--preset--color--mist); text-decoration:underline;
}
.am-portail__refuslink:hover{ color:var(--wp--preset--color--contrast); }
.am-portail__refusnote{ font-size:12.5px; color:var(--wp--preset--color--mist); margin:4px 0 0; }
.am-portail__recap{ font-size:14.5px; color:var(--wp--preset--color--contrast); margin:0 0 14px; }
.am-portail__recap a{ color:var(--wp--preset--color--amber-700); }
.am-portail__disclaimer{
  border:1px solid var(--wp--preset--color--line);
  border-left:3px solid var(--wp--preset--color--amber-700);
  border-radius:8px; background:var(--wp--preset--color--white);
  padding:16px 18px; margin:0 0 20px;
  font-size:14px; line-height:1.55; color:var(--wp--preset--color--contrast);
  max-height:40vh; overflow-y:auto;
}
.am-portail__disclaimer p{ margin:0; }
.am-portail__disclaimer p + p{ margin-top:10px; }
@media (max-width:560px){
  .am-portail{ padding:12px; }
  .am-portail__card{ padding:28px 22px; }
}

/* Fiche fonds interdite au profil : message d'indisponibilité sobre. */
.am-fund-blocked{ max-width:640px; margin:0 auto; padding:96px 24px 120px; text-align:left; }
.am-fund-blocked__eyebrow{
  font-family:Tahoma,Verdana,Geneva,system-ui,sans-serif; font-size:11.5px;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--wp--preset--color--amber-700); margin:0 0 8px;
}
.am-fund-blocked__title{
  font-family:var(--wp--preset--font-family--display);
  font-size:clamp(1.5rem, 1.2rem + 1vw, 1.9rem); font-weight:600; line-height:1.3;
  color:var(--wp--preset--color--contrast); margin:0 0 12px;
}
.am-fund-blocked__text{ font-size:15px; color:var(--wp--preset--color--mist); margin:0 0 24px; }
.am-fund-blocked__actions{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; margin:0; }
.am-fund-blocked__link{ font-size:14px; color:var(--wp--preset--color--amber-700); }
