/* Pisava Inter se nalaga prek <link> v index.php (@import bi blokiral izris). */

/* =====================================================================
   TOBACCOSTUFF — premium.css
   Prenova frontenda, 20. 8. 2026. Rebrand (barve logotipa Tobaccostuff,
   Archivo za naslove, oglati gumbi, topla lestvica), 25. 8. 2026.
   Stari style/css.css in style/media.css sta zakomentirana v index.php.

   Kazalo:
     01 Žetoni (barve, tipografija, razmiki)
     02 Reset in osnove
     03 Tipografija
     04 Postavitev
     05 Gumbi
     06 Obrazci
     07 Glava in navigacija
     08 Noga
     09 Domača stran
     10 Katalog (kartica izdelka, mreža, filtri)
     11 Stran izdelka
     12 Košarica (predal)
     13 Toast obvestila
     14 Blagajna (en korak)
     15 Pomožni razredi
     16 Odzivnost
   ===================================================================== */


/* =====================================================================
   01 ŽETONI
   ===================================================================== */
:root {
    /* barve — topla nevtralna lestvica (oglje z rjavim podtonom, po logotipu) */
    --ink: #241f1a;
    --ink-2: #48413a;
    --ink-3: #746b61;
    --ink-4: #a2988c;
    --line: #e8e2d9;
    --line-2: #f1ede6;
    --surface: #ffffff;
    --bg: #faf7f2;
    --bg-2: #f4efe7;

    /* znamka — barve logotipa Tobaccostuff:
       oranžna #F08000 (za rabo na belem rahlo potemnjena), bordo #5C1008 */
    --brand: #e87500;
    --brand-dark: #c05e00;
    --brand-tint: #fdf1e2;
    --brand-deep: #5c1008;
    --brand-deep-2: #8f2110;

    /* pomen */
    --ok: #15803d;
    --ok-tint: #eaf6ee;
    --warn: #8a5a00;
    --err: #c2334d;
    --err-tint: #fdeef1;
    --sale: #8f2110;

    /* tipografija */
    --font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-head: 'Archivo', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --fs-xs: 0.75rem;
    --fs-sm: 0.8125rem;
    --fs-base: 0.9375rem;
    --fs-md: 1rem;
    --fs-lg: 1.125rem;
    --fs-xl: 1.375rem;
    --fs-2xl: 1.75rem;
    --fs-3xl: 2.25rem;
    --fs-4xl: 3rem;

    /* razmiki */
    --s-1: 4px;
    --s-2: 8px;
    --s-3: 12px;
    --s-4: 16px;
    --s-5: 24px;
    --s-6: 32px;
    --s-7: 48px;
    --s-8: 64px;
    --s-9: 96px;

    /* oblika — oglatejša kot pri prejšnji znamki, bolj tehničen videz */
    --r-sm: 4px;
    --r: 8px;
    --r-lg: 12px;
    --r-full: 999px;

    --shadow-sm: 0 1px 2px rgba(36, 31, 26, .05);
    --shadow: 0 4px 16px rgba(36, 31, 26, .07);
    --shadow-lg: 0 12px 40px rgba(36, 31, 26, .12);
    --shadow-xl: 0 24px 64px rgba(36, 31, 26, .16);

    /* topla gradientna podlaga — hero in izpostavi na vstopni strani
       (25.8.2026: ena definicija, da sta oba pasova res enaka) */
    --grad-warm: linear-gradient(105deg, var(--bg-2) 0%, var(--brand-tint) 60%, #f6e3c8 100%);

    --container: 1280px;
    --header-h: 76px;
    --ease: cubic-bezier(.2, .7, .3, 1);
}


/* =====================================================================
   02 RESET IN OSNOVE
   ===================================================================== */
*,
*::before,
*::after {
    box-sizing: border-box;
}

* {
    margin: 0;
    padding: 0;
    border: 0;
    outline: none;
}

html {
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
}

body {
    font-family: var(--font);
    font-size: var(--fs-base);
    line-height: 1.6;
    color: var(--ink);
    background: var(--bg);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    max-width: none;
    /* POPRAVEK 20.8.2026: `overflow-x: hidden` na body/html naredi iz telesa
       drsni vsebnik, kar razveljavi `position: sticky` na glavi in povzetku
       naročila. `clip` reže enako, a vsebnika NE ustvari.
       `hidden` ostaja prva vrstica kot nadomestek za starejše brskalnike. */
    overflow-x: hidden;
    overflow-x: clip;
}

img,
svg,
video {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    color: inherit;
    text-decoration: none;
    transition: color .18s var(--ease);
}

ul,
ol {
    list-style: none;
}

button,
input,
select,
textarea {
    font: inherit;
    color: inherit;
}

button {
    background: none;
    cursor: pointer;
}

table {
    border-collapse: collapse;
    width: 100%;
}

::selection {
    background: var(--brand);
    color: #fff;
}

:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
    border-radius: var(--r-sm);
}


/* =====================================================================
   03 TIPOGRAFIJA
   ===================================================================== */
h1,
h2,
h3,
h4,
h5 {
    font-family: var(--font-head);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: var(--ink);
}

h1 {
    font-size: var(--fs-3xl);
}

h2 {
    font-size: var(--fs-2xl);
}

h3 {
    font-size: var(--fs-xl);
    letter-spacing: -.01em;
}

h4 {
    font-size: var(--fs-lg);
    letter-spacing: -.01em;
}

h5 {
    font-size: var(--fs-md);
    letter-spacing: 0;
}

p {
    margin: 0 0 var(--s-4);
}

p:last-child {
    margin-bottom: 0;
}

strong,
b {
    font-weight: 600;
}

small {
    font-size: var(--fs-sm);
    color: var(--ink-3);
}

hr {
    height: 1px;
    background: var(--line);
    margin: var(--s-6) 0;
}

/* vsebinska besedila iz CKEditorja */
.content_view,
.tJust {
    line-height: 1.75;
    color: var(--ink-2);
}

.content_view h1,
.content_view h2,
.content_view h3,
.tJust h3 {
    margin: var(--s-6) 0 var(--s-3);
    color: var(--ink);
}

.content_view h1:first-child,
.tJust h3:first-child {
    margin-top: 0;
}

.content_view ul,
.content_view ol,
.tJust ul {
    margin: 0 0 var(--s-4) var(--s-5);
}

.content_view ul li,
.tJust ul li {
    list-style: disc;
    margin-bottom: var(--s-2);
}

.content_view ol li {
    list-style: decimal;
    margin-bottom: var(--s-2);
}

.content_view a,
.tJust a {
    color: var(--brand-dark);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.content_view a:hover {
    color: var(--ink);
}

.content_view table td {
    padding: var(--s-2) var(--s-4) var(--s-2) 0;
    border-bottom: 1px solid var(--line-2);
    vertical-align: top;
}


/* =====================================================================
   04 POSTAVITEV
   ===================================================================== */
.cMarg,
.container {
    width: 100%;
    max-width: var(--container);
    margin-inline: auto;
    padding-inline: var(--s-5);
}

main {
    display: block;
    min-height: 50vh;
}

.content_view {
    max-width: 760px;
    margin: var(--s-7) auto var(--s-8);
    padding-inline: var(--s-5);
}

.section {
    padding-block: var(--s-8);
}

.section-title {
    text-align: center;
    margin-bottom: var(--s-6);
}

/* SPREMEMBA 25.8.2026 (Tobaccostuff): kratka oranžna črta pod naslovi
   sekcij — droben podpis znamke, ki ga ROFI ni imel. */
.section-title h2::after,
h1.breaker::after {
    content: "";
    display: block;
    width: 44px;
    height: 3px;
    margin: var(--s-3) auto 0;
    border-radius: var(--r-full);
    background: var(--brand);
}

.section-title h2,
h1.breaker {
    font-size: var(--fs-2xl);
    letter-spacing: -.025em;
}

h1.breaker {
    text-align: center;
    margin: var(--s-8) 0 var(--s-5);
}

/* Stran 404 — povezave do kategorij so se stikale v en zlepljen odstavek,
   ker .lost-links ni imel sloga. */
.lost-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--s-2) var(--s-3);
    margin-top: var(--s-5);
}

.lost-links a {
    display: inline-flex;
    align-items: center;
    padding: var(--s-2) var(--s-4);
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--r-full);
    font-size: var(--fs-sm);
    font-weight: 500;
    color: var(--ink-2);
    text-decoration: none;
    transition: border-color .16s var(--ease), color .16s var(--ease);
}

.lost-links a:hover {
    border-color: var(--ink-4);
    color: var(--ink);
}

.lost-links br {
    display: none;
}

/* Naslovi sklopov (h2.breaker: »V naši ponudbi«, »Najbolj popularno«,
   »Poglejte tudi«). Prej brez sloga — <main> je čez celo širino, zato so
   viseli ob levem robu zaslona, mreža pod njimi pa je bila v vsebniku. */
h2.breaker {
    font-size: var(--fs-2xl);
    font-weight: 600;
    letter-spacing: -.025em;
    line-height: 1.2;
    margin: var(--s-8) 0 var(--s-5);
}

/* Poravnaj z mrežo SAMO, kadar naslov ni že v vsebniku (vstopna stran).
   Na strani izdelka je v .cMarg, ki odmike doda sam. */
main > h2.breaker {
    max-width: var(--container);
    margin-inline: auto;
    padding-inline: var(--s-5);
}

.sectionTitle {
    text-align: center;
    font-size: var(--fs-2xl);
    font-weight: 600;
    letter-spacing: -.025em;
    margin: var(--s-8) 0 var(--s-6);
}


/* =====================================================================
   05 GUMBI
   ===================================================================== */
.btn,
.a-fromBtn,
.button-min,
.sideBtn,
.next-btn,
.back-btn,
.cupon-btn,
.adToBasket,
input[type=submit],
input[type=button].adToBasket {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--s-2);
    height: 46px;
    padding: 0 var(--s-5);
    /* SPREMEMBA 25.8.2026 (Tobaccostuff): oglati gumbi namesto pilul */
    border-radius: var(--r);
    font-size: var(--fs-base);
    font-weight: 600;
    letter-spacing: -.01em;
    white-space: nowrap;
    cursor: pointer;
    transition: background .18s var(--ease), color .18s var(--ease),
        border-color .18s var(--ease), transform .12s var(--ease), box-shadow .18s var(--ease);
}

.btn:active,
.a-fromBtn:active,
.adToBasket:active {
    transform: translateY(1px);
}

/* primarni — črnilo */
.btn,
.a-fromBtn,
.adToBasket,
.next-btn,
input[type=submit] {
    background: var(--ink);
    color: #fff;
    border: 1px solid var(--ink);
}

.btn:hover,
.a-fromBtn:hover,
.adToBasket:hover,
.next-btn:hover,
input[type=submit]:hover {
    background: #000;
    color: #fff;
    box-shadow: var(--shadow);
}

/* sekundarni — obroba */
.btn-ghost,
.button-min,
.back-btn,
.sideBtn {
    background: transparent;
    color: var(--ink);
    border: 1px solid var(--line);
}

.btn-ghost:hover,
.button-min:hover,
.back-btn:hover,
.sideBtn:hover {
    border-color: var(--ink);
    background: var(--surface);
}

/* poudarjeni — znamka */
.btn-brand,
.sideBtn.cta {
    background: var(--brand);
    color: #fff;
    border: 1px solid var(--brand);
}

.btn-brand:hover,
.sideBtn.cta:hover {
    background: var(--brand-dark);
    border-color: var(--brand-dark);
    color: #fff;
}

.btn-sm {
    height: 38px;
    padding: 0 var(--s-4);
    font-size: var(--fs-sm);
}

.btn-block,
.btn100,
.fullBtn {
    display: flex;
    width: 100%;
}

.btn[disabled],
.btn.is-loading {
    opacity: .55;
    pointer-events: none;
}

.btn.is-loading::after {
    content: "";
    width: 15px;
    height: 15px;
    border: 2px solid rgba(255, 255, 255, .35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin .7s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.link-quiet {
    color: var(--ink-3);
    text-decoration: underline;
    text-underline-offset: 3px;
    font-size: var(--fs-sm);
}

.link-quiet:hover {
    color: var(--ink);
}


/* =====================================================================
   06 OBRAZCI
   ===================================================================== */
.field {
    display: block;
    margin-bottom: var(--s-4);
}

.field > label,
label {
    display: block;
    font-size: var(--fs-sm);
    font-weight: 500;
    color: var(--ink-2);
    margin-bottom: var(--s-2);
}

.inputF,
.inputF-shipping,
.area-field,
input[type=text],
input[type=email],
input[type=tel],
input[type=password],
input[type=number],
select,
textarea {
    width: 100%;
    height: 46px;
    padding: 0 var(--s-4);
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--r);
    font-size: var(--fs-base);
    color: var(--ink);
    transition: border-color .16s var(--ease), box-shadow .16s var(--ease);
}

textarea,
.area-field {
    height: auto;
    min-height: 96px;
    padding: var(--s-3) var(--s-4);
    line-height: 1.6;
    resize: vertical;
}

/* ⚠️ `select[class]` ni pomota — brez njega spustni seznam ostane BREZ puščice.
   `appearance:none` skrije sistemsko puščico, našo pa nariše `background-image`.
   Ta pa je v skupnem pravilu zgoraj povožen s `background: var(--surface)` iz
   `.inputF` — bližnjica prepiše tudi `background-image`, `.inputF` (0,1,0) pa
   po specifičnosti premaga goli `select` (0,0,1). Polje za državo v
   registraciji je bilo zato videti kot navadno besedilno polje.
   `select[class]` je (0,1,1) in premaga katerikoli razred z eno besedo, zato
   velja tudi za `.co-opt` na blagajni in za vsak razred, ki bo dodan pozneje.
   (Ista past je bila 26.8.2026 popravljena v adminu — `select, select.inputF`.) */
select,
select[class] {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right var(--s-4) center;
    padding-right: var(--s-7);
    cursor: pointer;
}

input:hover,
select:hover,
textarea:hover {
    border-color: var(--ink-4);
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 3px var(--brand-tint);
}

input::placeholder,
textarea::placeholder {
    color: var(--ink-4);
}

input[type=checkbox],
input[type=radio] {
    width: 18px;
    height: 18px;
    accent-color: var(--brand);
    cursor: pointer;
    vertical-align: -3px;
}

.check-row {
    display: flex;
    align-items: flex-start;
    gap: var(--s-3);
    margin-bottom: var(--s-3);
}

.check-row label {
    margin: 0;
    font-weight: 400;
    font-size: var(--fs-sm);
    color: var(--ink-2);
    line-height: 1.5;
}

.field-err input,
.field-err select,
input.is-invalid,
select.is-invalid {
    border-color: var(--err);
    box-shadow: 0 0 0 3px var(--err-tint);
}

.err-msg {
    display: block;
    font-size: var(--fs-xs);
    color: var(--err);
    margin-top: var(--s-1);
}

/* POPRAVEK 21.8.2026 — razmik med polji je bil dvojen.
   `.field` ima `margin-bottom: var(--s-4)`, mreža pa še `gap: var(--s-4)`,
   zato je bilo med vrsticami 32 px namesto 16. Znotraj mreže razmik vodi
   samo `gap`; navpično je namenoma manjši od vodoravnega, ker sta stolpca
   ločena že sama po sebi. */
.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--s-3) var(--s-4);
}

.form-grid .field {
    margin-bottom: 0;
}

.form-grid .field > label {
    margin-bottom: var(--s-1);
}

.form-grid .full {
    grid-column: 1 / -1;
}


/* =====================================================================
   15 POMOŽNI RAZREDI (uporabljeni tudi zgoraj)
   ===================================================================== */
.muted {
    color: var(--ink-3);
}

.light {
    color: var(--ink-3);
    font-size: var(--fs-sm);
}

.center {
    text-align: center;
}

.tJust {
    text-align: left;
}

.stack > * + * {
    margin-top: var(--s-4);
}

.hide {
    display: none !important;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}


/* =====================================================================
   07 GLAVA IN NAVIGACIJA
   ===================================================================== */
.topLine {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--s-4);
    height: 38px;
    padding-inline: var(--s-5);
    /* SPREMEMBA 25.8.2026 (Tobaccostuff): bordo iz logotipa namesto ogljene */
    background: var(--brand-deep);
    color: #fff;
    font-size: var(--fs-xs);
    letter-spacing: .01em;
}

.topLine .moto {
    display: flex;
    align-items: center;
    /* razmik do krogca je enak razmiku za njim (glej ::before spodaj) */
    gap: var(--s-2);
    color: rgba(255, 255, 255, .92);
}

/* PRENOVA 25.8.2026: prednosti stojijo LEVO, ločene z belim krogcem.
   `:empty` je pomemben — prefs.js ob državi brez praga izprazni prvi span,
   takrat naj krogca pred naslednjim ne bo. */
.topLine .moto > .top-usp {
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    color: rgba(255, 255, 255, .82);
}

.topLine .moto > .top-usp:empty {
    display: none;
}

.topLine .moto > .top-usp:not(:empty) ~ .top-usp:not(:empty)::before {
    content: "";
    width: 4px;
    height: 4px;
    /* ⚠️ brez `margin-right`: `.top-usp` je inline-flex z `gap: var(--s-2)`,
       zato razmik za krogcem že naredi ta gap — sicer je razmik na desni
       strani krogca dvojen (8 + 8 px). */
    margin: 0;
    border-radius: 50%;
    background: #fff;
    opacity: .75;
    flex: none;
}

/* Na ožjih zaslonih ostane v traku samo gumb za jezik/državo — kot doslej.
   (Pravilo `.top-usp{display:none}` v @media 900px ima nižjo specifičnost od
   `.topLine .moto > .top-usp`, zato ga je treba ponoviti tu.) */
/* Na ožjih zaslonih odpadeta samo povezavi desno — prednosti LEVO ostanejo
   (25.8.2026, na željo naročnika: prostora je dovolj). */
@media (max-width: 900px) {
    .topLine .top-links {
        display: none;
    }
}

/* povezavi desno — isti krogec z enakim razmikom na obeh straneh */
.topLine .top-links {
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
}

.topLine .top-links .top-link + .top-link::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 4px;
    margin-right: var(--s-2);
    vertical-align: middle;
    border-radius: 50%;
    background: #fff;
    opacity: .75;
}

.topLine .top-link {
    color: rgba(255, 255, 255, .82);
    text-decoration: none;
}

.topLine .top-link:hover {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.topLine .sIcon {
    width: 16px;
    height: 16px;
    flex: none;
    background: url(../images/_body/delivery.svg) center/contain no-repeat;
    filter: brightness(0) invert(1);
    opacity: .9;
}

.topLine .up {
    display: flex;
    align-items: center;
    gap: var(--s-5);
}

.topLine a {
    color: rgba(255, 255, 255, .85);
}

.topLine a:hover {
    color: #fff;
}

/* akcije v glavi: prijava + košarica */
.header-actions {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    flex: none;
    margin-left: auto;
}

.topLine .up {
    display: flex;
    align-items: center;
    gap: var(--s-5);
}

.top-usp {
    color: rgba(255, 255, 255, .62);
}

/* SPREMEMBA 25.8.2026 (Tobaccostuff, 3. krog): prijava kot obrobljen gumb
   (prej gola povezava s sivim hoverjem), ob hoverju oranžna obroba. */
.lgn-link {
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    height: 40px;
    padding: 0 var(--s-4);
    border: 1px solid var(--line);
    border-radius: var(--r-full);
    background: var(--surface);
    font-size: var(--fs-sm);
    font-weight: 500;
    color: var(--ink-2);
    transition: border-color .16s var(--ease), color .16s var(--ease), background .16s var(--ease);
}

.lgn-link:hover {
    border-color: var(--brand);
    background: var(--brand-tint);
    color: var(--ink);
}

/* nova ikona: glava z rameni v krogu (prej sama glava z rameni) */
.ico-user {
    width: 19px;
    height: 19px;
    flex: none;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23241f1a' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='9.6' r='3.1'/%3E%3Cpath d='M5.8 19.4a7.6 7.6 0 0 1 12.4 0'/%3E%3C/svg%3E") center/contain no-repeat;
}

.sBag {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    min-width: 62px;
    height: 40px;
    padding: 0 var(--s-4) 0 38px;
    border-radius: var(--r-full);
    background: var(--ink);
    color: #fff;
    font-size: var(--fs-sm);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    cursor: pointer;
    transition: background .16s var(--ease), transform .12s var(--ease);
}

.sBag::before {
    content: "";
    position: absolute;
    left: 14px;
    width: 17px;
    height: 17px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E") center/contain no-repeat;
}

.sBag:hover {
    background: #000;
    color: #fff;
}

.sBag.is-bump {
    animation: bump .4s var(--ease);
}

/* SPREMEMBA 25.8.2026: ob številu kosov v košarici je tudi znesek
   (markup v header.php: .sBag-n + .sBag-sum, osvežuje ga shop.js). */
.sBag {
    gap: var(--s-2);
    justify-content: center;
}

.sBag .sBag-sum {
    padding-left: var(--s-2);
    border-left: 1px solid rgba(255, 255, 255, .3);
    font-weight: 500;
    white-space: nowrap;
}

@media (max-width: 560px) {
    .sBag .sBag-sum {
        display: none; /* na telefonu ostane samo število kosov */
    }
}

@keyframes bump {
    0%, 100% { transform: scale(1); }
    35%      { transform: scale(1.16); }
}

/* glava predala z menijem */
.panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--s-5);
    padding-bottom: var(--s-4);
    border-bottom: 1px solid var(--line);
}

.panel-head .homeImg {
    height: 28px;
    margin: 0;
}

/* glavna glava */
/* SPREMEMBA 25.8.2026 (Tobaccostuff, 3. krog): glava spet ENOVRSTIČNA
   (poskus z dvema vrsticama opuščen na željo naročnika), logotip večji. */
.header {
    position: sticky;
    top: 0;
    z-index: 60;
    display: flex;
    align-items: center;
    gap: var(--s-6);
    min-height: var(--header-h);
    padding-inline: var(--s-5);
    background: rgba(255, 255, 255, .88);
    backdrop-filter: saturate(180%) blur(12px);
    -webkit-backdrop-filter: saturate(180%) blur(12px);
    border-bottom: 1px solid var(--line);
}

.header .logo img {
    height: 46px;
    width: auto;
}

/* =====================================================================
   Izbira jezika in države (20.8.2026)
   Okno v HTML NE obstaja — zgradi ga scripts_js/prefs.js po nalaganju,
   da izvorna koda strani ostane brez ovire pred vsebino.
   ===================================================================== */
.pref-overlay {
    position: fixed;
    inset: 0;
    z-index: 200;
    display: none;
    align-items: center;
    justify-content: center;
    padding: var(--s-5);
    /* toplo zatemnjeno ozadje (prej hladno rgba(18,21,26,.45)) */
    background: rgba(26, 17, 10, .52);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}

.pref-overlay.is-open {
    display: flex;
    animation: prefIn .18s var(--ease);
}

@keyframes prefIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* 25.8.2026: okno je bilo belo in nevtralno — zdaj nosi znamko: topla
   gradientna podlaga (ista kot hero in izpostavi), bordo trak čez vrh in
   oranžna črtica pod naslovom, kot pri naslovih sekcij. */
.pref-box {
    position: relative;
    width: 100%;
    max-width: 420px;
    padding: var(--s-7) var(--s-6) var(--s-6);
    background: var(--grad-warm);
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(26, 17, 10, .34);
    text-align: center;
}

/* bordo trak čez vrh — zrcali vrhnji trak strani (.topLine) */
.pref-box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--brand-deep) 0%, var(--brand-deep-2) 55%, var(--brand) 100%);
}

.pref-close {
    position: absolute;
    top: var(--s-3);
    right: var(--s-3);
    width: 32px;
    height: 32px;
    padding: 0;
    background: none;
    border: 0;
    border-radius: var(--r-full);
    font-size: 22px;
    line-height: 1;
    color: var(--ink-4);
    cursor: pointer;
}

.pref-close:hover {
    background: var(--brand-tint);
    color: var(--brand-dark);
}

.pref-title {
    margin: 0 0 var(--s-3);
    font-size: var(--fs-xl);
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1.25;
}

.pref-title::after {
    content: "";
    display: block;
    width: 40px;
    height: 3px;
    margin: var(--s-3) auto 0;
    border-radius: var(--r-sm);
    background: var(--brand);
}

.pref-sub {
    margin: 0 0 var(--s-6);
    font-size: var(--fs-sm);
    line-height: 1.55;
    color: var(--ink-3);
}

.pref-field {
    margin-bottom: var(--s-5);
    text-align: left;
}

.pref-label {
    display: block;
    margin-bottom: var(--s-2);
    font-size: var(--fs-sm);
    font-weight: 500;
    color: var(--ink-2);
}

.pref-langs {
    display: flex;
    gap: var(--s-2);
}

.pref-lang {
    flex: 1;
    height: 44px;
    padding: 0 var(--s-3);
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--r);
    font-family: inherit;
    font-size: var(--fs-sm);
    font-weight: 600;
    letter-spacing: .04em;
    color: var(--ink-2);
    cursor: pointer;
    transition: border-color .16s var(--ease), background .16s var(--ease), color .16s var(--ease);
}

.pref-lang:hover {
    background: var(--brand-tint);
    border-color: var(--brand);
    color: var(--brand-dark);
}

/* izbran jezik je oranžen (prej ogljeno črn) */
.pref-lang.is-active {
    background: var(--brand);
    border-color: var(--brand);
    color: #fff;
}

/* spustni seznam držav naj ostane bel na topli podlagi */
.pref-box select {
    background-color: var(--surface);
}

.pref-box .pref-ok {
    margin-top: var(--s-2);
}

/* med odprtim oknom stran ne drsi */
body.pref-lock {
    overflow: hidden;
}

/* gumb v zgornji vrstici za ponovno odpiranje */
.top-pref {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0;
    background: none;
    border: 0;
    font-family: inherit;
    font-size: inherit;
    color: inherit;
    cursor: pointer;
}

/* Gumb izriše header.php na vsaki strani, viden pa naj bo šele, ko ga
   prefs.js oživi (odstrani `hidden`). Brez tega pravila ga `display`
   zgoraj prikaže tudi tam, kjer skripta ni naložena — in klik ne naredi
   nič. Prav to se je dogajalo na blagajni do 21.8.2026. */
.top-pref[hidden] {
    display: none;
}

.top-pref:hover {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* oznaka trenutnega jezika ob globusu */
.pref-lang-tag {
    padding: 1px 5px;
    border: 1px solid currentColor;
    border-radius: 3px;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .06em;
    opacity: .85;
}

.ico-globe {
    width: 13px;
    height: 13px;
    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='%23000' stroke-width='1.8'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3a15 15 0 010 18a15 15 0 010-18'/%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='%23000' stroke-width='1.8'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3a15 15 0 010 18a15 15 0 010-18'/%3E%3C/svg%3E") center/contain no-repeat;
}

@media (max-width: 620px) {
    .pref-box {
        padding: var(--s-6) var(--s-5) var(--s-5);
    }
}


/* preklop jezika (20.8.2026) */
.lang-switch {
    display: flex;
    align-items: center;
    gap: 2px;
    padding: 2px;
    background: var(--bg-2);
    border-radius: var(--r-full);
}

.lang-switch a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    height: 26px;
    padding: 0 var(--s-2);
    border-radius: var(--r-full);
    font-size: var(--fs-xs);
    font-weight: 600;
    letter-spacing: .04em;
    color: var(--ink-3);
    text-decoration: none;
    transition: background .16s var(--ease), color .16s var(--ease);
}

.lang-switch a:hover {
    color: var(--ink);
}

.lang-switch a.is-active {
    background: var(--ink);
    color: #fff;
}

@media (max-width: 620px) {
    .lang-switch a {
        min-width: 26px;
        height: 24px;
        padding: 0 6px;
    }
}

.main-navi {
    flex: 1;
    display: flex;
    justify-content: center;
}

ul.navigation {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 0;
    margin: 0;
    max-width: 100%;
}

/* na ožjih zaslonih raje vodoravni drsnik kot prelom v dve vrstici */
@media (max-width: 1340px) {
    .main-navi {
        overflow-x: auto;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .main-navi::-webkit-scrollbar {
        display: none;
    }

    ul.navigation {
        justify-content: flex-start;
    }
}

ul.navigation > li {
    position: relative;
    margin: 0;
    list-style: none;
}

/* SPREMEMBA 25.8.2026 (Tobaccostuff, 3. krog): povezave spet v svetli glavi,
   a drugačne kot pri ROFI — verzalke v Archivo; hover z oranžno podčrtavo,
   ki zraste z leve; aktivna kategorija na oranžno tonirani podlagi. */
ul.navigation > li > a {
    position: relative;
    display: block;
    padding: 10px var(--s-3);
    border-radius: var(--r-sm) var(--r-sm) 0 0;
    font-family: var(--font-head);
    font-size: var(--fs-sm);
    font-weight: 600;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--ink-2);
    white-space: nowrap;
    transition: color .16s var(--ease), background .16s var(--ease);
}

ul.navigation > li > a::after {
    content: "";
    position: absolute;
    left: var(--s-3);
    right: var(--s-3);
    bottom: 2px;
    height: 2px;
    background: var(--brand);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .2s var(--ease);
}

ul.navigation > li > a:hover {
    color: var(--ink);
}

ul.navigation > li > a:hover::after {
    transform: scaleX(1);
}

ul.navigation > li.act > a {
    color: var(--ink);
    background: var(--brand-tint);
}

ul.navigation > li.act > a::after {
    transform: scaleX(1);
}

/* spustni podmeni */
ul.submenuHover {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate(-50%, 6px);
    min-width: 210px;
    padding: var(--s-2);
    margin: 0;
    background: var(--surface);
    border: 1px solid var(--line);
    border-top: 3px solid var(--brand);
    border-radius: 0 0 var(--r) var(--r);
    box-shadow: var(--shadow-lg);
    opacity: 0;
    visibility: hidden;
    transition: opacity .18s var(--ease), transform .18s var(--ease), visibility .18s;
}

ul.navigation > li:hover ul.submenuHover {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}

ul.submenuHover li {
    margin: 0;
    list-style: none;
}

ul.submenuHover a {
    display: block;
    padding: var(--s-2) var(--s-3);
    border-radius: var(--r-sm);
    font-size: var(--fs-sm);
    color: var(--ink-2);
}

ul.submenuHover a:hover {
    background: var(--bg-2);
    color: var(--ink);
}

/* mobilni preklopnik */
.responsive-nav {
    display: none;
    cursor: pointer;
    padding: var(--s-2);
}

.responsive-nav img {
    width: 22px;
    height: 22px;
}

.panel {
    position: fixed;
    inset: 0 0 0 auto;
    z-index: 90;
    width: min(360px, 86vw);
    padding: var(--s-7) var(--s-5) var(--s-5);
    background: var(--surface);
    box-shadow: var(--shadow-xl);
    transform: translateX(101%);
    transition: transform .28s var(--ease);
    overflow-y: auto;
    /* stolpec (21.8.2026): povezave zgoraj, prijava in jezik na dnu */
    display: flex;
    flex-direction: column;
}

.panel.panelVis {
    transform: translateX(0);
}

.panel ul {
    margin: 0;
}

.panel li {
    list-style: none;
    margin: 0;
    border-bottom: 1px solid var(--line-2);
}

.panel li a {
    display: block;
    padding: var(--s-4) var(--s-1);
    font-size: var(--fs-md);
    font-weight: 500;
    color: var(--ink);
}

.panel li a:hover {
    color: var(--brand-dark);
}

.panel .homeImg {
    height: 30px;
    margin-inline: auto;
}

/* prekrivalo za predal in panel */
.overLay {
    position: fixed;
    inset: 0;
    z-index: 80;
    background: rgba(18, 21, 26, .42);
    backdrop-filter: blur(2px);
    opacity: 0;
    visibility: hidden;
    transition: opacity .24s var(--ease), visibility .24s;
}

.overLay.is-on {
    opacity: 1;
    visibility: visible;
}

/* drobtinice */
.breadcrumb,
.bread {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--s-2);
    padding-block: var(--s-5) 0;
    font-size: var(--fs-xs);
    color: var(--ink-3);
}

.breadcrumb a:hover,
.bread a:hover {
    color: var(--ink);
}


/* =====================================================================
   08 NOGA
   ===================================================================== */
.footer {
    margin-top: var(--s-9);
    padding: var(--s-8) var(--s-5) var(--s-5);
    background: var(--ink);
    color: rgba(255, 255, 255, .7);
    font-size: var(--fs-sm);
}

.footer > * {
    max-width: var(--container);
    margin-inline: auto;
}

.footer .cInfo {
    color: #fff;
    font-size: var(--fs-md);
    font-weight: 600;
    letter-spacing: -.01em;
    margin-bottom: var(--s-5);
}

.footer .cInfo p {
    font-size: var(--fs-sm);
    font-weight: 400;
    color: rgba(255, 255, 255, .65);
    margin: var(--s-2) 0 0;
}

.footer .fNavi {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-2) var(--s-4);
    padding-bottom: var(--s-6);
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    line-height: 2;
}

.footer .fNavi a {
    color: rgba(255, 255, 255, .7);
}

.footer .fNavi a:hover {
    color: #fff;
}

.footer .social {
    display: flex;
    gap: var(--s-3);
    padding-block: var(--s-5);
}

.footer .social a {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: var(--r);
    background: rgba(255, 255, 255, .08);
    transition: background .18s var(--ease);
}

.footer .social a:hover {
    background: var(--brand);
}

.footer .social img {
    width: 17px;
    height: 17px;
    filter: brightness(0) invert(1);
    opacity: .85;
}

.footer .pgEnd {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--s-3);
    padding-top: var(--s-5);
    border-top: 1px solid rgba(255, 255, 255, .12);
    color: rgba(255, 255, 255, .45);
}

.footer .pgEnd font {
    font-size: var(--fs-xs) !important;
}

.footer .pgEnd a {
    color: rgba(255, 255, 255, .55);
    font-size: var(--fs-xs) !important;
}

.footer .pgEnd a:hover {
    color: #fff;
}

/* gumb na vrh */
#scroller {
    position: fixed;
    right: var(--s-5);
    bottom: var(--s-5);
    z-index: 70;
    display: none;
    width: 42px;
    height: 42px;
    border-radius: var(--r-full);
    background: var(--surface) url(../images/_body/top.svg) center/16px no-repeat;
    border: 1px solid var(--line);
    box-shadow: var(--shadow);
    cursor: pointer;
}

#scroller:hover {
    border-color: var(--ink);
}

/* piškotkov trak */
.cookie-info,
#cookieInfo {
    position: fixed;
    left: 50%;
    bottom: var(--s-4);
    transform: translateX(-50%);
    z-index: 75;
    width: min(760px, calc(100% - 32px));
    padding: var(--s-4) var(--s-5);
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--r);
    box-shadow: var(--shadow-lg);
    font-size: var(--fs-sm);
    color: var(--ink-2);
    text-align: center;
}


/* =====================================================================
   09 DOMAČA STRAN
   ===================================================================== */
/* ODSTRANJENO 20.8.2026: tu je bil star blok `.hero` / `.hero-inner`,
   ki ga nobena predloga ni uporabljala (mrtva koda iz prve prenove).
   Ko je hero slider dobil `class="hero"`, je `display:grid` in
   `.hero img { position:absolute }` iz tega bloka razbil postavitev —
   rezine so se skrčile na širino 0. Dejanska pravila so v razdelku 09b. */

/* pas z zaupanjem */
.trust {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--s-5);
    max-width: var(--container);
    margin: 0 auto;
    padding: var(--s-6) var(--s-5);
}

.trust > div,
.quaters > div {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    font-size: var(--fs-sm);
    font-weight: 500;
    color: var(--ink-2);
}

.trust img,
.quaters img {
    width: 24px;
    height: 24px;
    flex: none;
}

/* izpostavljene kategorije */
.izpostave,
.cat-tiles {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--s-4);
    max-width: var(--container);
    margin-inline: auto;
    padding-inline: var(--s-5);
}

.cat-tile {
    position: relative;
    display: block;
    aspect-ratio: 4 / 5;
    border-radius: var(--r-lg);
    overflow: hidden;
    background: var(--bg-2);
}

.cat-tile img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s var(--ease);
}

.cat-tile:hover img {
    transform: scale(1.04);
}

.cat-tile::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(18, 21, 26, .6) 0%, rgba(18, 21, 26, 0) 55%);
}

.cat-tile span {
    position: absolute;
    left: var(--s-4);
    bottom: var(--s-4);
    z-index: 2;
    color: #fff;
    font-size: var(--fs-lg);
    font-weight: 600;
    letter-spacing: -.01em;
}


/* =====================================================================
   10 KATALOG
   ===================================================================== */
.catalog-head {
    max-width: var(--container);
    margin: 0 auto;
    padding: var(--s-6) var(--s-5) var(--s-5);
    text-align: center;
}

.catalog-head h1 {
    font-size: clamp(1.75rem, 3.5vw, var(--fs-3xl));
    letter-spacing: -.03em;
}

.catalog-head .lead {
    max-width: 620px;
    margin: var(--s-3) auto 0;
    color: var(--ink-3);
}

/* filtri */
/* OPOMBA: ta blok povozi poznejsi razdelek »17.4 filtri« na koncu datoteke.
   Prave vrednosti so tam. */
.filters {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--s-2);
    max-width: var(--container);
    margin: 0 auto var(--s-6);
    padding-inline: var(--s-5);
}

.filters .filter a,
.filter-chip {
    display: inline-flex;
    align-items: center;
    height: 42px;
    padding: 0 var(--s-5);
    border: 1px solid var(--line);
    border-radius: var(--r-full);
    background: var(--surface);
    font-size: var(--fs-sm);
    font-weight: 500;
    white-space: nowrap;
    color: var(--ink-2);
    transition: all .16s var(--ease);
}

.filters .filter a:hover {
    border-color: var(--ink);
    color: var(--ink);
}

.filters .filter.actF a {
    background: var(--ink);
    border-color: var(--ink);
    color: #fff;
}

/* mreža izdelkov */
.product-list,
.products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: var(--s-5);
    max-width: var(--container);
    margin-inline: auto;
    padding-inline: var(--s-5);
}

/* kartica izdelka */
.product-item {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--surface);
    border: 1px solid transparent;
    border-radius: var(--r-lg);
    overflow: hidden;
    transition: border-color .2s var(--ease), box-shadow .2s var(--ease), transform .2s var(--ease);
}

.product-item:hover {
    border-color: var(--line);
    box-shadow: var(--shadow);
    transform: translateY(-2px);
}

.product-item-image {
    position: relative;
    aspect-ratio: 1 / 1;
    background: var(--bg-2);
    overflow: hidden;
}

.product-item-image a {
    display: block;
    height: 100%;
}

.product-item-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: var(--s-4);
    transition: transform .45s var(--ease);
}

.product-item:hover .product-item-image img {
    transform: scale(1.05);
}

/* oznake */
.product-item .akc,
.product-item .status,
.badge {
    position: absolute;
    top: var(--s-3);
    z-index: 3;
    display: inline-flex;
    align-items: center;
    height: 24px;
    padding: 0 var(--s-3);
    border-radius: var(--r-full);
    font-size: var(--fs-xs);
    font-weight: 600;
    letter-spacing: .01em;
}

.product-item .akc,
.badge-sale {
    right: var(--s-3);
    background: var(--sale);
    color: #fff;
}

.product-item .status,
.badge-status {
    left: var(--s-3);
    background: var(--ink);
    color: #fff;
}

/* pilula »Ni na zalogi« — na sliki zgoraj levo (25.8.2026);
   ko je izpisana, statusna oznaka odpade (product_template.php) */
.product-item-image .stock-pill {
    position: absolute;
    top: var(--s-3);
    left: var(--s-3);
    z-index: 3;
    display: inline-flex;
    align-items: center;
    height: 24px;
    padding: 0 var(--s-3);
    border-radius: var(--r-full);
    background: var(--brand-deep);
    color: #fff;
    font-size: var(--fs-xs);
    font-weight: 600;
    letter-spacing: .01em;
}

.product-item-details {
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: var(--s-2);
    padding: var(--s-4);
}

.product-title-info h3 {
    font-size: var(--fs-base);
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: -.005em;
}

.product-title-info h3 a:hover {
    color: var(--brand-dark);
}

/* šifra je za kupca šum — skrita, ostane za SEO/branje */
.product-title-info small {
    display: none;
}

.product-price {
    display: flex;
    align-items: baseline;
    gap: var(--s-2);
    margin-top: auto;
    padding-top: var(--s-2);
    font-size: var(--fs-lg);
    font-weight: 600;
    letter-spacing: -.02em;
    font-variant-numeric: tabular-nums;
}

/* IKONA OB CENI (25.8.2026): cenovna etiketa v oranžni — na karticah in
   na strani izdelka (spodaj .showDesc-price::before). */
.product-price::before,
.showDesc-price::before {
    content: "";
    flex: none;
    align-self: center;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e87500' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12.6 2.9 21 11.3a2 2 0 0 1 0 2.8l-6.9 6.9a2 2 0 0 1-2.8 0L2.9 12.6A2 2 0 0 1 2.3 11.2V4.3a2 2 0 0 1 2-2h6.9a2 2 0 0 1 1.4.6z'/%3E%3Ccircle cx='7.6' cy='7.6' r='1.4' fill='%23e87500' stroke='none'/%3E%3C/svg%3E") center/contain no-repeat;
}

.product-price::before {
    width: 17px;
    height: 17px;
}

.product-price .old,
.product-price s,
.staraCena {
    font-size: var(--fs-sm);
    font-weight: 400;
    color: var(--ink-4);
    text-decoration: line-through;
}

/* hitro dodajanje na kartici */
.product-item .quick-add {
    display: flex;
    gap: var(--s-2);
    margin-top: var(--s-2);
}

.product-item .quick-add .btn {
    flex: 1;
    height: 40px;
    font-size: var(--fs-sm);
}

.product-item .button-min {
    height: 40px;
    font-size: var(--fs-sm);
    width: 100%;
}

/* prazen rezultat */
.empty-state {
    max-width: 460px;
    margin: var(--s-8) auto;
    text-align: center;
    color: var(--ink-3);
}


/* =====================================================================
   11 STRAN IZDELKA
   ===================================================================== */
.product-show {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: var(--s-8);
    max-width: var(--container);
    margin: var(--s-6) auto 0;
    padding-inline: var(--s-5);
    align-items: start;
}

/* SPREMEMBA 25.8.2026: stolpec s slikami je LEPLJIV — slika ostane vidna,
   ko se opis pomika (.product-show ima align-items:start, zato deluje).
   Pod 900 px je postavitev enostolpčna in lepljivost ne bi imela smisla. */
.showImg {
    position: sticky;
    top: calc(var(--header-h) + var(--s-4));
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    overflow: hidden;
}

/* vgrajeni predvajalnik v velikem oknu galerije (25.8.2026, 2. krog) —
   pokaže se namesto velike slike, ko je izbrana video sličica */
.gal-video {
    padding: var(--s-5) var(--s-5) var(--s-3);
}

.gal-video-box {
    position: relative;
    aspect-ratio: 16 / 9;
    background: #000;
    border-radius: var(--r);
    overflow: hidden;
}

.gal-video-box iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* rezerva za starostno omejene posnetke, ki jih vgrajeni YouTube zavrne */
.gal-video-ext {
    display: inline-block;
    margin-top: var(--s-2);
    font-size: var(--fs-xs);
    color: var(--ink-3);
}

.gal-video-ext:hover {
    color: var(--brand-dark);
}

.showImg > a,
.showImg img {
    display: block;
    width: 100%;
}

.showImg img {
    aspect-ratio: 1 / 1;
    object-fit: contain;
    padding: var(--s-6);
}

.showImg .akc,
.showImg .status {
    position: absolute;
    top: var(--s-4);
}

.showImg .akc {
    right: var(--s-4);
    background: var(--sale);
    color: #fff;
    padding: 0 var(--s-3);
    height: 26px;
    display: inline-flex;
    align-items: center;
    border-radius: var(--r-full);
    font-size: var(--fs-xs);
    font-weight: 600;
    z-index: 3;
}

.showImg .status {
    left: var(--s-4);
    background: var(--ink);
    color: #fff;
    padding: 0 var(--s-3);
    height: 26px;
    display: inline-flex;
    align-items: center;
    border-radius: var(--r-full);
    font-size: var(--fs-xs);
    font-weight: 600;
    z-index: 3;
}

/* galerija sličic */
.gallery,
.showImg .gallery {
    display: flex;
    gap: var(--s-2);
    padding: 0 var(--s-4) var(--s-4);
}

.gallery a,
.gallery img {
    width: 64px;
    height: 64px;
    border-radius: var(--r-sm);
    border: 1px solid var(--line);
    object-fit: contain;
    background: var(--surface);
    padding: 4px;
}

.gallery a:hover img {
    border-color: var(--ink);
}

.showDesc {
    padding-top: var(--s-2);
}

.showDesc h1 {
    font-size: clamp(1.5rem, 3vw, var(--fs-2xl));
    letter-spacing: -.03em;
    margin-bottom: var(--s-3);
}

.showDesc > span {
    font-size: var(--fs-sm);
    color: var(--ink-3);
    margin-right: var(--s-1);
}

.showDesc-price {
    display: flex;
    align-items: baseline;
    gap: var(--s-3);
    margin: var(--s-4) 0;
    padding-bottom: var(--s-4);
    border-bottom: 1px solid var(--line);
    font-size: var(--fs-2xl);
    font-weight: 600;
    letter-spacing: -.03em;
    font-variant-numeric: tabular-nums;
}

/* ikona etikete ob veliki ceni (25.8.2026) — skupna definicija je pri
   .product-price::before */
.showDesc-price::before {
    width: 26px;
    height: 26px;
}

.showDesc-price .staraCena,
.showDesc-price s {
    font-size: var(--fs-lg);
    font-weight: 400;
    color: var(--ink-4);
    text-decoration: line-through;
}

/* izbira velikosti */

/* Stran izdelka izpiše <div class="product-options"><h4>Izberi velikost</h4>…>.
   Ta sklop prej ni imel sloga — h4 je dobil privzeto velikost brskalnika (16 px,
   krepko) in privzete odmike, zato je bil naslov prevelik in sklop stisnjen. */
.product-options {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--s-2);
    margin: var(--s-5) 0 var(--s-6);
}

.product-options h4 {
    flex: 0 0 100%;
    margin: 0 0 var(--s-1);
    font-size: var(--fs-sm);
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: .01em;
    color: var(--ink-3);
}

/* razmik med gumbi vodi mreža (gap), ne več lastni odmiki gumba */
.product-options .choose-option {
    margin: 0;
}

.velikosti,
.size-picker {
    margin-bottom: var(--s-5);
}

.velikosti > label,
.size-picker > label {
    font-size: var(--fs-sm);
    font-weight: 500;
    color: var(--ink-2);
    margin-bottom: var(--s-2);
    display: block;
}

.choose-option {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 68px;
    height: 42px;
    margin: 0 var(--s-2) var(--s-2) 0;
    padding: 0 var(--s-4);
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--r);
    font-size: var(--fs-sm);
    font-weight: 500;
    color: var(--ink-2);
    cursor: pointer;
    transition: all .16s var(--ease);
}

.choose-option:hover {
    border-color: var(--ink-4);
    color: var(--ink);
}

.choose-option.actOpt {
    background: var(--ink);
    border-color: var(--ink);
    color: #fff;
}

/* količina + dodaj */
.form-add .cFld,
.qty-row {
    display: flex;
    gap: var(--s-3);
    align-items: stretch;
}

.kolFlex,
.qty-stepper {
    display: inline-flex;
    align-items: center;
    height: 46px;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--r-full);
    overflow: hidden;
    flex: none;
}

.kolFlex .add,
.kolFlex .minus,
.qty-stepper button {
    display: grid;
    place-items: center;
    width: 42px;
    height: 100%;
    cursor: pointer;
    color: var(--ink-2);
    font-size: var(--fs-lg);
    line-height: 1;
    transition: background .16s var(--ease);
    user-select: none;
}

.kolFlex .add:hover,
.kolFlex .minus:hover,
.qty-stepper button:hover {
    background: var(--bg-2);
    color: var(--ink);
}

.kolFlex img {
    width: 11px;
    opacity: .6;
}

/* v izvornem HTML je "add" (gor) pred "minus" (dol) — vizualno obrnemo */
.kolFlex {
    flex-direction: row-reverse;
}

.product-qty,
.qty-stepper input {
    width: 46px;
    height: 100%;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    text-align: center;
    font-size: var(--fs-base);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.product-qty:focus {
    box-shadow: none;
}

.form-add .cFld > div:last-child {
    flex: 1;
}

.adToBasket {
    width: 100%;
}

/* zaloga */
.no-stock {
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    margin-top: var(--s-4);
    padding: var(--s-1) var(--s-3);
    border-radius: var(--r-full);
    background: var(--err-tint);
    color: var(--err);
    font-size: var(--fs-sm);
    font-weight: 500;
}

.no-stock.on-stock {
    background: var(--ok-tint);
    color: var(--ok);
}

.showDesc .tJust {
    margin-top: var(--s-6);
    padding-top: var(--s-5);
    border-top: 1px solid var(--line);
}

/* Seznami v opisu izdelka (25.8.2026): namesto pik oranžna kljukica v
   krogcu — velja za .tJust (stran izdelka), tudi znotraj harmonike. */
.tJust ul {
    margin: 0 0 var(--s-4);
    padding: 0;
}

.tJust ul li {
    position: relative;
    list-style: none;
    padding-left: 28px;
    margin-bottom: var(--s-2);
}

.tJust ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .18em;
    width: 17px;
    height: 17px;
    border-radius: var(--r-full);
    background: var(--brand-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23c05e00' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 8.4 2.6 2.6L12 5.6'/%3E%3C/svg%3E") center/10px no-repeat;
}

/* ostevilčeni seznami: oranžne številke, brez krogca */
.tJust ol {
    margin: 0 0 var(--s-4);
    padding: 0;
    counter-reset: tocke;
}

.tJust ol li {
    position: relative;
    list-style: none;
    padding-left: 28px;
    margin-bottom: var(--s-2);
    counter-increment: tocke;
}

.tJust ol li::before {
    content: counter(tocke) ".";
    position: absolute;
    left: 0;
    font-family: var(--font-head);
    font-weight: 700;
    color: var(--brand-dark);
}

/* Harmonika v opisu izdelka (25.8.2026): vsak <h2> razdelek postane
   <details class="desc-acc"> — pretvori opis_v_harmoniko(). */
.desc-acc {
    margin-top: var(--s-3);
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--r);
}

.desc-acc summary {
    position: relative;
    padding: var(--s-3) 44px var(--s-3) var(--s-4);
    cursor: pointer;
    list-style: none;
    font-family: var(--font-head);
    font-size: var(--fs-md);
    font-weight: 700;
    color: var(--ink);
    transition: color .16s var(--ease);
}

.desc-acc summary::-webkit-details-marker {
    display: none;
}

.desc-acc summary::after {
    content: "";
    position: absolute;
    right: var(--s-4);
    top: 50%;
    width: 8px;
    height: 8px;
    margin-top: -6px;
    border-right: 2px solid var(--brand);
    border-bottom: 2px solid var(--brand);
    transform: rotate(45deg);
    transition: transform .18s var(--ease);
}

.desc-acc[open] summary::after {
    transform: rotate(225deg);
    margin-top: -1px;
}

.desc-acc summary:hover {
    color: var(--brand-dark);
}

/* POPRAVEK 25.8.2026: vsebina se pogosto začne z golim besedilom (ne z
   odstavkom), zato margin-top na :first-child ni prijel — odmik daje
   padding vsebnika. */
.desc-acc-body {
    padding: var(--s-4);
    border-top: 1px solid var(--line-2);
}

/* Znamka in šifra pod naslovom (25.8.2026): znamka kot bordo značka,
   šifra kot pridušena oznaka — namesto golih vrstic »Znamka: … / Šifra: …«. */
.prod-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--s-2);
    margin-top: var(--s-2);
}

.prod-brand {
    display: inline-flex;
    align-items: center;
    height: 24px;
    padding: 0 var(--s-3);
    background: rgba(92, 16, 8, .07);
    border: 1px solid rgba(92, 16, 8, .18);
    border-radius: var(--r-full);
    font-family: var(--font-head);
    font-size: var(--fs-xs);
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--brand-deep);
}

.prod-sku {
    font-size: var(--fs-sm);
    color: var(--ink-4);
    font-variant-numeric: tabular-nums;
}

/* Povzetek izdelka nad ceno (25.8.2026) — poudarjen uvodni stavek
   (t_summary) z oranžnim robom. */
/* KOMPLET — kaj vsebuje in koliko kupec prihrani (27.8.2026) */
.prod-set {
    margin: var(--s-4) 0 0;
    padding: var(--s-4);
    background: var(--bg-2);
    border: 1px solid var(--line-2);
    border-radius: var(--r);
}

.prod-set-h {
    font-family: var(--font-head);
    font-size: var(--fs-sm);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--ink-2);
    margin-bottom: var(--s-2);
}

.prod-set-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: var(--s-1);
}

.prod-set-list li {
    display: flex;
    gap: var(--s-2);
    align-items: baseline;
    font-size: var(--fs-sm);
}

.prod-set-qty {
    flex: none;
    min-width: 24px;
    font-weight: 700;
    color: var(--brand-deep);
}

.prod-set-list a {
    color: var(--ink-2);
    text-decoration: none;
    border-bottom: 1px solid transparent;
}

.prod-set-list a:hover {
    color: var(--brand-dark);
    border-bottom-color: currentColor;
}

/* =====================================================================
   KOMPLET NA STRANI IZDELKA (27.8.2026, 2. krog)
   Sestavine s sličicami in cenami, spodaj račun: posamično → cena kompleta
   → prihranek. Popust je viden že ob ceni (prečrtana vsota + značka %).
   ===================================================================== */
/* cena kompleta — edini izpis cene na strani kompleta */
.set-calc-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--s-3);
    flex-wrap: wrap;
}

.set-calc-lbl > span {
    display: block;
    font-family: var(--font-head);
    font-size: var(--fs-sm);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--ink-2);
}

.set-calc-lbl small {
    display: block;
    margin-top: 2px;
    font-size: var(--fs-sm);
    color: var(--ink-4);
}

.set-calc-price {
    display: flex;
    align-items: center;
    gap: var(--s-3);
}

.set-price-now {
    font-size: var(--fs-2xl);
    font-weight: 600;
    letter-spacing: -.03em;
    font-variant-numeric: tabular-nums;
    color: var(--ink);
    line-height: 1.1;
}

.set-price-off {
    padding: 2px var(--s-3);
    border-radius: var(--r-full);
    background: var(--brand-deep);
    color: #fff;
    font-family: var(--font-head);
    font-size: var(--fs-sm);
    font-weight: 700;
    letter-spacing: .02em;
}

.set-box {
    margin: var(--s-4) 0 0;
    border: 1px solid var(--line);
    border-radius: var(--r);
    overflow: hidden;
    background: #fff;
}

.set-box-h {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--s-3);
    padding: var(--s-3) var(--s-4);
    background: var(--bg-2);
    border-bottom: 1px solid var(--line);
    font-family: var(--font-head);
    font-size: var(--fs-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--ink-2);
}

.set-box-h small {
    text-transform: none;
    letter-spacing: 0;
    font-weight: 500;
    font-size: var(--fs-xs);
    color: var(--ink-4);
}

.set-items {
    display: flex;
    align-items: stretch;
    gap: var(--s-2);
    padding: var(--s-4);
    flex-wrap: wrap;
}

.set-plus {
    align-self: center;
    flex: none;
    font-size: var(--fs-lg);
    font-weight: 300;
    color: var(--ink-4);
}

.set-item {
    flex: 1 1 140px;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
    padding: var(--s-2);
    border: 1px solid transparent;
    border-radius: var(--r-sm);
    text-decoration: none;
    color: inherit;
    transition: border-color .18s var(--ease), background .18s var(--ease);
}

.set-item:hover {
    border-color: var(--line-2);
    background: var(--bg-2);
}

.set-item-img {
    display: block;
    aspect-ratio: 4 / 3;
    max-height: 132px;
    background: var(--bg-2);
    border-radius: var(--r-sm);
    overflow: hidden;
}

.set-item-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    mix-blend-mode: multiply;
    padding: var(--s-2);
}

.set-item-name {
    display: block;
    font-size: var(--fs-sm);
    line-height: 1.35;
    color: var(--ink-2);
}

.set-item:hover .set-item-name {
    color: var(--brand-dark);
}

.set-item-price {
    display: block;
    margin-top: 2px;
    font-size: var(--fs-sm);
    font-weight: 700;
    color: var(--ink);
}

.set-item-price b {
    color: var(--brand-deep);
}

.set-calc {
    padding: var(--s-3) var(--s-4) var(--s-4);
    border-top: 1px solid var(--line);
    background: var(--bg-2);
}

.set-calc-old {
    text-decoration: line-through;
}

.set-calc-save {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    margin-top: var(--s-3);
    padding: var(--s-2) var(--s-3);
    border-radius: var(--r-sm);
    background: var(--brand-deep);
    color: #fff;
    font-size: var(--fs-sm);
}

.set-calc-save strong {
    font-family: var(--font-head);
    font-size: var(--fs-base);
    letter-spacing: .01em;
}

.set-calc-save-ico svg {
    width: 17px;
    height: 17px;
    display: block;
}

@media (max-width: 480px) {
    .set-items { padding: var(--s-3); }
    .set-item { flex-basis: 120px; }
}

/* »NA VOLJO TUDI V KOMPLETU« — pod oknom z dostavo (27.8.2026, 2. krog).
   Cela vrstica je povezava: sličica, naziv, cena s prečrtano vsoto in
   značko prihranka ter puščica. */
.prod-inset {
    margin: var(--s-4) 0 0;
}

.prod-inset-h {
    font-family: var(--font-head);
    font-size: var(--fs-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--ink-3);
    margin-bottom: var(--s-2);
}

.set-card {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    padding: var(--s-3);
    background: #fff;
    border: 1px solid var(--line);
    border-left: 3px solid var(--brand);
    border-radius: var(--r);
    text-decoration: none;
    color: inherit;
    transition: box-shadow .18s var(--ease), transform .18s var(--ease), border-color .18s var(--ease);
}

.set-card + .set-card {
    margin-top: var(--s-2);
}

.set-card:hover {
    border-color: var(--brand);
    box-shadow: var(--shadow);
    transform: translateY(-1px);
}

.set-card-img {
    flex: none;
    width: 62px;
    height: 62px;
    border-radius: var(--r-sm);
    background: var(--bg-2);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.set-card-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    mix-blend-mode: multiply;
    padding: 4px;
}

.set-card-txt {
    flex: 1 1 auto;
    min-width: 0;
}

.set-card-name {
    display: block;
    font-weight: 600;
    line-height: 1.35;
    color: var(--ink);
}

.set-card:hover .set-card-name {
    color: var(--brand-dark);
}

.set-card-sub {
    display: block;
    margin-top: 2px;
    font-size: var(--fs-xs);
    color: var(--ink-4);
}

.set-card-price {
    flex: none;
    text-align: right;
    line-height: 1.3;
}

.set-card-old {
    display: block;
    font-size: var(--fs-xs);
    color: var(--ink-4);
    text-decoration: line-through;
}

.set-card-now {
    display: block;
    font-weight: 700;
    font-size: var(--fs-base);
    color: var(--ink);
}

.set-card-save {
    display: inline-block;
    margin-top: 3px;
    padding: 1px var(--s-2);
    border-radius: var(--r-full);
    background: var(--brand-deep);
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}

.set-card-go {
    flex: none;
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--r-full);
    background: var(--brand-tint);
    color: var(--brand-dark);
    transition: background .18s var(--ease), transform .18s var(--ease);
}

.set-card-go svg { width: 15px; height: 15px; }

.set-card:hover .set-card-go {
    background: var(--brand);
    color: #fff;
    transform: translateX(2px);
}

@media (max-width: 480px) {
    .set-card-img { width: 48px; height: 48px; }
    .set-card-go { display: none; }
}

.prod-set-save {
    margin: var(--s-3) 0 0;
    padding-top: var(--s-3);
    border-top: 1px solid var(--line-2);
    font-size: var(--fs-sm);
    color: var(--ink-3);
}

.prod-set-save strong {
    color: var(--brand-deep);
}

/* opomba o najmanjši količini nakupa pod gumbom »V košarico« (27.8.2026) */
.prod-minq {
    margin: var(--s-3) 0 0;
    font-size: var(--fs-sm);
    color: var(--ink-3);
}

.prod-minq strong {
    color: var(--brand-deep);
    font-weight: 600;
}

.prod-lead {
    margin: var(--s-4) 0 0;
    padding: var(--s-3) var(--s-4);
    background: var(--brand-tint);
    border-left: 3px solid var(--brand);
    border-radius: var(--r);
    font-size: var(--fs-base);
    line-height: 1.6;
    font-weight: 500;
    color: var(--ink-2);
}

/* =====================================================================
   VSTOPNA STRAN 25.8.2026 — produktni hero + vrtiljaki kategorij
   ===================================================================== */
/* Hero v produktnem slogu: fotografije izdelkov so ~800 px in svetle,
   zato ne pokrivajo (cover) čez 1920 px — slika je VSEBOVANA desno na
   topli podlagi, besedilo levo v temni barvi (ne belo na prevleki). */
/* selektorji z .hero spredaj — izvirna hero pravila so NIŽE v datoteki
   in bi enako specifična tu zmagala po vrstnem redu */
.hero .hero-media {
    background: var(--grad-warm);
}

.hero .hero-media img,
.hero .hero-slide .hero-img {
    object-fit: contain;
    object-position: 78% center;
    padding: 4% 4% 4% 34%;
    height: clamp(320px, 42vw, 520px);
}

.hero .hero-media::after {
    display: none; /* temna prevleka ni več potrebna */
}

.hero .hero-title {
    color: var(--ink);
    text-shadow: none;
}

.hero .hero-text {
    color: var(--ink-2);
    text-shadow: none;
}

/* prednosti pod herojem — iste kartice kot na izdelku (.prod-perk),
   a v ENI vrsti; poudarjena 30-dnevna tu NE gre čez vso širino */
.hp-perks {
    display: grid;
    grid-template-columns: 1.25fr 1fr 1fr;
    gap: var(--s-4);
    max-width: var(--container);
    margin: var(--s-6) auto 0;
    padding-inline: var(--s-5);
}

.hp-perks .prod-perk-hero {
    grid-column: auto;
}

@media (max-width: 900px) {
    .hp-perks {
        grid-template-columns: 1fr;
        gap: var(--s-3);
    }
}

/* vrstica z vrtiljakom izdelkov kategorije */
.hp-row {
    max-width: var(--container);
    margin: var(--s-8) auto 0;
    padding-inline: var(--s-5);
}

.hp-row-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--s-4);
    margin-bottom: var(--s-4);
}

.hp-row-head h2 {
    font-size: var(--fs-2xl);
}

.hp-row-all {
    flex: none;
    font-size: var(--fs-sm);
    font-weight: 600;
    color: var(--brand-dark);
}

.hp-row-all:hover {
    color: var(--ink);
}

.hp-row-wrap {
    position: relative;
}

/* trak: vodoravni poteg s scroll-snap; kartice fiksne širine */
.product-list.hp-row-list {
    display: flex;
    flex-wrap: nowrap;
    gap: var(--s-4);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: var(--s-2);
}

.product-list.hp-row-list::-webkit-scrollbar {
    display: none;
}

.hp-row-list .product-item {
    flex: 0 0 250px;
    scroll-snap-align: start;
}

.hp-row-arr {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
    width: 40px;
    height: 40px;
    border-radius: var(--r-full);
    background: var(--surface);
    border: 1px solid var(--line);
    box-shadow: var(--shadow);
    cursor: pointer;
    transition: border-color .16s var(--ease), background .16s var(--ease);
}

.hp-row-arr::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 9px;
    height: 9px;
    border-right: 2px solid var(--ink-2);
    border-bottom: 2px solid var(--ink-2);
}

.hp-row-prev { left: -14px; }
.hp-row-next { right: -14px; }
.hp-row-prev::after { transform: translate(-30%, -50%) rotate(135deg); }
.hp-row-next::after { transform: translate(-70%, -50%) rotate(-45deg); }

.hp-row-arr:hover {
    border-color: var(--brand);
    background: var(--brand-tint);
}

@media (max-width: 700px) {
    .hp-row-arr { display: none; } /* na telefonu je poteg naraven */
    .hp-row-list .product-item { flex-basis: 210px; }
}

/* Kartici prednosti na strani izdelka (25.8.2026) — namesto štirih CMS
   »benefits«: varen nakup + 30-dnevna garancija (zastavica n_garancija). */
.prod-perks {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--s-3);
    margin-top: var(--s-5);
}

/* SPREMEMBA 25.8.2026 (2x): kartice v BORDO tonu znamke, da se ne tepejo
   z oranžnim gumbom »V košarico«. */
.prod-perk {
    display: flex;
    align-items: flex-start;
    gap: var(--s-3);
    padding: var(--s-4);
    background: rgba(92, 16, 8, .05);
    border: 1px solid rgba(92, 16, 8, .16);
    border-radius: var(--r);
}

.prod-perk-ico {
    flex: none;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: var(--r);
    background: var(--brand-deep);
    color: #fff;
}

.prod-perk-ico svg {
    width: 20px;
    height: 20px;
}

.prod-perk-txt {
    display: block;
    min-width: 0;
}

.prod-perk-txt strong {
    display: block;
    font-family: var(--font-head);
    font-size: var(--fs-base);
    font-weight: 700;
    line-height: 1.3;
    color: var(--ink);
}

.prod-perk-txt span {
    display: block;
    margin-top: 2px;
    font-size: var(--fs-xs);
    line-height: 1.5;
    color: var(--ink-2);
}

/* poudarjena kartica (25.8.2026, 2. krog): 30-dnevna garancija čez vso
   širino — polna BORDO podlaga (ne oranžna, da ne tekmuje z nakupnim gumbom) */
.prod-perk-hero {
    grid-column: 1 / -1;
    background: var(--brand-deep);
    border-color: var(--brand-deep);
}

.prod-perk-hero .prod-perk-ico {
    background: rgba(255, 255, 255, .92);
    color: var(--brand-deep);
}

.prod-perk-hero .prod-perk-txt strong {
    color: #fff;
    font-size: var(--fs-lg);
}

.prod-perk-hero .prod-perk-txt span {
    color: rgba(255, 255, 255, .88);
}

/* Zakonsko opozorilo pod opisom (25.8.2026) — diskreten okvir z znakom 18+.
   Besedili sta konstanti prod_opozorilo_18 in prod_opozorilo_zdravje. */
.prod-legal {
    display: flex;
    align-items: flex-start;
    gap: var(--s-3);
    margin-top: var(--s-5);
    padding: var(--s-4);
    background: var(--bg-2);
    border: 1px solid var(--line);
    border-radius: var(--r);
}

.prod-legal-badge {
    flex: none;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 2px solid var(--ink-3);
    border-radius: var(--r-full);
    font-family: var(--font-head);
    font-size: 12px;
    font-weight: 700;
    color: var(--ink-3);
}

.prod-legal p {
    margin: 0;
    align-self: center;
    font-size: var(--fs-sm);
    line-height: 1.55;
    color: var(--ink-3);
}

.prod-legal-min {
    display: block;
    margin-top: 2px;
    font-size: var(--fs-xs);
    color: var(--ink-4);
}

/* »Vas zanima več o izdelku?« (25.8.2026) — zložljiv sklop s kontaktnim
   obrazcem (sites/templates/obrazec.php). <details> deluje brez JS. */
.prod-ask {
    margin-top: var(--s-5);
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--r);
}

.prod-ask summary {
    position: relative;
    display: flex;
    align-items: center;
    gap: var(--s-3);
    padding: var(--s-4) 52px var(--s-4) var(--s-4);
    cursor: pointer;
    list-style: none;
}

/* okrogla značka z oblačkom — isti slog kot .prod-legal-badge (18+) */
.prod-ask-badge {
    flex: none;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 2px solid var(--ink-3);
    border-radius: var(--r-full);
    color: var(--ink-3);
    transition: border-color .16s var(--ease), color .16s var(--ease);
}

.prod-ask-badge svg {
    width: 17px;
    height: 17px;
}

.prod-ask summary:hover .prod-ask-badge {
    border-color: var(--brand);
    color: var(--brand);
}

.prod-ask-txt {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.prod-ask summary::-webkit-details-marker {
    display: none;
}

.prod-ask summary::after {
    content: "";
    position: absolute;
    right: var(--s-5);
    top: 50%;
    width: 9px;
    height: 9px;
    margin-top: -7px;
    border-right: 2px solid var(--brand);
    border-bottom: 2px solid var(--brand);
    transform: rotate(45deg);
    transition: transform .18s var(--ease);
}

.prod-ask[open] summary::after {
    transform: rotate(225deg);
    margin-top: -2px;
}

.prod-ask summary:hover .prod-ask-t {
    color: var(--brand-dark);
}

.prod-ask-t {
    font-family: var(--font-head);
    font-weight: 700;
    color: var(--ink);
    transition: color .16s var(--ease);
}

.prod-ask-s {
    font-size: var(--fs-sm);
    color: var(--ink-3);
}

.prod-ask-form {
    padding: var(--s-5);
    border-top: 1px solid var(--line-2);
}

/* GUMBA V ZLOŽLJIVIH OBRAZCIH (25.8.2026)
   Prej sta bila ogljeno črna in tiščala tik ob polje nad njima. Zdaj sta
   oranžna (kot ostale glavne akcije), z ikono in ločena s tanko črto —
   velja za oceno izdelka in za povpraševanje. */
.prod-ask-form .form-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: var(--s-5);
    padding-top: var(--s-4);
    border-top: 1px solid var(--line-2);
}

/* gumb z ikono — ikona prevzame barvo besedila, razmik da .btn (gap) */
.btn-ico svg {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
}

@media (max-width: 620px) {
    .prod-ask-form {
        padding: var(--s-4);
    }

    /* na telefonu naj bo gumb čez vso širino — lažje ga je zadeti */
    .prod-ask-form .form-actions {
        justify-content: stretch;
    }

    .prod-ask-form .form-actions .btn {
        width: 100%;
    }
}

/* =====================================================================
   OCENE IN MNENJA (25.8.2026) — sekcija .rev na strani izdelka
   ===================================================================== */
.rev {
    margin-top: var(--s-6);
    padding-top: var(--s-5);
    border-top: 1px solid var(--line);
}

.rev-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--s-2) var(--s-4);
    margin-bottom: var(--s-4);
}

.rev-head h2 {
    margin: 0;
    font-size: var(--fs-xl);
}

.rev-avg {
    display: inline-flex;
    align-items: baseline;
    gap: var(--s-2);
    font-variant-numeric: tabular-nums;
}

.rev-avg strong {
    font-family: var(--font-head);
    font-size: var(--fs-lg);
}

.rev-avg-od,
.rev-avg-st {
    color: var(--ink-3);
    font-size: var(--fs-sm);
}

/* zvezdice: siva vrsta + oranžna prevleka, široka avg/5 */
.rev-stars {
    position: relative;
    display: inline-block;
    color: var(--line);
    font-size: var(--fs-md);
    line-height: 1;
    letter-spacing: 2px;
    white-space: nowrap;
}

.rev-stars-on {
    position: absolute;
    left: 0;
    top: 0;
    overflow: hidden;
    color: var(--brand);
}

.rev-none {
    color: var(--ink-3);
    font-size: var(--fs-sm);
}

.rev-list {
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
    margin-bottom: var(--s-4);
}

.rev-item {
    display: flex;
    gap: var(--s-3);
    padding: var(--s-4);
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--r);
}

.rev-avatar {
    flex: none;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: var(--r-full);
    background: var(--brand-tint);
    color: var(--brand-dark);
    font-family: var(--font-head);
    font-weight: 700;
}

.rev-body {
    min-width: 0;
}

.rev-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--s-2) var(--s-3);
    margin-bottom: var(--s-1);
}

.rev-meta time {
    color: var(--ink-4);
    font-size: var(--fs-xs);
}

.rev-body p {
    margin: 0;
    font-size: var(--fs-sm);
    line-height: 1.6;
    color: var(--ink-2);
}

.rev-done {
    padding: var(--s-3) var(--s-4);
    background: var(--ok-tint);
    border-radius: var(--r);
    color: var(--ok);
    font-size: var(--fs-sm);
    font-weight: 500;
}

/* izbirnik ocene: radii 5..1 + row-reverse, da hover/izbira pobarva
   zvezdice z leve */
.rev-pick-row {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    margin-bottom: var(--s-4);
}

.rev-pick-l {
    font-size: var(--fs-sm);
    font-weight: 500;
    color: var(--ink-2);
}

.rev-pick {
    display: inline-flex;
    flex-direction: row-reverse;
}

.rev-pick input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.rev-pick label {
    padding: 0 3px;
    font-size: 26px;
    line-height: 1;
    color: var(--line);
    cursor: pointer;
    transition: color .12s var(--ease), transform .12s var(--ease);
}

.rev-pick label:hover,
.rev-pick label:hover ~ label,
.rev-pick input:checked ~ label {
    color: var(--brand);
}

.rev-pick label:hover {
    transform: scale(1.15);
}

/* Vrstica zaloge + rok dobave: prej sta se stiskali v isto višino brez zraka. */
.showDesc .no-stock + span,
.showDesc .no-stock ~ span {
    margin-left: var(--s-3);
}

/* ⚠️ 25.8.2026: pravilo velja SAMO za staro vrstico zaloge/dobave — novi
   sklop `.prod-avail` (razdelek 29) je izvzet, sicer bi ga ta flex postavil
   v eno vrstico (zaloga in odprema sta se znašli druga ob drugi). */
/* ⚠️ Staro pravilo: prvi div za obrazcem dobi `display:flex`. Zadelo je
   `.prod-avail` (25.8.2026) in zdaj še lepljivo vrstico `.buybar` (26.8.2026) —
   ta je postala flex postavka in se raztegnila čez zaslon. Oba sta izvzeta. */
.showDesc form + div:not(.prod-avail):not(.buybar) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--s-2) var(--s-3);
    margin-top: var(--s-4);
}

.showDesc form + div .no-stock {
    margin-top: 0;
}

/* Prednosti na strani izdelka stojijo v ožjem stolpcu (~530 px). Štirje
   stolpci so tam pomenili ~120 px na postavko in besedilo v treh vrsticah,
   zato jih tu prelomimo v 2 × 2 in odstranimo odmike, ki veljajo za
   celoštranski pas na vstopni strani. */
.showDesc .benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--s-4) var(--s-5);
    max-width: none;
    margin: var(--s-6) 0 0;
    padding: var(--s-5) 0 0;
    border-top: 1px solid var(--line);
    border-bottom: 0;
}


/* =====================================================================
   12 KOŠARICA — stranski predal
   ===================================================================== */
.basketPanel {
    position: fixed;
    inset: 0 0 0 auto;
    z-index: 95;
    display: flex;
    flex-direction: column;
    width: min(420px, 92vw);
    background: var(--surface);
    box-shadow: var(--shadow-xl);
    transform: translateX(101%);
    transition: transform .3s var(--ease);
}

.basketPanel.basketVis {
    transform: translateX(0);
}

.bakset-flex {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.basket-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--s-5);
    border-bottom: 1px solid var(--line);
}

.basket-head h3 {
    font-size: var(--fs-lg);
}

.close-side {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: var(--r-full);
    font-size: 22px;
    line-height: 1;
    color: var(--ink-3);
    cursor: pointer;
    transition: background .16s var(--ease), color .16s var(--ease);
}

.close-side:hover {
    background: var(--bg-2);
    color: var(--ink);
}

.appender {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: var(--s-4) var(--s-5);
}

.side-items {
    display: grid;
    grid-template-columns: 64px 1fr auto;
    gap: var(--s-3);
    align-items: center;
    padding: var(--s-3) 0;
    border-bottom: 1px solid var(--line-2);
}

.side-items:last-child {
    border-bottom: 0;
}

.side-items img {
    width: 64px;
    height: 64px;
    object-fit: contain;
    background: var(--bg-2);
    border-radius: var(--r-sm);
    padding: var(--s-1);
}

.side-items h3 {
    font-size: var(--fs-sm);
    font-weight: 500;
    line-height: 1.35;
}

.side-items h5 {
    font-size: var(--fs-xs);
    font-weight: 400;
    color: var(--ink-3);
    margin-top: 2px;
}

.side-items strong {
    display: block;
    margin-top: var(--s-1);
    font-size: var(--fs-sm);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.side-items .remove-item {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: var(--r-full);
    cursor: pointer;
    color: var(--ink-4);
    transition: background .16s var(--ease), color .16s var(--ease);
}

.side-items .remove-item:hover {
    background: var(--err-tint);
    color: var(--err);
}

.side-items .remove-item img {
    width: 13px;
    height: 13px;
    background: none;
    padding: 0;
}

.basket-foot {
    padding: var(--s-5);
    border-top: 1px solid var(--line);
    background: var(--bg);
}

.basket-total {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: var(--s-4);
    font-size: var(--fs-lg);
    font-weight: 600;
    letter-spacing: -.02em;
    font-variant-numeric: tabular-nums;
}

.basket-total span:first-child {
    font-size: var(--fs-sm);
    font-weight: 500;
    color: var(--ink-3);
    letter-spacing: 0;
}

.basket-foot .sideBtn {
    width: 100%;
}

.basket-foot .sideBtn + .sideBtn {
    margin-top: var(--s-2);
}

.basket-empty {
    display: grid;
    place-items: center;
    gap: var(--s-3);
    height: 100%;
    text-align: center;
    color: var(--ink-3);
    font-size: var(--fs-sm);
}


/* =====================================================================
   13 TOAST OBVESTILA
   ===================================================================== */
/* SPREMEMBA 20.8.2026: toast je bil zgoraj DESNO in se je prekrival z ikono
   košarice. Zdaj je sredinsko zgoraj, animacija pa gre navzdol (prej z desne —
   pri sredinski postavitvi bi se translateX tepel s centriranjem). */
.toast-wrap {
    position: fixed;
    top: calc(var(--header-h) + 46px);
    left: 50%;
    transform: translateX(-50%);
    right: auto;
    z-index: 120;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--s-2);
    width: min(400px, calc(100vw - 32px));
    pointer-events: none;
}

.toast {
    position: relative; /* 25.8.2026: sidro za indikator trajanja */
    overflow: hidden;
    display: flex;
    /* 21.8.2026: sredinska poravnava — naslov je bil pri enovrstičnem
       obvestilu nekaj pik višje od središča ikone in gumba za zapiranje */
    align-items: center;
    gap: var(--s-3);
    padding: var(--s-3) var(--s-4);
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--r);
    box-shadow: var(--shadow-lg);
    pointer-events: auto;
    width: 100%;
    opacity: 0;
    transform: translateY(-12px) scale(.98);
    transition: opacity .26s var(--ease), transform .26s var(--ease);
}

/* gumb v obvestilu (25.8.2026) — npr. »Na blagajno« ob dodanem izdelku */
.toast-btn {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    margin-top: var(--s-2);
    height: 32px;
    padding: 0 var(--s-4);
    background: var(--brand);
    border-radius: var(--r);
    color: #fff;
    font-size: var(--fs-sm);
    font-weight: 600;
    transition: background .16s var(--ease);
}

.toast-btn:hover {
    background: var(--brand-dark);
    color: #fff;
}

/* indikator preostalega časa prikaza (25.8.2026) — črta na dnu se
   linearno krči; trajanje nastavi JS (animation-duration) */
.toast-prog {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
    background: var(--line-2);
}

.toast-prog-bar {
    display: block;
    height: 100%;
    background: var(--brand);
    transform-origin: left;
    animation: toastProg linear forwards;
}

.toast--err .toast-prog-bar {
    background: var(--err);
}

@keyframes toastProg {
    from { transform: scaleX(1); }
    to   { transform: scaleX(0); }
}

.toast.is-in {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.toast.is-out {
    opacity: 0;
    transform: translateY(-12px) scale(.98);
}

.toast-ico {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    flex: none;
    border-radius: var(--r-full);
    background: var(--ok-tint);
    color: var(--ok);
    font-size: 15px;
    font-weight: 700;
}

.toast--err .toast-ico {
    background: var(--err-tint);
    color: var(--err);
}

.toast-body {
    flex: 1;
    min-width: 0;
}

.toast-title {
    font-size: var(--fs-sm);
    font-weight: 600;
    letter-spacing: -.005em;
}

.toast-text {
    font-size: var(--fs-xs);
    color: var(--ink-3);
    margin-top: 1px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.toast-thumb {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 2px;
    background: var(--bg-2);
    border-radius: var(--r-sm);
    overflow: hidden;
}

.toast-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    mix-blend-mode: multiply;
}

.toast-close {
    flex: none;
    width: 22px;
    height: 22px;
    border-radius: var(--r-full);
    color: var(--ink-4);
    font-size: 15px;
    line-height: 1;
}

.toast-close:hover {
    background: var(--bg-2);
    color: var(--ink);
}


/* =====================================================================
   14 BLAGAJNA — en korak
   ===================================================================== */
.checkout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, .85fr);
    gap: var(--s-7);
    align-items: start;
    max-width: var(--container);
    margin: var(--s-6) auto var(--s-9);
    padding-inline: var(--s-5);
}

.checkout-head {
    grid-column: 1 / -1;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--s-4);
    flex-wrap: wrap;
    margin-bottom: var(--s-2);
}

.checkout-head h1 {
    font-size: var(--fs-2xl);
    letter-spacing: -.03em;
}

.co-card {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    padding: var(--s-5);
    margin-bottom: var(--s-4);
}

.co-card > h2,
.co-title {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    font-size: var(--fs-md);
    font-weight: 600;
    letter-spacing: -.01em;
    margin-bottom: var(--s-4);
}

.co-step {
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    flex: none;
    border-radius: var(--r-full);
    background: var(--ink);
    color: #fff;
    font-size: var(--fs-xs);
    font-weight: 600;
}

/* izdelki v blagajni */
.co-line {
    display: grid;
    grid-template-columns: 72px 1fr auto;
    gap: var(--s-4);
    align-items: center;
    padding: var(--s-4) 0;
    border-bottom: 1px solid var(--line-2);
}

.co-line:first-of-type {
    padding-top: 0;
}

.co-line:last-of-type {
    border-bottom: 0;
    padding-bottom: 0;
}

/* Podlaga je na OVOJU, slika je prosojna in se z njo zlije (multiply).
   Prej je bila podlaga na sliki sami — `mix-blend-mode` pa zlije element
   VKLJUČNO z njegovo podlago, zato je bel kvadrat fotografije ostal viden. */
.co-thumb {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    padding: var(--s-1);
    background: var(--bg-2);
    border-radius: var(--r-sm);
    overflow: hidden;
}

.co-line img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: transparent;
}

.co-line-name {
    font-size: var(--fs-sm);
    font-weight: 500;
    line-height: 1.4;
}

.co-line-meta {
    font-size: var(--fs-xs);
    color: var(--ink-3);
    margin-top: 2px;
}

.co-line-right {
    display: flex;
    align-items: center;
    gap: var(--s-4);
}

.co-line-price {
    min-width: 84px;
    text-align: right;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

/* možnosti dostave in plačila kot kartice */
.opt-list {
    display: grid;
    gap: var(--s-2);
}

.opt {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    padding: var(--s-4);
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--r);
    cursor: pointer;
    transition: border-color .16s var(--ease), background .16s var(--ease);
}

.opt:hover {
    border-color: var(--ink-4);
}

.opt input[type=radio] {
    flex: none;
}

.opt.is-active {
    border-color: var(--ink);
    background: var(--bg-2);
}

.opt.is-disabled {
    opacity: .45;
    pointer-events: none;
}

.opt-main {
    flex: 1;
    min-width: 0;
}

.opt-name {
    display: block;
    font-size: var(--fs-base);
    font-weight: 500;
}

.opt-sub {
    display: block;
    font-size: var(--fs-xs);
    color: var(--ink-3);
    margin-top: 2px;
    line-height: 1.4;
}

.opt-price {
    font-size: var(--fs-sm);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

/* povzetek — lepljiv */
.co-summary {
    position: sticky;
    top: calc(var(--header-h) + var(--s-4));
}

.summary,
.full-summary {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    padding: var(--s-5);
}

.summary > div,
.sum-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--s-4);
    padding: var(--s-2) 0;
    font-size: var(--fs-sm);
    color: var(--ink-2);
}

.summary > div p {
    margin: 0;
}

.summary > div p:last-child,
.sum-row span:last-child {
    font-weight: 500;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.summary > div:last-child,
.sum-row.total {
    margin-top: var(--s-3);
    padding-top: var(--s-4);
    border-top: 1px solid var(--line);
    font-size: var(--fs-lg);
    font-weight: 600;
    letter-spacing: -.02em;
    color: var(--ink);
}

.summary > div:last-child p {
    font-weight: 600;
    font-size: var(--fs-lg);
}

.sum-row.is-free span:last-child {
    color: var(--ok);
}

.co-summary .btn {
    width: 100%;
    height: 52px;
    margin-top: var(--s-4);
    font-size: var(--fs-md);
    font-weight: 600;
}

.co-note {
    margin-top: var(--s-3);
    font-size: var(--fs-xs);
    color: var(--ink-3);
    text-align: center;
}

/* koda za popust */
.cupon-row {
    display: flex;
    gap: var(--s-2);
    margin-top: var(--s-4);
    padding-top: var(--s-4);
    border-top: 1px solid var(--line-2);
}

.cupon-row input {
    flex: 1;
    height: 42px;
}

.cupon-btn {
    height: 42px;
    flex: none;
}

/* stanje med osveževanjem */
.is-recalc {
    opacity: .5;
    transition: opacity .2s var(--ease);
    pointer-events: none;
}

/* zahvalna stran */
.thank-you-page {
    max-width: 560px;
    margin: var(--s-9) auto;
    padding-inline: var(--s-5);
    text-align: center;
}

.thank-you-page img {
    width: 84px;
    margin: 0 auto var(--s-5);
}

/* prijava / registracija na blagajni */
.login-wrap {
    max-width: var(--container);
    margin-inline: auto;
    padding-inline: var(--s-5);
}

.login-split {
    display: grid;
    gap: var(--s-4);
}


/* =====================================================================
   16 ODZIVNOST
   ===================================================================== */
@media (max-width: 1080px) {
    .product-show {
        grid-template-columns: 1fr;
        gap: var(--s-6);
    }

    /* enostolpčna postavitev — lepljiva slika tu nima smisla */
    .showImg {
        position: relative;
        top: auto;
    }

    .checkout {
        grid-template-columns: 1fr;
        gap: var(--s-5);
    }

    .co-summary {
        position: static;
    }
}

@media (max-width: 900px) {
    :root {
        --header-h: 64px;
    }

    .main-navi {
        display: none;
    }

    .responsive-nav {
        display: block;
        margin-left: auto;
    }

    .header {
        gap: var(--s-4);
    }

    .trust {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--s-4);
    }

    .product-list,
    .products-grid {
        grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
        gap: var(--s-4);
    }
}

@media (max-width: 620px) {
    :root {
        --s-9: 64px;
        --s-8: 48px;
    }

    .topLine {
        height: 34px;
        padding-inline: var(--s-4);
        font-size: 11px;
    }

    .topLine .moto {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .topLine .up {
        gap: var(--s-3);
    }

    .cMarg,
    .container,
    .product-list,
    .products-grid,
    .checkout,
    .catalog-head,
    .filters,
    .product-show,
    .content_view,
    .login-wrap {
        padding-inline: var(--s-4);
    }

    .header {
        padding-inline: var(--s-4);
    }

    /* GLAVA NA TELEFONU (3.9.2026)
       ------------------------------------------------------------------
       Logotip je bil komaj berljiv. Vzrok NI bila njegova višina, ampak
       to, da je v vrstici edini element, ki se sme skrčiti: pri 360 px je
       ostalo zanj samo 102 px (gumbi so vzeli 210 px, odmiki in razmiki
       pa 48 px), zato se je stisnil na približno 20 px višine.
       Zato: gumb za prijavo brez besedila, manjše ikone, manjši razmiki
       in manjši odmik od roba — vse to gre logotipu.
       Besedilo prijave ostane v HTML (in v `aria-label`), samo skrito je. */
    .header {
        gap: 8px;
        padding-inline: 10px;
    }

    .header .logo img {
        /* 32 px (≈160 px širine) je največ, kar se pri 360 px izide brez
           stiskanja; `object-fit` je varovalka, da se logotip pri še ožjih
           zaslonih raje pomanjša, kot da bi se sploščil. */
        height: 32px;
        object-fit: contain;
    }

    .header-actions {
        gap: 4px;
    }

    /* Iskanje in prijava: manjša krogca. `.header` v selektorju ni odveč —
       `.hdr-search-open` ima svoje pravilo niže v datoteki in bi pri enaki
       specifičnosti zmagalo. */
    .header .hdr-search-open,
    .header .lgn-link {
        width: 34px;
        height: 34px;
        padding: 0;
        gap: 0;
        justify-content: center;
        background-size: 16px;
    }

    .lgn-link .lbl {
        display: none;
    }

    .lgn-link .ico-user {
        width: 17px;
        height: 17px;
    }

    /* košarica: nižja in ožja, ikona bliže številki */
    .sBag {
        min-width: 46px;
        height: 34px;
        padding: 0 10px 0 28px;
    }

    .sBag::before {
        left: 10px;
        width: 15px;
        height: 15px;
    }

    h1 {
        font-size: var(--fs-2xl);
    }

    .product-list,
    .products-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--s-3);
    }

    .product-item-details {
        padding: var(--s-3);
    }

    .product-title-info h3 {
        font-size: var(--fs-sm);
    }

    .product-price {
        font-size: var(--fs-md);
    }

    .form-grid {
        grid-template-columns: 1fr;
    }

    /* 21.8.2026: slika v svojem stolpcu (čez vse vrstice), NAZIV pa sega
       do konca kartice — cena mu ne krade širine, ker stoji šele v vrstici
       s količino in »Briši«. Srednji <div> se razpusti z display:contents,
       da lahko njegove otroke postavimo po mreži. */
    .co-line {
        grid-template-columns: 56px 1fr auto;
        gap: var(--s-2) var(--s-3);
    }

    .co-line > div:not(.co-line-right) {
        display: contents;
    }

    /* 26.8.2026: v mreži je zdaj OVOJ `.co-thumb`, ne slika sama */
    .co-line .co-thumb {
        grid-column: 1;
        grid-row: 1 / span 3;
        align-self: start;
        width: 56px;
        height: 56px;
    }

    .co-line .co-line-name {
        grid-column: 2 / -1;
        grid-row: 1;
    }

    .co-line .co-line-meta {
        grid-column: 2 / -1;
        grid-row: 2;
        margin: 0;
    }

    .co-line .side-qty {
        grid-column: 2;
        grid-row: 3;
        align-self: center;
        margin-top: 0;
    }

    .co-line-right {
        grid-column: 3;
        grid-row: 3;
        align-self: center;
        padding-bottom: 0;
    }

    /* SPREMEMBA 25.8.2026 (Tobaccostuff): toast se PRIKAZUJE tudi na
       telefonu. Staro ROFI pravilo ga je tu skrivalo, ker se je ob
       dodajanju odpiral stranski predal — ta je zdaj odstranjen in je
       toast (z gumbom na blagajno) edina povratna informacija. */

    .footer .pgEnd {
        justify-content: center;
        text-align: center;
    }

    .trust {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}


/* =====================================================================
   12b KOŠARICA — dodatki prenove
   ===================================================================== */
body.no-scroll {
    overflow: hidden;
}

/* pas do brezplačne poštnine */
.free-ship-bar {
    padding: var(--s-3) var(--s-5);
    background: var(--brand-tint);
    border-bottom: 1px solid var(--line-2);
}

.free-ship-bar[hidden] {
    display: none;
}

.free-ship-txt {
    font-size: var(--fs-xs);
    color: var(--ink-2);
    margin-bottom: var(--s-2);
}

.free-ship-txt strong {
    color: var(--ink);
}

.free-ship-track {
    height: 4px;
    border-radius: var(--r-full);
    background: rgba(232, 117, 0, .22);
    overflow: hidden;
}

.free-ship-track span {
    display: block;
    height: 100%;
    width: 0;
    border-radius: var(--r-full);
    background: var(--brand);
    transition: width .45s var(--ease);
}

.free-ship-bar.is-free {
    background: var(--ok-tint);
}

.free-ship-bar.is-free .free-ship-track {
    background: rgba(21, 128, 61, .2);
}

.free-ship-bar.is-free .free-ship-track span {
    width: 100% !important;
    background: var(--ok);
}

/* količina v vrstici predala */
.side-qty {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    margin-top: var(--s-2);
}

.side-qty button {
    width: 26px;
    height: 26px;
    flex: none;
    display: grid;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: var(--r-sm);
    background: var(--surface);
    color: var(--ink-2);
    font-size: var(--fs-sm);
    line-height: 1;
    transition: border-color .16s var(--ease), background .16s var(--ease);
}

.side-qty button:hover {
    border-color: var(--ink);
    background: var(--bg-2);
    color: var(--ink);
}

.side-qty .qty-val {
    width: 38px;
    height: 26px;
    padding: 0;
    text-align: center;
    border: 1px solid var(--line);
    border-radius: var(--r-sm);
    font-size: var(--fs-xs);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.side-qty strong {
    margin: 0 0 0 auto;
    font-size: var(--fs-sm);
}

.side-noimg {
    width: 64px;
    height: 64px;
    border-radius: var(--r-sm);
    background: var(--bg-2);
}

/* toast pod glavo, ko ni vrhnjega traku */
@media (min-width: 621px) {
    .toast-wrap {
        top: calc(var(--header-h) + 52px);
    }
}


/* =====================================================================
   09b DOMAČA STRAN — dejanski razredi iz homePageScripts / productsScripts
   ===================================================================== */

/* =====================================================================
   HERO SLIDER — prenovljen 20.8.2026
   Slike so BREZ vpisanega besedila; naslov, opis in gumb pridejo iz baze
   in se izrišejo čez sliko. Na telefonu se rezine listajo s potegom.
   ===================================================================== */
.hero {
    position: relative;
    /* 25.8.2026: podlaga gre čez CELO širino zaslona (prej max-width:1920px,
       kar je na širših zaslonih puščalo bela robova). Namesto `width:100vw`
       je uporabljen `max-width:none` — .hero je blokovni otrok <main>, ki je
       že čez vso širino, 100vw pa bi ob navpičnem drsniku povzročil vodoravni
       preliv. Besedilo ostaja omejeno na --container (.hero-copy). */
    max-width: none;
    margin-inline: auto;
    background: var(--bg-2);
    overflow: hidden;
}

/* Vodoravni drsnik s scroll-snap: poteg na telefonu deluje BREZ JS,
   ker ga opravi brskalnik sam — JS doda samo pikice, puščice in samodejno
   listanje. Če JS ne bi deloval, slider še vedno deluje. */
.hero-track {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.hero-track::-webkit-scrollbar {
    display: none;
}

.hero-slide {
    position: relative;
    flex: 0 0 100%;
    min-width: 100%;
    scroll-snap-align: center;
}

.hero-media {
    position: relative;
    line-height: 0;
}

.hero-media img,
.hero-slide .hero-img {
    width: 100%;
    height: clamp(340px, 52vw, 620px);
    object-fit: cover;
}

/* Temna prevleka samo toliko, da je besedilo berljivo na katerikoli sliki.
   Gradient je z leve, ker je besedilo levo poravnano. */
.hero-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,
        rgba(26, 17, 10, .68) 0%,
        rgba(26, 17, 10, .42) 42%,
        rgba(26, 17, 10, .06) 72%,
        rgba(26, 17, 10, 0) 100%);
}

.hero-copy {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    max-width: var(--container);
    padding-inline: var(--s-6);
    color: #fff;
    pointer-events: none;
}

.hero-copy > * {
    pointer-events: auto;
}

.hero-title {
    margin: 0 0 var(--s-3);
    max-width: 16ch;
    font-family: var(--font-head);
    font-size: clamp(2rem, 5.2vw, 3.5rem);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -.03em;
    color: #fff;
    text-wrap: balance;
    text-shadow: 0 2px 24px rgba(0, 0, 0, .35);
}

.hero-text {
    max-width: 46ch;
    margin-bottom: var(--s-5);
    font-size: clamp(1rem, 1.6vw, var(--fs-lg));
    line-height: 1.5;
    color: rgba(255, 255, 255, .92);
    text-shadow: 0 1px 16px rgba(0, 0, 0, .35);
}

.hero-text p {
    margin: 0;
}

/* SPREMEMBA 25.8.2026 (Tobaccostuff): hero gumb v oranžni znamke namesto
   bele pilule; oglat kot ostali gumbi. */
.hero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 52px;
    padding: 0 var(--s-7);
    background: var(--brand);
    border: 1px solid var(--brand);
    border-radius: var(--r);
    font-size: var(--fs-sm);
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    text-decoration: none;
    color: #fff;
    transition: background .16s var(--ease), color .16s var(--ease), transform .16s var(--ease);
}

.hero-btn:hover {
    background: var(--brand-dark);
    border-color: var(--brand-dark);
    color: #fff;
    transform: translateY(-1px);
}

/* --- krmila (samo pri več rezinah) --- */
.hero-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    background: rgba(255, 255, 255, .9);
    border: 0;
    border-radius: var(--r-full);
    cursor: pointer;
    opacity: 0;
    transition: opacity .18s var(--ease), background .16s var(--ease);
}

.hero:hover .hero-nav,
.hero-nav:focus-visible {
    opacity: 1;
}

.hero-nav:hover {
    background: #fff;
}

.hero-nav::before {
    content: "";
    width: 10px;
    height: 10px;
    border-right: 2px solid var(--ink);
    border-bottom: 2px solid var(--ink);
}

.hero-prev {
    left: var(--s-5);
}

.hero-prev::before {
    transform: rotate(135deg);
    margin-left: 3px;
}

.hero-next {
    right: var(--s-5);
}

.hero-next::before {
    transform: rotate(-45deg);
    margin-right: 3px;
}

.hero-dots {
    position: absolute;
    left: 50%;
    bottom: var(--s-5);
    transform: translateX(-50%);
    display: flex;
    gap: var(--s-2);
}

.hero-dot {
    width: 9px;
    height: 9px;
    padding: 0;
    background: rgba(255, 255, 255, .45);
    border: 0;
    border-radius: var(--r-full);
    cursor: pointer;
    transition: width .2s var(--ease), background .2s var(--ease);
}

.hero-dot.is-active {
    width: 26px;
    background: #fff;
}

@media (max-width: 900px) {
    .hero-copy {
        padding-inline: var(--s-5);
    }

    /* na dotik puščice nimajo smisla — tam se lista s potegom */
    .hero-nav {
        display: none;
    }
}

@media (max-width: 620px) {
    .hero-media::after {
        /* na ozkem zaslonu besedilo pokriva večji del slike,
           zato prevleka od spodaj namesto z leve */
        background: linear-gradient(180deg,
            rgba(10, 14, 20, .15) 0%,
            rgba(10, 14, 20, .45) 45%,
            rgba(10, 14, 20, .78) 100%);
    }

    .hero-copy {
        top: auto;
        bottom: 0;
        transform: translateX(-50%);
        padding-block: var(--s-6) var(--s-8);
    }

    .hero-title {
        max-width: none;
    }

    .hero-btn {
        height: 46px;
        padding-inline: var(--s-5);
    }

    .hero-dots {
        bottom: var(--s-3);
    }
}

/* kdor ima izklopljene animacije, ne dobi samodejnega listanja (glej hero.js) */
@media (prefers-reduced-motion: reduce) {
    .hero-track {
        scroll-behavior: auto;
    }
}

/* prednosti / zaupanje */
.benefits {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--s-5);
    max-width: var(--container);
    margin: 0 auto;
    padding: var(--s-6) var(--s-5);
    border-bottom: 1px solid var(--line);
}

.benefit {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    min-width: 0;
}

.benefit img {
    width: 26px;
    height: 26px;
    flex: none;
    object-fit: contain;
}

.benefit h3 {
    font-size: var(--fs-sm);
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: 0;
    color: var(--ink-2);
}

/* ploščice kategorij */
.categories {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: var(--s-4);
    max-width: var(--container);
    margin-inline: auto;
    padding-inline: var(--s-5);
}

/* PRENOVA 25.8.2026 (Tobaccostuff): kategorije imajo naložene fotografije
   izdelkov na BELI podlagi. Prej so bile obrezane (`cover`) in pod temnim
   prelivom z belim naslovom čez — od izdelka se je videl le izsek.
   Zdaj je slika VSEBOVANA (`contain`), belo ozadje pa se zlije s ploskvijo
   (`background-blend-mode: multiply`), naslov pa stoji pod sliko. */
.category-item {
    position: relative;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    overflow: hidden;
    cursor: pointer;
    background: var(--surface);
    transition: border-color .16s var(--ease), box-shadow .16s var(--ease), transform .16s var(--ease);
}

.category-item:hover {
    border-color: var(--brand);
    box-shadow: var(--shadow-sm);
    transform: translateY(-2px);
}

.cat-item-img {
    aspect-ratio: 4 / 3;
    padding: var(--s-4);
    background-color: var(--bg-2);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    /* slika je znotraj notranjega roba, barva ploskve pa čez cel okvir */
    background-origin: content-box;
    background-blend-mode: multiply;
    transition: transform .5s var(--ease);
}

.category-item:hover .cat-item-img {
    transform: scale(1.03);
}

/* temni preliv odpade — naslov ni več čez sliko */
.category-item::after {
    content: none;
}

.category-item h3 {
    position: static;
    padding: var(--s-4);
    font-size: var(--fs-md);
    font-weight: 600;
    letter-spacing: -.01em;
    text-align: center;
    color: var(--ink);
}

.category-item h3 a {
    color: var(--ink);
}

.category-item:hover h3 a {
    color: var(--brand-dark);
}


/* =====================================================================
   10b KATALOG — dejanski razredi za oznake in stare cene
   ===================================================================== */
.product-item .disc,
.showImg .disc {
    position: absolute;
    top: var(--s-3);
    right: var(--s-3);
    z-index: 3;
    display: inline-flex;
    align-items: center;
    height: 24px;
    padding: 0 var(--s-3);
    border-radius: var(--r-full);
    background: var(--sale);
    color: #fff;
    font-size: var(--fs-xs);
    font-weight: 600;
    letter-spacing: .01em;
}

.product-item .disc p,
.showImg .disc p {
    margin: 0;
}

.product-item .status,
.product-item .statusMain,
.showImg .status,
.showImg .statusMain {
    position: absolute;
    top: var(--s-3);
    left: var(--s-3);
    z-index: 3;
    display: inline-flex;
    align-items: center;
    height: 24px;
    padding: 0 var(--s-3);
    border-radius: var(--r-full);
    background: var(--ink);
    color: #fff;
    font-size: var(--fs-xs);
    font-weight: 600;
}

/* barvna ločnica po tipu statusa (12 Novo, 13 Rabljeno, 14 Priporočamo).
   Novo nima svojega pravila — obdrži privzeto oglje `--ink`.
   2.9.2026: 13 je bila »Odprodaja« in je bila rdeča kot znižanje (`--sale`);
   zdaj je »Rabljeno« in ima svojo toplo sivo, da je ne beremo kot akcijo
   (5,8 : 1 proti beli — dovolj za drobno krepko pisavo). */
.s13 {
    background: #6f6459 !important;
}

.s14 {
    background: var(--brand) !important;
}

.old-price {
    font-size: var(--fs-sm) !important;
    font-weight: 400;
    color: var(--ink-4);
    text-decoration: line-through;
}

.showDesc-price .old-price {
    font-size: var(--fs-lg) !important;
}

/* .disc na strani izdelka mora biti nad sliko */
.showImg .disc,
.showImg .status,
.showImg .statusMain {
    top: var(--s-4);
}

.showImg .disc {
    right: var(--s-4);
}

.showImg .status,
.showImg .statusMain {
    left: var(--s-4);
}


/* =====================================================================
   08b PIŠKOTKI — dejanski razredi (plugins/jqCookie1)
   ===================================================================== */
.simple-modal {
    position: fixed;
    left: 50%;
    bottom: var(--s-4);
    transform: translateX(-50%);
    z-index: 75;
    width: min(720px, calc(100% - 32px));
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--r);
    box-shadow: var(--shadow-lg);
}

.simple-modal-body {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: var(--s-2) var(--s-3);
    padding: var(--s-4) var(--s-5);
    font-size: var(--fs-sm);
    color: var(--ink-2);
    text-align: center;
}

.cookieLink {
    color: var(--ink);
    font-weight: 500;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.cookieLink:hover {
    color: var(--brand-dark);
}

/* Gumba za privolitev (1.9.2026) — trak ni več zgolj obvestilo, ampak
   ponudi izbiro; »Samo nujni« je tih, da ne izgleda kot past. */
.cookieBtns {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: var(--s-2);
}

.cookieBtn {
    display: inline-block;
    padding: 9px 18px;
    border-radius: var(--r);
    font-size: var(--fs-sm);
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    white-space: nowrap;
    transition: background .15s ease, color .15s ease, border-color .15s ease;
}

.cookieBtn-ok {
    background: var(--brand);
    border: 1px solid var(--brand);
    color: #fff;
}

.cookieBtn-ok:hover {
    background: var(--brand-dark);
    border-color: var(--brand-dark);
    color: #fff;
}

.cookieBtn-min {
    background: transparent;
    border: 1px solid var(--line);
    color: var(--ink-2);
}

.cookieBtn-min:hover {
    border-color: var(--ink-3, var(--ink-2));
    color: var(--ink);
}

@media (max-width: 560px) {
    .cookieBtns {
        width: 100%;
    }

    .cookieBtn {
        flex: 1 1 auto;
        text-align: center;
    }
}

@media (max-width: 900px) {
    .benefits {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--s-4);
    }
}

@media (max-width: 620px) {
    .benefits {
        grid-template-columns: 1fr 1fr;
        padding-inline: var(--s-4);
        gap: var(--s-3);
    }

    .benefit h3 {
        font-size: var(--fs-xs);
    }

    .categories {
        grid-template-columns: 1fr 1fr;
        gap: var(--s-3);
        padding-inline: var(--s-4);
    }

    .category-item h3 {
        font-size: var(--fs-sm);
        left: var(--s-3);
        right: var(--s-3);
        bottom: var(--s-3);
    }
}

.simple-modal-body p {
    margin: 0;
    font-size: var(--fs-sm);
    color: var(--ink-2);
    text-align: center;
}


/* =====================================================================
   14b BLAGAJNA v3 — dodatki
   ===================================================================== */
.co-main {
    min-width: 0;
}

.co-hint {
    margin: calc(-1 * var(--s-2)) 0 var(--s-4);
    font-size: var(--fs-sm);
    color: var(--ink-3);
}

/* ---------------------------------------------------------------------
   Prijava na blagajni (20.8.2026)
   Privzeto je nakup kot gost, zato je panel zaprt in vizualno tih —
   ne sme tekmovati z obrazcem za goste pod njim.
   --------------------------------------------------------------------- */
.co-login {
    margin: calc(-1 * var(--s-2)) 0 var(--s-4);
}

.co-login-bar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--s-2) var(--s-3);
    padding: var(--s-3) var(--s-4);
    background: var(--bg-2);
    border-radius: var(--r);
}

.co-login-q {
    font-size: var(--fs-sm);
    color: var(--ink-2);
}

.co-login-toggle {
    margin-left: auto;
    padding: 0;
    background: none;
    border: 0;
    font-family: inherit;
    font-size: var(--fs-sm);
    font-weight: 600;
    color: var(--ink);
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

.co-login-toggle:hover {
    color: var(--brand);
}

/* puščica pove, da se panel razpre */
.co-login-toggle::after {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-left: var(--s-2);
    border-right: 1.6px solid currentColor;
    border-bottom: 1.6px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
    transition: transform .18s var(--ease);
}

.co-login-toggle[aria-expanded="true"]::after {
    transform: translateY(1px) rotate(-135deg);
}

.co-login-box {
    padding: var(--s-4);
    border: 1px solid var(--line);
    border-top: 0;
    border-radius: 0 0 var(--r) var(--r);
}

.co-login-box[hidden] {
    display: none;
}

.co-login-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--s-3) var(--s-4);
    margin-top: var(--s-4);
}

.co-login-actions .btn {
    min-width: 180px;
}

.co-login-box .err-msg {
    margin-top: var(--s-3);
}

@media (max-width: 520px) {
    .co-login-actions .btn {
        width: 100%;
        min-width: 0;
    }
}

/* ---------------------------------------------------------------------
   Zložen sklop »Podatki o naročniku« (21.8.2026)
   Ko so podatki izpolnjeni, obrazec ni več potreben — ostane vrstica z
   imenom in kontaktom ter gumb za popravek. Stanje vodi checkout.js z
   razredom `is-done`.
   --------------------------------------------------------------------- */
.co-buyer-done {
    display: none;
    align-items: center;
    justify-content: space-between;
    gap: var(--s-4);
    padding: var(--s-3) var(--s-4);
    background: var(--bg-2);
    border-radius: var(--r);
}

.co-buyer.is-done .co-buyer-done {
    display: flex;
}

.co-buyer.is-done > .co-login,
.co-buyer.is-done > #coBuyer,
.co-buyer.is-done > .co-buyer-actions {
    display: none;
}

.co-buyer.is-done .co-title {
    margin-bottom: var(--s-3);
}

.co-buyer-done-txt {
    min-width: 0;
    font-size: var(--fs-sm);
    line-height: 1.5;
}

.co-buyer-done-txt strong {
    display: block;
    color: var(--ink);
    font-weight: 600;
}

.co-buyer-done-txt span {
    display: block;
    color: var(--ink-3);
    overflow-wrap: anywhere;
}

.co-buyer-done .btn-sm {
    flex: none;
}

/* Na ozkem zaslonu se gumb prelomi v svojo vrstico, a ostane majhen in
   poravnan desno — ne raztegne se čez celo kartico. */
@media (max-width: 420px) {
    .co-buyer-done {
        flex-wrap: wrap;
    }

    .co-buyer-done .btn-sm {
        margin-left: auto;
    }
}

/* ---------------------------------------------------------------------
   Gumb »Vnesi podatke« (21.8.2026)
   Vidni zaključek sklopa 2. Loči se od polj s črto zgoraj, da je jasno,
   da zaključuje sklop in ni še eno polje obrazca.
   --------------------------------------------------------------------- */
.co-buyer-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--s-3);
    margin-top: var(--s-4);
    padding-top: var(--s-4);
    border-top: 1px solid var(--line);
}

.co-buyer-actions .btn {
    min-width: 220px;
}

.co-buyer-actions .err-msg[hidden] {
    display: none;
}

@media (max-width: 520px) {
    .co-buyer-actions .btn {
        width: 100%;
        min-width: 0;
    }
}

/* ---------------------------------------------------------------------
   Naslov za dostavo (21.8.2026)
   Privzeto je enak naslovu naročnika — to mora biti razvidno na prvi
   pogled, zato je izpisan v predogledu, ne skrit za praznim potrditvenim
   poljem. Ločen naslov je izbira, ki se odpre pod njim.
   --------------------------------------------------------------------- */
.co-ship-addr {
    margin-top: var(--s-4);
    padding-top: var(--s-4);
    border-top: 1px solid var(--line-2);
}

.co-ship-head {
    font-size: var(--fs-sm);
    font-weight: 600;
    color: var(--ink);
    margin-bottom: var(--s-3);
}

.co-ship-same {
    display: flex;
    align-items: flex-start;
    gap: var(--s-3);
    padding: var(--s-3) var(--s-4);
    margin-bottom: var(--s-3);
    background: var(--bg-2);
    border-radius: var(--r);
}

.co-ship-same[hidden] {
    display: none;
}

/* kljukica je narisana s CSS — brez dodatne slike */
.co-ship-tick {
    flex: none;
    width: 18px;
    height: 18px;
    margin-top: 2px;
    border-radius: var(--r-full);
    background: var(--ok);
    position: relative;
}

.co-ship-tick::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 4px;
    width: 4px;
    height: 8px;
    border: solid #fff;
    border-width: 0 1.8px 1.8px 0;
    transform: rotate(45deg);
}

.co-ship-same-txt {
    min-width: 0;
    font-size: var(--fs-sm);
    line-height: 1.5;
}

.co-ship-same-txt strong {
    display: block;
    color: var(--ink);
    font-weight: 600;
}

.co-ship-preview {
    display: block;
    color: var(--ink-3);
}

.co-shipfields {
    margin-top: var(--s-3);
}

.co-shipfields[hidden],
.co-company[hidden] {
    display: none;
}

/* ---------------------------------------------------------------------
   Zaklenjena sklopa »Dostava« in »Plačilo« (21.8.2026)
   Vidna sta šele, ko so podatki o naročniku izpolnjeni ali je kupec
   prijavljen. Zaklep vodi checkout.js z razredom `is-locked`.
   --------------------------------------------------------------------- */
.co-lock-note {
    display: none;
    width: 100%;
    align-items: center;
    gap: var(--s-3);
    padding: var(--s-3) var(--s-4);
    background: var(--bg-2);
    border: 1px dashed var(--line);
    border-radius: var(--r);
    font-family: inherit;
    font-size: var(--fs-sm);
    color: var(--ink-3);
    text-align: left;
    cursor: pointer;
}

/* ključavnica kot vgrajen SVG — brez dodatne zahteve na strežnik */
.co-lock-note::before {
    content: "";
    flex: none;
    width: 15px;
    height: 15px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 16 16' fill='none' stroke='%239ca3af' stroke-width='1.5'%3E%3Crect x='3' y='7' width='10' height='7' rx='1.5'/%3E%3Cpath d='M5.5 7V5a2.5 2.5 0 015 0v2'/%3E%3C/svg%3E") no-repeat center / contain;
}

.co-lock-note:hover {
    color: var(--ink-2);
    border-color: var(--ink-4);
}

.co-lockable.is-locked .co-lock-note {
    display: flex;
}

.co-lockable.is-locked .co-lock-body {
    display: none;
}

.co-lockable.is-locked .co-step {
    background: var(--ink-4);
}

.co-lockable.is-locked .co-title {
    color: var(--ink-3);
    margin-bottom: var(--s-3);
}

/* ---------------------------------------------------------------------
   Mobilna vrstica s skupnim zneskom in gumbom (21.8.2026)
   Pod 1080 px povzetek ni več lepljiv (razdelek 16), zato znesek in gumb
   prevzame fiksna vrstica na dnu okna.
   --------------------------------------------------------------------- */
.co-mobilebar {
    display: none;
}

@media (max-width: 1080px) {
    /* PREDELANO 21.8.2026: namig ni več stisnjen ob znesek — je svoja
       vrstica čez celo širino nad zneskom in gumbom. */
    .co-mobilebar {
        display: flex;
        flex-direction: column;
        gap: var(--s-3);
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 85;
        padding: var(--s-3) var(--s-4);
        padding-bottom: calc(var(--s-3) + env(safe-area-inset-bottom));
        background: var(--surface);
        border-top: 1px solid var(--line);
        box-shadow: 0 -6px 24px rgba(0, 0, 0, .08);
    }

    .co-mobilebar-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: var(--s-4);
    }

    .co-mobilebar-sum {
        display: flex;
        flex-direction: column;
        min-width: 0;
        line-height: 1.3;
    }

    .co-mobilebar-sum > span {
        font-size: var(--fs-xs);
        color: var(--ink-3);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* Namig čez celo širino — gumb, ki odpelje na manjkajoči korak.
       Rahlo obarvana podlaga s ključavnico, da ne izgleda kot napaka. */
    .co-mobilebar .co-bar-hint {
        display: none;
        align-items: center;
        justify-content: center;
        gap: var(--s-2);
        width: 100%;
        padding: var(--s-2) var(--s-3);
        border: 0;
        border-radius: var(--r-sm);
        background: var(--brand-tint);
        color: var(--ink-2);
        font-family: inherit;
        font-size: var(--fs-xs);
        font-weight: 500;
        line-height: 1.4;
        text-align: center;
        cursor: pointer;
    }

    .co-mobilebar .co-bar-hint::before {
        content: "";
        flex: none;
        width: 12px;
        height: 12px;
        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='%23000' stroke-width='2'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%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='%23000' stroke-width='2'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E") center/contain no-repeat;
    }

    .co-mobilebar.is-locked .co-bar-hint {
        display: inline-flex;
    }

    .co-mobilebar-sum strong {
        font-size: var(--fs-lg);
        font-weight: 600;
        letter-spacing: -.02em;
        font-variant-numeric: tabular-nums;
    }

    .co-mobilebar .btn {
        flex: none;
        height: 48px;
        padding-inline: var(--s-5);
        font-weight: 600;
    }

    /* prostor, da vrstica ne prekrije noge strani */
    body.co-bar-on {
        padding-bottom: 84px;
    }

    /* z namigom (zaklenjeno stanje) je vrstica za eno vrstico višja */
    body.co-bar-on.co-bar-tall {
        padding-bottom: 120px;
    }

    /* gumb v povzetku bi bil podvojen — na dnu ga prevzame vrstica */
    .co-extra #coSubmit {
        display: none;
    }

    .co-extra .co-note {
        margin-top: var(--s-4);
    }
}

@media (max-width: 420px) {
    .co-mobilebar .btn {
        padding-inline: var(--s-4);
        font-size: var(--fs-sm);
    }
}

.co-extra {
    margin-top: var(--s-4);
}

.co-extra .check-row {
    margin-bottom: var(--s-3);
}

.co-err {
    margin-top: var(--s-3);
    text-align: center;
}

.co-err[hidden] {
    display: none;
}

.co-line .side-qty .link-quiet {
    margin-left: var(--s-2);
}

.sum-tax span {
    color: var(--ink-3) !important;
    font-weight: 400 !important;
    font-size: var(--fs-xs);
}

/* radio v možnostih naj bo klikljiv po celi kartici */
.opt {
    user-select: none;
}

.opt.is-disabled .opt-name::after {
    content: " — ni na voljo";
    font-size: var(--fs-xs);
    color: var(--ink-4);
}

/* velikosti na kartici izdelka */
.product-sizes {
    font-size: var(--fs-xs);
    color: var(--ink-3);
    letter-spacing: .01em;
}


/* =====================================================================
   16b ODZIVNOST — popravki po testiranju na 414 px
   ===================================================================== */
html {
    /* glej opombo pri `body` — `clip` ne razbije `position: sticky` */
    overflow-x: hidden;
    overflow-x: clip;
}

/* .cMarg je pogosto zunanji ovoj, notranji bloki naj ne dodajajo še svojega odmika */
.cMarg > .filters,
.cMarg > .product-list,
.cMarg > .products-grid,
.cMarg > .catalog-head {
    padding-inline: 0;
}

@media (max-width: 900px) {
    /* dodatna sporočila v vrhnjem traku na ozkih zaslonih niso potrebna */
    .top-usp {
        display: none;
    }

    .topLine {
        justify-content: center;
    }

    .topLine .moto {
        min-width: 0;
    }
}

@media (max-width: 620px) {
    .breadCrumbs {
        font-size: var(--fs-xs);
        color: var(--ink-3);
    }

    .filters {
        flex-wrap: nowrap;
        overflow-x: auto;
        justify-content: flex-start;
        scrollbar-width: none;
        -ms-overflow-style: none;
        margin-inline: calc(-1 * var(--s-4));
        padding-inline: var(--s-4);
    }

    .filters::-webkit-scrollbar {
        display: none;
    }

    .filters .filter {
        flex: none;
    }
}


/* =====================================================================
   17 DOPOLNITVE 20.8.2026
   (izbira velikosti na kartici, slike brez belega ozadja,
    drobtinice, prenovljeni filtri)
   ===================================================================== */

/* --- 17.1 slike izdelkov brez belega okvirja -------------------------
   Fotografije izdelkov so posnete na beli podlagi. mix-blend-mode:multiply
   belino "zlije" s podlago kartice, zato bel kvadrat izgine, izdelek pa
   ostane nedotaknjen. Deluje na vseh sodobnih brskalnikih. */
.product-item-image {
    background: var(--bg-2);
}

.product-item-image img {
    mix-blend-mode: multiply;
    padding: var(--s-3);
}

.showImg {
    background: var(--bg-2);
}

.showImg img {
    mix-blend-mode: multiply;
}

/* `.co-line img` in `.toast-thumb img` sta prosojni sliki v obarvanem ovoju
   (glej `.co-thumb` / `.toast-thumb`) — belina se zlije s podlago ovoja. */
.side-items img,
.co-line img {
    mix-blend-mode: multiply;
}

/* 25.8.2026: enako tudi na vstopni strani — hero (topla gradientna
   podlaga) in izpostave (bg-2), da bel kvadrat fotografije izgine. */
.hero .hero-media img,
.hero .hero-slide .hero-img,
.feature-media img {
    mix-blend-mode: multiply;
}

/* --- 17.2 izbira velikosti na kartici -------------------------------- */
.size-row {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-1);
    margin-top: var(--s-1);
}

.size-chip {
    min-width: 52px;
    height: 30px;
    padding: 0 var(--s-2);
    border: 1px solid var(--line);
    border-radius: var(--r-sm);
    background: var(--surface);
    font-size: var(--fs-xs);
    font-weight: 500;
    color: var(--ink-2);
    font-variant-numeric: tabular-nums;
    transition: border-color .14s var(--ease), background .14s var(--ease), color .14s var(--ease);
}

.size-chip:hover {
    border-color: var(--ink-4);
    color: var(--ink);
}

.size-chip.is-sel {
    background: var(--ink);
    border-color: var(--ink);
    color: #fff;
}

/* opozorilo, ko kupec pritisne "v košarico" brez izbrane velikosti */
.product-item.needs-size .size-row {
    animation: shake .4s var(--ease);
}

.product-item.needs-size .size-chip {
    border-color: var(--err);
    color: var(--err);
}

@keyframes shake {
    0%, 100% { transform: translateX(0); }
    25%      { transform: translateX(-4px); }
    75%      { transform: translateX(4px); }
}

/* KOLIČINA NA KARTICI (25.8.2026): stopnjevalnik + gumb v eni vrsti */
.qa-row {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    margin-top: var(--s-1);
}

.qa-qty {
    display: inline-flex;
    align-items: center;
    height: 40px;
    border: 1px solid var(--line);
    border-radius: var(--r);
    background: var(--surface);
    overflow: hidden;
}

.qa-step {
    width: 28px;
    height: 100%;
    background: none;
    font-size: var(--fs-md);
    line-height: 1;
    color: var(--ink-3);
    cursor: pointer;
    transition: background .14s var(--ease), color .14s var(--ease);
}

.qa-step:hover {
    background: var(--brand-tint);
    color: var(--brand-dark);
}

/* višja specifičnost od splošnega input[type=text] (width:100%, height 46) */
.qa-qty input.qa-qty-in {
    width: 32px;
    height: 100%;
    padding: 0;
    border: 0;
    border-radius: 0;
    text-align: center;
    font-family: inherit;
    font-size: var(--fs-sm);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    color: var(--ink);
    background: transparent;
}

.product-item .quick-add-btn {
    flex: 1;
    min-width: 0;
    width: auto;
    height: 40px;
    margin-top: 0;
    font-size: var(--fs-sm);
}

.out-of-stock {
    display: inline-flex;
    align-items: center;
    height: 26px;
    padding: 0 var(--s-3);
    border-radius: var(--r-full);
    background: var(--bg-2);
    color: var(--ink-3);
    font-size: var(--fs-xs);
    font-weight: 500;
}

/* --- 17.3 drobtinice -------------------------------------------------
   Nova oznaka: <nav class="breadCrumbs"><ol><li>…  */
.breadCrumbs {
    margin: var(--s-5) 0 var(--s-4);
}

.breadCrumbs ol {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--s-1) 0;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: var(--fs-xs);
    color: var(--ink-3);
}

.breadCrumbs li {
    display: inline-flex;
    align-items: center;
    margin: 0;
    list-style: none;
}

.breadCrumbs li + li::before {
    content: "";
    width: 5px;
    height: 5px;
    margin: 0 var(--s-2);
    border-top: 1.4px solid var(--ink-4);
    border-right: 1.4px solid var(--ink-4);
    transform: rotate(45deg);
    flex: none;
}

.breadCrumbs a {
    color: var(--ink-3);
    padding: 2px 0;
}

.breadCrumbs a:hover {
    color: var(--ink);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.breadCrumbs [aria-current="page"] {
    color: var(--ink);
    font-weight: 500;
    max-width: 46ch;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* --- 17.4 filtri ----------------------------------------------------- */
/* SPREMEMBA 20.8.2026: čipi so bili stisnjeni skupaj in tesno pod naslovom —
   zdaj imajo več zraka (večji razmik, višji čipi, večji odmik od naslova). */
.filters {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: var(--s-3);
    margin: var(--s-5) auto var(--s-8);
}

.filters .filter {
    display: inline-flex;
}

.filters .filter a,
.filter-chip {
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    height: 42px;
    padding: 0 var(--s-5);
    border: 1px solid var(--line);
    border-radius: var(--r-full);
    background: var(--surface);
    font-size: var(--fs-sm);
    font-weight: 500;
    color: var(--ink-2);
    white-space: nowrap;
    box-shadow: var(--shadow-sm);
    transition: border-color .16s var(--ease), color .16s var(--ease),
                background .16s var(--ease), transform .12s var(--ease), box-shadow .16s var(--ease);
}

.filters .filter a:hover {
    border-color: var(--ink-4);
    color: var(--ink);
    transform: translateY(-1px);
    box-shadow: var(--shadow);
}

.filters .filter.actF a {
    background: var(--ink);
    border-color: var(--ink);
    color: #fff;
    box-shadow: var(--shadow);
}

/* kljukica ob aktivnem filtru */
.filters .filter.actF a::before {
    content: "";
    width: 13px;
    height: 13px;
    flex: none;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* "Vse" — ponastavitev filtra */
.filters .filter-all a {
    background: transparent;
    border-style: dashed;
    box-shadow: none;
}

.filters .filter-all a:hover {
    border-style: solid;
}

/* --- 17.5 galerija na strani izdelka (product-details-gallery) -------- */
.product-details-gallery {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-2);
    padding: 0 var(--s-4) var(--s-4);
}

.product-details-gallery a,
.product-details-gallery .gal-vthumb {
    display: block;
    width: 72px;
    height: 72px;
    border: 1px solid var(--line);
    border-radius: var(--r-sm);
    overflow: hidden;
    background: var(--surface);
    cursor: pointer;
    transition: border-color .16s var(--ease), box-shadow .16s var(--ease);
}

.product-details-gallery a:hover,
.product-details-gallery .gal-vthumb:hover {
    border-color: var(--ink);
}

/* izbrana sličica (hover-galerija, 25.8.2026) */
.product-details-gallery .is-sel {
    border-color: var(--brand);
    box-shadow: 0 0 0 1px var(--brand);
}

.product-details-gallery img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 4px;
    mix-blend-mode: multiply;
}

/* 25.8.2026: prva sličica NI več skrita — trak je izbirnik hover-galerije
   in vsebuje vse slike (productsScripts.php zdaj vrne vse, ne od druge dalje). */

/* video sličica v traku */
.product-details-gallery .gal-vthumb {
    position: relative;
    padding: 0;
    background: #000;
}

.product-details-gallery .gal-vthumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    padding: 0;
    mix-blend-mode: normal;
    opacity: .85;
}

.gal-vplay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 24px;
    height: 24px;
    border-radius: var(--r-full);
    background: var(--brand);
}

.gal-vplay::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-35%, -50%);
    border-style: solid;
    border-width: 5px 0 5px 8px;
    border-color: transparent transparent transparent #fff;
}


/* =====================================================================
   18 FILTRI NA TELEFONU — poteg (20.8.2026)

   Mora biti NA KONCU datoteke: razdelek »17.4 filtri« je brez media
   poizvedbe in stoji za starim blokom @media (max-width: 620px), zato ga je
   ta povozil — čipi so se na telefonu lomili v tri vrstice namesto da bi se
   listali. Media poizvedba ne poveča specificnosti, zato odloca vrstni red.

   Poteg opravi brskalnik sam (overflow-x + scroll-snap), JS ni potreben.
   ===================================================================== */
@media (max-width: 720px) {
    .filters {
        flex-wrap: nowrap;
        justify-content: flex-start;
        overflow-x: auto;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
        margin-block: var(--s-4) var(--s-6);
        /* cipi se lahko dotaknejo roba zaslona, a nista odrezana prvi in zadnji */
        margin-inline: calc(-1 * var(--s-4));
        padding-inline: var(--s-4);
        padding-block: 3px;
    }

    .filters::-webkit-scrollbar {
        display: none;
    }

    .filters .filter {
        flex: 0 0 auto;
        scroll-snap-align: start;
    }
}

/* =====================================================================
   19 NAKUPNI GUMBI V MODRI (21.8.2026)

   Na željo naročnika so gumbi nakupne poti v barvi znamke (--brand),
   ne v črnilu: »V košarico« v seznamu in na strani izdelka, ikona
   košarice v glavi ter »Oddaj naročilo« na blagajni (v povzetku in v
   mobilni vrstici — oba imata razred .co-submit).

   Gumb »Na blagajno« v predalu košarice je bil moder že prej
   (.btn-brand v sideBasket.php), zato je nakupna pot zdaj enotna.

   Ostali gumbi ostajajo črni — obrazci, prijava, »Vnesi podatke«,
   popup. Če bi bilo modro vse, modra ne bi več pomenila »nakup«.

   Blok mora stati NA KONCU datoteke: primarna pravila v razdelku 05
   imajo enako specifičnost, zato odloča vrstni red (isto opozorilo
   kot pri razdelku 18).
   ===================================================================== */
.adToBasket,
input[type=button].adToBasket,
.product-item .quick-add-btn,
.co-submit {
    background: var(--brand);
    border-color: var(--brand);
    color: #fff;
}

.adToBasket:hover,
input[type=button].adToBasket:hover,
.product-item .quick-add-btn:hover,
.co-submit:hover {
    background: var(--brand-dark);
    border-color: var(--brand-dark);
    color: #fff;
    box-shadow: var(--shadow);
}

/* ikona košarice v glavi (tudi mobilna, .basketReveal.sBag) */
.sBag {
    background: var(--brand);
}

.sBag:hover {
    background: var(--brand-dark);
    color: #fff;
}

/* =====================================================================
   20 MOBILNE DODELAVE (21.8.2026)

   Mora stati NA KONCU datoteke — popravlja pravila iz razdelkov 07, 16
   in 17, ki imajo enako specifičnost, zato odloča vrstni red (ista
   omejitev kot pri razdelkih 18 in 19).
   ===================================================================== */

/* --- 20.1 Izbira jezika v vrhnjem traku ------------------------------
   NAPAKA: razdelek 17 je pod 900 px skril VSE `.top-usp` — tudi gumb za
   jezik in državo, ki ta razred deli. Na telefonu torej ni bilo nobene
   poti do drugega jezika. Besedili (dostava, vračilo) ostaneta skriti,
   gumb pa ne. */
@media (max-width: 900px) {
    .top-usp.top-pref {
        display: inline-flex;
    }

    /* moto levo, gumb desno — ne več na sredino */
    .topLine {
        justify-content: space-between;
        gap: var(--s-3);
    }
}

@media (max-width: 620px) {
    /* ime države zavzame preveč; ostaneta globus in oznaka jezika */
    .top-pref [data-pref="country"] {
        display: none;
    }
}

/* --- 20.2 Mobilni meni ----------------------------------------------- */

/* glava menija: logo in × poravnana, ločnica pod njima */
.panel {
    padding-top: 0;
}

.panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 64px;
    margin: 0 calc(-1 * var(--s-5)) var(--s-2);
    padding: 0 var(--s-5);
    border-bottom: 1px solid var(--line-2);
    flex: none;
}

.panel-head .close-side {
    font-size: 26px;
    line-height: 1;
    color: var(--ink-3);
    cursor: pointer;
    padding: var(--s-2);
    margin-right: calc(-1 * var(--s-2));
}

.panel-head .close-side:hover {
    color: var(--ink);
}

/* povezave: večja tarča za prst in puščica ob desnem robu */
.panel ul {
    flex: 1 1 auto;
}

.panel li:last-child {
    border-bottom: 0;
}

.panel li > div {
    position: relative;
}

.panel li a {
    padding-block: 14px;
}

.panel li > div > a::after {
    content: "";
    position: absolute;
    right: var(--s-1);
    top: 50%;
    width: 8px;
    height: 8px;
    border-right: 1.6px solid var(--ink-4, #b9bec7);
    border-top: 1.6px solid var(--ink-4, #b9bec7);
    transform: translateY(-50%) rotate(45deg);
}

/* podkategorije (rwdMore) puščico rišejo same — tam vodilne ne rabimo.
   (Trenutno navigacija podkategorij nima; pravilo je obramba za naprej.) */
.panel li > div:has(+ .rwdMore) > a::after {
    content: none;
}

/* noga: prijava in izbira jezika */
.panel-foot {
    flex: none;
    margin: var(--s-4) calc(-1 * var(--s-5)) calc(-1 * var(--s-5));
    padding: var(--s-3) var(--s-5) calc(var(--s-4) + env(safe-area-inset-bottom));
    background: var(--bg-2);
    border-top: 1px solid var(--line-2);
}

.panel-foot-link {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    width: 100%;
    padding: var(--s-3) var(--s-1);
    border: 0;
    background: none;
    font-family: inherit;
    font-size: var(--fs-base);
    font-weight: 500;
    color: var(--ink);
    text-align: left;
    cursor: pointer;
}

.panel-foot-link:hover {
    color: var(--brand-dark);
}

.panel-foot-link .ico-globe {
    width: 17px;
    height: 17px;
}

.panel-foot-link[hidden] {
    display: none;
}

/* --- 20.3 Piškotkovni trak nad mobilno vrstico blagajne --------------
   Vrstica z zneskom in gumbom (z-index 85) je trak (z-index 75) na
   blagajni prekrila. Trak se dvigne nad njo; višini sledita odmikom
   telesa, ki ju nastavljata co-bar-on/co-bar-tall. */
@media (max-width: 1080px) {
    /* trak je #cookieInfo — ID prebije razredni selektor, zato mora biti tu */
    body.co-bar-on .simple-modal,
    body.co-bar-on #cookieInfo {
        bottom: 96px;
    }

    body.co-bar-on.co-bar-tall .simple-modal,
    body.co-bar-on.co-bar-tall #cookieInfo {
        bottom: 130px;
    }
}

/* --- 20.4 Stran izdelka: zaloga in rok dobave ------------------------ */
.delivery-note {
    display: inline-flex;
    align-items: baseline;
    gap: var(--s-1);
    font-size: var(--fs-sm);
    color: var(--ink-2);
    white-space: nowrap;
}

.delivery-note b {
    font-weight: 500;
    color: var(--ink-3);
}

/* --- 20.5 Ikona menija (21.8.2026) -----------------------------------
   Prej sliki v <p> s privzetimi odmiki — od tod čudna poravnava. Zdaj so
   tri črtice narisane s CSS; ob odprtem meniju se zlijejo v ×. */
.responsive-nav {
    padding: 0;
    border: 0;
    background: none;
}

@media (max-width: 900px) {
    .responsive-nav {
        display: grid;
        place-items: center;
        width: 44px;
        height: 44px;
        margin-left: auto;
        border-radius: var(--r-full);
        cursor: pointer;
        transition: background .16s var(--ease);
    }

    .responsive-nav:hover {
        background: var(--bg-2);
    }
}

.nav-ico {
    position: relative;
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 2px;
    background: var(--ink);
    transition: background .18s var(--ease);
}

.nav-ico::before,
.nav-ico::after {
    content: "";
    position: absolute;
    left: 0;
    width: 22px;
    height: 2px;
    border-radius: 2px;
    background: var(--ink);
    transition: transform .22s var(--ease);
}

.nav-ico::before { top: -7px; }
.nav-ico::after  { top: 7px; }

.start-nav.is-open .nav-ico {
    background: transparent;
}

.start-nav.is-open .nav-ico::before {
    transform: translateY(7px) rotate(45deg);
}

.start-nav.is-open .nav-ico::after {
    transform: translateY(-7px) rotate(-45deg);
}

/* --- 20.6 Pogoji poslovanja v sklopu 2 (21.8.2026) ------------------- */
.co-terms {
    margin-top: var(--s-4);
}

.co-terms input.is-invalid {
    outline: 2px solid var(--err);
    outline-offset: 1px;
}

.co-terms input.is-invalid + label {
    color: var(--err);
}

/* --- 20.7 Zložen povzetek naročnika (21.8.2026) ----------------------
   Zelena kljukica pove, da je korak opravljen; gumb za popravek je tih,
   s svinčnikom, in OSTANE v isti vrstici tudi na telefonu (prejšnje
   pravilo pri 420 px ga je lomilo v svojo vrstico). */
.co-buyer-done {
    flex-wrap: nowrap;
    align-items: center;
}

/* besedilo zapolni sredino — kljukica levo, gumb desno */
.co-buyer-done-txt {
    flex: 1 1 auto;
}

/* e-naslov naj se ne lomi sredi besede — na ozkem zaslonu gre v svojo
   vrstico cel (prejšnji overflow-wrap:anywhere ga je rezal poljubno) */
.co-buyer-done-txt span {
    overflow-wrap: break-word;
}

.co-done-ico {
    flex: none;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--ok);
    position: relative;
}

.co-done-ico::after {
    content: "";
    position: absolute;
    inset: 0;
    background: #fff;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat;
}

.co-edit-btn {
    flex: none;
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    height: 34px;
    padding: 0 var(--s-3);
    border: 1px solid var(--line);
    border-radius: var(--r-full);
    background: var(--surface);
    font-family: inherit;
    font-size: var(--fs-xs);
    font-weight: 500;
    color: var(--ink-2);
    white-space: nowrap;
    cursor: pointer;
    transition: border-color .16s var(--ease), color .16s var(--ease), background .16s var(--ease);
}

.co-edit-btn:hover {
    border-color: var(--ink);
    color: var(--ink);
    background: var(--bg-2);
}

.ico-pencil {
    flex: none;
    width: 12px;
    height: 12px;
    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='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z'/%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='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* Na telefonu gumb obdrži samo svinčnik — besedilo bi sicer e-naslov
   stisnilo v lomljenje sredi besede. Napis ostane v DOM (bralniki). */
@media (max-width: 480px) {
    .co-edit-btn {
        font-size: 0;
        gap: 0;
        width: 34px;
        padding: 0;
        justify-content: center;
    }

    .co-edit-btn .ico-pencil {
        width: 14px;
        height: 14px;
    }
}

/* Potrditveni polji v obrazcu (podjetje, pogoji): razmik vodi SAMO mreža,
   da sta vrstici enakomerno pod poljem za telefon — ločnico pred gumbom
   nariše že .co-buyer-actions. */
#coBuyer .check-row {
    margin-bottom: 0;
    align-items: center;
}

.co-terms {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

/* --- 20.8 Vrstica se umakne pravemu gumbu (21.8.2026) ----------------
   Ko je kartica z gumbom »Oddaj naročilo« na zaslonu, fiksna vrstica
   zdrsne dol, gumb v kartici pa se pokaže (checkout.js, body.co-bar-off).
   V zaklenjenem stanju vrstica ostane — nosi namig. */
@media (max-width: 1080px) {
    .co-mobilebar {
        transition: transform .25s var(--ease);
    }

    body.co-bar-off .co-mobilebar {
        transform: translateY(110%);
    }

    body.co-bar-off .co-extra #coSubmit {
        display: flex;
    }
}

/* --- 20.9 »Briši« kot ikona v kotu kartice (21.8.2026) ---------------
   Namesto podčrtane besede ob količini je koš, pripet v desni zgornji
   kot vrstice. Napis ostane v DOM (bralniki zaslona), skrije ga font-size:0. */
.co-line {
    position: relative;
}

.co-line .co-remove {
    position: absolute;
    top: var(--s-4);
    right: 0;
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    font-size: 0;
    color: var(--ink-3);
    cursor: pointer;
    transition: background .16s var(--ease), color .16s var(--ease);
}

.co-line:first-of-type .co-remove {
    top: 0;
}

.co-line .co-remove::before {
    content: "";
    width: 15px;
    height: 15px;
    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='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6'/%3E%3Cpath d='M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/%3E%3Cpath d='M10 11v6M14 11v6'/%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='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6'/%3E%3Cpath d='M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/%3E%3Cpath d='M10 11v6M14 11v6'/%3E%3C/svg%3E") center/contain no-repeat;
}

.co-line .co-remove:hover {
    background: var(--err-tint);
    color: var(--err);
}

/* naziv naj se ne podvleče pod koš */
.co-line .co-line-name {
    padding-right: 34px;
}

/* =====================================================================
   21 KONTAKTNA STRAN (21.8.2026)

   Obrazec v kartici levo, kontaktni podatki in podatki podjetja desno.
   Vir podatkov je tabela `company` (Admin → Podatki podjetja) — glej
   sites/kontakt.php.
   ===================================================================== */
.contact-page {
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 var(--s-5) var(--s-8);
}

.contact-head {
    padding: var(--s-6) 0 var(--s-6);
}

.contact-head .lead {
    max-width: 560px;
    margin-top: var(--s-3);
    color: var(--ink-3);
}

.contact-grid {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: var(--s-5);
    align-items: start;
}

.contact-card {
    padding: var(--s-6);
}

.contact-card-title {
    font-size: var(--fs-lg);
    letter-spacing: -.015em;
    margin-bottom: var(--s-5);
}

.contact-card .form-actions {
    margin-top: var(--s-5);
    padding-top: var(--s-5);
    border-top: 1px solid var(--line-2);
}

.contact-card .form-actions .btn {
    min-width: 220px;
}

/* stolpec s podatki */
.contact-aside {
    display: flex;
    flex-direction: column;
    gap: var(--s-5);
    /* na široki mizi naj sledi drsenju, kot povzetek na blagajni */
    position: sticky;
    top: calc(var(--header-h) + var(--s-5));
}

.contact-row {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    padding: var(--s-3) 0;
    border-bottom: 1px solid var(--line-2);
    color: var(--ink);
    font-weight: 500;
}

.contact-row:last-of-type {
    border-bottom: 0;
}

a.contact-row:hover {
    color: var(--brand-dark);
}

.contact-ico {
    flex: none;
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--brand-tint);
}

.contact-ico::after {
    content: "";
    width: 16px;
    height: 16px;
    background: var(--brand-dark);
}

.contact-ico-phone::after {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%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='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") center/contain no-repeat;
}

.contact-ico-mail::after {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%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='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E") center/contain no-repeat;
}

.contact-ico-pin::after {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%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='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") center/contain no-repeat;
}

.contact-note {
    margin-top: var(--s-4);
    padding: var(--s-3) var(--s-4);
    border-radius: var(--r-sm);
    background: var(--ok-tint);
    color: var(--ok);
    font-size: var(--fs-sm);
    font-weight: 500;
}

.contact-social {
    display: flex;
    gap: var(--s-3);
    margin-top: var(--s-4);
}

.contact-social a {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    /* ikoni sta beli (kot v nogi), zato temna podlaga */
    background: var(--ink);
    transition: background .16s var(--ease), transform .12s var(--ease);
}

.contact-social a:hover {
    background: var(--brand);
    transform: translateY(-1px);
}

.contact-social img {
    width: 18px;
    height: 18px;
}

/* podatki podjetja — drobni tisk, brez kartice, da ne tekmuje s kontakti */
/* ⚠️ 25.8.2026: brez `padding` — `.contact-legal` je zdaj kartica (`.contact-card`)
   in je ta vrstica prevladala nad njenim notranjim robom (kartica je bila stisnjena
   ob rob). Videz kartice ureja razdelek 21.1. */
.contact-legal {
    font-size: var(--fs-sm);
    color: var(--ink-3);
}

.contact-legal h3 {
    font-size: var(--fs-xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--ink-3);
    margin-bottom: var(--s-3);
}

.contact-legal-name {
    color: var(--ink-2);
    line-height: 1.6;
    margin-bottom: var(--s-3);
}

.contact-legal dl {
    margin: 0;
}

.contact-legal dl > div {
    display: flex;
    justify-content: space-between;
    gap: var(--s-4);
    padding: var(--s-1) 0;
}

.contact-legal dt {
    color: var(--ink-4, #8a919c);
}

.contact-legal dd {
    margin: 0;
    font-variant-numeric: tabular-nums;
}

@media (max-width: 900px) {
    .contact-grid {
        grid-template-columns: 1fr;
    }

    .contact-aside {
        position: static;
    }
}

@media (max-width: 620px) {
    .contact-page {
        padding-inline: var(--s-4);
    }

    .contact-card {
        padding: var(--s-5);
    }

    .contact-card .form-actions .btn {
        width: 100%;
        min-width: 0;
    }
}

/* =====================================================================
   21.1 KONTAKTNA STRAN — prenova 25.8.2026 (Tobaccostuff)

   PRED: naslov + uvod, obrazec levo, ozek stolpec kontaktnih vrstic desno
   (postavitev iz ROFI). PO: tri ploščice na vrhu, obrazec s podatki
   podjetja ob strani in zemljevid lokacije na dnu.
   ===================================================================== */

.contact-eyebrow {
    display: block;
    margin-bottom: var(--s-2);
    font-size: var(--fs-xs);
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--brand-dark);
}

.contact-head h1::after {
    content: "";
    display: block;
    width: 44px;
    height: 3px;
    margin-top: var(--s-4);
    border-radius: var(--r-sm);
    background: var(--brand);
}

/* ---------- ploščice s kontaktom ---------- */

.contact-tiles {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--s-4);
    margin-bottom: var(--s-5);
}

.contact-tile {
    display: flex;
    align-items: center;
    gap: var(--s-4);
    padding: var(--s-4) var(--s-5);
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    color: var(--ink);
    transition: border-color .16s var(--ease), box-shadow .16s var(--ease), transform .16s var(--ease);
}

.contact-tile:hover {
    border-color: var(--brand);
    box-shadow: var(--shadow-sm);
    transform: translateY(-1px);
    color: var(--ink);
}

/* ikone ploščic so bordo (ne oranžne kot v vrsticah prej) */
.contact-tile .contact-ico {
    width: 42px;
    height: 42px;
    border-radius: var(--r);
    background: var(--brand-deep);
}

.contact-tile .contact-ico::after {
    width: 19px;
    height: 19px;
    background: #fff;
}

.contact-tile-txt {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.contact-tile-l {
    font-size: var(--fs-xs);
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--ink-4);
}

.contact-tile strong {
    font-size: var(--fs-base);
    line-height: 1.35;
    overflow-wrap: anywhere;
}

/* ---------- obvestilo o odzivnem času (zdaj nad obrazcem) ---------- */

.contact-card .contact-note {
    margin: 0 0 var(--s-5);
    padding: var(--s-3) var(--s-4);
    background: var(--brand-tint);
    border-left: 3px solid var(--brand);
    border-radius: var(--r);
    color: var(--ink-2);
    font-size: var(--fs-sm);
    font-weight: 500;
}

/* ---------- kartica s podatki podjetja ---------- */

/* PRED (25.8.2026): gol odstavek z nazivom in vrstice dt/dd brez ločnic —
   kartica je bila videti nedokončana. PO: naziv z ikono v svoji vrstici,
   podatki v vrsticah s tankimi ločnicami in poravnanimi vrednostmi. */
/* ⚠️ Brez `padding` — element je hkrati `.contact-card` in bi ga ta pravila
   (nižje v datoteki) povozila na 0, zato bi se besedilo dotikalo robov. */
.contact-legal {
    font-size: var(--fs-sm);
    color: var(--ink-3);
}

.contact-firm {
    display: flex;
    align-items: flex-start;
    gap: var(--s-4);
    padding-bottom: var(--s-5);
    margin-bottom: var(--s-3);
    border-bottom: 1px solid var(--line-2);
}

.contact-firm .contact-ico {
    width: 38px;
    height: 38px;
    border-radius: var(--r);
    background: var(--brand-tint);
}

.contact-firm .contact-ico::after {
    width: 18px;
    height: 18px;
    background: var(--brand-deep);
}

.contact-ico-firm::after {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h18M5 21V5a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v16M14 10h4a1 1 0 0 1 1 1v10'/%3E%3Cpath d='M8 8h3M8 12h3M8 16h3'/%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='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h18M5 21V5a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v16M14 10h4a1 1 0 0 1 1 1v10'/%3E%3Cpath d='M8 8h3M8 12h3M8 16h3'/%3E%3C/svg%3E") center/contain no-repeat;
}

.contact-firm-txt {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    line-height: 1.5;
}

.contact-firm-txt strong {
    font-size: var(--fs-base);
    color: var(--ink);
}

.contact-legal dl {
    margin: 0;
}

.contact-legal dl > div {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: var(--s-4);
    /* 25.8.2026: več zraka — vrstice so bile videti natlačene */
    padding: var(--s-4) 0;
    border-bottom: 1px solid var(--line-2);
}

.contact-legal dl > div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

/* Oznake so mirne (mala začetnica, navadna teža) — verzalke v krepki pisavi
   so kartico delale glasno in natlačeno. */
.contact-legal dt {
    flex: none;
    font-size: var(--fs-sm);
    font-weight: 400;
    color: var(--ink-4);
}

.contact-legal dd {
    margin: 0;
    text-align: right;
    font-variant-numeric: tabular-nums;
    font-weight: 500;
    color: var(--ink);
    overflow-wrap: anywhere;
}

/* družabna omrežja pod podatki — ločena s črto */
.contact-legal .contact-social {
    margin-top: var(--s-4);
    padding-top: var(--s-4);
    border-top: 1px solid var(--line-2);
}

/* ---------- veleprodaja (25.8.2026) ---------- */

.contact-b2b {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--s-5);
    margin-top: var(--s-6);
    padding: clamp(var(--s-5), 4vw, var(--s-6));
    background: var(--brand-deep);
    border-radius: var(--r-lg);
    color: #fff;
}

.contact-b2b-copy {
    max-width: 640px;
}

.contact-b2b h2 {
    margin: 0 0 var(--s-2);
    font-size: var(--fs-xl);
    letter-spacing: -.02em;
    color: #fff;
}

.contact-b2b p {
    margin: 0;
    line-height: 1.6;
    color: rgba(255, 255, 255, .82);
}

@media (max-width: 620px) {
    .contact-b2b .btn {
        width: 100%;
    }
}

/* ---------- zemljevid ---------- */

.contact-map {
    margin-top: var(--s-6);
}

.contact-map-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--s-3);
    margin-bottom: var(--s-4);
}

.contact-map-head h2 {
    margin: 0;
    font-size: var(--fs-xl);
    letter-spacing: -.02em;
}

.contact-map-head .btn-ghost {
    border-color: var(--brand);
    color: var(--brand-dark);
}

.contact-map-head .btn-ghost:hover {
    background: var(--brand-tint);
    border-color: var(--brand-dark);
}

/* Razmerje 21:9 na namizju, na telefonu višji izsek — zemljevid v ozkem
   pasu ni berljiv. Vdelava je Googlova (brez ključa API), zato `loading=lazy`:
   naloži se šele, ko kupec pridrsa do nje. */
.contact-map-frame {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    background: var(--bg-2);
    aspect-ratio: 21 / 9;
}

.contact-map-frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

@media (max-width: 900px) {
    .contact-tiles {
        grid-template-columns: 1fr;
    }

    .contact-map-frame {
        aspect-ratio: 4 / 3;
    }
}

/* --- 21.x Obvestilo o preklicanem plačilu (Stripe Checkout, 21.8.2026) ---
   Stoji ZNOTRAJ mreže .checkout, zato mora čez oba stolpca — sicer zasede
   prvo celico in porine vsebino v desni stolpec. */
.co-cancel-note {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: var(--s-3);
    padding: var(--s-3) var(--s-4);
    border: 1px solid rgba(180, 83, 9, .25);
    border-radius: var(--r-sm);
    background: #fdf3e7;
    color: #b45309;
    font-size: var(--fs-sm);
    font-weight: 500;
}

.co-cancel-note::before {
    content: "";
    flex: none;
    width: 15px;
    height: 15px;
    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='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4M12 16h.01'/%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='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4M12 16h.01'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* --- 21.y Koda popusta na blagajni (21.8.2026) ----------------------- */
.co-cupon { margin-bottom: var(--s-4); padding-bottom: var(--s-4); border-bottom: 1px solid var(--line-2); }
.co-cupon-form { display: flex; gap: var(--s-2); }
.co-cupon-form input { flex: 1 1 auto; min-width: 0; }
.co-cupon-form .btn-ghost { flex: none; height: 46px; padding: 0 var(--s-4); border-radius: var(--r-sm); font-size: var(--fs-sm); font-weight: 500; cursor: pointer; }
.co-cupon .err-msg { margin-top: var(--s-2); }
.co-cupon-ok { display: flex; align-items: center; gap: var(--s-3); padding: var(--s-3); border-radius: var(--r-sm); background: var(--ok-tint); }
.co-cupon-tick { flex: none; width: 20px; height: 20px; border-radius: 50%; background: var(--ok); position: relative; }
.co-cupon-tick::after { content: ""; position: absolute; inset: 0; background: #fff; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23000%27 stroke-width=%273%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M20 6 9 17l-5-5%27/%3E%3C/svg%3E") center/11px no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23000%27 stroke-width=%273%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M20 6 9 17l-5-5%27/%3E%3C/svg%3E") center/11px no-repeat; }
.co-cupon-txt { flex: 1 1 auto; min-width: 0; font-size: var(--fs-sm); line-height: 1.4; }
.co-cupon-txt strong { display: block; color: var(--ok); }
.co-cupon-txt span { color: var(--ink-2); letter-spacing: .04em; }
.co-cupon-remove { flex: none; width: 26px; height: 26px; border: 0; border-radius: 50%; background: none; color: var(--ink-3); font-size: 17px; line-height: 1; cursor: pointer; }
.co-cupon-remove:hover { background: rgba(0,0,0,.06); color: var(--ink); }
.co-cupon-gifts { margin-top: var(--s-3); }
.co-cupon-gifts-title { font-size: var(--fs-sm); font-weight: 600; margin-bottom: var(--s-2); }
.co-cupon-gift { display: flex; align-items: center; gap: var(--s-2); padding: var(--s-2) var(--s-3); border: 1px solid var(--line); border-radius: var(--r-sm); margin-bottom: var(--s-2); font-size: var(--fs-sm); cursor: pointer; }
.co-cupon-gift.is-active { border-color: var(--ok); background: var(--ok-tint); }
.co-cupon-gift-name { flex: 1 1 auto; min-width: 0; }
.co-cupon-gift-free { flex: none; color: var(--ok); font-weight: 600; }

/* prečrtana cena kosa ob kuponu (21.8.2026) */
.co-line-old { display: block; font-size: var(--fs-xs); color: var(--ink-4, #9aa1ab); text-decoration: line-through; font-weight: 400; }
.sum-discount span:first-child { max-width: 60%; }

/* Zrak med košem in ceno v vrstici (21.8.2026): cena v desnem stolpcu se
   poravna pod ikono z odmikom, ne več tik ob njej. Na telefonu ima cena
   svoje mesto v vrstici s količino, zato tam ostane po starem. */
@media (min-width: 621px) {
    .co-line-right { align-self: start; padding-top: 40px; padding-bottom: 0; }
}

/* ==========================================================================
   22. OBVESTILNE STRANI — 404, prazna košarica, zahvalna sporočila (21.8.2026)
   Markup: sites/404.php, sites/ui.php, sites/checkout.php (empty_basket).
   Kartica nadgradi osnovni .thank-you-page iz razdelka zgoraj.
   ========================================================================== */

.thank-you-page {
    max-width: 640px;
    margin: var(--s-8) auto;
    padding: var(--s-7) var(--s-6);
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-sm);
    color: var(--ink-2);
    line-height: 1.65;
}

/* duhec na zahvalnih straneh — v mehkem krogu barve znamke */
.thank-you-page > img {
    width: 96px;
    height: 96px;
    object-fit: contain;
    padding: 24px;
    background: var(--brand-tint);
    border-radius: 50%;
    margin: 0 auto var(--s-5);
}

.thank-you-page h1 {
    font-size: var(--fs-2xl);
    font-weight: 700;
    color: var(--ink);
    line-height: 1.25;
    margin: 0 0 var(--s-4);
}

.thank-you-page p {
    margin: 0 0 var(--s-3);
}

.thank-you-page a:not([class]) {
    color: var(--brand-dark);
    font-weight: 500;
}

/* vrstica z gumbi pod sporočilom */
.notice-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-3);
    justify-content: center;
    margin-top: var(--s-6);
}

/* 404 — velika tipografska koda v barvi znamke */
.notice-code {
    font-size: clamp(72px, 16vw, 128px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.04em;
    background: linear-gradient(135deg, var(--brand), var(--brand-dark));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    margin-bottom: var(--s-4);
}

.notice-404 .lost-links {
    margin-top: var(--s-6);
    padding-top: var(--s-6);
    border-top: 1px solid var(--line-2);
}

/* prazna košarica — ikona v krogu (inline SVG namesto duhca) */
.notice-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 96px;
    height: 96px;
    background: var(--brand-tint);
    color: var(--brand-dark);
    border-radius: 50%;
    margin-bottom: var(--s-5);
}

/* mreža kategorij pod kartico prazne košarice — čez polno širino */
.notice-cats {
    max-width: var(--container);
    margin: var(--s-6) auto var(--s-8);
    padding-inline: var(--s-5);
}

@media (max-width: 640px) {
    .thank-you-page {
        margin: var(--s-5) var(--s-4);
        padding: var(--s-6) var(--s-4);
    }

    .thank-you-page > img,
    .notice-icon {
        width: 76px;
        height: 76px;
    }

    .thank-you-page > img {
        padding: 18px;
    }

    .thank-you-page h1 {
        font-size: var(--fs-xl);
    }

    .notice-actions .btn {
        width: 100%;
        justify-content: center;
    }
}


/* =====================================================================
   23 NOGA — prenova 22.8.2026

   Razdelek mora ostati NA KONCU datoteke: pravila spodaj popravljajo
   razdelek 08, ki ima enako specifičnost, zato odloča vrstni red — isto
   opozorilo kot pri razdelkih 18–20.
   ===================================================================== */

/* SPREMEMBA 25.8.2026 (Tobaccostuff): topel skoraj-črn ton (temnejši od
   pasu kategorij v glavi), oranžna vrhnja črta kot podpis znamke. */
.footer {
    margin-top: var(--s-9);
    padding: 0 var(--s-5) var(--s-5);
    background: #191411;
    border-top: 3px solid var(--brand);
    color: rgba(255, 255, 255, .62);
    font-size: var(--fs-sm);
    line-height: 1.65;
}

/* ---------- 23.1 pas prednosti ---------- */

/* SPREMEMBA 25.8.2026 (3. krog): prednosti kot KARTICE, ne gola vrsta
   ikona + besedilo (ta je bila enaka ROFI). */
.foot-usp {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--s-4);
    padding: var(--s-7) 0 var(--s-6);
    border-bottom: 1px solid rgba(255, 255, 255, .1);
}

/* kadar država nima praga ali roka dobave, sta postavki dve ali tri —
   auto-fit poskrbi, da se preostale enakomerno razporedijo */
.foot-usp:has(> :nth-child(3):last-child) {
    grid-template-columns: repeat(3, 1fr);
}

.foot-usp-item {
    display: flex;
    align-items: flex-start;
    gap: var(--s-3);
    padding: var(--s-4);
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: var(--r-lg);
}

/* SPREMEMBA 25.8.2026: oglate oranžno tonirane ploščice namesto sivih krogov */
.foot-usp-ico {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: var(--r);
    background: rgba(240, 128, 0, .14);
    color: var(--brand);
}

.foot-usp-ico svg {
    width: 21px;
    height: 21px;
}

.foot-usp-txt {
    display: block;
    min-width: 0;
}

.foot-usp-txt strong {
    display: block;
    color: #fff;
    font-size: var(--fs-base);
    font-weight: 600;
    letter-spacing: -.01em;
    line-height: 1.35;
}

.foot-usp-txt span {
    display: block;
    margin-top: 2px;
    color: rgba(255, 255, 255, .5);
    font-size: var(--fs-xs);
    line-height: 1.5;
}

/* ---------- 23.2 stolpci ---------- */

.foot-main {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr 1.2fr;
    gap: var(--s-6);
    padding: var(--s-7) 0;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
}

.foot-brand .foot-logo {
    display: inline-block;
}

.foot-brand .foot-logo img {
    width: 150px;
    height: auto;
}

.foot-opis {
    margin: var(--s-4) 0 0;
    max-width: 34ch;
    color: rgba(255, 255, 255, .55);
    font-size: var(--fs-sm);
}

/* SPREMEMBA 25.8.2026 (3. krog): naslov spet bel, znamko nosi oranžna
   črtica pred njim. */
.foot-col h3 {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    margin: 0 0 var(--s-4);
    color: #fff;
    font-size: var(--fs-xs);
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.foot-col h3::before {
    content: "";
    flex: none;
    width: 16px;
    height: 2px;
    border-radius: var(--r-full);
    background: var(--brand);
}

/* getExtNavigation() izpiše gole <a>; stolpec iz njih naredi CSS,
   zato funkcije ni bilo treba spreminjati */
.foot-links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--s-2);
}

.foot-links a {
    position: relative;
    color: rgba(255, 255, 255, .62);
    transition: color .16s var(--ease);
}

.foot-links a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 100%;
    bottom: -2px;
    height: 1px;
    background: currentColor;
    transition: right .22s var(--ease);
}

.foot-links a:hover {
    color: var(--brand);
}

.foot-links a:hover::after {
    right: 0;
}

.foot-naslov {
    margin: var(--s-4) 0 0;
    color: rgba(255, 255, 255, .45);
    font-size: var(--fs-xs);
    line-height: 1.7;
}

.footer .social {
    gap: var(--s-2);
    padding-block: var(--s-5) 0;
}

.footer .social a {
    width: 36px;
    height: 36px;
}

/* ---------- 23.3 podpisni pas (25.8.2026, 3. krog) ----------
   Bordo trak čez VSO širino strani (izniči padding .footer in omejitev
   `.footer > *` na širino vsebine) — zrcali bordo vrhnji trak. V njem so
   podpis, plačilne ikone in avtorstvo; ločeni vrstici .foot-pay + .pgEnd
   iz prejšnje različice sta odstranjeni iz predloge. */
.foot-bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--s-3) var(--s-5);
    max-width: none;
    margin: var(--s-6) calc(-1 * var(--s-5)) calc(-1 * var(--s-5));
    padding: var(--s-4) var(--s-5);
    background: var(--brand-deep);
    color: rgba(255, 255, 255, .75);
    font-size: var(--fs-xs);
}

.foot-bottom .foot-pay {
    display: flex;
    align-items: center;
    margin-left: auto;
}

.foot-bottom .foot-madeby {
    color: rgba(255, 255, 255, .6);
}

.foot-bottom .foot-madeby:hover {
    color: #fff;
}

.pay-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-2);
    margin: 0;
    padding: 0;
    list-style: none;
}

.pay-chip {
    display: grid;
    place-items: center;
    width: 52px;
    height: 34px;
    padding: 0 var(--s-1);
    border-radius: var(--r-sm);
    background: #fff;
    box-shadow: 0 1px 0 rgba(0, 0, 0, .3);
}

.pay-chip svg {
    width: 100%;
    height: 20px;
    display: block;
}

/* Apple Pay, Google Pay in PayPal so širši — v znaku je še beseda.
   Razred namesto :nth-child, ker je PayPal pogojen (3.9.2026) in bi se
   številke ob vsakem novem znaku premaknile. */
.pay-chip-wide {
    width: 62px;
}

/* predračun in povzetje sta risana s črto, ne barvna znaka */
.pay-chip-line {
    color: var(--ink-2);
}

/* ---------- 23.4 podpis ---------- */

.footer .pgEnd {
    padding-top: var(--s-5);
    border-top: 0;
    color: rgba(255, 255, 255, .38);
}

.foot-legal {
    font-size: var(--fs-xs);
}

/* ---------- 23.5 odzivnost ---------- */

@media (max-width: 1080px) {
    /* trije stolpci in znamka čez vse tri — pri dveh bi Kontakt ostal sam v
       tretji vrstici in poleg njega bi zijala prazna celica */
    .foot-main {
        grid-template-columns: repeat(3, 1fr);
        gap: var(--s-6) var(--s-5);
    }

    .foot-brand {
        grid-column: 1 / -1;
    }

    .foot-opis {
        max-width: 52ch;
    }
}

@media (max-width: 860px) {
    .foot-usp {
        grid-template-columns: 1fr 1fr;
        gap: var(--s-5);
        padding: var(--s-6) 0;
    }

    .foot-usp:has(> :nth-child(3):last-child) {
        grid-template-columns: 1fr 1fr;
    }

    .foot-main {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 560px) {
    .footer {
        padding-inline: var(--s-4);
    }

    .foot-usp {
        grid-template-columns: 1fr;
        gap: var(--s-4);
    }

    .foot-usp:has(> :nth-child(3):last-child) {
        grid-template-columns: 1fr;
    }

    .foot-usp-ico {
        width: 36px;
        height: 36px;
    }

    .foot-usp-ico svg {
        width: 18px;
        height: 18px;
    }

    .foot-main {
        grid-template-columns: 1fr;
        gap: var(--s-6);
        padding: var(--s-6) 0;
    }

    .foot-opis {
        max-width: none;
    }

    .foot-pay {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--s-3);
    }

    .footer .pgEnd {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--s-2);
    }
}


/* =====================================================================
   24 VSTOPNA STRAN — izpostavljeni sekciji in kategorije v eni vrsti
   (22.8.2026)

   Razdelek mora ostati NA KONCU datoteke: pravila za .categories
   popravljajo razdelek 09b z enako specifičnostjo, zato odloča vrstni red.
   ===================================================================== */

/* ---------- 24.1 izpostavljeni sekciji ---------- */

/* 25.8.2026: izpostavi sta PAS ČEZ VSO ŠIRINO z isto toplo podlago kot
   hero (--grad-warm). Podlago nosi .features, vsebina pa ostane omejena na
   --container prek .feature — zato je padding-inline preseljen navznoter. */
.features {
    max-width: none;
    margin: var(--s-9) 0 0;
    padding-block: var(--s-8);
    background: var(--grad-warm);
    display: grid;
    gap: var(--s-8);
}

.feature {
    max-width: var(--container);
    width: 100%;
    margin-inline: auto;
    padding-inline: var(--s-5);
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: var(--s-7);
}

/* vsaka druga sekcija zamenja stolpca — slika gre na desno */
.feature-alt .feature-media {
    order: 2;
}

.feature-media {
    border-radius: var(--r-lg);
    overflow: hidden;
    /* brez lastne podlage — mix-blend-mode: multiply zlije belo ozadje
       fotografije s toplim pasom (prej: var(--bg-2)) */
    background: transparent;
    line-height: 0;
}

.feature-media img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    transition: transform .6s var(--ease);
}

.feature:hover .feature-media img {
    transform: scale(1.03);
}

.feature-eyebrow {
    display: inline-block;
    margin-bottom: var(--s-3);
    padding: 5px 10px;
    border-radius: var(--r-full);
    background: var(--brand-tint);
    color: var(--brand-dark);
    font-size: var(--fs-xs);
    font-weight: 600;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.feature-title {
    margin: 0 0 var(--s-4);
    font-size: var(--fs-2xl);
    font-weight: 650;
    letter-spacing: -.02em;
    line-height: 1.2;
}

.feature-text {
    color: var(--ink-2);
    font-size: var(--fs-base);
    line-height: 1.7;
}

.feature-text p {
    margin: 0 0 var(--s-4);
}

/* seznam prednosti — kljukica namesto pike, da sekcija bere kot argument */
.feature-text ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: var(--s-2);
}

.feature-text li {
    position: relative;
    padding-left: 28px;
    color: var(--ink-2);
}

.feature-text li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .45em;
    width: 16px;
    height: 16px;
    border-radius: var(--r-full);
    background: var(--brand-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23c05e00' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 8.4 2.6 2.6L12 5.6'/%3E%3C/svg%3E") center/11px no-repeat;
}

.feature-btn {
    margin-top: var(--s-5);
}

/* ---------- 24.2 kategorije v eni vrsti ---------- */

.cat-rail {
    position: relative;
    max-width: var(--container);
    margin-inline: auto;
}

/* Mreža → vodoravni drsnik. scroll-snap poskrbi za poteg na telefonu
   brez ene same vrstice JS. */
.categories {
    --cat-per: 5;
    display: flex;
    grid-template-columns: none;
    gap: var(--s-4);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    padding-inline: var(--s-5);
    padding-bottom: var(--s-1);
}

.categories::-webkit-scrollbar {
    display: none;
}

.category-item {
    flex: 0 0 calc((100% - (var(--cat-per) - 1) * var(--s-4)) / var(--cat-per));
    scroll-snap-align: start;
}

/* puščici — samo na namizju; na dotik se lista s potegom.
   Skripta ju odkrije šele, ko je kaj za listati (shop.js). */
.cat-nav {
    position: absolute;
    top: calc(50% - 20px);
    z-index: 3;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 1px solid var(--line);
    border-radius: var(--r-full);
    background: var(--surface);
    box-shadow: var(--shadow);
    cursor: pointer;
    transition: border-color .16s var(--ease), opacity .16s var(--ease);
}

.cat-nav[hidden] {
    display: none;
}

.cat-nav::before {
    content: "";
    width: 9px;
    height: 9px;
    border-right: 2px solid var(--ink);
    border-bottom: 2px solid var(--ink);
}

.cat-prev {
    left: 4px;
}

.cat-prev::before {
    transform: rotate(135deg);
    margin-left: 3px;
}

.cat-next {
    right: 4px;
}

.cat-next::before {
    transform: rotate(-45deg);
    margin-right: 3px;
}

.cat-nav:hover {
    border-color: var(--ink);
}

.cat-nav:disabled {
    opacity: .35;
    cursor: default;
    border-color: var(--line);
}

/* ---------- 24.3 odzivnost ---------- */

@media (max-width: 1200px) {
    .categories {
        --cat-per: 4;
    }
}

@media (max-width: 980px) {
    .feature {
        grid-template-columns: 1fr;
        gap: var(--s-5);
    }

    /* v enem stolpcu je slika vedno prva — zamenjava stolpcev nima smisla */
    .feature-alt .feature-media {
        order: 0;
    }

    .feature-media img {
        aspect-ratio: 16 / 10;
    }

    .categories {
        --cat-per: 3;
    }

    .cat-nav {
        display: none;
    }
}

@media (max-width: 620px) {
    .features {
        margin-top: var(--s-8);
        gap: var(--s-7);
        padding-block: var(--s-7);
    }

    .feature {
        padding-inline: var(--s-4);
    }

    .feature-title {
        font-size: var(--fs-xl);
    }

    /* pogled na 1,5 kartice pove, da se da potegniti naprej */
    .categories {
        --cat-per: 1.5;
        gap: var(--s-3);
        padding-inline: var(--s-4);
    }

    .category-item {
        flex-basis: calc((100% - .5 * var(--s-3)) / 1.5);
    }
}


/* =====================================================================
   25 ISKANJE, ORODNA VRSTICA SEZNAMA, STRANIČENJE, TABELA VELIKOSTI
   (22.8.2026)

   Razdelek mora ostati NA KONCU datoteke — pravila za `.categories` in
   `.product-options` popravljajo starejša z enako specifičnostjo.
   ===================================================================== */

/* ---------- 25.1 iskanje: ikona v glavi + prekrivno okno ---------- */

/* V glavi je samo ikona — polje je prej stiskalo navigacijo in odrezalo
   logotip. Ikona je prava povezava na `iskanje`, JS jo prestreže. */
/* SPREMEMBA 25.8.2026 (Tobaccostuff, 3. krog): iskanje kot obrobljen okrogel
   gumb z odebeljenim povečevalnim steklom in piko v sredini (prej gola ikona). */
.hdr-search-open {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 1px solid var(--line);
    border-radius: var(--r-full);
    background: var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23241f1a' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='9' cy='9' r='5.5'/%3E%3Ccircle cx='9' cy='9' r='.6' fill='%23241f1a'/%3E%3Cpath d='m13.4 13.4 3.8 3.8'/%3E%3C/svg%3E") center/18px no-repeat;
    transition: border-color .15s var(--ease), background-color .15s var(--ease);
}

.hdr-search-open:hover {
    border-color: var(--brand);
    background-color: var(--brand-tint);
}

/* prekrivno okno */
.search-overlay {
    position: fixed;
    inset: 0;
    z-index: 120;
}

.search-overlay[hidden] { display: none; }

.so-back {
    position: absolute;
    inset: 0;
    background: rgba(10, 14, 20, .62);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}

.so-win {
    position: relative;
    width: min(680px, calc(100% - 32px));
    margin: clamp(64px, 14vh, 160px) auto 0;
}

.so-form {
    position: relative;
    display: flex;
}

.so-form input {
    width: 100%;
    height: 60px;
    padding: 0 60px 0 22px;
    border: 0;
    border-radius: var(--r-lg);
    background: var(--surface);
    box-shadow: var(--shadow-xl);
    font-size: var(--fs-lg);
    color: var(--ink);
}

.so-form input:focus { outline: none; }

.so-go {
    position: absolute;
    right: 10px;
    top: 10px;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: var(--r-full);
    background: var(--brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='9' cy='9' r='6'/%3E%3Cpath d='m13.5 13.5 3.5 3.5'/%3E%3C/svg%3E") center/18px no-repeat;
    cursor: pointer;
}

.so-go:hover { background-color: var(--brand-dark); }

/* predlogi pod poljem */
.hdr-sugg {
    margin-top: var(--s-3);
    max-height: min(52vh, 420px);
    overflow-y: auto;
    background: var(--surface);
    border-radius: var(--r);
    box-shadow: var(--shadow-xl);
}

.hdr-sugg[hidden] { display: none; }

.sugg-item {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--s-3);
    padding: 10px 14px;
    border-bottom: 1px solid var(--line-2);
    color: var(--ink);
    font-size: var(--fs-sm);
}

.sugg-item:hover { background: var(--bg-2); }

.sugg-img {
    display: block;
    width: 48px;
    height: 48px;
    border-radius: var(--r-sm);
    overflow: hidden;
    background: var(--bg-2);
}

.sugg-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    mix-blend-mode: multiply;
}

.sugg-t {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.35;
}

.sugg-c {
    font-weight: 600;
    white-space: nowrap;
}

.sugg-all {
    display: block;
    padding: 11px 14px;
    text-align: center;
    font-size: var(--fs-sm);
    font-weight: 600;
    color: var(--brand-dark);
}

.sugg-all:hover { background: var(--brand-tint); }

/* ---------- 25.2 stran z zadetki ---------- */

.search-page {
    max-width: var(--container);
    margin-inline: auto;
    padding-inline: var(--s-5);
}

.search-page-form {
    display: flex;
    gap: var(--s-3);
    max-width: 560px;
    margin-bottom: var(--s-4);
}

.search-page-form input {
    flex: 1;
    height: 46px;
    padding: 0 16px;
    border: 1px solid var(--line);
    border-radius: var(--r);
    font-size: var(--fs-base);
}

.search-page-form input:focus { outline: none; border-color: var(--ink); }

.search-count {
    margin: 0 0 var(--s-5);
    color: var(--ink-3);
    font-size: var(--fs-sm);
}

.search-empty {
    margin: 0 0 var(--s-6);
    padding: var(--s-5);
    background: var(--bg-2);
    border-radius: var(--r);
    color: var(--ink-2);
}

/* ---------- 25.3 orodna vrstica seznama: spustna menija ---------- */

.list-tools {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--s-3) var(--s-4);
    max-width: var(--container);
    margin: 0 auto var(--s-4);
    padding: 0 var(--s-5);
}

.lt-drops {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-3);
}

/* <details>/<summary> — meni deluje tudi brez JavaScripta */
.lt-drop {
    position: relative;
}

.lt-drop > summary {
    display: flex;
    align-items: baseline;
    gap: 8px;
    height: 40px;
    padding: 0 38px 0 16px;
    border: 1px solid var(--line);
    border-radius: var(--r-full);
    background: var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 15px center no-repeat;
    font-size: var(--fs-sm);
    line-height: 38px;
    cursor: pointer;
    list-style: none;
    white-space: nowrap;
    transition: border-color .15s var(--ease);
}

.lt-drop > summary::-webkit-details-marker { display: none; }

.lt-drop > summary:hover { border-color: var(--ink); }

.lt-drop[open] > summary {
    border-color: var(--ink);
    background-color: var(--bg-2);
}

.lt-drop-l {
    color: var(--ink-4);
    font-size: var(--fs-xs);
    letter-spacing: .05em;
    text-transform: uppercase;
}

.lt-drop-v {
    color: var(--ink);
    font-weight: 600;
}

.lt-menu {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 50;
    min-width: 190px;
    max-height: 320px;
    overflow-y: auto;
    padding: 6px;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--r);
    box-shadow: var(--shadow-lg);
}

.lt-menu-wide { min-width: 230px; }

.lt-opt {
    display: block;
    padding: 9px 12px;
    border-radius: var(--r-sm);
    font-size: var(--fs-sm);
    color: var(--ink-2);
    white-space: nowrap;
}

.lt-opt:hover { background: var(--bg-2); color: var(--ink); }

.lt-opt.is-on {
    background: var(--ink);
    color: #fff;
    font-weight: 600;
}

.lt-count {
    font-size: var(--fs-sm);
    color: var(--ink-3);
    white-space: nowrap;
}

.list-empty {
    max-width: var(--container);
    margin: 0 auto;
    padding: var(--s-7) var(--s-5);
    text-align: center;
    color: var(--ink-3);
}

/* ---------- 25.4 straničenje ---------- */

.pager {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: var(--s-2);
    max-width: var(--container);
    margin: var(--s-6) auto 0;
    padding-inline: var(--s-5);
}

.pager-nums {
    display: flex;
    gap: var(--s-1);
}

.pager-btn,
.pager-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    padding: 0 14px;
    border: 1px solid var(--line);
    border-radius: var(--r-full);
    background: var(--surface);
    font-size: var(--fs-sm);
    color: var(--ink-2);
}

.pager-num { padding: 0; }

.pager-btn:hover,
.pager-num:hover { border-color: var(--ink); color: var(--ink); }

.pager-num.is-on {
    background: var(--ink);
    border-color: var(--ink);
    color: #fff;
}

.pager-dots {
    display: inline-flex;
    align-items: center;
    padding: 0 4px;
    color: var(--ink-4);
}

/* ---------- 25.5 tabela velikosti ---------- */

.po-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--s-3);
    flex-wrap: wrap;
}

.po-head h4 { margin: 0; }

.size-help-open {
    padding: 0;
    border: 0;
    background: none;
    color: var(--brand-dark);
    font-size: var(--fs-sm);
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
}

.size-help-open:hover { color: var(--ink); }

.size-help {
    position: fixed;
    inset: 0;
    z-index: 120;
}

.size-help[hidden] { display: none; }

.size-help-back {
    position: absolute;
    inset: 0;
    background: rgba(12, 16, 22, .5);
}

.size-help-win {
    position: relative;
    width: min(440px, calc(100% - 32px));
    max-height: calc(100vh - 64px);
    overflow-y: auto;
    margin: 48px auto;
    padding: var(--s-6);
    background: var(--surface);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-xl);
}

.size-help-win h3 {
    margin: 0 0 var(--s-3);
    font-size: var(--fs-xl);
}

.size-help-win p {
    margin: 0 0 var(--s-5);
    color: var(--ink-2);
    font-size: var(--fs-sm);
    line-height: 1.65;
}

.size-help-x {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 30px;
    height: 30px;
    border: 1px solid var(--line);
    border-radius: var(--r-full);
    background: var(--surface);
    color: var(--ink-3);
    font-size: 19px;
    line-height: 1;
    cursor: pointer;
}

.size-help-x:hover { border-color: var(--ink); color: var(--ink); }

.size-table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--fs-sm);
}

.size-table th {
    padding: 0 0 8px;
    border-bottom: 1px solid var(--line);
    font-size: var(--fs-xs);
    font-weight: 600;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--ink-4);
    text-align: left;
}

.size-table td {
    padding: 10px 0;
    border-bottom: 1px solid var(--line-2);
    color: var(--ink);
}

.size-table tr:last-child td { border-bottom: 0; }

/* ---------- 25.6 odzivnost ---------- */

/* Glava je z ikono namesto polja spet štirielementna, zato posebnih pravil
   za prelom vrstice (razdelek 25.7, odstranjen 22.8.2026) ni več treba. */

@media (max-width: 620px) {
    .list-tools {
        gap: var(--s-3);
        padding-inline: var(--s-4);
    }

    /* Meni se odpre pod celo širino, da so možnosti dosegljive s palcem. */
    .lt-drops { flex: 1 1 100%; }

    .lt-drop { flex: 1 1 0; }

    .lt-drop > summary { padding-right: 34px; }

    .lt-menu {
        left: 0;
        right: 0;
        min-width: 0;
    }

    .lt-count { flex: 1 1 100%; }

    .so-win {
        width: calc(100% - 24px);
        margin-top: 96px;   /* pod glavo, da polje ne sede čeznjo */
    }

    .so-form input { height: 54px; font-size: var(--fs-base); }

    .so-go { top: 7px; }

    .search-page { padding-inline: var(--s-4); }

    .search-page-form { flex-direction: column; }
}

/* =====================================================================
   26 POTRDITVENA POLJA IN IZBIRNI GUMBI — enoten videz, 23.8.2026

   Prej je bila vsaka skupina drugačna: sistemska kljukica z `accent-color`
   pri soglasjih, sistemski radio v karticah za dostavo in plačilo, isti
   sistemski radio pa tudi pri izbiri »prijava / nakup kot gost«. Videz se
   je razlikoval med brskalniki in med sklopi.

   Zdaj so trije vzorci, vsi z **ohranjenim sistemskim poljem** (skrito, a
   še vedno v obrazcu, z istim `name`, `id` in `value` — zato se ni bilo
   treba dotakniti nobene skripte niti obdelave na strežniku):

     .pill-group   izbira med kratkimi možnostmi (pilule)
     .switch-row   samostojni da/ne (pill stikalo)
     .check-row    soglasje z daljšim besedilom (isto stikalo, riše ga oznaka)
     .opt          kartica z nazivom, opisom in ceno (pilula z lučko)

   Polja NE skrivamo z `display:none` — tak element izpade iz zaporedja
   tipkovnice in ga bralnik zaslona preskoči. Ostane na mestu, prosojen in
   brez velikosti, zato je še vedno dosegljiv s tabulatorjem; obroč ob
   fokusu nariše soseda oznaka (`:focus-visible + label`).
   ===================================================================== */

.pill-group input[type="radio"],
.pill-group input[type="checkbox"],
.switch-row input[type="checkbox"],
.check-row input[type="checkbox"],
.check-option input[type="checkbox"],
.opt input[type="radio"],
.co-cupon-gift input[type="radio"] {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    opacity: 0;
    pointer-events: none;
}

/* ---------- 26.1 pilule (izbira med možnostmi) ---------- */

.pill-group {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-2);
}

.pill-group label {
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    margin: 0 !important;
    padding: 10px 18px;
    border: 1px solid var(--line);
    border-radius: var(--r-full);
    background: var(--surface);
    font-size: var(--fs-base);
    font-weight: 500 !important;
    color: var(--ink-2);
    line-height: 1.2;
    cursor: pointer;
    user-select: none;
    transition: border-color .15s var(--ease), background .15s var(--ease), color .15s var(--ease);
}

.pill-group label:hover {
    border-color: var(--ink-4);
    color: var(--ink);
}

.pill-group input:checked + label {
    background: var(--ink);
    border-color: var(--ink);
    color: #fff;
}

.pill-group input:focus-visible + label {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

/* ---------- 26.2 pill stikalo (samostojni da/ne) ---------- */

.switch-row {
    display: flex;
    margin-bottom: var(--s-3);
}

.switch-row label {
    display: inline-flex;
    align-items: center;
    gap: var(--s-3);
    margin: 0 !important;
    font-size: var(--fs-sm);
    font-weight: 400 !important;
    color: var(--ink-2);
    line-height: 1.5;
    cursor: pointer;
    user-select: none;
}

.sw {
    flex: none;
    position: relative;
    width: 42px;
    height: 24px;
    border-radius: var(--r-full);
    background: #d7dbe0;
    transition: background .18s var(--ease);
}

.sw::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 18px;
    height: 18px;
    border-radius: var(--r-full);
    background: #fff;
    box-shadow: 0 1px 3px rgba(18, 21, 26, .28);
    transition: transform .18s var(--ease);
}

.switch-row input:checked + label .sw {
    background: var(--brand);
}

.switch-row input:checked + label .sw::after {
    transform: translateX(18px);
}

.switch-row input:focus-visible + label .sw {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

.switch-row label:hover .sw {
    background: #c6ccd3;
}

.switch-row input:checked + label:hover .sw {
    background: var(--brand-dark);
}

/* ---------- 26.3 soglasja (pogoji, GDPR) ---------- */

/* POPRAVEK 23.8.2026: soglasji sta bili edini kontroli, ki sta ostali
   kvadratni kljukici, in sta v obrazcu izstopali — tik nad njima je stikalo
   za »Račun želim na podjetje«. Zdaj je vzorec isti kot pri `.switch-row`,
   le da ga tu nariše kar oznaka (`::before` = zaslonka, `::after` = gumbek),
   ker predloge s soglasji nimajo `<span class="sw">` in jih zato ni bilo
   treba spreminjati — tudi tistih v starem nakupnem toku ne. */

.check-row,
.check-option {
    display: flex;
    align-items: flex-start;
    gap: 0;
}

.check-row label,
.check-option label {
    position: relative;
    display: block;
    margin: 0 !important;
    padding-left: 54px;
    min-height: 24px;
    font-size: var(--fs-sm);
    font-weight: 400 !important;
    color: var(--ink-2);
    line-height: 1.5;
    cursor: pointer;
}

/* zaslonka */
.check-row label::before,
.check-option label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 42px;
    height: 24px;
    border-radius: var(--r-full);
    background: #d7dbe0;
    transition: background .18s var(--ease);
}

/* gumbek */
.check-row label::after,
.check-option label::after {
    content: "";
    position: absolute;
    left: 3px;
    top: 3px;
    width: 18px;
    height: 18px;
    border-radius: var(--r-full);
    background: #fff;
    box-shadow: 0 1px 3px rgba(18, 21, 26, .28);
    transition: transform .18s var(--ease);
}

.check-row label:hover::before,
.check-option label:hover::before {
    background: #c6ccd3;
}

.check-row input:checked + label::before,
.check-option input:checked + label::before {
    background: var(--brand);
}

.check-row input:checked + label:hover::before,
.check-option input:checked + label:hover::before {
    background: var(--brand-dark);
}

.check-row input:checked + label::after,
.check-option input:checked + label::after {
    transform: translateX(18px);
}

.check-row input:focus-visible + label::before,
.check-option input:focus-visible + label::before {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

/* ---------- 26.4 kartice možnosti (dostava, plačilo, darilo) ---------- */

/* Kartica ostane kartica (naziv, opis, cena se v pilulo ne stlačijo), a je
   pilulaste oblike in ima svojo lučko namesto sistemskega radia. */
.opt,
.co-cupon-gift {
    border-radius: var(--r-full);
    padding-left: 46px;
    position: relative;
}

.opt::before,
.co-cupon-gift::before {
    content: "";
    position: absolute;
    left: 18px;
    top: 50%;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    border: 1px solid var(--line);
    border-radius: var(--r-full);
    background: var(--surface);
    transition: border-color .15s var(--ease), box-shadow .15s var(--ease);
}

.opt:hover::before,
.co-cupon-gift:hover::before {
    border-color: var(--ink-4);
}

.opt.is-active::before,
.co-cupon-gift.is-active::before {
    border-color: var(--brand);
    border-width: 6px;
    box-shadow: 0 0 0 1px var(--brand);
}

.opt.is-active {
    border-color: var(--brand);
    background: var(--brand-tint);
}

/* Kartica brez izbirnega gumba (edino ponujeno darilo) lučke ne kaže.
   Razred doda `cupon.php`; `:has()` bi bil krajši, a ga starejši brskalniki
   ne poznajo in bi ostal prazen krogec. */
.co-cupon-gift-solo {
    padding-left: var(--s-4);
}

.co-cupon-gift-solo::before {
    display: none;
}

@media (max-width: 520px) {
    .opt,
    .co-cupon-gift {
        border-radius: var(--r-lg);
    }
}

/* =====================================================================
   27 STRAN »O NAS« — Tobaccostuff, prenovljeno 25.8.2026

   PRED (podedovano iz ROFI): temen fotografski hero z belim besedilom,
   sivi števci, zgodba s sliko levo, ogljeno črn zaključni pas.

   PO: topel gradientni hero s slikanim izdelkom (kot vstopna stran),
   BORDO pas števcev, zgodba z besedilom levo in sliko desno, kartice
   obljub v --brand-tint z bordo ikonami in bordo zaključni pas.

   Stran teče znotraj `.cMarg`, zato pasovi NISO čez vso širino okna —
   so zaobljene ploskve v širini vsebine. (Vstopna stran ima full-bleed;
   tu bi to zahtevalo 100vw in s tem vodoravni preliv ob drsniku.)
   ===================================================================== */

/* ---------- 27.1 hero ---------- */

.ab-hero {
    margin: 0 0 var(--s-7);
    padding: clamp(var(--s-5), 4vw, var(--s-7));
    background: var(--grad-warm);
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    overflow: hidden;
}

.ab-hero-in {
    display: grid;
    grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
    align-items: center;
    gap: clamp(var(--s-5), 4vw, var(--s-7));
}

.ab-hero-copy {
    max-width: 620px;
    color: var(--ink);
}

.ab-eyebrow {
    display: block;
    margin-bottom: var(--s-3);
    font-size: var(--fs-xs);
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--brand-dark);
}

.ab-hero-copy h1 {
    margin: 0 0 var(--s-4);
    font-size: clamp(var(--fs-2xl), 4.4vw, var(--fs-4xl));
    line-height: 1.08;
    letter-spacing: -.02em;
    color: var(--ink);
}

.ab-lead {
    margin: 0 0 var(--s-5);
    font-size: var(--fs-lg);
    line-height: 1.6;
    color: var(--ink-2);
}

.ab-hero-btns {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-3);
}

/* Na topli podlagi je drugi gumb obrobljen v barvi znamke (prej bela
   različica za temen hero — ta je bila 24.8.2026 vir napake na blagajni). */
.ab-hero-btns .btn-ghost {
    background: transparent;
    border: 1px solid var(--brand);
    color: var(--brand-dark);
}

.ab-hero-btns .btn-ghost:hover {
    background: var(--brand-tint);
    border-color: var(--brand-dark);
    color: var(--brand-dark);
}

/* fotografija izdelka: vsebovana, belo ozadje se zlije s podlago */
.ab-hero-media img {
    display: block;
    width: 100%;
    max-height: 380px;
    object-fit: contain;
    mix-blend-mode: multiply;
}

/* ---------- 27.2 števci (bordo pas) ---------- */

.ab-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--s-4);
    margin: 0 0 var(--s-8);
    padding: clamp(var(--s-5), 3vw, var(--s-6));
    background: var(--brand-deep);
    border-radius: var(--r-lg);
    color: #fff;
}

.ab-stat {
    position: relative;
    text-align: center;
    padding-inline: var(--s-3);
}

/* tanka ločnica med števci (ne pred prvim) */
.ab-stat + .ab-stat::before {
    content: "";
    position: absolute;
    left: 0;
    top: 10%;
    height: 80%;
    border-left: 1px solid rgba(255, 255, 255, .18);
}

.ab-stat-n {
    display: block;
    font-family: var(--font-head);
    font-size: clamp(var(--fs-2xl), 3.4vw, var(--fs-3xl));
    font-weight: 700;
    line-height: 1.1;
    color: #fff;
}

.ab-stat-l {
    display: block;
    margin-top: var(--s-2);
    font-size: var(--fs-sm);
    line-height: 1.4;
    color: rgba(255, 255, 255, .78);
}

/* ---------- 27.3 zgodba ---------- */

.ab-story {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    align-items: center;
    gap: clamp(var(--s-5), 5vw, var(--s-8));
    margin: 0 0 var(--s-8);
}

.ab-story-media img {
    display: block;
    width: 100%;
    max-height: 420px;
    object-fit: contain;
    mix-blend-mode: multiply;
}

.ab-story-copy {
    min-width: 0;
}

.ab-story-text {
    color: var(--ink-2);
    line-height: 1.75;
}

.ab-story-text p {
    margin: 0 0 var(--s-4);
}

.ab-story-text strong {
    color: var(--ink);
}

.ab-story-text ul {
    margin: var(--s-4) 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-2);
}

/* povezave iz vsebine kot pilule */
.ab-story-text li a {
    display: inline-flex;
    align-items: center;
    padding: 7px 14px;
    border: 1px solid var(--line);
    border-radius: var(--r-full);
    background: var(--surface);
    font-size: var(--fs-sm);
    font-weight: 600;
    color: var(--ink-2);
}

.ab-story-text li a:hover {
    border-color: var(--brand);
    background: var(--brand-tint);
    color: var(--brand-dark);
}

/* poudarjena misel — bordo rob, kot povzetek na strani izdelka */
.ab-quote {
    margin: var(--s-5) 0 0;
    padding: var(--s-4) var(--s-5);
    background: var(--brand-tint);
    border-left: 3px solid var(--brand-deep);
    border-radius: var(--r);
    font-family: var(--font-head);
    font-size: var(--fs-md);
    font-weight: 600;
    line-height: 1.5;
    color: var(--ink);
}

/* ---------- 27.4 obljube in ponudba ---------- */

.ab-values,
.ab-offer {
    margin: 0 0 var(--s-8);
}

/* naslov sekcije levo poravnan z oranžno črtico (ne sredinsko kot prej) */
.ab-sec-head {
    margin-bottom: var(--s-5);
}

.ab-h2 {
    margin: 0;
    font-size: clamp(var(--fs-xl), 3vw, var(--fs-2xl));
    letter-spacing: -.02em;
}

.ab-h2::after {
    content: "";
    display: block;
    width: 44px;
    height: 3px;
    margin-top: var(--s-3);
    border-radius: var(--r-sm);
    background: var(--brand);
}

.ab-sub {
    max-width: 620px;
    margin: var(--s-3) 0 0;
    color: var(--ink-3);
    line-height: 1.6;
}

.ab-value-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: var(--s-4);
}

.ab-value {
    padding: var(--s-5);
    background: var(--brand-tint);
    border: 1px solid rgba(92, 16, 8, .10);
    border-radius: var(--r-lg);
}

.ab-value-ico {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin-bottom: var(--s-4);
    border-radius: var(--r);
    background: var(--brand-deep);
    color: #fff;
}

.ab-value-ico svg {
    width: 21px;
    height: 21px;
}

.ab-value h3 {
    margin: 0 0 var(--s-2);
    font-size: var(--fs-md);
    line-height: 1.3;
}

.ab-value p,
.ab-value-txt {
    margin: 0;
    font-size: var(--fs-sm);
    line-height: 1.65;
    color: var(--ink-2);
}

/* Vsebina kartice pride iz urejevalnika, zato je lahko v <p> — zadnji odmik
   odrežemo, da so kartice enako visoke. */
.ab-value-txt p {
    margin: 0 0 var(--s-2);
}

.ab-value-txt p:last-child {
    margin-bottom: 0;
}

/* Vrsta kategorij ima svoje odmike z vstopne strani; tu jih ne podvajamo. */
.ab-offer .cat-rail {
    margin-top: var(--s-5);
}

/* ---------- 27.5 klic k dejanju ---------- */

.ab-cta {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    align-items: center;
    gap: clamp(var(--s-5), 4vw, var(--s-7));
    margin: 0 0 var(--s-8);
    padding: clamp(var(--s-6), 5vw, var(--s-7)) clamp(var(--s-5), 4vw, var(--s-7));
    background: var(--brand-deep);
    border-radius: var(--r-lg);
    color: #fff;
}

.ab-cta h2 {
    margin: 0 0 var(--s-3);
    font-size: clamp(var(--fs-xl), 3vw, var(--fs-2xl));
    letter-spacing: -.02em;
    color: #fff;
}

.ab-cta p {
    margin: 0 0 var(--s-5);
    color: rgba(255, 255, 255, .80);
    line-height: 1.6;
}

/* podatki podjetja v beli kartici na bordo podlagi */
.ab-cta-firma {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: var(--s-5);
    background: var(--surface);
    border-radius: var(--r);
    font-size: var(--fs-sm);
    color: var(--ink-3);
    line-height: 1.6;
}

.ab-firma-l {
    font-size: var(--fs-xs);
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--brand-dark);
}

.ab-cta-firma strong {
    color: var(--ink);
    font-size: var(--fs-base);
}

.ab-cta-firma a {
    color: var(--ink-2);
}

.ab-cta-firma a:hover {
    color: var(--brand-dark);
    text-decoration: underline;
}

/* ---------- 27.6 odzivnost ---------- */

@media (max-width: 900px) {
    .ab-hero-in {
        grid-template-columns: 1fr;
    }

    /* na telefonu slika pod besedilom, a nižja */
    .ab-hero-media img {
        max-height: 260px;
    }

    .ab-stats {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--s-5);
    }

    /* pri dveh stolpcih ločnica pred tretjim števcem odpade */
    .ab-stat:nth-child(odd)::before {
        display: none;
    }

    .ab-story {
        grid-template-columns: 1fr;
    }

    .ab-story-media img {
        max-height: 300px;
    }

    .ab-cta {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .ab-stats {
        grid-template-columns: 1fr;
        text-align: left;
    }

    .ab-stat {
        display: flex;
        align-items: baseline;
        gap: var(--s-3);
        text-align: left;
        padding-inline: 0;
    }

    .ab-stat + .ab-stat::before {
        display: none;
    }

    .ab-stat + .ab-stat {
        padding-top: var(--s-4);
        border-top: 1px solid rgba(255, 255, 255, .18);
    }

    .ab-stat-l {
        margin-top: 0;
    }

    .ab-hero-btns .btn {
        flex: 1 1 100%;
        text-align: center;
    }
}


/* =====================================================================
   28 STRAN ZNAMKE (25.8.2026) — Powermatic in Dark Horse

   Predstavitev znamke + seznam njenih izdelkov. Namen je SEO, zato je
   besedilo odprto (brez harmonike) in v berljivi širini.
   ===================================================================== */

.brand-head {
    margin: 0 0 var(--s-6);
    padding: clamp(var(--s-5), 4vw, var(--s-7));
    background: var(--grad-warm);
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
}

/* kadar je pod stranjo naložena slika, gre besedilo levo, slika desno */
.brand-head.has-img {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
    align-items: center;
    gap: clamp(var(--s-5), 4vw, var(--s-7));
}

.brand-head-media img {
    display: block;
    width: 100%;
    max-height: 260px;
    object-fit: contain;
    mix-blend-mode: multiply;
}

.brand-eyebrow {
    display: block;
    margin-bottom: var(--s-3);
    font-size: var(--fs-xs);
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--brand-dark);
}

.brand-head h1 {
    margin: 0;
    font-size: clamp(var(--fs-2xl), 4vw, var(--fs-4xl));
    line-height: 1.1;
    letter-spacing: -.02em;
}

.brand-lead {
    max-width: 720px;
    margin: var(--s-4) 0 0;
    font-size: var(--fs-lg);
    line-height: 1.6;
    color: var(--ink-2);
}

/* LOGOTIP ZNAMKE (25.8.2026): logotipi so v svojih barvah (Powermatic rdeč,
   Dark Horse črno-rdeč), zato stoji na beli ploščici — na topli podlagi bi se
   izgubil. Datoteka: images/brands/<slug>.svg|png|webp|jpg. */
.brand-logo-plate {
    display: grid;
    place-items: center;
    padding: var(--s-5);
    min-height: 150px;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
}

.brand-logo-plate .brand-logo {
    width: auto;
    max-width: 100%;
    max-height: 110px;
    object-fit: contain;
    mix-blend-mode: normal;
}

/* ---------- besedilo znamke ---------- */

.brand-text {
    max-width: 820px;
    margin: 0 0 var(--s-8);
    color: var(--ink-2);
    line-height: 1.75;
}

/* uvodni odstavek iz »Dodatne vsebine → Vsebina« (25.8.2026) */
.brand-intro {
    margin: 0 0 var(--s-5);
    padding: var(--s-4) var(--s-5);
    background: var(--brand-tint);
    border-left: 3px solid var(--brand);
    border-radius: var(--r);
    color: var(--ink-2);
}

.brand-intro p:last-child {
    margin-bottom: 0;
}

.brand-text h2 {
    margin: var(--s-6) 0 var(--s-3);
    font-size: var(--fs-xl);
    letter-spacing: -.02em;
    color: var(--ink);
}

.brand-text h2:first-child {
    margin-top: 0;
}

.brand-text p {
    margin: 0 0 var(--s-4);
}

.brand-text strong {
    color: var(--ink);
}

/* seznami dobijo iste oranžne kljukice kot opis izdelka (razdelek 11) */

/* ---------- seznam izdelkov znamke ---------- */

.brand-sec-head {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    margin-bottom: var(--s-5);
}

.brand-sec-head h2 {
    margin: 0;
    font-size: clamp(var(--fs-xl), 3vw, var(--fs-2xl));
    letter-spacing: -.02em;
}

.brand-sec-head h2::after {
    content: "";
    display: block;
    width: 44px;
    height: 3px;
    margin-top: var(--s-3);
    border-radius: var(--r-sm);
    background: var(--brand);
}

/* število izdelkov v bordo pilulici */
.brand-count {
    align-self: flex-start;
    padding: 2px 10px;
    border-radius: var(--r-full);
    background: var(--brand-deep);
    color: #fff;
    font-size: var(--fs-xs);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.brand-products {
    margin-bottom: var(--s-8);
}

/* znamka na strani izdelka je zdaj povezava na to stran */
a.prod-brand:hover {
    background: var(--brand-deep-2);
    color: #fff;
}

@media (max-width: 900px) {
    .brand-head.has-img {
        grid-template-columns: 1fr;
    }

    .brand-head-media img {
        max-height: 200px;
    }
}


/* =====================================================================
   29 ZALOGA IN PREDVIDENA DOSTAVA NA IZDELKU (25.8.2026)

   PRED: vrstici »✔ Na zalogi« in »Rok dobave: 3-7 delovnih dni«.
   PO:   sklop s tremi vrsticami — dejansko število kosov, konkretna datuma
         dostave in odrez za današnjo odpremo — ter droben pripis o oceni.
   ===================================================================== */

.prod-avail {
    /* ⚠️ `display: block` je nujen: sklop stoji na mestu, kjer starejše pravilo
       (za prejšnji `.no-stock`) postavi `display:flex; flex-wrap:wrap` — brez
       tega sta se zaloga in odprema znašli v isti vrstici. */
    display: block;
    margin-top: var(--s-5);
    padding: var(--s-4) var(--s-5);
    background: var(--bg-2);
    border: 1px solid var(--line-2);
    border-radius: var(--r);
}

.pa-row {
    display: flex;
    align-items: flex-start;
    gap: var(--s-3);
    padding: var(--s-2) 0;
    font-size: var(--fs-base);
    line-height: 1.5;
    color: var(--ink-2);
}

.pa-row strong {
    color: var(--ink);
    font-weight: 600;
}

/* ZALOGA V PILULI (25.8.2026): stanje zaloge je poudarek, zato stoji v
   pilulici — zelena, kadar je izdelek na zalogi, rdečkasta, kadar ni.
   `inline-flex` poskrbi, da se pilula prilega besedilu in ne razteza čez
   ves sklop (`.pa-row` je sicer blokovni flex). */
.pa-stock,
.pa-out {
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    padding: 6px 12px;
    margin-bottom: var(--s-2);
    border-radius: var(--r-full);
    font-size: var(--fs-sm);
    font-weight: 700;
    line-height: 1.3;
}

.pa-stock {
    background: var(--ok-tint);
    color: var(--ok);
}

.pa-out {
    background: var(--err-tint);
    color: var(--err);
}

/* v pilulici je ikona manjša in poravnana z besedilom */
.pa-stock .pa-ico,
.pa-out .pa-ico {
    width: 15px;
    height: 15px;
    margin-top: 0;
}

.pa-cutoff {
    font-size: var(--fs-sm);
    color: var(--ink-3);
}

/* ikone so maske v barvi besedila (isti vzorec kot .contact-ico) */
.pa-ico {
    flex: none;
    width: 18px;
    height: 18px;
    margin-top: 2px;
    background: currentColor;
}

.pa-ico-ok {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%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='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;
}

.pa-ico-no {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%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='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") center/contain no-repeat;
}

.pa-ico-truck {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h11v10H3z'/%3E%3Cpath d='M14 9h4l3 3v4h-7z'/%3E%3Ccircle cx='7' cy='18' r='1.8'/%3E%3Ccircle cx='17.5' cy='18' r='1.8'/%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='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h11v10H3z'/%3E%3Cpath d='M14 9h4l3 3v4h-7z'/%3E%3Ccircle cx='7' cy='18' r='1.8'/%3E%3Ccircle cx='17.5' cy='18' r='1.8'/%3E%3C/svg%3E") center/contain no-repeat;
}

.pa-ico-clock {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%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='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* droben pripis, da so datumi ocena */
.pa-note {
    /* 25.8.2026: manjši zgornji razmik — pripis je bil preveč odmaknjen */
    margin: var(--s-3) 0 0;
    padding-top: var(--s-2);
    border-top: 1px solid var(--line-2);
    font-size: var(--fs-xs);
    line-height: 1.5;
    color: var(--ink-4);
}


/* =====================================================================
   30. ODJAVA OD OBVESTIL (26.8.2026)
   Stran /odjava?t=… — povezavo nosi noga vsake mailing kampanje.
   ===================================================================== */

.unsub {
    display: flex;
    justify-content: center;
    padding: var(--s-6) var(--s-3) var(--s-7);
}

.unsub-card {
    width: 100%;
    max-width: 520px;
    padding: var(--s-6) var(--s-5);
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--r);
    box-shadow: var(--sh-1);
    text-align: center;
}

.unsub-ico {
    width: 46px;
    height: 46px;
    margin-bottom: var(--s-3);
    color: var(--brand);
}

.unsub-ico.is-ok { color: #15803d; }
.unsub-ico.is-err { color: var(--brand-deep); }

.unsub-card h1 {
    margin: 0 0 var(--s-2);
    font-family: var(--font-head);
    font-size: 1.5rem;
}

.unsub-card p {
    margin: 0 0 var(--s-4);
    color: var(--ink-2);
    line-height: 1.65;
}

.unsub-back {
    display: block;
    margin-top: var(--s-3);
    color: var(--ink-3);
    font-size: .9rem;
}

.unsub-back:hover { color: var(--brand); }


/* =====================================================================
   31 MOBILNI VIDEZ (26.8.2026)

   Zahteva: »Vse kar je v karticah naj bo 100vw. Da nimam dvojnih paddingov
   in marginov na telefonu ob robu zaslona.«

   Kako: vsebnik strani (`.cMarg`, `.contact-page`, `.checkout` …) obdrži svoj
   odmik — od njega živijo naslovi, drobtinice in besedilo. KARTICE ta odmik
   izničijo z negativnim robom in sežejo do roba zaslona; za zamik besedila
   poskrbi njihov lastni notranji odmik. Tako ni dvojnega roba.

   Odmik vsebnika je pod 620 px `--s-4` (16 px) — zbran je v `--mob-pad`,
   da je vrednost na enem mestu.
   ===================================================================== */

@media (max-width: 620px) {

    :root { --mob-pad: var(--s-4); }

    /* --- posamezne kartice do roba zaslona --- */
    /* ⚠️ `.contact-tile` in `.prod-perk` NISTA tu — sta otroka mreže, ki odmik
       izniči sama; z lastnim negativnim robom bi ga izničila dvakrat in
       vsebina bi se prilepila na rob zaslona. */
    .co-card,
    .contact-card,
    .contact-map,
    .contact-b2b,
    .prod-avail,
    .prod-ask,
    .rev-form-box,
    .rev-item,
    .prod-legal,
    .gal-video-box,
    .showDesc details {
        margin-inline: calc(var(--mob-pad) * -1);
        /* Notranji odmik poenotimo z odmikom strani: kartica sicer sega do roba
           zaslona, njena vsebina pa mora ostati enako zamaknjena kot besedilo
           nad njo — sicer se zdi, da je »prilepljena« na rob. */
        padding-inline: var(--mob-pad);
        border-radius: 0;
        border-left: 0;
        border-right: 0;
    }

    /* --- mreže kartic: odmik izniči mreža, kartice ostanejo cele --- */
    /* ⚠️ `.features` (izpostave) NI tu: podlaga sekcije je že čez vso širino,
       negativni rob bi samo potisnil BESEDILO čez levi rob zaslona. */
    .contact-tiles,
    .prod-perks,
    .hp-perks,
    .cMarg > .product-list,
    .cMarg > .products-grid {
        margin-inline: calc(var(--mob-pad) * -1);
    }

    /* enoten odmik besedila v izpostavah in vrsticah vstopne strani */
    .feature,
    .hp-row {
        padding-inline: var(--mob-pad);
    }

    /* Prednosti: mreža ima privzeto 24 px odmika, zato so se kartice ustavile
       8 px pred robom (24 − 16). Odmik poenotimo z odmikom strani: kartica se
       tako začne točno na robu zaslona, njen lastni odmik pa besedilo zamakne
       enako kot drugod. (Z `padding: 0` bi kartica segala 16 px ČEZ rob in
       besedilo bi se zaletelo v rob.) */
    .hp-perks { padding-inline: var(--mob-pad); }

    /* Vodoravna trakova (izdelki kategorije, kategorije) do roba zaslona.
       Kartice imajo svoj notranji odmik, zato besedilo ostane berljivo. */
    .hp-row-list,
    .categories {
        margin-inline: calc(var(--mob-pad) * -1);
        padding-inline: 0;
    }

    .hp-row-list .product-item:first-child,
    .categories .category-item:first-child {
        scroll-margin-left: 0;
    }

    .contact-tiles > *,
    .prod-perks > *,
    .hp-perks > * {
        padding-inline: var(--mob-pad);
        border-radius: 0;
        border-left: 0;
        border-right: 0;
    }

    /* --- seznam izdelkov: dve koloni od roba do roba --- */
    .cMarg > .product-list,
    .cMarg > .products-grid {
        gap: 1px;
        background: var(--line);   /* razmik med karticami je videti kot tanka črta */
    }

    .product-item {
        border-radius: 0;
        border: 0;
    }

    /* Stopnjevalnik količine na kartici odpade: pri dveh kolonah je gumb
       »V košarico« sicer odrezan (»košaric«). Količino kupec uredi v košarici. */
    .product-item .qa-qty { display: none; }

    .product-item .qa-row { gap: 0; }

    .product-item .quick-add-btn {
        width: 100%;
        justify-content: center;
    }

    /* --- galerija in opis na strani izdelka --- */
    .product-show > .showImg,
    .showImg {
        margin-inline: calc(var(--mob-pad) * -1);
        border-radius: 0;
    }

    /* --- stran izdelka: en sam odmik namesto treh -----------------------
       `.cMarg` (16) + `.product-show` (24) + `.showDesc` sta se seštevali,
       zato so kartice ležale 32 px od roba in negativni rob jih je pripeljal
       le do 16 px. Notranja ovoja zato na telefonu odmika ne dodajata —
       edini odmik da `.cMarg`, kartice pa ga izničijo. */
    .product-show {
        position: static;   /* da ne reže lepljive vrstice */
        padding-inline: 0;
    }

    .showDesc,
    .showImg {
        padding-inline: 0;
    }

    .showImg img { padding: var(--s-5); }


    /* --- HERO: slika in besedilo eno pod drugim -----------------------
       PRED: besedilo je bilo absolutno čez sliko (na namizju levo, kjer je
       gradient prazen). Na telefonu je 34-odstotni levi odmik slike odpadel
       premalo prostora, zato je naslov ležal ČEZ strojček in bil neberljiv.
       PO: rezina je navpična — slika zgoraj (v celoti vidna), besedilo pod
       njo na topli podlagi. Nič se ne prekriva. */
    .hero-slide {
        display: flex;
        flex-direction: column;
        background: var(--grad-warm);
    }

    .hero .hero-media img,
    .hero .hero-slide .hero-img {
        height: 240px;
        padding: var(--s-4) var(--s-4) 0;
        object-position: center;
    }

    .hero-copy {
        position: static;
        transform: none;
        max-width: none;
        padding: var(--s-4) var(--mob-pad) var(--s-6);
        text-align: left;
    }

    .hero-title {
        font-size: 1.65rem;
        line-height: 1.15;
    }

    .hero-text p {
        font-size: .95rem;
        line-height: 1.5;
    }

    .hero-btn {
        width: 100%;
        justify-content: center;
    }

    /* pikice pod vsebino, ne čez sliko */
    .hero-dots {
        position: static;
        transform: none;
        justify-content: center;
        padding-bottom: var(--s-4);
    }

    .hero-dot { background: rgba(36, 31, 26, .22); }
    .hero-dot.is-active { background: var(--brand); }
}


/* ---------------------------------------------------------------------
   31.1 LEPLJIVA VRSTICA ZA NAKUP (samo telefon)
   Pokaže se, ko pravi gumb »V košarico« zdrsne iz vidnega polja.
   --------------------------------------------------------------------- */

.buybar {
    display: none;
}

@media (max-width: 620px) {

    .buybar {
        display: block;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        /* nad gumbom »na vrh« (#scroller, z 70), a pod prekrivalom menija (80) */
        z-index: 75;
        padding: 10px var(--s-4) calc(10px + env(safe-area-inset-bottom, 0px));
        /* NEPROSOJNO: pri rgba + backdrop-filter je skozi vrstico presevala
           vsebina pod njo (npr. okrogla puščica harmonike v opisu). */
        background: var(--surface);
        border-top: 1px solid var(--line);
        box-shadow: 0 -6px 20px rgba(36, 31, 26, .1);
        /* skrita, dokler je pravi gumb viden — brez skoka postavitve */
        transform: translateY(110%);
        opacity: 0;
        pointer-events: none;
        transition: transform .22s var(--ease), opacity .22s var(--ease);
    }

    .buybar.is-on {
        transform: none;
        opacity: 1;
        pointer-events: auto;
    }

    .buybar-in {
        display: flex;
        align-items: center;
        gap: var(--s-3);
    }

    .buybar-txt {
        flex: 1;
        min-width: 0;
        line-height: 1.25;
    }

    .buybar-name {
        display: block;
        font-size: .74rem;
        color: var(--ink-3);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .buybar-price {
        display: block;
        font-size: 1.05rem;
        font-weight: 700;
        color: var(--ink);
    }

    .buybar-btn {
        flex: 0 0 auto;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        font-size: .95rem;
    }

    .buybar-btn svg { width: 18px; height: 18px; }

    /* gumb »na vrh« in piškotkov trak se umakneta nad lepljivo vrstico */
    body.has-buybar #scroller { bottom: calc(var(--s-5) + 62px); }
    body.has-buybar .cookie-info,
    body.has-buybar #cookieInfo { bottom: calc(var(--s-4) + 62px); }
}


/* ---------------------------------------------------------------------
   31.2 KAZALNIK POMIKA pri vodoravnih trakovih (26.8.2026)
   Na telefonu ni puščic, zato brez znaka ni videti, da se da potegniti
   naprej. Črta pod trakom: širina obarvanega dela = kolikšen del traku je
   viden, njegov položaj = kje smo. Element doda shop.js, samo kadar je
   trak dejansko širši od zaslona.
   --------------------------------------------------------------------- */

.rail-ind { display: none; }

@media (max-width: 620px) {
    .rail-ind {
        display: block;
        height: 3px;
        margin: var(--s-3) var(--mob-pad) 0;
        background: var(--line);
        border-radius: var(--r-full);
        overflow: hidden;
    }

    .rail-ind span {
        display: block;
        height: 100%;
        min-width: 18px;
        background: var(--brand);
        border-radius: var(--r-full);
    }
}

/* =====================================================================
   HERO — DVOSTOLPIČNA POSTAVITEV KOT PRI IZPOSTAVAH (27.8.2026)

   PRED: besedilo je bilo absolutno položeno ČEZ sliko, slika pa je imela
   34 % levega odmika, da izdelek ni bil pod besedilom. Posledica: velik
   prazen prostor med besedilom in izdelkom, slika pa optično majhna.

   PO: rezina je mreža — besedilo levo, slika desno, tako kot v izpostavah
   (.feature). Slika dobi širši stolpec in polno višino, razmik je en sam
   (gap), topla podlaga pa se preseli na .hero, da teče čez vso širino.

   Velja samo od 901 px navzgor; na telefonu ostane navpična postavitev
   (slika zgoraj, besedilo pod njo).
   ===================================================================== */
@media (min-width: 901px) {

    .hero {
        background: var(--grad-warm);
    }

    .hero-slide {
        display: grid;
        grid-template-columns: 1fr 1.2fr;   /* slika je večja od besedila */
        align-items: center;
        gap: var(--s-5);
        /* ⚠️ rezina MORA ostati čez vso širino (`min-width:100%` zaradi
           drsnika), zato vsebine ne omejimo z max-width, ampak s stranskim
           odmikom: na širokih zaslonih se poravna s preostalo vsebino strani. */
        padding-block: var(--s-6);
        padding-inline: max(var(--s-5), calc((100% - var(--container)) / 2));
    }

    /* podlago nosi .hero, zato je stolpec s sliko prozoren (kot .feature-media).
       V HTML je slika PRED besedilom (zaradi mobilne postavitve), zato jo tu
       prestavimo v drugi stolpec — besedilo levo, slika desno, kot pri
       prvi izpostavi. */
    .hero .hero-media {
        background: transparent;
        border-radius: var(--r-lg);
        overflow: hidden;
        order: 2;
    }

    .hero-copy {
        order: 1;
    }

    .hero .hero-media img,
    .hero .hero-slide .hero-img {
        width: 100%;
        height: clamp(380px, 42vw, 560px);
        object-fit: contain;
        object-position: center;
        padding: 0;                          /* prej 4% 4% 4% 34% */
    }

    /* besedilo ni več prekrivno */
    .hero-copy {
        position: static;
        transform: none;
        width: auto;
        max-width: none;
        padding-inline: 0;
    }

    .hero-title {
        max-width: 18ch;
    }
}


/* =====================================================================
   32 PRIJAVA Z GOOGLOM (27.8.2026)
   Gumb izriše Googlova knjižnica; naše je le ločilo, širina in napaka.
   ===================================================================== */

.g-login {
    margin-top: var(--s-4);
}

.g-login-sep {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    margin-bottom: var(--s-3);
    color: var(--ink-3);
    font-size: .85rem;
}

.g-login-sep::before,
.g-login-sep::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--line);
}

/* Googlov gumb je iframe s fiksno širino — sredinsko poravnamo ovoj */
.g-login-btn {
    display: flex;
    justify-content: center;
}

.g-login-err {
    margin: var(--s-3) 0 0;
    color: var(--brand-deep);
    font-size: .9rem;
    text-align: center;
}


/* =====================================================================
   36 POLJE ZA TELEFON (2.9.2026)
   ---------------------------------------------------------------------
   Klicna predpona stoji V polju kot nespremenljiva oznaka, da je kupec ne
   more izbrisati; vnosno polje obdrži svoj videz iz obrazca, ki ga vsebuje
   (blagajna, `inputF` v računu, kontaktni obrazec), zato tu spreminjamo
   samo notranji odmik — tega izmeri in nastavi `scripts_js/tel.js`, ker so
   predpone različno dolge (+1 … +386).
   ===================================================================== */
.tel-field {
    position: relative;
    display: block;
    width: 100%;

    /* Razmiki so tu, ker jih potrebujeta OBA — CSS za ločnico in
       `scripts_js/tel.js` za notranji odmik polja. JS ju prebere iz
       izračunanega sloga, da števili nista zapisani na dveh mestih.
       Prej je bila ločnica 4 px za predpono, besedilo pa samo 2 px za
       ločnico — polje je bilo natlačeno. */
    --tel-gap-pre: 10px;        /* predpona -> ločnica */
    --tel-gap-post: 13px;       /* ločnica -> vpisana številka */
}

.tel-pre {
    position: absolute;
    top: 50%;
    left: 12px;                 /* JS popravi na dejanski odmik polja */
    transform: translateY(-50%);
    z-index: 2;
    color: var(--ink-2);
    font-size: inherit;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
    letter-spacing: .01em;
    white-space: nowrap;
    pointer-events: none;       /* klik gre skozi v polje */
    user-select: none;
    transition: color .15s var(--ease);
}

.tel-field .tel-input {
    width: 100%;
    letter-spacing: .02em;
}

/* ločnica med predpono in vpisanim delom — nizka črtica, poravnana na
   sredino besedila, ne čez vso višino polja */
.tel-pre::after {
    content: "";
    position: absolute;
    right: calc(var(--tel-gap-pre) * -1);
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 1.5em;
    background: var(--line);
}

/* ob fokusu naj se predpona ne zdi izklopljena (ločnica ostane enaka —
   svetlejša bi ob poudarjenem polju izginila) */
.tel-field:focus-within .tel-pre { color: var(--ink); }

/* stanje: prekratka ali predolga številka */
.tel-field.is-bad .tel-input {
    border-color: var(--err);
    background: #fdf6f7;
}

.tel-field.is-ok .tel-input {
    border-color: var(--ok);
}

/* barva predpone naj sledi stanju, da je oznaka del polja, ne nalepka */
.tel-field.is-bad .tel-pre { color: var(--err); }
.tel-field.is-ok .tel-pre  { color: var(--ink-2); }
