/* [P] Priljubljeni */
.kv-fav { display: inline-grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: #fff; color: var(--kv-ink); cursor: pointer; box-shadow: 0 1px 4px rgb(15 42 82 / .18); transition: transform .15s ease, color .15s; }
.kv-fav:hover { transform: scale(1.12); color: #d6263b; }
.kv-fav:focus-visible { outline: 3px solid var(--kv-blue); outline-offset: 2px; }
.kv-fav__ico { width: 22px; height: 22px; }
.kv-fav[aria-pressed="true"] { color: #d6263b; }
.kv-fav[aria-pressed="true"] { --kv-heart-fill: currentColor; }
.kv-fav.is-pop { animation: kv-fav-pop .35s ease; }
@keyframes kv-fav-pop { 50% { transform: scale(1.3); } }
.woocommerce ul.products li.product { position: relative; }
.kv-fav--card { position: absolute; top: 8px; right: 8px; z-index: 3; }
.kv-fav-row { margin: 12px 0 4px; }
.kv-fav--wide { width: auto; height: 44px; gap: 8px; grid-auto-flow: column; padding: 0 18px 0 12px; border-radius: 999px; box-shadow: inset 0 0 0 2px var(--kv-border); font-weight: 600; }
.kv-fav--wide:hover { transform: none; box-shadow: inset 0 0 0 2px currentColor; }
.kv-fav--wide[aria-pressed="true"] .kv-fav__txt::before { content: "Odstrani iz priljubljenih"; }
.kv-fav--wide[aria-pressed="true"] .kv-fav__txt { font-size: 0; }
.kv-fav--wide[aria-pressed="true"] .kv-fav__txt::before { font-size: 1rem; }
/* glava */
.kv-fav-link { position: relative; }
.kv-fav-count { position: absolute; top: 1px; left: 24px; min-width: 18px; padding: 0 5px; border-radius: 999px; background: #d6263b; color: #fff; font-size: 11px; font-weight: 700; line-height: 18px; text-align: center; }
.kv-fav-count[hidden] { display: none; }
@media (min-width: 1024px) { .kv-fav-count { left: 16px; top: 0; } }
/* stran */
.kv-favs__empty { padding: 32px 0; font-size: 1.1rem; }
.kv-favs__list:empty { display: none; }
.kv-favs__list { list-style: none; margin: 16px 0 48px; padding: 0; display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 768px) { .kv-favs__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .kv-favs__list { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.kv-favc { position: relative; border: 1px solid var(--kv-border); background: #fff; transition: box-shadow .2s, transform .2s; }
.kv-favc:hover { box-shadow: 0 8px 22px rgb(31 83 157 / .14); transform: translateY(-2px); }
.kv-favc__a { display: flex; flex-direction: column; gap: 8px; height: 100%; padding: 12px; color: var(--kv-ink); text-decoration: none; }
.kv-favc__img img { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; }
.kv-favc__name { font-size: .95rem; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.kv-favc__price { margin-top: auto; font-weight: 700; color: var(--kv-blue); }
.kv-favc__price del { color: var(--kv-muted); font-weight: 400; margin-right: 6px; }
.kv-favc__price ins { text-decoration: none; }
@media (prefers-reduced-motion: reduce) { .kv-fav, .kv-fav.is-pop { transition: none; animation: none; } }
