/*
Theme Name: Alliance Plomberie BZH
Description: Thème enfant Blocksy pour Alliance Plomberie BZH
Author: Alliance Plomberie BZH
Template: blocksy
Version: 1.3.1
Text Domain: alliance-plomberie-bzh
*/

/* Les imports doivent rester avant toutes les règles CSS. */
@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Montserrat:wght@400;500;600;700&display=swap");


/* =========================================================
   1. CHARTE GRAPHIQUE
========================================================= */

:root {
	--ap-blue: #173F8F;
	--ap-blue-deep: #102C63;
	--ap-blue-night: #0B244F;

	--ap-copper: #B86A3C;
	--ap-copper-light: #D08A5C;

	--ap-metal: #8D959E;
	--ap-graphite: #3C434B;

	--ap-warm-white: #F7F5F1;
	--ap-white: #FFFFFF;

	--ap-text: #3C434B;
	--ap-text-muted: #65707A;

	--ap-border: rgba(16, 44, 99, 0.12);
	--ap-border-soft: rgba(16, 44, 99, 0.08);
	--ap-shadow: rgba(16, 44, 99, 0.08);

	--ap-font-ui: "Montserrat", "Segoe UI", Arial, sans-serif;
	--ap-font-title: "Manrope", "Segoe UI", Arial, sans-serif;
}


/* =========================================================
   2. BASE ET TYPOGRAPHIE GLOBALE
========================================================= */

html {
	scroll-behavior: smooth;
}

body,
button,
input,
select,
textarea {
	font-family: var(--ap-font-ui);
}

body {
	color: var(--ap-text);
	background: var(--ap-warm-white);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--ap-font-title);
	color: var(--ap-blue-deep);
	font-weight: 700;
	letter-spacing: -0.025em;
}

p,
li,
a,
span {
	font-family: var(--ap-font-ui);
}

a {
	transition:
		color 0.2s ease,
		background-color 0.2s ease,
		border-color 0.2s ease,
		transform 0.2s ease;
}


/* =========================================================
   3. BANDEAU SUPÉRIEUR
========================================================= */

#header [data-row="top"] {
	font-family: var(--ap-font-ui);
}

.ap-topbar-info {
	display: flex;
	align-items: center;
	gap: 28px;

	color: var(--ap-white);
	font-family: var(--ap-font-ui);
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
}

.ap-topbar-info span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	white-space: nowrap;
}

.ap-topbar-info__zone::before,
.ap-topbar-info__hours::before {
	content: "";
	display: block;

	width: 13px;
	height: 13px;
	flex: 0 0 13px;

	background-color: var(--ap-white);

	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;

	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
}

.ap-topbar-info__zone::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5Z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5Z'/%3E%3C/svg%3E");
}

.ap-topbar-info__hours::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M12 7v5l3 2' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M12 7v5l3 2' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

[data-row="top"] .ct-header-cta[data-id="button"] .ct-button {
	display: inline-flex !important;
	align-items: center !important;

	padding-left: 20px !important;

	color: var(--ap-white) !important;
	background-color: transparent !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.79 19.79 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92Z'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: left center !important;
	background-size: 13px 13px !important;

	font-family: var(--ap-font-ui) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	text-transform: none !important;
}


/* =========================================================
   4. MENU PRINCIPAL
========================================================= */

#header-menu-1 .ct-menu-link {
	font-family: var(--ap-font-ui) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

#header-menu-1 > .menu > li:not(:last-child) > a {
	color: var(--ap-blue-deep) !important;
}

#header-menu-1 > .menu > li:not(:last-child) > a:hover,
#header-menu-1 > .menu > li.current-menu-item:not(:last-child) > a {
	color: var(--ap-blue) !important;
}


/* =========================================================
   5. CTA DU MENU
========================================================= */

#header-menu-1 > .menu > li:last-child {
	display: flex;
	align-items: center;
	margin-left: 18px;
}

#header-menu-1 > .menu > li:last-child > a {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;

	height: 44px !important;
	min-height: 44px !important;
	padding: 0 20px !important;

	color: var(--ap-white) !important;
	background: var(--ap-copper) !important;

	border: 1px solid var(--ap-copper) !important;
	border-radius: 0 !important;

	font-family: var(--ap-font-ui) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	letter-spacing: 0.02em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
}

#header-menu-1 > .menu > li:last-child > a:hover {
	color: var(--ap-white) !important;
	background: var(--ap-copper-light) !important;
	border-color: var(--ap-copper-light) !important;
	transform: translateY(-1px);
}


/* =========================================================
   6. NETTOYAGE DE LA HOME BLOCKSY
========================================================= */

body.home .hero-section,
body.home .entry-header,
body.home .page-title,
body.home .ct-breadcrumbs {
	display: none !important;
}

body.home .site-main,
body.home article,
body.home .entry-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.home .ct-container-full[data-vertical-spacing] {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

body.home .entry-content > * {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}


/* =========================================================
   7. HERO HOME
========================================================= */

.ap-hero,
.ap-hero * {
	box-sizing: border-box;
}

.ap-hero {
	width: 100vw !important;
	max-width: 100vw !important;

	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	padding: 0 !important;

	overflow: hidden;
	background: var(--ap-warm-white);
	border-bottom: 1px solid var(--ap-border);
}

.ap-hero__grid {
	width: 100%;
	min-height: 530px;

	margin: 0 !important;
	gap: 0 !important;
}

.ap-hero__copy-column,
.ap-hero__media-column {
	min-width: 0;
}

.ap-hero__copy-column {
	display: flex !important;
	align-items: center;
	background: var(--ap-warm-white);
}

.ap-hero__copy {
	width: 100%;
	max-width: 720px !important;

	margin-left: auto !important;
	margin-right: 0 !important;

	padding:
		clamp(48px, 5vw, 76px)
		clamp(34px, 5.25vw, 84px)
		clamp(48px, 5vw, 76px)
		clamp(28px, 5vw, 78px) !important;
}

.ap-hero__kicker {
	display: flex;
	align-items: center;
	gap: 14px;

	margin: 0 0 18px !important;

	color: var(--ap-copper) !important;
	font-family: var(--ap-font-ui) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.13em !important;
	text-transform: uppercase !important;
}

.ap-hero__kicker::before {
	content: "";
	display: block;

	width: 34px;
	height: 2px;
	flex: 0 0 34px;

	background: var(--ap-copper);
	box-shadow: 0 5px 0 var(--ap-copper);
}

.ap-hero__title {
	max-width: 100% !important;
	margin: 0 0 24px !important;

	color: var(--ap-blue-deep) !important;
	font-family: var(--ap-font-title) !important;
	font-size: clamp(43px, 3.4vw, 58px) !important;
	font-weight: 700 !important;
	line-height: 1.01 !important;
	letter-spacing: -0.04em !important;
	white-space: nowrap;
}

.ap-hero__title span {
	color: var(--ap-copper) !important;
	font-family: inherit !important;
	font-weight: inherit !important;
}

.ap-hero__lead {
	max-width: 570px;
	margin: 0 0 14px !important;

	color: var(--ap-graphite) !important;
	font-family: var(--ap-font-ui) !important;
	font-size: clamp(16px, 1.15vw, 18px) !important;
	font-weight: 500 !important;
	line-height: 1.55 !important;
}

.ap-hero__text {
	max-width: 590px;
	margin: 0 !important;

	color: var(--ap-text-muted) !important;
	font-family: var(--ap-font-ui) !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.7 !important;
}

.ap-hero__buttons {
	display: flex !important;
	align-items: center;
	gap: 14px !important;
	margin-top: 28px !important;
}

.ap-button {
	margin: 0 !important;
}

.ap-button .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 48px;
	padding: 14px 24px !important;

	border-radius: 0 !important;

	font-family: var(--ap-font-ui) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	letter-spacing: 0.035em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
}

.ap-button .wp-block-button__link:hover {
	transform: translateY(-1px);
}

.ap-button--copper .wp-block-button__link {
	color: var(--ap-white) !important;
	background: var(--ap-copper) !important;
	border: 1px solid var(--ap-copper) !important;
}

.ap-button--copper .wp-block-button__link:hover {
	background: var(--ap-copper-light) !important;
	border-color: var(--ap-copper-light) !important;
}

.ap-button--blue .wp-block-button__link {
	color: var(--ap-white) !important;
	background: var(--ap-blue-deep) !important;
	border: 1px solid var(--ap-blue-deep) !important;
}

.ap-button--blue .wp-block-button__link::before {
	content: "";
	display: block;

	width: 14px;
	height: 14px;
	flex: 0 0 14px;
	margin-right: 8px;

	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.79 19.79 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92Z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.ap-hero__media-column {
	min-height: 530px;
}

.ap-hero__visual {
	width: 100%;
	height: 100%;
	min-height: 530px !important;
	margin: 0 !important;
}

.ap-hero__visual .wp-block-cover__image-background {
	width: 100%;
	height: 100%;
	object-fit: cover !important;
	object-position: center center !important;
}




/* =========================================================
   8. PHOTO DU HERO CLIQUABLE
========================================================= */

.ap-hero__visual {
	position: relative;
	cursor: pointer;
}

.ap-hero__visual .wp-block-cover__inner-container {
	position: absolute;
	inset: 0;
	z-index: 3;

	width: 100%;
	height: 100%;
}

.ap-hero__visual-cta {
	position: absolute;
	inset: 0;

	width: 100%;
	height: 100%;

	margin: 0 !important;
}

.ap-hero__visual-cta a {
	position: absolute;
	inset: 0;

	display: flex;
	align-items: flex-end;
	justify-content: flex-end;

	padding: 28px 34px;

	color: var(--ap-white) !important;
	text-decoration: none !important;

	background:
		linear-gradient(
			to top,
			rgba(11, 36, 79, 0.38) 0%,
			rgba(11, 36, 79, 0) 38%
		);
}

.ap-hero__visual-cta a::before {
	content: "";

	position: absolute;
	inset: 0;

	background: rgba(11, 36, 79, 0);

	transition: background-color 0.25s ease;
}

.ap-hero__visual-cta span {
	position: relative;
	z-index: 1;

	display: inline-flex;
	align-items: center;
	gap: 10px;

	padding: 12px 16px;

	color: var(--ap-white);
	background: rgba(11, 36, 79, 0.84);
	border: 1px solid rgba(255, 255, 255, 0.28);

	font-family: var(--ap-font-ui);
	font-size: 10px;
	font-weight: 700;
	line-height: 1;

	letter-spacing: 0.055em;
	text-transform: uppercase;

	opacity: 0;
	transform: translateY(8px);

	transition:
		opacity 0.25s ease,
		transform 0.25s ease,
		background-color 0.25s ease;
}

.ap-hero__visual-cta span::after {
	content: "→";

	font-size: 14px;
	font-weight: 500;
}

.ap-hero__visual-cta a:hover::before,
.ap-hero__visual-cta a:focus-visible::before {
	background: rgba(11, 36, 79, 0.12);
}

.ap-hero__visual-cta a:hover span,
.ap-hero__visual-cta a:focus-visible span {
	opacity: 1;
	transform: translateY(0);
}

.ap-hero__visual-cta a:focus-visible {
	outline: 3px solid var(--ap-copper-light);
	outline-offset: -3px;
}


/* =========================================================
   9. BANDEAU DE RÉASSURANCE
========================================================= */

.ap-reassurance {
	width: 100vw !important;
	max-width: 100vw !important;

	margin: 0 calc(50% - 50vw) !important;
	padding: 0 !important;

	background: var(--ap-white);
	border-top: 1px solid var(--ap-border-soft);
	border-bottom: 1px solid var(--ap-border);
}

.ap-reassurance__grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));

	width: min(1380px, calc(100% - 48px));
	max-width: 1380px;
	margin: 0 auto !important;
	gap: 0 !important;
}

.ap-reassurance__item {
	position: relative;
	display: flex !important;
	align-items: center;

	min-height: 90px;
	margin: 0 !important;
	padding: 18px 28px 18px 76px !important;

	border-right: 1px solid rgba(16, 44, 99, 0.10);
}

.ap-reassurance__item:last-child {
	border-right: 0;
}

.ap-reassurance__content {
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

.ap-reassurance .ap-reassurance__item h3 {
	margin: 0 0 5px !important;
	padding: 0 !important;

	color: var(--ap-blue-deep) !important;
	font-family: var(--ap-font-title) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.015em !important;
	text-transform: none !important;
}

.ap-reassurance .ap-reassurance__item p {
	margin: 0 !important;
	padding: 0 !important;

	color: var(--ap-text-muted) !important;
	font-family: var(--ap-font-ui) !important;
	font-size: 10px !important;
	font-weight: 400 !important;
	line-height: 1.3 !important;
	letter-spacing: 0 !important;
}

.ap-reassurance__item::before {
	content: "";
	position: absolute;
	left: 28px;
	top: 50%;

	width: 27px;
	height: 27px;
	transform: translateY(-50%);

	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.ap-reassurance__item--quote::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23102C63' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2h9l5 5v15H6V2Z'/%3E%3Cpath d='M14 2v6h6M9 12h7M9 16h7M9 8h2'/%3E%3C/svg%3E");
}

.ap-reassurance__item--speed::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23102C63' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
}

.ap-reassurance__item--local::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23102C63' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s7-7.3 7-13A7 7 0 0 0 5 9c0 5.7 7 13 7 13Z'/%3E%3Ccircle cx='12' cy='9' r='2.4'/%3E%3C/svg%3E");
}

.ap-reassurance__item--guarantee::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23102C63' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2 20 5v6c0 5.2-3.4 9-8 11-4.6-2-8-5.8-8-11V5l8-3Z'/%3E%3Cpath d='m8.5 12 2.2 2.2 4.8-5'/%3E%3C/svg%3E");
}


/* =========================================================
   10. DOMAINES D’EXPERTISE
========================================================= */

.ap-expertise {
	width: 100vw !important;
	max-width: 100vw !important;

	margin: 0 calc(50% - 50vw) !important;
	padding: 46px 24px 84px !important;

	background: var(--ap-warm-white);
}

.ap-expertise-kicker {
	margin: 0 0 14px !important;

	color: var(--ap-copper) !important;
	font-family: var(--ap-font-ui) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
}

.ap-expertise-title {
	max-width: 760px;
	margin: 0 auto 38px !important;

	color: var(--ap-blue-deep) !important;
	font-family: var(--ap-font-title) !important;
	font-size: clamp(38px, 3.15vw, 50px) !important;
	font-weight: 700 !important;
	line-height: 1.08 !important;
	letter-spacing: -0.04em !important;
}

.ap-expertise-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));

	width: 100%;
	max-width: 1180px;

	margin: 0 auto !important;
	gap: 18px !important;
	align-items: stretch;
}


/* =========================================================
   11. CARTES SERVICES
========================================================= */

.ap-service-card {
	display: flex !important;
	flex-direction: column;

	min-width: 0;
	margin: 0 !important;
	overflow: hidden;

	background: var(--ap-white);
	border: 1px solid rgba(16, 44, 99, 0.10);
	box-shadow: 0 10px 28px rgba(16, 44, 99, 0.055);

	transition:
		transform 0.25s ease,
		box-shadow 0.25s ease,
		border-color 0.25s ease;
}

.ap-service-card:hover {
	transform: translateY(-3px);
	border-color: rgba(184, 106, 60, 0.28);
	box-shadow: 0 16px 34px rgba(16, 44, 99, 0.09);
}

.ap-service-image {
	width: 100%;
	margin: 0 !important;
	overflow: hidden;
}

.ap-service-image img {
	display: block;
	width: 100%;
	height: 190px;

	object-fit: cover;
	object-position: center;
	transition: transform 0.45s ease;
}

.ap-service-card:hover .ap-service-image img {
	transform: scale(1.025);
}

.ap-service-content {
	display: flex !important;
	flex: 1;
	flex-direction: column;

	width: 100%;
	margin: 0 !important;
	padding: 23px 22px 24px !important;
}

.ap-service-title {
	margin: 0 0 12px !important;

	color: var(--ap-blue-deep) !important;
	font-family: var(--ap-font-title) !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.03em !important;
}

.ap-service-text {
	margin: 0 0 22px !important;

	color: var(--ap-text-muted) !important;
	font-family: var(--ap-font-ui) !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	line-height: 1.65 !important;
}

.ap-service-link {
	margin: auto 0 0 !important;
}

.ap-service-link a {
	display: inline-flex;
	align-items: center;
	gap: 8px;

	color: var(--ap-copper) !important;
	font-family: var(--ap-font-ui) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	letter-spacing: 0.045em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
}

.ap-service-link a::after {
	content: "→";
	font-size: 14px;
	font-weight: 500;
	transition: transform 0.2s ease;
}

.ap-service-link a:hover::after {
	transform: translateX(4px);
}


/* =========================================================
   12. CARTE DÉPANNAGE
========================================================= */

.ap-service-emergency {
	display: flex !important;
	flex-direction: column;

	min-width: 0;
	margin: 0 !important;
	overflow: hidden;

	background: linear-gradient(145deg, var(--ap-blue-deep) 0%, var(--ap-blue-night) 100%);
	border: 1px solid rgba(208, 138, 92, 0.38);
	box-shadow: 0 14px 34px rgba(16, 44, 99, 0.16);
}

.ap-emergency-content {
	display: flex !important;
	flex: 1;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	width: 100%;
	margin: 0 !important;
	padding: 34px 24px !important;
	text-align: center;
}

.ap-emergency-content::before {
	content: "";
	display: block;

	width: 36px;
	height: 36px;
	margin: 0 auto 18px;

	background-color: var(--ap-copper-light);

	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;

	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;

	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 15h10M8 15v-4a4 4 0 0 1 8 0v4M5 19h14M12 3v2M4.9 5.9l1.4 1.4M19.1 5.9l-1.4 1.4M3 12h2M19 12h2' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 15h10M8 15v-4a4 4 0 0 1 8 0v4M5 19h14M12 3v2M4.9 5.9l1.4 1.4M19.1 5.9l-1.4 1.4M3 12h2M19 12h2' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.ap-emergency-title {
	margin: 0 0 14px !important;

	color: var(--ap-copper-light) !important;
	font-family: var(--ap-font-title) !important;
	font-size: 23px !important;
	font-weight: 700 !important;
	line-height: 1.08 !important;
	letter-spacing: -0.025em !important;
}

.ap-emergency-text {
	max-width: 230px;
	margin: 0 auto 22px !important;

	color: rgba(255, 255, 255, 0.82) !important;
	font-family: var(--ap-font-ui) !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	line-height: 1.55 !important;
}

.ap-emergency-buttons {
	margin: 0 0 22px !important;
}

.ap-emergency-button .wp-block-button__link {
	padding: 14px 20px !important;

	color: var(--ap-white) !important;
	background: var(--ap-copper) !important;
	border: 1px solid var(--ap-copper) !important;
	border-radius: 0 !important;

	font-family: var(--ap-font-ui) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	letter-spacing: 0.045em !important;
	text-transform: uppercase !important;
}

.ap-emergency-button .wp-block-button__link:hover {
	background: var(--ap-copper-light) !important;
	border-color: var(--ap-copper-light) !important;
	transform: translateY(-1px);
}

.ap-emergency-phone {
	margin: 0 0 5px !important;
}

.ap-emergency-phone a {
	color: var(--ap-copper-light) !important;
	font-family: var(--ap-font-title) !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
}

.ap-emergency-hours {
	margin: 0 !important;

	color: rgba(255, 255, 255, 0.82) !important;
	font-family: var(--ap-font-ui) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
}


/* =========================================================
   13. RESPONSIVE TABLETTE
========================================================= */

@media (max-width: 1100px) {

	.ap-topbar-info {
		gap: 18px;
		font-size: 11px;
	}

	.ap-hero__copy {
		padding: 48px 32px !important;
	}

	.ap-hero__title {
		font-size: clamp(40px, 4.25vw, 52px) !important;
	}

	.ap-hero__grid,
	.ap-hero__media-column,
	.ap-hero__visual {
		min-height: 500px !important;
	}
}

@media (max-width: 1050px) {

	.ap-expertise-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ap-service-image img {
		height: 220px;
	}

	.ap-service-emergency {
		min-height: 420px;
	}
}

@media (max-width: 900px) {

	.ap-reassurance__grid {
		width: 100%;
		max-width: none;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ap-reassurance__item {
		min-height: 84px;
		padding: 16px 22px 16px 68px !important;
	}

	.ap-reassurance__item::before {
		left: 24px;
		width: 25px;
		height: 25px;
	}

	.ap-reassurance__item:nth-child(2) {
		border-right: 0;
	}

	.ap-reassurance__item:nth-child(-n+2) {
		border-bottom: 1px solid rgba(16, 44, 99, 0.10);
	}

	.ap-expertise {
		padding-top: 42px !important;
	}
}


/* =========================================================
   14. RESPONSIVE MOBILE
========================================================= */

@media (max-width: 781px) {

	.ap-hero__grid {
		display: flex !important;
		flex-direction: column !important;
		min-height: auto !important;
	}

	.ap-hero__copy-column,
	.ap-hero__media-column {
		width: 100% !important;
		flex-basis: 100% !important;
	}

	.ap-hero__media-column {
		order: 1;
		min-height: 330px !important;
	}

	.ap-hero__copy-column {
		order: 2;
	}

	.ap-hero__visual {
		min-height: 330px !important;
	}

	.ap-hero__copy {
		max-width: none !important;
		padding: 40px 20px 46px !important;
	}

	.ap-hero__kicker {
		font-size: 9px !important;
		letter-spacing: 0.1em !important;
	}

	.ap-hero__title {
		font-size: clamp(36px, 9.6vw, 47px) !important;
		line-height: 1.02 !important;
		white-space: nowrap;
	}

	.ap-hero__lead {
		font-size: 16px !important;
	}

	.ap-hero__text {
		font-size: 13px !important;
	}

	.ap-hero__buttons {
		display: grid !important;
		grid-template-columns: 1fr !important;
		width: 100%;
	}

	.ap-hero__buttons .wp-block-button,
	.ap-hero__buttons .wp-block-button__link {
		width: 100%;
	}

	.ap-hero__visual-cta a {
		padding: 18px;
	}

	.ap-hero__visual-cta span {
		opacity: 1;
		transform: none;
		font-size: 9px;
	}
}

@media (max-width: 650px) {

	.ap-expertise {
		padding: 42px 18px 64px !important;
	}

	.ap-expertise-title {
		margin-bottom: 32px !important;
		font-size: 34px !important;
	}

	.ap-expertise-grid {
		grid-template-columns: 1fr;
		gap: 16px !important;
	}

	.ap-service-image img {
		height: 210px;
	}

	.ap-service-emergency {
		min-height: 390px;
	}
}

@media (max-width: 480px) {

	.ap-reassurance__grid {
		grid-template-columns: 1fr;
	}

	.ap-reassurance__item {
		min-height: 76px;
		padding: 14px 20px 14px 62px !important;
		border-right: 0;
		border-bottom: 1px solid rgba(16, 44, 99, 0.10);
	}

	.ap-reassurance__item::before {
		left: 22px;
		width: 23px;
		height: 23px;
	}

	.ap-reassurance__item:last-child {
		border-bottom: 0;
	}

	.ap-expertise {
		padding-top: 36px !important;
	}

	.ap-expertise-title {
		margin-bottom: 30px !important;
	}
}

@media (max-width: 390px) {

	.ap-hero__title {
		font-size: 35px !important;
	}

	.ap-hero__copy {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
}


/* =========================================================
   15. ACCESSIBILITÉ
========================================================= */

@media (prefers-reduced-motion: reduce) {

	* {
		scroll-behavior: auto !important;
	}

	.ap-button .wp-block-button__link,
	#header-menu-1 > .menu > li:last-child > a,
	.ap-service-card,
	.ap-service-image img,
	.ap-service-link a::after,
	.ap-emergency-button .wp-block-button__link,
	.ap-hero__visual-cta a::before,
	.ap-hero__visual-cta span {
		transition: none !important;
		transform: none !important;
	}
}
/* =========================================================
   PRÉSENTATION DES ARTISANS — SANS PHOTO REDONDANTE
========================================================= */

.ap-identity {
	width: 100vw !important;
	max-width: 100vw !important;

	margin: 0 calc(50% - 50vw) !important;
	padding: 82px 24px 88px !important;

	background: var(--ap-white);
	border-top: 1px solid var(--ap-border-soft);
}

.ap-identity__grid {
	width: 100%;
	max-width: 1180px;

	margin: 0 auto !important;
	gap: clamp(48px, 6vw, 86px) !important;

	align-items: center !important;
}


/* =========================================================
   TEXTE DE PRÉSENTATION
========================================================= */

.ap-identity__copy {
	min-width: 0;
}

.ap-identity__kicker {
	display: flex;
	align-items: center;
	gap: 13px;

	margin: 0 0 18px !important;

	color: var(--ap-copper) !important;

	font-family: var(--ap-font-ui) !important;
	font-size: 10px !important;
	font-weight: 700 !important;

	line-height: 1.2 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
}

.ap-identity__kicker::before {
	content: "";

	display: block;

	width: 32px;
	height: 2px;
	flex: 0 0 32px;

	background: var(--ap-copper);

	box-shadow: 0 5px 0 var(--ap-copper);
}

.ap-identity__title {
	max-width: 670px;

	margin: 0 0 25px !important;

	color: var(--ap-blue-deep) !important;

	font-family: var(--ap-font-title) !important;
	font-size: clamp(34px, 3vw, 46px) !important;
	font-weight: 700 !important;

	line-height: 1.08 !important;
	letter-spacing: -0.04em !important;
}

.ap-identity__lead {
	max-width: 650px;

	margin: 0 0 14px !important;

	color: var(--ap-graphite) !important;

	font-family: var(--ap-font-ui) !important;
	font-size: 16px !important;
	font-weight: 500 !important;

	line-height: 1.65 !important;
}

.ap-identity__text {
	max-width: 650px;

	margin: 0 0 28px !important;

	color: var(--ap-text-muted) !important;

	font-family: var(--ap-font-ui) !important;
	font-size: 14px !important;
	font-weight: 400 !important;

	line-height: 1.75 !important;
}


/* =========================================================
   LIEN À PROPOS
========================================================= */

.ap-identity__link {
	margin: 0 !important;
}

.ap-identity__link a {
	display: inline-flex;
	align-items: center;
	gap: 9px;

	color: var(--ap-copper) !important;

	font-family: var(--ap-font-ui) !important;
	font-size: 11px !important;
	font-weight: 700 !important;

	line-height: 1 !important;
	letter-spacing: 0.045em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
}

.ap-identity__link a::after {
	content: "→";

	font-size: 15px;
	font-weight: 500;

	transition: transform 0.2s ease;
}

.ap-identity__link a:hover::after {
	transform: translateX(4px);
}


/* =========================================================
   GRILLE DES PREUVES
========================================================= */

.ap-identity__facts {
	min-width: 0;
}

.ap-identity__facts-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));

	margin: 0 !important;
	gap: 0 !important;
}

.ap-identity__fact {
	position: relative;

	min-height: 205px;

	margin: 0 !important;
	padding: 34px 28px 30px !important;

	background: var(--ap-warm-white);

	border-right: 1px solid var(--ap-border);
	border-bottom: 1px solid var(--ap-border);
}

.ap-identity__facts-grid:first-child .ap-identity__fact {
	border-top: 1px solid var(--ap-border);
}

.ap-identity__fact:nth-child(1) {
	border-left: 1px solid var(--ap-border);
}

.ap-identity__facts-grid:last-child .ap-identity__fact {
	border-bottom: 1px solid var(--ap-border);
}


/* =========================================================
   PICTOGRAMMES
========================================================= */

.ap-identity__fact::before {
	content: "";

	display: block;

	width: 31px;
	height: 31px;

	margin: 0 0 21px;

	background-color: var(--ap-copper);

	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;

	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
}

/* Deux artisans */
.ap-identity__fact--team::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='8' cy='8' r='3' fill='none' stroke='black' stroke-width='1.6'/%3E%3Ccircle cx='17' cy='9' r='2.5' fill='none' stroke='black' stroke-width='1.6'/%3E%3Cpath d='M2.5 20c.4-4 2.4-6 5.5-6s5.1 2 5.5 6M14 15c3.5-.4 6 .9 7 4' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");

	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='8' cy='8' r='3' fill='none' stroke='black' stroke-width='1.6'/%3E%3Ccircle cx='17' cy='9' r='2.5' fill='none' stroke='black' stroke-width='1.6'/%3E%3Cpath d='M2.5 20c.4-4 2.4-6 5.5-6s5.1 2 5.5 6M14 15c3.5-.4 6 .9 7 4' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* Expérience */
.ap-identity__fact--experience::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2.5 2.9 5.9 6.5.9-4.7 4.6 1.1 6.5-5.8-3-5.8 3 1.1-6.5-4.7-4.6 6.5-.9L12 2.5Z' fill='none' stroke='black' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E");

	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2.5 2.9 5.9 6.5.9-4.7 4.6 1.1 6.5-5.8-3-5.8 3 1.1-6.5-4.7-4.6 6.5-.9L12 2.5Z' fill='none' stroke='black' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* Zone */
.ap-identity__fact--area::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22s7-7.3 7-13A7 7 0 0 0 5 9c0 5.7 7 13 7 13Z' fill='none' stroke='black' stroke-width='1.6'/%3E%3Ccircle cx='12' cy='9' r='2.4' fill='none' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E");

	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22s7-7.3 7-13A7 7 0 0 0 5 9c0 5.7 7 13 7 13Z' fill='none' stroke='black' stroke-width='1.6'/%3E%3Ccircle cx='12' cy='9' r='2.4' fill='none' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E");
}

/* Garantie */
.ap-identity__fact--guarantee::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 20 5v6c0 5.2-3.4 9-8 11-4.6-2-8-5.8-8-11V5l8-3Z' fill='none' stroke='black' stroke-width='1.6'/%3E%3Cpath d='m8.5 12 2.2 2.2 4.8-5' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 20 5v6c0 5.2-3.4 9-8 11-4.6-2-8-5.8-8-11V5l8-3Z' fill='none' stroke='black' stroke-width='1.6'/%3E%3Cpath d='m8.5 12 2.2 2.2 4.8-5' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}


/* =========================================================
   CHIFFRES ET LIBELLÉS
========================================================= */

.ap-identity__number,
.ap-identity__word {
	margin: 0 0 9px !important;

	color: var(--ap-blue-deep) !important;

	font-family: var(--ap-font-title) !important;
	font-weight: 700 !important;

	letter-spacing: -0.04em !important;
}

.ap-identity__number {
	font-size: 35px !important;
	line-height: 1 !important;
}

.ap-identity__word {
	font-size: 23px !important;
	line-height: 1.08 !important;
}

.ap-identity__label {
	margin: 0 !important;

	color: var(--ap-text-muted) !important;

	font-family: var(--ap-font-ui) !important;
	font-size: 12px !important;
	font-weight: 500 !important;

	line-height: 1.5 !important;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 900px) {

	.ap-identity {
		padding: 68px 22px 72px !important;
	}

	.ap-identity__grid {
		flex-direction: column !important;
		gap: 45px !important;
	}

	.ap-identity__copy,
	.ap-identity__facts {
		width: 100% !important;
		flex-basis: 100% !important;
	}

	.ap-identity__title {
		max-width: 720px;
	}

	.ap-identity__lead,
	.ap-identity__text {
		max-width: 720px;
	}
}

@media (max-width: 560px) {

	.ap-identity {
		padding: 56px 18px 62px !important;
	}

	.ap-identity__title {
		font-size: 33px !important;
	}

	.ap-identity__facts-grid {
		grid-template-columns: 1fr !important;
	}

	.ap-identity__fact {
		min-height: auto;

		padding: 27px 24px !important;

		border-left: 1px solid var(--ap-border) !important;
		border-right: 1px solid var(--ap-border) !important;
	}

	.ap-identity__facts-grid:first-child .ap-identity__fact:first-child {
		border-top: 1px solid var(--ap-border);
	}

	.ap-identity__facts-grid:first-child .ap-identity__fact:last-child {
		border-top: 0;
	}

	.ap-identity__facts-grid:last-child .ap-identity__fact {
		border-top: 0;
	}

	.ap-identity__fact::before {
		width: 27px;
		height: 27px;

		margin-bottom: 16px;
	}
}
/* =========================================================
   ENSEIGNES DE CONFIANCE
========================================================= */

.ap-trust {
	width: 100vw !important;
	max-width: 100vw !important;

	margin: 0 calc(50% - 50vw) !important;
	padding: 58px 24px 62px !important;

	background: var(--ap-warm-white);
	border-top: 1px solid var(--ap-border-soft);
	border-bottom: 1px solid var(--ap-border-soft);
}


/* Petit intitulé */
.ap-trust__kicker {
	margin: 0 0 12px !important;

	color: var(--ap-copper) !important;

	font-family: var(--ap-font-ui) !important;
	font-size: 10px !important;
	font-weight: 700 !important;

	line-height: 1.2 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
}


/* Titre principal */
.ap-trust__title {
	max-width: 760px;

	margin: 0 auto 16px !important;

	color: var(--ap-blue-deep) !important;

	font-family: var(--ap-font-title) !important;
	font-size: clamp(32px, 2.7vw, 43px) !important;
	font-weight: 700 !important;

	line-height: 1.1 !important;
	letter-spacing: -0.04em !important;
}


/* Introduction */
.ap-trust__intro {
	max-width: 820px;

	margin: 0 auto 34px !important;

	color: var(--ap-text-muted) !important;

	font-family: var(--ap-font-ui) !important;
	font-size: 14px !important;
	font-weight: 400 !important;

	line-height: 1.7 !important;
}


/* =========================================================
   GRILLE DES ENSEIGNES
========================================================= */

.ap-trust__grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));

	width: 100%;
	max-width: 900px;

	margin: 0 auto !important;
	gap: 20px !important;
}


/* Carte */
.ap-trust__card {
	margin: 0 !important;

	background: var(--ap-white);

	border: 1px solid var(--ap-border);
	box-shadow: 0 10px 28px rgba(16, 44, 99, 0.05);

	transition:
		transform 0.25s ease,
		border-color 0.25s ease,
		box-shadow 0.25s ease;
}

.ap-trust__card:hover {
	transform: translateY(-3px);

	border-color: rgba(184, 106, 60, 0.30);

	box-shadow: 0 16px 34px rgba(16, 44, 99, 0.09);
}


/* Contenu */
.ap-trust__card-content {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	min-height: 230px;

	margin: 0 !important;
	padding: 30px 34px !important;

	text-align: center;
}


/* Logo temporaire en texte */
.ap-trust__temporary-logo {
	margin: 0 0 16px !important;

	color: var(--ap-blue-deep) !important;

	font-family: var(--ap-font-title) !important;
	font-size: 31px !important;
	font-weight: 700 !important;

	line-height: 1 !important;
	letter-spacing: 0.025em !important;
}


/* Fonction de l’enseigne */
.ap-trust__card-title {
	margin: 0 0 12px !important;

	color: var(--ap-graphite) !important;

	font-family: var(--ap-font-ui) !important;
	font-size: 13px !important;
	font-weight: 600 !important;

	line-height: 1.4 !important;
}


/* Description */
.ap-trust__card-text {
	max-width: 360px;

	margin: 0 !important;

	color: var(--ap-text-muted) !important;

	font-family: var(--ap-font-ui) !important;
	font-size: 12px !important;
	font-weight: 400 !important;

	line-height: 1.65 !important;
}


/* Note finale */
.ap-trust__note {
	max-width: 760px;

	margin: 24px auto 0 !important;

	color: var(--ap-metal) !important;

	font-family: var(--ap-font-ui) !important;
	font-size: 10px !important;
	font-weight: 500 !important;

	line-height: 1.5 !important;
}


/* =========================================================
   FUTURS LOGOS IMAGE
========================================================= */

.ap-trust__logo {
	display: flex;
	align-items: center;
	justify-content: center;

	height: 70px;

	margin: 0 0 18px !important;
}

.ap-trust__logo img {
	display: block;

	width: auto;
	max-width: 220px;
	max-height: 62px;

	object-fit: contain;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 760px) {

	.ap-trust {
		padding: 50px 18px 54px !important;
	}

	.ap-trust__title {
		font-size: 32px !important;
	}

	.ap-trust__grid {
		grid-template-columns: 1fr;
		max-width: 520px;
	}

	.ap-trust__card-content {
		min-height: 210px;
		padding: 28px 26px !important;
	}
}

@media (max-width: 480px) {

	.ap-trust__title br {
		display: none;
	}

	.ap-trust__intro {
		margin-bottom: 26px !important;
	}

	.ap-trust__temporary-logo {
		font-size: 27px !important;
	}
}

/* =========================================================
   AJUSTEMENT OPTIQUE DES LOGOS AUBADE / CEDEO
========================================================= */

.ap-trust__logo {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: 100% !important;
	height: 70px !important;

	margin: 0 auto 18px !important;
}

.ap-trust__logo img {
	display: block !important;

	width: auto !important;
	height: auto !important;

	margin: 0 auto !important;

	object-fit: contain !important;
	object-position: center !important;
}

/* Aubade : légèrement agrandi */
.ap-trust__grid > .ap-trust__card:nth-child(1) .ap-trust__logo img {
	max-width: 210px !important;
	max-height: 62px !important;
}

/* CEDEO : légèrement contenu */
.ap-trust__grid > .ap-trust__card:nth-child(2) .ap-trust__logo img {
	max-width: 205px !important;
	max-height: 56px !important;
}

/* Cartes un peu plus compactes */
.ap-trust__card-content {
	min-height: 220px !important;

	padding-top: 28px !important;
	padding-bottom: 28px !important;
}
/* =========================================================
   RÉALISATIONS RÉCENTES
========================================================= */

.ap-projects {
	width: 100vw !important;
	max-width: 100vw !important;

	margin: 0 calc(50% - 50vw) !important;
	padding: 72px 24px 84px !important;

	background: var(--ap-warm-white);
	border-top: 1px solid var(--ap-border);
}


/* =========================================================
   EN-TÊTE DE SECTION
========================================================= */

.ap-projects__kicker {
	margin: 0 0 13px !important;

	color: var(--ap-copper) !important;

	font-family: var(--ap-font-ui) !important;
	font-size: 10px !important;
	font-weight: 700 !important;

	line-height: 1.2 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
}

.ap-projects__title {
	max-width: 720px;

	margin: 0 auto 40px !important;

	color: var(--ap-blue-deep) !important;

	font-family: var(--ap-font-title) !important;
	font-size: clamp(36px, 3.2vw, 48px) !important;
	font-weight: 700 !important;

	line-height: 1.06 !important;
	letter-spacing: -0.045em !important;
}


/* =========================================================
   TROIS RÉALISATIONS
========================================================= */

.ap-projects__grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));

	width: 100%;
	max-width: 1180px;

	margin: 0 auto 20px !important;
	gap: 18px !important;
}

.ap-project-card {
	min-width: 0;

	margin: 0 !important;

	overflow: hidden;

	background: var(--ap-blue-deep);

	box-shadow: 0 12px 28px rgba(16, 44, 99, 0.10);

	transition:
		transform 0.25s ease,
		box-shadow 0.25s ease;
}

.ap-project-card:hover {
	transform: translateY(-4px);

	box-shadow: 0 18px 38px rgba(16, 44, 99, 0.15);
}

.ap-project-card__visual {
	position: relative;

	width: 100%;
	min-height: 245px !important;

	margin: 0 !important;

	overflow: hidden;
}

.ap-project-card__visual .wp-block-cover__image-background {
	width: 100%;
	height: 100%;

	object-fit: cover !important;
	object-position: center !important;

	transition: transform 0.45s ease;
}

.ap-project-card:hover .wp-block-cover__image-background {
	transform: scale(1.035);
}

/* Overlay plus élégant que l’aplat actuel */
.ap-project-card__visual .wp-block-cover__background {
	opacity: 1 !important;

	background:
		linear-gradient(
			to top,
			rgba(7, 27, 58, 0.88) 0%,
			rgba(7, 27, 58, 0.36) 48%,
			rgba(7, 27, 58, 0.06) 100%
		) !important;
}

.ap-project-card__visual .wp-block-cover__inner-container {
	position: relative;
	z-index: 2;

	display: flex;
	align-items: flex-end;

	width: 100%;
	height: 100%;
	min-height: 245px;
}

.ap-project-card__content {
	width: 100%;

	margin: 0 !important;
	padding: 24px 24px 22px !important;
}

.ap-project-card__title {
	margin: 0 0 5px !important;

	color: var(--ap-white) !important;

	font-family: var(--ap-font-title) !important;
	font-size: 21px !important;
	font-weight: 700 !important;

	line-height: 1.12 !important;
	letter-spacing: -0.03em !important;
}

.ap-project-card__text {
	margin: 0 !important;

	color: rgba(255, 255, 255, 0.82) !important;

	font-family: var(--ap-font-ui) !important;
	font-size: 11px !important;
	font-weight: 500 !important;

	line-height: 1.4 !important;
}


/* =========================================================
   AVANT / APRÈS
========================================================= */

.ap-before-after {
	display: grid !important;
	grid-template-columns:
		minmax(0, 34fr)
		minmax(0, 33fr)
		minmax(0, 33fr);

	width: 100%;
	max-width: 1180px;

	margin: 0 auto !important;
	gap: 0 !important;

	overflow: hidden;

	background: var(--ap-white);

	border: 1px solid var(--ap-border);

	box-shadow: 0 12px 30px rgba(16, 44, 99, 0.07);
}

.ap-before-after__copy {
	display: flex !important;
	align-items: center;

	min-width: 0;

	margin: 0 !important;

	background: var(--ap-white);
}

.ap-before-after__copy-inner {
	width: 100%;

	margin: 0 !important;
	padding: 38px 38px 40px !important;
}

.ap-before-after__kicker {
	display: flex;
	align-items: center;
	gap: 11px;

	margin: 0 0 14px !important;

	color: var(--ap-copper) !important;

	font-family: var(--ap-font-ui) !important;
	font-size: 9px !important;
	font-weight: 700 !important;

	line-height: 1.2 !important;
	letter-spacing: 0.13em !important;
	text-transform: uppercase !important;
}

.ap-before-after__kicker::before {
	content: "";

	width: 28px;
	height: 2px;
	flex: 0 0 28px;

	background: var(--ap-copper);

	box-shadow: 0 5px 0 var(--ap-copper);
}

.ap-before-after__title {
	margin: 0 0 17px !important;

	color: var(--ap-blue-deep) !important;

	font-family: var(--ap-font-title) !important;
	font-size: clamp(27px, 2.25vw, 34px) !important;
	font-weight: 700 !important;

	line-height: 1.08 !important;
	letter-spacing: -0.04em !important;
}

.ap-before-after__text {
	margin: 0 0 24px !important;

	color: var(--ap-text-muted) !important;

	font-family: var(--ap-font-ui) !important;
	font-size: 12px !important;
	font-weight: 400 !important;

	line-height: 1.7 !important;
}

.ap-before-after__link {
	margin: 0 !important;
}

.ap-before-after__link a {
	display: inline-flex;
	align-items: center;
	gap: 8px;

	color: var(--ap-copper) !important;

	font-family: var(--ap-font-ui) !important;
	font-size: 10px !important;
	font-weight: 700 !important;

	line-height: 1 !important;
	letter-spacing: 0.045em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
}

.ap-before-after__link a::after {
	content: "→";

	font-size: 14px;
	font-weight: 500;

	transition: transform 0.2s ease;
}

.ap-before-after__link a:hover::after {
	transform: translateX(4px);
}


/* =========================================================
   IMAGES AVANT / APRÈS
========================================================= */

.ap-before-after__visual {
	position: relative;

	min-width: 0;

	margin: 0 !important;

	overflow: hidden;
}

.ap-before-after__visual--before {
	border-left: 1px solid var(--ap-border);
}

.ap-before-after__visual--after {
	border-left: 1px solid rgba(255, 255, 255, 0.32);
}

.ap-before-after__cover {
	width: 100%;
	height: 100%;

	min-height: 330px !important;

	margin: 0 !important;
}

.ap-before-after__cover .wp-block-cover__image-background {
	width: 100%;
	height: 100%;

	object-fit: cover !important;
	object-position: center !important;

	transition: transform 0.45s ease;
}

.ap-before-after__visual:hover .wp-block-cover__image-background {
	transform: scale(1.025);
}

.ap-before-after__cover .wp-block-cover__inner-container {
	position: relative;

	display: flex;
	align-items: flex-end;

	width: 100%;
	height: 100%;
	min-height: 330px;

	padding: 22px;
}

.ap-before-after__visual--before .wp-block-cover__background {
	opacity: 1 !important;

	background:
		linear-gradient(
			to top,
			rgba(11, 36, 79, 0.46) 0%,
			rgba(11, 36, 79, 0.02) 45%
		) !important;
}

.ap-before-after__visual--after .wp-block-cover__background {
	opacity: 1 !important;

	background:
		linear-gradient(
			to top,
			rgba(11, 36, 79, 0.28) 0%,
			rgba(11, 36, 79, 0) 45%
		) !important;
}

.ap-before-after__badge {
	display: inline-flex;

	margin: 0 !important;
	padding: 8px 12px !important;

	color: var(--ap-white) !important;
	background: rgba(11, 36, 79, 0.88);

	border: 1px solid rgba(255, 255, 255, 0.25);

	font-family: var(--ap-font-ui) !important;
	font-size: 9px !important;
	font-weight: 700 !important;

	line-height: 1 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
}


/* =========================================================
   RESPONSIVE TABLETTE
========================================================= */

@media (max-width: 900px) {

	.ap-projects {
		padding: 62px 22px 70px !important;
	}

	.ap-projects__grid {
		grid-template-columns: 1fr;
		max-width: 720px;
	}

	.ap-project-card__visual,
	.ap-project-card__visual .wp-block-cover__inner-container {
		min-height: 300px !important;
	}

	.ap-before-after {
		grid-template-columns: 1fr 1fr;
		max-width: 720px;
	}

	.ap-before-after__copy {
		grid-column: 1 / -1;
	}

	.ap-before-after__copy-inner {
		padding: 34px !important;
	}

	.ap-before-after__visual--before {
		border-left: 0;
		border-top: 1px solid var(--ap-border);
	}

	.ap-before-after__visual--after {
		border-top: 1px solid var(--ap-border);
	}
}


/* =========================================================
   RESPONSIVE MOBILE
========================================================= */

@media (max-width: 600px) {

	.ap-projects {
		padding: 54px 18px 60px !important;
	}

	.ap-projects__title {
		margin-bottom: 30px !important;

		font-size: 34px !important;
	}

	.ap-project-card__visual,
	.ap-project-card__visual .wp-block-cover__inner-container {
		min-height: 245px !important;
	}

	.ap-project-card__content {
		padding: 21px 20px !important;
	}

	.ap-before-after {
		grid-template-columns: 1fr;
	}

	.ap-before-after__copy {
		grid-column: auto;
	}

	.ap-before-after__copy-inner {
		padding: 30px 24px 32px !important;
	}

	.ap-before-after__visual--before,
	.ap-before-after__visual--after {
		border-left: 0;
		border-top: 1px solid var(--ap-border);
	}

	.ap-before-after__cover,
	.ap-before-after__cover .wp-block-cover__inner-container {
		min-height: 285px !important;
	}
}

/* =========================================================
   ZONE D’INTERVENTION + CONTACT
========================================================= */

.ap-local-contact {
	width: 100vw !important;
	max-width: 100vw !important;

	margin: 0 calc(50% - 50vw) !important;
	padding: 76px 24px 82px !important;

	background: var(--ap-white);
	border-top: 1px solid var(--ap-border);
}

.ap-local-contact__grid {
	display: grid !important;
	grid-template-columns: minmax(0, 58fr) minmax(0, 42fr);

	width: 100%;
	max-width: 1180px;

	margin: 0 auto !important;
	gap: 20px !important;

	align-items: stretch !important;
}

.ap-local-contact__zone,
.ap-local-contact__contact {
	min-width: 0;
	margin: 0 !important;
}


/* =========================================================
   ZONE D’INTERVENTION
========================================================= */

.ap-local-contact__zone {
	background: var(--ap-warm-white);

	border: 1px solid var(--ap-border);

	box-shadow: 0 12px 30px rgba(16, 44, 99, 0.055);
}

.ap-local-contact__zone-inner {
	width: 100%;

	margin: 0 !important;
	padding: 48px 50px 46px !important;
}

.ap-local-contact__kicker,
.ap-local-contact__contact-kicker {
	display: flex;
	align-items: center;
	gap: 12px;

	margin: 0 0 17px !important;

	font-family: var(--ap-font-ui) !important;
	font-size: 10px !important;
	font-weight: 700 !important;

	line-height: 1.2 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
}

.ap-local-contact__kicker {
	color: var(--ap-copper) !important;
}

.ap-local-contact__kicker::before,
.ap-local-contact__contact-kicker::before {
	content: "";

	display: block;

	width: 30px;
	height: 2px;
	flex: 0 0 30px;
}

.ap-local-contact__kicker::before {
	background: var(--ap-copper);
	box-shadow: 0 5px 0 var(--ap-copper);
}

.ap-local-contact__title {
	max-width: 590px;

	margin: 0 0 23px !important;

	color: var(--ap-blue-deep) !important;

	font-family: var(--ap-font-title) !important;
	font-size: clamp(36px, 3.2vw, 48px) !important;
	font-weight: 700 !important;

	line-height: 1.06 !important;
	letter-spacing: -0.045em !important;
}

.ap-local-contact__intro {
	max-width: 650px;

	margin: 0 0 30px !important;

	color: var(--ap-graphite) !important;

	font-family: var(--ap-font-ui) !important;
	font-size: 15px !important;
	font-weight: 500 !important;

	line-height: 1.7 !important;
}


/* Encadré des communes */
.ap-local-contact__area {
	position: relative;

	margin: 0 0 24px !important;
	padding: 25px 28px 24px 66px !important;

	background: var(--ap-white);

	border: 1px solid var(--ap-border);
}

.ap-local-contact__area::before {
	content: "";

	position: absolute;
	top: 27px;
	left: 25px;

	width: 25px;
	height: 25px;

	background-color: var(--ap-copper);

	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;

	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;

	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22s7-7.3 7-13A7 7 0 0 0 5 9c0 5.7 7 13 7 13Z' fill='none' stroke='black' stroke-width='1.7'/%3E%3Ccircle cx='12' cy='9' r='2.4' fill='none' stroke='black' stroke-width='1.7'/%3E%3C/svg%3E");

	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22s7-7.3 7-13A7 7 0 0 0 5 9c0 5.7 7 13 7 13Z' fill='none' stroke='black' stroke-width='1.7'/%3E%3Ccircle cx='12' cy='9' r='2.4' fill='none' stroke='black' stroke-width='1.7'/%3E%3C/svg%3E");
}

.ap-local-contact__area-title {
	margin: 0 0 8px !important;

	color: var(--ap-blue-deep) !important;

	font-family: var(--ap-font-title) !important;
	font-size: 22px !important;
	font-weight: 700 !important;

	line-height: 1.15 !important;
	letter-spacing: -0.03em !important;
}

.ap-local-contact__cities {
	margin: 0 !important;

	color: var(--ap-text-muted) !important;

	font-family: var(--ap-font-ui) !important;
	font-size: 13px !important;
	font-weight: 400 !important;

	line-height: 1.7 !important;
}

.ap-local-contact__note {
	max-width: 650px;

	margin: 0 !important;

	color: var(--ap-metal) !important;

	font-family: var(--ap-font-ui) !important;
	font-size: 11px !important;
	font-weight: 500 !important;

	line-height: 1.6 !important;
}


/* =========================================================
   BLOC CONTACT
========================================================= */

.ap-local-contact__contact {
	background:
		linear-gradient(
			145deg,
			var(--ap-blue-deep) 0%,
			var(--ap-blue-night) 100%
		);

	border: 1px solid rgba(208, 138, 92, 0.34);

	box-shadow: 0 16px 36px rgba(16, 44, 99, 0.16);
}

.ap-local-contact__contact-inner {
	display: flex !important;
	flex-direction: column;
	justify-content: center;

	width: 100%;
	height: 100%;

	margin: 0 !important;
	padding: 48px 46px !important;
}

.ap-local-contact__contact-kicker {
	color: var(--ap-copper-light) !important;
}

.ap-local-contact__contact-kicker::before {
	background: var(--ap-copper-light);
	box-shadow: 0 5px 0 var(--ap-copper-light);
}

.ap-local-contact__contact-title {
	margin: 0 0 22px !important;

	color: var(--ap-white) !important;

	font-family: var(--ap-font-title) !important;
	font-size: clamp(35px, 3vw, 45px) !important;
	font-weight: 700 !important;

	line-height: 1.06 !important;
	letter-spacing: -0.045em !important;
}

.ap-local-contact__contact-text {
	max-width: 460px;

	margin: 0 0 29px !important;

	color: rgba(255, 255, 255, 0.78) !important;

	font-family: var(--ap-font-ui) !important;
	font-size: 14px !important;
	font-weight: 400 !important;

	line-height: 1.7 !important;
}


/* Téléphone */
.ap-local-contact__phone {
	margin: 0 0 8px !important;
}

.ap-local-contact__phone a {
	display: inline-flex;
	align-items: center;
	gap: 11px;

	color: var(--ap-copper-light) !important;

	font-family: var(--ap-font-title) !important;
	font-size: 25px !important;
	font-weight: 700 !important;

	line-height: 1.15 !important;
	letter-spacing: -0.025em !important;
	text-decoration: none !important;
}

.ap-local-contact__phone a::before {

	width: 19px;
	height: 19px;
	flex: 0 0 19px;

	background-color: var(--ap-copper-light);

	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;

	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;

	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.79 19.79 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92Z' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.79 19.79 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92Z' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.ap-local-contact__hours {
	display: flex;
	align-items: center;
	gap: 10px;

	margin: 0 0 30px !important;

	color: rgba(255, 255, 255, 0.76) !important;

	font-family: var(--ap-font-ui) !important;
	font-size: 12px !important;
	font-weight: 500 !important;

	line-height: 1.4 !important;
}


/* =========================================================
   BOUTONS
========================================================= */

.ap-local-contact__buttons {
	display: flex !important;
	flex-wrap: wrap;
	gap: 12px !important;

	margin: 0 !important;
}

.ap-local-contact__button {
	margin: 0 !important;
}

.ap-local-contact__button .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 47px;

	padding: 14px 20px !important;

	border-radius: 0 !important;

	font-family: var(--ap-font-ui) !important;
	font-size: 10px !important;
	font-weight: 700 !important;

	line-height: 1 !important;
	letter-spacing: 0.045em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
}

.ap-local-contact__button--primary .wp-block-button__link {
	color: var(--ap-white) !important;
	background: var(--ap-copper) !important;

	border: 1px solid var(--ap-copper) !important;
}

.ap-local-contact__button--primary .wp-block-button__link:hover {
	background: var(--ap-copper-light) !important;
	border-color: var(--ap-copper-light) !important;

	transform: translateY(-1px);
}

.ap-local-contact__button--secondary .wp-block-button__link {
	color: var(--ap-white) !important;
	background: transparent !important;

	border: 1px solid rgba(255, 255, 255, 0.42) !important;
}

.ap-local-contact__button--secondary .wp-block-button__link:hover {
	background: rgba(255, 255, 255, 0.09) !important;
	border-color: var(--ap-white) !important;

	transform: translateY(-1px);
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 900px) {

	.ap-local-contact {
		padding: 64px 22px 70px !important;
	}

	.ap-local-contact__grid {
		grid-template-columns: 1fr;
		max-width: 720px;
	}

	.ap-local-contact__zone-inner,
	.ap-local-contact__contact-inner {
		padding: 42px !important;
	}
}

@media (max-width: 560px) {

	.ap-local-contact {
		padding: 54px 18px 60px !important;
	}

	.ap-local-contact__zone-inner,
	.ap-local-contact__contact-inner {
		padding: 32px 24px !important;
	}

	.ap-local-contact__title,
	.ap-local-contact__contact-title {
		font-size: 33px !important;
	}

	.ap-local-contact__area {
		padding:
			24px
			20px
			22px
			58px !important;
	}

	.ap-local-contact__area::before {
		left: 20px;
	}

	.ap-local-contact__phone a {
		font-size: 21px !important;
	}

	.ap-local-contact__buttons {
		display: grid !important;
		grid-template-columns: 1fr;
	}

	.ap-local-contact__button,
	.ap-local-contact__button .wp-block-button__link {
		width: 100%;
	}
}

/* =========================================================
   FOOTER — CONTRASTE DES TITRES ET LIENS
========================================================= */

footer .widget-title,
footer h2,
footer h3,
footer h4 {
	color: #FFFFFF !important;

	font-family: var(--ap-font-title) !important;
	font-weight: 700 !important;
	letter-spacing: -0.025em !important;
}

footer p,
footer li {
	color: #C9D3DF !important;
}

footer a {
	color: #FFFFFF !important;
	text-decoration: none !important;
}

footer a:hover {
	color: #D08A5C !important;
}

footer .ct-footer-copyright,
footer .ct-footer-copyright p {
	color: #94A3B5 !important;
}

/* =========================================================
   FOOTER — IDENTITÉ
========================================================= */

.ct-footer .ap-footer-brand {
	width: 100%;
	text-align: left;
}

.ct-footer .ap-footer-brand__logo {
	display: block;
	width: fit-content;
	margin: 0 0 22px;
}

.ct-footer .ap-footer-brand__logo img {
	display: block;
	width: 240px;
	max-width: 100%;
	height: auto;
}

.ct-footer .ap-footer-brand p {
	max-width: 340px;
	margin: 0 !important;

	color: #c9d3df !important;

	font-family: var(--ap-font-ui) !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.65 !important;
}

@media (max-width: 689px) {

	.ct-footer .ap-footer-brand {
		text-align: center;
	}

	.ct-footer .ap-footer-brand__logo {
		margin-right: auto;
		margin-left: auto;
	}

	.ct-footer .ap-footer-brand p {
		margin-right: auto !important;
		margin-left: auto !important;
	}
}
/* =========================================================
   PAGES INTÉRIEURES L2P — SOCLE COMMUN
   À ajouter une seule fois à la fin du style.css existant.
   Réutilisable pour Salle de bain, Chauffage, Climatisation,
   Dépannage, Réalisations, À propos et Contact.
========================================================= */

body:has(.l2p-page) .hero-section,
body:has(.l2p-page) .entry-header,
body:has(.l2p-page) .page-title,
body:has(.l2p-page) .ct-breadcrumbs {
	display: none !important;
}

body:has(.l2p-page) .site-main,
body:has(.l2p-page) article,
body:has(.l2p-page) .entry-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body:has(.l2p-page) .ct-container-full[data-vertical-spacing] {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.l2p-page,
.l2p-page * {
	box-sizing: border-box;
}

.l2p-page {
	width: 100vw !important;
	max-width: 100vw !important;
	margin: 0 calc(50% - 50vw) !important;
	overflow: hidden;
	color: var(--ap-text);
	background: var(--ap-warm-white);
	font-family: var(--ap-font-ui);
}

.l2p-page :where(
	.wp-block-group,
	.wp-block-columns,
	.wp-block-column,
	.wp-block-buttons
) {
	margin-top: 0;
	margin-bottom: 0;
}

.l2p-container,
.l2p-page-hero__content,
.l2p-mini-cta {
	width: min(1180px, calc(100% - 48px));
	max-width: 1180px !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

/* En-tête des pages intérieures */

.l2p-page-hero {
	position: relative;
	isolation: isolate;
	min-height: 430px;
	display: flex;
	align-items: center;
	padding: clamp(76px, 9vw, 126px) 0 !important;
	overflow: hidden;
	background:
		radial-gradient(circle at 88% 18%, rgba(208, 138, 92, 0.18), transparent 24%),
		linear-gradient(135deg, var(--ap-blue-night), var(--ap-blue-deep));
}

.l2p-page-hero::before,
.l2p-page-hero::after {
	content: "";
	position: absolute;
	z-index: -1;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 50%;
	pointer-events: none;
}

.l2p-page-hero::before {
	width: 390px;
	height: 390px;
	right: -110px;
	bottom: -230px;
}

.l2p-page-hero::after {
	width: 210px;
	height: 210px;
	right: 10%;
	top: -135px;
	border-color: rgba(208, 138, 92, 0.26);
}

.l2p-page-hero__content {
	position: relative;
	z-index: 1;
}

.l2p-kicker {
	display: flex;
	align-items: center;
	gap: 13px;
	margin: 0 0 18px !important;
	color: var(--ap-copper) !important;
	font-family: var(--ap-font-ui) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
}

.l2p-kicker::before {
	content: "";
	width: 32px;
	height: 2px;
	flex: 0 0 32px;
	background: currentColor;
	box-shadow: 0 5px 0 currentColor;
}

.l2p-page-hero .l2p-kicker {
	color: var(--ap-copper-light) !important;
}

.l2p-title {
	max-width: 920px;
	margin: 0 !important;
	color: var(--ap-blue-deep) !important;
	font-family: var(--ap-font-title) !important;
	font-size: clamp(42px, 4.8vw, 64px) !important;
	font-weight: 700 !important;
	line-height: 1.02 !important;
	letter-spacing: -0.04em !important;
	text-wrap: balance;
}

.l2p-page-hero .l2p-title {
	color: var(--ap-white) !important;
}

.l2p-title mark {
	padding: 0;
	color: var(--ap-copper-light);
	background: transparent;
}

.l2p-title--medium {
	max-width: 820px;
	font-size: clamp(34px, 3.8vw, 50px) !important;
	line-height: 1.08 !important;
}

.l2p-lead {
	max-width: 820px;
	margin: 24px 0 0 !important;
	color: var(--ap-text-muted) !important;
	font-family: var(--ap-font-ui) !important;
	font-size: clamp(16px, 1.5vw, 19px) !important;
	font-weight: 400 !important;
	line-height: 1.7 !important;
}

.l2p-page-hero .l2p-lead {
	max-width: 760px;
	color: rgba(255, 255, 255, 0.78) !important;
}

/* Sections et cartes mutualisées */

.l2p-section {
	width: 100%;
	padding: clamp(76px, 8vw, 112px) 0 !important;
}

.l2p-section--ivory {
	background: var(--ap-warm-white);
}

.l2p-section--blue {
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.025), transparent 52%),
		var(--ap-blue-deep);
}

.l2p-section--blue .l2p-kicker {
	color: var(--ap-copper-light) !important;
}

.l2p-section--blue .l2p-title {
	color: var(--ap-white) !important;
}

.l2p-section--blue > .l2p-container > .l2p-lead {
	color: rgba(255, 255, 255, 0.72) !important;
}

.l2p-card-grid {
	display: grid !important;
	gap: 18px !important;
	margin-top: 48px !important;
}

.l2p-card-grid--four {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.l2p-card {
	position: relative;
	min-width: 0;
	min-height: 210px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 30px 26px 28px !important;
	overflow: hidden;
	background: var(--ap-white);
	border: 1px solid var(--ap-border);
	box-shadow: 0 16px 42px var(--ap-shadow);
	transition:
		transform 0.22s ease,
		box-shadow 0.22s ease,
		border-color 0.22s ease;
}

.l2p-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 54px;
	height: 4px;
	background: var(--ap-copper);
	transition: width 0.22s ease;
}

.l2p-card:hover {
	transform: translateY(-5px);
	border-color: rgba(184, 106, 60, 0.34);
	box-shadow: 0 22px 52px rgba(16, 44, 99, 0.13);
}

.l2p-card:hover::before {
	width: 100%;
}

.l2p-card h3 {
	margin: 0 0 12px !important;
	color: var(--ap-blue-deep) !important;
	font-family: var(--ap-font-title) !important;
	font-size: 21px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.03em !important;
}

.l2p-card p {
	margin: 0 !important;
	color: var(--ap-text-muted) !important;
	font-family: var(--ap-font-ui) !important;
	font-size: 14px !important;
	line-height: 1.65 !important;
}

.l2p-card--blue {
	background: rgba(255, 255, 255, 0.055);
	border-color: rgba(255, 255, 255, 0.13);
	box-shadow: none;
}

.l2p-card--blue::before {
	background: var(--ap-copper-light);
}

.l2p-card--blue:hover {
	border-color: rgba(208, 138, 92, 0.5);
	box-shadow: 0 20px 48px rgba(3, 16, 39, 0.22);
}

.l2p-card--blue h3 {
	color: var(--ap-white) !important;
}

.l2p-card--blue p {
	color: rgba(255, 255, 255, 0.7) !important;
}

/* Appel à l'action final */

.l2p-section--cta {
	padding: clamp(56px, 6vw, 82px) 0 !important;
	background: var(--ap-white);
	border-top: 1px solid var(--ap-border-soft);
}

.l2p-mini-cta {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center !important;
	gap: 48px !important;
	padding: clamp(34px, 4vw, 54px) !important;
	background: var(--ap-warm-white);
	border-left: 5px solid var(--ap-copper);
	box-shadow: 0 18px 50px var(--ap-shadow);
}

.l2p-mini-cta h2 {
	margin: 0 0 12px !important;
	color: var(--ap-blue-deep) !important;
	font-family: var(--ap-font-title) !important;
	font-size: clamp(28px, 3vw, 40px) !important;
	font-weight: 700 !important;
	line-height: 1.1 !important;
	letter-spacing: -0.04em !important;
	text-wrap: balance;
}

.l2p-mini-cta p {
	max-width: 720px;
	margin: 0 !important;
	color: var(--ap-text-muted) !important;
	font-family: var(--ap-font-ui) !important;
	font-size: 15px !important;
	line-height: 1.7 !important;
}

.l2p-actions {
	justify-content: flex-end;
	gap: 12px !important;
}

.l2p-btn .wp-block-button__link {
	min-height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 23px !important;
	color: var(--ap-white) !important;
	background: var(--ap-copper) !important;
	border: 1px solid var(--ap-copper) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-family: var(--ap-font-ui) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.035em !important;
	text-decoration: none !important;
	white-space: nowrap;
}

.l2p-btn .wp-block-button__link:hover {
	color: var(--ap-white) !important;
	background: var(--ap-blue-deep) !important;
	transform: translateY(-2px);
}

.l2p-btn .wp-block-button__link:focus-visible {
	outline: 3px solid rgba(208, 138, 92, 0.42);
	outline-offset: 3px;
}

/* Deux paliers suffisent pour toutes les pages intérieures */

@media (max-width: 900px) {

	.l2p-page-hero {
		min-height: 390px;
	}

	.l2p-card-grid--four {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.l2p-mini-cta {
		grid-template-columns: 1fr;
		gap: 28px !important;
	}

	.l2p-actions {
		justify-content: flex-start;
	}
}

@media (max-width: 600px) {

	.l2p-container,
	.l2p-page-hero__content,
	.l2p-mini-cta {
		width: min(100% - 32px, 1180px);
	}

	.l2p-page-hero {
		min-height: 360px;
		padding: 70px 0 !important;
	}

	.l2p-page-hero::before {
		width: 260px;
		height: 260px;
		right: -130px;
		bottom: -145px;
	}

	.l2p-page-hero::after {
		display: none;
	}

	.l2p-title {
		font-size: clamp(38px, 12vw, 52px) !important;
	}

	.l2p-title--medium {
		font-size: clamp(31px, 9vw, 40px) !important;
	}

	.l2p-lead {
		margin-top: 20px !important;
		font-size: 15px !important;
	}

	.l2p-section {
		padding: 68px 0 !important;
	}

	.l2p-card-grid {
		grid-template-columns: 1fr;
		gap: 14px !important;
		margin-top: 36px !important;
	}

	.l2p-card {
		min-height: 176px;
		padding: 27px 23px 24px !important;
	}

	.l2p-mini-cta {
		padding: 30px 24px !important;
		border-left-width: 4px;
	}

	.l2p-actions,
	.l2p-actions .wp-block-button,
	.l2p-btn .wp-block-button__link {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {

	.l2p-card,
	.l2p-card::before,
	.l2p-btn .wp-block-button__link {
		transition: none !important;
	}
}

/*
 * APB — Correctif unique Salle de bain
 * À coller TOUT EN BAS du style.css actuellement en ligne.
 * Ne remplace rien et ne modifie ni la home, ni le header, ni le footer.
 */

/* Normalisation locale */
.l2p-page--bathroom :where(
	.l2p-bath-hero,
	.l2p-bath-service-grid,
	.l2p-bath-steps,
	.l2p-bath-realisation__grid,
	.l2p-bath-proof__grid,
	.l2p-bath-cta
) {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.l2p-page--bathroom :where(
	.l2p-bath-hero__image,
	.l2p-bath-service__image,
	.l2p-bath-realisation__main-image,
	.l2p-bath-realisation__detail,
	.l2p-bath-before-after__image,
	.l2p-bath-cta__image
) {
	margin: 0 !important;
	max-width: none !important;
}

.l2p-page--bathroom .l2p-title--medium {
	max-width: 900px;
	font-size: clamp(33px, 3.45vw, 49px) !important;
	line-height: 1.08 !important;
}

.l2p-page--bathroom .l2p-title--small {
	max-width: 540px;
	font-size: clamp(31px, 3vw, 43px) !important;
	line-height: 1.08 !important;
}

.l2p-page--bathroom .l2p-actions {
	justify-content: flex-start !important;
	margin-top: 30px !important;
}

/* Hero */
.l2p-page--bathroom .l2p-bath-hero {
	display: grid !important;
	grid-template-columns: minmax(0, 44fr) minmax(0, 56fr);
	width: 100% !important;
	max-width: none !important;
	min-height: 560px;
	gap: 0 !important;
	background: var(--ap-blue-night) !important;
}

.l2p-page--bathroom .l2p-bath-hero__copy-column,
.l2p-page--bathroom .l2p-bath-hero__media {
	width: auto !important;
	min-width: 0;
	flex-basis: auto !important;
}

.l2p-page--bathroom .l2p-bath-hero__copy-column {
	display: flex !important;
	align-items: center;
	background: linear-gradient(
		135deg,
		var(--ap-blue-night),
		var(--ap-blue-deep)
	) !important;
}

.l2p-page--bathroom .l2p-bath-hero__copy {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding:
		clamp(58px, 6vw, 92px)
		clamp(30px, 4.5vw, 70px)
		clamp(58px, 6vw, 92px)
		max(28px, calc((100vw - 1180px) / 2)) !important;
}

.l2p-page--bathroom .l2p-bath-hero .l2p-kicker {
	color: var(--ap-copper-light) !important;
}

.l2p-page--bathroom .l2p-bath-hero .l2p-title {
	max-width: 620px;
	color: var(--ap-white) !important;
	font-size: clamp(43px, 4.15vw, 62px) !important;
}

.l2p-page--bathroom .l2p-bath-hero .l2p-title mark {
	color: var(--ap-copper-light) !important;
}

.l2p-page--bathroom .l2p-bath-hero .l2p-lead {
	max-width: 540px;
	color: rgba(255, 255, 255, 0.82) !important;
}

.l2p-page--bathroom .l2p-bath-hero__media {
	display: flex !important;
	min-height: 560px;
	overflow: hidden;
}

.l2p-page--bathroom .l2p-bath-hero__image,
.l2p-page--bathroom .l2p-bath-hero__image img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	min-height: 560px;
}

.l2p-page--bathroom .l2p-bath-hero__image {
	overflow: hidden;
}

.l2p-page--bathroom .l2p-bath-hero__image img {
	object-fit: cover;
	object-position: center;
}

/* Prestations */
.l2p-page--bathroom .l2p-bath-services {
	padding-top: clamp(76px, 7vw, 96px) !important;
	padding-bottom: clamp(76px, 7vw, 96px) !important;
	background: var(--ap-warm-white) !important;
}

.l2p-page--bathroom .l2p-bath-services .l2p-title {
	margin-bottom: 45px !important;
}

.l2p-page--bathroom .l2p-bath-service-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px !important;
}

.l2p-page--bathroom .l2p-bath-service {
	width: auto !important;
	min-width: 0;
	flex-basis: auto !important;
}

.l2p-page--bathroom .l2p-bath-service__image {
	width: 100% !important;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: #e8e3dc;
}

.l2p-page--bathroom .l2p-bath-service__image img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

.l2p-page--bathroom .l2p-bath-service h3 {
	position: relative;
	margin: 18px 0 0 !important;
	padding-top: 15px;
	color: var(--ap-blue-deep) !important;
	font-family: var(--ap-font-title) !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.22 !important;
	letter-spacing: -0.025em !important;
}

.l2p-page--bathroom .l2p-bath-service h3::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 27px;
	height: 2px;
	background: var(--ap-copper);
}

.l2p-page--bathroom .l2p-bath-text-link {
	margin: 38px 0 0 !important;
	text-align: center;
}

.l2p-page--bathroom .l2p-bath-text-link a {
	color: var(--ap-copper) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.025em;
	text-underline-offset: 5px;
}

.l2p-page--bathroom .l2p-bath-text-link a::after {
	content: " \2192";
	font-size: 16px;
}

/* Méthode */
.l2p-page--bathroom .l2p-bath-method {
	padding-top: clamp(72px, 7vw, 94px) !important;
	padding-bottom: clamp(72px, 7vw, 94px) !important;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.025), transparent 55%),
		var(--ap-blue-deep) !important;
}

.l2p-page--bathroom .l2p-bath-method .l2p-kicker {
	color: var(--ap-copper-light) !important;
}

.l2p-page--bathroom .l2p-bath-method .l2p-title {
	color: var(--ap-white) !important;
}

.l2p-page--bathroom .l2p-bath-steps {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 34px !important;
	margin-top: 48px !important;
}

.l2p-page--bathroom .l2p-bath-step {
	width: auto !important;
	min-width: 0;
	flex-basis: auto !important;
}

.l2p-page--bathroom .l2p-bath-step__number {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0 0 14px !important;
	color: #e2a279 !important;
	font-family: var(--ap-font-title) !important;
	font-size: 40px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	letter-spacing: -0.04em !important;
}

.l2p-page--bathroom .l2p-bath-step__number::after {
	content: "";
	height: 1px;
	flex: 1;
	background: rgba(208, 138, 92, 0.7);
}

.l2p-page--bathroom .l2p-bath-step h3 {
	margin: 0 0 12px !important;
	color: var(--ap-white) !important;
	font-family: var(--ap-font-title) !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
}

.l2p-page--bathroom .l2p-bath-step > p:not(.l2p-bath-step__number) {
	margin: 0 !important;
	color: rgba(255, 255, 255, 0.82) !important;
	font-size: 13px !important;
	line-height: 1.68 !important;
}

/* Réalisation */
.l2p-page--bathroom .l2p-bath-realisation {
	padding-top: clamp(76px, 8vw, 104px) !important;
	padding-bottom: clamp(76px, 8vw, 104px) !important;
	background: var(--ap-white) !important;
}

.l2p-page--bathroom .l2p-bath-realisation__grid {
	display: grid !important;
	grid-template-columns: minmax(255px, 30fr) minmax(0, 43fr) minmax(240px, 27fr);
	align-items: stretch !important;
	gap: 18px !important;
}

.l2p-page--bathroom .l2p-bath-realisation__copy,
.l2p-page--bathroom .l2p-bath-realisation__main,
.l2p-page--bathroom .l2p-bath-realisation__stack {
	width: auto !important;
	min-width: 0;
	flex-basis: auto !important;
}

.l2p-page--bathroom .l2p-bath-realisation__copy {
	display: flex !important;
	flex-direction: column;
	justify-content: center;
	padding-right: clamp(12px, 2vw, 26px) !important;
}

.l2p-page--bathroom .l2p-bath-realisation__main {
	display: flex !important;
	min-height: 500px;
	overflow: hidden;
}

.l2p-page--bathroom .l2p-bath-realisation__main-image,
.l2p-page--bathroom .l2p-bath-realisation__main-image img {
	display: block;
	width: 100% !important;
	height: 500px !important;
	min-height: 500px;
	object-fit: cover;
}

.l2p-page--bathroom .l2p-bath-realisation__main-image {
	overflow: hidden;
}

.l2p-page--bathroom .l2p-bath-realisation__stack {
	display: grid !important;
	grid-template-rows: 241px 241px;
	gap: 18px !important;
	min-height: 500px;
}

.l2p-page--bathroom .l2p-bath-realisation__detail,
.l2p-page--bathroom .l2p-bath-realisation__detail img {
	display: block;
	width: 100% !important;
	height: 241px !important;
	object-fit: cover;
	overflow: hidden;
}

.l2p-page--bathroom .l2p-bath-before-after {
	position: relative;
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	width: 100% !important;
	max-width: none !important;
	height: 241px !important;
	overflow: hidden;
}

.l2p-page--bathroom .l2p-bath-before-after::after {
	content: "\2192";
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 3;
	width: 34px;
	height: 34px;
	display: grid;
	place-items: center;
	color: var(--ap-blue-deep);
	background: var(--ap-white);
	border-radius: 50%;
	box-shadow: 0 5px 18px rgba(11, 36, 79, 0.2);
	transform: translate(-50%, -50%);
}

.l2p-page--bathroom .l2p-bath-before-after__image {
	position: relative;
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
	height: 241px !important;
	margin: 0 !important;
	overflow: hidden;
}

.l2p-page--bathroom .l2p-bath-before-after__image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

.l2p-page--bathroom .l2p-bath-before-after__image::after {
	position: absolute;
	bottom: 10px;
	left: 10px;
	padding: 5px 7px;
	color: var(--ap-white);
	background: rgba(11, 36, 79, 0.84);
	font-size: 8px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.l2p-page--bathroom .l2p-bath-before-after__image--before::after {
	content: "Avant";
}

.l2p-page--bathroom .l2p-bath-before-after__image--after::after {
	content: "Apr\00e8s";
}

/* Bande de confiance */
.l2p-page--bathroom .l2p-bath-proof {
	padding: 38px 0 42px !important;
	background: var(--ap-warm-white) !important;
	border-top: 1px solid var(--ap-border-soft);
	border-bottom: 1px solid var(--ap-border);
}

.l2p-page--bathroom .l2p-bath-proof__title {
	margin: 0 0 28px !important;
	color: var(--ap-blue-deep) !important;
	font-family: var(--ap-font-title) !important;
	font-size: clamp(25px, 2.5vw, 34px) !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
	text-align: center;
}

.l2p-page--bathroom .l2p-bath-proof__grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	max-width: 820px;
	margin-right: auto !important;
	margin-left: auto !important;
	gap: 0 !important;
}

.l2p-page--bathroom .l2p-bath-proof__item {
	width: auto !important;
	min-width: 0;
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 14px;
	min-height: 50px;
	padding: 0 25px !important;
	border-right: 1px solid var(--ap-border);
	flex-basis: auto !important;
}

.l2p-page--bathroom .l2p-bath-proof__item:last-child {
	border-right: 0;
}

.l2p-page--bathroom .l2p-bath-proof__item::before {
	content: "";
	width: 34px;
	height: 34px;
	flex: 0 0 34px;
	border: 1.5px solid var(--ap-copper);
	border-radius: 50%;
	box-shadow: inset 0 0 0 7px var(--ap-warm-white);
	background: var(--ap-copper);
}

.l2p-page--bathroom .l2p-bath-proof__item--protected::before {
	border-radius: 42% 42% 55% 55%;
}

.l2p-page--bathroom .l2p-bath-proof__item--finish::before {
	width: 27px;
	height: 27px;
	flex-basis: 27px;
	border-radius: 0;
	transform: rotate(45deg);
}

.l2p-page--bathroom .l2p-bath-proof__item h3 {
	margin: 0 !important;
	color: var(--ap-blue-deep) !important;
	font-family: var(--ap-font-title) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
}

/* CTA final */
.l2p-page--bathroom .l2p-bath-cta {
	display: grid !important;
	grid-template-columns: minmax(0, 44fr) minmax(0, 56fr);
	width: 100% !important;
	max-width: none !important;
	min-height: 410px;
	gap: 0 !important;
	background: var(--ap-blue-night) !important;
}

.l2p-page--bathroom .l2p-bath-cta__copy-column,
.l2p-page--bathroom .l2p-bath-cta__media {
	width: auto !important;
	min-width: 0;
	flex-basis: auto !important;
}

.l2p-page--bathroom .l2p-bath-cta__copy-column {
	display: flex !important;
	align-items: center;
	background: linear-gradient(
		135deg,
		var(--ap-blue-night),
		var(--ap-blue-deep)
	) !important;
}

.l2p-page--bathroom .l2p-bath-cta__copy {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding:
		clamp(52px, 5vw, 76px)
		clamp(30px, 4.5vw, 70px)
		clamp(52px, 5vw, 76px)
		max(28px, calc((100vw - 1180px) / 2)) !important;
}

.l2p-page--bathroom .l2p-bath-cta .l2p-title {
	color: var(--ap-white) !important;
}

.l2p-page--bathroom .l2p-bath-cta .l2p-lead {
	max-width: 540px;
	color: rgba(255, 255, 255, 0.82) !important;
}

.l2p-page--bathroom .l2p-bath-cta__media {
	display: flex !important;
	min-height: 410px;
	overflow: hidden;
}

.l2p-page--bathroom .l2p-bath-cta__image,
.l2p-page--bathroom .l2p-bath-cta__image img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	min-height: 410px;
}

.l2p-page--bathroom .l2p-bath-cta__image {
	overflow: hidden;
}

.l2p-page--bathroom .l2p-bath-cta__image img {
	object-fit: cover;
	object-position: center;
}

/* Tablette */
@media (max-width: 900px) {
	.l2p-page--bathroom .l2p-bath-hero,
	.l2p-page--bathroom .l2p-bath-cta {
		grid-template-columns: 1fr;
	}

	.l2p-page--bathroom .l2p-bath-hero__copy,
	.l2p-page--bathroom .l2p-bath-cta__copy {
		width: min(100% - 48px, 760px) !important;
		margin-right: auto !important;
		margin-left: auto !important;
		padding: 68px 0 !important;
	}

	.l2p-page--bathroom .l2p-bath-service-grid,
	.l2p-page--bathroom .l2p-bath-steps,
	.l2p-page--bathroom .l2p-bath-realisation__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.l2p-page--bathroom .l2p-bath-service:last-child,
	.l2p-page--bathroom .l2p-bath-realisation__copy {
		grid-column: 1 / -1;
	}

	.l2p-page--bathroom .l2p-bath-service:last-child {
		width: calc(50% - 11px) !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}

	.l2p-page--bathroom .l2p-bath-realisation__copy {
		padding: 0 0 24px !important;
	}
}

/* Mobile */
@media (max-width: 600px) {
	.l2p-page--bathroom .l2p-title--medium,
	.l2p-page--bathroom .l2p-title--small {
		font-size: clamp(30px, 9vw, 39px) !important;
	}

	.l2p-page--bathroom .l2p-bath-hero .l2p-title {
		font-size: clamp(38px, 11.5vw, 50px) !important;
	}

	.l2p-page--bathroom .l2p-bath-hero__copy,
	.l2p-page--bathroom .l2p-bath-cta__copy {
		width: calc(100% - 32px) !important;
		padding: 58px 0 !important;
	}

	.l2p-page--bathroom .l2p-bath-hero__media,
	.l2p-page--bathroom .l2p-bath-hero__image,
	.l2p-page--bathroom .l2p-bath-hero__image img {
		min-height: 340px;
	}

	.l2p-page--bathroom .l2p-bath-service-grid,
	.l2p-page--bathroom .l2p-bath-steps,
	.l2p-page--bathroom .l2p-bath-realisation__grid,
	.l2p-page--bathroom .l2p-bath-proof__grid {
		grid-template-columns: 1fr;
	}

	.l2p-page--bathroom .l2p-bath-service:last-child {
		grid-column: auto;
		width: 100% !important;
	}

	.l2p-page--bathroom .l2p-bath-realisation__main,
	.l2p-page--bathroom .l2p-bath-realisation__main-image,
	.l2p-page--bathroom .l2p-bath-realisation__main-image img {
		height: 340px !important;
		min-height: 340px;
	}

	.l2p-page--bathroom .l2p-bath-realisation__stack {
		grid-template-rows: 220px 220px;
		min-height: 458px;
	}

	.l2p-page--bathroom .l2p-bath-realisation__detail,
	.l2p-page--bathroom .l2p-bath-realisation__detail img,
	.l2p-page--bathroom .l2p-bath-before-after,
	.l2p-page--bathroom .l2p-bath-before-after__image {
		height: 220px !important;
	}

	.l2p-page--bathroom .l2p-bath-proof__item {
		justify-content: flex-start;
		width: min(100%, 280px) !important;
		margin-right: auto !important;
		margin-left: auto !important;
		padding: 17px 22px !important;
		border-right: 0;
		border-bottom: 1px solid var(--ap-border);
	}

	.l2p-page--bathroom .l2p-bath-proof__item:last-child {
		border-bottom: 0;
	}

	.l2p-page--bathroom .l2p-bath-cta__media,
	.l2p-page--bathroom .l2p-bath-cta__image,
	.l2p-page--bathroom .l2p-bath-cta__image img {
		min-height: 300px;
	}
}

/* Marqueur de contrôle : APB-SDB-CORRECTIF-OK */

/* =========================================================
   APB â€” PAGE CONTACT
   Ã€ ajouter une seule fois Ã  la fin du CSS commun.
========================================================= */

.apb-page--contact {
	scroll-behavior: smooth;
}

.apb-contact-hero__media {
	position: relative;
}

.apb-contact-hero__image img {
	object-position: 50% 48%;
}

.apb-contact-hero__badge {
	position: absolute;
	left: 28px;
	bottom: 28px;
	z-index: 2;
	width: min(340px, calc(100% - 56px));
	padding: 17px 20px 16px 23px !important;
	background: rgba(7, 29, 66, 0.94);
	border-left: 4px solid var(--ap-copper);
	box-shadow: 0 12px 28px rgba(7, 29, 66, 0.24);
	backdrop-filter: blur(7px);
}

.apb-contact-hero__badge h3 {
	margin: 0 0 4px !important;
	color: var(--ap-white) !important;
	font-family: var(--ap-font-title) !important;
	font-size: 19px !important;
	line-height: 1.2 !important;
}

.apb-contact-hero__badge p {
	margin: 0 !important;
	color: rgba(255, 255, 255, 0.75) !important;
	font-size: 12px !important;
	line-height: 1.45 !important;
}

.apb-contact-hero__secondary .wp-block-button__link {
	color: var(--ap-white) !important;
	border-color: rgba(255, 255, 255, 0.58) !important;
}

.apb-contact-hero__secondary .wp-block-button__link:hover {
	color: var(--ap-blue-deep) !important;
	background: var(--ap-white) !important;
	border-color: var(--ap-white) !important;
}

.apb-contact-main {
	background: var(--ap-warm-white);
}

.apb-contact-heading {
	max-width: 780px !important;
	margin: 0 auto !important;
	text-align: center;
}

.apb-contact-heading .l2p-kicker {
	justify-content: center;
}

.apb-contact-heading .l2p-title,
.apb-contact-heading .l2p-lead {
	margin-right: auto !important;
	margin-left: auto !important;
}

.apb-contact-layout {
	display: grid !important;
	grid-template-columns: minmax(0, 1.55fr) minmax(310px, 0.72fr);
	align-items: start !important;
	gap: 26px !important;
	margin-top: 48px !important;
}

.apb-contact-layout__form,
.apb-contact-layout__aside {
	width: auto !important;
	min-width: 0;
	flex-basis: auto !important;
}

.apb-contact-form-card,
.apb-contact-info-card {
	background: var(--ap-white);
	border: 1px solid var(--ap-border);
	box-shadow: 0 16px 42px var(--ap-shadow);
}

.apb-contact-form-card {
	padding: clamp(27px, 3.2vw, 40px);
}

.apb-contact-form-card__head h3 {
	margin: 0 0 7px !important;
	color: var(--ap-blue-deep) !important;
	font-family: var(--ap-font-title) !important;
	font-size: clamp(23px, 2vw, 29px) !important;
	line-height: 1.2 !important;
}

.apb-contact-form-card__head p {
	margin: 0 0 28px !important;
	color: var(--ap-text-muted) !important;
	font-size: 13px !important;
}

.apb-contact-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.apb-contact-field--wide {
	grid-column: 1 / -1;
}

.apb-contact-field label {
	display: block;
	margin: 0 0 8px;
	color: var(--ap-blue-deep);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
}

.apb-contact-field :is(input, select, textarea) {
	width: 100%;
	margin: 0;
	padding: 13px 14px;
	color: var(--ap-text);
	background: #fdfcf9;
	border: 1px solid rgba(16, 44, 99, 0.17);
	border-radius: 0;
	box-shadow: none;
	font-family: var(--ap-font-ui);
	font-size: 13px;
	line-height: 1.4;
	outline: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.apb-contact-field input,
.apb-contact-field select {
	min-height: 48px;
}

.apb-contact-field textarea {
	min-height: 124px;
	resize: vertical;
}

.apb-contact-field :is(input, select, textarea):focus {
	border-color: var(--ap-blue);
	box-shadow: 0 0 0 3px rgba(23, 63, 143, 0.12);
}

.apb-contact-field :is(input, textarea)::placeholder {
	color: #8b9199;
	opacity: 1;
}

.apb-contact-upload {
	position: relative;
	min-height: 88px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	padding: 18px;
	overflow: hidden;
	color: var(--ap-text);
	background: rgba(23, 63, 143, 0.035);
	border: 1px dashed rgba(16, 44, 99, 0.34);
}

.apb-contact-upload__icon {
	display: grid;
	width: 34px;
	height: 34px;
	flex: 0 0 34px;
	place-items: center;
	color: var(--ap-copper);
	font-size: 28px;
	font-weight: 500;
	line-height: 1;
}

.apb-contact-upload strong,
.apb-contact-upload small {
	display: block;
}

.apb-contact-upload strong {
	color: var(--ap-blue-deep);
	font-size: 13px;
}

.apb-contact-upload small {
	margin-top: 3px;
	color: var(--ap-text-muted);
	font-size: 10px;
}

.apb-contact-upload input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	cursor: pointer;
	opacity: 0;
}

.apb-contact-consent {
	display: grid;
	grid-template-columns: 16px 1fr;
	align-items: start;
	gap: 10px;
	margin: 18px 0 22px;
	color: var(--ap-text-muted);
	font-size: 10.5px;
	line-height: 1.55;
}

.apb-contact-consent input {
	width: 15px;
	height: 15px;
	margin: 2px 0 0;
	accent-color: var(--ap-blue);
}

.apb-contact-submit {
	width: 100%;
	min-height: 50px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 22px;
	color: var(--ap-white);
	background: var(--ap-blue);
	border: 1px solid var(--ap-blue);
	border-radius: 0;
	font-family: var(--ap-font-ui);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.035em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.apb-contact-submit:hover {
	background: var(--ap-copper);
	border-color: var(--ap-copper);
	transform: translateY(-2px);
}

.apb-contact-layout__aside {
	display: grid;
	gap: 18px;
}

.apb-contact-info-card {
	padding: 27px 25px !important;
}

.apb-contact-info-card--blue {
	background: var(--ap-blue-deep);
	border-color: var(--ap-blue-deep);
}

.apb-contact-info-card h3 {
	margin: 0 0 12px !important;
	color: var(--ap-blue-deep) !important;
	font-family: var(--ap-font-title) !important;
	font-size: 20px !important;
	line-height: 1.2 !important;
}

.apb-contact-info-card > p {
	margin: 0 !important;
	color: var(--ap-text-muted) !important;
	font-size: 12px !important;
	line-height: 1.6 !important;
}

.apb-contact-info-card--blue h3 {
	color: var(--ap-white) !important;
}

.apb-contact-info-card--blue > p {
	color: rgba(255, 255, 255, 0.74) !important;
}

.apb-contact-info-line {
	position: relative;
	min-height: 42px;
	display: flex;
	align-items: center;
	margin-top: 18px !important;
	padding-left: 51px !important;
}

.apb-contact-info-line::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 38px;
	height: 38px;
	display: grid;
	place-items: center;
	color: var(--ap-copper);
	background: rgba(184, 106, 60, 0.12);
	font-size: 18px;
	font-weight: 700;
}

.apb-contact-info-line--phone::before,
.apb-contact-info-line--email::before,
.apb-contact-info-line--area::before {
	content: "" !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 18px 18px !important;
}

/* Téléphone */
.apb-contact-info-line--phone::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D08A5C' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.79 19.79 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92Z'/%3E%3C/svg%3E") !important;
}

/* Email */
.apb-contact-info-line--email::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B86A3C' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E") !important;
}

/* Zone / localisation */
.apb-contact-info-line--area::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B86A3C' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s7-7.3 7-13A7 7 0 0 0 5 9c0 5.7 7 13 7 13Z'/%3E%3Ccircle cx='12' cy='9' r='2.4'/%3E%3C/svg%3E") !important;
}

.apb-contact-info-card--blue .apb-contact-info-line::before {
	color: var(--ap-copper-light);
	background: rgba(255, 255, 255, 0.1);
}

.apb-contact-info-line p {
	margin: 0 !important;
}

.apb-contact-info-line strong,
.apb-contact-info-line small {
	display: block;
}

.apb-contact-info-line strong,
.apb-contact-info-line strong a {
	color: var(--ap-blue-deep) !important;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.apb-contact-info-card--blue .apb-contact-info-line strong {
	color: var(--ap-white) !important;
}

.apb-contact-info-line small {
	margin-top: 3px;
	color: var(--ap-text-muted);
	font-size: 10px;
	line-height: 1.45;
}

.apb-contact-info-card--blue .apb-contact-info-line small {
	color: rgba(255, 255, 255, 0.62);
}

.apb-contact-info-card__rule {
	margin: 18px 0 !important;
	border-color: var(--ap-border) !important;
}

.apb-contact-area-list {
	color: var(--ap-text-muted) !important;
	font-size: 11px !important;
	line-height: 1.65 !important;
}

.apb-contact-area-list strong {
	color: var(--ap-blue-deep);
}

.apb-contact-steps {
	padding-top: clamp(58px, 6vw, 82px) !important;
	padding-bottom: clamp(58px, 6vw, 82px) !important;
}

.apb-contact-steps .l2p-title {
	margin-right: auto !important;
	margin-left: auto !important;
	text-align: center;
}

.apb-contact-steps__grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0 !important;
	margin-top: 42px !important;
}

.apb-contact-step {
	position: relative;
	display: grid !important;
	grid-template-columns: 58px 1fr;
	align-items: start;
	gap: 16px;
	min-width: 0;
	padding: 5px 34px !important;
	border-right: 1px solid rgba(255, 255, 255, 0.2);
}

.apb-contact-step:last-child {
	border-right: 0;
}

.apb-contact-step__number {
	grid-row: 1 / span 2;
	margin: 0 !important;
	color: var(--ap-copper-light) !important;
	font-family: var(--ap-font-title) !important;
	font-size: 46px !important;
	font-weight: 700 !important;
	line-height: 0.95 !important;
}

.apb-contact-step h3 {
	margin: 0 0 8px !important;
	color: var(--ap-white) !important;
	font-family: var(--ap-font-title) !important;
	font-size: 17px !important;
	line-height: 1.25 !important;
}

.apb-contact-step > p:not(.apb-contact-step__number) {
	margin: 0 !important;
	color: rgba(255, 255, 255, 0.7) !important;
	font-size: 12px !important;
	line-height: 1.6 !important;
}

@media (max-width: 900px) {
	.apb-contact-layout {
		grid-template-columns: 1fr;
	}

	.apb-contact-layout__aside {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.apb-contact-info-card:last-child {
		grid-column: 1 / -1;
	}

	.apb-contact-steps__grid {
		grid-template-columns: 1fr;
		gap: 24px !important;
	}

	.apb-contact-step {
		padding: 0 !important;
		border-right: 0;
	}
}

@media (max-width: 600px) {
	.apb-contact-hero__badge {
		left: 16px;
		bottom: 16px;
		width: calc(100% - 32px);
	}

	.apb-contact-form__grid,
	.apb-contact-layout__aside {
		grid-template-columns: 1fr;
	}

	.apb-contact-info-card:last-child {
		grid-column: auto;
	}

	.apb-contact-form-card,
	.apb-contact-info-card {
		padding: 24px 20px !important;
	}

	.apb-contact-upload {
		justify-content: flex-start;
	}

	.apb-contact-step {
		grid-template-columns: 50px 1fr;
		gap: 13px;
	}

	.apb-contact-step__number {
		font-size: 39px !important;
	}
}

/* =========================================================
   APB — PAGE PLOMBERIE
========================================================= */

.apb-page--plomberie :where(
	.apb-plumb-hero,
	.apb-plumb-services__grid,
	.apb-plumb-steps,
	.apb-plumb-tech__grid,
	.apb-plumb-tech__visuals,
	.apb-plumb-proof__grid,
	.apb-plumb-cta
) {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.apb-page--plomberie figure {
	margin: 0 !important;
	max-width: none !important;
}

.apb-page--plomberie .l2p-actions {
	justify-content: flex-start !important;
	margin-top: 30px !important;
}


/* HERO
--------------------------------------------------------- */

.apb-plumb-hero {
	display: grid !important;
	grid-template-columns: minmax(0, 44fr) minmax(0, 56fr);
	width: 100% !important;
	max-width: none !important;
	min-height: 550px;
	gap: 0 !important;
	background: var(--ap-blue-night);
}

.apb-plumb-hero__copy {
	display: flex !important;
	align-items: center;
	min-width: 0;
	background:
		linear-gradient(135deg, var(--ap-blue-night), var(--ap-blue-deep));
}

.apb-plumb-hero__copy-inner {
	width: 100%;
	padding:
		clamp(58px, 6vw, 90px)
		clamp(30px, 4.5vw, 70px)
		clamp(58px, 6vw, 90px)
		max(28px, calc((100vw - 1180px) / 2)) !important;
}

.apb-plumb-hero .l2p-kicker {
	color: var(--ap-copper-light) !important;
}

.apb-plumb-hero .l2p-title {
	max-width: 610px;
	color: var(--ap-white) !important;
	font-size: clamp(43px, 4.15vw, 62px) !important;
}

.apb-plumb-hero .l2p-title mark {
	color: var(--ap-copper-light) !important;
}

.apb-plumb-hero .l2p-lead {
	max-width: 540px;
	color: rgba(255, 255, 255, 0.82) !important;
}

.apb-plumb-hero__media,
.apb-plumb-hero__image,
.apb-plumb-hero__image img {
	width: 100% !important;
	height: 100% !important;
	min-height: 550px;
}

.apb-plumb-hero__media,
.apb-plumb-hero__image {
	overflow: hidden;
}

.apb-plumb-hero__image img {
	display: block;
	object-fit: cover;
	object-position: center;
}


/* 3 DOMAINES
--------------------------------------------------------- */

.apb-plumb-services {
	background: var(--ap-warm-white) !important;
}

.apb-plumb-services .l2p-title {
	max-width: 820px;
}

.apb-plumb-services__grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px !important;
	margin-top: 46px !important;
}

.apb-plumb-service {
	min-width: 0;
}

.apb-plumb-service__image {
	width: 100% !important;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: #e8e3dc;
}

.apb-plumb-service__image img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.apb-plumb-service:hover .apb-plumb-service__image img {
	transform: scale(1.025);
}

.apb-plumb-service h3 {
	position: relative;
	margin: 18px 0 9px !important;
	padding-top: 15px;
	color: var(--ap-blue-deep) !important;
	font-family: var(--ap-font-title) !important;
	font-size: 19px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.025em !important;
}

.apb-plumb-service h3::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 28px;
	height: 2px;
	background: var(--ap-copper);
}

.apb-plumb-service p {
	margin: 0 !important;
	color: var(--ap-text-muted) !important;
	font-size: 12px !important;
	line-height: 1.65 !important;
}


/* MÉTHODE
--------------------------------------------------------- */

.apb-plumb-method {
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.025), transparent 55%),
		var(--ap-blue-deep) !important;
}

.apb-plumb-method .l2p-kicker {
	color: var(--ap-copper-light) !important;
}

.apb-plumb-method .l2p-title {
	color: var(--ap-white) !important;
}

.apb-plumb-method .l2p-lead {
	color: rgba(255, 255, 255, 0.72) !important;
}

.apb-plumb-steps {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 34px !important;
	margin-top: 48px !important;
}

.apb-plumb-step__number {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0 0 14px !important;
	color: var(--ap-copper-light) !important;
	font-family: var(--ap-font-title) !important;
	font-size: 39px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
}

.apb-plumb-step__number::after {
	content: "";
	height: 1px;
	flex: 1;
	background: rgba(208, 138, 92, 0.68);
}

.apb-plumb-step h3 {
	margin: 0 0 10px !important;
	color: var(--ap-white) !important;
	font-size: 17px !important;
}

.apb-plumb-step > p:not(.apb-plumb-step__number) {
	margin: 0 !important;
	color: rgba(255, 255, 255, 0.76) !important;
	font-size: 12px !important;
	line-height: 1.65 !important;
}


/* BLOC TECHNIQUE
--------------------------------------------------------- */

.apb-plumb-tech {
	background: var(--ap-white) !important;
}

.apb-plumb-tech__grid {
	display: grid !important;
	grid-template-columns: minmax(270px, 31fr) minmax(0, 69fr);
	align-items: center !important;
	gap: clamp(42px, 6vw, 78px) !important;
}

.apb-plumb-tech__copy .l2p-title {
	font-size: clamp(33px, 3.35vw, 47px) !important;
}

.apb-plumb-tech__copy .l2p-lead {
	font-size: 14px !important;
}

.apb-plumb-tech__points {
	margin: 28px 0 0 !important;
	color: var(--ap-blue-deep) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.8 !important;
}

.apb-plumb-tech__visuals {
	display: grid !important;
	grid-template-columns: minmax(0, 2fr) minmax(190px, 1fr);
	grid-template-rows: 220px 220px;
	gap: 16px !important;
	min-height: 456px;
}

.apb-plumb-tech__main {
	grid-row: 1 / 3;
}

.apb-plumb-tech__main,
.apb-plumb-tech__detail {
	overflow: hidden;
}

.apb-plumb-tech__main img,
.apb-plumb-tech__detail img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

.apb-plumb-tech__main,
.apb-plumb-tech__main img {
	min-height: 456px;
}


/* BANDEAU DE CONFIANCE
--------------------------------------------------------- */

.apb-plumb-proof {
	padding: 38px 0 42px !important;
	background: var(--ap-warm-white) !important;
	border-top: 1px solid var(--ap-border-soft);
	border-bottom: 1px solid var(--ap-border);
}

.apb-plumb-proof__title {
	margin: 0 0 27px !important;
	color: var(--ap-blue-deep) !important;
	font-family: var(--ap-font-title) !important;
	font-size: clamp(25px, 2.5vw, 34px) !important;
	font-weight: 700 !important;
	text-align: center;
}

.apb-plumb-proof__grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	max-width: 820px;
	margin-right: auto !important;
	margin-left: auto !important;
	gap: 0 !important;
}

.apb-plumb-proof__item {
	position: relative;
	display: flex !important;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 28px !important;
	border-right: 1px solid var(--ap-border);
}

.apb-plumb-proof__item:last-child {
	border-right: 0;
}

.apb-plumb-proof__item::before {
	content: "";
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	margin-right: 13px;
	border: 2px solid var(--ap-copper);
	border-radius: 50%;
}

.apb-plumb-proof__item:nth-child(2)::before {
	border-radius: 4px;
}

.apb-plumb-proof__item:nth-child(3)::before {
	width: 15px;
	height: 15px;
	transform: rotate(45deg);
	border-radius: 0;
}

.apb-plumb-proof__item h3 {
	margin: 0 !important;
	color: var(--ap-blue-deep) !important;
	font-size: 14px !important;
}


/* CTA FINAL
--------------------------------------------------------- */

.apb-plumb-cta {
	display: grid !important;
	grid-template-columns: minmax(0, 44fr) minmax(0, 56fr);
	width: 100% !important;
	max-width: none !important;
	min-height: 400px;
	gap: 0 !important;
	background: var(--ap-blue-night);
}

.apb-plumb-cta__copy {
	display: flex !important;
	align-items: center;
	background:
		linear-gradient(135deg, var(--ap-blue-night), var(--ap-blue-deep));
}

.apb-plumb-cta__copy-inner {
	width: 100%;
	padding:
		clamp(50px, 5vw, 74px)
		clamp(30px, 4.5vw, 70px)
		clamp(50px, 5vw, 74px)
		max(28px, calc((100vw - 1180px) / 2)) !important;
}

.apb-plumb-cta .l2p-title {
	color: var(--ap-white) !important;
	font-size: clamp(33px, 3.5vw, 48px) !important;
}

.apb-plumb-cta .l2p-lead {
	max-width: 540px;
	color: rgba(255, 255, 255, 0.8) !important;
}

.apb-plumb-cta__media,
.apb-plumb-cta__image,
.apb-plumb-cta__image img {
	width: 100% !important;
	height: 100% !important;
	min-height: 400px;
}

.apb-plumb-cta__media,
.apb-plumb-cta__image {
	overflow: hidden;
}

.apb-plumb-cta__image img {
	display: block;
	object-fit: cover;
	object-position: center;
}


/* RESPONSIVE
--------------------------------------------------------- */

@media (max-width: 900px) {

	.apb-plumb-hero,
	.apb-plumb-cta {
		grid-template-columns: 1fr;
	}

	.apb-plumb-hero__copy-inner,
	.apb-plumb-cta__copy-inner {
		width: min(100% - 48px, 760px);
		margin-right: auto !important;
		margin-left: auto !important;
		padding: 66px 0 !important;
	}

	.apb-plumb-services__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.apb-plumb-service:last-child {
		grid-column: 1 / -1;
		width: calc(50% - 11px);
		margin-right: auto !important;
		margin-left: auto !important;
	}

	.apb-plumb-steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.apb-plumb-tech__grid {
		grid-template-columns: 1fr;
	}

	.apb-plumb-tech__copy {
		max-width: 720px;
	}
}

@media (max-width: 600px) {

	.apb-plumb-hero__copy-inner,
	.apb-plumb-cta__copy-inner {
		width: calc(100% - 32px);
		padding: 56px 0 !important;
	}

	.apb-plumb-hero__media,
	.apb-plumb-hero__image,
	.apb-plumb-hero__image img {
		min-height: 330px;
	}

	.apb-plumb-services__grid,
	.apb-plumb-steps,
	.apb-plumb-proof__grid {
		grid-template-columns: 1fr;
	}

	.apb-plumb-service:last-child {
		grid-column: auto;
		width: 100%;
	}

	.apb-plumb-tech__visuals {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 300px 190px;
		min-height: 506px;
	}

	.apb-plumb-tech__main {
		grid-column: 1 / -1;
		grid-row: auto;
		min-height: 300px;
	}

	.apb-plumb-tech__main img {
		min-height: 300px;
	}

	.apb-plumb-proof__item {
		justify-content: flex-start;
		width: min(100%, 280px);
		margin-right: auto !important;
		margin-left: auto !important;
		padding: 16px 20px !important;
		border-right: 0;
		border-bottom: 1px solid var(--ap-border);
	}

	.apb-plumb-proof__item:last-child {
		border-bottom: 0;
	}

	.apb-plumb-cta__media,
	.apb-plumb-cta__image,
	.apb-plumb-cta__image img {
		min-height: 300px;
	}
}