/**
 * Desktop header cart sidebar.
 */

.nizva-cart-drawer {
	display: none;
}

@media (min-width: 960px) {
	.nizva-cart-drawer {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 10050;
		pointer-events: none;
	}

	.nizva-cart-drawer[hidden] {
		display: none;
	}

	.nizva-cart-drawer.is-open {
		pointer-events: auto;
	}

	.nizva-cart-drawer__backdrop {
		position: absolute;
		inset: 0;
		background: rgba(15, 23, 42, 0.38);
		opacity: 0;
		transition: opacity 0.28s ease;
	}

	.nizva-cart-drawer.is-open .nizva-cart-drawer__backdrop {
		opacity: 1;
	}

	.nizva-cart-drawer__panel {
		position: absolute;
		top: 0;
		bottom: 0;
		inset-inline-end: 0;
		display: flex;
		flex-direction: column;
		width: min(26.5rem, 100%);
		background: #fff;
		box-shadow: -12px 0 40px rgba(15, 23, 42, 0.14);
		transform: translateX(104%);
		transition: transform 0.32s ease;
	}

	body.rtl .nizva-cart-drawer__panel,
	[dir="rtl"] .nizva-cart-drawer__panel {
		transform: translateX(-104%);
	}

	.nizva-cart-drawer.is-open .nizva-cart-drawer__panel {
		transform: translateX(0);
	}

	.nizva-cart-drawer__head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 18px 20px 14px;
		border-bottom: 1px solid rgba(30, 79, 214, 0.1);
	}

	.nizva-cart-drawer__title {
		margin: 0;
		color: #0f172a;
		font-size: 1.05rem;
		font-weight: 800;
	}

	.nizva-cart-drawer__close {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 36px;
		height: 36px;
		padding: 0;
		border: 1px solid rgba(30, 79, 214, 0.14);
		border-radius: 10px;
		background: #fff;
		color: #1e4fd6;
		cursor: pointer;
	}

	.nizva-cart-drawer__close:hover {
		background: rgba(30, 79, 214, 0.08);
	}

	.nizva-cart-drawer__body {
		display: flex;
		flex: 1 1 auto;
		flex-direction: column;
		min-height: 0;
		overflow: hidden;
	}

	.nizva-cart-drawer__list {
		flex: 1 1 auto;
		overflow-y: auto;
		padding: 12px 16px 8px;
	}

	.nizva-cart-drawer__empty {
		margin: 2.5rem 12px;
		color: #64748b;
		font-size: 0.92rem;
		font-weight: 600;
		text-align: center;
		line-height: 1.7;
	}

	.nizva-cart-drawer__item {
		display: grid;
		grid-template-columns: 72px minmax(0, 1fr);
		gap: 12px;
		padding: 12px;
		margin-bottom: 10px;
		border: 1px solid rgba(30, 79, 214, 0.1);
		border-radius: 14px;
		background: #fff;
	}

	.nizva-cart-drawer__item.is-blocked {
		border-color: #fecdd3;
		background: #fff1f2;
	}

	.nizva-cart-drawer__thumb {
		display: block;
		width: 72px;
		height: 96px;
		overflow: hidden;
		border-radius: 10px;
		background: #f1f5f9;
	}

	.nizva-cart-drawer__thumb img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.nizva-cart-drawer__name {
		display: block;
		margin: 0 0 6px;
		color: #0f172a;
		font-size: 0.86rem;
		font-weight: 800;
		line-height: 1.45;
		text-decoration: none;
	}

	.nizva-cart-drawer__item.is-blocked .nizva-cart-drawer__name {
		color: #be123c;
	}

	.nizva-cart-drawer__price {
		margin-bottom: 8px;
		color: #1e4fd6;
		font-size: 0.82rem;
		font-weight: 800;
	}

	.nizva-cart-drawer__item.is-blocked .nizva-cart-drawer__price {
		color: #be123c;
	}

	.nizva-cart-drawer__alert {
		margin: 0 0 8px;
		color: #be123c;
		font-size: 0.72rem;
		font-weight: 700;
		line-height: 1.55;
	}

	.nizva-cart-drawer__row {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 8px;
	}

	.nizva-cart-drawer__stepper {
		display: inline-flex;
		align-items: center;
		gap: 2px;
		min-height: 2rem;
		padding: 2px;
		border: 1px solid rgba(30, 79, 214, 0.16);
		border-radius: 999px;
		background: #f8fafc;
	}

	.nizva-cart-drawer__stepper button {
		display: grid;
		place-items: center;
		width: 1.7rem;
		height: 1.7rem;
		padding: 0;
		border: 0;
		border-radius: 999px;
		background: transparent;
		color: #1e4fd6;
		font-size: 1rem;
		font-weight: 700;
		cursor: pointer;
	}

	.nizva-cart-drawer__stepper button:disabled {
		opacity: 0.35;
		cursor: default;
	}

	.nizva-cart-drawer__qty {
		min-width: 2.6rem;
		color: #1e4fd6;
		font-size: 0.75rem;
		font-weight: 800;
		text-align: center;
		white-space: nowrap;
	}

	.nizva-cart-drawer__remove {
		flex: 0 0 auto;
		padding: 0;
		border: 0;
		background: none;
		color: #be123c;
		font-family: inherit;
		font-size: 0.74rem;
		font-weight: 800;
		cursor: pointer;
	}

	.nizva-cart-drawer__item.is-busy {
		opacity: 0.55;
		pointer-events: none;
	}

	.nizva-cart-drawer__foot {
		padding: 14px 20px 20px;
		border-top: 1px solid rgba(30, 79, 214, 0.1);
		background: #f8fbff;
	}

	.nizva-cart-drawer__sum {
		display: flex;
		flex-direction: column;
		gap: 8px;
		margin-bottom: 14px;
	}

	.nizva-cart-drawer__sum-row {
		display: flex;
		justify-content: space-between;
		gap: 12px;
		color: #475569;
		font-size: 0.8rem;
		font-weight: 700;
	}

	.nizva-cart-drawer__sum-row.is-total {
		color: #0f172a;
		font-size: 0.95rem;
		font-weight: 800;
	}

	.nizva-cart-drawer__hint {
		margin: 0 0 10px;
		color: #be123c;
		font-size: 0.75rem;
		font-weight: 700;
		line-height: 1.5;
	}

	.nizva-cart-drawer__checkout {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-height: 2.7rem;
		border: 0;
		border-radius: 12px;
		background: #1e4fd6;
		color: #fff;
		font-family: inherit;
		font-size: 0.92rem;
		font-weight: 800;
		text-decoration: none;
		cursor: pointer;
	}

	.nizva-cart-drawer__checkout.is-disabled,
	.nizva-cart-drawer__checkout[aria-disabled="true"] {
		background: #cbd5e1;
		color: #fff;
		pointer-events: none;
		cursor: default;
	}

	.nizva-cart-skel {
		display: flex;
		flex: 1 1 auto;
		flex-direction: column;
		padding: 16px;
	}

	.nizva-cart-skel__item {
		display: grid;
		grid-template-columns: 72px minmax(0, 1fr);
		gap: 12px;
		margin-bottom: 14px;
	}

	.nizva-cart-skel__thumb,
	.nizva-cart-skel__lines span,
	.nizva-cart-skel__foot span {
		display: block;
		border-radius: 10px;
		background: linear-gradient(90deg, #eef2ff 0%, #f8fafc 50%, #eef2ff 100%);
		background-size: 200% 100%;
		animation: nizva-cart-skel 1.1s ease infinite;
	}

	.nizva-cart-skel__thumb {
		height: 96px;
	}

	.nizva-cart-skel__lines {
		display: flex;
		flex-direction: column;
		gap: 8px;
		padding-top: 6px;
	}

	.nizva-cart-skel__lines span:nth-child(1) {
		height: 14px;
		width: 78%;
	}

	.nizva-cart-skel__lines span:nth-child(2) {
		height: 12px;
		width: 46%;
	}

	.nizva-cart-skel__lines span:nth-child(3) {
		height: 28px;
		width: 62%;
		margin-top: 8px;
		border-radius: 999px;
	}

	.nizva-cart-skel__foot {
		margin-top: auto;
		padding-top: 18px;
	}

	.nizva-cart-skel__foot span {
		height: 12px;
		margin-bottom: 10px;
	}

	.nizva-cart-skel__foot span:nth-child(2) {
		width: 70%;
	}

	.nizva-cart-skel__btn {
		height: 42px !important;
		width: 100%;
		margin-top: 8px;
		border-radius: 12px !important;
	}

	@keyframes nizva-cart-skel {
		0% {
			background-position: 100% 0;
		}
		100% {
			background-position: -100% 0;
		}
	}

	body.nizva-cart-open {
		overflow: hidden;
	}
}
