:root {
	--vop-forest: #6f8a78;
	--vop-forest-deep: #6f8a78;
	--vop-green: #6f8a78;
	--vop-green-dark: #2f4a3e;
	--vop-bg-offwhite: #f8f3ec;
	--vop-bg-green-pale: #e8eee7;
	--vop-bg-sand-warm: #e6d7c8;
	--vop-bg-beige-light: #f7f0e4;
	--vop-card-warm: #fffdf8;
	--vop-sand: #e6d7c8;
	--vop-cream: #f8f3ec;
	--vop-earth: #6d5242;
	--vop-gold: #d7a25b;
	--vop-title-gold: #d89b3d;
	--vop-title-primary: #d06f49;
	--vop-white: #ffffff;
	--vop-text: #20322b;
	--vop-shadow: 0 18px 42px rgba(34, 52, 43, 0.12);
	--vop-shadow-soft: 0 10px 26px rgba(34, 52, 43, 0.1);
	--vop-radius-lg: 28px;
	--vop-radius-md: 20px;
	--vop-radius-sm: 14px;
	--vop-max-width: 1460px;
	--vop-button-bg: #d06f49;
	--vop-button-bg-hover: #b85c39;
	--vop-terracotta: #d06f49;
	--vop-terracotta-hover: #b85c39;
	--vop-button-text: #ffffff;
	--vop-button-shadow: 0 12px 26px rgba(192, 100, 63, 0.28);
	--vop-button-shadow-hover: 0 14px 30px rgba(169, 80, 49, 0.3);
}

.vop-page {
	width: 100%;
	max-width: none;
	background: var(--vop-bg-offwhite);
	color: var(--vop-text);
}

.vop-hide-kadence-title .entry-hero-container,
.vop-hide-kadence-title .entry-hero,
.vop-hide-kadence-title .entry-hero-container-inner,
.vop-hide-kadence-title .page-hero-section,
.vop-hide-kadence-title .hero-section,
.vop-hide-kadence-title .kadence-title-bar,
.vop-hide-kadence-title .site-page-title,
.vop-hide-kadence-title .page-header,
.vop-hide-kadence-title .entry-header,
.vop-hide-kadence-title .entry-title,
.vop-hide-kadence-title .content-title-style-above .entry-header,
.vop-hide-kadence-title .content-title-style-normal .entry-header,
.vop-hide-kadence-title.content-title-style-above .entry-header,
.vop-hide-kadence-title.content-title-style-normal .entry-header {
	display: none !important;
}

.vop-hide-kadence-title .content-area,
.vop-hide-kadence-title .site-main,
.vop-hide-kadence-title .entry-content-wrap,
.vop-hide-kadence-title .content-container,
.vop-hide-kadence-title .site-container,
.vop-hide-kadence-title .content-bg,
.vop-hide-kadence-title .site-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* Full-width page wrappers for generated pages; keep inner content controlled via .vop-shell. */
.vop-generated-page .content-area,
.vop-generated-page .site-main,
.vop-generated-page .entry-content-wrap,
.vop-generated-page .content-container,
.vop-generated-page .site-container,
.vop-generated-page .content-bg,
.vop-generated-page .site-content,
.vop-generated-page .entry-content,
.vop-generated-page .entry-content > .wp-block-group {
	width: 100% !important;
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	box-sizing: border-box;
}

.vop-generated-page .vop-page > .vop-section {
	width: 100%;
	max-width: none;
	box-sizing: border-box;
}

/* Remove residual white strip before footer on generated pages. */
.vop-generated-page .entry-content,
.vop-generated-page .entry-content-wrap,
.vop-generated-page .site-main,
.vop-generated-page .content-area {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

.vop-generated-page .vop-page > p:empty,
.vop-generated-page .vop-page > .wp-block-spacer:empty {
	display: none !important;
}

.vop-generated-page .vop-page > .vop-section:last-of-type {
	margin-bottom: 0 !important;
}

.vop-generated-page .site-footer {
	margin-top: 0 !important;
}

.vop-generated-page:not(.vop-generated-page--home) .vop-page > .vop-section:first-child {
	padding-top: clamp(20px, 3vw, 40px);
}

.vop-page--about .vop-split__content > h1,
.vop-page--services .vop-heading > h1,
.vop-page--tarifs .vop-heading > h1,
.vop-page--contact .vop-heading > h1,
.vop-page--faq .vop-heading > h1 {
	color: var(--vop-title-primary);
}

.vop-page h1,
.vop-page h2,
.vop-page h3 {
	color: var(--vop-forest-deep);
	line-height: 1.15;
}

.vop-page p,
.vop-page li,
.vop-page summary,
.vop-page a {
	line-height: 1.7;
}

.vop-generated-page .site-footer .site-info,
.vop-generated-page .site-footer .site-info-wrap,
.vop-generated-page .site-footer .footer-html,
.vop-generated-page .site-footer .footer-html-inner {
	text-align: center;
}

.vop-generated-page .site-footer .site-info a[href*="kadence"],
.vop-generated-page .site-footer .site-info a[href*="kadencewp"] {
	display: none !important;
}

.vop-generated-page .site-footer .vop-footer-credit {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	font-size: 0.9rem;
	color: rgba(32, 50, 43, 0.84);
}

.vop-generated-page .site-footer .vop-footer-legal-links {
	font-size: 0.85rem;
}

.vop-generated-page .site-footer .vop-footer-contact a {
	color: inherit;
	text-decoration: none;
}

.vop-generated-page .site-footer .vop-footer-contact a:hover,
.vop-generated-page .site-footer .vop-footer-contact a:focus {
	text-decoration: underline;
}

.vop-generated-page .site-footer .vop-footer-legal-links a {
	color: inherit;
	text-decoration: none;
}

.vop-generated-page .site-footer .vop-footer-legal-links a:hover,
.vop-generated-page .site-footer .vop-footer-legal-links a:focus {
	text-decoration: underline;
}

.vop-shell {
	width: min(calc(100% - clamp(40px, 8vw, 144px)), var(--vop-max-width));
	margin: 0 auto;
}

.vop-section {
	padding: clamp(48px, 7vw, 96px) 0;
}

.vop-section--sand {
	background:
		radial-gradient(circle at top right, rgba(215, 162, 91, 0.12), transparent 32%),
		var(--vop-sand);
}

.vop-section--forest {
	background:
		linear-gradient(135deg, rgba(95, 122, 104, 0.1), transparent 44%),
		var(--vop-bg-green-pale);
	color: var(--vop-text);
}

.vop-section--forest h2,
.vop-section--forest h3,
.vop-heading--light h2,
.vop-split__content--light h2 {
	color: var(--vop-green);
}

/* Soft alternation to reduce white/cream uniformity while keeping subtle rhythm. */
.vop-page--home .vop-section:nth-of-type(odd):not(:first-child):not(.vop-section--forest) {
	background-color: var(--vop-bg-green-pale);
}

.vop-page--home .vop-section:nth-of-type(even):not(:first-child):not(.vop-section--forest) {
	background-color: var(--vop-bg-sand-warm);
}

/* Remove the white gap between home hero and the first section. */
.vop-page--home > p {
	margin: 0;
}

.vop-page--home > p:empty {
	display: none;
}

.vop-page--home > .vop-section:first-of-type {
	margin-top: 0;
	padding-top: 0;
	background-color: var(--vop-bg-sand-warm);
}

.vop-page:not(.vop-page--home) .vop-section:nth-of-type(odd):not(:first-child):not(.vop-section--forest) {
	background-color: var(--vop-bg-green-pale);
}

.vop-page:not(.vop-page--home) .vop-section:nth-of-type(even):not(.vop-section--forest) {
	background-color: var(--vop-bg-sand-warm);
}

.vop-lead {
	font-size: clamp(1.1rem, 2vw, 1.35rem);
	color: var(--vop-earth);
}

.vop-heading {
	max-width: 780px;
	margin: 0 auto 32px;
	text-align: center;
}

.vop-heading h2 {
	margin-bottom: 12px;
}

.vop-page--services .vop-heading > h1 {
	color: var(--vop-title-primary);
}

.vop-page--services .vop-section {
	padding: clamp(42px, 6vw, 84px) 0;
}

.vop-services-intro__heading {
	max-width: 860px;
	margin-bottom: 0;
}

.vop-services-intro__heading p {
	max-width: 720px;
	margin: 0 auto 18px;
}

.vop-services-quicklinks {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
	align-items: center;
	max-width: 840px;
	margin: 0 auto;
}

.vop-services-quicklinks__item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 14px;
	border-radius: 999px;
	border: 1px solid rgba(111, 138, 120, 0.22);
	background: rgba(255, 253, 248, 0.92);
	color: var(--vop-forest-deep);
	font-weight: 600;
	font-size: 0.92rem;
	text-decoration: none;
	transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.vop-services-quicklinks__item:hover,
.vop-services-quicklinks__item:focus {
	color: var(--vop-button-bg);
	border-color: rgba(208, 111, 73, 0.42);
	background: #fffdf8;
}

.vop-services-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
	align-items: stretch;
}

.vop-service-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	border-radius: var(--vop-radius-lg);
	background: var(--vop-card-warm);
	border: 1px solid rgba(95, 122, 104, 0.09);
	box-shadow: 0 18px 42px rgba(32, 50, 43, 0.1);
}

.vop-service-card__image {
	padding: 14px 14px 0;
}

.vop-service-card__photo {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	height: 220px;
	max-height: 250px;
	object-fit: cover;
	border-radius: 20px;
	box-shadow: var(--vop-shadow);
}

.vop-service-card__content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: stretch;
	gap: 8px;
	padding: 16px 16px 18px;
}

.vop-service-card__title {
	min-height: 60px;
	display: flex;
	align-items: flex-start;
}

.vop-service-card__title h2 {
	margin: 0;
}

.vop-service-card__intro {
	min-height: 0;
}

.vop-service-card__intro p {
	margin: 0;
}

.vop-service-card__features {
	margin-top: 2px;
}

.vop-service-card__features h3 {
	margin: 0 0 6px;
	color: var(--vop-forest-deep);
	font-size: 1rem;
}

.vop-service-card__content .vop-button {
	width: auto;
}

.vop-service-card__list {
	margin: 0;
	padding-left: 20px;
}

.vop-service-card__list li {
	margin-bottom: 6px;
}

.vop-service-card__list li:last-child {
	margin-bottom: 0;
}

.vop-service-card__cta {
	margin-top: auto;
	padding-top: 10px;
	align-self: stretch;
}

@media (min-width: 1101px) {
	.vop-page--services .vop-service-card__intro {
		min-height: 152px;
	}

	.vop-page--services .vop-service-card__features {
		margin-top: 0;
	}
}

.vop-services-trust__heading {
	max-width: 760px;
	margin-bottom: 26px;
}

.vop-page--services .vop-services-benefits {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.vop-page--services .vop-services-benefits .vop-benefit {
	background: var(--vop-card-warm);
	border: 1px solid rgba(95, 122, 104, 0.08);
}

.vop-services-trust__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	align-items: stretch;
}

.vop-services-trust__item {
	height: 100%;
	padding: 20px 18px;
	border-radius: var(--vop-radius-md);
	background: var(--vop-white);
	border: 1px solid rgba(95, 122, 104, 0.1);
	box-shadow: var(--vop-shadow);
}

.vop-services-trust__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin-bottom: 10px;
	border-radius: 15px;
	background: rgba(230, 222, 208, 0.72);
	color: var(--vop-forest);
}

.vop-services-trust__icon svg {
	display: block;
	width: 24px;
	height: 24px;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.vop-services-trust__item h3 {
	margin: 0 0 10px;
	color: var(--vop-forest-deep);
}

.vop-services-trust__item p {
	margin: 0;
	margin-bottom: 0;
}

.vop-page--services .vop-services-security .vop-heading {
	max-width: 760px;
	margin-bottom: 24px;
}

.vop-page--services .vop-services-security {
	background:
		radial-gradient(circle at top right, rgba(215, 162, 91, 0.16), transparent 34%),
		linear-gradient(135deg, #f3e8d8 0%, #f8f2e7 100%);
}

.vop-page--services .vop-services-trust {
	background:
		linear-gradient(135deg, rgba(95, 122, 104, 0.12), transparent 42%),
		#e4ede4;
}

.vop-services-cta {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 24px;
	align-items: center;
	padding: clamp(28px, 4vw, 42px);
	border-radius: var(--vop-radius-lg);
	background:
		radial-gradient(circle at top right, rgba(215, 162, 91, 0.18), transparent 32%),
		linear-gradient(135deg, #f8f2e7 0%, #fffefb 100%);
	box-shadow: var(--vop-shadow);
}

.vop-services-cta__copy h2 {
	margin-top: 0;
	margin-bottom: 12px;
}

.vop-services-cta__copy p {
	margin-bottom: 0;
}

.vop-services-cta__actions .vop-button {
	white-space: nowrap;
}

.vop-page--services .vop-services-campagne-callout {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr);
	gap: clamp(22px, 3vw, 34px);
	align-items: center;
	margin-bottom: 18px;
	padding: clamp(24px, 3.2vw, 34px);
	border-radius: var(--vop-radius-lg);
	background:
		radial-gradient(circle at top right, rgba(215, 162, 91, 0.22), transparent 36%),
		linear-gradient(135deg, #f8f2e7 0%, #fffefb 100%);
	box-shadow: var(--vop-shadow);
}

.vop-page--services .vop-services-campagne-callout__badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 12px;
	padding: 8px 14px;
	border-radius: 999px;
	background: rgba(95, 122, 104, 0.1);
	color: var(--vop-forest-deep);
	font-size: 0.9rem;
	font-weight: 700;
}

.vop-page--services .vop-services-campagne-callout__content h2 {
	margin-top: 0;
	margin-bottom: 8px;
}

.vop-page--services .vop-services-campagne-callout__subtext {
	margin-top: 12px;
	margin-bottom: 0;
	color: rgba(32, 50, 43, 0.86);
}

.vop-page--services .vop-services-campagne-callout .vop-actions {
	margin-top: 14px;
}

.vop-page--services .vop-services-campagne-callout .vop-button {
	background-color: var(--vop-button-bg);
	background-image: none;
	color: var(--vop-button-text);
	border-color: var(--vop-button-bg);
	opacity: 1;
	filter: none;
	text-shadow: none;
}

.vop-page--services .vop-services-campagne-callout__media .vop-photo {
	height: 100%;
	min-height: 220px;
	object-fit: cover;
}

.vop-page--home .vop-intro-card,
.vop-page--home .vop-home-service-card,
.vop-page--home .vop-cta-panel,
.vop-page--services .vop-services-cta,
.vop-page--tarifs .vop-pricing-card,
.vop-page--garde-campagne .vop-campagne-hero,
.vop-page--garde-campagne .vop-campagne-highlight {
	border: 1px solid rgba(95, 122, 104, 0.08);
}

.vop-page--services .vop-services-campagne-callout .vop-button,
.vop-page--garde-campagne .vop-campagne-hero .vop-button,
.vop-page--home .vop-home-service-card__footer .vop-button {
	background-color: var(--vop-button-bg);
	background-image: none;
	color: var(--vop-button-text);
	border-color: var(--vop-button-bg);
	opacity: 1;
	filter: none;
	text-shadow: none;
}

.vop-home-hero {
	position: relative;
	width: 100vw;
	min-height: max(560px, calc(100vh - 104px));
	min-height: max(560px, calc(100svh - 104px));
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
	overflow: hidden;
	background: #172821;
	color: var(--vop-white);
	isolation: isolate;
}

.vop-home-hero__media,
.vop-home-hero__overlay {
	position: absolute;
	inset: 0;
}

.vop-home-hero__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.vop-home-hero__overlay {
	z-index: 1;
	background:
		linear-gradient(108deg, rgba(18, 31, 26, 0.84) 0%, rgba(28, 49, 41, 0.62) 42%, rgba(28, 49, 41, 0.2) 100%),
		linear-gradient(180deg, rgba(10, 16, 14, 0.08) 0%, rgba(10, 16, 14, 0.42) 100%);
}

.vop-home-hero__content {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	min-height: inherit;
	padding: clamp(88px, 12vw, 148px) 0 clamp(72px, 10vw, 116px);
}

.vop-home-hero__copy {
	max-width: 640px;
	color: rgba(255, 255, 255, 0.94);
}

.vop-home-hero__copy h1 {
	margin: 0 0 18px;
	font-size: clamp(2.3rem, 5vw, 4.9rem);
	line-height: 1.03;
	color: var(--vop-white);
	text-wrap: balance;
}

.vop-home-hero__subtitle {
	margin: 0 0 14px;
	max-width: 34ch;
	font-size: clamp(1.15rem, 2.2vw, 1.7rem);
	font-weight: 600;
	line-height: 1.28;
	color: rgba(255, 255, 255, 0.95);
	text-wrap: balance;
}

.vop-home-hero__lead {
	margin: 0;
	max-width: 34ch;
	font-size: clamp(1.08rem, 2vw, 1.42rem);
	color: rgba(255, 255, 255, 0.9);
}

.vop-actions--hero {
	margin-top: 32px;
}

.vop-button--hero-secondary {
	background: rgba(255, 255, 255, 0.12);
	color: var(--vop-white);
	border: 1px solid rgba(255, 255, 255, 0.32);
	backdrop-filter: blur(6px);
}

.vop-button--hero-secondary:hover,
.vop-button--hero-secondary:focus {
	background: rgba(255, 255, 255, 0.18);
	color: var(--vop-white);
}

.vop-hero {
	background:
		radial-gradient(circle at top left, rgba(215, 162, 91, 0.18), transparent 28%),
		linear-gradient(180deg, var(--vop-cream) 0%, #fffaf4 100%);
}

.vop-hero__grid,
.vop-split,
.vop-contact-banner,
.vop-intro-card {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(24px, 4vw, 48px);
	align-items: center;
}

.vop-split--reverse .vop-split__media {
	order: 2;
}

.vop-split--reverse .vop-split__content {
	order: 1;
}

.vop-page--garde-campagne .vop-campagne-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
	gap: clamp(24px, 4vw, 40px);
	align-items: center;
	padding: clamp(20px, 3vw, 28px);
	border-radius: var(--vop-radius-lg);
	background: var(--vop-white);
	box-shadow: var(--vop-shadow);
}

.vop-page--garde-campagne .vop-campagne-hero__content h1 {
	margin-bottom: 10px;
}

.vop-page--garde-campagne .vop-campagne-hero__subtitle {
	margin-top: 0;
	margin-bottom: 14px;
	font-weight: 700;
	color: var(--vop-forest);
}

.vop-page--garde-campagne .vop-campagne-hero__content .vop-actions {
	margin-top: 20px;
}

.vop-page--garde-campagne .vop-campagne-reassurance {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.vop-page--garde-campagne .vop-campagne-reassurance__card h3 {
	margin-top: 0;
	margin-bottom: 10px;
}

.vop-page--garde-campagne .vop-campagne-highlight {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
	gap: clamp(22px, 3vw, 34px);
	align-items: center;
	padding: clamp(22px, 3vw, 30px);
	border-radius: var(--vop-radius-lg);
	background: var(--vop-white);
	box-shadow: var(--vop-shadow);
}

.vop-page--garde-campagne .vop-campagne-highlight__content h2 {
	margin-top: 0;
}

.vop-page--garde-campagne .vop-campagne-steps {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 14px;
}

.vop-page--garde-campagne .vop-campagne-steps .vop-step {
	padding-top: 64px;
}

.vop-page--garde-campagne .vop-campagne-steps .vop-step__index {
	top: 18px;
}

.vop-page--garde-campagne .vop-campagne-steps .vop-step h3 {
	margin: 0;
	font-size: 1rem;
}

/* Reharmonize only the "Garde a la campagne" page after section removals. */
.vop-page--garde-campagne > .vop-section {
	padding: clamp(36px, 5.6vw, 68px) 0;
}

.vop-page--garde-campagne > .vop-section:nth-of-type(2),
.vop-page--garde-campagne > .vop-section:nth-of-type(3),
.vop-page--garde-campagne > .vop-section.vop-section--cta {
	background-color: var(--vop-bg-sand-warm);
}

.vop-page--garde-campagne > .vop-section:nth-of-type(4) {
	background-color: var(--vop-bg-green-pale);
}

.vop-page--garde-campagne > .vop-section:nth-of-type(4) .vop-faq-item {
	background: var(--vop-card-warm);
}

.vop-page--garde-campagne > .vop-section .vop-heading {
	margin-bottom: 24px;
}

.vop-photo,
.vop-inline-image {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--vop-radius-lg);
	box-shadow: var(--vop-shadow);
}

.vop-photo--hero {
	min-height: 420px;
	object-fit: cover;
}

.vop-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
}

.vop-actions--center {
	justify-content: center;
}

.vop-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 26px;
	border-radius: 999px;
	text-decoration: none;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
	border: 1px solid var(--vop-button-bg);
	background-color: var(--vop-button-bg);
	background-image: none;
	color: var(--vop-button-text);
	opacity: 1;
	filter: none;
	text-shadow: none;
	box-shadow: var(--vop-button-shadow);
	transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.vop-button:hover,
.vop-button:focus {
	transform: translateY(-1px);
	background-color: var(--vop-button-bg-hover);
	background-image: none;
	border-color: var(--vop-button-bg-hover);
	color: var(--vop-button-text);
	opacity: 1;
	filter: none;
	text-shadow: none;
	box-shadow: var(--vop-button-shadow-hover);
	outline: none;
	text-decoration: none;
}

.vop-button:visited,
.vop-button:active {
	color: var(--vop-button-text);
	text-decoration: none;
}

.vop-button--primary {
	background-color: var(--vop-button-bg);
	background-image: none;
	color: var(--vop-button-text);
	border-color: var(--vop-button-bg);
	opacity: 1;
	filter: none;
	text-shadow: none;
}

.vop-button--primary:hover,
.vop-button--primary:focus,
.vop-button--primary:active {
	background-color: var(--vop-button-bg-hover);
	background-image: none;
	color: var(--vop-button-text);
	border-color: var(--vop-button-bg-hover);
	opacity: 1;
	filter: none;
	text-shadow: none;
}

.vop-button--primary:visited {
	color: var(--vop-button-text);
}

.vop-button--secondary {
	background-color: var(--vop-button-bg);
	background-image: none;
	color: var(--vop-button-text);
	border-color: var(--vop-button-bg);
	opacity: 1;
	filter: none;
	text-shadow: none;
}

.vop-button--secondary:hover,
.vop-button--secondary:focus,
.vop-button--secondary:active {
	background-color: var(--vop-button-bg-hover);
	background-image: none;
	color: var(--vop-button-text);
	border-color: var(--vop-button-bg-hover);
	opacity: 1;
	filter: none;
	text-shadow: none;
}

.vop-button--secondary:visited {
	color: var(--vop-button-text);
}

.vop-button--text {
	padding: 14px 26px;
	background-color: var(--vop-button-bg);
	background-image: none;
	color: var(--vop-button-text);
	box-shadow: var(--vop-button-shadow);
	border-color: var(--vop-button-bg);
	opacity: 1;
	filter: none;
	text-shadow: none;
}

.vop-button--text:hover,
.vop-button--text:focus,
.vop-button--text:active {
	background-color: var(--vop-button-bg-hover);
	background-image: none;
	color: var(--vop-button-text);
	border-color: var(--vop-button-bg-hover);
	opacity: 1;
	filter: none;
	text-shadow: none;
}

.vop-button--text:visited {
	color: var(--vop-button-text);
}

.vop-generated-page a.vop-button,
.vop-generated-page a.vop-button:hover,
.vop-generated-page a.vop-button:focus,
.vop-generated-page a.vop-button:active,
.vop-generated-page a.vop-button:visited {
	color: var(--vop-button-text) !important;
	text-decoration: none !important;
}

/* Keep the hero secondary CTA transparent. */
.vop-button--hero-secondary,
.vop-button--hero-secondary:visited {
	background: rgba(255, 255, 255, 0.12) !important;
	background-image: none !important;
	color: var(--vop-white) !important;
	border-color: rgba(255, 255, 255, 0.32) !important;
	box-shadow: var(--vop-shadow-soft);
	opacity: 1 !important;
	filter: none !important;
	text-shadow: none !important;
}

.vop-button--hero-secondary:hover,
.vop-button--hero-secondary:focus,
.vop-button--hero-secondary:active {
	background: rgba(255, 255, 255, 0.18) !important;
	background-image: none !important;
	color: var(--vop-white) !important;
	border-color: rgba(255, 255, 255, 0.36) !important;
	text-decoration: none !important;
}

.vop-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.vop-card-grid.vop-card-grid--about-highlights {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	justify-content: center;
	align-items: stretch;
	max-width: 1040px;
	margin: 0 auto;
	gap: 24px;
}

.vop-card-grid--about-highlights .vop-card {
	height: 100%;
	padding: 30px 28px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}

.vop-page--about .vop-about-highlights-section .vop-shell {
	width: min(100%, 1080px);
	margin-left: auto;
	margin-right: auto;
}

.vop-page--about .vop-about-highlights-section {
	padding-top: 48px;
	padding-bottom: 48px;
}

.vop-page--about .vop-card-grid--about-highlights .vop-checklist {
	margin-bottom: 0;
}

.vop-page--about .vop-card-grid--about-highlights .vop-checklist li + li {
	margin-top: 10px;
}

.vop-card-grid--services {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.vop-page--home .vop-card-grid--services {
	align-items: stretch;
}

.vop-page--tarifs .vop-pricing-card {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.vop-page--tarifs .vop-pricing-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
	align-items: stretch;
	max-width: 1040px;
	margin-left: auto;
	margin-right: auto;
}

.vop-page--tarifs .vop-pricing-grid--main {
	margin-bottom: 20px;
}

.vop-page--tarifs .vop-pricing-grid--extras {
	grid-template-columns: minmax(0, 1fr);
	max-width: 1040px;
}

.vop-page--tarifs .vop-pricing-card--extras {
	grid-column: 1 / -1;
}

.vop-page--tarifs .vop-pricing-card {
	grid-column: auto;
}

.vop-page--tarifs .vop-pricing-title {
	margin-top: 0;
	min-height: 0;
	display: block;
}

.vop-page--tarifs .vop-pricing-description,
.vop-page--tarifs .vop-pricing-text {
	margin-top: 0;
	margin-bottom: 16px;
	min-height: 0;
}

.vop-page--tarifs .vop-pricing-description + .vop-pricing-note,
.vop-page--tarifs .vop-pricing-text + .vop-pricing-note {
	margin-top: -8px;
}

.vop-page--tarifs .vop-pricing-note {
	font-size: 0.96rem;
	color: rgba(38, 54, 47, 0.8);
	margin-top: 6px;
	margin-bottom: 16px;
	background: #f5f1e7;
	border: 1px solid rgba(161, 119, 95, 0.2);
	padding: 8px 10px;
	border-radius: 10px;
	line-height: 1.5;
}

.vop-page--tarifs .vop-pricing-card > :last-child {
	margin-bottom: 0;
}

.vop-page--tarifs .vop-price-item {
	padding: 12px 0 14px;
	border-bottom: 1px dashed rgba(120, 106, 86, 0.24);
}

.vop-page--tarifs .vop-price-item:last-of-type {
	border-bottom: 0;
	padding-bottom: 10px;
}

.vop-page--tarifs .vop-price-main {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}

.vop-page--tarifs .vop-price-label {
	font-weight: 600;
	color: #2b4a3f;
	line-height: 1.35;
}

.vop-page--tarifs .vop-price-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 7px 12px;
	border-radius: 999px;
	background: #f6e4dc;
	color: #8b4d39;
	border: 1px solid rgba(139, 77, 57, 0.2);
	font-weight: 700;
	font-size: 0.95rem;
	letter-spacing: 0.01em;
	white-space: nowrap;
}

.vop-page--tarifs .vop-price-badge__mobile {
	display: none;
}

.vop-page--tarifs .vop-price-item > .vop-pricing-note {
	margin-top: 7px;
	margin-bottom: 0;
}

.vop-page--tarifs .vop-price-subline {
	margin: 6px 0 0;
	font-size: 0.9rem;
	line-height: 1.35;
	color: rgba(43, 74, 63, 0.78);
}

.vop-page--tarifs .vop-price-item > .vop-pricing-note.vop-price-subline {
	margin-top: 7px;
	margin-bottom: 0;
}

@media (min-width: 901px) {
	.vop-page--tarifs .vop-price-main--walk-home {
		flex-wrap: nowrap;
		align-items: center;
	}

	.vop-page--tarifs .vop-price-main--walk-home .vop-price-label {
		flex: 1 1 auto;
		min-width: 0;
	}

	.vop-page--tarifs .vop-price-main--walk-home .vop-price-badge {
		flex: 0 0 auto;
		margin-left: auto;
		white-space: nowrap;
	}
}

@media (max-width: 900px) {
	.vop-page--tarifs .vop-pricing-grid {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.vop-page--tarifs .vop-pricing-grid--main {
		margin-bottom: 16px;
	}

	.vop-page--tarifs .vop-pricing-card {
		grid-column: auto;
	}

	.vop-page--tarifs .vop-pricing-title,
	.vop-page--tarifs .vop-pricing-description,
	.vop-page--tarifs .vop-pricing-text {
		min-height: 0;
	}

	.vop-page--tarifs .vop-pricing-note {
		font-size: 0.94rem;
	}

	.vop-page--tarifs .vop-price-main {
		flex-wrap: nowrap;
		align-items: flex-start;
	}

	.vop-page--tarifs .vop-price-label {
		flex: 1 1 auto;
		min-width: 0;
	}

	.vop-page--tarifs .vop-price-badge {
		font-size: 0.92rem;
		flex: 0 0 auto;
		margin-left: auto;
		white-space: nowrap;
	}

	.vop-page--tarifs .vop-price-badge__desktop {
		display: none;
	}

	.vop-page--tarifs .vop-price-badge__mobile {
		display: inline;
	}

	.vop-page--tarifs .vop-price-subline {
		font-size: 0.88rem;
	}
}

.vop-home-service-card {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.vop-home-service-card__content {
	flex: 1 1 auto;
}

.vop-home-service-card__content h3 {
	margin-top: 0;
}

.vop-home-service-card__content p:last-child {
	margin-bottom: 0;
}

.vop-home-service-card__footer {
	margin-top: auto;
	padding-top: 20px;
	display: flex;
}

.vop-home-service-card__footer p {
	margin: 0;
}

.vop-home-service-card__footer .vop-button {
	align-self: flex-start;
}

.vop-page--home .vop-home-service-card__content h3 {
	min-height: 64px;
	display: flex;
	align-items: flex-start;
}

.vop-page--home .vop-home-service-card__content p {
	margin-top: 0;
}

.vop-page--home .vop-steps .vop-step {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding-top: 40px;
}

.vop-page--home .vop-steps .vop-step h3 {
	min-height: 64px;
	display: flex;
	align-items: flex-start;
	margin-top: 0;
	margin-bottom: 12px;
}

.vop-page--home .vop-steps .vop-step p {
	margin-top: 0;
}

.vop-page--home .vop-steps .vop-step .vop-step__index {
	top: 16px;
}

.vop-page--home .vop-steps {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.vop-page--home .vop-steps .vop-step,
.vop-page--home .vop-steps .vop-step h3,
.vop-page--home .vop-steps .vop-step p {
	width: 100%;
	word-break: normal;
	overflow-wrap: normal;
	hyphens: none;
}

.vop-page--home .vop-home-zone-intro {
	max-width: 760px;
	margin-bottom: 22px;
}

.vop-page--home .vop-home-zone-intro p {
	margin-bottom: 0;
}

.vop-page--home .vop-home-zone-section .vop-zone-grid {
	margin-top: 0;
}

.vop-page--home .vop-home-zone-section .vop-zone-item {
	color: #5f7a68;
	font-weight: 600;
}

.vop-card,
.vop-benefit,
.vop-contact-card,
.vop-step,
.vop-faq-item,
.vop-note {
	background: var(--vop-card-warm);
	border-radius: var(--vop-radius-md);
	box-shadow: var(--vop-shadow);
	border: 1px solid rgba(95, 122, 104, 0.08);
}

.vop-card,
.vop-benefit,
.vop-contact-card,
.vop-step,
.vop-note {
	padding: 28px;
}

.vop-card,
.vop-contact-card,
.vop-step,
.vop-note,
.vop-home-service-card,
.vop-service-card,
.vop-pricing-card {
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.vop-card:hover,
.vop-contact-card:hover,
.vop-step:hover,
.vop-note:hover,
.vop-home-service-card:hover,
.vop-service-card:hover,
.vop-pricing-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 22px 44px rgba(34, 52, 43, 0.14);
}

.vop-benefits {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 18px;
}

.vop-benefit {
	background: var(--vop-card-warm);
	color: var(--vop-text);
	backdrop-filter: none;
}

.vop-benefit h3 {
	color: var(--vop-green);
	word-break: normal;
	overflow-wrap: normal;
	hyphens: none;
}

.vop-steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}

.vop-step {
	position: relative;
	padding-top: 56px;
}

.vop-step__index {
	position: absolute;
	top: 22px;
	left: 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--vop-forest);
	color: var(--vop-white);
	font-weight: 700;
}

.vop-checklist,
.vop-ordered {
	margin: 18px 0 0;
	padding-left: 20px;
}

.vop-checklist li,
.vop-ordered li {
	margin-bottom: 10px;
}

.vop-checklist--light li {
	color: rgba(255, 255, 255, 0.92);
}

.vop-gallery-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.vop-gallery-item {
	margin: 0;
	overflow: hidden;
	border-radius: var(--vop-radius-sm);
	aspect-ratio: 4 / 5;
}

.vop-gallery-item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 0.28s ease;
}

.vop-gallery-item:hover img {
	transform: scale(1.03);
}

/* Home gallery: force a regular grid without visual holes. */
.vop-page--home .vop-home-gallery-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(18px, 2vw, 28px);
	align-items: stretch;
}

.vop-page--home .vop-home-gallery-item {
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 22px;
	margin: 0;
}

.vop-page--home .vop-home-gallery-img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: center;
}

@media (max-width: 900px) {
	.vop-page--home .vop-home-gallery-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.vop-page--home .vop-home-gallery-grid {
		grid-template-columns: 1fr;
	}
}

.vop-cta-panel,
.vop-intro-card,
.vop-contact-banner {
	padding: clamp(24px, 4vw, 40px);
	border-radius: var(--vop-radius-lg);
	box-shadow: var(--vop-shadow);
}

.vop-cta-panel {
	background:
		radial-gradient(circle at top right, rgba(215, 162, 91, 0.18), transparent 32%),
		linear-gradient(135deg, var(--vop-bg-sand-warm) 0%, var(--vop-card-warm) 100%);
	text-align: center;
}

.vop-cta-panel--soft {
	text-align: left;
}

.vop-intro-card,
.vop-contact-banner {
	background: var(--vop-card-warm);
}

.vop-zone-grid,
.vop-contact-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 16px;
}

.vop-page--contact .vop-contact-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
	gap: clamp(16px, 2.2vw, 24px);
}

.vop-page--contact .vop-contact-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: clamp(18px, 2vw, 24px);
}

.vop-page--contact .vop-contact-card-title {
	min-height: 0;
	display: block;
	margin-top: 0;
	margin-bottom: 10px;
}

.vop-page--contact .vop-contact-card-text {
	margin-top: 0;
	margin-bottom: 10px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.vop-page--contact .vop-contact-card-note {
	margin: 0;
	color: var(--vop-text-muted);
	font-size: 0.98rem;
	line-height: 1.45;
}

.vop-page--contact .vop-contact-card-link {
	display: inline-flex;
	align-items: baseline;
	width: fit-content;
	font-weight: 700;
	line-height: 1.3;
	word-break: break-word;
}

.vop-page--contact .vop-contact-card-text strong {
	color: var(--vop-green);
}

.vop-generated-page a[href^="tel:"] {
	color: var(--vop-button-bg);
	text-decoration: none;
	font-weight: 600;
}

.vop-generated-page a[href^="tel:"]:hover,
.vop-generated-page a[href^="tel:"]:focus {
	color: var(--vop-button-hover);
	text-decoration: underline;
}

.vop-page--contact .vop-contact-card a[href^="mailto:"] {
	color: var(--vop-button-bg);
	text-decoration: none;
	font-weight: 600;
}

.vop-page--contact .vop-contact-card a[href^="mailto:"]:hover,
.vop-page--contact .vop-contact-card a[href^="mailto:"]:focus {
	color: var(--vop-button-hover);
	text-decoration: underline;
}

@media (max-width: 900px) {
	.vop-page--contact .vop-contact-grid {
		grid-template-columns: 1fr;
	}

	.vop-page--contact .vop-contact-card-title {
		min-height: 0;
	}

	.vop-page--contact .vop-contact-card-text {
		gap: 10px;
	}

	.vop-page--garde-campagne .vop-campagne-hero,
	.vop-page--garde-campagne .vop-campagne-highlight {
		grid-template-columns: 1fr;
	}

	.vop-page--garde-campagne .vop-campagne-reassurance {
		grid-template-columns: 1fr;
	}

	.vop-page--garde-campagne .vop-campagne-steps {
		grid-template-columns: 1fr;
	}
}

.vop-local-seo {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(280px, 0.9fr);
	gap: 24px;
	padding: clamp(24px, 4vw, 36px);
	border-radius: var(--vop-radius-lg);
	background:
		radial-gradient(circle at top right, rgba(215, 162, 91, 0.15), transparent 30%),
		var(--vop-white);
	box-shadow: var(--vop-shadow);
}

.vop-local-seo__aside {
	padding: 24px;
	border-radius: var(--vop-radius-md);
	background: rgba(95, 122, 104, 0.06);
}

.vop-local-seo__aside h3,
.vop-social-panel h2 {
	margin-top: 0;
}

.vop-page--contact .vop-contact-zone-grid {
	grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.85fr);
	gap: 2rem;
	align-items: center;
}

.vop-page--contact .vop-contact-zone-text,
.vop-page--contact .vop-contact-zone-list {
	align-self: center;
}

.vop-zone-item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 16px;
	border-radius: 999px;
	background: rgba(95, 122, 104, 0.08);
	font-weight: 600;
	text-align: center;
}

.vop-dot {
	margin: 0 8px;
	color: var(--vop-gold);
}

.vop-social-links {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

.vop-social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	border-radius: 999px;
	text-decoration: none;
	font-weight: 700;
	transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, opacity 0.18s ease;
}

.vop-social-link__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
}

.vop-social-link__icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.vop-social-links--inline .vop-social-link {
	padding: 12px 16px;
	background: rgba(95, 122, 104, 0.08);
	color: var(--vop-forest-deep);
	box-shadow: 0 10px 20px rgba(33, 62, 52, 0.08);
}

.vop-social-links--inline .vop-social-link:hover,
.vop-social-links--inline .vop-social-link:focus {
	transform: translateY(-1px);
	box-shadow: 0 14px 28px rgba(33, 62, 52, 0.14);
}

.vop-floating-socials {
	position: fixed;
	left: 18px;
	bottom: 18px;
	bottom: calc(env(safe-area-inset-bottom) + 18px);
	z-index: 9998;
	pointer-events: none;
}

.vop-social-links--floating {
	display: flex;
	flex-direction: column;
	gap: 12px;
	align-items: flex-start;
	pointer-events: auto;
}

.vop-social-links--floating .vop-social-link {
	width: 58px;
	height: 58px;
	padding: 0;
	color: var(--vop-white);
	box-shadow: 0 16px 32px rgba(19, 35, 29, 0.2);
}

.vop-social-links--floating .vop-social-link__icon {
	width: 26px;
	height: 26px;
}

.vop-social-links--floating .vop-social-link__label {
	display: none;
}

.vop-social-links--floating .vop-social-link:hover,
.vop-social-links--floating .vop-social-link:focus {
	transform: translateY(-2px) scale(1.03);
	box-shadow: 0 20px 36px rgba(19, 35, 29, 0.28);
}

.vop-social-link--facebook {
	background: linear-gradient(180deg, #1877f2 0%, #0f5dc0 100%);
}

.vop-social-link--instagram {
	background: linear-gradient(135deg, #5b51d8 0%, #c13584 52%, #f77737 100%);
}

.vop-faq-list {
	display: grid;
	gap: 14px;
}

.vop-faq-intro {
	text-align: center;
	margin: -8px auto 18px;
	color: var(--vop-forest);
	font-weight: 600;
}

.vop-faq-item {
	padding: 0;
	overflow: hidden;
	border-radius: 22px;
	background: var(--vop-white);
	box-shadow: 0 18px 45px rgba(31, 42, 35, 0.08);
}

.vop-faq-item summary {
	cursor: pointer;
	padding: 20px 72px 20px 24px;
	font-weight: 700;
	color: var(--vop-forest);
	list-style: none;
	position: relative;
	transition: background-color 0.2s ease;
}

.vop-faq-item summary::-webkit-details-marker {
	display: none;
}

.vop-faq-item summary::after {
	content: "+";
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	width: 32px;
	height: 32px;
	border-radius: 999px;
	background: #f3eadc;
	color: var(--vop-forest);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.4rem;
	line-height: 1;
	font-weight: 700;
}

.vop-faq-item[open] summary::after {
	content: "−";
}

@media (hover: hover) {
	.vop-faq-item summary:hover {
		background: rgba(95, 122, 104, 0.05);
	}
}

.vop-faq-item p {
	padding: 0 24px 22px;
	margin: 0;
}

.vop-contact-form-wrap {
	max-width: 920px;
}

.vop-page--contact #question-simple {
	scroll-margin-top: 120px;
}

.vop-page--contact > .vop-section:first-child {
	padding-bottom: 18px;
}

.vop-page--contact > #question-simple {
	padding-top: 18px;
}

.vop-form-shell,
.vop-form-notice {
	padding: 28px;
	border-radius: var(--vop-radius-lg);
	background: var(--vop-white);
	box-shadow: var(--vop-shadow);
}

.vop-form-notice {
	border: 1px dashed rgba(95, 122, 104, 0.3);
}

.vop-contact-card p:last-child,
.vop-card p:last-child,
.vop-note p:last-child {
	margin-bottom: 0;
}

.vop-form-shell .ff-el-group,
.vop-form-shell .ff-t-container {
	margin-bottom: 18px;
}

.vop-form-shell .ff-el-form-control,
.vop-form-shell select,
.vop-form-shell textarea,
.vop-form-shell input[type="text"],
.vop-form-shell input[type="email"],
.vop-form-shell input[type="tel"] {
	border-radius: 14px;
	border: 1px solid rgba(95, 122, 104, 0.18);
	padding: 14px 16px;
}

.vop-form-shell .ff-btn-submit {
	border-radius: 999px !important;
	padding: 14px 26px !important;
	font-weight: 700;
	line-height: 1.2;
	background-color: var(--vop-button-bg) !important;
	background-image: none !important;
	border: 1px solid var(--vop-button-bg) !important;
	color: var(--vop-button-text) !important;
	box-shadow: var(--vop-button-shadow);
	opacity: 1 !important;
	filter: none !important;
	text-shadow: none !important;
	transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease !important;
}

.vop-form-shell .ff-btn-submit:hover,
.vop-form-shell .ff-btn-submit:focus,
.vop-form-shell .ff-btn-submit:active {
	background-color: var(--vop-button-bg-hover) !important;
	background-image: none !important;
	border-color: var(--vop-button-bg-hover) !important;
	color: var(--vop-button-text) !important;
	opacity: 1 !important;
	filter: none !important;
	text-shadow: none !important;
	text-decoration: none !important;
	transform: translateY(-1px);
	box-shadow: var(--vop-button-shadow-hover);
}

/* Keep logo visible while hiding the visual site title next to it in header only. */
.vop-generated-page #masthead .site-branding .site-title,
.vop-generated-page #masthead .site-branding .site-description,
.vop-generated-page #masthead .site-branding .custom-logo-link + .site-title,
.vop-generated-page #masthead .site-branding .custom-logo-link + .site-identity {
	display: none !important;
}

/* Main menu hover/active states in terracotta to match CTA buttons. */
.vop-generated-page #masthead .main-navigation .menu > li > a,
.vop-generated-page #masthead .main-navigation .menu li.menu-item > a,
.vop-generated-page #masthead .main-navigation .main-header-menu > li > a,
.vop-generated-page #masthead .kadence-navigation .menu > li > a {
	color: #6f8a78 !important;
	transition: color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.vop-generated-page #masthead .main-navigation .menu > li > a:visited,
.vop-generated-page #masthead .main-navigation .menu li.menu-item > a:visited,
.vop-generated-page #masthead .main-navigation .main-header-menu > li > a:visited,
.vop-generated-page #masthead .kadence-navigation .menu > li > a:visited {
	color: #6f8a78 !important;
}

.vop-generated-page #masthead .main-navigation .menu > li > a:hover,
.vop-generated-page #masthead .main-navigation .menu > li > a:focus,
.vop-generated-page #masthead .main-navigation .menu > li > a:active,
.vop-generated-page #masthead .main-navigation .menu li.menu-item > a:hover,
.vop-generated-page #masthead .main-navigation .menu li.menu-item > a:focus,
.vop-generated-page #masthead .main-navigation .menu li.menu-item > a:active,
.vop-generated-page #masthead .main-navigation .main-header-menu > li > a:hover,
.vop-generated-page #masthead .main-navigation .main-header-menu > li > a:focus,
.vop-generated-page #masthead .main-navigation .main-header-menu > li > a:active,
.vop-generated-page #masthead .kadence-navigation .menu > li > a:hover,
.vop-generated-page #masthead .kadence-navigation .menu > li > a:focus,
.vop-generated-page #masthead .kadence-navigation .menu > li > a:active {
	color: #d06f49 !important;
	border-color: #d06f49 !important;
}

.vop-generated-page #masthead .main-navigation .current-menu-item > a,
.vop-generated-page #masthead .main-navigation .current_page_item > a,
.vop-generated-page #masthead .main-navigation .current_page_parent > a,
.vop-generated-page #masthead .main-navigation .current_page_ancestor > a,
.vop-generated-page #masthead .main-navigation .current-menu-ancestor > a,
.vop-generated-page #masthead .main-navigation .menu li.current-menu-item > a,
.vop-generated-page #masthead .main-navigation .menu li.current_page_item > a,
.vop-generated-page #masthead .main-navigation .menu li.current_page_parent > a,
.vop-generated-page #masthead .main-navigation .menu li.current_page_ancestor > a,
.vop-generated-page #masthead .main-navigation .menu li.current-menu-ancestor > a,
.vop-generated-page #masthead .main-navigation .main-header-menu > .current-menu-item > a,
.vop-generated-page #masthead .main-navigation .main-header-menu > .current_page_item > a,
.vop-generated-page #masthead .main-navigation .main-header-menu > .current_page_parent > a,
.vop-generated-page #masthead .main-navigation .main-header-menu > .current_page_ancestor > a,
.vop-generated-page #masthead .kadence-navigation .current-menu-item > a,
.vop-generated-page #masthead .kadence-navigation .current_page_item > a,
.vop-generated-page #masthead .kadence-navigation .current_page_parent > a,
.vop-generated-page #masthead .kadence-navigation .current_page_ancestor > a,
.vop-generated-page #masthead .main-navigation a[aria-current="page"],
.vop-generated-page #masthead .main-navigation .menu-item-home.current-menu-item > a,
.vop-generated-page.home #masthead .main-navigation .menu-item-home > a,
.vop-generated-page.vop-generated-page--home #masthead .main-navigation .menu-item-home > a {
	color: #d06f49 !important;
	border-color: #d06f49 !important;
}

@media (min-width: 1025px) {
	.vop-generated-page #masthead #site-navigation.main-navigation .primary-menu-container > ul > li.menu-item.current-menu-item > a,
	.vop-generated-page #masthead #site-navigation.main-navigation .primary-menu-container > ul > li.menu-item.current_page_item > a,
	.vop-generated-page #masthead #site-navigation.main-navigation .primary-menu-container > ul > li.menu-item.current_page_parent > a,
	.vop-generated-page #masthead #site-navigation.main-navigation .primary-menu-container > ul > li.menu-item.current_page_ancestor > a,
	.vop-generated-page #masthead #site-navigation.main-navigation .primary-menu-container > ul > li.menu-item.current-menu-ancestor > a,
	.vop-generated-page #masthead #site-navigation.main-navigation .primary-menu-container > ul > li.menu-item.menu-item-home.current-menu-item > a,
	.vop-generated-page.home #masthead #site-navigation.main-navigation .primary-menu-container > ul > li.menu-item.menu-item-home > a,
	.vop-generated-page.vop-generated-page--home #masthead #site-navigation.main-navigation .primary-menu-container > ul > li.menu-item.menu-item-home > a,
	.vop-generated-page #masthead #site-navigation.main-navigation .primary-menu-container > ul > li.menu-item > a[aria-current="page"] {
		color: #d06f49 !important;
		border-color: #d06f49 !important;
	}

	.vop-generated-page #masthead #site-navigation.main-navigation .primary-menu-container > ul > li.menu-item.current-menu-item > a:hover,
	.vop-generated-page #masthead #site-navigation.main-navigation .primary-menu-container > ul > li.menu-item.current_page_item > a:hover,
	.vop-generated-page #masthead #site-navigation.main-navigation .primary-menu-container > ul > li.menu-item.current_page_parent > a:hover,
	.vop-generated-page #masthead #site-navigation.main-navigation .primary-menu-container > ul > li.menu-item.current_page_ancestor > a:hover,
	.vop-generated-page #masthead #site-navigation.main-navigation .primary-menu-container > ul > li.menu-item.current-menu-ancestor > a:hover,
	.vop-generated-page #masthead #site-navigation.main-navigation .primary-menu-container > ul > li.menu-item > a[aria-current="page"]:hover,
	.vop-generated-page #masthead #site-navigation.main-navigation .primary-menu-container > ul > li.menu-item.current-menu-item > a:focus,
	.vop-generated-page #masthead #site-navigation.main-navigation .primary-menu-container > ul > li.menu-item.current_page_item > a:focus,
	.vop-generated-page #masthead #site-navigation.main-navigation .primary-menu-container > ul > li.menu-item.current_page_parent > a:focus,
	.vop-generated-page #masthead #site-navigation.main-navigation .primary-menu-container > ul > li.menu-item.current_page_ancestor > a:focus,
	.vop-generated-page #masthead #site-navigation.main-navigation .primary-menu-container > ul > li.menu-item.current-menu-ancestor > a:focus,
	.vop-generated-page #masthead #site-navigation.main-navigation .primary-menu-container > ul > li.menu-item > a[aria-current="page"]:focus {
		color: #b85c39 !important;
		border-color: #b85c39 !important;
	}

	.vop-generated-page #masthead .main-navigation .current-menu-item > a:hover,
	.vop-generated-page #masthead .main-navigation .current_page_item > a:hover,
	.vop-generated-page #masthead .main-navigation .current_page_parent > a:hover,
	.vop-generated-page #masthead .main-navigation .current_page_ancestor > a:hover,
	.vop-generated-page #masthead .main-navigation .current-menu-ancestor > a:hover,
	.vop-generated-page #masthead .main-navigation a[aria-current="page"]:hover,
	.vop-generated-page #masthead .main-navigation .current-menu-item > a:focus,
	.vop-generated-page #masthead .main-navigation .current_page_item > a:focus,
	.vop-generated-page #masthead .main-navigation .current_page_parent > a:focus,
	.vop-generated-page #masthead .main-navigation .current_page_ancestor > a:focus,
	.vop-generated-page #masthead .main-navigation .current-menu-ancestor > a:focus,
	.vop-generated-page #masthead .main-navigation a[aria-current="page"]:focus {
		color: #b85c39 !important;
		border-color: #b85c39 !important;
	}
}

@media (min-width: 1025px) {
	.vop-generated-page #masthead.site-header {
		position: sticky !important;
		top: 0 !important;
		z-index: 9999 !important;
		background: #ffffff !important;
		box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06) !important;
	}

	.vop-generated-page #masthead.site-header .site-main-header-wrap,
	.vop-generated-page #masthead.site-header .site-header-row-container,
	.vop-generated-page #masthead.site-header .site-header-row-container-inner {
		background: #ffffff !important;
	}

	.vop-generated-page.admin-bar #masthead.site-header {
		top: 32px !important;
	}
}

@media (max-width: 1100px) {
	.vop-card-grid,
	.vop-benefits,
	.vop-gallery-grid,
	.vop-zone-grid,
	.vop-contact-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

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

	.vop-local-seo {
		grid-template-columns: 1fr;
	}

	.vop-page--contact .vop-contact-zone-grid {
		align-items: stretch;
	}

	.vop-page--contact .vop-contact-zone-text,
	.vop-page--contact .vop-contact-zone-list {
		align-self: auto;
	}

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

	.vop-page--services .vop-services-benefits {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.vop-services-trust__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 820px) {
	.vop-services-quicklinks {
		gap: 8px;
	}

	.vop-services-quicklinks__item {
		width: 100%;
	}

	.vop-page--about .vop-about-highlights-section {
		padding-top: 36px;
		padding-bottom: 36px;
	}

	.vop-card-grid.vop-card-grid--about-highlights {
		grid-template-columns: 1fr;
		max-width: 100%;
		gap: 18px;
	}

	.vop-card-grid--about-highlights .vop-card {
		padding: 24px;
		width: 100%;
		min-height: 280px;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
	}

	.vop-page--about .vop-card-grid--about-highlights .vop-checklist {
		flex: 1 1 auto;
		margin-bottom: 0;
	}

	.vop-generated-page:not(.vop-generated-page--home) .vop-page > .vop-section:first-child {
		padding-top: 24px;
	}

	.vop-services-grid,
	.vop-page--services .vop-services-benefits,
	.vop-services-trust__grid {
		grid-template-columns: 1fr;
	}

	.vop-service-card__photo {
		height: 200px;
		max-height: 230px;
	}

	.vop-service-card__title,
	.vop-service-card__intro {
		min-height: 0;
	}

	.vop-page--tarifs .vop-pricing-title,
	.vop-page--tarifs .vop-pricing-description {
		min-height: 0;
	}

	.vop-services-cta__actions .vop-button {
		white-space: normal;
	}

	.vop-page--services .vop-services-campagne-callout {
		grid-template-columns: 1fr;
	}

	.vop-page--services .vop-services-campagne-callout__media .vop-photo {
		min-height: 0;
	}

	.vop-services-cta {
		grid-template-columns: 1fr;
	}

	.vop-home-hero {
		min-height: max(460px, calc(100vh - 96px));
		min-height: max(460px, calc(100svh - 96px));
	}

	.vop-home-hero__content {
		padding: 96px 0 78px;
	}

	.vop-hero__grid,
	.vop-split,
	.vop-contact-banner,
	.vop-intro-card {
		grid-template-columns: 1fr;
	}

	.vop-split--reverse .vop-split__media,
	.vop-split--reverse .vop-split__content {
		order: initial;
	}

	.vop-photo--hero {
		min-height: 320px;
	}
}

@media (max-width: 768px) {
	.vop-generated-page .vop-step {
		padding-top: 22px;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}

	.vop-generated-page .vop-step__index {
		position: static;
		top: auto;
		left: auto;
		width: auto !important;
		height: auto !important;
		min-width: auto !important;
		padding: 6px 12px !important;
		border-radius: 999px !important;
		font-size: 14px !important;
		line-height: 1.2 !important;
		margin-bottom: 14px !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		background: var(--vop-forest) !important;
		color: var(--vop-white) !important;
	}

	.vop-generated-page .vop-step__index::before {
		content: "Étape ";
	}

	.vop-generated-page .vop-step > h3,
	.vop-generated-page .vop-step > h2 {
		margin-top: 0 !important;
	}

	.vop-generated-page #masthead.site-header,
	.vop-generated-page .site-header,
	.vop-generated-page .site-main-header-wrap,
	.vop-generated-page .site-header-row,
	.vop-generated-page .site-mobile-header-wrap,
	.vop-generated-page .site-header-row-container,
	.vop-generated-page .mobile-header-wrap,
	.vop-generated-page .mobile-header,
	.vop-generated-page .kadence-sticky-header {
		position: static !important;
		top: auto !important;
		right: auto !important;
		z-index: auto !important;
		box-shadow: none !important;
		backdrop-filter: none !important;
	}

	.vop-generated-page .mobile-toggle-open-container,
	.vop-generated-page .menu-toggle-open-container,
	.vop-generated-page .menu-toggle-open-container,
	.vop-generated-page .mobile-navigation-toggle-wrap,
	.vop-generated-page .mobile-navigation-toggle-container {
		position: static !important;
		top: auto !important;
		right: auto !important;
		left: auto !important;
		z-index: auto !important;
		background: transparent !important;
		box-shadow: none !important;
		border-radius: 0 !important;
		padding: 0 !important;
	}

	.vop-generated-page .menu-toggle-open,
	.vop-generated-page button.menu-toggle-open,
	.vop-generated-page .mobile-navigation-toggle,
	.vop-generated-page button.mobile-navigation-toggle,
	.vop-generated-page .kadence-mobile-nav-trigger,
	.vop-generated-page .drawer-toggle {
		position: fixed !important;
		top: 18px !important;
		right: 18px !important;
		left: auto !important;
		z-index: 99999 !important;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: 52px !important;
		height: 52px !important;
		min-width: 52px !important;
		min-height: 52px !important;
		padding: 0 !important;
		background: #e6ded0 !important;
		border: 1px solid rgba(47, 93, 80, 0.12) !important;
		border-radius: 999px !important;
		box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1) !important;
		backdrop-filter: none !important;
	}

	/* Mobile close icon color fix for Home, Contact and FAQ only. */
	.vop-generated-page.vop-generated-page--home .popup-drawer .drawer-toggle,
	.vop-generated-page.vop-generated-page--home .popup-drawer .menu-toggle-close,
	.vop-generated-page.vop-generated-page--home #mobile-drawer .drawer-toggle,
	.vop-generated-page.vop-generated-page--home #mobile-drawer .menu-toggle-close,
	.vop-generated-page.vop-generated-page--contact .popup-drawer .drawer-toggle,
	.vop-generated-page.vop-generated-page--contact .popup-drawer .menu-toggle-close,
	.vop-generated-page.vop-generated-page--contact #mobile-drawer .drawer-toggle,
	.vop-generated-page.vop-generated-page--contact #mobile-drawer .menu-toggle-close,
	.vop-generated-page.vop-generated-page--faq .popup-drawer .drawer-toggle,
	.vop-generated-page.vop-generated-page--faq .popup-drawer .menu-toggle-close,
	.vop-generated-page.vop-generated-page--faq #mobile-drawer .drawer-toggle,
	.vop-generated-page.vop-generated-page--faq #mobile-drawer .menu-toggle-close {
		color: #d06f49 !important;
	}

	.vop-generated-page.vop-generated-page--home .popup-drawer .drawer-toggle svg,
	.vop-generated-page.vop-generated-page--home .popup-drawer .drawer-toggle svg *,
	.vop-generated-page.vop-generated-page--home .popup-drawer .menu-toggle-close svg,
	.vop-generated-page.vop-generated-page--home .popup-drawer .menu-toggle-close svg *,
	.vop-generated-page.vop-generated-page--home #mobile-drawer .drawer-toggle svg,
	.vop-generated-page.vop-generated-page--home #mobile-drawer .drawer-toggle svg *,
	.vop-generated-page.vop-generated-page--home #mobile-drawer .menu-toggle-close svg,
	.vop-generated-page.vop-generated-page--home #mobile-drawer .menu-toggle-close svg *,
	.vop-generated-page.vop-generated-page--contact .popup-drawer .drawer-toggle svg,
	.vop-generated-page.vop-generated-page--contact .popup-drawer .drawer-toggle svg *,
	.vop-generated-page.vop-generated-page--contact .popup-drawer .menu-toggle-close svg,
	.vop-generated-page.vop-generated-page--contact .popup-drawer .menu-toggle-close svg *,
	.vop-generated-page.vop-generated-page--contact #mobile-drawer .drawer-toggle svg,
	.vop-generated-page.vop-generated-page--contact #mobile-drawer .drawer-toggle svg *,
	.vop-generated-page.vop-generated-page--contact #mobile-drawer .menu-toggle-close svg,
	.vop-generated-page.vop-generated-page--contact #mobile-drawer .menu-toggle-close svg *,
	.vop-generated-page.vop-generated-page--faq .popup-drawer .drawer-toggle svg,
	.vop-generated-page.vop-generated-page--faq .popup-drawer .drawer-toggle svg *,
	.vop-generated-page.vop-generated-page--faq .popup-drawer .menu-toggle-close svg,
	.vop-generated-page.vop-generated-page--faq .popup-drawer .menu-toggle-close svg *,
	.vop-generated-page.vop-generated-page--faq #mobile-drawer .drawer-toggle svg,
	.vop-generated-page.vop-generated-page--faq #mobile-drawer .drawer-toggle svg *,
	.vop-generated-page.vop-generated-page--faq #mobile-drawer .menu-toggle-close svg,
	.vop-generated-page.vop-generated-page--faq #mobile-drawer .menu-toggle-close svg * {
		stroke: #d06f49 !important;
		fill: #d06f49 !important;
		color: #d06f49 !important;
	}

	.vop-generated-page.vop-generated-page--home .popup-drawer .drawer-toggle .toggle-close-bar,
	.vop-generated-page.vop-generated-page--home .popup-drawer .menu-toggle-close .toggle-close-bar,
	.vop-generated-page.vop-generated-page--home #mobile-drawer .drawer-toggle .toggle-close-bar,
	.vop-generated-page.vop-generated-page--home #mobile-drawer .menu-toggle-close .toggle-close-bar,
	.vop-generated-page.vop-generated-page--contact .popup-drawer .drawer-toggle .toggle-close-bar,
	.vop-generated-page.vop-generated-page--contact .popup-drawer .menu-toggle-close .toggle-close-bar,
	.vop-generated-page.vop-generated-page--contact #mobile-drawer .drawer-toggle .toggle-close-bar,
	.vop-generated-page.vop-generated-page--contact #mobile-drawer .menu-toggle-close .toggle-close-bar,
	.vop-generated-page.vop-generated-page--faq .popup-drawer .drawer-toggle .toggle-close-bar,
	.vop-generated-page.vop-generated-page--faq .popup-drawer .menu-toggle-close .toggle-close-bar,
	.vop-generated-page.vop-generated-page--faq #mobile-drawer .drawer-toggle .toggle-close-bar,
	.vop-generated-page.vop-generated-page--faq #mobile-drawer .menu-toggle-close .toggle-close-bar {
		background-color: #d06f49 !important;
	}

	.vop-generated-page.vop-generated-page--home .popup-drawer .drawer-toggle:hover svg,
	.vop-generated-page.vop-generated-page--home .popup-drawer .drawer-toggle:hover svg *,
	.vop-generated-page.vop-generated-page--home .popup-drawer .menu-toggle-close:hover svg,
	.vop-generated-page.vop-generated-page--home .popup-drawer .menu-toggle-close:hover svg *,
	.vop-generated-page.vop-generated-page--contact .popup-drawer .drawer-toggle:hover svg,
	.vop-generated-page.vop-generated-page--contact .popup-drawer .drawer-toggle:hover svg *,
	.vop-generated-page.vop-generated-page--contact .popup-drawer .menu-toggle-close:hover svg,
	.vop-generated-page.vop-generated-page--contact .popup-drawer .menu-toggle-close:hover svg *,
	.vop-generated-page.vop-generated-page--faq .popup-drawer .drawer-toggle:hover svg,
	.vop-generated-page.vop-generated-page--faq .popup-drawer .drawer-toggle:hover svg *,
	.vop-generated-page.vop-generated-page--faq .popup-drawer .menu-toggle-close:hover svg,
	.vop-generated-page.vop-generated-page--faq .popup-drawer .menu-toggle-close:hover svg *,
	.vop-generated-page.vop-generated-page--home .popup-drawer .drawer-toggle:focus svg,
	.vop-generated-page.vop-generated-page--home .popup-drawer .drawer-toggle:focus svg *,
	.vop-generated-page.vop-generated-page--home .popup-drawer .menu-toggle-close:focus svg,
	.vop-generated-page.vop-generated-page--home .popup-drawer .menu-toggle-close:focus svg *,
	.vop-generated-page.vop-generated-page--contact .popup-drawer .drawer-toggle:focus svg,
	.vop-generated-page.vop-generated-page--contact .popup-drawer .drawer-toggle:focus svg *,
	.vop-generated-page.vop-generated-page--contact .popup-drawer .menu-toggle-close:focus svg,
	.vop-generated-page.vop-generated-page--contact .popup-drawer .menu-toggle-close:focus svg *,
	.vop-generated-page.vop-generated-page--faq .popup-drawer .drawer-toggle:focus svg,
	.vop-generated-page.vop-generated-page--faq .popup-drawer .drawer-toggle:focus svg *,
	.vop-generated-page.vop-generated-page--faq .popup-drawer .menu-toggle-close:focus svg,
	.vop-generated-page.vop-generated-page--faq .popup-drawer .menu-toggle-close:focus svg * {
		stroke: #b85c39 !important;
		fill: #b85c39 !important;
		color: #b85c39 !important;
	}

	.vop-generated-page .mobile-navigation a,
	.vop-generated-page .mobile-navigation a:visited,
	.vop-generated-page .mobile-navigation a:active,
	.vop-generated-page .drawer-navigation a,
	.vop-generated-page .drawer-navigation a:visited,
	.vop-generated-page .drawer-navigation a:active,
	.vop-generated-page .mobile-menu-container a,
	.vop-generated-page .mobile-menu-container a:visited,
	.vop-generated-page .mobile-menu-container a:active,
	.vop-generated-page .popup-drawer a,
	.vop-generated-page .popup-drawer a:visited,
	.vop-generated-page .popup-drawer a:active {
		color: #FFFFFF !important;
	}

	.vop-generated-page .mobile-navigation a:hover,
	.vop-generated-page .mobile-navigation a:focus,
	.vop-generated-page .drawer-navigation a:hover,
	.vop-generated-page .drawer-navigation a:focus,
	.vop-generated-page .mobile-menu-container a:hover,
	.vop-generated-page .mobile-menu-container a:focus,
	.vop-generated-page .popup-drawer a:hover,
	.vop-generated-page .popup-drawer a:focus {
		color: #b85c39 !important;
	}

	.vop-generated-page .mobile-navigation .current-menu-item > a,
	.vop-generated-page .mobile-navigation .current_page_item > a,
	.vop-generated-page .mobile-navigation .current_page_parent > a,
	.vop-generated-page .mobile-navigation .current_page_ancestor > a,
	.vop-generated-page .mobile-navigation .current-menu-ancestor > a,
	.vop-generated-page .mobile-navigation .menu-item-home.current-menu-item > a,
	.vop-generated-page.home .mobile-navigation .menu-item-home > a,
	.vop-generated-page.vop-generated-page--home .mobile-navigation .menu-item-home > a,
	.vop-generated-page .mobile-navigation a[aria-current="page"],
	.vop-generated-page .drawer-navigation .current-menu-item > a,
	.vop-generated-page .drawer-navigation .current_page_item > a,
	.vop-generated-page .drawer-navigation .current_page_parent > a,
	.vop-generated-page .drawer-navigation .current_page_ancestor > a,
	.vop-generated-page .drawer-navigation .current-menu-ancestor > a,
	.vop-generated-page .drawer-navigation .menu-item-home.current-menu-item > a,
	.vop-generated-page.home .drawer-navigation .menu-item-home > a,
	.vop-generated-page.vop-generated-page--home .drawer-navigation .menu-item-home > a,
	.vop-generated-page .drawer-navigation a[aria-current="page"],
	.vop-generated-page .mobile-menu-container .current-menu-item > a,
	.vop-generated-page .mobile-menu-container .current_page_item > a,
	.vop-generated-page .mobile-menu-container .current_page_parent > a,
	.vop-generated-page .mobile-menu-container .current_page_ancestor > a,
	.vop-generated-page .mobile-menu-container .current-menu-ancestor > a,
	.vop-generated-page .mobile-menu-container .menu-item-home.current-menu-item > a,
	.vop-generated-page.home .mobile-menu-container .menu-item-home > a,
	.vop-generated-page.vop-generated-page--home .mobile-menu-container .menu-item-home > a,
	.vop-generated-page .mobile-menu-container a[aria-current="page"],
	.vop-generated-page .popup-drawer .current-menu-item > a,
	.vop-generated-page .popup-drawer .current_page_item > a,
	.vop-generated-page .popup-drawer .current_page_parent > a,
	.vop-generated-page .popup-drawer .current_page_ancestor > a,
	.vop-generated-page .popup-drawer .current-menu-ancestor > a,
	.vop-generated-page .popup-drawer .menu-item-home.current-menu-item > a,
	.vop-generated-page.home .popup-drawer .menu-item-home > a,
	.vop-generated-page.vop-generated-page--home .popup-drawer .menu-item-home > a,
	.vop-generated-page .popup-drawer a[aria-current="page"] {
		color: #d06f49 !important;
	}

	.vop-generated-page.admin-bar .menu-toggle-open,
	.vop-generated-page.admin-bar button.menu-toggle-open,
	.vop-generated-page.admin-bar .mobile-navigation-toggle,
	.vop-generated-page.admin-bar button.mobile-navigation-toggle,
	.vop-generated-page.admin-bar .kadence-mobile-nav-trigger,
	.vop-generated-page.admin-bar .drawer-toggle,
	.vop-generated-page.admin-bar button.drawer-toggle {
		top: 64px !important;
	}

	/* Burger (closed state): keep the 3 lines terracotta on all pages. */
	.vop-generated-page .menu-toggle-open,
	.vop-generated-page button.menu-toggle-open,
	.vop-generated-page .menu-toggle-open .menu-toggle-icon,
	.vop-generated-page .menu-toggle-open .menu-toggle-icon svg,
	.vop-generated-page .menu-toggle-open .menu-toggle-icon svg * {
		color: #d06f49 !important;
		stroke: #d06f49 !important;
		fill: #d06f49 !important;
	}

	.vop-generated-page .menu-toggle-open:hover,
	.vop-generated-page .menu-toggle-open:focus,
	.vop-generated-page .menu-toggle-open:active,
	.vop-generated-page button.menu-toggle-open:hover,
	.vop-generated-page button.menu-toggle-open:focus,
	.vop-generated-page button.menu-toggle-open:active,
	.vop-generated-page .menu-toggle-open:hover .menu-toggle-icon,
	.vop-generated-page .menu-toggle-open:focus .menu-toggle-icon,
	.vop-generated-page .menu-toggle-open:active .menu-toggle-icon,
	.vop-generated-page .menu-toggle-open:hover .menu-toggle-icon svg,
	.vop-generated-page .menu-toggle-open:focus .menu-toggle-icon svg,
	.vop-generated-page .menu-toggle-open:active .menu-toggle-icon svg,
	.vop-generated-page .menu-toggle-open:hover .menu-toggle-icon svg *,
	.vop-generated-page .menu-toggle-open:focus .menu-toggle-icon svg *,
	.vop-generated-page .menu-toggle-open:active .menu-toggle-icon svg * {
		color: #b85c39 !important;
		stroke: #b85c39 !important;
		fill: #b85c39 !important;
	}

	/* Keep close button ring white while preserving icon color rules. */
	.vop-generated-page #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle {
		background: #FFFFFF !important;
	}

	.vop-generated-page .vop-eyebrow,
	.vop-generated-page .vop-kicker,
	.vop-generated-page .vop-section-label,
	.vop-generated-page .vop-label,
	.vop-generated-page .section-label,
	.vop-generated-page .eyebrow,
	.vop-generated-page .kicker,
	.vop-generated-page [class*="eyebrow"],
	.vop-generated-page [class*="kicker"] {
		display: none !important;
	}
}

@media (max-width: 640px) {
	.vop-hide-kadence-title .entry-hero-container,
	.vop-hide-kadence-title .entry-hero,
	.vop-hide-kadence-title .entry-hero-container-inner,
	.vop-hide-kadence-title .page-hero-section,
	.vop-hide-kadence-title .hero-section,
	.vop-hide-kadence-title .kadence-title-bar,
	.vop-hide-kadence-title .site-page-title,
	.vop-hide-kadence-title .page-header,
	.vop-hide-kadence-title .entry-header,
	.vop-hide-kadence-title .entry-title {
		max-height: 0 !important;
		min-height: 0 !important;
		height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
		border: 0 !important;
	}

	.vop-generated-page:not(.vop-generated-page--home) .vop-page > .vop-section:first-child {
		padding-top: 18px;
	}

	.vop-service-card__photo {
		height: 196px;
		max-height: 220px;
	}

	.vop-services-cta-section {
		padding-bottom: calc(96px + env(safe-area-inset-bottom));
	}

	.vop-home-hero {
		min-height: max(560px, calc(100vh - 76px));
		min-height: max(560px, calc(100svh - 76px));
	}

	.vop-home-hero__content {
		align-items: flex-end;
		padding: 96px 0 82px;
	}

	.vop-home-hero__copy h1 {
		font-size: clamp(2rem, 10vw, 3rem);
	}

	.vop-home-hero__subtitle {
		font-size: clamp(1rem, 5vw, 1.28rem);
	}

	.vop-home-hero__lead {
		max-width: 28ch;
	}

	.vop-shell {
		width: min(calc(100% - 24px), var(--vop-max-width));
	}

	.vop-card-grid,
	.vop-benefits,
	.vop-gallery-grid,
	.vop-zone-grid,
	.vop-contact-cards,
	.vop-steps {
		grid-template-columns: 1fr;
	}

	.vop-card,
	.vop-benefit,
	.vop-contact-card,
	.vop-step,
	.vop-note,
	.vop-form-shell,
	.vop-form-notice {
		padding: 22px;
	}

	.vop-page--home .vop-home-zone-section .vop-zone-grid {
		gap: 10px;
	}

	.vop-page--home .vop-home-zone-section .vop-zone-item {
		color: #6b6255;
		font-weight: 500;
		padding: 12px 14px;
	}

	.vop-page--about .vop-card-grid--about-highlights {
		gap: 14px;
	}

	.vop-page--about .vop-card-grid--about-highlights .vop-card {
		min-height: 0;
		height: auto;
		padding: 20px;
	}

	.vop-page--about .vop-card-grid--about-highlights .vop-card h2 {
		margin-top: 0;
		margin-bottom: 10px;
	}

	.vop-page--about .vop-card-grid--about-highlights .vop-checklist {
		margin-top: 0;
	}

	.vop-page--about .vop-card-grid--about-highlights .vop-checklist li + li {
		margin-top: 8px;
	}

	.vop-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.vop-button,
	.vop-social-links--inline .vop-social-link {
		width: 100%;
	}

	.vop-floating-socials {
		left: 12px;
		bottom: 12px;
		bottom: calc(env(safe-area-inset-bottom) + 12px);
	}

	.vop-social-links--floating {
		gap: 10px;
	}

	.vop-social-links--floating .vop-social-link {
		width: 52px;
		height: 52px;
	}

	.vop-social-links--floating .vop-social-link__icon {
		width: 22px;
		height: 22px;
	}
}

@media (max-width: 900px) {
	.vop-page--home .vop-steps {
		grid-template-columns: 1fr;
	}

	.vop-page--home .vop-steps .vop-step {
		padding-top: 40px;
	}

	.vop-page--home .vop-home-service-card__content h3,
	.vop-page--home .vop-steps .vop-step h3 {
		min-height: 0;
	}
}

@media (max-width: 1100px) and (min-width: 901px) {
	.vop-page--home .vop-steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 1024px) {
	body.vop-generated-page.vop-generated-page--home #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle,
	body.vop-generated-page.vop-generated-page--contact #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle,
	body.vop-generated-page.vop-generated-page--faq #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle,
	body.vop-generated-page.vop-generated-page--garde_campagne #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle,
	body.page-id-9 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle,
	body.page-id-13 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle,
	body.page-id-14 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle,
	body.page-id-163 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle {
		color: #d06f49 !important;
	}

	body.vop-generated-page.vop-generated-page--home #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle .toggle-close-bar,
	body.vop-generated-page.vop-generated-page--contact #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle .toggle-close-bar,
	body.vop-generated-page.vop-generated-page--faq #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle .toggle-close-bar,
	body.vop-generated-page.vop-generated-page--garde_campagne #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle .toggle-close-bar,
	body.page-id-9 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle .toggle-close-bar,
	body.page-id-13 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle .toggle-close-bar,
	body.page-id-14 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle .toggle-close-bar,
	body.page-id-163 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle .toggle-close-bar {
		background-color: #d06f49 !important;
	}

	body.vop-generated-page.vop-generated-page--home #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:hover,
	body.vop-generated-page.vop-generated-page--home #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:focus,
	body.vop-generated-page.vop-generated-page--home #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:active,
	body.vop-generated-page.vop-generated-page--contact #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:hover,
	body.vop-generated-page.vop-generated-page--contact #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:focus,
	body.vop-generated-page.vop-generated-page--contact #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:active,
	body.vop-generated-page.vop-generated-page--faq #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:hover,
	body.vop-generated-page.vop-generated-page--faq #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:focus,
	body.vop-generated-page.vop-generated-page--faq #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:active,
	body.vop-generated-page.vop-generated-page--garde_campagne #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:hover,
	body.vop-generated-page.vop-generated-page--garde_campagne #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:focus,
	body.vop-generated-page.vop-generated-page--garde_campagne #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:active,
	body.page-id-9 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:hover,
	body.page-id-9 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:focus,
	body.page-id-9 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:active,
	body.page-id-13 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:hover,
	body.page-id-13 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:focus,
	body.page-id-13 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:active,
	body.page-id-14 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:hover,
	body.page-id-14 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:focus,
	body.page-id-14 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:active,
	body.page-id-163 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:hover,
	body.page-id-163 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:focus,
	body.page-id-163 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:active {
		color: #b85c39 !important;
	}

	body.vop-generated-page.vop-generated-page--home #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:hover .toggle-close-bar,
	body.vop-generated-page.vop-generated-page--home #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:focus .toggle-close-bar,
	body.vop-generated-page.vop-generated-page--home #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:active .toggle-close-bar,
	body.vop-generated-page.vop-generated-page--contact #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:hover .toggle-close-bar,
	body.vop-generated-page.vop-generated-page--contact #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:focus .toggle-close-bar,
	body.vop-generated-page.vop-generated-page--contact #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:active .toggle-close-bar,
	body.vop-generated-page.vop-generated-page--faq #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:hover .toggle-close-bar,
	body.vop-generated-page.vop-generated-page--faq #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:focus .toggle-close-bar,
	body.vop-generated-page.vop-generated-page--faq #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:active .toggle-close-bar,
	body.vop-generated-page.vop-generated-page--garde_campagne #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:hover .toggle-close-bar,
	body.vop-generated-page.vop-generated-page--garde_campagne #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:focus .toggle-close-bar,
	body.vop-generated-page.vop-generated-page--garde_campagne #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:active .toggle-close-bar,
	body.page-id-9 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:hover .toggle-close-bar,
	body.page-id-9 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:focus .toggle-close-bar,
	body.page-id-9 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:active .toggle-close-bar,
	body.page-id-13 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:hover .toggle-close-bar,
	body.page-id-13 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:focus .toggle-close-bar,
	body.page-id-13 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:active .toggle-close-bar,
	body.page-id-14 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:hover .toggle-close-bar,
	body.page-id-14 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:focus .toggle-close-bar,
	body.page-id-14 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:active .toggle-close-bar,
	body.page-id-163 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:hover .toggle-close-bar,
	body.page-id-163 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:focus .toggle-close-bar,
	body.page-id-163 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:active .toggle-close-bar {
		background-color: #b85c39 !important;
	}
}

@media (max-width: 1024px) {
	body.vop-generated-page.vop-generated-page--about #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle,
	body.vop-generated-page.vop-generated-page--services #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle,
	body.vop-generated-page.vop-generated-page--tarifs #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle,
	body.page-id-10 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle,
	body.page-id-11 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle,
	body.page-id-12 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle {
		color: #d06f49 !important;
		border-color: #d06f49 !important;
	}

	body.vop-generated-page.vop-generated-page--about #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle .toggle-close-bar,
	body.vop-generated-page.vop-generated-page--services #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle .toggle-close-bar,
	body.vop-generated-page.vop-generated-page--tarifs #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle .toggle-close-bar,
	body.page-id-10 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle .toggle-close-bar,
	body.page-id-11 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle .toggle-close-bar,
	body.page-id-12 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle .toggle-close-bar {
		background-color: #d06f49 !important;
	}

	body.vop-generated-page.vop-generated-page--about #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:hover,
	body.vop-generated-page.vop-generated-page--about #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:focus,
	body.vop-generated-page.vop-generated-page--about #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:active,
	body.vop-generated-page.vop-generated-page--services #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:hover,
	body.vop-generated-page.vop-generated-page--services #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:focus,
	body.vop-generated-page.vop-generated-page--services #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:active,
	body.vop-generated-page.vop-generated-page--tarifs #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:hover,
	body.vop-generated-page.vop-generated-page--tarifs #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:focus,
	body.vop-generated-page.vop-generated-page--tarifs #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:active,
	body.page-id-10 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:hover,
	body.page-id-10 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:focus,
	body.page-id-10 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:active,
	body.page-id-11 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:hover,
	body.page-id-11 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:focus,
	body.page-id-11 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:active,
	body.page-id-12 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:hover,
	body.page-id-12 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:focus,
	body.page-id-12 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:active {
		color: #b85c39 !important;
		border-color: #b85c39 !important;
	}

	body.vop-generated-page.vop-generated-page--about #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:hover .toggle-close-bar,
	body.vop-generated-page.vop-generated-page--about #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:focus .toggle-close-bar,
	body.vop-generated-page.vop-generated-page--about #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:active .toggle-close-bar,
	body.vop-generated-page.vop-generated-page--services #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:hover .toggle-close-bar,
	body.vop-generated-page.vop-generated-page--services #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:focus .toggle-close-bar,
	body.vop-generated-page.vop-generated-page--services #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:active .toggle-close-bar,
	body.vop-generated-page.vop-generated-page--tarifs #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:hover .toggle-close-bar,
	body.vop-generated-page.vop-generated-page--tarifs #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:focus .toggle-close-bar,
	body.vop-generated-page.vop-generated-page--tarifs #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:active .toggle-close-bar,
	body.page-id-10 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:hover .toggle-close-bar,
	body.page-id-10 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:focus .toggle-close-bar,
	body.page-id-10 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:active .toggle-close-bar,
	body.page-id-11 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:hover .toggle-close-bar,
	body.page-id-11 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:focus .toggle-close-bar,
	body.page-id-11 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:active .toggle-close-bar,
	body.page-id-12 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:hover .toggle-close-bar,
	body.page-id-12 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:focus .toggle-close-bar,
	body.page-id-12 #mobile-drawer .drawer-header .menu-toggle-close.drawer-toggle:active .toggle-close-bar {
		background-color: #b85c39 !important;
	}
}
