/* Drawer global inspiré de la maquette panier validée. */
.pdo-cart-drawer {
	position: fixed;
	inset: 0;
	z-index: 9990;
	visibility: hidden;
	pointer-events: none;
}
.pdo-cart-drawer.is-open { visibility: visible; pointer-events: auto; }
.pdo-cart-drawer__backdrop {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	background: rgba(6,21,36,.48);
	opacity: 0;
	transition: opacity .2s ease;
	cursor: default;
}
.pdo-cart-drawer.is-open .pdo-cart-drawer__backdrop { opacity: 1; }
.pdo-cart-drawer__panel {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: min(100%, 500px);
	display: flex;
	flex-direction: column;
	background: #fff;
	box-shadow: -18px 0 60px rgba(7,26,45,.18);
	transform: translateX(100%);
	transition: transform .23s ease;
}
.pdo-cart-drawer.is-open .pdo-cart-drawer__panel { transform: translateX(0); }
.pdo-cart-drawer.is-loading .pdo-cart-drawer__panel { cursor: progress; }
.pdo-cart-drawer.is-loading .pdo-cart-drawer__body { opacity: .58; pointer-events: none; }
.pdo-cart-drawer__head {
	min-height: 88px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 16px 20px;
	border-bottom: 1px solid var(--pdo-border);
}
.pdo-cart-drawer__head .pdo-eyebrow { margin-bottom: 2px; }
.pdo-cart-drawer__head h2 { margin: 0; color: var(--pdo-color-navy); font-size: 1.4rem; }
.pdo-cart-drawer__close {
	width: 42px;
	height: 42px;
	display: grid;
	place-items: center;
	border: 0;
	border-radius: 50%;
	background: #f5f6f7;
	color: var(--pdo-color-navy);
	cursor: pointer;
}
.pdo-cart-drawer__success {
	margin: 14px 20px 0;
	padding: 11px 12px;
	display: flex;
	align-items: center;
	gap: 9px;
	border: 1px solid #b8d9c3;
	border-radius: 7px;
	background: #f1faf4;
	color: #236a3d;
	font-size: .82rem;
	font-weight: 720;
}
.pdo-cart-drawer__success .pdo-icon { width: 18px; height: 18px; }
.pdo-cart-drawer__body {
	min-height: 0;
	flex: 1;
	overflow-y: auto;
	padding: 0 20px 20px;
	transition: opacity .15s ease;
}
.pdo-cart-drawer__items { display: grid; }
.pdo-cart-line {
	display: grid;
	grid-template-columns: 92px minmax(0,1fr);
	gap: 14px;
	padding: 20px 0;
	border-bottom: 1px solid var(--pdo-border-soft);
}
.pdo-cart-line__image img {
	width: 92px;
	height: 92px;
	object-fit: cover;
	border-radius: 7px;
}
.pdo-cart-line__main { min-width: 0; }
.pdo-cart-line__title-row { display: flex; justify-content: space-between; gap: 10px; }
.pdo-cart-line__name {
	display: block;
	color: var(--pdo-color-navy);
	font-size: .86rem;
	font-weight: 760;
	line-height: 1.28;
	text-decoration: none;
}
.pdo-cart-line__ref { display: block; margin-top: 4px; color: var(--pdo-color-muted); font-size: .71rem; }
.pdo-cart-line__remove {
	width: 34px;
	height: 34px;
	flex: 0 0 34px;
	display: grid;
	place-items: center;
	border: 0;
	background: transparent;
	color: #7f878e;
	cursor: pointer;
}
.pdo-cart-line__remove .pdo-icon { width: 17px; height: 17px; }
.pdo-cart-line__meta { margin-top: 5px; color: var(--pdo-color-muted); font-size: .72rem; }
.pdo-cart-line__meta dl.variation { margin: 0; }
.pdo-cart-line__meta dt,
.pdo-cart-line__meta dd { display: inline; float: none; margin: 0 4px 0 0; }
.pdo-cart-line__unit-price { margin-top: 10px; color: var(--pdo-color-navy); font-size: .78rem; }
.pdo-cart-line__bottom {
	display: grid;
	grid-template-columns: minmax(0,1fr) auto auto;
	align-items: end;
	gap: 10px;
	margin-top: 8px;
}
.pdo-cart-line__qty {
	display: grid;
	grid-template-columns: 34px 38px 34px;
	min-height: 36px;
	border: 1px solid var(--pdo-border);
	border-radius: 6px;
	overflow: hidden;
}
.pdo-cart-line__qty button {
	border: 0;
	background: #fff;
	color: var(--pdo-color-navy);
	font-size: 1rem;
	cursor: pointer;
}
.pdo-cart-line__qty output { display: grid; place-items: center; color: var(--pdo-color-navy); font-size: .8rem; font-weight: 750; }
.pdo-cart-line__configure { color: #9a6d27; font-size: .73rem; text-decoration: underline; text-underline-offset: 2px; }
.pdo-cart-line__subtotal { min-width: 82px; color: var(--pdo-color-navy); font-size: .92rem; text-align: right; }
.pdo-cart-drawer__summary {
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid var(--pdo-border);
}
.pdo-cart-drawer__summary > div:first-child { display: flex; justify-content: space-between; gap: 18px; color: var(--pdo-color-navy); }
.pdo-cart-drawer__summary-note { margin-top: 6px; color: var(--pdo-color-muted); font-size: .72rem; }
.pdo-cart-drawer__shipping-note {
	display: grid;
	grid-template-columns: 22px 1fr;
	gap: 8px;
	margin-top: 13px;
	padding: 11px 12px;
	border-radius: 7px;
	background: #faf9f7;
	color: var(--pdo-color-muted);
	font-size: .73rem;
	line-height: 1.35;
}
.pdo-cart-drawer__shipping-note .pdo-icon { color: #a87a30; }
.pdo-cart-drawer__actions { display: grid; gap: 9px; margin-top: 16px; }
.pdo-cart-drawer__actions .pdo-button {
	min-height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 6px;
	font-weight: 780;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: .02em;
}
.pdo-button--outline-gold { border: 1px solid #c6974d; background: #fff; color: #a67322; }
.pdo-cart-drawer__continue {
	min-height: 44px;
	border: 0;
	background: #fff;
	color: var(--pdo-color-navy);
	font-weight: 690;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}
.pdo-cart-drawer__empty {
	display: grid;
	justify-items: center;
	gap: 8px;
	padding: 70px 20px;
	color: var(--pdo-color-muted);
	text-align: center;
}
.pdo-cart-drawer__empty .pdo-icon { width: 38px; height: 38px; color: var(--pdo-color-navy); }
.pdo-cart-drawer__empty strong { color: var(--pdo-color-navy); font-size: 1rem; }
.pdo-cart-drawer__empty p { margin: 0; font-size: .8rem; }
.pdo-cart-drawer__status { min-height: 0; padding: 0 20px 12px; color: var(--pdo-color-muted); font-size: .75rem; }
.pdo-cart-drawer__status.is-error { color: #a13333; }
body.pdo-cart-drawer-open { overflow: hidden; }

@media (max-width: 720px) {
	.pdo-cart-drawer__panel { width: 100%; }
	.pdo-cart-line { grid-template-columns: 78px minmax(0,1fr); }
	.pdo-cart-line__image img { width: 78px; height: 78px; }
	.pdo-cart-line__bottom { grid-template-columns: 1fr auto; }
	.pdo-cart-line__unit-price { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
	.pdo-cart-drawer__backdrop,
	.pdo-cart-drawer__panel,
	.pdo-cart-drawer__body { transition: none; }
}
