/* Native WooCommerce drawer. Basket/Checkout pages deliberately stay untouched. */
.wc-block-mini-cart__drawer {
	--drawer-width: min(92vw, 480px);
	--neg-drawer-width: calc(min(92vw, 480px) * -1);
	--sz-cart-ink: #0f1f24;
	--sz-cart-muted: #55686e;
	--sz-cart-surface: #edf3f4;
	--sz-cart-line: #d9e1e3;
	color: var(--sz-cart-ink);
}
.wc-block-components-drawer__screen-overlay:has(.wc-block-mini-cart__drawer) { background-color: rgb(15 31 36 / 48%); }
.wc-block-mini-cart__drawer.wc-block-components-drawer { background: var(--sz-cart-surface); box-shadow: -12px 0 36px rgb(15 31 36 / 14%); }
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-contents { background: var(--sz-cart-surface) !important; }
.wc-block-mini-cart__drawer .wc-block-components-notices:not(:has(*)) { display: none; }
.wc-block-mini-cart__drawer h2.wc-block-mini-cart__title {
	box-sizing: border-box; display: flex; align-items: center; gap: 12px; flex-shrink: 0;
	min-height: 80px; margin: 0; padding: 20px 76px 20px 24px;
	border-bottom: 1px solid var(--sz-cart-line); background: #fff;
	font-size: 24px; font-weight: 650; letter-spacing: -.025em; line-height: 1.25; mask-image: none;
}
.wc-block-mini-cart__drawer .sz-cart-count {
	display: inline-flex; justify-content: center; align-items: center; flex-shrink: 0;
	min-width: 30px; height: 30px; padding: 0 7px; box-sizing: border-box;
	border-radius: 999px; background: #123c47; color: #fff; font-size: 15px; font-weight: 650; font-variant-numeric: tabular-nums;
}
.wc-block-mini-cart__drawer .wc-block-components-drawer__close {
	box-sizing: border-box; top: 18px; right: 16px; width: 44px; height: 44px;
	margin: 0; padding: 10px !important; border: 0 !important; border-radius: 8px;
	background: transparent; color: var(--sz-cart-ink); opacity: 1;
}
.wc-block-mini-cart__drawer .wc-block-components-drawer__close svg { width: 24px; height: 24px; }
.wc-block-mini-cart__drawer :is(a, button, input):focus-visible { outline: 2px solid #123c47; outline-offset: 3px; box-shadow: none; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__items { padding: 18px 18px 0; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__products-table { min-width: 0; }
.wc-block-mini-cart__drawer table.wc-block-mini-cart-items { border: 0; margin: 0; }
.wc-block-mini-cart__drawer table.wc-block-mini-cart-items .wc-block-cart-items__row {
	box-sizing: border-box; position: relative; display: grid;
	grid-template-columns: 96px minmax(0, 1fr); column-gap: 16px;
	padding: 16px; margin-bottom: 12px; border: 0; border-radius: 14px; background: #fff;
}
.wc-block-mini-cart__drawer table.wc-block-mini-cart-items .wc-block-cart-item__image { box-sizing: border-box; width: 96px; padding: 0 !important; align-self: start; }
.wc-block-mini-cart__drawer table.wc-block-mini-cart-items .wc-block-cart-item__image a {
	display: block; width: 100%; height: 96px; aspect-ratio: 1; overflow: hidden;
	border: 0; border-radius: 9px; background: #fff;
}
.wc-block-mini-cart__drawer table.wc-block-mini-cart-items .wc-block-cart-item__image img {
	box-sizing: border-box; display: block; width: 100%; height: 100%; padding: 0;
	object-fit: contain !important; object-position: center; transform: none !important; background: #fff;
}
.wc-block-mini-cart__drawer table.wc-block-mini-cart-items .wc-block-cart-item__image img[hidden] { display: none !important; }
.wc-block-mini-cart__drawer table.wc-block-mini-cart-items .wc-block-cart-item__product { min-width: 0; padding: 0; }
.wc-block-mini-cart__drawer table.wc-block-mini-cart-items .wc-block-cart-item__wrap { display: flex; flex-direction: column; gap: 9px; padding: 0; }
.wc-block-mini-cart__drawer table.wc-block-mini-cart-items .wc-block-components-product-name {
	padding-right: 26px; color: var(--sz-cart-ink); font-size: 17px; font-weight: 650;
	line-height: 1.3; letter-spacing: -.015em; text-decoration: none; overflow-wrap: anywhere;
}
.wc-block-mini-cart__drawer table.wc-block-mini-cart-items .wc-block-components-product-metadata {
	display: block; order: 1; margin: 0; color: var(--sz-cart-muted); font-size: 13px; line-height: 1.5;
}
.wc-block-mini-cart__drawer .wc-block-components-product-metadata__description { display: none; }
.wc-block-mini-cart__drawer .wc-block-components-product-metadata .wc-block-components-product-details:not([hidden]) { display: block; }
.wc-block-mini-cart__drawer table.wc-block-mini-cart-items .wc-block-cart-item__prices { order: 2; font-size: 17px; font-variant-numeric: tabular-nums; }
.wc-block-mini-cart__drawer table.wc-block-mini-cart-items .wc-block-cart-item__prices .wc-block-components-product-price:not([hidden]) { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
.wc-block-mini-cart__drawer table.wc-block-mini-cart-items .wc-block-cart-item__prices del { color: #63767c; font-size: 14px; opacity: 1; font-weight: 400; text-decoration-thickness: 1px; }
.wc-block-mini-cart__drawer table.wc-block-mini-cart-items .wc-block-cart-item__prices ins.is-discounted { order: 0; color: var(--sz-cart-ink); font-weight: 750; text-decoration: none; }
.wc-block-mini-cart__drawer table.wc-block-mini-cart-items .wc-block-cart-item__quantity { order: 3; display: flex; margin: 2px 0 0; }
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector {
	box-sizing: border-box; width: 132px; height: 44px; margin: 0;
	border: 1px solid #bac7cb; border-radius: 999px; background: #fff;
}
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector::after { display: none; }
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector__button { width: 44px; min-width: 44px; color: #123c47; font-size: 20px; }
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector__button:disabled { opacity: .4; }
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector__input { min-width: 44px; color: var(--sz-cart-ink); font-size: 15px; font-weight: 600; font-variant-numeric: tabular-nums; }
.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link {
	position: absolute; top: 6px; right: 6px; display: inline-flex !important;
	width: 44px !important; height: 44px !important; align-items: center; justify-content: center;
	border-radius: 8px !important; color: var(--sz-cart-muted);
}
/* Unit prices and quantity are already together; omit the duplicate total/badge. */
.wc-block-mini-cart__drawer table.wc-block-mini-cart-items .wc-block-cart-item__total { display: none; }
.wc-block-mini-cart__drawer .gf-drawtrust { box-sizing: border-box; display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 0; padding: 4px 24px; border: 0; border-top: 1px solid #c8d5d9; background: #f6f8f8; color: var(--sz-cart-ink); }
.wc-block-mini-cart__drawer .gf-drawtrust p { display: flex; align-items: center; justify-content: center; gap: 8px; min-width: 0; min-height: 32px; margin: 0; padding: 0 6px; font-size: 13px; line-height: 1.3; }
.wc-block-mini-cart__drawer .gf-drawtrust p + p { border-left: 1px solid #c8d5d9; }
.wc-block-mini-cart__drawer .gf-drawtrust svg { box-sizing: border-box; width: 20px; height: 20px; padding: 0; margin: 0; border-radius: 0; background: transparent; flex: 0 0 20px; color: #123c47; }
.wc-block-mini-cart__drawer .gf-drawtrust strong { font-weight: 600; color: var(--sz-cart-ink); white-space: nowrap; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer {
	padding: 20px 24px max(18px, env(safe-area-inset-bottom)); border-top: 1px solid var(--sz-cart-line); background: #fff; box-shadow: none;
}
.wc-block-mini-cart__drawer .sz-cart-discount { display: flex; justify-content: space-between; gap: 16px; margin: 0 0 10px; color: #28644b; font-size: 15px; font-weight: 600; font-variant-numeric: tabular-nums; }
.wc-block-mini-cart__drawer .sz-cart-discount[hidden] { display: none; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-subtotal { margin-bottom: 18px; font-size: 20px; font-weight: 500; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-subtotal .wc-block-components-totals-item__value { font-size: 20px; font-weight: 700; font-variant-numeric: tabular-nums; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions { margin: 0; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions a.wc-block-mini-cart__footer-checkout.wp-element-button,
.wc-block-mini-cart__drawer .wc-block-mini-cart__empty-cart-wrapper .wp-block-button a.wc-block-mini-cart__shopping-button.wp-element-button {
	box-sizing: border-box; min-height: 54px; border: 0; border-radius: 10px;
	background: #f0a900 !important; color: var(--sz-cart-ink) !important;
	font-size: 17px; font-weight: 750; text-decoration: none;
	transition: background-color 120ms ease-out;
}
.wc-block-mini-cart__drawer .sz-cart-payments { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 0; margin: 14px 0 0; }
.wc-block-mini-cart__drawer .sz-cart-payments img { display: block; width: 39px; height: 25px; object-fit: contain; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__empty-cart-wrapper { padding: 72px 24px 24px; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__empty-cart-wrapper > p:first-child { margin-bottom: 22px; font-size: 24px; letter-spacing: -.025em; }
@media (min-width: 600px) {
	.wc-block-mini-cart__drawer table.wc-block-mini-cart-items .wc-block-cart-item__wrap { display: flex; flex-flow: row wrap; align-items: center; gap: 10px; }
	.wc-block-mini-cart__drawer table.wc-block-mini-cart-items .wc-block-components-product-name,
	.wc-block-mini-cart__drawer table.wc-block-mini-cart-items .wc-block-components-product-metadata,
	.wc-block-mini-cart__drawer table.wc-block-mini-cart-items .wc-block-components-product-backorder-badge { box-sizing: border-box; flex-basis: 100%; }
	.wc-block-mini-cart__drawer table.wc-block-mini-cart-items .wc-block-cart-item__prices { flex: 1; min-width: max-content; }
	.wc-block-mini-cart__drawer table.wc-block-mini-cart-items .wc-block-cart-item__quantity { margin: 0 0 0 auto; }
}
@media (hover: hover) and (pointer: fine) {
	.wc-block-mini-cart__drawer :is(.wc-block-components-drawer__close, .wc-block-cart-item__remove-link):hover { background: var(--sz-cart-surface) !important; color: var(--sz-cart-ink); }
	.wc-block-mini-cart__drawer .wc-block-components-product-name:hover { text-decoration: underline; text-underline-offset: 3px; }
	.wc-block-mini-cart__drawer .wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions a.wc-block-mini-cart__footer-checkout.wp-element-button:hover { background: #ffc62e !important; }
}
@media (max-width: 560px) {
	.wc-block-mini-cart__drawer { --drawer-width: 100vw; --neg-drawer-width: -100vw; }
	.wc-block-mini-cart__drawer h2.wc-block-mini-cart__title { min-height: 72px; padding: 16px 68px 16px 20px; font-size: 22px; }
	.wc-block-mini-cart__drawer .wc-block-components-drawer__close { top: 14px; right: 12px; }
	.wc-block-mini-cart__drawer .wc-block-mini-cart__items { padding: 14px 12px 0; }
	.wc-block-mini-cart__drawer table.wc-block-mini-cart-items .wc-block-cart-items__row { grid-template-columns: 84px minmax(0, 1fr); gap: 12px; padding: 14px 12px; }
	.wc-block-mini-cart__drawer table.wc-block-mini-cart-items .wc-block-cart-item__image { width: 84px; }
	.wc-block-mini-cart__drawer table.wc-block-mini-cart-items .wc-block-cart-item__image a { height: 84px; }
	.wc-block-mini-cart__drawer table.wc-block-mini-cart-items .wc-block-components-product-name { font-size: 16px; }
	.wc-block-mini-cart__drawer .gf-drawtrust { padding-inline: 20px; }
	.wc-block-mini-cart__drawer .wc-block-mini-cart__footer { padding: 18px 20px max(16px, env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
	.wc-block-components-drawer__screen-overlay:has(.wc-block-mini-cart__drawer),
	.wc-block-mini-cart__drawer, .wc-block-mini-cart__drawer .wc-block-mini-cart__footer-checkout { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
@media (max-width: 360px) {
	.wc-block-mini-cart__drawer .gf-drawtrust p { gap: 6px; padding: 0 3px; font-size: 12px; }
}
/* Keep the checkout action reachable on short screens, as in the native layout. */
@media (max-height: 600px) { .wc-block-mini-cart__drawer .gf-drawtrust { display: none; } }
