/*
Theme Name: Le Rocher — ALRC
Theme URI: https://agence-alrc.com
Author: ALRC Groupe Médias Holding
Author URI: https://alrcgroupemedia.com
Description: Thème WordPress à blocs (édition complète du site) conçu sur mesure pour Le Rocher — ALRC Le Rocher Communication. Positionnement Europe – Afrique, identité bordeaux & or, formulaire de diagnostic intégré, aucune dépendance à un constructeur de pages.
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
Version: 6.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: alrc-agence
Tags: block-templates, full-site-editing, business, portfolio, blog, one-column, wide-blocks, block-styles, custom-colors, custom-logo, custom-menu, editor-style, featured-images, translation-ready
*/

/* -------------------------------------------------------------------------
   Le gros du style vit dans theme.json (couleurs, typographies, espacements).
   Ce fichier ne contient que ce que theme.json ne sait pas exprimer.
   ------------------------------------------------------------------------- */

:root {
	--alrc-transition: 220ms cubic-bezier(0.2, 0.7, 0.3, 1);
}

html {
	scroll-behavior: smooth;
}

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/* --- Accessibilité : focus visible --------------------------------------- */
:where(a, button, input, textarea, select, summary, .wp-block-button__link):focus-visible {
	outline: 3px solid var(--wp--preset--color--or);
	outline-offset: 3px;
	border-radius: 4px;
}

.alrc-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 999;
	padding: 0.85rem 1.4rem;
	background: var(--wp--preset--color--bordeaux);
	color: #fff;
	font-weight: 600;
	text-decoration: none;
	border-radius: 0 0 8px 0;
}

.alrc-skip-link:focus {
	left: 0;
}

/* --- En-tête ------------------------------------------------------------- */
.alrc-header {
	backdrop-filter: saturate(180%) blur(12px);
	-webkit-backdrop-filter: saturate(180%) blur(12px);
	background-color: var(--wp--custom--fond-entete, rgba(255, 255, 255, 0.88));
	border-bottom: 1px solid var(--wp--custom--filet, var(--wp--preset--color--gris-clair));
	transition: box-shadow var(--alrc-transition);
}

.alrc-header.is-scrolled {
	box-shadow: 0 6px 26px -18px rgba(27, 16, 19, 0.55);
}

.alrc-header .wp-block-site-logo img,
.alrc-footer .wp-block-site-logo img {
	transition: transform var(--alrc-transition);
}

.alrc-header .wp-block-site-logo a:hover img {
	transform: translateY(-1px);
}

/* Barre d'annonce fine au-dessus de l'en-tête */
.alrc-topbar {
	font-size: 0.82rem;
	letter-spacing: 0.02em;
}

.alrc-topbar a {
	color: inherit;
	text-decoration: none;
}

.alrc-topbar a:hover {
	text-decoration: underline;
}

/* --- Boutons ------------------------------------------------------------- */
.wp-block-button__link {
	transition: transform var(--alrc-transition), background-color var(--alrc-transition),
		color var(--alrc-transition), box-shadow var(--alrc-transition);
}

.wp-block-button__link:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 26px -14px rgba(125, 17, 40, 0.75);
}

/* Style de bouton « Contour or » */
.wp-block-button.is-style-alrc-contour .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--bordeaux);
	box-shadow: inset 0 0 0 1.5px var(--wp--preset--color--or);
}

.wp-block-button.is-style-alrc-contour .wp-block-button__link:hover {
	background: var(--wp--preset--color--bordeaux);
	color: #fff;
	box-shadow: inset 0 0 0 1.5px var(--wp--preset--color--bordeaux);
}

.has-bordeaux-background-color .wp-block-button.is-style-alrc-contour .wp-block-button__link,
.has-bordeaux-fonce-background-color .wp-block-button.is-style-alrc-contour .wp-block-button__link,
.has-bordeaux-profond-gradient-background .wp-block-button.is-style-alrc-contour .wp-block-button__link {
	color: #fff;
	box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, 0.55);
}

.has-bordeaux-profond-gradient-background
	.wp-block-button.is-style-alrc-contour
	.wp-block-button__link:hover {
	background: var(--wp--custom--sur-sombre, #fff);
	color: var(--wp--preset--color--bordeaux);
}

/* Style de bouton « Lien fléché » */
.wp-block-button.is-style-alrc-fleche .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--rouge);
	padding: 0.25rem 0;
	border-radius: 0;
	box-shadow: none;
}

.wp-block-button.is-style-alrc-fleche .wp-block-button__link::after {
	content: " →";
	transition: margin var(--alrc-transition);
}

.wp-block-button.is-style-alrc-fleche .wp-block-button__link:hover {
	transform: none;
	box-shadow: none;
	color: var(--wp--preset--color--bordeaux);
}

.wp-block-button.is-style-alrc-fleche .wp-block-button__link:hover::after {
	margin-left: 0.35rem;
}

/* --- Cartes -------------------------------------------------------------- */
.alrc-carte {
	transition: transform var(--alrc-transition), box-shadow var(--alrc-transition),
		border-color var(--alrc-transition);
	height: 100%;
}

.alrc-carte:hover {
	transform: translateY(-4px);
	box-shadow: 0 22px 50px -28px rgba(27, 16, 19, 0.45);
	border-color: var(--wp--preset--color--or) !important;
}

/* Colonne = carte de pleine hauteur */
.alrc-cartes-egales .wp-block-column {
	display: flex;
	flex-direction: column;
}

.alrc-cartes-egales .wp-block-column > .wp-block-group {
	flex: 1;
}

/* Pastille numérotée / icône */
p.alrc-pastille,
.alrc-pastille {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	min-width: 3rem;
	height: 3rem;
	padding: 0 !important;
	margin-bottom: 1.15rem;
	border-radius: 999px;
	font-family: var(--wp--preset--font-family--titre);
	font-size: 1.2rem;
	line-height: 1;
}

/* Empêche les coupures de mots dans les grands titres */
h1,
h2,
h3,
.alrc-chiffre {
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}

.alrc-chiffre {
	white-space: nowrap;
}

/* Étiquette de section (surtitre) */
.alrc-surtitre {
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--rouge);
}

.alrc-surtitre::before {
	content: "";
	display: inline-block;
	width: 1.75rem;
	height: 1px;
	margin-right: 0.7rem;
	vertical-align: middle;
	background: var(--wp--preset--color--or);
}

.alrc-surtitre.has-text-align-center {
	display: block;
	text-align: center;
}

.has-blanc-color .alrc-surtitre,
.alrc-sombre .alrc-surtitre {
	color: var(--wp--preset--color--or-clair);
}

/* --- Chiffres clés ------------------------------------------------------- */
.alrc-chiffre {
	font-family: var(--wp--preset--font-family--titre);
	font-size: clamp(2.4rem, 5vw, 3.4rem);
	line-height: 1;
	display: block;
}

/* --- Filet décoratif ----------------------------------------------------- */
.alrc-filet {
	display: block;
	width: 64px;
	height: 3px;
	border-radius: 3px;
	background: linear-gradient(90deg, var(--wp--preset--color--or), var(--wp--preset--color--rouge));
}

/* --- Section sombre : liens et textes lisibles --------------------------- */
.alrc-sombre,
.alrc-sombre :where(h1, h2, h3, h4, h5, p, li, figcaption) {
	color: var(--wp--custom--sur-sombre, #fff);
}

/*
 * Le bordeaux sert lui aussi à deux choses : un fond de section, et l'encre des
 * titres de cartes et des prix. Sur un modèle sombre, le fond reste bordeaux
 * mais l'encre doit passer à l'or, sinon on écrit rouge foncé sur noir. La
 * variable vaut « bordeaux » par défaut : sur les modèles clairs, rien ne change.
 */
.has-bordeaux-color {
	color: var(--wp--custom--accent-titre, var(--wp--preset--color--bordeaux)) !important;
}

/*
 * Filet de sécurité pour les pages créées avant la version 6.0 : le blanc des
 * cartes y était écrit en dur, ce qui laissait des cartes blanches au milieu
 * d'un modèle sombre. La variable vaut « blanc » par défaut : sur les modèles
 * clairs, rien ne bouge.
 */
[style*="background-color:#ffffff"],
[style*="background-color:#fff;"],
[style*="background-color: #ffffff"] {
	background-color: var(--wp--custom--fond-carte, var(--wp--preset--color--blanc)) !important;
}

/* Le bouton « Contour or » écrivait en bordeaux : illisible sur un fond sombre. */
.wp-block-button.is-style-alrc-contour .wp-block-button__link {
	color: var(--wp--custom--accent-titre, var(--wp--preset--color--bordeaux));
}

/*
 * L'encre posée sur un aplat or. « Encre » est claire sur un modèle sombre :
 * sans cette variable, un bouton doré portait du texte crème sur or.
 */
.has-or-background-color.has-encre-color,
.has-or-clair-background-color.has-encre-color,
.has-or-background-color .has-encre-color,
.has-or-clair-background-color .has-encre-color {
	color: var(--wp--custom--sur-or, var(--wp--preset--color--encre)) !important;
}

/*
 * « Blanc » sert à deux choses dans le contenu : une surface claire, et l'encre
 * posée sur un fond sombre. Les deux se confondaient, ce qui empêchait toute
 * variation de style sombre. Ici, partout où « blanc » est employé comme couleur
 * de texte au-dessus d'un fond sombre, il est ramené sur l'encre claire — que la
 * variation active peut redéfinir sans toucher au contenu des pages.
 */
.alrc-sombre .has-blanc-color,
.has-bordeaux-background-color .has-blanc-color,
.has-bordeaux-fonce-background-color .has-blanc-color,
.has-rouge-background-color .has-blanc-color,
.has-encre-background-color .has-blanc-color,
.alrc-sombre.has-blanc-color,
.has-bordeaux-background-color.has-blanc-color,
.has-bordeaux-fonce-background-color.has-blanc-color,
.has-rouge-background-color.has-blanc-color,
.has-encre-background-color.has-blanc-color {
	color: var(--wp--custom--sur-sombre, #fff) !important;
}

.alrc-sombre a:not(.wp-block-button__link) {
	color: var(--wp--preset--color--or-clair);
}

/* Un bloc clair posé dans une section sombre reprend l'encre, pas le blanc */
.alrc-sombre :where(.has-blanc-background-color, .has-creme-background-color, .has-sable-background-color),
.alrc-sombre
	:where(.has-blanc-background-color, .has-creme-background-color, .has-sable-background-color)
	:where(h1, h2, h3, h4, h5, h6, p, li, figcaption, label, span) {
	color: var(--wp--preset--color--encre);
}

.alrc-sombre
	:where(.has-blanc-background-color, .has-creme-background-color, .has-sable-background-color)
	:where(.has-gris-color) {
	color: var(--wp--preset--color--gris);
}

.alrc-sombre
	:where(.has-blanc-background-color, .has-creme-background-color, .has-sable-background-color)
	a:not(.wp-block-button__link) {
	color: var(--wp--preset--color--rouge);
}

/* --- Articles ------------------------------------------------------------ */
.wp-block-post-title a {
	text-decoration: none;
	color: inherit;
}

.wp-block-post-title a:hover {
	color: var(--wp--preset--color--rouge);
}

.wp-block-post-featured-image img {
	transition: transform 600ms cubic-bezier(0.2, 0.7, 0.3, 1);
}

.wp-block-post-template li:hover .wp-block-post-featured-image img {
	transform: scale(1.04);
}

.wp-block-post-featured-image {
	overflow: hidden;
	border-radius: 14px;
}

/* --- Formulaires ALRC ---------------------------------------------------- */
.alrc-form {
	display: grid;
	gap: 1.1rem;
}

.alrc-form .alrc-form-row {
	display: grid;
	gap: 1.1rem;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.alrc-form label {
	display: block;
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	margin-bottom: 0.4rem;
	color: var(--wp--preset--color--encre);
}

.alrc-form .alrc-req {
	color: var(--wp--preset--color--rouge);
}

.alrc-form input[type="text"],
.alrc-form input[type="email"],
.alrc-form input[type="tel"],
.alrc-form input[type="url"],
.alrc-form select,
.alrc-form textarea {
	width: 100%;
	padding: 0.85rem 1rem;
	font: inherit;
	font-size: 1rem;
	color: var(--wp--preset--color--encre);
	background: var(--wp--custom--fond-champ, var(--wp--custom--fond-carte, var(--wp--preset--color--blanc)));
	border: 1px solid var(--wp--custom--filet, var(--wp--preset--color--gris-clair));
	border-radius: 10px;
	transition: border-color var(--alrc-transition), box-shadow var(--alrc-transition);
}

.alrc-form textarea {
	min-height: 150px;
	resize: vertical;
}

.alrc-form input:focus,
.alrc-form select:focus,
.alrc-form textarea:focus {
	border-color: var(--wp--preset--color--or);
	box-shadow: 0 0 0 3px rgba(200, 162, 74, 0.22);
	outline: none;
}

.alrc-form .alrc-consent {
	display: flex;
	gap: 0.65rem;
	align-items: flex-start;
	font-size: 0.85rem;
	color: var(--wp--preset--color--gris);
	font-weight: 400;
}

.alrc-form .alrc-consent input {
	margin-top: 0.25rem;
	accent-color: var(--wp--preset--color--bordeaux);
}

.alrc-form button[type="submit"] {
	justify-self: start;
	padding: 1rem 2.1rem;
	font: inherit;
	font-weight: 600;
	color: #fff;
	background: var(--wp--preset--color--bordeaux);
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	transition: background-color var(--alrc-transition), transform var(--alrc-transition);
}

.alrc-form button[type="submit"]:hover {
	background: var(--wp--preset--color--rouge);
	transform: translateY(-2px);
}

.alrc-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.alrc-message {
	padding: 1rem 1.2rem;
	border-radius: 12px;
	font-size: 0.95rem;
	margin-bottom: 1.25rem;
}

.alrc-message.is-ok {
	background: #EDF7EE;
	border: 1px solid #B6DCB9;
	color: #1E5B26;
}

.alrc-message.is-error {
	background: #FCEDEE;
	border: 1px solid #EFC0C4;
	color: var(--wp--preset--color--bordeaux);
}

/* --- Coordonnées / listes à icônes -------------------------------------- */
.alrc-liste-check {
	list-style: none;
	padding-left: 0;
	margin: 0;
}

.alrc-liste-check li {
	position: relative;
	padding-left: 1.85rem;
	margin-bottom: 0.6rem;
}

.alrc-liste-check li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.5em;
	width: 0.62rem;
	height: 0.35rem;
	border-left: 2px solid var(--wp--preset--color--or);
	border-bottom: 2px solid var(--wp--preset--color--or);
	transform: rotate(-45deg);
}

/* --- Tarifs -------------------------------------------------------------- */
.alrc-offre-vedette {
	position: relative;
}

.alrc-offre-vedette::after {
	content: "Le plus demandé";
	position: absolute;
	top: -0.85rem;
	left: 50%;
	transform: translateX(-50%);
	padding: 0.3rem 0.9rem;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--wp--preset--color--bordeaux);
	background: var(--wp--preset--color--or-clair);
	border-radius: 999px;
}

/* --- FAQ (details/summary) ---------------------------------------------- */
.wp-block-details {
	padding: 1.15rem 1.35rem;
	background: var(--wp--preset--color--creme);
	border: 1px solid var(--wp--custom--filet, var(--wp--preset--color--gris-clair));
	border-radius: 14px;
}

.wp-block-details summary {
	font-weight: 600;
	cursor: pointer;
}

.wp-block-details[open] {
	border-color: var(--wp--preset--color--or);
}

/* --- Pied de page -------------------------------------------------------- */
.alrc-footer a {
	text-decoration: none;
}

.alrc-footer a:hover {
	text-decoration: underline;
}

.alrc-liste-nue {
	list-style: none;
	padding-left: 0;
}

.alrc-liste-nue li {
	margin-bottom: 0.45rem;
}

.alrc-logo-texte .wp-block-separator {
	max-width: 100%;
	border: 0;
	height: 2px;
	opacity: 0.9;
}

/* --- Pages tunnel (une seule action possible) ---------------------------- */
.alrc-header-tunnel {
	position: static;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	/* Le blanc était en dur : sur un modèle sombre, l'en-tête de tunnel
	   redevenait blanc avec du texte clair dessus. */
	background: var(--wp--custom--fond-carte, var(--wp--preset--color--blanc));
}

.alrc-pile-item:last-of-type {
	border-bottom: 0 !important;
}

.alrc-liste-croix {
	list-style: none;
	padding-left: 0;
	margin: 0;
}

.alrc-liste-croix li {
	position: relative;
	padding-left: 1.85rem;
	margin-bottom: 0.6rem;
	color: var(--wp--preset--color--gris);
}

.alrc-liste-croix li::before {
	content: "×";
	position: absolute;
	left: 0.15rem;
	top: -0.1em;
	font-size: 1.25em;
	line-height: 1.4;
	color: var(--wp--preset--color--gris);
	opacity: 0.65;
}

/* --- Barre d'action fixe sur mobile -------------------------------------- */
.alrc-barre-mobile {
	display: none;
}

@media (max-width: 781px) {
	.alrc-barre-mobile {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 90;
		display: flex;
		gap: 0.6rem;
		padding: 0.65rem 0.85rem calc(0.65rem + env(safe-area-inset-bottom));
		background: rgba(255, 255, 255, 0.96);
		backdrop-filter: blur(10px);
		-webkit-backdrop-filter: blur(10px);
		border-top: 1px solid var(--wp--custom--filet, var(--wp--preset--color--gris-clair));
		box-shadow: 0 -8px 24px -18px rgba(27, 16, 19, 0.6);
	}

	.alrc-barre-mobile a {
		flex: 1;
		padding: 0.85rem 0.5rem;
		font-size: 0.95rem;
		font-weight: 600;
		text-align: center;
		text-decoration: none;
		border-radius: 999px;
	}

	.alrc-barre-tel {
		color: var(--wp--preset--color--bordeaux);
		box-shadow: inset 0 0 0 1.5px var(--wp--preset--color--or);
		flex: 0 0 34%;
	}

	.alrc-barre-cta {
		color: #fff;
		background: var(--wp--preset--color--bordeaux);
	}

	body {
		padding-bottom: 4.75rem;
	}
}

/* --- Plan du site -------------------------------------------------------- */
.alrc-plan h2 {
	margin-top: 2.5rem;
	margin-bottom: 0.75rem;
	font-size: 1.35rem;
}

.alrc-plan ul {
	list-style: none;
	padding-left: 0;
}

.alrc-plan li {
	padding: 0.4rem 0;
	border-bottom: 1px solid var(--wp--custom--filet, var(--wp--preset--color--gris-clair));
}

/* --- Sous-menus de navigation -------------------------------------------- */
.wp-block-navigation .wp-block-navigation__submenu-container {
	border: 1px solid var(--wp--custom--filet, var(--wp--preset--color--gris-clair));
	border-radius: 12px;
	padding: 0.4rem 0;
	box-shadow: 0 18px 40px -24px rgba(27, 16, 19, 0.45);
	min-width: 15rem;
}

.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.5rem 1rem;
}

/* --- Navigation mobile --------------------------------------------------- */
.wp-block-navigation__responsive-container.is-menu-open {
	padding-top: clamp(2rem, 8vw, 4rem);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	font-size: 1.15rem;
}

/* --- Divers -------------------------------------------------------------- */
.alrc-rayon-lg {
	border-radius: 20px;
	overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.001ms !important;
		transition-duration: 0.001ms !important;
	}
}

/* Impression */
@media print {
	.alrc-header,
	.alrc-footer,
	.wp-block-navigation,
	.alrc-form {
		display: none !important;
	}
}

/* =========================================================================
   STYLES DE BLOCS — formes, cadres et filets
   Proposés dans l'éditeur (panneau « Styles » de chaque bloc).
   Enregistrés dans inc/apparence.php.
   ========================================================================= */

/* --- Images : formes empruntées à l'arche du logo ------------------------ */
.wp-block-image.is-style-alrc-arche img,
.wp-block-post-featured-image.is-style-alrc-arche img {
	border-radius: 50% 50% 8px 8px / 32% 32% 3% 3%;
}

.wp-block-image.is-style-alrc-ovale img {
	border-radius: 50%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	width: 100%;
}

.wp-block-image.is-style-alrc-cadre-or,
.wp-block-post-featured-image.is-style-alrc-cadre-or {
	position: relative;
}

.wp-block-image.is-style-alrc-cadre-or img,
.wp-block-post-featured-image.is-style-alrc-cadre-or img {
	border-radius: 10px;
	box-shadow: 0 0 0 1px var(--wp--preset--color--or), 0 0 0 8px var(--wp--custom--fond-carte, #fff),
		0 0 0 9px var(--wp--custom--filet, var(--wp--preset--color--gris-clair));
}

/* Cadre décalé : un aplat or glissé derrière l'image */
.wp-block-image.is-style-alrc-decale {
	position: relative;
	isolation: isolate;
}

.wp-block-image.is-style-alrc-decale::before {
	content: "";
	position: absolute;
	inset: 1.25rem -1.25rem -1.25rem 1.25rem;
	border-radius: 12px;
	background: var(--wp--preset--color--or-clair);
	opacity: 0.5;
	z-index: -1;
}

.wp-block-image.is-style-alrc-decale img {
	border-radius: 12px;
}

/* Voile bordeaux : accorde n'importe quelle photo à la charte */
.wp-block-image.is-style-alrc-voile {
	position: relative;
	isolation: isolate;
}

.wp-block-image.is-style-alrc-voile img {
	border-radius: 12px;
}

.wp-block-image.is-style-alrc-voile::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 12px;
	pointer-events: none;
	background: linear-gradient(
		200deg,
		rgba(90, 12, 29, 0.55) 0%,
		rgba(125, 17, 40, 0.18) 55%,
		rgba(200, 162, 74, 0.14) 100%
	);
	mix-blend-mode: multiply;
}

/* --- Séparateurs --------------------------------------------------------- */

/* Filet à losange : un trait interrompu par un losange or */
.wp-block-separator.is-style-alrc-losange {
	border: 0;
	height: auto;
	background: none !important;
	max-width: 260px;
	margin-inline: auto;
	position: relative;
	overflow: visible;
	opacity: 1;
}

.wp-block-separator.is-style-alrc-losange::before {
	content: "";
	display: block;
	height: 1px;
	background: linear-gradient(
		90deg,
		transparent,
		var(--wp--preset--color--or) 22%,
		var(--wp--preset--color--or) 78%,
		transparent
	);
}

.wp-block-separator.is-style-alrc-losange::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 9px;
	height: 9px;
	margin: -5px 0 0 -5px;
	background: var(--wp--preset--color--or);
	transform: rotate(45deg);
}

.wp-block-separator.is-style-alrc-court {
	border: 0;
	height: 3px;
	width: 64px;
	max-width: 64px;
	border-radius: 3px;
	opacity: 1;
	background: linear-gradient(
		90deg,
		var(--wp--preset--color--or),
		var(--wp--preset--color--rouge)
	) !important;
}

.wp-block-separator.is-style-alrc-court:not(.aligncenter) {
	margin-inline: 0;
}

/* --- Groupes ------------------------------------------------------------- */

/* Carte vitrée : lisible posée sur une photo ou un dégradé */
.wp-block-group.is-style-alrc-vitre {
	background: rgba(255, 255, 255, 0.09);
	backdrop-filter: blur(14px) saturate(150%);
	-webkit-backdrop-filter: blur(14px) saturate(150%);
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 14px;
	padding: clamp(1.5rem, 4vw, 2.5rem);
}

.wp-block-group.is-style-alrc-encadre {
	border: 1px solid var(--wp--preset--color--or);
	border-radius: 14px;
	padding: clamp(1.5rem, 4vw, 2.5rem);
	background: var(--wp--custom--fond-carte, var(--wp--preset--color--blanc));
}

.wp-block-group.is-style-alrc-ruban {
	border-left: 3px solid var(--wp--preset--color--or);
	padding-left: clamp(1.1rem, 3vw, 1.8rem);
}

/* --- Citation en exergue ------------------------------------------------- */
.wp-block-quote.is-style-alrc-exergue {
	border: 0;
	padding: 0;
	margin-block: var(--wp--preset--spacing--50);
	text-align: center;
	max-width: 46ch;
	margin-inline: auto;
}

.wp-block-quote.is-style-alrc-exergue p {
	font-family: var(--wp--preset--font-family--titre);
	font-size: clamp(1.35rem, 3.2vw, 1.85rem);
	line-height: 1.35;
}

.wp-block-quote.is-style-alrc-exergue::before {
	content: "«";
	display: block;
	font-family: var(--wp--preset--font-family--titre);
	font-size: 3rem;
	line-height: 0.6;
	color: var(--wp--preset--color--or);
	margin-bottom: 0.6rem;
}

.wp-block-quote.is-style-alrc-exergue cite {
	display: block;
	margin-top: 1rem;
	font-family: var(--wp--preset--font-family--texte);
	font-size: 0.85rem;
	font-style: normal;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--gris);
}

/* --- Colonnes décalées : casse l'alignement systématique ------------------ */
@media (min-width: 782px) {
	.wp-block-columns.is-style-alrc-decalage > .wp-block-column:nth-child(even) {
		margin-top: clamp(1.5rem, 4vw, 3.5rem);
	}
}

/* --- Liste à puces or ---------------------------------------------------- */
.wp-block-list.is-style-alrc-liste-or {
	list-style: none;
	padding-left: 0;
}

.wp-block-list.is-style-alrc-liste-or > li {
	position: relative;
	padding-left: 1.5rem;
}

.wp-block-list.is-style-alrc-liste-or > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.62em;
	width: 7px;
	height: 7px;
	background: var(--wp--preset--color--or);
	transform: rotate(45deg);
}

/* --- Icônes de service --------------------------------------------------- */
.alrc-icone {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--bordeaux);
}

.alrc-icone svg {
	width: var(--alrc-icone, 1.9rem);
	height: var(--alrc-icone, 1.9rem);
}

/* Dans une pastille, l'icône remplace le numéro */
.alrc-pastille .alrc-icone svg {
	width: 1.5rem;
	height: 1.5rem;
}

.alrc-sombre .alrc-icone,
.has-bordeaux-background-color .alrc-icone,
.has-bordeaux-fonce-background-color .alrc-icone {
	color: var(--wp--preset--color--or-clair);
}

/* --- Fonds texturés ------------------------------------------------------ */
.alrc-fond-facettes {
	background-image: url("assets/images/motif-facettes.svg");
	background-repeat: repeat;
	background-size: 240px 240px;
}

.alrc-fond-ondes {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.alrc-fond-ondes::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: url("assets/images/motif-ondes.svg") right bottom / cover no-repeat;
	pointer-events: none;
}
