/* =========================================================
   Canop — woocommerce.css
   Surcharges des templates WC : fiche, archive, panier, checkout.
   ========================================================= */

.wc-page { padding-block: clamp(40px, 6vw, 80px); }

/* ───── Breadcrumb ───── */
.breadcrumb {
	font-size: 0.85rem;
	color: var(--c-mute);
	margin-bottom: 24px;
}
.breadcrumb a { color: var(--c-mute); }
.breadcrumb a:hover { color: var(--c-ink); }
.breadcrumb .sep { margin-inline: 8px; }

/* ───── Archive produits ───── */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-result-count { color: var(--c-mute); font-size: 0.88rem; margin-bottom: 16px; }
.woocommerce-ordering { margin-bottom: 24px; }
.woocommerce-ordering select {
	padding: 10px 16px; border-radius: 999px; border: 1px solid var(--c-line); background: #fff;
}

ul.products {
	list-style: none; padding: 0; margin: 0;
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px !important;
	align-items: stretch;
}
@media (max-width: 900px) { ul.products { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 540px) { ul.products { grid-template-columns: 1fr !important; } }

/* Carte produit — flex column, hauteur égalisée, bouton ancré en bas */
ul.products li.product {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	background: #fff;
	border: 1px solid var(--c-line);
	border-top: 5px solid var(--c-yellow);
	border-radius: var(--radius-lg);
	padding: 14px 14px 18px;
	display: flex !important;
	flex-direction: column;
	text-align: left;
	position: relative;
	overflow: hidden;
}
ul.products li.product:nth-child(3n+1) { border-top-color: var(--c-red); }
ul.products li.product:nth-child(3n+2) { border-top-color: var(--c-green); }
ul.products li.product:nth-child(3n)   { border-top-color: var(--c-yellow); }
ul.products li.product::before { content: none; }

/* Le lien image+titre+prix prend tout l'espace dispo, le bouton suit */
ul.products li.product > a:not(.button) {
	display: flex;
	flex-direction: column;
	flex: 1;
}
ul.products li.product a img {
	border-radius: var(--radius);
	margin: 0 0 16px !important;
	aspect-ratio: 1;
	object-fit: cover;
	width: 100%;
	background: var(--c-cream);
}
ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--f-serif) !important;
	font-size: 1.08rem !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	margin: 0 0 10px !important;
	padding: 0 !important;
	color: var(--c-ink) !important;
	/* Hauteur fixe ~2 lignes pour aligner les prix */
	min-height: 2.8em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
ul.products li.product .price {
	color: var(--c-ink) !important;
	font-family: var(--f-serif) !important;
	font-size: 1.15rem !important;
	font-weight: 700 !important;
	margin: auto 0 14px !important;
	display: flex;
	align-items: baseline;
	gap: 8px;
}
ul.products li.product .price del {
	color: var(--c-mute);
	font-weight: 400;
	font-size: 0.92rem;
	opacity: 0.7;
	order: 2;
}
ul.products li.product .price ins {
	background: none !important;
	color: var(--c-ink);
	text-decoration: none;
	order: 1;
}
ul.products li.product .button {
	background: var(--c-blue) !important;
	color: #fff !important;
	padding: 12px 22px !important;
	border-radius: 999px !important;
	font-weight: 600 !important;
	font-size: 0.9rem !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	margin: 0 !important;
	border: 0 !important;
	transition: background .2s ease, transform .15s ease !important;
}
ul.products li.product .button::after {
	content: '';
	width: 16px; height: 16px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z'/%3E%3C/svg%3E") no-repeat center / contain;
	transition: transform .25s ease;
}
ul.products li.product .button:hover {
	background: var(--c-blue-d) !important;
	transform: translateY(-1px);
}
ul.products li.product .button:hover::after { transform: translateX(3px); }
ul.products li.product .button.loading,
ul.products li.product .button.added { opacity: 0.7; }
ul.products li.product .added_to_cart {
	display: none !important; /* on gère le feedback via toast */
}
ul.products li.product .onsale,
ul.products li.product .canop-sale-badge {
	position: absolute;
	background: var(--c-blue) !important;
	color: #fff !important;
	border-radius: 999px !important;
	min-height: 0 !important;
	min-width: 0 !important;
	padding: 5px 13px !important;
	line-height: 1.2 !important;
	font-size: 0.7rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	top: 22px !important;
	left: 22px !important;
	right: auto !important;
	margin: 0 !important;
	box-shadow: 0 4px 12px rgba(17,45,99,0.22);
	z-index: 3;
}

/* ───── Single product ───── */
.single-product div.product {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: clamp(32px, 5vw, 64px);
	align-items: start;
}
@media (max-width: 900px) { .single-product div.product { grid-template-columns: 1fr; } }

.single-product .woocommerce-product-gallery {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	position: relative;
}
.single-product .woocommerce-product-gallery .flex-viewport,
.single-product .woocommerce-product-gallery__image img {
	border-radius: var(--radius-lg);
	background: var(--c-cream);
}
.single-product .flex-control-thumbs {
	display: grid !important;
	grid-template-columns: repeat(5, 1fr);
	gap: 8px !important;
	margin-top: 12px !important;
}
.single-product .flex-control-thumbs li { width: 100% !important; margin: 0 !important; }
.single-product .flex-control-thumbs img {
	border-radius: var(--radius-sm);
	opacity: 0.6; transition: opacity .2s;
}
.single-product .flex-control-thumbs img.flex-active,
.single-product .flex-control-thumbs img:hover { opacity: 1; }

.single-product .summary {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}
.single-product .product_title {
	font-size: clamp(1.8rem, 3.2vw, 2.4rem) !important;
	margin-bottom: 12px !important;
}
.single-product .price {
	display: flex; align-items: baseline; gap: 14px;
	margin-block: 16px 4px !important;
	font-size: 2rem !important;
	font-family: var(--f-serif);
	font-weight: 700;
	color: var(--c-ink) !important;
}
.single-product .price ins { background: none !important; text-decoration: none; }
.single-product .price del { color: var(--c-mute); font-weight: 400; font-size: 1.1rem; }
.price-vat-notice { font-size: 0.82rem; color: var(--c-mute); margin-bottom: 20px; }

.single-product .woocommerce-product-details__short-description {
	color: var(--c-ink-soft);
	margin-block: 20px;
	font-size: 1rem;
	line-height: 1.65;
}

.single-product form.cart {
	display: flex; gap: 12px; align-items: center;
	margin-block: 20px !important;
	flex-wrap: wrap;
}
.single-product .quantity {
	display: inline-flex !important;
	align-items: center;
	border: 1px solid var(--c-line);
	border-radius: 999px;
	overflow: hidden;
}
.single-product .quantity input.qty {
	width: 56px !important;
	height: 48px;
	border: 0 !important;
	text-align: center;
	font-weight: 600;
	background: transparent;
}
.single-product .single_add_to_cart_button {
	background: var(--c-blue) !important;
	color: #fff !important;
	padding: 16px 22px 16px 30px !important;
	border-radius: 999px !important;
	font-family: var(--f-sans) !important;
	font-weight: 600 !important;
	font-size: 1rem !important;
	min-height: 56px;
	display: inline-flex !important;
	align-items: center !important;
	gap: 14px !important;
	border: 1.5px solid var(--c-blue) !important;
	transition: background .25s cubic-bezier(.4,0,.2,1), transform .15s ease, box-shadow .25s ease !important;
}
.single-product .single_add_to_cart_button .btn__arrow {
	display: inline-flex; align-items: center; justify-content: center;
	width: 32px; height: 32px;
	border-radius: 50%;
	background: #fff;
	color: var(--c-blue);
	transition: transform .3s cubic-bezier(.4,0,.2,1);
	flex-shrink: 0;
}
.single-product .single_add_to_cart_button:hover .btn__arrow svg { transform: translateX(2px); }
.single-product .single_add_to_cart_button:hover {
	background: var(--c-blue-d) !important;
	transform: translateY(-1px);
	box-shadow: 0 10px 28px rgba(17,45,99,0.28);
}
.single-product .single_add_to_cart_button:disabled { opacity: 0.5; transform: none; }

/* Animation d'attention légère — souligne que c'est LE CTA principal */
.single-product .single_add_to_cart_button:not(:hover):not(:disabled):not(.is-loading) {
	animation: canop-cta-pulse 2.8s ease-in-out infinite;
}
@keyframes canop-cta-pulse {
	0%, 100% { box-shadow: 0 6px 18px rgba(17,45,99,0.18); }
	50%      { box-shadow: 0 10px 30px rgba(17,45,99,0.38); transform: translateY(-1px); }
}
@media (prefers-reduced-motion: reduce) {
	.single-product .single_add_to_cart_button { animation: none !important; }
}

.product-trust {
	list-style: none; padding: 0; margin: 24px 0 0 !important;
	display: grid; gap: 10px;
}
.product-trust li {
	position: relative;
	padding-left: 28px;
	font-size: 0.92rem;
	color: var(--c-ink-soft);
}
.product-trust li::before {
	content: '✓';
	position: absolute; left: 0; top: 0;
	font-weight: 700;
}
.product-trust li:nth-child(3n+1)::before { color: var(--c-red); }
.product-trust li:nth-child(3n+2)::before { color: var(--c-green-d); }
.product-trust li:nth-child(3n)::before   { color: var(--c-yellow-d); }

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

/* ─── Étoiles + note clients sous le titre ─── */
.canop-rating-row {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 8px 0 4px;
	font-size: 0.9rem;
	color: var(--c-ink-soft);
}
.canop-stars { display: inline-flex; gap: 1px; color: var(--c-yellow-d); }
.canop-stars svg { width: 16px; height: 16px; }
.canop-rating-text a { color: var(--c-blue); text-decoration: underline; text-underline-offset: 3px; }
.canop-rating-text a:hover { color: var(--c-blue-d); }

/* ─── Badge promo (sur fiche produit & cards) ─── */
.canop-sale-badge {
	position: absolute;
	top: 18px; left: 18px;
	z-index: 5;
	background: var(--c-blue);
	color: #fff;
	border-radius: 999px;
	padding: 6px 14px;
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	box-shadow: 0 4px 12px rgba(17,45,99,0.18);
}
.single-product .summary { position: relative; }
.single-product .woocommerce-product-gallery { position: relative; }
.single-product .woocommerce-product-gallery .canop-sale-badge { top: 24px; left: 24px; }

/* ─── Bloc réassurance — pleine largeur sous le résumé produit ─── */
.canop-product-usp {
	grid-column: 1 / -1;          /* prend toute la largeur du div.product */
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin: 8px 0 0;
	padding: 28px 36px;
	background: #fff;
	border-radius: var(--radius);
	border: 1px solid var(--c-line);
	box-shadow: 0 6px 24px rgba(31,29,26,0.05);
}
.canop-product-usp__item + .canop-product-usp__item {
	border-left: 1px solid var(--c-line);
	padding-left: 24px;
}
.canop-product-usp__item {
	display: flex;
	align-items: center;
	gap: 14px;
	color: var(--c-ink);
}
.canop-product-usp__item svg {
	flex-shrink: 0;
	width: 26px; height: 26px;
	color: var(--c-blue);
}
.canop-product-usp__item:nth-child(3n+1) svg { color: var(--c-red); }
.canop-product-usp__item:nth-child(3n+2) svg { color: var(--c-green-d); }
.canop-product-usp__item:nth-child(3n) svg   { color: var(--c-yellow-d); }
.canop-product-usp__item div { line-height: 1.4; min-width: 0; }
.canop-product-usp__item strong {
	display: block;
	font-weight: 600;
	font-size: 0.97rem;
	color: var(--c-ink);
	margin-bottom: 2px;
}
.canop-product-usp__item span {
	display: block;
	font-size: 0.84rem;
	color: var(--c-mute);
}
@media (max-width: 768px) {
	.canop-product-usp { grid-template-columns: 1fr; gap: 0; padding: 6px 22px; }
	.canop-product-usp__item { padding-block: 16px; }
	.canop-product-usp__item + .canop-product-usp__item {
		border-left: 0;
		border-top: 1px solid var(--c-line);
		padding-left: 0;
	}
}

/* ─── Sections accordéon de la fiche produit ─── */
.product-accordion {
	display: grid;
	gap: 12px;
	margin-top: 28px;
}
.product-accordion__item {
	border: 1.5px solid var(--c-line);
	border-left: 4px solid var(--c-yellow);
	border-radius: var(--radius);
	overflow: hidden;
	background: #fff;
	transition: border-color .25s ease, box-shadow .25s ease;
}
.product-accordion__item:nth-child(3n+1) { border-left-color: var(--c-red); }
.product-accordion__item:nth-child(3n+2) { border-left-color: var(--c-green); }
.product-accordion__item:nth-child(3n)   { border-left-color: var(--c-yellow); }
.product-accordion__item[open] {
	border-color: var(--c-blue-tint);
	box-shadow: 0 6px 20px rgba(31,29,26,0.06);
}
.product-accordion__item summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px 18px;
	font-weight: 700;
	font-size: 0.86rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--c-ink);
	user-select: none;
}
.product-accordion__item summary::-webkit-details-marker { display: none; }
.product-accordion__icon {
	display: inline-flex;
	color: var(--c-blue);
	flex-shrink: 0;
}
.product-accordion__item:nth-child(3n+1) .product-accordion__icon { color: var(--c-red); }
.product-accordion__item:nth-child(3n+2) .product-accordion__icon { color: var(--c-green-d); }
.product-accordion__item:nth-child(3n)   .product-accordion__icon { color: var(--c-yellow-d); }
.product-accordion__title { flex: 1; }
.product-accordion__chevron {
	display: inline-flex;
	color: var(--c-mute);
	transition: transform .25s ease;
	flex-shrink: 0;
}
.product-accordion__item[open] .product-accordion__chevron { transform: rotate(180deg); }
.product-accordion__body {
	padding: 0 18px 18px 48px;
	font-size: 0.95rem;
	line-height: 1.65;
	color: var(--c-ink-soft);
}
.product-accordion__body p { margin-bottom: 10px; }
.product-accordion__body p:last-child { margin-bottom: 0; }
.product-accordion__body strong { color: var(--c-ink); font-weight: 700; }
@media (max-width: 768px) {
	.product-accordion__body { padding-left: 18px; }
}

/* ─── Blocs avis + FAQ ajoutés sous la fiche produit ─── */
.canop-product-extra {
	grid-column: 1 / -1;
}
/* Full-bleed : le fond couvre toute la largeur de l'écran, même en grand format */
.canop-product-extra .section {
	padding-block: clamp(40px, 5vw, 64px);
	width: 100vw;
	margin-left: 50%;
	transform: translateX(-50%);
}
.canop-product-extra .section .container {
	max-width: var(--max-w);
	margin-inline: auto;
	padding-inline: var(--gutter);
}
/* Fond blanc franc (plus de beige soutenu) */
.canop-product-extra .section,
.canop-product-extra .section--soft {
	background: #fff;
	border-block: 1px solid var(--c-line);
}
.canop-product-extra .section + .canop-product-extra .section { margin-top: 0; }

/* ═══════════════════════════════════════════════════════════════
   BLOC « POINTS FORTS » — 3 cartes colorées + image
   ═══════════════════════════════════════════════════════════════ */
.canop-highlights .section-head { margin-bottom: 44px; }
.canop-highlights .section-head h2 { color: var(--c-blue); }
.highlights-grid {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: clamp(32px, 5vw, 64px);
	align-items: center;
}
.highlights-cards { display: grid; gap: 18px; }
.highlight-card {
	display: flex;
	gap: 18px;
	padding: 24px 26px;
	border-radius: var(--radius-lg);
	align-items: flex-start;
}
.highlight-card--yellow { background: var(--c-yellow-soft); }
.highlight-card--blue   { background: var(--c-blue-soft); }
.highlight-card--green  { background: var(--c-green-soft); }
.highlight-card--red    { background: var(--c-red-soft); }
.highlight-card__icon {
	flex-shrink: 0;
	width: 46px; height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.highlight-card__icon svg { width: 42px; height: 42px; }
.highlight-card__body h3 {
	font-family: var(--f-sans);
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--c-blue);
	margin: 4px 0 8px;
}
.highlight-card__body p {
	font-size: 0.92rem;
	color: var(--c-ink-soft);
	line-height: 1.6;
	margin: 0;
}
.highlights-media {
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: 0 24px 60px rgba(31,29,26,0.14);
	aspect-ratio: 1;
}
.highlights-media img {
	width: 100%; height: 100%;
	object-fit: cover;
	transform: scale(1.12);   /* recadre le fond blanc autour du plateau */
}

@media (max-width: 900px) {
	.highlights-grid { grid-template-columns: 1fr; gap: 32px; }
	.highlights-media { order: -1; aspect-ratio: 4 / 3; max-width: 100%; margin-inline: 0; }
}

/* ═══════════════════════════════════════════════════════════════
   FAQ PRODUIT — titre + CTA à gauche, accordéon à droite
   ═══════════════════════════════════════════════════════════════ */
.product-faq-grid {
	display: grid;
	grid-template-columns: 0.8fr 1.2fr;
	gap: clamp(32px, 5vw, 72px);
	align-items: start;
}
.product-faq-intro h2 {
	font-family: var(--f-serif);
	font-size: clamp(1.7rem, 3vw, 2.4rem);
	margin: 8px 0 24px;
}
.product-faq-cta {
	display: flex;
	align-items: center;
	gap: 14px;
	background: var(--c-blue);
	color: #fff;
	border-radius: var(--radius-lg);
	padding: 22px 26px;
	font-weight: 600;
	font-size: 0.97rem;
	line-height: 1.4;
	transition: background .25s ease, transform .15s ease;
}
.product-faq-cta:hover { background: var(--c-blue-d); color: #fff; transform: translateY(-2px); }
.product-faq-cta__icon {
	flex-shrink: 0;
	width: 40px; height: 40px;
	border-radius: 50%;
	background: rgba(255,255,255,0.14);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.product-faq-cta__icon svg { width: 22px; height: 22px; }
.product-faq-list { display: grid; gap: 12px; }

@media (max-width: 860px) {
	.product-faq-grid { grid-template-columns: 1fr; gap: 28px; }
}

/* ─── Galerie premium : ombre douce, hover zoom subtil ─── */
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery .flex-viewport {
	border-radius: var(--radius-lg) !important;
	overflow: hidden;
	box-shadow: 0 8px 32px rgba(31,29,26,0.08);
}
.single-product .woocommerce-product-gallery__image img {
	transition: transform .6s cubic-bezier(.4,0,.2,1);
}
.single-product .woocommerce-product-gallery__image:hover img {
	transform: scale(1.03);
}
.single-product .flex-control-thumbs img {
	border-radius: var(--radius-sm);
	border: 2px solid transparent;
	transition: opacity .2s, border-color .2s;
}
.single-product .flex-control-thumbs img.flex-active {
	border-color: var(--c-blue);
	opacity: 1;
}

/* ─── Sélecteur de quantité premium (−/+) ─── */
.single-product .quantity {
	display: inline-flex !important;
	align-items: center;
	border: 1.5px solid var(--c-line);
	border-radius: 999px;
	overflow: hidden;
	background: #fff;
	height: 56px;
	padding: 4px;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.single-product .quantity:hover,
.single-product .quantity:focus-within {
	border-color: var(--c-blue);
	box-shadow: 0 4px 14px rgba(17,45,99,0.10);
}
.single-product .quantity .qty-btn {
	width: 44px; height: 44px;
	flex-shrink: 0;
	border: 0;
	border-radius: 50%;
	background: var(--c-bg-soft);
	color: var(--c-ink);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background .2s ease, color .2s ease, transform .12s ease;
}
.single-product .quantity .qty-btn:hover {
	background: var(--c-blue);
	color: #fff;
}
.single-product .quantity .qty-btn:active { transform: scale(0.92); }
.single-product .quantity input.qty {
	width: 52px !important;
	height: 44px;
	border: 0 !important;
	text-align: center;
	font-weight: 700;
	font-size: 1.05rem;
	background: transparent;
	color: var(--c-ink);
	font-family: var(--f-sans);
	-moz-appearance: textfield;
	appearance: textfield;
}
.single-product .quantity input.qty::-webkit-outer-spin-button,
.single-product .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none; margin: 0;
}

/* ─── Prix premium ─── */
.single-product .price {
	display: flex !important;
	align-items: baseline;
	gap: 14px;
	margin-block: 18px 4px !important;
	font-family: var(--f-serif);
	font-size: 2.2rem !important;
	font-weight: 700;
	color: var(--c-ink) !important;
	letter-spacing: -0.01em;
}
.single-product .price ins {
	background: none !important;
	text-decoration: none;
	color: var(--c-ink);
}
.single-product .price del {
	color: var(--c-mute);
	font-weight: 400;
	font-size: 1.25rem;
	opacity: 0.75;
}

/* ─── Onglet Description — mise en page premium, pleine largeur ─── */
.woocommerce-tabs {
	grid-column: 1 / -1;          /* s'étend sur toute la largeur de div.product */
	margin-top: 56px;
	border-top: 1px solid var(--c-line);
	padding-top: 36px;
}
.woocommerce-tabs ul.tabs { padding: 0 !important; border: 0 !important; margin: 0 0 28px !important; display: flex; gap: 28px; }
.woocommerce-tabs ul.tabs::before { display: none !important; }
.woocommerce-tabs ul.tabs li {
	background: none !important;
	border: 0 !important;
	border-bottom: 2px solid transparent !important;
	border-radius: 0 !important;
	padding: 6px 0 !important;
	margin: 0 !important;
}
.woocommerce-tabs ul.tabs li::before, .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--c-wood) !important; }
.woocommerce-tabs ul.tabs li a {
	font-family: var(--f-sans);
	font-weight: 600;
	color: var(--c-mute) !important;
	font-size: 0.82rem !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 0 !important;
}
.woocommerce-tabs ul.tabs li.active a { color: var(--c-ink) !important; }

.woocommerce-Tabs-panel {
	max-width: 100%;
}
.woocommerce-Tabs-panel h2 { display: none; }
.woocommerce-Tabs-panel > p,
.woocommerce-Tabs-panel > div > p {
	color: var(--c-ink-soft);
	font-size: 1.02rem;
	line-height: 1.75;
	margin-bottom: 18px;
}
/* Chapô : 1er paragraphe plus présent */
.woocommerce-Tabs-panel > p:first-of-type {
	font-family: var(--f-serif);
	font-size: 1.2rem;
	line-height: 1.55;
	color: var(--c-ink);
}
/* Intertitre type « NOTRE JEU CONTIENT : » (paragraphe contenant un <strong> seul) */
.woocommerce-Tabs-panel p strong:only-child {
	display: inline-block;
	font-family: var(--f-sans);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--c-blue);
	margin-top: 12px;
}
/* Liste « ce que contient » — puces premium */
.woocommerce-Tabs-panel ul {
	list-style: none !important;
	padding: 0 !important;
	margin: 8px 0 24px !important;
	display: grid;
	gap: 12px;
}
.woocommerce-Tabs-panel ul li {
	list-style: none !important;
	position: relative;
	padding: 16px 18px 16px 52px;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius-sm);
	color: var(--c-ink);
	font-size: 0.97rem;
	margin: 0 !important;
}
/* Fonds colorés en rotation */
.woocommerce-Tabs-panel ul li:nth-child(4n+1) { background: var(--c-red-soft);    border-color: #f3c4c4; }
.woocommerce-Tabs-panel ul li:nth-child(4n+2) { background: var(--c-yellow-soft); border-color: #f0dca0; }
.woocommerce-Tabs-panel ul li:nth-child(4n+3) { background: var(--c-green-soft);  border-color: #a9ebcf; }
.woocommerce-Tabs-panel ul li:nth-child(4n)   { background: var(--c-blue-soft);   border-color: #c3cfe4; }
/* Puce = forme géométrique de marque */
.woocommerce-Tabs-panel ul li::before {
	content: '';
	position: absolute;
	left: 16px; top: 50%;
	transform: translateY(-50%);
	width: 22px; height: 22px;
	background: var(--c-red);
	-webkit-mask: no-repeat center / contain;
	mask: no-repeat center / contain;
}
.woocommerce-Tabs-panel ul li:nth-child(4n+1)::before {
	background: var(--c-red);
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='8' cy='8' r='5.4'/%3E%3Ccircle cx='16' cy='8' r='5.4'/%3E%3Ccircle cx='8' cy='16' r='5.4'/%3E%3Ccircle cx='16' cy='16' r='5.4'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='8' cy='8' r='5.4'/%3E%3Ccircle cx='16' cy='8' r='5.4'/%3E%3Ccircle cx='8' cy='16' r='5.4'/%3E%3Ccircle cx='16' cy='16' r='5.4'/%3E%3C/svg%3E");
}
.woocommerce-Tabs-panel ul li:nth-child(4n+2)::before {
	background: var(--c-yellow-d);
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3 6.3 6.9 1-5 4.9 1.2 6.8L12 17.8 5.9 21l1.2-6.8-5-4.9 6.9-1z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3 6.3 6.9 1-5 4.9 1.2 6.8L12 17.8 5.9 21l1.2-6.8-5-4.9 6.9-1z'/%3E%3C/svg%3E");
}
.woocommerce-Tabs-panel ul li:nth-child(4n+3)::before {
	background: var(--c-green-d);
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='5' width='14' height='14' rx='2.5' transform='rotate(45 12 12)'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='5' width='14' height='14' rx='2.5' transform='rotate(45 12 12)'/%3E%3C/svg%3E");
}
.woocommerce-Tabs-panel ul li:nth-child(4n)::before {
	background: var(--c-blue);
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolygon points='12,2 17.6,4 21.1,9 21.1,15 17.6,20 12,22 6.4,20 2.9,15 2.9,9 6.4,4'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolygon points='12,2 17.6,4 21.1,9 21.1,15 17.6,20 12,22 6.4,20 2.9,15 2.9,9 6.4,4'/%3E%3C/svg%3E");
}

/* ───── Cart, Checkout, Account ───── */
.woocommerce-cart .shop_table, .woocommerce-checkout .shop_table {
	border: 1px solid var(--c-line) !important;
	border-radius: var(--radius) !important;
	border-collapse: separate !important;
	border-spacing: 0;
	background: #fff;
}
.woocommerce-cart .shop_table th, .woocommerce-checkout .shop_table th {
	background: var(--c-bg-soft) !important;
	color: var(--c-ink) !important;
	font-weight: 600;
}
.woocommerce-cart .actions .button,
.woocommerce-cart .button,
.woocommerce-checkout #place_order,
.woocommerce-account .button {
	background: var(--c-ink) !important;
	color: #fff !important;
	border-radius: 999px !important;
	padding: 12px 24px !important;
	font-weight: 600 !important;
}
.woocommerce-cart .button:hover,
.woocommerce-checkout #place_order:hover { background: var(--c-wood-d) !important; }

.cart_totals h2, .cross-sells h2 {
	font-family: var(--f-serif);
}

/* ═══════════════════════════════════════════════════════════════
   PAGE COMMANDE — refonte premium, 2 colonnes, simple à remplir
   ═══════════════════════════════════════════════════════════════ */
/* La page checkout a besoin de toute la largeur (sort du max-width 960) */
.woocommerce-checkout-page .page-content,
.woocommerce-cart .page-content,
body.woocommerce-checkout .page-content {
	max-width: var(--max-w);
}

/* Bandeau coupon — discret */
.woocommerce-checkout .woocommerce-form-coupon-toggle {
	margin-bottom: 28px;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
	background: #fff;
	border: 1px dashed var(--c-line);
	border-left: 1px dashed var(--c-line) !important;
	border-radius: var(--radius);
	font-size: 0.9rem;
	color: var(--c-ink-soft);
}
.woocommerce-checkout .checkout_coupon {
	border: 1px solid var(--c-line) !important;
	border-radius: var(--radius) !important;
	background: #fff;
	padding: 22px !important;
}

/* Layout 2 colonnes : formulaire à gauche, récap sticky à droite */
@media (min-width: 901px) {
	.woocommerce-checkout form.checkout {
		display: grid;
		grid-template-columns: 1.3fr 0.85fr;
		gap: 48px;
		align-items: start;
	}
	.woocommerce-checkout #customer_details   { grid-column: 1; grid-row: 1 / span 2; }
	.woocommerce-checkout #order_review_heading { grid-column: 2; grid-row: 1; margin-top: 0 !important; }
	.woocommerce-checkout #order_review {
		grid-column: 2; grid-row: 2;
		position: sticky;
		top: calc(var(--header-h) + 24px);
	}
	.woocommerce-checkout .col2-set { display: block; }
	.woocommerce-checkout .col2-set .col-1,
	.woocommerce-checkout .col2-set .col-2 { width: 100% !important; float: none !important; }
	.woocommerce-checkout .col2-set .col-2 { margin-top: 32px; }
}

/* Titres de section */
.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading {
	font-family: var(--f-serif);
	font-size: 1.4rem;
	margin-bottom: 18px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--c-line);
}

/* Champs — clairs, arrondis, focus bleu */
.woocommerce-checkout .form-row { margin-bottom: 16px; padding: 0; }
.woocommerce-checkout .form-row label {
	display: block;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--c-ink);
	margin-bottom: 6px;
}
.woocommerce-checkout .form-row label .required,
.woocommerce-checkout .form-row label .optional {
	font-weight: 700;
}
.woocommerce-checkout .form-row label .required { color: var(--c-accent); }
.woocommerce-checkout .form-row label .optional { color: var(--c-mute); font-weight: 400; }
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-container .select2-selection--single {
	width: 100% !important;
	min-height: 50px;
	padding: 13px 16px;
	font-size: 0.97rem;
	font-family: var(--f-sans);
	color: var(--c-ink);
	background: #fff;
	border: 1.5px solid var(--c-line) !important;
	border-radius: var(--radius-sm) !important;
	transition: border-color .2s ease, box-shadow .2s ease;
	box-sizing: border-box;
}
.woocommerce-checkout textarea { min-height: 110px; line-height: 1.5; }
.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus {
	outline: 0;
	border-color: var(--c-blue) !important;
	box-shadow: 0 0 0 4px var(--c-blue-soft);
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 22px; padding: 0;
}
.woocommerce-checkout .select2-container .select2-selection--single { display: flex; align-items: center; }
.woocommerce-checkout .form-row .description {
	font-size: 0.8rem;
	color: var(--c-mute);
	margin-top: 5px;
}
.woocommerce-checkout .woocommerce-input-wrapper { display: block; width: 100%; }

/* Prénom / Nom côte à côte */
@media (min-width: 480px) {
	.woocommerce-checkout #customer_details .form-row-first { width: 48%; float: left; clear: both; }
	.woocommerce-checkout #customer_details .form-row-last  { width: 48%; float: right; }
	.woocommerce-checkout #customer_details .form-row-wide  { clear: both; }
}

/* Encart récap commande */
.woocommerce-checkout #order_review {
	background: var(--c-bg-soft);
	border: 1px solid var(--c-line);
	border-radius: var(--radius-lg);
	padding: 26px;
}
.woocommerce-checkout #order_review .shop_table {
	background: transparent !important;
	border: 0 !important;
	margin-bottom: 16px;
}
.woocommerce-checkout #order_review .shop_table th,
.woocommerce-checkout #order_review .shop_table td {
	background: transparent !important;
	padding: 10px 0 !important;
	border-bottom: 1px solid var(--c-line) !important;
	font-size: 0.92rem;
}
.woocommerce-checkout #order_review .order-total th,
.woocommerce-checkout #order_review .order-total td {
	border-bottom: 0 !important;
	padding-top: 14px !important;
	font-family: var(--f-serif);
	font-size: 1.15rem;
}
.woocommerce-checkout #order_review .order-total .amount { color: var(--c-ink); font-weight: 700; }

/* Moyens de paiement */
.woocommerce-checkout #payment {
	background: transparent !important;
	border-radius: 0 !important;
	margin-top: 18px;
}
.woocommerce-checkout #payment ul.payment_methods {
	border: 0 !important;
	padding: 0 !important;
	margin: 0 0 16px !important;
}
.woocommerce-checkout #payment div.payment_box {
	background: #fff !important;
	border-radius: var(--radius-sm) !important;
	font-size: 0.88rem;
}
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #place_order {
	width: 100%;
	min-height: 56px;
	background: var(--c-blue) !important;
	border-radius: 999px !important;
	font-size: 1rem !important;
	transition: background .2s ease, transform .15s ease, box-shadow .25s ease;
}
.woocommerce-checkout #place_order:hover {
	background: var(--c-blue-d) !important;
	transform: translateY(-1px);
	box-shadow: 0 10px 28px rgba(17,45,99,0.28);
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { margin-bottom: 16px; font-size: 0.85rem; }
.woocommerce-checkout .woocommerce-privacy-policy-text { font-size: 0.82rem; color: var(--c-mute); }
.woocommerce-checkout .woocommerce-privacy-policy-text p { margin-bottom: 14px; }

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	border-radius: var(--radius-sm) !important;
	border: 1px solid var(--c-line);
	background: #fff;
	padding: 14px 16px !important;
	list-style: none !important;
	position: relative;
}
.woocommerce-message { border-left: 3px solid var(--c-success) !important; }
.woocommerce-info    { border-left: 3px solid var(--c-blue)    !important; }
.woocommerce-error   { border-left: 3px solid var(--c-accent)  !important; }
/* Masque l'icône WooCommerce par défaut (qui chevauchait le texte) */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { display: none !important; }
/* Supprime les puces parasites autour des notices */
.woocommerce-NoticeGroup ul,
.woocommerce-NoticeGroup li,
ul.woocommerce-error, ul.woocommerce-info, ul.woocommerce-message {
	list-style: none !important;
	margin-left: 0 !important;
	padding-left: 0 !important;
}
.woocommerce-NoticeGroup ul li::before,
.woocommerce-NoticeGroup ul li::marker { content: none !important; }

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

/* ───── Tablette ≤ 1024px ───── */
@media (max-width: 1024px) {
	.wc-page { padding-block: clamp(32px, 5vw, 60px); }
	ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 22px !important; }
	.single-product div.product { gap: 32px; }
}

/* ───── Mobile ≤ 768px ───── */
@media (max-width: 768px) {
	/* Anti-overflow horizontal sur fiche produit */
	.single-product, .single-product * {
		max-width: 100%;
	}
	.single-product .summary,
	.single-product .woocommerce-product-gallery,
	.single-product form.cart,
	.single-product .product-trust,
	.single-product .canop-product-usp,
	.single-product .woocommerce-tabs,
	.single-product .woocommerce-Tabs-panel {
		min-width: 0;
		box-sizing: border-box;
	}
	.single-product div.product { padding-inline: 0; }

	.single-product .breadcrumb { display: none; }

	/* Archive — 1 col propre, image plus parlante */
	ul.products {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}
	ul.products li.product {
		display: grid;
		grid-template-columns: 120px 1fr;
		gap: 16px;
		align-items: center;
		padding: 12px;
	}
	ul.products li.product a img {
		margin-bottom: 0 !important;
		border-radius: 10px;
	}
	ul.products li.product .woocommerce-loop-product__title {
		font-size: 1rem !important;
		margin-bottom: 4px !important;
	}
	ul.products li.product .price { font-size: 0.95rem !important; margin-bottom: 8px !important; }
	ul.products li.product .button {
		padding: 8px 14px !important;
		font-size: 0.8rem !important;
	}
	ul.products li.product .onsale {
		top: 12px !important; left: 12px !important;
		font-size: 0.68rem !important;
		padding: 2px 8px !important;
	}
	.woocommerce-ordering, .woocommerce-result-count { font-size: 0.85rem; }
	.woocommerce-ordering select { width: 100%; max-width: 100%; }

	/* Single — gallery pleine largeur, thumbs en scroll horizontal */
	.single-product div.product { grid-template-columns: 1fr !important; gap: 24px; }
	.single-product .woocommerce-product-gallery { margin-bottom: 4px !important; }
	.single-product .woocommerce-product-gallery .flex-viewport,
	.single-product .woocommerce-product-gallery__image img {
		border-radius: var(--radius);
	}
	.single-product .flex-control-thumbs {
		display: flex !important;
		gap: 8px !important;
		overflow-x: auto;
		padding-bottom: 4px;
		scrollbar-width: thin;
		-webkit-overflow-scrolling: touch;
	}
	.single-product .flex-control-thumbs li {
		width: 70px !important;
		flex: 0 0 70px;
	}
	.single-product .product_title { font-size: 1.65rem !important; margin-top: 4px !important; }
	.single-product .price { font-size: 1.6rem !important; margin-block: 12px 4px !important; }
	.single-product .price del { font-size: 0.95rem; }

	.single-product .woocommerce-product-details__short-description { font-size: 0.95rem; margin-block: 14px; }

	/* Sélecteur compact (pas pleine largeur) + bouton pleine largeur */
	.single-product form.cart {
		flex-direction: column;
		gap: 14px;
		align-items: stretch;
	}
	.single-product .quantity {
		width: auto;
		align-self: flex-start;
		height: 48px;
	}
	.single-product .quantity input.qty { height: 46px; width: 52px !important; font-size: 1rem; }
	.single-product .quantity .qty-btn { width: 44px; }
	.single-product .single_add_to_cart_button {
		width: 100% !important;
		justify-content: center;
		min-height: 54px;
		font-size: 1rem !important;
	}

	.product-trust { margin-top: 18px !important; }
	.product-trust li { font-size: 0.88rem; padding-left: 24px; }

	/* Tabs : scrollable horizontalement */
	.woocommerce-tabs { margin-top: 40px; padding-top: 24px; }
	.woocommerce-tabs ul.tabs {
		gap: 16px;
		overflow-x: auto;
		white-space: nowrap;
		padding-bottom: 8px !important;
		-webkit-overflow-scrolling: touch;
	}
	.woocommerce-tabs ul.tabs li a { font-size: 0.92rem !important; }

	/* ─── Sticky add-to-cart flottant, mobile uniquement ─── */
	.canop-sticky-cta {
		position: fixed;
		left: 12px; right: 12px;
		bottom: calc(12px + var(--safe-bottom));
		background: #fff;
		border: 1px solid var(--c-line);
		border-radius: 20px;
		box-shadow: 0 10px 32px rgba(31,29,26,0.18);
		padding: 9px 9px 9px 18px;
		display: none;
		grid-template-columns: 1fr auto;
		align-items: center;
		gap: 14px;
		z-index: 95;
		transform: translateY(150%);
		transition: transform .3s cubic-bezier(.4,0,.2,1);
	}
	.canop-sticky-cta.is-visible {
		display: grid;
		transform: translateY(0);
	}
	.canop-sticky-cta .ssc-info { line-height: 1.25; min-width: 0; }
	.canop-sticky-cta .ssc-title {
		font-size: 0.76rem;
		font-weight: 600;
		color: var(--c-ink-soft);
		display: block;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		margin-bottom: 1px;
	}
	.canop-sticky-cta .ssc-price {
		font-family: var(--f-serif);
		font-size: 1.18rem;
		font-weight: 700;
		color: var(--c-ink);
	}
	.canop-sticky-cta .ssc-price del { color: var(--c-mute); font-weight: 400; font-size: 0.82rem; margin-left: 6px; }
	.canop-sticky-cta .ssc-btn {
		background: var(--c-blue);
		color: #fff;
		border-radius: 999px;
		padding: 0 20px;
		font-weight: 600;
		font-size: 0.9rem;
		min-height: 48px;
		display: inline-flex;
		align-items: center;
		gap: 8px;
		white-space: nowrap;
		box-shadow: 0 6px 16px rgba(17,45,99,0.28);
		transition: background .2s ease, transform .15s ease;
	}
	.canop-sticky-cta .ssc-btn:hover  { background: var(--c-blue-d); color: #fff; }
	.canop-sticky-cta .ssc-btn:active { transform: scale(0.97); }
	body.has-sticky-cta { padding-bottom: 92px; }

	/* ─── Cart : transformation en cartes (et non tableau) sur mobile ─── */
	.woocommerce-cart .shop_table {
		display: block;
		border: 0 !important;
		background: transparent;
	}
	.woocommerce-cart .shop_table thead { display: none; }
	.woocommerce-cart .shop_table tbody { display: block; }
	.woocommerce-cart .shop_table tbody tr.cart_item {
		display: grid;
		grid-template-columns: 80px 1fr;
		gap: 14px;
		background: #fff;
		border: 1px solid var(--c-line);
		border-radius: var(--radius);
		padding: 14px;
		margin-bottom: 12px;
		align-items: center;
	}
	.woocommerce-cart .shop_table td { display: block; padding: 0 !important; border: 0 !important; }
	.woocommerce-cart .shop_table td.product-remove { grid-column: 2; justify-self: end; }
	.woocommerce-cart .shop_table td.product-thumbnail { grid-row: 1 / span 3; grid-column: 1; }
	.woocommerce-cart .shop_table td.product-thumbnail img { width: 80px !important; height: 80px !important; object-fit: cover; border-radius: 8px; }
	.woocommerce-cart .shop_table td.product-name { grid-column: 2; font-weight: 600; }
	.woocommerce-cart .shop_table td.product-price { display: none; }
	.woocommerce-cart .shop_table td.product-quantity { grid-column: 2; }
	.woocommerce-cart .shop_table td.product-subtotal { grid-column: 2; font-weight: 700; font-family: var(--f-serif); font-size: 1.05rem; }
	.woocommerce-cart .shop_table tfoot { display: block; }
	.woocommerce-cart .cart-collaterals .cart_totals { width: 100% !important; float: none !important; }
	.woocommerce-cart .actions {
		display: block; padding: 0 !important; text-align: center;
	}
	.woocommerce-cart .actions .button {
		width: 100% !important; margin: 8px 0 !important;
	}

	/* ─── Checkout : 1 col, champs full width, padding confortable ─── */
	.woocommerce-checkout .col2-set {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0;
	}
	.woocommerce-checkout .col2-set .col-1,
	.woocommerce-checkout .col2-set .col-2 {
		width: 100% !important;
		float: none !important;
		padding: 0 !important;
	}
	.woocommerce-checkout form .form-row {
		width: 100% !important;
		float: none !important;
	}
	.woocommerce-checkout input.input-text,
	.woocommerce-checkout textarea,
	.woocommerce-checkout select {
		width: 100% !important;
		min-height: 48px;
		padding: 12px 14px;
		border-radius: 10px;
		border: 1px solid var(--c-line);
		background: #fff;
	}
	.woocommerce-checkout #place_order {
		width: 100% !important;
		min-height: 56px;
		font-size: 1rem !important;
	}
	.woocommerce-checkout .select2-container .select2-selection--single {
		min-height: 48px !important;
		padding: 8px 4px;
		border-radius: 10px !important;
		border-color: var(--c-line) !important;
	}

	/* My account */
	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content {
		width: 100% !important;
		float: none !important;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: flex; flex-wrap: wrap; gap: 6px; padding: 0; margin-bottom: 24px;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation li {
		flex: 1 1 calc(50% - 6px);
	}
	.woocommerce-account .woocommerce-MyAccount-navigation a {
		display: block;
		padding: 12px 14px;
		background: var(--c-bg-soft);
		border-radius: 10px;
		text-align: center;
		font-size: 0.92rem;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
		background: var(--c-ink);
		color: #fff;
	}
}

/* ═════════════════════════════════════════════════════════════
   RELATED PRODUCTS — section "Vous aimerez aussi"
   ═════════════════════════════════════════════════════════════ */
.related.products, .upsells.products {
	margin-top: 80px !important;
	padding-top: 48px;
	border-top: 1px solid var(--c-line);
}
.related.products > h2, .upsells.products > h2 {
	font-family: var(--f-serif);
	font-size: clamp(1.5rem, 3vw, 2rem);
	text-align: center;
	margin-bottom: 32px !important;
}

/* ═════════════════════════════════════════════════════════════
   LOADING STATE — bouton add-to-cart en cours
   ═════════════════════════════════════════════════════════════ */
.single_add_to_cart_button.is-loading {
	color: transparent !important;
	pointer-events: none;
	position: relative;
}
.single_add_to_cart_button.is-loading::after {
	content: '';
	position: absolute;
	top: 50%; left: 50%;
	width: 20px; height: 20px;
	margin: -10px 0 0 -10px;
	border: 2.5px solid rgba(255,255,255,0.4);
	border-top-color: #fff;
	border-radius: 50%;
	animation: canop-spin .7s linear infinite;
}
.single_add_to_cart_button.is-loading .btn__arrow { opacity: 0; }
@keyframes canop-spin {
	to { transform: rotate(360deg); }
}

/* ═════════════════════════════════════════════════════════════
   CART DRAWER PREMIUM — slide-in droite
   ═════════════════════════════════════════════════════════════ */
.canop-drawer[hidden] { display: none; }
.canop-drawer {
	position: fixed;
	inset: 0;
	z-index: 1100;
	display: grid;
	grid-template-columns: 1fr min(460px, 100%);
}
.canop-drawer__backdrop {
	background: rgba(17,45,99,0.45);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	cursor: pointer;
	animation: canop-fade-in .25s ease;
}
.canop-drawer__panel {
	background: var(--c-bg);
	display: flex;
	flex-direction: column;
	height: 100vh;
	height: 100dvh;
	box-shadow: -16px 0 48px rgba(31,29,26,0.18);
	animation: canop-drawer-in .35s cubic-bezier(.21,.61,.35,1);
	max-height: 100vh;
	overflow: hidden;
}
.canop-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 24px;
	border-bottom: 1px solid var(--c-line);
	flex-shrink: 0;
	background: #fff;
}
.canop-drawer__head h2 {
	font-family: var(--f-serif);
	font-size: 1.35rem;
	margin: 0;
	display: flex;
	align-items: center;
	gap: 10px;
}
.canop-drawer__count {
	font-family: var(--f-sans);
	font-size: 0.78rem;
	font-weight: 700;
	background: var(--c-blue);
	color: #fff;
	min-width: 22px; height: 22px;
	border-radius: 11px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 7px;
}
.canop-drawer__close {
	width: 40px; height: 40px;
	border-radius: 50%;
	background: var(--c-bg-soft);
	color: var(--c-ink);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	cursor: pointer;
	transition: background .2s ease, transform .2s ease;
}
.canop-drawer__close:hover { background: var(--c-blue); color: #fff; transform: rotate(90deg); }

/* Corps : flex column → items scrollables + pied fixe */
.canop-drawer__body {
	flex: 1;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	padding: 0;
}

/* ─── Liste des articles (scrollable) ─── */
.canop-cart-items {
	flex: 1;
	overflow-y: auto;
	padding: 12px 24px;
	-webkit-overflow-scrolling: touch;
}
.canop-cart-items .woocommerce-mini-cart {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}
.canop-cart-items li.mini_cart_item {
	display: flex !important;
	align-items: flex-start;
	gap: 14px;
	padding: 18px 0 !important;
	border-bottom: 1px solid var(--c-line);
	position: relative;
	margin: 0 !important;
	width: 100%;
}
.canop-cart-items li.mini_cart_item:last-child { border-bottom: 0; }
.canop-cart-item__thumb {
	display: block;
	flex: 0 0 72px;
	width: 72px; height: 72px;
	border-radius: var(--radius-sm);
	overflow: hidden;
	background: var(--c-cream);
}
.canop-cart-item__thumb img {
	width: 100% !important; height: 100% !important;
	object-fit: cover;
	margin: 0 !important;
}
.canop-cart-item__info {
	flex: 1 1 auto;
	min-width: 0;               /* indispensable : autorise le texte à se réduire */
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding-right: 32px;        /* place pour le bouton remove */
}
.canop-cart-item__name {
	font-weight: 600;
	color: var(--c-ink) !important;
	font-size: 0.92rem;
	line-height: 1.35;
	text-decoration: none;
	overflow-wrap: anywhere;     /* coupe proprement les noms longs, jamais lettre par lettre */
}
.canop-cart-item__name:hover { color: var(--c-blue) !important; }
.canop-cart-item__meta {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px;
	margin-top: 4px;
	padding-top: 4px;
}
.canop-cart-item__qty {
	font-size: 0.82rem;
	color: var(--c-mute);
}
/* Sélecteur de quantité dans le panier */
.canop-qty {
	display: inline-flex;
	align-items: center;
	border: 1.5px solid var(--c-line);
	border-radius: 999px;
	background: #fff;
	transition: border-color .2s ease, opacity .2s ease;
}
.canop-qty.is-loading { opacity: 0.5; pointer-events: none; }
.canop-qty__btn {
	width: 30px; height: 30px;
	border: 0;
	background: transparent;
	color: var(--c-ink);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	border-radius: 50%;
	transition: background .15s ease, color .15s ease;
}
.canop-qty__btn:hover { background: var(--c-blue); color: #fff; }
.canop-qty__value {
	min-width: 26px;
	text-align: center;
	font-weight: 700;
	font-size: 0.88rem;
	color: var(--c-ink);
}
.canop-cart-item__price {
	font-family: var(--f-serif);
	font-weight: 700;
	font-size: 1rem;
	color: var(--c-ink);
}
.canop-cart-items .remove {
	position: absolute;
	top: 16px; right: 0;
	width: 26px; height: 26px;
	border-radius: 50%;
	background: var(--c-bg-soft);
	color: var(--c-mute) !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	font-size: 1.05rem;
	line-height: 1;
	text-decoration: none !important;
	transition: background .2s, color .2s, transform .15s;
}
.canop-cart-items .remove:hover {
	background: var(--c-accent);
	color: #fff !important;
	transform: scale(1.08);
}

/* ─── Pied fixe : livraison + total + CTA ─── */
.canop-cart-foot {
	flex-shrink: 0;
	background: #fff;
	border-top: 1px solid var(--c-line);
	padding: 18px 24px calc(20px + var(--safe-bottom));
	box-shadow: 0 -8px 24px rgba(31,29,26,0.06);
}
.canop-cart-shipping {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.84rem;
	font-weight: 500;
	color: var(--c-ink);
	background: rgba(49,239,163,0.18);
	border-radius: var(--radius-sm);
	padding: 9px 12px;
	margin-bottom: 14px;
}
.canop-cart-shipping svg { color: var(--c-green-d); flex-shrink: 0; }
.canop-cart-total {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 16px;
}
.canop-cart-total__label {
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--c-mute);
}
.canop-cart-total__value {
	font-family: var(--f-serif);
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--c-ink);
}
.canop-cart-actions { display: grid; gap: 10px; }
.canop-cart-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	border-radius: 999px;
	font-weight: 600;
	font-size: 0.95rem;
	transition: background .2s ease, transform .15s ease, box-shadow .2s ease;
	cursor: pointer;
}
.canop-cart-btn--primary {
	background: var(--c-blue);
	color: #fff;
}
.canop-cart-btn--primary:hover {
	background: var(--c-blue-d);
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 8px 22px rgba(17,45,99,0.25);
}
.canop-cart-btn--primary .btn__arrow {
	width: 26px; height: 26px;
	border-radius: 50%;
	background: #fff;
	color: var(--c-blue);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.canop-cart-btn--ghost {
	background: transparent;
	color: var(--c-ink);
	min-height: 40px;
	font-size: 0.88rem;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-color: var(--c-line);
}
.canop-cart-btn--ghost:hover { color: var(--c-blue); text-decoration-color: var(--c-blue); }

/* ─── Panier vide ─── */
.canop-cart-empty {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 48px 32px;
	gap: 6px;
}
.canop-cart-empty__icon {
	width: 76px; height: 76px;
	border-radius: 50%;
	background: var(--c-bg-soft);
	color: var(--c-blue);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 14px;
}
.canop-cart-empty__title {
	font-family: var(--f-serif);
	font-size: 1.3rem;
	font-weight: 700;
	color: var(--c-ink);
	margin: 0;
}
.canop-cart-empty__text {
	font-size: 0.92rem;
	color: var(--c-mute);
	margin: 0 0 18px;
	max-width: 260px;
}
.canop-cart-empty .canop-cart-btn--primary { padding-inline: 26px; }

body.is-drawer-open { overflow: hidden; }

@keyframes canop-drawer-in {
	from { transform: translateX(100%); }
	to   { transform: translateX(0); }
}
@keyframes canop-fade-in {
	from { opacity: 0; }
	to   { opacity: 1; }
}

@media (max-width: 540px) {
	.canop-drawer { grid-template-columns: 0 1fr; }
	.canop-drawer__head { padding: 18px 20px; }
	.canop-drawer__body { padding: 20px 20px 28px; }
}

/* ═════════════════════════════════════════════════════════════
   TOAST NOTIFICATIONS — empilées en bas-droite (haut sur mobile)
   ═════════════════════════════════════════════════════════════ */
.canop-toast-stack {
	position: fixed;
	bottom: 24px; right: 24px;
	z-index: 1200;
	display: flex;
	flex-direction: column-reverse;
	gap: 12px;
	pointer-events: none;
	max-width: calc(100vw - 32px);
}
.canop-toast {
	pointer-events: auto;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
	box-shadow: 0 16px 40px rgba(31,29,26,0.16);
	padding: 14px 18px 14px 14px;
	display: grid;
	grid-template-columns: 40px 1fr auto;
	gap: 12px;
	align-items: center;
	min-width: 320px;
	max-width: 420px;
	animation: canop-toast-in .35s cubic-bezier(.21,.61,.35,1);
	border-left: 4px solid var(--c-success);
}
.canop-toast.is-leaving { animation: canop-toast-out .25s ease forwards; }
.canop-toast.is-error   { border-left-color: var(--c-accent); }
.canop-toast.is-info    { border-left-color: var(--c-blue); }
.canop-toast__icon {
	width: 40px; height: 40px;
	border-radius: 50%;
	background: var(--c-blue-soft);
	color: var(--c-blue);
	display: inline-flex; align-items: center; justify-content: center;
	flex-shrink: 0;
}
.canop-toast.is-success .canop-toast__icon { background: rgba(49,239,163,0.18); color: var(--c-success); }
.canop-toast.is-error   .canop-toast__icon { background: rgba(236,82,82,0.14); color: var(--c-accent); }
.canop-toast__content { min-width: 0; }
.canop-toast__title {
	display: block;
	font-weight: 600;
	color: var(--c-ink);
	font-size: 0.93rem;
	line-height: 1.3;
}
.canop-toast__body {
	display: block;
	color: var(--c-mute);
	font-size: 0.82rem;
	margin-top: 2px;
}
.canop-toast__close {
	width: 28px; height: 28px;
	border-radius: 50%;
	background: transparent;
	color: var(--c-mute);
	display: inline-flex; align-items: center; justify-content: center;
	cursor: pointer;
	border: 0;
	transition: background .2s, color .2s;
}
.canop-toast__close:hover { background: var(--c-bg-soft); color: var(--c-ink); }
.canop-toast__action {
	grid-column: 1 / -1;
	margin-top: 6px;
	display: flex; justify-content: flex-end; gap: 8px;
}
.canop-toast__action a {
	color: var(--c-blue);
	font-size: 0.85rem;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

@keyframes canop-toast-in {
	from { opacity: 0; transform: translateX(20px); }
	to   { opacity: 1; transform: translateX(0); }
}
@keyframes canop-toast-out {
	to { opacity: 0; transform: translateX(20px); }
}

@media (max-width: 540px) {
	.canop-toast-stack {
		bottom: auto; top: calc(var(--header-h-mobile) + 12px);
		right: 12px; left: 12px;
		flex-direction: column;
		max-width: none;
	}
	body.has-sticky-cta .canop-toast-stack {
		top: auto; bottom: calc(80px + var(--safe-bottom));
		flex-direction: column-reverse;
	}
	.canop-toast { min-width: 0; width: 100%; max-width: 100%; }
}

/* ───── Petit mobile ≤ 480px ───── */
@media (max-width: 480px) {
	ul.products li.product {
		grid-template-columns: 96px 1fr;
		gap: 12px;
		padding: 10px;
	}
	.single-product .product_title { font-size: 1.5rem !important; }
	.single-product .price { font-size: 1.4rem !important; }
	.canop-sticky-cta .ssc-price { font-size: 1.05rem; }
	.canop-sticky-cta .ssc-btn { padding: 11px 16px; font-size: 0.85rem; }
}

/* ═════════════════════════════════════════════════════════════
   [canop_acheter] — bloc de conversion produit dans les articles
   ═════════════════════════════════════════════════════════════ */
.canop-buy { margin: 48px 0; }
.canop-buy__title {
	text-align: center;
	font-size: clamp(1.5rem, 3vw, 2.1rem);
	color: var(--c-blue);
	margin-bottom: 28px;
}
.canop-buy__card {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: clamp(20px, 3vw, 40px);
	align-items: center;
	background: #fff;
	border: 1px solid var(--c-line);
	border-top: 5px solid var(--c-red);
	border-radius: var(--radius-lg);
	padding: clamp(18px, 2.5vw, 28px);
	box-shadow: 0 10px 36px rgba(31,29,26,0.07);
}
.canop-buy__media {
	display: block;
	position: relative;
	border-radius: var(--radius);
	overflow: hidden;
	background: var(--c-cream);
	aspect-ratio: 1 / 1;
}
.canop-buy__media img { width: 100%; height: 100%; object-fit: cover; }
.canop-buy__badge {
	position: absolute; top: 14px; left: 14px;
	background: var(--c-red); color: #fff;
	font-size: 0.72rem; font-weight: 700;
	letter-spacing: 0.06em; text-transform: uppercase;
	padding: 5px 12px; border-radius: 999px;
}
.canop-buy__rating {
	display: inline-flex; align-items: center; gap: 8px;
	font-size: 0.86rem; font-weight: 600; color: var(--c-ink-soft);
	margin-bottom: 8px;
}
.canop-buy__rating .canop-stars { color: var(--c-yellow-d); }
.canop-buy__name {
	font-family: var(--f-serif);
	font-size: clamp(1.3rem, 2.4vw, 1.8rem);
	line-height: 1.2;
	margin: 0 0 14px;
}
.canop-buy__name a { color: var(--c-ink); }
.canop-buy__price {
	display: flex; align-items: baseline; gap: 12px;
	margin-bottom: 16px;
}
.canop-buy__price ins {
	background: none; text-decoration: none;
	font-family: var(--f-serif); font-weight: 700;
	font-size: 1.7rem; color: var(--c-ink);
}
.canop-buy__price del { color: var(--c-mute); font-size: 1.05rem; }
.canop-buy__points {
	list-style: none; padding: 0; margin: 0 0 18px;
	display: grid; gap: 9px;
}
.canop-buy__point {
	position: relative; padding-left: 28px;
	font-size: 0.95rem; font-weight: 600; color: var(--c-ink);
}
.canop-buy__point::before {
	content: '';
	position: absolute; left: 0; top: 50%;
	transform: translateY(-50%);
	width: 19px; height: 19px; border-radius: 50%;
	background: var(--c-blue)
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E")
		no-repeat center / 12px 12px;
}
.canop-buy__point--red::before   { background-color: var(--c-red); }
.canop-buy__point--green::before { background-color: var(--c-green-d); }
.canop-buy__point--blue::before  { background-color: var(--c-blue); }
.canop-buy__cta { width: 100%; }
.canop-buy__reassurance {
	margin: 12px 0 0;
	font-size: 0.8rem; color: var(--c-mute); text-align: center;
}
@media (max-width: 680px) {
	.canop-buy__card { grid-template-columns: 1fr; gap: 20px; }
	.canop-buy__media { max-width: 360px; margin-inline: auto; width: 100%; }
}

/* ───── Express Checkout Stripe (Apple Pay / Google Pay) — fiche produit ───── */
#wc-stripe-payment-request-wrapper,
.wc-stripe-product-checkout-container,
.wc-stripe-express-checkout-wrapper,
.wc-block-components-express-payment {
	margin: 18px 0 0 !important;
	max-width: 480px;
}
.wc-stripe-payment-request-custom-button,
#wc-stripe-payment-request-button { border-radius: 999px !important; overflow: hidden; }
/* Séparateur « ou » entre le bouton classique et l'express checkout */
.wc-stripe-payment-request-wrapper + .wc-stripe-payment-request-button-separator,
.wc-stripe-express-checkout-separator,
p.wc-stripe-payment-request-button-separator {
	display: flex !important;
	align-items: center;
	gap: 14px;
	margin: 18px 0 !important;
	max-width: 480px;
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--c-mute);
}
.wc-stripe-payment-request-wrapper + .wc-stripe-payment-request-button-separator::before,
.wc-stripe-payment-request-wrapper + .wc-stripe-payment-request-button-separator::after,
.wc-stripe-express-checkout-separator::before,
.wc-stripe-express-checkout-separator::after,
p.wc-stripe-payment-request-button-separator::before,
p.wc-stripe-payment-request-button-separator::after {
	content: '';
	flex: 1;
	height: 1px;
	background: var(--c-line);
}

/* ═════════════════════════════════════════════════════════════
   BOXTAL — point relais : intégration au design Canop
   ═════════════════════════════════════════════════════════════ */
/* Lien « Choisir un point relais » → bouton premium */
.bw-select-parcel {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	margin-top: 8px;
	padding: 11px 22px !important;
	background: var(--c-blue) !important;
	color: #fff !important;
	font-weight: 600;
	font-size: 0.9rem;
	border-radius: 999px !important;
	text-decoration: none !important;
	cursor: pointer;
	transition: background .2s ease, transform .15s ease;
}
.bw-select-parcel:hover { background: var(--c-blue-d) !important; transform: translateY(-1px); }

/* Encadré du point relais sélectionné → carte */
.bw-parcel-point {
	display: block !important;
	background: var(--c-bg-soft) !important;
	border: 1px solid var(--c-line);
	border-left: 4px solid var(--c-green-d);
	border-radius: var(--radius) !important;
	padding: 14px 16px !important;
	margin-top: 10px;
	font-size: 0.92rem;
	color: var(--c-ink);
}
.bw-parcel-point-title {
	font-weight: 700;
	color: var(--c-blue);
	display: block;
	margin-bottom: 4px;
}
.bw-parcel-point-schedule { color: var(--c-ink-soft); font-size: 0.85rem; }
.bw-parcel-address { color: var(--c-ink-soft); }
.bw-shipping-method-info { color: var(--c-ink-soft); font-size: 0.9rem; }

/* Modale carte (sélecteur de point relais) */
#bw-map {
	border-radius: var(--radius-lg) !important;
	background: #fff !important;
	box-shadow: 0 24px 70px rgba(31,29,26,0.35) !important;
	overflow: hidden;
	padding: 0 !important;
}
#bw-map #bw-map-inner { background: #fff !important; }
#bw-map #bw-map-inner #bw-pp-container {
	font-family: var(--f-sans) !important;
}
#bw-map #bw-map-inner #bw-pp-container table td .bw-parcel-point-title {
	color: var(--c-blue) !important;
	margin-bottom: 0;
}
#bw-map #bw-map-inner #bw-pp-container table td a { color: var(--c-blue) !important; }
/* Bouton « Choisir » dans la liste de la carte → bleu Canop */
#bw-map #bw-map-inner .bw-parcel-point-button {
	background-color: var(--c-blue) !important;
	border-color: var(--c-blue) !important;
	border-radius: 999px !important;
	color: #fff !important;
	font-weight: 600;
	padding: 6px 14px !important;
	font-size: 0.82rem !important;
}
#bw-map #bw-map-inner .bw-parcel-point-button:hover { background-color: var(--c-blue-d) !important; }
/* Popup marqueur */
#bw-map .bw-marker-popup { color: var(--c-ink-soft) !important; }
.leaflet-popup-content-wrapper, .maplibregl-popup-content {
	border-radius: var(--radius) !important;
}

/* ═════════════════════════════════════════════════════════════
   CHECKOUT — réassurance, point relais, badges transporteurs
   ═════════════════════════════════════════════════════════════ */
.canop-checkout-reassurance {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
	margin-bottom: 28px;
}
.ckr-item {
	display: flex;
	align-items: center;
	gap: 11px;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
	padding: 14px 16px;
}
.ckr-item svg { flex-shrink: 0; }
.ckr-item:nth-child(1) svg { color: var(--c-green-d); }
.ckr-item:nth-child(2) svg { color: var(--c-blue); }
.ckr-item:nth-child(3) svg { color: var(--c-red); }
.ckr-item:nth-child(4) svg { color: var(--c-yellow-d); }
.ckr-item strong { display: block; font-size: 0.9rem; color: var(--c-ink); line-height: 1.3; }
.ckr-item span { display: block; font-size: 0.78rem; color: var(--c-mute); margin-top: 1px; }

.canop-relay-note {
	display: flex;
	align-items: center;
	gap: 12px;
	background: var(--c-yellow);
	border: 0;
	border-left: 5px solid var(--c-red);
	border-radius: var(--radius);
	padding: 15px 18px;
	margin-bottom: 18px;
	box-shadow: 0 6px 18px rgba(255,214,107,0.5);
}
.canop-relay-note svg { flex-shrink: 0; color: var(--c-red); }
.canop-relay-note p { margin: 0; font-size: 0.92rem; font-weight: 600; color: var(--c-ink); line-height: 1.5; }

/* Transporteur à côté des modes de livraison */
.ship-row { display: inline-flex; align-items: center; gap: 9px; vertical-align: middle; }
.ship-logo {
	height: 22px;
	width: auto;
	display: block;
	flex-shrink: 0;
}
.ship-badge {
	display: inline-flex;
	align-items: center;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: #fff;
	padding: 4px 9px;
	border-radius: 6px;
	flex-shrink: 0;
	box-shadow: 0 2px 6px rgba(31,29,26,0.18);
}
.ship-badge--mr        { background: #e2001a; }
.ship-badge--colissimo { background: #003c71; }
.ship-badge--chrono    { background: #ff6600; }
.ship-label { vertical-align: middle; }

@media (max-width: 860px) {
	.canop-checkout-reassurance { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
	.canop-checkout-reassurance { grid-template-columns: 1fr; gap: 10px; }
}
