/* ==========================================================================
   Keturkojai.lt — design system
   Ink on sage. Species colour-coding: dog = persimmon, cat = lilac, other = lime.
   ========================================================================== */ :root {
	--kk-ink: #14231F;
	--kk-ink-2: #3C4E49;
	--kk-ground: #F2F3EE;
	--kk-surface: #FFFFFF;
	--kk-line: #D9DCD3;
	--kk-line-soft: #E6E8E1;
	--kk-muted: #55625D;
	--kk-on-ink: #F2F3EE;
	--kk-on-ink-muted: #C9D0CB;

	--kk-dog: #FF6A3D;
	--kk-dog-soft: #FFD3C2;
	--kk-dog-text: #B83A12;
	--kk-cat: #C3B5FF;
	--kk-cat-soft: #E4DDFF;
	--kk-cat-dot: #9C87FF;
	--kk-other: #D7F26A;
	--kk-other-soft: #EEF8C4;
	--kk-other-dot: #A9CC1F;

	--kk-display: "Bricolage Grotesque", "Onest", system-ui, sans-serif;
	--kk-body: "Onest", system-ui, -apple-system, "Segoe UI", sans-serif;
	--kk-mono: "JetBrains Mono", ui-monospace, Menlo, monospace;

	--kk-r-sm: 12px;
	--kk-r-md: 20px;
	--kk-r-lg: 28px;
	--kk-r-xl: 36px;
	--kk-shadow: 6px 6px 0 var(--kk-ink);
	--kk-container: 1280px;
	--kk-gutter: clamp(16px, 4vw, 32px);
}

/* ---------- Base ---------- */ :root:root body.kk-site {
	background: var(--kk-ground);
	color: var(--kk-ink);
	font-family: var(--kk-body);
	font-size: 16px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}
:root:root body.kk-site a { color: inherit; }
:root:root body.kk-site a:hover { color: var(--kk-dog-text); }
:root:root body.kk-site :focus-visible { outline: 3px solid var(--kk-ink); outline-offset: 3px; border-radius: 6px; }
:root:root body.kk-site img { max-width: 100%; height: auto; }

/* Neutral start for plugin buttons and fields, so theme / Elementor Site Settings button styles
   (pink border, uppercase, hover fill) never leak in. Specificity (0,3,0): above themes, and the
   component rules below win by order. */ :root:root [class]:where(.kk-btn, :root:root .kk-icon-btn, :root:root .kk-search-trigger, :root:root .kk-nav__toggle, :root:root .kk-answer, :root:root .kk-matcher__back, :root:root .kk-search__esc, :root:root .kk-tray__clear, :root:root .kk-tab, :root:root .kk-tabs [role="tab"], :root:root .kk-pill, :root:root .kk-chip, :root:root .kk-save, :root:root .kk-share, :root:root .kk-feedback button, :root:root .kk-searchbar button) {
	background: none; border: 0; border-radius: 0; box-shadow: none; color: inherit;
	font: inherit; letter-spacing: inherit; text-transform: none; text-shadow: none; text-decoration: none;
	padding: 0; margin: 0; min-height: 0; line-height: inherit; transition: none; white-space: normal;
}
:root:root [class]:where(.kk-search__input, :root:root .kk-searchbar input, :root:root .kk-newsletter__form input, :root:root .kk-filter select, :root:root .kk-toolbar__sort select) {
	box-shadow: none; text-transform: none; letter-spacing: normal; width: auto; max-width: 100%;
}

:root:root .kk-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
:root:root .kk-icon { flex: none; vertical-align: middle; }
:root:root .kk-kicker { display: inline-flex; align-items: center; gap: 6px; font-family: var(--kk-mono); font-size: 12px; font-weight: 400; letter-spacing: .08em; text-transform: uppercase; color: var(--kk-muted); line-height: 1.4; }
:root:root .kk-kicker--lg { font-size: 13px; letter-spacing: .06em; margin: 0; }
:root:root .kk-muted { color: var(--kk-muted); }
:root:root .kk-small { font-size: 14px; }
:root:root .kk-mono { font-family: var(--kk-mono); font-weight: 600; }
:root:root .kk-lead { font-size: clamp(17px, 1.4vw, 19px); color: var(--kk-muted); max-width: 640px; margin: 0; line-height: 1.5; }
:root:root .kk-lead--ink { color: var(--kk-ink); }
:root:root .kk-h2, :root:root .kk-h3, :root:root .kk-h4, :root:root .kk-display { font-family: var(--kk-display); color: var(--kk-ink); margin: 0; }
:root:root .kk-h2 { font-weight: 700; font-size: clamp(28px, 3.2vw, 44px); letter-spacing: -.03em; line-height: 1.05; }
:root:root .kk-h3 { font-weight: 700; font-size: 24px; letter-spacing: -.02em; line-height: 1.15; }
:root:root .kk-h4 { font-weight: 700; font-size: 20px; letter-spacing: -.015em; line-height: 1.2; }
:root:root .kk-display { font-weight: 800; font-size: clamp(42px, 6vw, 84px); letter-spacing: -.045em; line-height: .92; }
:root:root .kk-display--md { font-size: clamp(32px, 4vw, 54px); letter-spacing: -.035em; line-height: 1; }
:root:root .kk-count { display: inline-block; font-family: var(--kk-mono); font-size: max(14px, .26em); letter-spacing: 0; vertical-align: super; background: var(--kk-dog); padding: 4px 10px; border-radius: 8px; line-height: 1.2; }
:root:root .kk-mark { display: inline-block; background: var(--kk-dog); padding: 0 .14em; border-radius: .2em; transform: rotate(-2deg); }
:root:root .kk-mb { margin-bottom: 20px !important; }
:root:root .kk-mb-sm { margin-bottom: 16px !important; }
:root:root .kk-link-strong { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1.5px; }

:root:root .kk-section-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 24px; }
:root:root .kk-section-head__text { display: flex; flex-direction: column; gap: 8px; }
:root:root .kk-section-head__text--row { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 20px; }
:root:root .kk-section-head__sub { margin: 0; color: var(--kk-muted); max-width: 420px; }

/* ---------- Buttons, pills, chips ---------- */ :root:root .kk-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 12px 20px; border-radius: 14px; border: 2px solid transparent; font-family: var(--kk-body); font-size: 16px; font-weight: 700; line-height: 1.2; text-decoration: none !important; cursor: pointer; transition: transform .12s ease, box-shadow .12s ease, background .12s ease; box-sizing: border-box; }
:root:root .kk-btn:active { transform: translate(2px, 2px); }
:root:root .kk-btn--ink { background: var(--kk-ink); color: var(--kk-on-ink) !important; }
:root:root .kk-btn--ink:hover { background: #24382F; }
:root:root .kk-btn--accent { background: var(--kk-dog); color: var(--kk-ink) !important; }
:root:root .kk-btn--accent:hover { background: #FF7F59; }
:root:root .kk-btn--lime { background: var(--kk-other); color: var(--kk-ink) !important; }
:root:root .kk-btn--lilac { background: var(--kk-cat); color: var(--kk-ink) !important; }
:root:root .kk-btn--outline { background: var(--kk-surface); color: var(--kk-ink) !important; border-color: var(--kk-ink); font-weight: 600; }
:root:root .kk-btn--outline:hover { background: var(--kk-ground); }
:root:root .kk-btn--shadow { box-shadow: 4px 4px 0 var(--kk-ink); border-color: var(--kk-ink); }
:root:root .kk-btn--shadow-lime { box-shadow: 5px 5px 0 var(--kk-other); }
:root:root .kk-btn--sm { min-height: 40px; padding: 8px 14px; font-size: 14px; border-radius: 10px; }
:root:root .kk-btn--block { width: 100%; }
:root:root .kk-btnrow { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
:root:root .kk-btn[aria-pressed="true"] { background: var(--kk-dog-soft); }

:root:root .kk-icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; border: 1.5px solid var(--kk-ink); background: var(--kk-surface); color: var(--kk-ink) !important; text-decoration: none !important; cursor: pointer; flex: none; font-weight: 700; font-size: 14px; }
:root:root .kk-icon-btn--accent { background: var(--kk-dog); border-color: var(--kk-dog); }
:root:root .kk-icon-btn--dark { background: transparent; border-color: var(--kk-ink-2); color: var(--kk-on-ink) !important; }
:root:root .kk-icon-btn[aria-pressed="true"] { background: var(--kk-dog-soft); }

:root:root .kk-pill { display: inline-flex; align-items: center; min-height: 40px; padding: 8px 15px; border: 1.5px solid var(--kk-ink); border-radius: 999px; background: var(--kk-surface); font-size: 14px; font-weight: 500; text-decoration: none !important; color: var(--kk-ink) !important; white-space: nowrap; box-sizing: border-box; }
:root:root .kk-pill:hover, :root:root .kk-pill.is-active { background: var(--kk-other); }
:root:root .kk-pill.is-active { font-weight: 700; }
:root:root .kk-chiprow { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }

:root:root .kk-chip { display: inline-flex; align-items: center; gap: 4px; padding: 4px 11px; border-radius: 999px; font-size: 13px; font-weight: 600; line-height: 1.35; text-decoration: none !important; color: var(--kk-ink) !important; background: var(--kk-line-soft); }
:root:root .kk-chip--dog { background: var(--kk-dog); }
:root:root .kk-chip--cat { background: var(--kk-cat); }
:root:root .kk-chip--other { background: var(--kk-other); }
:root:root .kk-chip--neutral { background: var(--kk-surface); border: 1.5px solid var(--kk-ink); }
:root:root .kk-chip--outline { background: transparent; border: 1.5px solid var(--kk-ink); font-weight: 500; }
:root:root .kk-chip--ink { background: var(--kk-ink); color: var(--kk-on-ink) !important; }
:root:root .kk-chip--sponsored { background: transparent; border: 1.5px dashed var(--kk-ink); }
:root:root .kk-chip--remove { padding: 6px 12px; font-weight: 500; }
:root:root .kk-chip--remove:hover { background: var(--kk-ink-2); }

:root:root .kk-tabs { display: inline-flex; gap: 2px; padding: 4px; background: var(--kk-surface); border: 1.5px solid var(--kk-line); border-radius: 999px; }
:root:root .kk-tabs button, :root:root .kk-tabs a { min-height: 42px; padding: 9px 18px; border: 0; border-radius: 999px; background: transparent; font: inherit; font-weight: 600; color: var(--kk-ink) !important; cursor: pointer; text-decoration: none !important; display: inline-flex; align-items: center; }
:root:root .kk-tabs button[aria-selected="true"] { background: var(--kk-ink); color: var(--kk-on-ink) !important; }
:root:root .kk-tabs--links a.is-active.kk-tone--dog { background: var(--kk-dog); }
:root:root .kk-tabs--links a.is-active.kk-tone--cat { background: var(--kk-cat); }
:root:root .kk-tabs--links a.is-active.kk-tone--other { background: var(--kk-other); }

/* ---------- Media placeholders & tones ---------- */ :root:root .kk-ph { display: block; width: 100%; height: 100%; min-height: inherit; background-color: var(--kk-line-soft); background-image: repeating-linear-gradient(135deg, rgba(20, 35, 31, .08) 0 2px, transparent 2px 14px); }
:root:root .kk-tone--dog .kk-ph { background-color: var(--kk-dog-soft); }
:root:root .kk-tone--cat .kk-ph { background-color: var(--kk-cat-soft); }
:root:root .kk-tone--other .kk-ph { background-color: var(--kk-other-soft); }
:root:root .kk-img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* ---------- Meter ---------- */ :root:root .kk-meter { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; width: 100%; }
:root:root .kk-meter__seg { height: 10px; border-radius: 4px; background: var(--kk-line-soft); }
:root:root .kk-meter__seg.is-on { background: var(--kk-ink); }
:root:root .kk-meter--sm { gap: 3px; }
:root:root .kk-meter--sm .kk-meter__seg { height: 7px; border-radius: 3px; }

/* ---------- Panels & helpers ---------- */ :root:root .kk-panel { background: var(--kk-surface); border-radius: var(--kk-r-lg); padding: 24px; display: flex; flex-direction: column; gap: 14px; }
:root:root .kk-panel--outline { border: 1.5px solid var(--kk-ink); }
:root:root .kk-panel__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; }
:root:root .kk-note { margin: 0; background: var(--kk-surface); border-radius: 16px; padding: 16px 18px; font-size: 15px; display: block; }
:root:root .kk-note--link { background: var(--kk-ground); font-weight: 600; text-decoration: none !important; font-size: 14px; }
:root:root .kk-disclosure { margin: 0; font-size: 12px; color: var(--kk-muted); }
:root:root .kk-empty { background: var(--kk-surface); border-radius: var(--kk-r-lg); padding: 40px 28px; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
:root:root .kk-editor-note { border: 1.5px dashed #8C978F; border-radius: 12px; padding: 14px 16px; font-family: var(--kk-mono); font-size: 12px; color: var(--kk-muted); background: rgba(255, 255, 255, .6); }

/* ---------- Top bar ---------- */ :root:root .kk-topbar { background: var(--kk-ink); color: var(--kk-on-ink); font-size: 13px; }
:root:root .kk-topbar__inner { max-width: var(--kk-container); margin: 0 auto; padding: 10px var(--kk-gutter); box-sizing: border-box; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; }
:root:root .kk-topbar a { color: var(--kk-on-ink) !important; }
:root:root .kk-topbar__news { text-decoration: none !important; }
:root:root .kk-topbar__tag { background: var(--kk-other); color: var(--kk-ink); font-weight: 700; padding: 2px 8px; border-radius: 6px; margin-right: 8px; font-size: 12px; }
:root:root .kk-topbar__links { display: flex; gap: 20px; }

/* ---------- Logo ---------- */ :root:root .kk-logo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none !important; color: var(--kk-ink) !important; }
:root:root .kk-logo__word { font-family: var(--kk-display); font-weight: 800; font-size: 27px; letter-spacing: -.04em; line-height: 1; }
:root:root .kk-logo__tld { color: var(--kk-dog-text); }
:root:root .kk-logo--dark { color: var(--kk-on-ink) !important; }
:root:root .kk-logo--dark .kk-logo__tld { color: var(--kk-dog); }
:root:root .kk-logo__img { max-height: 44px; width: auto; }

/* ---------- Navigation ---------- */ :root:root .kk-nav { position: relative; }
:root:root .kk-nav__toggle { display: none; }
:root:root .kk-nav__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 2px; }
:root:root .kk-nav__list > li { position: relative; }
:root:root .kk-nav__list a { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 10px 14px; border-radius: 999px; font-weight: 600; text-decoration: none !important; box-sizing: border-box; color: var(--kk-ink) !important; }
:root:root .kk-nav__list > li > a:hover, :root:root .kk-nav__list > li.current-menu-item > a, :root:root .kk-nav__list > li.current-menu-ancestor > a { background: var(--kk-surface); }
:root:root .kk-nav__list .menu-item-has-children > a::after { content: ""; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-3px); margin-left: 2px; }
:root:root .kk-nav__list .sub-menu { list-style: none; margin: 0; padding: 8px; position: absolute; top: calc(100% + 6px); left: 0; min-width: 240px; background: var(--kk-surface); border: 1.5px solid var(--kk-ink); border-radius: 18px; box-shadow: var(--kk-shadow); opacity: 0; visibility: hidden; transform: translateY(6px); transition: .15s ease; z-index: 50; }
:root:root .kk-nav__list .sub-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -10px; height: 10px; }
:root:root .kk-nav__list li:hover > .sub-menu, :root:root .kk-nav__list li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
:root:root .kk-nav__list .sub-menu a { border-radius: 10px; font-weight: 500; }
:root:root .kk-nav__list .sub-menu a:hover { background: var(--kk-ground); }
:root:root .kk-dot-dog > a::before, :root:root .kk-dot-cat > a::before, :root:root .kk-dot-other > a::before { content: ""; width: 10px; height: 10px; border-radius: 50%; flex: none; }
:root:root .kk-dot-dog > a::before { background: var(--kk-dog); }
:root:root .kk-dot-cat > a::before { background: var(--kk-cat-dot); }
:root:root .kk-dot-other > a::before { background: var(--kk-other-dot); }

:root:root .kk-search-trigger { display: flex; align-items: center; gap: 10px; width: 100%; min-width: 200px; min-height: 46px; padding: 0 8px 0 14px; background: var(--kk-surface); border: 1.5px solid var(--kk-ink); border-radius: 14px; color: var(--kk-muted); font-family: var(--kk-body); font-weight: 400; font-size: 15px; line-height: 1.2; cursor: text; box-sizing: border-box; text-align: left; transition: box-shadow .15s ease, transform .15s ease; }
:root:root .kk-search-trigger:hover, :root:root .kk-search-trigger:focus, :root:root .kk-search-trigger:active { background: var(--kk-surface); color: var(--kk-muted); border-color: var(--kk-ink); box-shadow: 3px 3px 0 var(--kk-ink); }
:root:root .kk-search-trigger:focus:not(:focus-visible) { outline: none; }
:root:root .kk-search-trigger .kk-icon { color: var(--kk-ink); }
:root:root .kk-search-trigger span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
:root:root .kk-search-trigger kbd, :root:root .kk-search kbd { flex: none; display: inline-grid; place-items: center; min-width: 24px; height: 24px; box-sizing: border-box; font-family: var(--kk-mono); font-size: 12px; line-height: 1; border: 1px solid var(--kk-line); border-radius: 7px; padding: 0 6px; color: var(--kk-ink); background: var(--kk-ground); box-shadow: none; }

@media (max-width: 1024px) {
	:root:root .kk-nav__toggle { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 12px; border: 1.5px solid var(--kk-ink); background: var(--kk-surface); color: var(--kk-ink); cursor: pointer; padding: 0; }
	:root:root .kk-nav__panel { display: none; position: fixed; inset: 0 0 0 auto; width: min(360px, 88vw); background: var(--kk-ground); z-index: 9998; padding: 80px 20px 24px; box-sizing: border-box; overflow-y: auto; box-shadow: -20px 0 60px rgba(20, 35, 31, .25); }
	:root:root .kk-nav.is-open .kk-nav__panel { display: block; }
	:root:root .kk-nav.is-open .kk-nav__toggle { position: fixed; top: 16px; right: 16px; z-index: 9999; }
	:root:root .kk-nav__list { flex-direction: column; }
	:root:root .kk-nav__list a { border-radius: 12px; font-size: 18px; }
	:root:root .kk-nav__list .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; background: transparent; padding: 0 0 8px 18px; min-width: 0; }
	:root:root .kk-nav__list .menu-item-has-children > a::after { display: none; }
	:root:root .kk-search-trigger span, :root:root .kk-search-trigger kbd { display: none; }
	:root:root .kk-search-trigger { min-width: 0; width: 46px; justify-content: center; padding: 0; }
}

/* ---------- Footer ---------- */ :root:root .kk-footer { background: var(--kk-ink); color: var(--kk-on-ink); font-size: 15px; }
:root:root .kk-footer a { color: var(--kk-on-ink) !important; text-decoration: none; }
:root:root .kk-footer a:hover { color: var(--kk-other) !important; }
:root:root .kk-footer__top { max-width: var(--kk-container); margin: 0 auto; padding: 64px var(--kk-gutter) 40px; box-sizing: border-box; display: flex; flex-wrap: wrap; gap: 40px; }
:root:root .kk-footer__brand { flex: 1 1 300px; display: flex; flex-direction: column; gap: 16px; }
:root:root .kk-footer__brand p { margin: 0; color: var(--kk-on-ink-muted); max-width: 320px; }
:root:root .kk-footer__social { display: flex; gap: 8px; }
:root:root .kk-footer__col { flex: 1 1 160px; display: flex; flex-direction: column; gap: 10px; }
:root:root .kk-footer__h { font-family: var(--kk-mono); font-size: 12px; letter-spacing: .08em; color: var(--kk-other); }
:root:root .kk-footer__menu { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
:root:root .kk-footer__bottom { max-width: var(--kk-container); margin: 0 auto; padding: 20px var(--kk-gutter) 28px; box-sizing: border-box; border-top: 1.5px solid var(--kk-ink-2); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; font-size: 13px; color: var(--kk-on-ink-muted); }

/* ---------- Breadcrumbs ---------- */ :root:root .kk-crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; font-size: 14px; color: var(--kk-muted); }
:root:root .kk-crumbs li + li::before { content: "/"; margin-right: 8px; }
:root:root .kk-crumbs a { color: var(--kk-muted) !important; }

/* ---------- Ads ---------- */ :root:root .kk-ad { display: flex; flex-direction: column; align-items: center; gap: 6px; margin: 8px auto; width: 100%; }
:root:root .kk-ad__label { font-family: var(--kk-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--kk-muted); }
:root:root .kk-ad__slot { width: 100%; display: flex; justify-content: center; }
:root:root .kk-ad--leaderboard .kk-ad__slot { min-height: 250px; max-width: 970px; }
:root:root .kk-ad--banner .kk-ad__slot { min-height: 90px; max-width: 728px; }
:root:root .kk-ad--rectangle .kk-ad__slot { min-height: 280px; max-width: 336px; }
:root:root .kk-ad--skyscraper .kk-ad__slot { min-height: 600px; max-width: 300px; }
:root:root .kk-ad--sticky { position: sticky; top: 24px; }
:root:root .kk-ad__ph { flex: 1; align-self: stretch; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; border: 1.5px dashed #8C978F; border-radius: 12px; background: var(--kk-surface); font-family: var(--kk-mono); font-size: 13px; color: var(--kk-muted); padding: 12px; text-align: center; }
:root:root .kk-ad__ph small { font-size: 11px; }
@media (max-width: 767px) {
	:root:root .kk-ad--leaderboard .kk-ad__slot { min-height: 100px; }
	:root:root .kk-ad--banner .kk-ad__slot { min-height: 250px; }
}
:root:root .kk-is-sponsored .kk-ad { display: none; }

/* ---------- Hero & search bar ---------- */ :root:root .kk-hero { display: flex; flex-direction: column; gap: 26px; }
:root:root .kk-hero > .kk-kicker { margin: 0; }
:root:root .kk-hero__title { margin: 0; font-family: var(--kk-display); font-weight: 800; font-size: clamp(44px, 6vw, 88px); line-height: .95; letter-spacing: -.04em; color: var(--kk-ink); }
:root:root .kk-searchbar { display: flex; align-items: center; gap: 8px; max-width: 620px; background: var(--kk-surface); border: 2px solid var(--kk-ink); border-radius: 18px; padding: 8px 8px 8px 18px; box-shadow: var(--kk-shadow); box-sizing: border-box; }
:root:root .kk-searchbar input { flex: 1; min-width: 0; border: 0 !important; outline: none; background: transparent !important; box-shadow: none !important; font: inherit; font-size: 17px; color: var(--kk-ink); padding: 12px 4px !important; }
:root:root .kk-searchbar--sm { box-shadow: none; border-width: 1.5px; max-width: 560px; }

/* ---------- Species tiles ---------- */ :root:root .kk-species { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(230px, auto)); gap: 16px; height: 100%; }
:root:root .kk-species__tile { border-radius: var(--kk-r-lg); padding: 22px; display: flex; flex-direction: column; justify-content: space-between; gap: 14px; text-decoration: none !important; color: var(--kk-ink) !important; transition: transform .15s ease; }
:root:root .kk-species__tile:hover { transform: translateY(-3px); }
:root:root .kk-species__tile--dog { background: var(--kk-dog); grid-row: span 2; }
:root:root .kk-species__tile--cat { background: var(--kk-cat); }
:root:root .kk-species__tile--other { background: var(--kk-other); }
:root:root .kk-species__tile .kk-kicker { color: var(--kk-ink); }
:root:root .kk-species__top { display: flex; justify-content: space-between; align-items: center; }
:root:root .kk-species__go { width: 40px; height: 40px; border-radius: 50%; background: var(--kk-ink); color: var(--kk-dog); display: flex; align-items: center; justify-content: center; }
:root:root .kk-species__media { flex: 1; min-height: 160px; border-radius: 20px; overflow: hidden; display: block; }
:root:root .kk-species__media .kk-ph { background-color: rgba(255, 255, 255, .25); }
:root:root .kk-species__name { font-family: var(--kk-display); font-weight: 800; font-size: clamp(30px, 3vw, 44px); letter-spacing: -.03em; line-height: 1; }
:root:root .kk-species__sub { font-size: 14px; margin-top: -6px; }
@media (max-width: 600px) {
	:root:root .kk-species { grid-template-columns: 1fr; grid-template-rows: none; }
	:root:root .kk-species__tile--dog { grid-row: auto; }
	:root:root .kk-species__media { min-height: 180px; }
}

/* ---------- Intent tiles ---------- */ :root:root .kk-intents { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
:root:root .kk-intent { display: flex; flex-direction: column; gap: 26px; min-height: 150px; padding: 20px; background: var(--kk-surface); border: 1.5px solid var(--kk-line); border-radius: var(--kk-r-md); text-decoration: none !important; color: var(--kk-ink) !important; box-sizing: border-box; transition: border-color .15s, transform .15s; }
:root:root .kk-intent:hover { border-color: var(--kk-ink); transform: translateY(-2px); }
:root:root .kk-intent__title { font-family: var(--kk-display); font-weight: 700; font-size: 21px; line-height: 1.1; letter-spacing: -.015em; }
:root:root .kk-intent__sub { margin-top: auto; font-size: 13px; color: var(--kk-muted); }

/* ---------- Article cards ---------- */ :root:root .kk-card__link { display: flex; flex-direction: column; gap: 10px; text-decoration: none !important; color: var(--kk-ink) !important; height: 100%; }
:root:root .kk-card__media { display: block; overflow: hidden; border-radius: var(--kk-r-md); aspect-ratio: 16 / 10; }
:root:root .kk-card__media .kk-img { transition: transform .3s ease; }
:root:root .kk-card__link:hover .kk-card__media .kk-img { transform: scale(1.03); }
:root:root .kk-card__link:hover .kk-card__title { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
:root:root .kk-card__chips { display: flex; flex-wrap: wrap; gap: 6px; }
:root:root .kk-card__title { font-family: var(--kk-display); font-weight: 650; font-size: 20px; letter-spacing: -.015em; line-height: 1.15; }
:root:root .kk-card__excerpt { color: var(--kk-muted); }
:root:root .kk-card__meta { font-size: 13px; color: var(--kk-muted); margin-top: auto; }
:root:root .kk-card--lg .kk-card__media { border-radius: var(--kk-r-lg); aspect-ratio: 4 / 3; }
:root:root .kk-card--lg .kk-card__title { font-size: clamp(26px, 2.6vw, 36px); font-weight: 700; letter-spacing: -.025em; line-height: 1.05; }
:root:root .kk-card--lg .kk-card__link { gap: 16px; }
:root:root .kk-card--row .kk-card__link { display: grid; grid-template-columns: minmax(120px, 220px) 1fr; column-gap: 20px; row-gap: 8px; align-content: start; }
:root:root .kk-card--row .kk-card__media { grid-row: span 4; }
:root:root .kk-card--row { padding-bottom: 24px; border-bottom: 1.5px solid var(--kk-line); }
@media (max-width: 600px) { :root:root .kk-card--row .kk-card__link { grid-template-columns: 110px 1fr; } :root:root .kk-card--row .kk-card__title { font-size: 18px; } }

:root:root .kk-feature-grid { display: flex; flex-wrap: wrap; gap: 24px; }
:root:root .kk-feature-grid__main { flex: 1 1 520px; min-width: 0; }
:root:root .kk-feature-grid__side { flex: 1 1 480px; min-width: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 24px; }
:root:root .kk-grid { display: grid; gap: 28px 24px; }
:root:root .kk-grid--grid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
:root:root .kk-grid--list { grid-template-columns: 1fr; }

/* ---------- Breed matcher ---------- */ :root:root .kk-matcher { background: var(--kk-ink); color: var(--kk-on-ink); border-radius: var(--kk-r-xl); padding: clamp(28px, 5vw, 64px); display: flex; flex-wrap: wrap; gap: 48px; align-items: center; }
:root:root .kk-matcher__intro { flex: 1 1 420px; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
:root:root .kk-matcher__intro .kk-kicker { color: var(--kk-other); }
:root:root .kk-matcher__intro p { margin: 0; font-size: 18px; color: var(--kk-on-ink-muted); max-width: 460px; }
:root:root .kk-matcher__title { margin: 0; font-family: var(--kk-display); font-weight: 800; font-size: clamp(34px, 4.4vw, 60px); letter-spacing: -.035em; line-height: .98; color: var(--kk-on-ink); }
:root:root .kk-matcher__title em { font-style: normal; color: var(--kk-dog); }
:root:root .kk-matcher__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
:root:root .kk-matcher__browse { color: var(--kk-on-ink) !important; font-weight: 600; padding: 12px 6px; }
:root:root .kk-matcher__card { flex: 1 1 380px; min-width: 0; background: var(--kk-ground); color: var(--kk-ink); border-radius: 24px; padding: 28px; transform: rotate(1.5deg); display: flex; flex-direction: column; gap: 18px; transition: transform .25s ease; }
:root:root .kk-matcher.is-running .kk-matcher__card { transform: none; box-shadow: 0 0 0 4px var(--kk-other); }
:root:root .kk-matcher__progress { display: flex; justify-content: space-between; font-family: var(--kk-mono); font-size: 12px; }
:root:root .kk-matcher__dots { display: flex; gap: 4px; }
:root:root .kk-matcher__dots span { width: 9px; height: 9px; border-radius: 50%; border: 1.5px solid var(--kk-ink); }
:root:root .kk-matcher__dots span.is-on { background: var(--kk-ink); }
:root:root .kk-matcher__q { margin: 0; font-family: var(--kk-display); font-weight: 700; font-size: 26px; line-height: 1.1; letter-spacing: -.02em; }
:root:root .kk-matcher__answers { display: flex; flex-direction: column; gap: 10px; }
:root:root .kk-answer { font: inherit; text-align: left; padding: 14px 18px; min-height: 50px; border-radius: 14px; border: 1.5px solid var(--kk-ink); background: var(--kk-surface); color: var(--kk-ink); cursor: pointer; transition: background .12s; }
:root:root .kk-answer:hover, :root:root .kk-answer.is-picked { background: var(--kk-other); font-weight: 600; }
:root:root .kk-matcher__back { align-self: flex-start; font: inherit; font-size: 14px; background: none; border: 0; padding: 8px 0; color: var(--kk-muted); cursor: pointer; text-decoration: underline; }

/* ---------- Breed cards ---------- */ :root:root .kk-breed-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 16px; }
:root:root .kk-breed-card { position: relative; background: var(--kk-surface); border: 1.5px solid var(--kk-line); border-radius: 24px; padding: 12px 12px 18px; display: flex; flex-direction: column; gap: 12px; transition: border-color .15s, transform .15s; }
:root:root .kk-breed-card:hover { border-color: var(--kk-ink); transform: translateY(-2px); }
:root:root .kk-breed-card__media { display: block; height: 180px; border-radius: 16px; overflow: hidden; }
:root:root .kk-breed-card__compare { position: absolute; top: 22px; right: 22px; display: flex; align-items: center; gap: 6px; padding: 6px 10px; min-height: 34px; box-sizing: border-box; background: var(--kk-surface); border-radius: 10px; font-size: 13px; font-weight: 600; cursor: pointer; }
:root:root .kk-breed-card__compare input { margin: 0; accent-color: var(--kk-ink); width: 16px; height: 16px; }
:root:root .kk-breed-card__body { padding: 0 6px; display: flex; flex-direction: column; gap: 10px; }
:root:root .kk-breed-card__title { font-family: var(--kk-display); font-weight: 700; font-size: 21px; letter-spacing: -.015em; line-height: 1.1; text-decoration: none !important; color: var(--kk-ink) !important; }
:root:root .kk-breed-card__title::after { content: ""; position: absolute; inset: 0; border-radius: 24px; }
:root:root .kk-breed-card__compare { z-index: 2; }
:root:root .kk-breed-card__meta { font-size: 13px; color: var(--kk-muted); }
:root:root .kk-breed-card__trait { display: grid; grid-template-columns: 78px 1fr; align-items: center; gap: 10px; font-size: 13px; }

:root:root .kk-native { display: flex; flex-direction: column; gap: 12px; padding: 18px; border-radius: 24px; background: var(--kk-ink); color: var(--kk-on-ink) !important; text-decoration: none !important; min-height: 320px; box-sizing: border-box; }
:root:root .kk-native .kk-ad__label { align-self: flex-start; padding: 3px 8px; border-radius: 6px; background: var(--kk-ink-2); color: var(--kk-on-ink-muted); }
:root:root .kk-native__media { flex: 1; min-height: 140px; border-radius: 16px; overflow: hidden; display: block; }
:root:root .kk-native__media.kk-ph, :root:root .kk-native__media .kk-ph { background-color: var(--kk-ink-2); }
:root:root .kk-native__title { font-family: var(--kk-display); font-weight: 700; font-size: 20px; line-height: 1.15; }
:root:root .kk-native__cta { font-weight: 600; color: var(--kk-other); }
:root:root .kk-native--code { background: var(--kk-surface); color: var(--kk-ink) !important; align-items: center; justify-content: center; }

/* ---------- Topics ---------- */ :root:root .kk-topics { display: flex; flex-direction: column; border-top: 2px solid var(--kk-ink); }
:root:root .kk-topics__item { display: flex; align-items: center; gap: 16px; padding: 16px 4px; min-height: 44px; border-bottom: 1.5px solid var(--kk-line); text-decoration: none !important; color: var(--kk-ink) !important; transition: padding .15s; }
:root:root .kk-topics__item:hover { padding-left: 12px; }
:root:root .kk-topics__item .kk-kicker { width: 28px; }
:root:root .kk-topics__name { flex: 1; font-family: var(--kk-display); font-weight: 650; font-size: clamp(20px, 2vw, 26px); letter-spacing: -.02em; }

/* ---------- Product rows ---------- */ :root:root .kk-picks { gap: 16px; }
:root:root .kk-product-row { display: flex; align-items: center; gap: 14px; padding-bottom: 16px; border-bottom: 1.5px solid var(--kk-line-soft); }
:root:root .kk-product-row__img { flex: none; width: 76px; height: 76px; border-radius: 16px; overflow: hidden; display: block; background: var(--kk-ground); }
:root:root .kk-product-row__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
:root:root .kk-product-row__body strong { line-height: 1.25; }
:root:root .kk-product-row__body .kk-muted { font-size: 14px; }

/* ---------- Newsletter ---------- */ :root:root .kk-newsletter { display: flex; flex-wrap: wrap; gap: 28px; align-items: center; justify-content: space-between; background: var(--kk-other); border-radius: var(--kk-r-xl); padding: clamp(28px, 5vw, 56px); }
:root:root .kk-newsletter__text { flex: 1 1 420px; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
:root:root .kk-newsletter__text p { margin: 0; font-size: 17px; }
:root:root .kk-newsletter__title { margin: 0; font-family: var(--kk-display); font-weight: 800; font-size: clamp(30px, 3.8vw, 52px); letter-spacing: -.035em; line-height: 1; color: var(--kk-ink); }
:root:root .kk-newsletter__form { flex: 1 1 400px; min-width: 0; }
:root:root .kk-newsletter__form form { display: flex; flex-wrap: wrap; gap: 10px; }
:root:root .kk-newsletter__form input[type="email"] { flex: 1 1 220px; min-width: 0; font: inherit; font-size: 17px; padding: 14px 18px; min-height: 50px; border-radius: 14px; border: 2px solid var(--kk-ink); background: var(--kk-surface); color: var(--kk-ink); box-sizing: border-box; }
:root:root .kk-newsletter__form .kk-btn { min-height: 50px; color: var(--kk-other) !important; }
:root:root .kk-newsletter--card { border-radius: var(--kk-r-lg); padding: 22px; gap: 14px; }
:root:root .kk-newsletter--card .kk-newsletter__text, :root:root .kk-newsletter--card .kk-newsletter__form { flex-basis: 100%; }
:root:root .kk-newsletter--card .kk-newsletter__title { font-size: 22px; letter-spacing: -.02em; line-height: 1.15; }

/* ---------- B2B ---------- */ :root:root .kk-b2b { display: flex; flex-wrap: wrap; gap: 40px; align-items: flex-start; }
:root:root .kk-b2b__intro { flex: 1 1 360px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
:root:root .kk-b2b__intro p { margin: 0; }
:root:root .kk-b2b__offers { flex: 1 1 620px; min-width: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; }
:root:root .kk-offer { display: flex; flex-direction: column; gap: 12px; min-height: 220px; padding: 22px; background: var(--kk-surface); border: 1.5px solid var(--kk-ink); border-radius: 22px; text-decoration: none !important; color: var(--kk-ink) !important; box-sizing: border-box; }
:root:root a.kk-offer:hover { box-shadow: var(--kk-shadow); }
:root:root .kk-offer .kk-kicker { color: var(--kk-ink); }
:root:root .kk-offer .kk-muted { font-size: 14px; }
:root:root .kk-offer__title { font-family: var(--kk-display); font-weight: 700; font-size: 22px; letter-spacing: -.015em; line-height: 1.1; }
:root:root .kk-offer__price { margin-top: auto; font-weight: 600; }

/* ---------- Page title ---------- */ :root:root .kk-page-title { display: flex; flex-direction: column; gap: 16px; }

/* ---------- Breed page ---------- */ :root:root .kk-breed-hero { display: flex; flex-direction: column; gap: 20px; }
:root:root .kk-breed-hero__title { margin: 0; font-family: var(--kk-display); font-weight: 800; font-size: clamp(46px, 7vw, 104px); line-height: .9; letter-spacing: -.045em; color: var(--kk-ink); }
:root:root .kk-breed-hero__media { height: clamp(240px, 30vw, 380px); border-radius: var(--kk-r-lg); overflow: hidden; }
:root:root .kk-verdicts { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
:root:root .kk-verdict { font-size: 14px; font-weight: 600; padding: 8px 14px; border-radius: 12px; }
:root:root .kk-verdict--good { background: var(--kk-other); }
:root:root .kk-verdict--warn { background: var(--kk-dog-soft); }

:root:root .kk-passport { background: var(--kk-surface); border: 2px solid var(--kk-ink); border-radius: 26px; box-shadow: 8px 8px 0 var(--kk-ink); overflow: hidden; }
:root:root .kk-passport__bar { background: var(--kk-ink); color: var(--kk-on-ink); padding: 16px 22px; display: flex; justify-content: space-between; gap: 10px; font-family: var(--kk-mono); font-size: 12px; letter-spacing: .1em; }
:root:root .kk-passport__no { color: var(--kk-other); }
:root:root .kk-passport__body { padding: 22px; display: flex; flex-direction: column; gap: 18px; }
:root:root .kk-passport__id { display: flex; gap: 16px; align-items: center; }
:root:root .kk-passport__id > div { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
:root:root .kk-passport__photo { flex: none; width: 104px; height: 128px; border-radius: 14px; overflow: hidden; display: block; }
:root:root .kk-passport__k { font-family: var(--kk-mono); font-size: 11px; color: var(--kk-muted); letter-spacing: .04em; }
:root:root .kk-passport__k:not(:first-child) { margin-top: 6px; }
:root:root .kk-passport__name { font-family: var(--kk-display); font-weight: 700; font-size: 22px; line-height: 1.1; }
:root:root .kk-passport__v { font-weight: 600; }
:root:root .kk-passport__facts { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
:root:root .kk-passport__facts > div { border-top: 1.5px solid var(--kk-line-soft); padding-top: 10px; }
:root:root .kk-passport__facts dt { font-family: var(--kk-mono); font-size: 11px; color: var(--kk-muted); letter-spacing: .04em; }
:root:root .kk-passport__facts dd { margin: 2px 0 0; font-weight: 600; }
:root:root .kk-passport__mrz { background: var(--kk-other); padding: 12px 22px; font-family: var(--kk-mono); font-size: 12px; letter-spacing: .12em; white-space: nowrap; overflow: hidden; }

:root:root .kk-secnav { background: var(--kk-ground); border-top: 1.5px solid var(--kk-line); border-bottom: 1.5px solid var(--kk-line); }
:root:root .kk-secnav__inner { max-width: var(--kk-container); margin: 0 auto; padding: 10px var(--kk-gutter); box-sizing: border-box; display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
:root:root .kk-secnav__inner::-webkit-scrollbar { display: none; }
:root:root .kk-secnav a { flex: none; padding: 10px 16px; border-radius: 999px; font-weight: 600; text-decoration: none !important; color: var(--kk-ink) !important; }
:root:root .kk-secnav a.is-active { background: var(--kk-ink); color: var(--kk-on-ink) !important; }
:root:root [id] { scroll-margin-top: 90px; }

:root:root .kk-traits { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }
:root:root .kk-trait { background: var(--kk-surface); border-radius: 18px; padding: 16px 18px; display: flex; flex-direction: column; gap: 10px; }
:root:root .kk-trait__top { display: flex; justify-content: space-between; gap: 12px; font-weight: 600; }

:root:root .kk-fit { display: flex; flex-wrap: wrap; gap: 12px; }
:root:root .kk-fit__col { flex: 1 1 280px; min-width: 0; border-radius: 22px; padding: 24px; }
:root:root .kk-fit__col--yes { background: var(--kk-other); }
:root:root .kk-fit__col--no { background: var(--kk-dog-soft); }
:root:root .kk-fit__col ul { margin: 12px 0 0; padding-left: 20px; display: flex; flex-direction: column; gap: 8px; }

:root:root .kk-cards3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; }
:root:root .kk-infocard { background: var(--kk-surface); border-radius: var(--kk-r-md); padding: 20px; display: flex; flex-direction: column; gap: 8px; }
:root:root .kk-infocard__title { font-family: var(--kk-display); font-weight: 700; font-size: 22px; line-height: 1.15; }

:root:root .kk-products { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; }
:root:root .kk-product { display: flex; flex-direction: column; gap: 8px; text-decoration: none !important; color: var(--kk-ink) !important; }
:root:root .kk-product__img { display: block; height: 120px; border-radius: 14px; overflow: hidden; background: var(--kk-ground); }
:root:root .kk-product__img .kk-img { object-fit: contain; }
:root:root .kk-product__name { font-weight: 600; line-height: 1.3; }
:root:root .kk-product__price { font-size: 14px; font-weight: 700; color: var(--kk-dog-text); }
:root:root .kk-product:hover .kk-product__name { text-decoration: underline; }

:root:root .kk-rowlist { display: flex; flex-direction: column; border-top: 2px solid var(--kk-ink); margin-bottom: 16px; }
:root:root .kk-rowlist__item { display: flex; align-items: center; gap: 16px; padding: 16px 4px; border-bottom: 1.5px solid var(--kk-line); text-decoration: none !important; color: var(--kk-ink) !important; }
:root:root .kk-rowlist__name { flex: 1; font-weight: 600; font-size: 18px; }

:root:root .kk-costs { background: var(--kk-surface); border-radius: 22px; overflow: hidden; margin-bottom: 16px; }
:root:root .kk-costs__row { display: flex; justify-content: space-between; gap: 16px; padding: 16px 22px; border-bottom: 1.5px solid var(--kk-line-soft); }
:root:root .kk-costs__row--total { background: var(--kk-ink); color: var(--kk-on-ink); font-weight: 700; border: 0; }
:root:root .kk-costs__row--total .kk-mono { color: var(--kk-other); }
:root:root .kk-offerbar { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; padding: 18px 20px; border: 1.5px dashed var(--kk-ink); border-radius: 20px; }
:root:root .kk-offerbar .kk-ad__label { padding: 3px 8px; border-radius: 6px; background: var(--kk-line-soft); }
:root:root .kk-offerbar__text { flex: 1 1 260px; min-width: 0; }

:root:root .kk-faq { display: flex; flex-direction: column; gap: 10px; }
:root:root .kk-faq__item { background: var(--kk-surface); border-radius: 16px; padding: 0 20px; }
:root:root .kk-faq__item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 18px 0; font-weight: 600; font-size: 17px; }
:root:root .kk-faq__item summary::-webkit-details-marker { display: none; }
:root:root .kk-faq__item[open] summary .kk-icon { transform: rotate(180deg); }
:root:root .kk-faq__a { padding-bottom: 18px; color: var(--kk-muted); }
:root:root .kk-faq__a p { margin: 0 0 8px; }

:root:root .kk-partnerbox { background: var(--kk-cat); border-radius: 24px; padding: 22px; display: flex; flex-direction: column; gap: 10px; }
:root:root .kk-partnerbox .kk-kicker { color: var(--kk-ink); }
:root:root .kk-partnerbox__title { font-family: var(--kk-display); font-weight: 700; font-size: 22px; line-height: 1.15; }
:root:root .kk-linklist__item { display: block; padding-top: 10px; border-top: 1.5px solid var(--kk-line-soft); font-weight: 600; text-decoration: none !important; }

/* ---------- Catalogue ---------- */ :root:root .kk-archive-hero { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 24px; }
:root:root .kk-archive-hero__text { flex: 1 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
:root:root .kk-scenarios { display: flex; align-items: center; gap: 10px; overflow-x: auto; padding-bottom: 6px; scrollbar-width: thin; }
:root:root .kk-scenarios .kk-kicker { flex: none; margin-right: 4px; }
:root:root .kk-scenarios .kk-pill { flex: none; }

:root:root .kk-filters { background: var(--kk-surface); border-radius: 24px; padding: 22px; display: flex; flex-direction: column; gap: 22px; }
:root:root .kk-filters__head { display: flex; justify-content: space-between; align-items: center; }
:root:root .kk-filter { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
:root:root .kk-filter legend { margin-bottom: 8px; padding: 0; }
:root:root .kk-filter select { font: inherit; padding: 11px 12px; min-height: 46px; border-radius: 12px; border: 1.5px solid var(--kk-line); background: var(--kk-surface); color: var(--kk-ink); }
:root:root .kk-checkgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
:root:root .kk-check { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 8px; border: 1.5px solid var(--kk-line); border-radius: 12px; cursor: pointer; font-size: 15px; box-sizing: border-box; }
:root:root .kk-check input { accent-color: var(--kk-ink); margin: 0; }
:root:root .kk-check.is-on, :root:root .kk-check:has(input:checked) { border: 2px solid var(--kk-ink); background: var(--kk-dog-soft); font-weight: 600; }
:root:root .kk-scale { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; }
:root:root .kk-scale input { position: absolute; opacity: 0; pointer-events: none; }
:root:root .kk-scale label { display: flex; align-items: center; justify-content: center; min-height: 44px; background: var(--kk-line-soft); border-radius: 4px; cursor: pointer; font-weight: 600; }
:root:root .kk-scale label:first-of-type { border-radius: 10px 4px 4px 10px; }
:root:root .kk-scale label:last-of-type { border-radius: 4px 10px 10px 4px; }
:root:root .kk-scale label.is-on { background: var(--kk-ink); color: var(--kk-on-ink); }
:root:root .kk-scale input:focus-visible + label { outline: 3px solid var(--kk-dog); outline-offset: 2px; }
:root:root .kk-scale__legend { display: flex; justify-content: space-between; font-size: 13px; color: var(--kk-muted); }
:root:root .kk-switch { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 44px; border-bottom: 1.5px solid var(--kk-line-soft); cursor: pointer; position: relative; }
:root:root .kk-switch input { position: absolute; opacity: 0; width: 44px; height: 26px; right: 0; margin: 0; cursor: pointer; }
:root:root .kk-switch__track { flex: none; width: 44px; height: 26px; border-radius: 999px; background: #C9CEC4; position: relative; transition: background .15s; }
:root:root .kk-switch__track::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; transition: left .15s; }
:root:root .kk-switch input:checked + .kk-switch__track { background: var(--kk-ink); }
:root:root .kk-switch input:checked + .kk-switch__track::after { left: 21px; }
:root:root .kk-switch input:focus-visible + .kk-switch__track { outline: 3px solid var(--kk-dog); outline-offset: 2px; }
:root:root .kk-filters.is-auto .kk-filters__submit { display: none; }
:root:root .kk-filters__toggle { display: none; }
@media (max-width: 1024px) {
	:root:root .kk-filters__toggle { display: inline-flex; }
	:root:root .kk-filters__head > a { display: none; }
	:root:root .kk-filters:not(.is-open) > *:not(.kk-filters__head) { display: none; }
	:root:root .kk-filters:not(.is-open) { padding: 16px 18px; }
}

:root:root .kk-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 20px; }
:root:root .kk-toolbar__left { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
:root:root .kk-toolbar__sort { display: flex; align-items: center; gap: 8px; font-size: 14px; }
:root:root .kk-toolbar__sort select { font: inherit; padding: 9px 12px; min-height: 44px; border-radius: 12px; border: 1.5px solid var(--kk-line); background: var(--kk-surface); color: var(--kk-ink); }

:root:root .kk-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 32px; }
:root:root .kk-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 46px; min-height: 46px; padding: 0 12px; border-radius: 12px; border: 1.5px solid var(--kk-line); background: var(--kk-surface); font-weight: 600; text-decoration: none !important; box-sizing: border-box; }
:root:root .kk-pagination .page-numbers.current { background: var(--kk-ink); color: var(--kk-on-ink); border-color: var(--kk-ink); }
:root:root .kk-pagination .page-numbers.dots { border: 0; background: transparent; }

/* ---------- Compare ---------- */ :root:root .kk-table-wrap { overflow-x: auto; border-radius: 20px; background: var(--kk-surface); border: 1.5px solid var(--kk-ink); margin: 8px 0 24px; }
:root:root .kk-table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 15px; line-height: 1.4; margin: 0 !important; }
:root:root .kk-table th, :root:root .kk-table td { padding: 14px 16px; text-align: left; border: 0 !important; border-top: 1.5px solid var(--kk-line-soft) !important; vertical-align: middle; background: transparent; }
:root:root .kk-table thead th { background: var(--kk-ink); color: var(--kk-on-ink); border-top: 0 !important; }
:root:root .kk-table thead .kk-kicker { color: var(--kk-on-ink-muted); }
:root:root .kk-table tbody th { font-weight: 600; }
:root:root .kk-table--compare thead th, :root:root .kk-table--compare thead td { background: var(--kk-surface); color: var(--kk-ink); vertical-align: bottom; }
:root:root .kk-table--compare tbody th { color: var(--kk-muted); font-weight: 500; width: 200px; }
:root:root .kk-table--compare td .kk-meter { max-width: 160px; }
:root:root .kk-compare__head { display: flex; flex-direction: column; gap: 10px; text-decoration: none !important; }
:root:root .kk-compare__img { display: block; height: 140px; border-radius: 14px; overflow: hidden; }

:root:root .kk-tray { position: fixed; left: 50%; bottom: 16px; transform: translate(-50%, 140%); z-index: 9990; transition: transform .25s ease; width: max-content; max-width: calc(100vw - 32px); }
:root:root .kk-tray:not(.is-visible) { visibility: hidden; }
:root:root .kk-tray.is-visible { transform: translate(-50%, 0); }
:root:root .kk-tray__inner { background: var(--kk-ink); color: var(--kk-on-ink); border-radius: 18px; padding: 10px 10px 10px 20px; display: flex; flex-wrap: wrap; align-items: center; gap: 14px; box-shadow: 0 10px 30px rgba(20, 35, 31, .3); }
:root:root .kk-tray__names { font-size: 14px; }
:root:root .kk-tray__count { font-family: var(--kk-mono); font-size: 12px; color: var(--kk-other); }
:root:root .kk-tray__clear { background: none; border: 0; color: var(--kk-on-ink-muted); font: inherit; font-size: 13px; text-decoration: underline; cursor: pointer; padding: 8px; }

/* ---------- Article ---------- */ :root:root .kk-sponsorbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 12px var(--kk-gutter); background: var(--kk-cat); font-size: 14px; border-bottom: 1.5px solid var(--kk-ink); }
:root:root .kk-sponsorbar__tag { font-family: var(--kk-mono); font-size: 12px; font-weight: 600; letter-spacing: .08em; background: var(--kk-ink); color: var(--kk-cat); padding: 4px 10px; border-radius: 6px; }
:root:root .kk-sponsorbar__logo { margin-left: auto; }
:root:root .kk-sponsorbar__logo img { max-height: 32px; width: auto; }

:root:root .kk-article-header { display: flex; flex-direction: column; gap: 20px; }
:root:root .kk-article-header__title { margin: 0; font-family: var(--kk-display); font-weight: 800; font-size: clamp(36px, 5.4vw, 72px); line-height: .98; letter-spacing: -.04em; color: var(--kk-ink); }
:root:root .kk-byline { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; padding-top: 14px; border-top: 1.5px solid var(--kk-line); }
:root:root .kk-byline__person { display: flex; align-items: center; gap: 10px; font-size: 14px; line-height: 1.3; }
:root:root .kk-avatar { flex: none; width: 44px; height: 44px; border-radius: 50%; overflow: hidden; background: var(--kk-dog-soft); display: inline-flex; align-items: center; justify-content: center; }
:root:root .kk-avatar img { width: 100%; height: 100%; object-fit: cover; }
:root:root .kk-avatar--check { background: var(--kk-other); }
:root:root .kk-avatar--lg { width: 64px; height: 64px; }

:root:root .kk-featured { margin: 0; border-radius: var(--kk-r-xl); overflow: hidden; height: clamp(260px, 36vw, 480px); }
:root:root .kk-featured figcaption { font-size: 13px; color: var(--kk-muted); padding-top: 8px; }

:root:root .kk-toc { display: flex; flex-direction: column; gap: 4px; }
:root:root .kk-toc .kk-kicker { margin-bottom: 8px; }
:root:root .kk-toc__list { display: flex; flex-direction: column; gap: 2px; }
:root:root .kk-toc__list a { padding: 8px 12px; border-radius: 10px; text-decoration: none !important; font-size: 15px; line-height: 1.3; color: var(--kk-ink) !important; }
:root:root .kk-toc__list a:hover { background: var(--kk-surface); }
:root:root .kk-toc__list a.is-active { background: var(--kk-ink); color: var(--kk-on-ink) !important; font-weight: 600; }
:root:root .kk-toc__actions { display: flex; gap: 8px; margin-top: 16px; }
@media (max-width: 1024px) {
	:root:root .kk-toc { position: static !important; background: var(--kk-surface); border-radius: 18px; padding: 16px; }
	:root:root .kk-toc__list { flex-direction: row; flex-wrap: wrap; }
	:root:root .kk-toc__list a { background: var(--kk-ground); }
}

:root:root .kk-prose { font-size: 18px; line-height: 1.7; color: var(--kk-ink); }
:root:root .kk-prose > * { margin-top: 0; margin-bottom: 24px; }
:root:root .kk-prose h2 { font-family: var(--kk-display); font-weight: 700; font-size: clamp(26px, 2.6vw, 34px); letter-spacing: -.025em; line-height: 1.1; margin: 44px 0 16px; }
:root:root .kk-prose h3 { font-family: var(--kk-display); font-weight: 700; font-size: 23px; letter-spacing: -.015em; line-height: 1.2; margin: 32px 0 12px; }
:root:root .kk-prose a { text-decoration: underline; text-decoration-color: var(--kk-dog); text-decoration-thickness: 2px; text-underline-offset: 3px; }
:root:root .kk-prose ul, :root:root .kk-prose ol { padding-left: 22px; }
:root:root .kk-prose li { margin-bottom: 6px; }
:root:root .kk-prose img { border-radius: var(--kk-r-md); }
:root:root .kk-prose blockquote { margin: 32px 0; padding: 4px 0 4px 22px; border: 0; font-family: var(--kk-display); font-size: 24px; line-height: 1.3; font-weight: 600; letter-spacing: -.015em; background: linear-gradient(var(--kk-dog), var(--kk-dog)) left / 5px 100% no-repeat; }
:root:root .kk-prose .kk-ad { margin: 32px auto; }

:root:root .kk-summary { background: var(--kk-other); border-radius: 24px; padding: 24px 26px; margin-bottom: 28px; }
:root:root .kk-summary .kk-kicker { color: var(--kk-ink); }
:root:root .kk-summary ul { margin: 10px 0 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; font-size: 17px; line-height: 1.5; }

:root:root .kk-callout { border-radius: 24px; padding: 24px 26px; margin: 28px 0; }
:root:root .kk-callout--warn { background: var(--kk-dog-soft); border: 2px solid var(--kk-ink); }
:root:root .kk-callout--tip { background: var(--kk-surface); }
:root:root .kk-callout .kk-kicker { color: var(--kk-ink); font-weight: 600; }
:root:root .kk-callout ul { margin: 10px 0 0; padding-left: 20px; font-size: 17px; line-height: 1.5; }
:root:root .kk-callout p { margin: 10px 0 0; font-size: 17px; }

:root:root .kk-steps { list-style: none !important; margin: 0 0 28px !important; padding: 0 !important; display: flex; flex-direction: column; gap: 10px; }
:root:root .kk-steps li { display: flex; gap: 16px; align-items: flex-start; background: var(--kk-surface); border-radius: 18px; padding: 16px 18px; margin: 0; font-size: 17px; line-height: 1.5; }
:root:root .kk-steps__n { flex: none; font-family: var(--kk-display); font-weight: 800; font-size: 32px; line-height: 1; color: var(--kk-dog-text); min-width: 24px; }

:root:root .kk-partner-about { background: var(--kk-ink); color: var(--kk-on-ink); border-radius: var(--kk-r-lg); padding: 28px; display: flex; flex-wrap: wrap; gap: 20px; align-items: center; }
:root:root .kk-partner-about > div { flex: 1 1 280px; min-width: 0; display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
:root:root .kk-partner-about .kk-kicker { color: var(--kk-cat); }
:root:root .kk-partner-about p { margin: 0; color: var(--kk-on-ink-muted); }
:root:root .kk-partner-about__logo { flex: none; width: 96px; height: 96px; border-radius: 20px; overflow: hidden; background: var(--kk-surface); display: flex; align-items: center; justify-content: center; }
:root:root .kk-partner-about__logo img { max-width: 80%; max-height: 80%; object-fit: contain; }
:root:root .kk-partner-about__title { font-family: var(--kk-display); font-weight: 700; font-size: 24px; line-height: 1.15; }

:root:root .kk-feedback { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; padding: 18px 0; border-top: 1.5px solid var(--kk-line); border-bottom: 1.5px solid var(--kk-line); }
:root:root .kk-feedback__q { font-weight: 600; }

:root:root .kk-authorbox { display: flex; gap: 18px; align-items: flex-start; background: var(--kk-surface); border-radius: 24px; padding: 22px; font-size: 15px; line-height: 1.5; }
:root:root .kk-authorbox__img img, :root:root .kk-authorbox__img .kk-avatar { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
:root:root .kk-authorbox__img img { display: block; }
:root:root .kk-authorbox__name { font-size: 17px; }
:root:root .kk-authorbox p { margin: 6px 0 0; }

:root:root .kk-sources summary { cursor: pointer; font-weight: 600; }
:root:root .kk-sources ol { margin: 10px 0 0; padding-left: 20px; color: var(--kk-muted); font-size: 15px; }
:root:root .kk-inline-breed { max-width: 340px; margin: 28px 0; }

/* ---------- Search overlay ---------- */ :root:root .kk-search { position: fixed; inset: 0; z-index: 99999; display: flex; justify-content: center; align-items: flex-start; padding: clamp(0px, 8vh, 72px) 16px 16px; box-sizing: border-box; }
:root:root .kk-search[hidden] { display: none; }
:root:root .kk-search__backdrop { position: absolute; inset: 0; background: rgba(20, 35, 31, .62); }
:root:root .kk-search__dialog { position: relative; width: min(1040px, 100%); max-height: calc(100vh - 32px); display: flex; flex-direction: column; background: var(--kk-ground); color: var(--kk-ink); border-radius: var(--kk-r-lg); overflow: hidden; box-shadow: 0 30px 80px rgba(0, 0, 0, .35); font-family: var(--kk-body); }
:root:root .kk-search__bar { display: flex; align-items: center; gap: 14px; padding: 18px 22px; background: var(--kk-surface); border-bottom: 1.5px solid var(--kk-line); margin: 0; }
:root:root .kk-search__input { flex: 1; min-width: 0; border: 0 !important; outline: none; background: transparent !important; box-shadow: none !important; padding: 4px 0 !important; font-family: var(--kk-display) !important; font-weight: 600; font-size: clamp(20px, 2.4vw, 28px) !important; letter-spacing: -.02em; color: var(--kk-ink); }
:root:root .kk-search__input:focus, :root:root .kk-search__input:focus-visible { outline: none !important; }
:root:root .kk-search__input::-webkit-search-cancel-button { display: none; }
:root:root .kk-search__esc { font-family: var(--kk-mono); font-size: 12px; border: 1.5px solid var(--kk-line); border-radius: 8px; padding: 6px 10px; background: transparent; color: var(--kk-ink); cursor: pointer; min-height: 36px; }
:root:root .kk-search__body { display: flex; flex-wrap: wrap; overflow-y: auto; min-height: 200px; }
:root:root .kk-search__col { padding: 14px 16px 20px; box-sizing: border-box; display: flex; flex-direction: column; gap: 4px; }
:root:root .kk-search__col--main { flex: 1 1 560px; min-width: 0; border-right: 1.5px solid var(--kk-line); }
:root:root .kk-search__col--side { flex: 1 1 320px; min-width: 0; gap: 10px; }
:root:root .kk-search__col--side:empty { display: none; }
:root:root .kk-search__hint { color: var(--kk-muted); padding: 10px; margin: 0; }
:root:root .kk-search__group { padding: 10px 10px 4px; }
:root:root .kk-search__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; padding: 12px 22px; border-top: 1.5px solid var(--kk-line); background: var(--kk-surface); font-size: 13px; color: var(--kk-muted); }
:root:root .kk-search__all { margin-left: auto; font-weight: 600; color: var(--kk-ink) !important; }
:root:root .kk-sres { display: flex; align-items: center; gap: 14px; padding: 10px; border-radius: 14px; text-decoration: none !important; color: var(--kk-ink) !important; }
:root:root .kk-sres:hover, :root:root .kk-sres.is-active { background: var(--kk-surface); }
:root:root .kk-sres.is-active { box-shadow: inset 0 0 0 1.5px var(--kk-ink); }
:root:root .kk-sres__thumb { flex: none; width: 52px; height: 52px; border-radius: 12px; overflow: hidden; display: block; }
:root:root .kk-sres__thumb img { width: 100%; height: 100%; object-fit: cover; }
:root:root .kk-sres__body { flex: 1; min-width: 0; display: flex; flex-direction: column; }
:root:root .kk-sres__title { font-weight: 600; line-height: 1.3; }
:root:root .kk-sres__title mark { background: var(--kk-other); color: var(--kk-ink); border-radius: 3px; padding: 0 2px; }
:root:root .kk-sres__meta { font-size: 13px; color: var(--kk-muted); }
:root:root .kk-sres--sponsored { border: 1.5px dashed #8C978F; }
:root:root .kk-sres--breed { background: var(--kk-surface); }
:root:root .kk-sres--breed .kk-sres__title { font-family: var(--kk-display); font-weight: 700; font-size: 18px; }
:root:root .kk-sres__tag { font-family: var(--kk-mono); font-size: 10px; padding: 2px 6px; border-radius: 4px; background: var(--kk-line-soft); }
:root:root .kk-search__topics { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 10px; }
:root:root .kk-search__cta { margin-top: 8px; background: var(--kk-ink); color: var(--kk-on-ink); border-radius: 18px; padding: 18px; display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
:root:root .kk-search__cta .kk-kicker { color: var(--kk-other); }
:root:root .kk-search__cta strong { font-family: var(--kk-display); font-size: 20px; line-height: 1.15; }
:root:root body.kk-search-open { overflow: hidden; }
@media (max-width: 767px) {
	:root:root .kk-search { padding: 0; }
	:root:root .kk-search__dialog { border-radius: 0; max-height: 100vh; height: 100vh; }
	:root:root .kk-search__col--main { border-right: 0; }
	:root:root .kk-search__foot span { display: none; }
}

/* ---------- Elementor layout utilities (used by the bundled templates) ---------- */ :root:root .e-con.kk-row:not(.e-con-boxed), :root:root .e-con.kk-row > .e-con-inner { --flex-direction: row; --flex-wrap: wrap; flex-direction: row !important; flex-wrap: wrap !important; }
:root:root .e-con.kk-col-main { flex: 999 1 600px !important; min-width: 0; --width: auto; width: auto !important; }
:root:root .e-con.kk-col-side { flex: 1 1 300px !important; min-width: 0; --width: auto; width: auto !important; }
:root:root .e-con.kk-col-half { flex: 1 1 440px !important; min-width: 0; --width: auto; width: auto !important; }
:root:root .e-con.kk-col-passport { flex: 1 1 360px !important; min-width: 0; --width: auto; width: auto !important; max-width: 480px; }
:root:root .e-con.kk-col-filters { flex: 1 1 260px !important; min-width: 0; --width: auto; width: auto !important; }
:root:root .e-con.kk-col-toc { flex: 1 1 200px !important; min-width: 0; --width: auto; width: auto !important; }
:root:root .e-con.kk-col-body { flex: 999 1 600px !important; min-width: 0; --width: auto; width: auto !important; max-width: 720px; }
:root:root .e-con.kk-col-rail { flex: 1 1 280px !important; min-width: 0; --width: auto; width: auto !important; }
:root:root .kk-header-row { border-bottom: 1.5px solid var(--kk-line); }
:root:root .e-con > .elementor-widget.kk-w-push, :root:root .e-con-inner > .elementor-widget.kk-w-push { margin-left: auto; }
:root:root .e-con > .elementor-widget.kk-w-search, :root:root .e-con-inner > .elementor-widget.kk-w-search { flex: 0 1 300px; }
:root:root .e-con > .elementor-widget.kk-w-none, :root:root .e-con-inner > .elementor-widget.kk-w-none { flex: none; }
@media (max-width: 1024px) {
	:root:root .elementor-widget.kk-w-nav { order: 10; }
	:root:root .e-con > .elementor-widget.kk-w-search, :root:root .e-con-inner > .elementor-widget.kk-w-search { flex: none; }
	:root:root .e-con.kk-col-passport { max-width: none; }
}
:root:root .elementor-widget.kk-w-full { width: 100%; }

/* ---------- Elementor helpers ---------- */ :root:root .kk-sticky-col, :root:root .elementor-element.kk-sticky-col { position: sticky; top: 90px; }
:root:root .admin-bar .kk-sticky-col { top: 122px; }
@media (max-width: 1024px) { :root:root .kk-sticky-col, :root:root .elementor-element.kk-sticky-col { position: static; } }
:root:root .e-con.kk-container { --content-width: var(--kk-container); }
:root:root .elementor-widget-container:has(> .kk-secnav) { margin: 0; }

@media (prefers-reduced-motion: reduce) {
	:root:root * { transition: none !important; scroll-behavior: auto !important; }
}

/* ---------- Short answers ---------- */ :root:root .kk-summary .kk-kicker + .kk-summary__answer { margin-top: 8px; }
:root:root .kk-summary__answer { margin: 0 0 14px; font-size: 18px; line-height: 1.55; font-weight: 500; }
:root:root .kk-summary__answer:last-child { margin-bottom: 0; }
:root:root .kk-summary__meta { display: block; margin-top: 10px; font-family: var(--kk-mono); font-size: 12px; }

/* ---------- Breed page: imported content ---------- */ :root:root .kk-passport__facts > div.is-wide { grid-column: 1 / -1; }
:root:root .kk-passport__facts dd { overflow-wrap: anywhere; }
:root:root .kk-prose .vet-cta { background: var(--kk-surface); border: 1.5px solid var(--kk-ink); border-radius: 18px; padding: 16px 20px; margin: 0 0 28px; }
:root:root .kk-prose .vet-cta p { margin: 0; font-size: 16px; }
:root:root .kk-prose .vet-cta a { font-weight: 700; }
:root:root .kk-prose h2:first-child, :root:root .kk-prose .vet-cta + h2 { margin-top: 0; }

/* ---------- Imported editorial articles ---------- */ :root:root .kk-prose .sveikata-trumpai { background: var(--kk-other); border-radius: 24px; padding: 22px 26px; margin: 0 0 32px; }
:root:root .kk-prose .sveikata-trumpai > p:first-child { margin: 0 0 8px; font-family: var(--kk-mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
:root:root .kk-prose .sveikata-trumpai > p:first-child strong { font-weight: 600; }
:root:root .kk-prose .sveikata-trumpai ul { margin: 0; padding-left: 20px; font-size: 17px; line-height: 1.5; }
:root:root .kk-prose .sveikata-trumpai li { margin-bottom: 6px; }
:root:root .kk-prose .sveikata-skubu { background: var(--kk-dog-soft); border: 2px solid var(--kk-ink); border-radius: 24px; padding: 20px 24px 16px; margin: 0 0 28px; }
:root:root .kk-prose .sveikata-skubu::before { content: "⚠ Skubiai pas veterinarą, jei"; display: block; margin-bottom: 8px; font-family: var(--kk-mono); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
:root:root .kk-prose .sveikata-skubu ul { margin: 0; padding-left: 20px; font-size: 17px; line-height: 1.5; }
:root:root .kk-prose .sveikata-pastaba { background: var(--kk-surface); border-radius: 16px; padding: 16px 18px; font-size: 15px; line-height: 1.55; color: var(--kk-muted); }
:root:root .kk-prose .sveikata-autorius { font-size: 14px; color: var(--kk-muted); }
:root:root .kk-prose h3 { scroll-margin-top: 90px; }
:root:root .kk-toc__list { max-height: calc(100vh - 220px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
:root:root .kk-toc__list a { font-size: 14px; }
:root:root .kk-avatar--brand { background: transparent; border-radius: 12px; }
:root:root .kk-avatar--brand svg { width: 100%; height: 100%; }
:root:root .kk-minibreeds { gap: 6px; }
:root:root .kk-minibreeds .kk-h4 { margin-bottom: 6px; }
:root:root .kk-minibreed { display: flex; align-items: center; gap: 12px; padding: 8px; margin: 0 -8px; border-radius: 14px; text-decoration: none !important; color: var(--kk-ink) !important; }
:root:root .kk-minibreed:hover { background: var(--kk-ground); }
:root:root .kk-minibreed__img { flex: none; width: 48px; height: 48px; border-radius: 12px; overflow: hidden; display: block; }
:root:root .kk-minibreed__body { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.25; }
:root:root .kk-minibreed__name { font-weight: 600; }
:root:root .kk-minibreed .kk-icon { color: var(--kk-muted); }
:root:root .kk-pill .kk-muted { margin-left: 6px; font-size: 12px; }

/* ---------- Photo credits ---------- */ :root:root .kk-breed-hero__figure { margin: 0; }
:root:root .kk-credit { display: block; margin-top: 8px; font-size: 12px; line-height: 1.4; color: var(--kk-muted); }
:root:root .kk-credit a { color: inherit !important; text-decoration: underline; text-underline-offset: 2px; }
:root:root .kk-featured { display: flex; flex-direction: column; height: auto; overflow: visible; border-radius: 0; }
:root:root .kk-featured > .kk-img, :root:root .kk-featured > .kk-ph { height: clamp(260px, 36vw, 480px); border-radius: var(--kk-r-xl); }
:root:root .kk-featured figcaption { padding-top: 0; }
:root:root .kk-species__media { position: relative; }
:root:root .kk-species__media > .kk-img, :root:root .kk-species__media > .kk-ph { position: absolute; inset: 0; width: 100%; height: 100%; }
:root:root .kk-card__media .kk-img, :root:root .kk-breed-card__media .kk-img, :root:root .kk-breed-hero__media .kk-img, :root:root .kk-passport__photo .kk-img, :root:root .kk-minibreed__img .kk-img, :root:root .kk-compare__img .kk-img, :root:root .kk-native__media .kk-img { width: 100%; height: 100%; object-fit: cover; }

/* ---------- Info pages & 404 (1.8) ---------- */ :root:root .kk-page-body { max-width: 760px; }
:root:root .kk-page-body > .elementor-widget-container > *:first-child { margin-top: 0; }
:root:root .kk-404 { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; max-width: 720px; }
:root:root .kk-404__code { font-family: var(--kk-display); font-weight: 800; font-size: clamp(96px, 16vw, 200px); line-height: .8; letter-spacing: -.06em; color: var(--kk-dog); -webkit-text-stroke: 2px var(--kk-ink); }
:root:root .kk-404 .kk-display { margin: 0; }
:root:root .kk-404 .kk-lead { margin: 0; }
:root:root .kk-404 .kk-searchbar { width: 100%; }
