/* ==========================================================================
   Kockamania – fő stíluslap (UNAS design színek / elemek alapján)
   ========================================================================== */
:root {
	--green: #008B36;
	--green-d: #006d2a;
	--yellow: #FCD300;
	--red: #DA0008;
	--blue: #0077B0;
	--text: #333;
	--muted: #888;
	--line: #eaeaea;
	--bg-soft: #f7f7f7;
	--radius: 10px;
	--shadow: 0 6px 24px rgba(0, 0, 0, .07);
	--container: 1440px;
	--font: 'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; font-family: var(--font); font-size: 15px; line-height: 1.6; color: var(--text); background: #fff; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--green); text-decoration: none; }
a:hover { color: var(--green-d); }
h1, h2, h3 { line-height: 1.25; margin: 0 0 .6em; font-weight: 700; }
h1 { font-size: clamp(24px, 3.2vw, 38px); }
h2 { font-size: clamp(20px, 2.4vw, 28px); }
button, input, select, textarea { font: inherit; color: inherit; }
[hidden] { display: none !important; }

.km-container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 16px; }
@media (min-width: 768px) { .km-container { padding: 0 24px; } }
.km-narrow { max-width: 860px; }
.km-muted, .ks-muted { color: var(--muted); font-size: 13px; }
.km-skip { position: absolute; left: -9999px; }
.km-skip:focus { left: 16px; top: 16px; z-index: 9999; background: #fff; padding: 8px 12px; }

/* ---------- Bütyök dekor (UNAS .bg-top-left / .bg-bottom-right) ---------- */
.km-studs { position: absolute; width: 250px; height: 210px; background: url('../img/stud-20.svg') top left repeat; pointer-events: none; z-index: 0; }
.km-studs::before, .km-studs::after { content: ''; position: absolute; }
.km-studs--tl { top: 0; left: 0; }
.km-studs--tl::before { width: 210px; height: 250px; transform: rotate(90deg); }
.km-studs--tl::after { right: 0; width: 100px; height: 210px; }
.km-studs--br { bottom: 0; right: 0; }
.km-studs--br::before { top: -23px; right: 0; width: 210px; height: 255px; transform: matrix(0, -1, -1, 0, 0, 0); }
.km-studs--br::after { left: 0; width: 100px; height: 210px; transform: matrix(-1, 0, 0, 1, 0, 0); }
.km-studs.green::before, .km-studs.green::after { background: linear-gradient(270deg, var(--green) 0%, rgba(0, 139, 54, 0) 100%); }
.km-studs.yellow::before, .km-studs.yellow::after { background: linear-gradient(270deg, var(--yellow) 0%, rgba(252, 211, 0, 0) 100%); }
.km-studs.white::before, .km-studs.white::after { background: linear-gradient(270deg, #f7f7f7 0%, rgba(247, 247, 247, 0) 100%); }
.km-studs { opacity: .9; }
@media (max-width: 767px) { .km-page-head .km-studs { display: none; } }
@media (max-width: 767px) { .km-studs { width: 150px; height: 120px; opacity: .5; } }

/* ---------- Gombok ---------- */
.ks-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: var(--green); color: #fff; border: 2px solid var(--green); border-radius: 6px; padding: 10px 20px; font-weight: 700; cursor: pointer; transition: background .2s, transform .1s; text-align: center; line-height: 1.2; }
.ks-btn:hover { background: var(--green-d); border-color: var(--green-d); color: #fff; }
.ks-btn:active { transform: translateY(1px); }
.ks-btn--big { padding: 14px 26px; font-size: 16px; }
.ks-btn--block { width: 100%; }
.ks-btn--ghost { background: #fff; color: var(--green); }
.ks-btn--ghost:hover { background: var(--green); color: #fff; }
.ks-btn.is-loading { opacity: .6; pointer-events: none; }
.ks-btn svg { width: 20px; height: 20px; }
.ks-link { display: inline-block; margin-top: 10px; font-size: 14px; }

/* ---------- Felső sáv + fejléc ---------- */
.km-topbar { background: var(--green); color: #fff; font-size: 13px; text-align: center; padding: 6px 0; font-weight: 500; }
.km-header { position: sticky; top: 0; z-index: 100; }
.km-header__inner { position: relative; background: #fff url('../img/lines.svg') top left repeat; box-shadow: 0 5px 5px rgba(0, 0, 0, .05); }
.km-header__inner::before { content: ''; position: absolute; inset: 0; background: url('../img/stud-10.svg') top left repeat; z-index: 1; }
.km-header__inner::after { content: ''; position: absolute; inset: 0; z-index: 2; background: linear-gradient(90deg, rgba(255,255,255,0) 0%, #fff 13%, #fff 43%, rgba(255,255,255,0) 80%); }
.km-header__row { position: relative; z-index: 5; display: flex; align-items: center; gap: 16px; min-height: 76px; }
.km-logo { display: flex; align-items: center; flex-shrink: 0; }
.km-logo img { max-height: 50px; width: auto; }
.km-logo__text { font-weight: 700; font-size: 24px; letter-spacing: .5px; color: var(--text); }
.km-logo__text b { color: var(--red); }
.km-burger, .km-iconbtn { background: none; border: 0; padding: 8px; cursor: pointer; color: var(--text); display: inline-flex; position: relative; border-radius: 8px; }
.km-iconbtn:hover { background: var(--bg-soft); color: var(--green); }
.km-burger { display: none; }
.km-nav { flex: 1; }
.km-nav > ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 4px; align-items: center; }
.km-nav > ul > li > a, .km-nav__btn { display: block; padding: 10px 14px; font-weight: 700; color: var(--text); background: none; border: 0; cursor: pointer; border-radius: 6px; }
.km-nav > ul > li > a:hover, .km-nav__btn:hover, .km-nav__btn[aria-expanded=true] { color: var(--green); background: rgba(0, 139, 54, .07); }
.km-caret { display: inline-block; width: 8px; height: 8px; border-right: 2px solid; border-bottom: 2px solid; transform: rotate(45deg) translateY(-3px); margin-left: 6px; }
.km-search { display: flex; align-items: center; background: var(--bg-soft); border: 1px solid var(--line); border-radius: 30px; padding: 0 6px 0 16px; flex: 0 1 340px; height: 46px; }
.km-search input { flex: 1; border: 0; background: none; outline: none; min-width: 0; height: 100%; }
.km-search button { background: var(--green); color: #fff; border: 0; border-radius: 50%; width: 36px; height: 36px; display: grid; place-items: center; cursor: pointer; }
.km-search button svg { width: 18px; height: 18px; }
.km-header__actions { display: flex; align-items: center; gap: 4px; }
.km-search-toggle { display: none; }
.km-cartbtn__count { position: absolute; top: 0; right: 0; background: var(--red); color: #fff; font-size: 11px; font-weight: 700; min-width: 19px; height: 19px; border-radius: 10px; display: grid; place-items: center; padding: 0 5px; }
.km-lego-badge { width: 48px; height: 48px; background: url('../img/lego-logo.svg') center/contain no-repeat; margin-left: 8px; }

/* Mega menü */
.km-mega { position: absolute; left: 0; right: 0; top: 100%; background: #fff; box-shadow: 0 20px 40px rgba(0, 0, 0, .12); border-top: 3px solid var(--yellow); max-height: calc(100vh - 120px); overflow: auto; }
.km-mega__inner { display: grid; grid-template-columns: 2.2fr 1fr 0.8fr; gap: 32px; padding-top: 24px; padding-bottom: 28px; }
.km-mega__title { font-weight: 700; text-transform: uppercase; font-size: 13px; letter-spacing: .5px; color: var(--muted); margin-bottom: 10px; }
.km-mega__title a { color: inherit; }
.km-mega__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px 16px; }
.km-mega__list { list-style: none; margin: 0; padding: 0; }
.km-mega a { display: flex; justify-content: space-between; gap: 8px; padding: 5px 8px; color: var(--text); border-radius: 5px; font-size: 14px; }
.km-mega a:hover { background: rgba(0, 139, 54, .08); color: var(--green); }
.km-mega small { color: var(--muted); }
.km-nav__cats { position: static; }

/* Mobil fiók */
.km-drawer { position: fixed; inset: 0; z-index: 300; background: rgba(0, 0, 0, .45); }
.km-drawer__panel { position: absolute; left: 0; top: 0; bottom: 0; width: min(360px, 88vw); background: #fff; overflow: auto; padding: 0 0 24px; animation: kmSlide .25s ease; }
@keyframes kmSlide { from { transform: translateX(-100%); } }
.km-drawer__head { display: flex; justify-content: space-between; align-items: center; padding: 16px; border-bottom: 3px solid var(--yellow); position: sticky; top: 0; background: #fff; }
.km-drawer__head button { background: none; border: 0; cursor: pointer; }
.km-drawer__list, .km-drawer__list ul, .km-drawer__extra { list-style: none; margin: 0; padding: 0; }
.km-drawer__list a, .km-drawer__extra a { display: block; padding: 11px 16px; border-bottom: 1px solid var(--line); color: var(--text); font-weight: 500; }
.km-drawer__list ul a { padding-left: 32px; font-weight: 400; font-size: 14px; }

@media (max-width: 1199px) {
	.km-nav { display: none; }
	.km-burger { display: inline-flex; }
	.km-header__row { justify-content: space-between; }
	.km-search { flex: 1; }
}
@media (max-width: 767px) {
	.km-header__row { min-height: 62px; gap: 8px; }
	.km-search { display: none; position: absolute; left: 12px; right: 12px; top: 100%; margin-top: 6px; background: #fff; box-shadow: var(--shadow); }
	.km-search.is-open { display: flex; }
	.km-search-toggle { display: inline-flex; }
	.km-lego-badge { width: 36px; height: 36px; margin-left: 2px; }
	.km-logo__text { font-size: 19px; }
	.km-logo img { max-height: 38px; }
}

/* ---------- Kenyérmorzsa / oldal fejléc ---------- */
.km-bc { font-size: 13px; color: var(--muted); padding: 16px 0 8px; display: flex; flex-wrap: wrap; gap: 6px; }
.km-bc a { color: var(--muted); }
.km-bc a:hover { color: var(--green); }
.km-bc i { font-style: normal; opacity: .5; }
.km-page-head { position: relative; background: var(--bg-soft); padding-bottom: 24px; margin-bottom: 24px; overflow: hidden; }
.km-page-head > .km-container { position: relative; z-index: 1; }
.km-page-head--slim { padding-bottom: 12px; }
.km-cat-desc { max-width: 980px; font-size: 14px; color: #555; }
.km-cat-desc h3 { font-size: 15px; font-weight: 500; }
.km-cat-desc.is-clamped { max-height: 5.4em; overflow: hidden; position: relative; }
.km-cat-desc.is-clamped::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 2.4em; background: linear-gradient(rgba(247,247,247,0), var(--bg-soft)); }
.km-more-btn { background: none; border: 0; color: var(--green); font-weight: 700; cursor: pointer; padding: 4px 0; }
.km-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.km-chip { background: #fff; border: 1px solid var(--line); border-radius: 30px; padding: 6px 14px; font-size: 13px; color: var(--text); font-weight: 500; }
.km-chip:hover { border-color: var(--green); color: var(--green); }

/* ---------- Hero ---------- */
.km-hero { position: relative; overflow: hidden; background: linear-gradient(120deg, #fff 0%, #fff 45%, #fff9d9 100%); }
.km-hero__row { position: relative; z-index: 1; display: grid; grid-template-columns: 1.1fr 1fr; gap: 40px; align-items: center; padding-top: 56px; padding-bottom: 56px; }
.km-hero h1 { font-size: clamp(30px, 4.6vw, 56px); }
.km-hero p { font-size: 17px; color: #555; max-width: 560px; }
.km-hero__btns { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 24px; }
.km-hero__img img { border-radius: 16px; box-shadow: var(--shadow); }
.km-hero__brick { aspect-ratio: 2/1; background: var(--red); border-radius: 14px; display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(2, 1fr); gap: 0; padding: 6% 4%; box-shadow: inset 0 -14px 0 rgba(0,0,0,.15), var(--shadow); transform: rotate(-4deg); max-width: 520px; margin-left: auto; }
.km-hero__brick i { width: 62%; aspect-ratio: 1; margin: auto; border-radius: 50%; background: radial-gradient(circle at 40% 35%, rgba(255,255,255,.35), rgba(255,255,255,0) 45%), var(--red); box-shadow: 0 6px 0 rgba(0,0,0,.18); }
.km-hero__brick--green { background: var(--green); transform: rotate(3deg); }
.km-hero__brick--green i { background: radial-gradient(circle at 40% 35%, rgba(255,255,255,.35), rgba(255,255,255,0) 45%), var(--green); }
@media (max-width: 899px) {
	.km-hero__row { grid-template-columns: 1fr; padding-top: 32px; padding-bottom: 32px; }
	.km-hero__brick { max-width: 320px; margin: 0 auto; }
}

/* ---------- Szekciók ---------- */
.km-section { position: relative; padding: 40px 0; overflow: hidden; }
.km-section > .km-container { position: relative; z-index: 1; }
.km-section--carousel:nth-of-type(even) { background: var(--bg-soft); }
.km-section__head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 18px; flex-wrap: wrap; }
.km-section__head h2 { margin: 0; position: relative; padding-left: 16px; }
.km-section__head h2::before { content: ''; position: absolute; left: 0; top: 10%; bottom: 10%; width: 6px; background: var(--yellow); border-radius: 3px; }
.km-section__head a { font-weight: 700; font-size: 14px; }
.km-carousel-nav { display: flex; align-items: center; gap: 6px; }
.km-carousel-nav button { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--line); background: #fff; cursor: pointer; font-size: 20px; line-height: 1; }
.km-carousel-nav button:hover { background: var(--green); color: #fff; border-color: var(--green); }
.km-carousel-nav a { margin-left: 8px; }

/* Kategória csempék */
.km-cats { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
.km-cat { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 14px; text-align: center; color: var(--text); transition: box-shadow .2s, transform .2s; display: flex; flex-direction: column; gap: 8px; }
.km-cat:hover { box-shadow: var(--shadow); transform: translateY(-2px); color: var(--green); }
.km-cat__img { aspect-ratio: 1; display: grid; place-items: center; }
.km-cat__img img { max-height: 100%; object-fit: contain; }
.km-cat__name { font-weight: 700; font-size: 14px; line-height: 1.3; }
@media (max-width: 1199px) { .km-cats { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 575px) { .km-cats { grid-template-columns: repeat(2, 1fr); gap: 10px; } }

/* Rólunk */
.km-about { position: relative; padding: 56px 0; overflow: hidden; }
.km-about__row { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.km-about__img img { border-radius: 16px; }
@media (max-width: 899px) { .km-about__row { grid-template-columns: 1fr; } }

/* ---------- Termékkártya + rács ---------- */
.ks-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 18px; }
.ks-grid--shop { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); }
@media (max-width: 575px) { .ks-grid, .ks-grid--shop { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } }
.ks-card, .km-results, .km-product > * { min-width: 0; }
.ks-card__img img, .km-cat__img img { overflow: hidden; font-size: 11px; color: var(--muted); }
.km-carousel .ks-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 16px; padding-bottom: 8px; scrollbar-width: thin; }
.km-carousel .ks-card { flex: 0 0 calc((100% - 4 * 16px) / 5); scroll-snap-align: start; }
@media (max-width: 1199px) { .km-carousel .ks-card { flex-basis: calc((100% - 2 * 16px) / 3); } }
@media (max-width: 575px) { .km-carousel .ks-card { flex-basis: 70%; } }

.ks-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; display: flex; flex-direction: column; transition: box-shadow .2s, transform .2s; }
.ks-card:hover { box-shadow: var(--shadow); transform: translateY(-2px); }
.ks-card__img { position: relative; aspect-ratio: 1; display: grid; place-items: center; padding: 14px; background: #fff; }
.ks-card__img img { max-height: 100%; width: auto; object-fit: contain; }
.ks-card.is-unavailable .ks-card__img img { opacity: .55; }
.ks-badges { position: absolute; top: 10px; left: 10px; display: flex; flex-direction: column; gap: 4px; }
.ks-badge { font-size: 11px; font-weight: 700; padding: 3px 8px; border-radius: 4px; text-transform: uppercase; letter-spacing: .3px; }
.ks-badge--sale { background: var(--red); color: #fff; }
.ks-badge--new { background: var(--yellow); color: #222; }
.ks-card__body { padding: 0 14px 14px; display: flex; flex-direction: column; flex: 1; }
.ks-card__meta { display: flex; gap: 6px; flex-wrap: wrap; font-size: 11px; color: var(--muted); margin-bottom: 4px; }
.ks-card__meta span { background: var(--bg-soft); border-radius: 4px; padding: 1px 6px; }
.ks-card__title { font-size: 14px; font-weight: 500; line-height: 1.35; margin: 0 0 10px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ks-card__title a { color: var(--text); }
.ks-card__title a:hover { color: var(--green); }
.ks-card__foot { margin-top: auto; display: flex; justify-content: space-between; align-items: flex-end; gap: 8px; }
.ks-card__cart { width: 44px; height: 44px; border-radius: 50%; border: 0; background: var(--green) url('../img/stud-button.svg') center/16px no-repeat; color: #fff; cursor: pointer; display: grid; place-items: center; flex-shrink: 0; transition: background-color .2s; }
.ks-card__cart:hover { background-color: var(--green-d); }
.ks-card__cart .ks-ico-cart { width: 20px; height: 20px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 11.2a2 2 0 0 0 2 1.6h7.7a2 2 0 0 0 2-1.5L21 8H6.2'/%3E%3Ccircle cx='10' cy='20' r='1.4'/%3E%3Ccircle cx='17' cy='20' r='1.4'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 11.2a2 2 0 0 0 2 1.6h7.7a2 2 0 0 0 2-1.5L21 8H6.2'/%3E%3Ccircle cx='10' cy='20' r='1.4'/%3E%3Ccircle cx='17' cy='20' r='1.4'/%3E%3C/svg%3E") center/contain no-repeat; }
.ks-card__cart { background-image: none; }

.ks-price { font-weight: 700; font-size: 18px; color: var(--text); white-space: nowrap; }
.ks-price--sale ins { color: var(--red); text-decoration: none; }
.ks-price--sale del { color: var(--muted); font-weight: 400; font-size: .75em; display: block; }
.ks-stock { font-size: 12px; font-weight: 500; display: flex; align-items: center; gap: 5px; }
.ks-stock::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.ks-stock--in { color: var(--green); }
.ks-stock--back { color: #c78a00; }
.ks-stock--out { color: var(--red); }
.ks-noimg { display: block; width: 100%; aspect-ratio: 1; background: var(--bg-soft) url('../img/lego-icon.svg') center/30% no-repeat; border-radius: 8px; opacity: .6; }

/* ---------- Bolt lista + szűrők ---------- */
.km-shop { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 28px; align-items: start; padding-bottom: 40px; }
.km-filters { position: sticky; top: 100px; }
.km-filters__form { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 16px; }
.km-filters__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.km-filters__close { display: none; background: none; border: 0; cursor: pointer; }
.km-filter { border-top: 1px solid var(--line); padding: 14px 0; }
.km-filter__title { font-weight: 700; font-size: 14px; margin-bottom: 8px; }
.km-filter__scroll { max-height: 240px; overflow: auto; }
.ks-check { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; padding: 3px 0; cursor: pointer; }
.ks-check input { accent-color: var(--green); margin-top: 4px; }
.km-price-range { display: flex; gap: 6px; align-items: center; }
.km-price-range input { width: 100%; padding: 8px; border: 1px solid var(--line); border-radius: 6px; }
.km-filters__reset { display: block; text-align: center; }
.km-toolbar { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.km-toolbar__count { color: var(--muted); font-size: 14px; margin-right: auto; }
.km-sort select { margin-left: 6px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.km-sort label { font-size: 14px; }
.km-filters-open { display: none; padding: 8px 14px; }
.km-cat-bottom { margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--line); font-size: 14px; color: #555; }
@media (max-width: 991px) {
	.km-shop { grid-template-columns: minmax(0, 1fr); }
	.km-filters-open { display: inline-flex; }
	.km-filters { position: fixed; inset: 0; z-index: 400; background: rgba(0, 0, 0, .45); display: none; top: 0; }
	.km-filters.is-open { display: block; }
	.km-filters__form { position: absolute; right: 0; top: 0; bottom: 0; width: min(340px, 90vw); overflow: auto; border-radius: 0; }
	.km-filters__close { display: block; }
}

.km-pagination { display: flex; gap: 6px; justify-content: center; margin: 32px 0 8px; flex-wrap: wrap; }
.km-pagination .page-numbers { min-width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 6px; color: var(--text); padding: 0 10px; }
.km-pagination .current { background: var(--green); border-color: var(--green); color: #fff; }
.km-pagination a:hover { border-color: var(--green); color: var(--green); }

/* ---------- Termékoldal ---------- */
.km-product { display: grid; grid-template-columns: 1.15fr 1fr; gap: 40px; padding: 8px 0 32px; }
.km-gallery__main { position: relative; aspect-ratio: 1; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; background: #fff; }
.km-gallery__slide { position: absolute; inset: 0; display: none; place-items: center; padding: 24px; cursor: zoom-in; }
.km-gallery__slide.is-active { display: grid; }
.km-gallery__slide img { max-height: 100%; width: auto; object-fit: contain; }
.km-gallery__thumbs { display: flex; gap: 8px; margin-top: 10px; overflow-x: auto; padding-bottom: 4px; }
.km-gallery__thumbs button { flex: 0 0 72px; height: 72px; border: 2px solid var(--line); border-radius: 8px; background: #fff; padding: 4px; cursor: pointer; }
.km-gallery__thumbs button.is-active { border-color: var(--green); }
.km-gallery__thumbs img { width: 100%; height: 100%; object-fit: contain; }
.km-product__theme { display: inline-block; background: var(--yellow); color: #222; font-size: 12px; font-weight: 700; padding: 3px 10px; border-radius: 4px; margin-bottom: 10px; text-transform: uppercase; }
.km-product__title { font-size: clamp(22px, 2.6vw, 32px); }
.km-product__facts { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 18px; }
.km-product__facts span { background: var(--bg-soft); border-radius: 8px; padding: 8px 14px; display: flex; flex-direction: column; line-height: 1.3; }
.km-product__facts small { color: var(--muted); font-size: 11px; text-transform: uppercase; }
.km-buybox { border: 2px solid var(--line); border-radius: 14px; padding: 20px; position: relative; overflow: hidden; }
.km-buybox::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 6px; background: var(--green); }
.km-buybox__price .ks-price { font-size: 32px; }
.km-buybox__price .ks-price--sale del { font-size: 16px; display: inline; margin-right: 6px; }
.km-buybox .ks-stock { font-size: 14px; margin: 6px 0 14px; }
.km-buybox__form { display: flex; gap: 10px; flex-wrap: wrap; align-items: stretch; }
.km-buybox__opt { width: 100%; font-size: 14px; font-weight: 500; }
.km-buybox__opt select { width: 100%; padding: 10px; border: 1px solid var(--line); border-radius: 6px; margin-top: 4px; }
.km-buybox__btn { flex: 1; min-width: 180px; }
.km-buybox__usps { list-style: none; margin: 18px 0 0; padding: 14px 0 0; border-top: 1px solid var(--line); display: grid; gap: 6px; font-size: 13px; color: #555; }
.km-buybox__usps li { display: flex; gap: 8px; align-items: center; }
.km-buybox__usps svg { color: var(--green); width: 18px; height: 18px; flex-shrink: 0; }
.km-product__features { margin-top: 20px; font-size: 14px; }
.km-product__features ul { padding-left: 18px; }
.km-product__features li { margin-bottom: 6px; }
@media (max-width: 899px) { .km-product { grid-template-columns: minmax(0, 1fr); gap: 20px; } }

.ks-qty { display: inline-flex; align-items: stretch; border: 1px solid var(--line); border-radius: 6px; overflow: hidden; height: 50px; }
.ks-qty button { width: 38px; border: 0; background: var(--bg-soft); cursor: pointer; font-size: 18px; }
.ks-qty button:hover { background: var(--line); }
.ks-qty input { width: 48px; text-align: center; border: 0; -moz-appearance: textfield; }
.ks-qty input::-webkit-outer-spin-button, .ks-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.km-tabs { margin: 16px 0 40px; }
.km-tabs__nav { display: flex; gap: 4px; border-bottom: 2px solid var(--line); overflow-x: auto; }
.km-tabs__nav button { background: none; border: 0; padding: 12px 18px; font-weight: 700; cursor: pointer; color: var(--muted); border-bottom: 3px solid transparent; margin-bottom: -2px; white-space: nowrap; }
.km-tabs__nav button.is-active { color: var(--green); border-color: var(--green); }
.km-tabs__panel { display: none; padding: 20px 0; max-width: 980px; }
.km-tabs__panel.is-active { display: block; }
.km-params { border-collapse: collapse; width: 100%; max-width: 640px; font-size: 14px; }
.km-params th, .km-params td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--line); }
.km-params th { width: 40%; color: var(--muted); font-weight: 500; }
.km-video iframe { width: 100%; max-width: 860px; aspect-ratio: 16/9; height: auto; border: 0; border-radius: 12px; }

.km-sticky-buy { position: fixed; left: 0; right: 0; bottom: 0; background: #fff; box-shadow: 0 -6px 20px rgba(0, 0, 0, .1); z-index: 90; padding: 10px 0; transform: translateY(110%); transition: transform .25s; }
.km-sticky-buy.is-visible { transform: none; }
.km-sticky-buy .km-container { display: flex; align-items: center; gap: 14px; }
.km-sticky-buy__name { flex: 1; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 14px; }
.km-lightbox { position: fixed; inset: 0; background: rgba(0, 0, 0, .9); z-index: 500; display: grid; place-items: center; padding: 20px; }
.km-lightbox img { max-width: 100%; max-height: 90vh; background: #fff; border-radius: 8px; }
.km-lightbox__close { position: absolute; top: 14px; right: 14px; background: #fff; border: 0; border-radius: 50%; width: 44px; height: 44px; cursor: pointer; display: grid; place-items: center; }

/* ---------- Szöveges tartalom ---------- */
.km-prose { font-size: 15px; }
.km-prose img { border-radius: 8px; margin: 12px 0; }
.km-prose a { text-decoration: underline; }
.km-prose iframe { max-width: 100%; }
.km-shop-page { padding-bottom: 48px; }

/* ---------- Kosár ---------- */
.ks-cart { display: grid; grid-template-columns: 1fr 340px; gap: 28px; align-items: start; }
.ks-cart.is-loading { opacity: .5; pointer-events: none; }
.ks-freebar { grid-column: 1 / -1; background: #fff8d6; border: 1px solid var(--yellow); border-radius: var(--radius); padding: 12px 16px; font-weight: 500; font-size: 14px; }
.ks-freebar__track { height: 8px; background: rgba(0, 0, 0, .08); border-radius: 4px; margin-top: 8px; overflow: hidden; }
.ks-freebar__track i { display: block; height: 100%; background: var(--green); border-radius: 4px; }
.ks-line { display: grid; grid-template-columns: 84px 1fr auto auto 32px; gap: 16px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--line); }
.ks-line__img { width: 84px; height: 84px; border: 1px solid var(--line); border-radius: 8px; padding: 4px; display: grid; place-items: center; overflow: hidden; font-size: 10px; }
.ks-line__img img { max-height: 100%; object-fit: contain; }
.ks-line__name { font-weight: 500; color: var(--text); }
.ks-line__opt, .ks-line__sku { font-size: 12px; color: var(--muted); }
.ks-line__total { font-weight: 700; white-space: nowrap; }
.ks-line__rm { font-size: 24px; color: var(--muted); text-align: center; }
.ks-line__rm:hover { color: var(--red); }
.ks-line .ks-qty { height: 40px; }
.ks-cart__sum, .ks-box { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; }
.ks-cart__sum { position: sticky; top: 100px; text-align: center; }
.ks-sumrow { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; font-size: 15px; }
.ks-sumrow--total { border-top: 2px solid var(--text); margin-top: 8px; padding-top: 12px; font-size: 18px; }
.ks-cart__sum .ks-btn { width: 100%; margin-top: 8px; }
@media (max-width: 899px) {
	.ks-cart { grid-template-columns: 1fr; }
	.ks-line { grid-template-columns: 64px 1fr auto; grid-template-areas: 'img info rm' 'img qty total'; gap: 8px 12px; }
	.ks-line__img { grid-area: img; width: 64px; height: 64px; }
	.ks-line__info { grid-area: info; }
	.ks-line .ks-qty { grid-area: qty; justify-self: start; }
	.ks-line__total { grid-area: total; text-align: right; }
	.ks-line__rm { grid-area: rm; }
}
.ks-empty { text-align: center; padding: 48px 16px; background: var(--bg-soft); border-radius: var(--radius); }

/* ---------- Pénztár ---------- */
.ks-checkout__cols { display: grid; grid-template-columns: 1fr 380px; gap: 28px; align-items: start; }
.ks-checkout__main { display: grid; gap: 18px; }
.ks-checkout__side { position: sticky; top: 100px; }
.ks-box h2 { font-size: 18px; display: flex; align-items: center; gap: 10px; }
.ks-box h2 span { width: 28px; height: 28px; border-radius: 50%; background: var(--green); color: #fff; display: grid; place-items: center; font-size: 14px; }
.ks-checkout label:not(.ks-check):not(.ks-option) { display: block; font-size: 13px; font-weight: 500; margin-bottom: 12px; }
.ks-checkout input[type=text], .ks-checkout input[type=email], .ks-checkout input[type=tel], .ks-checkout textarea { display: block; width: 100%; margin-top: 4px; padding: 11px 12px; border: 1px solid #d6d6d6; border-radius: 6px; font-size: 15px; background: #fff; }
.ks-checkout input:focus, .ks-checkout textarea:focus { outline: 2px solid rgba(0, 139, 54, .3); border-color: var(--green); }
.ks-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ks-row--zip { grid-template-columns: 130px 1fr; }
@media (max-width: 575px) { .ks-row { grid-template-columns: 1fr; gap: 0; } .ks-row--zip { grid-template-columns: 110px 1fr; gap: 10px; } }
.ks-options { display: grid; gap: 8px; margin-bottom: 14px; }
.ks-option { display: flex; align-items: center; gap: 10px; border: 2px solid var(--line); border-radius: 8px; padding: 12px 14px; cursor: pointer; transition: border-color .15s; }
.ks-option:has(input:checked) { border-color: var(--green); background: rgba(0, 139, 54, .04); }
.ks-option:has(input:disabled) { opacity: .45; cursor: not-allowed; }
.ks-option input { accent-color: var(--green); }
.ks-option__name { flex: 1; font-weight: 500; }
.ks-option__price { font-weight: 700; white-space: nowrap; }
.ks-summary__line { display: grid; grid-template-columns: 52px 1fr auto; gap: 10px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--line); font-size: 13px; }
.ks-summary__img { position: relative; width: 52px; height: 52px; border: 1px solid var(--line); border-radius: 6px; padding: 2px; display: grid; place-items: center; font-size: 0; }
.ks-summary__img img { overflow: hidden; }
.ks-summary__img img { max-height: 100%; object-fit: contain; }
.ks-summary__img em { position: absolute; top: -6px; right: -6px; background: var(--text); color: #fff; font-style: normal; font-size: 11px; min-width: 18px; height: 18px; border-radius: 9px; display: grid; place-items: center; }
.ks-summary .ks-check { margin: 12px 0; font-size: 13px; }
.ks-hp { position: absolute; left: -9999px; }
.ks-alert { background: #fff8d6; border: 1px solid var(--yellow); border-radius: var(--radius); padding: 12px 16px; margin-bottom: 18px; }
.ks-alert--err { background: #fdecec; border-color: #f3b4b4; color: #8a1010; }
.ks-alert ul { margin: 0; padding-left: 18px; }
@media (max-width: 991px) { .ks-checkout__cols { grid-template-columns: 1fr; } .ks-checkout__side { position: static; } }

.ks-thanks__hero { text-align: center; padding: 32px 16px; }
.ks-thanks__stud { width: 72px; height: 72px; margin: 0 auto 12px; border-radius: 50%; background: var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4.5 4.5L19 7'/%3E%3C/svg%3E") center/38px no-repeat; box-shadow: 0 6px 0 var(--green-d); }
.ks-thanks .ks-box { margin: 18px 0; }

/* ---------- Toast ---------- */
.ks-toast { position: fixed; right: 16px; bottom: 16px; z-index: 600; background: #222; color: #fff; padding: 14px 16px; border-radius: 10px; box-shadow: 0 10px 30px rgba(0, 0, 0, .25); max-width: 360px; transform: translateY(20px); opacity: 0; transition: .3s; border-left: 6px solid var(--green); }
.ks-toast.is-in { transform: none; opacity: 1; }
.ks-toast--err { border-left-color: var(--red); }
.ks-toast__actions { display: flex; gap: 8px; margin-top: 10px; }
.ks-toast__actions a { color: #fff; border: 1px solid rgba(255, 255, 255, .4); border-radius: 6px; padding: 6px 12px; font-size: 13px; font-weight: 700; }
.ks-toast__actions .ks-toast__primary { background: var(--green); border-color: var(--green); }
@media (max-width: 575px) { .ks-toast { left: 12px; right: 12px; max-width: none; } }

/* ---------- USP + lábléc ---------- */
.km-usps { background: var(--yellow); padding: 18px 0; }
.km-usps__row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.km-usp { display: flex; align-items: center; gap: 10px; font-weight: 700; font-size: 14px; color: #222; }
.km-usp__ico { width: 40px; height: 40px; border-radius: 50%; background: #fff; display: grid; place-items: center; color: var(--green); flex-shrink: 0; }
@media (max-width: 899px) { .km-usps__row { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 479px) { .km-usps__row { grid-template-columns: 1fr; } }
.km-footer { background: #222; color: #ccc; font-size: 14px; }
.km-footer a { color: #ccc; }
.km-footer a:hover { color: var(--yellow); }
.km-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 32px; padding-top: 44px; padding-bottom: 32px; }
.km-logo--footer .km-logo__text { color: #fff; }
.km-footer__title { color: #fff; font-weight: 700; margin-bottom: 12px; }
.km-footer ul { list-style: none; margin: 0; padding: 0; }
.km-footer li { margin-bottom: 6px; }
.km-social { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 10px; }
.km-social a { border: 1px solid #444; border-radius: 20px; padding: 4px 12px; font-size: 13px; }
.km-footer__bottom { border-top: 1px solid #333; padding: 18px 0; font-size: 12px; color: #888; text-align: center; }
.km-footer__bottom p { margin: 4px 0; }
@media (max-width: 899px) { .km-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 479px) { .km-footer__grid { grid-template-columns: 1fr; } }

/* ---------- Blog + 404 ---------- */
.km-posts { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; padding-bottom: 32px; }
.km-post { border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; color: var(--text); display: flex; flex-direction: column; }
.km-post:hover { box-shadow: var(--shadow); }
.km-post__img img { aspect-ratio: 16/10; object-fit: cover; width: 100%; }
.km-post__body { padding: 14px 16px 18px; display: flex; flex-direction: column; gap: 6px; }
.km-post__body small { color: var(--muted); }
.km-post-thumb { border-radius: 12px; margin-bottom: 20px; }
.km-404 { text-align: center; padding: 64px 16px; }
.km-404__brick { width: 160px; aspect-ratio: 2/1; margin: 0 auto 24px; background: var(--yellow); border-radius: 10px; display: grid; grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(2, 1fr); padding: 8px; transform: rotate(-8deg); box-shadow: inset 0 -8px 0 rgba(0, 0, 0, .12); }
.km-404__brick i { width: 55%; aspect-ratio: 1; margin: auto; border-radius: 50%; background: var(--yellow); box-shadow: 0 4px 0 rgba(0, 0, 0, .15); }
.km-404__brick i:nth-child(4) { visibility: hidden; }
.km-search--big { display: flex !important; position: static !important; max-width: 520px; margin: 20px auto; flex: none; }

/* Kockamánia Premium 1.1 – tematikus és életkoros navigáció */
.km-discovery { background:#f6f7f9; padding:42px 0 56px; }
.km-discovery__grid { display:grid; grid-template-columns:minmax(0, 1.6fr) minmax(300px,1fr); gap:22px; align-items:stretch; }
.km-discovery__themes,.km-discovery__ages { background:#fff; border:1px solid #e5e6eb; border-radius:22px; padding:20px; box-shadow:0 8px 26px rgba(10,15,25,.045); overflow:hidden; }
.km-discovery__themes { border-top:6px solid #df202d; }
.km-discovery__ages { border-top:6px solid #ffd400; }
.km-discovery__title { display:flex; align-items:center; flex-wrap:wrap; column-gap:12px; row-gap:8px; margin-bottom:18px; }
.km-discovery__title h2 { margin:0; font-size:clamp(19px,2.1vw,27px); line-height:1.2; flex:1; min-width:190px; }
.km-discovery__title a { font-weight:700; font-size:13px; }
.km-discovery__tag { font-weight:800; font-size:10px; letter-spacing:.12em; color:#b71925; }
.km-cats--featured { grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px; }
.km-cat--featured { padding:0; gap:0; border-radius:13px; overflow:hidden; background:#f7f8fa; }
.km-cat--featured .km-cat__img { aspect-ratio:1.2/1; width:100%; padding:6px; background:#f8f8fa; }
.km-cat--featured .km-cat__img img { width:100%; height:100%; object-fit:contain; }
.km-cat--featured .km-cat__name { background:#ffd400; padding:9px 6px; font-size:12px; color:#15171b; min-height:44px; display:grid; place-items:center; }
.km-age-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.km-age-link { position:relative; isolation:isolate; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:108px; padding:14px 5px 8px; border-radius:12px; background:linear-gradient(#ffe34b,#ffca08); color:#a31517; border:1px solid #eeb700; box-shadow:0 5px 0 #d3a700,0 8px 13px rgba(0,0,0,.08); text-align:center; }
.km-age-link:before,.km-age-link:after { content:""; width:23%; height:10px; border-radius:50% 50% 3px 3px; background:#ffda22; border:1px solid rgba(130,100,0,.16); position:absolute; top:-6px; left:20%; }
.km-age-link:after { left:auto; right:20%; }
.km-age-link span { font-size:clamp(19px,2.5vw,31px); font-weight:900; line-height:1.05; }
.km-age-link small { font-size:10px; font-weight:700; max-width:90px; line-height:1.2; margin-top:5px; }
.km-age-link:hover { transform:translateY(-3px); color:#831318; }
@media(max-width:1099px){.km-discovery__grid{grid-template-columns:1fr}.km-age-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.km-age-link{min-height:90px}}
@media(max-width:699px){.km-discovery__themes,.km-discovery__ages{padding:14px;border-radius:14px}.km-cats--featured{grid-template-columns:repeat(2,minmax(0,1fr))}.km-age-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.km-age-link{min-height:90px}.km-discovery{padding:22px 0}}

/* Kockamánia Premium v1.2: LEGO élénk arculat, széles mobilos használhatóság */
:root { --red:#e30613; --yellow:#ffdc00; --green:#00883e; }
.km-topbar { background:#ffd900!important; color:#171717!important; font-weight:700; }
.km-header__inner { background:#fff!important; }
.km-header__inner::before,.km-header__inner::after { opacity:.15; pointer-events:none; }
.km-logo img { max-height:66px; width:auto; max-width:min(230px,45vw); object-fit:contain; }
.km-nav__themes>a,.km-nav__ages>a { font-weight:800!important; }
.km-nav__themes>a:hover,.km-nav__ages>a:hover { color:#e30613!important; }
.km-header__row { min-height:84px; }
.km-hero { background:linear-gradient(110deg,#073e83,#0769bd 60%,#00a5e8); color:white; }
.km-hero h1,.km-hero p { color:white!important; }
.km-hero__row { padding-top:45px;padding-bottom:45px; }
.km-hero .ks-btn { background:#ffdc00; color:#151515; border-color:#ffdc00; font-weight:900; }
.km-hero .ks-btn--ghost { background:#fff;color:#0b4c8b;border-color:#fff; }
.km-usp { background:#fff; border-bottom:1px solid #e4e4e4; }
.km-usp__grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding-top:15px;padding-bottom:15px;text-align:center;font-weight:700;font-size:13px; }
.km-section__head h2 { font-weight:900; }
.km-discovery { background:#fafafa; }
.km-discovery__themes { border-top-color:#e30613; }
.km-discovery__ages { border-top-color:#ffdc00; }
.km-cat--featured .km-cat__name { background:#ffdc00; }
.km-stock-chip { display:inline-block;align-self:flex-start;margin:5px 0 0 12px;border-radius:99px;padding:4px 9px;font-size:11px;font-weight:800; }
.km-stock-chip--in { background:#e2f8e9;color:#087333; }
.km-stock-chip--out { background:#f3f3f3;color:#757575; }
.ks-stock--in { color:#087333!important;font-weight:800; }
.ks-stock--out { color:#9b2430!important; }
.km-topics-head { background:linear-gradient(110deg,#ffe500,#ffd035);padding:37px 0 28px; }
.km-topics-head h1 { font-size:clamp(28px,4vw,48px);font-weight:900;margin:8px 0 14px;color:#171717; }
.km-topics-head p { max-width:790px; }
.km-eyebrow { text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:12px; }
.km-topic-search-label { display:block;margin:20px 0 6px;font-weight:800; }
.km-topic-search { width:min(100%,660px);display:block;background:#fff;border:2px solid #1c1c1c;border-radius:12px;padding:14px 18px;font-size:17px; }
.km-topic-tabs { display:flex;gap:9px;flex-wrap:wrap;margin-top:16px; }
.km-topic-tabs a { display:block;background:#fff;border-radius:9px;color:#141414;padding:10px 13px;font-weight:800;font-size:12px; }
.km-topic-page { padding-top:12px;padding-bottom:60px; }
.km-topic-section { padding-top:30px;scroll-margin-top:110px; }
.km-topic-section .km-section__head { display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:18px; }
.km-topic-grid { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px; }
.km-topic-tile { display:flex; flex-direction:column;align-items:center;gap:6px;text-align:center;min-width:0;background:#fff;border:1px solid #e4e4e4;border-radius:13px;padding:15px 10px;color:#171717;box-shadow:0 4px 14px rgba(0,0,0,.04);transition:transform .15s,border-color .15s; }
.km-topic-tile:hover { transform:translateY(-3px);border-color:#e30613;color:#bd0612; }
.km-topic-tile__art { width:100%;font-size:40px;background:#fff9cb;padding:10px;border-radius:9px; }
.km-topic-tile strong { font-size:14px;line-height:1.3; }
.km-topic-tile small { color:#727272; }
.km-topic-tile__image { display:grid;place-items:center;height:110px;width:100%;background:#f6f7f8;border-radius:9px; }
.km-topic-tile__image img { max-height:106px;width:auto;object-fit:contain; }
.km-topic-grid--cats { grid-template-columns:repeat(6,minmax(0,1fr)); }
.km-topic-tile[hidden] { display:none!important; }
.km-age-grid--topics { grid-template-columns:repeat(6,minmax(0,1fr)); }
.km-topic-empty { padding:30px;text-align:center; }
.km-drawer__feature { padding:12px 18px;background:#ffdc00;font-weight:900; }
@media(max-width:1100px){.km-topic-grid,.km-topic-grid--cats { grid-template-columns:repeat(4,minmax(0,1fr)); }}
@media(max-width:760px){.km-usp__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;font-size:11px}.km-topic-grid,.km-topic-grid--cats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.km-topic-tile{padding:10px 6px}.km-topic-tile__image{height:100px}.km-age-grid--topics{grid-template-columns:repeat(3,minmax(0,1fr))}.km-topics-head{padding:24px 0}.km-topic-search{font-size:16px}.km-topic-tabs a{padding:8px 10px}.km-nav__themes,.km-nav__ages{display:none!important}.km-header__row{min-height:62px}.km-logo img{max-height:52px}}


/* KOCKAMÁNIA PREMIUM 1.3 — mobile-first, a jóváhagyott látványterv alapján */
:root{--red:#df0011;--yellow:#ffda00;--blue:#0069bc;--green:#168a37;--green-d:#126b2b;--text:#17212e;--radius:12px}
a{color:var(--blue)}a:hover{color:#004c8b}
.km-topbar{background:var(--red)!important;color:white!important}
.km-header__inner,.km-header__inner::after{background:#db0011!important}
.km-header__inner::before{background-image:url('../img/stud-20.svg');opacity:.12}
.km-header__row{min-height:82px}
.km-logo{min-width:180px;position:relative;z-index:1}
.km-logo img{max-height:68px;width:auto;object-fit:contain}
.km-logo__text{color:white!important;text-shadow:2px 2px #111,-1px -1px #111}
.km-nav{background:var(--yellow);border-radius:9px;padding:4px 7px}
.km-nav > ul > li > a,.km-nav__btn{font-size:13px;color:#111!important;padding:9px 11px}
.km-nav > ul > li > a:hover,.km-nav__btn:hover{background:#fff2a4!important;color:#111!important}
.km-search{background:white;border-radius:8px}
.km-header__actions .km-iconbtn{color:white}
.ks-btn,.ks-card__cart{background:var(--red);border-color:var(--red);color:white}
.ks-btn:hover,.ks-card__cart:hover{background:#ae0010;border-color:#ae0010;color:white}
.km-hero-v13{padding:18px 0 6px;background:#fff}
.km-hero-v13__grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(210px,1fr);gap:12px}
.km-hero-v13__main{min-height:330px;background:linear-gradient(115deg,#004d9a,#006fd2 62%,#1e98e6);border-radius:14px;display:grid;grid-template-columns:1fr 46%;align-items:center;overflow:hidden;color:white;position:relative}
.km-hero-v13__main:before{content:'';width:150px;height:90px;position:absolute;left:-48px;bottom:-45px;background:#ffda00;border-radius:22px;transform:rotate(-25deg);opacity:.95}
.km-hero-v13__copy{padding:30px 0 30px 36px;position:relative;z-index:1}
.km-hero-v13__eyebrow{font-size:12px;font-weight:800;letter-spacing:.11em;color:#ffea59}
.km-hero-v13__main h1{font-size:clamp(26px,3.3vw,48px);line-height:1.11;color:white;max-width:560px;margin:12px 0}
.km-hero-v13__copy p{color:white;font-size:15px;margin:0 0 18px;max-width:470px}
.km-hero-v13__button{background:var(--red);border-color:var(--red)}
.km-hero-v13__art{display:grid;place-items:center;padding:15px;min-width:0}
.km-hero-v13__art img{width:100%;max-height:290px;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(0,0,0,.2))}
.km-hero-v13__side{display:grid;grid-template-rows:1fr 1fr;gap:12px}
.km-hero-v13__promo{background:#ffd800;border-radius:12px;padding:18px;display:grid;grid-template-columns:1fr 45%;align-items:center;gap:7px;color:#161616;min-height:157px;overflow:hidden}
.km-hero-v13__promo--pink{background:#f1bdea}
.km-hero-v13__promo small,.km-hero-v13__promo span{display:block;font-size:12px}
.km-hero-v13__promo strong{display:block;font-size:clamp(15px,1.7vw,25px);line-height:1.16;margin:4px 0 12px}
.km-hero-v13__promo span{color:#005ac0;font-weight:800}
.km-hero-v13__promo-image img{width:100%;height:125px;object-fit:contain}
.km-usp-v13{background:#f6f6f6;margin:12px auto 0}
.km-section{padding:24px 0}
.km-section__head h2:before{background:var(--red)}
.ks-card{border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.045);border:1px solid #e4e6ea}
.ks-card__body{padding:0 12px 14px}
.ks-card__title{font-weight:700;font-size:13px;min-height:52px}
.ks-card__meta{font-size:11px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.ks-card__sku{grid-column:1/-1;color:#364456}
.ks-card__meta span{padding:4px 5px;background:#f0f4f9}
.ks-card__foot .ks-price{color:#d90012;font-weight:800}
.km-stock-chip--in,.ks-stock--in{background:#e4f8e8!important;color:#137730!important;font-weight:800;border-radius:5px;padding:3px 7px}
.km-stock-chip--out,.ks-stock--out{background:#ffe9e9;color:#a33}
.km-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.km-news-card{display:block;color:#17212e;border:1px solid #e6e8ed;border-radius:12px;overflow:hidden;padding-bottom:16px;background:white}
.km-news-card__image{height:180px;background:#f2f4f8;display:grid;place-items:center}
.km-news-card__image img{width:100%;height:100%;object-fit:contain}
.km-news-card small,.km-news-card h3,.km-news-card>span{margin:8px 14px;display:block}
.km-news-card small{color:#64748b}
.km-news-card h3{font-size:16px;line-height:1.4;margin-bottom:16px}
.km-news-card>span{color:#dc0010;font-weight:800}
.km-news-page{padding-top:30px;padding-bottom:50px}
.km-news-page__title{margin-top:38px}
.km-gallery__thumbs button.is-active{border-color:var(--red)}
.km-buybox__btn,.km-sticky-buy .ks-btn{background:var(--red)!important;border-color:var(--red)!important}
.km-age-link{background:#ffda00!important;color:#191919!important;border-radius:8px}
@media(max-width:1000px){.km-hero-v13__grid{grid-template-columns:1fr}.km-hero-v13__side{grid-template-columns:1fr 1fr;grid-template-rows:auto}.km-hero-v13__promo{min-height:110px}}
@media(max-width:767px){
 .km-header__row{min-height:65px}.km-logo{min-width:0;max-width:210px}.km-logo img{max-height:50px}
 .km-hero-v13{padding:8px 0}.km-hero-v13__main{min-height:265px;grid-template-columns:1fr 40%}
 .km-hero-v13__copy{padding:18px 0 18px 18px}.km-hero-v13__main h1{font-size:clamp(23px,6vw,34px)}
 .km-hero-v13__copy p{font-size:12px}.km-hero-v13__button{padding:10px 12px;font-size:12px}
 .km-hero-v13__art{padding:3px}.km-hero-v13__art img{max-height:210px}
 .km-hero-v13__promo{min-height:96px;padding:12px}.km-hero-v13__promo strong{font-size:16px}.km-hero-v13__promo-image img{height:90px}
 .km-news-grid{grid-template-columns:1fr 1fr;gap:10px}.km-news-card__image{height:130px}
 .km-news-card h3{font-size:13px}.km-section{padding:17px 0}
 .ks-grid--shop{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ks-card__meta{display:flex;flex-wrap:wrap}.ks-card__sku{width:100%}
}
@media(max-width:420px){.km-hero-v13__side{grid-template-columns:1fr 1fr}.km-hero-v13__promo{grid-template-columns:1fr;min-height:115px}.km-hero-v13__promo-image{display:none}.km-news-grid{grid-template-columns:1fr 1fr}}
