/*
Theme Name: Bel'Ange
Theme URI: https://institut-belange.fr
Author: DM-Design
Author URI: https://dm-design.fr
Description: Thème bloc sur mesure de l'institut de beauté Bel'Ange à Sainte-Maure. Tout le contenu des pages est composé de blocs natifs, modifiables dans l'éditeur.
Version: 1.0.2
Requires at least: 6.6
Requires PHP: 8.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: belange
*/

/* =========================================================
   Jetons — relevés sur la référence, accent magenta Bel'Ange
   ========================================================= */
:root {
  --nuit: #1b2234;
  --magenta: #a70e67;
  --fond: #fcefec;
  --fond-clair: #fff8f6;
  --fond-fonce: #f8e4e0;
  --fond-pale: #fdf5f3;
  --texte: #77706f;
  --texte-clair: #a59c9a;
  --trait: #ece3df;
  --ombre: 0 10px 40px rgba(60, 35, 30, .07);
  --titre: 'Marcellus', Georgia, serif;
  --corps: 'Jost', system-ui, sans-serif;
  --barre-admin: var(--wp-admin--admin-bar--height, 0px);
}

/* ---------- base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; background: #fff; color: var(--texte);
  font: 400 15px/1.75 var(--corps);
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}
img { display: block; max-width: 100%; height: auto; }   /* height:auto obligatoire : l'attribut height des blocs image l'emporterait sur aspect-ratio */
body a { color: inherit; text-decoration: none; }
figure { margin: 0; }
h1, h2, h3, h4 { font-family: var(--titre); font-weight: 400; color: var(--nuit); margin: 0; hyphens: none; text-wrap: balance; }
p { margin: 0; text-wrap: pretty; }
ul, ol { margin: 0; }

/* Gutenberg : espacement automatique coupé dans theme.json (blockGap 0) ;
   filet de sécurité à spécificité NULLE, pour ne jamais écraser les marges des composants */
:where(.wp-block-group) > :where(*), :where(.wp-block-buttons) { margin-block: 0; }
figure.wp-block-image { margin: 0; }
.wp-block-image img { height: auto; }

.enveloppe { width: min(1200px, 100% - 48px); margin-inline: auto; position: relative; }

/* ---------- icônes : masques CSS (aucun SVG dans le contenu) ---------- */
.avec-ico::before {
  content: ''; display: inline-block; flex: none; width: 16px; height: 16px;
  background: currentColor;
  -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat;
}

/* ---------- typographie commune ---------- */
.surtitre {
  font: 500 12px/1 var(--corps); letter-spacing: .28em; text-transform: uppercase;
  color: var(--magenta); margin-bottom: 14px;
}
.titre-section { font-size: 44px; line-height: 1.18; }
.titre-section em { font-style: normal; color: var(--magenta); }

/* ---------- boutons (core/button : la classe est sur le conteneur, le style sur le lien) ---------- */
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 16px; }
/* conteneur en flex : en inline-block, sa ligne ajoute ~4 px sous le lien (porte 4) */
.wp-block-button.bouton, .wp-block-button.bouton-blanc { display: flex; margin: 0; }
.wp-block-button.bouton .wp-block-button__link,
.wp-block-button.bouton-blanc .wp-block-button__link {
  display: inline-flex; align-items: center; gap: 10px; border: 0; border-radius: 0;
  font: 600 12px/1 var(--corps); letter-spacing: .14em; text-transform: uppercase;
  white-space: nowrap; word-break: normal; transition: background .25s, color .25s;
}
.wp-block-button.bouton .wp-block-button__link { background: var(--magenta); color: #fff; padding: 18px 32px; }
.wp-block-button.bouton .wp-block-button__link:hover { background: var(--nuit); }
.wp-block-button.bouton-ico .wp-block-button__link::before {
  content: ''; width: 16px; height: 16px; background: currentColor;
  -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat;
}
.wp-block-button.bouton-blanc .wp-block-button__link { background: #fff; color: var(--nuit); padding: 6px 6px 6px 26px; gap: 22px; box-shadow: var(--ombre); }
.wp-block-button.bouton-blanc .wp-block-button__link::after {
  content: ''; width: 42px; height: 42px; flex: none;
  background: var(--magenta) var(--fleche-blanche) center / 16px no-repeat; transition: background-color .25s;
}
.wp-block-button.bouton-blanc .wp-block-button__link:hover::after { background-color: var(--nuit); }
.wp-block-button.bouton-petit .wp-block-button__link { padding: 14px 22px; font-size: 11px; }
.rangee-boutons { display: flex; flex-wrap: wrap; gap: 16px; }
.tel-double {
  display: inline-flex; align-items: center; gap: 12px; padding: 0 22px; border: 1px solid var(--trait); background: #fff;
  font: 600 13px/1 var(--corps); letter-spacing: .06em; color: var(--nuit); white-space: nowrap;
}
.tel-double::before { color: var(--magenta); }
.tel-double a { padding: 17px 0; transition: color .2s; }
.tel-double a + a { border-left: 1px solid var(--trait); padding-left: 12px; }
.tel-double a:hover { color: var(--magenta); }
.lien-fleche { border-top: 1px solid var(--trait); padding-top: 16px; text-align: center; }
.lien-fleche a { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--nuit); transition: color .2s; }
.lien-fleche a::after { content: ''; width: 14px; height: 14px; background: currentColor; -webkit-mask: var(--fleche) center / contain no-repeat; mask: var(--fleche) center / contain no-repeat; }
.lien-fleche a:hover { color: var(--magenta); }

/* ---------- icônes (générées depuis les pictogrammes de la maquette) ---------- */
:root { --fleche: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M5%2012h14M13%206l6%206-6%206%27%2F%3E%3C%2Fsvg%3E"); --fleche-blanche: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23fff%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M5%2012h14M13%206l6%206-6%206%27%2F%3E%3C%2Fsvg%3E"); --chevron: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%209l6%206%206-6%27%2F%3E%3C%2Fsvg%3E"); --coche: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279.5%27%2F%3E%3Cpath%20d%3D%27M7.5%2012.5l3%203%206-6.5%27%2F%3E%3C%2Fsvg%3E"); --guillemet: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27%23000%27%3E%3Cpath%20d%3D%27M8%2034c0-9%204-16%2012-20l2%203c-5%203-7%207-7%2011h6v10H8zm20%200c0-9%204-16%2012-20l2%203c-5%203-7%207-7%2011h6v10H28z%27%2F%3E%3C%2Fsvg%3E"); --tel-blanc: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23fff%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M5%203.5h3.2l1.6%204.3-2.2%201.5a11%2011%200%200%200%207.1%207.1l1.5-2.2%204.3%201.6V19a1.6%201.6%200%200%201-1.7%201.6A16.5%2016.5%200%200%201%203.4%205.2%201.6%201.6%200%200%201%205%203.5z%27%2F%3E%3C%2Fsvg%3E"); --haut-blanc: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23fff%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%2015l6-6%206%206%27%2F%3E%3C%2Fsvg%3E"); }
.i-pin { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%2021s-7-6.2-7-11.5a7%207%200%200%201%2014%200C19%2014.8%2012%2021%2012%2021z%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%279.5%27%20r%3D%272.5%27%2F%3E%3C%2Fsvg%3E"); --ico-blanc: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23fff%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%2021s-7-6.2-7-11.5a7%207%200%200%201%2014%200C19%2014.8%2012%2021%2012%2021z%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%279.5%27%20r%3D%272.5%27%2F%3E%3C%2Fsvg%3E"); }
.i-horloge { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279%27%2F%3E%3Cpath%20d%3D%27M12%207v5l3.5%202%27%2F%3E%3C%2Fsvg%3E"); --ico-blanc: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23fff%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279%27%2F%3E%3Cpath%20d%3D%27M12%207v5l3.5%202%27%2F%3E%3C%2Fsvg%3E"); }
.i-tel { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M5%203.5h3.2l1.6%204.3-2.2%201.5a11%2011%200%200%200%207.1%207.1l1.5-2.2%204.3%201.6V19a1.6%201.6%200%200%201-1.7%201.6A16.5%2016.5%200%200%201%203.4%205.2%201.6%201.6%200%200%201%205%203.5z%27%2F%3E%3C%2Fsvg%3E"); --ico-blanc: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23fff%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M5%203.5h3.2l1.6%204.3-2.2%201.5a11%2011%200%200%200%207.1%207.1l1.5-2.2%204.3%201.6V19a1.6%201.6%200%200%201-1.7%201.6A16.5%2016.5%200%200%201%203.4%205.2%201.6%201.6%200%200%201%205%203.5z%27%2F%3E%3C%2Fsvg%3E"); }
.i-insta { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273.5%27%20y%3D%273.5%27%20width%3D%2717%27%20height%3D%2717%27%20rx%3D%275%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%274%27%2F%3E%3Ccircle%20cx%3D%2717.2%27%20cy%3D%276.8%27%20r%3D%27.6%27%2F%3E%3C%2Fsvg%3E"); --ico-blanc: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23fff%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273.5%27%20y%3D%273.5%27%20width%3D%2717%27%20height%3D%2717%27%20rx%3D%275%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%274%27%2F%3E%3Ccircle%20cx%3D%2717.2%27%20cy%3D%276.8%27%20r%3D%27.6%27%2F%3E%3C%2Fsvg%3E"); }
.i-fb { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M13.5%2021v-7.5h2.6l.4-3h-3V8.6c0-.9.3-1.5%201.5-1.5h1.6V4.4c-.3%200-1.2-.1-2.3-.1-2.3%200-3.8%201.4-3.8%203.9v2.3H8v3h2.5V21%27%2F%3E%3C%2Fsvg%3E"); --ico-blanc: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23fff%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M13.5%2021v-7.5h2.6l.4-3h-3V8.6c0-.9.3-1.5%201.5-1.5h1.6V4.4c-.3%200-1.2-.1-2.3-.1-2.3%200-3.8%201.4-3.8%203.9v2.3H8v3h2.5V21%27%2F%3E%3C%2Fsvg%3E"); }
.i-mail { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273%27%20y%3D%275.5%27%20width%3D%2718%27%20height%3D%2713%27%20rx%3D%271.5%27%2F%3E%3Cpath%20d%3D%27M3.5%206.5l8.5%206.5%208.5-6.5%27%2F%3E%3C%2Fsvg%3E"); --ico-blanc: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23fff%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273%27%20y%3D%275.5%27%20width%3D%2718%27%20height%3D%2713%27%20rx%3D%271.5%27%2F%3E%3Cpath%20d%3D%27M3.5%206.5l8.5%206.5%208.5-6.5%27%2F%3E%3C%2Fsvg%3E"); }
.i-fleche { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M5%2012h14M13%206l6%206-6%206%27%2F%3E%3C%2Fsvg%3E"); --ico-blanc: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23fff%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M5%2012h14M13%206l6%206-6%206%27%2F%3E%3C%2Fsvg%3E"); }
.i-bas { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%209l6%206%206-6%27%2F%3E%3C%2Fsvg%3E"); --ico-blanc: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23fff%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%209l6%206%206-6%27%2F%3E%3C%2Fsvg%3E"); }
.i-haut { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%2015l6-6%206%206%27%2F%3E%3C%2Fsvg%3E"); --ico-blanc: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23fff%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%2015l6-6%206%206%27%2F%3E%3C%2Fsvg%3E"); }
.i-check { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279.5%27%2F%3E%3Cpath%20d%3D%27M7.5%2012.5l3%203%206-6.5%27%2F%3E%3C%2Fsvg%3E"); --ico-blanc: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23fff%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279.5%27%2F%3E%3Cpath%20d%3D%27M7.5%2012.5l3%203%206-6.5%27%2F%3E%3C%2Fsvg%3E"); }
.i-info { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279.5%27%2F%3E%3Cpath%20d%3D%27M12%2011v6M12%207.5v.5%27%2F%3E%3C%2Fsvg%3E"); --ico-blanc: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23fff%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279.5%27%2F%3E%3Cpath%20d%3D%27M12%2011v6M12%207.5v.5%27%2F%3E%3C%2Fsvg%3E"); }
.i-etoile { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27%23000%27%3E%3Cpath%20d%3D%27M12%203.2l2.7%205.6%206.1.8-4.5%204.2%201.1%206-5.4-2.9-5.4%202.9%201.1-6-4.5-4.2%206.1-.8z%27%2F%3E%3C%2Fsvg%3E"); --ico-blanc: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27%23fff%27%3E%3Cpath%20d%3D%27M12%203.2l2.7%205.6%206.1.8-4.5%204.2%201.1%206-5.4-2.9-5.4%202.9%201.1-6-4.5-4.2%206.1-.8z%27%2F%3E%3C%2Fsvg%3E"); }
.i-guillemet { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27%23000%27%3E%3Cpath%20d%3D%27M8%2034c0-9%204-16%2012-20l2%203c-5%203-7%207-7%2011h6v10H8zm20%200c0-9%204-16%2012-20l2%203c-5%203-7%207-7%2011h6v10H28z%27%2F%3E%3C%2Fsvg%3E"); --ico-blanc: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27%23fff%27%3E%3Cpath%20d%3D%27M8%2034c0-9%204-16%2012-20l2%203c-5%203-7%207-7%2011h6v10H8zm20%200c0-9%204-16%2012-20l2%203c-5%203-7%207-7%2011h6v10H28z%27%2F%3E%3C%2Fsvg%3E"); }
.i-regard { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%2027c8-11%2032-11%2040%200-8%2011-32%2011-40%200z%27%2F%3E%3Ccircle%20cx%3D%2724%27%20cy%3D%2727%27%20r%3D%276%27%2F%3E%3Ccircle%20cx%3D%2724%27%20cy%3D%2727%27%20r%3D%271.6%27%2F%3E%3Cpath%20d%3D%27M11%2020.5l-3-4M17.5%2017.5l-1.5-4.5M24%2016.5V12M30.5%2017.5l1.5-4.5M37%2020.5l3-4%27%2F%3E%3C%2Fsvg%3E"); --ico-blanc: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27none%27%20stroke%3D%27%23fff%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%2027c8-11%2032-11%2040%200-8%2011-32%2011-40%200z%27%2F%3E%3Ccircle%20cx%3D%2724%27%20cy%3D%2727%27%20r%3D%276%27%2F%3E%3Ccircle%20cx%3D%2724%27%20cy%3D%2727%27%20r%3D%271.6%27%2F%3E%3Cpath%20d%3D%27M11%2020.5l-3-4M17.5%2017.5l-1.5-4.5M24%2016.5V12M30.5%2017.5l1.5-4.5M37%2020.5l3-4%27%2F%3E%3C%2Fsvg%3E"); }
.i-goutte { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M24%205S10%2021%2010%2030a14%2014%200%200%200%2028%200C38%2021%2024%205%2024%205z%27%2F%3E%3Cpath%20d%3D%27M17%2031a7%207%200%200%200%207%207%27%2F%3E%3C%2Fsvg%3E"); --ico-blanc: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27none%27%20stroke%3D%27%23fff%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M24%205S10%2021%2010%2030a14%2014%200%200%200%2028%200C38%2021%2024%205%2024%205z%27%2F%3E%3Cpath%20d%3D%27M17%2031a7%207%200%200%200%207%207%27%2F%3E%3C%2Fsvg%3E"); }
.i-lotus { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M24%2040c-6-5-8-14%200-26%208%2012%206%2021%200%2026z%27%2F%3E%3Cpath%20d%3D%27M24%2040C14%2040%206%2034%206%2026c6%200%2013%204%2018%2014zM24%2040c10%200%2018-6%2018-14-6%200-13%204-18%2014z%27%2F%3E%3C%2Fsvg%3E"); --ico-blanc: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27none%27%20stroke%3D%27%23fff%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M24%2040c-6-5-8-14%200-26%208%2012%206%2021%200%2026z%27%2F%3E%3Cpath%20d%3D%27M24%2040C14%2040%206%2034%206%2026c6%200%2013%204%2018%2014zM24%2040c10%200%2018-6%2018-14-6%200-13%204-18%2014z%27%2F%3E%3C%2Fsvg%3E"); }
.i-pinceau { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M8%2042l13-13%27%2F%3E%3Cpath%20d%3D%27M18%2026l4%204%27%2F%3E%3Cpath%20d%3D%27M21%2029c2-8%209-17%2019-21%200%209-9%2018-19%2021z%27%2F%3E%3Cpath%20d%3D%27M27%2022l6-6%27%2F%3E%3C%2Fsvg%3E"); --ico-blanc: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27none%27%20stroke%3D%27%23fff%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M8%2042l13-13%27%2F%3E%3Cpath%20d%3D%27M18%2026l4%204%27%2F%3E%3Cpath%20d%3D%27M21%2029c2-8%209-17%2019-21%200%209-9%2018-19%2021z%27%2F%3E%3Cpath%20d%3D%27M27%2022l6-6%27%2F%3E%3C%2Fsvg%3E"); }
.i-pot { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%2017h24v19a7%207%200%200%201-7%207H19a7%207%200%200%201-7-7z%27%2F%3E%3Cpath%20d%3D%27M10%2011h28v6H10z%27%2F%3E%3Cpath%20d%3D%27M18%2024c4%202%208%202%2012%200M24%2024v6%27%2F%3E%3C%2Fsvg%3E"); --ico-blanc: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27none%27%20stroke%3D%27%23fff%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%2017h24v19a7%207%200%200%201-7%207H19a7%207%200%200%201-7-7z%27%2F%3E%3Cpath%20d%3D%27M10%2011h28v6H10z%27%2F%3E%3Cpath%20d%3D%27M18%2024c4%202%208%202%2012%200M24%2024v6%27%2F%3E%3C%2Fsvg%3E"); }
.i-vernis { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M20%205h8v13h-8z%27%2F%3E%3Cpath%20d%3D%27M14%2018h20v20a5%205%200%200%201-5%205H19a5%205%200%200%201-5-5z%27%2F%3E%3Cpath%20d%3D%27M19%2027h10%27%2F%3E%3C%2Fsvg%3E"); --ico-blanc: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27none%27%20stroke%3D%27%23fff%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M20%205h8v13h-8z%27%2F%3E%3Cpath%20d%3D%27M14%2018h20v20a5%205%200%200%201-5%205H19a5%205%200%200%201-5-5z%27%2F%3E%3Cpath%20d%3D%27M19%2027h10%27%2F%3E%3C%2Fsvg%3E"); }
.i-agrume { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2724%27%20cy%3D%2727%27%20r%3D%2715%27%2F%3E%3Ccircle%20cx%3D%2724%27%20cy%3D%2727%27%20r%3D%2710%27%2F%3E%3Cpath%20d%3D%27M24%2017v20M14%2027h20M17%2020l14%2014M31%2020L17%2034%27%2F%3E%3Cpath%20d%3D%27M24%2012c1-5%205-7%209-7-1%204-4%207-9%207z%27%2F%3E%3C%2Fsvg%3E"); --ico-blanc: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27none%27%20stroke%3D%27%23fff%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2724%27%20cy%3D%2727%27%20r%3D%2715%27%2F%3E%3Ccircle%20cx%3D%2724%27%20cy%3D%2727%27%20r%3D%2710%27%2F%3E%3Cpath%20d%3D%27M24%2017v20M14%2027h20M17%2020l14%2014M31%2020L17%2034%27%2F%3E%3Cpath%20d%3D%27M24%2012c1-5%205-7%209-7-1%204-4%207-9%207z%27%2F%3E%3C%2Fsvg%3E"); }
.i-alliances { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2718%27%20cy%3D%2729%27%20r%3D%2711%27%2F%3E%3Ccircle%20cx%3D%2730%27%20cy%3D%2729%27%20r%3D%2711%27%2F%3E%3Cpath%20d%3D%27M26%2014l4-6%204%206-4%204z%27%2F%3E%3C%2Fsvg%3E"); --ico-blanc: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27none%27%20stroke%3D%27%23fff%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2718%27%20cy%3D%2729%27%20r%3D%2711%27%2F%3E%3Ccircle%20cx%3D%2730%27%20cy%3D%2729%27%20r%3D%2711%27%2F%3E%3Cpath%20d%3D%27M26%2014l4-6%204%206-4%204z%27%2F%3E%3C%2Fsvg%3E"); }
.i-parking { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%277%27%20y%3D%277%27%20width%3D%2734%27%20height%3D%2734%27%20rx%3D%273%27%2F%3E%3Cpath%20d%3D%27M19%2035V14h7a6%206%200%200%201%200%2012h-7%27%2F%3E%3C%2Fsvg%3E"); --ico-blanc: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27none%27%20stroke%3D%27%23fff%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%277%27%20y%3D%277%27%20width%3D%2734%27%20height%3D%2734%27%20rx%3D%273%27%2F%3E%3Cpath%20d%3D%27M19%2035V14h7a6%206%200%200%201%200%2012h-7%27%2F%3E%3C%2Fsvg%3E"); }
.i-calendrier { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%277%27%20y%3D%2710%27%20width%3D%2734%27%20height%3D%2731%27%20rx%3D%272%27%2F%3E%3Cpath%20d%3D%27M7%2019h34M16%206v8M32%206v8M15%2027h4M22%2027h4M29%2027h4M15%2033h4M22%2033h4%27%2F%3E%3C%2Fsvg%3E"); --ico-blanc: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27none%27%20stroke%3D%27%23fff%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%277%27%20y%3D%2710%27%20width%3D%2734%27%20height%3D%2731%27%20rx%3D%272%27%2F%3E%3Cpath%20d%3D%27M7%2019h34M16%206v8M32%206v8M15%2027h4M22%2027h4M29%2027h4M15%2033h4M22%2033h4%27%2F%3E%3C%2Fsvg%3E"); }
.i-cadeau { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%277%27%20y%3D%2717%27%20width%3D%2734%27%20height%3D%278%27%2F%3E%3Cpath%20d%3D%27M10%2025v16h28V25M24%2017v24%27%2F%3E%3Cpath%20d%3D%27M24%2017c-4-8-12-8-11-3%201%203%207%203%2011%203zM24%2017c4-8%2012-8%2011-3-1%203-7%203-11%203z%27%2F%3E%3C%2Fsvg%3E"); --ico-blanc: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27none%27%20stroke%3D%27%23fff%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%277%27%20y%3D%2717%27%20width%3D%2734%27%20height%3D%278%27%2F%3E%3Cpath%20d%3D%27M10%2025v16h28V25M24%2017v24%27%2F%3E%3Cpath%20d%3D%27M24%2017c-4-8-12-8-11-3%201%203%207%203%2011%203zM24%2017c4-8%2012-8%2011-3-1%203-7%203-11%203z%27%2F%3E%3C%2Fsvg%3E"); }
.i-carte { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%275%27%20y%3D%2711%27%20width%3D%2738%27%20height%3D%2726%27%20rx%3D%273%27%2F%3E%3Cpath%20d%3D%27M5%2018h38M11%2030h10%27%2F%3E%3Cpath%20d%3D%27M35%2027l1.2%202.4%202.6.4-1.9%201.8.5%202.6-2.4-1.2-2.4%201.2.5-2.6-1.9-1.8%202.6-.4z%27%2F%3E%3C%2Fsvg%3E"); --ico-blanc: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27none%27%20stroke%3D%27%23fff%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%275%27%20y%3D%2711%27%20width%3D%2738%27%20height%3D%2726%27%20rx%3D%273%27%2F%3E%3Cpath%20d%3D%27M5%2018h38M11%2030h10%27%2F%3E%3Cpath%20d%3D%27M35%2027l1.2%202.4%202.6.4-1.9%201.8.5%202.6-2.4-1.2-2.4%201.2.5-2.6-1.9-1.8%202.6-.4z%27%2F%3E%3C%2Fsvg%3E"); }
.i-pourcent { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2716%27%20cy%3D%2716%27%20r%3D%275%27%2F%3E%3Ccircle%20cx%3D%2732%27%20cy%3D%2732%27%20r%3D%275%27%2F%3E%3Cpath%20d%3D%27M36%2010L12%2038%27%2F%3E%3C%2Fsvg%3E"); --ico-blanc: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27none%27%20stroke%3D%27%23fff%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2716%27%20cy%3D%2716%27%20r%3D%275%27%2F%3E%3Ccircle%20cx%3D%2732%27%20cy%3D%2732%27%20r%3D%275%27%2F%3E%3Cpath%20d%3D%27M36%2010L12%2038%27%2F%3E%3C%2Fsvg%3E"); }
.i-coeur { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M24%2041S6%2030%206%2017.5A9.5%209.5%200%200%201%2024%2013a9.5%209.5%200%200%201%2018%204.5C42%2030%2024%2041%2024%2041z%27%2F%3E%3Cpath%20d%3D%27M15%2018a4%204%200%200%201%204-4%27%2F%3E%3C%2Fsvg%3E"); --ico-blanc: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27none%27%20stroke%3D%27%23fff%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M24%2041S6%2030%206%2017.5A9.5%209.5%200%200%201%2024%2013a9.5%209.5%200%200%201%2018%204.5C42%2030%2024%2041%2024%2041z%27%2F%3E%3Cpath%20d%3D%27M15%2018a4%204%200%200%201%204-4%27%2F%3E%3C%2Fsvg%3E"); }
.i-etincelle { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M22%206l3.2%2010.8L36%2020l-10.8%203.2L22%2034l-3.2-10.8L8%2020l10.8-3.2z%27%2F%3E%3Cpath%20d%3D%27M37%2030l1.5%204.5L43%2036l-4.5%201.5L37%2042l-1.5-4.5L31%2036l4.5-1.5z%27%2F%3E%3C%2Fsvg%3E"); --ico-blanc: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27none%27%20stroke%3D%27%23fff%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M22%206l3.2%2010.8L36%2020l-10.8%203.2L22%2034l-3.2-10.8L8%2020l10.8-3.2z%27%2F%3E%3Cpath%20d%3D%27M37%2030l1.5%204.5L43%2036l-4.5%201.5L37%2042l-1.5-4.5L31%2036l4.5-1.5z%27%2F%3E%3C%2Fsvg%3E"); }
.i-ecoute { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M8%2010h32v22H22l-9%207v-7H8z%27%2F%3E%3Cpath%20d%3D%27M16%2019h16M16%2025h10%27%2F%3E%3C%2Fsvg%3E"); --ico-blanc: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27none%27%20stroke%3D%27%23fff%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M8%2010h32v22H22l-9%207v-7H8z%27%2F%3E%3Cpath%20d%3D%27M16%2019h16M16%2025h10%27%2F%3E%3C%2Fsvg%3E"); }

/* =========================================================
   BARRE HAUTE
   ========================================================= */
.barre-haut { background: var(--magenta); font-size: 13px; color: #fff; }
.barre-haut > .enveloppe { display: flex; justify-content: space-between; align-items: center; height: 46px; }
.barre-infos { display: flex; align-items: center; gap: 22px; }
.barre-infos p { display: inline-flex; align-items: center; gap: 8px; }
.barre-infos p + p { padding-left: 22px; border-left: 1px solid rgba(255, 255, 255, .35); }
.barre-haut .reseaux-haut.wp-block-social-links { display: flex; gap: 8px; margin: 0; padding: 0; font-size: 15px; }
.barre-haut .reseaux-haut.wp-block-social-links .wp-social-link { color: #fff; background: none; padding: 0; margin: 0; }
.barre-haut .reseaux-haut.wp-block-social-links .wp-social-link a { padding: 6px; }
.barre-haut .reseaux-haut.wp-block-social-links .wp-social-link:hover { opacity: .7; transform: none; }

/* =========================================================
   EN-TÊTE (collant au défilement)
   ========================================================= */
.entete-sticky { position: sticky; top: var(--barre-admin); z-index: 100; transition: box-shadow .3s; }
.entete-sticky.defile { box-shadow: 0 6px 30px rgba(60, 20, 40, .09); }
.entete { background: #fff; }
.entete > .enveloppe { display: flex; align-items: center; justify-content: space-between; gap: 24px; height: 96px; transition: height .3s; }
.entete-sticky.defile .entete > .enveloppe { height: 78px; }
.entete .wp-block-site-logo img { width: 168px; height: auto; transition: width .3s; }
.entete-sticky.defile .entete .wp-block-site-logo img { width: 140px; }

.menu-principal.wp-block-navigation { font: 600 13px/1 var(--corps); letter-spacing: .08em; text-transform: uppercase; color: var(--nuit); }
.menu-principal.wp-block-navigation .wp-block-navigation__container { gap: 40px; }
.menu-principal .wp-block-navigation-item__content { padding: 10px 0; position: relative; transition: color .2s; }
.menu-principal > .wp-block-navigation__responsive-container .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
  content: ''; position: absolute; left: 0; right: 100%; bottom: 2px; height: 1px; background: var(--magenta); transition: right .3s;
}
.menu-principal .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.menu-principal .wp-block-navigation-item.est-actif > .wp-block-navigation-item__content { color: var(--magenta); }
.menu-principal > .wp-block-navigation__responsive-container .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.menu-principal > .wp-block-navigation__responsive-container .wp-block-navigation__container > .wp-block-navigation-item.est-actif > .wp-block-navigation-item__content::after { right: 0; }
.menu-principal .wp-block-navigation__submenu-icon { width: 13px; height: 13px; margin-left: 6px; }
/* sous-menu des 8 familles */
.menu-principal.wp-block-navigation .wp-block-navigation__submenu-container {
  top: calc(100% + 14px); left: -26px; min-width: 270px !important; padding: 12px 0;
  background: #fff; border: 0; border-top: 2px solid var(--magenta); box-shadow: 0 18px 40px rgba(60, 20, 40, .12);
  text-transform: none; letter-spacing: 0; font: 400 14.5px/1.4 var(--corps);
}
.menu-principal.wp-block-navigation .wp-block-navigation__submenu-container::before { content: ''; position: absolute; left: 0; right: 0; top: -18px; height: 18px; }
.menu-principal.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 10px 26px; color: var(--nuit); transition: color .2s, background .2s, padding .2s; }
.menu-principal.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.menu-principal.wp-block-navigation .wp-block-navigation__submenu-container .est-actif > .wp-block-navigation-item__content { color: var(--magenta); background: var(--fond-clair); padding-left: 32px; }
/* panneau mobile : forcé, le CSS du bloc est imprimé après cette feuille */
.wp-block-navigation.menu-principal .wp-block-navigation__responsive-container.is-menu-open {
  background-color: #fff !important; color: var(--nuit) !important; padding: 80px 32px 40px;
}
.wp-block-navigation.menu-principal .is-menu-open .wp-block-navigation__container { gap: 6px; }
.wp-block-navigation.menu-principal .is-menu-open .wp-block-navigation-item__content { font-size: 16px; padding: 10px 0; }
.wp-block-navigation.menu-principal .is-menu-open .wp-block-navigation__submenu-container { padding: 0 0 0 16px !important; border: 0; box-shadow: none; }
.wp-block-navigation.menu-principal .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 8px 0; font-size: 15px; }
.menu-principal .wp-block-navigation__responsive-container-open svg, .menu-principal .wp-block-navigation__responsive-container-close svg { width: 30px; height: 30px; }

.entete-rdv { display: flex; align-items: center; gap: 14px; }
.entete-rdv::before {
  content: ''; width: 46px; height: 46px; border-radius: 50%; flex: none;
  background: var(--magenta) var(--tel-blanc) center / 18px no-repeat;
}
.entete-rdv-label { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--texte-clair); line-height: 1.2; margin-bottom: 3px; }
.entete-rdv-tels { font: 600 17px/1.25 var(--corps); color: var(--nuit); }
.entete-rdv-tels a:hover { color: var(--magenta); }

/* =========================================================
   HÉROS
   ========================================================= */
.hero { background: radial-gradient(ellipse 40% 46% at 70% 50%, var(--fond-clair), var(--fond)); position: relative; overflow: hidden; }
.hero > .enveloppe { display: grid; grid-template-columns: 1fr 1fr; min-height: 780px; }
.hero-texte { position: relative; align-self: center; justify-self: start; width: min(100%, 580px); padding: 84px 55px; z-index: 2; }
.hero-texte::before { content: ''; position: absolute; inset: 0; border: 12px solid rgba(255, 255, 255, .75); z-index: -1; }
.titre-hero { font-size: 72px; line-height: 1.08; margin-bottom: 28px; }
.hero-intro { margin-bottom: 44px; font-size: 16px; }
.hero-visuel { position: relative; }
.hero-visuel::before { content: ''; position: absolute; width: 700px; height: 700px; border-radius: 50%; right: -110px; top: 34px; background: #f8e2d6; }
.hero-visuel::after { content: ''; position: absolute; width: 542px; height: 534px; border-radius: 50%; right: -40px; top: 112px; background: #fff; }
figure.hero-alexia { position: absolute; bottom: 0; right: -120px; width: 740px; max-width: none; z-index: 1; }
figure.hero-alexia img { width: 100%; }

/* =========================================================
   À PROPOS
   ========================================================= */
.apropos { padding: 130px 0 120px; position: relative; overflow: hidden; }
.apropos > .enveloppe { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.apropos-photos { position: relative; height: 560px; }
.apropos-photos figure.wp-block-image { position: absolute; overflow: hidden; }
.apropos-photos figure.wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
figure.photo-arriere { left: 0; bottom: 0; width: 50%; height: 64%; }
figure.photo-avant { right: 0; top: 0; width: 58%; height: 84%; box-shadow: -18px 18px 0 #fff; }
.apropos-texte .titre-section { margin-bottom: 30px; }
.apropos-encart { display: grid; grid-template-columns: 120px 1fr; gap: 26px; align-items: center; padding: 6px 0 26px; margin-bottom: 26px; border-bottom: 1px solid var(--trait); }
.apropos-encart figure.wp-block-image img { width: 120px; height: 104px; object-fit: cover; }
.apropos-encart p { border-left: 2px solid var(--magenta); padding-left: 22px; color: var(--nuit); }
.apropos-texte > p { margin-bottom: 38px; }

/* =========================================================
   NOS SOINS (cartes photo, sous-grille pour aligner photos, titres, textes et liens)
   ========================================================= */
.soins { background: var(--fond); padding: 120px 0 130px; text-align: center; position: relative; overflow: hidden; }
.soins .titre-section, .autres-soins .titre-section { margin-bottom: 56px; }
.grille-soins { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; position: relative; z-index: 1; }
.carte-soin { background: #fff; padding: 12px 12px 24px; box-shadow: var(--ombre); display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: 0; }
.carte-soin figure.wp-block-image { aspect-ratio: 1 / .92; overflow: hidden; margin-bottom: 22px; }
.carte-soin figure.wp-block-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.carte-soin:hover figure.wp-block-image img { transform: scale(1.05); }
.carte-soin h3 { font-size: 21px; line-height: 1.25; margin: 0 10px 10px; }
.carte-soin > p { font-size: 14px; line-height: 1.7; margin: 0 14px 20px; }
.carte-soin > p.lien-fleche { align-self: end; margin: 0 14px; }
.soins-cta { justify-content: center; margin-top: 60px; }
/* orchidée photographiée sur fond blanc, fondue dans le rose : couche décorative */
.avec-orchidee::after, .bandeau::after {
  content: ''; position: absolute; pointer-events: none;
  background: url(assets/img/orchidee.jpg) center / cover no-repeat;
  mix-blend-mode: multiply; filter: brightness(1.07) contrast(1.06);
  -webkit-mask-image: radial-gradient(closest-side, #000 50%, transparent 100%); mask-image: radial-gradient(closest-side, #000 50%, transparent 100%);
}
.avec-orchidee::after { width: 460px; height: 330px; right: -90px; top: 0; transform: rotate(14deg); }

/* =========================================================
   HORAIRES + ACCÈS
   ========================================================= */
.rdv { padding: 130px 0; overflow: hidden; }
.rdv-bloc { display: grid; grid-template-columns: 1fr 1fr; }
figure.rdv-photo { position: relative; overflow: hidden; min-height: 540px; }
figure.rdv-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rdv-horaires { background: var(--fond); position: relative; text-align: center; padding: 84px 60px 70px; display: flex; flex-direction: column; justify-content: center; align-items: center; }
.rdv-horaires .titre-section { font-size: 40px; margin-bottom: 26px; }
ul.horaires { list-style: none; margin: 0 0 18px; padding: 0; color: var(--nuit); font-size: 16px; line-height: 2.1; }
ul.horaires li:last-child { color: var(--magenta); }
.parking { display: inline-flex; gap: 10px; align-items: center; font-size: 14px; letter-spacing: .1em; text-transform: uppercase; color: var(--nuit); }
.parking::before { width: 20px; height: 20px; color: var(--magenta); }
figure.carte { display: block; width: 100%; max-width: 480px; margin: 30px 0 26px; border: 6px solid #fff; box-shadow: var(--ombre); transition: transform .3s; }
figure.carte:hover { transform: translateY(-3px); }
figure.carte a { display: block; }   /* le CSS du bloc image met le lien en inline-block : +5 px sous l'image */
figure.carte img { width: 100%; }
figure.rdv-rond { position: absolute; width: 160px; height: 160px; right: -60px; top: -60px; border-radius: 50%; overflow: hidden; border: 8px solid #fff; box-shadow: var(--ombre); }
figure.rdv-rond img { width: 100%; height: 100%; object-fit: cover; }

/* =========================================================
   AVIS
   ========================================================= */
.avis { background: var(--fond); padding: 140px 0 120px; position: relative; overflow: hidden; }
.avis > .enveloppe { display: grid; grid-template-columns: 420px 1fr; gap: 0; align-items: center; }
figure.avis-photo { height: 470px; overflow: hidden; }
figure.avis-photo img { width: 100%; height: 100%; object-fit: cover; }
.avis-texte { margin-left: -60px; position: relative; z-index: 1; }
.avis-texte > .surtitre, .avis-texte > .titre-section { margin-left: 140px; }
.avis-texte .titre-section { margin-bottom: 30px; }
.carte-avis { background: #fff; box-shadow: var(--ombre); padding: 52px 70px 54px 140px; position: relative; }
.carte-avis::after { content: ''; position: absolute; right: 54px; bottom: 40px; width: 120px; height: 120px; background: #f6eef0; -webkit-mask: var(--guillemet) center / contain no-repeat; mask: var(--guillemet) center / contain no-repeat; }
.etoiles { color: #f2b01e; letter-spacing: 4px; font-size: 17px; line-height: 1; margin-bottom: 18px; }
.avis-citation { font-size: 17px; line-height: 1.8; color: var(--nuit); max-width: 560px; margin-bottom: 24px; position: relative; z-index: 1; }
.avis-nom { font: 400 22px/1.2 var(--titre); color: var(--nuit); }
.avis-role { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--magenta); margin-top: 6px; }

/* =========================================================
   SOINS PHARES
   ========================================================= */
.phares { padding: 120px 0 130px; text-align: center; }
.phares.fond-rose { background: var(--fond); }
.phares .titre-section { margin-bottom: 56px; }
.grille-phares { display: grid; grid-template-columns: 1fr 1fr; gap: 26px 30px; text-align: left; }
.carte-phare { display: grid; grid-template-columns: 58px 1fr auto; gap: 24px; align-items: center; background: #fff; padding: 26px 30px; box-shadow: var(--ombre); transition: transform .3s; }
.carte-phare:hover { transform: translateY(-3px); }
.carte-phare.avec-ico::before { width: 52px; height: 52px; color: var(--magenta); }
.carte-phare h3 { font-size: 21px; margin-bottom: 4px; }
.carte-phare-texte p { font-size: 13.5px; line-height: 1.55; }
.carte-phare .prix { font: 400 24px/1 var(--titre); color: var(--magenta); white-space: nowrap; }

/* =========================================================
   OFFRE ÉTUDIANTE
   ========================================================= */
.offre { display: grid; grid-template-columns: 1fr 1fr; min-height: 580px; }
.offre-texte { background: var(--fond-pale); padding: 90px 90px 90px max(24px, calc(100% - 600px)); display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.surtitre-sombre { font: 500 13px/1 var(--corps); color: var(--nuit); margin-bottom: 16px; }
.offre-texte .titre-section { font-size: 46px; max-width: 470px; margin-bottom: 20px; }
.offre-texte > p:not(.surtitre-sombre) { max-width: 420px; margin-bottom: 34px; }
figure.offre-photo { overflow: hidden; position: relative; }
figure.offre-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* =========================================================
   QUESTIONS (core/details)
   ========================================================= */
.faq { padding: 140px 0; }
.faq > .enveloppe { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: center; }
.faq-photo { position: relative; height: 500px; }
.faq-photo::before { content: ''; position: absolute; inset: 0 0 6px 30px; border: 2px dashed #ecd2dd; border-radius: 46% 54% 44% 56% / 56% 44% 56% 44%; }
.faq-photo figure.wp-block-image { position: absolute; inset: 30px 20px 30px 10px; overflow: hidden; border-radius: 58% 42% 52% 48% / 46% 56% 44% 54%; }
.faq-photo figure.wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.faq-texte .titre-section { margin-bottom: 32px; }
.accordeon { display: grid; gap: 16px; }
details.question { background: #fff; box-shadow: var(--ombre); border: 1px solid #f4eeec; }
details.question summary {
  display: flex; justify-content: space-between; align-items: center; gap: 20px; list-style: none;
  padding: 22px 28px; cursor: pointer; font: 500 15.5px/1.4 var(--corps); color: var(--nuit);
}
details.question summary::-webkit-details-marker { display: none; }
details.question summary::after { content: ''; width: 18px; height: 18px; flex: none; background: var(--nuit); -webkit-mask: var(--chevron) center / contain no-repeat; mask: var(--chevron) center / contain no-repeat; transform: rotate(-90deg); transition: transform .3s; }
details.question[open] summary::after { transform: none; background: var(--magenta); }
details.question > p { font-size: 14px; margin: 0 28px; padding: 18px 0 24px; border-top: 1px solid var(--trait); }

/* =========================================================
   PETITS PLUS
   ========================================================= */
.plus { background: radial-gradient(ellipse 60% 46% at 50% 50%, var(--fond-clair), var(--fond)); padding: 120px 0 130px; text-align: center; }
.plus .titre-section { margin-bottom: 56px; }
.grille-plus { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; text-align: left; }
.carte-plus figure.wp-block-image { aspect-ratio: 1.12 / 1; overflow: hidden; }
.carte-plus figure.wp-block-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.carte-plus:hover figure.wp-block-image img { transform: scale(1.05); }
.carte-plus-corps { background: #fff; margin: -46px 24px 0; position: relative; padding: 0 32px 34px; box-shadow: var(--ombre); }
.meta { display: flex; align-items: center; gap: 8px; padding: 16px 0; margin-bottom: 20px; border-bottom: 1px solid var(--trait); font-size: 13px; }
.meta::before { width: 17px; height: 17px; color: var(--magenta); }
.carte-plus h3 { font-size: 24px; line-height: 1.3; margin-bottom: 12px; }
.carte-plus-corps > p:last-child { font-size: 14px; }

/* =========================================================
   ATOUTS
   ========================================================= */
.atouts { padding: 74px 0; }
.atouts > .enveloppe { display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.atout { display: flex; flex-direction: column; align-items: center; gap: 12px; font: 400 15px/1.2 var(--titre); letter-spacing: .14em; text-transform: uppercase; color: #a89c9e; }
.atout::before { width: 46px; height: 46px; color: var(--magenta); }

/* =========================================================
   PIED DE PAGE
   ========================================================= */
.pied { background: linear-gradient(var(--fond), var(--fond-fonce)); position: relative; }
.suivez { display: flex; justify-content: space-between; align-items: center; gap: 40px; padding: 70px 0 64px; border-bottom: 1px solid #eed6d1; }
.titre-suivez { font-size: 32px; margin-bottom: 8px; }
.suivez p { font-size: 14px; }
.suivez-reseaux { display: grid; gap: 12px; flex: none; }
.suivez-barre { display: flex; background: #fff; }
.suivez-barre > p { display: inline-flex; align-items: center; gap: 10px; padding: 0 26px; min-width: 300px; color: var(--nuit); font-size: 14px; }
.suivez-barre > p::before { width: 18px; height: 18px; color: var(--magenta); }
.suivez-barre .wp-block-button.bouton .wp-block-button__link { width: 150px; justify-content: center; }
.pied-colonnes { display: grid; grid-template-columns: 1.25fr .75fr 1fr 1.2fr; gap: 50px; padding: 80px 0 90px; }
.pied-marque .wp-block-site-logo { margin-bottom: 22px; }
.pied-marque .wp-block-site-logo img { width: 170px; height: auto; }
.pied-marque > p { font-size: 14px; margin-bottom: 26px; max-width: 330px; }
.pied h3 { font-size: 22px; margin-bottom: 30px; position: relative; padding-bottom: 14px; }
.pied h3::after { content: ''; position: absolute; left: 0; bottom: 0; width: 34px; height: 2px; background: var(--magenta); }
.pied-liens ul.wp-block-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; font-size: 14px; }
.pied-liens li a { display: inline-flex; align-items: center; gap: 10px; transition: color .2s; }
.pied-liens li a::before { content: ''; width: 5px; height: 5px; border-top: 1.5px solid var(--magenta); border-right: 1.5px solid var(--magenta); transform: rotate(45deg); }
.pied-liens li a:hover { color: var(--magenta); }
.pied-coord { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 20px; font-size: 14px; line-height: 1.5; }
.pied-coord strong { font-weight: 500; color: var(--nuit); }
.rond-ico::before { content: ''; width: 40px; height: 40px; border-radius: 50%; flex: none; background: var(--magenta) var(--ico-blanc) center / 17px no-repeat; }
.pied-bas { background: var(--magenta); color: rgba(255, 255, 255, .85); padding: 18px 0; font-size: 13px; }
.pied-bas > .enveloppe { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px 30px; }
.pied-bas a { color: #fff; font-weight: 500; }
.pied-bas ul.pied-legal { display: flex; flex-wrap: wrap; gap: 6px 24px; list-style: none; padding: 0; margin: 0; }
.pied-bas ul.pied-legal a { font-weight: 400; color: rgba(255, 255, 255, .9); }
.pied-bas ul.pied-legal a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.haut-de-page {
  position: fixed; right: 26px; bottom: 26px; z-index: 50; margin: 0;
  opacity: 0; visibility: hidden; transform: translateY(14px); transition: opacity .3s, transform .3s, visibility .3s;
}
.haut-de-page.visible { opacity: 1; visibility: visible; transform: none; }
.haut-de-page a {
  display: block; width: 46px; height: 46px; border-radius: 50%; overflow: hidden; text-indent: 200%; white-space: nowrap;
  background: var(--magenta) var(--haut-blanc) center / 18px no-repeat; border: 2px solid #fff; box-shadow: 0 6px 20px rgba(60, 10, 40, .25); transition: background-color .25s;
}
.haut-de-page a:hover { background-color: var(--nuit); }

/* =========================================================
   PAGES INTÉRIEURES
   ========================================================= */
.bandeau { background: radial-gradient(ellipse 50% 70% at 50% 50%, var(--fond-clair), var(--fond)); padding: 90px 0 96px; text-align: center; position: relative; overflow: hidden; }
.bandeau::after { width: 420px; height: 300px; right: -70px; top: 50%; transform: translateY(-50%) rotate(14deg); }
.bandeau-cadre { display: inline-block; position: relative; z-index: 1; padding: 52px 90px 46px; border: 12px solid rgba(255, 255, 255, .75); }
.titre-bandeau { font-size: 60px; line-height: 1.1; margin-bottom: 18px; }
.fil-ariane { font-size: 13.5px; color: var(--nuit); }
.fil-ariane a { color: var(--texte); transition: color .2s; }
.fil-ariane a:hover { color: var(--magenta); }
.intro-section { max-width: 640px; margin: 0 auto 56px; }

.intro-famille { padding: 120px 0; }
.intro-famille > .enveloppe { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
figure.intro-photo { position: relative; aspect-ratio: 1 / 1.05; box-shadow: -22px 22px 0 var(--fond); }
figure.intro-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.intro-texte .titre-section { margin-bottom: 26px; }
.intro-texte > p { margin-bottom: 16px; }
ul.points { list-style: none; margin: 26px 0 36px; padding: 22px 0 0; border-top: 1px solid var(--trait); display: grid; gap: 12px; }
ul.points li { display: flex; align-items: center; gap: 12px; color: var(--nuit); }
ul.points li::before { content: ''; width: 20px; height: 20px; flex: none; background: var(--magenta); -webkit-mask: var(--coche) center / contain no-repeat; mask: var(--coche) center / contain no-repeat; }

.tarifs { background: var(--fond); padding: 120px 0 110px; text-align: center; }
.tarifs .titre-section { margin-bottom: 56px; }
.grille-tarifs { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; text-align: left; align-items: start; }
.grille-tarifs.une-colonne { grid-template-columns: minmax(0, 780px); justify-content: center; }
.carte-tarifs { background: #fff; padding: 40px 44px 30px; box-shadow: var(--ombre); }
.carte-tarifs.large { grid-column: 1 / -1; }
.carte-tarifs > h3 { font-size: 26px; padding-bottom: 16px; margin-bottom: 6px; border-bottom: 2px solid var(--magenta); display: inline-block; }
.carte-tarifs.large .liste-tarifs { columns: 2; column-gap: 60px; }
/* une ligne : nom | durée | pointillés | prix — puis détail et étapes sur toute la largeur */
.ligne-tarif { display: grid; grid-template-columns: auto auto 1fr auto; align-items: baseline; column-gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--trait); break-inside: avoid; }
.ligne-tarif:last-child { border-bottom: 0; }
.ligne-tarif::before { content: ''; grid-column: 3; grid-row: 1; border-bottom: 1px dotted #d9bfc7; transform: translateY(-5px); min-width: 20px; }
.ligne-tarif .nom { grid-column: 1; grid-row: 1; color: var(--nuit); font-size: 15.5px; line-height: 1.45; }
.ligne-tarif .duree { grid-column: 2; grid-row: 1; justify-self: start; padding: 1px 8px; font-size: 11.5px; letter-spacing: .04em; line-height: 1.6; color: var(--magenta); background: var(--fond); white-space: nowrap; }
.ligne-tarif .prix, .entete-colonnes p { font: 400 21px/1 var(--titre); color: var(--magenta); white-space: nowrap; }
.ligne-tarif .prix { grid-column: 4; grid-row: 1; }
.ligne-tarif .detail { grid-column: 1 / -1; font-size: 13.5px; line-height: 1.6; color: var(--texte); margin-top: 4px; padding-right: 60px; }
.ligne-tarif ul.etapes { grid-column: 1 / -1; list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 8px; }
.ligne-tarif ul.etapes li { font-size: 12.5px; padding: 3px 10px; border: 1px solid var(--trait); color: var(--nuit); }
.ligne-tarif.deux-prix, .entete-colonnes { grid-template-columns: 1fr 110px 110px; }
.ligne-tarif.deux-prix::before { content: none; }
.ligne-tarif.deux-prix .prix { grid-column: auto; text-align: right; }
.entete-colonnes { display: grid; margin-top: 14px; }
.entete-colonnes p { font: 500 11px/1.3 var(--corps); letter-spacing: .14em; text-transform: uppercase; text-align: right; }
.tarifs-notes { margin-top: 44px; display: grid; gap: 10px; justify-items: center; }
.tarifs-notes p { display: inline-flex; align-items: flex-start; gap: 10px; font-size: 13.5px; text-align: left; max-width: 760px; }
.tarifs-notes p::before { width: 18px; height: 18px; color: var(--magenta); margin-top: 3px; }

.autres-soins, .univers { padding: 120px 0 130px; text-align: center; }
.univers .titre-section { margin-bottom: 22px; }

.bon-a-savoir { padding: 120px 0 110px; text-align: center; }
.bon-a-savoir .titre-section, .valeurs .titre-section { margin-bottom: 56px; }
.galerie .titre-section { margin-bottom: 50px; }
.grille-avantages { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.grille-valeurs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; }
.carte-avantage, .carte-valeur { background: #fff; padding: 46px 36px 42px; box-shadow: var(--ombre); }
/* 28 px : l'icône SVG en ligne de la maquette laissait 8 px de jeu sous elle (porte 4) */
.carte-avantage.avec-ico::before, .carte-valeur.avec-ico::before { display: block; width: 52px; height: 52px; margin: 0 auto 28px; color: var(--magenta); }
.carte-avantage h3, .carte-valeur h3 { font-size: 23px; margin-bottom: 12px; }
.carte-avantage p, .carte-valeur p { font-size: 14.5px; }
.valeurs { background: var(--fond); padding: 120px 0 130px; text-align: center; }

.alexia { padding: 130px 0 90px; }
.alexia > .enveloppe { display: grid; grid-template-columns: 5fr 6fr; gap: 90px; align-items: center; }
figure.alexia-photo { position: relative; aspect-ratio: 4 / 5; box-shadow: 22px 22px 0 var(--fond); }
figure.alexia-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.alexia-texte .titre-section { margin-bottom: 26px; }
.alexia-texte > p { margin-bottom: 16px; }
.alexia-texte .rangee-boutons { margin-top: 34px; }

.galerie { padding: 40px 0 130px; text-align: center; }
.grille-galerie { display: grid; grid-template-columns: 1.25fr 1fr 1fr; grid-template-rows: 280px 280px; gap: 20px; }
.grille-galerie figure.wp-block-image { position: relative; overflow: hidden; }
.grille-galerie figure.wp-block-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.grille-galerie figure.wp-block-image:hover img { transform: scale(1.05); }
figure.galerie-grande { grid-row: span 2; }
figure.galerie-large { grid-column: span 2; }
figure.galerie-large img { object-position: 50% 85%; }

.contact { padding: 120px 0; }
.contact > .enveloppe { display: grid; grid-template-columns: 1fr 1.1fr; gap: 80px; align-items: center; }
.contact-infos .titre-section { margin-bottom: 22px; }
.coordonnees { margin-top: 36px; display: grid; gap: 24px; }
.coord { display: grid; grid-template-columns: 46px 1fr; column-gap: 18px; font-size: 15px; line-height: 1.6; color: var(--nuit); }
.coord.rond-ico::before { width: 46px; height: 46px; grid-row: 1 / span 4; }
.coord > p { grid-column: 2; }
.coord-titre { font-weight: 500; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--magenta); margin-bottom: 4px; }
.coord a:hover { color: var(--magenta); }
.coord-note { font-size: 13.5px; color: var(--texte); }
figure.contact-photo { position: relative; aspect-ratio: 1 / 1.05; box-shadow: 22px 22px 0 var(--fond); }
figure.contact-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

.plan { padding: 30px 0 130px; text-align: center; }
.plan > .enveloppe { border-top: 1px solid var(--trait); padding-top: 100px; }
.plan .titre-section { margin-bottom: 16px; }
.plan .intro-section { margin-bottom: 44px; }
.carte-google { position: relative; border: 8px solid var(--fond); box-shadow: var(--ombre); aspect-ratio: 1200 / 500; background: var(--fond); }
.carte-google iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; }
.plan-itineraire { justify-content: center; margin-top: 44px; }

/* ---------- pages légales ---------- */
.legal { padding: 100px 0 120px; }
.texte-legal { max-width: 820px; margin: 0 auto; }
.legal-maj { font-size: 13px; color: var(--texte-clair); margin-bottom: 18px; }
.legal-intro { font-size: 17px; line-height: 1.8; color: var(--nuit); margin-bottom: 40px; }
.sommaire { background: var(--fond); padding: 30px 36px; }
.sommaire-titre { font: 500 12px/1 var(--corps); letter-spacing: .24em; text-transform: uppercase; color: var(--magenta); margin-bottom: 14px; }
.sommaire ol { margin: 0; padding-left: 20px; columns: 2; column-gap: 40px; font-size: 14.5px; line-height: 2; color: var(--nuit); }
.sommaire a:hover { color: var(--magenta); }
.texte-legal h2 { font-size: 30px; margin: 56px 0 18px; padding-bottom: 12px; border-bottom: 1px solid var(--trait); scroll-margin-top: 110px; }
.texte-legal > p { margin-bottom: 14px; }
.texte-legal p a, .texte-legal li a { color: var(--magenta); text-decoration: underline; text-underline-offset: 3px; }
ul.liste-legale { margin: 0 0 16px; padding: 0; list-style: none; display: grid; gap: 10px; }
ul.liste-legale li { position: relative; padding-left: 22px; }
ul.liste-legale li::before { content: ''; position: absolute; left: 3px; top: .72em; width: 6px; height: 6px; background: var(--magenta); transform: rotate(45deg); }
.texte-legal strong { color: var(--nuit); font-weight: 500; }
/* informations en attente : surlignage natif de l'éditeur (format « surligner »), à remplacer avant la mise en ligne */
.texte-legal mark.has-inline-color { border: 1px dashed #e2b33c; padding: 1px 6px; font-size: .92em; }
.liste-cookies { display: grid; gap: 14px; margin: 10px 0 20px; }
.ligne-cookie { background: var(--fond-pale); border-left: 3px solid var(--magenta); padding: 18px 22px; }
.ligne-cookie h3 { font-size: 19px; margin-bottom: 6px; }
.ligne-cookie p { font-size: 14px; line-height: 1.8; }

/* ---------- articles et 404 ---------- */
.page-simple { padding: 90px 0 120px; }
.page-simple .wp-block-post-title { font-size: 34px; }

/* accessibilité */
:where(a, button, summary, [tabindex]):focus-visible { outline: 3px solid var(--magenta); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } html { scroll-behavior: auto; } }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1600px) {
  .avec-orchidee::after { width: 360px; height: 260px; right: -110px; top: -10px; }
}
@media (max-width: 1320px) {
  .hero-visuel::before { width: 640px; height: 640px; right: -90px; }
  .hero-visuel::after { width: 482px; height: 474px; right: -20px; top: 112px; }
  figure.hero-alexia { width: 680px; right: -100px; }
  figure.rdv-rond { right: -16px; top: -40px; width: 136px; height: 136px; }
}
@media (max-width: 1180px) {
  .menu-principal.wp-block-navigation .wp-block-navigation__container { gap: 26px; }
  .entete-rdv::before { display: none; }
  .titre-hero { font-size: 56px; }
  .hero-texte { width: min(100%, 520px); padding: 70px 46px; }
  .hero-visuel::before { width: 540px; height: 540px; right: -60px; }
  .hero-visuel::after { width: 382px; height: 374px; right: 10px; top: 112px; }
  figure.hero-alexia { width: 600px; right: -90px; }
  .grille-soins { grid-template-columns: repeat(2, 1fr); }
  .avis > .enveloppe { grid-template-columns: 340px 1fr; }
  .pied-colonnes { grid-template-columns: 1fr 1fr 1fr; }
  .pied-marque { grid-column: 1 / -1; }
  .grille-valeurs { grid-template-columns: repeat(2, 1fr); }
  .contact > .enveloppe { gap: 50px; }
  .bandeau::after { width: 320px; height: 230px; right: -110px; }
}
@media (max-width: 1000px) {
  .entete-rdv { display: none; }
}
@media (max-width: 900px) {
  .barre-infos p + p { display: none; }
  .menu-principal.wp-block-navigation { font-size: 12px; }
  .menu-principal.wp-block-navigation .wp-block-navigation__container { gap: 18px; }
  .titre-section { font-size: 36px; }
  .hero > .enveloppe { grid-template-columns: 1fr; min-height: 0; }
  .hero-texte { width: auto; justify-self: stretch; margin-top: 40px; padding: 56px 28px; }
  .titre-hero { font-size: 46px; }
  .hero-visuel { height: 470px; }
  .hero-visuel::before { width: 440px; height: 440px; left: 50%; right: auto; transform: translateX(-50%); top: 10px; }
  .hero-visuel::after { width: 282px; height: 274px; left: calc(50% - 132px); right: auto; top: 88px; }
  figure.hero-alexia { width: 500px; right: 50%; transform: translateX(50%); }
  .apropos > .enveloppe, .faq > .enveloppe, .rdv-bloc, .offre, .intro-famille > .enveloppe, .alexia > .enveloppe, .contact > .enveloppe { grid-template-columns: 1fr; gap: 56px; }
  .apropos { padding: 90px 0; }
  .apropos-photos { height: 460px; }
  .rdv { padding: 90px 0; }
  .rdv-bloc { gap: 0; }
  figure.rdv-photo { min-height: 320px; }
  .rdv-horaires { padding: 120px 24px 64px; }
  figure.rdv-rond { right: 20px; top: -50px; width: 130px; height: 130px; }
  .avis { padding: 80px 0; }
  .avis > .enveloppe { grid-template-columns: 1fr; }
  figure.avis-photo { height: 340px; }
  .avis-texte { margin: -60px 0 0; padding: 0 18px; }
  .avis-texte > .surtitre, .avis-texte > .titre-section { margin-left: 0; }
  .avis-texte > .surtitre { margin-top: 90px; }
  .carte-avis { padding: 40px 30px; }
  .grille-phares, .grille-tarifs, .grille-avantages, .grille-plus { grid-template-columns: 1fr; }
  .offre { gap: 0; }
  .offre-texte { padding: 70px 30px; }
  .offre-texte .titre-section { font-size: 36px; }
  figure.offre-photo { height: 340px; }
  .faq { padding: 90px 0; }
  .faq-photo { height: 380px; }
  .atouts > .enveloppe { flex-wrap: wrap; justify-content: center; gap: 34px 40px; }
  .suivez { flex-direction: column; align-items: flex-start; }
  .pied-colonnes { grid-template-columns: 1fr 1fr; gap: 48px 30px; }
  .pied-contact { grid-column: 1 / -1; }
  .pied-bas { padding: 22px 0 26px; }
  .pied-bas > .enveloppe { flex-direction: column; text-align: center; }
  .pied-bas ul.pied-legal { justify-content: center; }
  .bandeau { padding: 60px 0 64px; }
  .bandeau-cadre { display: block; padding: 40px 26px 34px; }
  .titre-bandeau { font-size: 42px; }
  .bandeau::after { width: 220px; height: 160px; right: -80px; top: 10px; transform: rotate(14deg); }
  .intro-famille, .tarifs, .autres-soins, .univers, .bon-a-savoir, .valeurs, .alexia, .contact, .legal { padding: 80px 0; }
  figure.intro-photo { aspect-ratio: 4 / 3; margin-left: 22px; }
  figure.alexia-photo { aspect-ratio: 4 / 4.2; margin-right: 22px; }
  .alexia { padding-bottom: 60px; }
  .galerie { padding: 20px 0 80px; }
  .grille-galerie { grid-template-columns: 1fr 1fr; grid-template-rows: none; grid-auto-rows: 200px; gap: 12px; }
  figure.galerie-grande { grid-row: span 1; grid-column: span 2; }
  figure.contact-photo { aspect-ratio: 4 / 3; margin-right: 22px; }
  .carte-tarifs.large .liste-tarifs { columns: 1; }
  .plan { padding: 0 0 90px; }
  .plan > .enveloppe { padding-top: 70px; }
  .carte-google { aspect-ratio: 4 / 3.4; }
  .sommaire ol { columns: 1; }
}
@media (max-width: 600px) {
  body { font-size: 14.5px; }
  .surtitre { letter-spacing: .2em; line-height: 1.5; }
  .enveloppe { width: calc(100% - 32px); }
  .barre-haut { font-size: 12px; }
  .entete > .enveloppe, .entete-sticky.defile .entete > .enveloppe { height: 74px; }
  .entete .wp-block-site-logo img, .entete-sticky.defile .entete .wp-block-site-logo img { width: 130px; }
  .titre-hero { font-size: 40px; }
  .titre-section, .rdv-horaires .titre-section, .offre-texte .titre-section { font-size: 31px; }
  .hero-texte { padding: 46px 22px; }
  .hero-visuel { height: 380px; }
  .hero-visuel::before { width: 350px; height: 350px; }
  .hero-visuel::after { width: 192px; height: 184px; left: calc(50% - 87px); top: 88px; }
  figure.hero-alexia { width: 400px; }
  .apropos-photos { height: 380px; }
  .grille-soins { grid-template-columns: 1fr; }
  .avec-orchidee::after { width: 230px; height: 170px; right: -70px; top: -10px; }
  .carte-phare { grid-template-columns: 44px 1fr; padding: 22px; gap: 16px; }
  .carte-phare.avec-ico::before { width: 42px; height: 42px; }
  .carte-phare .prix { grid-column: 2; }
  .pied-colonnes { gap: 40px 20px; }
  .suivez-reseaux { width: 100%; }
  .suivez-barre { flex-direction: column; }
  .suivez-barre > p { padding: 16px 20px; min-width: 0; }
  .suivez-barre .wp-block-button.bouton .wp-block-button__link { width: 100%; }
  .rangee-boutons > *, .rangee-boutons .wp-block-button, .rangee-boutons .wp-block-button__link { flex: 1 1 100%; justify-content: center; }
  .haut-de-page { right: 16px; bottom: 16px; }
  .titre-bandeau { font-size: 34px; }
  .carte-tarifs { padding: 30px 22px 20px; }
  .ligne-tarif .detail { padding-right: 0; }
  .ligne-tarif.deux-prix, .entete-colonnes { grid-template-columns: 1fr 78px 78px; column-gap: 8px; }
  .entete-colonnes p { font-size: 9.5px; letter-spacing: 0; }
  .grille-valeurs { grid-template-columns: 1fr; }
  .carte-google { aspect-ratio: 1 / 1.15; }
  .texte-legal h2 { font-size: 25px; margin-top: 44px; }
  .sommaire { padding: 24px 22px; }
}
