/**
 * Obletnica 2026 – darila v košarici.
 * Barve sledijo obstoječi premici za poštnino (#163450).
 */

.vk-gift-panel {
	--vk-gift-accent: #163450;
	--vk-gift-track: #e6e6e6;
	--vk-gift-line: #e9e9e9;
	--vk-gift-muted: #6b7580;

	margin: 25px 0;
	padding: 0 20px;
	position: relative;
}

.vk-gift-panel:empty {
	display: none;
}

.vk-gift-panel.is-busy {
	opacity: 0.55;
	pointer-events: none;
}

/* ---------- Premica ---------- */

.vk-gift-bar__track {
	background: var(--vk-gift-track);
	border-radius: 5px;
	height: 8px;
	position: relative;
	width: 100%;
}

.vk-gift-bar__fill {
	background: var(--vk-gift-accent);
	border-radius: 5px;
	height: 8px;
	transition: width 0.35s ease;
	width: 0;
}

.vk-gift-bar__point {
	height: 24px;
	pointer-events: none;
	position: absolute;
	top: 50%;
	transform: translate(-100%, -50%);
	width: 24px;
}

.vk-gift-bar__point span {
	align-items: center;
	background: #fff;
	border: 2px solid #ccc;
	border-radius: 50%;
	box-sizing: border-box;
	display: flex;
	font-size: 12px;
	height: 100%;
	justify-content: center;
	line-height: 1;
	transition: 0.25s;
	width: 100%;
}

.vk-gift-bar__point.is-unlocked span {
	background: var(--vk-gift-accent);
	border-color: var(--vk-gift-accent);
	color: #fff;
}

.vk-gift-bar__info {
	font-size: 13px;
	margin: 10px 0 0;
	text-align: center;
}

.vk-gift-bar__shipping {
	color: var(--vk-gift-muted);
	font-size: 12px;
	margin: 2px 0 0;
	text-align: center;
}

/* ---------- Odklenjena darila ---------- */

/* Gumb, ki odpre/zapre seznam daril. Scope + !important zaradi Elementorja. */
.vk-gift-panel .vk-gift-toggle {
	align-items: center;
	background: none !important;
	border: 1px solid var(--sale-flash, #dd7230) !important;
	border-radius: 3px;
	color: var(--sale-flash, #dd7230) !important;
	cursor: pointer;
	display: flex;
	font-size: 11px;
	gap: 8px;
	justify-content: center;
	letter-spacing: 0.05em;
	margin: 14px auto 0 !important;
	padding: 7px 16px !important;
	text-transform: uppercase;
	width: auto !important;
}

/* Ob prehodu z miško naj gumb ohrani svojo barvo. */
.vk-gift-panel .vk-gift-toggle:hover,
.vk-gift-panel .vk-gift-toggle:focus {
	background: none !important;
	color: var(--sale-flash, #dd7230) !important;
}

/*
 * Ikona: trojni ševron, narisan kot SVG maska.
 * - maska + background-color: currentColor => ikona podeduje barvo besedila,
 * - psevdo-element => menjava besedila v JS je ne odstrani,
 * - fiksna velikost v flex vrstici => navpično je vedno lepo poravnana.
 */
.vk-gift-panel .vk-gift-toggle::after,
.vk-gift-panel .vk-gift-swap::after {
	background-color: currentColor;
	content: "";
	display: block;
	flex-shrink: 0;
	height: 12px;
	width: 12px;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4 12 10 19 4'/%3E%3Cpath d='M5 10.5 12 16.5 19 10.5'/%3E%3Cpath d='M5 17 12 23 19 17'/%3E%3C/svg%3E") no-repeat center;
	-webkit-mask-size: contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4 12 10 19 4'/%3E%3Cpath d='M5 10.5 12 16.5 19 10.5'/%3E%3Cpath d='M5 17 12 23 19 17'/%3E%3C/svg%3E") no-repeat center;
	mask-size: contain;
	transition: transform 0.2s ease;
}

.vk-gift-panel .vk-gift-toggle[aria-expanded="true"]::after,
.vk-gift-panel .vk-gift-swap[aria-expanded="true"]::after {
	transform: rotate(180deg);
}

.vk-gift-items {
	border-top: 1px solid var(--vk-gift-line);
	margin-top: 16px;
}

.vk-gift-items[hidden] {
	display: none !important;
}

.vk-gift-item {
	border-bottom: 1px solid var(--vk-gift-line);
	padding: 12px 0;
}

.vk-gift-item__main {
	align-items: center;
	display: flex;
	gap: 12px;
}

.vk-gift-item__thumb img {
	border-radius: 4px;
	display: block;
	height: 44px;
	object-fit: contain;
	width: 44px;
}

.vk-gift-item__text {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.vk-gift-item__name {
	font-size: 13px;
	line-height: 1.3;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.vk-gift-item__tag {
	color: var(--vk-gift-accent);
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* Scope + !important, ker Elementor prepiše gumb z višjo specifičnostjo. */
.vk-gift-panel .vk-gift-swap {
	align-items: center;
	background-color: var(--default-green) !important;
	border: 1px solid var(--default-grey) !important;
	border-radius: 3px;
	color: var(--vk-gift-accent) !important;
	cursor: pointer;
	display: inline-flex;
	flex-shrink: 0;
	font-size: 11px;
	gap: 8px;
	justify-content: center;
	letter-spacing: 0.04em;
	padding: 16px 61px 16px 61px !important;
	text-transform: uppercase;
	transition: 0.2s;
}

/* Tema ob hoverju pobeli besedilo – tu ga zadržimo, da ostane berljivo. */
.vk-gift-panel .vk-gift-swap:hover,
.vk-gift-panel .vk-gift-swap:focus {
	background-color: transparent !important;
	color: var(--vk-gift-accent) !important;
}

/* ---------- Izbirnik ---------- */

.vk-gift-options {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-top: 10px;
}

.vk-gift-options[hidden] {
	display: none;
}

/* Scope + !important, ker Elementor prepiše gumbe. */
.vk-gift-panel .vk-gift-option {
	align-items: center;
	background: #fafafa !important;
	border: 1px solid transparent !important;
	border-radius: 4px;
	cursor: pointer;
	display: flex;
	gap: 12px;
	padding: 6px !important;
	text-align: left;
	transition: 0.2s;
	width: 100%;
}

.vk-gift-panel .vk-gift-option:hover:not(.is-unavailable) {
	border-color: var(--vk-gift-accent) !important;
}

.vk-gift-panel .vk-gift-option.is-selected {
	background: var(--default-green) !important;
	border-color: var(--default-grey) !important;
}

/*
 * Tema ob prehodu z miško pobeli besedilo gumba, zato izdelek "izgine".
 * Barvo zato izrecno zaklenemo v vseh stanjih.
 */
.vk-gift-panel .vk-gift-option,
.vk-gift-panel .vk-gift-option:hover,
.vk-gift-panel .vk-gift-option:focus,
.vk-gift-panel .vk-gift-option:active,
.vk-gift-panel .vk-gift-option:hover .vk-gift-option__name,
.vk-gift-panel .vk-gift-option:focus .vk-gift-option__name,
.vk-gift-panel .vk-gift-option:hover .vk-gift-option__badge,
.vk-gift-panel .vk-gift-option:focus .vk-gift-option__badge {
	color: var(--vk-gift-accent) !important;
}

.vk-gift-panel .vk-gift-option:hover .vk-gift-option__note,
.vk-gift-panel .vk-gift-option:focus .vk-gift-option__note {
	color: #a33 !important;
}

.vk-gift-option__thumb img {
	border-radius: 3px;
	display: block;
	height: 34px;
	object-fit: contain;
	width: 34px;
}

.vk-gift-option__name {
	flex: 1;
	font-size: 12px;
	line-height: 1.3;
}

.vk-gift-option__badge {
	color: var(--vk-gift-accent);
	flex-shrink: 0;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

/* Razprodano darilo ostane vidno, a jasno nedosegljivo. */
.vk-gift-option.is-unavailable {
	cursor: not-allowed;
}

.vk-gift-option.is-unavailable .vk-gift-option__thumb,
.vk-gift-option.is-unavailable .vk-gift-option__name {
	filter: grayscale(1);
	opacity: 0.4;
}

.vk-gift-option__note {
	color: #a33;
	flex-shrink: 0;
	font-size: 10px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

/* ---------- Košarica in blagajna ---------- */

.vk-gift-disclaimer {
	background: #fbfbfb;
	border: 1px solid var(--vk-gift-line, #e9e9e9);
	border-left: 3px solid var(--vk-gift-accent, #163450);
	border-radius: 4px;
	color: var(--vk-gift-muted, #6b7580);
	font-size: 12px;
	line-height: 1.5;
	margin: 0 0 20px;
	padding: 12px 16px;
}

.vk-gift-price {
	color: var(--vk-gift-accent, #163450);
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.woocommerce-cart .vk-gift-panel,
.woocommerce-checkout .vk-gift-panel {
	background: #fbfbfb;
	border: 1px solid var(--vk-gift-line);
	border-radius: 6px;
	margin: 0 0 25px;
	padding: 20px;
}

/*
 * Ko je v košarici veliko izdelkov, se seznam izdelkov drsi znotraj sebe,
 * darila in gumb za nakup pa ostanejo vidni. Če jih je malo, se nič ne spremeni.
 */
#mini-cart-desktop .elementor-menu-cart__products,
#mini-cart-mobile .elementor-menu-cart__products {
	max-height: 48vh;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	/* Ko pridemo do konca seznama, se pomik ne prenese na stran v ozadju. */
	overscroll-behavior: contain;
}

#mini-cart-desktop .elementor-menu-cart__main,
#mini-cart-mobile .elementor-menu-cart__main {
	overscroll-behavior: contain;
}

/*
 * Med odprto stransko košarico zaklenemo pomikanje strani v ozadju.
 * Razred doda/odstrani anniversary-gifts.js glede na stanje košarice.
 */
body.vk-cart-open {
	overflow: hidden !important;
}

/* Kompaktnejše vrstice izdelkov v stranski košarici – manjša slika, manj odmika. */
#mini-cart-desktop .elementor-menu-cart__product,
#mini-cart-mobile .elementor-menu-cart__product {
	padding-top: 12px !important;
	padding-bottom: 12px !important;
	grid-column-gap: 12px !important;
	column-gap: 12px !important;
}

#mini-cart-desktop .elementor-menu-cart__product-image,
#mini-cart-mobile .elementor-menu-cart__product-image {
	width: 48px !important;
	max-width: 48px !important;
	flex: 0 0 48px !important;
}

#mini-cart-desktop .elementor-menu-cart__product-image img,
#mini-cart-mobile .elementor-menu-cart__product-image img {
	width: 48px !important;
	height: 48px !important;
	object-fit: contain !important;
}

@media (max-width: 768px) {
	.vk-gift-panel {
		padding: 0;
		margin:0;
	}

	/* Na telefonu je prostora manj – seznam naj bo nekoliko nižji. */
	#mini-cart-desktop .elementor-menu-cart__products,
	#mini-cart-mobile .elementor-menu-cart__products {
		max-height: 40vh;
	}

	.vk-gift-panel .vk-gift-swap {
		padding: 0.5rem 2rem 0.5rem 2rem !important;
	}

	.woocommerce-cart .vk-gift-panel,
	.woocommerce-checkout .vk-gift-panel {
		padding: 16px;
	}
}
