/* ==========================================================================
   jlsavarin.immo – styles complémentaires à theme.json
   ========================================================================== */

/* Paragraphes justifiés, dernière ligne à gauche, sans césure */
p:not([class*="has-text-align"]):not(.savarin-surtitre) {
	text-align: justify;
	text-align-last: left;
	hyphens: none;
	-webkit-hyphens: none;
}

h1, h2, h3, h4, h5, h6 {
	hyphens: none;
	-webkit-hyphens: none;
	overflow-wrap: normal;
}

.wp-site-blocks {
	position: relative;
}

/* Petit titre au-dessus des titres de section */
.savarin-surtitre {
	font-family: var(--wp--preset--font-family--inter-display);
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--wp--preset--color--terre-de-sienne);
	margin-bottom: 0.5rem !important;
}

/* Sections de page */
.savarin-section {
	padding-top: clamp(64px, 8vw, 110px);
	padding-bottom: clamp(64px, 8vw, 110px);
}

.savarin-arrondi img,
img.savarin-arrondi,
.savarin-arrondi {
	border-radius: var(--wp--custom--rayon--carte);
}

.savarin-titre-carte a {
	text-decoration: none;
	color: var(--wp--preset--color--nuit);
}

.savarin-titre-carte a:hover {
	color: var(--wp--preset--color--terracotta);
}

/* Boutons contour */
.wp-block-button.is-style-outline > .wp-block-button__link {
	border-width: 1.5px;
	background: transparent;
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--terracotta);
	border-color: var(--wp--preset--color--terracotta);
	color: var(--wp--preset--color--blanc);
}

/* ==========================================================================
   Logo
   ========================================================================== */

.savarin-logo {
	position: relative;
	display: inline-block;
	line-height: 0;
}

.savarin-logo img {
	display: block;
	height: var(--savarin-logo-hauteur, 58px);
	width: auto;
	max-width: 100%;
}

.savarin-logo__survol {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	transition: opacity 0.25s ease;
}

.savarin-logo--survol:hover .savarin-logo__survol,
.savarin-logo--survol:focus-visible .savarin-logo__survol {
	opacity: 1;
}

.savarin-apercu-fonce {
	display: inline-block;
	background: var(--wp--preset--color--gris);
	padding: 8px 12px;
	border-radius: 8px;
}

@media (max-width: 600px) {
	.savarin-logo img {
		height: calc(var(--savarin-logo-hauteur, 58px) * 0.75);
	}
}

/* ==========================================================================
   En-têtes
   ========================================================================== */

.savarin-entete {
	padding-top: 18px;
	padding-bottom: 18px;
}

.savarin-entete .wp-block-navigation a {
	text-decoration: none;
	transition: color 0.2s ease;
}

.savarin-entete .wp-block-navigation a:hover,
.savarin-entete .wp-block-navigation a:focus-visible {
	color: var(--wp--preset--color--terracotta) !important;
}

/* En-tête classique (fond blanc) */
.savarin-entete--clair {
	background: var(--wp--preset--color--blanc);
	border-bottom: 1px solid #EFE8E3;
}

/* En-tête posé sur la photo du bandeau */
.savarin-entete--photo {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 20;
	padding-bottom: 90px;
	background: linear-gradient(to bottom, rgba(29, 27, 27, 0.78) 0%, rgba(29, 27, 27, 0.5) 45%, rgba(29, 27, 27, 0) 100%);
	pointer-events: none;
}

.savarin-entete--photo > * {
	pointer-events: auto;
}

.savarin-entete--photo .wp-block-navigation,
.savarin-entete--photo .wp-block-navigation a {
	color: var(--wp--preset--color--blanc);
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);
}

.savarin-entete--photo .wp-block-navigation__responsive-container.is-menu-open a {
	text-shadow: none;
}

.savarin-bouton-tel .wp-block-button__link {
	padding: 0.55rem 1.1rem;
	font-size: 0.9375rem;
	font-weight: 600;
}

.savarin-entete--photo .savarin-bouton-tel .wp-block-button__link {
	color: var(--wp--preset--color--blanc);
	border-color: var(--wp--preset--color--blanc);
}

/* Dans l'éditeur, l'en-tête sur photo reste visible sans bandeau dessous */
.editor-styles-wrapper .savarin-entete--photo {
	position: relative;
	background: var(--wp--preset--color--gris);
	padding-bottom: 18px;
}

/* ==========================================================================
   Bandeau photo aléatoire
   ========================================================================== */

.savarin-bandeau {
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: var(--savarin-bandeau-hauteur, 760px);
	padding: 130px 24px 64px;
	box-sizing: border-box;
	background: var(--wp--preset--color--gris);
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.savarin-bandeau__photo {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	max-width: none;
}

.savarin-bandeau__voile {
	position: absolute;
	inset: 0;
	background: var(--wp--preset--color--nuit);
	pointer-events: none;
}

.savarin-bandeau__contenu {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1000px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.savarin-bandeau__contenu > * {
	margin-top: 0;
	margin-bottom: 0;
}

.savarin-bandeau__contenu > * + * {
	margin-top: 1rem;
}

.savarin-bandeau h1 {
	color: var(--wp--preset--color--blanc);
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35);
	letter-spacing: 0.12em;
}

.savarin-bandeau .savarin-surtitre {
	color: var(--wp--preset--color--blanc);
	text-shadow: 0 1px 10px rgba(0, 0, 0, 0.4);
	margin-bottom: 1.5rem !important;
}

.savarin-bandeau .savarin-recherche {
	margin-top: 1.75rem;
}

.savarin-bandeau a:not(.wp-element-button) {
	color: var(--wp--preset--color--blanc);
}

@media (max-width: 782px) {
	.savarin-bandeau {
		min-height: min(var(--savarin-bandeau-hauteur, 760px), 92vh);
		padding-top: 110px;
	}
}

/* ==========================================================================
   Recherche de biens
   ========================================================================== */

.savarin-recherche {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	width: 100%;
	max-width: 860px;
	margin-left: auto;
	margin-right: auto;
	padding: 8px;
	box-sizing: border-box;
	background: var(--wp--preset--color--blanc);
	border-radius: 30px;
	box-shadow: 0 18px 48px rgba(0, 0, 0, 0.18);
}

.savarin-recherche__champ {
	flex: 1 1 140px;
	min-width: 0;
}

.savarin-recherche select,
.savarin-recherche input {
	width: 100%;
	height: 52px;
	box-sizing: border-box;
	border: 0;
	border-radius: 999px;
	padding: 0 18px;
	font: inherit;
	font-size: 1rem;
	color: var(--wp--preset--color--nuit);
	background: var(--wp--preset--color--coton);
}

.savarin-recherche select:focus,
.savarin-recherche input:focus {
	outline: 2px solid var(--wp--preset--color--terracotta);
	outline-offset: 1px;
}

.savarin-recherche__bouton {
	flex: 0 0 auto;
	height: 52px;
	padding: 0 30px !important;
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	font: inherit;
	font-size: 1.0625rem;
	font-weight: 700;
	color: var(--wp--preset--color--blanc);
	background: var(--wp--preset--color--terracotta);
	transition: background-color 0.2s ease;
}

.savarin-recherche__bouton:hover,
.savarin-recherche__bouton:focus-visible {
	background: var(--wp--preset--color--terre-de-sienne);
}

@media (max-width: 600px) {
	.savarin-recherche {
		border-radius: 24px;
	}
	.savarin-recherche__bouton {
		flex: 1 1 100%;
	}
}

/* ==========================================================================
   Tuiles
   ========================================================================== */

.savarin-tuile {
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	min-height: var(--savarin-tuile-hauteur, 240px);
	box-sizing: border-box;
	padding: 20px;
	border-radius: var(--wp--custom--rayon--carte);
	text-decoration: none;
	color: var(--wp--preset--color--blanc);
	background: var(--wp--preset--color--gris);
}

a.savarin-tuile:hover,
a.savarin-tuile:focus-visible {
	color: var(--wp--preset--color--blanc);
}

.savarin-tuile--terracotta { background: var(--wp--preset--color--terracotta); }
.savarin-tuile--terre-de-sienne { background: var(--wp--preset--color--terre-de-sienne); }
.savarin-tuile--petrole { background: var(--wp--preset--color--petrole); }
.savarin-tuile--outre-mer { background: var(--wp--preset--color--outre-mer); }
.savarin-tuile--gris { background: var(--wp--preset--color--gris); }
.savarin-tuile--nuit { background: var(--wp--preset--color--nuit); }
.savarin-tuile--lin { background: var(--wp--preset--color--lin); }
.savarin-tuile--sable { background: var(--wp--preset--color--sable); }
.savarin-tuile--clair { color: var(--wp--preset--color--nuit); }

.savarin-tuile__photo {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	max-width: none;
	transition: transform 0.6s ease;
}

a.savarin-tuile:hover .savarin-tuile__photo {
	transform: scale(1.04);
}

.savarin-tuile__voile {
	position: absolute;
	inset: 0;
	background: var(--wp--preset--color--nuit);
	transition: opacity 0.3s ease;
}

.savarin-tuile__texte {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	text-align: center;
}

.savarin-tuile__titre {
	font-family: var(--wp--preset--font-family--inter-display);
	font-weight: 400;
	font-size: clamp(1.05rem, 1.6vw, 1.5rem);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	line-height: 1.25;
}

.savarin-tuile--photo .savarin-tuile__titre {
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.35);
}

.savarin-tuile__sous-titre {
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	opacity: 0.85;
}

/* Tuiles dans l'éditeur : pas de navigation au clic */
.editor-styles-wrapper .savarin-tuile,
.editor-styles-wrapper .savarin-logo {
	pointer-events: none;
}

.savarin-tuile-editeur,
.savarin-tuile-editeur > div {
	height: 100%;
}

/* Bandeau défilant (communes) : une seule ligne, en boucle.
   Dans l'éditeur, les tuiles restent en grille pour être faciles à modifier. */
body:not(.wp-admin):not(.editor-styles-wrapper) .savarin-defilant {
	display: flex !important;
	gap: 0 !important;
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 48px, #000 calc(100% - 48px), transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 48px, #000 calc(100% - 48px), transparent 100%);
}

body:not(.wp-admin):not(.editor-styles-wrapper) .savarin-defilant::-webkit-scrollbar {
	display: none;
}

body:not(.wp-admin):not(.editor-styles-wrapper) .savarin-defilant:not(.savarin-defilant--pret) > *,
.savarin-defilant__piste > * {
	flex: 0 0 300px;
	width: 300px;
	margin: 0 24px 0 0 !important;
}

.savarin-defilant--pret:not(.savarin-defilant--manuel) {
	overflow: hidden;
}

.savarin-defilant__piste {
	display: flex;
	width: max-content;
	animation: savarin-defile 90s linear infinite;
}

.savarin-defilant--manuel .savarin-defilant__piste,
.savarin-defilant--fixe .savarin-defilant__piste {
	animation: none;
}

.savarin-defilant--fixe {
	justify-content: center;
	-webkit-mask-image: none !important;
	mask-image: none !important;
}

.savarin-defilant--fixe .savarin-defilant__piste > :last-child {
	margin-right: 0 !important;
}

.savarin-defilant:hover .savarin-defilant__piste,
.savarin-defilant:focus-within .savarin-defilant__piste {
	animation-play-state: paused;
}

@keyframes savarin-defile {
	to { transform: translateX(-50%); }
}

@media (max-width: 600px) {
	body:not(.wp-admin):not(.editor-styles-wrapper) .savarin-defilant:not(.savarin-defilant--pret) > *,
	.savarin-defilant__piste > * {
		flex-basis: 240px;
		width: 240px;
		margin-right: 16px !important;
	}

	.savarin-defilant .savarin-tuile {
		min-height: 200px;
	}
}

/* Mosaïque d'accès rapides : grande tuile à gauche, trois tuiles à droite */
.savarin-mosaique {
	display: grid !important;
	grid-template-columns: 2fr 1fr 1fr;
	grid-auto-rows: minmax(200px, auto);
	gap: 16px;
}

.savarin-mosaique > * {
	margin: 0 !important;
	max-width: none !important;
}

.savarin-mosaique > :first-child {
	grid-row: span 2;
}

.savarin-mosaique > :nth-child(2) {
	grid-column: span 2;
}

@media (max-width: 782px) {
	.savarin-mosaique {
		grid-template-columns: 1fr 1fr;
	}
	.savarin-mosaique > :first-child {
		grid-column: span 2;
		grid-row: auto;
	}
}

@media (max-width: 480px) {
	.savarin-mosaique {
		grid-template-columns: 1fr;
	}
	.savarin-mosaique > :first-child,
	.savarin-mosaique > :nth-child(2) {
		grid-column: auto;
	}
}

/* ==========================================================================
   Pied de page
   ========================================================================== */

.savarin-pied a {
	color: var(--wp--preset--color--nuit);
}

.savarin-pied a:hover {
	color: var(--wp--preset--color--terracotta);
}

.savarin-mentions {
	font-size: 0.8125rem;
	line-height: 1.6;
	color: var(--wp--preset--color--gris);
	border-top: 1px solid var(--wp--preset--color--lin);
	padding-top: 20px;
}

/* Accessibilité : texte réservé aux lecteurs d'écran */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

/* ==========================================================================
   Enchaînement des zones de page
   ========================================================================== */

/* Le bandeau colle au haut de la page, sous l'en-tête sur photo */
.savarin-main-accueil,
.savarin-main-pleine {
	margin-top: 0 !important;
}

.savarin-main-accueil > .wp-block-post-content > :first-child {
	margin-top: 0 !important;
}

/* Pas d'espace blanc entre deux sections pleine largeur */
.wp-block-post-content > .alignfull {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.wp-site-blocks > footer.wp-block-template-part {
	margin-top: 0 !important;
}

.savarin-espace-haut {
	margin-top: 32px !important;
}

.savarin-pied {
	padding-top: 56px;
	padding-bottom: 40px;
}

.savarin-pied .wp-block-navigation {
	font-weight: 500;
}

.savarin-coordonnees {
	margin: 0;
	font-size: 0.9375rem;
	line-height: 1.6;
}

/* ==========================================================================
   Bandeau en disposition large (page d'estimation)
   ========================================================================== */

.savarin-bandeau--large .savarin-bandeau__contenu {
	max-width: 1240px;
	align-items: stretch;
	text-align: left;
}

.savarin-bandeau--large h1 {
	font-size: clamp(2rem, 3.4vw, 2.75rem);
	letter-spacing: 0.08em;
}

.savarin-bandeau--large p {
	text-align: left;
	text-align-last: left;
}

.savarin-bandeau--large .savarin-surtitre {
	margin-bottom: 0 !important;
}

.savarin-estimation-haut {
	width: 100%;
	gap: 48px;
	align-items: center;
}

.savarin-estimation-texte > * {
	margin-top: 0;
	margin-bottom: 0;
}

.savarin-pastilles {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.savarin-pastilles span {
	padding: 8px 16px;
	border: 1px solid rgba(255, 255, 255, 0.55);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.14);
	color: var(--wp--preset--color--blanc);
	font-size: 0.875rem;
	font-weight: 600;
}

.savarin-carte-estimation {
	width: 100%;
}

.savarin-carte-estimation #mei-app {
	border: 0;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
}

/* Cartes d'étapes */
.savarin-carte {
	padding: 28px;
	border: 1.5px solid #EFE8E3;
	border-radius: var(--wp--custom--rayon--carte);
	background: var(--wp--preset--color--blanc);
}

.savarin-carte > * {
	margin-top: 0;
	margin-bottom: 0;
}

.savarin-carte > * + * {
	margin-top: 0.75rem;
}

p.savarin-numero {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 999px;
	background: var(--wp--preset--color--terracotta);
	color: var(--wp--preset--color--blanc);
	font-family: var(--wp--preset--font-family--inter-display);
	font-size: 1.125rem;
	font-weight: 500;
	text-align: center;
}

/* Questions fréquentes */
.savarin-faq {
	padding: 18px 24px;
	border: 1.5px solid #EFE8E3;
	border-radius: 18px;
	background: var(--wp--preset--color--blanc);
}

.savarin-faq summary {
	cursor: pointer;
	font-family: var(--wp--preset--font-family--inter-display);
	font-size: 1.125rem;
	font-weight: 500;
}

.savarin-faq[open] summary {
	margin-bottom: 0.75rem;
}

/* En-tête de la page d'estimation */
.savarin-lien-retour {
	margin: 0;
	font-size: 0.9375rem;
	font-weight: 600;
}

.savarin-lien-retour a {
	text-decoration: none;
	transition: color 0.2s ease;
}

.savarin-entete--photo .savarin-lien-retour a {
	color: var(--wp--preset--color--blanc);
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);
}

.savarin-lien-retour a:hover,
.savarin-lien-retour a:focus-visible {
	color: var(--wp--preset--color--terracotta) !important;
}

.savarin-pied--minimal {
	padding-top: 28px;
	padding-bottom: 28px;
}

.savarin-pied--minimal .savarin-mentions {
	border-top: 0;
	padding-top: 0;
	margin: 0;
}

/* ==========================================================================
   WP Mes Annonces : couleurs et formes du thème
   ========================================================================== */

.wpma {
	--wpma-ink: #1D1B1B;
	--wpma-muted: #494343;
	--wpma-line: #DACABE;
	--wpma-soft: #F9F5F3;
	--wpma-accent: #EC6525;
	--wpma-radius: 24px;
}

.wpma .wpma-btn {
	border-radius: 999px;
}

.wpma .wpma-btn--primary:hover {
	background: var(--wp--preset--color--terre-de-sienne);
	border-color: var(--wp--preset--color--terre-de-sienne);
}

.has-coton-background-color .wpma-card {
	background: transparent;
}

/* Pages pleine largeur : le contenu de la page occupe toute la largeur,
   les sections « pleine largeur » vont d'un bord à l'autre. */
.savarin-main-accueil > .wp-block-post-content,
.savarin-main-pleine > .wp-block-post-content {
	max-width: none;
	margin-top: 0;
}

/* ==========================================================================
   1.0.5 · Page d'estimation : formulaire visible tout de suite
   ========================================================================== */

/* Logo MonEstimation.immo : garde ses proportions sur petit écran */
.savarin-logo--monestimation img {
	max-width: min(380px, 100%);
}

@media (max-width: 600px) {
	.savarin-logo--monestimation img {
		height: auto;
		width: min(190px, 52vw);
	}
	.savarin-entete--photo .savarin-bouton-tel .wp-block-button__link {
		padding: 0.45rem 0.8rem;
		font-size: 0.875rem;
	}
}

/* Anciennes versions de la composition : petit texte et pastilles retirés */
.savarin-bandeau--large .savarin-surtitre,
.savarin-pastilles {
	display: none !important;
}

/* Le bandeau s'adapte au formulaire au lieu d'imposer une grande hauteur */
.savarin-bandeau--large {
	min-height: 0;
	padding-top: 120px;
	padding-bottom: 48px;
	align-items: flex-start;
}

@media (max-width: 782px) {
	.savarin-bandeau--large {
		padding: 96px 16px 28px;
	}
	.savarin-bandeau--large .savarin-estimation-haut {
		gap: 16px;
	}
	.savarin-bandeau--large h1 {
		font-size: 1.6rem;
		letter-spacing: 0.05em;
	}
	/* Sur téléphone, seul le titre précède le formulaire */
	.savarin-bandeau--large .savarin-estimation-texte p {
		display: none;
	}
	.savarin-entete--photo .savarin-lien-retour {
		display: none;
	}
}

/* ==========================================================================
   1.0.6 · Page d'estimation : deux colonnes à l'arrivée, formulaire seul ensuite
   ========================================================================== */

@media (min-width: 1000px) {
	.savarin-bandeau--large .savarin-estimation-haut {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) minmax(0, 600px);
		gap: 56px;
		align-items: center;
	}
}

/* Dès que le visiteur a cliqué sur « Continuer » : plus de titre, formulaire sur toute la largeur */
.savarin-estimation-haut:has(.mei-app--en-cours) {
	grid-template-columns: minmax(0, 1fr) !important;
}

.savarin-estimation-haut:has(.mei-app--en-cours) .savarin-estimation-texte {
	display: none !important;
}

.savarin-bandeau--large:has(.mei-app--en-cours) {
	padding-top: 104px;
}

/* ==========================================================================
   1.0.7 · Page d'estimation : titre aligné sur le haut du formulaire, arguments
   ========================================================================== */

@media (min-width: 1000px) {
	.savarin-bandeau--large .savarin-estimation-haut {
		align-items: start !important;
	}
	.savarin-bandeau--large .savarin-estimation-texte {
		justify-content: flex-start !important;
		gap: 22px !important;
	}
	.savarin-bandeau--large .savarin-estimation-texte h1 {
		margin-top: -0.12em;
	}
}

.savarin-atouts {
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin-top: 8px !important;
}

.savarin-atouts > * {
	margin: 0 !important;
}

p.savarin-atout {
	position: relative;
	padding-left: 52px;
	color: var(--wp--preset--color--blanc);
	font-size: 1rem;
	line-height: 1.5;
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);
}

p.savarin-atout strong {
	font-size: 1.0625rem;
}

p.savarin-atout::before {
	content: "";
	position: absolute;
	left: 0;
	top: 2px;
	width: 36px;
	height: 36px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.savarin-atout--gratuit::before { background-image: url("../icons/gratuit.svg"); }
.savarin-atout--engagement::before { background-image: url("../icons/engagement.svg"); }
.savarin-atout--fiable::before { background-image: url("../icons/fiable.svg"); }
.savarin-atout--confidentiel::before { background-image: url("../icons/confidentiel.svg"); }

/* Sur téléphone, les arguments laissent la place au formulaire */
@media (max-width: 999px) {
	.savarin-atouts {
		display: none !important;
	}
}

/* 1.0.8 · Arguments plus grands */
.savarin-atouts {
	gap: 22px;
}

p.savarin-atout {
	padding-left: 62px;
	font-size: 1.0625rem;
}

p.savarin-atout strong {
	font-size: 1.25rem;
}

p.savarin-atout::before {
	top: 0;
	width: 44px;
	height: 44px;
}

/* ==========================================================================
   1.0.8 · Sous-titre sur deux lignes, arguments orange au survol
   ========================================================================== */

/* Colonne de texte un peu plus large tant que le formulaire n'a pas démarré */
@media (min-width: 1000px) {
	.savarin-bandeau--large .savarin-estimation-haut:not(:has(.mei-app--en-cours)) {
		grid-template-columns: minmax(0, 1fr) minmax(0, 580px) !important;
		gap: 40px !important;
	}
}

/* Icônes en masque : blanches au repos, terracotta au survol, avec le titre */
p.savarin-atout::before {
	background-image: none !important;
	background-color: var(--wp--preset--color--blanc);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	transition: background-color 0.25s ease;
}

p.savarin-atout strong {
	transition: color 0.25s ease;
}

.savarin-atout--gratuit::before { -webkit-mask-image: url("../icons/gratuit.svg"); mask-image: url("../icons/gratuit.svg"); }
.savarin-atout--engagement::before { -webkit-mask-image: url("../icons/engagement.svg"); mask-image: url("../icons/engagement.svg"); }
.savarin-atout--fiable::before { -webkit-mask-image: url("../icons/fiable.svg"); mask-image: url("../icons/fiable.svg"); }
.savarin-atout--confidentiel::before { -webkit-mask-image: url("../icons/confidentiel.svg"); mask-image: url("../icons/confidentiel.svg"); }

p.savarin-atout:hover::before {
	background-color: var(--wp--preset--color--terracotta);
}

p.savarin-atout:hover strong {
	color: var(--wp--preset--color--terracotta);
}

/* Articles de la page d'estimation : masqués dès que le visiteur a commencé le formulaire */
body:has(.mei-app--en-cours) .savarin-estimation-articles {
	display: none !important;
}

/* ==========================================================================
   1.0.10 · Sous-titre de la page d'estimation sur deux lignes, écrans de 1 000 à 1 440 px
   (portables réglés à 125 ou 150 % dans Windows)
   ========================================================================== */

@media (min-width: 1000px) and (max-width: 1440px) {
	.savarin-bandeau--large .savarin-estimation-texte > p.has-moyen-font-size {
		font-size: 1.0625rem !important;
	}
}

/* Encarts d'Estimator (accueil, coordonnées, conditions) : au-dessus de l'en-tête du site */
.savarin-bandeau__contenu:has(.mei-modal:not([hidden])) {
	z-index: 30;
}

/* ==========================================================================
   1.0.12 · Modèle « Page avec bandeau photo » : titre et accroche sur photo
   ========================================================================== */

.savarin-bandeau--page h1 {
	font-size: clamp(2rem, 4vw, 3.25rem);
}

.savarin-bandeau--page .savarin-accroche,
.savarin-bandeau--page .savarin-accroche p {
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
	color: var(--wp--preset--color--blanc);
	text-align: center;
	text-align-last: center;
	text-shadow: 0 1px 10px rgba(0, 0, 0, 0.4);
}

.savarin-bandeau--page .wp-block-post-excerpt__more-text {
	display: none;
}

/* Le contenu de la page (le simulateur, par exemple) est posé sur la photo, dans une carte blanche,
   comme la recherche de biens sur l'accueil. La photo couvre toute la hauteur du bandeau. */
.savarin-bandeau--page {
	align-items: flex-start;
	padding-bottom: clamp(48px, 6vw, 80px);
}

.savarin-bandeau--page .savarin-bandeau__contenu {
	max-width: 1140px;
}

.savarin-bandeau--page .wp-block-post-title {
	margin-top: clamp(24px, 4vw, 56px);
}

.savarin-bandeau__contenu > .savarin-carte-page {
	box-sizing: border-box;
	width: 100%;
	margin-top: clamp(28px, 4vw, 44px);
	padding: clamp(28px, 4vw, 48px);
	border-radius: var(--wp--custom--rayon--carte);
	background: var(--wp--preset--color--blanc);
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.25);
	color: var(--wp--preset--color--nuit);
	text-align: left;
}

.savarin-carte-page a:not(.wp-element-button):not(.wsp-biens):not(.wsp-contact__bouton) {
	color: inherit;
}

.savarin-carte-page > .wp-block-post-content {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.savarin-carte-page > .wp-block-post-content > :first-child {
	margin-top: 0 !important;
}

.savarin-carte-page > .wp-block-post-content > :last-child {
	margin-bottom: 0 !important;
}

.savarin-carte-page .wsp {
	margin-bottom: 0;
}

@media (max-width: 782px) {
	.savarin-bandeau--page {
		padding-left: 12px;
		padding-right: 12px;
		padding-bottom: 24px;
	}

	.savarin-bandeau__contenu > .savarin-carte-page {
		padding: 22px 18px;
	}
}

/* Bande blanche pleine largeur sous le bandeau photo (encart de contact du simulateur…) */
.savarin-sous-bandeau {
	box-sizing: border-box;
	width: 100%;
	margin: 0 !important;
	padding: clamp(40px, 6vw, 72px) 24px;
	background: var(--wp--preset--color--blanc);
}

.savarin-sous-bandeau > * {
	max-width: 1000px;
	margin-left: auto !important;
	margin-right: auto !important;
}

.savarin-sous-bandeau .wsp--contact {
	margin-top: 0;
	margin-bottom: 0;
}

@media (max-width: 782px) {
	.savarin-sous-bandeau {
		padding: 32px 12px;
	}
}

/* ==========================================================================
   1.0.14 · Modèle « Page avec photo en tête » (quartiers, articles) :
   en-tête classique, image mise en avant en haut de la page, puis titre et texte
   ========================================================================== */

.savarin-page-photo {
	padding-top: clamp(24px, 3vw, 40px);
}

.savarin-page-photo > .savarin-photo-tete {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--wp--style--global--wide-size, 1320px) !important;
	margin: 0 auto clamp(32px, 4vw, 56px) !important;
	overflow: hidden;
	border-radius: var(--wp--custom--rayon--carte);
	aspect-ratio: 21 / 9;
}

.savarin-page-photo > .savarin-photo-tete img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (max-width: 782px) {
	.savarin-page-photo > .savarin-photo-tete {
		aspect-ratio: 4 / 3;
	}
}

.savarin-page-photo .savarin-chapo,
.savarin-page-photo .savarin-chapo p {
	color: var(--wp--preset--color--gris);
}

.savarin-page-photo .wp-block-post-excerpt__more-text {
	display: none;
}

/* Intertitres du texte plus petits que le titre de la page */
.savarin-page-photo .wp-block-post-content h2 {
	margin-top: 2.2em;
	margin-bottom: 0.6em;
	font-size: clamp(1.5rem, 2.4vw, 2rem);
	letter-spacing: 0.06em;
}

.savarin-page-photo .wp-block-post-content h3 {
	margin-top: 1.8em;
	font-size: clamp(1.2rem, 1.8vw, 1.4rem);
}

/* Images du texte : coins arrondis comme les tuiles */
.savarin-page-photo .wp-block-post-content .wp-block-image img {
	border-radius: var(--wp--custom--rayon--carte);
}

/* Marges latérales des sections larges : même retrait que le logo et le téléphone de l'en-tête */
.savarin-main-accueil > .alignwide:not(.has-global-padding) {
	box-sizing: border-box;
	width: calc(100% - var(--wp--style--root--padding-left, 24px) - var(--wp--style--root--padding-right, 24px));
	max-width: var(--wp--style--global--wide-size, 1320px);
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Portrait de la section « À propos » : visage et épaules gardés au recadrage */
.savarin-portrait .savarin-tuile__photo {
	object-position: 50% 35%;
}

/* Sur mobile, le cadre prend les proportions de la photo : les deux épaules restent entières */
@media (max-width: 781px) {
	.savarin-portrait {
		min-height: 0 !important;
		aspect-ratio: 1.16;
	}
}

/* Marges latérales plus généreuses sur ordinateur (en-tête et sections ensemble) */
@media (min-width: 1024px) {
	body {
		--wp--style--root--padding-left: 40px !important;
		--wp--style--root--padding-right: 40px !important;
	}
}

/* « À propos » : plus d'air entre la photo et le texte (sur ordinateur) */
@media (min-width: 782px) {
	.savarin-portrait + .wp-block-group {
		padding-left: clamp(8px, 2.5vw, 40px);
	}
}

/* ==========================================================================
   Cartes d'articles (accueil, page « Conseils & actualités », catégories)
   ========================================================================== */
.savarin-cartes-articles .wp-block-post-template {
	gap: clamp(32px, 3vw, 40px);
}
.savarin-cartes-articles .wp-block-post {
	display: flex;
	flex-direction: column;
}
.savarin-cartes-articles .wp-block-post > * {
	margin-top: 0;
	margin-bottom: 0;
}
.savarin-cartes-articles .wp-block-post-featured-image {
	margin-bottom: 20px;
	overflow: hidden;
}
.savarin-cartes-articles .wp-block-post-featured-image img {
	transition: transform 0.4s ease;
}
.savarin-cartes-articles .wp-block-post:hover .wp-block-post-featured-image img {
	transform: scale(1.03);
}
/* Date et catégorie sous le titre, en petit et en gris, pour ne pas concurrencer le titre */
.savarin-cartes-articles .savarin-carte-meta {
	font-size: 0.875rem;
	line-height: 1.5;
	color: #6b6b6b;
	margin-bottom: 12px !important;
}
.savarin-cartes-articles .savarin-carte-meta > * {
	display: inline;
	margin: 0 !important;
}
.savarin-cartes-articles .savarin-categorie::before {
	content: "·";
	margin: 0 8px;
	color: #b9b2a8;
}
.savarin-cartes-articles .savarin-categorie a {
	color: #6b6b6b;
	text-decoration: none;
}
.savarin-cartes-articles .savarin-categorie a:hover {
	color: var(--wp--preset--color--terracotta);
	text-decoration: underline;
	text-underline-offset: 3px;
}
/* Titres des cartes en casse normale : plus lisibles que des capitales sur deux ou trois lignes */
.savarin-cartes-articles .savarin-titre-carte {
	font-size: clamp(1.25rem, 1.6vw, 1.5rem);
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
	margin-bottom: 6px !important;
}
.savarin-carte-resume {
	color: #4a4a4a;
	font-size: 1rem;
	line-height: 1.6;
	margin-bottom: 16px !important;
}
.savarin-carte-resume p {
	margin: 0;
}
.savarin-cartes-articles .savarin-lire {
	margin-top: auto !important;
	align-self: flex-start;
	font-weight: 500;
	color: var(--wp--preset--color--terracotta);
	text-decoration: none;
}
.savarin-cartes-articles .savarin-lire::after {
	content: "→";
	margin-left: 6px;
	display: inline-block;
	transition: transform 0.2s ease;
}
.savarin-cartes-articles .savarin-lire:hover::after {
	transform: translateX(4px);
}
.savarin-articles-tous {
	margin-top: clamp(40px, 4vw, 56px) !important;
}
.savarin-articles .wp-block-query-pagination {
	margin-top: clamp(40px, 4vw, 56px);
}
.savarin-articles-intro {
	margin-bottom: clamp(32px, 4vw, 48px);
	color: #4a4a4a;
}
@media (max-width: 781px) {
	.savarin-cartes-articles .wp-block-post-template {
		gap: 48px;
	}
}

/* ==========================================================================
   Section « La Gazette pradétane » (accueil) : la une du dernier numéro à côté du texte
   ========================================================================== */
.savarin-gazette__grille {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	justify-items: center;
	text-align: center;
}
.savarin-gazette__grille > * { margin-top: 0 !important; }
.savarin-gazette__texte .wp-block-buttons { justify-content: center; }
.savarin-gazette__texte p:not(.savarin-surtitre) { text-align: center; text-align-last: center; }

.savarin-gazette__grille:has(.savarin-gazette__une) {
	grid-template-columns: minmax(200px, 300px) minmax(0, 1fr);
	gap: clamp(40px, 6vw, 88px);
	align-items: center;
	justify-items: stretch;
	text-align: left;
}
.savarin-gazette__grille:has(.savarin-gazette__une) .wp-block-buttons { justify-content: flex-start; }
.savarin-gazette__grille:has(.savarin-gazette__une) .savarin-gazette__texte p:not(.savarin-surtitre) {
	text-align: justify;
	text-align-last: left;
}

.wgz-une {
	display: block;
	text-decoration: none !important;
	color: inherit !important;
}
.wgz-une img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 4px;
	transform: rotate(-2.5deg);
	box-shadow: 0 2px 4px rgba(0, 0, 0, .15), 0 24px 48px rgba(0, 0, 0, .35);
	transition: transform .35s ease, box-shadow .35s ease;
}
.wgz-une:hover img,
.wgz-une:focus-visible img {
	transform: rotate(0deg) translateY(-6px);
	box-shadow: 0 4px 8px rgba(0, 0, 0, .15), 0 32px 60px rgba(0, 0, 0, .4);
}
.wgz-une__titre {
	display: block;
	margin-top: 22px;
	text-align: center;
	font-family: var(--wp--preset--font-family--inter-display);
	font-size: .8125rem;
	font-weight: 500;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--sable);
}

@media (max-width: 781px) {
	.savarin-gazette__grille:has(.savarin-gazette__une) {
		grid-template-columns: minmax(0, 1fr);
		justify-items: center;
		text-align: center;
	}
	.savarin-gazette__une { width: min(220px, 60vw); }
	.savarin-gazette__grille:has(.savarin-gazette__une) .wp-block-buttons { justify-content: center; }
	.savarin-gazette__grille:has(.savarin-gazette__une) .savarin-gazette__texte p:not(.savarin-surtitre) {
		text-align: center;
		text-align-last: center;
	}
}
@media (prefers-reduced-motion: reduce) {
	.wgz-une img { transition: none; }
}

/* ==========================================================================
   1.0.16 · WP Mes Annonces : liste des biens et fiche d'un bien
   ========================================================================== */

/* Police du site partout, même si le code court est resté dans un bloc « Préformaté » ou « Code ». */
.wpma,
.wpma input,
.wpma select,
.wpma button {
	font-family: var(--wp--preset--font-family--inter);
}

.wpma {
	white-space: normal;
}

pre:has(> .wpma),
.wp-block-preformatted:has(.wpma),
.wp-block-code:has(.wpma) {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	font-family: inherit;
	white-space: normal;
	overflow: visible;
}

/* Page des biens (modèle « Page avec bandeau photo ») : le moteur de recherche est posé directement
   sur la photo ; la carte blanche n'entoure que les résultats. */
.savarin-bandeau__contenu > .savarin-carte-page:has(.wpma-list) {
	padding: 0;
	background: none;
	box-shadow: none;
}

.savarin-carte-page .wpma-list > .wpma-search {
	margin: 0 0 clamp(20px, 3vw, 32px);
	padding: clamp(22px, 3vw, 32px);
	border-radius: var(--wp--custom--rayon--carte);
	background: var(--wpma-soft);
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.25);
}

.savarin-carte-page .wpma-list__results {
	padding: clamp(24px, 4vw, 48px);
	border-radius: var(--wp--custom--rayon--carte);
	background: var(--wp--preset--color--blanc);
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.25);
}

.savarin-carte-page .wpma-footnote {
	margin-bottom: 0;
}

.wpma .wpma-search .wpma-btn--primary {
	border-radius: 999px;
}

/* Fiche d'un bien (modèle « Fiche d'un bien », appliqué automatiquement) */
.savarin-fiche-bien {
	padding-top: clamp(28px, 4vw, 56px);
	padding-bottom: clamp(64px, 8vw, 110px);
	padding-left: var(--wp--style--root--padding-left, 24px);
	padding-right: var(--wp--style--root--padding-right, 24px);
}

.savarin-fiche-bien .wpma-h {
	margin-top: 2.75rem;
}

.savarin-fiche-bien .wpma-desc p,
.savarin-fiche-bien .wpma-single__forts {
	text-align: justify;
	text-align-last: left;
	hyphens: none;
}

.savarin-fiche-bien .wpma-single__fees {
	color: var(--wpma-muted);
}

.savarin-fiche-bien .wpma-retour a {
	color: inherit;
}

.savarin-fiche-bien .wpma-retour__nouvelle {
	color: var(--wpma-muted);
}

.savarin-carte-page:has(.wpma-list) > .wp-block-post-content > * {
	max-width: none;
}

/* ==========================================================================
   Page introuvable (404) : enveloppe retournée à l'expéditeur
   ========================================================================== */

@font-face {
	font-family: "Caveat";
	src: url("../fonts/Caveat-Medium.woff2") format("woff2");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

.savarin-page-404 {
	padding: clamp(40px, 6vw, 80px) var(--wp--style--root--padding-right, 24px) clamp(64px, 8vw, 110px);
	background: var(--wp--preset--color--coton);
}

.savarin-page-404 > h1 {
	margin-top: clamp(36px, 5vw, 56px);
}

.savarin-enveloppe {
	--savarin-encre: #C8231E;
	position: relative;
	box-sizing: border-box;
	width: 100%;
	max-width: 620px;
	aspect-ratio: 16 / 10;
	margin: 0 auto;
	padding: 5% 6%;
	border-radius: 6px;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0) 60%),
		#F4ECDF;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04), 0 18px 40px rgba(60, 40, 20, 0.16);
	transform: rotate(-2deg);
	color: #4a3f36;
	overflow: hidden;
}

/* Bordure « par avion » discrète */
.savarin-enveloppe::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 6px;
	padding: 7px;
	background: repeating-linear-gradient(-45deg, var(--wp--preset--color--terracotta) 0 14px, transparent 14px 24px, var(--wp--preset--color--petrole) 24px 38px, transparent 38px 48px);
	-webkit-mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
	mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
	opacity: 0.55;
	pointer-events: none;
}

.savarin-enveloppe p.savarin-enveloppe__exp {
	position: absolute;
	top: 9%;
	left: 7%;
	margin: 0;
	font-size: clamp(0.62rem, 1.6vw, 0.78rem);
	line-height: 1.45;
	text-align: left;
	text-align-last: left;
	color: #6b5d50;
}

.savarin-enveloppe__timbre {
	position: absolute;
	top: 8%;
	right: 6%;
	width: 15%;
	aspect-ratio: 4 / 5;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4%;
	background: #fff;
	/* bord dentelé du timbre */
	-webkit-mask: radial-gradient(circle at 50% 50%, #000 62%, transparent 64%) -4px -4px / 8px 8px round, linear-gradient(#000 0 0) 4px 4px / calc(100% - 8px) calc(100% - 8px) no-repeat;
	mask: radial-gradient(circle at 50% 50%, #000 62%, transparent 64%) -4px -4px / 8px 8px round, linear-gradient(#000 0 0) 4px 4px / calc(100% - 8px) calc(100% - 8px) no-repeat;
	box-shadow: inset 0 0 0 4px #fff, inset 0 0 0 5px rgba(0, 0, 0, 0.08);
	transform: rotate(3deg);
}

.savarin-enveloppe__timbre svg {
	width: 58%;
	height: auto;
}

.savarin-enveloppe__timbre span {
	font-size: clamp(0.42rem, 1.1vw, 0.56rem);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--petrole);
}

.savarin-enveloppe__cachet {
	position: absolute;
	top: 6%;
	right: 13%;
	width: 34%;
	height: auto;
	color: rgba(40, 40, 60, 0.55);
	transform: rotate(-8deg);
	font-family: var(--wp--preset--font-family--inter);
}

.savarin-enveloppe__adresse {
	position: absolute;
	left: 57%;
	top: 42%;
	display: flex;
	flex-direction: column;
	gap: 0.05em;
	font-family: "Caveat", "Segoe Script", cursive;
	font-size: clamp(0.95rem, 2.9vw, 1.45rem);
	line-height: 1.12;
	color: #26313d;
}

.savarin-enveloppe__a {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.45em;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #8a7b6d;
}

.savarin-enveloppe__ligne {
	border-bottom: 1px solid rgba(74, 63, 54, 0.18);
	white-space: nowrap;
}

/* Le tampon rouge, encre irrégulière */
.savarin-tampon {
	position: absolute;
	left: 33%;
	top: 64%;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.2em;
	padding: 0.55em 1.1em 0.6em;
	border: 0.22em double var(--savarin-encre);
	border-width: 0.32em;
	border-radius: 0.35em;
	color: var(--savarin-encre);
	font-family: var(--wp--preset--font-family--inter);
	font-size: clamp(0.6rem, 1.9vw, 0.9rem);
	text-transform: uppercase;
	white-space: nowrap;
	transform: translate(-50%, -50%) rotate(-9deg);
	mix-blend-mode: multiply;
	opacity: 0.92;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='2' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.4 0 0 0 2.15'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='2' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.4 0 0 0 2.15'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.savarin-tampon__haut,
.savarin-tampon__bas {
	font-size: 0.78em;
	font-weight: 700;
	letter-spacing: 0.16em;
}

.savarin-tampon__code {
	padding: 0.08em 0;
	border-top: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	font-size: 2.6em;
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: 0.04em;
}

/* Recherche et liens */
.savarin-recherche-404 {
	max-width: 560px;
	margin: 28px auto 0 !important;
}

.savarin-recherche-404 .wp-block-search__input {
	min-height: 52px;
	padding: 0 20px;
	border: 1px solid var(--wp--preset--color--sable);
	border-radius: 999px;
	background: var(--wp--preset--color--blanc);
	font-size: 1rem;
}

.savarin-recherche-404 .wp-block-search__inside-wrapper {
	gap: 8px;
}

.savarin-recherche-404 .wp-block-search__button {
	margin-left: 0;
	padding: 0 26px;
	border-radius: 999px;
	background: var(--wp--preset--color--terracotta);
	color: var(--wp--preset--color--blanc);
	font-weight: 600;
}

.savarin-liens-404 {
	margin-top: 36px;
	text-align: center;
}

.savarin-page-404 .savarin-liens-404 p {
	margin: 0 0 12px;
	font-size: 0.9rem;
	text-align: center;
	text-align-last: center;
	color: var(--wp--preset--color--gris);
}

.savarin-liens-404 ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.savarin-liens-404 a {
	display: inline-block;
	padding: 10px 18px;
	border: 1px solid var(--wp--preset--color--nuit);
	border-radius: 999px;
	color: var(--wp--preset--color--nuit);
	font-size: 0.92rem;
	text-decoration: none;
	transition: background 0.2s, color 0.2s;
}

.savarin-liens-404 a:hover {
	background: var(--wp--preset--color--nuit);
	color: var(--wp--preset--color--blanc);
}

@media (max-width: 600px) {
	.savarin-enveloppe {
		display: flex;
		flex-direction: column;
		aspect-ratio: auto;
		padding: 24px 22px 30px;
		transform: rotate(-1.5deg);
	}

	.savarin-enveloppe p.savarin-enveloppe__exp {
		position: static;
		max-width: 52%;
		font-size: 0.62rem;
	}

	.savarin-enveloppe__timbre {
		top: 18px;
		right: 18px;
		width: 54px;
	}

	.savarin-enveloppe__cachet {
		top: 64px;
		right: 34px;
		width: 112px;
		z-index: 2;
	}

	.savarin-enveloppe__cachet path {
		display: none;
	}

	.savarin-enveloppe__adresse {
		position: static;
		max-width: 66%;
		margin: 64px 0 0 32%;
		font-size: 1.1rem;
	}

	.savarin-enveloppe__ligne {
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.savarin-tampon {
		position: relative;
		left: auto;
		top: auto;
		align-self: center;
		margin-top: 14px;
		font-size: 0.6rem;
		transform: rotate(-7deg);
	}

	.savarin-recherche-404 .wp-block-search__inside-wrapper {
		flex-wrap: wrap;
	}

	.savarin-recherche-404 .wp-block-search__input {
		flex: 1 1 100%;
	}

	.savarin-recherche-404 .wp-block-search__button {
		flex: 1 1 100%;
		min-height: 48px;
	}
}

/* ==========================================================================
   Plan du site sur le plan du Pradet (fond OpenStreetMap)
   ========================================================================== */

.savarin-page-plan {
	padding-left: var(--wp--style--root--padding-left, 24px);
	padding-right: var(--wp--style--root--padding-right, 24px);
}

.savarin-plan {
	margin-top: clamp(20px, 3vw, 36px);
}

.savarin-plan__haut {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(280px, 1fr);
	gap: clamp(28px, 4vw, 56px);
	align-items: start;
}

@media (max-width: 900px) {
	.savarin-plan__haut {
		grid-template-columns: 1fr;
	}
}

.savarin-plan__cadre {
	margin: 0;
}

.savarin-plan__carte {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid var(--wp--preset--color--sable);
	border-radius: var(--wp--custom--rayon--carte);
	background: #F3ECE1;
	box-shadow: 0 18px 50px rgba(60, 40, 20, 0.12);
	font-family: var(--wp--preset--font-family--inter);
}

.savarin-plan__credits {
	margin-top: 8px;
	font-size: 0.75rem;
	color: var(--wp--preset--color--gris);
	text-align: right;
}

.savarin-plan__credits a {
	color: inherit;
}

.savarin-plan__voies path {
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.savarin-plan__bord {
	stroke: #D9CBB8;
}

.savarin-plan__route {
	stroke: #fff;
}

.savarin-plan__route--a {
	stroke: #FCE3C4;
}

.savarin-plan__noms text {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.12em;
	fill: #8a7b6d;
	dominant-baseline: central;
}

.savarin-plan__lieu-dit {
	font-family: var(--wp--preset--font-family--inter-display);
	font-size: 22px;
	font-style: italic;
	letter-spacing: 0.08em;
	fill: #5E8C87;
}

.savarin-plan__lieu-dit--petit {
	font-size: 15px;
	fill: #8a7b6d;
}

.savarin-plan__plage {
	font-size: 12px;
	font-style: italic;
	fill: #9A7A3E;
	text-anchor: middle;
	paint-order: stroke;
	stroke: #F3ECE1;
	stroke-width: 3px;
}

.savarin-plan__ville text,
text.savarin-plan__ville {
	font-family: var(--wp--preset--font-family--inter-display);
	font-size: 34px;
	font-weight: 500;
	letter-spacing: 0.4em;
	fill: rgba(236, 101, 37, 0.85);
	text-anchor: middle;
}

.savarin-plan__ville:hover text {
	fill: var(--wp--preset--color--terre-de-sienne);
}

.savarin-plan__point {
	cursor: pointer;
}

.savarin-plan__point text {
	font-size: 15px;
	font-weight: 700;
	fill: #fff;
	text-anchor: middle;
	pointer-events: none;
}

.savarin-plan__point circle:last-of-type {
	transition: r 0.15s;
}

.savarin-plan__point:hover circle:last-of-type,
.savarin-plan__point:focus-visible circle:last-of-type,
.savarin-plan__point.is-survol circle:last-of-type {
	r: 19;
}

.savarin-plan__panneau rect {
	fill: #fff;
	stroke: #1D1B1B;
	stroke-width: 2.5;
}

.savarin-plan__panneau text {
	font-size: 16px;
	font-weight: 600;
	fill: #1D1B1B;
}

.savarin-plan__panneau a:hover text {
	fill: var(--wp--preset--color--terracotta);
	text-decoration: underline;
}

.savarin-plan__panneau .savarin-plan__fleche {
	font-size: 20px;
	font-weight: 700;
}

.savarin-plan__ici circle {
	fill: #E10600;
	stroke: #fff;
	stroke-width: 3;
}

.savarin-plan__ici text {
	font-size: 13px;
	font-weight: 700;
	fill: #E10600;
	paint-order: stroke;
	stroke: #fff;
	stroke-width: 4px;
}

.savarin-plan__rose text,
.savarin-plan__echelle text {
	font-size: 13px;
	font-weight: 600;
	fill: #1D1B1B;
}

/* Légende */
.savarin-plan__legende h2 {
	margin: 0 0 8px;
}

.savarin-page-plan p.savarin-plan__rubrique {
	margin: 22px 0 8px;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-align: left;
	color: var(--wp--preset--color--gris);
}

.savarin-plan__points,
.savarin-plan__communes,
.savarin-plan__sous {
	margin: 0;
	padding: 0;
	list-style: none;
}

.savarin-plan__points > li {
	margin: 0 0 6px;
}

.savarin-plan__points a {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	color: var(--wp--preset--color--nuit);
	text-decoration: none;
	font-weight: 500;
	line-height: 1.3;
}

.savarin-plan__points a small {
	display: block;
	font-size: 0.78rem;
	font-weight: 400;
	color: var(--wp--preset--color--gris);
}

.savarin-plan__num {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--savarin-pastille);
	color: #fff;
	font-size: 0.85rem;
	font-weight: 700;
}

.savarin-plan__points a:hover > span:last-child {
	color: var(--wp--preset--color--terracotta);
	text-decoration: underline;
}

.savarin-plan__sous {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 8px 0 4px 40px;
}

.savarin-plan__sous a,
.savarin-plan__communes a {
	display: inline-block;
	padding: 5px 12px;
	border: 1px solid var(--wp--preset--color--sable);
	border-radius: 999px;
	color: var(--wp--preset--color--nuit);
	font-size: 0.85rem;
	text-decoration: none;
}

.savarin-plan__communes {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.savarin-plan__sous a:hover,
.savarin-plan__communes a:hover {
	border-color: var(--wp--preset--color--terracotta);
	color: var(--wp--preset--color--terracotta);
}

/* Index */
.savarin-plan__index {
	margin-top: clamp(40px, 5vw, 64px);
}

.savarin-plan__index h2 {
	margin: 32px 0 16px;
}

.savarin-plan__liste {
	columns: 3 260px;
	column-gap: 48px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.savarin-plan__liste li {
	break-inside: avoid;
	margin: 0;
	padding: 6px 0;
	border-bottom: 1px dotted var(--wp--preset--color--sable);
}

.savarin-plan__liste a {
	color: var(--wp--preset--color--nuit);
	text-decoration: none;
	font-size: 0.95rem;
}

.savarin-plan__liste a:hover {
	color: var(--wp--preset--color--terracotta);
	text-decoration: underline;
}

/* Photos alignées à gauche ou à droite dans le texte : pleine largeur centrée sur téléphone */
@media (max-width: 600px) {
	.wp-block-post-content .wp-block-image.alignright,
	.wp-block-post-content .wp-block-image.alignleft {
		float: none;
		max-width: 80%;
		margin: 0 auto 1.5em;
	}

	.wp-block-post-content .wp-block-image.alignright img,
	.wp-block-post-content .wp-block-image.alignleft img {
		width: 100% !important;
		height: auto !important;
	}
}

.wp-block-image.savarin-arrondi img {
	border-radius: var(--wp--custom--rayon--carte);
}
