/*
Theme Name: KD Ovčar
Theme URI: https://www.kd-ovcar.si/
Author: Optiweb
Description: Tema za Kinološko društvo "Ovčar" Škofja Loka. Blokovna tema brez vtičnikov za oblikovanje.
Version: 1.0.15
Requires at least: 6.8
Requires PHP: 8.1
Text Domain: kd-ovcar
*/

/* ---------- Base ---------- */
:root {
	--kd-line: rgba(16, 48, 31, 0.10);
	--kd-line-strong: rgba(16, 48, 31, 0.18);
	--kd-muted: rgba(16, 48, 31, 0.75);
	--kd-muted-light: rgba(243, 241, 236, 0.82);
	--kd-ease: cubic-bezier(0.16, 1, 0.3, 1);
	--kd-wide: 1200px;
}
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { height: auto; max-width: 100%; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
.wp-site-blocks { min-height: 100vh; display: flex; flex-direction: column; }
.wp-site-blocks > main { flex: 1; }
a:where(:not(.wp-element-button)) { text-underline-offset: 3px; }
:focus-visible { outline: 2px solid var(--wp--preset--color--green); outline-offset: 2px; }
.screen-reader-text:focus { background: #fff; padding: 8px 12px; z-index: 1000; }
p, li, dd { text-wrap: pretty; }
h1, h2, h3 { text-wrap: balance; }

/* ---------- Helpers ---------- */
.kd-eyebrow,
p.kd-eyebrow {
	font-family: var(--wp--preset--font-family--mono);
	text-transform: uppercase;
	letter-spacing: 0.14em;
	font-size: 13px;
	line-height: 1.4;
	color: var(--wp--preset--color--green-dark);
	margin: 0;
}
.kd-muted, .kd-muted a { color: var(--kd-muted); }
.kd-lead { font-size: var(--wp--preset--font-size--l); color: rgba(16, 48, 31, 0.78); max-width: 680px; }
.kd-num { font-family: var(--wp--preset--font-family--mono); font-size: 13px; color: var(--wp--preset--color--green-dark); }
.kd-arrow-link a, a.kd-arrow-link { font-weight: 700; color: var(--wp--preset--color--green-dark); text-decoration: none; }

/* Dark surfaces: text and accents flip */
.kd-dark, .kd-hero-dark,
.has-forest-background-color,
.has-ink-background-color { color: var(--wp--preset--color--cream); }
.kd-dark a:where(:not(.wp-element-button)), .kd-hero-dark a:where(:not(.wp-element-button)),
.has-forest-background-color a:where(:not(.wp-element-button)),
.has-ink-background-color a:where(:not(.wp-element-button)) { color: inherit; }
.kd-dark .kd-eyebrow, .kd-hero-dark > * > * > * > .kd-eyebrow, .kd-hero-dark .wp-block-column > .kd-eyebrow,
.has-forest-background-color .kd-eyebrow,
.has-ink-background-color .kd-eyebrow,
.kd-dark .kd-num,
.has-forest-background-color .kd-num { color: var(--wp--preset--color--yellow); }
.kd-dark .kd-muted,
.has-forest-background-color .kd-muted,
.has-forest-background-color .kd-lead,
.kd-hero-dark .kd-lead, .kd-dark .kd-lead { color: var(--kd-muted-light); }
.has-forest-background-color .kd-arrow-link a { color: var(--wp--preset--color--yellow); }

/* ---------- Buttons ---------- */
.wp-element-button, .wp-block-button__link {
	display: inline-flex; align-items: center; gap: 10px; min-height: 48px; box-sizing: border-box;
	text-decoration: none; transition: transform 140ms ease-out, background-color 140ms ease-out;
}
.wp-block-button__link:active { transform: scale(0.98); }
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent; color: var(--wp--preset--color--ink);
	border: 1px solid rgba(16, 48, 31, 0.25); padding: 12px 21px;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: rgba(16, 48, 31, 0.05); }
.has-forest-background-color .wp-block-button.is-style-outline > .wp-block-button__link,
.kd-hero-dark .wp-block-button.is-style-outline > .wp-block-button__link,
.kd-dark .wp-block-button.is-style-outline > .wp-block-button__link { color: var(--wp--preset--color--cream); border-color: rgba(243, 241, 236, 0.4); }
.wp-block-button.is-style-dark > .wp-block-button__link { background: var(--wp--preset--color--forest); color: #fff; }
.wp-block-button.is-style-dark > .wp-block-button__link:hover { background: var(--wp--preset--color--ink); }
.wp-block-button.is-style-light > .wp-block-button__link { background: var(--wp--preset--color--cream); color: var(--wp--preset--color--ink); }
.kd-btn-arrow .wp-block-button__link::after {
	content: ""; width: 18px; height: 18px; flex: none;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ---------- Cards (group block styles) ---------- */
.is-style-card {
	background: #fff; border: 1px solid var(--kd-line); border-radius: 10px;
	padding: 28px; box-sizing: border-box;
}
.is-style-card-dark {
	background: var(--wp--preset--color--forest); color: var(--wp--preset--color--cream);
	border-radius: 10px; padding: 28px; box-sizing: border-box;
}
.is-style-card-dashed {
	border: 1px dashed rgba(16, 48, 31, 0.25); border-radius: 10px; padding: 22px 28px; box-sizing: border-box;
}
.is-style-card-sage { background: var(--wp--preset--color--sage); border-radius: 10px; padding: 28px; box-sizing: border-box; }
.kd-lift { transition: transform 240ms var(--kd-ease), box-shadow 240ms var(--kd-ease); }
.kd-lift:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(16, 48, 31, 0.10); }
.kd-card-media { overflow: hidden; padding: 0 !important; }
.kd-card-media > .wp-block-image,
.kd-card-media > figure { margin: 0 !important; }
.kd-card-media > .wp-block-image img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; border-radius: 0; }
.kd-card-media > .kd-card-body { padding: 26px 28px 28px; }
/* Whole-card links: the first link inside stretches over the card. */
.kd-stretch { position: relative; }
.kd-stretch :is(h2, h3, h4) a { text-decoration: none; color: inherit; }
.kd-stretch :is(h2, h3, h4) a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.kd-stretch:hover :is(h2, h3, h4) a { text-decoration: underline; text-underline-offset: 4px; }

/* Images */
.wp-block-image.is-style-soft img, .kd-round img { border-radius: 12px; }
.wp-block-image.is-style-soft-s img { border-radius: 10px; }
.kd-cover-img img { width: 100%; height: 100%; object-fit: cover; }
.wp-block-image figcaption, .wp-element-caption { font-size: 14px; color: var(--kd-muted); margin-top: 10px; text-align: left; }

/* ---------- Sections ---------- */
.kd-section { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--60); }
.kd-section-s { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--50); }
.kd-band-white { background: #fff; border-top: 1px solid rgba(16, 48, 31, 0.08); border-bottom: 1px solid rgba(16, 48, 31, 0.08); }
.kd-head { display: flex; flex-direction: column; gap: 12px; }
.kd-head > * { margin: 0 !important; }

/* Page intro (hero) */
.kd-page-hero {
	background:
		radial-gradient(ellipse 55% 120% at 100% 0%, rgba(255, 239, 20, 0.30), rgba(255, 239, 20, 0) 60%),
		var(--wp--preset--color--sage);
}
.kd-page-hero h1 { margin: 0; }
.kd-page-hero .wp-block-post-excerpt__excerpt,
.kd-page-hero .kd-lead { margin: 0; font-size: var(--wp--preset--font-size--l); color: rgba(16, 48, 31, 0.78); max-width: 680px; }
.kd-page-hero .wp-block-post-excerpt { margin: 0; }
.kd-hero-dark {
	background:
		radial-gradient(ellipse 70% 90% at 0% 100%, rgba(255, 239, 20, 0.22), rgba(255, 239, 20, 0) 60%),
		var(--wp--preset--color--forest);
	color: var(--wp--preset--color--cream);
}
.kd-hero-dark h1 { font-size: clamp(40px, 5.4vw, 68px); line-height: 1.02; }
.kd-glow {
	background:
		radial-gradient(ellipse 60% 120% at 100% 0%, rgba(255, 239, 20, 0.22), rgba(255, 239, 20, 0) 60%),
		var(--wp--preset--color--forest);
}

/* Breadcrumbs */
.wp-block-breadcrumbs { font-size: 14px; color: rgba(16, 48, 31, 0.72); }
.wp-block-breadcrumbs a { color: inherit; }
.wp-block-breadcrumbs ol { margin: 0; padding: 0; }

/* ---------- Header ---------- */
.kd-topbar { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--cream); font-size: 14px; }
.kd-topbar p { margin: 0; text-align: center; padding: 10px 24px; }
.kd-topbar a { color: inherit; font-weight: 700; }
.kd-topbar .kd-eyebrow { display: inline; color: var(--wp--preset--color--yellow); font-size: 12px; margin-right: 12px; }

.kd-header { position: relative; z-index: 50; background: var(--wp--preset--color--cream); border-bottom: 1px solid var(--kd-line); }
.kd-header__inner { max-width: var(--kd-wide); margin: 0 auto; padding: 14px 24px; display: flex; align-items: center; justify-content: space-between; gap: 12px 24px; }
.kd-brand { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--wp--preset--color--ink); }
.kd-brand .wp-block-site-logo img { width: 48px; height: 48px; display: block; }
.kd-brand__text { display: flex; flex-direction: column; line-height: 1.1; gap: 0; }
.kd-brand__text p { margin: 0; }
.kd-brand__name, .kd-brand__name a { font-weight: 800; font-size: 19px; letter-spacing: -0.025em; text-decoration: none; color: inherit; }
.kd-brand__place { font-family: var(--wp--preset--font-family--mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; opacity: 0.7; }

/* Main navigation */
.kd-nav.wp-block-navigation { gap: 4px 6px; font-weight: 700; font-size: 15px; }
.kd-nav .wp-block-navigation__container { gap: 4px 6px; }
.kd-nav .wp-block-navigation-item > .wp-block-navigation-item__content {
	min-height: 44px; padding: 0 12px; border-radius: 5px; display: inline-flex; align-items: center; text-decoration: none;
}
.kd-nav .wp-block-navigation-submenu > .wp-block-navigation-item__content { padding-right: 4px; }
.kd-nav .wp-block-navigation__submenu-icon { margin-right: 8px; width: 14px; height: 14px; transition: transform 240ms var(--kd-ease); }
.kd-nav .wp-block-navigation__submenu-icon svg { stroke-width: 2.6px; }
.kd-nav .has-child:hover > .wp-block-navigation__submenu-icon,
.kd-nav .has-child:focus-within > .wp-block-navigation__submenu-icon { transform: rotate(180deg); }
.kd-nav .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
.kd-nav .wp-block-navigation-item.current-menu-ancestor > .wp-block-navigation-item__content { box-shadow: inset 0 -3px 0 var(--wp--preset--color--green); }
.kd-nav .has-child:hover > .wp-block-navigation-item__content { background: var(--wp--preset--color--sage); }

/* Dropdown panel */
.kd-nav .has-child .wp-block-navigation__submenu-container {
	background: #fff !important; color: var(--wp--preset--color--ink) !important;
	border: 1px solid var(--kd-line) !important; border-radius: 10px; padding: 14px !important;
	box-shadow: 0 18px 40px rgba(16, 48, 31, 0.14); min-width: 340px !important;
	top: calc(100% + 8px) !important; left: -12px; counter-reset: kdsub;
	display: grid !important; grid-template-columns: 1fr; gap: 4px;
}
.kd-nav .has-child .wp-block-navigation__submenu-container::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
.kd-nav .has-child .wp-block-navigation__submenu-container:has(> li:nth-child(5)) { grid-template-columns: repeat(2, minmax(0, 1fr)); min-width: 560px !important; }
.kd-nav .wp-block-navigation__submenu-container .wp-block-navigation-item { counter-increment: kdsub; }
.kd-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: grid !important; grid-template-columns: 36px 1fr; column-gap: 12px; align-items: start;
	padding: 12px !important; border-radius: 6px; min-height: 0; font-weight: 800; font-size: 15px; line-height: 1.3;
}
.kd-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content::before {
	content: "0" counter(kdsub); grid-row: span 2; width: 36px; height: 36px; border-radius: 6px;
	background: var(--wp--preset--color--sage); color: var(--wp--preset--color--forest);
	font-family: var(--wp--preset--font-family--mono); font-size: 12px; font-weight: 400;
	display: flex; align-items: center; justify-content: center;
}
.kd-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--mint); }
.kd-nav .wp-block-navigation-item__description { display: block; grid-column: 2; font-weight: 400; font-size: 13px; color: rgba(16, 48, 31, 0.68); margin-top: 2px; }

.kd-header .kd-cta-btn .wp-block-button__link { min-height: 44px; padding: 0 20px; }

/* Mobile menu */
.kd-nav .wp-block-navigation__responsive-container-open,
.kd-nav .wp-block-navigation__responsive-container-close { width: 44px; height: 44px; align-items: center; justify-content: center; border-radius: 6px; }
.kd-nav .wp-block-navigation__responsive-container-open { background: var(--wp--preset--color--forest); color: #fff; }
.kd-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--cream) !important; color: var(--wp--preset--color--ink) !important; padding: 16px 24px 32px;
}
.kd-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 56px; align-items: stretch !important; }
.kd-nav .is-menu-open .wp-block-navigation__container { gap: 0 !important; width: 100%; align-items: stretch !important; }
.kd-nav .is-menu-open .wp-block-navigation-item { width: 100%; align-items: stretch !important; border-bottom: 1px solid var(--kd-line); }
.kd-nav .is-menu-open .wp-block-navigation-item > .wp-block-navigation-item__content { font-size: 20px; font-weight: 800; padding: 14px 0 !important; min-height: 52px; }
.kd-nav .is-menu-open .wp-block-navigation__submenu-container {
	display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 4px 12px !important; padding: 0 0 14px !important;
	border: 0 !important; box-shadow: none; min-width: 0 !important; background: transparent !important;
}
.kd-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { border: 0; }
.kd-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: block !important; font-size: 15px !important; font-weight: 700 !important; padding: 8px 0 !important; color: var(--wp--preset--color--forest);
}
.kd-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content::before,
.kd-nav .is-menu-open .wp-block-navigation-item__description { display: none; }
.kd-nav .is-menu-open .wp-block-navigation__submenu-icon { display: none; }
@media (max-width: 1100px) {
	.kd-header .kd-cta-btn { display: none; }
}

/* Section sub navigation */
.kd-subnav { background: #fff; border-bottom: 1px solid var(--kd-line); }
.kd-subnav__inner { max-width: var(--kd-wide); margin: 0 auto; padding: 14px 24px; display: flex; gap: 8px; overflow-x: auto; box-sizing: border-box; scrollbar-width: thin; }
.kd-subnav a {
	white-space: nowrap; text-decoration: none; font-weight: 700; font-size: 14px; padding: 12px 16px;
	border-radius: 5px; border: 1px solid var(--kd-line-strong); color: var(--wp--preset--color--ink);
}
.kd-subnav a:hover { background: var(--wp--preset--color--mint); }
.kd-subnav a[aria-current="page"] { background: var(--wp--preset--color--forest); border-color: var(--wp--preset--color--forest); color: #fff; }

/* ---------- Footer ---------- */
.kd-footer { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--cream); }
.kd-footer a { color: rgba(243, 241, 236, 0.82); text-decoration: none; }
.kd-footer a:hover { color: #fff; text-decoration: underline; }
.kd-footer .kd-footer__title { font-weight: 800; font-size: 24px; letter-spacing: -0.025em; margin: 0; }
.kd-footer .kd-eyebrow { color: var(--wp--preset--color--yellow); font-size: 12px; margin-bottom: 4px; }
.kd-footer ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.kd-footer .kd-footer__contact a { color: var(--wp--preset--color--cream); font-weight: 700; }
.kd-footer__bottom { border-top: 1px solid rgba(238, 239, 235, 0.18); font-size: 14px; color: rgba(243, 241, 236, 0.72); }
.kd-footer__bottom a { text-decoration: underline; }

/* ---------- Content pieces ---------- */
/* Numbered steps */
.kd-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 24px; counter-reset: kdstep; }
.kd-steps > li { counter-increment: kdstep; display: flex; flex-direction: column; gap: 10px; color: var(--kd-muted); }
.kd-steps > li::before {
	content: counter(kdstep); width: 48px; height: 48px; border-radius: 50%; background: var(--wp--preset--color--yellow);
	display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 20px; color: var(--wp--preset--color--ink);
}
.kd-steps > li strong { display: block; font-size: 20px; font-weight: 800; color: var(--wp--preset--color--ink); }
.kd-steps.is-small > li::before { width: 26px; height: 26px; font-size: 13px; }
.kd-steps.is-small { grid-template-columns: 1fr; gap: 12px; }
.kd-steps.is-small > li { flex-direction: row; gap: 12px; font-size: 15px; color: inherit; }
.kd-steps.is-small > li::before { flex: none; }

/* Milestones / timeline row */
.kd-milestones { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 24px; }
.kd-milestones > li { padding-top: 20px; border-top: 3px solid var(--wp--preset--color--green); color: var(--kd-muted); }
.kd-milestones > li strong { display: block; font-size: 32px; font-weight: 800; letter-spacing: -0.03em; color: var(--wp--preset--color--ink); margin-bottom: 8px; }

/* Big numbers */
.kd-stat { display: flex; flex-direction: column; gap: 0; }
.kd-stat > * { margin: 0 !important; }
.kd-stat .kd-stat__n { font-weight: 800; font-size: 36px; letter-spacing: -0.03em; line-height: 1.15; }
.has-forest-background-color .kd-stat__n, .kd-dark .kd-stat__n { color: var(--wp--preset--color--yellow); }
.kd-stat .kd-stat__l { font-size: 14px; opacity: 0.8; }

/* Check list */
.kd-checks { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }
.kd-checks li { display: flex; gap: 12px; align-items: flex-start; background: #fff; border: 1px solid var(--kd-line); border-radius: 8px; padding: 16px 18px; font-weight: 700; }
.kd-checks li::before {
	content: ""; width: 24px; height: 24px; flex: none; border-radius: 50%; background: var(--wp--preset--color--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center / 14px no-repeat;
}

/* Definition rows (course facts, contact data) */
.kd-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; margin: 0; }
.kd-facts > div, .kd-facts > p { background: #fff; border: 1px solid var(--kd-line); border-radius: 8px; padding: 14px 16px; margin: 0 !important; }
.kd-facts dt, .kd-facts .kd-facts__k { font-size: 13px; color: rgba(16, 48, 31, 0.68); display: block; }
.kd-facts dd, .kd-facts strong { margin: 2px 0 0; font-weight: 800; font-size: 18px; display: block; }
.kd-datalist { margin: 0; padding: 8px 32px; background: #fff; border: 1px solid var(--kd-line); border-radius: 10px; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); column-gap: 32px; }
.kd-datalist > div { padding: 20px 0; border-bottom: 1px solid rgba(16, 48, 31, 0.08); }
.kd-datalist dt { font-size: 14px; color: rgba(16, 48, 31, 0.7); }
.kd-datalist dd { margin: 4px 0 0; font-family: var(--wp--preset--font-family--mono); font-size: 17px; }

/* Q & A cards (course pages) */
.kd-qa { display: flex; flex-direction: column; gap: 10px; }
.kd-qa > .wp-block-group { background: #fff; border: 1px solid var(--kd-line); border-radius: 8px; padding: 18px 20px 20px; }
.kd-qa h3, .kd-qa h4 { font-size: 17px; letter-spacing: -0.01em; margin: 0 0 6px; display: flex; gap: 10px; align-items: baseline; }
.kd-qa p { margin: 0; color: rgba(16, 48, 31, 0.8); font-size: 16px; }
.kd-qa p + p, .kd-qa p + ul, .kd-qa ul + p { margin-top: 10px; }
.kd-qa ul { margin: 8px 0 0; padding-left: 20px; color: rgba(16, 48, 31, 0.8); font-size: 16px; }

/* Chips */
.kd-chip, .kd-chips > * {
	display: inline-flex; align-items: center; padding: 4px 10px; border-radius: 4px; font-size: 12px; font-weight: 700;
	background: var(--wp--preset--color--sage); color: var(--wp--preset--color--forest); margin: 0;
}
.kd-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.kd-chip.is-yellow { background: var(--wp--preset--color--yellow); color: var(--wp--preset--color--ink); }
.kd-chip.is-green { background: var(--wp--preset--color--green); color: #fff; }
.has-forest-background-color .kd-chips > *, .kd-dark .kd-chips > * { background: rgba(243, 241, 236, 0.12); color: inherit; }

/* Avatar initials (people without photo) */
.kd-avatar {
	width: 56px; height: 56px; flex: none; border-radius: 50%; background: var(--wp--preset--color--sage); color: var(--wp--preset--color--forest);
	display: flex; align-items: center; justify-content: center; font-weight: 800; margin: 0 !important;
}
.kd-avatar.is-large { width: 120px; height: 120px; font-size: 36px; background: rgba(243, 241, 236, 0.12); color: var(--wp--preset--color--yellow); }

/* Accordion (FAQ) */
.wp-block-accordion { display: flex; flex-direction: column; gap: 12px; }
.wp-block-accordion-item { background: #fff; border: 1px solid var(--kd-line); border-radius: 8px; overflow: hidden; }
.wp-block-accordion-heading { margin: 0; font-size: 18px; letter-spacing: -0.01em; }
.wp-block-accordion-heading__toggle { padding: 20px 22px !important; font-weight: 800; min-height: 64px; }
.wp-block-accordion-panel { padding: 0 22px 22px; color: rgba(16, 48, 31, 0.82); }
.wp-block-accordion-panel > *:first-child { margin-top: 0; }
details.wp-block-details { background: #fff; border: 1px solid var(--kd-line); border-radius: 8px; padding: 0; margin: 0 0 12px; transition: border-color 200ms ease, box-shadow 200ms ease; }
details.wp-block-details:hover { border-color: var(--kd-line-strong); }
details.wp-block-details[open] { border-color: rgba(31, 90, 58, 0.35); box-shadow: 0 8px 24px rgba(16, 48, 31, 0.06); }
details.wp-block-details summary {
	list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px;
	padding: 20px 22px; min-height: 64px; box-sizing: border-box; font-weight: 800; font-size: 18px; letter-spacing: -0.01em; line-height: 1.35;
}
details.wp-block-details summary::-webkit-details-marker { display: none; }
details.wp-block-details summary::marker { content: ""; }
details.wp-block-details summary::after {
	content: ""; flex: none; width: 32px; height: 32px; border-radius: 50%; background-color: var(--wp--preset--color--sage);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F5A3A' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: center; background-size: 16px; transition: transform 240ms var(--kd-ease), background-color 200ms ease;
}
details.wp-block-details[open] summary::after { transform: rotate(180deg); background-color: var(--wp--preset--color--yellow); }
details.wp-block-details summary:focus-visible { outline-offset: -2px; border-radius: 8px; }
details.wp-block-details > :not(summary) { margin: 0 22px; color: rgba(16, 48, 31, 0.8); font-size: 16px; line-height: 1.6; }
details.wp-block-details > summary + * { margin-top: -4px; }
details.wp-block-details > * + :not(summary) { margin-top: 10px; }
details.wp-block-details > :last-child:not(summary) { margin-bottom: 22px; }

/* Tables */
.wp-block-table.kd-table { background: #fff; border: 1px solid var(--kd-line); border-radius: 10px; overflow-x: auto; margin: 0; }
.wp-block-table.kd-table table { border-collapse: collapse; width: 100%; min-width: 520px; }
.wp-block-table.kd-table th, .wp-block-table.kd-table td { border: 0; border-bottom: 1px solid rgba(16, 48, 31, 0.08); padding: 16px 24px; text-align: left; }
.wp-block-table.kd-table thead { border: 0; }
.wp-block-table.kd-table thead th { background: var(--wp--preset--color--sage); font-size: 14px; font-weight: 800; }
.wp-block-table.kd-table tbody tr:last-child td { border-bottom: 0; }
.wp-block-table.kd-table td:last-child, .wp-block-table.kd-table th:last-child { text-align: right; font-weight: 800; white-space: nowrap; }
.wp-block-table.kd-table td:first-child { font-weight: 700; }

/* Price cards */
.kd-price { font-weight: 800; font-size: 44px; letter-spacing: -0.03em; line-height: 1.05; margin: 0 !important; }

/* Schedule grid */
.kd-schedule { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 10px; }
.kd-schedule > .wp-block-group { background: #fff; border: 1px solid var(--kd-line); border-radius: 8px; padding: 14px; display: flex; flex-direction: column; gap: 8px; }
.kd-schedule .kd-day { font-weight: 800; font-size: 15px; margin: 0 0 4px !important; }
.kd-schedule .kd-day.is-weekend { color: var(--wp--preset--color--green-dark); }
.kd-slot { border-radius: 6px; padding: 10px 12px; margin: 0 !important; font-size: 14px; line-height: 1.35; background: var(--wp--preset--color--sage); }
.kd-slot strong { display: block; font-size: 15px; }
.kd-slot.is-ms { background: var(--wp--preset--color--yellow); }
.kd-slot.is-bh { background: var(--wp--preset--color--green); color: #fff; }
.kd-slot.is-igp { background: var(--wp--preset--color--forest); color: #fff; }
.kd-slot.is-ag { background: var(--wp--preset--color--ink); color: #fff; }
.kd-legend { display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 14px; font-weight: 700; }
.kd-legend span { display: inline-flex; align-items: center; gap: 8px; }
.kd-legend i { width: 14px; height: 14px; border-radius: 4px; display: inline-block; }
@media (max-width: 900px) {
	.kd-schedule { grid-template-columns: 1fr; }
	.kd-schedule > .wp-block-group { flex-direction: row; flex-wrap: wrap; align-items: flex-start; }
	.kd-schedule .kd-day { flex: 0 0 100%; }
	.kd-slot { flex: 1 1 140px; }
}

/* Download rows */
.kd-file { display: flex; align-items: center; gap: 16px; background: #fff; border: 1px solid var(--kd-line); border-radius: 8px; padding: 18px 22px; }
.kd-file > * { margin: 0 !important; }
.kd-file .kd-file__icon { width: 44px; height: 44px; border-radius: 6px; background: var(--wp--preset--color--sage); flex: none; display: flex; align-items: center; justify-content: center; font-family: var(--wp--preset--font-family--mono); font-size: 11px; color: var(--wp--preset--color--forest); }
.kd-file .kd-file__body { flex: 1; min-width: 0; }
.kd-file .kd-file__meta { font-size: 13px; color: rgba(16, 48, 31, 0.65); display: block; font-weight: 400; }

/* Kennel / litter cards */
.kd-kennel { display: flex; gap: 20px; align-items: flex-start; }
.kd-kennel > .wp-block-image { flex: 0 0 120px; margin: 0; }
.kd-kennel > .wp-block-image img { width: 120px; height: 120px; object-fit: cover; border-radius: 8px; }
.kd-kennel p { margin: 0; }
.kd-gallery-strip { gap: 10px !important; }
.kd-gallery-strip img { border-radius: 8px; aspect-ratio: 1; object-fit: cover; }

/* Empty state */
.kd-empty { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; justify-content: space-between; }

/* Logos (donors) */
.kd-logo-box { background: #fff; border: 1px solid var(--kd-line); border-radius: 8px; padding: 18px; display: flex; align-items: center; justify-content: center; min-height: 110px; margin: 0 !important; }
.kd-logo-box img { max-height: 80px; width: auto !important; object-fit: contain; }

/* Copy button (donations) */
.kd-copy { font: inherit; font-weight: 700; font-size: 14px; min-height: 44px; padding: 0 16px; border-radius: 5px; border: 1px solid rgba(243, 241, 236, 0.4); background: transparent; color: inherit; cursor: pointer; }
.kd-copy.is-done { background: var(--wp--preset--color--yellow); color: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--yellow); }

/* ---------- News ---------- */
.kd-news-featured .wp-block-post-featured-image img { aspect-ratio: 16 / 9; object-fit: cover; }
.wp-block-post-featured-image { margin: 0; }
.kd-news-card { background: #fff; border: 1px solid var(--kd-line); border-radius: 10px; overflow: hidden; height: 100%; display: flex; flex-direction: column; }
.kd-news-card .wp-block-post-featured-image img { aspect-ratio: 16 / 10; object-fit: cover; width: 100%; }
.kd-news-card .kd-card-body { padding: 22px 24px 26px; flex: 1; display: flex; flex-direction: column; gap: 10px; }
.kd-news-card .kd-card-body > * { margin: 0; }
.kd-news-card .wp-block-post-title { font-size: 20px; letter-spacing: -0.02em; line-height: 1.25; }
.kd-news-card .wp-block-post-excerpt__excerpt { margin: 0; color: var(--kd-muted); font-size: 15px; }
.kd-meta { font-family: var(--wp--preset--font-family--mono); font-size: 12px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--wp--preset--color--green-dark); display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.kd-meta > * { margin: 0 !important; }
.kd-meta a { color: inherit; text-decoration: none; }
.has-forest-background-color .kd-meta { color: var(--wp--preset--color--yellow); }
.kd-news-placeholder { aspect-ratio: 16 / 10; background: repeating-linear-gradient(135deg, #E2E8DC 0 12px, #EBEFE6 12px 24px); }
.kd-news-row { display: flex; gap: 20px; align-items: center; padding: 22px 0; border-top: 1px solid rgba(16, 48, 31, 0.14); }
.kd-news-row > * { margin: 0 !important; }
.kd-news-row .wp-block-post-featured-image { flex: 0 0 104px; }
.kd-news-row .wp-block-post-featured-image img { width: 104px; height: 80px; object-fit: cover; border-radius: 6px; }
.kd-news-row .wp-block-post-title { font-size: 19px; font-weight: 700; letter-spacing: -0.01em; line-height: 1.3; }
.kd-news-row .wp-block-post-title a { text-decoration: none; }
.kd-news-row:hover .wp-block-post-title a { text-decoration: underline; text-underline-offset: 4px; }
.kd-news-grid .wp-block-post-template { gap: 24px; }

/* Category filter pills */
.kd-filter.wp-block-categories, .kd-filter { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.kd-filter li { margin: 0; }
.kd-filter a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 5px; border: 1px solid var(--kd-line-strong); background: #fff; font-weight: 700; font-size: 14px; text-decoration: none; }
.kd-filter a:hover { background: var(--wp--preset--color--mint); }
.kd-filter .current-cat a, .kd-filter a[aria-current] { background: var(--wp--preset--color--forest); border-color: var(--wp--preset--color--forest); color: #fff; }

/* Pagination */
.wp-block-query-pagination { gap: 8px; font-weight: 700; }
.wp-block-query-pagination a, .wp-block-query-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 12px; border-radius: 5px; border: 1px solid var(--kd-line-strong); text-decoration: none; box-sizing: border-box; }
.wp-block-query-pagination .page-numbers.current { background: var(--wp--preset--color--forest); color: #fff; border-color: var(--wp--preset--color--forest); }
.wp-block-query-pagination .page-numbers.dots { border: 0; }

/* Single news article */
.kd-article .wp-block-post-content > * { max-width: 720px; margin-left: auto; margin-right: auto; }
.kd-article .wp-block-post-content { font-size: 18px; line-height: 1.7; }
.kd-article .wp-block-post-content img { border-radius: 8px; }
.kd-article .wp-block-post-content .wp-block-gallery { max-width: 900px; }
.kd-article .wp-block-post-content .wp-block-image { margin-top: 32px; margin-bottom: 32px; }
.kd-article .wp-block-post-content .alignwide { max-width: 1000px; }

/* Long-form content pages (history etc.) */
.kd-prose { font-size: 18px; line-height: 1.7; }
.kd-prose h2 { margin-top: 48px; }
.kd-prose img { border-radius: 10px; }
.kd-toc { position: sticky; top: 24px; }
.kd-toc a { display: block; padding: 6px 0; text-decoration: none; font-weight: 700; }
.kd-timeline { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.kd-timeline li { display: grid; grid-template-columns: 64px 1fr; gap: 12px; font-size: 15px; }
.kd-timeline li strong { font-family: var(--wp--preset--font-family--mono); color: var(--wp--preset--color--yellow); font-weight: 400; }
.kd-kennel-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.kd-kennel-chips > * { margin: 0 !important; padding: 8px 14px; border-radius: 5px; background: #fff; border: 1px solid var(--kd-line); font-weight: 700; font-size: 15px; }

/* Legal pages */
.kd-tabs { display: flex; gap: 8px; flex-wrap: wrap; }
.kd-tabs a { min-height: 44px; display: inline-flex; align-items: center; padding: 0 18px; border-radius: 6px 6px 0 0; background: rgba(255, 255, 255, 0.5); text-decoration: none; font-weight: 700; }
.kd-tabs a[aria-current="page"] { background: var(--wp--preset--color--cream); }
.kd-legal h2 { font-size: 26px; margin-top: 40px; }
.kd-legal h2:first-child { margin-top: 0; }

/* 404 */
.kd-404-art { font-weight: 800; font-size: clamp(120px, 18vw, 220px); letter-spacing: -0.06em; line-height: 0.9; color: var(--wp--preset--color--forest); display: flex; align-items: center; justify-content: center; gap: 0.08em; margin: 0; }
.kd-404-art span { display: inline-flex; width: 0.82em; height: 0.82em; border-radius: 50%; background: var(--wp--preset--color--yellow); align-items: center; justify-content: center; }
.kd-404-art svg { width: 55%; height: 55%; }

/* Tiles with arrow (quick links) */
.kd-tile { display: flex !important; justify-content: space-between; align-items: center; text-decoration: none; border: 1px solid var(--kd-line-strong); border-radius: 10px; padding: 24px 26px; font-size: 19px; font-weight: 800; background: transparent; }
.kd-tile::after { content: "→"; color: var(--wp--preset--color--green-dark); }
.kd-tile:hover { background: #fff; }

/* Map card */
.kd-map-card { overflow: hidden; padding: 0 !important; border-radius: 12px !important; }
.kd-map-card .wp-block-image { margin: 0; }
.kd-map-card .wp-block-image img { width: 100%; height: 320px; object-fit: cover; display: block; border-radius: 0; }

/* Homepage hero image and the floating card */
.kd-hero-media { position: relative; }
.kd-hero-media .wp-block-image img { width: 100%; aspect-ratio: 4 / 3.2; object-fit: cover; border-radius: 12px; display: block; }
.kd-hero-float {
	position: absolute; left: -24px; bottom: -32px; width: 300px; max-width: calc(100% - 24px); box-sizing: border-box;
	background: var(--wp--preset--color--cream); color: var(--wp--preset--color--ink); border-radius: 10px; padding: 18px 20px;
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.25); display: flex; flex-direction: column; gap: 6px;
}
.kd-hero-float > * { margin: 0 !important; }
.kd-hero-float .kd-eyebrow { font-size: 11px; color: var(--wp--preset--color--green-dark); }
.kd-hero-float a { color: var(--wp--preset--color--green-dark); font-weight: 800; text-decoration: none; font-size: 14px; }
@media (max-width: 781px) {
	.kd-hero-float { position: relative; left: auto; bottom: auto; margin: -40px 16px 0 !important; width: auto; }
}

/* Feature list (why us row) */
.kd-why { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 24px; }
.kd-why > .wp-block-group { display: flex; gap: 14px; align-items: flex-start; }
.kd-why-icon { width: 44px; height: 44px; flex: none; border-radius: 6px; background: var(--wp--preset--color--sage); color: var(--wp--preset--color--forest); display: flex; align-items: center; justify-content: center; margin: 0 !important; }
.kd-why-icon svg { width: 22px; height: 22px; }
.kd-why p { margin: 0; }
.kd-why .kd-why__t { font-weight: 800; font-size: 22px; letter-spacing: -0.02em; line-height: 1.25; }
.kd-why .kd-why__d { font-size: 14px; color: rgba(16, 48, 31, 0.72); }

/* Video / image banner */
.kd-banner.wp-block-cover { border-radius: 12px; overflow: hidden; min-height: 460px; }
.kd-banner .wp-block-cover__inner-container { width: 100%; }

/* Contact rows */
.kd-contact-rows a { display: flex; gap: 14px; align-items: center; text-decoration: none; padding: 14px 0; border-bottom: 1px solid rgba(238, 239, 235, 0.18); font-size: 20px; font-weight: 700; }
.kd-contact-rows p { margin: 0; }

/* ---------- Course finder ---------- */
.kd-finder { background: #fff; border: 1px solid var(--kd-line); border-radius: 12px; overflow: hidden; display: flex; flex-wrap: wrap; max-width: var(--kd-wide); margin: 0 auto; }
.kd-finder__controls { flex: 1 1 340px; background: var(--wp--preset--color--sage); padding: 32px; box-sizing: border-box; display: flex; flex-direction: column; gap: 18px; }
.kd-finder__controls h2 { font-size: 30px; margin: 0; }
.kd-finder__controls p { margin: 0; color: rgba(16, 48, 31, 0.78); font-size: 15px; }
.kd-finder__age { display: flex; align-items: center; gap: 10px; }
.kd-finder__age button { width: 48px; height: 48px; border-radius: 6px; border: 1px solid rgba(16, 48, 31, 0.2); background: #fff; font: inherit; font-size: 22px; font-weight: 800; color: var(--wp--preset--color--ink); cursor: pointer; }
.kd-finder__age output { flex: 1; height: 48px; border-radius: 6px; background: #fff; border: 1px solid rgba(16, 48, 31, 0.2); display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 800; }
.kd-finder input[type="range"] { width: 100%; accent-color: var(--wp--preset--color--forest); }
.kd-finder__scale { display: flex; justify-content: space-between; font-size: 12px; color: rgba(16, 48, 31, 0.6); }
.kd-finder__check { display: flex; gap: 12px; align-items: center; min-height: 48px; padding: 0 14px; border-radius: 6px; background: #fff; border: 1px solid rgba(16, 48, 31, 0.2); font-weight: 700; font-size: 15px; cursor: pointer; }
.kd-finder__check input { width: 20px; height: 20px; accent-color: var(--wp--preset--color--forest); }
.kd-finder__results { flex: 2 1 480px; padding: 32px; box-sizing: border-box; display: flex; flex-direction: column; gap: 16px; }
.kd-finder__rec { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--cream); border-radius: 8px; padding: 20px 22px; display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: space-between; }
.kd-finder__rec strong { display: block; font-size: 22px; letter-spacing: -0.02em; }
.kd-finder__rec .kd-eyebrow { color: var(--wp--preset--color--yellow); font-size: 11px; }
.kd-finder__rec span { font-size: 14px; color: var(--kd-muted-light); }
.kd-finder__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; }
.kd-finder__card { text-decoration: none; color: var(--wp--preset--color--ink); border: 1px solid rgba(16, 48, 31, 0.12); border-radius: 8px; padding: 16px; display: flex; flex-direction: column; gap: 8px; background: #fff; }
.kd-finder__card[data-state="ok"] { background: var(--wp--preset--color--mint); }
.kd-finder__card b { font-size: 17px; }
.kd-finder__card small { font-size: 14px; color: rgba(16, 48, 31, 0.75); }
.kd-finder__card header { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.kd-finder__badge { padding: 3px 9px; border-radius: 4px; font-size: 12px; font-weight: 800; white-space: nowrap; background: var(--wp--preset--color--stone); }
.kd-finder__card[data-state="ok"] .kd-finder__badge { background: var(--wp--preset--color--green); color: #fff; }
.kd-finder__card[data-state="wait"] .kd-finder__badge { background: var(--wp--preset--color--yellow); }
.kd-finder__note { font-size: 13px; color: rgba(16, 48, 31, 0.6); margin: 0; }

/* ---------- Application form ---------- */
.kd-form { display: flex; flex-direction: column; gap: 20px; }
.kd-form fieldset { margin: 0; border: 1px solid var(--kd-line); border-radius: 10px; background: #fff; padding: 28px 32px 32px; display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.kd-form legend { float: left; width: 100%; padding: 0; display: flex; gap: 12px; align-items: center; font-size: 22px; font-weight: 800; letter-spacing: -0.02em; }
.kd-form legend + * { clear: both; }
.kd-form legend span { width: 32px; height: 32px; border-radius: 5px; background: var(--wp--preset--color--forest); color: var(--wp--preset--color--yellow); display: inline-flex; align-items: center; justify-content: center; font-family: var(--wp--preset--font-family--mono); font-size: 14px; font-weight: 400; }
.kd-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.kd-form__field { display: flex; flex-direction: column; gap: 6px; }
.kd-form__field.is-full { grid-column: 1 / -1; }
.kd-form label, .kd-form .kd-form__label { font-weight: 700; font-size: 14px; }
.kd-form .kd-form__hint { font-size: 13px; color: rgba(16, 48, 31, 0.65); font-weight: 400; }
.kd-in { font: inherit; font-size: 16px; color: var(--wp--preset--color--ink); width: 100%; box-sizing: border-box; min-height: 48px; padding: 10px 14px; border: 1px solid rgba(16, 48, 31, 0.28); border-radius: 6px; background: #fff; }
.kd-in:focus { outline: none; border-color: var(--wp--preset--color--forest); box-shadow: 0 0 0 3px rgba(0, 149, 73, 0.22); }
textarea.kd-in { min-height: 96px; resize: vertical; }
.kd-courses { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; border: 0; padding: 0; margin: 0; }
.kd-course { cursor: pointer; border-radius: 8px; border: 2px solid rgba(16, 48, 31, 0.14); background: #fff; padding: 14px; display: flex; flex-direction: column; gap: 4px; min-height: 76px; box-sizing: border-box; }
.kd-course:has(input:checked) { border-color: var(--wp--preset--color--forest); background: var(--wp--preset--color--mint); }
.kd-course:has(input:focus-visible) { outline: 2px solid var(--wp--preset--color--green); outline-offset: 2px; }
.kd-course > span:first-child { display: flex; justify-content: space-between; align-items: center; gap: 8px; font-weight: 800; font-size: 16px; }
.kd-course small { font-size: 13px; color: rgba(16, 48, 31, 0.7); font-weight: 400; }
.kd-course input, .kd-form input[type="radio"], .kd-form input[type="checkbox"] { width: 20px; height: 20px; accent-color: var(--wp--preset--color--forest); flex: none; margin: 0; }
.kd-choice { display: flex; gap: 12px; align-items: center; min-height: 48px; cursor: pointer; font-weight: 700; }
.kd-choice.is-boxed { flex: 1; border: 1px solid rgba(16, 48, 31, 0.28); border-radius: 6px; padding: 0 14px; }
.kd-consent { display: flex; gap: 12px; align-items: flex-start; cursor: pointer; font-size: 15px; font-weight: 400 !important; }
.kd-consent input { margin-top: 2px !important; }
.kd-form__note { border-radius: 8px; background: var(--wp--preset--color--butter); padding: 16px 18px; font-size: 15px; }
.kd-form__note[hidden] { display: none; }
.kd-form__submit { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between; padding-top: 14px; border-top: 1px solid var(--kd-line); }
.kd-form__submit button { font: inherit; min-height: 54px; padding: 0 28px; border-radius: 6px; border: 0; background: var(--wp--preset--color--yellow); color: var(--wp--preset--color--ink); font-weight: 800; font-size: 16px; cursor: pointer; }
.kd-form__submit button:hover { background: #F5E400; }
.kd-form__errors { background: #FDECEA; border: 1px solid #E5A29A; color: #7A1C12; border-radius: 8px; padding: 16px 18px; }
.kd-form__errors ul { margin: 6px 0 0; padding-left: 20px; }
.kd-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.kd-success { background: #fff; border: 1px solid var(--kd-line); border-radius: 12px; padding: 48px; display: flex; flex-direction: column; gap: 18px; align-items: flex-start; }
.kd-success__icon { width: 64px; height: 64px; border-radius: 50%; background: var(--wp--preset--color--green); color: #fff; display: flex; align-items: center; justify-content: center; }
.kd-success h2 { margin: 0; font-size: 34px; }
.kd-success p { margin: 0; }
.kd-sticky { position: sticky; top: 24px; }
@media (max-width: 640px) {
	.kd-form fieldset { padding: 22px 18px 24px; border-radius: 10px; }
	.kd-form__grid { grid-template-columns: 1fr; }
	.kd-success { padding: 28px 22px; }
}

/* ---------- Cookie banner ---------- */
.kd-cookie { position: fixed; z-index: 100; left: 16px; right: 16px; bottom: 16px; max-width: 560px; background: var(--wp--preset--color--ink); color: var(--wp--preset--color--cream); border-radius: 10px; padding: 20px 22px; box-shadow: 0 18px 40px rgba(0, 0, 0, 0.25); display: flex; flex-direction: column; gap: 14px; font-size: 15px; }
.kd-cookie[hidden] { display: none; }
.kd-cookie p { margin: 0; }
.kd-cookie a { color: inherit; }
.kd-cookie__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.kd-cookie button { font: inherit; font-weight: 700; font-size: 14px; min-height: 44px; padding: 0 18px; border-radius: 5px; cursor: pointer; border: 1px solid rgba(243, 241, 236, 0.4); background: transparent; color: inherit; }
.kd-cookie button.is-primary { background: var(--wp--preset--color--yellow); color: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--yellow); }

/* ---------- Responsive ---------- */
@media (max-width: 781px) {
	.kd-section { padding-top: 64px; padding-bottom: 64px; }
	.kd-hide-mobile { display: none !important; }
	.is-style-card, .is-style-card-dark { padding: 22px; }
	.kd-datalist { padding: 4px 20px; }
	.kd-nav .has-child .wp-block-navigation__submenu-container:has(> li:nth-child(5)) { min-width: 0 !important; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; }
}

/* Navigation collapses to the menu button below 1024px (core default is 600px). */
@media (max-width: 1023px) {
	.kd-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.kd-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}

/* News list: first post on page 1 is featured */
.kd-filter ul { display: contents; }
.kd-filter p { margin: 0; }
body.blog:not(.paged) .kd-news-grid-items > li:first-child { grid-column: 1 / -1; }
@media (min-width: 782px) {
	body.blog:not(.paged) .kd-news-grid-items > li:first-child .kd-news-card { flex-direction: row; background: var(--wp--preset--color--forest); color: var(--wp--preset--color--cream); border-color: transparent; }
	body.blog:not(.paged) .kd-news-grid-items > li:first-child .wp-block-post-featured-image { flex: 0 0 55%; }
	body.blog:not(.paged) .kd-news-grid-items > li:first-child .wp-block-post-featured-image img { height: 100%; aspect-ratio: auto; min-height: 380px; }
	body.blog:not(.paged) .kd-news-grid-items > li:first-child .kd-card-body { padding: 40px; justify-content: center; gap: 16px; }
	body.blog:not(.paged) .kd-news-grid-items > li:first-child .wp-block-post-title { font-size: 32px; }
	body.blog:not(.paged) .kd-news-grid-items > li:first-child :is(.kd-meta, .kd-arrow-link a) { color: var(--wp--preset--color--yellow); }
	body.blog:not(.paged) .kd-news-grid-items > li:first-child .wp-block-post-excerpt__excerpt { color: var(--kd-muted-light); }
	body.blog:not(.paged) .kd-news-grid-items > li:first-child a { color: inherit; }
}
.kd-news-card .wp-block-post-title a { text-decoration: none; }
.kd-news-card:hover .wp-block-post-title a { text-decoration: underline; text-underline-offset: 4px; }
.kd-news-card .wp-block-read-more { margin-top: auto !important; }

/* Feature split: image + dark panel */
.kd-feature { overflow: hidden; display: flex; flex-wrap: wrap; color: var(--wp--preset--color--cream); }
.kd-feature > .kd-feature-media { flex: 1 1 420px; min-height: 340px; position: relative; margin: 0 !important; }
.kd-feature > .kd-feature-media .wp-block-image { position: absolute; inset: 0; margin: 0; }
.kd-feature > .kd-feature-media img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.kd-feature > .kd-feature-body { flex: 1 1 420px; padding: clamp(28px, 4vw, 48px); box-sizing: border-box; margin: 0 !important; }
.kd-feature .kd-feature-body > * { margin: 0; }
.kd-pad-x { padding-left: 32px; padding-right: 32px; }

/* Quote band */
.kd-quote { margin: 0 auto; max-width: 900px; text-align: center; color: var(--wp--preset--color--cream); }
.kd-quote blockquote { margin: 0; font-size: clamp(28px, 4vw, 44px); font-weight: 800; letter-spacing: -0.03em; line-height: 1.15; }
.kd-quote figcaption { margin-top: 18px; font-family: var(--wp--preset--font-family--mono); text-transform: uppercase; letter-spacing: 0.14em; font-size: 13px; color: var(--wp--preset--color--yellow); }

/* Link lists inside cards */
.kd-link-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--kd-line); }
.kd-link-list li { border-bottom: 1px solid var(--kd-line); }
.kd-link-list a { display: flex; justify-content: space-between; padding: 12px 0; text-decoration: none; font-weight: 700; }
.kd-link-list a::after { content: "→"; color: var(--wp--preset--color--green-dark); }
.kd-strong-links a, .kd-toc-links a { font-weight: 700; text-decoration: none; }
.kd-toc-links a { display: block; padding: 6px 0; }
.kd-toc .kd-toc-links, .kd-toc p:last-child { margin: 0; }

/* Donations */
.kd-dohodnina { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between; border: 1px solid rgba(243, 241, 236, 0.25); border-radius: 8px; padding: 18px 20px; }
.kd-dohodnina > span { display: flex; flex-direction: column; gap: 2px; }
.kd-dohodnina strong { font-family: var(--wp--preset--font-family--mono); font-size: 26px; font-weight: 400; letter-spacing: 0.04em; }
.kd-glass { background: rgba(243, 241, 236, 0.08); border: 1px solid rgba(243, 241, 236, 0.16); }
.kd-steps.is-dark > li { color: var(--kd-muted-light); }
.kd-steps.is-dark > li strong { color: var(--wp--preset--color--cream); font-size: 16px; }
.kd-steps.is-small > li > span { display: block; }

/* Legal */
.kd-legal-hero { padding-bottom: 0 !important; }
.kd-legal h2 .kd-num { font-size: 15px; margin-right: 6px; vertical-align: middle; }

/* Homepage news list rows */
.kd-home-news .wp-block-post-template { margin: 0; padding: 0; list-style: none; }
.kd-home-news .wp-block-post-template > li:last-child .kd-news-row { border-bottom: 1px solid rgba(16, 48, 31, 0.14); }
.kd-news-row .kd-meta { font-size: 12px; }
.kd-news-row .wp-block-post-featured-image:empty { display: none; }

/* Sticky aside inside columns */
.kd-prose-cols > .wp-block-column:first-child { align-self: stretch; }
@media (max-width: 781px) { .kd-toc { position: static; } }

/* Side padding for dark panels built from groups */
.kd-glow.kd-dark:not(section), .kd-glass { padding-left: clamp(24px, 4vw, 40px); padding-right: clamp(24px, 4vw, 40px); }
.kd-footer__bottom p a + a { margin-left: 20px; }
.kd-footer__bottom a[hidden] { display: none; }

/* Fixes after first review */
.kd-filter li { list-style: none; }
.kd-filter li::marker { content: ""; }
.kd-glow p a + a, .kd-dark p a + a { margin-left: 24px; }
body.blog:not(.paged) .kd-news-grid-items > li:first-child .wp-block-post-featured-image img { height: 440px; min-height: 0; }
.kd-article .wp-block-post-featured-image img { max-height: 620px; object-fit: cover; width: 100%; }
.wp-block-image.kd-logo-box { width: 100%; box-sizing: border-box; }
.kd-home-featured { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--cream); border-radius: 10px; overflow: hidden; height: 100%; display: flex; flex-direction: column; }
.kd-home-featured .wp-block-post-featured-image img { aspect-ratio: 16 / 9; object-fit: cover; width: 100%; }
.kd-home-featured .kd-card-body { padding: 32px; display: flex; flex-direction: column; gap: 14px; }
.kd-home-featured .kd-card-body > * { margin: 0; }
.kd-home-featured .wp-block-post-title { font-size: 28px; line-height: 1.15; }
.kd-home-featured .wp-block-post-title a { color: inherit; text-decoration: none; }
.kd-home-featured .kd-meta, .kd-home-featured .wp-block-read-more { color: var(--wp--preset--color--yellow); }
.kd-home-featured .wp-block-read-more { font-weight: 700; text-decoration: none; }
.kd-home-featured .wp-block-post-excerpt__excerpt { color: var(--kd-muted-light); margin: 0; }
.kd-home-featured .wp-block-post-template, .kd-home-news .wp-block-post-template { margin: 0; padding: 0; list-style: none; }
.kd-home-news .wp-block-post-template > li:first-child .kd-news-row { padding-top: 0; border-top: 0; }

/* News category tabs (same strip as the section sub navigation) */
.kd-news-tabs a { display: inline-flex; align-items: center; gap: 8px; }
.kd-tab-count { font-family: var(--wp--preset--font-family--mono); font-size: 12px; font-weight: 400; min-width: 22px; height: 22px; padding: 0 6px; box-sizing: border-box; border-radius: 6px; background: var(--wp--preset--color--sage); color: var(--wp--preset--color--forest); display: inline-flex; align-items: center; justify-content: center; }
.kd-news-tabs a[aria-current="page"] .kd-tab-count { background: var(--wp--preset--color--yellow); color: var(--wp--preset--color--ink); }

/* Vzreja section */
.kd-link-list { align-self: stretch; width: 100%; }
.kd-link-list a { gap: 16px; }
.kd-wide-img > .wp-block-image img { aspect-ratio: 2 / 1; }
.kd-bigstats { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 32px; }
.kd-bigstats > div { display: flex; flex-direction: column; gap: 6px; padding-left: 20px; border-left: 3px solid var(--wp--preset--color--yellow); }
.kd-bigstats strong { font-size: clamp(44px, 6vw, 64px); font-weight: 800; letter-spacing: -0.04em; line-height: 1; color: var(--wp--preset--color--yellow); }
.kd-bigstats span { color: var(--kd-muted-light); font-size: 16px; }
.kd-kennel-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.kd-kennel-grid li { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 8px; background: var(--wp--preset--color--cream); font-weight: 700; }
.kd-kennel-grid svg { width: 22px; height: 22px; flex: none; color: var(--wp--preset--color--green); }
.has-forest-background-color .kd-quote + p { max-width: 720px; margin-left: auto; margin-right: auto; text-align: center; color: var(--kd-muted-light); }

/* Contact lines with icons */
.kd-ico { display: flex; gap: 10px; align-items: flex-start; margin: 0; }
.kd-ico::before { content: ""; width: 18px; height: 18px; flex: none; margin-top: 3px; background: currentColor; opacity: 0.7; -webkit-mask: var(--kd-icon) center / contain no-repeat; mask: var(--kd-icon) center / contain no-repeat; }
.kd-ico-person { --kd-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.6-7 8-7s8 3 8 7'/%3E%3C/svg%3E"); }
.kd-ico-pin { --kd-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-12a7 7 0 0 1 14 0c0 5.8-7 12-7 12z'/%3E%3Ccircle cx='12' cy='9' r='2.5'/%3E%3C/svg%3E"); }
.kd-ico-phone { --kd-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E"); }
.kd-ico a { font-weight: 700; }
p.kd-chip { align-self: flex-start; }
.kd-kennel-card { height: 100%; }
.kd-kennel-card .kd-kennel-btns { margin-top: auto; padding-top: 6px; }
.kd-feature .kd-chip.is-yellow { color: var(--wp--preset--color--ink); }
.is-style-card-dark .kd-eyebrow, .is-style-card-dark p.kd-eyebrow { color: var(--wp--preset--color--yellow); }
.kd-timeline li { grid-template-columns: 84px 1fr; }
.kd-lead-card { border: 2px solid var(--wp--preset--color--yellow) !important; }

/* Osebna izkaznica */
.kd-data-address { font-size: 18px; font-weight: 700; line-height: 1.45; margin: 0; }
.kd-data-value { font-size: 20px; font-weight: 800; margin: 0; letter-spacing: -0.01em; }
.kd-data-value.is-mono { font-family: var(--wp--preset--font-family--mono); font-weight: 400; font-size: 19px; letter-spacing: 0.02em; }
.kd-data-card { height: 100%; }
.kd-data-card .kd-copy { margin-top: auto; align-self: flex-start; }
.kd-copy-light { border-color: var(--kd-line-strong); color: var(--wp--preset--color--ink); min-height: 36px; padding: 0 14px; font-size: 13px; }
.kd-copy-light:hover { background: var(--wp--preset--color--mint); }
.kd-ico-mail { --kd-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E"); }
.kd-ico a { font-size: 18px; }

/* Licence note */
.kd-licence { display: flex; gap: 14px; align-items: center; margin: 0; padding: 18px 22px; border-radius: 8px; background: var(--wp--preset--color--butter); font-size: 17px; }
.kd-licence::before { content: ""; width: 40px; height: 40px; flex: none; border-radius: 6px; background: var(--wp--preset--color--yellow) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2310301F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v6c0 4-3 7-7 9-4-2-7-5-7-9V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E") center / 22px no-repeat; }
.kd-licence { display: block; position: relative; box-sizing: border-box; padding: 18px 22px 18px 76px; min-height: 76px; line-height: 1.5; }
.kd-licence::before { position: absolute; left: 20px; top: 50%; transform: translateY(-50%); }
.kd-data-card .kd-data-value.is-mono { word-spacing: -0.2em; }
.kd-licence { padding-top: 24px; padding-bottom: 24px; min-height: 0; }

/* Full-width sections sit flush against each other (they carry their own padding). */
.wp-block-post-content > .alignfull,
.wp-block-post-content > .wp-block-kd-subnav,
.wp-block-post-content > .kd-subnav { margin-block-start: 0; margin-block-end: 0; }

/* Homepage "why us" row: four equal columns with dividers */
.kd-why { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
.kd-why > .wp-block-group { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; padding: 4px 28px; border-left: 1px solid var(--kd-line); }
.kd-why > .wp-block-group:first-child { padding-left: 0; border-left: 0; }
.kd-why > .wp-block-group > span:last-child { display: flex; flex-direction: column; gap: 4px; }
.kd-why .kd-why__t { font-size: 19px; line-height: 1.25; white-space: nowrap; }
.kd-why .kd-why__d { font-size: 14px; line-height: 1.45; }
@media (max-width: 1100px) { .kd-why .kd-why__t { white-space: normal; } }
@media (max-width: 900px) {
	.kd-why { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 28px; }
	.kd-why > .wp-block-group:nth-child(3) { padding-left: 0; border-left: 0; }
}
@media (max-width: 480px) {
	.kd-why { grid-template-columns: 1fr; }
	.kd-why > .wp-block-group { padding-left: 0; border-left: 0; flex-direction: row; align-items: center; }
}
/* Quick-link tiles reuse .kd-why as a grid: keep them as plain tiles. */
.kd-why:has(> .kd-tile) { gap: 20px; }
.kd-why > .kd-tile { padding: 24px 26px; border: 1px solid var(--kd-line-strong); }
.kd-why:has(> .kd-tile) { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.kd-panorama img { width: 100%; aspect-ratio: 21 / 8; object-fit: cover; object-position: 50% 85%; }
@media (max-width: 781px) { .kd-panorama img { aspect-ratio: 4 / 3; } }
.wp-block-post-content .kd-licence { margin-top: 16px !important; }
.kd-num { text-transform: uppercase; letter-spacing: 0.1em; }

/* Two-column checklist inside a card */
.kd-pad-l { padding: clamp(24px, 4vw, 40px) !important; }
.kd-checklist { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; }
.kd-checklist li { display: flex; gap: 12px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--kd-line); font-weight: 700; font-size: 16px; line-height: 1.35; }
.kd-checklist li::before {
	content: ""; width: 24px; height: 24px; flex: none; border-radius: 50%;
	background: var(--wp--preset--color--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center / 14px no-repeat;
}
@media (max-width: 640px) { .kd-checklist { grid-template-columns: 1fr; } }
.kd-subnav a.is-parent { background: var(--wp--preset--color--forest); border-color: var(--wp--preset--color--forest); color: #fff; }

/* Course levels (IBGH 1–3, IGP 1–3) */
.kd-levels { border-radius: 8px; background: var(--wp--preset--color--mint); padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.kd-levels[hidden] { display: none; }
.kd-levels__opts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; }
.kd-level { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; background: #fff; border: 2px solid rgba(16, 48, 31, 0.14); border-radius: 8px; padding: 12px; }
.kd-level:has(input:checked) { border-color: var(--wp--preset--color--forest); }
.kd-level input { margin-top: 2px !important; }
.kd-level span { display: flex; flex-direction: column; gap: 2px; }
.kd-level small { font-size: 13px; color: rgba(16, 48, 31, 0.7); }
.kd-level small { font-weight: 400; }

/* Historical kennel list: clean 4-column list with dividers instead of boxes */
.kd-kennel-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 32px; margin-top: 12px !important; border-top: 1px solid var(--kd-line); }
.kd-kennel-grid li { background: none; border-radius: 0; padding: 14px 0; border-bottom: 1px solid var(--kd-line); font-size: 16px; }
.kd-kennel-grid svg { width: 18px; height: 18px; opacity: 0.85; }
@media (max-width: 900px) { .kd-kennel-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.kd-kennel-grid { margin-top: 28px !important; }

/* Photo strips: always full rows */
.kd-gallery-strip.is-layout-grid { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }
@media (max-width: 900px) { .kd-gallery-strip.is-layout-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 480px) { .kd-gallery-strip.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
.kd-gallery-strip .wp-block-image { margin: 0; }
.kd-gallery-strip img { width: 100%; display: block; }

/* Payments (UPN QR) */
.kd-pay.is-picker { display: grid; grid-template-columns: minmax(0, 1.1fr) auto minmax(0, 1fr); gap: 32px; align-items: start; background: #fff; border: 1px solid var(--kd-line); border-radius: 10px; padding: clamp(20px, 3vw, 32px); }
.kd-pay__form { display: flex; flex-direction: column; gap: 18px; }
.kd-pay__qr { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.kd-pay__qr svg { display: block; border: 1px solid var(--kd-line); border-radius: 6px; max-width: 100%; height: auto; }
.kd-pay__label { font-weight: 800; font-size: 15px; text-align: center; }
.kd-pay__data { display: flex; flex-direction: column; }
.kd-pay__row { display: grid; grid-template-columns: 110px 1fr auto; gap: 4px 12px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--kd-line); font-size: 15px; }
.kd-pay__row span { color: var(--kd-muted); font-size: 13px; }
.kd-pay__row strong { word-break: break-word; }
.kd-pay-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.kd-pay-cards .kd-pay { background: #fff; border: 1px solid var(--kd-line); border-radius: 10px; padding: 20px; display: flex; flex-direction: column; gap: 16px; }
.kd-pay-sheet { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 16px; }
.kd-pay-sheet figure { margin: 0; background: #fff; border: 1px solid var(--kd-line); border-radius: 8px; padding: 14px; text-align: center; break-inside: avoid; }
.kd-pay-sheet figcaption { font-size: 14px; margin-top: 8px; }
.kd-pay-sheet small { color: var(--kd-muted); }
.kd-pay-sheet__foot { margin-top: 16px; font-size: 13px; color: var(--kd-muted); }
@media (max-width: 1000px) { .kd-pay.is-picker { grid-template-columns: 1fr; } .kd-pay.is-picker .kd-pay__qr { order: -1; } }
@media print {
	.kd-header, .kd-footer, .kd-topbar, .kd-subnav, .kd-page-hero, .kd-noprint, .kd-cookie, #wpadminbar { display: none !important; }
	body { background: #fff; }
	.kd-pay-sheet { grid-template-columns: repeat(3, 1fr); }
}
/* Narrow payment cards (after signup): label above value, copy button on the right */
.kd-pay-cards .kd-pay__row { grid-template-columns: minmax(0, 1fr) auto; }
.kd-pay-cards .kd-pay__row span { grid-column: 1 / -1; }
.kd-pay-cards .kd-pay__row strong { word-break: normal; overflow-wrap: anywhere; }
@media (max-width: 480px) { .kd-pay__row { grid-template-columns: minmax(0, 1fr) auto; } .kd-pay__row span { grid-column: 1 / -1; } }

/* Text on dark cards stays readable */
.is-style-card-dark, .is-style-card-dark a:where(:not(.wp-element-button)) { color: var(--wp--preset--color--cream); }
.is-style-card-dark .kd-muted, .is-style-card-dark .kd-lead { color: var(--kd-muted-light); }
.is-style-card-dark .kd-num { color: var(--wp--preset--color--yellow); }
/* Heading right before a table gets some air */
.wp-block-heading + .wp-block-table { margin-top: 20px !important; }
.kd-quote.is-light { color: var(--wp--preset--color--ink); }
.kd-quote.is-light blockquote { position: relative; padding-top: 28px; }
.kd-quote.is-light blockquote::before { content: ""; position: absolute; top: 0; left: 50%; width: 56px; height: 4px; margin-left: -28px; background: var(--wp--preset--color--yellow); border-radius: 2px; }
.kd-quote.is-light figcaption { color: var(--wp--preset--color--green-dark); }
.kd-field-error { color: #b42318; font-size: 13px; font-weight: 600; }
.kd-field-error:empty { display: none; }
.kd-in[aria-invalid="true"] { border-color: #b42318; box-shadow: 0 0 0 3px rgba(180, 35, 24, 0.15); }
.kd-form [hidden] { display: none !important; }

/* Course choice: radio top-left, text beside it, equal cards */
.kd-courses { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.kd-course { flex-direction: row; align-items: flex-start; gap: 12px; min-height: 0; padding: 14px 16px; }
.kd-course input { margin-top: 2px !important; }
.kd-course__txt { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.kd-course__txt strong { font-size: 16px; line-height: 1.3; }
.kd-course__txt small { font-size: 13px; line-height: 1.4; color: rgba(16, 48, 31, 0.7); }
@media (max-width: 480px) { .kd-courses { grid-template-columns: 1fr; } }

/* Main menu: active marker and hover (fixes rounded/partial underline) */
.kd-nav .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
.kd-nav .wp-block-navigation-item.current-menu-ancestor > .wp-block-navigation-item__content { box-shadow: none; }
.kd-nav .wp-block-navigation__container > .wp-block-navigation-item { position: relative; border-radius: 8px; }
.kd-nav .wp-block-navigation__container > .wp-block-navigation-item.current-menu-item::after,
.kd-nav .wp-block-navigation__container > .wp-block-navigation-item.current-menu-ancestor::after {
	content: ""; position: absolute; left: 12px; right: 12px; bottom: 4px; height: 3px; border-radius: 0; background: var(--wp--preset--color--green); pointer-events: none;
}
.kd-nav .wp-block-navigation__container > .has-child.current-menu-ancestor::after,
.kd-nav .wp-block-navigation__container > .has-child.current-menu-item::after { right: 30px; }
.kd-nav .wp-block-navigation__container > .has-child:hover > .wp-block-navigation-item__content { background: transparent; }
.kd-nav .wp-block-navigation__container > .wp-block-navigation-item:hover { background: var(--wp--preset--color--sage); }
/* Mobile overlay: no markers or hover backgrounds */
.kd-nav .is-menu-open .wp-block-navigation-item::after { display: none; }
.kd-nav .is-menu-open .wp-block-navigation-item:hover { background: transparent; }
/* If the page has its own top-level menu item (e.g. Pogosta vprašanja), don't also mark its parent section. */
.kd-nav .wp-block-navigation__container:has(> .wp-block-navigation-item.current-menu-item) > .current-menu-ancestor::after { display: none; }

/* ---------- Mobile: price table and weekly schedule ---------- */
@media (max-width: 640px) {
	/* Price table: each course is a compact row (name / scope … price) */
	.wp-block-table.kd-table { overflow: visible; border-radius: 10px; }
	.wp-block-table.kd-table table { min-width: 0; }
	.wp-block-table.kd-table thead { display: none; }
	.wp-block-table.kd-table tbody tr { display: grid; grid-template-columns: 1fr auto; gap: 2px 16px; padding: 14px 16px; border-bottom: 1px solid rgba(16, 48, 31, 0.08); }
	.wp-block-table.kd-table tbody tr:last-child { border-bottom: 0; }
	.wp-block-table.kd-table td { display: block; padding: 0; border: 0; text-align: left; }
	.wp-block-table.kd-table td:first-child { grid-column: 1 / -1; font-size: 16px; line-height: 1.35; }
	.wp-block-table.kd-table td:nth-child(2) { color: var(--kd-muted); font-size: 14px; }
	.wp-block-table.kd-table td:last-child { text-align: right; font-size: 16px; }

	/* Schedule: one slim line per training */
	.kd-schedule { gap: 8px; }
	.kd-schedule > .wp-block-group { flex-direction: column; flex-wrap: nowrap; gap: 6px; padding: 12px 14px; }
	.kd-schedule .kd-day { flex: none; margin-bottom: 2px !important; }
	.kd-slot { flex: none; display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 8px 12px; font-size: 14px; border-radius: 6px; }
	.kd-slot strong { display: inline; font-size: 14px; }
	.kd-legend { gap: 6px 14px; font-size: 13px; }
}
@media (max-width: 640px) { .kd-schedule > .wp-block-group { align-items: stretch; } .kd-slot { width: 100%; box-sizing: border-box; } }

/* ---------- Mobile menu (kd/mobile-menu) ---------- */
.kd-mm { display: none; }
.kd-mm__open { width: 44px; height: 44px; border-radius: 8px; border: 1px solid rgba(16, 48, 31, 0.2); background: transparent; color: var(--wp--preset--color--ink); display: flex; align-items: center; justify-content: center; cursor: pointer; }
.kd-mm__panel { position: fixed; inset: 0; z-index: 9999; background: var(--wp--preset--color--cream); display: flex; flex-direction: column; font-family: var(--wp--preset--font-family--inter); color: var(--wp--preset--color--ink); }
.kd-mm__panel[hidden] { display: none; }
html.kd-mm-open, html.kd-mm-open body { overflow: hidden; }
.kd-mm__bar { height: 64px; flex: none; box-sizing: border-box; padding: 0 16px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--kd-line); }
.kd-mm__brand { display: flex; align-items: center; gap: 10px; text-decoration: none; color: inherit; font-weight: 800; font-size: 17px; letter-spacing: -0.02em; }
.kd-mm__brand img { width: 38px; height: 38px; border-radius: 50%; }
.kd-mm__close { min-height: 44px; padding: 0 12px; border-radius: 8px; border: 1px solid var(--wp--preset--color--forest); background: var(--wp--preset--color--forest); color: #fff; font: inherit; font-weight: 700; font-size: 14px; display: flex; align-items: center; gap: 6px; cursor: pointer; }
.kd-mm__body { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 16px; }
.kd-mm__quick { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.kd-mm__quick a { min-height: 76px; border-radius: 10px; background: #fff; border: 1px solid var(--kd-line); padding: 12px 14px; box-sizing: border-box; display: flex; flex-direction: column; justify-content: space-between; text-decoration: none; color: inherit; }
.kd-mm__quick span { width: 30px; height: 30px; border-radius: 6px; background: var(--wp--preset--color--sage); color: var(--wp--preset--color--forest); display: flex; align-items: center; justify-content: center; }
.kd-mm__quick strong { font-size: 15px; }
.kd-mm__nav { background: #fff; border: 1px solid var(--kd-line); border-radius: 10px; padding: 0 16px; }
.kd-mm__nav > * + * { border-top: 1px solid var(--kd-line); }
.kd-mm__nav summary { list-style: none; min-height: 56px; display: flex; align-items: center; justify-content: space-between; font-size: 18px; font-weight: 800; letter-spacing: -0.015em; cursor: pointer; }
.kd-mm__nav summary::-webkit-details-marker { display: none; }
.kd-mm__nav summary > span { display: flex; align-items: center; gap: 8px; }
.kd-mm__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--wp--preset--color--green); display: inline-block; }
.kd-mm__nav summary b { width: 30px; height: 30px; border-radius: 50%; background: var(--wp--preset--color--sage); position: relative; transition: transform 240ms var(--kd-ease); }
.kd-mm__nav summary b::after { content: ""; position: absolute; inset: 0; background: var(--wp--preset--color--forest); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / 14px no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / 14px no-repeat; }
.kd-mm__nav details[open] summary b { transform: rotate(180deg); background: var(--wp--preset--color--forest); }
.kd-mm__nav details[open] summary b::after { background: var(--wp--preset--color--yellow); }
.kd-mm__sub { display: flex; flex-direction: column; padding: 0 0 12px; }
.kd-mm__sub a { min-height: 44px; display: flex; align-items: center; padding-left: 14px; border-left: 3px solid rgba(16, 48, 31, 0.12); text-decoration: none; color: rgba(16, 48, 31, 0.82); font-size: 16px; font-weight: 600; }
.kd-mm__sub a[aria-current="page"] { border-left-color: var(--wp--preset--color--green); color: var(--wp--preset--color--ink); font-weight: 800; }
.kd-mm__link { min-height: 56px; display: flex; align-items: center; justify-content: space-between; text-decoration: none; color: inherit; font-size: 18px; font-weight: 800; letter-spacing: -0.015em; }
.kd-mm__link span { color: var(--wp--preset--color--green-dark); }
.kd-mm__contact { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--cream); border-radius: 10px; padding: 16px; display: flex; flex-direction: column; gap: 12px; }
.kd-mm__contact p { margin: 0; display: flex; flex-direction: column; line-height: 1.3; }
.kd-mm__contact p span { font-size: 13px; color: var(--kd-muted-light); }
.kd-mm__contact div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.kd-mm__contact div a { min-height: 44px; border-radius: 6px; background: rgba(243, 241, 236, 0.14); color: var(--wp--preset--color--cream); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 13px; text-decoration: none; }
.kd-mm__cta { flex: none; padding: 12px 16px 16px; border-top: 1px solid var(--kd-line); background: var(--wp--preset--color--cream); }
.kd-mm__cta a { min-height: 54px; border-radius: 8px; background: var(--wp--preset--color--yellow); color: var(--wp--preset--color--ink); font-weight: 800; display: flex; align-items: center; justify-content: center; gap: 8px; text-decoration: none; }
@media (max-width: 1023px) {
	.kd-mm { display: block; }
	.kd-header .kd-nav { display: none !important; }
	.kd-header .kd-cta-btn { display: flex !important; }
	.kd-header .kd-cta-btn .wp-block-button__link { min-height: 44px; padding: 0 14px; font-size: 14px; }
	.kd-header__inner { gap: 8px; }
	.kd-header__inner > .kd-brand { margin-right: auto; }
}
@media (max-width: 380px) { .kd-header .kd-brand__place { display: none; } }

/* Dropdown items: hover and current page stay highlighted */
.kd-nav .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.kd-nav .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible { background: var(--wp--preset--color--mint) !important; }
.kd-nav .has-child .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content { background: var(--wp--preset--color--sage) !important; }
.kd-nav .has-child .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content::before { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--yellow); }
.kd-nav .wp-block-navigation__submenu-container .wp-block-navigation-item { background: transparent !important; }
.kd-nav .wp-block-navigation__submenu-container .wp-block-navigation-item::after { display: none !important; }

/* Section sub navigation on phones: wrap into rows instead of running off screen */
@media (max-width: 781px) {
	.kd-subnav__inner { flex-wrap: wrap; overflow: visible; padding: 12px 16px; gap: 8px; }
	.kd-subnav a { padding: 10px 12px; font-size: 14px; }
}
@media (max-width: 781px) {
	.kd-subnav__inner { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.kd-subnav a { display: flex; align-items: center; justify-content: center; text-align: center; white-space: normal; min-height: 44px; box-sizing: border-box; }
}

/* News galleries: even grid of equal photos (no stretched last photo) */
.kd-article .wp-block-gallery.has-nested-images { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px !important; max-width: 900px; }
.kd-article .wp-block-gallery.has-nested-images figure.wp-block-image { width: auto !important; margin: 0 !important; }
.kd-article .wp-block-gallery.has-nested-images figure.wp-block-image img { width: 100% !important; height: auto !important; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 8px; }
@media (max-width: 640px) { .kd-article .wp-block-gallery.has-nested-images { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Zgodovina: side boxes same width on mobile */
.kd-toc > * { width: 100%; box-sizing: border-box; }

/* Info tooltip (hover on desktop, tap on mobile) */
.kd-tip { position: relative; display: inline-flex; vertical-align: middle; margin-left: 6px; }
.kd-tip__btn { width: 20px; height: 20px; padding: 0; border-radius: 50%; border: 1.5px solid currentColor; background: none; color: var(--wp--preset--color--green, #009549); font: 700 12px/1 "Space Mono", monospace; cursor: help; }
.kd-tip__bubble { position: absolute; z-index: 20; left: 50%; bottom: calc(100% + 10px); transform: translateX(-50%); width: min(320px, 80vw); padding: 12px 14px; border-radius: 8px; background: #10301F; color: #fff; font-size: 13px; font-weight: 400; line-height: 1.5; box-shadow: 0 6px 20px rgba(0,0,0,.18); opacity: 0; visibility: hidden; transition: opacity .15s; pointer-events: none; }
.kd-tip__bubble::after { content: ""; position: absolute; top: 100%; left: 50%; margin-left: -6px; border: 6px solid transparent; border-top-color: #10301F; }
.kd-tip:hover .kd-tip__bubble, .kd-tip__btn:focus-visible + .kd-tip__bubble, .kd-tip.is-open .kd-tip__bubble { opacity: 1; visibility: visible; }
@media (max-width: 600px) { .kd-choice:has(.kd-tip), .kd-form__field:has(> label .kd-tip) { position: relative; } .kd-tip { position: static; } .kd-tip__bubble { left: 0; right: 0; width: auto; transform: none; } .kd-tip__bubble::after { display: none; } }

/* Next group on a course card in the signup form */
.kd-course__next { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin-top: 8px; padding: 6px 8px; border-radius: 5px; background: var(--wp--preset--color--yellow, #FFEF14); color: #10301F; font-size: 12px; line-height: 1.35; }
.kd-course__next b { font-weight: 800; }
.kd-course__next em { font-style: normal; font-weight: 700; padding: 1px 6px; border-radius: 99px; background: #10301F; color: #FFEF14; }
.kd-course__next i { font-style: normal; flex-basis: 100%; color: rgba(16, 48, 31, 0.75); }
.kd-course__next.is-full { background: #E4EEDF; }
.kd-course__next.is-full em { background: rgba(16, 48, 31, 0.6); color: #fff; }

/* Next group banner inside a course section (Tečaji page) */
.kd-next-inline { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 20px 0; padding: 12px 16px; border-radius: 8px; background: var(--wp--preset--color--yellow, #FFEF14); color: #10301F; font-size: 15px; }
.kd-next-inline .kd-eyebrow { flex-basis: 100%; font-size: 11px; margin: 0; }
.kd-next-inline strong { font-size: 18px; font-weight: 800; }
.kd-next-inline em { font-style: normal; font-weight: 700; font-size: 13px; padding: 2px 8px; border-radius: 99px; background: #10301F; color: #FFEF14; }
.kd-next-inline span:not(.kd-eyebrow) { color: rgba(16, 48, 31, 0.75); }
.kd-next-inline a { margin-left: auto; font-weight: 800; color: #10301F; }
.kd-next-inline.is-full { background: #E4EEDF; }
.kd-next-inline.is-full em { background: rgba(16, 48, 31, 0.6); color: #fff; }

/* Course finder quiz */
.kd-quiz__progress { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; counter-reset: q; }
.kd-quiz__progress li { counter-increment: q; }
.kd-quiz__progress button { width: 100%; display: flex; align-items: center; gap: 12px; text-align: left; padding: 10px 12px; border-radius: 8px; border: 1px solid rgba(16, 48, 31, 0.14); background: rgba(255, 255, 255, 0.55); font: inherit; font-size: 14px; color: rgba(16, 48, 31, 0.6); cursor: pointer; transition: background .2s, border-color .2s, color .2s; }
.kd-quiz__progress button:disabled { cursor: default; }
.kd-quiz__progress button::before { content: counter(q); flex: none; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; font: 700 12px/1 "Space Mono", monospace; background: #fff; border: 1px solid rgba(16, 48, 31, 0.2); }
.kd-quiz__progress span { flex: 1; }
.kd-quiz__progress b { font-weight: 800; color: var(--wp--preset--color--ink); text-align: right; }
.kd-quiz__progress .is-current button { background: #fff; border-color: var(--wp--preset--color--forest); color: var(--wp--preset--color--ink); font-weight: 700; }
.kd-quiz__progress .is-current button::before { background: var(--wp--preset--color--forest); color: #fff; border-color: var(--wp--preset--color--forest); }
.kd-quiz__progress .is-done button { color: rgba(16, 48, 31, 0.75); }
.kd-quiz__progress .is-done button::before { content: "✓"; background: var(--wp--preset--color--green); color: #fff; border-color: var(--wp--preset--color--green); }
.kd-quiz__progress .is-done button:hover { border-color: var(--wp--preset--color--forest); }
.kd-quiz__step, .kd-quiz__result { display: flex; flex-direction: column; gap: 16px; }
.kd-quiz__step[hidden], .kd-quiz__result[hidden] { display: none; }
.kd-quiz__count { margin: 0; font: 700 12px/1 "Space Mono", monospace; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--green); }
.kd-quiz__q { margin: 0; font-size: 26px; letter-spacing: -0.02em; }
.kd-quiz__opts { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
.kd-quiz__opt { min-height: 64px; padding: 14px 18px; border-radius: 8px; border: 2px solid rgba(16, 48, 31, 0.14); background: #fff; font: inherit; font-size: 16px; font-weight: 700; color: var(--wp--preset--color--ink); text-align: left; cursor: pointer; transition: transform .15s, border-color .15s, background .15s; }
.kd-quiz__opt:hover, .kd-quiz__opt:focus-visible { border-color: var(--wp--preset--color--forest); background: var(--wp--preset--color--mint); transform: translateY(-2px); }
.kd-quiz__opt.is-picked { border-color: var(--wp--preset--color--forest); background: var(--wp--preset--color--mint); }
.kd-quiz__back { align-self: flex-start; padding: 6px 0; border: 0; background: none; font: inherit; font-size: 14px; font-weight: 700; color: rgba(16, 48, 31, 0.7); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.kd-quiz__result { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--cream); border-radius: 8px; padding: 24px; gap: 14px; }
.kd-quiz__result .kd-eyebrow { color: var(--wp--preset--color--yellow); font-size: 11px; margin: 0; }
.kd-quiz__name { margin: 0; font-size: 32px; letter-spacing: -0.02em; color: inherit; }
.kd-quiz__why { margin: 0; font-size: 16px; color: rgba(243, 241, 236, 0.86); }
.kd-quiz__plus { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px 16px; }
.kd-quiz__plus li { position: relative; padding-left: 28px; font-size: 15px; line-height: 1.45; }
.kd-quiz__plus li::before { content: ""; position: absolute; left: 0; top: 1px; width: 20px; height: 20px; border-radius: 50%; background: var(--wp--preset--color--yellow) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2310301F' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / 12px no-repeat; }
.kd-quiz__next { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding: 10px 14px; border-radius: 6px; background: var(--wp--preset--color--yellow); color: var(--wp--preset--color--ink); font-size: 15px; }
.kd-quiz__next span { font: 700 11px/1 "Space Mono", monospace; letter-spacing: .08em; text-transform: uppercase; }
.kd-quiz__next b { font-weight: 800; }
.kd-quiz__next em { font-style: normal; font-weight: 700; font-size: 13px; padding: 2px 8px; border-radius: 99px; background: var(--wp--preset--color--ink); color: var(--wp--preset--color--yellow); }
.kd-quiz__next.is-closed { background: rgba(243, 241, 236, 0.12); color: inherit; }
.kd-quiz__next.is-closed a { color: var(--wp--preset--color--yellow); }
.kd-quiz__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.kd-quiz__actions .wp-block-button:first-child .wp-block-button__link { background: var(--wp--preset--color--yellow); color: var(--wp--preset--color--ink); }
.kd-quiz__actions .is-style-outline .wp-block-button__link { color: var(--wp--preset--color--cream); border-color: rgba(243, 241, 236, 0.45); }
.kd-quiz__alt { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 14px; color: rgba(243, 241, 236, 0.75); }
.kd-quiz__alt button { padding: 6px 12px; border-radius: 99px; border: 1px solid rgba(243, 241, 236, 0.35); background: none; color: var(--wp--preset--color--cream); font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.kd-quiz__alt button:hover { background: rgba(243, 241, 236, 0.12); }
.kd-quiz__alt small { font-weight: 400; opacity: .75; }
.kd-quiz__result .kd-quiz__back { color: rgba(243, 241, 236, 0.75); }
.is-in { animation: kd-quiz-in .28s ease-out; }
@keyframes kd-quiz-in { from { opacity: 0; transform: translateX(14px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .is-in { animation: none; } .kd-quiz__opt { transition: none; } }
@media (max-width: 600px) { .kd-quiz__q { font-size: 22px; } .kd-quiz__name { font-size: 26px; } .kd-quiz__result { padding: 20px; } .kd-quiz__progress button { flex-wrap: wrap; row-gap: 2px; } .kd-quiz__progress span { font-size: 13px; } .kd-quiz__progress b { flex-basis: 100%; padding-left: 38px; text-align: left; font-size: 14px; } .kd-quiz__progress b:empty { display: none; } .kd-finder__controls { padding: 24px 20px; } .kd-finder__results { padding: 20px; } }

/* BH/VT exam in three parts (Tečaji page) */
.kd-exam { box-sizing: border-box; margin-top: 48px; padding: 32px; border-radius: 12px; background: var(--wp--preset--color--forest); color: var(--wp--preset--color--cream); }
.kd-exam__head .kd-eyebrow { color: var(--wp--preset--color--yellow); margin: 0 0 8px; }
.kd-exam__head h3 { margin: 0 0 24px; font-size: 26px; letter-spacing: -0.02em; color: inherit; max-width: 640px; }
.kd-exam__steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.kd-exam__steps li { padding: 20px; border-radius: 8px; background: rgba(243, 241, 236, 0.08); border: 1px solid rgba(243, 241, 236, 0.16); display: flex; flex-direction: column; gap: 8px; }
.kd-exam__steps span { font: 700 13px/1 "Space Mono", monospace; color: var(--wp--preset--color--yellow); }
.kd-exam__steps strong { font-size: 18px; }
.kd-exam__note { margin: 20px 0 0; font-size: 15px; line-height: 1.55; color: rgba(243, 241, 236, 0.82); max-width: 820px; }
.kd-exam__steps p { margin: 0; font-size: 15px; line-height: 1.5; color: rgba(243, 241, 236, 0.82); }
@media (max-width: 600px) { .kd-exam { padding: 22px 20px; } .kd-exam__head h3 { font-size: 21px; } }

/* Photos side by side (two columns of images): same shape, so they line up. */
.wp-block-columns:has(> .wp-block-column + .wp-block-column > .wp-block-image:only-child) > .wp-block-column > .wp-block-image:only-child img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }

/* FAQ topic chips */
.kd-faq__topics { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; }
.kd-faq__topics button { min-height: 40px; padding: 0 16px; border-radius: 99px; border: 1px solid rgba(16, 48, 31, 0.18); background: #fff; font: inherit; font-size: 14px; font-weight: 700; color: var(--wp--preset--color--ink); cursor: pointer; }
.kd-faq__topics button:hover { border-color: var(--wp--preset--color--forest); }
.kd-faq__topics button.is-active { background: var(--wp--preset--color--forest); border-color: var(--wp--preset--color--forest); color: #fff; }
.kd-faq details[hidden] { display: none; }
details.wp-block-details > .kd-next-inline { margin: 14px 22px 22px; }
