/*
Theme Name: NEO Peptides Lab
Author: NEO Peptides Lab
Description: Thème WordPress premium et responsive pour NEO Peptides Lab.
Version: 1.0.0
Text Domain: neopeptides
Requires at least: 6.0
Requires PHP: 7.4
*/

:root {
	--neo-ink: #050f16;
	--neo-ink-2: #0b1d2a;
	--neo-night: #081a29;
	--neo-cyan: #2fe5ea;
	--neo-cyan-soft: rgba(47, 229, 234, 0.15);
	--neo-cyan-deep: #12bfd3;
	--neo-white: #edf5f7;
	--neo-mist: #d7e4ea;
	--neo-steel: #8fa5af;
	--neo-line: rgba(143, 165, 175, 0.22);
	--neo-shadow: 0 32px 80px rgba(1, 15, 21, 0.32);
	--neo-container: 1380px;
	--neo-container-narrow: 1040px;
	--neo-gutter: 28px;
	--neo-space-xs: 8px;
	--neo-space-sm: 16px;
	--neo-space-md: 24px;
	--neo-space-lg: 32px;
	--neo-space-xl: 48px;
	--neo-space-2xl: 64px;
	--neo-space-3xl: 96px;
	--neo-radius: 18px;
	--neo-display: "Avenir Next", "Segoe UI", sans-serif;
	--neo-body: "Segoe UI", Helvetica, Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	color: var(--neo-white);
	background: #071821;
	font-family: var(--neo-body);
	font-size: 16px;
	line-height: 1.6;
	overflow-x: hidden;
}
img { display: block; height: auto; max-width: 100%; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--neo-cyan); }
button, input, select, textarea { font: inherit; }
.container {
	margin: 0 auto;
	padding: 0 28px;
	width: min(100% - 48px, var(--neo-container));
}

.container--narrow {
	width: min(100% - 48px, var(--neo-container-narrow));
}
.screen-reader-text { clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
.screen-reader-text:focus { background: var(--neo-cyan); clip: auto; clip-path: none; color: var(--neo-ink); height: auto; left: 12px; padding: 10px 14px; top: 12px; width: auto; z-index: 100000; }
.site-main { min-height: 52vh; }

.neo-paygate-notice {
	background: linear-gradient(135deg, rgba(47, 229, 234, 0.13), rgba(8, 26, 41, 0.92));
	border: 1px solid rgba(47, 229, 234, 0.58);
	border-left: 4px solid var(--neo-cyan);
	border-radius: 12px;
	box-shadow: 0 14px 34px rgba(1, 15, 21, 0.22);
	color: var(--neo-mist);
	font-size: 0.91rem;
	line-height: 1.55;
	margin: 14px 0 4px;
	padding: 18px 20px 16px;
}

.neo-paygate-notice p { margin: 0 0 11px; }
.neo-paygate-notice p:last-child { margin-bottom: 0; }
.neo-paygate-notice__title { color: var(--neo-white); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.11em; }
.neo-paygate-notice strong { color: var(--neo-white); }
.neo-paygate-notice a { color: var(--neo-cyan); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.neo-paygate-notice__badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 5px 0 12px; }
.neo-paygate-notice__badges span { background: var(--neo-cyan); border-radius: 5px; color: var(--neo-ink); font-size: 0.72rem; font-weight: 900; letter-spacing: 0.12em; line-height: 1; padding: 9px 11px; }
.neo-paygate-notice__priority { color: var(--neo-cyan); font-weight: 700; }

@media (max-width: 640px) {
	.neo-paygate-notice { font-size: 0.88rem; padding: 16px 15px 14px; }
	.neo-paygate-notice__title { font-size: 0.72rem; line-height: 1.4; }
}

.neo-checkout-professional-confirmation {
	background: rgba(10, 22, 31, 0.8);
	border: 1px solid var(--neo-line);
	border-radius: 14px;
	margin: 20px 0 12px;
	padding: 18px 18px 14px;
}

.neo-checkout-professional-confirmation__label {
	align-items: flex-start;
	color: var(--neo-white);
	cursor: pointer;
	display: flex;
	gap: 14px;
	line-height: 1.7;
	margin: 0;
}

.neo-checkout-professional-confirmation__label input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	background: rgba(5, 15, 22, 0.8);
	border: 1px solid rgba(47, 229, 234, 0.7);
	border-radius: 6px;
	cursor: pointer;
	flex-shrink: 0;
	height: 22px;
	margin-top: 4px;
	position: relative;
	width: 22px;
}

.neo-checkout-professional-confirmation__label input[type="checkbox"]:checked {
	background: var(--neo-cyan);
	border-color: var(--neo-cyan);
	box-shadow: 0 0 0 4px rgba(47, 229, 234, 0.12);
}

.neo-checkout-professional-confirmation__label input[type="checkbox"]:checked::after {
	border: solid #04161f;
	border-width: 0 2px 2px 0;
	content: "";
	height: 12px;
	left: 7px;
	position: absolute;
	top: 2px;
	transform: rotate(45deg);
	width: 6px;
}

.neo-checkout-professional-confirmation__label span {
	color: var(--neo-mist);
	font-size: 0.96rem;
}

@media (max-width: 640px) {
	.neo-checkout-professional-confirmation {
		padding: 16px 14px 12px;
	}

	.neo-checkout-professional-confirmation__label {
		gap: 12px;
	}

	.neo-checkout-professional-confirmation__label span {
		font-size: 0.9rem;
	}
}

.neo-checkout-addons {
	background: rgba(10, 22, 31, 0.6);
	border: 1px solid var(--neo-line);
	border-radius: 10px;
	margin: 10px 0;
	padding: 10px 12px;
}

.neo-checkout-addons__option {
	align-items: flex-start;
	color: var(--neo-white);
	cursor: pointer;
	display: flex;
	gap: 10px;
	line-height: 1.35;
	margin: 0 0 8px;
}

.neo-checkout-addons__option:last-child {
	margin-bottom: 0;
}

.neo-checkout-addons__checkbox {
	appearance: none;
	-webkit-appearance: none;
	background: rgba(5, 15, 22, 0.8);
	border: 1px solid rgba(47, 229, 234, 0.7);
	border-radius: 5px;
	cursor: pointer;
	flex-shrink: 0;
	height: 18px;
	margin-top: 1px;
	position: relative;
	width: 18px;
}

.neo-checkout-addons__checkbox:checked {
	background: var(--neo-cyan);
	border-color: var(--neo-cyan);
	box-shadow: 0 0 0 3px rgba(47, 229, 234, 0.12);
}

.neo-checkout-addons__checkbox:checked::after {
	border: solid #04161f;
	border-width: 0 2px 2px 0;
	content: "";
	height: 10px;
	left: 6px;
	position: absolute;
	top: 1px;
	transform: rotate(45deg);
	width: 5px;
}

.neo-checkout-addons__content {
	display: flex;
	flex-direction: column;
	gap: 1px;
}

.neo-checkout-addons__label {
	color: var(--neo-white);
	font-size: 0.86rem;
	font-weight: 700;
}

.neo-checkout-addons__desc {
	color: var(--neo-mist);
	font-size: 0.76rem;
	line-height: 1.35;
}

@media (max-width: 640px) {
	.neo-checkout-addons__label {
		font-size: 0.82rem;
	}

	.neo-checkout-addons__desc {
		font-size: 0.74rem;
	}
}

.neo-bacs-checkout-details {
	margin-top: 14px !important;
}

/* Coordonnées bancaires BACS (Wise) : carte compacte et centrée sur la page de confirmation */
.woocommerce-bacs-bank-details {
	background: rgba(5, 15, 22, 0.55);
	border: 1px solid rgba(47, 229, 234, 0.22);
	border-radius: 14px;
	margin: 20px auto;
	max-width: 460px;
	padding: 20px 24px;
	text-align: left;
}

.woocommerce-bacs-bank-details .wc-bacs-bank-details-heading {
	color: var(--neo-white);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin: 0 0 14px;
	text-align: center;
	text-transform: uppercase;
}

.woocommerce-bacs-bank-details p {
	color: var(--neo-mist);
	font-size: 0.86rem;
	line-height: 1.5;
	margin: 0 0 10px;
}

.woocommerce-bacs-bank-details p:last-child {
	margin-bottom: 0;
}

.woocommerce-bacs-bank-details p strong {
	color: var(--neo-white);
}

.neo-bacs-row {
	align-items: baseline;
	display: flex;
	gap: 10px;
	margin-bottom: 8px !important;
}

.neo-bacs-row__text {
	flex: 1 1 auto;
	min-width: 0;
}

.neo-bacs-row__label {
	color: rgba(223, 234, 240, 0.6);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.neo-bacs-row__value {
	color: var(--neo-white);
	font-weight: 600;
}

.neo-bacs-row--amount {
	border-top: 1px solid rgba(143, 165, 175, 0.16);
	margin-top: 4px;
	padding-top: 12px;
}

.neo-bacs-row--amount .neo-bacs-row__value {
	color: var(--neo-cyan);
	font-size: 1.05rem;
	font-weight: 800;
}

.neo-bacs-reference__note {
	color: rgba(223, 234, 240, 0.68);
	font-size: 0.78rem;
	line-height: 1.55;
	margin-top: 10px;
}

/* Bloc « Paiement via Telegram » (page de confirmation) — plus spacieux que la carte
   bancaire compacte, car il ne contient que 2-3 éléments et doit rester bien lisible. */
.neo-telegram-reference {
	max-width: 520px;
	padding: 26px 30px;
	text-align: center;
}

.neo-telegram-reference__heading {
	font-size: 0.86rem !important;
	margin-bottom: 16px !important;
}

.neo-telegram-intro {
	color: var(--neo-white);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;
	margin: 0 0 16px !important;
}

.neo-telegram-message {
	align-items: center;
	background: rgba(47, 229, 234, 0.06);
	border: 1px solid rgba(143, 165, 175, 0.18);
	border-radius: 10px;
	display: flex;
	gap: 12px;
	margin: 0 0 20px !important;
	padding: 16px 18px;
	text-align: left;
}

.neo-telegram-message__text {
	color: var(--neo-white);
	flex: 1 1 auto;
	font-size: 0.98rem;
	font-style: italic;
	line-height: 1.6;
}

.neo-telegram-cta {
	margin: 0 0 16px !important;
	text-align: center;
}

.neo-telegram-btn {
	align-items: center;
	background: linear-gradient(135deg, var(--neo-cyan) 0%, #12bfd3 100%);
	border-radius: 10px;
	color: #04161f !important;
	display: inline-flex;
	font-size: 0.96rem;
	font-weight: 800;
	gap: 9px;
	justify-content: center;
	padding: 12px 26px;
	text-decoration: none !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.neo-telegram-btn__icon {
	flex-shrink: 0;
}

.neo-telegram-btn:hover {
	box-shadow: 0 10px 24px rgba(47, 229, 234, 0.35);
	transform: translateY(-2px);
}

.neo-telegram-outro {
	color: rgba(223, 234, 240, 0.68);
	font-size: 0.86rem;
	line-height: 1.5;
	margin: 0 !important;
}

@media (max-width: 640px) {
	.woocommerce-bacs-bank-details {
		max-width: 100%;
		padding: 16px 16px;
	}

	.neo-bacs-row {
		column-gap: 5px;
	}

	.neo-telegram-reference {
		padding: 22px 18px;
	}

	.neo-telegram-intro {
		font-size: 0.96rem;
	}

	.neo-telegram-message {
		flex-direction: column;
		align-items: flex-start;
	}

	.neo-telegram-message__text {
		font-size: 0.94rem;
	}

	.neo-telegram-btn {
		width: 100%;
	}
}

/* Boutons de copie individuels (coordonnées Wise, numéro de commande) */
.neo-bacs-row .neo-copy-btn {
	flex-shrink: 0;
}

.neo-copy-btn {
	align-items: center;
	background: rgba(47, 229, 234, 0.1);
	border: 1px solid rgba(47, 229, 234, 0.35);
	border-radius: 6px;
	color: var(--neo-cyan);
	cursor: pointer;
	display: inline-flex;
	font-size: 0.72rem;
	font-weight: 700;
	height: 24px;
	justify-content: center;
	line-height: 1;
	padding: 0 7px;
	transition: background 0.15s ease, border-color 0.15s ease;
	white-space: nowrap;
}

.neo-copy-btn:hover {
	background: rgba(47, 229, 234, 0.2);
	border-color: var(--neo-cyan);
}

.neo-copy-btn--copied {
	background: rgba(47, 229, 234, 0.28);
	border-color: var(--neo-cyan);
	color: var(--neo-white);
}

.neo-copy-btn__icon {
	align-items: center;
	display: inline-flex;
}

.neo-copy-btn__icon svg {
	display: block;
	height: 14px;
	width: 14px;
}

.neo-telegram-message .neo-copy-btn {
	flex-shrink: 0;
	height: 30px;
	padding: 0 10px;
}

.neo-telegram-message .neo-copy-btn__icon svg {
	height: 16px;
	width: 16px;
}

.neo-copy-btn__copied {
	display: none;
}

.neo-copy-btn--copied .neo-copy-btn__icon {
	display: none;
}

.neo-copy-btn--copied .neo-copy-btn__copied {
	display: inline-flex;
	white-space: nowrap;
}



.eyebrow {
	color: var(--neo-cyan);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.18em;
	margin: 0 0 18px;
	text-transform: uppercase;
}

h1, h2, h3, h4 {
	font-family: var(--neo-display);
	line-height: 0.96;
	margin: 0;
}

h1 { font-size: clamp(3.6rem, 5vw, 7.2rem); }
h2 { font-size: clamp(2.4rem, 3.2vw, 4rem); }
h3 { font-size: 1.5rem; }

.button,
button,
input[type="submit"],
.wp-element-button {
	border: 1px solid transparent;
	border-radius: 12px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	letter-spacing: 0.02em;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.button:hover,
button:hover,
input[type="submit"]:hover,
.wp-element-button:hover {
	transform: translateY(-2px);
}

.site-header {
	background: rgba(5, 15, 22, 0.96);
	border-bottom: 1px solid var(--neo-line);
	position: relative;
	z-index: 20;
}

.neo-launch-promo {
	align-items: center;
	background: linear-gradient(90deg, rgba(5, 15, 22, 0.98), rgba(8, 28, 37, 0.98), rgba(5, 15, 22, 0.98));
	border-bottom: 1px solid rgba(47, 229, 234, 0.45);
	color: var(--neo-white);
	display: flex;
	justify-content: center;
	min-height: 74px;
	padding: 9px 52px 9px 20px;
	position: relative;
	text-align: center;
	z-index: 21;
}

.neo-launch-promo[hidden] { display: none; }

.neo-launch-promo__inner {
	align-items: center;
	display: flex;
	gap: 0;
	justify-content: center;
	max-width: 1060px;
	width: 100%;
}

.neo-launch-promo__context,
.neo-launch-promo__offer,
.neo-launch-promo__details { min-width: 0; padding: 0 28px; }

.neo-launch-promo__context { flex: 1 1 0; text-align: left; }
.neo-launch-promo__offer { border-left: 1px solid rgba(223, 234, 240, 0.22); border-right: 1px solid rgba(223, 234, 240, 0.22); box-sizing: border-box; flex: 0 0 390px; left: 50%; position: absolute; transform: translateX(-50%); width: 390px; }
.neo-launch-promo__details { flex: 1 1 0; text-align: center; }
.neo-launch-promo__context { padding-right: 220px; }
.neo-launch-promo__details { padding-left: 220px; }
.neo-launch-promo__offer { z-index: 1; }
.neo-launch-promo__offer::before,
.neo-launch-promo__offer::after { content: ''; position: absolute; top: 50%; width: 1px; height: 26px; background: rgba(223, 234, 240, 0.22); transform: translateY(-50%); }
.neo-launch-promo__offer::before { left: -1px; }
.neo-launch-promo__offer::after { right: -1px; }

.neo-launch-promo__eyebrow,
.neo-launch-promo__period,
.neo-launch-promo__offer-label,
.neo-launch-promo__offer strong,
.neo-launch-promo__products { margin: 0; }

.neo-launch-promo__eyebrow {
	color: var(--neo-cyan);
	font-size: 0.64rem;
	font-weight: 700;
	letter-spacing: 0.17em;
}

.neo-launch-promo__period {
	color: var(--neo-mist);
	font-size: 0.8rem;
	font-style: italic;
	font-weight: 500;
	margin-top: 3px;
}

.neo-launch-promo__offer-label {
	color: var(--neo-mist);
	display: block;
	font-size: 0.58rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	margin-bottom: 3px;
}

.neo-launch-promo__offer strong {
	color: var(--neo-cyan);
	display: block;
	font-size: 1.18rem;
	font-weight: 800;
	letter-spacing: 0.09em;
}

	.neo-launch-promo__products { align-items: center; display: flex; gap: 9px; justify-content: center; }
	.neo-launch-promo__details-title { color: var(--neo-cyan); font-size: 0.58rem; font-weight: 800; letter-spacing: 0.16em; margin: 0 0 6px; }
	.neo-launch-promo__product { align-items: center; color: var(--neo-white); display: inline-flex; font-size: 0.74rem; font-weight: 700; gap: 8px; letter-spacing: 0.04em; }
	.neo-launch-promo__product b { border-left: 1px solid rgba(47, 229, 234, 0.45); color: var(--neo-cyan); font-size: 0.7rem; padding-left: 8px; }

.neo-launch-promo__plus { color: var(--neo-cyan); }

.neo-launch-promo__close {
	align-items: center;
	background: transparent;
	border: 0;
	color: var(--neo-mist);
	display: inline-flex;
	height: 32px;
	justify-content: center;
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	width: 32px;
}

.neo-launch-promo__close:hover,
.neo-launch-promo__close:focus-visible { color: var(--neo-cyan); }

.neo-launch-gift-row td { background: rgba(47, 229, 234, 0.04); }
.neo-launch-gift-label {
	border: 1px solid rgba(47, 229, 234, 0.6);
	color: var(--neo-cyan);
	display: inline-block;
	font-size: 0.68em;
	font-weight: 800;
	letter-spacing: 0.08em;
	margin-left: 8px;
	padding: 2px 6px;
}
.neo-launch-gift-quantity { color: var(--neo-mist); }

.neo-weekly-banner {
	align-items: center;
	background: linear-gradient(90deg, rgba(5, 15, 22, 0.98), rgba(8, 28, 37, 0.98), rgba(5, 15, 22, 0.98));
	border-bottom: 1px solid rgba(47, 229, 234, 0.35);
	color: var(--neo-white);
	display: flex;
	justify-content: center;
	min-height: 60px;
	padding: 10px 52px 10px 20px;
	position: relative;
	text-align: center;
	z-index: 21;
}

.neo-weekly-banner[hidden] { display: none; }

.neo-weekly-banner__inner { max-width: 1060px; width: 100%; }
.neo-weekly-banner__title { color: var(--neo-cyan); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.12em; margin: 0 0 3px; text-transform: uppercase; }
.neo-weekly-banner__text { color: var(--neo-mist); font-size: 0.86rem; line-height: 1.4; margin: 0; }
.neo-weekly-banner__link { color: var(--neo-cyan); display: inline-block; font-size: 0.78rem; font-weight: 700; margin-top: 4px; text-decoration: underline; text-underline-offset: 3px; }
.neo-weekly-banner__close { align-items: center; background: transparent; border: 0; color: var(--neo-mist); display: inline-flex; height: 32px; justify-content: center; position: absolute; right: 14px; top: 50%; transform: translateY(-50%); width: 32px; }
.neo-weekly-banner__close:hover,
.neo-weekly-banner__close:focus-visible { color: var(--neo-cyan); }

@media (max-width: 700px) {
	.neo-launch-promo { min-height: 72px; padding: 7px 40px 7px 8px; }
	.neo-launch-promo__inner { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; line-height: 1.2; padding-top: 36px; width: 100%; }
	.neo-launch-promo__context,
	.neo-launch-promo__offer,
	.neo-launch-promo__details { padding: 0 8px; }
	.neo-launch-promo__context { grid-column: 1; grid-row: 2; text-align: center; }
	.neo-launch-promo__offer { border-left: 0; border-right: 0; grid-column: 1 / -1; grid-row: 1; left: 50%; position: absolute; text-align: center; top: 8px; transform: translateX(-50%); width: calc(100vw - 20px); }
	.neo-launch-promo__offer::after { display: none; }
	.neo-launch-promo__details { border-left: 1px solid rgba(223, 234, 240, 0.16); grid-column: 2; grid-row: 2; margin-top: 7px; padding-top: 6px; text-align: center; }
	.neo-launch-promo__eyebrow { font-size: 0.52rem; letter-spacing: 0.09em; }
	.neo-launch-promo__period { font-size: 0.66rem; margin-top: 3px; }
	.neo-launch-promo__offer-label { font-size: 0.49rem; letter-spacing: 0.1em; }
	.neo-launch-promo__offer strong { font-size: 0.82rem; letter-spacing: 0.06em; }
	.neo-launch-promo__products { gap: 7px; }
	.neo-launch-promo__details-title { font-size: 0.49rem; letter-spacing: 0.1em; margin-bottom: 4px; }
	.neo-launch-promo__product { font-size: 0.62rem; letter-spacing: 0.03em; white-space: nowrap; }
	.neo-launch-promo__product b { font-size: 0.61rem; padding-left: 6px; }
	.neo-weekly-banner { min-height: 56px; padding: 9px 42px 9px 10px; }
	.neo-weekly-banner__title { font-size: 0.61rem; letter-spacing: 0.08em; }
	.neo-weekly-banner__text { font-size: 0.76rem; }
	.neo-weekly-banner__link { font-size: 0.72rem; }
}


.site-header__inner {
	align-items: center;
	display: flex;
	gap: 18px;
	min-height: 86px;
	position: relative;
}

.site-header__mobile-actions { display: none; }

.site-brand {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	line-height: 1;
	padding: 12px 0 10px;
	white-space: nowrap;
}

.site-brand__wordmark {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.14em;
	font-size: clamp(1.5rem, 1.9vw, 2.5rem);
	font-weight: 900;
	letter-spacing: -0.05em;
	text-transform: uppercase;
}

.site-brand__neopeptides { color: var(--neo-white); }
.site-brand__lab { color: var(--neo-cyan); }

.site-brand__baseline {
	color: rgba(223, 234, 240, 0.7);
	font-size: 0.48rem;
	font-weight: 700;
	letter-spacing: 0.22em;
	margin-top: 10px;
	text-transform: uppercase;
}

.primary-nav {
	margin-left: auto;
}

.primary-menu {
	display: flex;
	align-items: center;
	gap: clamp(0.6rem, 1.15vw, 2rem);
	list-style: none;
	margin: 0;
	padding: 0;
}

.primary-menu li {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

.primary-menu a {
	color: rgba(223, 234, 240, 0.76);
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	transition: color 0.2s ease;
	white-space: nowrap;
}

.primary-menu a:hover,
.primary-menu a:focus { color: var(--neo-cyan); }

.header-cart a {
	align-items: center;
	display: inline-flex;
	gap: 8px;
	padding-left: 12px;
	position: relative;
}

.header-cart__icon {
	fill: none;
	height: 20px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
	width: 20px;
}

.cart-count {
	align-items: center;
	background: var(--neo-cyan);
	border-radius: 999px;
	color: var(--neo-ink);
	display: inline-flex;
	font-size: 0.59rem;
	font-weight: 800;
	height: 20px;
	justify-content: center;
	min-width: 20px;
	padding: 0 6px;
}

.menu-toggle {
	background: transparent;
	border: 0;
	display: none;
	padding: 8px;
}

.neo-search { position: relative; }
.neo-search__suggestions {
	background: rgba(6, 17, 24, 0.98);
	border: 1px solid rgba(47, 229, 234, 0.42);
	border-radius: 10px;
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
	left: 0;
	min-width: 100%;
	padding: 6px;
	position: absolute;
	top: calc(100% + 8px);
	z-index: 80;
}
.neo-search__suggestions[hidden] { display: none; }
.neo-search__suggestions a { border-radius: 6px; color: var(--neo-mist); display: block; font-size: 0.78rem; padding: 9px 10px; }
.neo-search__suggestions a:hover,
.neo-search__suggestions a:focus-visible { background: var(--neo-cyan-soft); color: var(--neo-cyan); outline: 0; }

.menu-toggle span:not(.screen-reader-text) {
	background: var(--neo-cyan);
	display: block;
	height: 2px;
	margin: 4px 0;
	width: 22px;
}

/* Sélecteur de langue discret (TranslatePress) — bouton texte minimal "FR ▾" + menu déroulant. */
.neo-lang-switcher {
	flex-shrink: 0;
	margin-left: 2px;
	position: relative;
}

.neo-lang-switcher__toggle {
	align-items: center;
	background: transparent;
	border: 1px solid transparent;
	border-radius: 999px;
	color: rgba(223, 234, 240, 0.76);
	display: inline-flex;
	font-size: 0.68rem;
	font-weight: 700;
	gap: 5px;
	letter-spacing: 0.05em;
	padding: 6px 8px;
	text-transform: uppercase;
	transition: border-color 0.2s ease, color 0.2s ease;
	white-space: nowrap;
}

.neo-lang-switcher__toggle:hover,
.neo-lang-switcher__toggle:focus-visible {
	border-color: rgba(47, 229, 234, 0.3);
	color: var(--neo-cyan);
	outline: 0;
}

.neo-lang-switcher__chevron {
	transition: transform 0.2s ease;
}

.neo-lang-switcher.is-open .neo-lang-switcher__chevron {
	transform: rotate(180deg);
}

.neo-lang-switcher__menu {
	background: rgba(6, 17, 24, 0.98);
	border: 1px solid var(--neo-line);
	border-radius: 10px;
	box-shadow: 0 18px 40px -20px rgba(0, 0, 0, 0.6);
	list-style: none;
	margin: 8px 0 0;
	min-width: 148px;
	opacity: 0;
	padding: 6px;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 100%;
	transform: translateY(-4px);
	transition: opacity 0.15s ease, transform 0.15s ease;
	z-index: 30;
}

.neo-lang-switcher.is-open .neo-lang-switcher__menu {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.neo-lang-switcher__option {
	align-items: baseline;
	border-radius: 6px;
	color: rgba(223, 234, 240, 0.76);
	display: flex;
	font-size: 0.72rem;
	font-weight: 700;
	gap: 8px;
	letter-spacing: 0.04em;
	padding: 8px 10px;
	text-transform: uppercase;
}

.neo-lang-switcher__option:hover,
.neo-lang-switcher__option:focus-visible {
	background: rgba(47, 229, 234, 0.08);
	color: var(--neo-cyan);
	outline: 0;
}

.neo-lang-switcher__option.is-active {
	color: var(--neo-cyan);
	cursor: default;
}

.neo-lang-switcher__name {
	color: rgba(223, 234, 240, 0.5);
	font-size: 0.66rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	text-transform: none;
}

.hero {
	background: linear-gradient(180deg, #071821 0%, #0a1d2a 100%);
	overflow: hidden;
	position: relative;
}

.hero__inner {
	align-items: center;
	display: grid;
	gap: var(--neo-gutter);
	grid-template-columns: repeat(12, minmax(0, 1fr));
	min-height: 600px;
	padding-top: var(--neo-space-3xl);
	padding-bottom: var(--neo-space-3xl);
}

.hero__content {
	grid-column: 1 / span 8;
	padding-left: 56px;
}

.hero__eyebrow {
	margin-bottom: var(--neo-space-md);
}

.hero__title {
	color: var(--neo-white);
	font-weight: 800;
	letter-spacing: -0.045em;
	line-height: 1.02;
	max-width: 680px;
	font-size: clamp(2.75rem, 4.2vw, 4.6rem);
}

.hero__rule {
	background: var(--neo-cyan);
	display: block;
	height: 2px;
	margin-top: var(--neo-space-lg);
	width: 64px;
}

.hero__intro {
	color: rgba(223, 234, 240, 0.78);
	font-size: 1.06rem;
	line-height: 1.7;
	margin-top: var(--neo-space-lg);
	max-width: 480px;
}

.hero__actions {
	margin-top: var(--neo-space-xl);
}

.button--primary {
	background: var(--neo-cyan);
	border-color: var(--neo-cyan);
	color: var(--neo-ink);
	padding: 16px 24px;
}

.button--ghost {
	background: transparent;
	border-color: rgba(143, 165, 175, 0.5);
	color: var(--neo-white);
	padding: 16px 24px;
}

.hero__visual {
	align-items: center;
	display: flex;
	grid-column: 9 / span 4;
	justify-content: center;
}

/* Masthead scientifique : structure peptidique abstraite (traits + nœuds) + trame
   technique, asymétrique et aérée derrière l'emblème — aucun cadre, aucun panneau. */
.hero__composition {
	align-items: center;
	aspect-ratio: 1;
	animation: heroReveal 1.3s ease both;
	display: flex;
	justify-content: center;
	position: relative;
	width: 100%;
	max-width: 620px;
}

.hero__lines {
	inset: -12% -6% -6% -18%;
	opacity: 0.4;
	position: absolute;
	width: 136%;
	height: 124%;
}

.hero__bond {
	stroke: var(--neo-line);
	stroke-width: 1;
}

.hero__node {
	fill: var(--neo-steel);
	opacity: 0.55;
}

.hero__node--accent {
	animation: heroNodePulse 4.5s ease-in-out infinite;
	fill: var(--neo-cyan);
	opacity: 0.7;
	transform-box: fill-box;
	transform-origin: center;
}

@keyframes heroNodePulse {
	0%, 100% { opacity: 0.5; transform: scale(1); }
	50% { opacity: 0.95; transform: scale(1.35); }
}

@keyframes heroReveal {
	from { opacity: 0; transform: translateY(10px); }
	to { opacity: 1; transform: translateY(0); }
}

.hero__mark-grid {
	background-image:
		linear-gradient(var(--neo-line) 1px, transparent 1px),
		linear-gradient(90deg, var(--neo-line) 1px, transparent 1px);
	background-size: 34px 34px;
	inset: 0;
	mask-image: radial-gradient(closest-side, #000 70%, transparent 100%);
	-webkit-mask-image: radial-gradient(closest-side, #000 70%, transparent 100%);
	opacity: 0.18;
	position: absolute;
}

.hero__emblem {
	width: min(84%, 420px);
	height: auto;
	display: block;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

@media (prefers-reduced-motion: reduce) {
	.hero__composition { animation: none; opacity: 1; transform: none; }
	.hero__node--accent { animation: none; opacity: 0.7; }
}


.front-products {
	background: linear-gradient(180deg, #071821 0%, #0a1d2a 100%);
	padding: 76px 0 98px;
}

.front-products__header {
	align-items: flex-end;
	display: flex;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 32px;
}

.front-products__header h2 {
	color: var(--neo-white);
	font-weight: 800;
	letter-spacing: -0.04em;
}

.front-products__header a {
	color: rgba(223, 234, 240, 0.82);
	font-size: 0.8rem;
	font-weight: 700;
}

/* --- Accueil : architecture institutionnelle (hero, clause, éditorial, exigence, nav finale) --- */
.lab-eyebrow {
	color: var(--neo-cyan);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	margin: 0 0 var(--neo-space-sm);
	text-transform: uppercase;
}

/* Cadre à coins techniques, réutilisé par la fiche documentaire — langage visuel
   commun, sans carte ni icône produit. */
.frame {
	border: 1px solid var(--neo-line);
	position: relative;
}

.frame__corner {
	border-color: var(--neo-cyan);
	border-style: solid;
	border-width: 0;
	height: 14px;
	position: absolute;
	width: 14px;
}

.frame__corner--tl { top: -1px; left: -1px; border-top-width: 2px; border-left-width: 2px; }
.frame__corner--tr { top: -1px; right: -1px; border-top-width: 2px; border-right-width: 2px; }
.frame__corner--bl { bottom: -1px; left: -1px; border-bottom-width: 2px; border-left-width: 2px; }
.frame__corner--br { bottom: -1px; right: -1px; border-bottom-width: 2px; border-right-width: 2px; }

.frame--motif {
	background: rgba(8, 22, 31, 0.55);
	overflow: hidden;
}

/* Clause institutionnelle (positionnement & cadre RUO) */
.clause {
	background: linear-gradient(180deg, #071821 0%, #0a1d2a 100%);
	border-top: 1px solid var(--neo-line);
	padding: var(--neo-space-3xl) 0;
}

.clause__grid {
	display: grid;
	gap: var(--neo-gutter);
	grid-template-columns: repeat(12, minmax(0, 1fr));
}

.clause__body {
	grid-column: 1 / span 7;
}

.clause__title {
	color: var(--neo-white);
	font-size: clamp(1.4rem, 2vw, 1.85rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.25;
	margin: 0 0 var(--neo-space-md);
}

.clause__body p {
	color: rgba(223, 234, 240, 0.85);
	font-size: 1.02rem;
	line-height: 1.75;
	margin: 0 0 var(--neo-space-md);
}

.clause__statement {
	border-left: 2px solid var(--neo-cyan);
	color: var(--neo-white) !important;
	margin-top: var(--neo-space-lg) !important;
	padding-left: var(--neo-space-md);
}

.clause__statement strong { color: var(--neo-white); }

/* Photographie de laboratoire : visuel encadré façon publication scientifique — coins
   légèrement arrondis, liseré fin (couleur des lignes du site), traitement froid léger,
   dégradé bas + léger vignettage discret sur les bords. Pas de carte, pas de cyan, pas d'ombre.
   Hauteur légèrement réduite (align-self:start) pour ne jamais déborder sous le texte. */
.clause__visual {
	align-self: start;
	grid-column: 8 / span 5;
	margin-left: 6px;
	margin-top: 10px;
	height: calc(100% - 20px);
	border: 1px solid var(--neo-line);
	border-radius: 8px;
	overflow: hidden;
	position: relative;
}

.clause__photo {
	display: block;
	height: 100%;
	width: 100%;
	min-height: 320px;
	object-fit: cover;
	object-position: 62% 55%;
	opacity: 0;
	transform: scale(1.02);
	transition: opacity 1.1s ease, transform 1.1s ease;
	filter: saturate(1.08) contrast(1.06) brightness(1.02);
}

.clause__visual::after {
	background:
		radial-gradient(120% 120% at 50% 50%, transparent 62%, rgba(7, 20, 27, 0.2) 100%),
		linear-gradient(180deg, rgba(7, 20, 27, 0) 76%, rgba(7, 20, 27, 0.32) 100%),
		linear-gradient(rgba(20, 62, 76, 0.11), rgba(20, 62, 76, 0.11));
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.reveal.is-visible .clause__photo { opacity: 1; transform: scale(1); }

/* Éditoriale (traçabilité & documentation) */
.editorial {
	background: linear-gradient(180deg, #071821 0%, #0a1d2a 100%);
	border-top: 1px solid var(--neo-line);
	padding: var(--neo-space-3xl) 0;
}

.editorial__grid {
	align-items: start;
	display: grid;
	gap: var(--neo-gutter);
	grid-template-columns: repeat(12, minmax(0, 1fr));
}

.editorial__text {
	grid-column: 1 / span 7;
}

.editorial__title {
	color: var(--neo-white);
	font-size: clamp(1.4rem, 2vw, 1.85rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.25;
	margin: 0 0 var(--neo-space-md);
}

.editorial__text p {
	color: rgba(223, 234, 240, 0.85);
	line-height: 1.75;
	margin: 0 0 var(--neo-space-md);
}

.editorial__link {
	color: var(--neo-cyan);
	display: inline-block;
	font-size: 0.88rem;
	font-weight: 700;
	margin-top: var(--neo-space-xs);
}

/* Fiche documentaire : statistique réelle (CoA publiés) + repères label/valeur avec
   micro-icônes filaires, façon fiche analytique de laboratoire — pas de carte UI. */
.dossier {
	background: rgba(8, 22, 31, 0.55);
	grid-column: 9 / span 4;
	padding: var(--neo-space-lg);
}

.dossier__eyebrow {
	color: var(--neo-steel);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	margin: 0 0 var(--neo-space-md);
	text-transform: uppercase;
}

.dossier__stat {
	color: var(--neo-white);
	font-family: var(--neo-display);
	font-size: 3rem;
	font-weight: 700;
	line-height: 1;
	margin: 0;
}

.dossier__stat-label {
	color: rgba(223, 234, 240, 0.62);
	font-size: 0.78rem;
	line-height: 1.5;
	margin: var(--neo-space-xs) 0 var(--neo-space-md);
}

.dossier__list {
	border-top: 1px solid var(--neo-line);
	margin: 0;
	padding-top: var(--neo-space-sm);
}

.dossier__list div {
	border-top: 1px solid var(--neo-line);
	display: block;
	opacity: 0;
	padding: var(--neo-space-sm) 0;
	transform: translateY(8px);
	transition: opacity 0.5s ease, transform 0.5s ease;
}

.dossier__list div:first-child { border-top: 0; padding-top: 0; }

.reveal.is-visible .dossier__list div { opacity: 1; transform: none; }
.dossier__list div:nth-child(1) { transition-delay: 0.05s; }
.dossier__list div:nth-child(2) { transition-delay: 0.15s; }
.dossier__list div:nth-child(3) { transition-delay: 0.25s; }
.dossier__list div:nth-child(4) { transition-delay: 0.35s; }

.dossier__list dt {
	align-items: center;
	color: var(--neo-steel);
	display: flex;
	font-size: 0.66rem;
	font-weight: 700;
	gap: 6px;
	letter-spacing: 0.08em;
	margin-bottom: 6px;
	text-transform: uppercase;
	white-space: nowrap;
}

.dossier__icon svg {
	display: block;
	fill: none;
	height: 13px;
	opacity: 0.85;
	stroke: var(--neo-cyan);
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.6;
	width: 13px;
}

.dossier__list dd {
	color: var(--neo-white);
	font-size: 0.94rem;
	line-height: 1.5;
	margin: 0;
}

/* Exigence qualité (grille éditoriale A/B/C, sans cartes) */
.quality {
	background: linear-gradient(180deg, #071821 0%, #0a1d2a 100%);
	border-top: 1px solid var(--neo-line);
	overflow: hidden;
	padding: var(--neo-space-3xl) 0;
	position: relative;
}

.quality::before {
	background-image: radial-gradient(circle, rgba(143, 165, 175, 0.6) 1px, transparent 1px);
	background-size: 24px 24px;
	content: "";
	inset: 0;
	opacity: 0.05;
	pointer-events: none;
	position: absolute;
}

.quality .container { position: relative; z-index: 1; }

.quality .lab-eyebrow { margin-bottom: var(--neo-space-xl); }

.quality__row {
	display: grid;
	gap: var(--neo-gutter);
	grid-template-columns: repeat(12, minmax(0, 1fr));
}

.quality__item {
	border-left: 1px solid var(--neo-line);
	grid-column: span 4;
	opacity: 0;
	padding-left: var(--neo-space-lg);
	transform: translateY(8px);
	transition: opacity 0.5s ease, transform 0.5s ease;
}

.reveal.is-visible .quality__item { opacity: 1; transform: none; }
.quality__item:nth-child(1) { transition-delay: 0.05s; }
.quality__item:nth-child(2) { transition-delay: 0.15s; }
.quality__item:nth-child(3) { transition-delay: 0.25s; }

.quality__heading {
	align-items: baseline;
	color: var(--neo-white);
	display: flex;
	font-size: 1rem;
	font-weight: 700;
	gap: 8px;
	margin: 0 0 var(--neo-space-xs);
}

.quality__letter {
	color: var(--neo-cyan);
	font-family: var(--neo-display);
	font-size: 0.82rem;
	font-weight: 700;
}

.quality__desc {
	color: rgba(223, 234, 240, 0.7);
	display: block;
	font-size: 0.88rem;
	line-height: 1.6;
}

/* Navigation finale */
.closing-nav {
	background: rgba(8, 24, 33, 0.96);
	border-top: 1px solid var(--neo-line);
	padding: var(--neo-space-xl) 0;
}

.closing-nav__list {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--neo-space-sm) var(--neo-space-xl);
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.closing-nav__list a {
	color: rgba(223, 234, 240, 0.78);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.closing-nav__list a:hover { color: var(--neo-cyan); }

/* Révélation discrète au scroll (désactivée si l'utilisateur préfère moins de mouvement). */
.reveal {
	opacity: 0;
	transform: translateY(14px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

.reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	.reveal { opacity: 1; transform: none; transition: none; }
	.dossier__list div,
	.quality__item,
	.clause__photo { opacity: 1 !important; transform: none !important; transition: none !important; }
	.clause__visual { transform: none !important; }
}

/* ==========================================================================
   PAGE À PROPOS — institutionnelle, éditoriale, corporate scientifique.
   Réutilise le langage visuel du site (.frame, .lab-eyebrow, .reveal, boutons)
   sans reprendre les mêmes blocs que la homepage.
   ========================================================================== */

.about-hero {
	background: linear-gradient(180deg, #071821 0%, #0a1d2a 100%);
	padding: var(--neo-space-3xl) 0;
}

.about-hero__inner {
	align-items: center;
	display: grid;
	gap: var(--neo-gutter);
	grid-template-columns: repeat(12, minmax(0, 1fr));
}

.about-hero__content {
	grid-column: 1 / span 6;
}

.about-hero__title {
	color: var(--neo-white);
	font-size: clamp(2.4rem, 3.4vw, 3.6rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.08;
	max-width: 620px;
}

.about-hero__intro {
	color: rgba(223, 234, 240, 0.8);
	font-size: 1.05rem;
	line-height: 1.7;
	margin-top: var(--neo-space-lg);
	max-width: 500px;
}

.about-hero__visual {
	aspect-ratio: 4 / 5;
	grid-column: 7 / span 6;
}

/* Cadre « fenêtre scientifique » discret pour la photo « qui nous sommes » —
   bordure fine quasi ton sur ton, coins arrondis légers, aucune décoration lourde.
   Seuls les 4 repères techniques (angles ouverts, cyan) signalent le traitement "instrument". */
.about-hero__frame {
	background: rgba(8, 18, 24, 0.4);
	border: 1px solid rgba(158, 178, 188, 0.14);
	border-radius: 10px;
	height: 100%;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.about-hero__frame-corner {
	height: 16px;
	pointer-events: none;
	position: absolute;
	width: 16px;
	z-index: 3;
}

.about-hero__frame-corner::before,
.about-hero__frame-corner::after {
	background: rgba(47, 229, 234, 0.65);
	box-shadow: 0 0 4px rgba(47, 229, 234, 0.35);
	content: "";
	position: absolute;
}

/* Chaque repère = une ligne horizontale + une ligne verticale, volontairement
   décalées de l'angle exact pour ne jamais se rejoindre complètement. */
.about-hero__frame-corner::before { height: 1px; width: 8px; }
.about-hero__frame-corner::after { height: 8px; width: 1px; }

.about-hero__frame-corner--tl {
	left: 14px;
	top: 14px;
}

.about-hero__frame-corner--tl::before { left: 4px; top: 0; }
.about-hero__frame-corner--tl::after { left: 0; top: 4px; }

.about-hero__frame-corner--tr {
	right: 14px;
	top: 14px;
}

.about-hero__frame-corner--tr::before { right: 4px; top: 0; }
.about-hero__frame-corner--tr::after { right: 0; top: 4px; }

.about-hero__frame-corner--bl {
	bottom: 14px;
	left: 14px;
}

.about-hero__frame-corner--bl::before { bottom: 0; left: 4px; }
.about-hero__frame-corner--bl::after { bottom: 4px; left: 0; }

.about-hero__frame-corner--br {
	bottom: 14px;
	right: 14px;
}

.about-hero__frame-corner--br::before { bottom: 0; right: 4px; }
.about-hero__frame-corner--br::after { bottom: 4px; right: 0; }

.about-hero__photo {
	display: block;
	height: 100%;
	width: 100%;
	object-fit: cover;
	object-position: 50% 38%;
	filter: saturate(1.05) contrast(1.05) brightness(0.98);
}



/* Notre activité — prose institutionnelle, mesure de lecture confortable. */
.about-mission {
	background: linear-gradient(180deg, #071821 0%, #0a1d2a 100%);
	border-top: 1px solid var(--neo-line);
	padding: var(--neo-space-3xl) 0;
}

.about-mission__title {
	color: var(--neo-white);
	font-size: clamp(1.4rem, 2vw, 1.85rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.25;
	margin: 0 0 var(--neo-space-lg);
	max-width: 640px;
}

.about-mission__text {
	color: rgba(223, 234, 240, 0.85);
	font-size: 1.02rem;
	line-height: 1.75;
	margin: 0 0 var(--neo-space-md);
	max-width: 720px;
}

/* La qualité comme exigence — fiches éditoriales fines, pas des cartes. */
.about-quality {
	background: linear-gradient(180deg, #071821 0%, #0a1d2a 100%);
	border-top: 1px solid var(--neo-line);
	padding: var(--neo-space-3xl) 0;
}

.about-quality__title {
	color: var(--neo-white);
	font-size: clamp(1.4rem, 2vw, 1.85rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.25;
	margin: 0 0 var(--neo-space-md);
	max-width: 640px;
}

.about-quality__intro {
	color: rgba(223, 234, 240, 0.85);
	font-size: 1.02rem;
	line-height: 1.75;
	margin: 0 0 var(--neo-space-xl);
	max-width: 720px;
}

.about-quality__grid {
	display: grid;
	gap: var(--neo-space-xl) var(--neo-gutter);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.about-quality__item {
	border-top: 1px solid var(--neo-line);
	display: flex;
	gap: var(--neo-space-md);
	padding-top: var(--neo-space-lg);
}

.about-quality__heading {
	color: var(--neo-white);
	font-size: 1rem;
	font-weight: 700;
	margin: 0 0 var(--neo-space-xs);
}

.about-quality__text {
	color: rgba(223, 234, 240, 0.7);
	font-size: 0.9rem;
	line-height: 1.6;
	margin: 0;
}

/* Icône filaire minimaliste partagée entre "La qualité" et "Nos valeurs". */
.about-icon {
	align-items: center;
	border: 1px solid var(--neo-line);
	border-radius: 50%;
	display: flex;
	flex-shrink: 0;
	height: 42px;
	justify-content: center;
	width: 42px;
}

.about-icon svg {
	fill: none;
	height: 18px;
	stroke: var(--neo-cyan);
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.6;
	width: 18px;
}

.about-icon--center {
	margin: 0 auto var(--neo-space-md);
}

/* Nos valeurs — 4 axes, blocs éditoriaux centrés séparés par des filets verticaux. */
.about-values {
	background: linear-gradient(180deg, #071821 0%, #0a1d2a 100%);
	border-top: 1px solid var(--neo-line);
	padding: var(--neo-space-2xl) 0 var(--neo-space-3xl);
}

.about-values__eyebrow {
	font-size: clamp(1rem, 1.7vw, 1.7rem);
	letter-spacing: 0.18em;
	margin: 0 0 var(--neo-space-lg);
	text-align: center;
}

.about-values__grid {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0 auto;
	max-width: 1120px;
}

.about-values__item {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	min-height: 200px;
	padding: 0 14px;
	position: relative;
	text-align: center;
}

/* Séparateur vertical court, centré sur la hauteur réelle du contenu (picto + titre + description). */
.about-values__item::before {
	background: rgba(143, 165, 175, 0.18);
	content: "";
	height: 112px;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
}

.about-values__item:first-child {
	padding-left: 0;
}

.about-values__item:first-child::before {
	display: none;
}

.about-values__heading {
	color: var(--neo-white);
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.3;
	margin: 0 0 10px;
	text-transform: uppercase;
	white-space: nowrap;
}

.about-values__text {
	color: rgba(223, 234, 240, 0.7);
	font-size: 0.74rem;
	line-height: 1.45;
	margin: 0;
	max-width: 170px;
	min-height: 2.9em;
	text-align: center;
}

.about-icon--center {
	margin: 0 auto 14px;
}

/* Notre engagement — statement institutionnel + rappel RUO, sobre et non anxiogène. */
.about-commitment {
	background: linear-gradient(180deg, #071821 0%, #0a1d2a 100%);
	border-top: 1px solid var(--neo-line);
	padding: var(--neo-space-3xl) 0;
}

.about-commitment__text {
	color: rgba(223, 234, 240, 0.85);
	font-size: 1.08rem;
	line-height: 1.75;
	margin: 0 0 var(--neo-space-xl);
	max-width: 760px;
}

.about-commitment__ruo {
	border-left: 2px solid var(--neo-cyan);
	padding-left: var(--neo-space-md);
}

.about-commitment__ruo-label {
	color: var(--neo-cyan);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	margin: 0 0 var(--neo-space-xs);
}

.about-commitment__ruo-text {
	color: var(--neo-white);
	font-size: 0.94rem;
	line-height: 1.6;
	margin: 0;
}

/* Une question ? — encadré de conclusion compact, pas une nouvelle section lourde. */
.about-contact {
	background: rgba(8, 24, 33, 0.96);
	border-top: 1px solid var(--neo-line);
	padding: var(--neo-space-xl) 0 var(--neo-space-3xl);
}

.about-contact__inner {
	align-items: center;
	background: rgba(11, 29, 42, 0.6);
	border-radius: 10px;
	display: flex;
	gap: var(--neo-space-xl);
	justify-content: space-between;
	padding: var(--neo-space-xl);
}

.about-contact__title {
	color: var(--neo-white);
	font-family: var(--neo-display);
	font-size: 1.3rem;
	font-weight: 700;
	margin: 0 0 var(--neo-space-xs);
}

.about-contact__text {
	color: rgba(223, 234, 240, 0.75);
	font-size: 0.92rem;
	line-height: 1.6;
	margin: 0;
	max-width: 480px;
}

.about-contact__email {
	color: var(--neo-cyan);
	font-weight: 600;
}

.about-contact__button {
	flex-shrink: 0;
}


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

.product-card {
	background: linear-gradient(180deg, rgba(12, 29, 39, 0.9) 0%, rgba(7, 18, 27, 0.96) 100%);
	border: 1px solid rgba(143, 165, 175, 0.18);
	border-radius: var(--neo-radius);
	padding: 18px 18px 20px;
	position: relative;
	z-index: 0;
	transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.product-card:has(.neo-variable-options:not([hidden])) { z-index: 20; }

.product-card:hover {
	transform: translateY(-4px);
	border-color: rgba(47, 229, 234, 0.6);
	box-shadow: var(--neo-shadow);
}

.product-card__favorite {
	position: absolute;
	right: 14px;
	top: 14px;
	background: rgba(7, 18, 27, 0.7);
	border: 1px solid rgba(143, 165, 175, 0.25);
	border-radius: 50%;
	color: var(--neo-cyan);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 32px;
	width: 32px;
	padding: 0;
	z-index: 1;
}

.product-card__image {
	display: block;
	background: linear-gradient(180deg, rgba(47, 229, 234, 0.08), rgba(10, 29, 42, 0.12));
	border-radius: 14px;
	overflow: hidden;
	margin-bottom: 18px;
	padding: 12px;
}

.product-card__image img {
	aspect-ratio: 1;
	object-fit: contain;
	width: 100%;
}

.product-card__body h3 {
	margin-bottom: 7px;
}

.product-card__body h3 a {
	color: var(--neo-white);
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.3;
}

.product-card__meta {
	color: rgba(223, 234, 240, 0.65);
	font-size: 0.74rem;
	margin: 0 0 12px;
}

.product-card__row {
	align-items: center;
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-top: 10px;
}

.product-card__price {
	color: var(--neo-cyan);
	font-size: 1rem;
	font-weight: 800;
}

.product-card__price del {
	color: rgba(223, 234, 240, 0.45);
	margin-right: 6px;
}

.product-card__button {
	background: var(--neo-cyan);
	border-color: var(--neo-cyan);
	border-radius: 10px;
	color: var(--neo-ink);
	display: inline-flex;
	font-size: 0.76rem;
	font-weight: 700;
	padding: 10px 14px;
}

.site-footer {
	background: linear-gradient(180deg, rgba(5, 16, 23, 0.98) 0%, rgba(7, 22, 31, 0.98) 100%);
	border-top: 1px solid rgba(143, 165, 175, 0.18);
	padding: 26px 0 18px;
}

.site-footer__grid {
	display: grid;
	grid-template-columns: 1.45fr 1fr 1fr 1fr;
	gap: 28px 36px;
	align-items: start;
}

.site-footer__brand {
	padding-right: 12px;
}

.site-brand--footer {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	margin-bottom: 14px;
}

.site-brand--footer .site-brand__wordmark {
	display: flex;
	align-items: baseline;
	gap: 0.18em;
	font-size: 1.05rem;
	letter-spacing: 0;
	line-height: 1;
	margin: 0;
}

.site-brand--footer .site-brand__neopeptides {
	color: #fff;
	font-weight: 700;
}

.site-brand--footer .site-brand__lab {
	color: var(--neo-cyan);
	font-weight: 700;
}

.site-brand--footer .site-brand__baseline {
	display: block;
	font-size: 0.44rem;
	letter-spacing: 0.3em;
	margin-top: 4px;
	opacity: 0.9;
}

.site-footer__brand p {
	color: rgba(223, 234, 240, 0.72);
	font-size: 0.9rem;
	line-height: 1.7;
	margin: 0;
	max-width: 24ch;
}

.site-footer__column {
	border-left: 1px solid rgba(143, 165, 175, 0.12);
	padding-left: 22px;
}

.site-footer__brand + .site-footer__column {
	border-left: 1px solid rgba(143, 165, 175, 0.12);
}

.site-footer__title {
	color: var(--neo-cyan);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	margin: 0 0 16px;
	text-transform: uppercase;
}

.site-footer__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-footer__list li + li {
	margin-top: 9px;
}

.site-footer__list a,
.site-footer__list li {
	color: rgba(223, 234, 240, 0.76);
	font-size: 0.82rem;
	line-height: 1.6;
	text-decoration: none;
	transition: color 0.2s ease;
}

.site-footer__list a:hover,
.site-footer__list a:focus-visible {
	color: var(--neo-cyan);
}

.site-footer__list--text li {
	color: rgba(223, 234, 240, 0.8);
	list-style: none;
}

.site-footer__bottom {
	border-top: 1px solid rgba(143, 165, 175, 0.12);
	color: rgba(223, 234, 240, 0.58);
	display: flex;
	font-size: 0.74rem;
	justify-content: space-between;
	letter-spacing: 0.02em;
	margin-top: 24px;
	padding-top: 16px;
}

@media (max-width: 960px) {
	.site-footer__grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 640px) {
	.site-footer__grid {
		grid-template-columns: 1fr;
	}

	.site-footer__column,
	.site-footer__brand + .site-footer__column {
		border-left: none;
		padding-left: 0;
	}

	.site-footer__bottom {
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
	}
}

.shop-content {
	background: linear-gradient(180deg, #071821 0%, #0b1d2b 100%);
	padding: 38px 0 64px;
}

.shop-content .woocommerce-products-header {
	display: block;
	margin-bottom: 20px;
}

.shop-content .woocommerce-products-header__title,
.shop-content .woocommerce-products-header h1 {
	color: var(--neo-white);
	font-size: clamp(1.9rem, 1.7vw, 2.5rem);
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 1.12;
	margin: 0 0 10px;
}

.shop-content .woocommerce-breadcrumb,
.shop-content .woocommerce-result-count {
	color: rgba(223, 234, 240, 0.66);
	display: block;
	font-size: 0.78rem;
	letter-spacing: 0.04em;
	line-height: 1.6;
	margin: 0;
	text-transform: uppercase;
}

.shop-content .woocommerce-ordering {
	margin-bottom: 16px;
	text-align: right;
}

.shop-content .woocommerce-ordering select {
	appearance: none;
	background: rgba(11, 27, 36, 0.9);
	border: 1px solid rgba(143, 165, 175, 0.18);
	border-radius: 10px;
	color: var(--neo-white);
	font-size: 0.8rem;
	height: 42px;
	padding: 0 42px 0 14px;
	min-width: 190px;
	background-image: linear-gradient(45deg, transparent 50%, var(--neo-cyan) 50%), linear-gradient(135deg, var(--neo-cyan) 50%, transparent 50%);
	background-position: calc(100% - 18px) calc(50% - 3px), calc(100% - 12px) calc(50% - 3px);
	background-size: 6px 6px, 6px 6px;
	background-repeat: no-repeat;
}

.neo-variable-picker {
	margin: 10px 0 12px;
	position: relative;
	width: 100%;
}

.neo-variable-label {
	color: rgba(223, 234, 240, 0.72);
	display: block;
	font-size: 0.67rem;
	letter-spacing: 0.12em;
	margin-bottom: 6px;
	text-transform: uppercase;
}

.neo-variable-trigger {
	align-items: center;
	background: rgba(11, 27, 36, 0.9);
	border: 1px solid rgba(143, 165, 175, 0.2);
	border-radius: 8px;
	color: var(--neo-white);
	cursor: pointer;
	display: flex;
	font-size: 0.76rem;
	font-weight: 700;
	height: 36px;
	justify-content: space-between;
	padding: 0 28px 0 12px;
	position: relative;
	text-align: left;
	text-transform: uppercase;
	width: 100%;
	box-sizing: border-box;
}

.neo-variable-trigger::after {
	border-bottom: 1.5px solid var(--neo-cyan);
	border-right: 1.5px solid var(--neo-cyan);
	content: "";
	height: 6px;
	position: absolute;
	right: 12px;
	top: 13px;
	transform: rotate(45deg);
	width: 6px;
}

.neo-variable-trigger:hover,
.neo-variable-trigger:focus-visible {
	border-color: rgba(47, 229, 234, 0.72);
	box-shadow: 0 0 0 3px rgba(47, 229, 234, 0.1);
	color: var(--neo-white);
}

.neo-variable-options {
	background: #0b1d2a;
	border: 1px solid rgba(47, 229, 234, 0.32);
	border-radius: 8px;
	box-shadow: 0 14px 28px rgba(1, 10, 15, 0.5);
	box-sizing: border-box;
	left: 0;
	margin-top: 4px;
	overflow: hidden;
	position: absolute;
	width: 100%;
	z-index: 10;
}
.shop-content ul.products li.product { overflow: visible; }
.shop-content ul.products li.product:has(.neo-variable-options:not([hidden])) { z-index: 20; }

.neo-variable-option {
	background: transparent;
	border: 0;
	border-radius: 0;
	color: rgba(237, 245, 247, 0.82);
	cursor: pointer;
	display: block;
	font-size: 0.76rem;
	font-weight: 600;
	padding: 9px 12px;
	text-align: left;
	text-transform: uppercase;
	width: 100%;
	box-sizing: border-box;
}

.neo-variable-option:hover,
.neo-variable-option:focus-visible,
.neo-variable-option.is-selected {
	background: rgba(47, 229, 234, 0.12);
	color: var(--neo-cyan);
}

.neo-variable-button {
	background: linear-gradient(180deg, #19d9e5 0%, #19cde2 100%);
	border: 1px solid rgba(47, 229, 234, 0.58);
	border-radius: 10px;
	color: var(--neo-ink);
	display: inline-flex;
	font-size: 0.74rem;
	font-weight: 700;
	justify-content: center;
	padding: 9px 12px;
	text-transform: uppercase;
	transition: filter 0.2s ease, transform 0.2s ease;
	width: 100%;
}

.neo-variable-button:hover,
.neo-variable-button:focus-visible {
	filter: brightness(1.04);
	transform: translateY(-1px);
}

.shop-content ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
	margin: 0 !important;
}

.shop-content ul.products::before,
.shop-content ul.products::after { display: none !important; }

.shop-content ul.products li.product {
	background: linear-gradient(180deg, rgba(12, 29, 39, 0.9) 0%, rgba(7, 18, 27, 0.96) 100%);
	border: 1px solid rgba(143, 165, 175, 0.18);
	border-radius: 14px;
	display: flex !important;
	float: none !important;
	flex-direction: column;
	margin: 0 !important;
	padding: 14px 14px 16px;
	transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
	width: auto !important;
}

.shop-content ul.products li.product:hover {
	border-color: rgba(47, 229, 234, 0.35);
	box-shadow: 0 10px 22px rgba(2, 12, 18, 0.22);
	transform: translateY(-2px);
}

.shop-content ul.products li.product .woocommerce-LoopProduct-link {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	text-decoration: none;
}

.shop-content ul.products li.product img {
	aspect-ratio: 1 / 1;
	background: linear-gradient(180deg, rgba(17, 34, 44, 0.7) 0%, rgba(10, 20, 29, 0.8) 100%);
	border-radius: 10px;
	display: block;
	height: 205px;
	margin: 0 auto 12px;
	object-fit: contain;
	width: 100%;
}

.shop-content ul.products li.product .woocommerce-loop-product__title {
	color: var(--neo-white);
	font-size: 1.02rem;
	font-weight: 600;
	line-height: 1.35;
	margin: 0 0 12px;
	padding: 0;
}

.shop-content ul.products li.product .price {
	color: var(--neo-cyan);
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.2;
}

.shop-content ul.products li.product .add_to_cart_button {
	background: linear-gradient(180deg, #19d9e5 0%, #1bd4e7 100%);
	border: 1px solid rgba(47, 229, 234, 0.5);
	border-radius: 10px;
	color: var(--neo-ink);
	display: inline-flex;
	font-size: 0.76rem;
	font-weight: 700;
	justify-content: center;
	letter-spacing: 0.02em;
	padding: 10px 14px;
	transition: filter 0.2s ease, transform 0.2s ease;
}

.shop-content ul.products li.product .neo-variable-choice {
	background: linear-gradient(180deg, #19d9e5 0%, #1bd4e7 100%);
	border: 1px solid rgba(47, 229, 234, 0.5);
	border-radius: 10px;
	color: var(--neo-ink);
	display: inline-flex;
	font-size: 0.76rem;
	font-weight: 700;
	justify-content: center;
	letter-spacing: 0.02em;
	margin-top: auto;
	padding: 10px 14px;
	transition: filter 0.2s ease, transform 0.2s ease;
	width: 100%;
}

.shop-content ul.products li.product .neo-variable-choice:hover,
.shop-content ul.products li.product .neo-variable-choice:focus-visible {
	filter: brightness(1.04);
	transform: translateY(-1px);
}

.shop-content ul.products li.product .add_to_cart_button:hover,
.shop-content ul.products li.product .add_to_cart_button:focus-visible {
	filter: brightness(1.04);
	transform: translateY(-1px);
}

/* Le clic sur "Ajouter au panier" ne doit jamais faire varier la hauteur de la carte :
   le lien "Voir le panier" natif de WooCommerce est supprimé, le feedback est porté
   uniquement par le texte du bouton lui-même (voir theme.js, évènement added_to_cart). */
.shop-content ul.products li.product .added_to_cart {
	display: none !important;
}

.shop-content ul.products li.product .add_to_cart_button.neo-added {
	background: linear-gradient(180deg, #2fe5ea 0%, #1bd4e7 100%);
	pointer-events: none;
}

/* WooCommerce ajoute sa propre coche via ::after sur .added — supprimée pour n'en
   garder qu'une seule (celle intégrée au texte du bouton par theme.js). */
.shop-content ul.products li.product .add_to_cart_button.added::after {
	content: none !important;
}

.shop-content ul.products li.product .price del {
	color: rgba(223, 234, 240, 0.42);
	margin-right: 8px;
}

.shop-content ul.products li.product .button {
	margin-top: 0;
}

/* Pagination boutique : typographie sobre, pas de gros boutons façon admin WordPress,
   page active identifiée par un cercle fin en cyan, cohérente avec la charte du site. */
.woocommerce-pagination {
	margin-top: 40px;
	text-align: center;
}

.woocommerce-pagination .page-numbers {
	align-items: center;
	border: 0 !important;
	display: flex !important;
	justify-content: center;
	gap: 6px;
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce-pagination .page-numbers li {
	border: 0 !important;
	display: inline-flex !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce-pagination .page-numbers a.page-numbers,
.woocommerce-pagination .page-numbers span.page-numbers {
	align-items: center;
	border: 1px solid transparent;
	border-radius: 50%;
	color: rgba(223, 234, 240, 0.62);
	display: inline-flex;
	font-size: 0.86rem;
	font-weight: 600;
	height: 34px;
	justify-content: center;
	letter-spacing: 0.01em;
	min-width: 34px;
	padding: 0 4px;
	transition: border-color 0.2s ease, color 0.2s ease;
}

.woocommerce-pagination .page-numbers a.page-numbers:hover,
.woocommerce-pagination .page-numbers a.page-numbers:focus-visible {
	border-color: rgba(47, 229, 234, 0.35);
	color: var(--neo-white);
}

.woocommerce-pagination .page-numbers span.page-numbers.current {
	border-color: var(--neo-cyan);
	color: var(--neo-cyan);
	font-weight: 700;
}

.woocommerce-pagination .page-numbers .page-numbers.dots {
	border-color: transparent;
	color: rgba(223, 234, 240, 0.4);
}

.woocommerce-pagination .page-numbers a.next,
.woocommerce-pagination .page-numbers a.prev {
	border-radius: 50%;
	font-size: 0.8rem;
}

/* Badge natif global : discret, sans le minimum de taille ni l'ovale WooCommerce. */
.woocommerce span.onsale {
	align-items: center;
	background: #102d36;
	border: 1px solid rgba(126, 200, 207, 0.4);
	border-radius: 5px;
	box-shadow: none;
	box-sizing: border-box;
	color: #bce6e9;
	display: inline-flex;
	font-family: "Avenir Next", "Segoe UI", sans-serif;
	font-size: 10px;
	font-weight: 700;
	height: auto;
	justify-content: center;
	left: 12px;
	letter-spacing: 0.06em;
	line-height: 1.4;
	margin: 0;
	min-height: 0;
	min-width: 0;
	padding: 4px 8px;
	right: auto;
	text-transform: uppercase;
	top: 12px;
	width: auto;
	white-space: nowrap;
	z-index: 2;
}
.woocommerce ul.products li.product .onsale {
	left: 12px;
	margin: 0;
	right: auto;
	top: 12px;
}
.single-product div.product > span.onsale {
	/* Le template place le badge avant la galerie : l'ancrer à son bord intérieur. */
	left: 40px;
	top: 40px;
}
@media (max-width: 640px) {
	.single-product div.product > span.onsale { left: 26px; top: 26px; }
}

.single-product .site-main {
	background: linear-gradient(180deg, #071821 0%, #0b1d2b 100%);
}

.single-product div.product {
	background: linear-gradient(180deg, rgba(12, 29, 39, 0.9) 0%, rgba(7, 18, 27, 0.96) 100%);
	border: 1px solid rgba(143, 165, 175, 0.18);
	border-radius: 14px;
	box-shadow: 0 22px 60px rgba(2, 12, 18, 0.2);
	margin: 38px auto 64px;
	max-width: var(--neo-container);
	padding: 28px;
}

.single-product div.product .woocommerce-product-gallery,
.single-product div.product .summary {
	margin-bottom: 34px;
}

.single-product div.product .woocommerce-product-gallery {
	background: rgba(7, 18, 27, 0.42);
	border: 1px solid rgba(143, 165, 175, 0.12);
	border-radius: 12px;
	padding: 14px;
}

.single-product div.product .woocommerce-product-gallery__image img {
	border-radius: 9px;
}

.single-product div.product .summary {
	padding: 12px 20px 0;
}

.single-product div.product .summary .product_title {
	color: var(--neo-white);
	font-size: clamp(2.2rem, 4vw, 4.3rem);
	font-weight: 800;
	letter-spacing: -0.06em;
	line-height: 0.98;
	margin-bottom: 18px;
}

.single-product div.product .summary > .price {
	color: var(--neo-cyan);
	font-size: 1.25rem;
	font-weight: 800;
	margin: 0 0 18px;
}

.single-product div.product .summary .variations_form {
	border-top: 1px solid rgba(143, 165, 175, 0.14);
	padding-top: 6px;
}

.single-product div.product .summary .single_variation_wrap {
	margin-top: 8px;
}

.single-product div.product .summary .woocommerce-variation-price {
	color: var(--neo-cyan);
	font-size: 1.25rem;
	font-weight: 800;
	margin: 12px 0 16px;
}

.single-product div.product .summary .quantity {
	margin: 0 10px 0 0;
}

.single-product div.product .summary .quantity input {
	background: rgba(11, 27, 36, 0.9);
	border: 1px solid rgba(143, 165, 175, 0.24);
	border-radius: 8px;
	color: var(--neo-white);
	appearance: textfield;
	-moz-appearance: textfield;
	-webkit-appearance: none;
	height: 44px;
	padding: 0 24px;
	width: 72px;
}

.single-product div.product .summary .quantity input::-webkit-inner-spin-button,
.single-product div.product .summary .quantity input::-webkit-outer-spin-button {
	display: none;
}

.neo-quantity-control {
	display: inline-flex;
	position: relative;
}

.neo-quantity-button {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 0;
	color: rgba(237, 245, 247, 0.9);
	display: flex;
	height: 42px;
	justify-content: center;
	line-height: 1;
	padding: 0;
	position: absolute;
	top: 1px;
	width: 22px;
	z-index: 1;
}

.neo-quantity-button--decrease {
	left: 1px;
}

.neo-quantity-button--increase {
	right: 1px;
}

.neo-quantity-button:hover,
.neo-quantity-button:focus-visible {
	background: rgba(47, 229, 234, 0.12);
	box-shadow: none;
	color: #fff;
	transform: none;
}

.single-product div.product .summary .single_add_to_cart_button {
	background: linear-gradient(180deg, #19d9e5 0%, #1bd4e7 100%);
	border: 1px solid rgba(47, 229, 234, 0.58);
	border-radius: 10px;
	color: var(--neo-ink);
	font-size: 0.84rem;
	font-weight: 800;
	height: 44px;
	letter-spacing: 0.02em;
	min-width: 220px;
	padding: 0 22px;
	transition: filter 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.single-product div.product .summary .single_add_to_cart_button:hover,
.single-product div.product .summary .single_add_to_cart_button:focus-visible {
	box-shadow: 0 0 24px rgba(47, 229, 234, 0.22);
	filter: brightness(1.04);
	transform: translateY(-1px);
}

.single-product div.product .product_meta {
	border-top: 1px solid rgba(143, 165, 175, 0.14);
	color: rgba(223, 234, 240, 0.64);
	display: grid;
	font-size: 0.78rem;
	gap: 8px;
	line-height: 1.5;
	margin-top: 24px;
	padding-top: 16px;
}

.single-product div.product .product_meta > span {
	display: block;
}

.single-product div.product .product_meta .sku,
.single-product div.product .product_meta .posted_in {
	color: rgba(223, 234, 240, 0.78);
}

.single-product div.product .product_meta .sku_wrapper {
	display: none;
}

.single-product div.product .product_meta a {
	color: var(--neo-cyan);
}

/* --- Certificat d'analyse (CoA) — onglet Documentation --- */
.single-product div.product .neo-coa-tab__eyebrow {
	color: var(--neo-cyan);
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	margin: 0 0 6px;
	text-transform: uppercase;
}

.single-product div.product .neo-coa-tab__title {
	color: var(--neo-white);
	font-size: 1rem;
	font-weight: 700;
	margin: 0 0 20px;
}

.single-product div.product .neo-coa-tab__grid {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
}

.single-product div.product .neo-coa-tab__item {
	align-items: center;
	background: rgba(11, 27, 36, 0.55);
	border: 1px solid rgba(143, 165, 175, 0.16);
	border-radius: 9px;
	display: flex;
	justify-content: space-between;
	gap: 10px;
	min-width: 0;
	padding: 11px 14px;
}

.single-product div.product .neo-coa-tab__item--single {
	grid-column: 1 / -1;
	justify-content: center;
}

.single-product div.product .neo-coa-tab__dosage {
	color: rgba(223, 234, 240, 0.68);
	flex: 1 1 auto;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	min-width: 0;
	text-transform: uppercase;
	white-space: nowrap;
}

.single-product div.product .neo-coa-tab__link {
	color: var(--neo-cyan);
	font-size: 0.82rem;
	font-weight: 700;
	white-space: nowrap;
}

.single-product div.product .neo-coa-tab__link:hover { color: var(--neo-white); }

.single-product div.product .neo-coa-tab__pending {
	color: var(--neo-steel);
	flex: 0 0 auto;
	font-size: 0.78rem;
	font-style: italic;
	margin: 0;
	white-space: nowrap;
}

@media (max-width: 520px) {
	.single-product div.product .neo-coa-tab__item {
		align-items: flex-start;
		flex-direction: column;
	}

	.single-product div.product .neo-coa-tab__dosage {
		flex: 0 0 auto;
	}
}

/* --- Disclaimer eau bactériostatique (Peptides de recherche uniquement) --- */
/* Placé sous l'image produit (colonne gauche), via woocommerce_product_thumbnails. */
.single-product div.product .neo-peptide-disclaimer {
	background: rgba(242, 180, 92, 0.08);
	border: 1px solid rgba(242, 180, 92, 0.35);
	border-radius: 10px;
	color: #f2b45c;
	font-size: 0.84rem;
	line-height: 1.5;
	margin: 16px 0 0;
	padding: 12px 16px;
}

/* Méta produit (Catégorie) remontée juste sous le bouton Ajouter au panier. */
.single-product div.product .summary .product_meta {
	border-top: 1px solid rgba(143, 165, 175, 0.14);
	margin-top: 18px;
	padding-top: 14px;
}

.single-product div.product .woocommerce-tabs {
	border-top: 1px solid rgba(143, 165, 175, 0.14);
	clear: both;
	padding-top: 28px;
}

/* Onglets façon "fiche technique / documentation scientifique" : soulignement discret
   plutôt que des boutons carrés, actif identifié par le cyan de la charte. */
.single-product div.product .woocommerce-tabs ul.tabs {
	border-bottom: 1px solid rgba(143, 165, 175, 0.16);
	display: flex;
	flex-wrap: wrap;
	gap: 4px 28px;
	margin: 0 0 28px;
	padding: 0;
	-webkit-overflow-scrolling: touch;
}

.single-product div.product .woocommerce-tabs ul.tabs::before,
.single-product div.product .woocommerce-tabs ul.tabs::after {
	display: none;
}

.single-product div.product .woocommerce-tabs ul.tabs li {
	background: transparent;
	border: 0;
	border-radius: 0;
	color: rgba(223, 234, 240, 0.56);
	margin: 0;
	padding: 0 0 14px;
	position: relative;
}

.single-product div.product .woocommerce-tabs ul.tabs li::before,
.single-product div.product .woocommerce-tabs ul.tabs li::after {
	display: none;
}

.single-product div.product .woocommerce-tabs ul.tabs li::after {
	background: var(--neo-cyan);
	bottom: -1px;
	content: '';
	display: block;
	height: 2px;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.25s ease, opacity 0.25s ease;
	width: 100%;
}

.single-product div.product .woocommerce-tabs ul.tabs li a {
	color: inherit;
	display: inline-block;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	padding: 0;
	transition: color 0.2s ease;
	text-transform: uppercase;
	white-space: nowrap;
}

.single-product div.product .woocommerce-tabs ul.tabs li:hover a {
	color: rgba(223, 234, 240, 0.86);
}

.single-product div.product .woocommerce-tabs ul.tabs li.active {
	background: transparent;
	border: 0;
	color: var(--neo-cyan);
}

.single-product div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--neo-cyan);
}

.single-product div.product .woocommerce-tabs ul.tabs li.active::after {
	transform: scaleX(1);
}

.single-product div.product .woocommerce-tabs .panel {
	background: rgba(7, 18, 27, 0.38);
	border: 1px solid rgba(143, 165, 175, 0.12);
	border-radius: 12px;
	color: rgba(223, 234, 240, 0.8);
	font-size: 0.94rem;
	line-height: 1.75;
	margin: 0;
	padding: 30px 32px;
}

.single-product div.product .woocommerce-tabs .panel h2 {
	color: var(--neo-white);
	font-size: 0.98rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	margin: 26px 0 10px;
	text-transform: none;
}

.single-product div.product .woocommerce-tabs .panel h2:first-child { margin-top: 0; }

.single-product div.product .woocommerce-tabs .panel p { margin: 0 0 14px; }
.single-product div.product .woocommerce-tabs .panel p:last-child { margin-bottom: 0; }

/* Description du Kit : hiérarchie compacte et homogène dans l'onglet natif. */
.postid-68.single-product div.product .woocommerce-tabs .panel h2,
.postid-68.single-product div.product .woocommerce-tabs .panel h3,
.postid-68.single-product div.product .woocommerce-tabs .panel h4 {
	color: var(--neo-white);
	font-size: 0.98rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.4;
	margin: 28px 0 10px;
	text-transform: uppercase;
}

.postid-68.single-product div.product .woocommerce-tabs .panel h2:first-child { margin-top: 0; }
.postid-68.single-product div.product .woocommerce-tabs .panel ul { margin: 0 0 18px; padding-left: 1.25rem; }
.postid-68.single-product div.product .woocommerce-tabs .panel li { margin: 0 0 5px; }

/* Onglet "Informations techniques" : tableau clé/valeur sobre, sans grille lourde. */
.single-product div.product .neo-technical-table {
	border-collapse: collapse;
	margin: 0;
	width: 100%;
}

.single-product div.product .neo-technical-table tr {
	border-bottom: 1px solid rgba(143, 165, 175, 0.14);
}

.single-product div.product .neo-technical-table tr:last-child { border-bottom: 0; }

.single-product div.product .neo-technical-table th,
.single-product div.product .neo-technical-table td {
	padding: 13px 10px;
	text-align: left;
	vertical-align: top;
}

.single-product div.product .neo-technical-table th {
	color: var(--neo-cyan);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	width: 42%;
}

.single-product div.product .neo-technical-table td {
	color: rgba(223, 234, 240, 0.86);
	font-size: 0.9rem;
}

/* Onglet "Conservation & Manipulation" : 2 cartes sobres, sans étapes ni flèche */
.single-product div.product .neo-storage-grid {
	align-items: stretch;
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(2, 1fr);
}

.single-product div.product .neo-storage-card {
	background: rgba(11, 27, 36, 0.55);
	border: 1px solid rgba(143, 165, 175, 0.16);
	border-radius: 12px;
	padding: 20px 22px;
}

.single-product div.product .neo-storage-card--active {
	background: rgba(47, 229, 234, 0.05);
	border-color: rgba(47, 229, 234, 0.32);
}

.single-product div.product .neo-storage-card__title {
	border-bottom: 1px solid rgba(143, 165, 175, 0.16);
	color: var(--neo-white);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin: 0 0 16px;
	padding-bottom: 12px;
	text-transform: uppercase;
}

.single-product div.product .neo-storage-card__facts {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
}

.single-product div.product .neo-storage-card__facts > div {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.single-product div.product .neo-storage-card__facts dt {
	color: rgba(223, 234, 240, 0.5);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.single-product div.product .neo-storage-card__facts dd {
	color: rgba(223, 234, 240, 0.92);
	font-size: 0.88rem;
	line-height: 1.4;
	margin: 0;
}

/* Sélecteur renforcé : la règle générique ".panel p { margin: 0 0 14px }" (plus spécifique
   qu'un simple ".neo-storage-note") écrasait sinon notre marge et provoquait un chevauchement
   avec les cartes de conservation juste au-dessus. */
.single-product div.product .woocommerce-tabs .panel .neo-storage-note {
	align-items: flex-start;
	background: rgba(242, 180, 92, 0.08);
	border: 1px solid rgba(242, 180, 92, 0.3);
	border-radius: 10px;
	color: #f2b45c;
	display: flex;
	font-size: 0.84rem;
	gap: 8px;
	line-height: 1.5;
	margin: 22px 0 0;
	padding: 12px 16px;
}

@media (max-width: 640px) {
	.single-product div.product .neo-storage-grid {
		grid-template-columns: 1fr;
	}
}

/* Onglet "Publications scientifiques" */
.single-product div.product .neo-publications-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.single-product div.product .neo-publications-list li {
	border-bottom: 1px solid rgba(143, 165, 175, 0.14);
	padding: 16px 0;
}

.single-product div.product .neo-publications-list li:last-child { border-bottom: 0; padding-bottom: 0; }
.single-product div.product .neo-publications-list li:first-child { padding-top: 0; }

.single-product div.product .neo-publications-list__title {
	color: var(--neo-white);
	font-size: 0.92rem;
	font-style: italic;
	font-weight: 600;
	margin: 0 0 4px;
}

.single-product div.product .neo-publications-list__source {
	color: rgba(223, 234, 240, 0.6);
	font-size: 0.8rem;
	margin: 0 0 8px;
}

.single-product div.product .neo-publications-list__link {
	color: var(--neo-cyan);
	font-size: 0.82rem;
	font-weight: 700;
}

.single-product div.product .neo-publications-list__link:hover { color: var(--neo-white); }

.single-product div.product .neo-scientific-warning {
	background: rgba(47, 229, 234, 0.06);
	border: 1px solid rgba(47, 229, 234, 0.34);
	border-left: 3px solid var(--neo-cyan);
	border-radius: 8px;
	color: rgba(223, 234, 240, 0.7);
	font-size: 0.78rem;
	line-height: 1.65;
	margin-top: 28px;
	padding: 16px 18px;
}

.single-product div.product .neo-scientific-warning strong {
	color: var(--neo-cyan);
	display: block;
	font-size: 0.7rem;
	letter-spacing: 0.12em;
	margin-bottom: 8px;
}

.single-product div.product .neo-scientific-warning p {
	margin: 0;
}

.single-product div.product .woocommerce-tabs .shop_attributes {
	border: 0;
	margin: 0;
}

.single-product div.product .woocommerce-tabs .shop_attributes th,
.single-product div.product .woocommerce-tabs .shop_attributes td {
	background: transparent;
	border-bottom: 1px solid rgba(143, 165, 175, 0.12);
	color: rgba(223, 234, 240, 0.78);
	padding: 12px 8px;
}

.single-product div.product .woocommerce-tabs .shop_attributes th {
	color: var(--neo-cyan);
	font-weight: 700;
}

.single-product div.product .related.products {
	border-top: 1px solid rgba(143, 165, 175, 0.14);
	clear: both;
	margin-top: 28px;
	padding-top: 28px;
}

.single-product div.product .related.products > h2 {
	color: var(--neo-white);
	font-size: clamp(1.7rem, 2.5vw, 2.5rem);
	margin-bottom: 14px;
}

.single-product div.product .related.products ul.products {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 960px) {
	.single-product div.product .related.products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.single-product div.product {
		margin: 20px auto 42px;
		padding: 16px;
	}

	.single-product div.product .summary {
		padding: 12px 4px 0;
	}

	.single-product div.product .woocommerce-tabs ul.tabs {
		flex-wrap: nowrap;
		gap: 22px;
		overflow-x: auto;
		padding-bottom: 2px;
	}

	.single-product div.product .woocommerce-tabs ul.tabs li { flex: 0 0 auto; }

	.single-product div.product .woocommerce-tabs .panel {
		padding: 22px 18px;
	}

	.single-product div.product .neo-technical-table th,
	.single-product div.product .neo-technical-table td {
		display: block;
		padding: 4px 0;
		width: 100%;
	}

	.single-product div.product .neo-technical-table tr {
		display: block;
		padding: 10px 0;
	}

	.single-product div.product .summary form.cart {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
	}

	.single-product div.product .summary .woocommerce-variation-add-to-cart {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
		width: 100%;
	}

	.single-product div.product .summary .quantity {
		display: inline-flex;
		margin: 0;
	}

	.single-product div.product .summary .single_add_to_cart_button {
		margin: 0;
		min-width: 0;
		width: 100%;
	}
}

.single-product div.product .variations_form .variations {
	border: 0;
	margin: 20px 0 14px;
	width: 100%;
}

.single-product div.product .variations_form .variations tr {
	display: flex;
	flex-direction: column;
	gap: 7px;
}

.single-product div.product .variations_form .variations td,
.single-product div.product .variations_form .variations th {
	display: block;
	padding: 0;
	text-align: left;
}

.single-product div.product .variations_form .variations label {
	color: rgba(223, 234, 240, 0.78);
	display: block;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.single-product div.product .variations_form .variations select {
	appearance: none;
	-webkit-appearance: none;
	background-color: rgba(11, 27, 36, 0.9);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21 21' fill='none'%3E%3Cpath d='M6 8.5L10.5 13L15 8.5' stroke='%23edf5f7' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	background-position: calc(100% - 20px) center !important;
	background-repeat: no-repeat;
	background-size: 14px 14px !important;
	border: 1px solid rgba(143, 165, 175, 0.24);
	border-radius: 8px;
	color: var(--neo-white);
	color-scheme: dark;
	font-size: 0.82rem;
	height: 40px;
	max-width: 340px;
	padding: 0 36px 0 12px;
	width: 100%;
}

.single-product div.product .variations_form .variations select:hover,
.single-product div.product .variations_form .variations select:focus {
	border-color: rgba(47, 229, 234, 0.72);
	box-shadow: 0 0 0 3px rgba(47, 229, 234, 0.1);
	outline: 0;
}

@media (max-width: 960px) {
	.primary-nav { display: none; }
	/* Panneau déroulant plein largeur sous le header quand le menu mobile est ouvert. */
	.primary-nav.is-open {
		background: rgb(5, 15, 22);
		border-bottom: 1px solid var(--neo-line);
		box-shadow: 0 18px 40px -20px rgba(0, 0, 0, 0.6);
		display: block;
		left: 0;
		margin-left: 0;
		position: absolute;
		right: 0;
		top: 100%;
		z-index: 30;
	}
	.primary-nav.is-open .primary-menu {
		align-items: stretch;
		flex-direction: column;
		gap: 0;
		padding: 8px 24px 20px;
	}
	.primary-nav.is-open .primary-menu li {
		border-top: 1px solid var(--neo-line);
	}
	.primary-nav.is-open .primary-menu li:first-child {
		border-top: 0;
	}
	.primary-nav.is-open .primary-menu a {
		display: block;
		padding: 14px 0;
	}
	.primary-nav.is-open .header-cart a {
		padding-left: 0;
	}
	.menu-toggle { display: block; margin-left: auto; }
	.site-header__inner { gap: 18px; }
	.site-header__mobile-actions { align-items: center; display: flex; gap: 6px; margin-left: auto; order: 1; }
	.site-header__mobile-action { align-items: center; border: 1px solid transparent; border-radius: 8px; color: var(--neo-mist); display: inline-flex; height: 42px; justify-content: center; width: 42px; }
	.site-header__mobile-action:hover,
	.site-header__mobile-action:focus-visible { border-color: rgba(47, 229, 234, 0.35); color: var(--neo-cyan); outline: 0; }
	.site-header__mobile-action svg { fill: none; height: 21px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; width: 21px; }
	.neo-lang-switcher { margin-left: 0; order: 2; position: absolute; left: 50%; transform: translateX(-50%); }
	.menu-toggle { margin-left: 0; order: 3; }
	.site-brand { order: 0; }
	.hero__inner { grid-template-columns: 1fr; padding-top: var(--neo-space-2xl); min-height: auto; }
	.hero__content,
	.hero__visual { grid-column: 1 / -1; }
	.hero__content { padding-left: 0; }
	.hero__visual { margin-top: var(--neo-space-xl); }
	.clause__body,
	.clause__visual,
	.editorial__text,
	.dossier { grid-column: 1 / -1; }
	.clause__visual,
	.dossier { margin-top: var(--neo-space-lg); }
	.clause__visual { aspect-ratio: 16 / 9; max-width: 420px; }
	.about-hero__content,
	.about-hero__visual { grid-column: 1 / -1; }
	.about-hero__visual { aspect-ratio: 16 / 9; margin-top: var(--neo-space-xl); max-width: 420px; }
	.about-quality__grid { grid-template-columns: 1fr; }
	.about-values__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--neo-space-xl) var(--neo-gutter); }
	.about-values__item:nth-child(2n+1) { padding-left: 0; }
	.about-values__item:nth-child(2n+1)::before { display: none; }
	.product-grid,
	.shop-content ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
	.container { width: min(100% - 32px, var(--neo-container)); }
	.container--narrow { width: min(100% - 32px, var(--neo-container-narrow)); }
	.site-header__inner { flex-wrap: wrap; padding-bottom: 10px; gap: 5px; padding-left: 16px; padding-right: 16px; }
	.site-header__inner > .neo-search { flex: 1 0 100%; margin: 0; max-width: none; order: 4; width: 100%; }
	/* Téléphone : langue + compte + panier + hamburger regroupés à droite sur une seule ligne.
	   `position: relative` est conservé, le menu déroulant des langues s'y ancre. */
	.neo-lang-switcher { margin-left: auto; order: 1; position: relative; left: auto; transform: none; }
	.neo-lang-switcher__toggle { font-size: 0.74rem; height: 36px; padding: 0 6px; }
	.site-header__mobile-actions { gap: 6px; margin-left: 0; order: 2; }
	.site-header__mobile-action { height: 36px; width: 36px; }
	.site-header__mobile-account { order: 1; }
	.site-header__mobile-cart { order: 2; }
	.menu-toggle { order: 3; }
	.woocommerce-product-gallery__image img.zoomImg { display: none !important; }
	.single-product .woocommerce-tabs .wc-tabs { max-width: 100%; overflow-x: auto; }
	.single-product .product_title { white-space: normal; overflow-wrap: break-word; }
	.about-hero__title,
	.hero__title {
		font-size: clamp(1.75rem, 7.8vw, 2.35rem);
		letter-spacing: -0.03em;
		line-height: 1.16;
		max-width: 100%;
		overflow-wrap: break-word;
		text-wrap: balance;
		white-space: normal;
		word-break: normal;
		hyphens: none;
	}
	.site-brand__wordmark { font-size: 1.04rem; }
	.site-brand__baseline { letter-spacing: 0.12em; }
	.site-header__actions { display: none; }
	.hero__inner { padding-top: var(--neo-space-xl); padding-bottom: var(--neo-space-xl); }
	.hero__intro { font-size: 1rem; }
	.hero__composition { max-width: 240px; }
	.hero__emblem { width: min(58%, 165px); }
	.button--primary,
	.button--ghost { width: 100%; }
	.product-grid,
	.shop-content ul.products,
	.site-footer__grid { grid-template-columns: 1fr; }
	.shop-content .woocommerce-products-header { margin-bottom: 28px; }
	.shop-content .page-title { margin-bottom: 16px; }
	.shop-content .woocommerce-result-count { margin-bottom: 16px; }
	.shop-content .woocommerce-ordering { margin-bottom: 22px; text-align: left; }
	.front-products__header { align-items: flex-start; flex-direction: column; }
	.clause,
	.editorial,
	.quality { padding: var(--neo-space-2xl) 0; }
	.clause__visual { max-width: none; }
	.dossier__stat { font-size: 2.4rem; }
	.quality__row { gap: var(--neo-space-xl) var(--neo-gutter); }
	.quality__item { grid-column: 1 / -1; }
	.closing-nav__list { gap: var(--neo-space-sm) var(--neo-space-lg); }
	.site-footer__bottom { align-items: flex-start; flex-direction: column; gap: 8px; }
	.about-hero,
	.about-mission,
	.about-quality,
	.about-values,
	.about-commitment { padding: var(--neo-space-2xl) 0; }
	.about-hero__visual { max-width: none; }
	.about-values__grid { grid-template-columns: 1fr; }
	.about-values__item,
	.about-values__item:nth-child(2n+1) { padding-left: 0; }
	.about-values__item::before { display: none; }
	.about-values__item { min-height: 0; padding: 0; }
	.about-values__grid { gap: 24px; }
	.about-values__item .about-icon--center { margin-bottom: 9px; }
	.about-values__heading { margin-bottom: 5px; }
	.about-values__text { min-height: 0; }
	.about-contact__inner { align-items: flex-start; flex-direction: column; }
	.about-contact__button { width: 100%; justify-content: center; }
}

/* ==========================================================================
   NEO PEPTIDES LAB - PREMIUM COMMERCE & CHECKOUT FINISHING STYLES
   ========================================================================== */

/* 1. Global Page Header & Section Layout */
.page-header {
	background: linear-gradient(180deg, rgba(5, 15, 22, 0.98) 0%, rgba(7, 24, 33, 0.94) 100%);
	border-bottom: 1px solid var(--neo-line);
	padding: 42px 0 28px;
	text-align: center;
}

.page-header .eyebrow {
	color: var(--neo-cyan);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.18em;
	margin: 0 0 8px;
	text-transform: uppercase;
}

.page-header h1 {
	color: var(--neo-white);
	font-size: clamp(2rem, 3.2vw, 2.8rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.15;
	margin: 0;
}

.section {
	background: linear-gradient(180deg, #071821 0%, #0b1d2b 100%);
	min-height: 60vh;
	padding: 38px 0 72px;
}

.content-width {
	margin: 0 auto;
	max-width: 960px;
	width: 100%;
}

.prose {
	color: var(--neo-white);
	font-size: 1rem;
	line-height: 1.75;
}

.prose h2 {
	color: var(--neo-white);
	font-size: clamp(1.4rem, 2.2vw, 1.85rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	margin: 36px 0 16px;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(143, 165, 175, 0.16);
}

.prose h2:first-child {
	margin-top: 0;
}

.prose h3 {
	color: var(--neo-cyan);
	font-size: 1.15rem;
	font-weight: 700;
	margin: 28px 0 12px;
}

.prose p {
	color: rgba(223, 234, 240, 0.85);
	margin: 0 0 18px;
}

.prose ul,
.prose ol {
	color: rgba(223, 234, 240, 0.82);
	margin: 0 0 22px;
	padding-left: 24px;
}

.prose li {
	margin-bottom: 8px;
	line-height: 1.6;
}

.prose strong {
	color: var(--neo-white);
}

.prose a {
	color: var(--neo-cyan);
	text-decoration: underline;
	text-underline-offset: 3px;
	transition: color 0.2s ease;
}

.prose a:hover {
	color: #fff;
}

.prose blockquote {
	background: rgba(47, 229, 234, 0.06);
	border-left: 3px solid var(--neo-cyan);
	border-radius: 0 12px 12px 0;
	color: rgba(223, 234, 240, 0.88);
	font-style: italic;
	margin: 24px 0;
	padding: 18px 24px;
}

.prose hr {
	border: 0;
	border-top: 1px solid rgba(143, 165, 175, 0.16);
	margin: 36px 0;
}

/* ==========================================================================
   GLOBAL PRODUCT NAMES IN UPPERCASE
   ========================================================================== */
.woocommerce-loop-product__title,
.woocommerce-loop-product__title a,
.product-card__body h3,
.product-card__body h3 a,
.single-product div.product .summary .product_title,
.single-product .product_title,
h1.product_title,
.wc-block-components-product-name,
.wc-block-grid__product-title,
.woocommerce-table--order-details tbody td.product-name,
.woocommerce-table--order-details tbody td.product-name a,
.woocommerce-table__product-name,
.woocommerce-table__product-name a,
.woocommerce-table--order-details tbody td a,
.shop_table tbody td.product-name a,
.shop_table tbody td.product-name,
.neo-cart-notice-product,
.widget_shopping_cart .product-name a,
.wc-block-components-order-summary-item__description .wc-block-components-product-name,
.wc-block-cart-items .wc-block-components-product-name {
	text-transform: uppercase !important;
	letter-spacing: 0.02em;
}

/* Global WooCommerce Notices & Add-to-Cart Notification */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice,
.wc-block-components-notice-banner {
	background: linear-gradient(180deg, rgba(12, 29, 39, 0.96) 0%, rgba(7, 18, 27, 0.98) 100%) !important;
	border: 1px solid rgba(47, 229, 234, 0.45) !important;
	border-left: 4px solid var(--neo-cyan) !important;
	border-radius: 14px !important;
	box-shadow: 0 12px 36px rgba(1, 15, 21, 0.45), 0 0 20px rgba(47, 229, 234, 0.12) !important;
	box-sizing: border-box !important;
	color: var(--neo-white) !important;
	font-size: 0.92rem !important;
	line-height: 1.5 !important;
	margin: 0 auto 28px !important;
	max-width: var(--neo-container) !important;
	padding: 16px 22px !important;
	position: relative !important;
}

.woocommerce-error {
	border-color: rgba(255, 92, 119, 0.45) !important;
	border-left-color: #ff5c77 !important;
	box-shadow: 0 12px 36px rgba(1, 15, 21, 0.45), 0 0 20px rgba(255, 92, 119, 0.12) !important;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	display: none !important;
}

/* Custom Add-to-Cart Notification Elements */
.neo-cart-notice-inner {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px !important;
	width: 100% !important;
	flex-wrap: wrap !important;
}

.neo-cart-notice-content {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	flex-wrap: wrap !important;
}

.neo-cart-notice-title {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	color: var(--neo-white) !important;
	font-weight: 700 !important;
	font-size: 0.95rem !important;
	letter-spacing: -0.01em !important;
}

.neo-cart-notice-check {
	background: rgba(47, 229, 234, 0.16) !important;
	border: 1.5px solid var(--neo-cyan) !important;
	border-radius: 50% !important;
	color: var(--neo-cyan) !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 0.78rem !important;
	font-weight: 900 !important;
	height: 22px !important;
	width: 22px !important;
	box-shadow: 0 0 8px rgba(47, 229, 234, 0.3) !important;
}

.neo-cart-notice-product {
	color: var(--neo-cyan) !important;
	font-size: 0.92rem !important;
	font-weight: 600 !important;
	font-style: italic !important;
}

.neo-cart-notice-btn,
.woocommerce-message a.button {
	background: linear-gradient(180deg, #19d9e5 0%, #1bd4e7 100%) !important;
	border: 0 !important;
	border-radius: 8px !important;
	box-shadow: 0 4px 14px rgba(47, 229, 234, 0.28) !important;
	color: #050f16 !important;
	display: inline-flex !important;
	align-items: center !important;
	float: none !important;
	font-size: 0.78rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.04em !important;
	margin: 0 !important;
	padding: 8px 18px !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease !important;
	white-space: nowrap !important;
}

.neo-cart-notice-btn:hover,
.woocommerce-message a.button:hover {
	filter: brightness(1.06) !important;
	box-shadow: 0 6px 20px rgba(47, 229, 234, 0.42) !important;
	transform: translateY(-1px) !important;
}

/* Lien "Annuler" de la notification de retrait, intégré au même composant que le
   bouton "Voir le panier" mais en version discrète (contour, pas de fond plein).
   Spécificité alignée sur ".woocommerce-message a.restore-item" pour la remplacer. */
.woocommerce-message a.neo-cart-notice-undo {
	background: transparent !important;
	border: 1px solid rgba(47, 229, 234, 0.5) !important;
	border-radius: 8px !important;
	color: var(--neo-cyan) !important;
	display: inline-flex !important;
	align-items: center !important;
	float: none !important;
	font-size: 0.78rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.04em !important;
	margin: 0 !important;
	padding: 8px 18px !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
	transition: border-color 0.2s ease, color 0.2s ease !important;
	white-space: nowrap !important;
}

.woocommerce-message a.neo-cart-notice-undo:hover,
.woocommerce-message a.neo-cart-notice-undo:focus-visible {
	border-color: var(--neo-cyan) !important;
	color: var(--neo-white) !important;
}

/* Le focus JS posé par WooCommerce sur les notices (accessibilité) affiche par défaut
   le contour bleu natif du navigateur, très visible et hors charte sur fond sombre. */
.woocommerce-message:focus,
.woocommerce-info:focus,
.woocommerce-error:focus {
	box-shadow: 0 0 0 2px rgba(47, 229, 234, 0.3) !important;
	outline: none !important;
}

/* Lien "Annuler ?" de la notice de suppression d'article : discret, sans soulignement,
   cohérent avec le reste des liens d'action du site plutôt que le lien bleu par défaut. */
.woocommerce-message a.restore-item {
	border-bottom: 1px dotted rgba(47, 229, 234, 0.5) !important;
	color: var(--neo-cyan) !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}

.woocommerce-message a.restore-item:hover,
.woocommerce-message a.restore-item:focus-visible {
	border-bottom-color: var(--neo-cyan) !important;
}

/* Croix "×" de suppression d'un code promo appliqué : discrète, cliquable, cohérente
   avec la charte (remplace le texte "[Remove]"/"Enlevé" natif de WooCommerce). */
.woocommerce-remove-coupon {
	color: rgba(223, 234, 240, 0.55);
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1;
	margin-left: 6px;
	text-decoration: none !important;
	transition: color 0.2s ease;
}

.woocommerce-remove-coupon:hover,
.woocommerce-remove-coupon:focus-visible {
	color: var(--neo-cyan);
}

/* La surbrillance blanche de jQuery blockUI pendant les mises à jour AJAX du panier/
   checkout (code promo, changement de moyen de paiement, suppression d'un article,
   recalcul des totaux) est remplacée par un voile sombre cohérent avec le thème. */
.blockUI.blockOverlay {
	background: rgba(5, 15, 22, 0.55) !important;
}

/* 2. WooCommerce Cart Block Styling */
.wp-block-woocommerce-cart {
	color: var(--neo-white);
}

/* Empty Cart View Styling */
.wp-block-woocommerce-empty-cart-block,
.cart-empty {
	margin: 0 auto;
	max-width: 960px;
	padding: 10px 0 20px;
}

.wc-block-cart__empty-cart__title {
	color: var(--neo-white) !important;
	font-size: clamp(1.8rem, 2.6vw, 2.4rem) !important;
	font-weight: 800 !important;
	letter-spacing: -0.03em !important;
	margin: 0 0 12px !important;
	text-align: center !important;
}

.wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
	content: "" !important;
	display: block !important;
	width: 68px !important;
	height: 68px !important;
	margin: 0 auto 20px !important;
	background-color: rgba(47, 229, 234, 0.12) !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232fe5ea' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'%3E%3C/circle%3E%3Ccircle cx='20' cy='21' r='1'%3E%3C/circle%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'%3E%3C/path%3E%3C/svg%3E") !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: 32px 32px !important;
	border: 2px solid var(--neo-cyan) !important;
	border-radius: 50% !important;
	box-shadow: 0 0 24px rgba(47, 229, 234, 0.35) !important;
}

.wc-block-cart__empty-cart__subtitle {
	color: rgba(223, 234, 240, 0.75) !important;
	font-size: 0.98rem !important;
	line-height: 1.6 !important;
	margin: 0 auto 24px !important;
	max-width: 520px !important;
	text-align: center !important;
}

.wc-block-cart__empty-cart__actions {
	display: flex !important;
	justify-content: center !important;
	margin: 0 0 48px !important;
}

.wc-block-cart__empty-cart__actions .wp-block-button__link {
	background: linear-gradient(180deg, #19d9e5 0%, #1bd4e7 100%) !important;
	border: 0 !important;
	border-radius: 12px !important;
	box-shadow: 0 6px 20px rgba(47, 229, 234, 0.28) !important;
	color: #050f16 !important;
	display: inline-flex !important;
	font-size: 0.92rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.04em !important;
	padding: 14px 34px !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease !important;
}

.wc-block-cart__empty-cart__actions .wp-block-button__link:hover {
	filter: brightness(1.06) !important;
	box-shadow: 0 10px 30px rgba(47, 229, 234, 0.45) !important;
	transform: translateY(-2px) !important;
}

.wc-block-cart__empty-cart__section-title {
	color: var(--neo-white) !important;
	font-size: 1.45rem !important;
	font-weight: 800 !important;
	letter-spacing: -0.02em !important;
	margin: 0 0 24px !important;
	text-align: center !important;
}

/* Empty cart suggested product grid */
.wp-block-woocommerce-product-new ul.wc-block-grid__products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 20px !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

.wp-block-woocommerce-product-new li.wc-block-grid__product {
	background: linear-gradient(180deg, rgba(12, 29, 39, 0.9) 0%, rgba(7, 18, 27, 0.96) 100%) !important;
	border: 1px solid rgba(143, 165, 175, 0.18) !important;
	border-radius: 14px !important;
	box-sizing: border-box !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
	margin: 0 !important;
	max-width: none !important;
	padding: 16px 14px 18px !important;
	text-align: center !important;
	transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
	width: 100% !important;
}

.wp-block-woocommerce-product-new li.wc-block-grid__product:hover {
	border-color: rgba(47, 229, 234, 0.4) !important;
	box-shadow: 0 12px 28px rgba(1, 10, 15, 0.35) !important;
	transform: translateY(-3px) !important;
}

.wp-block-woocommerce-product-new .wc-block-grid__product-link {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	text-decoration: none !important;
	width: 100% !important;
}

.wp-block-woocommerce-product-new .wc-block-grid__product-image {
	background: linear-gradient(180deg, rgba(17, 34, 44, 0.7) 0%, rgba(10, 20, 29, 0.8) 100%) !important;
	border: 1px solid rgba(143, 165, 175, 0.15) !important;
	border-radius: 10px !important;
	height: 150px !important;
	margin: 0 auto 12px !important;
	padding: 8px !important;
	width: 100% !important;
	box-sizing: border-box !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.wp-block-woocommerce-product-new .wc-block-grid__product-image img {
	aspect-ratio: 1 / 1 !important;
	height: 100% !important;
	max-height: 134px !important;
	object-fit: contain !important;
	width: 100% !important;
}

.wp-block-woocommerce-product-new .wc-block-grid__product-title {
	color: var(--neo-white) !important;
	font-size: 0.94rem !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	margin: 0 0 8px !important;
	min-height: 40px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
}

.wp-block-woocommerce-product-new .wc-block-grid__product-price {
	color: var(--neo-cyan) !important;
	font-size: 1rem !important;
	font-weight: 800 !important;
	margin: 0 0 14px !important;
}

.wp-block-woocommerce-product-new .wc-block-grid__product-add-to-cart {
	margin-top: auto !important;
	width: 100% !important;
}

.wp-block-woocommerce-product-new .wc-block-grid__product-add-to-cart .wp-block-button__link {
	background: linear-gradient(180deg, #19d9e5 0%, #1bd4e7 100%) !important;
	border: 0 !important;
	border-radius: 8px !important;
	box-sizing: border-box !important;
	color: var(--neo-ink) !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 0.74rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.02em !important;
	padding: 9px 12px !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
	transition: filter 0.2s ease, transform 0.2s ease !important;
	white-space: nowrap !important;
	width: 100% !important;
}

.wp-block-woocommerce-product-new .wc-block-grid__product-add-to-cart .wp-block-button__link:hover {
	filter: brightness(1.06) !important;
	transform: translateY(-1px) !important;
}

.wc-block-cart.wc-block-components-sidebar-layout,
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout {
	display: grid !important;
	grid-template-columns: minmax(0, 1.45fr) minmax(360px, 1fr) !important;
	gap: 32px !important;
	align-items: start !important;
	width: 100% !important;
	max-width: 100% !important;
}

.wc-block-cart__main,
.wp-block-woocommerce-cart .wc-block-components-main {
	background: linear-gradient(180deg, rgba(12, 29, 39, 0.9) 0%, rgba(7, 18, 27, 0.96) 100%);
	border: 1px solid rgba(143, 165, 175, 0.18);
	border-radius: 16px;
	box-shadow: 0 16px 40px rgba(1, 10, 15, 0.25);
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 24px 28px !important;
	width: 100% !important;
	max-width: 100% !important;
	flex: none !important;
}

.wc-block-cart-items {
	border-collapse: separate;
	border-spacing: 0 16px;
	width: 100%;
}

.wc-block-cart-items thead th {
	border-bottom: 1px solid rgba(143, 165, 175, 0.14);
	color: rgba(223, 234, 240, 0.6);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	padding-bottom: 12px;
	text-transform: uppercase;
}

.wc-block-cart-items__row {
	border-bottom: 1px solid rgba(143, 165, 175, 0.12);
}

.wc-block-cart-item__image {
	padding: 12px 14px 12px 0;
	width: 90px;
}

.wc-block-cart-item__image img {
	background: linear-gradient(180deg, rgba(17, 34, 44, 0.7) 0%, rgba(10, 20, 29, 0.8) 100%);
	border: 1px solid rgba(143, 165, 175, 0.15);
	border-radius: 10px;
	height: 80px;
	object-fit: contain;
	padding: 6px;
	width: 80px;
}

.wc-block-cart-item__product {
	padding: 12px;
	vertical-align: middle;
}

.wc-block-components-product-name {
	color: var(--neo-white) !important;
	font-size: 1.05rem !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	text-decoration: none !important;
	transition: color 0.2s ease;
	word-break: normal !important;
	overflow-wrap: break-word !important;
	white-space: normal !important;
}

.wc-block-components-product-name:hover {
	color: var(--neo-cyan) !important;
}

.wc-block-components-product-metadata {
	color: rgba(223, 234, 240, 0.6) !important;
	font-size: 0.8rem !important;
	margin: 4px 0 10px !important;
}

.wc-block-components-product-price__value {
	color: var(--neo-cyan) !important;
	font-size: 1.02rem !important;
	font-weight: 800 !important;
	white-space: nowrap !important;
}

.wc-block-components-quantity-selector {
	background: rgba(11, 27, 36, 0.9) !important;
	border: 1px solid rgba(143, 165, 175, 0.25) !important;
	border-radius: 8px !important;
	display: inline-flex !important;
	height: 38px !important;
	overflow: hidden !important;
}

.wc-block-components-quantity-selector__input {
	background: transparent !important;
	border: 0 !important;
	color: var(--neo-white) !important;
	font-size: 0.85rem !important;
	font-weight: 700 !important;
	text-align: center !important;
	width: 48px !important;
}

.wc-block-components-quantity-selector__button {
	background: transparent !important;
	border: 0 !important;
	color: rgba(237, 245, 247, 0.8) !important;
	cursor: pointer !important;
	font-size: 1rem !important;
	padding: 0 10px !important;
	transition: color 0.2s ease, background-color 0.2s ease !important;
}

.wc-block-components-quantity-selector__button:hover:not([disabled]) {
	background: rgba(47, 229, 234, 0.12) !important;
	color: var(--neo-cyan) !important;
}

.wc-block-cart-item__remove-link {
	background: transparent !important;
	border: 0 !important;
	color: rgba(223, 234, 240, 0.45) !important;
	cursor: pointer !important;
	margin-left: 12px !important;
	padding: 6px !important;
	transition: color 0.2s ease, transform 0.2s ease !important;
}

.wc-block-cart-item__remove-link:hover {
	color: #ff5c77 !important;
	transform: scale(1.1);
}

.wc-block-cart-item__remove-link svg {
	fill: currentColor !important;
}

/* Cart Sidebar / Order Summary */
.wc-block-cart__sidebar,
.wp-block-woocommerce-cart .wc-block-components-sidebar {
	background: linear-gradient(180deg, rgba(12, 29, 39, 0.94) 0%, rgba(7, 18, 27, 0.98) 100%);
	border: 1px solid rgba(47, 229, 234, 0.25);
	border-radius: 16px;
	box-shadow: 0 16px 44px rgba(1, 10, 15, 0.35);
	box-sizing: border-box !important;
	padding: 24px 26px !important;
	position: sticky;
	top: 24px;
	width: 100% !important;
	max-width: 100% !important;
	flex: none !important;
}

.wc-block-cart__totals-title {
	border-bottom: 1px solid rgba(143, 165, 175, 0.16);
	color: var(--neo-white) !important;
	font-size: 1.2rem !important;
	font-weight: 800 !important;
	letter-spacing: -0.02em !important;
	margin: 0 0 18px !important;
	padding-bottom: 14px !important;
}

.wc-block-components-totals-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: rgba(223, 234, 240, 0.8);
	font-size: 0.88rem;
	padding: 8px 0;
}

.wc-block-components-totals-item__label {
	color: rgba(223, 234, 240, 0.72);
}

.wc-block-components-totals-item__value {
	color: var(--neo-white);
	font-weight: 700;
}

.wc-block-components-totals-footer-item {
	border-top: 1px solid rgba(143, 165, 175, 0.18);
	margin-top: 14px;
	padding-top: 16px;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	color: var(--neo-white);
	font-size: 1.05rem;
	font-weight: 800;
}

.wc-block-components-totals-footer-item-tax-value {
	color: var(--neo-cyan) !important;
	font-size: 1.45rem !important;
	font-weight: 900 !important;
	letter-spacing: -0.02em;
}

.wc-block-cart__submit-button {
	background: linear-gradient(180deg, #19d9e5 0%, #1bd4e7 100%) !important;
	border: 0 !important;
	border-radius: 12px !important;
	box-shadow: 0 6px 20px rgba(47, 229, 234, 0.28) !important;
	color: #050f16 !important;
	display: flex !important;
	font-size: 0.95rem !important;
	font-weight: 800 !important;
	height: 48px !important;
	justify-content: center !important;
	letter-spacing: 0.04em !important;
	margin-top: 20px !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease !important;
	width: 100% !important;
}

.wc-block-cart__submit-button:hover {
	filter: brightness(1.05) !important;
	box-shadow: 0 10px 30px rgba(47, 229, 234, 0.42) !important;
	transform: translateY(-2px) !important;
}

/* 3. WooCommerce Checkout Block Styling */
.wp-block-woocommerce-checkout {
	color: var(--neo-white);
}

.wc-block-checkout.wc-block-components-sidebar-layout,
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout {
	display: grid !important;
	grid-template-columns: minmax(0, 1.45fr) minmax(380px, 1fr) !important;
	gap: 32px !important;
	align-items: start !important;
	width: 100% !important;
	max-width: 100% !important;
}

.wc-block-checkout__main,
.wp-block-woocommerce-checkout .wc-block-components-main {
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	flex: none !important;
}

.wc-block-components-checkout-step {
	background: linear-gradient(180deg, rgba(12, 29, 39, 0.9) 0%, rgba(7, 18, 27, 0.96) 100%);
	border: 1px solid rgba(143, 165, 175, 0.18);
	border-radius: 16px;
	box-shadow: 0 16px 40px rgba(1, 10, 15, 0.25);
	box-sizing: border-box !important;
	margin-bottom: 24px;
	padding: 24px 28px;
	width: 100% !important;
}

.wc-block-components-checkout-step__title {
	color: var(--neo-white) !important;
	font-size: 1.15rem !important;
	font-weight: 800 !important;
	letter-spacing: -0.02em !important;
	margin: 0 0 18px !important;
	padding-bottom: 12px !important;
	border-bottom: 1px solid rgba(143, 165, 175, 0.14);
}

/* Checkout Form Inputs & Float Labels */
.wc-blocks-components-select__container {
	background-color: transparent !important;
	position: relative !important;
}

.wc-block-components-text-input input,
.wc-blocks-components-select__select,
.wc-block-components-textarea textarea {
	appearance: none !important;
	-webkit-appearance: none !important;
	background-color: rgba(11, 27, 36, 0.9) !important;
	border: 1px solid rgba(143, 165, 175, 0.24) !important;
	border-radius: 10px !important;
	color: var(--neo-white) !important;
	color-scheme: dark !important;
	font-size: 0.92rem !important;
	height: 52px !important;
	padding: 20px 14px 6px !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
	width: 100% !important;
}

.wc-blocks-components-select__select {
	padding-right: 38px !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21 21' fill='none'%3E%3Cpath d='M6 8.5L10.5 13L15 8.5' stroke='%23edf5f7' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	background-position: calc(100% - 14px) center !important;
	background-repeat: no-repeat !important;
	background-size: 14px 14px !important;
}

.wc-block-components-text-input input:focus,
.wc-blocks-components-select__select:focus,
.wc-block-components-textarea textarea:focus {
	border-color: var(--neo-cyan) !important;
	box-shadow: 0 0 0 3px rgba(47, 229, 234, 0.16) !important;
	outline: none !important;
}

.wc-block-components-text-input label,
.wc-blocks-components-select__label {
	color: rgba(223, 234, 240, 0.65) !important;
	font-size: 0.76rem !important;
	font-weight: 600 !important;
	left: 14px !important;
	pointer-events: none !important;
	position: absolute !important;
	top: 7px !important;
	z-index: 2 !important;
}

.wc-block-checkout__guest-checkout-notice {
	color: rgba(223, 234, 240, 0.65) !important;
	font-size: 0.8rem !important;
	margin-top: 8px !important;
}

/* Radio Option Cards (Shipping & Payment) */
.wc-block-components-radio-control__option,
.wc-block-components-radio-control-accordion-option {
	background: rgba(7, 18, 27, 0.6) !important;
	border: 1px solid rgba(143, 165, 175, 0.2) !important;
	border-radius: 12px !important;
	cursor: pointer !important;
	margin-bottom: 12px !important;
	position: relative !important;
	transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease !important;
}

.wc-block-components-radio-control__option:hover,
.wc-block-components-radio-control-accordion-option:hover {
	border-color: rgba(47, 229, 234, 0.4) !important;
	background: rgba(12, 29, 39, 0.8) !important;
}

.wc-block-components-radio-control__option-checked,
.wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	background: rgba(47, 229, 234, 0.08) !important;
	border-color: rgba(47, 229, 234, 0.6) !important;
	box-shadow: 0 0 16px rgba(47, 229, 234, 0.12) !important;
}

/* Clear padding & space for radio inputs */
.wc-block-components-radio-control__option {
	display: block !important;
	padding: 16px 18px 16px 52px !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.wc-block-components-radio-control__option-layout {
	width: 100% !important;
}

.wc-block-components-radio-control__label-group {
	align-items: center !important;
	display: flex !important;
	justify-content: space-between !important;
	width: 100% !important;
}

.wc-block-components-radio-control-accordion-option {
	padding: 0 !important;
	overflow: hidden !important;
}

.wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	margin: 0 !important;
	padding: 16px 18px 16px 52px !important;
}

.wc-block-components-radio-control-accordion-content {
	color: rgba(223, 234, 240, 0.78) !important;
	font-size: 0.84rem !important;
	line-height: 1.5 !important;
	padding: 0 18px 16px 52px !important;
}

/* Radio input precise position & visual indicator */
.wc-block-components-radio-control .wc-block-components-radio-control__input,
.wp-block-woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control .wc-block-components-radio-control__input,
input[type="radio"].wc-block-components-radio-control__input {
	appearance: none !important;
	-webkit-appearance: none !important;
	background: #0b1d2a !important;
	border: 2px solid rgba(143, 165, 175, 0.45) !important;
	border-radius: 50% !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	cursor: pointer !important;
	display: block !important;
	height: 22px !important;
	width: 22px !important;
	left: 18px !important;
	top: 18px !important;
	transform: none !important;
	margin: 0 !important;
	position: absolute !important;
	transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease !important;
}

.wc-block-components-radio-control .wc-block-components-radio-control__input:checked,
.wp-block-woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control .wc-block-components-radio-control__input:checked,
.wc-block-components-radio-control__option-checked .wc-block-components-radio-control__input,
.wc-block-components-radio-control-accordion-option--checked-option-highlighted .wc-block-components-radio-control__input {
	background: radial-gradient(circle at center, #2fe5ea 0%, #2fe5ea 5px, #0b1d2a 6px, #0b1d2a 100%) !important;
	border: 2px solid #2fe5ea !important;
	box-shadow: 0 0 10px rgba(47, 229, 234, 0.4) !important;
}

/* Checkbox alignment */
.wc-block-components-checkbox label {
	align-items: center !important;
	display: inline-flex !important;
	gap: 12px !important;
	cursor: pointer !important;
}

.wc-block-components-checkbox__input {
	appearance: none !important;
	-webkit-appearance: none !important;
	background: rgba(11, 27, 36, 0.9) !important;
	border: 2px solid rgba(143, 165, 175, 0.4) !important;
	border-radius: 6px !important;
	cursor: pointer !important;
	flex-shrink: 0 !important;
	height: 20px !important;
	width: 20px !important;
	margin: 0 !important;
	position: static !important;
	transition: border-color 0.2s ease, background 0.2s ease !important;
}

.wc-block-components-checkbox__input:checked {
	background-color: var(--neo-cyan) !important;
	border-color: var(--neo-cyan) !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23050f16'%3E%3Cpath d='M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z'/%3E%3C/svg%3E") !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: 14px !important;
}

.wc-block-components-checkbox__mark {
	display: none !important;
}

.wc-block-components-radio-control__label {
	color: var(--neo-white) !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
}

.wc-block-components-radio-control__secondary-label {
	color: var(--neo-cyan) !important;
	font-weight: 800 !important;
	white-space: nowrap !important;
}

/* Checkout Place Order Button */
.wc-block-components-checkout-place-order-button {
	background: linear-gradient(180deg, #19d9e5 0%, #1bd4e7 100%) !important;
	border: 0 !important;
	border-radius: 12px !important;
	box-shadow: 0 6px 20px rgba(47, 229, 234, 0.28) !important;
	color: #050f16 !important;
	cursor: pointer !important;
	font-size: 1rem !important;
	font-weight: 800 !important;
	height: 52px !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease !important;
	width: 100% !important;
}

.wc-block-components-checkout-place-order-button:hover {
	filter: brightness(1.05) !important;
	box-shadow: 0 10px 30px rgba(47, 229, 234, 0.42) !important;
	transform: translateY(-2px) !important;
}

/* Checkout Sidebar / Sticky Summary */
.wc-block-checkout__sidebar,
.wp-block-woocommerce-checkout .wc-block-components-sidebar {
	background: linear-gradient(180deg, rgba(12, 29, 39, 0.94) 0%, rgba(7, 18, 27, 0.98) 100%);
	border: 1px solid rgba(47, 229, 234, 0.25);
	border-radius: 16px;
	box-shadow: 0 16px 44px rgba(1, 10, 15, 0.35);
	box-sizing: border-box !important;
	padding: 24px 26px !important;
	position: sticky;
	top: 24px;
	width: 100% !important;
	max-width: 100% !important;
	flex: none !important;
}

.wc-block-components-checkout-order-summary__title-text {
	color: var(--neo-white) !important;
	font-size: 1.2rem !important;
	font-weight: 800 !important;
}

.wc-block-components-order-summary-item {
	align-items: flex-start;
	border-bottom: 1px solid rgba(143, 165, 175, 0.12);
	display: flex;
	gap: 14px;
	padding: 14px 0;
	width: 100%;
}

.wc-block-components-order-summary-item__image {
	background: rgba(17, 34, 44, 0.7);
	border: 1px solid rgba(143, 165, 175, 0.15);
	border-radius: 8px;
	flex-shrink: 0;
	height: 52px;
	padding: 4px;
	width: 52px;
}

.wc-block-components-order-summary-item__image img {
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.wc-block-components-order-summary-item__quantity {
	background: var(--neo-cyan) !important;
	color: var(--neo-ink) !important;
	font-weight: 800 !important;
}

.wc-block-components-order-summary-item__description {
	flex: 1 1 auto;
	min-width: 0;
}

.wc-block-components-order-summary-item__description .wc-block-components-product-name {
	color: var(--neo-white) !important;
	display: block;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	word-break: normal !important;
	overflow-wrap: break-word !important;
}

.wc-block-components-order-summary-item__description .wc-block-components-product-metadata__description {
	color: rgba(223, 234, 240, 0.6) !important;
	font-size: 0.78rem !important;
	line-height: 1.4 !important;
	margin-top: 4px;
}

.wc-block-components-order-summary-item__total-price {
	flex-shrink: 0;
	margin-left: 10px;
	text-align: right;
	white-space: nowrap;
}

.wc-block-components-order-summary-item__quantity {
	background: var(--neo-cyan) !important;
	color: var(--neo-ink) !important;
	font-weight: 800 !important;
}

/* Clear WooCommerce legacy floats and pseudo-elements on all order_details lists */
.woocommerce ul.order_details::before,
.woocommerce ul.order_details::after,
.woocommerce-order-pay ul.order_details::before,
.woocommerce-order-pay ul.order_details::after,
.woocommerce-order-overview.order_details::before,
.woocommerce-order-overview.order_details::after {
	display: none !important;
	content: none !important;
	width: 0 !important;
	height: 0 !important;
}

.woocommerce ul.order_details,
.woocommerce-order-pay ul.order_details,
.woocommerce-order-overview.order_details {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 16px !important;
	list-style: none !important;
	margin: 0 auto 36px !important;
	padding: 0 !important;
	width: 100% !important;
	align-items: stretch !important;
}

.woocommerce ul.order_details li,
.woocommerce-order-pay ul.order_details li,
.woocommerce-order-overview.order_details li {
	background: linear-gradient(180deg, rgba(12, 29, 39, 0.92) 0%, rgba(7, 18, 27, 0.96) 100%) !important;
	border: 1px solid rgba(143, 165, 175, 0.18) !important;
	border-radius: 14px !important;
	box-sizing: border-box !important;
	display: flex !important;
	flex-direction: column !important;
	font-size: 0.72rem !important;
	gap: 6px !important;
	justify-content: center !important;
	align-items: center !important;
	letter-spacing: 0.08em !important;
	padding: 16px 12px !important;
	text-align: center !important;
	text-transform: uppercase !important;
	min-height: 96px !important;
	float: none !important;
	margin: 0 !important;
}

.woocommerce ul.order_details li strong,
.woocommerce-order-pay ul.order_details li strong,
.woocommerce-order-overview.order_details li strong {
	color: var(--neo-cyan) !important;
	display: block !important;
	font-size: 0.95rem !important;
	font-weight: 800 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	line-height: 1.3 !important;
}

/* 4. Shadow Software Crypto Payment Screen (order-pay) */
.woocommerce-order-pay {
	width: 100%;
}

.woocommerce-order-pay .woocommerce {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 auto !important;
	max-width: 820px !important;
	width: 100% !important;
}

.shadow-eth-pay {
	--she-green: var(--neo-cyan);
	--she-line: rgba(143, 165, 175, 0.2);
	--she-muted: rgba(223, 234, 240, 0.65);

	background: linear-gradient(180deg, rgba(12, 29, 39, 0.96) 0%, rgba(7, 18, 27, 0.98) 100%) !important;
	border: 1px solid rgba(47, 229, 234, 0.3) !important;
	border-radius: 20px !important;
	box-shadow: 0 24px 64px rgba(1, 15, 21, 0.5) !important;
	box-sizing: border-box !important;
	color: var(--neo-white);
	margin: 0 auto 36px !important;
	max-width: 820px !important;
	padding: 36px 44px !important;
	width: 100% !important;
}

.shadow-eth-pay__heading {
	color: var(--neo-white);
	font-size: 1.45rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	margin: 0 0 12px;
	text-align: center;
}

.shadow-eth-pay__amount {
	font-size: 1.15rem;
	margin: 0 0 6px;
	text-align: center;
}

.shadow-eth-pay__hint {
	color: rgba(223, 234, 240, 0.7);
	font-size: 0.88rem;
	margin: 0 0 20px;
	text-align: center;
}

.shadow-eth-pay__field label {
	color: rgba(223, 234, 240, 0.75);
	display: block;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin-bottom: 8px;
	text-align: center;
	text-transform: uppercase;
}

.shadow-eth-pay__form-intro {
	color: rgba(223, 234, 240, 0.75);
	font-size: 0.88rem;
	line-height: 1.55;
	margin: 0 0 20px;
	text-align: center;
}

.shadow-eth-pay select,
.shadow-eth-pay input[type="text"] {
	appearance: none;
	-webkit-appearance: none;
	background-color: rgba(11, 27, 36, 0.9) !important;
	border: 1px solid rgba(143, 165, 175, 0.28) !important;
	border-radius: 10px !important;
	color: var(--neo-white) !important;
	color-scheme: dark !important;
	font-size: 0.92rem !important;
	height: 46px !important;
	padding: 0 14px !important;
	width: 100% !important;
}

.shadow-eth-pay select:focus,
.shadow-eth-pay input[type="text"]:focus {
	border-color: var(--neo-cyan) !important;
	box-shadow: 0 0 0 3px rgba(47, 229, 234, 0.16) !important;
	outline: none !important;
}

.shadow-eth-pay__amount-callout {
	background: rgba(47, 229, 234, 0.08);
	border: 1px solid rgba(47, 229, 234, 0.3);
	border-radius: 14px;
	margin: 18px 0;
	padding: 16px 20px;
	text-align: center;
}

.shadow-eth-pay strong {
	color: var(--neo-cyan);
	font-size: 1.25rem;
}

.shadow-eth-pay__address-value {
	background: rgba(5, 15, 22, 0.9) !important;
	border: 1px solid rgba(143, 165, 175, 0.22) !important;
	border-radius: 10px !important;
	color: #ffffff !important;
	font-family: ui-monospace, Menlo, Consolas, monospace !important;
	font-size: 0.85rem !important;
	padding: 10px 14px !important;
	word-break: break-all !important;
}

.shadow-eth-pay__copy {
	background: rgba(47, 229, 234, 0.14) !important;
	border: 1px solid rgba(47, 229, 234, 0.45) !important;
	border-radius: 8px !important;
	color: var(--neo-cyan) !important;
	cursor: pointer !important;
	font-size: 0.8rem !important;
	font-weight: 700 !important;
	padding: 8px 16px !important;
	transition: all 0.2s ease !important;
}

.shadow-eth-pay__copy:hover {
	background: var(--neo-cyan) !important;
	color: var(--neo-ink) !important;
}

.shadow-eth-pay__qr {
	display: flex;
	justify-content: center;
	margin: 18px 0;
}

.shadow-eth-pay__qr svg,
.shadow-eth-pay__qr canvas,
.shadow-eth-pay__qr img {
	background: #ffffff !important;
	border: 2px solid rgba(47, 229, 234, 0.4) !important;
	border-radius: 14px !important;
	box-shadow: 0 0 28px rgba(47, 229, 234, 0.2) !important;
	height: 180px !important;
	padding: 10px !important;
	width: 180px !important;
}

.shadow-eth-pay__submit {
	background: linear-gradient(180deg, #19d9e5 0%, #1bd4e7 100%) !important;
	border: 0 !important;
	border-radius: 12px !important;
	box-shadow: 0 6px 20px rgba(47, 229, 234, 0.28) !important;
	color: #050f16 !important;
	cursor: pointer !important;
	font-size: 0.95rem !important;
	font-weight: 800 !important;
	height: 48px !important;
	letter-spacing: 0.03em !important;
	text-transform: uppercase !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease !important;
	width: 100% !important;
}

.shadow-eth-pay__submit:hover {
	box-shadow: 0 10px 30px rgba(47, 229, 234, 0.42) !important;
	transform: translateY(-2px) !important;
}

.shadow-eth-pay__spinner {
	border: 3px solid rgba(47, 229, 234, 0.18) !important;
	border-top-color: var(--neo-cyan) !important;
	box-shadow: 0 0 16px rgba(47, 229, 234, 0.3) !important;
	margin: 20px auto !important;
}

/* Crypto Disclaimer & Confirmation on order-pay */
.neo-crypto-disclaimer {
	margin-bottom: 28px;
	text-align: left;
}

.neo-crypto-disclaimer__main-title {
	color: var(--neo-white);
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	line-height: 1.35;
	margin: 0 0 20px;
}

.neo-crypto-disclaimer__section {
	margin-bottom: 18px;
}

.neo-crypto-disclaimer__section:last-of-type {
	margin-bottom: 0;
}

.neo-crypto-disclaimer__section-title {
	color: var(--neo-white);
	font-size: 0.9rem;
	font-weight: 700;
	margin: 0 0 5px;
}

.neo-crypto-disclaimer__section p:not(.neo-crypto-disclaimer__section-title) {
	color: rgba(223, 234, 240, 0.9);
	font-size: 0.9rem;
	line-height: 1.6;
	margin: 0;
}

.neo-crypto-disclaimer__highlight {
	color: var(--neo-cyan);
	font-weight: 700;
}

.neo-crypto-disclaimer__example {
	border-top: 1px solid var(--she-line);
	margin-top: 18px;
	padding-top: 16px;
}

.neo-crypto-disclaimer__example-title {
	color: rgba(223, 234, 240, 0.6);
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	margin: 0 0 8px;
}

.neo-crypto-disclaimer__example-row {
	color: rgba(223, 234, 240, 0.9);
	font-size: 0.88rem;
	line-height: 1.55;
	margin: 0 0 6px;
}

.neo-crypto-disclaimer__example-row:last-child {
	margin-bottom: 0;
}

/* Confirmation Box */
.neo-crypto-confirmation-box {
	background: rgba(11, 27, 36, 0.55);
	border: 1px solid var(--she-line);
	border-radius: 10px;
	margin: 24px 0 20px;
	padding: 16px 18px;
	text-align: left;
}

.neo-crypto-confirmation-box__label {
	align-items: flex-start;
	cursor: pointer;
	display: flex;
	gap: 12px;
	margin: 0;
}

.neo-crypto-confirmation-box__label input[type="checkbox"] {
	accent-color: var(--neo-cyan);
	cursor: pointer;
	flex-shrink: 0;
	height: 20px !important;
	margin-top: 2px;
	min-width: 20px !important;
	width: 20px !important;
}

.neo-crypto-confirmation-box__text {
	color: rgba(223, 234, 240, 0.9);
	font-size: 0.88rem;
	line-height: 1.5;
}

.neo-crypto-asset-field {
	margin-top: 24px;
}

.shadow-eth-pay__submit:disabled {
	box-shadow: none !important;
	cursor: not-allowed !important;
	filter: grayscale(0.7) !important;
	opacity: 0.38 !important;
	pointer-events: none;
	transform: none !important;
}

@media (max-width: 640px) {
	.shadow-eth-pay {
		border-radius: 14px !important;
		padding: 24px 16px !important;
	}

	.neo-crypto-disclaimer__main-title {
		font-size: 0.98rem;
	}

	.neo-crypto-disclaimer__section p:not(.neo-crypto-disclaimer__section-title) {
		font-size: 0.86rem;
	}

	.neo-crypto-disclaimer__example-row {
		font-size: 0.84rem;
	}

	.neo-crypto-confirmation-box {
		padding: 14px 16px;
	}

	.neo-crypto-confirmation-box__text {
		font-size: 0.84rem;
	}
}


/* 5. Order Confirmation / Thank You Page (order-received) */
.woocommerce-order {
	margin: 0 auto;
	max-width: 960px;
}

/* Order Banners */
.neo-order-banner {
	border-radius: 18px;
	box-shadow: 0 18px 48px rgba(1, 15, 21, 0.38);
	color: #ffffff !important;
	margin-bottom: 28px !important;
	padding: 28px 32px !important;
	text-align: center;
}

.neo-order-banner--success {
	background: linear-gradient(180deg, rgba(47, 229, 234, 0.12) 0%, rgba(12, 29, 39, 0.95) 100%);
	border: 1px solid rgba(47, 229, 234, 0.45);
}

.neo-order-banner--bacs {
	background: linear-gradient(180deg, rgba(234, 179, 47, 0.12) 0%, rgba(12, 29, 39, 0.95) 100%);
	border: 1px solid rgba(234, 179, 47, 0.45);
}

.neo-order-banner--failed {
	background: linear-gradient(180deg, rgba(255, 92, 119, 0.12) 0%, rgba(12, 29, 39, 0.95) 100%);
	border: 1px solid rgba(255, 92, 119, 0.45);
}

.neo-order-banner__badge {
	width: 52px;
	height: 52px;
	line-height: 48px;
	border-radius: 50%;
	font-size: 1.6rem;
	font-weight: 900;
	margin: 0 auto 14px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.neo-order-banner--success .neo-order-banner__badge {
	background: rgba(47, 229, 234, 0.18);
	border: 2px solid var(--neo-cyan);
	color: var(--neo-cyan);
	box-shadow: 0 0 24px rgba(47, 229, 234, 0.35);
}

.neo-order-banner--bacs .neo-order-banner__badge {
	background: rgba(234, 179, 47, 0.18);
	border: 2px solid #eab32f;
	color: #eab32f;
	box-shadow: 0 0 24px rgba(234, 179, 47, 0.35);
}

.neo-order-banner__heading {
	color: var(--neo-white) !important;
	font-size: 1.4rem !important;
	font-weight: 800 !important;
	letter-spacing: -0.02em;
	margin: 0 0 8px !important;
}

.neo-order-banner__msg {
	color: rgba(223, 234, 240, 0.78) !important;
	font-size: 0.94rem !important;
	line-height: 1.55;
	margin: 0 auto !important;
	max-width: 600px;
}

/* BACS Dedicated Bank Details Panel */
.neo-bacs-details-panel {
	background: linear-gradient(180deg, rgba(12, 29, 39, 0.96) 0%, rgba(7, 18, 27, 0.98) 100%);
	border: 1px solid rgba(47, 229, 234, 0.35);
	border-radius: 18px;
	box-shadow: 0 20px 52px rgba(1, 15, 21, 0.45);
	margin-bottom: 32px;
	padding: 28px 32px;
}

.neo-bacs-details-panel__header {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	border-bottom: 1px solid rgba(143, 165, 175, 0.15);
	margin-bottom: 22px;
	padding-bottom: 18px;
}

.neo-bacs-details-panel__icon {
	background: rgba(47, 229, 234, 0.12);
	border: 1px solid rgba(47, 229, 234, 0.3);
	border-radius: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
	height: 48px;
	min-width: 48px;
	box-shadow: 0 0 16px rgba(47, 229, 234, 0.2);
}

.neo-bacs-details-panel__title {
	color: var(--neo-white) !important;
	font-size: 1.25rem !important;
	font-weight: 800 !important;
	letter-spacing: -0.02em;
	margin: 0 0 6px !important;
}

.neo-bacs-details-panel__subtitle {
	color: rgba(223, 234, 240, 0.72) !important;
	font-size: 0.88rem !important;
	line-height: 1.5;
	margin: 0 !important;
}

/* BACS Grid */
.neo-bacs-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 20px;
}

.neo-bacs-card {
	background: rgba(7, 18, 27, 0.75);
	border: 1px solid rgba(143, 165, 175, 0.2);
	border-radius: 12px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 16px 18px;
	position: relative;
}

.neo-bacs-card--highlight {
	border-color: rgba(47, 229, 234, 0.45);
	background: rgba(47, 229, 234, 0.06);
}

.neo-bacs-card--reference {
	border-color: rgba(47, 229, 234, 0.55);
	background: linear-gradient(180deg, rgba(47, 229, 234, 0.1) 0%, rgba(7, 18, 27, 0.8) 100%);
	grid-column: span 2;
}

.neo-bacs-card__label {
	color: rgba(223, 234, 240, 0.65);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.neo-bacs-card__value {
	color: var(--neo-white);
	font-size: 1.05rem;
	font-weight: 800;
}

.neo-bacs-card__value--mono {
	font-family: ui-monospace, Menlo, Consolas, monospace;
	letter-spacing: 0.04em;
}

.neo-bacs-card__value--cyan {
	color: var(--neo-cyan) !important;
	font-size: 1.18rem !important;
	letter-spacing: 0.05em;
}

.neo-bacs-copy-btn {
	position: absolute;
	right: 14px;
	top: 14px;
	background: rgba(47, 229, 234, 0.12) !important;
	border: 1px solid rgba(47, 229, 234, 0.35) !important;
	border-radius: 6px !important;
	color: var(--neo-cyan) !important;
	cursor: pointer !important;
	font-size: 0.72rem !important;
	font-weight: 700 !important;
	padding: 4px 10px !important;
	transition: all 0.2s ease !important;
}

.neo-bacs-copy-btn:hover {
	background: var(--neo-cyan) !important;
	color: var(--neo-ink) !important;
}

.neo-bacs-notice {
	background: rgba(234, 179, 47, 0.08);
	border: 1px solid rgba(234, 179, 47, 0.3);
	border-left: 3px solid #eab32f;
	border-radius: 8px;
	padding: 12px 16px;
}

.neo-bacs-notice p {
	color: rgba(223, 234, 240, 0.85);
	font-size: 0.84rem;
	line-height: 1.5;
	margin: 0;
}

.neo-bacs-notice strong {
	color: #eab32f;
}

/* Bottom Back to Shop Action */
.neo-order-bottom-actions {
	display: flex;
	justify-content: center;
	margin-top: 36px;
}

.neo-order-back-btn {
	background: linear-gradient(180deg, #19d9e5 0%, #1bd4e7 100%) !important;
	border: 0 !important;
	border-radius: 12px !important;
	box-shadow: 0 6px 20px rgba(47, 229, 234, 0.28) !important;
	color: #050f16 !important;
	display: inline-flex !important;
	align-items: center !important;
	font-size: 0.92rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.04em !important;
	padding: 14px 32px !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease !important;
}

.neo-order-back-btn:hover {
	filter: brightness(1.06) !important;
	box-shadow: 0 10px 30px rgba(47, 229, 234, 0.45) !important;
	transform: translateY(-2px) !important;
}

.woocommerce-thankyou-order-received {
	background: linear-gradient(180deg, rgba(47, 229, 234, 0.12) 0%, rgba(12, 29, 39, 0.95) 100%);
	border: 1px solid rgba(47, 229, 234, 0.45);
	border-radius: 18px;
	box-shadow: 0 18px 48px rgba(1, 15, 21, 0.38);
	color: #ffffff !important;
	font-size: 1.35rem !important;
	font-weight: 800 !important;
	letter-spacing: -0.02em;
	margin-bottom: 28px !important;
	padding: 24px 32px !important;
	text-align: center;
}

.woocommerce-thankyou-order-received::before {
	content: "✓";
	display: block;
	width: 52px;
	height: 52px;
	line-height: 48px;
	background: rgba(47, 229, 234, 0.18);
	border: 2px solid var(--neo-cyan);
	border-radius: 50%;
	color: var(--neo-cyan);
	font-size: 1.6rem;
	font-weight: 900;
	margin: 0 auto 12px;
	box-shadow: 0 0 24px rgba(47, 229, 234, 0.35);
}

/* Order Overview Stat Cards Grid */
.woocommerce-order-overview.order_details {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 16px !important;
	list-style: none !important;
	margin: 0 0 32px !important;
	padding: 0 !important;
}

.woocommerce-order-overview.order_details li {
	background: linear-gradient(180deg, rgba(12, 29, 39, 0.92) 0%, rgba(7, 18, 27, 0.96) 100%);
	border: 1px solid rgba(143, 165, 175, 0.18);
	border-radius: 14px;
	display: flex !important;
	flex-direction: column !important;
	font-size: 0.75rem !important;
	gap: 6px !important;
	justify-content: center !important;
	letter-spacing: 0.08em !important;
	padding: 16px 18px !important;
	text-align: center !important;
	text-transform: uppercase !important;
}

.woocommerce-order-overview.order_details li strong {
	color: var(--neo-cyan) !important;
	display: block !important;
	font-size: 1.12rem !important;
	font-weight: 800 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
}

/* Encarts récapitulatifs (Numéro / Date / Montant / Moyen de paiement) : passage en
   2 colonnes x 2 lignes sur mobile, pour les deux parcours (SEPA et Telegram). */
@media (max-width: 640px) {
	.woocommerce ul.order_details,
	.woocommerce-order-pay ul.order_details,
	.woocommerce-order-overview.order_details {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px !important;
	}

	.woocommerce ul.order_details li,
	.woocommerce-order-pay ul.order_details li,
	.woocommerce-order-overview.order_details li {
		font-size: 0.66rem !important;
		min-height: 84px !important;
		padding: 14px 10px !important;
	}

	.woocommerce-order-overview.order_details li strong {
		font-size: 0.92rem !important;
		hyphens: none !important;
		overflow-wrap: break-word !important;
		word-break: normal !important;
	}
}

/* Order Details Table */
.woocommerce-order-details {
	background: linear-gradient(180deg, rgba(12, 29, 39, 0.92) 0%, rgba(7, 18, 27, 0.96) 100%);
	border: 1px solid rgba(143, 165, 175, 0.18);
	border-radius: 16px;
	box-shadow: 0 16px 40px rgba(1, 10, 15, 0.25);
	margin-bottom: 28px;
	padding: 24px 28px;
}

.woocommerce-order-details__title,
.woocommerce-column__title {
	border-bottom: 1px solid rgba(143, 165, 175, 0.14);
	color: var(--neo-white) !important;
	font-size: 1.2rem !important;
	font-weight: 800 !important;
	letter-spacing: -0.02em !important;
	margin: 0 0 18px !important;
	padding-bottom: 12px !important;
}

.woocommerce-table--order-details {
	border-collapse: separate;
	border-spacing: 0;
	width: 100%;
}

.woocommerce-table--order-details th,
.woocommerce-table--order-details td {
	border-bottom: 1px solid rgba(143, 165, 175, 0.12);
	padding: 14px 12px;
}

.woocommerce-table--order-details thead th {
	color: rgba(223, 234, 240, 0.6);
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.woocommerce-table--order-details tbody td a {
	color: var(--neo-white);
	font-size: 0.98rem;
	font-weight: 700;
	text-decoration: none;
	transition: color 0.2s ease;
}

.woocommerce-table--order-details tbody td a:hover {
	color: var(--neo-cyan);
}

.woocommerce-table--order-details thead th.product-total,
.woocommerce-table--order-details tbody td.product-total {
	text-align: right;
	white-space: nowrap;
}

.woocommerce-table--order-details tbody td.product-name .wc-item-meta {
	list-style: none;
	margin: 3px 0 0;
	padding: 0;
}

.woocommerce-table--order-details tbody td.product-name .wc-item-meta li {
	color: rgba(223, 234, 240, 0.65);
	font-size: 0.8rem;
	font-weight: 400;
	line-height: 1.4;
}

.woocommerce-table--order-details tbody td.product-name .wc-item-meta-label {
	color: rgba(223, 234, 240, 0.65);
	font-weight: 600;
}

.woocommerce-table--order-details tfoot th {
	text-align: left;
}

.woocommerce-table--order-details tfoot th {
	color: rgba(223, 234, 240, 0.72);
	font-size: 0.88rem;
	font-weight: 600;
}

.woocommerce-table--order-details tfoot td {
	color: var(--neo-white);
	font-weight: 700;
	text-align: right;
}

.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-table--order-details tfoot tr:last-child td {
	border-bottom: 0;
	color: var(--neo-cyan);
	font-size: 1.15rem;
	font-weight: 900;
	padding-top: 18px;
}

/* Détails de la commande — parcours Telegram uniquement (le parcours SEPA n'est pas
   touché ici, conformément à la demande). Corrige le débordement horizontal du tableau
   sur mobile (le "white-space: nowrap" du desktop empêchait le retour à la ligne). */
@media (max-width: 640px) {
	/* Le conteneur de page applique de larges marges latérales. On les compense
	   uniquement pour le parcours Telegram afin d'exploiter presque toute la largeur. */
	.neo-order-confirmation--neo_telegram_payment .neo-telegram-reference,
	.neo-order-confirmation--neo_telegram_payment .woocommerce-order-details {
		margin-left: -18px;
		margin-right: -18px;
		max-width: none;
		width: auto;
	}

	.neo-order-confirmation--neo_telegram_payment .woocommerce-order-details {
		padding: 18px 14px;
	}

	.neo-order-confirmation--neo_telegram_payment .woocommerce-table--order-details {
		table-layout: fixed;
	}

	.neo-order-confirmation--neo_telegram_payment .woocommerce-table--order-details th,
	.neo-order-confirmation--neo_telegram_payment .woocommerce-table--order-details td {
		padding: 12px 6px;
	}

	.neo-order-confirmation--neo_telegram_payment .woocommerce-table--order-details thead th.product-name,
	.neo-order-confirmation--neo_telegram_payment .woocommerce-table--order-details tbody td.product-name,
	.neo-order-confirmation--neo_telegram_payment .woocommerce-table--order-details tfoot th {
		width: 54%;
	}

	.neo-order-confirmation--neo_telegram_payment .woocommerce-table--order-details thead th.product-total,
	.neo-order-confirmation--neo_telegram_payment .woocommerce-table--order-details tbody td.product-total,
	.neo-order-confirmation--neo_telegram_payment .woocommerce-table--order-details tfoot td {
		width: 46%;
		font-size: 0.86rem;
		white-space: normal;
		word-break: normal;
	}

	.neo-order-confirmation--neo_telegram_payment .woocommerce-table--order-details thead th.product-total {
		white-space: normal;
	}

	.neo-order-confirmation--neo_telegram_payment .woocommerce-table--order-details .woocommerce-Price-amount {
		white-space: nowrap;
	}

	.neo-order-confirmation--neo_telegram_payment .woocommerce-table--order-details .shipped_via {
		display: block;
		font-size: 0.72rem;
		margin-top: 2px;
		white-space: normal;
	}

	.neo-order-confirmation--neo_telegram_payment .woocommerce-table--order-details tbody td a {
		font-size: 0.9rem;
	}

	.neo-order-confirmation--neo_telegram_payment .woocommerce-table--order-details tfoot th {
		font-size: 0.8rem;
	}
}

/* Customer Addresses Cards */
.woocommerce .woocommerce-customer-details .col2-set::before,
.woocommerce .woocommerce-customer-details .col2-set::after,
.woocommerce-customer-details .col2-set::before,
.woocommerce-customer-details .col2-set::after,
.woocommerce-columns--addresses::before,
.woocommerce-columns--addresses::after {
	display: none !important;
	content: none !important;
	width: 0 !important;
	height: 0 !important;
}

.woocommerce-customer-details {
	margin: 0 auto 32px !important;
	width: 100% !important;
}

.woocommerce .woocommerce-customer-details .col2-set,
.woocommerce-customer-details .col2-set,
.woocommerce-columns--addresses {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 24px !important;
	width: 100% !important;
	margin: 0 auto !important;
}

.woocommerce .woocommerce-customer-details .col-1,
.woocommerce .woocommerce-customer-details .col-2,
.woocommerce-customer-details .col-1,
.woocommerce-customer-details .col-2,
.woocommerce-column--billing-address,
.woocommerce-column--shipping-address {
	background: linear-gradient(180deg, rgba(12, 29, 39, 0.92) 0%, rgba(7, 18, 27, 0.96) 100%) !important;
	border: 1px solid rgba(143, 165, 175, 0.18) !important;
	border-radius: 16px !important;
	box-shadow: 0 16px 40px rgba(1, 10, 15, 0.25) !important;
	box-sizing: border-box !important;
	float: none !important;
	margin: 0 !important;
	padding: 24px 28px !important;
	width: 100% !important;
	max-width: 100% !important;
}

.woocommerce-customer-details address {
	color: rgba(223, 234, 240, 0.85);
	font-style: normal;
	font-size: 0.9rem;
	line-height: 1.7;
}

.woocommerce-customer-details--phone,
.woocommerce-customer-details--email {
	color: rgba(223, 234, 240, 0.7);
	font-size: 0.85rem;
	margin: 6px 0 0;
}

/* Responsive Overrides */
@media (max-width: 960px) {
	.wc-block-cart.wc-block-components-sidebar-layout,
	.wc-block-checkout.wc-block-components-sidebar-layout {
		grid-template-columns: 1fr !important;
	}

	.woocommerce-order-overview.order_details,
	.woocommerce-order-pay ul.order_details {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.wp-block-woocommerce-product-new ul.wc-block-grid__products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.woocommerce .woocommerce-customer-details .col2-set,
	.woocommerce-customer-details .col2-set,
	.woocommerce-columns--addresses {
		grid-template-columns: 1fr !important;
	}

	.neo-bacs-grid {
		grid-template-columns: 1fr !important;
	}

	.neo-bacs-card--reference {
		grid-column: span 1 !important;
	}
}

@media (max-width: 640px) {
	.page-header {
		padding: 28px 0 20px;
	}

	.page-header h1 {
		font-size: 1.85rem;
	}

	.section {
		padding: 24px 0 48px;
	}

	.wc-block-cart__main,
	.wc-block-cart__sidebar,
	.wc-block-components-checkout-step,
	.wc-block-checkout__sidebar,
	.shadow-eth-pay,
	.woocommerce-order-details,
	.woocommerce-column--billing-address,
	.woocommerce-column--shipping-address {
		border-radius: 14px;
		padding: 18px 16px !important;
	}

	.woocommerce-order-overview.order_details,
	.woocommerce-order-pay ul.order_details {
		grid-template-columns: 1fr !important;
	}

	.wp-block-woocommerce-product-new ul.wc-block-grid__products {
		grid-template-columns: 1fr !important;
	}

	.neo-cart-notice-inner {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 12px !important;
	}

	.neo-cart-notice-btn {
		width: 100% !important;
		justify-content: center !important;
	}

	.shadow-eth-pay__qr svg,
	.shadow-eth-pay__qr canvas,
	.shadow-eth-pay__qr img {
		height: 150px !important;
		width: 150px !important;
	}
}

/* ==========================================================================
   DOCUMENTATION PAGE
   ========================================================================== */

.doc-intro {
	margin-bottom: 36px;
}

.doc-section {
	margin: 40px 0;
}

.doc-section--highlight {
	background: rgba(47, 229, 234, 0.04);
	border: 1px solid rgba(47, 229, 234, 0.2);
	border-radius: 14px;
	padding: 28px 32px;
}

.doc-section__title {
	color: var(--neo-white);
	font-size: clamp(1.3rem, 2vw, 1.7rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	margin: 0 0 20px;
	padding-bottom: 12px;
	border-bottom: 1px solid rgba(143, 165, 175, 0.16);
}

.doc-section__body {
	margin: 0;
}

.doc-section__body p {
	color: rgba(223, 234, 240, 0.82);
	font-size: 0.95rem;
	line-height: 1.7;
	margin: 0 0 14px;
}

.doc-section__body p:last-child {
	margin-bottom: 0;
}

/* Table des certificats */
.doc-table-wrapper {
	overflow-x: auto;
	border-radius: 12px;
	border: 1px solid rgba(143, 165, 175, 0.16);
}

.doc-table {
	width: 100%;
	border-collapse: collapse;
	background: linear-gradient(180deg, rgba(10, 22, 31, 0.94) 0%, rgba(7, 18, 27, 0.96) 100%);
}

.doc-table thead {
	background: rgba(47, 229, 234, 0.06);
}

.doc-table th {
	color: var(--neo-cyan);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 14px 16px;
	text-align: left;
	border-bottom: 1px solid rgba(47, 229, 234, 0.2);
	white-space: nowrap;
}

.doc-table td {
	color: rgba(223, 234, 240, 0.85);
	font-size: 0.92rem;
	padding: 14px 16px;
	border-bottom: 1px solid rgba(143, 165, 175, 0.1);
}

.doc-table tbody tr:last-child td {
	border-bottom: none;
}

.doc-table tbody tr:hover {
	background: rgba(47, 229, 234, 0.04);
}

.doc-table__product {
	color: var(--neo-white) !important;
	font-weight: 700;
}

.doc-table__action {
	text-align: right;
	white-space: nowrap;
}

.doc-view-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	color: var(--neo-cyan);
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-decoration: none;
	white-space: nowrap;
	flex-shrink: 0;
	line-height: 1;
	padding: 10px 18px;
	border: 1px solid rgba(47, 229, 234, 0.4);
	border-radius: 12px;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.doc-view-link:hover {
	background: rgba(47, 229, 234, 0.12);
	border-color: var(--neo-cyan);
	color: var(--neo-white);
	transform: translateY(-2px);
}

.doc-view-link--pending {
	color: var(--neo-steel);
	border-color: rgba(143, 165, 175, 0.2);
	font-style: italic;
	font-weight: 600;
}

.doc-view-link--pending:hover {
	transform: none;
	background: transparent;
	border-color: rgba(143, 165, 175, 0.2);
	color: var(--neo-steel);
}

.doc-placeholder {
	background: rgba(10, 22, 31, 0.5);
	border: 1px dashed rgba(143, 165, 175, 0.25);
	border-radius: 12px;
	padding: 28px 24px;
	text-align: center;
}

.doc-placeholder p {
	color: var(--neo-steel);
	font-size: 0.92rem;
	margin: 0;
}

@media (max-width: 768px) {
	.doc-section--highlight {
		padding: 20px 18px;
	}

	.doc-table th,
	.doc-table td {
		padding: 10px 12px;
		font-size: 0.85rem;
	}

	.doc-table th {
		font-size: 0.72rem;
	}
}

@media (max-width: 640px) {
	.doc-section {
		margin: 28px 0;
	}

	.doc-table-wrapper {
		border-radius: 8px;
	}
}

/* ==========================================================================
   FAQ PAGE - ACCORDION STYLES
   ========================================================================== */

.faq-intro {
	margin-bottom: 32px;
}

.faq-accordion {
	display: flex;
	flex-direction: column;
	gap: 36px;
}

.faq-section {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.faq-section__title {
	color: var(--neo-cyan);
	font-size: 1.1rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin: 0 0 4px;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(143, 165, 175, 0.16);
}

.faq-item {
	background: linear-gradient(180deg, rgba(12, 29, 39, 0.9) 0%, rgba(7, 18, 27, 0.96) 100%);
	border: 1px solid rgba(143, 165, 175, 0.18);
	border-radius: 12px;
	overflow: hidden;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.faq-item[open] {
	border-color: rgba(47, 229, 234, 0.4);
	box-shadow: 0 4px 16px rgba(47, 229, 234, 0.08);
}

.faq-item__question {
	align-items: center;
	color: var(--neo-white);
	cursor: pointer;
	display: flex;
	font-size: 0.98rem;
	font-weight: 600;
	gap: 12px;
	justify-content: space-between;
	line-height: 1.4;
	list-style: none;
	padding: 18px 20px;
	transition: color 0.2s ease;
}

.faq-item__question::-webkit-details-marker {
	display: none;
}

.faq-item__question::after {
	border-bottom: 2px solid var(--neo-cyan);
	border-right: 2px solid var(--neo-cyan);
	content: "";
	flex-shrink: 0;
	height: 8px;
	transform: rotate(45deg);
	transition: transform 0.25s ease;
	width: 8px;
}

.faq-item[open] .faq-item__question::after {
	transform: rotate(-135deg);
}

.faq-item__question:hover {
	color: var(--neo-cyan);
}

.faq-item__answer {
	padding: 0 20px 20px;
}

.faq-item__answer p {
	color: rgba(223, 234, 240, 0.82);
	font-size: 0.92rem;
	line-height: 1.7;
	margin: 0 0 12px;
}

.faq-item__answer p:last-child {
	margin-bottom: 0;
}

.faq-item__answer ul {
	color: rgba(223, 234, 240, 0.82);
	font-size: 0.92rem;
	line-height: 1.7;
	margin: 0 0 12px;
	padding-left: 20px;
}

.faq-item__answer li {
	margin-bottom: 6px;
}

.faq-item__answer strong {
	color: var(--neo-white);
}

.faq-item__answer a {
	color: var(--neo-cyan);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.faq-item__answer a:hover {
	color: #fff;
}

.faq-warning {
	margin-top: 36px;
}

@media (max-width: 640px) {
	.faq-accordion {
		gap: 28px;
	}

	.faq-section__title {
		font-size: 0.95rem;
	}

	.faq-item__question {
		font-size: 0.88rem;
		padding: 14px 16px;
	}

	.faq-item__answer {
		padding: 0 16px 16px;
	}

	.faq-item__answer p,
	.faq-item__answer ul {
		font-size: 0.85rem;
	}
}

/* ==========================================================================
   CONTACT PAGE
   ========================================================================== */

.contact-grid {
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: 48px;
	align-items: start;
}

.contact-intro {
	margin-bottom: 32px;
}

.contact-form {
	background: rgba(10, 22, 31, 0.6);
	border: 1px solid var(--neo-line);
	border-radius: var(--neo-radius);
	padding: 32px;
}

.contact-form__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.contact-form__field {
	margin-bottom: 20px;
}

.contact-form__field label {
	display: block;
	color: var(--neo-white);
	font-size: 0.9rem;
	font-weight: 600;
	margin-bottom: 6px;
}

.contact-form__required {
	color: #ff6b6b;
}

.contact-form__optional {
	color: var(--neo-steel);
	font-weight: 400;
	font-size: 0.85rem;
}

.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form select,
.contact-form textarea {
	width: 100%;
	padding: 12px 16px;
	background: rgba(5, 15, 22, 0.8);
	border: 1px solid var(--neo-line);
	border-radius: 10px;
	color: var(--neo-white);
	font-size: 1rem;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.contact-form input[type="text"]:focus,
.contact-form input[type="email"]:focus,
.contact-form select:focus,
.contact-form textarea:focus {
	outline: none;
	border-color: var(--neo-cyan);
	box-shadow: 0 0 0 3px rgba(47, 229, 234, 0.12);
}

.contact-form textarea {
	resize: vertical;
	min-height: 120px;
}

.contact-form select {
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238fa5af' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
	padding-right: 40px;
}

.contact-form select option {
	background: var(--neo-ink);
	color: var(--neo-white);
}

.contact-form__actions {
	margin-top: 24px;
}

.contact-form__note {
	color: var(--neo-steel);
	font-size: 0.85rem;
	margin-top: 16px;
	margin-bottom: 0;
}

/* Champ piège anti-robot : invisible et ignoré des lecteurs d'écran/clavier. */
.contact-form__honeypot {
	left: -9999px;
	position: absolute;
	top: -9999px;
}

.contact-form__notice {
	border-radius: 10px;
	font-size: 0.92rem;
	margin-bottom: 20px;
	padding: 14px 18px;
}

.contact-form__notice--success {
	background: rgba(47, 229, 234, 0.08);
	border: 1px solid rgba(47, 229, 234, 0.35);
	color: var(--neo-white);
}

.contact-form__notice--error {
	background: rgba(255, 107, 107, 0.08);
	border: 1px solid rgba(255, 107, 107, 0.35);
	color: var(--neo-white);
}

.contact-form__notice--error a {
	color: var(--neo-cyan);
}

.contact-sidebar {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.contact-card {
	background: rgba(10, 22, 31, 0.6);
	border: 1px solid var(--neo-line);
	border-radius: var(--neo-radius);
	padding: 24px;
}

.contact-card--notice {
	background: rgba(47, 229, 234, 0.04);
	border-color: rgba(47, 229, 234, 0.2);
}

.contact-card__title {
	color: var(--neo-cyan);
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin: 0 0 16px;
}

.contact-card__body p {
	color: rgba(223, 234, 240, 0.85);
	font-size: 0.95rem;
	line-height: 1.6;
	margin: 0 0 8px;
}

.contact-card__body p:last-child {
	margin-bottom: 0;
}

.contact-card__company {
	color: var(--neo-white) !important;
	font-weight: 700;
	font-size: 1.05rem !important;
}

.contact-card__email a {
	color: var(--neo-cyan);
	text-decoration: none;
}

.contact-card__email a:hover {
	text-decoration: underline;
}

.contact-reasons {
	list-style: none;
	padding: 0;
	margin: 0;
}

.contact-reasons li {
	color: rgba(223, 234, 240, 0.82);
	font-size: 0.95rem;
	padding: 8px 0;
	padding-left: 20px;
	position: relative;
	line-height: 1.5;
}

.contact-reasons li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 14px;
	width: 8px;
	height: 8px;
	background: var(--neo-cyan);
	border-radius: 50%;
}

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

	.contact-sidebar {
		order: -1;
	}
}

@media (max-width: 640px) {
	.contact-form {
		padding: 20px;
	}

	.contact-form__row {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.contact-card {
		padding: 20px;
	}
}

/* ==========================================================================
   NEO PEPTIDES LAB - RECHERCHE PRODUIT
   ========================================================================== */

.neo-search {
	align-items: center;
	background: rgba(11, 29, 42, 0.85);
	border: 1px solid var(--neo-line);
	border-radius: 999px;
	display: flex;
	gap: 6px;
	padding: 4px 6px 4px 16px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.neo-search:focus-within {
	border-color: rgba(47, 229, 234, 0.6);
	box-shadow: 0 0 0 3px rgba(47, 229, 234, 0.12);
}

.neo-search__input {
	background: transparent;
	border: 0;
	color: var(--neo-white);
	flex: 1;
	font-family: var(--neo-body);
	font-size: 0.82rem;
	min-width: 0;
	outline: 0;
	padding: 8px 0;
}

.neo-search__input::placeholder { color: rgba(143, 165, 175, 0.9); }
.neo-search__input::-webkit-search-cancel-button { filter: invert(1) opacity(0.5); }

.neo-search__submit {
	align-items: center;
	background: var(--neo-cyan);
	border: 0;
	border-radius: 999px;
	color: var(--neo-ink);
	cursor: pointer;
	display: inline-flex;
	flex: 0 0 auto;
	height: 34px;
	justify-content: center;
	transition: background 0.2s ease, transform 0.2s ease;
	width: 34px;
}

.neo-search__submit:hover,
.neo-search__submit:focus-visible {
	background: var(--neo-cyan-deep);
	transform: translateY(-1px);
}

.neo-search--header {
	flex: 0 1 320px;
	margin-left: auto;
	min-width: 0;
}

.primary-nav { margin-left: 0; }

.neo-search-empty {
	background: rgba(11, 29, 42, 0.7);
	border: 1px solid var(--neo-line);
	border-radius: var(--neo-radius);
	padding: 48px 32px;
	text-align: center;
}

.neo-search-empty p {
	color: var(--neo-mist);
	margin: 0 0 6px;
}

.neo-search-empty p + p { color: var(--neo-steel); font-size: 0.9rem; }
.neo-search-empty .button { margin-top: 18px; }

@media (max-width: 1280px) {
	.neo-search--header { flex-basis: 260px; }
}

@media (max-width: 1180px) {
	.neo-search--header { flex-basis: 200px; }
}

@media (max-width: 1100px) {
	.site-header__inner { gap: 12px; }
	.neo-search--header { flex-basis: 150px; }
	.primary-menu { gap: clamp(0.45rem, 0.9vw, 1.4rem); }
}

@media (max-width: 960px) {
	.site-header__inner { flex-wrap: wrap; }
	.neo-search--header {
		flex: 1 1 100%;
		margin: 0 0 14px;
		order: 3;
	}
	.menu-toggle { margin-left: auto; }
}

.neo-max-qty-note {
	color: var(--neo-steel);
	font-size: 0.82rem;
	letter-spacing: 0.02em;
	margin: 14px 0 0;
}

/* ==========================================================================
   NEO PEPTIDES LAB - PANIER & COMMANDE (SHORTCODES CLASSIQUES)
   ========================================================================== */

.woocommerce-cart .shop-content,
.woocommerce-checkout .shop-content {
	padding-bottom: 80px;
}

/* --- Notices --- */
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-error {
	background: rgba(11, 29, 42, 0.9);
	border: 1px solid var(--neo-line);
	border-left: 3px solid var(--neo-cyan);
	border-radius: 12px;
	color: var(--neo-mist);
	font-size: 0.92rem;
	list-style: none;
	margin: 0 0 26px;
	padding: 16px 22px;
}

.woocommerce-cart .woocommerce-error,
.woocommerce-checkout .woocommerce-error {
	border-left-color: #ef8f7f;
}

.woocommerce-cart .woocommerce-message::before,
.woocommerce-cart .woocommerce-info::before,
.woocommerce-cart .woocommerce-error::before,
.woocommerce-checkout .woocommerce-message::before,
.woocommerce-checkout .woocommerce-info::before,
.woocommerce-checkout .woocommerce-error::before { display: none; }

.woocommerce-cart .woocommerce-message a.button,
.woocommerce-checkout .woocommerce-message a.button {
	background: transparent;
	border: 1px solid rgba(47, 229, 234, 0.5);
	border-radius: 999px;
	color: var(--neo-cyan);
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	padding: 8px 18px;
	text-transform: uppercase;
}

/* --- Tableau du panier --- */
.woocommerce-cart table.shop_table {
	background: rgba(11, 29, 42, 0.72);
	border: 1px solid var(--neo-line);
	border-collapse: separate;
	border-radius: var(--neo-radius);
	border-spacing: 0;
	margin-bottom: 34px;
	overflow: hidden;
	width: 100%;
}

.woocommerce-cart table.shop_table th {
	background: rgba(5, 15, 22, 0.55);
	border: 0;
	color: var(--neo-steel);
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	padding: 18px 20px;
	text-align: left;
	text-transform: uppercase;
}

.woocommerce-cart table.shop_table td {
	border: 0;
	border-top: 1px solid rgba(143, 165, 175, 0.14);
	color: var(--neo-white);
	padding: 22px 20px;
	vertical-align: middle;
}

.woocommerce-cart table.shop_table td.product-thumbnail { width: 96px; }

.woocommerce-cart table.shop_table td.product-thumbnail img {
	border: 1px solid var(--neo-line);
	border-radius: 12px;
	width: 72px;
}

.woocommerce-cart table.shop_table td.product-name a {
	color: var(--neo-white);
	font-weight: 600;
}

.woocommerce-cart table.shop_table td.product-name a:hover { color: var(--neo-cyan); }

.woocommerce-cart table.shop_table td.product-price,
.woocommerce-cart table.shop_table td.product-subtotal { white-space: nowrap; }

.woocommerce-cart table.shop_table td.product-subtotal { color: var(--neo-cyan); font-weight: 700; }

.woocommerce-cart table.shop_table td.product-remove a.remove {
	align-items: center;
	background: rgba(143, 165, 175, 0.14);
	border-radius: 50%;
	color: var(--neo-steel) !important;
	display: inline-flex;
	font-size: 1.1rem;
	height: 26px;
	justify-content: center;
	text-decoration: none;
	width: 26px;
}

.woocommerce-cart table.shop_table td.product-remove a.remove:hover {
	background: rgba(239, 143, 127, 0.2);
	color: #ef8f7f !important;
}

/* --- Champ quantité --- */
.woocommerce .quantity input.qty {
	background: rgba(5, 15, 22, 0.7);
	border: 1px solid var(--neo-line);
	border-radius: 10px;
	color: var(--neo-white);
	color-scheme: dark;
	height: 42px;
	padding: 0 8px;
	text-align: center;
	width: 76px;
}

.woocommerce .quantity input.qty:focus {
	border-color: rgba(47, 229, 234, 0.6);
	box-shadow: 0 0 0 3px rgba(47, 229, 234, 0.12);
	outline: 0;
}

/* --- Ligne actions du panier (coupon + mise à jour) --- */
/* La cellule d'actions garde son display natif : `flex` casserait le colspan du tableau. */
.woocommerce-cart table.shop_table td.actions {
	background: rgba(5, 15, 22, 0.4);
	overflow: hidden;
	padding: 22px 20px;
}

.woocommerce-cart .coupon {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	float: left;
	gap: 12px;
	max-width: 560px;
	width: 60%;
}

.woocommerce-cart .coupon label { display: none; }

.woocommerce-cart .coupon input.input-text {
	background: rgba(5, 15, 22, 0.7);
	border: 1px solid var(--neo-line);
	border-radius: 999px;
	color: var(--neo-white);
	flex: 1 1 240px;
	font-size: 0.9rem;
	height: 46px;
	max-width: none;
	min-width: 200px;
	padding: 0 20px;
	width: auto;
}

.woocommerce-cart td.actions button[name="update_cart"] { float: right; }

.woocommerce-cart .coupon input.input-text::placeholder { color: var(--neo-steel); }

.woocommerce-cart .coupon input.input-text:focus {
	border-color: rgba(47, 229, 234, 0.6);
	box-shadow: 0 0 0 3px rgba(47, 229, 234, 0.12);
	outline: 0;
}

.woocommerce-cart .coupon .button { flex: 0 0 auto; white-space: nowrap; }

.woocommerce-cart td.actions .button {
	background: transparent;
	border: 1px solid rgba(47, 229, 234, 0.45);
	border-radius: 999px;
	color: var(--neo-cyan);
	font-size: 0.7rem;
	font-weight: 700;
	height: 46px;
	letter-spacing: 0.1em;
	padding: 0 24px;
	text-transform: uppercase;
	transition: background 0.2s ease, color 0.2s ease;
}

.woocommerce-cart td.actions .button:hover:not(:disabled) {
	background: var(--neo-cyan);
	color: var(--neo-ink);
}

.woocommerce-cart td.actions .button:disabled { opacity: 0.45; }

/* --- Totaux du panier --- */
.woocommerce-cart .cart-collaterals { display: flex; justify-content: flex-end; }

.woocommerce-cart .cart_totals {
	background: rgba(11, 29, 42, 0.85);
	border: 1px solid var(--neo-line);
	border-radius: var(--neo-radius);
	padding: 30px 32px;
	width: min(100%, 460px);
}

.woocommerce-cart .cart_totals h2 {
	color: var(--neo-white);
	font-size: 0.78rem;
	letter-spacing: 0.18em;
	margin: 0 0 18px;
	text-transform: uppercase;
}

.woocommerce-cart .cart_totals table.shop_table {
	background: transparent;
	border: 0;
	border-radius: 0;
	margin: 0;
}

.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
	background: transparent;
	border-top: 1px solid rgba(143, 165, 175, 0.14);
	font-size: 0.92rem;
	letter-spacing: 0;
	padding: 14px 0;
	text-transform: none;
}

.woocommerce-cart .cart_totals table.shop_table tr:first-child th,
.woocommerce-cart .cart_totals table.shop_table tr:first-child td { border-top: 0; }

.woocommerce-cart .cart_totals table.shop_table th { color: var(--neo-steel); font-weight: 500; width: 45%; }
.woocommerce-cart .cart_totals table.shop_table td { color: var(--neo-white); text-align: right; }

.woocommerce-cart .cart_totals .order-total th { color: var(--neo-white); font-weight: 700; }
.woocommerce-cart .cart_totals .order-total td { color: var(--neo-cyan); font-size: 1.3rem; font-weight: 800; }

.woocommerce-cart .woocommerce-shipping-methods { list-style: none; margin: 0; padding: 0; }
.woocommerce-cart .woocommerce-shipping-methods li { margin-bottom: 8px; }
.woocommerce-cart .woocommerce-shipping-destination { color: var(--neo-steel); font-size: 0.82rem; }
.woocommerce-cart .shipping-calculator-button { color: var(--neo-cyan); font-size: 0.82rem; }

.woocommerce-cart .wc-proceed-to-checkout { padding: 22px 0 0; }

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	background: var(--neo-cyan);
	border-radius: 999px;
	color: var(--neo-ink);
	display: block;
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	padding: 18px 24px;
	text-align: center;
	text-transform: uppercase;
	transition: background 0.2s ease, transform 0.2s ease;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
	background: var(--neo-cyan-deep);
	transform: translateY(-1px);
}

/* --- Checkout : coupon --- */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { margin-bottom: 20px; }

.woocommerce-checkout form.checkout_coupon {
	background: rgba(11, 29, 42, 0.85);
	border: 1px solid var(--neo-line);
	border-radius: var(--neo-radius);
	margin-bottom: 30px;
	padding: 26px 28px;
}

.woocommerce-checkout form.checkout_coupon .form-row { margin-bottom: 0; }

/* --- Checkout : colonnes --- */
.woocommerce-checkout form.checkout.woocommerce-checkout {
	display: grid;
	gap: 34px;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	align-items: start;
}

.woocommerce-checkout form.checkout #customer_details,
.woocommerce-checkout form.checkout .woocommerce-checkout-review-order,
.woocommerce-checkout form.checkout #order_review_heading {
	float: none;
	width: auto;
}

.woocommerce-checkout form.checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; }
.woocommerce-checkout form.checkout #order_review_heading { grid-column: 2; grid-row: 1; margin: 0 0 16px; }
.woocommerce-checkout form.checkout #order_review { grid-column: 2; grid-row: 2; }

.woocommerce-checkout form.checkout .col2-set { display: block; width: 100%; }
.woocommerce-checkout form.checkout .col2-set .col-1,
.woocommerce-checkout form.checkout .col2-set .col-2 { float: none; width: 100%; }
.woocommerce-checkout form.checkout .col2-set .col-2 { margin-top: 26px; }

.woocommerce-checkout #customer_details .woocommerce-billing-fields,
.woocommerce-checkout #customer_details .woocommerce-shipping-fields,
.woocommerce-checkout #customer_details .woocommerce-additional-fields {
	background: rgba(11, 29, 42, 0.72);
	border: 1px solid var(--neo-line);
	border-radius: var(--neo-radius);
	padding: 30px 32px;
}

.woocommerce-checkout #customer_details .woocommerce-shipping-fields,
.woocommerce-checkout #customer_details .woocommerce-additional-fields { margin-top: 24px; }

.woocommerce-checkout #customer_details h3,
.woocommerce-checkout #order_review_heading {
	color: var(--neo-white);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	margin: 0 0 22px;
	text-transform: uppercase;
}

/* --- Checkout : champs --- */
.woocommerce-checkout .form-row { margin: 0 0 18px; padding: 0; }
.woocommerce-checkout .form-row label {
	color: var(--neo-steel);
	display: block;
	font-size: 0.72rem;
	letter-spacing: 0.06em;
	margin-bottom: 8px;
	text-transform: uppercase;
}

.woocommerce-checkout .form-row .required { color: var(--neo-cyan); text-decoration: none; }

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container--default .select2-selection--single {
	background: rgba(5, 15, 22, 0.7);
	border: 1px solid var(--neo-line);
	border-radius: 10px;
	color: var(--neo-white);
	color-scheme: dark;
	font-family: var(--neo-body);
	font-size: 0.92rem;
	height: 48px;
	line-height: 46px;
	padding: 0 14px;
	width: 100%;
}

.woocommerce-checkout .form-row textarea { height: 110px; line-height: 1.5; padding: 12px 14px; }

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
	border-color: rgba(47, 229, 234, 0.6);
	box-shadow: 0 0 0 3px rgba(47, 229, 234, 0.12);
	outline: 0;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: var(--neo-white);
	line-height: 46px;
	padding: 0;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; }

.select2-dropdown {
	background: var(--neo-ink-2);
	border: 1px solid var(--neo-line);
	color: var(--neo-white);
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
	background: rgba(47, 229, 234, 0.18);
	color: var(--neo-white);
}

.select2-search--dropdown .select2-search__field {
	background: rgba(5, 15, 22, 0.8);
	border: 1px solid var(--neo-line);
	color: var(--neo-white);
}

/* --- Checkout : récapitulatif --- */
.woocommerce-checkout #order_review {
	background: rgba(11, 29, 42, 0.85);
	border: 1px solid var(--neo-line);
	border-radius: var(--neo-radius);
	padding: 30px 32px;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table {
	background: transparent;
	border: 0;
	border-collapse: collapse;
	margin: 0 0 24px;
	width: 100%;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table th,
.woocommerce-checkout table.woocommerce-checkout-review-order-table td {
	border: 0;
	border-bottom: 1px solid rgba(143, 165, 175, 0.14);
	padding: 14px 0;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.neo-checkout-addons-row td {
	border-bottom: 0;
	padding: 4px 0 10px;
	text-align: left;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table thead th {
	color: var(--neo-steel);
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table td { color: var(--neo-white); text-align: right; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-name { text-align: left; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-quantity { color: var(--neo-steel); }

.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot th {
	color: var(--neo-steel);
	font-size: 0.88rem;
	font-weight: 500;
	letter-spacing: 0;
	text-align: left;
	text-transform: none;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot .order-total th { color: var(--neo-white); font-weight: 700; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot .order-total td { color: var(--neo-cyan); font-size: 1.3rem; font-weight: 800; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr:last-child th,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr:last-child td { border-bottom: 0; }

/* --- Checkout : moyens de paiement --- */
.woocommerce-checkout #payment { background: transparent; border-radius: 0; }

.woocommerce-checkout #payment ul.wc_payment_methods {
	border: 0;
	list-style: none;
	margin: 0 0 22px;
	padding: 0;
}

.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method {
	align-items: flex-start;
	background: rgba(5, 15, 22, 0.55);
	border: 1px solid var(--neo-line);
	border-radius: 12px;
	column-gap: 10px;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 10px;
	padding: 14px 16px;
	transition: border-color 0.2s ease, background 0.2s ease;
}

.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method:has(input:checked) {
	background: rgba(47, 229, 234, 0.07);
	border-color: rgba(47, 229, 234, 0.5);
}

.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method label {
	align-items: center;
	color: var(--neo-white);
	column-gap: 8px;
	display: flex;
	flex: 1 1 auto;
	flex-wrap: wrap;
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.3;
	margin: 0;
	order: 2;
	text-transform: none;
}

/* Force les icônes de la ligne suivante sans les étirer (une image en flex-basis:100%
   serait redimensionnée à la largeur du conteneur) : le saut de ligne est porté par un
   séparateur invisible, l'icône garde sa taille naturelle et s'aligne à gauche. */
.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method label::after {
	content: "";
	flex-basis: 100%;
	height: 0;
	order: 1;
}

.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method label img {
	flex: 0 0 auto;
	height: 20px;
	margin-top: 4px;
	order: 2;
	width: auto;
}

.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method input[type="radio"] {
	accent-color: var(--neo-cyan);
	flex-shrink: 0;
	margin: 2px 0 0;
	order: 1;
}

.woocommerce-checkout #payment div.payment_box {
	background: rgba(5, 15, 22, 0.75);
	border-radius: 10px;
	color: var(--neo-mist);
	flex-basis: 100%;
	font-size: 0.86rem;
	line-height: 1.6;
	margin: 12px 0 0;
	order: 3;
	padding: 14px 16px;
}

.woocommerce-checkout #payment div.payment_box::before { display: none; }

/* La ligne crypto garde radio + texte + pastille sur une seule ligne propre :
   le radio est positionné en absolu à gauche, centré sur la hauteur de la
   première ligne (titre), le label occupe toute la largeur avec un padding
   pour le radio, et la pastille est poussée à droite. */
.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method.payment_method_shadow_eth {
	position: relative;
}

.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method.payment_method_shadow_eth input[type="radio"] {
	left: 16px;
	margin: 0;
	position: absolute;
	top: 14px; /* padding-top du li */
	transform: translateY(1px); /* léger ajustement optique pour centrer sur le texte */
}

.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method.payment_method_shadow_eth label {
	flex-wrap: nowrap;
	justify-content: flex-start;
	padding-left: 34px;
	width: 100%;
}

.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method.payment_method_shadow_eth label::after,
.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method.payment_method_shadow_eth label img {
	display: none;
}

/* Pastille "-10 %" accolée au titre du paiement en cryptomonnaie. */
.woocommerce-checkout #payment .neo-crypto-discount-badge,
.woocommerce-checkout #payment .neo-payment-surcharge-badge {
	background: var(--neo-cyan);
	border-radius: 999px;
	color: var(--neo-ink);
	display: inline-block;
	font-size: 0.68rem;
	font-weight: 900;
	letter-spacing: 0.06em;
	line-height: 1;
	margin-left: auto;
	padding: 5px 9px;
	vertical-align: 2px;
	white-space: nowrap;
}

/* Titre crypto : version courte sur mobile, complète sur desktop. */
.woocommerce-checkout #payment .neo-crypto-title-short { display: none; }
.woocommerce-checkout #payment .neo-crypto-title-full { display: inline; }

@media (max-width: 480px) {
	.woocommerce-checkout #payment .neo-crypto-title-full { display: none; }
	.woocommerce-checkout #payment .neo-crypto-title-short { display: inline; }
}

/* Disclaimer frais réseau, affiché uniquement quand l'option crypto est ouverte
   (payment_box visible). */
.woocommerce-checkout #payment .neo-crypto-discount-note {
	border-left: 2px solid var(--neo-cyan);
	color: var(--neo-mist);
	font-size: 0.8rem;
	line-height: 1.55;
	margin: 10px 0 0;
	padding: 2px 0 2px 12px;
}

.woocommerce-checkout .woocommerce-privacy-policy-text p,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper p {
	color: var(--neo-steel);
	font-size: 0.8rem;
	line-height: 1.6;
}

.woocommerce-checkout .woocommerce-privacy-policy-link { color: var(--neo-cyan); }

.woocommerce-checkout #payment .form-row.place-order { margin: 0; padding: 0; }

.woocommerce-checkout #place_order {
	background: var(--neo-cyan);
	border: 0;
	border-radius: 999px;
	color: var(--neo-ink);
	cursor: pointer;
	font-size: 0.84rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	padding: 19px 24px;
	text-transform: uppercase;
	transition: background 0.2s ease, transform 0.2s ease;
	width: 100%;
}

.woocommerce-checkout #place_order:hover { background: var(--neo-cyan-deep); transform: translateY(-1px); }

/* --- Panier vide --- */
.woocommerce-cart .neo-empty-cart {
	margin: 0 auto;
	max-width: 620px;
	padding: 76px 24px 92px;
	text-align: center;
}

.neo-empty-cart__title {
	color: var(--neo-white);
	font-size: clamp(1.8rem, 3vw, 2.55rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	margin: 0;
}

.neo-empty-cart__description {
	color: var(--neo-mist);
	font-size: 0.98rem;
	line-height: 1.6;
	margin: 14px 0 28px;
}

.woocommerce-cart .neo-empty-cart__button {
	background: var(--neo-cyan) !important;
	border-radius: 999px !important;
	color: var(--neo-ink) !important;
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	padding: 15px 30px !important;
	text-transform: uppercase;
	white-space: nowrap;
	box-sizing: border-box;
	display: block;
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
}

.woocommerce-cart .neo-empty-cart__button:hover,
.woocommerce-cart .neo-empty-cart__button:focus-visible { background: var(--neo-cyan-deep) !important; color: var(--neo-ink) !important; }

@media (max-width: 700px) {
	.woocommerce-cart .neo-empty-cart { padding: 58px 20px 70px; }
	.neo-empty-cart__description { font-size: 0.9rem; margin-bottom: 24px; }
}

@media (max-width: 1024px) {
	.woocommerce-checkout form.checkout.woocommerce-checkout { grid-template-columns: minmax(0, 1fr); }
	.woocommerce-checkout form.checkout #customer_details,
	.woocommerce-checkout form.checkout #order_review_heading,
	.woocommerce-checkout form.checkout #order_review { grid-column: 1; grid-row: auto; }
}

@media (max-width: 720px) {
	.woocommerce-cart table.shop_table thead { display: none; }
	.woocommerce-cart table.shop_table tr { display: block; padding: 8px 0; }
	.woocommerce-cart table.shop_table td {
		border-top: 0;
		display: flex;
		justify-content: space-between;
		padding: 10px 18px;
		text-align: right;
	}
	.woocommerce-cart table.shop_table tr.woocommerce-cart-form__cart-item { border-top: 1px solid rgba(143, 165, 175, 0.14); }
	.woocommerce-cart table.shop_table td::before {
		color: var(--neo-steel);
		content: attr(data-title);
		font-size: 0.66rem;
		letter-spacing: 0.14em;
		text-transform: uppercase;
	}
	.woocommerce-cart table.shop_table td.product-remove,
	.woocommerce-cart table.shop_table td.product-thumbnail { justify-content: flex-start; }
	.woocommerce-cart table.shop_table td.product-remove::before,
	.woocommerce-cart table.shop_table td.product-thumbnail::before { display: none; }
	.woocommerce-cart table.shop_table td.actions { display: block; padding: 18px; }
	.woocommerce-cart .coupon { flex-wrap: wrap; float: none; max-width: none; width: 100%; }
	.woocommerce-cart .coupon input.input-text { flex: 1 1 100%; }
	.woocommerce-cart .coupon .button { flex: 1 1 100%; }
	.woocommerce-cart td.actions button[name="update_cart"] { float: none; margin-top: 12px; width: 100%; }
	.woocommerce-cart td.actions .button { margin-top: 12px; width: 100%; }
	.woocommerce-cart .cart_totals { padding: 24px 20px; width: 100%; }
	.woocommerce-checkout #customer_details .woocommerce-billing-fields,
	.woocommerce-checkout #customer_details .woocommerce-shipping-fields,
	.woocommerce-checkout #order_review { padding: 24px 20px; }
	.woocommerce-checkout form.checkout .form-row-first,
	.woocommerce-checkout form.checkout .form-row-last { float: none; width: 100%; }
}

/* La confirmation RUO est rendue dans un .form-row : elle ne doit pas hériter du style des libellés de champ. */
.woocommerce-checkout .form-row label.neo-checkout-professional-confirmation__label {
	align-items: flex-start;
	color: var(--neo-white);
	display: flex;
	font-size: 0.9rem;
	letter-spacing: 0;
	line-height: 1.65;
	margin: 0;
	text-transform: none;
}

.woocommerce-checkout .form-row label.neo-checkout-professional-confirmation__label span {
	font-size: 0.9rem;
	letter-spacing: 0;
	text-transform: none;
}

.woocommerce-checkout .neo-checkout-professional-confirmation { margin: 22px 0 20px; }

.woocommerce-checkout form .form-row abbr.required,
.woocommerce-checkout form .form-row .required {
	border: 0;
	color: var(--neo-cyan);
	text-decoration: none;
}

/* ==========================================================================
   NEO PEPTIDES LAB - PANIER & COMMANDE : COMPOSITION
   ========================================================================== */

/* Le gabarit de page limite le contenu à 960 px : trop étroit pour un tunnel d'achat.
   On élargit, et on aligne le titre de page sur la même largeur. */
.woocommerce-cart .section .container.content-width,
.woocommerce-checkout .section .container.content-width {
	max-width: 1240px;
}

.woocommerce-cart .page-header .container,
.woocommerce-checkout .page-header .container {
	width: min(100% - 56px, 1240px);
}

.woocommerce-cart .section .container.content-width,
.woocommerce-checkout .section .container.content-width {
	width: min(100% - 56px, 1240px);
}

/* --- Colonnes du checkout : les deux cartes démarrent au même niveau --- */
.woocommerce-checkout form.checkout.woocommerce-checkout {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 0 30px;
}

.woocommerce-checkout form.checkout #order_review_heading {
	background: rgba(11, 29, 42, 0.85);
	border: 1px solid var(--neo-line);
	border-bottom: 0;
	border-radius: var(--neo-radius) var(--neo-radius) 0 0;
	margin: 0;
	padding: 30px 32px 0;
}

.woocommerce-checkout form.checkout #order_review {
	border-radius: 0 0 var(--neo-radius) var(--neo-radius);
	border-top: 0;
	padding-top: 22px;
}

/* --- Confirmation professionnelle : compacte et large --- */
.woocommerce-checkout .neo-checkout-professional-confirmation {
	background: rgba(5, 15, 22, 0.6);
	border: 1px solid rgba(47, 229, 234, 0.28);
	border-radius: 12px;
	margin: 20px 0 18px;
	padding: 14px 16px;
}

.woocommerce-checkout .form-row label.neo-checkout-professional-confirmation__label {
	align-items: flex-start;
	gap: 12px;
	line-height: 1.5;
}

.woocommerce-checkout .form-row label.neo-checkout-professional-confirmation__label input[type="checkbox"] {
	height: 18px;
	margin-top: 2px;
	width: 18px;
}

.woocommerce-checkout .form-row label.neo-checkout-professional-confirmation__label input[type="checkbox"]:checked::after {
	height: 9px;
	left: 5.5px;
	top: 2px;
	width: 5px;
}

.woocommerce-checkout .form-row label.neo-checkout-professional-confirmation__label span {
	color: var(--neo-mist);
	font-size: 0.78rem;
	line-height: 1.5;
	text-align: left;
	text-wrap: pretty;
}

@media (max-width: 1024px) {
	.woocommerce-checkout form.checkout.woocommerce-checkout {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}
	.woocommerce-checkout form.checkout #customer_details,
	.woocommerce-checkout form.checkout #order_review_heading,
	.woocommerce-checkout form.checkout #order_review { grid-column: 1; grid-row: auto; }
	.woocommerce-checkout form.checkout #customer_details { margin-bottom: 30px; }
	.woocommerce-checkout form.checkout #order_review_heading { border-radius: var(--neo-radius) var(--neo-radius) 0 0; }
}

@media (max-width: 720px) {
	.woocommerce-cart .section .container.content-width,
	.woocommerce-checkout .section .container.content-width,
	.woocommerce-cart .page-header .container,
	.woocommerce-checkout .page-header .container { width: min(100% - 32px, 1240px); }
	.woocommerce-checkout form.checkout #order_review_heading { padding: 24px 20px 0; }
	.woocommerce-checkout .neo-checkout-professional-confirmation { padding: 14px; }
	.woocommerce-checkout .form-row label.neo-checkout-professional-confirmation__label span { font-size: 0.8rem; }
}

/* Le bloc « informations complémentaires » ne contient que des blancs quand les notes de commande sont désactivées. */
.woocommerce-checkout #customer_details .woocommerce-additional-fields:not(:has(.form-row)) { display: none; }

/* --- Répartition des colonnes du tableau panier --- */
.woocommerce-cart table.shop_table { table-layout: fixed; }
.woocommerce-cart table.shop_table th.product-remove,
.woocommerce-cart table.shop_table td.product-remove { width: 64px; }
.woocommerce-cart table.shop_table th.product-thumbnail,
.woocommerce-cart table.shop_table td.product-thumbnail { width: 112px; }
.woocommerce-cart table.shop_table th.product-price,
.woocommerce-cart table.shop_table td.product-price { width: 120px; }
.woocommerce-cart table.shop_table th.product-quantity,
.woocommerce-cart table.shop_table td.product-quantity { width: 120px; }
.woocommerce-cart table.shop_table th.product-subtotal,
.woocommerce-cart table.shop_table td.product-subtotal { width: 130px; text-align: right; }
.woocommerce-cart table.shop_table th.product-subtotal { text-align: right; }

.woocommerce-cart table.shop_table td.product-name {
	font-size: 0.98rem;
	overflow-wrap: anywhere;
}

.woocommerce-cart table.shop_table td.product-name a { text-decoration: none; }

@media (max-width: 720px) {
	.woocommerce-cart table.shop_table { table-layout: auto; }
	.woocommerce-cart table.shop_table th.product-remove,
	.woocommerce-cart table.shop_table td.product-remove,
	.woocommerce-cart table.shop_table th.product-thumbnail,
	.woocommerce-cart table.shop_table td.product-thumbnail,
	.woocommerce-cart table.shop_table th.product-price,
	.woocommerce-cart table.shop_table td.product-price,
	.woocommerce-cart table.shop_table th.product-quantity,
	.woocommerce-cart table.shop_table td.product-quantity,
	.woocommerce-cart table.shop_table th.product-subtotal,
	.woocommerce-cart table.shop_table td.product-subtotal { width: auto; }
}

/* ==========================================================================
   NEO PEPTIDES LAB - PANIER : CODE PROMO & EXPÉDITION
   ========================================================================== */

/* WooCommerce impose un padding asymétrique sur les champs de tableau : on le neutralise. */
.woocommerce-cart table.shop_table td.actions .coupon input#coupon_code,
.woocommerce-cart table.shop_table td.actions .coupon input.input-text {
	background: rgba(5, 15, 22, 0.72);
	border: 1px solid var(--neo-line);
	border-radius: 999px;
	box-sizing: border-box;
	color: var(--neo-white);
	font-family: var(--neo-body);
	font-size: 0.9rem;
	height: 48px;
	line-height: normal;
	margin: 0;
	padding: 0 22px;
	vertical-align: middle;
}

.woocommerce-cart td.actions .coupon input#coupon_code::placeholder {
	color: var(--neo-steel);
	line-height: normal;
	opacity: 1;
}

.woocommerce-cart td.actions .coupon .button,
.woocommerce-cart td.actions button[name="update_cart"] {
	align-items: center;
	display: inline-flex;
	height: 48px;
	justify-content: center;
	line-height: 1;
	vertical-align: middle;
}

.woocommerce-cart .coupon { align-items: stretch; gap: 10px; }
.woocommerce-cart .coupon .button { flex: 0 0 auto; }

/* --- Bloc des totaux en flux bloc : contrôle total de l'alignement --- */
.woocommerce-cart .cart_totals table.shop_table,
.woocommerce-cart .cart_totals table.shop_table tbody { display: block; width: 100%; }

.woocommerce-cart .cart_totals table.shop_table tr {
	align-items: baseline;
	border-top: 1px solid rgba(143, 165, 175, 0.14);
	display: flex;
	gap: 18px;
	justify-content: space-between;
	padding: 15px 0;
	width: 100%;
}

.woocommerce-cart .cart_totals table.shop_table tr:first-child { border-top: 0; }

.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
	border: 0;
	display: block;
	padding: 0;
	width: auto;
}

/* --- Section Expédition : pleine largeur et centrée --- */
.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals { display: block; }

.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals th {
	display: block;
	margin-bottom: 14px;
	text-align: left;
	width: 100%;
}

.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals td {
	display: block;
	text-align: center;
	width: 100%;
}

.woocommerce-cart .woocommerce-shipping-methods {
	list-style: none;
	margin: 0 0 12px;
	padding: 0;
	text-align: center;
}

.woocommerce-cart .woocommerce-shipping-methods li { margin: 0 0 6px; }
.woocommerce-cart .woocommerce-shipping-methods label { color: var(--neo-white); }

.woocommerce-cart .woocommerce-shipping-destination {
	color: var(--neo-steel);
	font-size: 0.84rem;
	line-height: 1.55;
	margin: 0 auto;
	max-width: 320px;
	text-align: center;
}

.woocommerce-cart .woocommerce-shipping-destination strong { color: var(--neo-mist); font-weight: 600; }

.woocommerce-cart .shipping-calculator-button {
	border-bottom: 1px solid rgba(47, 229, 234, 0.35);
	color: var(--neo-cyan);
	display: inline-block;
	font-size: 0.8rem;
	margin: 12px auto 0;
	text-decoration: none;
}

.woocommerce-cart .shipping-calculator-form {
	margin: 16px auto 0;
	max-width: 320px;
	text-align: left;
}

.woocommerce-cart .shipping-calculator-form .form-row { margin-bottom: 12px; }

.woocommerce-cart .shipping-calculator-form input.input-text,
.woocommerce-cart .shipping-calculator-form select,
.woocommerce-cart .shipping-calculator-form .select2-container--default .select2-selection--single {
	background: rgba(5, 15, 22, 0.72);
	border: 1px solid var(--neo-line);
	border-radius: 10px;
	color: var(--neo-white);
	color-scheme: dark;
	height: 44px;
	line-height: 42px;
	padding: 0 14px;
	width: 100%;
}

.woocommerce-cart .shipping-calculator-form .button {
	background: transparent;
	border: 1px solid rgba(47, 229, 234, 0.45);
	border-radius: 999px;
	color: var(--neo-cyan);
	font-size: 0.7rem;
	font-weight: 700;
	height: 44px;
	letter-spacing: 0.1em;
	padding: 0 22px;
	text-transform: uppercase;
	width: 100%;
}

@media (max-width: 720px) {
	.woocommerce-cart table.shop_table td.actions .coupon input#coupon_code { width: 100%; }
	.woocommerce-cart .coupon .button,
	.woocommerce-cart td.actions button[name="update_cart"] { width: 100%; }
	.woocommerce-cart .woocommerce-shipping-destination { max-width: none; }
}

@media (max-width: 720px) {
	.woocommerce-cart td.actions .coupon {
		align-items: stretch;
		flex-direction: column;
		gap: 10px;
	}

	.woocommerce-cart td.actions .coupon input#coupon_code,
	.woocommerce-cart td.actions .coupon .button,
	.woocommerce-cart td.actions button[name="update_cart"] {
		align-items: center;
		display: flex;
		flex: 0 0 auto;
		justify-content: center;
		width: 100%;
	}
}

@media (max-width: 720px) {
	/* Le champ et les boutons du coupon passent en pleine largeur malgré la cascade WooCommerce. */
	.woocommerce-cart td.actions .coupon input#coupon_code,
	.woocommerce-cart td.actions .coupon .button,
	.woocommerce-cart td.actions button[name="update_cart"] {
		min-width: 0 !important;
		width: 100% !important;
	}

	/* Le bloc des totaux ne doit pas hériter de la mise en cartes du tableau produits. */
	.woocommerce-cart .cart_totals table.shop_table tr { display: flex; padding: 15px 0; }
	.woocommerce-cart .cart_totals table.shop_table th,
	.woocommerce-cart .cart_totals table.shop_table td { display: block; padding: 0; }
	.woocommerce-cart .cart_totals table.shop_table th::before,
	.woocommerce-cart .cart_totals table.shop_table td::before { content: none; display: none; }
	.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals { display: block; }
	.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals th { text-align: left; }
	.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals td { text-align: center; }
}

/* Centrage robuste du lien « Modifier l'adresse », quel que soit l'alignement hérité. */
.woocommerce-cart .cart_totals .shipping-calculator-button {
	display: block;
	margin: 12px auto 0;
	width: fit-content;
}

/* ==========================================================================
   NEO PEPTIDES LAB - TOTAUX, MESSAGES DE LIVRAISON ET ERREURS
   ========================================================================== */

/* --- Carte des totaux plus compacte --- */
.woocommerce-cart .cart_totals { padding: 24px 26px 26px; }

.woocommerce-cart .cart_totals h2 {
	font-size: 0.72rem;
	letter-spacing: 0.2em;
	margin: 0 0 12px;
}

.woocommerce-cart .cart_totals table.shop_table tr { padding: 12px 0; }

.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td { font-size: 0.9rem; }

.woocommerce-cart .cart_totals .order-total td { font-size: 1.24rem; }

.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals th { margin-bottom: 10px; }

.woocommerce-cart .woocommerce-shipping-methods { margin: 0 0 8px; }

.woocommerce-cart .woocommerce-shipping-destination {
	font-size: 0.82rem;
	margin: 0 auto;
	max-width: 300px;
}

.woocommerce-cart .wc-proceed-to-checkout { padding: 18px 0 0; }

/* --- Information de livraison discrète, sans encadré --- */
.neo-shipping-hint {
	color: var(--neo-steel);
	display: block;
	font-size: 0.82rem;
	line-height: 1.55;
	margin: 0 auto;
	max-width: 300px;
	text-align: center;
}

/* --- Notices d'erreur compactes --- */
.woocommerce-cart .woocommerce-error,
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-NoticeGroup .woocommerce-error {
	background: rgba(239, 143, 127, 0.07);
	border: 1px solid rgba(239, 143, 127, 0.35);
	border-left-width: 3px;
	border-radius: 12px;
	color: var(--neo-mist);
	font-size: 0.86rem;
	line-height: 1.5;
	list-style: none;
	margin: 0 0 22px;
	padding: 14px 18px;
}

.woocommerce-checkout .woocommerce-error li {
	list-style: none;
	margin: 0;
	padding: 3px 0 3px 16px;
	position: relative;
}

.woocommerce-checkout .woocommerce-error li::before {
	color: #ef8f7f;
	content: "•";
	left: 0;
	position: absolute;
}

.woocommerce-checkout .woocommerce-error li strong { color: #ffffff; font-weight: 600; }


.neo-checkout-professional-confirmation__error { display: none; }

form.checkout:has(.woocommerce-error [data-neo-ruo]) .neo-checkout-professional-confirmation {
	background: rgba(239, 143, 127, 0.08);
	border-color: rgba(239, 143, 127, 0.55);
}

form.checkout:has(.woocommerce-error [data-neo-ruo]) .neo-checkout-professional-confirmation__error {
	color: #ef8f7f;
	display: block;
	font-size: 0.78rem;
	font-weight: 600;
	margin: 10px 0 0 30px;
}

/* Champs en erreur mis en évidence par WooCommerce. */
.woocommerce-checkout .form-row.woocommerce-invalid input.input-text,
.woocommerce-checkout .form-row.woocommerce-invalid select,
.woocommerce-checkout .form-row.woocommerce-invalid .select2-container--default .select2-selection--single {
	border-color: rgba(239, 143, 127, 0.7);
	box-shadow: 0 0 0 3px rgba(239, 143, 127, 0.1);
}

.woocommerce-checkout .form-row.woocommerce-invalid label { color: #ef8f7f; }

.woocommerce-checkout .form-row.woocommerce-validated input.input-text,
.woocommerce-checkout .form-row.woocommerce-validated select { border-color: rgba(47, 229, 234, 0.45); }

/* Le groupe de notices du checkout occupe la pleine largeur, au-dessus des deux colonnes. */
.woocommerce-checkout form.checkout .woocommerce-NoticeGroup {
	grid-column: 1 / -1;
	grid-row: 1;
	margin-bottom: 8px;
}

.woocommerce-checkout form.checkout #customer_details { grid-column: 1; grid-row: 2 / span 2; }
.woocommerce-checkout form.checkout #order_review_heading { grid-column: 2; grid-row: 2; }
.woocommerce-checkout form.checkout #order_review { grid-column: 2; grid-row: 3; }

/* WooCommerce ajoute ses propres puces en icône : on les neutralise avant de poser les nôtres. */
.woocommerce-checkout .woocommerce-error::before,
.woocommerce-checkout .woocommerce-error li::before,
.woocommerce-cart .woocommerce-error::before,
.woocommerce-cart .woocommerce-error li::before {
	content: none !important;
	display: none !important;
}

.woocommerce-checkout .woocommerce-error {
	display: grid;
	gap: 6px 20px;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	padding: 16px 20px;
}

.woocommerce-checkout .woocommerce-error li {
	border-left: 2px solid rgba(239, 143, 127, 0.5);
	color: var(--neo-mist);
	font-size: 0.84rem;
	line-height: 1.4;
	list-style: none;
	margin: 0;
	padding: 2px 0 2px 12px;
}

@media (max-width: 1024px) {
	.woocommerce-checkout form.checkout .woocommerce-NoticeGroup { grid-column: 1; grid-row: auto; margin-bottom: 24px; }
	.woocommerce-checkout form.checkout #customer_details,
	.woocommerce-checkout form.checkout #order_review_heading,
	.woocommerce-checkout form.checkout #order_review { grid-column: 1; grid-row: auto; }
}

/* WooCommerce lie chaque erreur au champ concerné : le lien ne doit pas ressortir comme un lien de contenu. */
.woocommerce-checkout .woocommerce-error li a,
.woocommerce-cart .woocommerce-error li a {
	border: 0;
	color: var(--neo-mist);
	text-decoration: none;
}

.woocommerce-checkout .woocommerce-error li a:hover,
.woocommerce-checkout .woocommerce-error li a:focus { color: #ef8f7f; }

/* ==========================================================================
   NEO PEPTIDES LAB - TOTAUX MINIMALISTES & ERREURS SUR LES CHAMPS
   ========================================================================== */

/* --- Ligne d'expédition sur une seule ligne, comme le sous-total --- */
.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals {
	align-items: baseline;
	display: flex;
	gap: 18px;
	justify-content: space-between;
}

.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals th {
	display: block;
	margin: 0;
	text-align: left;
	white-space: nowrap;
	width: auto;
}

.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals td {
	display: block;
	text-align: right;
	width: auto;
}

.woocommerce-cart .cart_totals .woocommerce-shipping-methods {
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: right;
}

.woocommerce-cart .cart_totals .woocommerce-shipping-methods li { margin: 0; }

.woocommerce-cart .cart_totals .woocommerce-shipping-methods label {
	color: var(--neo-white);
	font-size: 0.9rem;
}

/* Détail d'adresse et mention d'estimation : superflus dans un résumé. */
.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
.woocommerce-cart .cart_totals .neo-shipping-hint,
.woocommerce-cart .cart_totals .woocommerce-shipping-contents { display: none; }

.woocommerce-cart .cart_totals { padding: 22px 24px 24px; }
.woocommerce-cart .cart_totals table.shop_table tr { padding: 11px 0; }
.woocommerce-cart .cart_totals .order-total td { font-size: 1.18rem; }
.woocommerce-cart .wc-proceed-to-checkout { padding: 16px 0 0; }


/* ==========================================================================
   NEO PEPTIDES LAB - LIVRAISON AU CHECKOUT, MINIMUM DE COMMANDE, ERREURS
   ========================================================================== */

/* --- Erreurs : plus d'encadré global, tout se joue au niveau des champs --- */
form.checkout .woocommerce-error li[data-id] { display: none; }
form.checkout .woocommerce-error:not(:has(li:not([data-id]))) { display: none; }

/* Le minimum de commande n'est pas lié à un champ : il reste visible. */
form.checkout .woocommerce-error li:has([data-neo-minimum]) { display: list-item; }

.woocommerce-cart .woocommerce-error li[data-id="neo_research_confirmation"] { display: none; }

/* --- Encadré du garde-fou en erreur --- */
form.checkout:has(.woocommerce-error li[data-id="neo_research_confirmation"]) .neo-checkout-professional-confirmation {
	background: rgba(239, 143, 127, 0.08);
	border-color: rgba(239, 143, 127, 0.55);
}

form.checkout:has(.woocommerce-error li[data-id="neo_research_confirmation"]) .neo-checkout-professional-confirmation__error {
	color: #ef8f7f;
	display: block;
	font-size: 0.78rem;
	font-weight: 600;
	margin: 10px 0 0 30px;
}

/* --- Section Livraison du checkout : une carte détachée, séparée du récapitulatif --- */
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td {
	padding: 0;
}

.neo-shipping-card {
	background: rgba(15, 34, 49, 0.6);
	border: 1px solid rgba(143, 165, 175, 0.18);
	border-radius: 12px;
	margin: 6px 0 14px;
	padding: 8px 12px;
}

.neo-shipping-card .woocommerce-shipping-methods {
	list-style: none;
	margin: 0;
	padding: 0;
}

.neo-shipping-card .woocommerce-shipping-methods li {
	display: block;
	margin: 0 0 4px;
	padding: 0;
}

.neo-shipping-card .woocommerce-shipping-methods li:last-child { margin-bottom: 0; }

/* La ligne (et non le label seul) porte le flex : radio, nom et prix restent alignés
   même quand le libellé passe sur deux lignes. */
.neo-shipping-card .neo-shipping-method__row {
	align-items: center;
	display: flex;
	gap: 8px;
}

/* L'identifiant #shipping_method est nécessaire : WooCommerce impose
   « .woocommerce ul#shipping_method li label { display: inline } ». */
.neo-shipping-card ul#shipping_method li label {
	cursor: pointer;
	display: flex;
	align-items: center;
	flex: 1;
	gap: 0;
	justify-content: space-between;
	min-width: 0;
	margin: 0;
	text-align: left;
	text-transform: none;
}

.neo-shipping-card .woocommerce-shipping-methods li input.shipping_method {
	accent-color: var(--neo-cyan);
	align-self: center;
	flex-shrink: 0;
	height: 16px;
	margin: 0;
	width: 16px;
}

.neo-shipping-card .neo-shipping-method-info {
	align-items: center;
	display: flex;
	gap: 8px;
	min-width: 0;
}

.neo-shipping-card .neo-shipping-method-logo {
	display: block;
	height: 24px;
	object-fit: contain;
	width: 42px;
}

.neo-shipping-card .pl-checkout-carrier-image {
	display: none !important;
}

.neo-shipping-card .neo-shipping-method-copy {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.neo-shipping-card .neo-shipping-method-name {
	color: var(--neo-white);
	font-size: 0.8rem;
	font-weight: 700;
	line-height: 1.15;
	min-width: 0;
	overflow-wrap: anywhere;
}

.neo-shipping-card .neo-shipping-method-delay {
	color: var(--neo-steel);
	display: block;
	font-size: 0.68rem;
	line-height: 1.15;
	margin-top: 2px;
}

.neo-shipping-card .neo-shipping-method-price {
	color: var(--neo-steel);
	font-size: 0.78rem;
	line-height: 1.3;
	flex-shrink: 0;
	margin-left: auto;
	white-space: nowrap;
}

.neo-shipping-card .neo-shipping-method-price strong { color: var(--neo-cyan); font-weight: 700; }

/* Zone réservée aux extensions (sélecteur Point Relais Packlink) : elle reste vide
   et invisible tant qu'aucun contenu n'est injecté. */
.neo-shipping-card .neo-shipping-method__extra:not(:empty) {
	margin: 8px 0 0 28px;
}

.neo-shipping-card .neo-shipping-method__extra #packlink-drop-off-picker {
	max-width: 100%;
	white-space: normal;
}

.neo-shipping-card .neo-shipping-method__extra #packlink-js-templates {
	display: contents;
}

.neo-shipping-card .neo-shipping-method__extra #packlink-js-templates > location-picker-template {
	display: none;
}

/* Vue mobile : texte plus compact pour éviter les retours à la ligne inutiles. */
@media (max-width: 480px) {
	.neo-shipping-card { padding: 8px 12px; }
	.neo-shipping-card .neo-shipping-method-name { font-size: 0.76rem; }
	.neo-shipping-card .neo-shipping-method-delay { font-size: 0.64rem; }
	.neo-shipping-card .neo-shipping-method-price { font-size: 0.7rem; }
	.neo-shipping-card .neo-shipping-method__row { gap: 7px; }
	.neo-shipping-card .neo-shipping-method-logo { height: 22px; width: 36px; }
	.neo-shipping-card .neo-shipping-method__extra:not(:empty) { margin-left: 26px; }
	/* Paiement crypto : label compact pour éviter le débordement */
	.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method.payment_method_shadow_eth label {
		font-size: 0.82rem;
		line-height: 1.2;
		padding-left: 30px;
	}
	.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method.payment_method_shadow_eth input[type="radio"] {
		left: 12px;
		top: 10px;
	}
	.woocommerce-checkout #payment .neo-crypto-discount-badge,
	.woocommerce-checkout #payment .neo-payment-surcharge-badge {
		font-size: 0.62rem;
		padding: 4px 7px;
	}
}

.neo-shipping-card .neo-shipping-hint {
	color: var(--neo-steel);
	font-size: 0.82rem;
	margin: 0;
	max-width: none;
	text-align: left;
}


/* --- Barre de progression vers la livraison offerte (panier) --- */
.neo-free-shipping-progress {
	background: rgba(15, 34, 49, 0.5);
	border: 1px solid rgba(143, 165, 175, 0.16);
	border-radius: 12px;
	margin: 0 0 20px;
	padding: 14px 20px;
}

.neo-free-shipping-progress__message {
	color: var(--neo-white);
	font-size: 0.88rem;
	font-weight: 600;
	margin: 0 0 8px;
	text-align: center;
}

.neo-free-shipping-progress--reached .neo-free-shipping-progress__message { color: var(--neo-cyan); }

.neo-free-shipping-progress__track {
	background: rgba(143, 165, 175, 0.18);
	border-radius: 999px;
	height: 8px;
	overflow: hidden;
	width: 100%;
}

.neo-free-shipping-progress__fill {
	background: var(--neo-steel);
	border-radius: 999px;
	height: 100%;
	transition: width 0.4s ease;
}

.neo-free-shipping-progress--reached .neo-free-shipping-progress__fill {
	background: linear-gradient(90deg, var(--neo-cyan), #7ff3f6);
}

.neo-free-shipping-progress__scale {
	color: var(--neo-steel);
	display: flex;
	font-size: 0.68rem;
	justify-content: space-between;
	margin-top: 6px;
}

.neo-free-shipping-progress.neo-updating { opacity: 0.6; }

/* --- Minimum de commande --- */
.neo-minimum-order-hint {
	background: rgba(242, 180, 92, 0.08);
	border: 1px solid rgba(242, 180, 92, 0.4);
	border-radius: 12px;
	color: #f2b45c;
	font-size: 0.84rem;
	line-height: 1.5;
	margin: 16px 0 0;
	padding: 14px 18px;
	text-align: center;
}

.woocommerce-cart .cart_totals:has(+ .neo-minimum-order-hint) { margin-bottom: 0; }

form.checkout .woocommerce-error li:has([data-neo-minimum]) {
	border-left-color: rgba(242, 180, 92, 0.6);
	color: #f2b45c;
}

/* Dans le panier, le rappel sous les totaux remplace la notice générique WooCommerce. */
.woocommerce-cart .woocommerce-error li:has([data-neo-minimum]) { display: none; }
.woocommerce-cart .woocommerce-error:has(li:only-child [data-neo-minimum]) { display: none; }

.woocommerce-cart .cart_totals:has(.neo-minimum-order-hint) .checkout-button {
	background: rgba(143, 165, 175, 0.25);
	color: rgba(237, 245, 247, 0.5);
	pointer-events: none;
}

.woocommerce-cart table.shop_table tr.fee td,
.woocommerce-checkout table.shop_table tr.fee td,
.woocommerce-checkout-review-order-table tr.fee td {
	color: var(--neo-cyan);
	font-weight: 700;
}

@media (max-width: 480px) {
	.neo-free-shipping-progress { padding: 12px 14px; }
	.neo-free-shipping-progress__message { font-size: 0.8rem; }
	.neo-free-shipping-progress__scale { font-size: 0.62rem; }
}

/* ==========================================================================
   MON COMPTE (connexion / inscription / mot de passe perdu)
   ========================================================================== */

.woocommerce-account #customer_login {
	align-items: start;
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(2, 1fr);
}

.woocommerce-account #customer_login::before,
.woocommerce-account #customer_login::after { display: none; }

.woocommerce-account #customer_login .u-column1,
.woocommerce-account #customer_login .u-column2,
.woocommerce-account .woocommerce-ResetPassword {
	background: rgba(11, 27, 36, 0.55);
	border: 1px solid rgba(143, 165, 175, 0.16);
	border-radius: 14px;
	float: none;
	padding: 32px 30px;
	width: auto;
}

.woocommerce-account .woocommerce-ResetPassword {
	margin: 0 auto;
	max-width: 460px;
	padding: 34px 34px 30px;
}

/* WooCommerce marque le champ « Identifiant ou e-mail » avec .form-row-first
   (float:left + width:47% côté core) — neutralisé pour aligner champ et bouton. */
.woocommerce-account .woocommerce-ResetPassword .form-row,
.woocommerce-account .woocommerce-ResetPassword .form-row-first,
.woocommerce-account .woocommerce-ResetPassword .form-row-last {
	float: none;
	width: 100%;
}

.woocommerce-account .woocommerce-ResetPassword .clear { display: none; }

/* WooCommerce ajoute par défaut une bordure/padding sur les <form> de connexion et
   d'inscription (styles core hérités) — neutralisés pour ne garder que la carte
   (le formulaire "mot de passe perdu" EST déjà la carte, il ne doit pas être réinitialisé). */
.woocommerce-account #customer_login form {
	border: 0;
	padding: 0;
}

.woocommerce-account #customer_login h2,
.woocommerce-account .woocommerce > h2 {
	border-bottom: 0;
	color: var(--neo-white);
	font-size: 1.3rem;
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0 0 10px;
	padding-bottom: 0;
}

.woocommerce-account .neo-account-intro {
	color: rgba(223, 234, 240, 0.62);
	font-size: 0.86rem;
	line-height: 1.55;
	margin: 0 0 22px;
}

.woocommerce-account #customer_login .form-row,
.woocommerce-account .woocommerce-ResetPassword .form-row {
	margin: 0 0 18px;
	padding: 0;
}

.woocommerce-account .woocommerce-ResetPassword .form-row:last-of-type { margin-bottom: 0; }

.woocommerce-account #customer_login .form-row label,
.woocommerce-account .woocommerce-ResetPassword .form-row label {
	color: var(--neo-steel);
	display: block;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	margin-bottom: 8px;
	text-transform: uppercase;
}

.woocommerce-account #customer_login .form-row .required,
.woocommerce-account .woocommerce-ResetPassword .form-row .required {
	color: var(--neo-cyan);
	text-decoration: none;
}

.woocommerce-account #customer_login .form-row input.input-text,
.woocommerce-account .woocommerce-ResetPassword .form-row input.input-text {
	background: rgba(5, 15, 22, 0.7);
	border: 1px solid var(--neo-line);
	border-radius: 10px;
	color: var(--neo-white);
	color-scheme: dark;
	font-family: var(--neo-body);
	font-size: 0.92rem;
	height: 48px;
	line-height: 46px;
	padding: 0 14px;
	width: 100%;
}

.woocommerce-account #customer_login .form-row input.input-text:focus,
.woocommerce-account .woocommerce-ResetPassword .form-row input.input-text:focus {
	border-color: rgba(47, 229, 234, 0.6);
	box-shadow: 0 0 0 3px rgba(47, 229, 234, 0.12);
	outline: 0;
}

.woocommerce-account #customer_login .password-input {
	align-items: center;
	display: flex;
	position: relative;
}

.woocommerce-account #customer_login .password-input .input-text { padding-right: 44px; }

.woocommerce-account #customer_login .show-password-input {
	background: transparent;
	border: 0;
	height: 24px;
	position: absolute;
	right: 12px;
	width: 24px;
}

.woocommerce-account #customer_login .woocommerce-form-login__rememberme {
	align-items: center;
	color: rgba(223, 234, 240, 0.72);
	display: flex;
	font-size: 0.84rem;
	gap: 8px;
}

.woocommerce-account #customer_login p.form-row:has(.woocommerce-form-login__rememberme) {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: space-between;
}

.woocommerce-account #customer_login .woocommerce-form-login__submit,
.woocommerce-account #customer_login .woocommerce-form-register__submit,
.woocommerce-account .woocommerce-ResetPassword button[type="submit"],
.woocommerce-account .woocommerce-ResetPassword input[type="submit"] {
	background: var(--neo-cyan);
	border: 1px solid var(--neo-cyan);
	border-radius: 12px;
	box-shadow: 0 0 26px rgba(47, 229, 234, 0.28);
	color: var(--neo-ink);
	font-size: 0.86rem;
	font-weight: 800;
	letter-spacing: 0.02em;
	padding: 13px 26px;
}

.woocommerce-account #customer_login .woocommerce-form-register__submit {
	margin-top: 4px;
	width: 100%;
}

.woocommerce-account .woocommerce-ResetPassword button[type="submit"],
.woocommerce-account .woocommerce-ResetPassword input[type="submit"] {
	margin-top: 4px;
	width: 100%;
}

.woocommerce-account #customer_login .woocommerce-LostPassword {
	margin: 0;
}

.woocommerce-account #customer_login .woocommerce-LostPassword a,
.woocommerce-account p.woocommerce-privacy-policy-text a {
	color: var(--neo-cyan);
	font-size: 0.84rem;
}

.woocommerce-account #customer_login p:not(.form-row):not(.neo-account-intro):not(.woocommerce-privacy-policy-text):not(.woocommerce-LostPassword) {
	background: rgba(47, 229, 234, 0.06);
	border: 1px solid rgba(47, 229, 234, 0.24);
	border-radius: 10px;
	color: rgba(223, 234, 240, 0.72);
	font-size: 0.82rem;
	line-height: 1.5;
	margin: 0 0 18px;
	padding: 12px 14px;
}

.woocommerce-account .woocommerce-ResetPassword p:not(.form-row) {
	color: rgba(223, 234, 240, 0.68);
	font-size: 0.88rem;
	line-height: 1.55;
	margin: 0 0 20px;
}

.woocommerce-account p.woocommerce-privacy-policy-text {
	color: rgba(223, 234, 240, 0.5);
	font-size: 0.76rem;
	line-height: 1.55;
	margin: 0 0 20px;
}

/* Page « Mot de passe perdu » : notices et écran de confirmation alignés sur la
   largeur de la carte pour garder une composition centrée.
   !important requis : la règle globale des notices WooCommerce (plus haut) impose
   déjà max-width/margin en !important. */
.woocommerce-lost-password .woocommerce-message,
.woocommerce-lost-password .woocommerce-error,
.woocommerce-lost-password .woocommerce-info {
	margin: 0 auto 22px !important;
	max-width: 460px !important;
}

.woocommerce-lost-password .woocommerce > p {
	background: rgba(11, 27, 36, 0.55);
	border: 1px solid rgba(143, 165, 175, 0.16);
	border-radius: 14px;
	color: rgba(223, 234, 240, 0.68);
	font-size: 0.88rem;
	line-height: 1.55;
	margin: 0 auto;
	max-width: 460px;
	padding: 26px 30px;
}

@media (max-width: 780px) {
	.woocommerce-account #customer_login {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 480px) {
	.woocommerce-account #customer_login .u-column1,
	.woocommerce-account #customer_login .u-column2,
	.woocommerce-account .woocommerce-ResetPassword {
		padding: 24px 18px;
	}
}

/* ==========================================================================
   MON COMPTE — ESPACE CLIENT (utilisateur connecté)
   Le shortcode [woocommerce_my_account] rend <nav class="woocommerce-MyAccount-navigation">
   et <div class="woocommerce-MyAccount-content"> comme 2 enfants directs de .woocommerce
   UNIQUEMENT quand l'utilisateur est connecté (déconnecté = #customer_login seul enfant,
   déjà stylé plus haut) — :has() cible donc précisément cet état sans toucher au login.
   Navigation réduite à Commandes / Adresse de livraison / Détails du compte / Se
   déconnecter (pas de "Tableau de bord", pas de "Téléchargements" — cf. functions.php).
   ========================================================================== */

/* Le gabarit de page limite le contenu à 960px : trop étroit pour nav+contenu
   côte à côte confortablement. Élargi UNIQUEMENT pour l'état connecté (même
   principe que panier/checkout), l'écran de connexion/inscription (960px,
   :has() ne matche pas ici) reste inchangé. */
.woocommerce-account:has(.woocommerce-MyAccount-navigation) .section .container.content-width {
	max-width: 1240px;
	width: min(100% - 56px, 1240px);
}

.woocommerce-account:has(.woocommerce-MyAccount-navigation) .page-header .container {
	width: min(100% - 56px, 1240px);
}

.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) {
	align-items: start;
	display: grid;
	gap: 48px;
	grid-template-columns: 300px 1fr;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	/* Neutralise le float/width par défaut de WooCommerce (woocommerce-layout.css :
	   float:left;width:30%) et fixe explicitement sa position (l'auto-placement
	   seul plaçait les 2 éléments dans des cellules inversées/désalignées). */
	background: rgba(11, 27, 36, 0.55);
	border: 1px solid rgba(143, 165, 175, 0.16);
	border-radius: 14px;
	float: none;
	grid-column: 1;
	grid-row: 1;
	padding: 10px;
	width: auto;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link a {
	border-radius: 10px;
	color: rgba(223, 234, 240, 0.72);
	display: block;
	font-size: 0.84rem;
	font-weight: 600;
	padding: 11px 14px;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link a:hover {
	background: rgba(47, 229, 234, 0.08);
	color: var(--neo-white);
}

.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active a {
	background: rgba(47, 229, 234, 0.12);
	color: var(--neo-cyan);
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout {
	border-top: 1px solid rgba(143, 165, 175, 0.16);
	margin-top: 6px;
	padding-top: 6px;
}

/* Une seule carte de contenu, volontairement sobre : pas de cadre imbriqué à
   l'intérieur (ni pour les commandes, ni pour l'adresse) — juste des séparateurs
   fins entre les lignes. */
.woocommerce-account .woocommerce-MyAccount-content {
	/* Neutralise le float/width par défaut de WooCommerce (woocommerce-layout.css :
	   float:right;width:68%) et fixe explicitement sa position (voir commentaire
	   sur .woocommerce-MyAccount-navigation). */
	background: rgba(11, 27, 36, 0.5);
	border: 1px solid rgba(143, 165, 175, 0.14);
	border-radius: 14px;
	float: none;
	grid-column: 2;
	grid-row: 1;
	padding: 36px 40px;
	width: auto;
}

.woocommerce-account .woocommerce-MyAccount-content p {
	color: rgba(223, 234, 240, 0.72);
	font-size: 0.9rem;
	line-height: 1.6;
}

.woocommerce-account .woocommerce-MyAccount-content a { color: var(--neo-cyan); }
.woocommerce-account .woocommerce-MyAccount-content strong { color: var(--neo-white); }

/* Notices : la vérification d'adresse e-mail (rattachement des commandes) reste
   fonctionnelle mais discrète — bouton + texte forment une seule petite zone, pas un
   gros encadré. Le bouton est flotté (le texte qui suit dans le HTML natif de
   WooCommerce est un simple noeud texte, non ciblable en CSS : flex aurait fait
   basculer TOUT le texte à la ligne dès qu'il ne tient plus à côté du bouton sur
   UNE seule ligne, même de quelques pixels ; le flottement laisse le texte se
   répartir naturellement mot par mot autour du bouton). Les !important neutralisent
   la règle globale ".woocommerce-info" (plus haut dans ce fichier) qui impose sinon
   un encadré cyan complet à toutes les notices du site. */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(143, 165, 175, 0.16) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: rgba(223, 234, 240, 0.6) !important;
	display: block !important;
	font-size: 0.82rem !important;
	line-height: 1.6;
	list-style: none;
	margin: 0 0 24px !important;
	max-width: none !important;
	padding: 2px 0 16px !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info::after {
	clear: both;
	content: "";
	display: table;
}

/* Le lien "Confirmer l'adresse e-mail" est rendu en <a class="button"> par WooCommerce
   (VerificationController) — transformé en vrai bouton fantôme cyan (même langage que
   "Voir la commande"/"Modifier l'adresse"), flotté pour que le texte suivant
   s'aligne naturellement à côté sur desktop. */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info a.button {
	background: rgba(47, 229, 234, 0.05) !important;
	border: 1px solid rgba(47, 229, 234, 0.4) !important;
	border-radius: 8px !important;
	color: var(--neo-cyan) !important;
	cursor: pointer;
	float: left;
	font-weight: 700 !important;
	margin: 0 14px 8px 0 !important;
	padding: 6px 14px !important;
	text-decoration: none !important;
	transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info a.button:hover,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info a.button:focus-visible {
	background: rgba(47, 229, 234, 0.12) !important;
	box-shadow: 0 0 14px rgba(47, 229, 234, 0.22);
	border-color: var(--neo-cyan) !important;
	color: var(--neo-white) !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message {
	align-items: center;
	background: rgba(47, 229, 234, 0.06);
	border: 1px solid rgba(47, 229, 234, 0.24);
	border-radius: 10px;
	color: rgba(223, 234, 240, 0.78);
	display: flex;
	flex-wrap: wrap;
	font-size: 0.86rem;
	gap: 10px;
	line-height: 1.5;
	list-style: none;
	margin: 0 0 20px;
	padding: 14px 16px;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button,
.woocommerce-account .woocommerce-MyAccount-content a.button {
	background: transparent;
	border: 1px solid rgba(143, 165, 175, 0.5);
	border-radius: 10px;
	color: var(--neo-white);
	display: inline-block;
	font-size: 0.8rem;
	font-weight: 700;
	padding: 9px 16px;
	text-decoration: none;
	white-space: nowrap;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button:hover,
.woocommerce-account .woocommerce-MyAccount-content a.button:hover {
	border-color: var(--neo-cyan);
	color: var(--neo-cyan);
}

/* État vide générique (aucune commande / aucune adresse) */
.neo-account-empty {
	color: rgba(223, 234, 240, 0.6);
	font-size: 0.9rem;
}

.neo-account-empty__link {
	margin-left: 6px;
}

/* Commandes : liste de lignes séparées par un simple filet, pas un tableau */
.neo-orders-list {
	display: flex;
	flex-direction: column;
}

.neo-order-row {
	align-items: center;
	border-bottom: 1px solid rgba(143, 165, 175, 0.14);
	display: flex;
	gap: 20px;
	justify-content: space-between;
	padding: 20px 0;
}

.neo-order-row:first-child { padding-top: 0; }
.neo-order-row:last-child { border-bottom: 0; padding-bottom: 0; }

.neo-order-row__number {
	color: var(--neo-cyan);
	font-size: 0.98rem;
	font-weight: 800;
	text-decoration: none;
}

.neo-order-row__number:hover { color: var(--neo-white); }

.neo-order-row__meta {
	color: rgba(223, 234, 240, 0.55);
	font-size: 0.8rem;
	margin: 4px 0 0;
}

.neo-order-row__status { font-weight: 700; }

.neo-order-row--status-pending .neo-order-row__status,
.neo-order-row--status-on-hold .neo-order-row__status { color: #eab32f; }
.neo-order-row--status-processing .neo-order-row__status { color: var(--neo-cyan); }
.neo-order-row--status-completed .neo-order-row__status { color: #5fd3a6; }
.neo-order-row--status-cancelled .neo-order-row__status,
.neo-order-row--status-refunded .neo-order-row__status,
.neo-order-row--status-failed .neo-order-row__status { color: #ef8f7f; }

.neo-order-row__aside {
	align-items: center;
	display: flex;
	flex-shrink: 0;
	gap: 20px;
}

.neo-orders-list .neo-order-row__total {
	color: var(--neo-white);
	font-size: 0.98rem;
	font-weight: 800;
	margin: 0;
	white-space: nowrap;
}

.neo-order-row__action {
	transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
}

/* Sp\u00e9cificit\u00e9 renforc\u00e9e : la r\u00e8gle ambiante ".woocommerce-MyAccount-content .woocommerce-Button, a.button"
   (toujours active, background:transparent) est plus sp\u00e9cifique qu'un simple ".neo-order-row__action:hover"
   et gagnerait sinon m\u00eame pendant le survol. */
.woocommerce-account .woocommerce-MyAccount-content .neo-order-row__action:hover,
.woocommerce-account .woocommerce-MyAccount-content .neo-order-row__action:focus-visible {
	background: rgba(47, 229, 234, 0.08);
	box-shadow: 0 0 14px rgba(47, 229, 234, 0.2);
}

/* Adresse de livraison : posée directement dans la carte de contenu, sans cadre imbriqué */
.neo-account-address__header {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-bottom: 14px;
}

.neo-account-address__title {
	color: var(--neo-white);
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.3;
	margin: 0 !important;
}

.neo-account-address__edit {
	background: rgba(47, 229, 234, 0.05);
	border: 1px solid rgba(47, 229, 234, 0.4);
	border-radius: 8px;
	color: var(--neo-cyan) !important;
	cursor: pointer;
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 700;
	line-height: 1.3;
	padding: 8px 16px;
	text-decoration: none !important;
	transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
	white-space: nowrap;
}

.neo-account-address__edit:hover,
.neo-account-address__edit:focus-visible {
	background: rgba(47, 229, 234, 0.12);
	border-color: var(--neo-cyan);
	box-shadow: 0 0 14px rgba(47, 229, 234, 0.22);
	color: var(--neo-white) !important;
}

.neo-account-address__text {
	color: rgba(223, 234, 240, 0.85);
	font-size: 0.94rem;
	font-style: normal;
	line-height: 1.8;
	max-width: 480px;
	overflow-wrap: normal;
	white-space: normal;
	word-break: normal;
}

/* Formulaires (détails du compte / adresses) — même langage visuel que customer_login */
.woocommerce-account .woocommerce-MyAccount-content .form-row { margin: 0 0 18px; }

.woocommerce-account .woocommerce-MyAccount-content .form-row label {
	color: var(--neo-steel);
	display: block;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	margin-bottom: 8px;
	text-transform: uppercase;
}

.woocommerce-account .woocommerce-MyAccount-content .form-row .required {
	color: var(--neo-cyan);
	text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-content .form-row input.input-text,
.woocommerce-account .woocommerce-MyAccount-content .form-row select,
.woocommerce-account .woocommerce-MyAccount-content .form-row textarea {
	background: rgba(5, 15, 22, 0.7);
	border: 1px solid var(--neo-line);
	border-radius: 10px;
	color: var(--neo-white);
	color-scheme: dark;
	font-family: var(--neo-body);
	font-size: 0.92rem;
	height: 48px;
	line-height: 46px;
	padding: 0 14px;
	width: 100%;
}

.woocommerce-account .woocommerce-MyAccount-content .form-row textarea {
	height: auto;
	line-height: 1.5;
	padding: 12px 14px;
}

.woocommerce-account .woocommerce-MyAccount-content .form-row input.input-text:focus,
.woocommerce-account .woocommerce-MyAccount-content .form-row select:focus,
.woocommerce-account .woocommerce-MyAccount-content .form-row textarea:focus {
	border-color: rgba(47, 229, 234, 0.6);
	box-shadow: 0 0 0 3px rgba(47, 229, 234, 0.12);
	outline: 0;
}

.woocommerce-account .woocommerce-MyAccount-content fieldset {
	border: 0;
	border-top: 1px solid rgba(143, 165, 175, 0.16);
	margin: 24px 0 0;
	padding: 24px 0 0;
}

.woocommerce-account .woocommerce-MyAccount-content fieldset legend {
	color: var(--neo-white);
	font-size: 0.9rem;
	font-weight: 800;
	padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-content button[type="submit"],
.woocommerce-account .woocommerce-MyAccount-content input[type="submit"] {
	background: var(--neo-cyan);
	border: 1px solid var(--neo-cyan);
	border-radius: 12px;
	box-shadow: 0 0 26px rgba(47, 229, 234, 0.28);
	color: var(--neo-ink);
	font-size: 0.86rem;
	font-weight: 800;
	letter-spacing: 0.02em;
	padding: 13px 26px;
}

@media (max-width: 1024px) {
	.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) {
		gap: 32px;
		grid-template-columns: 260px 1fr;
	}

	.woocommerce-account .woocommerce-MyAccount-content { padding: 30px 32px; }
}

@media (max-width: 780px) {
	.woocommerce-account:has(.woocommerce-MyAccount-navigation) .section .container.content-width,
	.woocommerce-account:has(.woocommerce-MyAccount-navigation) .page-header .container {
		width: min(100% - 32px, 1240px);
	}

	.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) {
		gap: 20px;
		grid-template-columns: 1fr;
	}

	/* Une seule colonne existe ici : les 2 items doivent reprendre la même
	   cellule (empilés), sinon grid-column:2 créerait une colonne implicite
	   supplémentaire et provoquerait un débordement horizontal. */
	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content {
		grid-column: 1;
		grid-row: auto;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation {
		background: rgba(11, 27, 36, 0.6);
		border: 1px solid rgba(143, 165, 175, 0.16);
		border-radius: 14px;
		margin-bottom: 8px;
		padding: 12px;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: flex;
		flex-direction: column;
		gap: 8px;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation-link {
		flex: none;
		width: 100%;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation-link a {
		border: 1px solid rgba(143, 165, 175, 0.08);
		border-radius: 10px;
		color: rgba(223, 234, 240, 0.78);
		display: block;
		font-size: 0.88rem;
		font-weight: 600;
		padding: 12px 16px;
		transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation-link a:hover {
		background: rgba(47, 229, 234, 0.08);
		border-color: rgba(47, 229, 234, 0.2);
		color: var(--neo-white);
	}

	.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active a {
		background: rgba(47, 229, 234, 0.12);
		border-color: rgba(47, 229, 234, 0.32);
		color: var(--neo-cyan);
	}

	.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout {
		border-top: 1px solid rgba(143, 165, 175, 0.14);
		margin-top: 4px;
		padding-top: 10px;
	}

	.woocommerce-account .woocommerce-MyAccount-content {
		padding: 24px 20px;
	}

	/* Commandes réorganisées sur mobile :
	   Ligne 1 : Numéro (gauche) + Statut (droite)
	   Ligne 2 : Date (gauche) + Montant (droite)
	   Ligne 3 : Bouton "Voir la commande" */
	.neo-order-row {
		align-items: baseline;
		column-gap: 12px;
		display: grid;
		grid-template-columns: 1fr auto;
		padding: 18px 0;
		row-gap: 8px;
	}

	.neo-order-row__main,
	.neo-order-row__meta,
	.neo-order-row__aside {
		display: contents;
	}

	.neo-order-row__number {
		color: var(--neo-cyan);
		font-size: 0.96rem;
		font-weight: 800;
		grid-column: 1;
		grid-row: 1;
		justify-self: start;
	}

	.neo-order-row__status {
		font-size: 0.82rem;
		font-weight: 700;
		grid-column: 2;
		grid-row: 1;
		justify-self: end;
		text-align: right;
	}

	.neo-order-row__meta-sep {
		display: none;
	}

	.neo-order-row__meta time,
	.neo-order-row__date {
		color: rgba(223, 234, 240, 0.55);
		font-size: 0.82rem;
		grid-column: 1;
		grid-row: 2;
		justify-self: start;
		margin: 0;
	}

	.neo-orders-list .neo-order-row__total {
		color: var(--neo-white);
		font-size: 0.95rem;
		font-weight: 800;
		grid-column: 2;
		grid-row: 2;
		justify-self: end;
		margin: 0;
		text-align: right;
	}

	.neo-order-row__action {
		grid-column: 1 / -1;
		grid-row: 3;
		margin-top: 8px;
		text-align: center;
		width: 100%;
	}

	.neo-account-address__text { max-width: none; }

	/* Le bouton flotté (desktop) redevient un simple bloc au-dessus du texte,
	   qui s'affiche pleine largeur en dessous avec un espacement propre. */
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info a.button {
		float: none;
		margin: 0 0 10px;
	}
}

@media (max-width: 480px) {
	.woocommerce-account .woocommerce-MyAccount-content { padding: 20px 16px; }

	.neo-account-address__header {
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
	}
}

/* -------------------------------------------------------------------------
   Page Calculateur (page-calculateur.php)
   ------------------------------------------------------------------------- */

.neo-calc__intro {
	color: var(--neo-mist);
	font-size: 0.95rem;
	line-height: 1.7;
	margin: 0 0 var(--neo-space-lg);
}

.neo-calc__controls {
	display: grid;
	gap: var(--neo-space-md);
	grid-template-columns: 1fr 1fr;
	margin-bottom: var(--neo-space-lg);
}

.neo-calc__field { min-width: 0; }

.neo-calc__label {
	color: var(--neo-cyan);
	display: block;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	margin: 0 0 8px;
	text-transform: uppercase;
}

.neo-calc__select {
	appearance: none;
	background: rgba(5, 15, 22, 0.85) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 10 7' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%232fe5ea' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 16px center;
	border: 1px solid var(--neo-line);
	border-radius: 10px;
	color: var(--neo-white);
	cursor: pointer;
	font-size: 0.95rem;
	font-weight: 600;
	padding: 13px 42px 13px 16px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	width: 100%;
}

.neo-calc__select:hover,
.neo-calc__select:focus-visible {
	border-color: rgba(47, 229, 234, 0.72);
	box-shadow: 0 0 0 3px rgba(47, 229, 234, 0.1);
	outline: 0;
}

.neo-calc__field--static {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

.neo-calc__field-note {
	border-left: 2px solid rgba(47, 229, 234, 0.5);
	color: var(--neo-steel);
	font-size: 0.75rem;
	line-height: 1.5;
	margin: 8px 0 0;
	padding-left: 10px;
}

.neo-calc__static-value {
	border: 1px dashed var(--neo-line);
	border-radius: 10px;
	color: var(--neo-mist);
	font-size: 0.95rem;
	font-weight: 600;
	margin: 0;
	padding: 13px 16px;
}

.neo-calc__results {
	display: grid;
	gap: var(--neo-space-md);
	grid-template-columns: repeat(3, 1fr);
}

.neo-calc__card {
	background: rgba(5, 15, 22, 0.72);
	border: 1px solid var(--neo-line);
	border-radius: var(--neo-radius);
	padding: var(--neo-space-md);
}

.neo-calc__card-label {
	color: var(--neo-steel);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	margin: 0 0 6px;
	text-transform: uppercase;
}

.neo-calc__card-value {
	color: var(--neo-cyan);
	font-family: var(--neo-display);
	font-size: clamp(1.15rem, 2vw, 1.5rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0;
}

.neo-calc__card-note {
	color: var(--neo-mist);
	font-size: 0.78rem;
	line-height: 1.5;
	margin: 8px 0 0;
	opacity: 0.85;
}

.neo-calc__caption-note {
	border-top: 1px solid var(--neo-line);
	color: var(--neo-mist);
	font-size: 0.82rem;
	line-height: 1.6;
	margin: var(--neo-space-lg) 0 0;
	padding-top: var(--neo-space-md);
}

.neo-calc__caption-note span { color: var(--neo-cyan); font-weight: 700; }

/* Tableau d'équivalence concentration / volume */
.neo-calc-table-wrapper {
	border: 1px solid var(--neo-line);
	border-radius: 12px;
	margin-top: var(--neo-space-lg);
	overflow: hidden;
}

.neo-calc-table {
	border-collapse: collapse;
	width: 100%;
}

.neo-calc-table caption {
	background: rgba(47, 229, 234, 0.06);
	border-bottom: 1px solid var(--neo-line);
	color: var(--neo-mist);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	padding: 12px 18px;
	text-align: left;
	text-transform: uppercase;
}

.neo-calc-table th,
.neo-calc-table td {
	font-size: 0.88rem;
	padding: 11px 18px;
	text-align: left;
}

.neo-calc-table thead th {
	border-bottom: 1px solid var(--neo-line);
	color: var(--neo-steel);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.neo-calc-table tbody td {
	border-bottom: 1px solid rgba(143, 165, 175, 0.1);
	color: var(--neo-mist);
}

.neo-calc-table tbody tr:last-child td { border-bottom: 0; }
.neo-calc-table tbody tr:hover { background: rgba(47, 229, 234, 0.03); }

.neo-calc-table tbody tr.is-active td {
	background: rgba(47, 229, 234, 0.07);
	color: var(--neo-cyan);
	font-weight: 700;
}

.neo-calc-table td:last-child { font-variant-numeric: tabular-nums; }

.neo-calc-units__grid {
	display: grid;
	gap: var(--neo-space-md);
	grid-template-columns: 1fr 1fr;
}

.neo-calc-units__item {
	background: rgba(5, 15, 22, 0.6);
	border: 1px solid var(--neo-line);
	border-radius: 14px;
	padding: var(--neo-space-md);
}

.neo-calc-units__item h3 {
	color: var(--neo-cyan);
	font-size: 0.85rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	margin: 0 0 8px;
	text-transform: uppercase;
}

.neo-calc-units__item p {
	color: var(--neo-mist);
	font-size: 0.88rem;
	line-height: 1.65;
	margin: 0;
}

.neo-calc-units__note {
	border-left: 3px solid var(--neo-cyan);
	color: var(--neo-mist);
	font-size: 0.9rem;
	font-style: italic;
	margin: var(--neo-space-md) 0 0;
	padding-left: var(--neo-space-sm);
}

.neo-calc-illustration {
	color: var(--neo-cyan);
	margin: var(--neo-space-lg) 0 0;
	padding: var(--neo-space-md) 0 0;
	text-align: center;
}

.neo-calc-illustration svg {
	height: auto;
	margin: 0 auto;
	max-width: 520px;
	opacity: 0.85;
	width: 100%;
}

.neo-calc-illustration__caption {
	color: var(--neo-steel);
	font-size: 0.78rem;
	letter-spacing: 0.06em;
	margin: var(--neo-space-sm) 0 0;
	text-transform: uppercase;
}

@media (max-width: 782px) {
	.neo-calc__controls { grid-template-columns: 1fr; }
	.neo-calc__results { grid-template-columns: 1fr; }
	.neo-calc-units__grid { grid-template-columns: 1fr; }
}

/* -------------------------------------------------------------------------
   Restriction « Stylo injectable » (France uniquement)
   ------------------------------------------------------------------------- */

/* Disclaimer fiche produit — encart compact, premium */
.neo-stylo-disclaimer {
	background: rgba(11, 29, 42, 0.55);
	border: 1px solid rgba(47, 229, 234, 0.25);
	border-left: 2px solid var(--neo-cyan);
	border-radius: 8px;
	clear: both;
	margin: var(--neo-space-md) 0 0;
	padding: 12px 16px;
	width: 100%;
}

.neo-stylo-disclaimer__title {
	color: var(--neo-white);
	font-size: 0.84rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.4;
	margin: 0 0 3px;
}

.neo-stylo-disclaimer__text {
	color: var(--neo-mist);
	font-size: 0.76rem;
	line-height: 1.5;
	margin: 0;
}

/* Phrase explicative SOUS le bloc des méthodes de livraison (composant intact).
   Texte d'information simple : taille et contraste renforcés, espacement autour. */
.neo-stylo-shipping-note {
	color: var(--neo-mist);
	display: block;
	font-size: 0.84rem;
	font-style: italic;
	font-weight: 400;
	letter-spacing: 0.01em;
	line-height: 1.55;
	margin: 14px 0 6px;
	width: 100%;
}

/* Mondial Relay désactivé (radio disabled via PHP) : visible mais non
   sélectionnable, sans texte ajouté (le bloc garde sa hauteur normale). */
#shipping_method li:has(input[type="radio"][disabled]),
ul.woocommerce-shipping-methods li:has(input[type="radio"][disabled]),
.woocommerce-checkout-review-order-table li:has(input[type="radio"][disabled]) {
	opacity: 0.55;
}

#shipping_method li:has(input[type="radio"][disabled]) label,
ul.woocommerce-shipping-methods li:has(input[type="radio"][disabled]) label {
	cursor: not-allowed;
}

/* Bloc d'avertissement hors France (checkout) — UN SEUL encart, centré.
   Le <ul class="woocommerce-error"> est le conteneur : on le rend totalement
   transparent (aucun fond, bordure, ombre, padding, icône) pour ne laisser QUE
   le <li> comme unique encart visible (un seul fond, une seule bordure cyan). */
.woocommerce-error:has(.neo-stylo-geo__title),
.woocommerce-cart .woocommerce-error:has(.neo-stylo-geo__title),
.woocommerce-checkout .woocommerce-error:has(.neo-stylo-geo__title),
.woocommerce-checkout .woocommerce-NoticeGroup .woocommerce-error:has(.neo-stylo-geo__title) {
	background: none !important;
	background-image: none !important;
	background-color: transparent !important;
	border: 0 !important;
	border-left: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 auto 24px !important;
	max-width: 760px !important;
	list-style: none !important;
}

/* Neutralise toute icône/puce native du conteneur et de l'item. */
.woocommerce-error:has(.neo-stylo-geo__title)::before,
.woocommerce-error:has(.neo-stylo-geo__title)::after,
.woocommerce-error:has(.neo-stylo-geo__title) li::before,
.woocommerce-error:has(.neo-stylo-geo__title) li::after {
	content: none !important;
	display: none !important;
}

/* L'UNIQUE encart visible = le <li>. On écrase la bordure saumon du thème. */
.woocommerce-error:has(.neo-stylo-geo__title) li,
.woocommerce-checkout .woocommerce-error:has(.neo-stylo-geo__title) li,
.woocommerce-cart .woocommerce-error:has(.neo-stylo-geo__title) li {
	background: rgba(11, 29, 42, 0.92) !important;
	background-image: none !important;
	border: 1px solid rgba(47, 229, 234, 0.35) !important;
	border-left: 3px solid var(--neo-cyan) !important;
	border-radius: 12px !important;
	box-shadow: 0 14px 34px rgba(1, 15, 21, 0.25) !important;
	color: var(--neo-mist);
	display: block !important;
	margin: 0 !important;
	padding: 16px 22px !important;
}

.neo-stylo-geo__title {
	color: var(--neo-white);
	font-size: 0.98rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.5;
	margin: 0 0 6px;
}

.neo-stylo-geo__text {
	color: var(--neo-mist);
	font-size: 0.85rem;
	line-height: 1.6;
	margin: 0;
}

/* ==========================================================================
   BOUTIQUE — SÉLECTION DE CATÉGORIE
   ========================================================================== */

.shop-cat-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	margin-top: 32px;
}

.shop-cat-card {
	background: rgba(47, 229, 234, 0.04);
	border: 1px solid rgba(47, 229, 234, 0.2);
	border-radius: 14px;
	padding: 28px 32px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	text-decoration: none;
	transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

.shop-cat-card:hover {
	background: rgba(47, 229, 234, 0.08);
	border-color: var(--neo-cyan);
	transform: translateY(-2px);
}

.shop-cat-card__name {
	color: var(--neo-white);
	font-size: clamp(1.1rem, 1.6vw, 1.35rem);
	font-weight: 800;
	letter-spacing: -0.01em;
}

.shop-cat-card__desc {
	color: rgba(223, 234, 240, 0.82);
	font-size: 0.92rem;
	line-height: 1.6;
}

.shop-cat-card__count {
	color: var(--neo-steel);
	font-size: 0.8rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.shop-cat-card__cta {
	color: var(--neo-cyan);
	font-size: 0.88rem;
	font-weight: 700;
	margin-top: auto;
}

@media (max-width: 768px) {
	.shop-cat-grid {
		grid-template-columns: 1fr;
	}

	.shop-cat-card {
		padding: 22px 20px;
	}
}

/* ==========================================================================
   NEO PEPTIDES LAB - TARIF DÉGRESSIF (PEPTIDES DE RECHERCHE)
   ========================================================================== */

.neo-tier-pricing {
        border-left: 2px solid var(--neo-cyan);
        margin: 16px 0;
        padding: 4px 0 4px 16px;
}

.neo-tier-pricing__title {
        color: var(--neo-steel);
        font-size: 0.68rem;
        font-weight: 700;
        letter-spacing: 0.14em;
        margin: 0 0 8px;
        text-transform: uppercase;
}

.neo-tier-pricing__row {
        align-items: baseline;
        display: flex;
        font-size: 0.86rem;
        justify-content: space-between;
        gap: 12px;
        padding: 3px 0;
}

.neo-tier-pricing__range {
        color: var(--neo-mist);
}

.neo-tier-pricing__price {
        color: var(--neo-white);
        font-weight: 700;
        white-space: nowrap;
}

.neo-tier-pricing__message {
        color: var(--neo-cyan);
        font-size: 0.8rem;
        font-weight: 600;
        margin: 8px 0 0;
}

.neo-qty-discount-note {
        color: var(--neo-cyan);
        font-size: 0.78rem;
        margin-top: 4px;
}

/* === NEO : présentation responsive du bandeau hebdomadaire === */
.neo-weekly-banner {
	align-items: center !important;
	background: linear-gradient(110deg, #081a29 0%, #0b1d2a 55%, #0d2532 100%) !important;
	border-bottom: 1px solid rgba(47, 229, 234, 0.22) !important;
	box-shadow: 0 5px 16px rgba(1, 15, 21, 0.16) !important;
	box-sizing: border-box !important;
	color: #edf5f7 !important;
	display: flex !important;
	justify-content: center !important;
	min-height: 52px !important;
	padding: 7px 64px 7px 20px !important;
	position: relative !important;
	text-align: left !important;
	z-index: 21 !important;
}
.neo-weekly-banner[hidden] { display: none !important; }
.neo-weekly-banner__inner {
	align-items: center !important;
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 7px 14px !important;
	justify-content: center !important;
	max-width: 1380px !important;
	width: 100% !important;
}
.neo-weekly-banner__title {
	background: rgba(47, 229, 234, 0.1) !important;
	border: 1px solid rgba(47, 229, 234, 0.32) !important;
	border-radius: 8px !important;
	color: #2fe5ea !important;
	font-size: 0.64rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.1em !important;
	line-height: 1.4 !important;
	margin: 0 !important;
	min-width: 0;
	max-width: 100%;
	height: auto;
	overflow-wrap: anywhere;
	padding: 6px 12px !important;
	text-transform: uppercase !important;
	white-space: normal !important;
}
.neo-weekly-banner__text {
	color: #d7e4ea !important;
	font-family: "Avenir Next", "Segoe UI", sans-serif !important;
	font-size: 0.82rem !important;
	line-height: 1.4 !important;
	margin: 0 !important;
	min-width: 0;
	max-width: 100%;
	overflow-wrap: anywhere;
}
.neo-weekly-banner__link {
	align-items: center !important;
	background: transparent !important;
	border: 1px solid rgba(47, 229, 234, 0.36) !important;
	border-radius: 999px !important;
	color: #2fe5ea !important;
	display: inline-flex !important;
	font-family: "Segoe UI", Helvetica, Arial, sans-serif !important;
	font-size: 0.72rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.035em !important;
	line-height: 1.2 !important;
	margin: 0 !important;
	padding: 6px 11px !important;
	text-decoration: none !important;
	transition: background 0.18s ease, border-color 0.18s ease !important;
}
.neo-weekly-banner__link:hover,
.neo-weekly-banner__link:focus-visible {
	background: rgba(47, 229, 234, 0.11) !important;
	border-color: #2fe5ea !important;
	color: #edf5f7 !important;
}
.neo-weekly-banner__close {
	align-items: center !important;
	background: rgba(215, 228, 234, 0.04) !important;
	border: 1px solid rgba(215, 228, 234, 0.14) !important;
	border-radius: 50% !important;
	color: rgba(215, 228, 234, 0.74) !important;
	cursor: pointer !important;
	display: inline-flex !important;
	height: 28px !important;
	justify-content: center !important;
	line-height: 1 !important;
	position: absolute !important;
	right: 18px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	transition: color 0.18s ease, border-color 0.18s ease !important;
	width: 28px !important;
}
.neo-weekly-banner__close:hover,
.neo-weekly-banner__close:focus-visible {
	border-color: rgba(47, 229, 234, 0.5) !important;
	color: #2fe5ea !important;
}
@media (max-width: 700px) {
	.neo-weekly-banner { min-height: 44px !important; padding: 10px 48px 10px 16px !important; text-align: center !important; }
	.neo-weekly-banner__inner {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr);
		gap: 6px !important;
		justify-items: center;
		min-width: 0 !important;
	}
	.neo-weekly-banner__title {
		box-sizing: border-box;
		font-size: 0.72rem !important;
		order: 0;
		letter-spacing: 0.025em !important;
		line-height: 1.4 !important;
		max-width: 100% !important;
		overflow-wrap: anywhere !important;
		padding: 6px 12px !important;
		white-space: normal !important;
	}
	/* Une colonne de contenu, la fermeture restant hors de toutes ses rangées. */
	.neo-weekly-banner__text {
		font-size: 0.75rem !important;
		order: 1;
		line-height: 1.3 !important;
		max-width: 100% !important;
		min-width: 0 !important;
		overflow-wrap: anywhere !important;
		text-wrap: pretty;
	}
	.neo-weekly-banner__link {
		align-self: center !important;
		font-size: 0.66rem !important;
		order: 2;
		letter-spacing: 0 !important;
		max-width: 100% !important;
		min-height: 24px !important;
		padding: 4px 8px !important;
		white-space: normal !important;
	}
	.neo-weekly-banner__close {
		bottom: auto !important;
		font-size: 18px !important;
		height: 32px !important;
		padding: 0 !important;
		right: 8px !important;
		top: 10px !important;
		transform: none !important;
		width: 32px !important;
	}
}

/* === NEO : ajustements visuels ciblés du checkout classique === */
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info {
	align-items: center;
	background: rgba(11, 29, 42, .6) !important;
	border: 1px solid rgba(47, 229, 234, .2) !important;
	border-radius: 10px !important;
	box-shadow: none !important;
	color: var(--neo-mist, #d7e4ea) !important;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px 8px;
	font-size: .84rem !important;
	font-weight: 500;
	height: auto !important;
	min-height: 0 !important;
	line-height: 1.35 !important;
	margin: 0 0 12px !important;
	padding: 8px 12px !important;
	text-align: center;
}
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info::before,
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info::after { display: none !important; }
.woocommerce-checkout .woocommerce-form-login-toggle .showlogin {
	border: 1px solid rgba(47, 229, 234, .34);
	border-radius: 999px;
	color: var(--neo-cyan, #2fe5ea) !important;
	display: inline-block;
	font-size: .82rem;
	font-weight: 700;
	line-height: 1.3;
	padding: 5px 10px;
	text-decoration: none;
}
.woocommerce-checkout .woocommerce-form-login-toggle .showlogin:hover,
.woocommerce-checkout .woocommerce-form-login-toggle .showlogin:focus-visible {
	background: rgba(47, 229, 234, .1);
	border-color: var(--neo-cyan, #2fe5ea);
	color: var(--neo-white, #edf5f7) !important;
}
.woocommerce-checkout .woocommerce-account-fields p.form-row.create-account {
	background: rgba(11, 29, 42, .68);
	border: 1px solid rgba(143, 165, 175, .2);
	border-radius: 11px;
	margin: 16px 0 10px;
	padding: 14px 16px;
}
.woocommerce-checkout .woocommerce-account-fields p.form-row.create-account label {
	align-items: flex-start;
	color: var(--neo-mist, #d7e4ea);
	cursor: pointer;
	display: flex;
	font-size: .9rem;
	font-weight: 600;
	gap: 10px;
	line-height: 1.45;
	margin: 0;
}
.woocommerce-checkout .woocommerce-account-fields #createaccount {
	accent-color: var(--neo-cyan, #2fe5ea);
	flex: 0 0 auto;
	height: 17px;
	margin: 2px 0 0;
	width: 17px;
}
@media (max-width: 640px) {
	.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info { font-size: .8rem !important; padding: 8px 10px !important; }
	.woocommerce-checkout .woocommerce-form-login-toggle .showlogin { font-size: .78rem; }
	.woocommerce-checkout .woocommerce-account-fields p.form-row.create-account { padding: 12px 13px; }
	.woocommerce-checkout .woocommerce-account-fields p.form-row.create-account label { font-size: .86rem; }
}

/* Login déplié uniquement au checkout : conserve le display:none natif et le toggle WooCommerce. */
.woocommerce-checkout form.woocommerce-form-login {
	background: rgba(11, 29, 42, .55);
	border: 1px solid var(--neo-line);
	border-radius: 12px;
	box-shadow: none;
	margin: 0 0 22px;
	padding: 18px 20px;
	text-align: left;
}
.woocommerce-checkout form.woocommerce-form-login .form-row { padding: 0; }
.woocommerce-checkout form.woocommerce-form-login .form-row-first,
.woocommerce-checkout form.woocommerce-form-login .form-row-last {
	margin-bottom: 16px;
	width: calc(50% - 10px);
}
.woocommerce-checkout form.woocommerce-form-login .form-row label {
	font-size: .78rem;
	letter-spacing: .015em;
	margin-bottom: 6px;
	text-transform: none;
}
.woocommerce-checkout form.woocommerce-form-login input.input-text {
	background: rgba(5, 15, 22, .6);
	border-radius: 9px;
	height: 44px;
	line-height: normal;
	padding: 10px 13px;
}
.woocommerce-checkout form.woocommerce-form-login .form-row:has(.woocommerce-form-login__rememberme) {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px 18px;
	margin: 0 0 10px;
}
.woocommerce-checkout form.woocommerce-form-login .form-row:has(.woocommerce-form-login__rememberme)::before,
.woocommerce-checkout form.woocommerce-form-login .form-row:has(.woocommerce-form-login__rememberme)::after { display: none; }
.woocommerce-checkout form.woocommerce-form-login label.woocommerce-form-login__rememberme {
	align-items: center;
	color: var(--neo-mist);
	cursor: pointer;
	display: inline-flex;
	font-size: .82rem;
	font-weight: 400;
	gap: 8px;
	line-height: 1.4;
	margin: 0;
}
.woocommerce-checkout form.woocommerce-form-login #rememberme {
	accent-color: var(--neo-cyan);
	flex: 0 0 auto;
	height: 16px;
	margin: 0;
	width: 16px;
}
.woocommerce-checkout form.woocommerce-form-login button.woocommerce-form-login__submit {
	background: var(--neo-cyan) !important;
	border: 1px solid var(--neo-cyan) !important;
	border-radius: 9px !important;
	box-shadow: none !important;
	color: var(--neo-ink) !important;
	float: none;
	font-family: var(--neo-body);
	font-size: .84rem !important;
	font-weight: 700;
	letter-spacing: .015em;
	line-height: 1.3;
	margin: 0 !important;
	min-height: 40px;
	padding: 10px 20px !important;
	text-transform: none !important;
	transition: background .18s ease, border-color .18s ease;
}
.woocommerce-checkout form.woocommerce-form-login button.woocommerce-form-login__submit:hover {
	background: var(--neo-cyan-deep) !important;
	border-color: var(--neo-cyan-deep) !important;
}
.woocommerce-checkout form.woocommerce-form-login button.woocommerce-form-login__submit:focus-visible {
	outline: 2px solid var(--neo-white);
	outline-offset: 3px;
}
.woocommerce-checkout form.woocommerce-form-login .lost_password {
	font-size: .78rem;
	line-height: 1.4;
	margin: 0;
}
.woocommerce-checkout form.woocommerce-form-login .lost_password a {
	color: var(--neo-steel);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.woocommerce-checkout form.woocommerce-form-login .lost_password a:hover,
.woocommerce-checkout form.woocommerce-form-login .lost_password a:focus-visible { color: var(--neo-cyan); }
@media (max-width: 640px) {
	.woocommerce-checkout form.woocommerce-form-login { padding: 16px 14px; }
	.woocommerce-checkout form.woocommerce-form-login .form-row-first,
	.woocommerce-checkout form.woocommerce-form-login .form-row-last { float: none; width: 100%; }
}
