/*
 * SNCPRE — Layout & Gutenberg structural fixes
 *
 * Single-file CSS, ecrit a la main, zero build step, zero framework.
 *
 * Principe :
 *   - Tokens design (couleurs, typo, spacing) vivent dans theme.json (SSOT
 *     derive de theme/src/design-tokens.css via sync-theme-from-tokens.js).
 *   - WordPress genere les utilities has-*-color / has-*-font-size / les
 *     custom properties --wp--preset--* automatiquement a partir de
 *     theme.json. Les patterns consomment ces slugs via les attributs natifs
 *     (backgroundColor, textColor, fontSize, fontFamily, style.spacing).
 *   - Ce fichier ne contient QUE des regles structurelles Gutenberg non
 *     couvertes par theme.json (fixes cascade, dimensions par defaut des
 *     blocs natifs, etat actif navigation).
 *
 * Regle absolue : zero `!important`. Specificite plate (1 classe ou 1 element
 * + pseudo-classe max). Si un conflit de cascade apparait, diagnostiquer la
 * source (editor styles, block supports, plugin tiers) au lieu de patcher.
 *
 * Ce fichier est charge via wp_enqueue_style() ET add_editor_style() pour
 * garantir Back = Front (cf. theme/functions.php).
 */

/* ==========================================================================
   STACKING — flush vertical entre blocs top-level
   Supprime l'espacement par defaut que WP ajoute entre frere-du-site, pour
   laisser les patterns gerer leur propre padding vertical (section-py).
   ========================================================================== */

.wp-site-blocks > * + * { margin-block-start: 0; }
.is-layout-constrained > .alignfull + .alignfull { margin-block-start: 0; }

/* ==========================================================================
   SEPARATOR — largeur 60px par defaut, full width via is-style-wide
   Les filets de titres H1 suivent le standard de page Figma : 99 x 3 px.
   ========================================================================== */

.wp-block-separator:not(.is-style-wide) { width: 60px; max-width: 60px; }
.wp-block-separator.is-style-wide { width: 100%; max-width: 100%; }
.is-content-justification-center > .wp-block-separator { margin-inline: auto; }
h1.wp-block-heading + .wp-block-separator:not(.is-style-wide),
h1.wp-block-heading + .wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots),
h1.wp-block-post-title + .wp-block-separator:not(.is-style-wide),
h1.wp-block-post-title + .wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots) {
	width: 99px;
	max-width: 99px;
	height: 3px;
	min-height: 3px;
	border: 0;
	background-color: var(--wp--preset--color--accent);
}

/* ==========================================================================
   NAVIGATION — etat actif
   Hover gere dans theme.json > styles.elements.link.
   ========================================================================== */

.wp-block-navigation a[aria-current="page"] { color: var(--wp--preset--color--primary); }

/* ==========================================================================
   COLUMNS — egaliser la hauteur des cards imbriquees
   ========================================================================== */

.wp-block-columns > .wp-block-column { display: flex; flex-direction: column; }
.wp-block-columns > .wp-block-column > .wp-block-group { flex: 1; }

/* ==========================================================================
   NAVIGATION — menu desktop + drawer mobile (mu-plugin sncpre-navigation)
   Le header (parts/header.html) porte la classe `.sncpre-nav` : sous 1024px le
   moteur JS cache le menu desktop + CTAs, affiche le burger, et clone menu +
   CTAs dans un panneau off-canvas cote droit.
   Doc : wp-content/mu-plugins/sncpre-navigation/README.md
   ========================================================================== */

/* Burger à la couleur de marque (bleu marine) */
.sncpre-nav { --sncpre-nav-burger-color: var(--wp--preset--color--primary); }

/* Menu desktop : le wrapper .sncpre-nav-menu contient un <ul> horizontal.
   On rétablit la mise en ligne SNCPRE (le mu-plugin ne pose flex que sur le
   wrapper, pas sur l'ul interne). */
.sncpre-header .sncpre-nav-menu > ul {
	display: flex; gap: var(--wp--preset--spacing--24); align-items: center;
	list-style: none; margin: 0; padding: 0; flex-wrap: wrap;
}
.sncpre-header .sncpre-nav-menu li { margin: 0; padding: 0; }
.sncpre-header .wp-block-navigation.sncpre-nav-menu .wp-block-navigation-item__content {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--base);
	color: var(--wp--preset--color--primary);
	text-decoration: none;
	text-transform: none;
	letter-spacing: normal;
}
.sncpre-header .wp-block-navigation.sncpre-nav-menu .wp-block-navigation-item__content::before {
	content: "";
	width: 16px;
	height: 2px;
	flex: none;
	background-color: var(--wp--preset--color--accent);
}

/* Search du header : icône seule en desktop, libellé révélé dans le drawer
   (le clone n'est pas descendant de .sncpre-nav donc le libellé réapparaît). */
.sncpre-header__search-link {
	display: inline-flex; align-items: center; gap: 10px;
	color: var(--wp--preset--color--primary); text-decoration: none;
}
.sncpre-header__search-icon { width: 16px; height: 16px; object-fit: contain; flex: none; }
.sncpre-nav .sncpre-header__search-label { display: none; }
.sncpre-header .sncpre-header__search.wp-block-search {
	width: 26px;
	height: 26px;
	margin: 0;
}
.sncpre-header .sncpre-header__search .wp-block-search__inside-wrapper {
	margin: 0;
}
.sncpre-header .sncpre-header__search .wp-block-search__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	min-width: 26px;
	height: 26px;
	margin: 0;
	padding: 0;
	color: var(--wp--preset--color--primary);
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}
.sncpre-header .sncpre-header__search .wp-block-search__button svg {
	width: 16px;
	height: 16px;
	min-width: 26px;
	min-height: 26px;
	fill: currentColor;
}

html[data-sncpre-search-locked="true"] {
	overflow: hidden;
}

.sncpre-search-modal[hidden] {
	display: none;
}

.sncpre-search-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: grid;
	place-items: center;
	padding: 20px;
}

.sncpre-search-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 45, 66, 0.58);
}

.sncpre-search-modal__dialog {
	position: relative;
	box-sizing: border-box;
	width: min(680px, calc(100vw - 40px));
	padding: 44px;
	background: var(--wp--preset--color--bg-white);
	border-radius: 8px;
	box-shadow: 0 24px 70px rgba(0, 45, 66, 0.24);
}

.sncpre-search-modal__close {
	position: absolute;
	top: 14px;
	right: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	color: var(--wp--preset--color--primary);
	background: transparent;
	border: 0;
	border-radius: 50%;
	font-size: 30px;
	line-height: 1;
	cursor: pointer;
}

.sncpre-search-modal__label {
	display: block;
	margin: 0 0 18px;
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(28px, 4vw, 42px);
	font-weight: 700;
	line-height: 1.1;
	text-align: center;
}

.sncpre-search-modal__field {
	display: flex;
	gap: var(--wp--preset--spacing--12);
	align-items: center;
}

.sncpre-search-modal__input {
	flex: 1;
	min-width: 0;
	height: 58px;
	padding: 0 22px;
	color: var(--wp--preset--color--primary);
	background: var(--wp--preset--color--bg-white);
	border: 2px solid var(--wp--preset--color--primary);
	border-radius: 32px;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 500;
}

.sncpre-search-modal__input::placeholder {
	color: rgba(0, 82, 113, 0.58);
}

.sncpre-search-modal__input:focus {
	outline: 3px solid rgba(0, 117, 153, 0.2);
	outline-offset: 2px;
}

.sncpre-search-modal__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 58px;
	padding: 0 28px;
	color: var(--wp--preset--color--text-white);
	background: var(--wp--preset--color--primary);
	border: 2px solid var(--wp--preset--color--primary);
	border-radius: 32px;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--base);
	font-weight: 700;
	cursor: pointer;
}

.sncpre-search-modal__submit:hover,
.sncpre-search-modal__submit:focus-visible {
	background: var(--wp--preset--color--accent);
	border-color: var(--wp--preset--color--accent);
}

.sncpre-search-modal.is-invalid .sncpre-search-modal__input {
	border-color: var(--wp--preset--color--accent);
}

@media (max-width: 600px) {
	.sncpre-search-modal {
		padding: 20px;
	}

	.sncpre-search-modal__dialog {
		padding: 38px 20px 24px;
	}

	.sncpre-search-modal__field {
		flex-direction: column;
		align-items: stretch;
	}

	.sncpre-search-modal__input,
	.sncpre-search-modal__submit {
		width: 100%;
	}
}

.sncpre-header .sncpre-nav__ctas .wp-block-buttons,
.sncpre-header .sncpre-nav__ctas .wp-block-button {
	margin: 0;
}

/* CTAs desktop (search + pills) alignés en ligne. Scopé sous .sncpre-header (pas
   le clone du drawer) ET en min-width:1024 — sinon ce display:flex écraserait le
   display:none mobile du mu-plugin (.sncpre-nav__desktop-only, même spécificité). */
@media (min-width: 1024px) {
	.sncpre-header .sncpre-nav__ctas {
		display: flex; align-items: center; gap: var(--wp--preset--spacing--20);
	}
}

/* --- Panneau off-canvas : habillage marque --- */
.sncpre-nav-offcanvas {
	--sncpre-nav-offcanvas-bg:          var(--wp--preset--color--bg-white);
	--sncpre-nav-offcanvas-color:       var(--wp--preset--color--primary);
	--sncpre-nav-offcanvas-overlay:     rgba(0, 45, 66, .55);
	--sncpre-nav-offcanvas-width:       min(420px, 88vw);
	--sncpre-nav-offcanvas-link-size:   var(--wp--preset--font-size--xl);
	--sncpre-nav-offcanvas-link-weight: 700;
	--sncpre-nav-offcanvas-gap:         var(--wp--preset--spacing--32);
}

/* Liens du drawer : tiret rouge en préfixe, alignés à gauche (cohérence header) */
.sncpre-nav-offcanvas__menu > li > a {
	justify-content: flex-start; gap: var(--wp--preset--spacing--8);
	color: var(--wp--preset--color--primary);
}
.sncpre-nav-offcanvas__menu > li > a::before {
	content: ""; width: 16px; height: 2px; flex: none;
	background-color: var(--wp--preset--color--accent);
}
.sncpre-nav-offcanvas__menu > li > a:hover,
.sncpre-nav-offcanvas__menu > li > a:focus-visible { color: var(--wp--preset--color--accent); }

/* Bloc CTA du drawer : search + pills en pleine largeur.
   box-sizing:border-box obligatoire — .pill est en content-box, donc width:100%
   + padding (18px) + border (2px) déborderait du panneau. */
.sncpre-nav-offcanvas__ctas .sncpre-header__search-link {
	padding: 4px 0; font-size: var(--wp--preset--font-size--lg);
	color: var(--wp--preset--color--primary);
}
.sncpre-nav-offcanvas__ctas {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--wp--preset--spacing--16);
}
.sncpre-nav-offcanvas__ctas .wp-block-search {
	width: 100%;
	margin: 0;
}
.sncpre-nav-offcanvas__ctas .wp-block-search__inside-wrapper {
	width: 100%;
}
.sncpre-nav-offcanvas__ctas .wp-block-search__button {
	width: 100%;
	justify-content: center;
	gap: var(--wp--preset--spacing--8);
	padding: 8px 18px;
	color: var(--wp--preset--color--primary);
	background: transparent;
	border: 0;
	box-shadow: none;
}
.sncpre-nav-offcanvas__ctas .wp-block-search__button::after {
	content: "Rechercher";
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 700;
}
.sncpre-nav-offcanvas__ctas .wp-block-buttons {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--wp--preset--spacing--12);
	width: 100%;
	margin: 0;
}
.sncpre-nav-offcanvas__ctas .wp-block-button {
	width: 100%;
	margin: 0;
}
.sncpre-nav-offcanvas__ctas .pill {
	box-sizing: border-box; width: 100%; justify-content: center;
}
.sncpre-nav-offcanvas__ctas .wp-block-button__link {
	box-sizing: border-box;
	width: 100%;
	justify-content: center;
}

/* ==========================================================================
   ACCUEIL — styles structurels des blocs de composition (portés du prototype
   validé step-04). Toutes les couleurs/typo/spacing consomment des presets
   theme.json via var(--wp--preset--*). Valeurs brutes = structurel pur
   (dimensions, positions, overlap, aspect-ratio). Zéro !important.
   ========================================================================== */

/* ---- Flèche universelle (mask + currentColor) en pseudo-élément ---- */
.arrow-link::after,
.pill--arrow::after,
.faq__row::after {
	content: ""; width: 24px; height: 14px; flex: none;
	background-color: currentColor;
	-webkit-mask: url("../images/arrow.svg") no-repeat center / contain;
	mask: url("../images/arrow.svg") no-repeat center / contain;
	transition: transform 0.3s ease;
}
.arrow-link:hover::after,
.pill--arrow:hover::after,
.faq__row:hover::after { transform: translateX(5px); }
/* Puce rouge en pseudo-élément */
.arrow-link::before,
.faq__row::before {
	content: ""; width: 9px; height: 9px; border-radius: 50%; flex: none;
	background-color: var(--wp--preset--color--accent);
}

/* ---- Pills / boutons ---- */
.pill {
	display: inline-flex; align-items: center; gap: var(--wp--preset--spacing--8);
	padding: 8px 18px; border-radius: 24px;
	font-family: var(--wp--preset--font-family--label);
	font-weight: 700; font-size: var(--wp--preset--font-size--base);
	border: 2px solid transparent; cursor: pointer; text-decoration: none;
	transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}
.pill--solid { background-color: var(--wp--preset--color--accent); color: var(--wp--preset--color--text-white); border-color: var(--wp--preset--color--accent); }
.pill--cream { background-color: var(--wp--preset--color--bg-white); color: var(--wp--preset--color--accent); }
.pill--outline { background-color: transparent; color: var(--wp--preset--color--accent); border-color: var(--wp--preset--color--accent); }
.pill--outline:hover { background-color: var(--wp--preset--color--accent); color: var(--wp--preset--color--text-white); }
.pill--cream:hover { background-color: var(--wp--preset--color--primary); color: var(--wp--preset--color--text-white); }
.pill--solid:hover { background-color: var(--wp--preset--color--primary); border-color: var(--wp--preset--color--primary); color: var(--wp--preset--color--text-white); }
.pill--end { align-self: flex-end; }

/* ---- Arrow link (puce + label + flèche) ---- */
.arrow-link {
	display: inline-flex; align-items: center; gap: var(--wp--preset--spacing--8);
	font-family: var(--wp--preset--font-family--body); font-weight: 700;
	font-size: var(--wp--preset--font-size--base);
	color: var(--wp--preset--color--primary-light); text-decoration: none;
}

/* ---- Rule rouge sous les titres ---- */
.heading-rule { width: 99px; height: 2px; border: 0; margin: 16px 0 0; background-color: var(--wp--preset--color--accent); }

/* ---- Shell : conteneur centré max 1440 (= .section__inner du proto) ---- */
.sncpre-shell { max-width: 1440px; margin-inline: auto; width: 100%; }

/* ---- Row 2 colonnes (= .row du proto : empilé mobile, côte-à-côte ≥900) ---- */
.sncpre-row { display: flex; flex-direction: column; gap: var(--wp--preset--spacing--40); }
@media (min-width: 900px) {
	.sncpre-row { flex-direction: row; align-items: flex-start; }
	.sncpre-row > * { flex: 1 1 0; min-width: 0; }
}

/* ---- Section annuaire crème : padding-top 180, faq collée au bas ---- */
.sncpre-cream-annuaire { background-color: var(--wp--preset--color--bg-light); padding-top: 180px; padding-bottom: 0; }
.sncpre-cream-annuaire .sncpre-faq { margin-top: 125px; }

/* ==========================================================================
   HEADER (part) — brand + nav groupés à gauche, utility à droite
   ========================================================================== */
.sncpre-header {
	padding: 14px var(--wp--preset--spacing--gutter) 15px;
	background-color: var(--wp--preset--color--bg-white);
}
.sncpre-header > *,
.sncpre-header .wp-block-image {
	margin-block-start: 0;
	margin-block-end: 0;
}
.sncpre-header__lead { display: flex; align-items: center; gap: var(--wp--preset--spacing--60); }
.sncpre-brand-logo,
.sncpre-brand-logo a { line-height: 0; }
.sncpre-brand-logo { width: 105px; height: auto; }
.sncpre-nav .nav__dash { width: 16px; height: 2px; background-color: var(--wp--preset--color--accent); flex: none; }
a.pill--nav,
.wp-block-button.pill--nav .wp-block-button__link { background-color: var(--wp--preset--color--bg-teal); color: var(--wp--preset--color--text-white); font-family: var(--wp--preset--font-family--body); }
a.pill--nav-cream,
.wp-block-button.pill--nav-cream .wp-block-button__link { background-color: var(--wp--preset--color--bg-light); color: var(--wp--preset--color--primary); font-family: var(--wp--preset--font-family--body); }
.sncpre-nav__ctas .wp-block-button .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
	padding: 8px 18px;
	border: 2px solid transparent;
	border-radius: 24px;
	font-weight: 700;
	font-size: var(--wp--preset--font-size--base);
	line-height: 1.2;
	text-decoration: none;
	box-shadow: none;
}
.pill__nav-icon { width: 14px; height: 14px; }
.sncpre-header__search { width: 16px; height: 16px; margin: 0; }
.sncpre-header__search img { width: 16px; height: 16px; object-fit: contain; }
/* Nav : liens bleu marine avec tiret rouge en préfixe */
.sncpre-nav__link {
	display: inline-flex; align-items: center; gap: var(--wp--preset--spacing--8);
	font-weight: 700; font-size: var(--wp--preset--font-size--base);
	color: var(--wp--preset--color--primary); text-decoration: none;
	/* Neutralise les defaults hérités du mu-plugin sncpre-navigation (uppercase + letter-spacing) */
	text-transform: none; letter-spacing: normal;
}
.sncpre-nav__link::before { content: ""; width: 16px; height: 2px; flex: none; background-color: var(--wp--preset--color--accent); }
/* Icônes dans les pills nav (avant le texte) */
a.pill--nav::before,
a.pill--nav-cream::before,
.wp-block-button.pill--nav .wp-block-button__link::before,
.wp-block-button.pill--nav-cream .wp-block-button__link::before {
	content: ""; width: 14px; height: 14px; flex: none;
	background-repeat: no-repeat; background-position: center; background-size: contain;
}
a.pill--nav::before,
.wp-block-button.pill--nav .wp-block-button__link::before { background-image: url("../images/icon-annuaire.svg"); }
a.pill--nav-cream::before,
.wp-block-button.pill--nav-cream .wp-block-button__link::before { background-image: url("../images/icon-espace-membre.svg"); }
/* Icône téléphone dans le pill footer */
.footer-phone::before {
	content: ""; width: 16px; height: 16px; flex: none;
	background: url("../images/icon-phone.svg") no-repeat center / contain;
}

/* ==========================================================================
   HERO (bg image + contenu poussé à droite)
   ========================================================================== */
.sncpre-hero { position: relative; overflow: hidden; background-color: var(--wp--preset--color--bg-white); }
.sncpre-hero__photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: 0; margin: 0; }
.sncpre-hero__photo img { width: 100%; height: 100%; object-fit: cover; }
.sncpre-hero__inner { position: relative; z-index: 1; padding-top: 120px; padding-bottom: 350px; }
@media (max-width: 1023.98px) { .sncpre-hero__inner { padding-top: 60px; padding-bottom: 175px; } }
.sncpre-hero__body { max-width: 640px; margin-left: auto; }
.sncpre-hero__subtitle { font-weight: 300; line-height: 1.2; }
.sncpre-hero__lede { border-left: 2px solid var(--wp--preset--color--accent); padding-left: var(--wp--preset--spacing--20); }

/* ==========================================================================
   MEMBRE BANNER (rouge, chevauche le hero)
   ========================================================================== */
.sncpre-banner-wrap { margin-top: -180px; position: relative; z-index: 1; }
.sncpre-banner {
	background-color: var(--wp--preset--color--accent); color: var(--wp--preset--color--text-white);
	border-radius: 20px; box-shadow: 0 4px 44px rgba(0, 0, 0, 0.25);
}
.sncpre-banner {
	display: flex; flex-direction: column; gap: var(--wp--preset--spacing--48);
	padding: var(--wp--preset--spacing--60);
}
@media (min-width: 900px) { .sncpre-banner { flex-direction: row; align-items: center; justify-content: space-between; padding-right: 110px; } }
.sncpre-banner__copy { display: flex; flex-direction: column; align-items: flex-start; gap: var(--wp--preset--spacing--20); max-width: 497px; }
.sncpre-banner__rule { width: 97px; height: 2px; border: 0; margin: 0; background-color: var(--wp--preset--color--text-white); }
.sncpre-icongrid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--60); align-items: start; align-content: start; }
/* Le conteneur est en markup `is-layout-flow` : WP injecte un margin-block-start
   (blockGap) entre les items, ce qui décale le 1er item (sans marge) des autres
   dans la grille. On neutralise — l'espacement est géré par `gap`. */
.sncpre-icongrid > * { margin-block-start: 0; margin-block-end: 0; }
@media (min-width: 700px) { .sncpre-icongrid { grid-template-columns: repeat(3, 135px); } }
.sncpre-icongrid__item { display: flex; flex-direction: column; gap: 10px; }
.sncpre-icongrid__icon { width: 30px; height: 30px; margin: 0; }
.sncpre-icongrid__icon img { width: 30px; height: 30px; object-fit: contain; }
.sncpre-icongrid__label { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: var(--wp--preset--font-size--2-xl, 24px); line-height: 1.2; color: var(--wp--preset--color--text-white); margin: 0; white-space: nowrap; }

/* ==========================================================================
   CHIFFRES (timeline verticale) + ANNONCES (cards)
   ========================================================================== */
.sncpre-stats { display: flex; flex-direction: column; gap: 100px; border-left: 2px solid var(--wp--preset--color--accent); padding: 100px 0 108px var(--wp--preset--spacing--40); }
.sncpre-stat { position: relative; display: flex; align-items: center; gap: var(--wp--preset--spacing--24); }
.sncpre-stat::before {
	content: ""; position: absolute; left: calc(-1 * var(--wp--preset--spacing--40) - 6px); top: 50%;
	transform: translateY(-50%); width: 11px; height: 11px; border-radius: 50%;
	background-color: var(--wp--preset--color--accent);
}
.sncpre-stat__value { line-height: 1.2; flex: none; margin: 0; }
.sncpre-stat__label { margin: 0; }
.sncpre-annonces__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--wp--preset--spacing--20); }
.sncpre-annonces__list > li { margin: 0; }
.sncpre-card { background-color: var(--wp--preset--color--bg-card); border: 1px solid var(--wp--preset--color--divider); border-radius: 4px; padding: var(--wp--preset--spacing--32); display: flex; flex-direction: column; gap: var(--wp--preset--spacing--12); }
.sncpre-card__title { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: var(--wp--preset--font-size--xl); color: var(--wp--preset--color--text-dark); margin: 0; }
.sncpre-card__title a { color: inherit; text-decoration: none; }
.sncpre-card__loc { display: flex; flex-wrap: wrap; gap: 6px; }
.sncpre-card__loc p { margin: 0; }

/* ==========================================================================
   ANNUAIRE (carte + texte)
   ========================================================================== */
.sncpre-annuaire__map { width: 322px; max-width: 100%; margin-inline: auto; }
.sncpre-annuaire__body { display: flex; flex-direction: column; align-items: flex-start; gap: var(--wp--preset--spacing--24); }
.sncpre-annuaire__text { line-height: 1.7; }

/* ==========================================================================
   FAQ / recherche (panneau teal, lignes-liens)
   ========================================================================== */
.sncpre-faq {
	background-color: var(--wp--preset--color--bg-teal);
	display: flex; flex-direction: column; align-items: center; gap: var(--wp--preset--spacing--32);
	padding: var(--wp--preset--spacing--80) var(--wp--preset--spacing--60);
}
@media (max-width: 1023.98px) { .sncpre-faq { padding-left: 20px; padding-right: 20px; } }
.sncpre-faq__title { text-align: center; }
.sncpre-faq__rule { width: 290px; max-width: 60%; height: 2px; border: 0; margin: 0 auto; background-color: var(--wp--preset--color--text-white); }
.sncpre-faq__list { display: flex; flex-direction: column; gap: var(--wp--preset--spacing--20); width: 100%; max-width: 902px; }
.sncpre-faq__list > * { margin: 0; }
.faq__row {
	position: relative; width: 100%; box-sizing: border-box;
	background-color: var(--wp--preset--color--primary); border-radius: 8px;
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--48);
	display: flex; align-items: center; justify-content: center; gap: var(--wp--preset--spacing--8);
	color: var(--wp--preset--color--text-white); text-decoration: none;
	font-size: var(--wp--preset--font-size--lg); line-height: 1.7; text-align: center;
}
.faq__row::after { position: absolute; right: var(--wp--preset--spacing--24); }

/* ==========================================================================
   CHIRURGIE PLASTIQUE (bande image)
   ========================================================================== */
.sncpre-chirurgie { position: relative; overflow: hidden; min-height: 711px; display: flex; flex-direction: column; justify-content: center; }
.sncpre-chirurgie__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; margin: 0; }
.sncpre-chirurgie__bg img { width: 100%; height: 100%; object-fit: cover; }
.sncpre-chirurgie__tint { position: absolute; inset: 0; z-index: 0; background-color: rgba(250, 245, 238, 0.6); }
.sncpre-chirurgie__inner { position: relative; z-index: 1; }
.sncpre-chirurgie__art { width: 338px; max-width: 100%; margin-inline: auto; }
.sncpre-chirurgie__body { display: flex; flex-direction: column; align-items: flex-start; gap: var(--wp--preset--spacing--24); }
.sncpre-chirurgie__text { line-height: 1.7; margin-bottom: var(--wp--preset--spacing--40); }

/* ==========================================================================
   ACTUALITÉS (Query Loop posts)
   ========================================================================== */
.sncpre-news-head { display: flex; flex-direction: column; gap: var(--wp--preset--spacing--24); margin-bottom: var(--wp--preset--spacing--48); }
@media (min-width: 700px) { .sncpre-news-head { flex-direction: row; align-items: center; justify-content: flex-start; } }
.sncpre-news-cards { display: grid; grid-template-columns: 1fr; gap: var(--wp--preset--spacing--40); margin: 0; padding: 0; list-style: none; }
@media (min-width: 700px) { .sncpre-news-cards { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .sncpre-news-cards { grid-template-columns: repeat(3, 1fr); } }
.sncpre-news-cards > li { margin: 0; }
.sncpre-news-card { display: flex; flex-direction: column; gap: var(--wp--preset--spacing--16); }
.sncpre-news-card__media { aspect-ratio: 401 / 249; border-radius: 4px; overflow: hidden; margin: 0; }
.sncpre-news-card__media img { width: 100%; height: 100%; object-fit: cover; }
.sncpre-news-card__date { font-family: var(--wp--preset--font-family--heading); font-weight: 600; color: var(--wp--preset--color--accent); }
.sncpre-news-card__title { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: var(--wp--preset--font-size--xl); color: var(--wp--preset--color--text-dark); margin: 0; }
.sncpre-news-card__title a { color: inherit; text-decoration: none; }
.sncpre-news-card__excerpt { color: var(--wp--preset--color--text-body); }
.sncpre-news-card__excerpt p { margin: 0; }

/* ==========================================================================
   ARTICLE — template single post, Figma 1:1402
   ========================================================================== */
.wp-site-blocks > .sncpre-article-page,
.wp-site-blocks > .sncpre-article-related {
	margin-block-start: 0;
}

.sncpre-article-page {
	box-sizing: border-box;
}

.sncpre-article-shell {
	width: 100%;
}

.sncpre-article-back a {
	color: var(--wp--preset--color--primary-light);
	text-decoration: none;
}

.arrow-link--back {
	flex-direction: row-reverse;
}

.arrow-link--back::after {
	transform: rotate(180deg);
}

.arrow-link--back:hover::after {
	transform: rotate(180deg) translateX(5px);
}

.sncpre-article-card {
	box-sizing: border-box;
	width: 100%;
	max-width: 1128px;
	margin-inline: auto;
	padding-left: 0;
	padding-right: 0;
	box-shadow: 0 0 34px rgba(0, 0, 0, 0.05);
}

.sncpre-article-card > * {
	box-sizing: border-box;
	width: min(672px, calc(100% - 40px));
	margin-inline: auto;
}

.sncpre-article-card > .sncpre-article-hero {
	width: min(902px, calc(100% - 40px));
	margin-top: var(--wp--preset--spacing--40);
	margin-bottom: var(--wp--preset--spacing--40);
}

.sncpre-article-terms {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--20);
	margin: 0 auto;
	color: var(--wp--preset--color--text-muted);
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 300;
	line-height: 1.3;
}

.sncpre-article-terms a {
	color: inherit;
	text-decoration: none;
}

.sncpre-article-title {
	color: var(--wp--preset--color--primary);
}

.sncpre-article-date {
	color: var(--wp--preset--color--accent);
	line-height: 1.3;
}

.sncpre-article-excerpt {
	color: var(--wp--preset--color--text-body);
	line-height: 1.55;
}

.sncpre-article-excerpt p,
.sncpre-article-excerpt .wp-block-post-excerpt__excerpt {
	margin: 0;
}

.sncpre-article-hero {
	aspect-ratio: 902 / 560;
	overflow: hidden;
}

.sncpre-article-hero img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sncpre-article-content {
	color: var(--wp--preset--color--text-body);
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.55;
}

.sncpre-article-content > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.sncpre-article-content > * + * {
	margin-block-start: var(--wp--preset--spacing--40);
}

.sncpre-article-content .wp-block-image {
	width: 100%;
	margin-top: var(--wp--preset--spacing--40);
	margin-bottom: var(--wp--preset--spacing--40);
}

.sncpre-article-content .wp-block-image img {
	width: 100%;
	height: auto;
	object-fit: cover;
}

.sncpre-article-share {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--16);
	margin-top: var(--wp--preset--spacing--40);
	color: var(--wp--preset--color--primary);
}

.sncpre-article-share__label {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 500;
}

.sncpre-article-share__list {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--16);
	list-style: none;
	margin: 0;
	padding: 0;
}

.sncpre-article-share__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	color: var(--wp--preset--color--primary);
	background-color: var(--wp--preset--color--bg-white);
	border-radius: 50%;
	text-decoration: none;
	transition: color 0.25s ease, background-color 0.25s ease;
}

.sncpre-article-share__link:hover,
.sncpre-article-share__link:focus-visible {
	color: var(--wp--preset--color--text-white);
	background-color: var(--wp--preset--color--accent);
}

.sncpre-article-share__link svg {
	width: 22px;
	height: 22px;
	fill: currentColor;
}

.sncpre-article-related {
	box-sizing: border-box;
}

.sncpre-article-related-cards {
	display: grid;
	grid-template-columns: 1fr;
	gap: 50px 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sncpre-article-related-cards > li {
	margin: 0;
}

.sncpre-article-related-card.sncpre-actualites-card {
	padding-inline: 0;
}

@media (min-width: 700px) {
	.sncpre-article-related-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.sncpre-article-related-cards {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 699px) {
	.sncpre-article-card {
		padding-left: 30px;
		padding-right: 30px;
	}
	.sncpre-article-card > *,
	.sncpre-article-card > .sncpre-article-hero {
		width: 100%;
	}
}

/* ==========================================================================
   FOOTER (part)
   ========================================================================== */
.sncpre-footer { background-color: var(--wp--preset--color--bg-teal); color: var(--wp--preset--color--text-white); }
.sncpre-footer__logo { width: 179px; height: 94px; margin: 0; }
.sncpre-footer__desc { max-width: 417px; }
.footer-social { width: 36px; height: 36px; display: inline-flex; }
.footer-social img { width: 36px; height: 36px; }
.footer-phone__icon { width: 16px; height: 16px; }
.sncpre-footer__rule { flex: 1; height: 1px; background-color: var(--wp--preset--color--text-white); opacity: 0.4; }
.sncpre-footer a { text-decoration: none; }
.sncpre-footer a:hover { color: rgba(255, 251, 243, 0.6); }
/* Grille 4 colonnes (tracks Figma incluent l'espacement → gap 0) */
.sncpre-footer__cols { display: grid; grid-template-columns: 1fr; gap: var(--wp--preset--spacing--48); }
@media (min-width: 700px) { .sncpre-footer__cols { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .sncpre-footer__cols { grid-template-columns: 2.7fr 1.6fr 1.08fr 1fr; gap: 0; } }
/* Colonnes droite alignées au wordmark du logo (texte), pas au haut du logo */
@media (min-width: 1024px) { .sncpre-footer__cols > .footer-col:not(.footer-col--brand) { padding-top: 64px; } }
.footer-col { display: flex; flex-direction: column; gap: var(--wp--preset--spacing--12); }
.footer-col--brand { gap: var(--wp--preset--spacing--16); }
.footer-col__title { font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: var(--wp--preset--font-size--base); color: var(--wp--preset--color--text-white); margin: 0 0 var(--wp--preset--spacing--8); white-space: nowrap; }
.footer-contact { display: flex; align-items: center; gap: var(--wp--preset--spacing--12); margin-bottom: var(--wp--preset--spacing--8); }
.footer-links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0; }
.footer-links li { line-height: 1.4; }
.footer-legal { display: flex; flex-direction: column; gap: var(--wp--preset--spacing--16); padding-top: 100px; }
@media (min-width: 700px) { .footer-legal { flex-direction: row; align-items: center; } }
.footer-legal__copy { white-space: nowrap; margin: 0; }
.footer-legal__links { display: flex; gap: var(--wp--preset--spacing--8); white-space: nowrap; }

/* ==========================================================================
   LE SYNDICAT — listing Figma 1:507
   ========================================================================== */

/* Figma 1:508 / 1:509 — bande fil d'Ariane sous header. */
.wp-site-blocks > .wp-block-post-content.wp-block-post-content {
	margin-block-start: 0;
}
.wp-block-post-content > .sncpre-breadcrumb-band,
.wp-block-post-content > .sncpre-syndicat-page,
.wp-block-post-content > .sncpre-chirurgie-listing-page,
.wp-block-post-content > .sncpre-actualites-page,
.wp-block-post-content > .sncpre-petites-annonces-page,
.wp-block-post-content > .sncpre-member-login-page,
.wp-block-post-content > .sncpre-member-dashboard-page {
	margin-block-start: 0;
}
.wp-block-post-content > .sncpre-syndicat-page,
.wp-block-post-content > .sncpre-chirurgie-listing-page,
.wp-block-post-content > .sncpre-actualites-page,
.wp-block-post-content > .sncpre-petites-annonces-page {
	padding-top: 0;
}
.sncpre-breadcrumb-band {
	background-color: var(--wp--preset--color--bg-light);
	box-sizing: border-box;
	max-width: none;
	width: 100%;
	overflow: hidden;
	padding-top: 37px;
	padding-bottom: 49px;
}
.sncpre-breadcrumb-band > .sncpre-shell {
	box-sizing: border-box;
	padding-inline: var(--wp--preset--spacing--gutter);
}
.editor-styles-wrapper .wp-block[data-type="sncpre/breadcrumb"],
.editor-styles-wrapper .wp-block[data-type="sncpre/breadcrumb"] > .sncpre-breadcrumb-band {
	max-width: none;
	width: 100%;
}
@media (max-width: 699px) {
	.sncpre-breadcrumb-band {
		padding-inline: 0;
	}
	.sncpre-breadcrumb-band > .sncpre-shell {
		padding-inline: var(--wp--preset--spacing--20);
	}
}
.sncpre-breadcrumb {
	max-width: 100%;
	overflow-x: auto;
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.4;
	scrollbar-width: none;
}
.sncpre-breadcrumb::-webkit-scrollbar {
	display: none;
}
.sncpre-breadcrumb__list {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: var(--wp--preset--spacing--20);
	list-style: none;
	width: max-content;
	margin: 0;
	padding: 0;
}
.sncpre-breadcrumb__item {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
	color: var(--wp--preset--color--text-muted);
	font-weight: 300;
	white-space: nowrap;
}
.sncpre-breadcrumb__item.is-current {
	color: var(--wp--preset--color--text-body);
	font-weight: 700;
}
.sncpre-breadcrumb a {
	color: inherit;
	text-decoration: none;
}
.sncpre-breadcrumb__item:not(:last-child)::after {
	content: "";
	width: 16px;
	height: 1px;
	background-color: var(--wp--preset--color--text-body);
	flex: none;
}

/* Figma 1:514 / 1:550 et 1:619 / 1:620 — titre centre et filet rouge. */
.sncpre-syndicat-listing,
.sncpre-link-listing {
	padding-top: 30px;
	padding-bottom: var(--wp--preset--spacing--60);
}
.sncpre-syndicat-listing__title::after,
.sncpre-link-listing__title::after {
	content: "";
	display: block;
	width: 99px;
	height: 3px;
	background-color: var(--wp--preset--color--accent);
	margin: var(--wp--preset--spacing--20) auto 0;
}

/* Figma 1:551-1:579 et 1:621-1:638 — grille de cartes navigation. */
.sncpre-syndicat-grid,
.sncpre-link-card-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--wp--preset--spacing--16);
	margin-top: var(--wp--preset--spacing--60);
}
@media (min-width: 760px) {
	.sncpre-syndicat-grid,
	.sncpre-link-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1120px) {
	.sncpre-syndicat-grid,
	.sncpre-link-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 18px; }
}
.sncpre-syndicat-card,
.sncpre-link-card {
	position: relative;
	min-height: 184px;
	background-color: var(--wp--preset--color--bg-card-soft);
	border: 2px solid var(--wp--preset--color--bg-light);
	box-sizing: border-box;
	margin: 0;
	transition: background-color 0.25s ease, border-color 0.25s ease;
}
.sncpre-syndicat-card:hover,
.sncpre-link-card:hover {
	background-color: var(--wp--preset--color--bg-white);
	border-color: var(--wp--preset--color--divider);
}
.sncpre-syndicat-card__icon,
.sncpre-link-card__icon {
	position: absolute;
	top: 49px;
	left: 50%;
	transform: translateX(-50%);
	width: 32px;
	height: 32px;
	margin: 0;
	pointer-events: none;
}
.sncpre-syndicat-card__icon img,
.sncpre-link-card__icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.sncpre-syndicat-card--actualites .sncpre-syndicat-card__icon {
	top: 51px;
	width: 27px;
	height: 29px;
}
.sncpre-syndicat-card--organigramme .sncpre-syndicat-card__icon {
	top: 51px;
	width: 31px;
	height: 30px;
}
.sncpre-syndicat-card--presidences .sncpre-syndicat-card__icon {
	top: 40px;
	width: 24px;
	height: 27px;
}
.sncpre-syndicat-card--presidences .sncpre-syndicat-card__icon::after {
	content: "";
	position: absolute;
	left: 0;
	top: 19px;
	width: 24px;
	height: 8px;
	border-radius: 3px 3px 0 0;
	background-color: var(--wp--preset--color--accent);
}
.sncpre-syndicat-card--contact .sncpre-syndicat-card__icon {
	top: 58px;
	width: 28px;
	height: 21px;
}
.sncpre-link-card--prise-en-charge .sncpre-link-card__icon {
	top: 57px;
	width: 32px;
	height: 20px;
}
.sncpre-link-card--choisir .sncpre-link-card__icon {
	top: 51px;
	width: 31px;
	height: 30px;
}
.sncpre-link-card--devis .sncpre-link-card__icon {
	top: 55px;
	width: 22px;
	height: 27px;
}
.sncpre-link-card--annonces .sncpre-link-card__icon {
	top: 63px;
	width: 27px;
	height: 26px;
}
.sncpre-link-card--textes-loi .sncpre-link-card__icon {
	top: 54px;
	width: 22px;
	height: 27px;
}
.sncpre-link-card--devis .sncpre-link-card__icon::after {
	content: "€";
	position: absolute;
	top: 11px;
	left: 50%;
	transform: translateX(-50%);
	color: var(--wp--preset--color--accent);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
}
.sncpre-syndicat-card__title,
.sncpre-link-card__title {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 89px var(--wp--preset--spacing--24) 0;
	box-sizing: border-box;
	line-height: 1.05;
}
.sncpre-syndicat-card--statuts .sncpre-syndicat-card__title,
.sncpre-syndicat-card--adhesion .sncpre-syndicat-card__title,
.sncpre-syndicat-card--contact .sncpre-syndicat-card__title {
	padding-top: 90px;
}
.sncpre-syndicat-card--presidences .sncpre-syndicat-card__title {
	padding-top: 72px;
}
.sncpre-link-card--textes-loi .sncpre-link-card__title {
	padding-top: 92px;
}
.sncpre-syndicat-card__title a,
.sncpre-link-card__title a {
	color: inherit;
	position: static;
	text-decoration: none;
}
.sncpre-syndicat-card__title a::after,
.sncpre-link-card__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

@media (max-width: 759.98px) {
	.sncpre-syndicat-listing,
	.sncpre-link-listing { padding-top: var(--wp--preset--spacing--48); }
	.sncpre-syndicat-grid,
	.sncpre-link-card-grid { margin-top: var(--wp--preset--spacing--48); }
	.sncpre-syndicat-card__title,
	.sncpre-link-card__title { font-size: var(--wp--preset--font-size--2-xl); }
}

/* ==========================================================================
   ORGANIGRAMME — archive CPT Figma 1:359
   ========================================================================== */

/* Figma 1:437 / 1:438 / 1:439 — titre, sous-titre et filet rouge. */
.sncpre-organigramme-page.has-background {
	padding: 0;
}
.sncpre-organigramme-listing {
	padding-top: var(--wp--preset--spacing--60);
	padding-bottom: var(--wp--preset--spacing--80);
}
.sncpre-organigramme-listing > .sncpre-shell {
	box-sizing: border-box;
	padding-inline: var(--wp--preset--spacing--gutter);
}
.sncpre-organigramme-listing__header {
	text-align: center;
}
.sncpre-organigramme-listing__subtitle {
	margin-top: 4px;
}
.sncpre-organigramme-listing__subtitle::after {
	content: "";
	display: block;
	width: 99px;
	height: 3px;
	background-color: var(--wp--preset--color--accent);
	margin: 10px auto 0;
}

/* Figma 1:360-1:428 — grille profils : 3 colonnes, gap 50 / 18. */
.sncpre-organigramme-query {
	margin-top: var(--wp--preset--spacing--40);
}
.sncpre-organigramme-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 50px 18px;
	margin: 0;
	padding: 0;
}
.sncpre-organigramme-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	margin: 0;
	overflow-wrap: anywhere;
}
.sncpre-organigramme-card > * {
	margin-block-start: 0;
	margin-block-end: 0;
}
.sncpre-organigramme-card__media {
	aspect-ratio: 443 / 488;
	width: 100%;
	margin: 0 0 8px;
	overflow: hidden;
	background-color: var(--wp--preset--color--divider);
}
.sncpre-organigramme-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.sncpre-organigramme-card__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 5px;
}
.sncpre-organigramme-card__poste,
.sncpre-organigramme-card__name,
.sncpre-organigramme-card__metier,
.sncpre-organigramme-card__mail {
	margin: 0;
}
.sncpre-organigramme-card__poste {
	color: var(--wp--preset--color--accent);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--base);
	font-weight: 600;
	line-height: 1.25;
}
.sncpre-organigramme-card__name {
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 600;
	line-height: 1.25;
}
.sncpre-organigramme-card__metier {
	color: var(--wp--preset--color--text-body);
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 400;
	line-height: 1.28;
}
.sncpre-organigramme-card__mail {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: 14px;
	color: var(--wp--preset--color--primary-light);
	font-size: var(--wp--preset--font-size--base);
	font-weight: 400;
	line-height: 1.25;
	white-space: nowrap;
}
.sncpre-organigramme-card__mail::before {
	content: "";
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background-color: var(--wp--preset--color--accent);
	flex: none;
}
.sncpre-organigramme-card__mail a {
	color: inherit;
	text-decoration: none;
}
.sncpre-organigramme-empty {
	text-align: center;
}

/* Fiche single : gabarit simple pour les profils du CPT. */
.sncpre-organigramme-single {
	padding-top: var(--wp--preset--spacing--60);
	padding-bottom: var(--wp--preset--spacing--80);
}
.sncpre-organigramme-single > .sncpre-shell {
	box-sizing: border-box;
	padding-inline: var(--wp--preset--spacing--gutter);
}
.sncpre-organigramme-single__profile {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--wp--preset--spacing--40);
	max-width: 960px;
	margin: 0 auto;
}
.sncpre-organigramme-single__media {
	aspect-ratio: 443 / 488;
	margin: 0;
	overflow: hidden;
	background-color: var(--wp--preset--color--divider);
}
.sncpre-organigramme-single__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.sncpre-organigramme-single__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: var(--wp--preset--spacing--12);
}

@media (min-width: 900px) {
	.sncpre-organigramme-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.sncpre-organigramme-single__profile {
		grid-template-columns: minmax(280px, 443px) minmax(0, 1fr);
		align-items: center;
	}
}
@media (min-width: 1280px) {
	.sncpre-organigramme-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
@media (max-width: 699.98px) {
	.sncpre-organigramme-listing > .sncpre-shell,
	.sncpre-organigramme-single > .sncpre-shell {
		padding-inline: var(--wp--preset--spacing--20);
	}
	.sncpre-organigramme-listing__title,
	.sncpre-organigramme-single__title {
		font-size: var(--wp--preset--font-size--4-xl);
	}
	.sncpre-organigramme-listing__subtitle {
		font-size: var(--wp--preset--font-size--2-xl);
	}
	.sncpre-organigramme-card__mail {
		white-space: normal;
	}
}

/* ==========================================================================
   ACTUALITÉS — listing Figma 1:798
   ========================================================================== */

/* Figma 1:807 / 1:808 — titre centre et filet rouge. */
.sncpre-actualites-listing {
	padding-top: var(--wp--preset--spacing--60);
	padding-bottom: var(--wp--preset--spacing--80);
}
.sncpre-actualites-listing > .sncpre-shell {
	box-sizing: border-box;
	padding-inline: var(--wp--preset--spacing--gutter);
}
.sncpre-actualites-listing__title::after {
	content: "";
	display: block;
	width: 99px;
	height: 3px;
	background-color: var(--wp--preset--color--accent);
	margin: var(--wp--preset--spacing--20) auto 0;
}

/* Figma 1:896 / 1:887 / 1:895 — recherche et filtres. */
.sncpre-actualites-controls {
	max-width: 609px;
	margin: 38px auto 0;
}
.sncpre-actualites-search {
	width: 100%;
	margin: 0;
}
.sncpre-actualites-search .wp-block-search__inside-wrapper {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	height: 43px;
	box-sizing: border-box;
	border: 1px solid var(--wp--preset--color--divider);
	padding: 0;
	background-color: transparent;
}
.sncpre-actualites-search .wp-block-search__input {
	width: 100%;
	height: 100%;
	border: 0;
	background: transparent;
	box-sizing: border-box;
	padding: 0 48px 0 12px;
	color: var(--wp--preset--color--text-body);
	font: 300 var(--wp--preset--font-size--lg) / 1.3 var(--wp--preset--font-family--body);
}
.sncpre-actualites-search .wp-block-search__input::placeholder {
	color: var(--wp--preset--color--text-muted);
	opacity: 1;
}
.sncpre-actualites-search .wp-block-search__input:focus {
	outline: 2px solid var(--wp--preset--color--primary-light);
	outline-offset: 2px;
}
.sncpre-actualites-search .wp-block-search__button {
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--primary-light);
	cursor: pointer;
}
.sncpre-actualites-search .wp-block-search__button svg {
	width: 20px;
	height: 20px;
	fill: currentColor;
}
.sncpre-actualites-filterbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--24);
	margin-top: 14px;
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.3;
}
.sncpre-actualites-filterbar__left,
.sncpre-actualites-filterbar__items {
	display: flex;
	align-items: center;
}
.sncpre-actualites-filterbar__left {
	gap: 30px;
}
.sncpre-actualites-filterbar__items {
	gap: var(--wp--preset--spacing--20);
}
.sncpre-actualites-filterbar__label,
.sncpre-actualites-reset {
	color: var(--wp--preset--color--text-body);
	font-weight: 400;
	white-space: nowrap;
}
.sncpre-actualites-filter {
	color: var(--wp--preset--color--text-muted);
	font-weight: 300;
	text-decoration: none;
	white-space: nowrap;
}
.sncpre-actualites-filter.is-active {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
	padding: 4px 10px;
	background-color: var(--wp--preset--color--bg-light);
	color: var(--wp--preset--color--accent);
	font-weight: 400;
}
.sncpre-actualites-filter__close {
	line-height: 1;
}
.sncpre-actualites-reset {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
	text-decoration: none;
}
.sncpre-actualites-reset::after {
	content: "";
	width: 12px;
	height: 12px;
	box-sizing: border-box;
	border: 1.5px solid currentColor;
	border-left-color: transparent;
	border-radius: 50%;
	transform: rotate(-35deg);
}

/* Figma 1:809-1:885 — grille 6 cartes article. */
.sncpre-actualites-query {
	margin-top: var(--wp--preset--spacing--80);
}
.sncpre-actualites-cards {
	display: grid;
	grid-template-columns: 1fr;
	gap: 50px 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.sncpre-actualites-cards > li {
	margin: 0;
}
.sncpre-actualites-card {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	padding-inline: var(--wp--preset--spacing--20);
}
.sncpre-actualites-card > * {
	margin-block-start: 0;
	margin-block-end: 0;
}
.sncpre-actualites-card__media {
	aspect-ratio: 401 / 249;
	width: 100%;
	margin: 0 0 10px;
	overflow: hidden;
}
.sncpre-actualites-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.sncpre-actualites-card__date {
	margin-bottom: var(--wp--preset--spacing--8);
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	line-height: 1.25;
	color: var(--wp--preset--color--accent);
}
.sncpre-actualites-card__title {
	margin-bottom: var(--wp--preset--spacing--8);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 600;
	line-height: 1.25;
	color: var(--wp--preset--color--primary);
}
.sncpre-actualites-card__title a {
	color: inherit;
	text-decoration: none;
}
.sncpre-actualites-card__excerpt {
	color: var(--wp--preset--color--text-body);
	line-height: 1.28;
}
.sncpre-actualites-card__excerpt p {
	margin: 0;
}
.sncpre-actualites-card__link {
	margin-top: 30px;
}
.sncpre-actualites-empty {
	text-align: center;
}
.sncpre-actualites-pagination {
	margin-top: 50px;
}
.sncpre-actualites-pagination .page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--wp--preset--spacing--12);
	margin: 0;
	padding: 0;
	list-style: none;
}
.sncpre-actualites-pagination a.page-numbers,
.sncpre-actualites-pagination span.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	min-height: 42px;
	padding: 8px 12px;
	border: 1px solid var(--wp--preset--color--accent);
	color: var(--wp--preset--color--primary-light);
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	text-decoration: none;
}
.sncpre-actualites-pagination span.page-numbers.current,
.sncpre-actualites-pagination a.page-numbers:hover,
.sncpre-actualites-pagination a.page-numbers:focus-visible {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--bg-white);
}

@media (min-width: 900px) {
	.sncpre-actualites-cards {
		grid-template-columns: repeat(2, minmax(0, 442px));
		justify-content: space-between;
	}
}
@media (min-width: 1280px) {
	.sncpre-actualites-cards {
		grid-template-columns: repeat(3, minmax(0, 442px));
		gap: 50px 17px;
		justify-content: start;
	}
}
@media (max-width: 699.98px) {
	.sncpre-actualites-listing > .sncpre-shell {
		padding-inline: var(--wp--preset--spacing--20);
	}
	.sncpre-actualites-controls {
		max-width: none;
	}
	.sncpre-actualites-filterbar,
	.sncpre-actualites-filterbar__left,
	.sncpre-actualites-filterbar__items {
		align-items: flex-start;
	}
	.sncpre-actualites-filterbar,
	.sncpre-actualites-filterbar__left {
		flex-direction: column;
	}
	.sncpre-actualites-filterbar__left {
		gap: var(--wp--preset--spacing--12);
	}
	.sncpre-actualites-filterbar__items {
		flex-wrap: wrap;
	}
	.sncpre-actualites-card {
		padding-inline: 0;
	}
	.sncpre-actualites-pagination ul.page-numbers {
		flex-wrap: wrap;
		gap: 8px;
	}
	.sncpre-actualites-pagination a.page-numbers,
	.sncpre-actualites-pagination span.page-numbers {
		min-width: 40px;
		min-height: 40px;
		padding: 6px 10px;
	}
}

/* ==========================================================================
   RECHERCHE GLOBALE — grille etats et pagination
   ========================================================================== */

.sncpre-search-results {
	box-sizing: border-box;
	padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--80);
	background: var(--wp--preset--color--bg-white);
}
.sncpre-search-results > .sncpre-shell {
	box-sizing: border-box;
	padding-inline: var(--wp--preset--spacing--gutter);
}
.sncpre-search-results__header {
	text-align: center;
}
.sncpre-search-results__title {
	margin: 0;
	color: var(--wp--preset--color--primary-light);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--5-xl);
	font-weight: 700;
	line-height: 1.2;
}
.sncpre-search-results__title::after {
	content: "";
	display: block;
	width: 99px;
	height: 3px;
	margin: var(--wp--preset--spacing--20) auto 0;
	background: var(--wp--preset--color--accent);
}
.sncpre-search-results__count {
	margin: var(--wp--preset--spacing--16) 0 0;
	color: var(--wp--preset--color--text-body);
	font-size: var(--wp--preset--font-size--lg);
}
.sncpre-search-results__form {
	max-width: 609px;
	margin: 38px auto 0;
}
.sncpre-search-results__query {
	margin-top: var(--wp--preset--spacing--60);
}
.sncpre-search-results__empty {
	margin: 0;
	color: var(--wp--preset--color--text-body);
	font-size: var(--wp--preset--font-size--lg);
	text-align: center;
}
.sncpre-search-results__pagination {
	margin-top: 50px;
}

@media (max-width: 699.98px) {
	.sncpre-search-results > .sncpre-shell {
		padding-inline: var(--wp--preset--spacing--20);
	}
	.sncpre-search-results__title {
		font-size: var(--wp--preset--font-size--4-xl);
	}
	.sncpre-search-results__form {
		max-width: none;
	}
	.sncpre-search-results__query {
		margin-top: var(--wp--preset--spacing--40);
	}
}

/* ==========================================================================
   TEXTES DE LOI — archive dynamique
   ========================================================================== */

.sncpre-legal-archive {
	box-sizing: border-box;
	padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--80);
	background: var(--wp--preset--color--bg-white);
}
.sncpre-legal-archive > .sncpre-shell {
	box-sizing: border-box;
	padding-inline: var(--wp--preset--spacing--gutter);
}
.sncpre-legal-archive__header {
	text-align: center;
}
.sncpre-legal-archive__title {
	margin: 0;
	color: var(--wp--preset--color--primary-light);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--5-xl);
	font-weight: 500;
	line-height: 1.15;
}
.sncpre-legal-archive__title::after {
	content: "";
	display: block;
	width: 99px;
	height: 3px;
	margin: var(--wp--preset--spacing--20) auto 0;
	background: var(--wp--preset--color--accent);
}
.sncpre-legal-archive__cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--24);
	margin-top: var(--wp--preset--spacing--60);
}
.sncpre-legal-card {
	box-sizing: border-box;
	display: flex;
	min-height: 300px;
	flex-direction: column;
	padding: 30px;
	border: 1px solid var(--wp--preset--color--divider);
	background: var(--wp--preset--color--bg-white);
	transition: border-color 180ms ease;
}
.sncpre-legal-card:hover,
.sncpre-legal-card:focus-within {
	border-color: var(--wp--preset--color--accent);
}
.sncpre-legal-card > * {
	margin-block: 0;
}
.sncpre-legal-card__type {
	color: var(--wp--preset--color--accent);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--base);
	font-weight: 600;
}
.sncpre-legal-card__title {
	margin-top: var(--wp--preset--spacing--12);
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 600;
	line-height: 1.25;
}
.sncpre-legal-card__title a {
	color: inherit;
	text-decoration: none;
}
.sncpre-legal-card__excerpt {
	margin-top: var(--wp--preset--spacing--16);
	color: var(--wp--preset--color--text-body);
	line-height: 1.5;
}
.sncpre-legal-card__link {
	margin-top: auto;
	padding-top: var(--wp--preset--spacing--24);
}
.sncpre-legal-archive__empty {
	margin: var(--wp--preset--spacing--60) 0 0;
	text-align: center;
}

@media (max-width: 999.98px) {
	.sncpre-legal-archive__cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 699.98px) {
	.sncpre-legal-archive > .sncpre-shell {
		padding-inline: var(--wp--preset--spacing--20);
	}
	.sncpre-legal-archive__title {
		font-size: var(--wp--preset--font-size--4-xl);
	}
	.sncpre-legal-archive__cards {
		grid-template-columns: 1fr;
		margin-top: var(--wp--preset--spacing--40);
	}
	.sncpre-legal-card {
		min-height: 0;
		padding: var(--wp--preset--spacing--24);
	}
}

/* ==========================================================================
   PETITES ANNONCES — listing CPT Figma 1:1185
   ========================================================================== */

/* Figma 1:1195 / 1:1196 / 1:1197 — titre, filet et recherche. */
.sncpre-petites-annonces-page.has-background {
	padding: 0;
}
.sncpre-annonces-listing {
	padding-top: var(--wp--preset--spacing--60);
	padding-bottom: var(--wp--preset--spacing--80);
	background-color: var(--wp--preset--color--bg-white);
}
.sncpre-annonces-listing > .sncpre-shell {
	box-sizing: border-box;
	padding-inline: var(--wp--preset--spacing--gutter);
}
.sncpre-annonces-listing__header {
	text-align: center;
}
.sncpre-annonces-listing__title::after {
	content: "";
	display: block;
	width: 99px;
	height: 3px;
	background-color: var(--wp--preset--color--accent);
	margin: var(--wp--preset--spacing--20) auto 0;
}
.sncpre-annonces-search {
	width: min(100%, 609px);
	margin: 40px auto 0;
}
.sncpre-annonces-search .wp-block-search__inside-wrapper {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	height: 43px;
	box-sizing: border-box;
	border: 1px solid var(--wp--preset--color--divider);
	background-color: transparent;
}
.sncpre-annonces-search .wp-block-search__input {
	width: 100%;
	height: 100%;
	border: 0;
	background: transparent;
	box-sizing: border-box;
	padding: 0 48px 0 12px;
	color: var(--wp--preset--color--text-body);
	font: 300 var(--wp--preset--font-size--lg) / 1.3 var(--wp--preset--font-family--body);
}
.sncpre-annonces-search .wp-block-search__input::placeholder {
	color: var(--wp--preset--color--text-muted);
	opacity: 1;
}
.sncpre-annonces-search .wp-block-search__input:focus {
	outline: 2px solid var(--wp--preset--color--primary-light);
	outline-offset: 2px;
}
.sncpre-annonces-search .wp-block-search__button {
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--primary-light);
	cursor: pointer;
	transition: color 0.2s ease;
}
.sncpre-annonces-search .wp-block-search__button:hover,
.sncpre-annonces-search .wp-block-search__button:focus-visible {
	color: var(--wp--preset--color--accent);
}
.sncpre-annonces-search .wp-block-search__button svg {
	width: 20px;
	height: 20px;
	fill: currentColor;
}

/* Figma 1:1271 / 1:1198-1:1254 — colonne filtres et cartes annonces. */
.sncpre-annonces-layout {
	display: grid;
	grid-template-columns: minmax(280px, 443px) minmax(0, 901px);
	align-items: start;
	justify-content: center;
	gap: 16px;
	margin-top: 109px;
}
.sncpre-annonces-filters {
	box-sizing: border-box;
	min-height: 627px;
	padding: var(--wp--preset--spacing--40);
	background-color: var(--wp--preset--color--bg-white);
	border: 1px solid var(--wp--preset--color--divider);
}
.sncpre-annonces-filters__heading,
.sncpre-annonces-filters__title,
.sncpre-annonces-filters__empty {
	margin: 0;
}
.sncpre-annonces-filters__heading {
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--3-xl);
	font-weight: 600;
	line-height: 1.25;
}
.sncpre-annonces-filters__group {
	margin-top: var(--wp--preset--spacing--40);
}
.sncpre-annonces-filters__title {
	color: var(--wp--preset--color--text-body);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 600;
	line-height: 1.25;
}
.sncpre-annonces-filters__options {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--16);
	list-style: none;
	margin: var(--wp--preset--spacing--20) 0 0;
	padding: 0;
}
.sncpre-annonces-filters__options li {
	margin: 0;
}
.sncpre-annonces-filter-option {
	display: grid;
	grid-template-columns: 16px minmax(0, 1fr);
	align-items: center;
	gap: 12px;
	color: var(--wp--preset--color--text-muted);
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 300;
	line-height: 1.3;
	text-decoration: none;
}
.sncpre-annonces-filter-option__box {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	box-sizing: border-box;
	border: 1px solid var(--wp--preset--color--divider);
	background-color: transparent;
}
.sncpre-annonces-filter-option.is-active .sncpre-annonces-filter-option__box {
	border-color: var(--wp--preset--color--accent);
	background-color: var(--wp--preset--color--accent);
}
.sncpre-annonces-filter-option.is-active .sncpre-annonces-filter-option__box::after {
	content: "";
	width: 7px;
	height: 4px;
	border-left: 2px solid var(--wp--preset--color--text-white);
	border-bottom: 2px solid var(--wp--preset--color--text-white);
	transform: rotate(-45deg) translateY(-1px);
}
.sncpre-annonces-filter-option:hover,
.sncpre-annonces-filter-option:focus-visible,
.sncpre-annonces-filter-option.is-active {
	color: var(--wp--preset--color--primary);
}
.sncpre-annonces-filters__empty {
	margin-top: var(--wp--preset--spacing--16);
	color: var(--wp--preset--color--text-muted);
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 300;
}
.sncpre-annonces-reset {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
	margin-top: var(--wp--preset--spacing--40);
	color: var(--wp--preset--color--text-body);
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 400;
	line-height: 1.3;
	text-decoration: none;
}
.sncpre-annonces-reset::after {
	content: "";
	width: 12px;
	height: 12px;
	box-sizing: border-box;
	border: 1.5px solid currentColor;
	border-left-color: transparent;
	border-radius: 50%;
	transform: rotate(-35deg);
}
.sncpre-annonces-results {
	min-width: 0;
}
.sncpre-annonce-cards {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--16);
}
.sncpre-annonce-card {
	position: relative;
	box-sizing: border-box;
	min-height: 332px;
	padding: var(--wp--preset--spacing--40);
	background-color: var(--wp--preset--color--bg-white);
	border: 1px solid var(--wp--preset--color--divider);
	color: var(--wp--preset--color--text-body);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.sncpre-annonce-card:hover,
.sncpre-annonce-card:focus-within {
	border-color: var(--wp--preset--color--accent);
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--accent), 0 22px 38px rgba(0, 74, 107, 0.08);
}
.sncpre-annonce-card > * {
	margin-block-start: 0;
	margin-block-end: 0;
}
.sncpre-annonce-card__badges {
	position: absolute;
	top: 36px;
	right: var(--wp--preset--spacing--40);
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: var(--wp--preset--spacing--8);
	max-width: 360px;
}
.sncpre-annonce-card__badge {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	box-sizing: border-box;
	padding: 5px var(--wp--preset--spacing--16);
	background-color: var(--wp--preset--color--bg-light);
	color: var(--wp--preset--color--text-muted);
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 300;
	line-height: 1.2;
}
.sncpre-annonce-card__title {
	max-width: 420px;
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--2-xl);
	font-weight: 600;
	line-height: 1.25;
}
.sncpre-annonce-card__title a {
	color: inherit;
	text-decoration: none;
}
.sncpre-annonce-card__location {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
	margin-top: var(--wp--preset--spacing--20);
	color: var(--wp--preset--color--accent);
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 300;
	line-height: 1.3;
}
.sncpre-annonce-card__location svg {
	width: 18px;
	height: 18px;
	flex: none;
	fill: currentColor;
}
.sncpre-annonce-card__excerpt {
	max-width: 640px;
	margin-top: var(--wp--preset--spacing--32);
	color: var(--wp--preset--color--text-body);
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 300;
	line-height: 1.3;
}
.sncpre-annonce-card__excerpt p {
	margin: 0;
}
.sncpre-annonce-card__link {
	position: absolute;
	left: var(--wp--preset--spacing--40);
	bottom: var(--wp--preset--spacing--40);
}
.sncpre-annonce-card__date {
	position: absolute;
	right: var(--wp--preset--spacing--40);
	bottom: var(--wp--preset--spacing--40);
	color: var(--wp--preset--color--text-muted);
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 300;
	line-height: 1.3;
}
.sncpre-annonces-empty {
	margin: 0;
	text-align: center;
}

/* Figma 1:1255 — pagination pleine largeur de la colonne resultats. */
.sncpre-annonces-pagination {
	display: grid;
	grid-template-columns: 71px minmax(0, 1fr) 71px;
	align-items: center;
	min-height: 71px;
	margin-top: var(--wp--preset--spacing--16);
	background-color: var(--wp--preset--color--bg-white);
	border: 1px solid var(--wp--preset--color--divider);
}
.sncpre-annonces-pagination__arrow,
.sncpre-annonces-pagination__page,
.sncpre-annonces-pagination__ellipsis {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--text-body);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 300;
	line-height: 1;
	text-decoration: none;
}
.sncpre-annonces-pagination__arrow {
	width: 71px;
	height: 71px;
}
.sncpre-annonces-pagination__arrow:first-child {
	border-right: 1px solid var(--wp--preset--color--divider);
}
.sncpre-annonces-pagination__arrow:last-child {
	border-left: 1px solid var(--wp--preset--color--divider);
}
.sncpre-annonces-pagination__arrow.is-disabled {
	color: var(--wp--preset--color--divider);
}
.sncpre-annonces-pagination__pages {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--wp--preset--spacing--24);
}
.sncpre-annonces-pagination__page.is-current {
	color: var(--wp--preset--color--accent);
	font-weight: 600;
}

@media (max-width: 1099.98px) {
	.sncpre-annonces-layout {
		grid-template-columns: 1fr;
		margin-top: var(--wp--preset--spacing--80);
	}
	.sncpre-annonces-filters {
		min-height: 0;
	}
}

@media (max-width: 699.98px) {
	.sncpre-annonces-listing > .sncpre-shell {
		padding-inline: var(--wp--preset--spacing--20);
	}
	.sncpre-annonces-listing {
		padding-top: var(--wp--preset--spacing--48);
	}
	.sncpre-annonces-search {
		margin-top: var(--wp--preset--spacing--32);
	}
	.sncpre-annonces-layout {
		margin-top: var(--wp--preset--spacing--48);
	}
	.sncpre-annonces-filters,
	.sncpre-annonce-card {
		padding: var(--wp--preset--spacing--24);
	}
	.sncpre-annonce-card {
		min-height: 0;
	}
	.sncpre-annonce-card__badges,
	.sncpre-annonce-card__link,
	.sncpre-annonce-card__date {
		position: static;
	}
	.sncpre-annonce-card__badges {
		justify-content: flex-start;
		max-width: none;
		margin-bottom: var(--wp--preset--spacing--24);
	}
	.sncpre-annonce-card__title {
		max-width: none;
	}
	.sncpre-annonce-card__link {
		margin-top: var(--wp--preset--spacing--32);
	}
	.sncpre-annonce-card__date {
		display: block;
		margin-top: var(--wp--preset--spacing--20);
	}
	.sncpre-annonces-pagination {
		grid-template-columns: 52px minmax(0, 1fr) 52px;
		min-height: 52px;
	}
	.sncpre-annonces-pagination__arrow {
		width: 52px;
		height: 52px;
	}
	.sncpre-annonces-pagination__pages {
		gap: var(--wp--preset--spacing--16);
	}
}

/* ========================================================================== 
   FICHE ANNONCE — Figma 1:1867
   ========================================================================== */
.sncpre-annonce-single-page.has-background {
	padding: 0;
}
.sncpre-annonce-single {
	padding-top: var(--wp--preset--spacing--60);
	padding-bottom: var(--wp--preset--spacing--120);
}
.sncpre-annonce-single__shell {
	box-sizing: border-box;
	padding-inline: var(--wp--preset--spacing--gutter);
}
.sncpre-annonce-single__back {
	margin: 0 0 var(--wp--preset--spacing--24);
	line-height: 1.25;
}
.sncpre-annonce-single__back .arrow-link {
	color: var(--wp--preset--color--primary-light);
	gap: 6px;
	line-height: 1.25;
}
.sncpre-annonce-single__back .arrow-link::before {
	display: none;
}
.sncpre-annonce-single__back .arrow-link::after {
	width: 29px;
	height: 17px;
	background-color: transparent;
	background-image: url("../images/arrow-back.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	mask: none;
	-webkit-mask: none;
}
.sncpre-annonce-single__layout {
	display: grid;
	grid-template-columns: minmax(0, 2.034fr) minmax(320px, 1fr);
	gap: var(--wp--preset--spacing--16);
	align-items: start;
}
.sncpre-annonce-single__content,
.sncpre-annonce-single__aside {
	box-sizing: border-box;
	background-color: var(--wp--preset--color--bg-white);
	border: 1px solid var(--wp--preset--color--divider);
}
.sncpre-annonce-single__content {
	min-height: 910px;
	padding: var(--wp--preset--spacing--32);
}
.sncpre-annonce-single__title {
	margin: 0;
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--h2);
	font-weight: 600;
	line-height: 1.3125;
}
.sncpre-annonce-single__location {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
	margin: var(--wp--preset--spacing--8) 0 0;
	color: var(--wp--preset--color--accent);
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.3;
}
.sncpre-annonce-single__location svg {
	width: 16px;
	height: 20px;
	flex: none;
	fill: currentColor;
}
.sncpre-annonce-single__date {
	display: block;
	margin-top: var(--wp--preset--spacing--16);
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.3;
}
.sncpre-annonce-single__divider,
.sncpre-annonce-single__aside-divider {
	height: 1px;
	background-color: var(--wp--preset--color--divider);
}
.sncpre-annonce-single__divider {
	margin-block: var(--wp--preset--spacing--20);
}
.sncpre-annonce-single__details {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--32);
}
.sncpre-annonce-single__detail {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--8);
}
.sncpre-annonce-single__detail-title {
	margin: 0;
	color: var(--wp--preset--color--primary-light);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 700;
	line-height: 1.3;
}
.sncpre-annonce-single__detail-body {
	color: var(--wp--preset--color--text-body);
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.3;
}
.sncpre-annonce-single__detail-body p {
	margin: 0;
}
.sncpre-annonce-single__post-content > :first-child {
	margin-top: 0;
}
.sncpre-annonce-single__post-content > :last-child {
	margin-bottom: 0;
}
.sncpre-annonce-single__post-content > * + * {
	margin-top: var(--wp--preset--spacing--16);
}
.sncpre-annonce-single__post-content ul,
.sncpre-annonce-single__post-content ol {
	padding-left: 1.2em;
}
.sncpre-annonce-single__aside {
	min-height: 240px;
	padding: var(--wp--preset--spacing--40);
}
.sncpre-annonce-single__aside-top {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--16);
}
.sncpre-annonce-single__apply {
	display: inline-flex;
	width: auto;
	margin: 0;
	line-height: 1.25;
}
.sncpre-annonce-single__reference {
	margin: 0;
	color: var(--wp--preset--color--text-body);
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.3;
}
.sncpre-annonce-single__aside-divider {
	margin-block: var(--wp--preset--spacing--24);
}
.sncpre-annonce-single__tags {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--8);
}
.sncpre-annonce-single__tag {
	display: inline-flex;
	align-items: center;
	min-height: 26px;
	box-sizing: border-box;
	padding: 3px 10px;
	background-color: var(--wp--preset--color--bg-light);
	color: var(--wp--preset--color--text-muted);
	font-size: var(--wp--preset--font-size--base);
	font-weight: 300;
	line-height: 1.2;
}
@media (max-width: 899.98px) {
	.sncpre-annonce-single {
		padding-top: var(--wp--preset--spacing--48);
		padding-bottom: var(--wp--preset--spacing--80);
	}
	.sncpre-annonce-single__layout {
		grid-template-columns: 1fr;
	}
	.sncpre-annonce-single__content {
		min-height: 0;
	}
}
@media (max-width: 699.98px) {
	.sncpre-annonce-single__shell {
		padding-inline: var(--wp--preset--spacing--20);
	}
	.sncpre-annonce-single__content,
	.sncpre-annonce-single__aside {
		padding: var(--wp--preset--spacing--24);
	}
	.sncpre-annonce-single__title {
		font-size: var(--wp--preset--font-size--4-xl);
	}
}

/* ========================================================================== 
   CONTACT — formulaire securise Figma 1:1539
   ========================================================================== */

.wp-block-post-content > .sncpre-contact-page {
	margin-block-start: 0;
	padding-top: 0;
}
.sncpre-contact-page { padding: 0; }
.sncpre-contact-heading {
	display: flex;
	flex-direction: column;
	align-items: center;
	/* Le header FSE commun depasse la reference Figma de 13px. */
	padding-top: calc(var(--wp--preset--spacing--60) - 13px);
}
.sncpre-contact-title { min-width: 207px; margin: 0; line-height: 1.2; }
.sncpre-contact-heading__rule {
	display: block;
	width: 99px;
	height: 3px;
	margin-top: var(--wp--preset--spacing--20);
	background-color: var(--wp--preset--color--accent);
}
.wp-block-columns.sncpre-contact-layout {
	display: grid;
	grid-template-columns: minmax(0, 557px) minmax(0, 331px);
	gap: 0;
	justify-content: space-between;
	max-width: 1134px;
	min-height: 637px;
	margin: 61px auto var(--wp--preset--spacing--80);
}
.sncpre-contact-layout > .wp-block-column { flex-basis: auto; margin: 0; }
.sncpre-contact-section-title {
	margin: 0;
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 600;
	line-height: 1.25;
}
.sncpre-contact-form {
	display: flex;
	flex-direction: column;
	gap: 22px;
	margin: 30px 0 0;
}
.sncpre-contact-form__field {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--8);
	margin: 0;
}
.sncpre-contact-form__field label {
	color: var(--wp--preset--color--text-body);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--base);
	font-weight: 600;
	line-height: 20px;
}
.sncpre-contact-form__field input,
.sncpre-contact-form__field textarea {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	color: var(--wp--preset--color--text-body);
	background-color: var(--wp--preset--color--bg-white);
	border: 2px solid var(--wp--preset--color--divider);
	border-radius: 0;
	font: inherit;
	outline: 0;
}
.sncpre-contact-form__field input {
	height: 54px;
	padding: 12px var(--wp--preset--spacing--16);
}
.sncpre-contact-form__field textarea {
	height: 184px;
	padding: 12px var(--wp--preset--spacing--16);
	resize: vertical;
}
.sncpre-contact-form__field input:focus,
.sncpre-contact-form__field textarea:focus {
	border-color: var(--wp--preset--color--primary-light);
	box-shadow: 0 0 0 3px rgba(0, 98, 142, 0.14);
}
.sncpre-contact-form__field input.is-invalid,
.sncpre-contact-form__field textarea.is-invalid {
	border-color: var(--wp--preset--color--accent);
}
.sncpre-contact-form__error {
	margin-top: -2px;
	color: var(--wp--preset--color--accent);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.3;
}
.sncpre-contact-form__honeypot {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}
.sncpre-contact-form__submit {
	align-self: flex-start;
	min-height: 36px;
	margin: 0;
	padding: var(--wp--preset--spacing--8) 18px;
	color: var(--wp--preset--color--text-white);
	background-color: var(--wp--preset--color--accent);
	border: 0;
	border-radius: 24px;
	font-family: var(--wp--preset--font-family--label);
	font-size: var(--wp--preset--font-size--base);
	font-weight: 700;
	line-height: 20px;
	cursor: pointer;
}
.sncpre-contact-form__submit:hover,
.sncpre-contact-form__submit:focus-visible {
	background-color: var(--wp--preset--color--primary);
}
.sncpre-contact-notice {
	margin: var(--wp--preset--spacing--20) 0 0;
	padding: var(--wp--preset--spacing--12) var(--wp--preset--spacing--16);
	border-left: 3px solid currentColor;
	font-size: var(--wp--preset--font-size--base);
	line-height: 1.4;
}
.sncpre-contact-notice.is-success { color: var(--wp--preset--color--primary); background-color: var(--wp--preset--color--bg-light); }
.sncpre-contact-notice.is-error { color: var(--wp--preset--color--accent); background-color: var(--wp--preset--color--bg-light); }
.sncpre-contact-details__list {
	display: flex;
	flex-direction: column;
	gap: 28px;
	width: 309px;
	margin: 30px 0 0;
	padding: 0;
	list-style: none;
}
.sncpre-contact-details__list > * + * { margin-block-start: 0; }
.sncpre-contact-details__item {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
	color: var(--wp--preset--color--text-body);
}
.sncpre-contact-details__item > * { margin: 0; }
.sncpre-contact-details__icon {
	width: 22px;
	height: 22px;
	flex: none;
	line-height: 0;
}
.sncpre-contact-details__icon img { display: block; width: 22px; height: 22px; }
.sncpre-contact-details__text { margin: 0; color: inherit; line-height: 23px; }
.sncpre-contact-details__text a { color: inherit; text-decoration: none; }
.sncpre-contact-details__text a:hover,
.sncpre-contact-details__text a:focus-visible { color: var(--wp--preset--color--primary-light); text-decoration: underline; }
.sncpre-contact-membership { margin-top: 140px; }
.sncpre-contact-membership h2 {
	margin: 0;
	color: var(--wp--preset--color--accent);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 600;
	line-height: 1.25;
}
.sncpre-contact-membership__link {
	display: inline-flex;
	align-items: center;
	position: relative;
	margin-top: 17px;
	padding: 0 0 7px 15px;
	border-bottom: 1px solid var(--wp--preset--color--primary-light);
	color: var(--wp--preset--color--primary-light);
	font-size: var(--wp--preset--font-size--base);
	font-weight: 700;
	line-height: 20px;
	text-decoration: none;
}
.sncpre-contact-membership__link::before {
	content: "";
	position: absolute;
	left: 0;
	top: 6px;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background-color: var(--wp--preset--color--accent);
}
.sncpre-contact-membership__link a { color: inherit; text-decoration: none; }
.sncpre-contact-membership__action {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 0;
}
.sncpre-contact-membership__action > * { margin: 0; }
.sncpre-contact-membership__arrow {
	width: 29px;
	height: 17px;
	margin-top: 17px;
	line-height: 0;
}
.sncpre-contact-membership__arrow img { display: block; width: 29px; height: 17px; }
.sncpre-contact-membership__link:hover,
.sncpre-contact-membership__link:focus-within { color: var(--wp--preset--color--accent); }

@media (max-width: 1199.98px) {
	.wp-block-columns.sncpre-contact-layout {
		grid-template-columns: minmax(0, 557px) minmax(280px, 331px);
		gap: var(--wp--preset--spacing--60);
		margin-inline: var(--wp--preset--spacing--gutter);
	}
}
@media (max-width: 899.98px) {
	.wp-block-columns.sncpre-contact-layout {
		grid-template-columns: 1fr;
		gap: var(--wp--preset--spacing--60);
		min-height: 0;
	}
	.sncpre-contact-membership { margin-top: 56px; }
}
@media (max-width: 699.98px) {
	.sncpre-contact-heading { padding-top: var(--wp--preset--spacing--48); }
	.sncpre-contact-title { font-size: var(--wp--preset--font-size--4xl); }
	.wp-block-columns.sncpre-contact-layout { gap: var(--wp--preset--spacing--48); margin: 46px var(--wp--preset--spacing--20) var(--wp--preset--spacing--60); }
	.sncpre-contact-details__list { width: 100%; }
}

/* ==========================================================================
   ESPACE MEMBRE — Figma 1:1695
   ========================================================================== */

.sncpre-member-login-page {
	display: grid;
	place-items: center;
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	min-height: 859px;
	padding: var(--wp--preset--spacing--40);
}
.sncpre-member-login-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	box-sizing: border-box;
	width: min(673px, 100%);
	min-height: 477px;
	margin: 0;
	padding: var(--wp--preset--spacing--40) 58px;
	gap: 54px;
	box-shadow: 0 0 22px rgba(0, 0, 0, 0.04);
}
.sncpre-member-login-card > * {
	margin-block-start: 0;
	margin-block-end: 0;
}
.sncpre-member-login-title {
	margin: 0;
	font-size: var(--wp--preset--font-size--5-xl);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
}
.sncpre-member-login-form {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 54px;
	width: 557px;
	max-width: 100%;
	margin: 0;
}
.sncpre-member-login-form__fields {
	display: flex;
	flex-direction: column;
	gap: 22px;
	width: 100%;
}
.sncpre-member-login-form__field {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--8);
	width: 100%;
	margin: 0;
}
.sncpre-member-login-form__field label {
	color: var(--wp--preset--color--text-body);
	font-size: var(--wp--preset--font-size--base);
	font-weight: 600;
	line-height: 20px;
	text-align: center;
}
.sncpre-member-login-form__field input {
	box-sizing: border-box;
	width: 100%;
	height: 54px;
	margin: 0;
	padding: 12px var(--wp--preset--spacing--16);
	color: var(--wp--preset--color--text-body);
	background-color: var(--wp--preset--color--bg-white);
	border: 2px solid var(--wp--preset--color--divider);
	border-radius: 0;
	font: inherit;
	outline: 0;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.sncpre-member-login-form__field input:focus {
	border-color: var(--wp--preset--color--primary-light);
	box-shadow: 0 0 0 3px rgba(0, 98, 142, 0.14);
}
.sncpre-member-login-form__field input.is-invalid {
	border-color: var(--wp--preset--color--accent);
}
.sncpre-member-login-form__error {
	margin-top: -2px;
	color: var(--wp--preset--color--accent);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.3;
	text-align: center;
}
.sncpre-member-login-form__submit {
	box-sizing: border-box;
	width: 152px;
	height: 36px;
	margin: 0;
	padding: 6px 16px;
	color: var(--wp--preset--color--text-white);
	background-color: var(--wp--preset--color--accent);
	border: 2px solid var(--wp--preset--color--accent);
	border-radius: 24px;
	font-family: var(--wp--preset--font-family--label);
	font-size: var(--wp--preset--font-size--base);
	font-weight: 700;
	line-height: 20px;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}
.sncpre-member-login-form__submit span {
	display: block;
	width: 116px;
}
.sncpre-member-login-form__submit:hover,
.sncpre-member-login-form__submit:focus-visible {
	background-color: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
}
.sncpre-member-login-notice {
	width: 100%;
	margin: -24px 0 -30px;
	padding: var(--wp--preset--spacing--8) var(--wp--preset--spacing--12);
	color: var(--wp--preset--color--accent);
	background-color: var(--wp--preset--color--bg-light);
	border-left: 3px solid currentColor;
	font-size: var(--wp--preset--font-size--base);
	line-height: 1.4;
	text-align: center;
}
@media (max-width: 699.98px) {
	.sncpre-member-login-page {
		min-height: 640px;
		padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--20);
	}
	.sncpre-member-login-card {
		width: calc(100vw - 40px);
		min-width: 0;
		min-height: 0;
		padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--20);
	}
	.sncpre-member-login-form,
	.sncpre-member-login-form__fields,
	.sncpre-member-login-form__field {
		width: 100%;
		min-width: 0;
	}
	.sncpre-member-login-title {
		font-size: var(--wp--preset--font-size--4-xl);
	}
}

/* État connecté de la même page Espace membre — Figma 1:1775. */
.sncpre-member-dashboard-page {
	display: flex;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	min-height: 859px;
	padding: 50px var(--wp--preset--spacing--20) 89px;
}
.sncpre-member-dashboard {
	display: flex;
	flex-direction: column;
	align-items: center;
	box-sizing: border-box;
	width: min(1129px, 100%);
	min-height: 720px;
	margin: 0;
	padding-top: 45px;
}
.sncpre-member-dashboard > * {
	margin-block-start: 0;
	margin-block-end: 0;
}
.sncpre-member-dashboard__title {
	margin: 0;
	font-size: var(--wp--preset--font-size--5-xl);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
}
.wp-block-sncpre-member-logout {
	margin-top: 22px;
}
.sncpre-member-dashboard__logout {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	gap: 6px;
	width: 192px;
	height: 36px;
	margin-top: 22px;
	padding: 6px 18px;
	color: var(--wp--preset--color--text-white);
	background-color: var(--wp--preset--color--accent);
	border: 2px solid var(--wp--preset--color--accent);
	border-radius: 24px;
	font-family: var(--wp--preset--font-family--label);
	font-size: var(--wp--preset--font-size--base);
	font-weight: 700;
	line-height: 20px;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}
.sncpre-member-dashboard__logout img {
	width: 18px;
	height: 18px;
	flex: none;
}
.sncpre-member-dashboard__logout:hover,
.sncpre-member-dashboard__logout:focus-visible {
	color: var(--wp--preset--color--text-white);
	background-color: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
}
.sncpre-member-dashboard__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 442px));
	gap: 18px;
	width: 902px;
	max-width: calc(100% - 40px);
	margin-top: 76px;
}
.sncpre-member-dashboard-card {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	height: 184px;
	margin: 0;
	border: 2px solid var(--wp--preset--color--bg-light);
	transition: border-color 0.2s ease;
}
.sncpre-member-dashboard-card > * {
	margin-block-start: 0;
	margin-block-end: 0;
}
.sncpre-member-dashboard-card__icon {
	position: absolute;
	left: 50%;
	margin: 0;
	transform: translateX(-50%);
	line-height: 0;
}
.sncpre-member-dashboard-card__icon img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.sncpre-member-dashboard-card__title {
	position: absolute;
	left: 50%;
	margin: 0;
	font-size: var(--wp--preset--font-size--card-title);
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: 0;
	transform: translateX(-50%);
}
.sncpre-member-dashboard-card__title a {
	color: inherit;
	text-decoration: none;
}
.sncpre-member-dashboard-card:hover,
.sncpre-member-dashboard-card:focus-within {
	border-color: var(--wp--preset--color--accent);
}
.sncpre-member-dashboard-card:hover .sncpre-member-dashboard-card__title,
.sncpre-member-dashboard-card:focus-within .sncpre-member-dashboard-card__title {
	color: var(--wp--preset--color--accent);
}
.sncpre-member-dashboard-card--exercice .sncpre-member-dashboard-card__icon {
	top: 50px;
	width: 30px;
	height: 30px;
}
.sncpre-member-dashboard-card--exercice .sncpre-member-dashboard-card__title {
	top: 87px;
	width: 365px;
}
.sncpre-member-dashboard-card--ateliers .sncpre-member-dashboard-card__icon {
	top: 49px;
	width: 31px;
	height: 30px;
}
.sncpre-member-dashboard-card--ateliers .sncpre-member-dashboard-card__title {
	top: 87px;
	width: 376px;
}
.sncpre-member-dashboard-card--archives .sncpre-member-dashboard-card__icon {
	top: 42px;
	width: 19px;
	height: 23px;
}
.sncpre-member-dashboard-card--archives .sncpre-member-dashboard-card__title {
	top: 70px;
	width: 318px;
	line-height: 1;
}
.sncpre-member-dashboard-card--cotisation .sncpre-member-dashboard-card__icon {
	top: 55px;
	width: 28px;
	height: 21px;
}
.sncpre-member-dashboard-card--cotisation .sncpre-member-dashboard-card__title {
	top: 88px;
	width: 377px;
}
@media (max-width: 959.98px) {
	.sncpre-member-dashboard-page {
		min-height: 0;
		padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--20) var(--wp--preset--spacing--60);
	}
	.sncpre-member-dashboard {
		width: 100%;
		min-height: 0;
		padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--20);
	}
	.sncpre-member-dashboard__grid {
		grid-template-columns: 1fr;
		width: 100%;
		max-width: 442px;
		margin-top: var(--wp--preset--spacing--60);
	}
}
@media (max-width: 699.98px) {
	.sncpre-member-dashboard__title {
		font-size: var(--wp--preset--font-size--4-xl);
	}
	.sncpre-member-dashboard-card__title,
	.sncpre-member-dashboard-card--exercice .sncpre-member-dashboard-card__title,
	.sncpre-member-dashboard-card--ateliers .sncpre-member-dashboard-card__title,
	.sncpre-member-dashboard-card--archives .sncpre-member-dashboard-card__title,
	.sncpre-member-dashboard-card--cotisation .sncpre-member-dashboard-card__title {
		width: calc(100% - 32px);
		font-size: var(--wp--preset--font-size--3-xl);
	}
}

/* Modèle de contenu Espace pro — Figma 1:1969, 1:1970 et 1:1971. */
.sncpre-espace-pro-content-page {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--40) var(--wp--preset--spacing--80);
}
.sncpre-espace-pro-content-shell {
	width: 100%;
}
.sncpre-espace-pro-content-back,
.sncpre-espace-pro-post-content {
	margin-block-start: 0;
}
.sncpre-espace-pro-content-back a {
	color: var(--wp--preset--color--primary-light);
	text-decoration: none;
}
.sncpre-espace-pro-content-back {
	line-height: 1.25;
}
.sncpre-espace-pro-content-back .arrow-link::before {
	display: none;
}
.sncpre-espace-pro-content-card {
	box-sizing: border-box;
	width: 100%;
	margin-top: 36px;
	padding: var(--wp--preset--spacing--60);
	box-shadow: 0 0 34px rgba(0, 0, 0, 0.05);
}
.sncpre-espace-pro-post-content {
	width: 100%;
	max-width: 980px;
	margin-inline: auto;
	color: var(--wp--preset--color--text-body);
	font-size: var(--wp--preset--font-size--base);
	line-height: 1.65;
}
.sncpre-espace-pro-post-content > .wp-block-heading:first-child {
	max-width: 1237px;
	margin-block-start: 0;
	margin-block-end: var(--wp--preset--spacing--40);
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--article-title);
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0;
}
.sncpre-espace-pro-post-content > .wp-block-heading:first-child::after {
	content: "";
	display: block;
	width: 99px;
	height: 3px;
	margin-top: var(--wp--preset--spacing--24);
	background: var(--wp--preset--color--accent);
}
.sncpre-espace-pro-post-content > * {
	max-width: none;
	margin-block-start: 0;
	margin-block-end: 0;
}
.sncpre-espace-pro-post-content > * + * {
	margin-block-start: var(--wp--preset--spacing--24);
}
.sncpre-espace-pro-post-content h2,
.sncpre-espace-pro-post-content h3,
.sncpre-espace-pro-post-content h4 {
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0;
	text-wrap: balance;
}
.sncpre-espace-pro-post-content h2 {
	margin-top: var(--wp--preset--spacing--60);
	font-size: 28px;
}
.sncpre-espace-pro-post-content h3 {
	margin-top: var(--wp--preset--spacing--40);
	font-size: 22px;
}
.sncpre-espace-pro-post-content h4 {
	margin-top: var(--wp--preset--spacing--32);
	font-size: 18px;
}
.sncpre-espace-pro-post-content .sncpre-member-section-title {
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--24);
	border-left: 4px solid var(--wp--preset--color--accent);
	background: var(--wp--preset--color--bg-card-soft);
}
.sncpre-espace-pro-post-content p,
.sncpre-espace-pro-post-content li {
	line-height: 1.65;
}
.sncpre-espace-pro-post-content .wp-block-list {
	padding-left: var(--wp--preset--spacing--32);
}
.sncpre-espace-pro-post-content a {
	color: var(--wp--preset--color--primary-light);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.sncpre-espace-pro-post-content a:hover,
.sncpre-espace-pro-post-content a:focus-visible {
	color: var(--wp--preset--color--accent);
}
.wp-block-file:not(.wp-element-button) {
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--wp--preset--spacing--16);
	padding: var(--wp--preset--spacing--24);
	background: var(--wp--preset--color--bg-pure);
	border-radius: 10px;
	font-size: 16px;
}
.sncpre-espace-pro-post-content .wp-block-file {
	width: 100%;
}
.sncpre-espace-pro-post-content .wp-block-file > a:first-child {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	line-height: 1.4;
	overflow-wrap: anywhere;
}
.wp-block-file .wp-block-file__button {
	margin-left: 0;
}
.sncpre-espace-pro-post-content .wp-block-file__button,
.sncpre-legal-content .wp-block-file__button {
	margin-left: 0;
	background: var(--wp--preset--color--primary-light);
	color: var(--wp--preset--color--bg-white);
	text-decoration: none;
}
.sncpre-espace-pro-post-content .wp-block-file__button:hover,
.sncpre-espace-pro-post-content .wp-block-file__button:focus-visible,
.sncpre-legal-content .wp-block-file__button:hover,
.sncpre-legal-content .wp-block-file__button:focus-visible {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--bg-white);
}
.sncpre-espace-pro-post-content .wp-block-table,
.sncpre-legal-content .wp-block-table {
	overflow-x: auto;
}
.sncpre-espace-pro-post-content .wp-block-table table,
.sncpre-legal-content .wp-block-table table {
	min-width: 640px;
	border-collapse: collapse;
}
.sncpre-espace-pro-post-content .wp-block-table th,
.sncpre-espace-pro-post-content .wp-block-table td,
.sncpre-legal-content .wp-block-table th,
.sncpre-legal-content .wp-block-table td {
	padding: var(--wp--preset--spacing--16);
	vertical-align: top;
	border: 1px solid var(--wp--preset--color--divider);
}
.sncpre-espace-pro-post-content .wp-block-table th,
.sncpre-legal-content .wp-block-table th {
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--heading);
}

/* Archives des catégories Espace pro. */
.sncpre-espace-pro-archive {
	box-sizing: border-box;
	width: 100%;
	min-height: 45vh;
	padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--gutter) var(--wp--preset--spacing--80);
}
.sncpre-espace-pro-archive__shell {
	width: 100%;
}
.sncpre-espace-pro-archive__heading {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-block-start: 0;
}
.sncpre-espace-pro-archive__heading .wp-block-query-title {
	margin: 0;
}
.sncpre-espace-pro-archive__heading .wp-block-separator {
	width: 99px;
	max-width: 99px;
	height: 3px;
	min-height: 3px;
	margin: var(--wp--preset--spacing--24) auto 0;
	border: 0;
}
.sncpre-espace-pro-archive__heading .wp-block-term-description {
	max-width: 760px;
	margin: var(--wp--preset--spacing--24) auto 0;
}
.sncpre-espace-pro-archive__query {
	margin-block-start: var(--wp--preset--spacing--60);
}
.sncpre-espace-pro-archive__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--24);
	margin: 0;
	padding: 0;
}
.sncpre-espace-pro-archive-card {
	box-sizing: border-box;
	min-width: 0;
	padding: var(--wp--preset--spacing--32);
	border: 1px solid var(--wp--preset--color--divider);
	border-radius: 4px;
}
.sncpre-espace-pro-archive-card .wp-block-post-title,
.sncpre-espace-pro-archive-card .wp-block-post-excerpt,
.sncpre-espace-pro-archive-card .wp-block-post-excerpt__excerpt,
.sncpre-espace-pro-archive-card .wp-block-post-excerpt__more-text {
	margin: 0;
}
.sncpre-espace-pro-archive-card .wp-block-post-title a {
	text-decoration: none;
}
.sncpre-espace-pro-archive-card .wp-block-post-excerpt {
	margin-top: var(--wp--preset--spacing--16);
}
.sncpre-espace-pro-archive-card .wp-block-post-excerpt__more-link {
	display: inline-block;
	margin-top: var(--wp--preset--spacing--16);
	color: var(--wp--preset--color--primary-light);
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
}
.sncpre-espace-pro-archive-card:hover,
.sncpre-espace-pro-archive-card:focus-within {
	border-color: var(--wp--preset--color--accent);
}

@media (max-width: 699.98px) {
	.sncpre-espace-pro-archive {
		padding: var(--wp--preset--spacing--40) 20px var(--wp--preset--spacing--60);
	}
	.sncpre-espace-pro-archive__list {
		grid-template-columns: 1fr;
	}
	.sncpre-espace-pro-archive-card {
		padding: var(--wp--preset--spacing--24);
	}
}

/* Pages éditoriales publiques issues de la migration de l'ancien site. */
.sncpre-public-content-page {
	box-sizing: border-box;
	width: 100%;
	padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--gutter) var(--wp--preset--spacing--80);
}
.sncpre-public-content-back {
	margin: 0;
	font-weight: 700;
}
.sncpre-public-content-back a {
	color: var(--wp--preset--color--primary-light);
	text-decoration: none;
}
.sncpre-public-content-heading {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: var(--wp--preset--spacing--40);
}
.sncpre-public-content-heading h1 {
	margin: 0;
	font-weight: 700;
	line-height: 1.2;
}
.sncpre-public-content-heading .wp-block-separator {
	margin-top: var(--wp--preset--spacing--20);
}
.sncpre-public-content-intro {
	max-width: 900px;
	margin: var(--wp--preset--spacing--24) auto 0;
	color: var(--wp--preset--color--primary);
	font-weight: 600;
	line-height: 1.5;
}
.sncpre-public-content-card {
	box-sizing: border-box;
	width: 100%;
	max-width: 1280px;
	margin-top: var(--wp--preset--spacing--48);
	padding: var(--wp--preset--spacing--60);
	box-shadow: 0 0 34px rgba(0, 0, 0, 0.05);
}
.sncpre-public-content-body {
	max-width: 1120px;
	margin: 0 auto;
	color: var(--wp--preset--color--text-body);
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.65;
}
.sncpre-public-content-body > * {
	margin-block: 0;
}
.sncpre-public-content-body > * + * {
	margin-top: var(--wp--preset--spacing--20);
}
.sncpre-legal-content h2,
.sncpre-legal-content h3,
.sncpre-legal-content h4 {
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	line-height: 1.3;
}
.sncpre-legal-content a:not(.wp-block-button__link):not(.wp-block-file__button) {
	color: var(--wp--preset--color--primary-light);
	text-underline-offset: 3px;
}
.sncpre-legal-content a:not(.wp-block-button__link):not(.wp-block-file__button):hover,
.sncpre-legal-content a:not(.wp-block-button__link):not(.wp-block-file__button):focus-visible {
	color: var(--wp--preset--color--accent);
}
.sncpre-legal-index-intro {
	margin-bottom: 0;
}
.sncpre-legal-index-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--24);
	margin-top: var(--wp--preset--spacing--48);
}
.sncpre-legal-index-grid > .sncpre-legal-index-card {
	margin-block-start: 0;
}
.sncpre-legal-index-card {
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	min-width: 0;
	min-height: 280px;
	padding: var(--wp--preset--spacing--32);
	border: 1px solid var(--wp--preset--color--divider);
	transition: border-color 180ms ease;
}
.sncpre-legal-index-card:hover,
.sncpre-legal-index-card:focus-within {
	border-color: var(--wp--preset--color--accent);
}
.sncpre-legal-index-card__type,
.sncpre-legal-index-card h2,
.sncpre-legal-index-card__excerpt,
.sncpre-legal-index-card__link {
	margin: 0;
}
.sncpre-legal-index-card__type {
	font-weight: 700;
	text-transform: uppercase;
}
.sncpre-legal-index-card h2 {
	margin-top: var(--wp--preset--spacing--16);
	line-height: 1.3;
}
.sncpre-legal-index-card h2 a {
	color: inherit;
	text-decoration: none;
}
.sncpre-legal-index-card h2 a:hover,
.sncpre-legal-index-card h2 a:focus-visible {
	color: var(--wp--preset--color--accent);
}
.sncpre-legal-index-card__excerpt {
	margin-top: var(--wp--preset--spacing--16);
	color: var(--wp--preset--color--text-body);
	line-height: 1.5;
}
.sncpre-legal-index-card__link {
	margin-top: auto;
	padding-top: var(--wp--preset--spacing--24);
	font-weight: 700;
}
.sncpre-legal-index-card__link a {
	color: var(--wp--preset--color--primary-light);
	text-decoration: none;
}
.sncpre-instances-content {
	max-width: 1180px;
	margin-inline: auto;
}
.sncpre-instances-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--60);
}
.sncpre-instances-grid > .sncpre-instances-column {
	margin-block-start: 0;
}
.sncpre-instances-column + .sncpre-instances-column {
	padding-left: var(--wp--preset--spacing--60);
	border-left: 1px solid var(--wp--preset--color--divider);
}
.sncpre-instances-column h2 {
	margin: 0 0 var(--wp--preset--spacing--32);
	font-weight: 700;
	line-height: 1.25;
}
.sncpre-instances-column h2::after {
	content: "";
	display: block;
	width: 60px;
	height: 2px;
	margin-top: var(--wp--preset--spacing--16);
	background-color: var(--wp--preset--color--accent);
}
.sncpre-instances-entry {
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr);
	gap: var(--wp--preset--spacing--16);
	box-sizing: border-box;
	margin: 0;
	padding: 12px 0;
	border-bottom: 1px solid var(--wp--preset--color--divider);
	color: var(--wp--preset--color--text-body);
	line-height: 1.4;
}
.sncpre-instances-entry__years {
	color: var(--wp--preset--color--primary-light);
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
}
.sncpre-instances-entry.is-current {
	margin-top: var(--wp--preset--spacing--12);
	padding: var(--wp--preset--spacing--16);
	border-bottom: 0;
	border-left: 3px solid var(--wp--preset--color--accent);
	background-color: var(--wp--preset--color--bg-card-soft);
}
.sncpre-instances-entry.is-current .sncpre-instances-entry__name {
	color: var(--wp--preset--color--primary);
	font-weight: 700;
}
.sncpre-public-content-accordion {
	box-sizing: border-box;
	border: 1px solid var(--wp--preset--color--divider);
	background-color: var(--wp--preset--color--bg-white);
}
.sncpre-public-content-accordion + .sncpre-public-content-accordion {
	margin-top: var(--wp--preset--spacing--16);
}
.sncpre-public-content-accordion summary {
	position: relative;
	box-sizing: border-box;
	padding: var(--wp--preset--spacing--24) 72px var(--wp--preset--spacing--24) var(--wp--preset--spacing--32);
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--2-xl);
	font-weight: 700;
	line-height: 1.25;
	cursor: pointer;
	list-style: none;
}
.sncpre-public-content-accordion summary::-webkit-details-marker {
	display: none;
}
.sncpre-public-content-accordion summary::after {
	content: "+";
	position: absolute;
	top: 50%;
	right: var(--wp--preset--spacing--32);
	color: var(--wp--preset--color--accent);
	font-family: var(--wp--preset--font-family--body);
	font-size: 32px;
	font-weight: 300;
	line-height: 1;
	transform: translateY(-50%);
}
.sncpre-public-content-accordion[open] summary {
	color: var(--wp--preset--color--accent);
	border-bottom: 1px solid var(--wp--preset--color--divider);
}
.sncpre-public-content-accordion[open] summary::after {
	content: "−";
}
.sncpre-public-content-accordion > :not(summary) {
	margin-inline: var(--wp--preset--spacing--32);
}
.sncpre-public-content-accordion > summary + * {
	margin-top: var(--wp--preset--spacing--24);
}
.sncpre-public-content-accordion > *:last-child {
	margin-bottom: var(--wp--preset--spacing--32);
}
.sncpre-legal-content,
.sncpre-coverage-content,
.sncpre-accordion-content {
	max-width: 1240px;
	margin-inline: auto;
}
.sncpre-coverage-intro,
.sncpre-coverage-outro {
	color: var(--wp--preset--color--text-body);
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.65;
}
.sncpre-coverage-intro > *,
.sncpre-coverage-outro > * {
	margin-block: 0;
}
.sncpre-coverage-intro > * + *,
.sncpre-coverage-outro > * + * {
	margin-top: var(--wp--preset--spacing--20);
}
.sncpre-coverage-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--20);
	margin-top: var(--wp--preset--spacing--48);
}
.sncpre-coverage-grid > .sncpre-coverage-card {
	margin-block-start: 0;
}
.sncpre-coverage-card {
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	min-width: 0;
	min-height: 330px;
	padding: var(--wp--preset--spacing--32);
	background-color: var(--wp--preset--color--bg-card-soft);
	border: 1px solid var(--wp--preset--color--divider);
}
.sncpre-coverage-card__icon {
	width: 34px;
	height: 34px;
	margin: 0 0 var(--wp--preset--spacing--20);
}
.sncpre-coverage-card__icon img {
	display: block;
	width: 34px;
	height: 34px;
	object-fit: contain;
}
.sncpre-coverage-card h2 {
	margin: 0;
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 700;
	line-height: 1.3;
}
.sncpre-coverage-card h2 + h2 {
	margin-top: var(--wp--preset--spacing--12);
}
.sncpre-coverage-card h2 a {
	color: inherit;
	text-decoration: none;
}
.sncpre-coverage-card h2 a:hover,
.sncpre-coverage-card h2 a:focus-visible {
	color: var(--wp--preset--color--accent);
}
.sncpre-coverage-card p {
	margin: var(--wp--preset--spacing--20) 0 0;
	color: var(--wp--preset--color--text-body);
	font-size: var(--wp--preset--font-size--base);
	line-height: 1.55;
}
.sncpre-coverage-outro {
	margin-top: var(--wp--preset--spacing--48);
	padding-top: var(--wp--preset--spacing--32);
	border-top: 3px solid var(--wp--preset--color--accent);
}
.sncpre-surgeon-content {
	max-width: 1240px;
	margin-inline: auto;
}
.sncpre-surgeon-layout {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
	align-items: start;
	gap: var(--wp--preset--spacing--48);
}
.sncpre-surgeon-layout > * {
	margin-block-start: 0;
}
.sncpre-surgeon-copy {
	color: var(--wp--preset--color--text-body);
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.65;
}
.sncpre-surgeon-copy > * {
	margin-block: 0;
}
.sncpre-surgeon-copy > * + * {
	margin-top: var(--wp--preset--spacing--20);
}
.sncpre-surgeon-copy h2 {
	color: var(--wp--preset--color--accent);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--2-xl);
	font-weight: 700;
	line-height: 1.35;
}
.sncpre-surgeon-copy a {
	color: var(--wp--preset--color--primary-light);
	text-underline-offset: 3px;
}
.sncpre-surgeon-image {
	position: sticky;
	top: var(--wp--preset--spacing--32);
	width: 100%;
	margin: 0;
}
.sncpre-surgeon-image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}
.sncpre-accordion-lead {
	margin: 0 0 var(--wp--preset--spacing--40);
	color: var(--wp--preset--color--accent);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--2-xl);
	font-weight: 700;
	line-height: 1.35;
}
.sncpre-accordion-content .sncpre-public-content-accordion > h3 {
	margin-top: var(--wp--preset--spacing--24);
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 700;
	line-height: 1.45;
}
.sncpre-accordion-content .sncpre-public-content-accordion > .wp-block-list {
	padding-left: var(--wp--preset--spacing--24);
}
.sncpre-accordion-content .sncpre-public-content-accordion a {
	color: var(--wp--preset--color--primary-light);
	text-underline-offset: 3px;
}
@media (max-width: 959.98px) {
	.sncpre-legal-index-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 699.98px) {
	.sncpre-espace-pro-content-page {
		padding: var(--wp--preset--spacing--32) var(--wp--preset--spacing--20) var(--wp--preset--spacing--60);
	}
	.sncpre-espace-pro-content-card {
		margin-top: var(--wp--preset--spacing--32);
		padding: var(--wp--preset--spacing--32) var(--wp--preset--spacing--20);
	}
	.sncpre-espace-pro-post-content > .wp-block-heading:first-child {
		margin-bottom: var(--wp--preset--spacing--32);
	}
	.sncpre-espace-pro-post-content {
		font-size: var(--wp--preset--font-size--base);
	}
	.sncpre-espace-pro-post-content h2 {
		font-size: 24px;
	}
	.sncpre-espace-pro-post-content h3 {
		font-size: 20px;
	}
	.sncpre-espace-pro-post-content .sncpre-member-section-title {
		padding: var(--wp--preset--spacing--16) var(--wp--preset--spacing--20);
	}
	.sncpre-espace-pro-post-content .wp-block-file__button {
		width: 100%;
		text-align: center;
	}
	.sncpre-public-content-page {
		padding: var(--wp--preset--spacing--32) var(--wp--preset--spacing--20) var(--wp--preset--spacing--60);
	}
	.sncpre-public-content-card {
		margin-top: var(--wp--preset--spacing--32);
		padding: var(--wp--preset--spacing--32) var(--wp--preset--spacing--20);
	}
	.sncpre-public-content-body {
		font-size: var(--wp--preset--font-size--base);
	}
	.sncpre-legal-index-grid {
		grid-template-columns: 1fr;
		margin-top: var(--wp--preset--spacing--32);
	}
	.sncpre-legal-index-card {
		min-height: 0;
		padding: var(--wp--preset--spacing--24);
	}
	.sncpre-instances-grid {
		grid-template-columns: 1fr;
		gap: var(--wp--preset--spacing--48);
	}
	.sncpre-instances-column + .sncpre-instances-column {
		padding-top: var(--wp--preset--spacing--48);
		padding-left: 0;
		border-top: 1px solid var(--wp--preset--color--divider);
		border-left: 0;
	}
	.sncpre-instances-entry {
		grid-template-columns: 96px minmax(0, 1fr);
		gap: var(--wp--preset--spacing--12);
	}
	.sncpre-instances-entry.is-current {
		padding: var(--wp--preset--spacing--16) var(--wp--preset--spacing--12);
	}
	.sncpre-public-content-accordion summary {
		padding: var(--wp--preset--spacing--20) 54px var(--wp--preset--spacing--20) var(--wp--preset--spacing--20);
		font-size: var(--wp--preset--font-size--xl);
	}
	.sncpre-public-content-accordion summary::after {
		right: var(--wp--preset--spacing--20);
	}
	.sncpre-public-content-accordion > :not(summary) {
		margin-inline: var(--wp--preset--spacing--20);
	}
	.sncpre-public-content-accordion > *:last-child {
		margin-bottom: var(--wp--preset--spacing--24);
	}
	.sncpre-coverage-intro,
	.sncpre-coverage-outro {
		font-size: var(--wp--preset--font-size--base);
	}
	.sncpre-coverage-grid {
		grid-template-columns: 1fr;
		margin-top: var(--wp--preset--spacing--32);
	}
	.sncpre-coverage-card {
		min-height: 0;
		padding: var(--wp--preset--spacing--24);
	}
	.sncpre-surgeon-layout {
		grid-template-columns: 1fr;
		gap: var(--wp--preset--spacing--32);
	}
	.sncpre-surgeon-copy {
		font-size: var(--wp--preset--font-size--base);
	}
	.sncpre-surgeon-image {
		position: static;
	}
}

@media (min-width: 700px) and (max-width: 1099.98px) {
	.sncpre-coverage-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* ========================================================================== 
   ADHÉSION — formulaire sécurisé Figma 1:2058
   ========================================================================== */

.wp-block-post-content > .sncpre-membership-page {
	margin-block-start: 0;
}
.sncpre-membership-page {
	box-sizing: border-box;
	padding: 0;
}
.sncpre-membership-heading {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-top: var(--wp--preset--spacing--60);
}
.sncpre-membership-title {
	margin: 0;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
}
.sncpre-membership-heading .wp-block-separator.sncpre-membership-heading__rule {
	display: block;
	width: 99px;
	max-width: 99px;
	height: 3px;
	margin-top: var(--wp--preset--spacing--20);
	background-color: var(--wp--preset--color--accent);
}
.sncpre-membership-form {
	position: relative;
	display: block;
	box-sizing: border-box;
	width: min(1130px, calc(100% - (2 * var(--wp--preset--spacing--gutter))));
	margin: 35px auto 0;
}
.sncpre-membership-form__section {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}
.sncpre-membership-form__section + .sncpre-membership-form__section {
	margin-top: 55px;
}
#figma-1-2094 + #figma-1-2111,
#figma-1-2120 + #figma-1-2158 {
	margin-top: var(--wp--preset--spacing--60);
}
.sncpre-membership-form__section legend {
	width: 100%;
	margin: 0 0 var(--wp--preset--spacing--20);
	padding: 0;
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 600;
	line-height: 1.25;
}
.sncpre-membership-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 557px));
	gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--16);
}
.sncpre-membership-form__field {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--8);
	min-width: 0;
	margin: 0;
}
.sncpre-membership-form__field input {
	box-sizing: border-box;
	width: 100%;
	height: 54px;
	margin: 0;
	padding: 15px var(--wp--preset--spacing--20);
	color: var(--wp--preset--color--text-body);
	background-color: var(--wp--preset--color--bg-white);
	border: 2px solid var(--wp--preset--color--divider);
	border-radius: 0;
	font: inherit;
	font-size: var(--wp--preset--font-size--base);
	line-height: 20px;
	outline: 0;
}
.sncpre-membership-form__field input::placeholder {
	color: var(--wp--preset--color--text-subtle);
	opacity: 1;
}
.sncpre-membership-form__field input:focus {
	border-color: var(--wp--preset--color--primary-light);
	box-shadow: 0 0 0 3px rgba(0, 98, 142, 0.14);
}
.sncpre-membership-form__field input.is-invalid {
	border-color: var(--wp--preset--color--accent);
}
.sncpre-membership-form__error {
	display: block;
	margin-top: var(--wp--preset--spacing--8);
	color: var(--wp--preset--color--accent);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.3;
}
.sncpre-membership-form__choice {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--20);
	margin-top: var(--wp--preset--spacing--60);
}
.sncpre-membership-form__choice > span {
	margin-right: var(--wp--preset--spacing--20);
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 600;
}
.sncpre-membership-form__choice label,
.sncpre-membership-form__consent label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	color: var(--wp--preset--color--text-subtle);
}
.sncpre-membership-form input[type="radio"],
.sncpre-membership-form input[type="checkbox"] {
	flex: none;
	width: 24px;
	height: 24px;
	margin: 0;
	accent-color: var(--wp--preset--color--primary-light);
}
.sncpre-membership-form__sponsor-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 557px));
	gap: var(--wp--preset--spacing--8) 15px;
}
.sncpre-membership-form__sponsor-row + .sncpre-membership-form__sponsor-row {
	margin-top: var(--wp--preset--spacing--20);
}
.sncpre-membership-form__sponsor-row > span {
	grid-column: 1 / -1;
	font-size: var(--wp--preset--font-size--base);
	line-height: 20px;
}
.sncpre-membership-form__documents {
	margin-top: 61px;
}
.sncpre-membership-form__documents > p {
	margin: 0;
	color: var(--wp--preset--color--text-subtle);
	font-size: var(--wp--preset--font-size--xl);
	line-height: 1.25;
}
.sncpre-membership-form__documents > p strong {
	color: var(--wp--preset--color--primary);
	font-weight: 600;
}
.sncpre-membership-form__upload {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--16);
	margin-top: var(--wp--preset--spacing--20);
}
.sncpre-membership-form__upload input[type="file"] {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
}
.sncpre-membership-form__upload-button {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
	box-sizing: border-box;
	min-height: 56px;
	padding: 15px;
	color: var(--wp--preset--color--primary);
	border: 1px solid var(--wp--preset--color--primary);
	border-radius: 2px;
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 600;
	cursor: pointer;
}
.sncpre-membership-form__upload-button::before {
	content: "";
	width: 18px;
	height: 18px;
	background-color: currentColor;
	-webkit-mask: url("../images/icon-upload.svg") no-repeat center / contain;
	mask: url("../images/icon-upload.svg") no-repeat center / contain;
}
.sncpre-membership-form__upload-button:hover,
.sncpre-membership-form__upload-button:focus-visible {
	color: var(--wp--preset--color--text-white);
	background-color: var(--wp--preset--color--primary);
}
.sncpre-membership-form__file-list {
	color: var(--wp--preset--color--text-subtle);
	font-size: var(--wp--preset--font-size--sm);
}
.sncpre-membership-form__consent {
	max-width: 907px;
	margin: 51px auto 0;
}
.sncpre-membership-form__consent label {
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.35;
}
.sncpre-membership-form__consent a {
	color: var(--wp--preset--color--accent);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.sncpre-membership-form__submit {
	display: block;
	min-height: 36px;
	margin: 37px auto 0;
	padding: var(--wp--preset--spacing--8) 18px;
	color: var(--wp--preset--color--text-white);
	background-color: var(--wp--preset--color--accent);
	border: 2px solid var(--wp--preset--color--accent);
	border-radius: 24px;
	font-family: var(--wp--preset--font-family--label);
	font-size: var(--wp--preset--font-size--base);
	font-weight: 700;
	line-height: 16px;
	cursor: pointer;
}
.sncpre-membership-form__submit:hover,
.sncpre-membership-form__submit:focus-visible {
	background-color: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
}
.sncpre-membership-form__honeypot {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
}
.sncpre-membership-notice {
	max-width: 1130px;
	margin: var(--wp--preset--spacing--32) auto 0;
	padding: var(--wp--preset--spacing--12) var(--wp--preset--spacing--16);
	border-left: 3px solid currentColor;
}
.sncpre-membership-notice.is-success {
	color: var(--wp--preset--color--primary);
	background-color: var(--wp--preset--color--bg-light);
}
.sncpre-membership-notice.is-error {
	color: var(--wp--preset--color--accent);
	background-color: var(--wp--preset--color--bg-light);
}
.sncpre-membership-page .sncpre-membership-fee-note {
	max-width: 1013px;
	margin: var(--wp--preset--spacing--60) auto var(--wp--preset--spacing--80);
	padding: 0;
	line-height: 1.3;
}
@media (max-width: 899.98px) {
	.sncpre-membership-form__grid,
	.sncpre-membership-form__sponsor-row {
		grid-template-columns: 1fr;
	}
	.sncpre-membership-form__grid > span[aria-hidden="true"] {
		display: none;
	}
}
@media (max-width: 699.98px) {
	.sncpre-membership-heading {
		padding-top: var(--wp--preset--spacing--48);
	}
	.sncpre-membership-title {
		font-size: var(--wp--preset--font-size--4-xl);
	}
	.sncpre-membership-form {
		width: calc(100% - (2 * var(--wp--preset--spacing--20)));
		margin-top: var(--wp--preset--spacing--40);
	}
	.sncpre-membership-form__section + .sncpre-membership-form__section,
	.sncpre-membership-form__choice,
	.sncpre-membership-form__documents,
	.sncpre-membership-form__consent {
		margin-top: var(--wp--preset--spacing--48);
	}
	.sncpre-membership-form__choice {
		align-items: flex-start;
		flex-direction: column;
	}
	.sncpre-membership-form__choice > span {
		margin-right: 0;
	}
	.sncpre-membership-form__documents > p,
	.sncpre-membership-form__upload-button {
		font-size: var(--wp--preset--font-size--base);
	}
	.sncpre-membership-form__consent label {
		font-size: var(--wp--preset--font-size--base);
	}
	.sncpre-membership-page .sncpre-membership-fee-note {
		margin: var(--wp--preset--spacing--48) var(--wp--preset--spacing--20) var(--wp--preset--spacing--60);
		font-size: var(--wp--preset--font-size--base);
	}
}

/* ========================================================================== 
   ANNUAIRE — listing CPT Figma 1:2215
   ========================================================================== */

/* Figma 1:2255 / 1:2256 — titre de page et filet rouge. */
.wp-block-post-content > .sncpre-directory-page {
	margin-block-start: 0;
}
.sncpre-directory-page {
	padding: 0;
}
.sncpre-directory-heading {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-top: var(--wp--preset--spacing--60);
}
.sncpre-directory-title {
	margin: 0;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
}
.sncpre-directory-heading .wp-block-separator.sncpre-directory-heading__rule {
	display: block;
	width: 99px;
	max-width: 99px;
	height: 3px;
	margin-top: var(--wp--preset--spacing--20);
	background-color: var(--wp--preset--color--accent);
}

/* Figma 1:2377 — double recherche centrée, 328 + 16 + 328 px. */
.sncpre-directory-search {
	display: grid;
	grid-template-columns: repeat(2, 328px);
	gap: var(--wp--preset--spacing--16);
	width: 672px;
	margin: var(--wp--preset--spacing--40) auto var(--wp--preset--spacing--60);
}
.sncpre-directory-reset {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-left: auto;
	color: var(--wp--preset--color--primary-light);
	font-size: var(--wp--preset--font-size--base);
	font-weight: 700;
	line-height: 20px;
	text-decoration: none;
	white-space: nowrap;
}
.sncpre-directory-reset::before {
	content: "";
	box-sizing: border-box;
	width: 14px;
	height: 14px;
	border: 1.5px solid currentColor;
	border-left-color: transparent;
	border-radius: 50%;
	transform: rotate(-35deg);
}
.sncpre-directory-reset:hover,
.sncpre-directory-reset:focus-visible {
	color: var(--wp--preset--color--accent);
}
.sncpre-directory-search__field {
	position: relative;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	height: 43px;
	padding-left: 30px;
	border: 1px solid var(--wp--preset--color--divider);
	background-color: var(--wp--preset--color--bg-white);
}
.sncpre-directory-search__field::before {
	content: "";
	position: absolute;
	left: 11px;
	top: 50%;
	width: 14px;
	height: 14px;
	transform: translateY(-50%);
	background-color: var(--wp--preset--color--text-subtle);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
}
.sncpre-directory-search__field.is-location::before {
	-webkit-mask-image: url("../images/icon-contact-address.svg");
	mask-image: url("../images/icon-contact-address.svg");
}
.sncpre-directory-search__field.is-person::before {
	-webkit-mask-image: url("../images/icon-syndicat-presidences.svg");
	mask-image: url("../images/icon-syndicat-presidences.svg");
}
.sncpre-directory-search__field input {
	flex: 1;
	min-width: 0;
	height: 41px;
	padding: 9px 4px 9px 0;
	color: var(--wp--preset--color--text-body);
	background: transparent;
	border: 0;
	border-radius: 0;
	font: inherit;
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 300;
	line-height: 23px;
	outline: 0;
}
.sncpre-directory-search__field input::placeholder {
	color: var(--wp--preset--color--text-subtle);
	opacity: 1;
}
.sncpre-directory-search__field:focus-within {
	border-color: var(--wp--preset--color--primary-light);
	box-shadow: 0 0 0 3px rgba(0, 98, 142, 0.14);
}
.sncpre-directory-search__field button {
	position: relative;
	flex: none;
	width: 42px;
	height: 41px;
	padding: 0;
	color: var(--wp--preset--color--primary-light);
	background: transparent;
	border: 0;
	border-radius: 0;
	cursor: pointer;
}
.sncpre-directory-search__field button::before {
	content: "";
	position: absolute;
	inset: 11px;
	background-color: currentColor;
	-webkit-mask: url("../images/icon-search.svg") no-repeat center / contain;
	mask: url("../images/icon-search.svg") no-repeat center / contain;
}
.sncpre-directory-search__field button:hover,
.sncpre-directory-search__field button:focus-visible {
	color: var(--wp--preset--color--accent);
}

/* Figma 1:2217 — bande listing et grille 443 / 16 / 901 px. */
.sncpre-directory-results {
	box-sizing: border-box;
	padding: 50px var(--wp--preset--spacing--gutter);
	background-color: var(--wp--preset--color--bg-card-soft);
	box-shadow: 0 0 34px rgba(0, 0, 0, 0.05);
}
.sncpre-directory-layout {
	display: grid;
	grid-template-columns: 443px minmax(0, 901px);
	gap: var(--wp--preset--spacing--16);
	max-width: 1360px;
	margin: 0 auto;
}

/* Figma 1:2218 / 1:2223 — panneau et alphabet vertical. */
.sncpre-directory-filter {
	align-self: start;
	box-sizing: border-box;
	height: 1126px;
	min-height: 1126px;
	padding: var(--wp--preset--spacing--40);
	background-color: var(--wp--preset--color--bg-white);
	border: 1px solid var(--wp--preset--color--divider);
}
.sncpre-directory-filter__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--16);
	margin-bottom: var(--wp--preset--spacing--40);
}
.sncpre-directory-filter h2 {
	margin: 0;
	color: var(--wp--preset--color--primary-light);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--2-xl);
	font-weight: 700;
	line-height: 30px;
}
.sncpre-directory-filter__label {
	margin: 0;
	padding-bottom: 14px;
	color: var(--wp--preset--color--text-body);
	border-bottom: 1px solid var(--wp--preset--color--divider);
	font-size: var(--wp--preset--font-size--lg);
	line-height: 23px;
}
.sncpre-directory-alphabet {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 11px;
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
}
.sncpre-directory-alphabet li {
	margin: 0;
	font-size: var(--wp--preset--font-size--xl);
	line-height: 25px;
}
.sncpre-directory-alphabet a,
.sncpre-directory-alphabet span {
	display: block;
	color: var(--wp--preset--color--text-subtle);
	font-weight: 300;
	text-decoration: none;
}
.sncpre-directory-alphabet a:hover,
.sncpre-directory-alphabet a:focus-visible,
.sncpre-directory-alphabet a.is-active {
	color: var(--wp--preset--color--primary-light);
	font-weight: 700;
}

/* Figma 1:2257 / 1:2258 — pile de cartes 901 x 288 px, gap 20 px. */
.sncpre-directory-cards {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
	min-width: 0;
}
.sncpre-directory-list {
	min-width: 0;
}
.sncpre-directory-load-more-wrap {
	margin: 50px 0 0;
	text-align: center;
}
.sncpre-directory-load-more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 40px;
	padding: 9px 22px;
	color: var(--wp--preset--color--text-white);
	background-color: var(--wp--preset--color--accent);
	border: 2px solid var(--wp--preset--color--accent);
	border-radius: 24px;
	font-family: var(--wp--preset--font-family--label);
	font-size: var(--wp--preset--font-size--base);
	font-weight: 700;
	line-height: 18px;
	text-decoration: none;
}
.sncpre-directory-load-more:hover,
.sncpre-directory-load-more:focus-visible {
	color: var(--wp--preset--color--text-white);
	background-color: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
}
.sncpre-directory-load-more[aria-disabled="true"] {
	cursor: wait;
	opacity: 0.72;
}
.sncpre-directory-card {
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	min-height: 288px;
	padding: var(--wp--preset--spacing--40);
	background-color: var(--wp--preset--color--bg-white);
	border: 1px solid var(--wp--preset--color--divider);
}
.sncpre-directory-card__name {
	margin: 0;
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--2-xl);
	font-weight: 400;
	line-height: 30px;
}
.sncpre-directory-card__name strong {
	font-weight: 600;
}
.sncpre-directory-card__address {
	margin-top: 6px;
	color: var(--wp--preset--color--accent);
	font-size: var(--wp--preset--font-size--lg);
	font-style: normal;
	line-height: 30px;
}
.sncpre-directory-card__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--20);
	margin-top: auto;
}
.sncpre-directory-card__phone {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	box-sizing: border-box;
	min-height: 36px;
	padding: var(--wp--preset--spacing--8) 18px;
	color: var(--wp--preset--color--text-white);
	background-color: var(--wp--preset--color--accent);
	border: 2px solid var(--wp--preset--color--accent);
	border-radius: 24px;
	font-family: var(--wp--preset--font-family--label);
	font-size: var(--wp--preset--font-size--base);
	font-weight: 700;
	line-height: 16px;
	text-decoration: none;
}
.sncpre-directory-card__phone::before {
	content: "";
	width: 16px;
	height: 16px;
	background-color: currentColor;
	-webkit-mask: url("../images/icon-phone.svg") no-repeat center / contain;
	mask: url("../images/icon-phone.svg") no-repeat center / contain;
}
.sncpre-directory-card__phone:hover,
.sncpre-directory-card__phone:focus-visible {
	background-color: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
}
.sncpre-directory-card__map {
	color: var(--wp--preset--color--primary-light);
	font-size: var(--wp--preset--font-size--base);
}
.sncpre-directory-card__map::after {
	width: 29px;
	height: 17px;
}
.sncpre-directory-empty {
	margin: 0;
	padding: var(--wp--preset--spacing--40);
	background-color: var(--wp--preset--color--bg-white);
	border: 1px solid var(--wp--preset--color--divider);
	color: var(--wp--preset--color--text-body);
	font-size: var(--wp--preset--font-size--lg);
}

@media (max-width: 1099.98px) {
	.sncpre-directory-layout {
		grid-template-columns: minmax(240px, 0.42fr) minmax(0, 1fr);
	}
	.sncpre-directory-filter {
		padding: var(--wp--preset--spacing--32);
	}
}

@media (max-width: 767.98px) {
	.sncpre-directory-heading {
		padding-top: var(--wp--preset--spacing--48);
	}
	.sncpre-directory-title {
		font-size: var(--wp--preset--font-size--4-xl);
	}
	.sncpre-directory-search {
		grid-template-columns: 1fr;
		width: calc(100% - (2 * var(--wp--preset--spacing--20)));
		margin-top: var(--wp--preset--spacing--40);
		margin-bottom: var(--wp--preset--spacing--48);
	}
	.sncpre-directory-results {
		padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--20) var(--wp--preset--spacing--60);
	}
	.sncpre-directory-layout {
		grid-template-columns: 1fr;
		gap: var(--wp--preset--spacing--20);
	}
	.sncpre-directory-filter {
		height: auto;
		min-height: 0;
		padding: var(--wp--preset--spacing--24);
	}
	.sncpre-directory-filter h2 {
		margin-bottom: var(--wp--preset--spacing--24);
	}
	.sncpre-directory-alphabet {
		flex-direction: row;
		flex-wrap: wrap;
		gap: var(--wp--preset--spacing--12) var(--wp--preset--spacing--16);
	}
	.sncpre-directory-alphabet li {
		width: 20px;
		text-align: center;
	}
	.sncpre-directory-card {
		min-height: 260px;
		padding: var(--wp--preset--spacing--24);
	}
	.sncpre-directory-card__actions {
		align-items: flex-start;
		flex-direction: column;
		margin-top: var(--wp--preset--spacing--40);
	}
}
