/* ==========================================================================
   Kovinar — slogi komponent (varianta A »Tiskovina«). Barve/pisave/razmiki iz theme.json.
   Kontrast: samo pari iz docs/pregled/dokazi/06/kontrast-tokeni.md (AA).
   Jantar (--accent) samo kot OZADJE s temnim besedilom ali na temno modri — nikoli besedilo na beli.
   ========================================================================== */

:root {
  --kv-blue: var(--wp--preset--color--primary);
  --kv-ink: var(--wp--preset--color--contrast);
  --kv-text-2: var(--wp--preset--color--n-600);
  --kv-muted: var(--wp--preset--color--n-500);
  --kv-border: var(--wp--preset--color--n-200);
  --kv-border-input: var(--wp--preset--color--n-500);
  --kv-accent: var(--wp--preset--color--accent);
  --kv-tap: 44px;
  --kv-ch-sm: 6px;
  --kv-ch-lg: 18px;
  --kv-font-h: var(--wp--preset--font-family--heading);
  --kv-font-d: var(--wp--preset--font-family--display);
  --kv-wrap: 1216px;
}

*, *::before, *::after { box-sizing: border-box; }
body { overflow-wrap: break-word; -webkit-text-size-adjust: 100%; }
img { max-width: 100%; height: auto; }

/* Fokus: enoten, viden; odsekani vogali (clip-path) bi odrezali obroč, zato ga ob fokusu izklopimo. */
/* Ob kliku z miško brez obroča (samo tipkovnica, :focus-visible). */
:where(a, button, summary, [tabindex]):focus:not(:focus-visible) { outline: none; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--kv-blue); outline-offset: 2px; clip-path: none !important;
}
.kv-on-dark :focus-visible, .kv-bar :focus-visible, .kv-panel--blue :focus-visible, .kv-map :focus-visible { outline-color: var(--kv-accent); }

.screen-reader-text:not(:focus):not(:active) {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}
.skip-link.screen-reader-text:focus { background: var(--wp--preset--color--blue-900); color: #fff; padding: 12px 16px; z-index: 100000; }

/* [S] Iskanje: en neprekinjen zaobljen okvir (lupa | vnos | področje ▾) + ločen gumb NAJDI (Jan 2026-09-29). */
.kv-search { display: flex; align-items: center; gap: 8px; grid-column: 1 / -1; grid-row: 2; min-width: 0; }
.kv-search__box { position: relative; display: flex; align-items: stretch; flex: 1; min-width: 0; height: 48px; border: 2px solid var(--kv-ink); border-radius: 999px; background: #fff; transition: border-color .15s; }
.kv-search__box:focus-within { border-color: var(--kv-blue); }
.kv-search__ico { display: grid; place-items: center; flex: none; width: 48px; padding-left: 4px; color: var(--kv-ink); }
.kv-search__ico .kv-ico { width: 20px; height: 20px; }
.kv-search input[type=search] { flex: 1; min-width: 0; height: 100%; min-height: 0; margin: 0; padding: 0 8px 0 0; border: 0; border-radius: 0; background: transparent; }
.kv-search input[type=search]:focus-visible { outline: 0; }
.kv-search__cat { position: relative; display: flex; flex: none; border-radius: 0 999px 999px 0; background: var(--wp--preset--color--n-100, #f1f1f1); }
.kv-search__cat select { appearance: none; -webkit-appearance: none; height: 100%; min-height: 0; max-width: 13rem; padding: 0 40px 0 18px; border: 0; border-radius: 0 999px 999px 0; background: transparent; font-weight: 600; color: var(--kv-ink); cursor: pointer; text-overflow: ellipsis; }
.kv-search__cat select:focus-visible { outline: 3px solid var(--kv-blue); outline-offset: -3px; }
.kv-search__cat::after { content: ""; position: absolute; right: 18px; top: 50%; margin-top: -3px; border: 5px solid transparent; border-top: 6px solid currentColor; border-bottom: 0; pointer-events: none; transition: transform .2s; }
.kv-search__cat.is-open::after { transform: rotate(180deg); }
/* izbirnik po meri (kovinar-iskanje.js); brez JS ostane <select> */
.kv-dd__btn { height: 100%; max-width: 13rem; padding: 0 40px 0 18px; border: 0; border-radius: 0 999px 999px 0; background: transparent; font: inherit; font-weight: 600; color: var(--kv-ink); cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kv-dd__btn:hover { background: var(--wp--preset--color--n-200, #e5e5e5); }
.kv-dd__btn:focus-visible { outline: 3px solid var(--kv-blue); outline-offset: -3px; }
.kv-dd__pop { position: absolute; top: calc(100% + 10px); right: -2px; z-index: 1001; min-width: 260px; padding: 8px 0; background: #fff; border-radius: 8px; box-shadow: 0 10px 30px rgb(15 42 82 / .18), 0 0 0 1px rgb(15 42 82 / .06); }
.kv-dd__pop[hidden] { display: none; }
.kv-dd__h { margin: 8px 20px 10px; font: 700 .8rem/1 var(--kv-font-h); letter-spacing: .08em; text-transform: uppercase; color: var(--kv-ink); }
.kv-dd__list { list-style: none; margin: 0; padding: 0; max-height: min(60vh, 420px); overflow-y: auto; }
.kv-dd__opt { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 0 20px; cursor: pointer; color: var(--kv-ink); }
.kv-dd__opt:hover, .kv-dd__opt.is-active { background: var(--wp--preset--color--n-100, #f1f1f1); }
.kv-dd__opt[aria-selected="true"] { font-weight: 700; color: var(--kv-blue); }
.kv-dd__opt[aria-selected="true"]::after { content: ""; width: 12px; height: 7px; border: solid currentColor; border-width: 0 0 2px 2px; transform: rotate(-45deg) translateY(-2px); }
.kv-search__go { flex: none; height: 48px; padding: 0 26px; border: 0; border-radius: 999px; background: var(--kv-blue); color: #fff; font: 700 1rem/1 var(--kv-font-h); letter-spacing: .06em; text-transform: uppercase; cursor: pointer; transition: background-color .2s; }
.kv-search__go:hover { background: var(--wp--preset--color--blue-700); }
@media (max-width: 599px) {
  .kv-search { gap: 6px; }
  .kv-search__ico { width: 40px; }
  .kv-search__cat select, .kv-dd__btn { max-width: 7.5rem; padding: 0 28px 0 12px; font-size: .9rem; }
  .kv-search__cat::after { right: 11px; }
  .kv-search__go { padding: 0 14px; font-size: .9rem; }
  .kv-dd__pop { right: -2px; min-width: min(260px, 88vw); }
}

/* [Z] DV-03: --kv-wrap je širina VSEBINE (kot theme.json wideSize), rob se prišteje — ena os z alignwide. */
.kv-wrap { width: 100%; max-width: calc(var(--kv-wrap) + 2 * var(--wp--custom--gutter)); margin-inline: auto; padding-inline: var(--wp--custom--gutter); }
.kv-muted { color: var(--kv-muted); font-size: var(--wp--preset--font-size--xs); }
.kv-ico { width: 22px; height: 22px; flex: none; display: inline-block; vertical-align: middle; }

/* Glavni del: brez presledka pod glavo; bloki poravnani po theme.json */
.kv-site-header, .kv-site-footer { margin-block: 0 !important; }
main.kv-main { margin-top: 0; padding-bottom: var(--wp--preset--spacing--70); }
.kv-page, .kv-single, .kv-archive, .kv-404, .kv-wc { padding-top: var(--wp--preset--spacing--50); }
:where(.wp-site-blocks) > * { margin-block-start: 0; }

/* ---------- Gumbi (en slog CTA) ---------- */
.kv-btn,
.woocommerce .button, .woocommerce button.button, .woocommerce a.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce .button.alt, .woocommerce button.button.alt,
.wp-block-button__link, .wp-element-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: var(--kv-tap); padding: 0 1.5rem; margin: 0;
  font-family: var(--kv-font-h); font-weight: 700; font-size: 1rem; line-height: 1.15; letter-spacing: .02em; text-transform: none;
  text-decoration: none; text-align: center; border: 0; border-radius: 0; cursor: pointer;
  background: var(--kv-blue); color: #fff;
  clip-path: polygon(var(--kv-ch-sm) 0, 100% 0, 100% calc(100% - var(--kv-ch-sm)), calc(100% - var(--kv-ch-sm)) 100%, 0 100%, 0 var(--kv-ch-sm));
  transition: background-color var(--wp--custom--dur) var(--wp--custom--ease);
}
.kv-btn:hover, .woocommerce .button:hover, .woocommerce button.button:hover, .woocommerce a.button:hover,
.woocommerce .button.alt:hover, .woocommerce button.button.alt:hover, .wp-block-button__link:hover {
  background: var(--wp--preset--color--blue-700); color: #fff;
}
.woocommerce .button:disabled, .woocommerce .button.disabled, .woocommerce button.button:disabled[disabled] {
  background: var(--wp--preset--color--n-300); color: var(--kv-ink); opacity: 1; cursor: not-allowed;
}
.kv-btn--accent { background: var(--kv-accent); color: var(--kv-ink); }
.kv-btn--accent:hover { background: var(--wp--preset--color--accent-hover); color: var(--kv-ink); }
.kv-btn--ghost, .woocommerce a.button.product_type_variable, .woocommerce a.button.kv-more,
.woocommerce ul.products li.product a.button:not(.add_to_cart_button) {
  background: #fff; color: var(--kv-blue); box-shadow: inset 0 0 0 2px currentColor; clip-path: none;
}
.kv-btn--ghost:hover, .woocommerce ul.products li.product a.button:not(.add_to_cart_button):hover { background: var(--wp--preset--color--blue-50); color: var(--wp--preset--color--blue-800); }
.kv-btn .kv-ico { width: 20px; height: 20px; }

/* Vnosna polja (obroba n500 = 4,83:1) */
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.woocommerce .quantity .qty, .woocommerce-cart table.cart td.actions .coupon .input-text, input[type=search], input[type=text], input[type=email], input[type=tel], input[type=password], input[type=number], select, textarea {
  font: inherit; color: var(--kv-ink); background: #fff; border: 1px solid var(--kv-border-input); border-radius: 0; min-height: var(--kv-tap); padding: 8px 12px;
}
.woocommerce .quantity .qty { width: 4.5em; padding: 8px 4px; text-align: center; }
::placeholder { color: var(--kv-muted); opacity: 1; }

/* ==========================================================================
   Glava (skupaj ≤ 96 px na namizju: vrstica 56 + vrstica oddelkov 40; ni fiksna)
   ========================================================================== */
.kv-hdr { background: #fff; position: relative; z-index: 50; }
.kv-hdr__row { display: grid; grid-template-columns: auto auto 1fr auto; align-items: center; gap: 8px 12px; padding-block: 6px; }
.kv-logo { display: block; line-height: 0; }
.kv-logo img { width: 106px; height: 40px; object-fit: contain; }
.kv-hdr__actions { display: flex; align-items: center; gap: 2px; justify-self: end; grid-column: 4; }
.kv-icon-link { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: var(--kv-tap); min-width: var(--kv-tap); padding: 0 8px; color: var(--kv-ink); text-decoration: none; font-weight: 500; }
.kv-icon-link:hover { color: var(--kv-ink); background: rgb(15 42 82 / .06); }
.kv-lbl { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.kv-cart-count { font-size: var(--wp--preset--font-size--xs); background: var(--kv-accent); color: var(--kv-ink); padding: 0 6px; font-weight: 700; line-height: 1.5; min-width: 1.5em; text-align: center; }
.kv-menu-btn { display: inline-flex; align-items: center; gap: 6px; min-height: var(--kv-tap); min-width: var(--kv-tap); padding: 0 6px; background: none; border: 0; color: var(--kv-ink); font: inherit; font-weight: 600; cursor: pointer; }

.kv-bar { background: var(--kv-blue); color: #fff; }
.kv-bar__inner { display: none; }
.kv-bar__all { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 16px 0 0; background: none; border: 0; color: #fff; font: 700 1rem/1 var(--kv-font-h); letter-spacing: .03em; text-transform: uppercase; cursor: pointer; white-space: nowrap; }
.kv-bar__links { display: flex; list-style: none; margin: 0; padding: 0; min-width: 0; }
.kv-bar__links a { display: flex; align-items: center; min-height: 40px; padding: 0 10px; color: #fff; text-decoration: none; font-weight: 500; font-size: .9375rem; white-space: nowrap; }
.kv-bar__links a:hover, .kv-bar__links a[aria-current] { background: var(--wp--preset--color--blue-700); color: #fff; }
.kv-bar__links .is-outlet a { background: var(--kv-accent); color: var(--kv-ink); font-weight: 700; }
.kv-bar__links .is-outlet a:hover { background: var(--wp--preset--color--accent-hover); color: var(--kv-ink); }

.kv-mega { background: #fff; color: var(--kv-ink); border-bottom: 3px solid var(--kv-blue); box-shadow: var(--wp--preset--shadow--3); position: absolute; left: 0; right: 0; top: 100%; max-height: calc(100vh - 60px); overflow-y: auto; overscroll-behavior: contain; }
.kv-mega[hidden] { display: none; }
.kv-mega__grid { display: grid; gap: 16px 32px; grid-template-columns: 1fr; padding-block: 20px; }
.kv-mega__root { margin: 0 0 6px; font: 700 var(--wp--preset--font-size--lg)/1.2 var(--kv-font-h); }
.kv-mega__root a { color: var(--kv-blue); text-decoration: none; }
.kv-mega__root a:hover { text-decoration: underline; }
.kv-mega ul { list-style: none; margin: 0; padding: 0; }
.kv-mega li a { display: block; padding: 6px 0; min-height: 32px; color: var(--kv-text-2); text-decoration: none; }
.kv-mega li a:hover { color: var(--wp--preset--color--blue-800); text-decoration: underline; }
.kv-mega__all { margin: 0; grid-column: 1 / -1; font-weight: 600; }
.kv-mega__all a { display: inline-block; padding-block: 8px; }
@media (min-width: 640px) { .kv-mega__grid { grid-template-columns: repeat(2, 1fr); } }

@media (min-width: 768px) {
  .kv-hdr__row { grid-template-columns: auto auto minmax(0, 1fr) auto; }
  .kv-search { grid-column: 3; grid-row: 1; max-width: 680px; width: 100%; justify-self: center; }
}
@media (min-width: 1024px) {
  .kv-menu-btn { display: none; }
  .kv-hdr__row { grid-template-columns: auto minmax(0, 1fr) auto; min-height: 56px; padding-block: 6px; }
  .kv-search { grid-column: 2; }
  .kv-hdr__actions { grid-column: 3; }
  .kv-lbl { position: static; width: auto; height: auto; overflow: visible; clip: auto; white-space: normal; }
  .kv-logo img { width: 117px; height: 44px; }
  .kv-bar__inner { display: flex; align-items: stretch; }
  .kv-bar__all { border-right: 1px solid rgb(255 255 255 / .25); margin-right: 6px; }
  .kv-mega__grid { grid-template-columns: repeat(4, 1fr); }
}

/* ==========================================================================
   Odseki domače strani
   ========================================================================== */
.kv-section { padding-block: var(--wp--preset--spacing--70); }
.kv-section-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px 16px; margin-bottom: var(--wp--preset--spacing--50); }
.kv-section-head h2 { margin: 0; font-size: var(--wp--preset--font-size--xxl); }
.kv-front > * + * { margin-block-start: 0 !important; }

/* Paneli tiskovine */
.kv-hero { padding-block: var(--wp--preset--spacing--60); }
.kv-hero__grid { display: grid; gap: 16px; grid-template-columns: 1fr; }
@media (min-width: 768px) { .kv-hero__grid { grid-template-columns: 1fr 1fr; } .kv-hero__grid > :first-child { grid-column: 1 / -1; } }
@media (min-width: 1100px) { .kv-hero__grid { grid-template-columns: 1.3fr 1fr 1fr; } .kv-hero__grid > :first-child { grid-column: auto; } }
.kv-panel { position: relative; overflow: hidden; border: 1px solid var(--kv-border); background: #fff; padding: var(--wp--preset--spacing--50); display: flex; flex-direction: column; gap: 12px; }
@media (min-width: 768px) { .kv-panel { min-height: 260px; } }
.kv-panel p { margin: 0; }
.kv-display { font-family: var(--kv-font-d); font-weight: 400; color: var(--kv-blue); font-size: var(--wp--preset--font-size--xxxl); line-height: 1; margin: 0; }
.kv-display span { display: block; font-size: 1.2em; }
.kv-panel--tilt .kv-display { transform: rotate(-4deg); transform-origin: left bottom; margin-block: 8px 12px; }
.kv-panel__ico { width: 72px; height: 72px; color: var(--wp--preset--color--blue-300); }
.kv-panel--blue { background: var(--kv-blue); color: #fff; border-color: var(--kv-blue); }
.kv-panel--blue .kv-display { color: #fff; }
.kv-partners { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.kv-partners li { background: #fff; color: var(--wp--preset--color--blue-900); font-weight: 700; padding: 6px 12px; }
.kv-panel-hours { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 4px; }
.kv-panel-hours li { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid rgba(255,255,255,.25); padding-bottom: 4px; }
.kv-panel-hours strong { font-variant-numeric: tabular-nums; }
.kv-bul { list-style: none; margin: 0; padding: 0; font-family: var(--kv-font-d); color: var(--kv-blue); font-size: var(--wp--preset--font-size--lg); }
.kv-bul li::before { content: "• "; }
.kv-panel .kv-btn { align-self: flex-start; margin-top: auto; }
.kv-tag { display: inline-block; align-self: flex-start; font-size: var(--wp--preset--font-size--xs); font-weight: 700; padding: 2px 8px; background: var(--wp--preset--color--blue-50); color: var(--wp--preset--color--blue-700); }
.kv-tag--soon { background: var(--wp--preset--color--warning-bg); color: var(--wp--preset--color--warning); margin-top: auto !important; }

/* Oddelki */
.kv-oddelki { padding-top: 0; }
.kv-cat-grid { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
@media (min-width: 640px) { .kv-cat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .kv-cat-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); } }
/* Oddelki: brez okvirja/ozadja — samo ikona + napis pod njo, ob hoverju rahla povečava (Jan, 2026-09-29). */
.kv-cat-tile { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; height: 100%; padding: 12px 8px; background: none; color: var(--wp--preset--color--blue-800); text-decoration: none; }
.kv-cat-ico { width: 44px; height: 44px; transition: transform .2s ease; }
.kv-cat-name { font: 700 var(--wp--preset--font-size--lg)/1.15 var(--kv-font-h); transition: transform .2s ease; }
.kv-cat-count { font-size: var(--wp--preset--font-size--xs); color: var(--kv-text-2); }
.kv-cat-tile:hover, .kv-cat-tile:focus-visible { color: var(--kv-blue); }
.kv-cat-tile:hover .kv-cat-ico, .kv-cat-tile:focus-visible .kv-cat-ico { transform: scale(1.15); }
.kv-cat-tile:hover .kv-cat-name, .kv-cat-tile:focus-visible .kv-cat-name { transform: scale(1.05); }
@media (prefers-reduced-motion: reduce) { .kv-cat-ico, .kv-cat-name { transition: none; } }

.kv-izbor { background: var(--wp--preset--color--n-50); }
.kv-znamke { padding-bottom: var(--wp--preset--spacing--50); }
.kv-brands { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.kv-brands a { display: inline-flex; align-items: center; min-height: var(--kv-tap); padding: 0 18px; border: 1px solid var(--kv-border); font: 700 var(--wp--preset--font-size--lg)/1 var(--kv-font-h); color: var(--kv-text-2); letter-spacing: .04em; text-transform: uppercase; text-decoration: none; }
.kv-brands a:hover { border-color: var(--kv-blue); color: var(--kv-blue); }

/* Obiščite nas + zemljevid */
.kv-visit { display: grid; gap: var(--wp--preset--spacing--50); grid-template-columns: 1fr; align-items: stretch; }
@media (min-width: 900px) { .kv-visit { grid-template-columns: 1fr 1.4fr; } }
.kv-visit address { font-style: normal; font-size: var(--wp--preset--font-size--lg); margin-bottom: 16px; }
.kv-hours { border-collapse: collapse; margin-bottom: 24px; }
.kv-hours th, .kv-hours td { text-align: left; padding: 6px 24px 6px 0; border-bottom: 1px solid var(--kv-border); font-weight: 400; }
.kv-hours th { font-weight: 600; }
.kv-visit__cta { display: flex; flex-wrap: wrap; gap: 12px; }
.kv-map { position: relative; min-height: 320px; background: var(--wp--preset--color--blue-900); }
.kv-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.kv-map__facade {
  position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px;
  padding: 24px; text-align: center; color: #fff;
  background:
    linear-gradient(0deg, rgb(15 42 82 / .55), rgb(15 42 82 / .55)),
    repeating-linear-gradient(90deg, transparent 0 58px, var(--wp--preset--color--blue-800) 58px 62px),
    repeating-linear-gradient(0deg, transparent 0 46px, var(--wp--preset--color--blue-800) 46px 50px),
    linear-gradient(115deg, transparent 0 48%, var(--wp--preset--color--blue-700) 48% 51%, transparent 51%),
    var(--wp--preset--color--blue-900);
}
.kv-map__pin { width: 44px; height: 44px; color: var(--kv-accent); }
.kv-map__addr, .kv-map__note { background: var(--wp--preset--color--blue-900); padding: 2px 8px; margin: 0; }
.kv-map__addr { font-family: var(--kv-font-h); font-weight: 700; font-size: var(--wp--preset--font-size--xl); }
.kv-map__note { max-width: 46ch; font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--blue-100); }
.kv-map__note a { color: #fff; }
.kv-map .kv-btn--accent:focus-visible { outline-color: #fff; }

/* Pas zaupanja */
.kv-trust { background: var(--wp--preset--color--blue-50); border-top: 1px solid var(--wp--preset--color--blue-100); }
.kv-trust ul { display: grid; gap: 12px; grid-template-columns: 1fr; list-style: none; margin: 0; padding: 28px 0; }
@media (min-width: 768px) { .kv-trust ul { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; padding: 40px 0; } }
.kv-trust li { display: grid; grid-template-columns: 48px 1fr; gap: 4px 16px; align-items: center; background: #fff; border: 1px solid var(--wp--preset--color--blue-100); padding: 16px 20px; }
@media (min-width: 768px) { .kv-trust li { padding: 20px 24px; } }
.kv-trust .kv-ico { width: 48px; height: 48px; padding: 12px; border-radius: 50%; background: var(--wp--preset--color--blue-50); color: var(--kv-blue); grid-row: span 2; align-self: center; }
.kv-trust strong { font-family: var(--kv-font-h); font-size: var(--wp--preset--font-size--lg); color: var(--wp--preset--color--blue-800); line-height: 1.2; align-self: end; }
.kv-trust li > span { font-size: var(--wp--preset--font-size--sm); color: var(--kv-text-2); line-height: 1.45; align-self: start; }

/* ==========================================================================
   Noga
   ========================================================================== */
.kv-ftr { background: var(--wp--preset--color--n-50); border-top: 4px solid var(--kv-blue); font-size: var(--wp--preset--font-size--sm); }
.kv-ftr h2 { font-size: var(--wp--preset--font-size--lg); margin: 0 0 8px; }
.kv-ftr ul { list-style: none; margin: 0; padding: 0; }
.kv-ftr li { padding: 2px 0; }
.kv-ftr li a { display: inline-block; padding-block: 4px; min-height: 24px; }
.kv-ftr a { color: var(--kv-ink); }
.kv-ftr a:hover { color: var(--wp--preset--color--blue-800); }
.kv-ftr__grid { display: grid; gap: 24px; grid-template-columns: 1fr; padding-block: var(--wp--preset--spacing--70); }
@media (min-width: 640px) { .kv-ftr__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .kv-ftr__grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; } }
.kv-ftr__logo { width: 160px; height: auto; margin-bottom: 16px; }
.kv-ftr__name { font-family: var(--kv-font-h); font-weight: 700; font-size: var(--wp--preset--font-size--lg); margin: 0 0 8px; }
.kv-ftr address { font-style: normal; margin-bottom: 12px; }
.kv-ftr__hours { margin-bottom: 12px !important; }
.kv-ftr__legal { font-size: var(--wp--preset--font-size--xs); margin: 0; color: var(--kv-text-2); }
.kv-ftr__bottom { border-top: 1px solid var(--kv-border); padding-block: 16px; }
.kv-credit { margin: 0; font-size: 12px; color: var(--kv-text-2); }
.kv-credit a { font-size: 12px; color: var(--kv-blue); text-decoration: underline; }
.kv-credit a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

/* ==========================================================================
   Vsebinske strani (stari ACF razdelki, kratke kode)
   ========================================================================== */
.kv-acf { margin-block: var(--wp--preset--spacing--60); }
.kv-acf__cols { display: grid; gap: 24px; grid-template-columns: 1fr; }
@media (min-width: 768px) { .kv-acf__cols:has(> :nth-child(2)) { grid-template-columns: 1fr 1fr; } }
.kv-acf img { height: auto; }
.kv-acc { border: 1px solid var(--kv-border); margin-block: 8px; }
.kv-acc summary { padding: 12px 16px; min-height: var(--kv-tap); cursor: pointer; font-weight: 600; }
.kv-acc > div { padding: 0 16px 12px; }
.kv-page .wp-block-post-content :where(p, li) { max-width: 75ch; }

/* ==========================================================================
   WooCommerce (klasične predloge v bločni temi)
   ========================================================================== */
.woocommerce-breadcrumb { font-size: var(--wp--preset--font-size--sm); color: var(--kv-text-2); margin: 0 0 16px !important; }
.woocommerce-breadcrumb a { color: var(--kv-blue); display: inline-block; padding-block: 4px; }
.woocommerce-products-header__title, .product_title { font-size: var(--wp--preset--font-size--xxxl); margin: 0 0 12px; }
.term-description { color: var(--kv-text-2); }

/* Postavitev kataloga: kategorije + filtri levo (namizje), gumba »Kategorije« in »Filtri« zgoraj (mobilno) */
.kv-shop { display: grid; gap: 16px 24px; grid-template-columns: minmax(0, 1fr); }
/* [N] razmik med stolpcema ureja mreža (brez dodatnega block-gap roba nad vsebino) */
.kv-shop > .kv-shop__main { margin-block-start: 0 !important; }
.kv-shop__aside:empty, .kv-shop__aside:not(:has(*)) { display: none; }
.kv-shop__aside { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-start; }
.kv-shop__aside > * { margin: 0 !important; min-width: 0; }
.kv-shop__aside > .kv-cats { flex: 0 0 calc(50% - 4px); }
.kv-shop__aside > .kv-filters { flex: 1 1 calc(50% - 4px); }
.kv-shop__aside > .kv-cats:only-child, .kv-shop__aside:has(> .kv-filters[open]) > .kv-cats, .kv-shop__aside > .kv-filters[open] { flex-basis: 100%; }
@media (min-width: 1024px) {
  .kv-shop:has(.kv-filters, .kv-cattree) { grid-template-columns: 260px minmax(0, 1fr); }
  .kv-shop__aside { flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 16px; align-self: start; }
  .kv-shop__aside > .kv-cats, .kv-shop__aside > .kv-filters { flex: none; }
  /* sticky samo, če je stolpec nižji od zaslona (razred doda kovinar.js) */
  .kv-shop__aside.is-sticky { position: sticky; top: 16px; }
}
.kv-filters { border: 1px solid var(--kv-border); background: #fff; }
.kv-filters > summary { min-height: var(--kv-tap); padding: 10px 16px; font: 700 1rem/1.5 var(--kv-font-h); color: var(--kv-blue); cursor: pointer; }
.kv-filters__body { padding: 0 16px 16px; }
.kv-shop__main { min-width: 0; }

/* [N] Drevo kategorij: namizje = stranski stolpec; mobilno = gumb + drsni predal z leve */
.kv-cats__btn {
  display: flex; align-items: center; gap: 8px; width: 100%; min-height: var(--kv-tap); padding: 10px 16px;
  border: 1px solid var(--kv-border); background: #fff; color: var(--kv-blue); font: 700 1rem/1.5 var(--kv-font-h); text-align: left; cursor: pointer;
}
.kv-cats__btn .kv-ico { width: 20px; height: 20px; }
.kv-cats__btn:hover { background: var(--wp--preset--color--blue-50); }
.kv-cattree { display: none; background: #fff; }
.kv-cattree.is-open {
  display: block; position: fixed; top: 0; bottom: 0; left: 0; z-index: 1000; width: min(88vw, 360px);
  overflow-y: auto; overscroll-behavior: contain; padding-bottom: 24px; box-shadow: var(--wp--preset--shadow--3);
}
.kv-cats__overlay { position: fixed; inset: 0; z-index: 999; background: rgb(10 25 50 / .5); }
.kv-cats__overlay[hidden] { display: none; }
html.kv-drawer-open { overflow: hidden; }
.kv-cattree__head { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 52px; padding: 4px 4px 4px 16px; background: var(--kv-blue); color: #fff; }
.kv-cattree__head h2 { margin: 0; font: 700 var(--wp--preset--font-size--lg)/1.2 var(--kv-font-h); color: inherit; }
.kv-cattree__close { display: grid; place-items: center; width: var(--kv-tap); height: var(--kv-tap); padding: 0; border: 0; background: none; color: #fff; cursor: pointer; }
.kv-cattree__close:focus-visible { outline-color: var(--kv-accent); outline-offset: -3px; }
.kv-cattree__all { margin: 0; border-bottom: 1px solid var(--kv-border); }
.kv-cattree__all a { display: flex; align-items: center; min-height: var(--kv-tap); padding: 6px 16px; color: var(--kv-blue); font-weight: 600; text-decoration: none; }
.kv-cattree__list { list-style: none; margin: 0; padding: 0; }
.kv-cattree__list[data-depth="0"] { padding-block: 4px; }
.kv-cattree__list a {
  display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: var(--kv-tap); padding: 6px 12px 6px 16px;
  color: var(--kv-ink); text-decoration: none; line-height: 1.3;
}
.kv-cattree__list[data-depth="0"] > li > a { font-weight: 600; }
.kv-cattree__list .kv-cattree__list { margin: 0 0 4px 16px; border-left: 2px solid var(--wp--preset--color--blue-100); }
.kv-cattree__list .kv-cattree__list a { padding-left: 12px; font-size: var(--wp--preset--font-size--sm); }
.kv-cattree__list a:hover { background: var(--wp--preset--color--blue-50); color: var(--wp--preset--color--blue-800); }
.kv-cattree__n { flex: none; font-size: var(--wp--preset--font-size--xs); font-weight: 400; color: var(--kv-text-2); font-variant-numeric: tabular-nums; }
.kv-cattree li.is-active > a { color: var(--wp--preset--color--blue-800); }
.kv-cattree li > a[aria-current] { background: var(--kv-blue); color: #fff; box-shadow: inset 4px 0 0 var(--kv-accent); }
.kv-cattree li > a[aria-current] .kv-cattree__n { color: #fff; }
.kv-cattree a[aria-current]:focus-visible { outline-color: var(--kv-accent); outline-offset: -3px; }
.kv-cattree .is-outlet > a .kv-cattree__name { background: var(--kv-accent); color: var(--kv-ink); padding: 0 6px; }
@media (min-width: 1024px) {
  .kv-cats__btn, .kv-cattree__close, .kv-cats__overlay { display: none; }
  .kv-cattree, .kv-cattree.is-open { display: block; position: static; width: auto; overflow: visible; padding: 0; box-shadow: none; border: 1px solid var(--kv-border); }
  .kv-cattree__head { position: static; min-height: 0; padding: 10px 16px; background: none; color: var(--kv-blue); border-bottom: 1px solid var(--kv-border); }
  .kv-cattree__head h2 { font-size: 1rem; line-height: 1.5; }
  .kv-cattree__all a, .kv-cattree__list a { min-height: 36px; padding-block: 4px; }
  .kv-cattree__list .kv-cattree__list a { min-height: 32px; }
}

/* Čipi podkategorij / sorodnih kategorij: mobilno ena vrstica z vodoravnim drsenjem, namizje prelom */
.kv-subcats { margin: 0 0 16px; }
.kv-subcats ul { display: flex; flex-wrap: nowrap; gap: 8px; list-style: none; margin: 0; padding: 0 0 6px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scrollbar-width: thin; }
.kv-subcats li { flex: none; scroll-snap-align: start; }
.kv-subcats a { display: inline-flex; align-items: center; gap: 4px; min-height: 40px; padding: 0 12px; background: var(--wp--preset--color--blue-50); color: var(--wp--preset--color--blue-800); text-decoration: none; font-weight: 500; white-space: nowrap; }
.kv-subcats a:hover { background: var(--kv-blue); color: #fff; }
.kv-subcats a[aria-current] { background: var(--kv-blue); color: #fff; box-shadow: inset 0 -3px 0 var(--kv-accent); }
.kv-subcats .kv-muted { color: var(--kv-text-2); }
.kv-subcats a:hover .kv-muted, .kv-subcats a[aria-current] .kv-muted { color: #fff; }
@media (min-width: 1024px) { .kv-subcats ul { flex-wrap: wrap; overflow: visible; padding-bottom: 0; } }

.woocommerce .woocommerce-result-count { color: var(--kv-text-2); font-size: var(--wp--preset--font-size--sm); margin: 0 0 16px; }
.woocommerce .woocommerce-ordering { margin: 0 0 16px; }

/* Kartice izdelkov: mreža, enaka višina, normalne črke, en slog CTA */
.woocommerce ul.products, .woocommerce-page ul.products {
  display: grid !important; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; margin: 0 0 24px; padding: 0;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { content: none !important; display: none !important; }
@media (min-width: 768px) { .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .woocommerce ul.products.columns-4, .kv-izbor .woocommerce ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
  float: none !important; width: auto !important; margin: 0 !important; clear: none !important;
  position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--kv-border); padding: 12px;
  transition: box-shadow var(--wp--custom--dur) var(--wp--custom--ease), border-color var(--wp--custom--dur);
}
.woocommerce ul.products li.product:hover { box-shadow: var(--wp--preset--shadow--2); border-color: var(--wp--preset--color--blue-200); }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex: 1; color: inherit; text-decoration: none; }
.woocommerce ul.products li.product a img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; margin: 0 0 12px; background: #fff; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--wp--preset--font-family--body); font-weight: 600; font-size: var(--wp--preset--font-size--sm) !important; line-height: 1.35;
  color: var(--kv-ink); text-transform: none; letter-spacing: 0; padding: 0 !important; margin: 0 0 8px;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; min-height: calc(1.35em * 3);
}
.woocommerce ul.products li.product .price { margin-top: auto !important; color: var(--kv-ink) !important; font-weight: 700; font-size: var(--wp--preset--font-size--lg) !important; }
.woocommerce ul.products li.product .price del { color: var(--kv-text-2); font-weight: 400; font-size: .85em; opacity: 1; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .button { display: flex !important; align-items: center; justify-content: center; width: 100%; margin-top: 12px !important; min-height: 44px; padding: 0 12px; font-size: var(--wp--preset--font-size--md); line-height: 1.15; }
.woocommerce ul.products li.product .added_to_cart { display: inline-block; margin-top: 8px; font-size: var(--wp--preset--font-size--sm); }
.woocommerce span.onsale, .woocommerce ul.products li.product .onsale {
  position: absolute; top: 12px; left: 12px; right: auto; margin: 0; min-height: 0; min-width: 0; padding: 2px 8px; border-radius: 0; line-height: 1.5;
  background: var(--wp--preset--color--danger); color: #fff; font-size: var(--wp--preset--font-size--xs); font-weight: 700; z-index: 2;
}
.woocommerce ul.products li.product .star-rating { display: none; }

.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: var(--kv-tap); min-height: var(--kv-tap); display: grid; place-items: center; padding: 0 8px; border: 1px solid var(--kv-border); color: var(--kv-blue); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--kv-blue); color: #fff; border-color: var(--kv-blue); }

/* Stran izdelka */
.kv-product .woocommerce div.product, .woocommerce div.product { display: grid; gap: 24px 40px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) { .woocommerce div.product { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.woocommerce div.product > * { grid-column: 1 / -1; }
@media (min-width: 900px) {
  .woocommerce div.product div.images, .woocommerce div.product div.summary { grid-column: auto; width: auto !important; float: none !important; margin: 0 !important; }
}
.woocommerce div.product div.images { width: 100% !important; float: none !important; margin: 0 !important; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { margin: 0; }
.woocommerce div.product div.images .woocommerce-product-gallery__image img,
.woocommerce div.product div.images img.wp-post-image { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: contain; background: #fff; }
/* Galerija brez drsnika: vidna takoj (WooCommerce jo sicer skrije z opacity:0 do zagona JS, kar zamakne LCP). */
.woocommerce div.product div.images.woocommerce-product-gallery { opacity: 1 !important; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image { width: auto !important; display: block !important; margin: 0 !important; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child { grid-column: 1 / -1; }
.woocommerce div.product div.images .woocommerce-product-gallery__trigger { z-index: 2; }
/* CLS (K-16): galerija ima pred inicializacijo in med nalaganjem slike že končno višino (kvadrat). */
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child { aspect-ratio: 1 / 1; }
.woocommerce div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-top: 8px; }
.woocommerce div.product div.images .flex-control-thumbs li { width: auto !important; }
.woocommerce div.product div.summary { width: 100% !important; float: none !important; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--kv-ink) !important; font-weight: 700; font-size: var(--wp--preset--font-size--xxl) !important; }
.woocommerce div.product p.price del { color: var(--kv-text-2); font-weight: 400; opacity: 1; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: 24px; }
.woocommerce div.product form.cart .quantity { margin: 0 !important; float: none; }
.woocommerce div.product form.cart .button { float: none; }
.woocommerce div.product form.cart.variations_form { display: block; }
.woocommerce div.product form.cart .variations { margin-bottom: 12px; }
.woocommerce div.product form.cart .variations td, .woocommerce div.product form.cart .variations th { display: block; padding: 4px 0; text-align: left; }
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.woocommerce div.product .product_meta { font-size: var(--wp--preset--font-size--sm); color: var(--kv-text-2); }
.woocommerce div.product .product_meta > span { display: block; padding-block: 2px; }
.woocommerce div.product .product_meta a { display: inline-block; padding-block: 4px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 16px; display: flex; flex-wrap: wrap; gap: 4px; border-bottom: 2px solid var(--kv-border); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0; padding: 0; border: 0; border-radius: 0; background: var(--wp--preset--color--n-50); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: flex; align-items: center; min-height: var(--kv-tap); padding: 0 16px; color: var(--kv-blue); font-weight: 600; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--kv-blue); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #fff; }
.woocommerce div.product .woocommerce-tabs .panel { overflow-x: auto; }
.woocommerce div.product .woocommerce-tabs .panel table { max-width: 100%; }
.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td { padding: 8px; font-style: normal; }
.related > h2, .upsells > h2 { font-size: var(--wp--preset--font-size--xxl); }

/* Obvestila */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notices-wrapper > * {
  border-top-width: 3px; background: var(--wp--preset--color--blue-50); color: var(--kv-ink);
}
.woocommerce-message { border-top-color: var(--wp--preset--color--success); background: var(--wp--preset--color--success-bg); }
.woocommerce-error { border-top-color: var(--wp--preset--color--danger); background: var(--wp--preset--color--danger-bg); }
.woocommerce-info { border-top-color: var(--kv-blue); }
.woocommerce-message::before { color: var(--wp--preset--color--success); }
.woocommerce-message .button, .woocommerce-info .button { float: none !important; margin: 0 0 0 12px !important; }

/* Košarica in blagajna (klasični kratki kodi). Pri < 769 px WooCommerce preklopi tabelo v kartice. */
.woocommerce table.shop_table { border-radius: 0; border-color: var(--kv-border); }
.woocommerce table.shop_table th { font-family: var(--kv-font-h); }
.woocommerce-cart table.cart img { width: 64px; }
.woocommerce-cart table.cart td.actions .coupon { display: flex; flex-wrap: wrap; gap: 8px; }
.woocommerce-cart table.cart td.actions .coupon .input-text { width: auto; flex: 1 1 140px; min-width: 0; margin: 0; }
.woocommerce-cart table.cart td.actions > .button { margin-top: 8px; }
.woocommerce a.remove { width: var(--kv-tap); height: var(--kv-tap); line-height: var(--kv-tap); font-size: 1.5em; color: var(--wp--preset--color--danger) !important; border-radius: 0; display: inline-grid; place-items: center; }
.woocommerce a.remove:hover { background: var(--wp--preset--color--danger); color: #fff !important; }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals { width: 100%; float: none; }
@media (min-width: 900px) { .woocommerce .cart-collaterals .cart_totals { width: 48%; float: right; } }
.wc-proceed-to-checkout .checkout-button { width: 100%; }
.woocommerce form .form-row label { font-weight: 600; color: var(--kv-ink); }
.woocommerce form .form-row .required { color: var(--wp--preset--color--danger); text-decoration: none; }
.woocommerce-checkout #payment { background: var(--wp--preset--color--n-50); border-radius: 0; }
.woocommerce-checkout #payment div.payment_box { background: #fff; color: var(--kv-ink); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff; }
#place_order { width: 100%; min-height: 52px; font-size: var(--wp--preset--font-size--lg); }
@media (max-width: 768px) {
  .woocommerce table.shop_table_responsive tr td, .woocommerce-page table.shop_table_responsive tr td { text-align: right; }
  .woocommerce-cart table.cart td.actions { text-align: left !important; }
  .woocommerce-cart table.cart td.actions .coupon { float: none; }
  .woocommerce-cart table.cart td.actions > .button { width: 100%; }
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 10px 0; min-height: var(--kv-tap); }
.woocommerce form.login, .woocommerce form.register { border-radius: 0; border-color: var(--kv-border); }

/* Iskanje, arhivi */
.wp-block-post-title a { text-decoration: none; }
.wp-block-query .wp-block-post { padding-block: 12px; border-bottom: 1px solid var(--kv-border); }

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

/* WBW filter (woo-product-filter): kontrast in slog po tokenih */
.wpfFilterWrapper, .wpfFilterWrapper .wpfFilterTaxNameWrapper, .wpfFilterWrapper .wpfValue, .wpfFilterWrapper label { color: var(--kv-ink) !important; }
.wpfFilterWrapper .wpfCount { color: var(--kv-text-2) !important; }
.wpfFilterWrapper .wfpTitle, .wpfFilterWrapper .wfpDescription { font-family: var(--kv-font-h) !important; color: var(--kv-blue) !important; }
.wpfFilterButtons .wpfFilterButton, .wpfFilterButtons .wpfClearButton, button.wpfFilterButton, button.wpfClearButton {
  background: var(--kv-blue) !important; color: #fff !important; border: 0 !important; border-radius: 0 !important; min-height: var(--kv-tap); padding: 0 1.25rem !important;
  font-family: var(--kv-font-h) !important; font-weight: 700 !important; text-transform: none !important;
}
.wpfFilterButtons .wpfClearButton, button.wpfClearButton { background: #fff !important; color: var(--kv-blue) !important; box-shadow: inset 0 0 0 2px currentColor; }
.wpfFilterWrapper input[type=checkbox] { width: 20px; height: 20px; }

/* Onemogočen gumb (npr. variabilni izdelek pred izbiro različice): brez prosojnosti, kontrast AA */
.woocommerce div.product form.cart .button.disabled, .woocommerce div.product form.cart .button:disabled,
.woocommerce button.button.alt.disabled, .woocommerce button.button.alt:disabled[disabled] {
  background: var(--wp--preset--color--n-100) !important; color: var(--kv-text-2) !important; opacity: 1 !important; box-shadow: inset 0 0 0 1px var(--kv-border-input);
}

/* Gumb »Prikaži geslo« (WooCommerce): tarča najmanj 44 × 44 px */
.woocommerce form .password-input { display: flex; position: relative; }
.woocommerce form .password-input input { padding-right: 48px; }
.woocommerce form .show-password-input, .woocommerce-page form .show-password-input {
  position: absolute; top: 50%; right: 0; transform: translateY(-50%); width: 44px; height: 44px; min-height: 44px; display: grid; place-items: center; background: transparent; border: 0; cursor: pointer;
}
.woocommerce form .show-password-input::after { position: static; }

/* -------------------------------------------------------------------------
 * Vrtljiva kartica srednjega panela (prevzem ↔ obroki), 2026-09-28.
 * Obe strani v isti celici mreže → višina = višja stran, brez CLS.
 * ---------------------------------------------------------------------- */
.kv-flip { perspective: 1400px; }
.kv-flip__inner { display: grid; flex: 1; transform-style: preserve-3d; transition: transform .6s cubic-bezier(.45, .05, .2, 1); }
.kv-flip.is-b .kv-flip__inner { transform: rotateY(180deg); }
.kv-flip__face { grid-area: 1 / 1; display: flex; flex-direction: column; gap: 12px; backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.kv-flip__face--back { transform: rotateY(180deg); }
/* Varovalo za brskalnike, ki ne upoštevajo backface-visibility (Tor/Firefox »Safest«, 2026-10-10):
   skrita stran dobi visibility:hidden na polovici obrata, zato zrcalne strani ni nikoli videti. */
@media (min-width: 768px) {
  .kv-flip__face { transition: visibility 0s linear .3s; }
  .kv-flip:not(.is-b) .kv-flip__face--back,
  .kv-flip.is-b .kv-flip__face:not(.kv-flip__face--back) { visibility: hidden; }
}
.kv-flip__ctrl { display: flex; align-items: center; justify-content: flex-end; gap: 4px; margin-top: 4px; }
.kv-flip__ctrl[hidden] { display: none; }
.kv-flip__dot { width: 24px; height: 24px; padding: 0; border: 0; background: none; cursor: pointer; display: grid; place-items: center; }
.kv-flip__dot::before { content: ""; width: 10px; height: 10px; border-radius: 50%; border: 2px solid #fff; transition: background-color .3s; }
.kv-flip__dot[aria-pressed="true"]::before { background: #fff; }

/* -------------------------------------------------------------------------
 * [N] Mobilni drsnik panelov domače (< 768 px, Jan 2026-09-28): scroll-snap, slide 100 % širine (brez roba naslednjega — Jan), pike pod drsnikom.
 * Kartica kv-flip se na mobilnem razdeli na dva slide-a (display: contents), namizje ostane mreža s flipom.
 * Vsi slide-i v isti vrstici flex → enaka višina (najvišji), brez CLS; pike imajo rezerviran prostor.
 * ---------------------------------------------------------------------- */
.kv-hero__dots { display: none; }
.kv-hero__dot { display: grid; place-items: center; width: 24px; height: 24px; padding: 0; border: 0; background: none; cursor: pointer; }
.kv-hero__dot::before { content: ""; width: 10px; height: 10px; border-radius: 50%; border: 2px solid var(--kv-blue); transition: background-color .3s, transform .3s; }
.kv-hero__dot[aria-current="true"]::before { background: var(--kv-blue); transform: scale(1.2); }
@media (max-width: 767px) {
  .kv-hero__grid { display: flex; gap: 12px; position: relative; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .kv-hero__grid::-webkit-scrollbar { display: none; }
  .kv-hero__grid > .kv-panel, .kv-hero__grid .kv-flip__face { flex: 0 0 100%; min-width: 0; scroll-snap-align: start; scroll-snap-stop: always; }
  .kv-hero__grid > .kv-flip, .kv-hero__grid .kv-flip__inner { display: contents; }
  .kv-hero__grid .kv-flip__face {
    position: relative; overflow: hidden; transform: none; backface-visibility: visible; -webkit-backface-visibility: visible;
    background: var(--kv-blue); color: #fff; border: 1px solid var(--kv-blue); padding: var(--wp--preset--spacing--50);
  }
  .kv-hero__grid .kv-flip__ctrl { display: none !important; }
  .kv-hero__dots { display: flex; justify-content: center; gap: 4px; min-height: 24px; margin-top: 8px; visibility: hidden; }
  .kv-hero__dots.is-ready { visibility: visible; }
}

/* -------------------------------------------------------------------------
 * Fade efekti (2026-09-28): mehki prehodi ob hoverju in pojav ob drsenju.
 * .kv-reveal doda kovinar.js SAMO elementom pod pregibom → LCP in vsebina nad pregibom nista skrita.
 * Brez JS ali pri prefers-reduced-motion se nič ne skrije.
 * ---------------------------------------------------------------------- */
@media (prefers-reduced-motion: no-preference) {
  a, button, .kv-btn, .wp-element-button, .woocommerce a.button, .woocommerce button.button {
    transition: color .15s ease, background-color .15s ease, border-color .15s ease, box-shadow .15s ease, opacity .15s ease;
  }
  .kv-panel, .woocommerce ul.products li.product { transition: box-shadow .2s ease, transform .2s ease; }
  .woocommerce ul.products li.product:hover { box-shadow: 0 8px 22px rgba(31, 83, 157, .14); transform: translateY(-2px); }
  .kv-reveal { opacity: 0; transform: translateY(8px); transition: opacity .3s ease-out, transform .3s ease-out; }
  .kv-reveal.is-in { opacity: 1; transform: none; }
  #kv-oddelki:not([hidden]) { animation: kv-fade .22s ease; }
  .kv-map iframe { animation: kv-fade .5s ease; }
  .kv-cattree.is-open { animation: kv-drawer .22s ease; }
}
@keyframes kv-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes kv-drawer { from { transform: translateX(-100%); } to { transform: none; } }

/* Vrstica oddelkov: brez temnega okvirja ob hoverju — besedilo postane polno belo in se rahlo poveča, kot pri simbolih oddelkov (Jan 2026-09-29). */
.kv-bar__links > li:not(.is-outlet) > a { color: rgb(255 255 255 / .82); }
.kv-bar__links > li:not(.is-outlet) > a > * , .kv-bar__links > li:not(.is-outlet) > a { transition: color .2s ease, transform .2s ease; }
.kv-bar__links > li:not(.is-outlet) > a:hover, .kv-bar__links > li:not(.is-outlet) > a:focus-visible, .kv-bar__links > li:not(.is-outlet) > a[aria-current],
.kv-bar__links > li:not(.is-outlet):hover > a, .kv-bar__links > li:not(.is-outlet).is-dd-open > a { background: none !important; box-shadow: none !important; color: #fff; transform: scale(1.08); }
.kv-bar__links > li:not(.is-outlet) > a[aria-current] { font-weight: 700; }
.kv-bar__links > li:not(.is-outlet) > .kv-dd-btn { background: none !important; box-shadow: none !important; color: rgb(255 255 255 / .82); transition: color .2s; }
.kv-bar__links > li:not(.is-outlet):hover > .kv-dd-btn, .kv-bar__links > li:not(.is-outlet).is-dd-open > .kv-dd-btn { color: #fff; }
@media (prefers-reduced-motion: reduce) { .kv-bar__links > li > a { transition: none; transform: none !important; } }
