/* ==========================================================================
   KidCompany Core — product cards + product sections
   Selectors are scoped to .kc-p / .kc-sec so Porto styles don't leak in.
   ========================================================================== */

.kc-p,
.kc-sec {
	--kc-purple: #922B8F;
	--kc-purple-dk: #74206F;
	--kc-sun: #FFC93C;
	--kc-ink: #24102A;
	--kc-muted: #6D5A72;
	--kc-line: #EDE4EE;
	--kc-soft: #F7F2F8;
	--kc-sale: #D6455A;
	--kc-ok: #1F9A5B;
	--kc-font: "Figtree", "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
}

.kc-p, .kc-sec, .kc-blog { box-sizing: border-box; }
.kc-p *, .kc-p *::before, .kc-p *::after,
.kc-sec *, .kc-sec *::before, .kc-sec *::after { box-sizing: border-box; }

.kc-p :where(h2, h3, h4, p, del),
.kc-sec :where(h2, p) { margin: 0 !important; padding: 0 !important; letter-spacing: 0 !important; text-transform: none !important; font-family: var(--kc-font) !important; }
.kc-p a, .kc-sec a { text-decoration: none; box-shadow: none; }
.kc-p button, .kc-sec button { font-family: var(--kc-font); margin: 0; box-shadow: none; text-shadow: none; min-height: 0; line-height: 1; letter-spacing: 0; text-transform: none; }
.kc-p .kc-ic { display: block; flex-shrink: 0; }
.kc-p :focus-visible, .kc-sec :focus-visible { outline: 3px solid var(--kc-purple); outline-offset: 2px; }

/* ---------- Card ---------- */
.kc-p {
	position: relative; display: flex; flex-direction: column; width: 100%; min-width: 0; height: 100%;
	border: 1px solid var(--kc-line); border-radius: 20px; background: #fff; overflow: hidden;
	font-family: var(--kc-font); color: var(--kc-ink); text-align: left;
	transition: border-color .25s, box-shadow .25s;
}
@media (hover: hover) { .kc-p:hover { border-color: #DCCBDE; box-shadow: 0 16px 30px -22px rgba(36, 16, 42, .45); } }

.kc-p .kc-p__media { position: relative; display: block; aspect-ratio: 1 / 1; background: #fff; overflow: hidden; }
.kc-p .kc-p__media img {
	position: absolute !important; inset: 0 !important; display: block !important;
	width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important;
	margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
	object-fit: cover; transition: opacity .35s, transform .6s cubic-bezier(.2, .7, .2, 1);
}
.kc-p .kc-p__media img.kc-p__alt { opacity: 0; }
@media (hover: hover) {
	.kc-p:hover .kc-p__media img { transform: scale(1.06); }
	.kc-p.has-alt:hover .kc-p__media img:not(.kc-p__alt) { opacity: 0; }
	.kc-p.has-alt:hover .kc-p__media img.kc-p__alt { opacity: 1; }
}
.kc-p.is-out .kc-p__media img { opacity: .55; }

/* Badges */
.kc-p .kc-p__badges { position: absolute; left: 12px; top: 12px; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; max-width: calc(100% - 70px); }
.kc-p .kc-p__badge { display: inline-block; max-width: 100%; padding: 5px 9px; border-radius: 8px; font-size: 12px; font-weight: 800; line-height: 1.1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; background: var(--kc-sun); color: #3A2400; }
.kc-p .kc-p__badge--sale { background: var(--kc-sale) !important; color: #fff !important; }

/* Wishlist */
.kc-p .kc-p__wish {
	position: absolute; right: 10px; top: 10px; z-index: 2; display: grid; place-items: center;
	width: 38px; height: 38px; padding: 0; border: 0; border-radius: 50%;
	background: rgba(255, 255, 255, .95); color: var(--kc-ink); cursor: pointer;
	box-shadow: 0 2px 8px rgba(36, 16, 42, .1); transition: color .2s, transform .2s;
}
.kc-p .kc-p__wish:hover { color: var(--kc-sale); background: #fff; }
.kc-p .kc-p__wish[aria-pressed="true"] { color: var(--kc-sale); }
.kc-p .kc-p__wish[aria-pressed="true"] path { fill: currentColor; }
.kc-p .kc-p__wish.is-busy { pointer-events: none; opacity: .7; }
.kc-p .kc-p__wish.pop { animation: kcPop .35s ease; }
@keyframes kcPop { 50% { transform: scale(1.22); } }

/* Body */
.kc-p .kc-p__body { display: flex; flex-direction: column; flex: 1; padding: 14px 16px 16px; }
.kc-p .kc-p__meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 22px; }
.kc-p .kc-p__info { display: inline-flex; align-items: center; gap: 6px; min-width: 0; font-size: 12.5px; font-weight: 700; color: var(--kc-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kc-p .kc-p__info i { flex-shrink: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--c, var(--kc-purple)); }
.kc-p .kc-p__rating { display: inline-flex; align-items: center; gap: 4px; flex-shrink: 0; font-size: 12.5px; font-weight: 700; color: var(--kc-ink); }
.kc-p .kc-p__rating > span { font-weight: 600; color: var(--kc-muted); }
.kc-p .kc-p__rating .kc-ic { color: #F5A623; }

.kc-p .kc-p__name {
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
	min-height: 2.7em; margin-top: 8px !important;
	font-size: 15px !important; font-weight: 700 !important; line-height: 1.35 !important; color: var(--kc-ink) !important;
}
.kc-p .kc-p__name a { color: inherit !important; }
.kc-p .kc-p__name a:hover { color: var(--kc-purple) !important; }

.kc-p .kc-p__price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 8px; margin-top: 10px; line-height: 1.2; }
.kc-p .kc-p__now { font-size: 19px; font-weight: 800; color: var(--kc-ink); }
.kc-p .kc-p__now .amount, .kc-p .kc-p__now bdi { color: inherit; font-weight: inherit; }
.kc-p .kc-p__from { font-size: 13px; font-weight: 600; color: var(--kc-muted); }
.kc-p .kc-p__was { font-size: 13.5px; font-weight: 600; color: #9A8A9E; text-decoration: line-through; }
.kc-p .kc-p__was .amount { color: inherit; }
.kc-p .kc-p__save { display: inline-block; padding: 3px 9px; border-radius: 999px; background: var(--kc-ink); color: var(--kc-sun); font-size: 12px; font-weight: 800; line-height: 1.4; }
.kc-p .kc-p__save .amount { color: inherit !important; }
.kc-p .kc-p__save .amount { color: inherit; }

.kc-p .kc-p__stock { margin-top: 6px !important; font-size: 12.5px; font-weight: 700; color: #B25F00; }
.kc-p .kc-p__stock--out { color: var(--kc-muted); }

/* Button */
.kc-p .kc-p__actions { margin-top: auto; padding-top: 14px; }
.kc-p .kc-p__btn {
	position: relative; display: flex; align-items: center; justify-content: center; gap: 9px;
	width: 100%; height: 46px; padding: 0 14px; border: 0; border-radius: 12px;
	background: var(--kc-purple); color: #fff !important; font-size: 14.5px; font-weight: 800; line-height: 1;
	cursor: pointer; transition: background .2s, transform .12s;
}
.kc-p .kc-p__btn:hover { background: var(--kc-purple-dk); color: #fff !important; }
.kc-p .kc-p__btn:active { transform: scale(.98); }
.kc-p .kc-p__btn--ghost { background: #fff; color: var(--kc-purple) !important; box-shadow: inset 0 0 0 1.5px var(--kc-purple); }
.kc-p .kc-p__btn--ghost:hover { background: var(--kc-soft); color: var(--kc-purple) !important; }
.kc-p .kc-p__btn:disabled, .kc-p .kc-p__btn[disabled] { background: #EEE8EF; color: #9A8A9E !important; box-shadow: none; cursor: not-allowed; transform: none; }
.kc-p .kc-p__btn.is-loading { color: transparent !important; pointer-events: none; }
.kc-p .kc-p__btn.is-loading > * { visibility: hidden; }
.kc-p .kc-p__btn.is-loading::after { content: ""; position: absolute; width: 18px; height: 18px; border: 2.5px solid rgba(255, 255, 255, .4); border-top-color: #fff; border-radius: 50%; animation: kcSpin .7s linear infinite; }
.kc-p .kc-p__btn.is-added { background: var(--kc-ok); }
@keyframes kcSpin { to { transform: rotate(360deg); } }
.kc-p .kc-p__view { display: block; height: 0; overflow: hidden; font-size: 13px; font-weight: 700; text-align: center; color: var(--kc-purple) !important; transition: height .25s, margin .25s; }
.kc-p.is-in-cart .kc-p__view { height: 18px; margin-top: 9px; }
.kc-p .kc-p__view:hover { text-decoration: underline; }

/* ---------- Product grids (shop / category / search / related) ---------- */
.kc-cards ul.products li.kc-li { display: flex; flex-direction: column; text-align: left; }
.kc-cards ul.products li.kc-li > .kc-p { flex: 1; }

/* ---------- Section ---------- */
.kc-sec { --per: 5; --gap: 18px; display: block; width: 100%; padding: 60px 24px; background: #fff; font-family: var(--kc-font); color: var(--kc-ink); }
.kc-sec .kc-sec__wrap { max-width: 1320px; margin: 0 auto; }
.kc-sec .kc-sec__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.kc-sec .kc-sec__title { font-size: clamp(26px, 2.7vw, 36px) !important; font-weight: 800 !important; line-height: 1.1 !important; color: var(--kc-ink) !important; }
.kc-sec .kc-sec__sub { margin-top: 8px !important; font-size: 15.5px; line-height: 1.5; color: var(--kc-muted); }
.kc-sec .kc-sec__tools { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.kc-sec .kc-sec__all { margin-right: 6px; padding-bottom: 1px; border-bottom: 2px solid transparent; font-size: 14.5px; font-weight: 700; color: var(--kc-purple) !important; transition: border-color .2s; }
.kc-sec .kc-sec__all:hover { border-color: var(--kc-sun); }
.kc-sec .kc-sec__arrow { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 1.5px solid var(--kc-line); border-radius: 50%; background: #fff; color: var(--kc-ink); cursor: pointer; transition: border-color .2s, background .2s, color .2s, opacity .2s; }
.kc-sec .kc-sec__arrow .kc-ic { display: block; }
.kc-sec .kc-sec__arrow:hover:not(:disabled) { border-color: var(--kc-purple); background: var(--kc-purple); color: #fff; }
.kc-sec .kc-sec__arrow:disabled { opacity: .35; cursor: default; }
.kc-sec.is-static .kc-sec__arrow { visibility: hidden; }

.kc-sec .kc-sec__tabs { display: flex; gap: 8px; margin-bottom: 20px; padding: 2px; overflow-x: auto; scrollbar-width: none; }
.kc-sec .kc-sec__tabs::-webkit-scrollbar { display: none; }
.kc-sec .kc-sec__tab { display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0; height: 38px; padding: 0 16px; border: 1.5px solid var(--kc-line); border-radius: 999px; background: #fff; color: var(--kc-ink); font-size: 14px; font-weight: 700; cursor: pointer; transition: border-color .2s, background .2s, color .2s; }
.kc-sec .kc-sec__tab i { width: 8px; height: 8px; border-radius: 50%; background: var(--c, var(--kc-purple)); }
.kc-sec .kc-sec__tab:hover { border-color: var(--c, var(--kc-purple)); background: #fff; color: var(--kc-ink); }
.kc-sec .kc-sec__tab[aria-pressed="true"] { border-color: var(--kc-ink); background: var(--kc-ink); color: #fff; }
.kc-sec .kc-sec__tab[aria-pressed="true"] i { box-shadow: 0 0 0 2px #fff; }

.kc-sec .kc-sec__row {
	display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - (var(--per) - 1) * var(--gap)) / var(--per)); gap: var(--gap);
	overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none;
	margin: -4px -2px 0; padding: 4px 2px 8px; transition: opacity .2s;
}
.kc-sec .kc-sec__row::-webkit-scrollbar { display: none; }
.kc-sec .kc-sec__row > .kc-p { scroll-snap-align: start; }
.kc-sec .kc-sec__row[aria-busy="true"] { opacity: .45; pointer-events: none; }

.kc-sec .kc-sec__empty { display: none; padding: 48px 20px; border: 1.5px dashed var(--kc-line); border-radius: 20px; text-align: center; }
.kc-sec .kc-sec__empty p { font-size: 15px; color: var(--kc-muted); }
.kc-sec .kc-sec__empty a { display: inline-block; margin-top: 12px; padding: 11px 20px; border-radius: 999px; background: var(--kc-purple); color: #fff !important; font-size: 14px; font-weight: 800; }
.kc-sec.is-empty .kc-sec__empty { display: block; }
.kc-sec.is-empty .kc-sec__row { display: none; }
.kc-sec .kc-sec__foot { display: none; }

/* ---------- Responsive ---------- */
@media (max-width: 1180px) { .kc-sec { --per: 4; } }
@media (max-width: 900px) { .kc-sec { --per: 3.2; --gap: 14px; } }
@media (max-width: 767px) {
	.kc-sec { --per: 2.15; --gap: 12px; padding: 40px 0; }
	.kc-sec .kc-sec__head { padding: 0 16px; margin-bottom: 16px; }
	.kc-sec .kc-sec__sub { font-size: 14px; }
	.kc-sec .kc-sec__tools { display: none; }
	.kc-sec .kc-sec__tabs { padding: 2px 16px; margin-bottom: 16px; }
	.kc-sec .kc-sec__tab { height: 36px; padding: 0 14px; font-size: 13.5px; }
	.kc-sec .kc-sec__row { margin: -4px 0 0; padding: 4px 16px 8px; scroll-padding-left: 16px; }
	.kc-sec .kc-sec__empty { margin: 0 16px; }
	.kc-sec .kc-sec__foot { display: block; padding: 18px 16px 0; text-align: center; }
	.kc-sec .kc-sec__foot a { display: inline-flex; align-items: center; justify-content: center; width: 100%; max-width: 340px; height: 46px; border: 1.5px solid var(--kc-ink); border-radius: 999px; font-size: 14.5px; font-weight: 800; color: var(--kc-ink) !important; }

	.kc-p { border-radius: 16px; }
	.kc-p .kc-p__badges { left: 8px; top: 8px; gap: 4px; max-width: calc(100% - 50px); }
	.kc-p .kc-p__badge { padding: 4px 7px; font-size: 11px; }
	.kc-p .kc-p__wish { right: 6px; top: 6px; width: 34px; height: 34px; }
	.kc-p .kc-p__body { padding: 11px 11px 12px; }
	.kc-p .kc-p__info, .kc-p .kc-p__rating { font-size: 11.5px; }
	.kc-p .kc-p__rating > span { display: none; }
	.kc-p .kc-p__name { margin-top: 6px !important; font-size: 13.5px !important; }
	.kc-p .kc-p__now { font-size: 16.5px; }
	.kc-p .kc-p__was { font-size: 12px; }
	.kc-p .kc-p__save { display: none; }
	.kc-p .kc-p__stock { font-size: 11.5px; }
	.kc-p .kc-p__actions { padding-top: 10px; }
	.kc-p .kc-p__btn { height: 42px; border-radius: 10px; font-size: 13.5px; gap: 7px; }
}
@media (max-width: 374px) {
	.kc-sec { --per: 1.7; }
	.kc-p .kc-p__btn .kc-ic--bag { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.kc-p *, .kc-sec * { transition: none !important; animation: none !important; }
	.kc-sec .kc-sec__row { scroll-behavior: auto; }
}

/* ==========================================================================
   Blog section [kc_posts]
   ========================================================================== */
.kc-blog {
	--kc-purple: #922B8F; --kc-sun: #FFC93C; --kc-ink: #24102A; --kc-muted: #6D5A72; --kc-line: #EDE4EE; --kc-soft: #F4ECF5;
	--kc-font: "Figtree", "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
	display: block; width: 100%; padding: 68px 24px 72px; background: #fff; font-family: var(--kc-font); color: var(--kc-ink);
}
.kc-blog *, .kc-blog *::before, .kc-blog *::after { box-sizing: border-box; }
.kc-blog :where(h2, h3, p) { margin: 0 !important; padding: 0 !important; letter-spacing: 0 !important; text-transform: none !important; font-family: var(--kc-font) !important; }
.kc-blog a { text-decoration: none; box-shadow: none; }
.kc-blog .kc-blog__wrap { max-width: 1320px; margin: 0 auto; }

.kc-blog .kc-blog__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 32px; }
.kc-blog .kc-blog__title { font-size: clamp(28px, 3vw, 40px) !important; font-weight: 800 !important; line-height: 1.08 !important; letter-spacing: -.02em !important; color: var(--kc-ink) !important; }
.kc-blog .kc-blog__sub { margin-top: 10px !important; max-width: 560px; font-size: 16px; line-height: 1.5; color: var(--kc-muted); }
.kc-blog .kc-blog__all { flex-shrink: 0; padding-bottom: 1px; border-bottom: 2px solid var(--kc-sun); font-size: 14.5px; font-weight: 700; color: var(--kc-ink) !important; transition: color .2s; }
.kc-blog .kc-blog__all:hover { color: var(--kc-purple) !important; }
.kc-blog .kc-blog__foot { display: none; }

.kc-blog .kc-blog__grid { display: grid; grid-template-columns: 1.25fr 1fr; gap: 48px; align-items: start; }
.kc-blog .kc-blog__grid.is-single { grid-template-columns: minmax(0, 760px); }

/* Card basics: whole card clickable through the title link */
.kc-blog .kc-post { position: relative; min-width: 0; }
.kc-blog .kc-post__title a { color: inherit !important; }
.kc-blog .kc-post__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.kc-blog .kc-post__title a:focus-visible { outline: none; }
.kc-blog .kc-post:focus-within { outline: 3px solid var(--kc-purple); outline-offset: 6px; border-radius: 18px; }
.kc-blog .kc-post__media { position: relative; overflow: hidden; border-radius: 20px; background: var(--kc-soft); }
.kc-blog .kc-post__media img { display: block !important; width: 100% !important; height: 100% !important; max-width: none !important; margin: 0 !important; object-fit: cover; border-radius: 0 !important; transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
.kc-blog .kc-post__ph { display: grid; place-items: center; width: 100%; height: 100%; font-size: 44px; font-weight: 800; color: rgba(146, 43, 143, .35); }
.kc-blog .kc-post__cat { display: inline-block; padding: 5px 11px; border-radius: 999px; background: var(--kc-soft); color: var(--kc-purple); font-size: 12.5px; font-weight: 800; line-height: 1.2; }
.kc-blog .kc-post__title { font-weight: 800 !important; color: var(--kc-ink) !important; transition: color .2s; }
.kc-blog .kc-post__excerpt { font-size: 15.5px; line-height: 1.6; color: var(--kc-muted); }
.kc-blog .kc-post__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; font-size: 13px; font-weight: 600; color: var(--kc-muted); }
.kc-blog .kc-post__meta span::before { content: ""; display: inline-block; width: 4px; height: 4px; margin-right: 14px; border-radius: 50%; background: currentColor; vertical-align: middle; opacity: .6; }
@media (hover: hover) {
	.kc-blog .kc-post:hover .kc-post__media img { transform: scale(1.05); }
	.kc-blog .kc-post:hover .kc-post__title { color: var(--kc-purple) !important; }
}

/* Featured */
.kc-blog .kc-post--feat .kc-post__media { aspect-ratio: 16 / 10; }
.kc-blog .kc-post--feat .kc-post__body { padding-top: 22px; }
.kc-blog .kc-post--feat .kc-post__title { margin-top: 14px !important; font-size: clamp(22px, 2.2vw, 30px) !important; line-height: 1.2 !important; }
.kc-blog .kc-post--feat .kc-post__excerpt { margin-top: 12px !important; max-width: 620px; }
.kc-blog .kc-post--feat .kc-post__meta { margin-top: 16px !important; }

/* List rows */
.kc-blog .kc-blog__list { display: flex; flex-direction: column; }
.kc-blog .kc-post--row { display: grid; grid-template-columns: 148px 1fr; gap: 20px; align-items: center; padding: 22px 0; border-top: 1px solid var(--kc-line); }
.kc-blog .kc-post--row:first-child { padding-top: 0; border-top: 0; }
.kc-blog .kc-post--row .kc-post__media { aspect-ratio: 1 / 1; border-radius: 16px; }
.kc-blog .kc-post--row .kc-post__title { margin-top: 10px !important; font-size: 18px !important; line-height: 1.3 !important; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.kc-blog .kc-post--row .kc-post__meta { margin-top: 10px !important; }

@media (max-width: 1100px) {
	.kc-blog .kc-blog__grid { gap: 32px; }
	.kc-blog .kc-post--row { grid-template-columns: 112px 1fr; gap: 16px; }
	.kc-blog .kc-post--row .kc-post__title { font-size: 16.5px !important; }
}
@media (max-width: 860px) {
	.kc-blog { padding: 44px 16px 52px; }
	.kc-blog .kc-blog__head { margin-bottom: 22px; }
	.kc-blog .kc-blog__sub { font-size: 14.5px; }
	.kc-blog .kc-blog__head .kc-blog__all { display: none; }
	.kc-blog .kc-blog__grid { grid-template-columns: 1fr; gap: 28px; }
	.kc-blog .kc-post--feat .kc-post__body { padding-top: 16px; }
	.kc-blog .kc-post--feat .kc-post__title { font-size: 22px !important; }
	.kc-blog .kc-post--feat .kc-post__excerpt { font-size: 14.5px; }
	.kc-blog .kc-post--row { grid-template-columns: 96px 1fr; gap: 14px; padding: 16px 0; }
	.kc-blog .kc-post--row:first-child { padding-top: 16px; border-top: 1px solid var(--kc-line); }
	.kc-blog .kc-post--row .kc-post__media { border-radius: 14px; }
	.kc-blog .kc-post--row .kc-post__title { margin-top: 7px !important; font-size: 15.5px !important; }
	.kc-blog .kc-post__cat { font-size: 11.5px; padding: 4px 9px; }
	.kc-blog .kc-post__meta { font-size: 12px; }
	.kc-blog .kc-blog__foot { display: flex; align-items: center; justify-content: center; height: 46px; margin-top: 18px; border: 1.5px solid var(--kc-ink); border-radius: 999px; font-size: 14.5px; font-weight: 800; color: var(--kc-ink) !important; }
}
@media (prefers-reduced-motion: reduce) { .kc-blog * { transition: none !important; } }


/* ==========================================================================
   v1.4 — luxury card finish, urgency badge, wide grids, category explorer
   ========================================================================== */
.kc-p .kc-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Card body: soft two-tone gradients. 8 palettes in sequence, so any two rows of 4 never repeat. */
.kc-p {
	--g1: #E9C8F2; --g2: #FFD9B8; --g0: #FFF8F4;
	border-color: rgba(36, 16, 42, .07);
	box-shadow: 0 1px 2px rgba(36, 16, 42, .04);
}
.kc-p .kc-p__body {
	background:
		radial-gradient(140% 120% at 0% 100%, var(--g1) 0%, rgba(255,255,255,0) 70%),
		radial-gradient(130% 110% at 100% 0%, var(--g2) 0%, rgba(255,255,255,0) 68%),
		linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,0) 40%),
		var(--g0);
	border-top: 1px solid rgba(255, 255, 255, .9);
	box-shadow: inset 0 1px 0 rgba(36, 16, 42, .04);
}
:is(.kc-sec__row > .kc-p, ul.products > li.kc-li):nth-child(8n+2) { --g1: #BFEBD6; --g2: #CFE0FF; --g0: #F5FCF9; }
:is(.kc-sec__row > .kc-p, ul.products > li.kc-li):nth-child(8n+3) { --g1: #FFDD95; --g2: #F8C9DD; --g0: #FFFAF0; }
:is(.kc-sec__row > .kc-p, ul.products > li.kc-li):nth-child(8n+4) { --g1: #C9D2FF; --g2: #EBC9F0; --g0: #F8F8FF; }
:is(.kc-sec__row > .kc-p, ul.products > li.kc-li):nth-child(8n+5) { --g1: #FFC6BB; --g2: #FFE8A6; --g0: #FFF8F5; }
:is(.kc-sec__row > .kc-p, ul.products > li.kc-li):nth-child(8n+6) { --g1: #BDE4F3; --g2: #D4EEC4; --g0: #F4FBFD; }
:is(.kc-sec__row > .kc-p, ul.products > li.kc-li):nth-child(8n+7) { --g1: #DCC6FD; --g2: #FFD2CC; --g0: #FBF7FF; }
:is(.kc-sec__row > .kc-p, ul.products > li.kc-li):nth-child(8n+8) { --g1: #FFD7A8; --g2: #C4E9E1; --g0: #FFFAF3; }
ul.products > li.kc-li .kc-p { --g1: inherit; --g2: inherit; --g0: inherit; }
ul.products > li.kc-li { --g1: #E9C8F2; --g2: #FFD9B8; --g0: #FFF8F4; }
@media (hover: hover) {
	.kc-p:hover { box-shadow: 0 18px 34px -22px rgba(36, 16, 42, .45); }
	.kc-p:hover .kc-p__body { filter: saturate(1.12); }
}

/* Urgency badge on the image */
.kc-p .kc-p__left {
	position: absolute; left: 10px; bottom: 10px; z-index: 2; display: inline-flex; align-items: center; gap: 6px;
	padding: 6px 10px; border-radius: 999px; background: rgba(255, 255, 255, .94); color: #B3261E;
	font-size: 12px; font-weight: 800; line-height: 1; box-shadow: 0 4px 12px rgba(36, 16, 42, .14);
	-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.kc-p .kc-p__left i { width: 7px; height: 7px; border-radius: 50%; background: #E0452F; box-shadow: 0 0 0 0 rgba(224, 69, 47, .5); animation: kcPulse 1.8s ease-out infinite; }
.kc-p .kc-p__left.is-out { background: rgba(36, 16, 42, .82); color: #fff; }
@keyframes kcPulse { 0% { box-shadow: 0 0 0 0 rgba(224, 69, 47, .55); } 70% { box-shadow: 0 0 0 7px rgba(224, 69, 47, 0); } 100% { box-shadow: 0 0 0 0 rgba(224, 69, 47, 0); } }

/* Shop / category / product pages: 24px side margins, no wasted space */
body.kc-wide #main > .container,
body.kc-wide #main > .container-fluid,
body.kc-wide .main-content-wrap.container {
	box-sizing: border-box !important; width: 100% !important; max-width: none !important; padding-left: 24px !important; padding-right: 24px !important;
}
body.kc-wide #main > .container > .row, body.kc-wide .main-content-wrap > .row { margin-left: 0 !important; margin-right: 0 !important; }
body.kc-wide .main-content { min-width: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }

/* Product grids: 4 per row */
.kc-cards ul.products:not(.owl-carousel) {
	display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 22px !important;
	margin: 0 0 32px !important; padding: 0 !important; list-style: none !important;
}
.kc-cards ul.products:not(.owl-carousel)::before, .kc-cards ul.products:not(.owl-carousel)::after { display: none !important; content: none !important; }
.kc-cards ul.products:not(.owl-carousel) > li.kc-li {
	width: auto !important; max-width: none !important; min-width: 0; margin: 0 !important; padding: 0 !important; float: none !important; flex: none !important; clear: none !important;
}
@media (max-width: 1100px) { .kc-cards ul.products:not(.owl-carousel) { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 767px) {
	body.kc-wide #main > .container, body.kc-wide #main > .container-fluid, body.kc-wide .main-content-wrap.container { padding-left: 12px !important; padding-right: 12px !important; }
	.kc-cards ul.products:not(.owl-carousel) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
	.kc-p .kc-p__left { left: 7px; bottom: 7px; padding: 5px 8px; font-size: 11px; }
}

/* ---------- Category explorer ---------- */
.kc-nav { --kc-purple: #922B8F; --kc-sun: #FFC93C; --kc-ink: #24102A; --kc-muted: #6D5A72; --kc-line: #EDE4EE;
	box-sizing: border-box; min-width: 0; max-width: 100%; margin: 4px 0 26px; font-family: "Figtree", "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif; color: var(--kc-ink); }
.kc-nav *, .kc-nav *::before, .kc-nav *::after { box-sizing: border-box; }
.kc-nav :where(h2, p, ul, li) { margin: 0 !important; padding: 0 !important; list-style: none !important; letter-spacing: 0 !important; text-transform: none !important; font-family: inherit !important; }
.kc-nav .kc-nav__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 16px !important; }
.kc-nav .kc-nav__eyebrow { font-size: 13px; font-weight: 800; color: var(--kc-purple); }
.kc-nav .kc-nav__title { margin-top: 4px !important; font-size: clamp(24px, 2.4vw, 32px) !important; font-weight: 800 !important; line-height: 1.1 !important; color: var(--kc-ink) !important; }
.kc-nav .kc-nav__total { flex-shrink: 0; font-size: 14px; font-weight: 700; color: var(--kc-muted); }
.kc-nav .kc-nav__row { display: flex; gap: 14px; min-width: 0; max-width: 100%; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: thin; padding: 4px 2px 10px !important; }
.kc-nav .kc-nav__row > li { flex: 0 0 132px; scroll-snap-align: start; }
.kc-nav .kc-nav__tile { display: flex; flex-direction: column; align-items: center; gap: 4px; height: 100%; padding: 10px 10px 12px; border: 1.5px solid transparent; border-radius: 22px; background: #fff; text-align: center; text-decoration: none !important; color: var(--kc-ink) !important; transition: border-color .2s, box-shadow .2s, transform .2s; }
.kc-nav .kc-nav__tile:hover { border-color: #E4D2E6; box-shadow: 0 12px 24px -18px rgba(36, 16, 42, .5); transform: translateY(-2px); }
.kc-nav .kc-nav__tile.is-active { border-color: var(--kc-purple); background: #FBF5FB; }
.kc-nav .kc-nav__tile:focus-visible { outline: 3px solid var(--kc-purple); outline-offset: 2px; }
.kc-nav .kc-nav__img { position: relative; display: block; width: 100%; aspect-ratio: 1; margin-bottom: 6px; border-radius: 50% 50% 18px 18px / 42% 42% 18px 18px; overflow: hidden; background: #F4E8F4; }
.kc-nav .kc-nav__tile[style*="--i:1"] .kc-nav__img { background: #E1EEFB; }
.kc-nav .kc-nav__tile[style*="--i:2"] .kc-nav__img { background: #FFF1C9; }
.kc-nav .kc-nav__tile[style*="--i:3"] .kc-nav__img { background: #DFF3E8; }
.kc-nav .kc-nav__tile[style*="--i:4"] .kc-nav__img { background: #FDE4E0; }
.kc-nav .kc-nav__img img { display: block !important; width: 100% !important; height: 100% !important; max-width: none !important; margin: 0 !important; object-fit: cover; border-radius: 0 !important; transition: transform .4s; }
.kc-nav .kc-nav__tile:hover .kc-nav__img img { transform: scale(1.06); }
.kc-nav .kc-nav__ph { display: grid; place-items: center; width: 100%; height: 100%; font-size: 34px; font-weight: 800; color: rgba(146, 43, 143, .4); }
.kc-nav .kc-nav__tile.is-all .kc-nav__img::after { content: "All"; position: absolute; inset: 0; display: grid; place-items: center; background: rgba(36, 16, 42, .55); color: #fff; font-size: 20px; font-weight: 800; }
.kc-nav .kc-nav__name { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; font-size: 14px; font-weight: 800; line-height: 1.25; }
.kc-nav .kc-nav__count { font-size: 12.5px; font-weight: 600; color: var(--kc-muted); }
.kc-nav .kc-nav__tile.is-active .kc-nav__count { color: var(--kc-purple); }
@media (max-width: 767px) {
	.kc-nav { margin-bottom: 18px; }
	.kc-nav .kc-nav__row { gap: 10px; }
	.kc-nav .kc-nav__row > li { flex-basis: 104px; }
	.kc-nav .kc-nav__tile { padding: 8px 6px 10px; border-radius: 18px; }
	.kc-nav .kc-nav__name { font-size: 13px; }
	.kc-nav .kc-nav__count { font-size: 11.5px; }
}
@media (prefers-reduced-motion: reduce) { .kc-p .kc-p__left i { animation: none; } }
