/* Izri Boutique — styles de la boutique digitale (child theme) */

:root {
	--bt-ink: #0c0908;
	--bt-muted: #7a7066;
	--bt-cream: #faf7f2;
	--bt-cream2: #f3ede2;
	--bt-line: #e6decf;
	--bt-gold: #b8942c;
	--bt-terracotta: #d4744a;
	--bt-wa: #25d366;
	--bt-wa-dark: #1eb959;
	--bt-card-radius: 16px;
	--bt-navbar-h: 129px;
}

.bt-container {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 24px;
}

/* ─── Hero ─────────────────────────────────────────────────── */
.bt-hero {
	padding: 156px 0 30px;
	background:
		radial-gradient(1200px 400px at 80% -10%, rgba(184, 148, 44, 0.16), transparent 60%),
		linear-gradient(180deg, var(--bt-cream2), var(--bt-cream));
	border-bottom: 1px solid var(--bt-line);
}
.bt-hero-title {
	font-size: clamp(30px, 4.4vw, 46px);
	line-height: 1.12;
	margin: 0 0 12px;
	color: var(--bt-ink);
	font-weight: 700;
}
.bt-hero-sub {
	font-size: clamp(16px, 2vw, 19px);
	color: var(--bt-muted);
	margin: 0;
	max-width: 720px;
}
.bt-hero-eyebrow {
	text-transform: uppercase;
	letter-spacing: 1.5px;
	font-size: 13px;
	font-weight: 700;
	color: var(--bt-gold);
	margin: 0 0 8px;
}

/* ─── Étapes ───────────────────────────────────────────────── */
.bt-steps { padding: 34px 0 10px; }
.bt-grid-steps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}
.bt-step {
	background: #fff;
	border: 1px solid var(--bt-line);
	border-radius: var(--bt-card-radius);
	padding: 22px 20px;
	position: relative;
}
.bt-step-n {
	position: absolute;
	top: 16px;
	inset-inline-end: 16px;
	font-size: 42px;
	font-weight: 800;
	color: rgba(184, 148, 44, 0.22);
	line-height: 1;
}
.bt-step h3 { margin: 0 0 6px; font-size: 17px; }
.bt-step p { margin: 0; color: var(--bt-muted); font-size: 14px; }

/* ─── Réassurance ──────────────────────────────────────────── */
.bt-reassurance { padding: 20px 0 8px; }
.bt-grid-reass {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
}
.bt-reass {
	display: flex;
	flex-direction: column;
	gap: 2px;
	border-inline-start: 3px solid var(--bt-gold);
	padding-inline-start: 12px;
}
.bt-reass strong { font-size: 14.5px; }
.bt-reass span { color: var(--bt-muted); font-size: 13px; }

/* ─── Store + filtres ──────────────────────────────────────── */
.bt-store { padding: 18px 0 60px; }
.bt-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 8px 0 26px;
}
.bt-filter {
	padding: 8px 16px;
	border-radius: 999px;
	border: 1.5px solid var(--bt-line);
	background: #fff;
	color: var(--bt-ink);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none !important;
	transition: border-color 150ms ease-out, background 150ms ease-out, color 150ms ease-out;
}
.bt-filter:hover { border-color: var(--bt-gold); color: var(--bt-gold); }
.bt-filter.is-active {
	background: var(--bt-ink);
	border-color: var(--bt-ink);
	color: #fff;
}
.bt-no-products { color: var(--bt-muted); padding: 30px 0; }

/* ─── Grille produits ──────────────────────────────────────── */
.bt-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 22px;
}

.bt-card {
	margin: 0 !important;
	background: #fff;
	border: 1px solid var(--bt-line);
	border-radius: var(--bt-card-radius);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform 180ms ease-out, box-shadow 180ms ease-out, border-color 180ms ease-out;
}
.bt-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 30px rgba(12, 9, 8, 0.10);
	border-color: rgba(184, 148, 44, 0.5);
}

.bt-card-media {
	position: relative;
	display: block;
	background: var(--bt-cream2);
	aspect-ratio: 1 / 1;
	overflow: hidden;
}
.bt-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 300ms ease-out;
}
.bt-card:hover .bt-card-media img { transform: scale(1.04); }

.bt-card-badge {
	position: absolute;
	top: 12px;
	inset-inline-start: 12px;
	z-index: 2;
	background: var(--bt-ink);
	color: #fff;
	font-size: 11.5px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.6px;
	padding: 6px 12px;
	border-radius: 999px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
.bt-card-badge--best-seller { background: var(--bt-gold); }
.bt-card-badge--nouveau { background: var(--bt-terracotta); }
.bt-card-badge--populaire { background: #1b7f4d; }

.bt-card-body {
	padding: 18px;
	display: flex;
	flex-direction: column;
	gap: 7px;
	flex: 1;
}
.bt-card-cat {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.8px;
	color: var(--bt-gold);
}
.bt-card-title {
	margin: 0;
	font-size: 18px;
	line-height: 1.25;
}
.bt-card-title a { color: var(--bt-ink); text-decoration: none; }
.bt-card-title a:hover { color: var(--bt-gold); }
.bt-card-unit { color: var(--bt-muted); font-size: 13px; }
.bt-card-price { display: flex; flex-direction: column; gap: 3px; padding-block: 4px; }
.bt-card-price strong { font-size: 21px; }
.bt-card-tier { font-size: 12.5px; color: var(--bt-terracotta); font-weight: 700; }
.bt-card-delivery { font-size: 13px; color: var(--bt-muted); }
.bt-card-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: auto;
	padding-top: 12px;
	border-top: 1px dashed var(--bt-line);
}
.bt-card-details { font-size: 13.5px; font-weight: 700; color: var(--bt-ink); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--bt-line); }
.bt-card-details:hover { color: var(--bt-gold); text-decoration-color: var(--bt-gold); }
.bt-card .add_to_cart_button {
	flex-shrink: 0;
	background: var(--bt-ink) !important;
	color: #fff !important;
	border-radius: 999px !important;
	padding: 9px 16px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	transition: background 150ms ease-out, transform 150ms ease-out;
}
.bt-card .add_to_cart_button:hover { background: var(--bt-gold) !important; transform: translateY(-1px); }
/* Carte boutique : fiches externes (Gumroad) — rose signature Gumroad + texte noir, comme la fiche produit */
.bt-card a.button.product_type_external {
	flex-shrink: 0;
	background: #ff90e8 !important;
	color: #111 !important;
	border: 2px solid #111 !important;
	border-radius: 999px !important;
	padding: 7px 16px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	transition: background 150ms ease-out, transform 150ms ease-out;
}
.bt-card a.button.product_type_external:hover { background: #f163d6 !important; transform: translateY(-1px); }
.woocommerce .bt-grid .bt-card::before,
.woocommerce .bt-grid .bt-card::after { display: none; }

/* ─── Pagination ───────────────────────────────────────────── */
.bt-store nav.woocommerce-pagination ul { border: 0; margin-top: 34px; }
.bt-store nav.woocommerce-pagination ul li { border: 0; margin: 0 3px; }
.bt-store nav.woocommerce-pagination ul li a,
.bt-store nav.woocommerce-pagination ul li span {
	padding: 9px 15px;
	border-radius: 10px;
	border: 1px solid var(--bt-line);
	color: var(--bt-ink);
	background: #fff;
}
.bt-store nav.woocommerce-pagination ul li span.current { background: var(--bt-ink); color: #fff; border-color: var(--bt-ink); }

/* ─── Fiche produit ────────────────────────────────────────── */
.woocommerce .izri-single-product,
.bt-single-wrap { padding: 34px 0 60px; }
.woocommerce div.product div.images img { border-radius: var(--bt-card-radius); border: 1px solid var(--bt-line); }
.woocommerce div.product div.summary .product_title { font-size: clamp(26px, 3.4vw, 38px); }
.woocommerce div.product p.price { color: var(--bt-ink) !important; font-size: 26px !important; font-weight: 700; }
.woocommerce div.product p.price ins { text-decoration: none; }
.woocommerce div.product p.price del { color: var(--bt-muted); font-size: 18px; margin-inline-end: 10px; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--bt-muted); }
.woocommerce div.product form.cart { margin: 16px 0; display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-start; }
.woocommerce div.product form.cart div.quantity { margin: 0; }
.woocommerce div.product form.cart .button {
	background: var(--bt-ink) !important;
	color: #fff !important;
	border-radius: 999px !important;
	padding: 13px 24px !important;
	font-weight: 700 !important;
}
.woocommerce div.product form.cart .button:hover { background: var(--bt-gold) !important; }
.woocommerce .product_meta { font-size: 13px; color: var(--bt-muted); }
.woocommerce .product_meta > span { display: block; padding-block: 2px; }
.woocommerce div.product div.summary .single_variation_wrap .woocommerce-variation-description { margin-bottom: 8px; }

.bt-product-wa-wrap { margin: 6px 0 4px; max-width: 420px; }
.bt-product-wa-wrap .izriwa-btn { width: 100%; }
.woocommerce div.product div.summary .izriwa-purchase-box { max-width: 420px; }
.bt-per-extra { font-size: 13.5px; color: var(--bt-terracotta); font-weight: 700; }

/* ─── Box produit : réorganisation (locale + Gumroad) ──────── */
/* Les deux boutons d'action sur la même ligne, alignés. */
.woocommerce div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: stretch;
}
.woocommerce div.product form.cart .button {
	flex: 1 1 auto;
	text-align: center;
}
.woocommerce div.product form.cart div.quantity {
	display: flex;
	align-items: center;
}
.bt-product-wa-wrap {
	margin: 10px 0 6px;
	max-width: 420px;
}
.bt-product-wa-wrap .izriwa-btn {
	width: 100%;
	justify-content: center;
}
/* Box d'achat : bloc structuré avec en-tête. */
.woocommerce div.product div.summary .izriwa-purchase-box {
	max-width: 420px;
	background: #fff;
	border: 1px solid var(--bt-line);
	border-radius: 14px;
	padding: 18px 20px;
	margin: 14px 0;
}
.woocommerce div.product div.summary .izriwa-purchase-box .izriwa-meta {
	display: grid;
	gap: 10px;
	margin-bottom: 16px;
}
.woocommerce div.product div.summary .izriwa-meta-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	font-size: 14px;
	padding-bottom: 8px;
	border-bottom: 1px dashed var(--bt-line);
}
.woocommerce div.product div.summary .izriwa-meta-row:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}
.woocommerce div.product div.summary .izriwa-meta-row .k {
	color: var(--bt-muted);
	font-weight: 500;
}
.woocommerce div.product div.summary .izriwa-meta-row .v {
	font-weight: 600;
	text-align: end;
	color: var(--bt-ink);
}
/* Bouton Gumroad : pleine largeur, bien visible.
   Couleur signature Gumroad (#ff90e8, le "Tumbling G" pink) + texte noir, comme sur gumroad.com. */
.woocommerce div.product div.summary .izriwa-gumroad-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	background: #ff90e8 !important;
	color: #111 !important;
	border: 2px solid #111 !important;
	border-radius: 999px !important;
	padding: 14px 24px !important;
	font-weight: 700 !important;
	margin-top: 4px;
}
.woocommerce div.product div.summary .izriwa-gumroad-btn:hover {
	background: #f163d6 !important;
}
.izriwa-gumroad-note {
	font-size: 13px;
	color: var(--bt-muted);
	margin: 12px 0 0;
	text-align: center;
	line-height: 1.5;
}

/* Tabs + sections (contenu long) */
.woocommerce div.product .woocommerce-tabs { margin-top: 40px; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-bottom: 1px solid var(--bt-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border: 1px solid var(--bt-line); border-radius: 10px 10px 0 0; background: var(--bt-cream); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: #fff; border-bottom-color: transparent; }
.woocommerce div.product .woocommerce-tabs .panel { border: 1px solid var(--bt-line); border-top: 0; border-radius: 0 0 14px 14px; padding: 24px; }

/* ─── Panier ───────────────────────────────────────────────── */
.woocommerce table.shop_table { border: 1px solid var(--bt-line); border-radius: 14px; overflow: hidden; }
.woocommerce table.shop_table th { background: var(--bt-cream2); font-size: 13px; text-transform: uppercase; letter-spacing: 0.5px; }
.woocommerce table.shop_table td { border-top: 1px solid var(--bt-line); }
/* Tous les produits sont en vente individuelle (max 1) → la colonne
   QUANTITÉ est vide (input hidden) et inutile : on la masque. */
.woocommerce table.cart th.product-quantity,
.woocommerce table.cart td.product-quantity { display: none; }
.woocommerce a.remove { color: var(--bt-terracotta) !important; }
.woocommerce a.remove:hover { background: var(--bt-terracotta) !important; }
.woocommerce .cart .button, .woocommerce #payment #place_order, .woocommerce-page #payment #place_order {
	background: var(--bt-ink) !important;
	color: #fff !important;
	border-radius: 999px !important;
	font-weight: 700 !important;
}
.woocommerce .cart .button:hover, .woocommerce #payment #place_order:hover { background: var(--bt-gold) !important; }
.woocommerce .bt-cart-wa { margin-top: 22px; background: #fff; border: 1px solid var(--bt-line); border-radius: 14px; padding: 20px; display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.bt-cart-wa-note { margin: 0; color: var(--bt-muted); font-size: 13.5px; }

/* ─── Checkout ─────────────────────────────────────────────── */
.woocommerce form.checkout .col2-set .col-1, .woocommerce form.checkout .col2-set .col-2 { border: 1px solid var(--bt-line); border-radius: 14px; padding: 22px; background: #fff; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select {
	border: 1px solid var(--bt-line);
	border-radius: 10px;
	padding: 12px 14px;
	background: var(--bt-cream);
}
.woocommerce form .form-row input.input-text:focus { border-color: var(--bt-gold); }

/* ─── Divers ───────────────────────────────────────────────── */
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-radius: 12px !important; border-top: 3px solid var(--bt-gold) !important; background: #fff !important; }
body:not(.home) .main-content {
	display: block;
	/* Compenser le navbar fixed (129px : logo 100px + 2×14px padding + bordure) */
	padding-top: var(--bt-navbar-h);
}

/* Le .main-content compense déjà le navbar fixed → neutraliser le padding-top
   des breadcrumbs de contenu pour éviter un cumul (129px + 100px = trou). */
body:not(.home) .main-content .breadcrumbs,
body:not(.home) .main-content .woocommerce-breadcrumb {
	padding-top: 0;
}

@media (max-width: 900px) {
	.bt-grid-steps, .bt-grid-reass { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.bt-grid-steps, .bt-grid-reass { grid-template-columns: 1fr; }
	.bt-hero { padding: 148px 0 22px; }
}
/* ─── Partage social fiche produit ─────────────────────────── */
.izriwa-share {
	margin-top: 22px;
	padding-top: 18px;
	border-top: 1px solid var(--bt-line);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}
.izriwa-share-label {
	font-size: 13px;
	font-weight: 600;
	color: var(--bt-muted);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}
.izriwa-share-btns { display: flex; gap: 8px; }
.izriwa-share-btn {
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; border-radius: 50%;
	color: #fff; font-size: 17px; line-height: 1;
	transition: transform 120ms ease, opacity 120ms ease, box-shadow 120ms ease;
	box-shadow: 0 2px 6px rgba(12,9,8,0.14);
	text-decoration: none;
}
.izriwa-share-btn:hover { transform: translateY(-2px); opacity: 0.9; text-decoration: none; color: #fff; }
.izriwa-share-btn:active { transform: scale(0.94); }
.izriwa-share-btn--facebook  { background: #1877F2; }
.izriwa-share-btn--instagram { background: radial-gradient(circle at 30% 110%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285AEB 90%); }
.izriwa-share-btn--threads   { background: #000; }
.izriwa-share-btn--telegram  { background: #229ED9; }
.izriwa-share-btn--copy      { background: var(--bt-gold); cursor: pointer; }
.izriwa-share-btn--copy.is-copied { background: #4C8B61; }
.izriwa-share-tip {
	position: absolute; transform: translateY(2px);
	background: var(--bt-ink); color: #fff; font-size: 12px;
	padding: 5px 10px; border-radius: 8px; white-space: nowrap;
	z-index: 9;
}
.izriwa-share-tip::after {
	content: ""; position: absolute; top: -5px; left: 18px;
	border-left: 5px solid transparent; border-right: 5px solid transparent;
	border-bottom: 5px solid var(--bt-ink);
}
.izriwa-share-btns { position: relative; }

/* ─── Fiche produit — layout structurel propre (30/08/2026) ────
   Le conteneur .bt-single-layout est le grid 2 colonnes (galerie|summary).
   Les tabs + produits liés vivent dans .bt-single-bottom (pleine largeur).
   On ne force plus de grid sur div.product : structure claire par sections. */
body.single-product .main-content,
body.single-product main {
	display: block;
}

/* Conteneur produit : pas de marge forcée sur div.product (il s'étend),
   les sections internes gèrent leur propre largeur/centrage. */
.single-product div.product.bt-single-product {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 24px;
}

/* Section galerie | summary : grid 2 colonnes équilibrées. */
.single-product .bt-single-layout {
	display: grid;
	grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
	gap: 48px;
	align-items: start;
}

/* Galerie : l'image prend toute la colonne. */
.single-product .bt-single-gallery .woocommerce-product-gallery {
	width: 100% !important;
	float: none;
	margin: 0;
}
.single-product .bt-single-gallery .woocommerce-product-gallery__image img {
	width: 100%;
	height: auto;
	border-radius: var(--bt-card-radius);
	box-shadow: 0 6px 24px rgba(12,9,8,0.10);
}
/* Pas de zoom/loupe sur un produit digital : image full-size. */
.single-product .bt-single-gallery figure.woocommerce-product-gallery__wrapper {
	position: static !important;
}
.single-product .bt-single-gallery .woocommerce-product-gallery__wrapper .zoomImg {
	display: none !important;
}

/* Summary : colonne droite, sans padding parasite. */
.single-product .bt-single-summary.entry-summary {
	width: 100% !important;
	float: none;
	padding: 0;
}

/* Section bas de fiche (tabs + produits liés) : pleine largeur. */
.single-product .bt-single-bottom {
	margin-top: 48px;
}
.single-product .bt-single-bottom .woocommerce-tabs,
.single-product .bt-single-bottom .related.products {
	max-width: 1200px;
	width: 100%;
	margin-inline: auto;
	padding-inline: 0;
	clear: both;
}
.single-product .bt-single-bottom .related.products {
	margin-top: 48px;
}

@media (max-width: 900px) {
	.single-product .bt-single-layout {
		grid-template-columns: 1fr;
		gap: 28px;
	}
}

/* ═══════════════════════════════════════════════════════════════
   Fiche produit — alignement & cohérence (30/08/2026)
   ═══════════════════════════════════════════════════════════════ */

/* 1. Breadcrumb WooCommerce : l'aligner sur le conteneur produit
   (juste avant le div.product, même retrait horizontal). */
.single-product .woocommerce-breadcrumb {
	max-width: 1200px;
	margin-inline: auto;
	padding: 14px 24px 0;
	box-sizing: border-box;
}

/* Espacer le fil d'ariane du header (navbar fixed) sur mobile */
@media (max-width: 900px) {
	.single-product .woocommerce-breadcrumb {
		padding-top: 18px;
		margin-top: 16px;
	}
}

/* 2. Boutons "Ajouter au panier" + "Commander via WhatsApp" côte à côte.
   (spécificité renforcée pour battre .woocommerce div.product form.cart) */
.woocommerce.single-product div.summary form.cart {
	display: inline-flex !important;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	margin: 16px 0;
	max-width: 100%;
	vertical-align: middle;
}
.woocommerce.single-product div.summary .bt-product-wa-wrap {
	display: inline-flex !important;
	align-items: center;
	margin: 16px 0 4px 12px;
	vertical-align: middle;
}
.woocommerce.single-product div.summary .bt-product-wa-wrap .izriwa-btn {
	width: auto;
	padding: 13px 24px;
	border-radius: 999px;
	white-space: nowrap;
}

/* Mobile : empiler les boutons l'un sur l'autre, alignés à gauche
   (comme le titre/description), bien aérés. */
@media (max-width: 900px) {
	.woocommerce.single-product div.summary form.cart {
		display: flex !important;
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
		margin: 18px 0 0;
		width: 100%;
	}
	.woocommerce.single-product div.summary form.cart .single_add_to_cart_button {
		width: 100%;
	}
	.woocommerce.single-product div.summary .bt-product-wa-wrap {
		display: flex !important;
		align-items: flex-start;
		margin: 14px 0 0;
		width: 100%;
	}
	.woocommerce.single-product div.summary .bt-product-wa-wrap .izriwa-btn {
		width: 100%;
		justify-content: center;
	}
}

/* 3. Description (onglet) : le panel prend toute la largeur du conteneur
   (comme les onglets au-dessus) — le max-width:820px coupait le corps à
   la moitié du conteneur. On limite la largeur du TEXTE intérieur à la
   place pour garder une bonne lisibilité. */
.single-product .woocommerce-Tabs-panel--description,
.single-product .woocommerce-Tabs-panel.woocommerce-Tabs-panel--description {
	max-width: none;
	width: 100%;
}
.single-product .woocommerce-Tabs-panel--description > * {
	max-width: 820px;
}
/* Masquer le doublon "<h2>Description</h2>" : le mot est déjà dans l'onglet. */
.single-product .woocommerce-Tabs-panel--description h2:first-child {
	display: none;
}
.single-product .woocommerce-Tabs-panel--description h3 {
	font-family: 'Playfair Display', serif;
	color: var(--bt-ink);
}
.single-product .woocommerce-Tabs-panel--description ul {
	padding-inline-start: 20px;
}
.single-product .woocommerce-Tabs-panel--description li {
	margin-bottom: 6px;
}

/* 3b. Description enrichie — mise en forme attractive. */
.single-product .woocommerce-Tabs-panel--description .bt-desc-lead {
	font-size: 18px;
	line-height: 1.6;
	color: var(--bt-ink);
	margin: 0 0 24px;
}
.single-product .woocommerce-Tabs-panel--description .bt-desc-list {
	list-style: none;
	padding-inline-start: 0;
	margin: 0 0 24px;
}
.single-product .woocommerce-Tabs-panel--description .bt-desc-list li {
	position: relative;
	padding: 10px 14px 10px 18px;
	margin-bottom: 8px;
	background: var(--bt-cream2, #f4efe7);
	border-radius: 10px;
	border-left: 3px solid var(--bt-gold, #D4A86A);
	line-height: 1.5;
}
.single-product .woocommerce-Tabs-panel--description .bt-desc-list li strong {
	color: var(--bt-ink);
}
.single-product .woocommerce-Tabs-panel--description .bt-desc-cta {
	font-size: 17px;
	font-weight: 600;
	color: var(--bt-terracotta, #C86743);
	margin: 24px 0 0;
	padding: 14px 18px;
	background: rgba(212, 168, 106, 0.08);
	border-radius: 10px;
}

/* 4. Produits liés : réutiliser la grille du catalogue pour un rendu
   cohérent (largeur pleine, cartes égales alignées). */
.single-product .related.products h2 {
	font-family: 'Playfair Display', serif;
	font-size: clamp(22px, 2.6vw, 30px);
	color: var(--bt-ink);
	margin: 0 0 18px;
}
.single-product .related.products ul.products,
.single-product .related.products .products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 22px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.single-product .related.products ul.products li.product,
.single-product .related.products .products li {
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
	height: 100%;
}
.single-product .related.products .bt-card {
	height: 100%;
}

/* 4b. Corrige la "case vide" + premier produit décalé dans les produits liés.
   Le CSS WooCommerce injecte un ::before/::after (content:" "; display:table)
   sur ul.products qui occupe la PREMIÈRE cellule du grid → case vide + les
   produits commencent à la 2e colonne. On les neutralise. */
.single-product .related.products ul.products::before,
.single-product .related.products ul.products::after,
.single-product .related.products .products::before,
.single-product .related.products .products::after {
	content: none !important;
	display: none !important;
}

/* 4c. Aérer l'espace entre les produits liés et le footer. */
.single-product .related.products {
	margin-bottom: 72px;
}
.single-product .bt-single-bottom {
	padding-bottom: 8px;
}

/* ─── Ajout au panier AJAX — animation du bouton ───────────── */
.single-product .single_add_to_cart_button.izri-atc-loading {
	opacity: 0.7;
	pointer-events: none;
}
.woocommerce div.product form.cart .single_add_to_cart_button.izri-atc-added,
.woocommerce div.product form.cart .single_add_to_cart_button.izri-atc-added:hover {
	background: #2e8b57 !important; /* vert succès */
	border-color: #2e8b57 !important;
	color: #fff !important;
	transition: background 200ms ease-out;
}
/* Grille catalogue : état "Ajouté!" */
.woocommerce .bt-card .add_to_cart_button.izri-atc-added,
.woocommerce .bt-card .add_to_cart_button.izri-atc-added:hover {
	background: #2e8b57 !important;
	color: #fff !important;
}
.single-product .single_add_to_cart_button .izri-atc-spinner {
	display: inline-block;
	width: 14px;
	height: 14px;
	border: 2px solid rgba(255, 255, 255, 0.35);
	border-top-color: #fff;
	border-radius: 50%;
	vertical-align: middle;
	animation: izri-atc-spin 0.7s linear infinite;
}
.single-product .single_add_to_cart_button .izri-atc-check {
	display: inline-block;
	font-weight: 800;
	margin-right: 2px;
}
@keyframes izri-atc-spin {
	to { transform: rotate(360deg); }
}

/* ─── Aération descriptions & reviews ──────────────────────── */
/* Description : plus d'espace entre les sections et les items. */
.single-product .woocommerce-Tabs-panel--description {
	padding: 8px 4px 24px;
}
.single-product .woocommerce-Tabs-panel--description h3 {
	margin: 28px 0 14px;
	font-size: 21px;
}
.single-product .woocommerce-Tabs-panel--description h3:first-of-type {
	margin-top: 4px;
}
.single-product .woocommerce-Tabs-panel--description .bt-desc-list li {
	padding: 14px 18px 14px 22px;
	margin-bottom: 12px;
	line-height: 1.6;
}
.single-product .woocommerce-Tabs-panel--description .bt-desc-cta {
	margin: 30px 0 0;
	padding: 16px 20px;
	line-height: 1.5;
}

/* Reviews : aérer le panel, le formulaire et les commentaires. */
.single-product .woocommerce-Tabs-panel--reviews {
	padding: 8px 4px 24px;
}
.single-product .woocommerce-Tabs-panel--reviews #reviews {
	max-width: 820px;
}
.single-product .woocommerce-Tabs-panel--reviews .woocommerce-Reviews-title {
	font-family: 'Playfair Display', serif;
	font-size: 22px;
	color: var(--bt-ink);
	margin: 0 0 18px;
}
.single-product .woocommerce-Tabs-panel--reviews .woocommerce-noreviews {
	padding: 18px 20px;
	background: var(--bt-cream2, #f4efe7);
	border-radius: 10px;
	border-left: 3px solid var(--bt-gold, #D4A86A);
	color: var(--bt-muted);
	margin: 0 0 28px;
}
.single-product .woocommerce-Tabs-panel--reviews #review_form_wrapper {
	margin-top: 8px;
}
.single-product .woocommerce-Tabs-panel--reviews #review_form {
	background: var(--bt-cream2, #f4efe7);
	border: 1px solid var(--bt-line);
	border-radius: 14px;
	padding: 26px 28px;
}
.single-product .woocommerce-Tabs-panel--reviews .comment-reply-title {
	font-family: 'Playfair Display', serif;
	font-size: 20px;
	color: var(--bt-ink);
	display: block;
	margin-bottom: 18px;
}
.single-product .woocommerce-Tabs-panel--reviews .comment-form p {
	margin-bottom: 18px;
}
.single-product .woocommerce-Tabs-panel--reviews .comment-form label {
	display: block;
	margin-bottom: 7px;
	font-weight: 600;
	color: var(--bt-ink);
	font-size: 14px;
}
.single-product .woocommerce-Tabs-panel--reviews .comment-form input[type="text"],
.single-product .woocommerce-Tabs-panel--reviews .comment-form input[type="email"],
.single-product .woocommerce-Tabs-panel--reviews .comment-form textarea,
.single-product .woocommerce-Tabs-panel--reviews .comment-form select {
	width: 100%;
	padding: 13px 15px;
	border: 1px solid var(--bt-line);
	border-radius: 10px;
	background: #fff;
	font-size: 15px;
	transition: border-color 150ms ease-out, box-shadow 150ms ease-out;
}
.single-product .woocommerce-Tabs-panel--reviews .comment-form input:focus,
.single-product .woocommerce-Tabs-panel--reviews .comment-form textarea:focus,
.single-product .woocommerce-Tabs-panel--reviews .comment-form select:focus {
	outline: none;
	border-color: var(--bt-gold, #D4A86A);
	box-shadow: 0 0 0 3px rgba(212, 168, 106, 0.18);
}
.single-product .woocommerce-Tabs-panel--reviews .form-submit {
	margin-top: 22px;
}
.single-product .woocommerce-Tabs-panel--reviews .form-submit .submit {
	background: var(--bt-ink) !important;
	color: #fff !important;
	border-radius: 999px !important;
	padding: 13px 34px !important;
	font-weight: 700 !important;
	border: 0 !important;
	cursor: pointer;
	width: auto !important;
	display: inline-block !important;
	font-size: 15px !important;
	transition: background 150ms ease-out, transform 150ms ease-out;
}
.single-product .woocommerce-Tabs-panel--reviews .form-submit .submit:hover {
	background: var(--bt-gold) !important;
	transform: translateY(-1px);
}
/* Commentaires existants : aérer chaque avis. */
.single-product .woocommerce-Tabs-panel--reviews .commentlist li.comment {
	padding: 18px 20px;
	background: var(--bt-cream2, #f4efe7);
	border-radius: 10px;
	margin-bottom: 14px;
}
.single-product .woocommerce-Tabs-panel--reviews .commentlist .comment-text {
	margin-left: 0 !important;
}
