/* ===== WooCommerce : général ===== */
.ol-boutique{padding-top:48px;padding-bottom:clamp(80px,9vw,120px)}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 28px;border:1px solid var(--ol-bordeaux);border-radius:0;background:var(--ol-bordeaux);color:#FFFFFF;font-family:var(--ol-corps);font-size:12px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;transition:background .3s ease}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:var(--ol-bordeaux-fonce);border-color:var(--ol-bordeaux-fonce);color:#FFFFFF}

/* ===== WooCommerce : fiche produit ===== */
.woocommerce div.product{display:flow-root}
.woocommerce div.product div.images{margin-bottom:56px}
.woocommerce div.product div.images img{background:#EFE7E1}
.woocommerce div.product .product_title{margin:0 0 16px;font-family:var(--ol-titre);font-weight:400;font-size:clamp(30px,3.2vw,42px);line-height:1.15;color:var(--ol-texte)}
.woocommerce div.product p.price,.woocommerce div.product span.price{margin:0 0 20px;font-family:var(--ol-titre);font-size:24px;color:var(--ol-bordeaux)}
.woocommerce div.product .woocommerce-product-details__short-description p{margin:0 0 24px;font-size:15px;line-height:1.9;color:var(--ol-texte-doux)}
.woocommerce div.product form.cart{margin:0 0 24px;padding-top:24px;border-top:1px solid var(--ol-filet)}
.woocommerce div.product form.cart table.variations{margin:0 0 16px;border:0}
.woocommerce div.product form.cart table.variations tr{display:flex;flex-direction:column;gap:10px}
.woocommerce div.product form.cart table.variations th,.woocommerce div.product form.cart table.variations td{display:block;padding:0;text-align:left;line-height:1.4}
.woocommerce div.product form.cart table.variations label{font-size:12px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--ol-bordeaux)}
.woocommerce div.product form.cart table.variations select{width:100%;min-height:50px;padding:0 44px 0 16px;border:1px solid #E4D6D2;border-radius:0;background:#FFFFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%236E2531' stroke-width='1.2'/%3E%3C/svg%3E") no-repeat right 16px center;font-family:var(--ol-corps);font-size:15px;color:var(--ol-texte);appearance:none;-webkit-appearance:none;cursor:pointer}
.woocommerce div.product form.cart table.variations select:focus{outline:none;border-color:var(--ol-bordeaux)}
.woocommerce div.product form.cart .reset_variations{display:inline-block;margin-top:10px;font-size:12px;color:var(--ol-gris)}
.woocommerce div.product .woocommerce-variation-price{margin-bottom:16px}
.woocommerce div.product .woocommerce-variation-price .price{font-size:30px}
.woocommerce div.product .woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;gap:12px}
.woocommerce div.product form.cart .quantity{margin:0}
.woocommerce div.product form.cart .quantity .qty{width:76px;min-height:54px;border:1px solid #E4D6D2;border-radius:0;font-family:var(--ol-corps);font-size:15px;text-align:center}
.woocommerce div.product form.cart .button.single_add_to_cart_button{flex:1 1 220px;min-height:54px;margin:0}
.woocommerce div.product form.cart .button.single_add_to_cart_button.disabled{opacity:.45}
.woocommerce div.product .product_meta{padding-top:16px;border-top:1px solid var(--ol-filet);font-size:13px;color:var(--ol-gris)}
.woocommerce div.product .product_meta .sku_wrapper{display:none}
.woocommerce div.product .product_meta a{color:var(--ol-bordeaux)}

/* Onglets Description et Informations complémentaires */
.woocommerce div.product .woocommerce-tabs{clear:both;padding-top:24px}
.woocommerce div.product .woocommerce-tabs ul.tabs{display:flex;flex-wrap:wrap;gap:8px 32px;margin:0 0 32px;padding:0;border-bottom:1px solid var(--ol-filet)}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{margin:0;padding:0;border:0;border-radius:0;background:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{display:block;padding:0 0 14px;border-bottom:1px solid transparent;font-family:var(--ol-titre);font-size:20px;font-weight:400;color:#9A8A87}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--ol-bordeaux);border-bottom-color:var(--ol-bordeaux)}
.woocommerce div.product .woocommerce-tabs .panel>h2:first-child{display:none}
.woocommerce div.product .woocommerce-tabs .panel p{max-width:760px;margin:0 0 18px;font-size:15px;line-height:1.9;color:var(--ol-texte-doux)}
.woocommerce table.shop_attributes{max-width:760px;border:0;border-top:1px solid var(--ol-filet)}
.woocommerce table.shop_attributes th,.woocommerce table.shop_attributes td{padding:14px 0;border:0;border-bottom:1px solid var(--ol-filet);background:none;font-style:normal;text-align:left}
.woocommerce table.shop_attributes th{width:180px;font-size:12px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--ol-bordeaux)}
.woocommerce table.shop_attributes td p{margin:0;padding:0;font-size:15px}
.woocommerce table.shop_attributes tr:nth-child(even) th,.woocommerce table.shop_attributes tr:nth-child(even) td{background:none}

/* Produits apparentés */
.woocommerce .related.products{clear:both;padding-top:72px}
.woocommerce .related.products>h2{margin:0 0 32px;font-family:var(--ol-titre);font-size:clamp(26px,2.8vw,34px);font-weight:400}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--ol-titre);font-size:18px;font-weight:400;color:var(--ol-texte)}
.woocommerce ul.products li.product .price{font-family:var(--ol-corps);font-size:14px;color:var(--ol-texte)}

/* ============================================================
   Messages WooCommerce (panier, commande, fiche produit)
   ============================================================ */
.ol-boutique .woocommerce-message,
.ol-boutique .woocommerce-info,
.ol-boutique .woocommerce-error {
	background: var(--ol-rose-pale);
	border-top: 0;
	border-left: 2px solid var(--ol-bordeaux);
	color: var(--ol-texte-doux);
	font-size: 14px;
	line-height: 1.6;
	padding: 18px 24px 18px 56px;
	margin: 0 0 32px;
}
.ol-boutique .woocommerce-message::before,
.ol-boutique .woocommerce-info::before { color: var(--ol-bordeaux); top: 18px; left: 22px; }
.ol-boutique .woocommerce-error { border-left-color: #8A1C1C; background: #FBEAEA; }
.ol-boutique .woocommerce-error::before { color: #8A1C1C; top: 18px; left: 22px; }
.ol-boutique .woocommerce-info a { color: var(--ol-bordeaux); }

/* ============================================================
   Panier
   ============================================================ */
.ol-boutique table.shop_table {
	border: 0;
	border-radius: 0;
	border-collapse: collapse;
	margin: 0 0 48px;
}
.ol-boutique table.shop_table th {
	font-size: 11px;
	letter-spacing: .2em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--ol-gris);
	padding: 0 12px 16px;
	border-bottom: 1px solid var(--ol-filet);
}
.ol-boutique table.shop_table td {
	padding: 24px 12px;
	border-top: 0;
	border-bottom: 1px solid var(--ol-filet);
	vertical-align: middle;
	color: var(--ol-texte);
	font-variant-numeric: tabular-nums;
}
.ol-boutique table.cart .product-thumbnail { width: 112px; }
.ol-boutique table.cart img { width: 88px; height: 88px; object-fit: cover; display: block; }
.ol-boutique table.cart .product-name,
.ol-boutique table.cart .product-name a {
	font-family: 'Prata', Georgia, serif;
	font-size: 17px;
	color: var(--ol-texte);
	text-decoration: none;
}
.ol-boutique a.remove {
	color: var(--ol-gris) !important;
	font-weight: 300;
	font-size: 20px;
}
.ol-boutique a.remove:hover { background: var(--ol-bordeaux); color: var(--ol-blanc) !important; }

/* Détails (couleur, dimensions) */
.ol-boutique dl.variation {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 2px 10px;
	margin: 10px 0 0;
	font-family: 'Open Sans', sans-serif;
	font-size: 13px;
	color: var(--ol-texte-doux);
}
.ol-boutique dl.variation dt,
.ol-boutique dl.variation dd { margin: 0; padding: 0; float: none; font-weight: 400; }
.ol-boutique dl.variation dt { color: var(--ol-gris); }
.ol-boutique dl.variation dd p { margin: 0; }

/* Quantité */
.ol-boutique .quantity .qty {
	width: 64px;
	height: 42px;
	border: 1px solid var(--ol-rose);
	border-radius: 0;
	text-align: center;
	font: inherit;
	color: var(--ol-texte);
}

/* Code promo et mise à jour */
.ol-boutique table.cart td.actions { padding: 24px 0; border-bottom: 0; }
.ol-boutique table.cart td.actions .coupon { display: flex; gap: 8px; align-items: center; }
.ol-boutique #coupon_code {
	width: 200px !important;
	height: 46px;
	border: 1px solid var(--ol-rose);
	border-radius: 0;
	padding: 0 14px;
	font: inherit;
	font-size: 14px;
}
.ol-boutique button[name="update_cart"] {
	background: transparent !important;
	color: var(--ol-bordeaux) !important;
	border: 1px solid var(--ol-bordeaux) !important;
}
.ol-boutique button[name="update_cart"]:disabled { opacity: .35; }

/* Total du panier */
.ol-boutique .cart-collaterals .cart_totals {
	width: 100%;
	max-width: 460px;
	float: right;
	background: var(--ol-rose-pale);
	padding: 32px;
}
.ol-boutique .cart_totals h2 {
	font-family: 'Prata', Georgia, serif;
	font-weight: 400;
	font-size: 24px;
	margin: 0 0 12px;
}
.ol-boutique .cart_totals table.shop_table th,
.ol-boutique .cart_totals table.shop_table td {
	padding: 14px 0;
	background: none;
	border-bottom: 1px solid #EADAD6;
	font-size: 14px;
	letter-spacing: 0;
	text-transform: none;
	vertical-align: top;
}
.ol-boutique .cart_totals table.shop_table th { color: var(--ol-gris); font-weight: 400; }
.ol-boutique .cart_totals .order-total th,
.ol-boutique .cart_totals .order-total td {
	font-family: 'Prata', Georgia, serif;
	font-size: 20px;
	color: var(--ol-bordeaux);
	border-bottom: 0;
}
.ol-boutique .cart_totals .woocommerce-shipping-destination,
.ol-boutique .cart_totals .shipping-calculator-button { font-size: 13px; color: var(--ol-gris); }
.ol-boutique .wc-proceed-to-checkout { padding: 24px 0 0; }
.ol-boutique .wc-proceed-to-checkout .checkout-button {
	display: block;
	width: 100%;
	height: 56px;
	line-height: 56px;
	padding: 0 !important;
	margin: 0;
	text-align: center;
	font-size: 12px !important;
	letter-spacing: .16em;
	text-transform: uppercase;
}
@media (max-width: 768px) {
	.ol-boutique .cart-collaterals .cart_totals { float: none; max-width: none; padding: 24px; }
	.ol-boutique table.cart td.actions .coupon { flex-wrap: wrap; }
}
/* ============================================================
   Page Commande
   ============================================================ */
.ol-boutique form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
	grid-template-rows: auto 1fr;
	gap: 0 clamp(32px, 5vw, 72px);
	align-items: start;
}
.ol-boutique form.checkout > .woocommerce-NoticeGroup { grid-column: 1 / -1; }
.ol-boutique form.checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; }
.ol-boutique form.checkout #order_review_heading { grid-column: 2; grid-row: 1; }
.ol-boutique form.checkout #order_review { grid-column: 2; grid-row: 2; }
.ol-boutique #customer_details .col-1,
.ol-boutique #customer_details .col-2 { float: none; width: 100%; }
.ol-boutique #customer_details .col-2 { margin-top: 40px; }

/* Titres */
.ol-boutique form.checkout h3 {
	font-family: 'Prata', Georgia, serif;
	font-weight: 400;
	font-size: 24px;
	color: var(--ol-texte);
	margin: 0 0 24px;
}
.ol-boutique #ship-to-different-address label { display: flex; align-items: center; gap: 10px; font-size: 20px; cursor: pointer; }
.ol-boutique #ship-to-different-address input { accent-color: var(--ol-bordeaux); width: 16px; height: 16px; }

/* Champs */
.ol-boutique form.checkout .form-row { padding: 0; margin: 0 0 18px; }
.ol-boutique form.checkout .form-row label {
	display: block;
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--ol-texte-doux);
	margin: 0 0 8px;
	line-height: 1.4;
}
.ol-boutique form.checkout .form-row label .required { color: var(--ol-bordeaux); text-decoration: none; }
.ol-boutique form.checkout .form-row label .optional { text-transform: none; letter-spacing: 0; font-weight: 400; color: var(--ol-gris); }
.ol-boutique form.checkout input.input-text,
.ol-boutique form.checkout textarea,
.ol-boutique form.checkout select,
.ol-boutique form.checkout .select2-container .select2-selection--single {
	width: 100%;
	height: 50px;
	border: 1px solid var(--ol-rose);
	border-radius: 0;
	background: var(--ol-blanc);
	padding: 0 16px;
	font: inherit;
	font-size: 15px;
	color: var(--ol-texte);
	box-shadow: none;
}
.ol-boutique form.checkout textarea { height: 120px; padding: 14px 16px; resize: vertical; }
.ol-boutique form.checkout .select2-container .select2-selection--single .select2-selection__rendered { line-height: 48px; padding: 0; color: var(--ol-texte); }
.ol-boutique form.checkout .select2-container .select2-selection--single .select2-selection__arrow { height: 48px; right: 10px; }
.ol-boutique form.checkout input.input-text:focus,
.ol-boutique form.checkout textarea:focus,
.ol-boutique form.checkout select:focus { outline: none; border-color: var(--ol-bordeaux); }
.ol-boutique form.checkout .form-row.woocommerce-invalid input.input-text { border-color: #8A1C1C; }
.ol-boutique form.checkout .woocommerce-input-wrapper strong { font-weight: 400; font-size: 15px; }

/* Récapitulatif */
.ol-boutique #order_review {
	background: var(--ol-rose-pale);
	padding: 32px;
	position: sticky;
	top: 120px;
}
.ol-boutique #order_review table.shop_table { margin: 0 0 24px; }
.ol-boutique #order_review table.shop_table th,
.ol-boutique #order_review table.shop_table td {
	padding: 14px 0;
	background: none;
	border-bottom: 1px solid #EADAD6;
	font-size: 14px;
	vertical-align: top;
}
.ol-boutique #order_review table.shop_table thead th { font-size: 11px; padding-top: 0; }
.ol-boutique #order_review table.shop_table tfoot th { color: var(--ol-gris); font-weight: 400; letter-spacing: 0; text-transform: none; }
.ol-boutique #order_review .product-total,
.ol-boutique #order_review tfoot td { text-align: right; }
.ol-boutique #order_review .order-total th,
.ol-boutique #order_review .order-total td {
	font-family: 'Prata', Georgia, serif;
	font-size: 20px;
	color: var(--ol-bordeaux);
	border-bottom: 0;
}

/* Paiement */
.ol-boutique #payment { background: transparent; border-radius: 0; }
.ol-boutique #payment ul.payment_methods { padding: 0 0 16px; border-bottom: 1px solid #EADAD6; }
.ol-boutique #payment ul.payment_methods li { font-size: 14px; }
.ol-boutique #payment ul.payment_methods li input { accent-color: var(--ol-bordeaux); margin-right: 8px; }
.ol-boutique #payment div.payment_box {
	background: var(--ol-blanc);
	color: var(--ol-texte-doux);
	font-size: 13px;
	line-height: 1.6;
	border-radius: 0;
	padding: 16px 18px;
	margin: 12px 0 0;
}
.ol-boutique #payment div.payment_box::before { border-bottom-color: var(--ol-blanc); }
.ol-boutique #payment div.form-row { padding: 16px 0 0; margin: 0; }
.ol-boutique .woocommerce-privacy-policy-text { font-size: 12px; color: var(--ol-gris); line-height: 1.6; }
.ol-boutique #place_order {
	float: none;
	display: block;
	width: 100%;
	height: 56px;
	margin-top: 16px;
	font-size: 12px !important;
	letter-spacing: .16em;
	text-transform: uppercase;
}

@media (max-width: 900px) {
	.ol-boutique form.checkout { grid-template-columns: minmax(0, 1fr); }
	.ol-boutique form.checkout #customer_details,
	.ol-boutique form.checkout #order_review_heading,
	.ol-boutique form.checkout #order_review { grid-column: 1; grid-row: auto; }
	.ol-boutique form.checkout #order_review_heading { margin-top: 40px; }
	.ol-boutique #order_review { position: static; padding: 24px; }
}

/* Boutons principaux WooCommerce (Commander, Valider la commande) en bordeaux */
.ol-boutique a.button.alt,
.ol-boutique button.button.alt,
.ol-boutique input.button.alt,
.ol-boutique #place_order {
	background: var(--ol-bordeaux) !important;
	border: 0 !important;
	color: var(--ol-blanc) !important;
	border-radius: 0;
}
.ol-boutique a.button.alt:hover,
.ol-boutique button.button.alt:hover,
.ol-boutique input.button.alt:hover,
.ol-boutique #place_order:hover {
	background: var(--ol-bordeaux-fonce) !important;
}

/* ============================================================
   Page Merci
   ============================================================ */
.ol-boutique .woocommerce-order { max-width: 880px; margin: 0 auto; }
.ol-boutique .woocommerce-order > p.woocommerce-thankyou-order-received {
	font-family: 'Prata', Georgia, serif;
	font-size: clamp(28px, 3vw, 38px);
	line-height: 1.2;
	color: var(--ol-texte);
	text-align: center;
	margin: 0 0 32px;
	text-wrap: balance;
}

/* Résumé (numéro, date, total…) */
.ol-boutique ul.woocommerce-order-overview {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	background: var(--ol-rose-pale);
	padding: 24px 8px;
	margin: 0 0 48px;
	list-style: none;
}
.ol-boutique ul.woocommerce-order-overview li {
	flex: 1 1 140px;
	margin: 0;
	padding: 4px 20px;
	border-right: 1px solid #EADAD6;
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--ol-gris);
	line-height: 1.6;
}
.ol-boutique ul.woocommerce-order-overview li:last-child { border-right: 0; }
.ol-boutique ul.woocommerce-order-overview li strong {
	display: block;
	margin-top: 6px;
	font-family: 'Prata', Georgia, serif;
	font-weight: 400;
	font-size: 17px;
	letter-spacing: 0;
	text-transform: none;
	color: var(--ol-texte);
	overflow-wrap: anywhere;
}

/* Instructions de virement */
.ol-boutique .woocommerce-order > p,
.ol-boutique .woocommerce-bacs-bank-details { color: var(--ol-texte-doux); line-height: 1.7; }
.ol-boutique .woocommerce-bacs-bank-details {
	border: 1px solid var(--ol-rose);
	padding: 28px 32px;
	margin: 24px 0 48px;
}
.ol-boutique .wc-bacs-bank-details-heading,
.ol-boutique .woocommerce-order-details__title,
.ol-boutique .woocommerce-column__title {
	font-family: 'Prata', Georgia, serif;
	font-weight: 400;
	font-size: 24px;
	color: var(--ol-texte);
	margin: 0 0 16px;
}
.ol-boutique .wc-bacs-bank-details-account-name {
	font-size: 12px;
	letter-spacing: .18em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--ol-bordeaux);
	margin: 0 0 12px;
}
.ol-boutique ul.wc-bacs-bank-details {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 40px;
	padding: 0;
	margin: 0;
	list-style: none;
}
.ol-boutique ul.wc-bacs-bank-details li {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--ol-gris);
}
.ol-boutique ul.wc-bacs-bank-details li strong {
	display: block;
	margin-top: 6px;
	font-size: 15px;
	letter-spacing: .02em;
	text-transform: none;
	color: var(--ol-texte);
	font-variant-numeric: tabular-nums;
}

/* Détails de la commande */
.ol-boutique .woocommerce-order-details { margin: 0 0 48px; }
.ol-boutique table.order_details .product-total,
.ol-boutique table.order_details tfoot td { text-align: right; }
.ol-boutique table.order_details tfoot th { color: var(--ol-gris); font-weight: 400; letter-spacing: 0; text-transform: none; font-size: 14px; }
.ol-boutique table.order_details tfoot tr:last-child th,
.ol-boutique table.order_details tfoot tr:last-child td { border-bottom: 0; }
.ol-boutique table.order_details .wc-item-meta {
	list-style: none;
	padding: 0;
	margin: 10px 0 0;
	font-size: 13px;
	color: var(--ol-texte-doux);
}
.ol-boutique table.order_details .wc-item-meta li { display: flex; gap: 8px; margin: 0; }
.ol-boutique table.order_details .wc-item-meta li strong { font-weight: 400; color: var(--ol-gris); }
.ol-boutique table.order_details .wc-item-meta li p { margin: 0; }

/* Adresses */
.ol-boutique .woocommerce-customer-details .col2-set {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 32px;
}
.ol-boutique .woocommerce-customer-details .col2-set::before,
.ol-boutique .woocommerce-customer-details .col2-set::after { display: none; }
.ol-boutique .woocommerce-customer-details .col2-set .col-1,
.ol-boutique .woocommerce-customer-details .col2-set .col-2 { float: none; width: auto; }
.ol-boutique .woocommerce-customer-details address {
	border: 1px solid var(--ol-filet);
	border-radius: 0;
	padding: 20px 24px;
	font-style: normal;
	line-height: 1.8;
	color: var(--ol-texte-doux);
}
@media (max-width: 640px) {
	.ol-boutique ul.woocommerce-order-overview li { flex-basis: 100%; border-right: 0; border-bottom: 1px solid #EADAD6; padding: 12px 20px; }
	.ol-boutique ul.woocommerce-order-overview li:last-child { border-bottom: 0; }
	.ol-boutique .woocommerce-customer-details .col2-set { grid-template-columns: minmax(0, 1fr); }
	.ol-boutique .woocommerce-bacs-bank-details { padding: 22px; }
}

/* Image de l'article (page Commande et page Merci) */
.ol-boutique td.product-name:has(.ol-vignette) {
	position: relative;
	padding-left: 80px !important;
	height: 92px;
}
.ol-boutique .ol-vignette {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 64px;
	height: 64px;
}
.ol-boutique .ol-vignette img {
	width: 64px;
	height: 64px;
	object-fit: cover;
	display: block;
}
.ol-boutique table.order_details td.product-name:has(.ol-vignette) { padding-left: 92px !important; }
.ol-boutique table.order_details .ol-vignette { left: 12px; }
.ol-boutique table.order_details td.product-name:has(.ol-vignette) { height: 112px; }

/* Taies : encadré « Vendues par paire » */
.ol-paire{display:flex;align-items:center;gap:16px;margin:0 0 20px;padding:16px 18px;background:var(--ol-rose-pale);border-left:2px solid var(--ol-bordeaux)}
.ol-paire__icone{flex:none;width:48px;height:24px;fill:#FFFFFF;stroke:var(--ol-bordeaux);stroke-width:1.2}
.ol-paire__titre{margin:0 0 2px;font-family:var(--ol-titre);font-size:17px;color:var(--ol-texte)}
.ol-paire__texte{margin:0;font-size:13px;line-height:1.6;color:var(--ol-texte-doux)}
.ol-prix-unite{font-size:.55em;letter-spacing:.04em;color:var(--ol-gris)}
/* Fiche produit : fil d'Ariane */
.single-product .ol-ariane--produit{margin:-48px 0 clamp(28px,4vw,48px)}

/* Fiche produit : galerie, miniatures en colonne à gauche */
.single-product .woocommerce-product-gallery{display:grid;grid-template-columns:88px minmax(0,1fr);gap:16px;align-items:start;position:relative}
.single-product .woocommerce-product-gallery .flex-viewport{grid-column:2;grid-row:1}
.single-product .woocommerce-product-gallery .flex-control-thumbs{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:12px;margin:0;padding:0 4px 0 0;list-style:none;height:0;min-height:100%;overflow-y:auto;scrollbar-width:thin}
.single-product .woocommerce-product-gallery .flex-control-thumbs li{float:none !important;width:100% !important;margin:0 !important;flex:none}
.single-product .woocommerce-product-gallery .flex-control-thumbs img{display:block;width:100%;aspect-ratio:1;object-fit:cover;cursor:pointer;opacity:.45;border-bottom:2px solid transparent;transition:opacity .4s ease,border-color .4s ease}
.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover{opacity:.8}
.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active{opacity:1;border-bottom-color:var(--ol-bordeaux)}

/* Mobile : miniatures en ligne sous la photo, qu'on fait défiler du doigt */
@media (max-width:820px){
.single-product .woocommerce-product-gallery{grid-template-columns:minmax(0,1fr)}
.single-product .woocommerce-product-gallery .flex-viewport{grid-column:1}
.single-product .woocommerce-product-gallery .flex-control-thumbs{grid-column:1;grid-row:2;flex-direction:row;height:auto;min-height:0;overflow-x:auto;overflow-y:hidden;padding:0 0 4px}
.single-product .woocommerce-product-gallery .flex-control-thumbs li{width:72px !important}
}

/* Galerie : toutes les photos au même format carré */
.single-product .woocommerce-product-gallery__image a{display:block}
.single-product .woocommerce-product-gallery__image img{display:block;width:100%;height:auto !important;aspect-ratio:1/1;object-fit:cover}

/* Galerie : flèches pour faire défiler les miniatures */
.ol-galerie__fleche{position:absolute;left:0;z-index:2;width:88px;height:40px;padding:0;border:0;display:flex;align-items:center;justify-content:center;color:var(--ol-bordeaux);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s ease}
.ol-galerie__fleche svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4}
.ol-galerie__fleche--haut{top:0;background:linear-gradient(#FFFFFF 45%,rgba(255,255,255,0))}
.ol-galerie__fleche--bas{bottom:0;background:linear-gradient(rgba(255,255,255,0),#FFFFFF 55%)}
.ol-galerie__fleche.est-visible{opacity:1;pointer-events:auto}
@media (max-width:820px){.ol-galerie__fleche{display:none}}

/* Fiche produit : choix de la taille en boutons */
.single-product table.variations,.single-product table.variations tbody,.single-product table.variations tr,.single-product table.variations th,.single-product table.variations td{display:block;width:100%;padding:0;border:0;background:none}
.single-product table.variations th.label{margin-bottom:12px}
.single-product table.variations select.ol-tailles__select,.single-product .reset_variations{display:none !important}
.ol-tailles{display:flex;flex-wrap:wrap;gap:8px}
.ol-tailles__choix{min-width:88px;padding:12px 14px;border:1px solid var(--ol-rose);background:#FFFFFF;color:var(--ol-texte);font:inherit;font-size:13px;letter-spacing:.04em;font-variant-numeric:tabular-nums;cursor:pointer;transition:background .3s ease,border-color .3s ease,color .3s ease,transform .3s ease}
.ol-tailles__choix:hover{border-color:var(--ol-bordeaux);transform:translateY(-1px)}
.ol-tailles__choix.est-choisi{background:var(--ol-bordeaux);border-color:var(--ol-bordeaux);color:#FFFFFF}
.ol-tailles__choix:disabled{opacity:.35;text-decoration:line-through;cursor:not-allowed;transform:none}
.ol-tailles__choix:focus-visible{outline:2px solid var(--ol-bordeaux);outline-offset:3px}
.ol-tailles__aide{margin:12px 0 0;font-size:12px;letter-spacing:.04em;color:var(--ol-gris);transition:opacity .4s ease}
.ol-tailles__aide.est-cache{opacity:0;height:0;margin:0;overflow:hidden}
.ol-tailles__sur-mesure{display:inline-block;margin:14px 0 20px;font-size:13px;color:var(--ol-texte-doux)}
.ol-tailles__sur-mesure a{color:var(--ol-bordeaux);text-decoration:none;border-bottom:1px solid var(--ol-rose);transition:border-color .3s ease}
.ol-tailles__sur-mesure a:hover{border-bottom-color:var(--ol-bordeaux)}

/* Fiche produit : quantité et bouton Ajouter au panier */
.single-product .woocommerce-variation-add-to-cart,.single-product form.cart:not(.variations_form){display:flex;flex-wrap:wrap;align-items:stretch;gap:12px}
.single-product .woocommerce-variation-add-to-cart .ol-paire,.single-product form.cart .ol-paire{flex:1 0 100%}
.single-product form.cart .quantity{display:flex;align-items:center;height:52px;margin:0 !important;border:1px solid var(--ol-rose);background:#FFFFFF}
.ol-qte__bouton{width:42px;height:100%;padding:0;border:0;background:none;color:var(--ol-texte);font:inherit;font-size:18px;line-height:1;cursor:pointer;transition:color .3s ease}
.ol-qte__bouton:hover{color:var(--ol-bordeaux)}
.ol-qte__bouton:disabled{opacity:.3;cursor:not-allowed}
.single-product form.cart .quantity input.qty{width:40px;height:100%;padding:0;border:0;background:none;text-align:center;font:inherit;font-size:15px;font-variant-numeric:tabular-nums;color:var(--ol-texte);-moz-appearance:textfield;appearance:textfield}
.single-product form.cart .quantity input.qty::-webkit-outer-spin-button,.single-product form.cart .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.single-product form.cart .single_add_to_cart_button{flex:0 1 auto;min-width:240px;height:52px;padding:0 44px !important;border:0;border-radius:0;background:var(--ol-bordeaux) !important;color:#FFFFFF !important;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:background .3s ease,opacity .3s ease}
.single-product form.cart .single_add_to_cart_button:hover{background:var(--ol-bordeaux-fonce) !important}
.single-product form.cart .single_add_to_cart_button.disabled{opacity:.4;cursor:not-allowed}
@media (max-width:480px){.single-product form.cart .single_add_to_cart_button{flex:1;min-width:0;padding:0 20px !important}}

/* Quantité : pas de cadre autour du chiffre, contour bordeaux sur l'ensemble au clic */
.single-product form.cart .quantity input.qty{border:0 !important;box-shadow:none !important;outline:none !important}
.single-product form.cart .quantity:focus-within{border-color:var(--ol-bordeaux)}

/* Quantité et bouton : réglages fins forcés (passent devant les styles d'origine) */
body.single-product div.product form.cart .quantity{height:44px !important;border:1px solid #E4D6D2 !important}
body.single-product div.product form.cart .quantity input.qty{height:100% !important;border:0 !important;font-size:14px !important;font-weight:300 !important}
body.single-product div.product form.cart .ol-qte__bouton{font-size:15px !important;font-weight:300 !important}
body.single-product div.product form.cart .single_add_to_cart_button{height:44px !important;min-height:0 !important;min-width:220px !important;padding:0 32px !important;line-height:44px !important;font-size:11px !important;font-weight:400 !important;letter-spacing:.24em !important}

/* Onglet Description : texte et atouts */
.ol-description{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:clamp(40px,6vw,96px);align-items:start}
.ol-description__atouts{background:var(--ol-rose-pale);padding:clamp(24px,3vw,36px)}
.ol-description__atouts ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:22px}
.ol-description__atouts li{display:flex;align-items:flex-start;gap:16px}
.ol-description__atouts svg{flex:none;width:28px;height:28px;fill:none;stroke:var(--ol-bordeaux);stroke-width:1;stroke-linecap:round;stroke-linejoin:round}
.ol-description__titre{margin:0 0 2px !important;font-family:var(--ol-titre);font-size:17px;color:var(--ol-texte)}
.ol-description__detail{margin:0 !important;font-size:13px;line-height:1.6;color:var(--ol-texte-doux)}
@media (max-width:820px){.ol-description{grid-template-columns:minmax(0,1fr)}}

/* Onglet Informations complémentaires : encadré rosé sur deux colonnes */
body.single-product table.woocommerce-product-attributes{display:block;width:100%;margin:0;padding:clamp(20px,3vw,36px) clamp(24px,3.5vw,44px);border:0;background:var(--ol-rose-pale)}
body.single-product table.woocommerce-product-attributes tbody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(32px,5vw,72px)}
body.single-product table.woocommerce-product-attributes tr{display:flex;flex-direction:column;gap:6px;padding:18px 0;border:0;border-bottom:1px solid rgba(110,37,49,.12);background:none !important}
body.single-product table.woocommerce-product-attributes th,body.single-product table.woocommerce-product-attributes td{display:block;width:auto;padding:0;border:0;background:none !important;text-align:left}
body.single-product table.woocommerce-product-attributes th{font-size:11px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--ol-bordeaux)}
body.single-product table.woocommerce-product-attributes td{font-style:normal;font-size:14px;line-height:1.7;color:var(--ol-texte)}
body.single-product table.woocommerce-product-attributes td p{margin:0;padding:0}
@media (max-width:700px){body.single-product table.woocommerce-product-attributes tbody{grid-template-columns:minmax(0,1fr)}}

/* Onglets : le contenu prend toute la largeur du bloc principal */
body.single-product .woocommerce-Tabs-panel{max-width:none !important;width:100% !important}
body.single-product table.woocommerce-product-attributes{max-width:none !important}

/* Informations complémentaires : version compacte et homogène */
body.single-product table.woocommerce-product-attributes tr{gap:4px !important;padding:14px 0 !important}
body.single-product table.woocommerce-product-attributes td,body.single-product table.woocommerce-product-attributes td *{margin:0 !important;padding:0 !important;line-height:1.6 !important}
body.single-product table.woocommerce-product-attributes tr[class*="taille"]{grid-column:1 / -1}
body.single-product table.woocommerce-product-attributes tr:nth-last-child(-n+2){border-bottom:0 !important}
@media (max-width:700px){body.single-product table.woocommerce-product-attributes tr:nth-last-child(2){border-bottom:1px solid rgba(110,37,49,.12) !important}}

/* Carrousel « autres couleurs » */
.ol-couleurs{--ol-couleurs-fond:#EFD9D4;position:relative;margin-top:clamp(72px,9vw,120px);padding:clamp(56px,7vw,96px) 0;background:var(--ol-couleurs-fond);box-shadow:0 0 0 100vmax var(--ol-couleurs-fond);clip-path:inset(0 -100vmax)}
.ol-couleurs__entete{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(32px,4vw,48px)}
.ol-couleurs__entete .ol-surtitre{margin:0 0 14px}
.ol-couleurs__titre{margin:0;font-size:clamp(26px,3vw,38px)}
.ol-couleurs__fleches{display:flex;gap:10px;flex:none}
.ol-couleurs__fleche{width:46px;height:46px;padding:0;border:1px solid var(--ol-bordeaux);border-radius:50%;background:transparent;color:var(--ol-bordeaux);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .3s ease,color .3s ease}
.ol-couleurs__fleche svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.2}
.ol-couleurs__fleche:hover,.ol-couleurs__fleche:focus-visible{background:var(--ol-bordeaux);color:#FFFFFF;outline:none}

.ol-couleurs__piste{overflow-x:auto;scroll-behavior:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent);mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent)}
.ol-couleurs__piste::-webkit-scrollbar{display:none}
.ol-couleurs__liste{display:flex;gap:24px;width:max-content;margin:0;padding:0;list-style:none}
.ol-couleurs__carte{flex:0 0 clamp(220px,22vw,280px)}
.ol-couleurs__lien{display:flex;flex-direction:column;gap:8px;color:inherit;text-decoration:none}
.ol-couleurs__image{display:block;overflow:hidden;aspect-ratio:4/5;background:#FFFFFF}
.ol-couleurs__image img{display:block;width:100%;height:100% !important;object-fit:cover;transition:transform 1.2s cubic-bezier(.22,1,.36,1)}
.ol-couleurs__lien:hover .ol-couleurs__image img{transform:scale(1.05)}
.ol-couleurs__couleur{margin-top:8px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ol-gris)}
.ol-couleurs__nom{font-family:var(--ol-titre);font-size:18px;line-height:1.35;color:var(--ol-texte)}
.ol-couleurs__bouton{align-self:flex-start;margin-top:6px;padding:10px 22px;border:1px solid var(--ol-bordeaux);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ol-bordeaux);transition:background .3s ease,color .3s ease}
.ol-couleurs__lien:hover .ol-couleurs__bouton,.ol-couleurs__lien:focus-visible .ol-couleurs__bouton{background:var(--ol-bordeaux);color:#FFFFFF}

@media (max-width:600px){
.ol-couleurs__fleches{display:none}
.ol-couleurs__carte{flex-basis:70vw}
}

/* Informations complémentaires : les textes utilisent toute la largeur disponible */
body.single-product table.woocommerce-product-attributes td,body.single-product table.woocommerce-product-attributes td *{max-width:none !important}

/* Carrousel « autres couleurs » : plus compact et sur toute la largeur de l'écran */
body.single-product{overflow-x:clip}
.ol-couleurs{padding:clamp(40px,5vw,64px) 0}
.ol-couleurs__entete{margin-bottom:clamp(24px,3vw,36px)}
.ol-couleurs__piste{margin-inline:calc(50% - 50vw);-webkit-mask-image:linear-gradient(to right,rgba(0,0,0,.35),#000 6%,#000 94%,rgba(0,0,0,.35));mask-image:linear-gradient(to right,rgba(0,0,0,.35),#000 6%,#000 94%,rgba(0,0,0,.35))}
.ol-couleurs__liste{gap:20px;padding:0 20px}
.ol-couleurs__carte{flex-basis:clamp(180px,16vw,230px)}
.ol-couleurs__lien{gap:6px}
.ol-couleurs__couleur{margin-top:6px}
.ol-couleurs__nom{font-size:17px}
.ol-couleurs__bouton{margin-top:4px;padding:8px 18px}
@media (max-width:600px){.ol-couleurs__carte{flex-basis:60vw}}

/* Carrousel « autres couleurs » : passe-partout, texte centré, ligne de progression */
.ol-couleurs__fleches{gap:14px;align-items:center}
.ol-couleurs__fleche{width:28px;height:28px;padding:0;border:0 !important;border-radius:0;background:none !important;color:var(--ol-bordeaux) !important;opacity:.6;transition:opacity .4s ease}
.ol-couleurs__fleche:hover,.ol-couleurs__fleche:focus-visible{opacity:1}
.ol-couleurs__fleche svg{width:12px;height:12px;stroke-width:1}
.ol-couleurs__progression{position:relative;width:140px;height:1px;background:rgba(110,37,49,.2);overflow:hidden}
.ol-couleurs__progression span{position:absolute;top:0;left:0;width:40px;height:100%;background:var(--ol-bordeaux);transform:translateX(calc(var(--avance,0) * 100px))}

.ol-couleurs__carte{display:flex}
.ol-couleurs__lien{width:100%;align-items:center;text-align:center;gap:4px}
.ol-couleurs__image{width:100%;aspect-ratio:4/5;padding:8px;border-radius:14px;background:#FFFFFF;box-shadow:0 1px 2px rgba(86,28,38,.06);transition:transform .7s cubic-bezier(.22,1,.36,1),box-shadow .7s cubic-bezier(.22,1,.36,1)}
.ol-couleurs__image img{border-radius:8px}
.ol-couleurs__lien:hover .ol-couleurs__image{transform:translateY(-4px);box-shadow:0 20px 36px -20px rgba(86,28,38,.35)}
.ol-couleurs__lien:hover .ol-couleurs__image img{transform:none}
.ol-couleurs__couleur{margin-top:16px}
.ol-couleurs__nom{font-size:22px;line-height:1.3}
.ol-couleurs__bouton{position:relative;align-self:center;margin-top:auto;padding:12px 0 6px;border:0 !important;background:none !important;color:var(--ol-bordeaux) !important;font-size:10px;letter-spacing:.26em}
.ol-couleurs__bouton::after{content:"";position:absolute;left:50%;bottom:0;width:22px;height:1px;background:currentColor;transform:translateX(-50%);transition:width .6s cubic-bezier(.22,1,.36,1)}
.ol-couleurs__lien:hover .ol-couleurs__bouton::after,.ol-couleurs__lien:focus-visible .ol-couleurs__bouton::after{width:100%}

/* Carrousel : passe-partout plus fin, cartes plus espacées, textes un peu plus grands */
.ol-couleurs__liste{gap:36px;padding:0 36px}
.ol-couleurs__image{padding:4px;border-radius:12px}
.ol-couleurs__image img{border-radius:9px}
.ol-couleurs__couleur{font-size:12px}
.ol-couleurs__nom{font-size:24px}
.ol-couleurs__bouton{padding:14px 0 7px;font-size:11px;letter-spacing:.24em}
.ol-couleurs__bouton::after{width:26px}

/* Parure de lit : choix des tailles et prix */
.ol-parure{flex:1 0 100%;display:flex;flex-direction:column;gap:22px;margin-bottom:8px}
.ol-parure__libelle{margin:0 0 12px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ol-bordeaux)}
.ol-parure__total{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin:0;padding:16px 0;border-top:1px solid var(--ol-filet);border-bottom:1px solid var(--ol-filet)}
.ol-parure__total span{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ol-gris)}
.ol-parure__total strong{font-family:var(--ol-titre);font-weight:400;font-size:22px;color:var(--ol-bordeaux)}
.ol-parure .ol-tailles__sur-mesure{margin:0}
/* Parure : interrupteur « drap-housse assorti » et repli animé */
.ol-parure__option{border-top:1px solid var(--ol-filet);padding-top:18px}
.ol-parure__interrupteur{display:flex;align-items:center;gap:14px;width:100%;padding:0;border:0 !important;background:none !important;box-shadow:none !important;outline:none;font:inherit;color:var(--ol-texte);text-align:left;cursor:pointer}
.ol-parure__bascule{position:relative;flex:none;width:38px;height:20px;border:1px solid var(--ol-rose);border-radius:20px;background:#FFFFFF;transition:background .4s ease,border-color .4s ease}
.ol-parure__bascule::after{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:var(--ol-rose);transition:transform .4s cubic-bezier(.22,1,.36,1),background .4s ease}
.ol-parure__option.est-ouvert .ol-parure__bascule{background:var(--ol-bordeaux);border-color:var(--ol-bordeaux)}
.ol-parure__option.est-ouvert .ol-parure__bascule::after{transform:translateX(18px);background:#FFFFFF}
.ol-parure__interrupteur:focus-visible .ol-parure__bascule{outline:2px solid var(--ol-bordeaux);outline-offset:3px}
.ol-parure__question{font-size:14px}
.ol-parure__des{margin-left:auto;font-size:12px;letter-spacing:.04em;color:var(--ol-gris)}
.ol-parure__repli{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .6s cubic-bezier(.22,1,.36,1),opacity .5s ease}
.ol-parure__repli-interieur{overflow:hidden}
.ol-parure__option.est-ouvert .ol-parure__repli{grid-template-rows:1fr;opacity:1}
.ol-parure__option.est-ouvert .ol-parure__repli-interieur{padding-top:20px}