/* ==========================================================================
   Panier & Checkout - Le Clic à Vrac
   ========================================================================== */

/* ==========================================================================
   Cart Page
   ========================================================================== */

.woocommerce-cart .site-main {
	padding-top: 0;
	background-color: #f7f7f7;
}

.cart-page__title {
	font-size: var(--cav-font-2xl);
	margin-bottom: var(--cav-space-xl);
}

.cart-page__layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--cav-space-xl);
}

@media (min-width: 64em) {
	.cart-page__layout {
		grid-template-columns: 1fr 380px;
	}
}

/* ==========================================================================
   Cart Items
   ========================================================================== */

.cart-items {
	display: flex;
	flex-direction: column;
	gap: var(--cav-space-md);
}

.cart-item {
	display: flex;
	gap: var(--cav-space-md);
	padding: var(--cav-space-md);
	background: var(--cav-bg-alt);
	border-radius: var(--cav-radius-lg);
}

.cart-item--consigne {
	background: var(--cav-primary-light);
}

/* Consignes : cacher les contrôles (quantité non modifiable, suppression impossible) */
.cart-item--consigne .cart-item__quantity,
.cart-item--consigne .cart-item__remove,
.cart-item--consigne .js-remove-cart-item,
.cart-item--consigne .remove {
	display: none !important;
}

/* Consignes : afficher la quantité en lecture seule */
.cart-item--consigne .cart-item__quantity-fixed {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	background: var(--cav-bg);
	border-radius: var(--cav-radius-md);
	font-weight: 600;
	color: var(--cav-text-light);
}

.cart-item__image {
	width: 100px;
	height: 100px;
	flex-shrink: 0;
	border-radius: var(--cav-radius-md);
	overflow: hidden;
	background: var(--cav-bg);
}

.cart-item__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cart-item__content {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.cart-item__name {
	font-weight: 600;
	font-size: var(--cav-font-base);
	margin-bottom: var(--cav-space-xs);
}

.cart-item__name a {
	color: var(--cav-text);
}

.cart-item__meta {
	font-size: var(--cav-font-sm);
	color: var(--cav-text-light);
	margin-bottom: var(--cav-space-sm);
}

.cart-item__consigne-info {
	display: flex;
	align-items: center;
	gap: var(--cav-space-xs);
	font-size: var(--cav-font-xs);
	color: var(--cav-primary-dark);
}

.cart-item__actions {
	display: flex;
	align-items: center;
	gap: var(--cav-space-md);
	margin-top: auto;
}

.cart-item__quantity {
	display: flex;
	align-items: center;
	background: var(--cav-bg);
	border-radius: var(--cav-radius-md);
}

.cart-item__qty-btn {
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: none;
	color: var(--cav-text-light);
	cursor: pointer;
	transition: color var(--cav-transition-fast);
}

.cart-item__qty-btn:hover {
	color: var(--cav-primary);
}

.cart-item__qty-btn:disabled {
	opacity: 0.3;
	cursor: not-allowed;
}

.cart-item__qty-input {
	width: 40px;
	text-align: center;
	font-weight: 600;
	border: none;
	background: transparent;
}

.cart-item__price {
	font-weight: 700;
	font-size: var(--cav-font-md);
	margin-left: auto;
}

.cart-item__remove {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	background: transparent;
	border: none;
	color: var(--cav-text-light);
	cursor: pointer;
	transition: color var(--cav-transition-fast);
}

.cart-item__remove:hover {
	color: var(--cav-error);
}

/* ==========================================================================
   Cart Summary
   ========================================================================== */

.cart-summary {
	position: sticky;
	top: calc(var(--cav-header-height) + var(--cav-space-lg));
	padding: var(--cav-space-lg);
	background: var(--cav-bg-alt);
	border-radius: var(--cav-radius-xl);
	box-shadow: var(--cav-shadow-md);
}

.cart-summary__title {
	font-size: var(--cav-font-lg);
	margin-bottom: var(--cav-space-lg);
}

.cart-summary__row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: var(--cav-space-sm) 0;
}

.cart-summary__row--consignes {
	color: var(--cav-primary-dark);
}

.cart-summary__row--avoir {
	color: var(--cav-success);
}

.cart-summary__row--total {
	border-top: 2px solid var(--cav-border);
	margin-top: var(--cav-space-sm);
	padding-top: var(--cav-space-md);
	font-weight: 700;
	font-size: var(--cav-font-lg);
}

.cart-summary__label {
	color: var(--cav-text-light);
}

.cart-summary__row--total .cart-summary__label {
	color: var(--cav-text);
}

.cart-summary__value {
	font-weight: 600;
}

.cart-summary__checkout-btn {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--cav-space-sm);
	margin-top: var(--cav-space-lg);
	padding: var(--cav-space-md);
	background: var(--cav-secondary);
	border: none;
	border-radius: var(--cav-radius-lg);
	font-size: var(--cav-font-base);
	font-weight: 700;
	color: var(--cav-text);
	cursor: pointer;
	transition: background var(--cav-transition-fast);
}

.cart-summary__checkout-btn:hover {
	background: var(--cav-secondary-dark);
}

.cart-summary__notice {
	margin-top: var(--cav-space-md);
	padding: var(--cav-space-md);
	background: var(--cav-primary-light);
	border-radius: var(--cav-radius-md);
	font-size: var(--cav-font-sm);
	text-align: center;
}

.cart-summary__notice a {
	color: var(--cav-primary);
	font-weight: 500;
}

/* ==========================================================================
   Empty Cart
   ========================================================================== */

.cart-empty {
	text-align: center;
	padding: var(--cav-space-3xl) var(--cav-space-md);
}

.cart-empty__icon {
	width: 80px;
	height: 80px;
	margin: 0 auto var(--cav-space-lg);
	color: var(--cav-text-light);
}

.cart-empty__title {
	font-size: var(--cav-font-xl);
	margin-bottom: var(--cav-space-sm);
}

.cart-empty__text {
	color: var(--cav-text-light);
	margin-bottom: var(--cav-space-lg);
}

.cart-empty__btn {
	display: inline-flex;
	align-items: center;
	gap: var(--cav-space-sm);
	padding: var(--cav-space-md) var(--cav-space-xl);
	background: var(--cav-secondary);
	border-radius: var(--cav-radius-lg);
	font-weight: 700;
	color: var(--cav-text);
}

.cart-empty__btn:hover {
	background: var(--cav-secondary-dark);
	color: var(--cav-text);
}

/* ==========================================================================
   Checkout Page
   ========================================================================== */

.woocommerce-checkout .site-main {
	padding-top: var(--cav-space-xl);
}

.checkout-page__title {
	font-size: var(--cav-font-2xl);
	margin-bottom: var(--cav-space-xl);
}

.checkout-page__layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--cav-space-xl);
}

@media (min-width: 64em) {
	.checkout-page__layout {
		grid-template-columns: 1fr 400px;
	}
}

/* ==========================================================================
   Checkout Form
   ========================================================================== */

.checkout-form {
	padding: var(--cav-space-lg);
	background: var(--cav-bg-alt);
	border-radius: var(--cav-radius-xl);
}

.checkout-form__section {
	margin-bottom: var(--cav-space-xl);
}

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

.checkout-form__section-title {
	font-size: var(--cav-font-md);
	margin-bottom: var(--cav-space-md);
	padding-bottom: var(--cav-space-sm);
	border-bottom: 1px solid var(--cav-border);
}

.checkout-form__row {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--cav-space-md);
	margin-bottom: var(--cav-space-md);
}

@media (min-width: 40em) {
	.checkout-form__row--half {
		grid-template-columns: repeat(2, 1fr);
	}
}

.checkout-form__field {
	display: flex;
	flex-direction: column;
	gap: var(--cav-space-xs);
}

.checkout-form__label {
	font-size: var(--cav-font-sm);
	font-weight: 500;
}

.checkout-form__label .required {
	color: var(--cav-error);
}

.checkout-form__input {
	padding: var(--cav-space-sm) var(--cav-space-md);
	border: 1px solid var(--cav-border);
	border-radius: var(--cav-radius-md);
	font-size: var(--cav-font-base);
	transition: border-color var(--cav-transition-fast);
}

.checkout-form__input:focus {
	outline: none;
	border-color: var(--cav-primary);
}

.checkout-form__input--error {
	border-color: var(--cav-error);
}

/* ==========================================================================
   Order Review
   ========================================================================== */

.order-review {
	position: sticky;
	top: calc(var(--cav-header-height) + var(--cav-space-lg));
	padding: var(--cav-space-lg);
	background: var(--cav-bg-alt);
	border-radius: var(--cav-radius-xl);
	box-shadow: var(--cav-shadow-md);
}

.order-review__title {
	font-size: var(--cav-font-lg);
	margin-bottom: var(--cav-space-lg);
}

.order-review__items {
	margin-bottom: var(--cav-space-lg);
	max-height: 300px;
	overflow-y: auto;
}

.order-review__item {
	display: flex;
	align-items: center;
	gap: var(--cav-space-sm);
	padding: var(--cav-space-sm) 0;
	border-bottom: 1px solid var(--cav-border);
}

.order-review__item:last-child {
	border-bottom: none;
}

.order-review__item-image {
	width: 48px;
	height: 48px;
	border-radius: var(--cav-radius-sm);
	overflow: hidden;
	background: var(--cav-bg);
}

.order-review__item-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.order-review__item-name {
	flex: 1;
	font-size: var(--cav-font-sm);
}

.order-review__item-qty {
	font-size: var(--cav-font-xs);
	color: var(--cav-text-light);
}

.order-review__item-price {
	font-weight: 600;
}

.order-review__totals {
	border-top: 2px solid var(--cav-border);
	padding-top: var(--cav-space-md);
}

.order-review__row {
	display: flex;
	justify-content: space-between;
	padding: var(--cav-space-xs) 0;
}

.order-review__row--total {
	font-weight: 700;
	font-size: var(--cav-font-lg);
	padding-top: var(--cav-space-sm);
	margin-top: var(--cav-space-sm);
	border-top: 1px solid var(--cav-border);
}

.order-review__place-order {
	width: 100%;
	margin-top: var(--cav-space-lg);
	padding: var(--cav-space-md);
	background: var(--cav-secondary);
	border: none;
	border-radius: var(--cav-radius-lg);
	font-size: var(--cav-font-base);
	font-weight: 700;
	color: var(--cav-text);
	cursor: pointer;
	transition: background var(--cav-transition-fast);
}

.order-review__place-order:hover {
	background: var(--cav-secondary-dark);
}

.order-review__place-order:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/* ==========================================================================
   Payment Methods
   ========================================================================== */

.payment-methods {
	margin-top: var(--cav-space-lg);
}

.payment-method {
	display: flex;
	align-items: flex-start;
	gap: var(--cav-space-sm);
	padding: var(--cav-space-md);
	background: var(--cav-bg);
	border: 2px solid transparent;
	border-radius: var(--cav-radius-lg);
	margin-bottom: var(--cav-space-sm);
	cursor: pointer;
	transition: all var(--cav-transition-fast);
}

.payment-method:hover {
	border-color: var(--cav-primary-light);
}

.payment-method.is-selected {
	border-color: var(--cav-primary);
	background: var(--cav-primary-light);
}

.payment-method__radio {
	width: 20px;
	height: 20px;
	border: 2px solid var(--cav-border);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	margin-top: 2px;
}

.payment-method.is-selected .payment-method__radio {
	border-color: var(--cav-primary);
}

.payment-method.is-selected .payment-method__radio::after {
	content: '';
	width: 10px;
	height: 10px;
	background: var(--cav-primary);
	border-radius: 50%;
}

.payment-method__info {
	flex: 1;
}

.payment-method__name {
	font-weight: 600;
	margin-bottom: 2px;
}

.payment-method__description {
	font-size: var(--cav-font-xs);
	color: var(--cav-text-light);
}

/* ==========================================================================
   Order Confirmation
   ========================================================================== */

.order-confirmation {
	text-align: center;
	padding: var(--cav-space-3xl) var(--cav-space-md);
}

.order-confirmation__icon {
	width: 80px;
	height: 80px;
	margin: 0 auto var(--cav-space-lg);
	background: var(--cav-success);
	color: white;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.order-confirmation__title {
	font-size: var(--cav-font-2xl);
	margin-bottom: var(--cav-space-sm);
}

.order-confirmation__text {
	color: var(--cav-text-light);
	max-width: 500px;
	margin: 0 auto var(--cav-space-xl);
}

.order-confirmation__details {
	display: inline-block;
	padding: var(--cav-space-lg);
	background: var(--cav-bg-alt);
	border-radius: var(--cav-radius-xl);
	text-align: left;
}

.order-confirmation__row {
	display: flex;
	justify-content: space-between;
	gap: var(--cav-space-xl);
	padding: var(--cav-space-sm) 0;
}

.order-confirmation__label {
	color: var(--cav-text-light);
}

.order-confirmation__value {
	font-weight: 600;
}

/* ==========================================================================
   WooCommerce Blocks - Style Panier
   ========================================================================== */

/* Chaque ligne de produit : fond blanc avec border-radius */
.wc-block-cart-items__row {
	background: var(--cav-bg-alt);
}

.wc-block-cart-items__row td {
	padding: var(--cav-space-md) !important;
	background: var(--cav-bg-alt);
}

.wc-block-cart-items__row td:first-child {
	border-radius: var(--cav-radius-lg) 0 0 var(--cav-radius-lg);
}

.wc-block-cart-items__row td:last-child {
	border-radius: 0 var(--cav-radius-lg) var(--cav-radius-lg) 0;
}

/* Contour autour de l'image produit uniquement */
.wc-block-cart-item__image a {
	display: block;
	border: 1px solid var(--cav-border);
	border-radius: var(--cav-radius-md);
	overflow: hidden;
}

.wc-block-cart-item__image img {
	display: block;
}

/* Container des produits */
.wc-block-cart__main .wc-block-cart-items {
	background: transparent;
}

/* Cacher la ligne "origine" / metadata du produit */
.wc-block-cart-item__product-metadata,
.wc-block-components-product-metadata {
	display: none !important;
}

/* Bouton "Retirer" : style gris avec croix */
.wc-block-cart-item__remove-link {
	color: var(--cav-text-light) !important;
	font-size: var(--cav-font-sm);
	text-decoration: none !important;
	display: inline-flex !important;
	align-items: center;
	gap: 4px;
	white-space: nowrap;
}

.wc-block-cart-item__remove-link svg {
	flex-shrink: 0;
	vertical-align: middle;
}

.wc-block-cart-item__remove-link:hover {
	color: var(--cav-error) !important;
}

/* Header du panier avec bouton vider */
.cav-cart-header {
	display: flex;
	justify-content: flex-end;
	padding: 0 var(--cav-space-md) var(--cav-space-md);
}

.cav-cart-header__clear-btn {
	display: inline-flex;
	align-items: center;
	gap: var(--cav-space-xs);
	padding: var(--cav-space-xs) var(--cav-space-md);
	font-size: var(--cav-font-sm);
	font-weight: 500;
	color: var(--cav-text-light);
	background: transparent;
	border: 1px solid var(--cav-border);
	border-radius: var(--cav-radius-md);
	cursor: pointer;
	transition: all var(--cav-transition-fast);
}

.cav-cart-header__clear-btn:hover {
	color: var(--cav-error);
	border-color: var(--cav-error);
	background: rgba(229, 57, 53, 0.05);
}

.cav-cart-header__clear-btn svg {
	width: 16px;
	height: 16px;
}

/* Titres de catégorie pour le groupement (dans le tableau) */
.cav-cart-category-row {
	background: transparent !important;
}

.cav-cart-category {
	font-family: var(--cav-font-heading);
	font-size: var(--cav-font-md);
	font-weight: 700;
	color: var(--cav-primary);
	padding: var(--cav-space-sm) var(--cav-space-md) !important;
	background: rgba(59, 154, 156, 0.08);
	border-radius: var(--cav-radius-md);
}

.cav-cart-category-row:first-child .cav-cart-category {
	margin-top: 0;
}

/* ==========================================================================
   WooCommerce Blocks - Consignes (CACHÉES)
   ========================================================================== */

/* Les consignes sont cachées de la liste des produits.
   Elles apparaissent uniquement dans le récapitulatif total. */

/* Cache les lignes de consigne dans le panier */
.wc-block-cart-items__row.is-consigne-item {
	display: none !important;
}

/* Cache les consignes dans le résumé de commande */
.wc-block-components-order-summary-item.is-consigne-item {
	display: none !important;
}

/* Badge consigne (pour debug ou affichage futur) */
.cav-consigne-badge {
	display: inline-block;
	background: var(--cav-primary, #5eb3a1);
	color: white;
	font-size: 10px;
	padding: 2px 6px;
	border-radius: 3px;
	margin-left: 8px;
	text-transform: uppercase;
	font-weight: 600;
}

/* Quantité fixe pour les consignes (shortcode classique) */
.cart-item__quantity-fixed {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	background: var(--cav-bg-alt);
	border-radius: var(--cav-radius-md);
	font-weight: 600;
	color: var(--cav-text);
}

/* Label consigne dans le nom du produit (shortcode classique) */
.cart-item__consigne-label {
	display: inline-block;
	background: var(--cav-primary);
	color: white;
	font-size: 10px;
	padding: 2px 6px;
	border-radius: 3px;
	margin-right: 8px;
	text-transform: uppercase;
	font-weight: 600;
	vertical-align: middle;
}

/* ==========================================================================
   Woo Delivery - Amélioration visuelle créneaux
   ========================================================================== */

/* Container principal Woo Delivery */
.coderockz-woo-delivery-block-container {
	margin-top: var(--cav-space-lg);
	border-radius: var(--cav-radius-lg);
}

.coderockz-woo-delivery-block-container .wc-block-components-checkout-step__title {
	margin-bottom: var(--cav-space-md);
}

/* Date picker amélioré */
.coderockz-woo-pickup-date-container {
	margin-bottom: var(--cav-space-lg);
}

.wc-block-components-form .coderockz-woo-delivery-block-container .coderockz-woo-pickup-date-container .flatpickr-input+input {
	height: auto;
	width: 100%;
	padding-top: var(--cav-space-xl);
	font-size: var(--cav-font-base);
	font-weight: 600;
	text-align: left;
	border: 1px solid var(--cav-border);
	border-radius: var(--cav-radius-md);
	background: var(--cav-bg-alt);
	cursor: pointer;
	transition: border-color var(--cav-transition-fast);
}

.coderockz-woo-pickup-date-container .flatpickr-input+input:focus {
	outline: none;
	border-color: var(--cav-primary);
}

/* Cacher le select original quand les boutons sont actifs */
.cav-timeslots__select-hidden {
	position: absolute;
	opacity: 0;
	pointer-events: none;
	height: 0;
	overflow: hidden;
}

/* Grille de boutons créneaux */
.cav-timeslots {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--cav-space-sm);
	margin-top: var(--cav-space-md);
}

@media (max-width: 30em) {
	.cav-timeslots {
		grid-template-columns: repeat(3, 1fr);
	}

	.cav-timeslots__btn {
		aspect-ratio: 4/3;
	}
}

/* Bouton créneau */
.cav-timeslots__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--cav-space-md) var(--cav-space-sm);
	font-family: inherit;
	font-size: var(--cav-font-sm);
	font-weight: 600;
	color: var(--cav-text);
	background: var(--cav-bg-alt);
	border: 1px solid var(--cav-border);
	border-radius: var(--cav-radius-md);
	cursor: pointer;
	transition: all var(--cav-transition-fast);
	min-height: 48px;
}

.cav-timeslots__btn:hover:not(:disabled) {
	border-color: var(--cav-primary);
	color: var(--cav-primary);
}

/* Créneau sélectionné */
.cav-timeslots__btn--selected {
	background: var(--cav-primary);
	border-color: var(--cav-primary);
	color: var(--cav-text-inverse);
}

.cav-timeslots__btn--selected:hover {
	background: var(--cav-primary-dark);
	border-color: var(--cav-primary-dark);
	color: var(--cav-text-inverse);
}

/* Créneau désactivé (plein ou passé) */
.cav-timeslots__btn--disabled {
	display: none;
	opacity: 0.4;
	cursor: not-allowed;
	background: var(--cav-bg);
	text-decoration: line-through;
}

.cav-timeslots__btn--disabled:hover {
	border-color: var(--cav-border);
	color: var(--cav-text);
}

/* Message aucun créneau */
.cav-timeslots__notice {
	grid-column: 1 / -1;
	text-align: center;
	padding: var(--cav-space-lg);
	color: var(--cav-text-light);
	font-style: italic;
}

/* Label "Heure de retrait" au-dessus des boutons */
.coderockz-woo-pickup-time-container .wc-blocks-components-select__label {
	display: block;
	font-size: var(--cav-font-sm);
	font-weight: 600;
	color: var(--cav-text);
	margin-bottom: var(--cav-space-xs);
}

/* Cacher complètement le wrapper select quand boutons actifs */
.coderockz-woo-pickup-time-container .cav-timeslots__select-hidden .wc-blocks-components-select__container {
	display: none;
}

/* Garder le label visible */
.coderockz-woo-pickup-time-container .cav-timeslots__select-hidden .wc-blocks-components-select__label {
	position: static;
	opacity: 1;
}

/* ==========================================================================
   Page Panier - Styles Mobile
   ========================================================================== */

@media (max-width: 47.9375em) {

	/* ══════════════════════════════════════════════════════════════════
	BANDEAU TITRE PANIER - Full width avec marges négatives
	══════════════════════════════════════════════════════════════════ */
	.woocommerce-cart .page-header {
		position: sticky;
		top: 0;
		z-index: 50;
		margin: 0 calc(-1 * var(--cav-container-padding)) !important;
		padding: var(--cav-space-md) var(--cav-container-padding);
		background-color: var(--cav-primary);
	}

	.woocommerce-cart .page-header .page-title {
		margin: 0;
		font-size: var(--cav-font-lg);
		font-weight: 600;
		color: var(--cav-text-inverse);
		text-align: center;
		text-transform: uppercase;
		letter-spacing: 0.05em;
	}

	/* ══════════════════════════════════════════════════════════════════
	   HEADER PANIER - Bouton "Vider le panier"
	   ══════════════════════════════════════════════════════════════════ */
	.cav-cart-header {
		padding: var(--cav-space-sm) var(--cav-space-md) var(--cav-space-md);
	}

	.cav-cart-header__clear-btn {
		background-color: var(--cav-primary);
		color: var(--cav-text-inverse);
		border: none;
		border-radius: var(--cav-radius-full);
		padding: var(--cav-space-sm) var(--cav-space-lg);
	}

	.cav-cart-header__clear-btn:hover {
		background-color: var(--cav-primary-dark);
		color: var(--cav-text-inverse);
		border: none;
	}

	/* ══════════════════════════════════════════════════════════════════
	   FORCER 3 COLONNES - Override le grid WooCommerce
	   ══════════════════════════════════════════════════════════════════ */
	.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row,
	.is-mobile table.wc-block-cart-items .wc-block-cart-items__row,
	.is-small table.wc-block-cart-items .wc-block-cart-items__row,
	table.wc-block-cart-items .wc-block-cart-items__row {
		display: table-row;
		grid-template-columns: none !important;
	}

	.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row td,
	.is-mobile table.wc-block-cart-items .wc-block-cart-items__row td,
	.is-small table.wc-block-cart-items .wc-block-cart-items__row td,
	table.wc-block-cart-items .wc-block-cart-items__row td {
		display: table-cell !important;
		padding: var(--cav-space-sm) var(--cav-space-xs) !important;
		vertical-align: middle !important;
	}

	/* Image avec aspect-ratio 1:1 */
	.wc-block-cart-item__image {
		width: 70px !important;
		min-width: 70px !important;
	}

	.wc-block-cart-item__image img {
		width: 70px !important;
		height: 70px !important;
		object-fit: cover !important;
		aspect-ratio: 1 / 1 !important;
	}

	/* ══════════════════════════════════════════════════════════════════
	   COLONNE PRODUIT - Alignement gauche
	   ══════════════════════════════════════════════════════════════════ */
	.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__wrap,
	table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__wrap {
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 2px !important;
	}

	.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__wrap>*,
	table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__wrap>* {
		margin: 0 !important;
		text-align: left !important;
	}

	/* Nom du produit */
	.wc-block-components-product-name {
		font-size: var(--cav-font-sm);
		line-height: 1.3;
	}

	/* Prix déplacé */
	.wc-block-cart-item__product .wc-block-cart-item__total-price-and-sale-badge-wrapper {
		display: block !important;
		margin-top: 2px !important;
		font-weight: 700;
		font-size: var(--cav-font-base);
	}

	/* ══════════════════════════════════════════════════════════════════
	   BOUTON RETIRER - Override WooCommerce
	   ══════════════════════════════════════════════════════════════════ */
	.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity,
	.is-mobile table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity,
	.is-small table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity,
	table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity {
		align-self: flex-start !important;
		align-items: flex-start !important;
		display: flex !important;
		flex-direction: column !important;
		grid-column-start: auto !important;
		grid-row-start: auto !important;
		padding: 0 !important;
		margin-top: 4px !important;
	}

	.wc-block-cart table.wc-block-cart-items .wc-block-cart-item__remove-link,
	.is-mobile table.wc-block-cart-items .wc-block-cart-item__remove-link,
	.is-small table.wc-block-cart-items .wc-block-cart-item__remove-link,
	table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
		display: inline-flex !important;
		align-items: center !important;
		gap: 4px !important;
		font-size: 12px !important;
		color: var(--cav-text-light) !important;
		text-decoration: none !important;
	}

	/* ══════════════════════════════════════════════════════════════════
	   MASQUER ÉLÉMENTS INUTILES
	   ══════════════════════════════════════════════════════════════════ */
	.wc-block-components-product-low-stock-badge,
	.wc-block-cart-item__prices,
	.wc-block-components-product-metadata {
		display: none !important;
	}

	/* ══════════════════════════════════════════════════════════════════
	   COLONNE TOTAL - Sélecteur quantité seul
	   ══════════════════════════════════════════════════════════════════ */
	.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total,
	.is-mobile table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total,
	.is-small table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total,
	table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total {
		vertical-align: middle !important;
		text-align: center !important;
		grid-row-start: auto !important;
		width: 85px !important;
	}

	/* ══════════════════════════════════════════════════════════════════
	   SÉLECTEUR QUANTITÉ - Compact, override WooCommerce
	   ══════════════════════════════════════════════════════════════════ */
	.wc-block-cart table.wc-block-cart-items .wc-block-components-quantity-selector,
	table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-quantity-selector,
	.wc-block-components-quantity-selector {
		display: inline-flex !important;
		align-items: center !important;
		width: auto !important;
		min-width: auto !important;
		max-width: 76px !important;
		gap: 0 !important;
		background-color: var(--cav-primary) !important;
		border: none !important;
		border-radius: var(--cav-radius-full) !important;
		padding: 2px !important;
		margin: 0 !important;
	}

	/* Input - compact */
	.wc-block-cart table.wc-block-cart-items .wc-block-components-quantity-selector__input,
	table.wc-block-cart-items .wc-block-components-quantity-selector__input,
	.wc-block-components-quantity-selector__input {
		width: 24px !important;
		min-width: 24px !important;
		max-width: 24px !important;
		height: 22px !important;
		min-height: 22px !important;
		padding: 0 !important;
		margin: 0 !important;
		border: none !important;
		background: transparent !important;
		color: #ffffff !important;
		font-size: 12px !important;
		font-weight: 600 !important;
		text-align: center !important;
		-moz-appearance: textfield !important;
	}

	.wc-block-components-quantity-selector__input::-webkit-outer-spin-button,
	.wc-block-components-quantity-selector__input::-webkit-inner-spin-button {
		-webkit-appearance: none !important;
		margin: 0 !important;
	}

	/* Boutons +/- compacts */
	.wc-block-cart table.wc-block-cart-items .wc-block-components-quantity-selector__button,
	table.wc-block-cart-items .wc-block-components-quantity-selector__button,
	.wc-block-components-quantity-selector__button {
		width: 22px !important;
		min-width: 22px !important;
		max-width: 22px !important;
		height: 22px !important;
		min-height: 22px !important;
		padding: 0 !important;
		margin: 0 !important;
		border: none !important;
		background-color: rgba(255, 255, 255, 0.2) !important;
		color: #ffffff !important;
		font-size: 12px !important;
		font-weight: 600 !important;
		line-height: 1 !important;
		cursor: pointer !important;
	}

	.wc-block-components-quantity-selector__button--minus {
		border-radius: var(--cav-radius-full) 0 0 var(--cav-radius-full) !important;
	}

	.wc-block-components-quantity-selector__button--plus {
		border-radius: 0 var(--cav-radius-full) var(--cav-radius-full) 0 !important;
	}

	.wc-block-components-quantity-selector__button:hover:not(:disabled) {
		background-color: rgba(255, 255, 255, 0.3) !important;
	}

	.wc-block-components-quantity-selector__button:disabled {
		opacity: 0.5 !important;
		cursor: not-allowed !important;
	}

	/* ══════════════════════════════════════════════════════════════════
	   MODE COLLAPSED CRÉNEAUX
	   ══════════════════════════════════════════════════════════════════ */
	.cav-timeslots--collapsed {
		display: block;
	}

	.cav-timeslots--collapsed .cav-timeslots__btn {
		display: none;
	}

	.cav-timeslots--collapsed .cav-timeslots__btn--selected {
		display: flex;
		justify-content: space-between;
		gap: var(--cav-space-lg);
		background: var(--cav-bg-alt);
		border-color: var(--cav-primary);
		color: var(--cav-text);
		aspect-ratio: initial;
	}

	.cav-timeslots--collapsed .cav-timeslots__btn--selected::after {
		content: "Modifier";
		font-weight: 400;
		font-size: var(--cav-font-xs);
		opacity: 0.8;
	}

	/* ══════════════════════════════════════════════════════════════════
   BORDURES ENTRE LES LIGNES
   ══════════════════════════════════════════════════════════════════ */
	.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row,
	table.wc-block-cart-items .wc-block-cart-items__row {
		border-bottom: 1px solid var(--cav-border) !important;
	}

	.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row:last-child,
	table.wc-block-cart-items .wc-block-cart-items__row:last-child {
		border-bottom: none !important;
	}

	/* Espacement vertical des lignes */
	.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row td,
	table.wc-block-cart-items .wc-block-cart-items__row td {
		padding-top: var(--cav-space-md) !important;
		padding-bottom: var(--cav-space-md) !important;
	}
}

/* ==========================================================================
   Page Confirmation de commande (Thankyou)
   ========================================================================== */

.thankyou {
	max-width: 1000px;
	margin: 0 auto;
	padding: var(--cav-space-xl) 0;
}

/* Header avec icône de confirmation */
.thankyou__header {
	text-align: center;
	margin-bottom: var(--cav-space-xl);
}

.thankyou__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	margin-bottom: var(--cav-space-md);
	background: var(--cav-success-light, #e8f5e9);
	border-radius: var(--cav-radius-full);
	color: var(--cav-success);
}

.thankyou__title {
	margin: 0 0 var(--cav-space-xs);
	font-size: var(--cav-font-2xl);
	color: var(--cav-text);
}

.thankyou__subtitle {
	margin: 0;
	color: var(--cav-text-light);
}

/* Résumé rapide */
.thankyou__summary {
	display: flex;
	justify-content: center;
	gap: var(--cav-space-xl);
	padding: var(--cav-space-lg);
	margin-bottom: var(--cav-space-xl);
	background: var(--cav-bg-alt);
	border-radius: var(--cav-radius-lg);
}

.thankyou__summary-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.thankyou__summary-label {
	font-size: var(--cav-font-xs);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: var(--cav-text-light);
	margin-bottom: var(--cav-space-xs);
}

.thankyou__summary-value {
	font-size: var(--cav-font-lg);
	font-weight: 600;
	color: var(--cav-text);
}

/* Créneau de retrait - style discret */
.thankyou__pickup {
	display: inline-flex;
	align-items: center;
	gap: var(--cav-space-xs);
	padding: var(--cav-space-xs) var(--cav-space-md);
	margin-bottom: var(--cav-space-xl);
	font-size: var(--cav-font-sm);
	color: var(--cav-text-light);
}

.thankyou__pickup svg {
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	color: var(--cav-text-light);
}

.thankyou__pickup span {
	display: inline;
}

.thankyou__pickup strong {
	font-weight: 600;
	color: var(--cav-text);
}

/* Grille principale */
.thankyou__grid {
	display: grid;
	grid-template-columns: 1fr 300px;
	gap: var(--cav-space-xl);
	margin-bottom: var(--cav-space-xl);
}

/* Section produits */
.thankyou__products {
	background: white;
	border: 1px solid var(--cav-border);
	border-radius: var(--cav-radius-lg);
	padding: var(--cav-space-lg);
}

.thankyou__section-title {
	margin: 0 0 var(--cav-space-lg);
	font-size: var(--cav-font-lg);
	color: var(--cav-text);
}

/* Catégories */
.thankyou__category {
	margin-bottom: var(--cav-space-lg);
}

.thankyou__category:last-of-type {
	margin-bottom: 0;
}

.thankyou__category-title {
	margin: 0 0 var(--cav-space-sm);
	padding-bottom: var(--cav-space-xs);
	font-size: var(--cav-font-sm);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: var(--cav-primary);
	border-bottom: 2px solid var(--cav-primary);
}

/* Items */
.thankyou__items {
	display: flex;
	flex-direction: column;
	gap: var(--cav-space-sm);
}

.thankyou__item {
	display: flex;
	align-items: center;
	gap: var(--cav-space-md);
	padding: var(--cav-space-sm) 0;
}

.thankyou__item-image {
	flex-shrink: 0;
	width: 50px;
	height: 50px;
	border-radius: var(--cav-radius-md);
	overflow: hidden;
	background: var(--cav-bg-alt);
}

.thankyou__item-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.thankyou__item-details {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.thankyou__item-name {
	font-size: var(--cav-font-sm);
	font-weight: 500;
	color: var(--cav-text);
}

.thankyou__item-qty {
	font-size: var(--cav-font-xs);
	color: var(--cav-text-light);
}

.thankyou__item-price {
	font-size: var(--cav-font-sm);
	font-weight: 600;
	color: var(--cav-text);
}

/* Totaux */
.thankyou__totals {
	margin-top: var(--cav-space-lg);
	padding-top: var(--cav-space-lg);
	border-top: 1px solid var(--cav-border);
}

.thankyou__total-row {
	display: flex;
	justify-content: space-between;
	padding: var(--cav-space-sm) 0;
	font-size: var(--cav-font-sm);
	color: var(--cav-text);
}

.thankyou__total-row--credit span:last-child,
.thankyou__total-row--discount span:last-child {
	color: var(--cav-success);
}

.thankyou__total-row--total {
	margin-top: var(--cav-space-sm);
	padding-top: var(--cav-space-md);
	border-top: 2px solid var(--cav-primary);
	font-weight: 700;
	font-size: var(--cav-font-base);
}

.thankyou__total-row--payment {
	color: var(--cav-text-light);
	font-size: var(--cav-font-xs);
}

/* QR Code */
.thankyou__qr {
	position: sticky;
	top: var(--cav-space-xl);
}

.thankyou__qr-card {
	background: white;
	border: 1px solid var(--cav-border);
	border-radius: var(--cav-radius-lg);
	padding: var(--cav-space-xl);
	text-align: center;
}

.thankyou__qr-title {
	margin: 0 0 var(--cav-space-sm);
	font-size: var(--cav-font-lg);
	color: var(--cav-text);
}

.thankyou__qr-text {
	margin: 0 0 var(--cav-space-lg);
	font-size: var(--cav-font-sm);
	color: var(--cav-text-light);
}

.thankyou__qr-image {
	display: block;
	width: 180px;
	height: 180px;
	margin: 0 auto var(--cav-space-md);
	border-radius: var(--cav-radius-md);
}

.thankyou__qr-order {
	margin: 0;
	font-size: var(--cav-font-sm);
	font-weight: 600;
	color: var(--cav-primary);
}

/* Actions */
.thankyou__actions {
	display: flex;
	justify-content: center;
	gap: var(--cav-space-md);
}

.thankyou__actions .btn {
	display: inline-flex;
	align-items: center;
	gap: var(--cav-space-xs);
}

/* Échec de paiement */
.thankyou-failed {
	text-align: center;
	padding: var(--cav-space-2xl);
}

.thankyou-failed__actions {
	display: flex;
	justify-content: center;
	gap: var(--cav-space-md);
	margin-top: var(--cav-space-lg);
}

/* Responsive */
@media (max-width: 768px) {
	.thankyou {
		padding: var(--cav-space-lg) var(--cav-space-md);
	}

	.thankyou__icon {
		width: 60px;
		height: 60px;
	}

	.thankyou__icon svg {
		width: 32px;
		height: 32px;
	}

	.thankyou__title {
		font-size: var(--cav-font-xl);
	}

	.thankyou__summary {
		flex-direction: column;
		gap: var(--cav-space-md);
		padding: var(--cav-space-md);
	}

	.thankyou__summary-item {
		flex-direction: row;
		justify-content: space-between;
		width: 100%;
	}

	.thankyou__pickup {
		justify-content: center;
		text-align: center;
	}

	.thankyou__grid {
		grid-template-columns: 1fr;
		gap: var(--cav-space-lg);
	}

	.thankyou__qr {
		position: static;
		order: -1;
	}

	.thankyou__qr-card {
		padding: var(--cav-space-lg);
	}

	.thankyou__qr-image {
		width: 150px;
		height: 150px;
	}

	.thankyou__products {
		padding: var(--cav-space-md);
	}

	.thankyou__item-image {
		width: 40px;
		height: 40px;
	}

	.thankyou__actions {
		flex-direction: column;
	}

	.thankyou__actions .btn {
		width: 100%;
		justify-content: center;
	}
}

/* Masquer les éléments WooCommerce par défaut sur la page thankyou */
.woocommerce-order .woocommerce-order-overview,
.woocommerce-order .woocommerce-order-details,
.woocommerce-order .woocommerce-customer-details,
.woocommerce-order .order-qr,
.woocommerce-order .woocommerce-bacs-bank-details,
.woocommerce-order .woocommerce-order-downloads,
.woocommerce-order > p:not(.thankyou__subtitle),
.woocommerce-order > h2,
.woocommerce-order > ul.woocommerce-thankyou-order-details,
.woocommerce-order > section.woocommerce-order-details,
.woocommerce-order > section.woocommerce-customer-details,
.woocommerce-order > table,
.woocommerce-order > address,
/* Masquer la section order-details générée par WooCommerce */
.woocommerce-order section.woocommerce-order-details,
.woocommerce-order section.woocommerce-customer-details,
.woocommerce-order .order-pickup-info {
	display: none !important;
}

/* Masquer le h1 page-title sur la page order-received */
.woocommerce-order-received .page-header,
.woocommerce-order-received .page-title {
	display: none !important;
}

/* Styles spécifiques boutons thankyou */
.thankyou__actions .btn--primary {
	background: var(--cav-primary);
	color: var(--cav-text-inverse);
	border: none;
}

.thankyou__actions .btn--primary:hover {
	background: var(--cav-primary-dark);
	color: var(--cav-text-inverse);
}

.thankyou__actions .btn--secondary {
	background: var(--cav-secondary);
	color: var(--cav-text-inverse);
	border: none;
}

.thankyou__actions .btn--secondary:hover {
	background: var(--cav-secondary-dark);
	color: var(--cav-text-inverse);
}

.thankyou__actions .btn svg {
	stroke: currentColor;
}
