/* =========================================================================
   KIDSGO — vaikų būrelių katalogas
   Dizaino tokenai + hero + "kelio" (journey) stepperis + rezultatų kortelės.
   Mobile-first. Signature elementas: 3-žingsnių kelias.
   ========================================================================= */

/* Tokenai :root lygyje — kad jais naudotųsi ir header/footer (už .kidsgo ribų). */
:root {
	/* Paletė — indigo + koralas, evoliucija: gyvesnė, šiltesnis fonas. */
	--kg-ink: #1E1B4B;
	--kg-primary: #4F46E5;
	--kg-primary-soft: #EEF0FF;
	--kg-accent: #FF6A3D;
	--kg-accent-2: #FF8A5B;
	--kg-accent-soft: #FFEAE1;
	--kg-sky: #0EA5C4;
	--kg-bg: #FAF7F2;          /* šiltas, ne grynai baltas */
	--kg-surface: #FFFFFF;
	--kg-line: #ECE7F3;
	--kg-text: #2B2A3C;
	--kg-muted: #6B6980;

	/* Kategorijų grupių spalvos (badge'ams) — 11 grupių. */
	--kg-cat1: #2563EB;  /* Sportas — mėlyna */
	--kg-cat2: #EC4899;  /* Menai — rožinė */
	--kg-cat3: #8B5CF6;  /* Muzika/scena — violetinė */
	--kg-cat4: #0EA5A8;  /* STEM — turkio */
	--kg-cat5: #F59E0B;  /* Ankstyvasis — gintaro */
	--kg-cat6: #D97706;  /* Gyvenimo įgūdžiai — oranžinė */
	--kg-cat7: #16A34A;  /* Gamta — žalia */
	--kg-cat8: #DB2777;  /* Šokiai — fuksija */
	--kg-cat9: #6366F1;  /* Esportas — indigo */
	--kg-cat10: #0891B2; /* Sezoninės — žydra */
	--kg-cat11: #CA8A04; /* Specializuoti — auksinė */

	/* Forma — apvalesni, draugiškesni kampai. */
	--kg-radius: 20px;
	--kg-radius-sm: 14px;
	--kg-shadow: 0 2px 4px rgba(30, 27, 75, .04), 0 16px 36px -16px rgba(30, 27, 75, .18);
	--kg-shadow-sm: 0 1px 3px rgba(30, 27, 75, .07);
	--kg-ease: cubic-bezier(.22, .61, .36, 1);
}

.kidsgo {
	font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	color: var(--kg-text);
	background: var(--kg-bg);
	line-height: 1.55;
	max-width: 1080px;
	margin-inline: auto;
	padding: clamp(20px, 5vw, 48px) clamp(16px, 4vw, 32px) 64px;
	-webkit-font-smoothing: antialiased;
}

.kidsgo *,
.kidsgo *::before,
.kidsgo *::after {
	box-sizing: border-box;
}

/* ---------- Hero ---------- */
.kg-hero {
	margin-bottom: clamp(28px, 5vw, 44px);
}

.kg-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 16px;
	padding: 6px 13px;
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--kg-primary);
	background: var(--kg-primary-soft);
	border-radius: 999px;
}

.kg-eyebrow::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--kg-accent);
}

.kg-hero__title {
	font-family: "Bricolage Grotesque", "Inter", sans-serif;
	font-weight: 800;
	font-size: clamp(30px, 6.5vw, 52px);
	line-height: 1.04;
	letter-spacing: -.02em;
	color: var(--kg-ink);
	margin: 0 0 16px;
}

.kg-accent {
	color: var(--kg-accent);
	white-space: nowrap;
}

.kg-hero__lead {
	font-size: clamp(15px, 2.2vw, 18px);
	color: var(--kg-muted);
	max-width: 52ch;
	margin: 0;
}

/* ---------- Kelias (užbaigtų žingsnių chip'ai) ---------- */
.kg-trail {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0 0 18px;
	padding: 0;
}

.kg-trail__chip {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 8px 8px 8px 14px;
	background: var(--kg-surface);
	border: 1px solid var(--kg-line);
	border-radius: 999px;
	box-shadow: var(--kg-shadow-sm);
	font-size: 14px;
	cursor: pointer;
	color: var(--kg-text);
	transition: border-color .18s var(--kg-ease), transform .18s var(--kg-ease);
	font: inherit;
}

.kg-trail__chip:hover {
	border-color: var(--kg-primary);
	transform: translateY(-1px);
}

.kg-trail__chip .kg-trail__label {
	color: var(--kg-muted);
	font-size: 12px;
}

.kg-trail__chip .kg-trail__value {
	font-weight: 600;
	color: var(--kg-ink);
}

.kg-trail__chip .kg-trail__edit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--kg-primary-soft);
	color: var(--kg-primary);
	font-size: 13px;
}

.kg-trail__sep {
	color: var(--kg-line);
	font-size: 14px;
	user-select: none;
}

/* ---------- Aktyvaus žingsnio plotas ---------- */
.kg-stage {
	position: relative;
}

.kg-step {
	background: var(--kg-surface);
	border: 1px solid var(--kg-line);
	border-radius: var(--kg-radius);
	box-shadow: var(--kg-shadow);
	padding: clamp(20px, 4vw, 32px);
	animation: kg-reveal .42s var(--kg-ease) both;
}

@keyframes kg-reveal {
	from { opacity: 0; transform: translateY(14px); }
	to   { opacity: 1; transform: translateY(0); }
}

.kg-step__head {
	display: flex;
	align-items: center;
	gap: 13px;
	margin-bottom: 22px;
}

.kg-step__num {
	flex: none;
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 11px;
	background: var(--kg-ink);
	color: #fff;
	font-family: "Bricolage Grotesque", sans-serif;
	font-weight: 700;
	font-size: 16px;
}

.kg-step__title {
	font-family: "Bricolage Grotesque", "Inter", sans-serif;
	font-weight: 700;
	font-size: clamp(19px, 3vw, 24px);
	letter-spacing: -.01em;
	color: var(--kg-ink);
	margin: 0;
}

/* ---------- Pasirinkimai (miestas) ---------- */
.kg-choices {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.kg-choice {
	font: inherit;
	font-weight: 600;
	font-size: 15px;
	padding: 12px 20px;
	border: 1.5px solid var(--kg-line);
	border-radius: var(--kg-radius-sm);
	background: var(--kg-surface);
	color: var(--kg-ink);
	cursor: pointer;
	transition: border-color .18s var(--kg-ease), background .18s var(--kg-ease), transform .12s var(--kg-ease);
}

.kg-choice:hover {
	border-color: var(--kg-primary);
	background: var(--kg-primary-soft);
}

.kg-choice:active {
	transform: scale(.97);
}

.kg-choice[aria-pressed="true"] {
	border-color: var(--kg-primary);
	background: var(--kg-primary);
	color: #fff;
}

/* ---------- Amžiaus žingsnis ---------- */
.kg-age {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.kg-age__row {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}

.kg-age__value {
	font-family: "Bricolage Grotesque", sans-serif;
	font-weight: 800;
	font-size: 44px;
	line-height: 1;
	color: var(--kg-primary);
	min-width: 2ch;
	text-align: center;
}

.kg-age__unit {
	color: var(--kg-muted);
	font-size: 15px;
}

.kg-genderwrap { display: flex; flex-direction: column; gap: 8px; }
.kg-gender__label { font-size: 13px; font-weight: 600; color: var(--kg-ink); }

.kg-range {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	max-width: 420px;
	height: 8px;
	border-radius: 999px;
	background: linear-gradient(to right, var(--kg-primary) 0%, var(--kg-primary) var(--kg-fill, 30%), var(--kg-line) var(--kg-fill, 30%), var(--kg-line) 100%);
	cursor: pointer;
}

.kg-range::-webkit-slider-thumb {
	-webkit-appearance: none;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #fff;
	border: 4px solid var(--kg-primary);
	box-shadow: var(--kg-shadow-sm);
	cursor: grab;
}

.kg-range::-moz-range-thumb {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #fff;
	border: 4px solid var(--kg-primary);
	box-shadow: var(--kg-shadow-sm);
	cursor: grab;
}

/* ---------- Kategorijų žingsnis ---------- */
.kg-groups {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.kg-group {
	border: 1px solid var(--kg-line);
	border-radius: var(--kg-radius-sm);
	overflow: hidden;
	background: var(--kg-surface);
}

.kg-group__btn {
	font: inherit;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 15px 18px;
	background: none;
	border: 0;
	cursor: pointer;
	text-align: left;
	color: var(--kg-ink);
	font-weight: 600;
	font-size: 16px;
}

.kg-group__btn:hover {
	background: var(--kg-primary-soft);
}

.kg-group__meta {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--kg-muted);
	font-weight: 500;
	font-size: 13px;
}

.kg-group__chev {
	transition: transform .25s var(--kg-ease);
	color: var(--kg-primary);
}

.kg-group[open] .kg-group__chev {
	transform: rotate(180deg);
}

.kg-subs {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
	padding: 4px 14px 16px;
}

.kg-sub {
	font: inherit;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 11px 14px;
	border: 1px solid var(--kg-line);
	border-radius: 10px;
	background: var(--kg-bg);
	cursor: pointer;
	color: var(--kg-text);
	transition: border-color .16s var(--kg-ease), background .16s var(--kg-ease);
}

.kg-sub:hover {
	border-color: var(--kg-primary);
	background: var(--kg-primary-soft);
}

.kg-sub[aria-pressed="true"] {
	border-color: var(--kg-primary);
	background: var(--kg-primary);
	color: #fff;
}

.kg-sub__count {
	font-size: 12px;
	font-weight: 600;
	color: var(--kg-sky);
	background: rgba(6, 182, 212, .1);
	padding: 2px 9px;
	border-radius: 999px;
}

.kg-sub[aria-pressed="true"] .kg-sub__count {
	color: #fff;
	background: rgba(255, 255, 255, .22);
}

/* ---------- Rezultatai ---------- */
.kg-results {
	margin-top: clamp(28px, 5vw, 44px);
	animation: kg-reveal .42s var(--kg-ease) both;
}

.kg-results__head {
	display: flex;
	align-items: baseline;
	gap: 12px;
	margin-bottom: 18px;
}

.kg-results__title {
	font-family: "Bricolage Grotesque", "Inter", sans-serif;
	font-weight: 700;
	font-size: clamp(20px, 3vw, 26px);
	color: var(--kg-ink);
	margin: 0;
}

.kg-results__count {
	color: var(--kg-muted);
	font-size: 14px;
}

.kg-cards {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
}

.kg-card {
	display: flex;
	flex-direction: column;
	background: var(--kg-surface);
	border: 1px solid var(--kg-line);
	border-radius: var(--kg-radius);
	box-shadow: var(--kg-shadow-sm);
	overflow: hidden;
	transition: transform .2s var(--kg-ease), box-shadow .2s var(--kg-ease), border-color .2s var(--kg-ease);
	animation: kg-reveal .4s var(--kg-ease) both;
}

.kg-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--kg-shadow);
	border-color: var(--kg-primary-soft);
}

.kg-card__media {
	height: 132px;
	background: linear-gradient(135deg, var(--kg-ink), var(--kg-primary));
	position: relative;
	flex: none;
}

.kg-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.kg-card__tag {
	position: absolute;
	left: 12px;
	top: 12px;
	font-size: 12px;
	font-weight: 600;
	color: var(--kg-ink);
	background: rgba(255, 255, 255, .92);
	padding: 4px 11px;
	border-radius: 999px;
	backdrop-filter: blur(4px);
}

.kg-card__body {
	padding: 16px 18px 18px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
}

.kg-card__title {
	font-family: "Bricolage Grotesque", "Inter", sans-serif;
	font-weight: 700;
	font-size: 17px;
	color: var(--kg-ink);
	margin: 0;
	line-height: 1.25;
}

.kg-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
	font-size: 13px;
	color: var(--kg-muted);
}

.kg-card__meta span {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.kg-card__desc {
	font-size: 14px;
	color: var(--kg-text);
	margin: 2px 0 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.kg-card__foot {
	margin-top: auto;
	padding-top: 12px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.kg-card__price {
	font-weight: 700;
	color: var(--kg-ink);
	font-size: 15px;
}

.kg-card__verified {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 12px;
	font-weight: 600;
	color: #0E9F6E;
}

/* ---------- Tuščia būsena ---------- */
.kg-empty {
	text-align: center;
	padding: 44px 20px;
	color: var(--kg-muted);
	border: 1.5px dashed var(--kg-line);
	border-radius: var(--kg-radius);
	background: var(--kg-surface);
}

.kg-empty strong {
	display: block;
	color: var(--kg-ink);
	font-size: 17px;
	margin-bottom: 6px;
	font-family: "Bricolage Grotesque", sans-serif;
}

/* ---------- Skeleton (kraunant) ---------- */
.kg-skeleton {
	display: inline-block;
	width: 92px;
	height: 44px;
	border-radius: var(--kg-radius-sm);
	background: linear-gradient(90deg, var(--kg-line) 25%, #f4f3fb 50%, var(--kg-line) 75%);
	background-size: 200% 100%;
	animation: kg-shimmer 1.3s infinite;
}

@keyframes kg-shimmer {
	to { background-position: -200% 0; }
}

/* ---------- Tik ekrano skaitytuvui ---------- */
.kidsgo .kg-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* ---------- Fokusas (klaviatūra) ---------- */
.kidsgo button:focus-visible,
.kidsgo [tabindex]:focus-visible,
.kg-range:focus-visible {
	outline: 3px solid var(--kg-accent);
	outline-offset: 2px;
}

/* ---------- Responsyvumas ---------- */
@media (min-width: 560px) {
	.kg-subs { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 720px) {
	.kg-cards { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 980px) {
	.kg-cards { grid-template-columns: 1fr 1fr 1fr; }
}

/* ---------- Kortelės nuoroda ---------- */
.kg-card__link {
	color: inherit;
	text-decoration: none;
}
.kg-card__link:hover { color: var(--kg-primary); }

/* ---------- Mygtukai ---------- */
.kg-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font: inherit;
	font-weight: 600;
	font-size: 15px;
	padding: 12px 22px;
	border-radius: var(--kg-radius-sm);
	border: 1.5px solid transparent;
	cursor: pointer;
	text-decoration: none;
	transition: transform .12s var(--kg-ease), background .18s var(--kg-ease), border-color .18s var(--kg-ease);
}
.kg-btn:active { transform: scale(.98); }
.kg-btn--primary { background: var(--kg-primary); color: #fff; }
.kg-btn--primary:hover { background: #4338CA; }
.kg-btn--ghost { background: var(--kg-surface); color: var(--kg-ink); border-color: var(--kg-line); }
.kg-btn--ghost:hover { border-color: var(--kg-primary); color: var(--kg-primary); }

/* ---------- Profilio puslapis ---------- */
.kg-back {
	display: inline-block;
	margin-bottom: 18px;
	color: var(--kg-primary);
	text-decoration: none;
	font-weight: 600;
	font-size: 14px;
}
.kg-back:hover { text-decoration: underline; }

.kg-profile {
	background: var(--kg-surface);
	border: 1px solid var(--kg-line);
	border-radius: var(--kg-radius);
	box-shadow: var(--kg-shadow);
	padding: clamp(20px, 4vw, 40px);
}
.kg-profile__crumbs {
	display: flex; gap: 8px; flex-wrap: wrap;
	color: var(--kg-muted); font-size: 13px; font-weight: 500; margin-bottom: 10px;
}
.kg-profile__title {
	font-family: "Bricolage Grotesque", "Inter", sans-serif;
	font-weight: 800; font-size: clamp(26px, 5vw, 40px); line-height: 1.08;
	letter-spacing: -.02em; color: var(--kg-ink); margin: 0 0 16px;
}
.kg-profile__meta {
	display: flex; flex-wrap: wrap; gap: 8px 18px;
	color: var(--kg-muted); font-size: 14px; margin-bottom: 8px;
}
.kg-profile__media {
	margin: 20px 0; border-radius: var(--kg-radius); overflow: hidden;
	aspect-ratio: 16 / 9; background: var(--kg-primary-soft);
}
.kg-profile__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kg-profile__sec { margin-top: 26px; }
.kg-profile__sec h2 {
	font-family: "Bricolage Grotesque", "Inter", sans-serif;
	font-size: 19px; color: var(--kg-ink); margin: 0 0 12px;
}
.kg-profile__sec p { margin: 0; color: var(--kg-text); }
.kg-muted { color: var(--kg-muted); }

.kg-contacts { display: grid; grid-template-columns: auto 1fr; gap: 8px 20px; margin: 0; }
.kg-contacts dt { color: var(--kg-muted); font-size: 14px; }
.kg-contacts dd { margin: 0; color: var(--kg-ink); font-weight: 500; }
.kg-contacts a { color: var(--kg-primary); }

/* ---------- Claim blokas + formos ---------- */
.kg-claim {
	margin-top: 28px; padding: clamp(18px, 3vw, 28px);
	background: var(--kg-primary-soft);
	border: 1px solid var(--kg-line); border-radius: var(--kg-radius);
}
.kg-claim--done { background: #E9F8F0; }
.kg-claim__title {
	font-family: "Bricolage Grotesque", "Inter", sans-serif;
	font-size: 20px; color: var(--kg-ink); margin: 0 0 6px;
}
.kg-claim__actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }

.kg-form { display: flex; flex-direction: column; gap: 14px; margin-top: 16px; max-width: 620px; }
.kg-field { display: flex; flex-direction: column; gap: 6px; }
.kg-field > span { font-size: 13px; font-weight: 600; color: var(--kg-ink); }
.kg-field input,
.kg-field textarea {
	font: inherit; font-size: 15px; padding: 11px 14px;
	border: 1.5px solid var(--kg-line); border-radius: var(--kg-radius-sm);
	background: var(--kg-surface); color: var(--kg-text); width: 100%;
}
.kg-field input:focus,
.kg-field textarea:focus { outline: none; border-color: var(--kg-primary); }
.kg-field textarea { resize: vertical; }

.kg-grid2 { display: grid; grid-template-columns: 1fr; gap: 14px; }
@media (min-width: 640px) { .kg-grid2 { grid-template-columns: 1fr 1fr; } }

/* ---------- Mano profilis (redagavimas) ---------- */
.kg-edit {
	max-width: none;
	background: var(--kg-surface); border: 1px solid var(--kg-line);
	border-radius: var(--kg-radius); box-shadow: var(--kg-shadow-sm);
	padding: clamp(18px, 3vw, 28px); margin-bottom: 20px;
}
.kg-edit__head { margin-bottom: 8px; }
.kg-edit__head h2 {
	font-family: "Bricolage Grotesque", "Inter", sans-serif;
	font-size: 20px; color: var(--kg-ink); margin: 0 0 2px;
}
.kg-edit__locked {
	font-size: 13px; color: var(--kg-muted);
	background: var(--kg-bg); border: 1px dashed var(--kg-line);
	border-radius: 10px; padding: 10px 12px; margin: 12px 0 4px;
}

/* ---------- Pranešimai ---------- */
.kg-note {
	padding: 13px 16px; border-radius: var(--kg-radius-sm);
	font-size: 14px; margin-bottom: 16px;
	background: var(--kg-primary-soft); color: var(--kg-ink);
	border: 1px solid var(--kg-line);
}
.kg-note--ok { background: #E9F8F0; border-color: #BfE9D2; color: #0E6B43; }
.kg-note--err { background: var(--kg-accent-soft); border-color: #FFD3C8; color: #B23316; }

/* ---------- Importo suvestinė ---------- */
.kg-summary { list-style: none; padding: 0; margin: 0 0 16px; display: grid; gap: 6px; }
.kg-summary li {
	padding: 10px 14px; background: var(--kg-surface);
	border: 1px solid var(--kg-line); border-radius: 10px; font-size: 14px;
}
.kg-errors { margin-bottom: 16px; }
.kg-errors summary { cursor: pointer; font-weight: 600; color: var(--kg-accent); margin-bottom: 8px; }
.kg-errors ul { margin: 0; padding-left: 20px; color: var(--kg-text); font-size: 14px; }

/* =========================================================================
   SESIJA 2 — header, footer, tab'ai, „Visi būreliai", auth, kategorijų spalvos
   ========================================================================= */

/* ---------- Kategorijų spalvoti ženkleliai kortelėse ---------- */
.kg-card__ph {
	position: absolute; inset: 0; display: grid; place-items: center;
	font-family: "Bricolage Grotesque", sans-serif; font-weight: 800;
	font-size: 46px; color: rgba(255,255,255,.9);
}
.kg-card .kg-card__media { background: linear-gradient(135deg, var(--kg-ink), var(--kg-primary)); }
.kg-cat-1  .kg-card__media { background: linear-gradient(135deg, var(--kg-cat1),  #1E40AF); }
.kg-cat-2  .kg-card__media { background: linear-gradient(135deg, var(--kg-cat2),  #9D174D); }
.kg-cat-3  .kg-card__media { background: linear-gradient(135deg, var(--kg-cat3),  #5B21B6); }
.kg-cat-4  .kg-card__media { background: linear-gradient(135deg, var(--kg-cat4),  #115E59); }
.kg-cat-5  .kg-card__media { background: linear-gradient(135deg, var(--kg-cat5),  #B45309); }
.kg-cat-6  .kg-card__media { background: linear-gradient(135deg, var(--kg-cat6),  #92400E); }
.kg-cat-7  .kg-card__media { background: linear-gradient(135deg, var(--kg-cat7),  #166534); }
.kg-cat-8  .kg-card__media { background: linear-gradient(135deg, var(--kg-cat8),  #9D174D); }
.kg-cat-9  .kg-card__media { background: linear-gradient(135deg, var(--kg-cat9),  #3730A3); }
.kg-cat-10 .kg-card__media { background: linear-gradient(135deg, var(--kg-cat10), #155E75); }
.kg-cat-11 .kg-card__media { background: linear-gradient(135deg, var(--kg-cat11), #854D0E); }
.kg-card__tag { color: var(--kg-ink); }

/* ---------- HEADER ---------- */
.kg-header {
	position: sticky; top: 0; z-index: 100;
	background: rgba(255,255,255,.88);
	backdrop-filter: saturate(140%) blur(10px);
	border-bottom: 1px solid var(--kg-line);
	font-family: "Inter", system-ui, sans-serif;
}
.kg-header__inner {
	max-width: 1140px; margin-inline: auto;
	padding: 12px clamp(16px, 4vw, 32px);
	display: flex; align-items: center; gap: 16px;
}
.kg-logo { text-decoration: none; flex: none; display: inline-flex; align-items: center; }
.kg-logo__mark {
	font-family: "Bricolage Grotesque", sans-serif; font-weight: 800;
	font-size: 24px; letter-spacing: -.02em; line-height: 1;
}
.kg-logo__kids { color: var(--kg-ink); }
.kg-logo__go { color: var(--kg-accent); }
.kg-logo__img { height: 52px; width: auto; display: block; }
.kg-footer__brand .kg-logo__img { height: 76px; width: auto; }

.kg-nav {
	margin-left: auto; display: flex; align-items: center; gap: 6px;
}
.kg-nav > a {
	color: var(--kg-text); text-decoration: none; font-weight: 600; font-size: 15px;
	padding: 9px 14px; border-radius: 999px; transition: background .15s var(--kg-ease), color .15s var(--kg-ease);
}
.kg-nav > a:hover { background: var(--kg-primary-soft); color: var(--kg-primary); }
.kg-nav__cta { margin-left: 6px; padding: 10px 18px !important; }

.kg-burger {
	display: none; margin-left: auto; width: 44px; height: 44px;
	background: none; border: 0; cursor: pointer; flex-direction: column;
	gap: 5px; align-items: center; justify-content: center;
}
.kg-burger span { width: 22px; height: 2px; background: var(--kg-ink); border-radius: 2px; transition: .2s var(--kg-ease); }
.kg-burger--open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.kg-burger--open span:nth-child(2) { opacity: 0; }
.kg-burger--open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Vartotojo dropdown */
.kg-user { position: relative; margin-left: 6px; }
.kg-user__btn {
	display: inline-flex; align-items: center; gap: 8px; font: inherit; cursor: pointer;
	background: var(--kg-surface); border: 1.5px solid var(--kg-line); border-radius: 999px;
	padding: 6px 12px 6px 6px; font-weight: 600; color: var(--kg-ink);
}
.kg-user__btn:hover { border-color: var(--kg-primary); }
.kg-user__avatar {
	width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center;
	background: var(--kg-primary); color: #fff; font-weight: 700; font-size: 14px;
}
.kg-user__name { max-width: 140px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kg-user__menu {
	position: absolute; right: 0; top: calc(100% + 8px); min-width: 180px;
	background: var(--kg-surface); border: 1px solid var(--kg-line); border-radius: 14px;
	box-shadow: var(--kg-shadow); padding: 6px; display: none;
}
.kg-user--open .kg-user__menu { display: block; }
.kg-user__menu a {
	display: block; padding: 10px 12px; border-radius: 9px; text-decoration: none;
	color: var(--kg-text); font-weight: 500; font-size: 14px;
}
.kg-user__menu a:hover { background: var(--kg-primary-soft); color: var(--kg-primary); }

@media (max-width: 760px) {
	.kg-burger { display: flex; }
	.kg-nav {
		position: fixed; inset: 0 0 0 auto; width: min(80vw, 320px);
		background: var(--kg-surface); flex-direction: column; align-items: stretch;
		padding: 84px 18px 24px; gap: 4px; box-shadow: var(--kg-shadow);
		transform: translateX(100%); transition: transform .26s var(--kg-ease);
		margin-left: 0;
	}
	.kg-nav--open { transform: translateX(0); }
	.kg-nav > a { padding: 13px 16px; border-radius: 12px; }
	.kg-nav__cta { margin: 8px 0 0 !important; text-align: center; justify-content: center; }
	.kg-user { margin: 8px 0 0; }
	.kg-user__menu { position: static; display: block; box-shadow: none; border: 0; padding: 0; }
}

/* ---------- FOOTER ---------- */
.kg-footer {
	background: var(--kg-ink); color: #C9C7E0;
	font-family: "Inter", system-ui, sans-serif; margin-top: 64px;
}
.kg-footer__inner {
	max-width: 1140px; margin-inline: auto; padding: 48px clamp(16px, 4vw, 32px) 32px;
	display: grid; grid-template-columns: 1fr; gap: 28px;
}
.kg-footer__brand .kg-logo__kids { color: #fff; }
.kg-footer__brand p { margin: 12px 0 0; font-size: 14px; max-width: 34ch; color: #A9A6C8; }
.kg-footer__col h4 { color: #fff; font-size: 14px; margin: 0 0 12px; font-family: "Bricolage Grotesque", sans-serif; }
.kg-footer__col a { display: block; color: #C9C7E0; text-decoration: none; font-size: 14px; padding: 4px 0; }
.kg-footer__col a:hover { color: #fff; }
.kg-footer__bottom {
	border-top: 1px solid rgba(255,255,255,.12);
	max-width: 1140px; margin-inline: auto; padding: 18px clamp(16px, 4vw, 32px);
	display: flex; flex-wrap: wrap; gap: 8px 18px; justify-content: space-between;
	font-size: 13px; color: #8F8CB0;
}
.kg-footer__bottom a { color: #8F8CB0; text-decoration: none; }
.kg-footer__bottom a:hover { color: #fff; }
@media (min-width: 720px) {
	.kg-footer__inner { grid-template-columns: 2fr 1fr 1fr 1fr; gap: 32px; }
}

/* ---------- Tab'ai (filtrai / visi) ---------- */
.kg-tabs { display: inline-flex; gap: 4px; background: var(--kg-primary-soft); padding: 5px; border-radius: 999px; margin-bottom: 24px; }
.kg-tab {
	padding: 9px 18px; border-radius: 999px; text-decoration: none; font-weight: 600;
	font-size: 14px; color: var(--kg-primary); transition: background .15s var(--kg-ease), color .15s var(--kg-ease);
}
.kg-tab[aria-current="page"] { background: var(--kg-primary); color: #fff; box-shadow: var(--kg-shadow-sm); }

/* ---------- Hero kompaktinis (visi puslapyje) ---------- */
.kg-hero--compact { margin-bottom: 20px; }

/* ---------- „Visi būreliai" filtrai ---------- */
.kg-vfilters { display: grid; grid-template-columns: 1fr; gap: 10px; margin-bottom: 18px; }
@media (min-width: 640px) { .kg-vfilters { grid-template-columns: 1fr 1fr; } }
@media (min-width: 900px) { .kg-vfilters { grid-template-columns: 2fr 1fr 1fr 1fr; } }
.kg-search { position: relative; }
.kg-search__icon { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); opacity: .6; }
.kg-search input {
	width: 100%; font: inherit; font-size: 15px; padding: 13px 14px 13px 42px;
	border: 1.5px solid var(--kg-line); border-radius: var(--kg-radius-sm); background: var(--kg-surface);
}
.kg-search input:focus { outline: none; border-color: var(--kg-primary); }
.kg-select {
	font: inherit; font-size: 15px; padding: 13px 14px; border: 1.5px solid var(--kg-line);
	border-radius: var(--kg-radius-sm); background: var(--kg-surface); color: var(--kg-text); cursor: pointer;
}
.kg-select:focus { outline: none; border-color: var(--kg-primary); }
.kg-vcount { color: var(--kg-muted); font-size: 14px; margin: 0 0 14px; }
.kg-vmore { text-align: center; margin-top: 26px; }

/* ---------- Auth (login/register) ---------- */
.kidsgo--auth { max-width: 460px; }
.kg-auth {
	background: var(--kg-surface); border: 1px solid var(--kg-line);
	border-radius: var(--kg-radius); box-shadow: var(--kg-shadow);
	padding: clamp(24px, 5vw, 40px);
}
.kg-auth__title {
	font-family: "Bricolage Grotesque", "Inter", sans-serif; font-weight: 800;
	font-size: 28px; color: var(--kg-ink); margin: 0 0 6px; letter-spacing: -.02em;
}
.kg-auth .kg-form { max-width: none; }
.kg-btn--block { width: 100%; justify-content: center; margin-top: 4px; }
.kg-check { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--kg-muted); }
.kg-check input { width: 16px; height: 16px; accent-color: var(--kg-primary); }
.kg-hint { color: var(--kg-muted); font-size: 12px; }
.kg-auth__alt { margin-top: 18px; font-size: 14px; color: var(--kg-muted); display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.kg-auth__alt a { color: var(--kg-primary); text-decoration: none; font-weight: 600; }
.kg-auth__alt a:hover { text-decoration: underline; }

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
	.kidsgo *,
	.kidsgo *::before,
	.kidsgo *::after,
	.kg-header *,
	.kg-nav {
		animation-duration: .001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .001ms !important;
	}
}
