/*
 * Side cart (includes/mini-cart.php, templates/mini-cart.php): a full-height panel – header, scrolling items, footer
 * with subtotal and buttons pinned at the bottom. RTL throughout with logical properties: the image sits at the
 * start (right), the remove icon at the end of the name row, the quantity stepper reads − value + from the right like
 * the product page's.
 */

/* The overlay and panel fit the visible area: 100vw includes a classic scrollbar (in RTL on the left), which pushed
   the panel's far edge off screen. The overlay is fixed to the viewport, so 100% excludes the scrollbar. */
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__container { width: 100%; }

/* Panel: wider, the parts pad themselves. */
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__main {
	width: min(420px, 100%);
	padding: 0;
	font-family: inherit;
	font-size: 14px;
	color: #171717;
}

/* Close button (the kit's round 40px one, as on the site's popups) at the panel's start corner (RTL: top right),
   level with the title. */
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__close-button,
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__close-button-custom {
	position: absolute;
	top: 12px;
	inset-inline-start: 14px;
	z-index: 2;
	margin: 0;
}

.nr-mc {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 0;
}

.nr-mc__head {
	flex: none;
	padding-block: 20px 18px;
	padding-inline: 66px 24px; /* Start: room for the close button. */
	border-bottom: 1px solid #ececec;
}
.nr-mc__title {
	margin: 0;
	font-size: 18px;
	font-weight: 600;
	line-height: 24px;
}
.nr-mc__count {
	margin-inline-start: 6px;
	font-size: 14px;
	font-weight: 400;
	color: #6d6a65;
}

.nr-mc__items {
	flex: 1 1 auto;
	min-height: 0;
	margin: 0;
	padding: 0 24px;
	overflow-y: auto;
	overscroll-behavior: contain;
	list-style: none;
}

.elementor-menu-cart__main .nr-mc__item {
	display: grid;
	grid-template-columns: 84px minmax(0, 1fr);
	gap: 16px;
	padding: 20px 0;
	border-bottom: 1px solid #ececec;
	transition: opacity .2s;
}
.elementor-menu-cart__main .nr-mc__item:last-child { border-bottom: 0; }
/* Not grid cells: clearfixes other mini-cart styles may add. */
.elementor-menu-cart__main .nr-mc__item::before,
.elementor-menu-cart__main .nr-mc__item::after { content: none; display: none; }
.nr-mc__item.is-saving { opacity: .55; pointer-events: none; }

.nr-mc__thumb a { display: block; }
.elementor-menu-cart__main .nr-mc__thumb img {
	display: block;
	float: none;
	margin: 0;
	box-shadow: none;
	width: 84px;
	height: 105px;
	object-fit: cover;
	background: #f1f1f1;
}

.nr-mc__info { min-width: 0; }
.nr-mc__top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}
.nr-mc__name {
	margin: 0;
	font-size: 15px;
	font-weight: 500;
	line-height: 22px;
}
.nr-mc__name a { color: inherit; text-decoration: none; }
.nr-mc__name a:hover, .nr-mc__name a:focus-visible { color: #EE2C1F; }

.elementor-menu-cart__main .nr-mc__remove {
	flex: none;
	display: inline-flex;
	padding: 2px;
	color: #6d6a65;
	transition: color .2s;
}
.elementor-menu-cart__main .nr-mc__remove:hover,
.elementor-menu-cart__main .nr-mc__remove:focus-visible { color: #EE2C1F; }

.nr-mc__options,
.nr-mc__unit {
	margin: 4px 0 0;
	font-size: 13px;
	line-height: 20px;
	color: #6d6a65;
}

.nr-mc__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 12px;
}

/* Quantity stepper – as on the product page: − at the start (right), + at the end (left). */
.nr-mc__qty {
	display: inline-flex;
	align-items: center;
	height: 36px;
	border: 1px solid #d9d9d9;
}
.elementor-menu-cart__main .nr-mc__step {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	color: #171717;
	cursor: pointer;
	transition: color .2s;
}
.elementor-menu-cart__main .nr-mc__step:hover:not(:disabled),
.elementor-menu-cart__main .nr-mc__step:focus-visible { color: #EE2C1F; background: none; }
.elementor-menu-cart__main .nr-mc__step:disabled { color: #c4c4c4; cursor: default; }
.nr-mc__qty-value {
	min-width: 26px;
	font-size: 14px;
	text-align: center;
	font-variant-numeric: tabular-nums;
}
.nr-mc__qty-fixed { font-size: 13px; color: #6d6a65; }

.nr-mc__line-total {
	font-size: 15px;
	font-weight: 600;
	white-space: nowrap;
}

.nr-mc__limit,
.nr-mc__error {
	margin: 8px 0 0;
	font-size: 12px;
	line-height: 18px;
	color: #c92318;
}

.nr-mc__foot {
	flex: none;
	padding: 18px 24px 24px;
	border-top: 1px solid #ececec;
	background: #fff;
	box-shadow: 0 -10px 18px -14px rgb(0 0 0 / 18%);
}
.nr-mc__subtotal {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin: 0;
	font-size: 16px;
}
.nr-mc__subtotal strong { font-size: 18px; font-weight: 600; }
.nr-mc__note {
	margin: 4px 0 16px;
	font-size: 13px;
	color: #6d6a65;
}
.elementor-menu-cart__main .nr-mc__button {
	display: block;
	padding: 13px 16px;
	border: 1px solid #EE2C1F;
	font-size: 15px;
	font-weight: 600;
	line-height: 22px;
	text-align: center;
	text-decoration: none;
	transition: background .2s, color .2s, border-color .2s;
}
.elementor-menu-cart__main .nr-mc__button--checkout { background: #EE2C1F; color: #fff; }
.elementor-menu-cart__main .nr-mc__button--checkout:hover,
.elementor-menu-cart__main .nr-mc__button--checkout:focus-visible { background: #c92318; border-color: #c92318; color: #fff; }
.elementor-menu-cart__main .nr-mc__button--cart { margin-top: 10px; border-color: #171717; background: transparent; color: #171717; }
.elementor-menu-cart__main .nr-mc__button--cart:hover,
.elementor-menu-cart__main .nr-mc__button--cart:focus-visible { background: #171717; color: #fff; }

/* Webpushr's bell (fixed, bottom left, top layer) would sit on the panel's buttons while it is open. */
body:has(.elementor-menu-cart--shown) .webpushr-toggle-bell-popup { display: none !important; }

/* Empty cart (templates/mini-cart-empty.php): room for the close button above it. */
.elementor-menu-cart__main .nr-mini-cart-empty { padding: 72px 24px 32px; }

@media (max-width: 767px) {
	.nr-mc__head { padding-block: 18px 16px; padding-inline: 60px 16px; }
	.nr-mc__items { padding: 0 16px; }
	.elementor-menu-cart__main .nr-mc__item { grid-template-columns: 72px minmax(0, 1fr); gap: 14px; padding: 16px 0; }
	.elementor-menu-cart__main .nr-mc__thumb img { width: 72px; height: 90px; }
	.nr-mc__foot { padding: 16px 16px 20px; }
	.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__close-button,
	.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__close-button-custom { top: 10px; inset-inline-start: 10px; }
	.elementor-menu-cart__main .nr-mini-cart-empty { padding: 64px 16px 24px; }
}
