/* ==========================================================================
   Drawer cart — Figma frames 116-1619 / 139-274 / 157-254
   Tokens: brown #411D13, grey #525252, border #F1F3F7
   ========================================================================== */

/* --- Side-cart container (Elementor Pro menu cart) --- */
/* Keep the drawer above the sticky site header (white bar was overlapping it) */
.elementor-menu-cart--cart-type-side-cart .elementor-menu-cart__container {
	z-index: 100000 !important;
}
/* Ancestors form stacking contexts (sticky header sections) — lift the whole
   chain while the drawer is open so the header can't paint over it. */
.elementor-widget-woocommerce-menu-cart:has(.elementor-menu-cart__container[aria-hidden="false"]),
section.elementor-section:has(.elementor-menu-cart__container[aria-hidden="false"]),
header:has(.elementor-menu-cart__container[aria-hidden="false"]),
#site-header:has(.elementor-menu-cart__container[aria-hidden="false"]) {
	z-index: 100001 !important;
}
.elementor-menu-cart--cart-type-side-cart .elementor-menu-cart__main {
	background: #fff !important;
	box-shadow: 0 0 10px rgba(0, 0, 0, .2);
	padding: 0 !important;
	display: flex;
	flex-direction: column;
}
.elementor-menu-cart__main .widget_shopping_cart_content {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	overflow-y: auto;
	padding: 0 16px 16px;
}

/* Close button → thin grey X, top-right over the header row */
.elementor-menu-cart__close-button {
	position: absolute !important;
	top: 10px;
	right: 16px;
	z-index: 5;
	width: 20px;
	height: 20px;
	opacity: 1 !important;
}
.elementor-menu-cart__close-button:before,
.elementor-menu-cart__close-button:after {
	background-color: #525252 !important;
	width: 22px !important;
	border-radius: 1px;
}

.groziu-drawer {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	font-family: Arial, Helvetica, sans-serif;
	color: #411d13;
}

/* --- Header --- */
.groziu-drawer__head {
	padding: 8px 36px;
	text-align: center;
}
.groziu-drawer__title {
	font-size: 12px;
	line-height: 21.6px;
	letter-spacing: .4px;
	text-transform: uppercase;
	color: #525252;
}

/* --- Free-shipping progress bar (UpsellStack threshold override) --- */
.upsellstack-threshold-fragment { width: 100%; }
.groziu-shipbar { padding: 4px 0 8px; }
.groziu-shipbar__msg {
	display: flex;
	gap: 4px;
	align-items: center;
	font-family: Poppins, Arial, sans-serif;
	font-size: 11px;
	font-weight: 600;
	color: #411d13;
	margin-bottom: 8px;
}
.groziu-shipbar__track {
	height: 8px;
	border-radius: 4px;
	background: rgba(82, 82, 82, .5);
	overflow: hidden;
}
.groziu-shipbar--done .groziu-shipbar__track { background: rgba(65, 29, 19, .5); }
.groziu-shipbar__fill {
	height: 100%;
	border-radius: 4px;
	background: #411d13;
	transition: width .6s ease;
}
.groziu-shipbar__labels {
	display: flex;
	justify-content: space-between;
	font-family: Poppins, Arial, sans-serif;
	font-size: 10px;
	color: #525252;
	margin-top: 2px;
}
.groziu-shipbar__labels .woocommerce-Price-amount { font-size: 10px; color: inherit; }

/* --- Items --- */
.groziu-drawer__items {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.groziu-drawer__item {
	display: flex !important;
	gap: 16px;
	align-items: center; /* image vertically centered vs name+price+qty block */
	padding: 16px 0 !important;
	margin: 0 !important;
	border-bottom: 1px solid #f1f3f7;
	position: relative;
}
.groziu-drawer__item-img,
.groziu-drawer__item-img img {
	width: 60px !important;
	height: 60px;
	border-radius: 6px;
	object-fit: cover;
	float: none !important;
	margin: 0 !important;
	display: block;
}
.groziu-drawer__item-body {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 3px;
	justify-content: center;
}
.groziu-drawer__item-name {
	font-size: 14px !important;
	line-height: 17px;
	font-weight: 500;
	color: #411d13 !important;
	text-decoration: none;
	display: block;
}
.groziu-drawer__item-variant {
	font-size: 12px;
	line-height: 15px;
	color: #525252;
	text-transform: capitalize;
}
.groziu-drawer__item-price {
	display: flex;
	gap: 8px;
	align-items: baseline;
	margin-top: 4px;
}
.groziu-drawer__item-price-now,
.groziu-drawer__item-price-now .woocommerce-Price-amount {
	font-size: 14px !important;
	line-height: 15px;
	color: #411d13;
}
.groziu-drawer__item-price-was,
.groziu-drawer__item-price-was .woocommerce-Price-amount {
	font-size: 12px !important;
	color: #525252;
	opacity: .7;
}
.groziu-drawer__item-save {
	font-size: 12px;
	line-height: 15px;
	color: #411d13;
	font-stretch: condensed;
}
.groziu-drawer__item-oos {
	font-size: 13px;
	color: #411d13;
	margin-top: 6px;
}
.groziu-drawer__item-swap {
	font-size: 13px;
	color: #411d13 !important;
	text-decoration: underline;
}

.groziu-drawer__item-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 8px;
	width: 100%;
}
.groziu-drawer__qty {
	display: inline-flex;
	align-items: stretch;
	border: 1px solid #f1f3f7;
	border-radius: 6px;
	overflow: hidden;
}
.groziu-drawer__qty-btn {
	width: 22px;
	padding: 4px 0;
	background: none;
	border: none;
	font-size: 13px;
	color: #411d13;
	cursor: pointer;
	line-height: 1;
}
.groziu-drawer__qty-val {
	width: 22px;
	text-align: center;
	font-size: 12px;
	line-height: 26px;
	color: #411d13;
}
.groziu-drawer__qty.is-busy { opacity: .4; pointer-events: none; }

.groziu-drawer__trash {
	color: #525252 !important;
	display: inline-flex;
	position: static !important;
	width: auto !important;
	height: auto !important;
	font-size: 0 !important;
	border: none !important;
	background: none !important;
}
.groziu-drawer__trash:hover { color: #411d13 !important; background: none !important; }

/* --- Upsells (UpsellStack cart_upsell override) --- */
.groziu-drawer-upsell { border-bottom: 1px solid #f1f3f7; }
.groziu-ups { padding: 24px 0 25px; }
.groziu-ups__heading {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
	color: #411d13;
	margin-bottom: 16px;
}
.groziu-ups__list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.groziu-ups__card {
	display: flex;
	align-items: center;
	gap: 12px;
	border: 1px solid #f1f3f7;
	border-radius: 12px;
	padding: 9px;
	background: #fff;
}
.groziu-ups__img,
.groziu-ups__img img {
	width: 40px;
	height: 40px;
	border-radius: 8px;
	object-fit: cover;
	display: block;
	flex-shrink: 0;
}
.groziu-ups__info {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 1px;
}
.groziu-ups__name {
	font-size: 13px;
	line-height: 1.5;
	color: #411d13;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.groziu-ups__price,
.groziu-ups__price .woocommerce-Price-amount {
	font-size: 13px;
	font-weight: 700;
	color: #411d13;
}
.groziu-ups__price del,
.groziu-ups__price del .woocommerce-Price-amount {
	font-weight: 400;
	color: #525252;
	opacity: .7;
	margin-right: 4px;
	font-size: 12px;
}
button.groziu-ups__add {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: #fff !important;
	border: 2px solid #411d13 !important;
	border-radius: 6px !important;
	color: #411d13 !important;
	font-size: 13px !important;
	font-weight: 700;
	padding: 8px 10px 8px 6px !important;
	line-height: 1.5;
	cursor: pointer;
	flex-shrink: 0;
}
button.groziu-ups__add:hover { background: #f8f5f4 !important; }

/* --- Coupon accordion --- */
.groziu-drawer__coupon {
	border-bottom: 2px solid #f1f3f7;
	padding: 12px 0;
}
.groziu-drawer__coupon-toggle {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	color: #411d13;
	text-align: left;
}
.groziu-drawer__coupon-title {
	display: block;
	font-size: 12px;
	line-height: 17px;
	text-transform: uppercase;
	letter-spacing: .3px;
}
.groziu-drawer__coupon-sub {
	display: block;
	font-size: 9px;
	line-height: 12px;
	text-transform: uppercase;
	letter-spacing: .2px;
}
.groziu-drawer__coupon-chev { transition: transform .25s ease; color: #411d13; }
.groziu-drawer__coupon[data-open="1"] .groziu-drawer__coupon-chev { transform: rotate(180deg); }
.groziu-drawer__coupon-body {
	display: flex;
	gap: 8px;
	padding: 12px 0 4px;
}
.groziu-drawer__coupon-input {
	flex: 1 1 auto;
	min-width: 0;
	height: 36px;
	border: 1px solid rgba(82, 82, 82, .4) !important;
	border-radius: 6px !important;
	padding: 0 15px !important;
	font-size: 14px !important;
	color: #411d13 !important;
	background: #fff !important;
}
.groziu-drawer__coupon-input::placeholder { color: rgba(82, 82, 82, .6); }
.groziu-drawer__coupon-apply {
	height: 36px;
	background: #411d13 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 6px !important;
	padding: 0 20px !important;
	font-size: 14px !important;
	font-weight: 500;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	cursor: pointer;
}
.groziu-drawer__coupon-apply[disabled] { opacity: .5; }
.groziu-drawer__coupon-msg { font-size: 12px; padding-top: 4px; }
.groziu-drawer__coupon-msg.is-err { color: #b3261e; }
.groziu-drawer__coupon-msg.is-ok { color: #1d7a36; }
.groziu-drawer__coupon-applied {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 12px;
	color: #1d7a36;
	padding-top: 6px;
}
.groziu-drawer__coupon-remove {
	background: none;
	border: none;
	color: #525252;
	font-size: 16px;
	cursor: pointer;
	line-height: 1;
}

/* --- Total + CTA --- */
.groziu-drawer__total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 0;
}
.groziu-drawer__total-label {
	font-size: 14.5px;
	font-weight: 700;
	letter-spacing: .8px;
	text-transform: capitalize;
}
.groziu-drawer__total-value,
.groziu-drawer__total-value .woocommerce-Price-amount {
	font-size: 20px !important;
	font-weight: 700;
	letter-spacing: .5px;
	color: #411d13;
}
.groziu-drawer__checkout {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: #411d13 !important;
	color: #fff !important;
	border-radius: 6px;
	padding: 12px 20px;
	max-height: 48px;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	text-decoration: none !important;
	line-height: 24px;
}
.groziu-drawer__checkout:hover { background: #5a2a1c !important; color: #fff !important; }

/* --- Trust strip + payment logos --- */
.groziu-drawer__trust {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 8px 0;
	margin-top: auto;
}
.groziu-drawer__trust-line { flex: 1 1 auto; height: 1px; background: #f1f3f7; }
.groziu-drawer__trust-text {
	font-family: Poppins, Arial, sans-serif;
	font-size: 10px;
	font-weight: 500;
	color: #525252;
	white-space: nowrap;
}
.groziu-drawer__logos {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	justify-content: center;
	padding-bottom: 8px;
}
.groziu-drawer__logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 50px;
	height: 23px;
	padding: 4px;
	border: .5px solid #f1f3f7;
	border-radius: 2px;
}
.groziu-drawer__logo img {
	max-height: 15px;
	max-width: 50px;
	width: auto;
	display: block;
}

/* --- Empty state --- */
.groziu-drawer__empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	text-align: center;
	padding: 48px 0 100px;
}
.groziu-drawer__empty img { width: 170px; height: auto; }
.groziu-drawer__empty-title {
	font-size: 20px;
	line-height: 21.6px;
	text-transform: uppercase;
	color: #411d13;
	margin: 0;
}
.groziu-drawer__empty-sub {
	font-size: 14px;
	line-height: 20px;
	letter-spacing: .25px;
	color: #525252;
	margin: -16px 0 0;
}
.groziu-drawer__back {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 288px;
	max-width: 100%;
	background: #411d13 !important;
	color: #fff !important;
	border-radius: 6px;
	padding: 12px 20px;
	max-height: 48px;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	text-decoration: none !important;
	line-height: 24px;
}
.groziu-drawer__back-chev { font-size: 18px; line-height: 1; }

/* Hide legacy blue checkout-bump styling if the old campaign ever renders in drawer */
.groziu-drawer-upsell .upsellstack-checkout-bump { border-color: #f1f3f7 !important; font-family: Arial, sans-serif !important; }

.groziu-drawer__stockmsg {
	background: #fdf3f2;
	color: #b3261e;
	font-size: 12px;
	border-radius: 6px;
	padding: 8px 12px;
	margin: 8px 0 0;
}
