/*
 * Izlazeća korpa i dijelovi koje dijeli sa stranicom korpe.
 *
 * Ovaj fajl je odvojen od woocommerce.css namjerno. Panel korpe se
 * ispisuje na SVAKOJ stranici, a woocommerce.css (165 KB) se učitava samo
 * na stranicama prodavnice. Bez ovog razdvajanja panel bi na stranicama
 * poput /o-nama i /kontakt bio potpuno neoblikovan.
 */

/* Dugmad količine. Koristi ih i panel i stranica proizvoda. */
.mr-qty-btn {
	width: 40px;
	background: none;
	border: none;
	color: var(--mr-ink-muted);
	font-size: 18px;
	line-height: 1;
}
.mr-qty-btn:hover { background: var(--mr-muted-bg); color: var(--mr-primary); }

/* Traka napretka do besplatne dostave. Prikazuje se samo kada je besplatna
   dostava stvarno podešena u WooCommerce postavkama. */
.mr-freeship {
	margin: 0 0 20px;
	padding: 14px 16px;
	background: var(--mr-primary-pale);
	border: 1px solid var(--mr-primary-soft);
	border-radius: var(--mr-r-md);
}
.mr-freeship__text {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 10px;
	color: var(--mr-primary);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
}
.mr-freeship__text .mr-icon { flex-shrink: 0; }
.mr-freeship__text .woocommerce-Price-amount { font-weight: 700; white-space: nowrap; }
.mr-freeship__track {
	position: relative;
	height: 8px;
	background: rgba(255, 255, 255, 0.75);
	border-radius: var(--mr-r-pill);
	overflow: hidden;
}
.mr-freeship__fill {
	display: block;
	width: 100%;
	height: 100%;
	background: var(--mr-primary);
	border-radius: var(--mr-r-pill);
	transform: scaleX(var(--mr-freeship-progress, 0));
	transform-origin: left center;
	transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: transform;
}
.mr-freeship--achieved {
	background: #eaf7ee;
	border-color: #9bd3ac;
}
.mr-freeship--achieved .mr-freeship__text { color: #1c6b33; }
.mr-freeship--achieved .mr-freeship__fill { background: #2e9e51; }

@media (prefers-reduced-motion: reduce) {
	.mr-freeship__fill { transition: none; }
}

/* ---------------------------------------------------------------------------
 * Izlazeća korpa
 * ------------------------------------------------------------------------ */
.mr-cart-drawer-overlay {
	position: fixed;
	inset: 0;
	z-index: 1300;
	background: rgba(15, 23, 42, 0.5);
	opacity: 0;
	transition: opacity 0.22s ease;
}
.mr-cart-drawer-overlay.is-open { opacity: 1; }

.mr-cart-drawer {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 1301;
	display: flex;
	flex-direction: column;
	width: min(92vw, 400px);
	height: 100%;
	background: var(--mr-white);
	box-shadow: 0 0 30px rgba(0, 0, 0, 0.25);
	transform: translateX(100%);
	transition: transform 0.22s ease;
}
.mr-cart-drawer.is-open { transform: translateX(0); }
/* Zakljucava se samo sadrzaj, ne i zaglavlje, da dugme za zatvaranje radi i
   dok se kolicina osvjezava. */
.mr-cart-drawer.is-busy .mr-cart-drawer__inner { opacity: 0.6; pointer-events: none; }

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

.mr-cart-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 14px 16px;
	border-bottom: 1px solid var(--mr-border);
	background: var(--mr-primary);
	color: var(--mr-white);
	font-size: 17px;
}
.mr-cart-drawer__close {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 0;
	border-radius: var(--mr-r-sm);
	background: rgba(255, 255, 255, 0.15);
	color: var(--mr-white);
	cursor: pointer;
}
.mr-cart-drawer__close:focus-visible { outline: 2px solid var(--mr-white); outline-offset: 2px; }

.mr-cart-drawer__inner {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-height: 0;
}
.mr-cart-drawer__inner .mr-freeship { margin: 12px 16px 0; }

.mr-cart-drawer__empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
	flex: 1 1 auto;
	padding: 24px 16px;
	text-align: center;
	color: var(--mr-ink-muted);
}

.mr-cart-drawer__items {
	flex: 1 1 auto;
	overflow-y: auto;
	margin: 0;
	padding: 12px 16px;
	list-style: none;
}
.mr-cart-drawer__item {
	display: grid;
	grid-template-columns: 64px 1fr 32px;
	gap: 10px;
	align-items: start;
	padding: 12px 0;
	border-bottom: 1px solid var(--mr-border);
}
.mr-cart-drawer__thumb img {
	width: 64px;
	height: 64px;
	object-fit: contain;
	border-radius: var(--mr-r-sm);
	background: #fff;
}
.mr-cart-drawer__body { min-width: 0; }
.mr-cart-drawer__name {
	display: block;
	margin-bottom: 8px;
	color: var(--mr-ink);
	font-size: 14px;
	line-height: 1.35;
	text-decoration: none;
}
.mr-cart-drawer__name:hover { color: var(--mr-primary); }
.mr-cart-drawer__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}
.mr-cart-drawer__qty { display: flex; align-items: center; gap: 4px; }
.mr-cart-drawer__qty-input {
	width: 44px;
	height: 30px;
	padding: 0 4px;
	border: 1px solid var(--mr-border);
	border-radius: var(--mr-r-sm);
	text-align: center;
	font-size: 14px;
	-moz-appearance: textfield;
}
.mr-cart-drawer__qty-input::-webkit-outer-spin-button,
.mr-cart-drawer__qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.mr-cart-drawer__price { font-weight: 700; font-size: 14px; white-space: nowrap; }
.mr-cart-drawer__remove {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border: 0;
	background: none;
	color: var(--mr-ink-muted);
	cursor: pointer;
}
.mr-cart-drawer__remove:hover { color: var(--mr-danger, #c0392b); }

.mr-cart-drawer__foot {
	flex: 0 0 auto;
	display: grid;
	gap: 8px;
	padding: 14px 16px calc(14px + env(safe-area-inset-bottom));
	border-top: 1px solid var(--mr-border);
	background: var(--mr-surface, #f8fafc);
}
.mr-cart-drawer__checkout,
.mr-cart-drawer__view { width: 100%; justify-content: center; text-align: center; }

@media (prefers-reduced-motion: reduce) {
	.mr-cart-drawer,
	.mr-cart-drawer-overlay { transition: none; }
}

/* Dorade panela korpe: brojac u naslovu, varijante, poruka o gresci */
.mr-cart-drawer__head strong {
	display: flex;
	align-items: center;
	gap: 8px;
}
.mr-cart-drawer__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	border-radius: 11px;
	background: rgba(255, 255, 255, 0.2);
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
}
.mr-cart-drawer__count[hidden] { display: none; }

.mr-cart-drawer__variant {
	margin: -4px 0 8px;
	color: var(--mr-ink-muted);
	font-size: 12px;
	line-height: 1.3;
}
.mr-cart-drawer__variant dl,
.mr-cart-drawer__variant dt,
.mr-cart-drawer__variant dd,
.mr-cart-drawer__variant p { margin: 0; display: inline; }
.mr-cart-drawer__variant dt::after { content: ' '; }
.mr-cart-drawer__variant dd::after { content: ', '; }
.mr-cart-drawer__variant dd:last-child::after { content: ''; }

.mr-cart-drawer__error {
	flex: 0 0 auto;
	margin: 0;
	padding: 10px 16px;
	background: var(--mr-danger-pale, #fdecea);
	color: var(--mr-danger, #c0392b);
	font-size: 13px;
	line-height: 1.35;
}
.mr-cart-drawer__error[hidden] { display: none; }

/* Prikaz čekanja. Isti vrteći znak koji prodavnica koristi dok osvježava
   ponudu; ovdje jer panel radi i na stranicama bez woocommerce.css. */
.mr-shop__spinner {
	display: block;
	width: 22px;
	height: 22px;
	border: 3px solid var(--mr-primary-pale);
	border-top-color: var(--mr-primary);
	border-radius: 50%;
	animation: mr-spin 0.7s linear infinite;
}
@keyframes mr-spin { to { transform: rotate(360deg); } }

/* Prikaz čekanja unutar panela. Prekriva sadržaj, ne i zaglavlje, pa se panel
   može zatvoriti i dok se korpa osvježava. */
.mr-cart-drawer__loader {
	display: none;
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 2;
	align-items: center;
	gap: 10px;
	min-height: 52px;
	padding: 12px 18px;
	border: 1px solid var(--mr-border);
	border-radius: var(--mr-r-md);
	background: var(--mr-white);
	box-shadow: 0 16px 42px rgba(13, 31, 69, 0.18);
	color: var(--mr-ink);
	font-size: 14px;
	font-weight: 700;
	transform: translate(-50%, -50%);
	white-space: nowrap;
}
.mr-cart-drawer.is-busy .mr-cart-drawer__loader { display: flex; }

/* Račun u dnu panela: međuzbir, dostava, PDV, ukupno. */
.mr-cart-drawer__totals {
	margin: 0 0 4px;
	display: grid;
	gap: 4px;
	font-size: 14px;
}
.mr-cart-drawer__total-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
}
.mr-cart-drawer__total-row dt,
.mr-cart-drawer__total-row dd { margin: 0; }
.mr-cart-drawer__total-row dd { text-align: right; }
.mr-cart-drawer__total-row--tax {
	color: var(--mr-ink-muted);
	font-size: 12px;
}
.mr-cart-drawer__total-row--sum {
	margin-top: 4px;
	padding-top: 8px;
	border-top: 1px solid var(--mr-border);
	font-size: 16px;
}
.mr-cart-drawer__total-row--sum dt,
.mr-cart-drawer__total-row--sum dd { font-weight: 700; }
/* WooCommerce u ukupan iznos umeće „(uključuje X PDV)" kao manji tekst. */
.mr-cart-drawer__total-row--sum .includes_tax,
.mr-cart-drawer__total-row--sum small {
	display: block;
	color: var(--mr-ink-muted);
	font-size: 11px;
	font-weight: 400;
	line-height: 1.3;
}
