/**
 * Aménage Tout VNext — final Figma harmonisation.
 * Reference: GcOKCbidX4KzZ4MEkCRrme, Atout+ and global footer components.
 */
:root {
	--at-base: #fff;
	--at-contrast: #172432;
	--at-muted: #5c6b76;
	--at-border: #d7e4ec;
	--at-primary: #075a93;
	--at-primary-dark: #084b7a;
	--at-primary-deep: #063a61;
	--at-primary-soft: #eaf4fb;
	--at-primary-softer: #f4f9fc;
	--at-secondary: #a84200;
	--at-secondary-hover: #7a3200;
	--at-secondary-soft: #fff1e6;
	--at-success: #24734b;
	--at-success-soft: #eef8f2;
	--at-danger: #9d3028;
	--at-danger-soft: #fff0ed;
	--at-radius-md: 12px;
	--at-radius: 16px;
	--at-shadow-card: 0 6px 20px rgba(20, 45, 40, .08);
	--at-shadow-soft: 0 12px 34px rgba(20, 45, 40, .10);
}

body.at-vnext-site {
	background: var(--at-base);
	color: var(--at-contrast);
	font-family: Inter, Aptos, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	overflow-wrap: break-word;
}

body.at-vnext-site :where(main, header, footer, section, article, aside, nav, form, fieldset, table) {
	min-width: 0;
}

body.at-vnext-site :where(h1, h2, h3, h4, h5, h6) {
	color: var(--at-contrast);
	text-wrap: balance;
}

body.at-vnext-site :where(p, li, dd, td, th, label, small) {
	text-wrap: pretty;
}

/* One component contract for actions, fields, cards and notices. */
body.at-vnext-site :where(
	a.wp-element-button,
	a.wp-block-button__link,
	a.button,
	button:not(.components-button),
	input[type="submit"],
	input[type="button"],
	.at-primary-button,
	.at-secondary-button,
	.wc-block-components-button
) {
	border-radius: var(--at-radius-md) !important;
	min-height: 44px;
	touch-action: manipulation;
}

body.at-vnext-site :where(
	input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
	select,
	textarea
) {
	border-color: var(--at-border) !important;
	border-radius: var(--at-radius-md) !important;
	color: var(--at-contrast) !important;
	min-height: 44px;
}

body.at-vnext-site :where(
	.at-category-card,
	.at-project-card,
	.at-resource-card,
	.at-value-pillar,
	.at-need-card,
	.at-post-card,
	.at-favorite-card,
	.at-account-quick-card,
	.at-reassurance__item,
	.wc-block-product,
	.woocommerce ul.products li.product
) {
	border-color: var(--at-border) !important;
	border-radius: var(--at-radius) !important;
	box-shadow: var(--at-shadow-card);
}

body.at-vnext-site :where(
	.woocommerce-message,
	.woocommerce-info,
	.woocommerce-error,
	.wc-block-components-notice-banner,
	.at-form-notice,
	.at-form-success,
	.at-form-error
) {
	border-radius: var(--at-radius-md) !important;
	clear: both;
	float: none !important;
	max-width: 100%;
}

body.at-vnext-site :where(.woocommerce-message, .woocommerce-info, .wc-block-components-notice-banner) > :where(.button, a) {
	float: none !important;
}

/* Header: account, Atout+, favourites and cart remain visible on every width. */
body.at-vnext-site .at-v140-header {
	background: #fff;
	isolation: isolate;
}

body.at-vnext-site .at-v140-actions > a {
	border-radius: 9px;
	min-height: 44px;
	touch-action: manipulation;
}

body.at-vnext-site .at-v140-mobile-toggle {
	min-height: 44px;
	min-width: 44px;
}

body.at-vnext-site .at-v141-navrow .at-mega-menu__panel,
body.at-vnext-site .at-v150-submenu {
	background: #fff !important;
	color: var(--at-contrast) !important;
}

body.at-vnext-site .at-v150-submenu > a,
body.at-vnext-site .at-mega-menu__panel a {
	min-height: 44px;
}

/* Product, filter and checkout controls do not collapse at narrow widths. */
body.at-vnext-site .at-catalog-layout,
body.at-vnext-site .at-catalog-products,
body.at-vnext-site .wc-block-product-template,
body.at-vnext-site .products {
	min-width: 0;
}

body.at-vnext-site .at-card-options select,
body.at-vnext-site .variations select {
	width: 100%;
}

body.at-vnext-site .variations,
body.at-vnext-site .variations tbody,
body.at-vnext-site .variations tr,
body.at-vnext-site .variations th,
body.at-vnext-site .variations td {
	box-sizing: border-box;
	max-width: 100%;
}

body.at-vnext-site .at-card-quantity :where(button, input),
body.at-vnext-site .quantity :where(button, input.qty),
body.at-vnext-site .wc-block-components-quantity-selector :where(button, input) {
	min-height: 44px !important;
	min-width: 44px !important;
}

body.at-vnext-site .at-live-search {
	border-color: var(--at-border);
	border-radius: var(--at-radius);
	box-shadow: var(--at-shadow-soft);
	z-index: 2000;
}

body.at-vnext-site .at-live-search__item,
body.at-vnext-site .at-live-search__all {
	min-height: 44px;
}

body.at-vnext-site .at-cart-quote {
	align-items: flex-start;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

body.at-vnext-site .at-cart-quote > p {
	flex-basis: 100%;
	margin: 0;
}

body.at-vnext-site .at-cart-terms {
	display: flex;
	flex-basis: 100%;
	flex-wrap: wrap;
	gap: 6px 18px;
}

body.at-vnext-site .at-cart-terms a {
	align-items: center;
	display: inline-flex;
	font-weight: 700;
	min-height: 44px;
}

/*
 * Keep the native Hostinger assistant, WhatsApp and Projet 360 launchers
 * separated even when the third-party assistant changes its rendered width.
 */
@media (min-width: 701px) {
	body.at-vnext-ai-visible .at-floating-whatsapp.at-global-floating-whatsapp {
		right: calc(var(--at-vnext-ai-right, 16px) + var(--at-vnext-ai-width, 180px) + 16px) !important;
	}
}

@media (max-width: 700px) {
	body.at-vnext-ai-visible .at-floating-whatsapp.at-global-floating-whatsapp {
		bottom: calc(var(--at-vnext-ai-bottom, 16px) + var(--at-vnext-ai-height, 38px) + 14px) !important;
		right: max(14px, env(safe-area-inset-right)) !important;
	}

	body.at-vnext-ai-visible .at-project-entry-floating,
	body.at-vnext-ai-visible .atp360-floating {
		bottom: calc(var(--at-vnext-ai-bottom, 16px) + var(--at-vnext-ai-height, 38px) + 84px) !important;
		right: max(14px, env(safe-area-inset-right)) !important;
		top: auto !important;
		transform: none !important;
	}
}

/* Account and service pages use the same Figma card language. */
body.at-vnext-site.woocommerce-account .woocommerce-MyAccount-navigation a {
	border-radius: 9px;
	min-height: 44px !important;
}

body.at-vnext-site :where(.at-account-v160-hero, .at-atoutplus-hero, .atp360-hero) {
	border-radius: var(--at-radius);
}

/* Footer follows the approved 4-column / 2x2 / stacked variants. */
body.at-vnext-site .at-v140-footer {
	background: var(--at-primary-deep);
	border-top-color: var(--at-secondary-hover);
}

body.at-vnext-site .at-v140-footer__group {
	align-content: start;
}

body.at-vnext-site .at-v140-footer__group a,
body.at-vnext-site .at-v140-footer__legal-links a,
body.at-vnext-site .at-v140-footer__phone {
	align-items: center;
	display: inline-flex;
	min-height: 42px;
}

@media (max-width: 900px) {
	body.at-vnext-site .at-v140-actions {
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		width: 100%;
	}

	body.at-vnext-site .at-v140-actions > a,
	body.at-vnext-site .at-v140-actions > a:nth-child(n) {
		display: flex !important;
		min-height: 50px;
		min-width: 0 !important;
	}

	body.at-vnext-site .at-v141-navrow__inner {
		max-height: calc(100dvh - 184px);
		overflow-y: auto;
	}

	body.at-vnext-site .at-v141-navrow .at-mega-menu__panel {
		max-height: none;
		overflow: visible;
		width: 100% !important;
	}

	body.at-vnext-site .at-v140-footer__nav {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	body.at-vnext-site .at-v140-actions > a span {
		display: block !important;
	}

	body.at-vnext-site .at-v140-footer__legal-inner,
	body.at-vnext-site .at-v140-footer__legal-links {
		align-items: flex-start;
		flex-direction: column;
	}

	body.at-vnext-site .woocommerce :where(.col2-set, .u-columns),
	body.at-vnext-site .wc-block-checkout,
	body.at-vnext-site .wc-block-cart {
		max-width: 100%;
	}
}

@media (max-width: 359px) {
	body.at-vnext-site .at-v140-logo img {
		width: min(132px, 45vw) !important;
	}

	body.at-vnext-site .at-v140-actions {
		gap: 1px !important;
	}

	body.at-vnext-site .at-v140-actions > a,
	body.at-vnext-site .at-v140-actions > a:nth-child(n) {
		font-size: 8px;
		padding-inline: 0;
	}

	body.at-vnext-site .wc-block-product-template,
	body.at-vnext-site .woocommerce ul.products {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	body.at-vnext-site .at-v140-footer__nav {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Homepage: four equally weighted entry points, including direct Locamat access. */
body.at-vnext-site .at-v174-paths:has( [data-at-event-value="locamat"] ) {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.at-vnext-site .at-v174-paths [data-at-event-value="locamat"] small {
	text-wrap: pretty;
}

@media (max-width: 900px) {
	body.at-vnext-site .at-v174-paths:has( [data-at-event-value="locamat"] ) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.at-vnext-site .at-v174-paths:has( [data-at-event-value="locamat"] ) > a:last-child {
		grid-column: auto;
	}
}

@media (max-width: 620px) {
	body.at-vnext-site .at-v174-paths:has( [data-at-event-value="locamat"] ) {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Direct Locamat destination in the desktop and mobile primary navigation. */
body.at-vnext-site .at-vnext-nav-locamat {
	align-items: center;
	color: var(--at-primary-deep);
	display: inline-flex;
	font-size: 12.5px;
	font-weight: 850;
	min-height: 44px;
	padding: 0 14px !important;
	text-transform: uppercase;
	white-space: nowrap;
}

body.at-vnext-site .at-vnext-nav-locamat:is(:hover, :focus-visible),
body.at-vnext-site .at-vnext-nav-locamat[aria-current="page"] {
	background: var(--at-primary-soft);
	color: var(--at-primary);
}

@media (max-width: 900px) {
	body.at-vnext-site .at-vnext-nav-locamat {
		border-radius: 8px;
		justify-content: flex-start;
		padding: 10px 12px !important;
		width: 100%;
	}
}

/*
 * Content-driven heights: remove fixed-looking vertical excess on the two
 * long-form service pages while keeping every interactive target at 44px.
 */
body.at-vnext-site .at-locamat {
	padding-block: clamp(24px, 3.5vw, 40px);
}

body.at-vnext-site .at-locamat-hero {
	min-height: 0;
	padding: clamp(28px, 4.5vw, 52px);
}

body.at-vnext-site .at-locamat-hero h1 {
	font-size: clamp(2rem, 4.5vw, 3.6rem);
	margin-bottom: 12px;
}

body.at-vnext-site .at-locamat-hero > p:last-child {
	margin-bottom: 0;
}

body.at-vnext-site .at-locamat-process {
	margin-block: clamp(24px, 3.5vw, 40px);
}

body.at-vnext-site .at-locamat-process h2,
body.at-vnext-site .at-locamat-heading {
	margin-bottom: 16px;
}

body.at-vnext-site .at-locamat-process ol {
	gap: 12px;
}

body.at-vnext-site .at-locamat-process li {
	padding: 14px 16px;
}

body.at-vnext-site .at-locamat-grid {
	align-items: start;
	gap: 18px;
}

body.at-vnext-site .at-locamat-card {
	align-self: start;
	height: auto;
}

body.at-vnext-site .at-locamat-card__image {
	aspect-ratio: 16 / 10;
}

body.at-vnext-site .at-locamat-card__body {
	gap: 12px;
	padding: 16px;
}

body.at-vnext-site.at-atout-plus-page .at-atoutplus-hero__grid {
	gap: clamp(28px, 4vw, 56px);
	min-height: 0;
	padding-block: clamp(40px, 5vw, 64px);
}

body.at-vnext-site.at-atout-plus-page .at-atoutplus-section {
	padding-block: clamp(36px, 4vw, 56px);
}

body.at-vnext-site.at-atout-plus-page :where(
	.at-atoutplus-how__grid,
	.at-atoutplus-levels
) {
	gap: 16px;
	margin-top: 24px;
}

body.at-vnext-site.at-atout-plus-page :where(
	.at-atoutplus-how__grid article,
	.at-atoutplus-levels article
) {
	height: auto;
	min-height: 0;
	padding: 20px;
}

body.at-vnext-site.at-atout-plus-page .at-atoutplus-rules {
	gap: clamp(24px, 3vw, 40px);
}

body.at-vnext-site.at-atout-plus-page .at-atoutplus-rules ul {
	gap: 10px;
}

body.at-vnext-site.at-atout-plus-page .at-atoutplus-activation__inner {
	gap: 24px;
	min-height: 0;
	padding-block: clamp(36px, 4vw, 56px);
}

@media (max-width: 700px) {
	body.at-vnext-site .at-locamat {
		padding-block: 24px;
	}

	body.at-vnext-site .at-locamat-hero {
		padding: 26px 22px;
	}

	body.at-vnext-site.at-atout-plus-page .at-atoutplus-shell {
		width: calc(100% - 32px);
	}

	body.at-vnext-site.at-atout-plus-page .at-atoutplus-hero__grid {
		gap: 24px;
		padding-block: 32px;
	}

	body.at-vnext-site.at-atout-plus-page .at-atoutplus-section {
		padding-block: 36px;
	}

	body.at-vnext-site.at-atout-plus-page .at-atoutplus-activation__inner {
		padding-block: 40px;
	}
}

/* Projet 360 becomes the closing step after browsing the Locamat catalogue. */
body.at-vnext-site .at-vnext-locamat-project {
	align-items: center;
	background:
		linear-gradient(135deg, rgba(7, 90, 147, .98), rgba(6, 58, 97, .98));
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: var(--at-radius);
	box-shadow: var(--at-shadow-soft);
	display: grid;
	gap: clamp(18px, 3vw, 28px);
	grid-template-columns: minmax(0, 1fr) auto;
	margin-top: clamp(24px, 3vw, 40px);
	padding: clamp(22px, 3vw, 34px);
}

body.at-vnext-site .at-vnext-locamat-project > div {
	max-width: 720px;
}

body.at-vnext-site .at-vnext-locamat-project :where(h2, p) {
	color: #fff !important;
}

body.at-vnext-site .at-vnext-locamat-project h2 {
	font-size: clamp(1.6rem, 2.7vw, 2.15rem);
	margin: 4px 0 8px;
}

body.at-vnext-site .at-vnext-locamat-project p {
	margin-bottom: 0;
}

body.at-vnext-site .at-vnext-locamat-project .at-locamat-eyebrow {
	color: #d5edff !important;
	font-weight: 850;
	letter-spacing: .12em;
	margin: 0;
	text-transform: uppercase;
}

body.at-vnext-site .at-vnext-locamat-project .at-locamat-hero__actions {
	align-items: stretch;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	margin: 0;
}

body.at-vnext-site .at-vnext-locamat-project .at-locamat-button {
	min-height: 44px;
}

body.at-vnext-site .at-vnext-locamat-project .at-locamat-button--primary {
	color: #fff !important;
}

@media (max-width: 760px) {
	body.at-vnext-site .at-vnext-locamat-project {
		align-items: stretch;
		grid-template-columns: minmax(0, 1fr);
	}

	body.at-vnext-site .at-vnext-locamat-project .at-locamat-hero__actions {
		justify-content: flex-start;
	}

	body.at-vnext-site .at-vnext-locamat-project .at-locamat-button {
		flex: 1 1 220px;
		justify-content: center;
	}
}

/*
 * Post-install QA: preserve readable contrast on Locamat and remove the
 * redundant commercial reassurance rail from the dedicated Atout+ hero.
 */
body.at-vnext-site .at-locamat-hero :where(h1, p),
body.at-vnext-site .at-locamat-hero .at-page-location strong {
	color: #fff !important;
}

body.at-vnext-site .at-locamat-hero .at-page-location,
body.at-vnext-site .at-locamat-hero .at-page-location a {
	color: #d5edff !important;
}

body.at-vnext-site .at-locamat-hero .at-locamat-button--primary {
	color: #fff !important;
}

body.at-vnext-site.at-atout-plus-page .at-atoutplus-hero .at-commercial-trust {
	display: none !important;
}

body.at-vnext-site .at-commercial-trust__item :where(strong, small) {
	overflow-wrap: normal;
	word-break: normal;
}

/*
 * Product actions 1.9.16: one clear purchase action, one useful information
 * action, then two labelled secondary choices. The hierarchy is shared by
 * the catalogue and related-product cards.
 */
body.at-vnext-site :where(
	.at-catalog-products,
	.related.products,
	.upsells.products
) .at-product-card-actions {
	align-items: stretch;
	display: grid !important;
	gap: 8px !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	width: 100%;
}

body.at-vnext-site :where(
	.at-catalog-products,
	.related.products,
	.upsells.products
) .at-product-card-actions > :where(
	.at-card-purchase,
	.at-card-options,
	.at-card-purchase-link
) {
	grid-column: 1 / -1 !important;
	min-width: 0;
	width: 100% !important;
}

body.at-vnext-site :where(
	.at-catalog-products,
	.related.products,
	.upsells.products
) .at-card-purchase__row {
	align-items: center;
	display: grid;
	gap: 8px;
	grid-template-columns: minmax(0, 1fr) 132px;
	min-width: 0;
}

body.at-vnext-site :where(
	.at-catalog-products,
	.related.products,
	.upsells.products
) .at-card-purchase__row::before {
	color: var(--at-muted);
	content: "Quantité";
	font-size: 12px;
	font-weight: 800;
	grid-column: 1;
	grid-row: 1;
	line-height: 1.2;
}

body.at-vnext-site :where(
	.at-catalog-products,
	.related.products,
	.upsells.products
) .at-card-quantity {
	grid-column: 2;
	grid-row: 1;
	grid-template-columns: 44px minmax(44px, 1fr) 44px !important;
	width: 132px !important;
}

body.at-vnext-site :where(
	.at-catalog-products,
	.related.products,
	.upsells.products
) .at-card-quantity input.qty {
	min-width: 44px;
	width: 100% !important;
}

body.at-vnext-site :where(
	.at-catalog-products,
	.related.products,
	.upsells.products
) .at-card-add-button {
	font-size: 13px !important;
	grid-column: 1 / -1;
	grid-row: 2;
	min-height: 48px !important;
	white-space: nowrap;
}

body.at-vnext-site :where(
	.at-catalog-products,
	.related.products,
	.upsells.products
) .at-card-purchase-link {
	font-size: 13px !important;
	min-height: 48px !important;
}

body.at-vnext-site :where(
	.at-catalog-products,
	.related.products,
	.upsells.products
) .at-product-view {
	display: none !important;
}

body.at-vnext-site :where(
	.at-catalog-products,
	.related.products,
	.upsells.products
) .at-product-card-actions > :where(
	.at-product-card-whatsapp,
	.at-wishlist-button
) {
	align-items: center;
	border-radius: 9px;
	display: inline-flex;
	gap: 7px;
	height: 44px !important;
	justify-content: center;
	min-height: 44px !important;
	min-width: 0 !important;
	padding: 7px 9px !important;
	width: 100% !important;
}

body.at-vnext-site :where(
	.at-catalog-products,
	.related.products,
	.upsells.products
) .at-product-card-whatsapp {
	background: #0b6b43 !important;
	border: 1px solid #0b6b43 !important;
	color: #fff !important;
}

body.at-vnext-site :where(
	.at-catalog-products,
	.related.products,
	.upsells.products
) .at-wishlist-button {
	background: #fff !important;
	border: 1px solid var(--at-border) !important;
	color: var(--at-primary-deep) !important;
}

body.at-vnext-site :where(
	.at-catalog-products,
	.related.products,
	.upsells.products
) .at-wishlist-button.is-active {
	background: var(--at-danger-soft) !important;
	border-color: var(--at-danger) !important;
	color: var(--at-danger) !important;
}

body.at-vnext-site :where(
	.at-catalog-products,
	.related.products,
	.upsells.products
) .at-card-action-label {
	font-size: 12px;
	font-weight: 850;
	line-height: 1;
	white-space: nowrap;
}

@media (max-width: 480px) {
	body.at-vnext-site .at-catalog-products :where(
		.wc-block-product-template,
		ul.products
	),
	body.at-vnext-site :where(
		.related.products,
		.upsells.products
	) :where(
		.wc-block-product-template,
		ul.products
	) {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

/*
 * WooCommerce block themes render "Produits similaires" inside a Product
 * Collection rather than .related.products. Mirror the 1.9.16 hierarchy
 * without changing the main product purchase block.
 */
body.at-vnext-site.single-product .wp-block-woocommerce-product-collection .at-product-card-actions {
	align-items: stretch;
	display: grid !important;
	gap: 8px !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	width: 100%;
}

body.at-vnext-site.single-product .wp-block-woocommerce-product-collection .at-product-card-actions > :where(
	.at-card-purchase,
	.at-card-options,
	.at-card-purchase-link
) {
	grid-column: 1 / -1 !important;
	min-width: 0;
	width: 100% !important;
}

body.at-vnext-site.single-product .wp-block-woocommerce-product-collection .at-card-purchase__row {
	align-items: center;
	display: grid;
	gap: 8px;
	grid-template-columns: minmax(0, 1fr) 132px;
	min-width: 0;
}

body.at-vnext-site.single-product .wp-block-woocommerce-product-collection .at-card-purchase__row::before {
	color: var(--at-muted);
	content: "Quantité";
	font-size: 12px;
	font-weight: 800;
	grid-column: 1;
	grid-row: 1;
	line-height: 1.2;
}

body.at-vnext-site.single-product .wp-block-woocommerce-product-collection .at-card-quantity {
	grid-column: 2;
	grid-row: 1;
	grid-template-columns: 44px minmax(44px, 1fr) 44px !important;
	width: 132px !important;
}

body.at-vnext-site.single-product .wp-block-woocommerce-product-collection .at-card-quantity input.qty {
	min-width: 44px;
	width: 100% !important;
}

body.at-vnext-site.single-product .wp-block-woocommerce-product-collection .at-card-add-button,
body.at-vnext-site.single-product .wp-block-woocommerce-product-collection .at-card-purchase-link {
	font-size: 13px !important;
	min-height: 48px !important;
}

body.at-vnext-site.single-product .wp-block-woocommerce-product-collection .at-card-add-button {
	grid-column: 1 / -1;
	grid-row: 2;
	white-space: nowrap;
}

body.at-vnext-site.single-product .wp-block-woocommerce-product-collection .at-product-view {
	display: none !important;
}

body.at-vnext-site.single-product .wp-block-woocommerce-product-collection .at-product-card-actions > :where(
	.at-product-card-whatsapp,
	.at-wishlist-button
) {
	align-items: center;
	border-radius: 9px;
	display: inline-flex;
	gap: 7px;
	height: 44px !important;
	justify-content: center;
	min-height: 44px !important;
	min-width: 0 !important;
	padding: 7px 9px !important;
	width: 100% !important;
}

body.at-vnext-site.single-product .wp-block-woocommerce-product-collection .at-product-card-whatsapp {
	background: #0b6b43 !important;
	border: 1px solid #0b6b43 !important;
	color: #fff !important;
}

body.at-vnext-site.single-product .wp-block-woocommerce-product-collection .at-wishlist-button {
	background: #fff !important;
	border: 1px solid var(--at-border) !important;
	color: var(--at-primary-deep) !important;
}

body.at-vnext-site.single-product .wp-block-woocommerce-product-collection .at-wishlist-button.is-active {
	background: var(--at-danger-soft) !important;
	border-color: var(--at-danger) !important;
	color: var(--at-danger) !important;
}

body.at-vnext-site.single-product .wp-block-woocommerce-product-collection .at-card-action-label {
	font-size: 12px;
	font-weight: 850;
	line-height: 1;
	white-space: nowrap;
}

@media (max-width: 480px) {
	body.at-vnext-site.single-product .wp-block-woocommerce-product-collection :where(
		.wc-block-product-template,
		ul.products
	) {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		width: 100% !important;
	}

	body.at-vnext-site.single-product .wp-block-woocommerce-product-collection :where(
		.wc-block-product,
		li.product
	) {
		min-width: 0 !important;
		width: 100% !important;
	}
}

/*
 * Product cards 1.9.17: keep commercial information concise. Descriptions
 * remain available on the product page; cards retain stock and savings only.
 */
body.at-vnext-site :where(
	.at-catalog-products,
	.related.products,
	.upsells.products
) .at-product-card-details > small,
body.at-vnext-site.single-product .wp-block-woocommerce-product-collection .at-product-card-details > small {
	display: none !important;
}

body.at-vnext-site :where(
	.at-catalog-products,
	.related.products,
	.upsells.products
) .at-product-card-details,
body.at-vnext-site.single-product .wp-block-woocommerce-product-collection .at-product-card-details {
	height: auto !important;
	min-height: 0 !important;
}

/*
 * Product-card rhythm 1.9.17: remove the accumulated flex gap + child margins.
 * Keep one deliberate spacing scale so equal-height rows remain compact.
 */
body.at-vnext-site :where(
	.at-catalog-products,
	.related.products,
	.upsells.products
) :where(.wc-block-product, li.product),
body.at-vnext-site.single-product .wp-block-woocommerce-product-collection :where(
	.wc-block-product,
	li.product
) {
	gap: 0 !important;
	padding-bottom: 10px !important;
	padding-top: 10px !important;
}

body.at-vnext-site :where(
	.at-catalog-products,
	.related.products,
	.upsells.products
) .wc-block-components-product-image,
body.at-vnext-site.single-product .wp-block-woocommerce-product-collection .wc-block-components-product-image {
	margin-bottom: 4px !important;
}

body.at-vnext-site :where(
	.at-catalog-products,
	.related.products,
	.upsells.products
) .at-product-card-meta,
body.at-vnext-site.single-product .wp-block-woocommerce-product-collection .at-product-card-meta {
	margin-bottom: 0 !important;
	margin-top: 3px !important;
}

body.at-vnext-site :where(
	.at-catalog-products,
	.related.products,
	.upsells.products
) h3.wp-block-post-title,
body.at-vnext-site.single-product .wp-block-woocommerce-product-collection h3.wp-block-post-title {
	line-height: 1.28 !important;
	margin-bottom: 0 !important;
	margin-top: 4px !important;
}

body.at-vnext-site :where(
	.at-catalog-products,
	.related.products,
	.upsells.products
) .wp-block-woocommerce-product-price,
body.at-vnext-site.single-product .wp-block-woocommerce-product-collection .wp-block-woocommerce-product-price {
	margin-bottom: 0 !important;
	margin-top: 4px !important;
}

body.at-vnext-site :where(
	.at-catalog-products,
	.related.products,
	.upsells.products
) .at-product-card-details,
body.at-vnext-site.single-product .wp-block-woocommerce-product-collection .at-product-card-details {
	gap: 4px !important;
	margin-bottom: 0 !important;
	margin-top: 5px !important;
}

body.at-vnext-site :where(
	.at-catalog-products,
	.related.products,
	.upsells.products
) .at-product-card-actions,
body.at-vnext-site.single-product .wp-block-woocommerce-product-collection .at-product-card-actions {
	gap: 6px !important;
	margin-top: 8px !important;
}

body.at-vnext-site :where(
	.at-catalog-products,
	.related.products,
	.upsells.products
) .at-card-purchase__row,
body.at-vnext-site.single-product .wp-block-woocommerce-product-collection .at-card-purchase__row {
	gap: 6px !important;
}

/*
 * Homepage product carousels: image and title already link to the product.
 * Remove the duplicate CTA and let the content block use its natural height.
 */
body.at-vnext-site .at-v140-product-card__link {
	display: none !important;
}

body.at-vnext-site .at-v140-product-card__body {
	height: auto !important;
	min-height: 0 !important;
	padding-bottom: 12px !important;
	padding-top: 12px !important;
}

body.at-vnext-site .at-v140-product-card__body h3 {
	line-height: 1.28 !important;
	margin-bottom: 6px !important;
	margin-top: 0 !important;
}

body.at-vnext-site .at-v140-product-card__price {
	margin-bottom: 0 !important;
	margin-top: 0 !important;
}

/*
 * Site-wide product-card contract 1.9.17. Functional card classes make the
 * compact hierarchy independent from the page or WooCommerce container.
 */
body.at-vnext-site .at-product-card-actions {
	align-items: stretch;
	display: grid !important;
	gap: 6px !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	margin-top: 8px !important;
	width: 100%;
}

body.at-vnext-site .at-product-card-actions > :where(
	.at-card-purchase,
	.at-card-options,
	.at-card-purchase-link
) {
	grid-column: 1 / -1 !important;
	min-width: 0;
	width: 100% !important;
}

body.at-vnext-site .at-product-card-actions .at-card-purchase__row {
	align-items: center;
	display: grid;
	gap: 6px !important;
	grid-template-columns: minmax(0, 1fr) 132px;
	min-width: 0;
}

body.at-vnext-site .at-product-card-actions .at-card-purchase__row::before {
	color: var(--at-muted);
	content: "Quantité";
	font-size: 12px;
	font-weight: 800;
	grid-column: 1;
	grid-row: 1;
	line-height: 1.2;
}

body.at-vnext-site .at-product-card-actions .at-card-quantity {
	grid-column: 2;
	grid-row: 1;
	grid-template-columns: 44px minmax(44px, 1fr) 44px !important;
	width: 132px !important;
}

body.at-vnext-site .at-product-card-actions .at-card-quantity input.qty {
	min-width: 44px;
	width: 100% !important;
}

body.at-vnext-site .at-product-card-actions .at-card-add-button,
body.at-vnext-site .at-product-card-actions .at-card-purchase-link {
	font-size: 13px !important;
	min-height: 48px !important;
	width: 100% !important;
}

body.at-vnext-site .at-product-card-actions .at-card-add-button {
	grid-column: 1 / -1;
	grid-row: 2;
	white-space: nowrap;
}

body.at-vnext-site .at-product-card-actions .at-product-view {
	display: none !important;
}

body.at-vnext-site .at-product-card-actions > :where(
	.at-product-card-whatsapp,
	.at-wishlist-button
) {
	align-items: center;
	border-radius: 9px;
	display: inline-flex;
	gap: 7px;
	height: 44px !important;
	justify-content: center;
	min-height: 44px !important;
	min-width: 0 !important;
	padding: 7px 9px !important;
	width: 100% !important;
}

body.at-vnext-site .at-product-card-actions .at-product-card-whatsapp {
	background: #0b6b43 !important;
	border: 1px solid #0b6b43 !important;
	color: #fff !important;
}

body.at-vnext-site .at-product-card-actions .at-wishlist-button {
	background: #fff !important;
	border: 1px solid var(--at-border) !important;
	color: var(--at-primary-deep) !important;
}

body.at-vnext-site .at-product-card-actions .at-wishlist-button.is-active {
	background: var(--at-danger-soft) !important;
	border-color: var(--at-danger) !important;
	color: var(--at-danger) !important;
}

body.at-vnext-site .at-product-card-actions .at-card-action-label {
	font-size: 12px;
	font-weight: 850;
	line-height: 1;
	white-space: nowrap;
}

body.at-vnext-site .at-product-card-details > small {
	display: none !important;
}

body.at-vnext-site .at-product-card-details {
	gap: 4px !important;
	height: auto !important;
	margin-bottom: 0 !important;
	margin-top: 5px !important;
	min-height: 0 !important;
}

body.at-vnext-site :where(
	.wc-block-product,
	ul.products > li.product
) {
	gap: 0 !important;
	padding-bottom: 10px !important;
	padding-top: 10px !important;
}

body.at-vnext-site :where(
	.wc-block-product,
	ul.products > li.product
) .at-product-card-meta {
	margin-bottom: 0 !important;
	margin-top: 3px !important;
}

body.at-vnext-site :where(
	.wc-block-product,
	ul.products > li.product
) h3.wp-block-post-title {
	line-height: 1.28 !important;
	margin-bottom: 0 !important;
	margin-top: 4px !important;
}

body.at-vnext-site :where(
	.wc-block-product,
	ul.products > li.product
) .wp-block-woocommerce-product-price {
	margin-bottom: 0 !important;
	margin-top: 4px !important;
}

@media (max-width: 480px) {
	body.at-vnext-site :where(
		.wc-block-product-template,
		ul.products
	) {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		width: 100% !important;
	}

	body.at-vnext-site :where(
		.wc-block-product,
		ul.products > li.product
	) {
		min-width: 0 !important;
		width: 100% !important;
	}
}

/*
 * Site-wide vertical rhythm 1.9.17: product, service and contact pages.
 * Functional content stays auto-sized; only accumulated outer spacing is
 * normalized.
 */
body.at-vnext-site.at-copy-page .entry-content > h1.wp-block-heading {
	margin-top: 12px !important;
}

body.at-vnext-site.at-copy-page .at-copy-page-lead {
	margin-bottom: 24px !important;
	margin-top: 8px !important;
}

body.at-vnext-site.at-copy-page .at-commercial-trust {
	margin-bottom: 24px !important;
	margin-top: 24px !important;
}

body.at-vnext-site .at-commercial-closing {
	gap: 24px !important;
	margin-top: 48px !important;
	padding-bottom: 48px !important;
	padding-top: 48px !important;
}

body.at-vnext-site .at-lead-capture:not(.at-lead-capture--professional) {
	gap: 16px !important;
	margin-top: 20px !important;
	padding-bottom: 18px !important;
	padding-top: 18px !important;
}

body.at-vnext-site.single-product .at-single-product-shell {
	padding-bottom: 48px !important;
	padding-top: 28px !important;
}

body.at-vnext-site.single-product .at-product-main {
	column-gap: clamp(28px, 4vw, 48px) !important;
	margin-top: 12px !important;
}

body.at-vnext-site.single-product .at-commercial-trust--product {
	margin-bottom: 32px !important;
	margin-top: 32px !important;
}

body.at-vnext-site.single-product .wp-block-woocommerce-product-details {
	margin-top: 40px !important;
	padding-top: 24px !important;
}

body.at-vnext-site.single-product .wp-block-woocommerce-product-collection {
	margin-top: 32px !important;
}

body.at-vnext-site.at-pose-services-page .at-pose-hero {
	padding-bottom: 72px !important;
	padding-top: 72px !important;
}

body.at-vnext-site.at-pose-services-page .at-pose-section {
	padding-bottom: 64px !important;
	padding-top: 64px !important;
}

body.at-vnext-site.at-pose-services-page .at-pose-journey,
body.at-vnext-site.at-pose-services-page .at-pose-project {
	padding-bottom: 22px !important;
	padding-top: 22px !important;
}

body.at-vnext-site.at-pose-services-page .at-availability {
	padding-bottom: 24px !important;
	padding-top: 24px !important;
}

body.at-vnext-site.at-pose-services-page .at-trust {
	padding-bottom: 64px !important;
	padding-top: 64px !important;
}

body.at-vnext-site .at-locamat .at-locamat-hero {
	padding-bottom: 44px !important;
	padding-top: 44px !important;
}

body.at-vnext-site .at-locamat .at-locamat-process {
	margin-bottom: 32px !important;
	margin-top: 32px !important;
}

body.at-vnext-site .at-locamat .at-vnext-locamat-project {
	gap: 22px !important;
	margin-top: 32px !important;
	padding-bottom: 28px !important;
	padding-top: 28px !important;
}

/*
 * Corrections 1.9.18: Favorites follows the same compact action hierarchy as
 * catalogue cards, and Locamat selections remain visible in Projet 360.
 */
body.at-vnext-site .at-favorite-card .at-card-purchase__row {
	align-items: center;
	display: grid;
	gap: 6px;
	grid-template-columns: minmax(0, 1fr) 132px;
	min-width: 0;
}

body.at-vnext-site .at-favorite-card .at-card-purchase__row::before {
	color: var(--at-muted);
	content: "Quantité";
	font-size: 12px;
	font-weight: 800;
	grid-column: 1;
	grid-row: 1;
	line-height: 1.2;
}

body.at-vnext-site .at-favorite-card .at-card-quantity {
	grid-column: 2;
	grid-row: 1;
	grid-template-columns: 44px minmax(44px, 1fr) 44px !important;
	width: 132px !important;
}

body.at-vnext-site .at-favorite-card .at-card-add-button {
	grid-column: 1 / -1;
	grid-row: 2;
	min-height: 48px !important;
	width: 100% !important;
}

body.at-vnext-site .at-favorite-card__actions {
	display: grid !important;
	gap: 6px !important;
	grid-template-columns: minmax(0, 1fr) !important;
	width: 100%;
}

body.at-vnext-site .at-favorite-card__actions .at-secondary-button {
	display: none !important;
}

body.at-vnext-site .at-favorite-card__actions .at-wishlist-button {
	align-items: center;
	display: inline-flex;
	gap: 7px;
	justify-content: center;
	min-height: 44px !important;
	width: 100% !important;
}

body.at-vnext-site .atp360-locamat-selection {
	align-items: center;
	background: #eef8f5;
	border: 1px solid #b9ddd2;
	border-left: 4px solid #0b6b43;
	border-radius: 12px;
	display: flex;
	margin: 16px 0 24px;
	padding: 16px 18px;
}

body.at-vnext-site .atp360-locamat-selection div {
	display: grid;
	gap: 3px;
}

body.at-vnext-site .atp360-locamat-selection span {
	color: #0b6b43;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .12em;
}

body.at-vnext-site .atp360-locamat-selection strong {
	color: var(--at-primary-deep);
	font-size: 16px;
}

body.at-vnext-site .atp360-locamat-selection small {
	color: var(--at-muted);
	font-size: 13px;
	line-height: 1.45;
}

@media (max-width: 480px) {
	body.at-vnext-site .at-favorites__grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	body.at-vnext-site .at-favorite-card {
		min-width: 0 !important;
		width: 100% !important;
	}
}

@media (max-width: 782px) {
	body.at-vnext-site .at-commercial-closing {
		gap: 20px !important;
		margin-top: 36px !important;
		padding-bottom: 36px !important;
		padding-top: 36px !important;
	}

	body.at-vnext-site.at-copy-page .at-commercial-trust {
		margin-bottom: 20px !important;
		margin-top: 20px !important;
	}

	body.at-vnext-site.at-pose-services-page .at-pose-hero {
		padding-bottom: 48px !important;
		padding-top: 48px !important;
	}

	body.at-vnext-site.at-pose-services-page .at-pose-section,
	body.at-vnext-site.at-pose-services-page .at-trust {
		padding-bottom: 44px !important;
		padding-top: 44px !important;
	}

	body.at-vnext-site .at-locamat .at-locamat-hero {
		padding-bottom: 36px !important;
		padding-top: 36px !important;
	}
}

/*
 * Navigation et accueil 1.9.19: Locamat rejoint le carrousel principal et
 * les sous-univers du catalogue deviennent un volet contextuel compact.
 */
body.at-vnext-site .at-v140-hero__slide--locamat {
	--hero:
		radial-gradient(circle at 83% 44%, rgba(255, 163, 45, .32) 0 8%, transparent 8.5%),
		radial-gradient(circle at 83% 44%, transparent 0 19%, rgba(255, 255, 255, .13) 19.5% 20%, transparent 20.5%),
		repeating-linear-gradient(0deg, transparent 0 47px, rgba(255, 255, 255, .055) 48px 49px),
		repeating-linear-gradient(90deg, transparent 0 47px, rgba(255, 255, 255, .055) 48px 49px),
		linear-gradient(120deg, #05263f 0%, #063a61 58%, #0870a6 100%);
}

body.at-vnext-site .at-v140-hero__slide--locamat .at-v140-hero__shade {
	background: linear-gradient(90deg, rgba(3, 25, 42, .96) 0%, rgba(3, 32, 53, .82) 46%, rgba(3, 32, 53, .18) 78%, rgba(3, 32, 53, .08) 100%);
}

body.at-vnext-site .at-v140-hero__slide--locamat .at-v140-kicker {
	color: #ffb04a;
}

body.at-vnext-site .at-v140-hero__slide--locamat .at-v150-hero-copy {
	max-width: 760px;
}

/*
 * Navigation 1.9.20: the commercial selection remains horizontal. Desktop
 * universes form a vertical index; sub-universes live in a separate right pane.
 */
@media (min-width: 901px) {
	body.at-vnext-site .at-mega-menu__panel--illustrated:not([hidden]) {
		max-height: calc(100dvh - 208px) !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
	}

	body.at-vnext-site .at-mega-menu__grid--illustrated.at-vnext-universe-index {
		align-items: stretch !important;
		display: flex !important;
		flex-direction: column !important;
		gap: 4px !important;
		height: 464px !important;
		min-height: 464px !important;
		padding-right: 68% !important;
		position: relative !important;
	}

	body.at-vnext-site .at-mega-menu__grid--illustrated.at-vnext-universe-index > .at-mega-menu__column--illustrated {
		flex: 0 0 48px !important;
		height: 48px !important;
		margin: 0 !important;
		min-height: 48px !important;
		overflow: visible !important;
		padding: 0 !important;
		position: static !important;
		width: auto !important;
	}

	body.at-vnext-site .at-mega-menu__grid--illustrated.at-vnext-universe-index > .at-mega-menu__column--illustrated > .at-mega-menu__heading--illustrated {
		align-items: center !important;
		background: #fff !important;
		border: 1px solid transparent !important;
		border-radius: 9px !important;
		display: grid !important;
		gap: 9px !important;
		grid-template-columns: 36px minmax(0, 1fr) 18px !important;
		height: 48px !important;
		margin: 0 !important;
		min-height: 48px !important;
		padding: 4px 8px !important;
		width: 100% !important;
	}

	body.at-vnext-site .at-mega-menu__grid--illustrated.at-vnext-universe-index > .at-mega-menu__column--illustrated > .at-mega-menu__heading--illustrated::after {
		color: #0b5d8f;
		content: "›";
		font-size: 23px;
		font-weight: 800;
		line-height: 1;
	}

	body.at-vnext-site .at-mega-menu__grid--illustrated.at-vnext-universe-index .at-mega-menu__heading--illustrated .at-mega-menu__visual {
		height: 34px !important;
		min-height: 34px !important;
		width: 34px !important;
	}

	body.at-vnext-site .at-mega-menu__grid--illustrated.at-vnext-universe-index .at-mega-menu__heading--illustrated .at-mega-menu__visual img {
		height: 100% !important;
		object-fit: cover;
		width: 100% !important;
	}

	body.at-vnext-site .at-mega-menu__grid--illustrated.at-vnext-universe-index .at-mega-menu__heading--illustrated .at-mega-menu__label {
		align-items: center !important;
		display: flex !important;
		min-width: 0;
	}

	body.at-vnext-site .at-mega-menu__grid--illustrated.at-vnext-universe-index .at-mega-menu__heading--illustrated .at-mega-menu__label strong {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	body.at-vnext-site .at-mega-menu__grid--illustrated.at-vnext-universe-index .at-mega-menu__heading--illustrated .at-mega-menu__label small {
		display: none !important;
	}

	body.at-vnext-site .at-mega-menu__grid--illustrated.at-vnext-universe-index > .at-mega-menu__column--illustrated:is(:hover, :focus-within, .is-vnext-active) > .at-mega-menu__heading--illustrated {
		background: #eef7fb !important;
		border-color: #74abc8 !important;
		color: #063a61 !important;
	}

	body.at-vnext-site .at-vnext-universe-detail {
		background: linear-gradient(135deg, #f7fafc, #eef5f8);
		border: 1px solid #c3d4dc;
		border-radius: 12px;
		inset: 0 0 0 32%;
		overflow: hidden;
		position: absolute;
	}

	body.at-vnext-site .at-vnext-universe-detail__placeholder {
		align-items: center;
		color: var(--at-muted);
		display: flex;
		font-size: 14px;
		font-weight: 700;
		height: 100%;
		justify-content: center;
		line-height: 1.5;
		margin: 0 !important;
		padding: 32px;
		text-align: center;
	}

	body.at-vnext-site .at-vnext-universe-detail.has-active .at-vnext-universe-detail__placeholder {
		display: none;
	}

	body.at-vnext-site .at-vnext-universe-detail > .at-mega-menu__category-list--depth-0 {
		align-content: start !important;
		background: #fff !important;
		border: 0 !important;
		border-left: 4px solid #0b5d8f !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		gap: 8px 12px !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		height: 100% !important;
		inset: auto !important;
		margin: 0 !important;
		max-height: none !important;
		overflow: auto !important;
		padding: 14px 16px !important;
		position: static !important;
		width: 100% !important;
	}

	body.at-vnext-site .at-vnext-universe-detail > .at-mega-menu__category-list--depth-0[hidden] {
		display: none !important;
	}

	body.at-vnext-site .at-vnext-universe-detail > .at-mega-menu__category-list--depth-0:not([hidden]) {
		display: grid !important;
	}

	body.at-vnext-site .at-vnext-universe-detail > .at-mega-menu__category-list--depth-0 > .at-mega-menu__family {
		min-width: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.at-vnext-site *,
	body.at-vnext-site *::before,
	body.at-vnext-site *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}
