/* Kominote Shop Extras — Achte Kounye a + Lis dezi. Kominote colours. */

:root {
	--kse-blue: var(--km-blue-dark, #1D4ED8);
	--kse-blue-deep: var(--km-blue-deep, #1E3A8A);
	--kse-ink: var(--km-ink, #0F172A);
	--kse-muted: var(--km-muted, #475569);
	--kse-line: var(--km-line, #E2E8F0);
	--kse-heart: #E11D48;
}

/* ------------------------------------------------------------------ */
/* Product page: 🛒 Mete nan panye | ⚡ Achte Kounye a | ❤️ Lis dezi     */
/* ------------------------------------------------------------------ */
.single-product form.cart:not(.variations_form),
.single-product form.cart .woocommerce-variation-add-to-cart {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}
.single-product form.cart .quantity { margin: 0 !important; }
.single-product form.cart .single_add_to_cart_button,
.single-product form.cart .kse-buy-now { margin: 0 !important; }

.woocommerce .kse-buy-now,
.woocommerce button.button.alt.kse-buy-now,
.kse-buy-now {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	padding: 12px 24px !important;
	border: 0 !important;
	border-radius: var(--km-radius, 8px) !important;
	background: linear-gradient(135deg, var(--kse-blue-deep), #0B1B44) !important;
	color: #FFFFFF !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	box-shadow: 0 8px 20px rgba(30, 58, 138, .28);
	cursor: pointer;
	transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.woocommerce .kse-buy-now:hover,
.kse-buy-now:hover { transform: translateY(-1px); filter: brightness(1.15); box-shadow: 0 12px 26px rgba(30, 58, 138, .35); color: #FFFFFF !important; }
.kse-buy-now:focus-visible { outline: 3px solid #93C5FD; outline-offset: 2px; }

/* Heart buttons */
.kse-heart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 0;
	border: 1px solid var(--kse-line);
	background: #FFFFFF;
	color: var(--kse-muted);
	cursor: pointer;
	transition: color .15s, border-color .15s, background .15s, transform .15s;
}
.kse-heart svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; transition: fill .15s; }
.kse-heart:hover { color: var(--kse-heart); border-color: #FDA4AF; }
.kse-heart.is-on { color: var(--kse-heart); border-color: #FDA4AF; background: #FFF1F2; }
.kse-heart.is-on svg { fill: currentColor; }
.kse-heart.is-pop svg { animation: kse-pop .35s ease; }
.kse-heart:focus-visible { outline: 3px solid #93C5FD; outline-offset: 2px; }
.kse-heart[aria-busy="true"] { opacity: .6; }

.kse-heart--single {
	min-height: 48px;
	padding: 0 18px;
	border-radius: var(--km-radius, 8px);
	font-size: 15px;
	font-weight: 600;
}

/* On shop cards: a round button on the image corner */
.woocommerce ul.products li.product { position: relative; }
.kse-heart--loop {
	position: absolute;
	z-index: 5;
	top: 24px;
	right: 24px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border-color: transparent;
	background: rgba(255, 255, 255, .92);
	box-shadow: 0 4px 12px rgba(15, 23, 42, .15);
}
.kse-heart--loop svg { width: 20px; height: 20px; }

@keyframes kse-pop {
	0% { transform: scale(1); }
	40% { transform: scale(1.35); }
	100% { transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) {
	.kse-heart.is-pop svg { animation: none; }
}

/* ------------------------------------------------------------------ */
/* Header heart                                                        */
/* ------------------------------------------------------------------ */
.main-header-menu > .kse-nav-wish { margin-left: auto; }
.main-header-menu > .kse-nav-wish + .km-nav-cart { margin-left: 0; }
.kse-nav-wish > a { position: relative; color: var(--kse-ink); padding-inline: 10px; }
.kse-nav-wish > a:hover { color: var(--kse-heart); }
.kse-wish-count {
	position: absolute;
	top: 2px;
	right: 0;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 999px;
	background: var(--kse-heart);
	color: #FFFFFF;
	font-size: 11px;
	font-weight: 700;
	line-height: 18px;
	text-align: center;
}
.kse-wish-count[hidden] { display: none; }

@media (max-width: 921px) {
	.main-header-menu > .kse-nav-wish { margin-left: 0; }
	.main-header-menu > .kse-nav-wish > a::after { content: "Lis dezi"; font-weight: 600; }
	.kse-nav-wish > a { gap: 10px; }
	.kse-wish-count { position: static; margin-left: 4px; }
}

/* ------------------------------------------------------------------ */
/* Toast + login prompt                                                */
/* ------------------------------------------------------------------ */
.kse-toast {
	position: fixed;
	left: 50%;
	bottom: 24px;
	z-index: 99999;
	display: flex;
	align-items: center;
	gap: 14px;
	max-width: calc(100vw - 32px);
	padding: 12px 18px;
	border-radius: 999px;
	background: var(--kse-ink);
	color: #FFFFFF;
	font-size: 15px;
	font-weight: 600;
	box-shadow: 0 12px 32px rgba(15, 23, 42, .3);
	transform: translateX(-50%);
}
.kse-toast a { color: #93C5FD; text-decoration: underline; white-space: nowrap; }
.kse-toast[hidden] { display: none; }

.kse-dialog {
	box-sizing: border-box;
	max-height: calc(100vh - 32px);
	overflow-x: hidden;
	overflow-y: auto;
	width: min(400px, calc(100vw - 32px));
	padding: 28px 24px 24px;
	border: 0;
	border-radius: 20px;
	background: #FFFFFF;
	color: var(--kse-ink);
	text-align: center;
	box-shadow: 0 24px 64px rgba(15, 23, 42, .3);
}
.kse-dialog::backdrop { background: rgba(15, 23, 42, .55); }
.kse-dialog__icon { display: inline-flex; width: 56px; height: 56px; align-items: center; justify-content: center; margin-bottom: 10px; border-radius: 50%; background: #FFF1F2; color: var(--kse-heart); }
.kse-dialog__icon svg { width: 28px; height: 28px; fill: currentColor; }
.kse-dialog h3 { margin: 0 0 8px; font-size: 20px; }
.kse-dialog p { margin: 0 0 20px; color: var(--kse-muted); font-size: 15px; }
.kse-dialog__actions { display: grid; gap: 10px; }
.kse-dialog__actions a,
.kse-dialog__actions button {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	border-radius: var(--km-radius, 8px);
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
}
.kse-dialog__primary { background: var(--kse-blue); color: #FFFFFF !important; border: 0; }
.kse-dialog__secondary { background: #FFFFFF; color: var(--kse-blue) !important; border: 1.5px solid var(--kse-blue); }
.kse-dialog__close { background: none; border: 0; color: var(--kse-muted); font-weight: 600 !important; min-height: 40px !important; }

/* ------------------------------------------------------------------ */
/* My Account → Lis dezi mwen                                          */
/* ------------------------------------------------------------------ */
.kse-wishlist .kse-count { margin: 0 0 14px; color: var(--kse-muted); }
.kse-list { display: grid; gap: 12px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.kse-item {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr) auto;
	gap: 16px;
	align-items: center;
	margin: 0 !important;
	padding: 14px;
	border: 1px solid var(--kse-line);
	border-radius: var(--km-radius-lg, 16px);
	background: #FFFFFF;
}
.kse-item__img img { display: block; width: 96px; height: 96px; object-fit: cover; border-radius: 12px; }
.kse-item__body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.kse-item__title { color: var(--kse-ink); font-weight: 700; text-decoration: none; overflow-wrap: anywhere; }
.kse-item__title:hover { color: var(--kse-blue); }
.kse-item__price { font-weight: 700; color: var(--kse-blue); }
.kse-item__price del { color: var(--kse-muted); font-weight: 500; }
.kse-item__stock { font-size: 13px; color: #B91C1C; }
.kse-item__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
.kse-item__actions form { margin: 0; }
.kse-item__actions .button { min-height: 44px; margin: 0 !important; }
.kse-item__actions .kse-buy-now { min-height: 44px; padding: 10px 16px !important; font-size: 15px !important; }
.kse-remove { padding: 8px 10px; border: 0; background: none; color: var(--kse-muted); font-size: 14px; font-weight: 600; text-decoration: underline; cursor: pointer; }
.kse-remove:hover { color: #B91C1C; }

.kse-empty { padding: 36px 20px; border: 1px dashed var(--kse-line); border-radius: var(--km-radius-lg, 16px); text-align: center; color: var(--kse-muted); }
.kse-empty svg { width: 44px; height: 44px; fill: #FDA4AF; }
.kse-empty strong { color: var(--kse-ink); font-size: 18px; }

@media (max-width: 640px) {
	.single-product form.cart .single_add_to_cart_button { flex: 1 1 auto; }
	.single-product form.cart .kse-buy-now,
	.single-product form.cart .kse-heart--single { flex: 1 1 100%; }
	.kse-item { grid-template-columns: 72px minmax(0, 1fr); }
	.kse-item__img img { width: 72px; height: 72px; }
	.kse-item__actions { grid-column: 1 / -1; justify-content: stretch; }
	.kse-item__actions form { flex: 1 1 auto; }
	.kse-item__actions .button { width: 100%; }
}
