/* =========================================================================
   Tiroir panier header
   ========================================================================= */

.cart-drawer[hidden] {
	display: none !important;
}

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

.cart-drawer__panel {
	transform: translateX( 100% );
	transition: transform 0.3s ease;
}

.cart-drawer.is-open .cart-drawer__panel {
	transform: translateX( 0 );
}

.cart-drawer__backdrop {
	opacity: 0;
	transition: opacity 0.3s ease;
}

.cart-drawer.is-open .cart-drawer__backdrop {
	opacity: 1;
	cursor: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath d='M12 12l16 16M28 12L12 28' stroke='%23FFFFFF' stroke-width='2.5' stroke-linecap='round' fill='none'/%3E%3C/svg%3E" ) 20 20, pointer;
}

.cart-drawer__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 2.75rem;
	padding-inline: 2rem;
	font-size: 0.875rem;
	font-weight: 500;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.cart-drawer__btn--primary {
	background: var( --color-nav );
	color: #fff;
}

.cart-drawer__btn--primary:hover {
	opacity: 0.9;
}

.cart-drawer__btn--secondary {
	border: 1px solid rgba( 0, 0, 0, 0.15 );
	background: #fff;
	color: var( --color-nav );
}

.cart-drawer__btn--secondary:hover {
	background: rgba( 0, 0, 0, 0.04 );
}

.site-header__cart-toggle {
	border: 0;
	background: transparent;
	cursor: pointer;
	color: inherit;
}

.cart-drawer__content.is-loading {
	opacity: 0.5;
	pointer-events: none;
}

/* Desktop : liste scrollable, pied de page dans le flux */
.cart-drawer__items {
	margin-bottom: 1.5rem;
}

/* Mobile : panneau pleine largeur, pied de page fixé en bas */
@media (max-width: 1023px) {
	.cart-drawer__panel {
		width: 100%;
		max-width: none;
		border-left: 0;
	}

	.cart-drawer.is-open .cart-drawer__backdrop {
		display: none;
	}

	.cart-drawer__content {
		padding: 0;
	}

	.cart-drawer__items {
		flex: 1;
		overflow-y: auto;
		margin-bottom: 0;
		padding: 1.5rem;
		-webkit-overflow-scrolling: touch;
	}

	.cart-drawer__footer {
		flex-shrink: 0;
		position: sticky;
		bottom: 0;
		z-index: 2;
		margin-top: auto;
		padding: 1.5rem;
		padding-bottom: calc( 1.5rem + env( safe-area-inset-bottom, 0px ) );
		background: #fff;
		border-top: 1px solid rgba( 0, 0, 0, 0.1 );
		box-shadow: 0 -8px 24px rgba( 0, 0, 0, 0.06 );
	}

	.cart-drawer__empty {
		padding: 1.5rem;
		padding-bottom: calc( 1.5rem + env( safe-area-inset-bottom, 0px ) );
	}
}
