/* =================================================================
   NAŠA STVAR — dizajn sistem  (crno / crveno / krem)
   Doslednost: sve mere idu iz --sp-* skale i --container.
   ================================================================= */

:root {
    /* Boje */
    --ns-cream:      #f2ede1;   /* pozadina */
    --ns-cream-2:    #e8e1d0;   /* kartice / sekundarna */
    --ns-ink:        #0d0d0d;   /* tekst / crno */
    --ns-ink-2:      #1a1a1a;
    --ns-red:        #ec2b17;   /* akcenat */
    --ns-red-dark:   #c31f0e;
    --ns-muted:      #6b6459;   /* prigušen tekst */
    --ns-line:       rgba(13,13,13,.12);

    /* Spacing skala (jedinstvena) */
    --sp-xs: .5rem;
    --sp-sm: .875rem;
    --sp-md: 1.5rem;
    --sp-lg: 2.5rem;
    --sp-xl: 4rem;
    --section-y: clamp(3.25rem, 6vw, 5.5rem);

    /* Layout */
    --container: 1280px;
    --pad-x: clamp(1rem, 4vw, 2.5rem);
    --gap: 1.5rem;

    /* Oblici */
    --r-sm: 10px;
    --r-md: 16px;
    --r-lg: 26px;
    --r-pill: 999px;

    /* Tipografija */
    --font-display: 'Archivo', 'Helvetica Neue', 'Arial Narrow', system-ui, sans-serif;
    --font-body: system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
}

/* ---------- Baza ---------- */
html { overflow-x: hidden; }
body.ns-theme {
    background: #fff;
    color: var(--ns-ink);
    font-family: var(--font-body);
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
    max-width: 100%;
}
/* Sprečava overflow od flex/grid dece (čest uzrok horiz. scroll-a na mobilnom) */
.ns-theme .ns-cats > *, .ns-theme ul.products > li, .ns-theme .ns-hero__inner { min-width: 0; }
#main-container, .ns-theme main, .ns-topbar, .ns-strip, .ns-hero, .ns-section, .ns-limited { max-width: 100vw; overflow-x: clip; }
.ns-theme h1, .ns-theme h2, .ns-theme h3, .ns-theme h4 {
    font-family: var(--font-display);
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: .98;
    color: var(--ns-ink);
    text-transform: uppercase;
}
.ns-theme a { text-decoration: none; }
.ns-theme img { max-width: 100%; height: auto; display: block; }

/* Home: puna širina (izbaci Blocksy container ograničenja) */
.ns-theme.home #main,
.ns-theme.home #main > .ct-container,
.ns-theme.home .entry-content {
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ---------- Pomoćne klase ---------- */
.ns-container { max-width: var(--container); margin-inline: auto; padding-inline: var(--pad-x); }
.ns-section   { padding-block: var(--section-y); }
.ns-section--alt { background: var(--ns-cream-2); }
/* prva sekcija posle hero-a — manji razmak odozgo (crveni strip je uklonjen) */
.ns-section--tight { padding-top: clamp(1.4rem, 3vw, 2.4rem); }
.ns-eyebrow {
    display: inline-flex; align-items: center; gap: .5rem;
    font-family: var(--font-body); font-weight: 700; font-size: .74rem;
    letter-spacing: .22em; text-transform: uppercase; color: var(--ns-red);
    margin: 0 0 var(--sp-sm);
}
.ns-eyebrow::before { content: ""; width: 26px; height: 2px; background: var(--ns-red); }
/* Naslovi sekcija — manji i sa proredom (bilo prekrupno i zbijeno) */
.ns-h2 { font-size: clamp(1.45rem, 2.9vw, 2.15rem); letter-spacing: .06em; margin: 0 0 var(--sp-lg); }
.ns-head { margin-bottom: var(--sp-lg); }
.ns-head--row { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--sp-md); flex-wrap: wrap; }
.ns-head--row .ns-h2 { margin-bottom: 0; }
.ns-sub { color: var(--ns-muted); max-width: 46ch; margin: var(--sp-sm) 0 0; font-size: 1rem; line-height: 1.55; }

/* ---------- Dugmad ---------- */
.ns-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
    padding: .95rem 1.7rem; border-radius: var(--r-pill);
    font-family: var(--font-body); font-weight: 700; font-size: .9rem;
    letter-spacing: .02em; text-transform: uppercase; cursor: pointer;
    border: 2px solid var(--ns-ink); transition: transform .15s ease, background .2s ease, color .2s ease;
}
.ns-btn:hover { transform: translateY(-2px); }
.ns-btn--dark  { background: var(--ns-ink); color: var(--ns-cream); }
.ns-btn--dark:hover { background: var(--ns-red); border-color: var(--ns-red); color: #fff; }
.ns-btn--red   { background: var(--ns-red); border-color: var(--ns-red); color: #fff; }
.ns-btn--red:hover { background: var(--ns-red-dark); border-color: var(--ns-red-dark); color: #fff; }
/* Zaštita: nijedno .ns-btn nikad ne sme u default link-plavu (Blocksy a:hover leak) */
.ns-theme a.ns-btn, .ns-theme a.ns-btn:hover, .ns-theme a.ns-btn:focus,
.ns-theme a.ns-btn:visited { text-decoration: none; }
.ns-theme a.ns-btn--red, .ns-theme a.ns-btn--red:hover { color: #fff !important; }
.ns-theme a.ns-btn--dark:hover { color: #fff !important; }
.ns-btn--ghost { background: transparent; color: var(--ns-ink); }
.ns-btn--ghost:hover { background: var(--ns-ink); color: var(--ns-cream); }
/* Kontrastna dugmad za hero (na tamnoj/crvenoj podlozi) */
.ns-btn--light { background: var(--ns-cream); color: var(--ns-ink); border-color: var(--ns-cream); }
.ns-btn--light:hover { background: #fff; border-color: #fff; color: var(--ns-red); }
.ns-btn--outline-light { background: rgba(255,255,255,.08); color: #fff; border-color: #fff; }
.ns-btn--outline-light:hover { background: #fff; color: var(--ns-ink); }

/* =================================================================
   TOP ANNOUNCEMENT BAR (marquee)
   ================================================================= */
.ns-topbar { background: var(--ns-ink); color: var(--ns-cream); overflow: hidden; }
.ns-topbar__track {
    display: inline-flex; align-items: center; white-space: nowrap;
    padding-block: .55rem; animation: ns-marquee 34s linear infinite;
}
.ns-topbar__item { font-size: .72rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
/* Separator u crnoj traci = logo (beli potpis u crnom kvadratu) umesto ✦ */
.ns-topbar__sep {
    margin-inline: 1.15rem; display: inline-block; vertical-align: middle;
    width: 24px; height: 24px; flex: 0 0 auto;
    background: url('../../../uploads/2026/07/sep-crni.webp') center/contain no-repeat;
}
@keyframes ns-marquee { from { transform: translateX(0); } to { transform: translateX(-33.33%); } }

/* =================================================================
   HEADER (Blocksy) — krem, crn tekst
   ================================================================= */
.ns-theme header[data-device] .ct-header,
.ns-theme .ct-header { background: #fff; }

/* Redefinisi Blocksy paletu — plavu (#2872fa) na crno/crveno */
body.ns-theme {
    --theme-palette-color-1: #0d0d0d;   /* linkovi / meni */
    --theme-palette-color-2: #ec2b17;   /* hover / akcenat */
}
/* Meni linkovi — crni, hover/aktivno crveno */
.ns-theme .ct-menu-link { color: var(--ns-ink) !important; font-weight: 600; }
.ns-theme .ct-menu-link:hover,
.ns-theme .current-menu-item > .ct-menu-link,
.ns-theme .current_page_item > .ct-menu-link { color: var(--ns-red) !important; }
/* Mobilni off-canvas meni — tamna podloga -> svetao (krem) tekst da se vidi */
.ns-theme .ct-panel-content-inner .ct-menu-link,
.ns-theme .ct-panel-content .ct-menu-link { color: var(--ns-cream) !important; }
.ns-theme .ct-panel-content-inner .ct-menu-link:hover,
.ns-theme .ct-panel-content-inner .current-menu-item > .ct-menu-link,
.ns-theme .ct-panel-content-inner .current_page_item > .ct-menu-link { color: var(--ns-red) !important; }
.ns-theme .ct-panel-content-inner .ct-menu-link svg,
.ns-theme .ct-panel-content-inner button[class*="dropdown"] svg { color: var(--ns-cream) !important; fill: currentColor !important; }

/* Dropdown — svetla podloga, crn tekst, crveni hover */
.ns-theme .ct-header .sub-menu {
    background: #fff !important;
    box-shadow: 0 18px 40px rgba(0,0,0,.14);
    border-radius: 12px; padding: .5rem !important; border: 1px solid var(--ns-line);
}
.ns-theme .ct-header .sub-menu .ct-menu-link {
    color: var(--ns-ink) !important; border-radius: 8px; padding: .6rem .9rem !important; font-weight: 600;
}
.ns-theme .ct-header .sub-menu .menu-item:hover > .ct-menu-link {
    background: var(--ns-cream); color: var(--ns-red) !important;
}
.ns-theme .ct-header .sub-menu .menu-item + .menu-item { border: 0 !important; }

/* ---------- MEGA MENI ---------- */
li.ns-has-mega { position: relative; }
li.ns-has-mega > .sub-menu { display: none !important; } /* sakrij native dropdown na desktopu */
.ns-mega {
    position: absolute; top: 100%; left: 50%; transform: translateX(-50%) translateY(8px);
    width: min(700px, 92vw); z-index: 300;
    background: #fff; border: 1px solid var(--ns-line); border-radius: 16px;
    box-shadow: 0 24px 60px rgba(0,0,0,.18); padding: 1.6rem;
    display: grid; grid-template-columns: 1fr 1fr 1.15fr; gap: 1rem 2rem;
    opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .18s ease, transform .18s ease;
}
/* nevidljiv "most" preko razmaka da hover ne padne */
.ns-mega::before { content: ''; position: absolute; left: 0; right: 0; top: -18px; height: 20px; }
li.ns-has-mega:hover > .ns-mega,
li.ns-has-mega:focus-within > .ns-mega { opacity: 1; visibility: visible; pointer-events: auto; transform: translateX(-50%) translateY(0); }
.ns-mega__h { display: block; font-family: var(--font-display); font-weight: 800; text-transform: uppercase; letter-spacing: .04em; font-size: .72rem; color: var(--ns-muted); margin-bottom: .7rem; }
.ns-mega__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .1rem; }
.ns-mega__col ul li a { display: block; padding: .38rem .5rem; border-radius: 8px; color: var(--ns-ink) !important; font-weight: 600; font-size: .9rem; text-decoration: none; transition: background .15s, color .15s; }
.ns-mega__col ul li a:hover { background: var(--ns-cream); color: var(--ns-red) !important; }
.ns-mega__feature { position: relative; border-radius: 12px; overflow: hidden; display: flex; align-items: flex-end; min-height: 210px; background: var(--ns-ink); text-decoration: none; }
.ns-mega__feature img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .82; transition: transform .35s ease; }
.ns-mega__feature:hover img { transform: scale(1.06); }
.ns-mega__feature-body { position: relative; z-index: 2; width: 100%; padding: 1rem; background: linear-gradient(to top, rgba(0,0,0,.8), rgba(0,0,0,.15) 60%, transparent); }
.ns-mega__feature-eyebrow { display: block; color: var(--ns-red); font-weight: 800; text-transform: uppercase; font-size: .66rem; letter-spacing: .08em; margin-bottom: .3rem; }
.ns-mega__feature-title { display: block; color: #fff; font-family: var(--font-display); font-weight: 800; text-transform: uppercase; font-size: 1.1rem; line-height: 1.05; margin: .25rem 0; }
.ns-mega__feature-cta { display: inline-block; color: #fff; font-weight: 700; font-size: .82rem; }
.ns-mega__feature-cta em { font-style: normal; transition: transform .2s; display: inline-block; }
.ns-mega__feature:hover .ns-mega__feature-cta em { transform: translateX(4px); }

/* Logo/naziv sajta — crn (ne plavo-teget) */
.ns-theme .site-title a, .ns-theme .ct-logo-container a,
.ns-theme .site-logo-container a, .ns-theme .site-title { color: var(--ns-ink) !important; }

/* Footer — krem (ukloni hladno plavo-sivu traku) */
/* Sakrij prazan Blocksy footer — koristimo custom .ns-footer */
.ns-theme .ct-footer { display: none !important; }

/* ---- Custom footer ---- */
.ns-footer { background: var(--ns-ink); color: #cfc9bd; }
.ns-footer__inner {
    max-width: var(--container, 1240px); margin: 0 auto; padding: 3.5rem var(--pad-x) 2.5rem;
    display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.2fr; gap: 2.5rem;
}
.ns-footer__logo { font-family: var(--font-display); font-weight: 900; text-transform: uppercase; font-size: 1.6rem; letter-spacing: -.02em; color: #fff; margin-bottom: .9rem; }
.ns-footer__logo em { color: var(--ns-red); font-style: normal; }
/* logo kao slika (isti kao u headeru, beli potpis) */
.ns-footer__logo--img { display: block; margin-bottom: 1rem; }
.ns-footer__logo--img img { height: 66px; width: auto; max-width: 100%; display: block; }
.ns-footer__blurb { font-size: .9rem; line-height: 1.6; color: #a29b8e; max-width: 34ch; margin: 0 0 1.2rem; }
.ns-footer__social { display: flex; gap: .6rem; }
.ns-footer__social a {
    width: 40px; height: 40px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
    color: #cfc9bd; border: 1px solid rgba(255,255,255,.16); transition: all .2s;
}
.ns-footer__social a:hover { background: var(--ns-red); border-color: var(--ns-red); color: #fff; transform: translateY(-2px); }
.ns-footer__col h4 {
    font-family: var(--font-display); font-weight: 800; text-transform: uppercase; letter-spacing: .04em;
    font-size: .8rem; color: #fff; margin: 0 0 1.1rem;
}
.ns-footer__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .6rem; }
.ns-footer__col ul li { font-size: .9rem; color: #a29b8e; }
.ns-footer__col ul li a { color: #cfc9bd; text-decoration: none; transition: color .2s; }
.ns-footer__col ul li a:hover { color: var(--ns-red); }
.ns-footer__contact ul li { line-height: 1.4; }
.ns-footer__bottom {
    border-top: 1px solid rgba(255,255,255,.1); max-width: var(--container, 1240px); margin: 0 auto;
    padding: 1.4rem var(--pad-x); display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap;
    font-size: .8rem; color: #8a8377;
}
.ns-footer__tag { text-transform: uppercase; letter-spacing: .03em; font-size: .72rem; }
@media (max-width: 860px) {
    .ns-footer__inner { grid-template-columns: 1fr 1fr; gap: 2rem 1.5rem; padding: 2.5rem var(--pad-x) 1.5rem; }
    .ns-footer__brand { grid-column: 1 / -1; }
    .ns-footer__bottom { justify-content: center; text-align: center; }
}
@media (max-width: 480px) {
    .ns-footer__inner { grid-template-columns: 1fr; }
}

/* Pretraga: sakrij autor/datum meta (rezultati nisu blog postovi) */
.ns-theme.search .entry-meta, .ns-theme.search-results .entry-meta,
.ns-theme.search .ct-meta-element, .ns-theme.search .ct-post-meta,
.ns-theme.search .post-meta, .ns-theme.search article time,
.ns-theme.search .ct-author-avatar { display: none !important; }

/* =================================================================
   HERO CAROUSEL
   ================================================================= */
.ns-hero { background: #fff; }
.ns-hero__viewport { position: relative; overflow: hidden; background: var(--ns-ink); }  /* full-bleed, edge-to-edge */
.ns-hero .ns-container { padding-top: var(--sp-md); }
.ns-hero__track { display: flex; transition: transform .6s cubic-bezier(.6,.01,.1,1); }
.ns-hero__slide {
    position: relative; min-width: 100%;
    min-height: clamp(420px, 62vh, 640px);
    display: grid; align-items: center;
    background-size: cover; background-position: center;
    color: var(--ns-cream);
}
/* Tipografsko-bojeni fallback slajd (dok nema namenske slike) */
.ns-hero__slide[data-tone="0"] { background: linear-gradient(135deg,#141414,#2a2a2a); }
.ns-hero__slide[data-tone="1"] { background: linear-gradient(135deg,var(--ns-red-dark),var(--ns-red)); }
.ns-hero__slide[data-tone="2"] { background: linear-gradient(135deg,#101010,#3a1410); }
.ns-hero__slide[data-tone="3"] { background: linear-gradient(135deg,#242424,#0d0d0d); }
.ns-hero__slide::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(0,0,0,.5), rgba(0,0,0,.12) 42%, transparent 68%); pointer-events: none; }
.ns-hero__inner { position: relative; z-index: 3; max-width: var(--container); margin-inline: auto; padding: 0 clamp(1.5rem,5vw,4rem); width: 100%; }
/* Hero SPLIT — slika kategorije desno, blenduje se u tamnu levu stranu */
.ns-hero__media { position: absolute; top: 0; right: 0; bottom: 0; width: 60%; z-index: 0; overflow: hidden; }
.ns-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }
.ns-hero__media::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #131313 0%, rgba(19,19,19,.5) 20%, rgba(19,19,19,0) 54%); }
@media (max-width: 860px) {
    /* Mobilni: slika u punoj jačini (bez zatamnjenja preko cele sekcije),
       fade ide ODOZGO NADOLE — vrh čist, dno tamno da tekst bude čitljiv. */
    .ns-hero__media { width: 100%; opacity: 1; }
    .ns-hero__media::before {
        background: linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,0) 34%, rgba(0,0,0,.35) 55%, rgba(0,0,0,.80) 74%, rgba(0,0,0,.95) 100%);
    }
}
.ns-hero__eyebrow { color: #fff; }
.ns-hero__eyebrow::before { background: #fff; }
.ns-theme .ns-hero__title { color: #fff !important; font-size: clamp(2.4rem, 5.6vw, 4.8rem); margin: 0 0 var(--sp-md); max-width: 18ch; line-height: 1; text-shadow: 0 2px 10px rgba(0,0,0,.65), 0 1px 34px rgba(0,0,0,.45); }
.ns-hero__desc { color: rgba(255,255,255,.94); font-size: 1.08rem; max-width: 42ch; margin: 0 0 var(--sp-lg); line-height: 1.5; text-shadow: 0 1px 8px rgba(0,0,0,.6); }
.ns-hero__cta { display: flex; gap: var(--sp-sm); flex-wrap: wrap; }
/* Hero — single (limitirani proizvod meseca): jedan slajd, bez carousela */
.ns-hero--single .ns-hero__title { text-transform: uppercase; letter-spacing: -.01em; }
/* natpis „Limited Edition · <mesec> <godina>" — brend crvena umesto bele */
.ns-hero--single .ns-hero__eyebrow {
    color: var(--ns-red) !important; letter-spacing: .12em;
    text-shadow: 0 1px 6px rgba(0,0,0,.75), 0 0 18px rgba(0,0,0,.5);   /* čitljivo i preko svetle slike */
}
.ns-hero--single .ns-hero__eyebrow::before { background: var(--ns-red) !important; }
.ns-hero--single .ns-hero__slide { background: linear-gradient(120deg,#0f0f0f,#232323); }

/* Kontrole */
.ns-hero__dots { display: flex; gap: .5rem; position: absolute; bottom: 1.4rem; left: 50%; transform: translateX(-50%); z-index: 3; }
.ns-hero__dot { width: 34px; height: 4px; border-radius: 2px; border: 0; background: rgba(255,255,255,.4); cursor: pointer; padding: 0; transition: background .2s; }
.ns-hero__dot.is-active { background: #fff; }
.ns-hero__arrow {
    position: absolute; top: 50%; transform: translateY(-50%); z-index: 3;
    width: 48px; height: 48px; border-radius: var(--r-pill); border: 0; cursor: pointer;
    background: rgba(255,255,255,.14); color: #fff; font-size: 1.3rem;
    backdrop-filter: blur(6px); transition: background .2s;
}
.ns-hero__arrow:hover { background: var(--ns-red); }
.ns-hero__arrow--prev { left: 1rem; } .ns-hero__arrow--next { right: 1rem; }
.ns-hero__thumbs { display: flex; gap: .8rem; margin-top: var(--sp-md); position: relative; z-index: 4; flex-wrap: wrap; }
.ns-hero__thumb {
    flex: 1 1 0; min-width: 120px; padding: 1.15rem 1.2rem 1.05rem; border-radius: var(--r-md);
    background: linear-gradient(152deg, #262626 0%, #0d0d0d 78%); border: 1px solid rgba(255,255,255,.09);
    cursor: pointer; position: relative; overflow: hidden; isolation: isolate;
    text-align: left; font-family: var(--font-display); font-weight: 800; text-transform: uppercase;
    font-size: .85rem; letter-spacing: -.01em; color: #fff;
    box-shadow: 0 10px 26px rgba(0,0,0,.22);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
/* crveni radijalni sjaj (premium) — pojača na hover/aktivno */
.ns-hero__thumb::before {
    content: ""; position: absolute; inset: 0; z-index: -1;
    background: radial-gradient(120% 120% at 100% 0%, rgba(236,43,23,.35), transparent 55%);
    opacity: 0; transition: opacity .3s ease;
}
/* strelica gore-desno */
.ns-hero__thumb::after {
    content: "→"; position: absolute; top: 1rem; right: 1.1rem; color: var(--ns-red);
    font-family: var(--font-body); font-weight: 700; opacity: 0; transform: translateX(-6px); transition: .25s ease;
}
.ns-hero__thumb:hover { transform: translateY(-5px); box-shadow: 0 20px 42px rgba(0,0,0,.32), 0 0 0 1px rgba(236,43,23,.5); border-color: transparent; }
.ns-hero__thumb:hover::before, .ns-hero__thumb.is-active::before { opacity: 1; }
.ns-hero__thumb:hover::after, .ns-hero__thumb.is-active::after { opacity: 1; transform: none; }
.ns-hero__thumb.is-active {
    border-color: var(--ns-red);
    background: linear-gradient(152deg, #3a1611 0%, #0d0d0d 78%);
    box-shadow: 0 14px 34px rgba(236,43,23,.3), inset 0 0 0 1px rgba(236,43,23,.35);
}
.ns-hero__thumb small { display: block; font-family: var(--font-body); font-weight: 500; text-transform: none; letter-spacing: 0; color: rgba(255,255,255,.55); font-size: .74rem; margin-top: .35rem; }
.ns-hero__thumb.is-active small { color: rgba(255,255,255,.75); }

/* =================================================================
   MARQUEE STRIP (crveni)
   ================================================================= */
.ns-strip { background: var(--ns-red); color: #fff; overflow: hidden; padding-block: 1rem; margin-top: var(--sp-lg); }
.ns-strip__track { display: inline-flex; white-space: nowrap; animation: ns-marquee 26s linear infinite; }
.ns-strip__item { font-family: var(--font-display); font-weight: 800; text-transform: uppercase; font-size: 1.05rem; letter-spacing: .01em; }
/* Separator u crvenoj traci = prozirni (beli) logo umesto ✦ */
.ns-strip__sep {
    margin-inline: 1.1rem; display: inline-block; vertical-align: middle;
    width: 30px; height: 30px; flex: 0 0 auto; opacity: .95;
    background: url('../../../uploads/2026/07/sep-beli.webp') center/contain no-repeat;
}

/* =================================================================
   CATEGORY GRID ("Signature drops")
   ================================================================= */
.ns-cats { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--gap); }
.ns-cat {
    position: relative; border-radius: var(--r-md); overflow: hidden;
    background: var(--ns-ink); display: flex; flex-direction: column;
    box-shadow: 0 6px 18px rgba(13,13,13,.08);
    transition: transform .2s ease, box-shadow .2s ease;
}
.ns-cat:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(13,13,13,.16); }
.ns-cat img { position: static; width: 100%; aspect-ratio: 1/1; object-fit: cover; display: block; transition: transform .5s ease; }
.ns-cat:hover img { transform: scale(1.05); }
.ns-cat__body { display: block; padding: 1rem 1.2rem 1.15rem; background: var(--ns-ink); }
.ns-cat__name { display: block; font-family: var(--font-display); font-weight: 800; text-transform: uppercase; color: #fff; font-size: 1.15rem; margin: 0 0 .3rem; line-height: 1.05; letter-spacing: -.01em; }
.ns-cat__tag { display: block; color: rgba(255,255,255,.7); font-size: .82rem; margin: 0; line-height: 1.35; }
.ns-cat__arrow {
    position: absolute; top: var(--sp-md); right: var(--sp-md); z-index: 2;
    width: 40px; height: 40px; border-radius: var(--r-pill); background: var(--ns-red);
    color: #fff; display: grid; place-items: center; font-size: 1.1rem; transform: translate(6px,-6px); opacity: 0; transition: .25s;
}
.ns-cat:hover .ns-cat__arrow { transform: none; opacity: 1; }
.ns-cat--placeholder { background: var(--ns-ink); }
.ns-cat--placeholder .ns-cat__name { position: relative; z-index: 2; }

/* =================================================================
   LIMITED EDITION
   ================================================================= */
.ns-limited { background: var(--ns-ink); color: var(--ns-cream); }
.ns-limited .ns-h2, .ns-limited .ns-cat__name { color: #fff; }
.ns-limited .ns-sub { color: rgba(255,255,255,.72); }
.ns-limited .ns-eyebrow { color: var(--ns-red); }
.ns-limited__badge {
    display: inline-block; background: var(--ns-red); color: #fff; font-weight: 800;
    font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; padding: .35rem .7rem; border-radius: var(--r-pill);
}

/* =================================================================
   WOOCOMMERCE PRODUCT KARTICE (home + shop)
   ================================================================= */
.ns-theme ul.products {
    display: grid !important; gap: var(--gap); margin: 0 !important; padding: 0 !important; list-style: none;
    grid-template-columns: repeat(4, 1fr);
}
.ns-theme ul.products.columns-3 { grid-template-columns: repeat(3, 1fr); }
/* U PRODAVNICI/arhivama 3 u redu (veće slike). Početna ostaje 4 u redu.
   Mobilni se ne dira — o njemu odlučuju media query-ji niže. */
@media (min-width: 1000px) {
    .ns-theme.archive ul.products,
    .ns-theme.post-type-archive-product ul.products,
    .ns-theme.tax-product_cat ul.products,
    .ns-theme.tax-product_tag ul.products,
    .ns-theme.search-results ul.products { grid-template-columns: repeat(3, 1fr) !important; }
}
.ns-theme ul.products li.product {
    width: auto !important; margin: 0 !important; float: none !important;
    background: #fff; border: 1px solid var(--ns-line); border-radius: var(--r-md);
    padding: 0; overflow: hidden; display: flex; flex-direction: column; transition: transform .2s, box-shadow .2s, border-color .2s;
}
.ns-theme ul.products li.product:hover { transform: translateY(-4px); box-shadow: 0 14px 34px rgba(0,0,0,.10); border-color: var(--ns-ink); }
.ns-theme ul.products li.product a img,
.ns-theme ul.products li.product .ct-media-container { border-radius: 0; margin: 0; aspect-ratio: 1/1; object-fit: cover; object-position: top center; width: 100%; background: #fff; display: block; }
.ns-theme ul.products li.product .ct-media-container,
.ns-theme ul.products li.product .ct-media-container img { background: #fff; }
.ns-theme ul.products li.product .ct-media-container img { height: 100%; width: 100%; object-fit: cover; object-position: top center; }
/* Kategorija ispod naziva — suvišna, sakrivamo za čistiji izgled */
.ns-theme ul.products li.product .meta-categories,
.ns-theme ul.products li.product .ct-category { display: none !important; }
.ns-theme ul.products li.product .woocommerce-loop-product__title,
.ns-theme ul.products li.product a.woocommerce-LoopProduct-link,
.ns-theme ul.products li.product a .woocommerce-loop-product__title {
    color: var(--ns-ink) !important;
}
.ns-theme ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--font-display); font-weight: 800; text-transform: none; letter-spacing: -.01em;
    font-size: .98rem; padding: .8rem var(--sp-md) 0; line-height: 1.15;
}
.ns-theme ul.products li.product:hover .woocommerce-loop-product__title { color: var(--ns-red) !important; }
.ns-theme ul.products li.product .price {
    padding: .4rem var(--sp-md) 0; color: var(--ns-ink); font-weight: 700; font-size: 1rem;
}
.ns-theme ul.products li.product .price del { color: var(--ns-muted); font-weight: 400; margin-right: .4rem; opacity: .8; }
.ns-theme ul.products li.product .price ins { text-decoration: none; color: var(--ns-red); }
.ns-theme ul.products li.product .star-rating { margin: .5rem var(--sp-md) 0; font-size: .8rem; color: var(--ns-red); }
/* Poravnanje: naslov fiksno 2 reda → sve kartice prirodno iste visine,
   bez praznog razvlačenja između naziva / cene / dugmeta. */
/* Poravnanje kartica: sve CENTRIRANO, tesni razmaci, dugmad u istoj liniji.
   Kartice se rastežu na istu visinu, a dugme se gura na dno (margin-top:auto). */
.ns-theme ul.products { align-items: stretch; }
.ns-theme ul.products li.product { height: 100%; text-align: center; }
.ns-theme ul.products li.product > a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex: 0 0 auto; }
/* Naslov FIKSNO 2 reda (duži se skraćuje sa „…") — bez toga cene i dugmad
   „plutaju" na različitim visinama jer naslovi imaju 1, 2 ili 3 reda. */
/* Blocksy stavlja margin-bottom:25px ispod slike — uklanjamo, pravio je veliku prazninu */
.ns-theme ul.products li.product figure,
.ns-theme ul.products li.product .ct-image-container { margin-bottom: 0 !important; }
.ns-theme ul.products li.product .woocommerce-loop-product__title {
    display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    overflow: hidden; text-overflow: ellipsis;
    height: 2.4em; min-height: 2.4em; max-height: 2.4em;
    padding: 0 .8rem !important; margin: .6rem 0 0 !important; text-align: center;
}
/* prazan meta blok između cene i dugmeta pravi suvišan razmak */
.ns-theme ul.products li.product .entry-meta { display: none !important; }
.ns-theme ul.products li.product .price {
    margin: 0; padding: .1rem .8rem 0; display: block; text-align: center; line-height: 1.4;
}
/* Dugme — centrirano, na dnu kartice, brend crvena */
.ns-theme ul.products li.product .ct-woo-card-actions {
    justify-content: center; margin-top: auto; padding: 0; width: 100%;
}
.ns-theme ul.products li.product .button,
.ns-theme ul.products li.product .added_to_cart {
    margin: .55rem auto .85rem; border-radius: var(--r-pill);
    background: var(--ns-red); color: #fff; font-weight: 700; text-transform: uppercase;
    font-size: .74rem; letter-spacing: .04em; padding: .6rem 1.3rem; text-align: center; border: 0;
    transition: background .2s, transform .15s, box-shadow .2s;
    /* bez prelamanja: „Dodaj u korpu" se lomilo u 2 reda pa dugmad nisu bila u liniji */
    white-space: nowrap; line-height: 1.2; min-height: 0;
}
.ns-theme ul.products li.product .button:active { transform: scale(.97); }
.ns-theme ul.products li.product .button:hover { background: var(--ns-red-dark); box-shadow: 0 6px 16px rgba(0,0,0,.16); }
.ns-theme ul.products li.product .onsale {
    position: absolute; margin: 0; top: .8rem; left: .8rem; background: var(--ns-red); color: #fff;
    border-radius: var(--r-pill); min-height: auto; min-width: auto; padding: .3rem .7rem; font-weight: 800; font-size: .68rem; letter-spacing: .05em; border: 0;
}
.ns-theme ul.products li.product { position: relative; }

/* =================================================================
   TESTIMONIAL / ZAŠTO MI (crveni blok)
   ================================================================= */
.ns-why__card {
    background: var(--ns-red); color: #fff; border-radius: var(--r-lg);
    padding: clamp(2rem, 5vw, 3.5rem); display: grid; grid-template-columns: 1.3fr 1fr; gap: var(--sp-xl); align-items: center;
}
.ns-why__card .ns-h2 { color: #fff; }
.ns-why__stars { color: #fff; font-size: 1.1rem; letter-spacing: .2em; margin-bottom: var(--sp-md); }
.ns-why__quote { font-size: 1.15rem; line-height: 1.5; margin: 0 0 var(--sp-md); }
.ns-why__author { font-weight: 700; text-transform: uppercase; letter-spacing: .05em; font-size: .85rem; }
.ns-why__media { border-radius: var(--r-md); overflow: hidden; aspect-ratio: 4/5; background: rgba(0,0,0,.2); }
.ns-why__media img { width: 100%; height: 100%; object-fit: cover; }

/* =================================================================
   NEWSLETTER
   ================================================================= */
.ns-section--news { padding-top: clamp(2.5rem, 6vw, 4.5rem); }
.ns-news { position: relative; overflow: hidden; background: linear-gradient(155deg, #1c1c1c 0%, #0d0d0d 100%); color: var(--ns-cream); border-radius: var(--r-lg); padding: clamp(2.5rem,6vw,4rem) clamp(1.5rem,5vw,3.5rem); text-align: center; box-shadow: 0 20px 50px rgba(0,0,0,.14); }
.ns-news::before { content: ""; position: absolute; inset: 0; background: radial-gradient(90% 130% at 50% 0%, rgba(236,43,23,.28), transparent 60%); pointer-events: none; }
.ns-news > * { position: relative; z-index: 1; }
.ns-news .ns-h2 { color: #fff; margin-bottom: var(--sp-sm); }
.ns-news p { color: rgba(255,255,255,.7); margin: 0 auto var(--sp-lg); max-width: 44ch; }
.ns-news__form { display: flex; align-items: stretch; gap: .6rem; max-width: 480px; margin-inline: auto; flex-wrap: wrap; }
.ns-news__form input { flex: 1 1 220px; padding: 0 1.4rem; height: 3.35rem; border-radius: var(--r-pill); border: 0; font-size: .95rem; background: #fff !important; color: var(--ns-ink) !important; }
.ns-news__form input::placeholder { color: var(--ns-muted); }
.ns-news__form button { flex: 0 0 auto; height: 3.35rem; padding: 0 1.9rem; display: inline-flex; align-items: center; justify-content: center; }
@media (max-width: 520px) { .ns-news__form input, .ns-news__form button { flex: 1 1 100%; } }

/* =================================================================
   FOOTER wordmark
   ================================================================= */
/* Testimoniali slider */
/* Testimoniali sekcija — krem band + dekorativni navodnik + više prostora */
.ns-testi { background: var(--ns-cream-2); position: relative; overflow: hidden; padding-block: clamp(3.5rem, 7vw, 6rem) !important; }
.ns-testi .ns-container { position: relative; z-index: 1; }
.ns-testi::before { content: "\201C"; position: absolute; top: -.06em; left: 50%; transform: translateX(-50%); font-family: var(--font-display); font-weight: 900; font-size: clamp(9rem, 22vw, 17rem); line-height: 1; color: var(--ns-ink); opacity: .05; pointer-events: none; z-index: 0; }
.ns-testi .ns-h2 { margin-bottom: 0; }
.ns-testi__slider { position: relative; max-width: 760px; margin: var(--sp-xl) auto 0; }
.ns-testi__track { display: flex; transition: transform .5s cubic-bezier(.5,0,.1,1); }
.ns-testi__item { flex: 0 0 100%; min-width: 100%; text-align: center; padding: 0 clamp(1rem, 5vw, 3.5rem); box-sizing: border-box; margin: 0 !important; border: 0 !important; background: none !important; }
.ns-testi__stars { color: var(--ns-red); font-size: 1.1rem; letter-spacing: .15em; margin-bottom: 1.1rem; }
.ns-testi__quote { font-family: var(--font-display); font-size: clamp(1.15rem, 2.3vw, 1.55rem); line-height: 1.42; color: var(--ns-ink); margin: 0 0 1.3rem; font-weight: 500; }
.ns-testi__cite { display: flex; flex-direction: column; font-style: normal; gap: .1rem; }
.ns-testi__cite strong { font-weight: 800; color: var(--ns-ink); }
.ns-testi__cite span { font-size: .85rem; color: var(--ns-muted); }
.ns-testi__slider { overflow: hidden; }
.ns-testi__arrow { position: absolute; top: 38%; transform: translateY(-50%); width: 42px; height: 42px; border-radius: 50%; border: 1.5px solid var(--ns-line); background: #fff; cursor: pointer; font-size: 1.3rem; line-height: 1; color: var(--ns-ink); display: flex; align-items: center; justify-content: center; transition: all .2s; z-index: 2; }
.ns-testi__arrow:hover { border-color: var(--ns-ink); background: var(--ns-ink); color: #fff; }
.ns-testi__arrow--prev { left: 0; }
.ns-testi__arrow--next { right: 0; }
.ns-testi__dots { display: flex; justify-content: center; gap: .5rem; margin-top: 1.8rem; }
.ns-testi__dot { width: 9px; height: 9px; border-radius: 50%; border: 0; background: rgba(13,13,13,.2); cursor: pointer; padding: 0; transition: all .2s; }
.ns-testi__dot.is-active { background: var(--ns-ink); width: 24px; border-radius: 999px; }
@media (max-width: 700px) { .ns-testi__arrow { display: none; } }

.ns-wordmark { text-align: center; padding: var(--sp-lg) var(--pad-x); background: #fff; overflow: hidden; }
.ns-wordmark span { font-family: var(--font-display); font-weight: 900; text-transform: uppercase; font-size: clamp(2rem, 8vw, 5rem); letter-spacing: -.03em; line-height: .9; color: var(--ns-ink); }
.ns-wordmark span em { color: var(--ns-red); font-style: normal; }

/* =================================================================
   SHOP / ARCHIVE stranica
   ================================================================= */
.ns-theme.post-type-archive-product .woocommerce-products-header,
.ns-theme.tax-product_cat .woocommerce-products-header {
    text-align: center; padding-block: 0 var(--sp-md);
}
.ns-theme .woocommerce-products-header__title { font-family: var(--font-display); font-size: clamp(1.7rem,3.4vw,2.5rem); letter-spacing: .05em; text-transform: uppercase; }

/* =================================================================
   SINGLE PRODUCT stranica
   ================================================================= */
.ns-theme.single-product div.product .product_title {
    font-family: var(--font-display); font-size: clamp(1.8rem, 3.5vw, 2.8rem); text-transform: none; letter-spacing: -.01em;
}
/* Atribut spec tabela — čist info blok (card) */
.ns-theme.single-product .ns-spec { margin: var(--sp-md) 0; border: 1px solid var(--ns-line); border-radius: var(--r-md); background: #fff; overflow: hidden; }
.ns-theme.single-product .ns-spec__row { display: flex; justify-content: space-between; gap: var(--sp-md); padding: .7rem 1.1rem; border-bottom: 1px solid var(--ns-line); font-size: .9rem; }
.ns-theme.single-product .ns-spec__row:last-child { border-bottom: 0; }
.ns-theme.single-product .ns-spec__k { font-family: var(--font-display); font-weight: 700; text-transform: uppercase; letter-spacing: .02em; color: var(--ns-ink); }
.ns-theme.single-product .ns-spec__v { color: var(--ns-muted); text-align: right; }

/* USP / trust — FLAT editorial lista (bez kartice, tanke linije) */
.ns-theme.single-product .ns-usp { margin: 0 0 1rem; border-top: 0; border-bottom: 1px solid var(--ns-line); border-radius: 0; background: transparent; }
.ns-theme.single-product .ns-usp__row { display: flex; align-items: center; gap: .8rem; padding: .7rem 0; border-bottom: 1px solid var(--ns-line); }
.ns-theme.single-product .ns-usp__row:last-child { border-bottom: 0; }
.ns-theme.single-product .ns-usp__icon { flex: 0 0 auto; width: 26px; height: 26px; display: flex; align-items: center; justify-content: center; background: transparent; color: var(--ns-ink); }
.ns-theme.single-product .ns-usp__icon svg { width: 22px; height: 22px; }
.ns-theme.single-product .ns-usp__txt { display: flex; flex-direction: column; line-height: 1.25; }
.ns-theme.single-product .ns-usp__txt strong { font-size: .88rem; color: var(--ns-ink); font-weight: 700; }
.ns-theme.single-product .ns-usp__txt span { font-size: .78rem; color: var(--ns-muted); }

/* ---- Editorial product summary (mockup stil) ---- */
/* Cena — tanka linija ispod */
.ns-theme.single-product div.product p.price,
.ns-theme.single-product div.product span.price { padding-bottom: .9rem; margin-bottom: 0 !important; border-bottom: 1px solid var(--ns-line); display: block; }
/* Sakrij SKU/Kategorije/Tagovi + Blocksy suvišne divajdere (imamo svoje linije) */
.ns-theme.single-product .product_meta { display: none !important; }
.ns-theme.single-product .summary .ct-product-divider { display: none !important; }
/* Labele opcija (Model / Boja / Veličina) — mala verzalna, monospace osećaj */
.ns-theme.single-product .variations th.label label,
.ns-theme.single-product .variations th.label { font-family: var(--font-display) !important; text-transform: uppercase; letter-spacing: .06em; font-size: .74rem !important; font-weight: 700; color: var(--ns-muted); padding: 0 0 .5rem !important; }
.ns-theme.single-product .variations .woo-selected-variation-item-name { color: var(--ns-ink); font-weight: 700; text-transform: none; letter-spacing: 0; }
.ns-theme.single-product .variations,
.ns-theme.single-product .variations tbody { display: block; width: 100%; }
.ns-theme.single-product .variations tr { display: block; width: 100%; margin-bottom: 1rem; }
.ns-theme.single-product .variations th.label, .ns-theme.single-product .variations td.value { display: block; width: 100% !important; box-sizing: border-box; }
/* Free-shipping bar — tanji, minimalan (mockup) */
.ns-theme.single-product .ns-freeship-product { margin: 0; }
.ns-theme.single-product .ns-freeship-product .ns-freeship { border: 0; border-bottom: 1px solid var(--ns-line); border-radius: 0; background: transparent; padding: .9rem 0; }
.ns-theme.single-product .ns-freeship-product .ns-freeship__msg { font-size: .82rem; margin-bottom: .5rem; }
.ns-theme.single-product .ns-freeship-product .ns-freeship__track { height: 4px; }
/* Size guide link — desno u ravni sa „VELIČINA" labelom */
.ns-theme.single-product .variations th.ns-sg-row { display: flex !important; align-items: baseline; width: 100% !important; }
.ns-theme.single-product .ns-sizeguide-link { margin-left: auto; display: inline-flex; align-items: center; gap: .3em; font-size: .68rem; text-transform: uppercase; letter-spacing: .04em; color: var(--ns-ink); text-decoration: none; font-weight: 700; cursor: pointer; border: 1.5px solid var(--ns-line); border-radius: var(--r-pill); padding: .32rem .7rem; transition: all .15s; white-space: nowrap; }
.ns-theme.single-product .ns-sizeguide-link:hover { color: #fff; background: var(--ns-ink); border-color: var(--ns-ink); text-decoration: none; }
/* Sakrij izabranu vrednost u labeli („: S", „: Crna") — swatch je već označen,
   a uz WC labelu je pravila i duplu dvotačku („BOJA:: Crna"). */
.ns-theme.single-product .variations th.label .woo-selected-variation-item-name { display: none !important; }
/* Size guide modal */
.ns-sg-modal { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; }
.ns-sg-modal[hidden] { display: none; }
.ns-sg-modal__overlay { position: absolute; inset: 0; background: rgba(0,0,0,.6); }
.ns-sg-modal__box { position: relative; background: #fff; border-radius: var(--r-md); padding: 1.4rem; max-width: 640px; width: 92%; max-height: 90vh; overflow: auto; }
.ns-sg-modal__title { display: block; font-family: var(--font-display); font-weight: 800; text-transform: uppercase; margin-bottom: .9rem; color: var(--ns-ink); }
.ns-sg-modal__close { position: absolute; top: .6rem; right: 1rem; background: none; border: 0; font-size: 1.7rem; line-height: 1; cursor: pointer; color: var(--ns-ink); }
.ns-sg-modal__close:hover { color: var(--ns-red); }
.ns-sg-modal__box img { width: 100%; height: auto; border-radius: 8px; display: block; }
/* zvanična tabela veličina kao slika */
.ns-sg-modal__chart { width: 100%; height: auto; display: block; border-radius: 10px; }
.ns-sg-tablewrap { overflow-x: auto; }
.ns-sg-table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.ns-sg-table th, .ns-sg-table td { padding: .6rem .7rem; text-align: center; border-bottom: 1px solid var(--ns-line); }
.ns-sg-table thead th { font-family: var(--font-display); text-transform: uppercase; letter-spacing: .03em; font-size: .72rem; color: var(--ns-muted); border-bottom: 2px solid var(--ns-ink); }
.ns-sg-table tbody th { font-family: var(--font-display); font-weight: 800; color: var(--ns-ink); text-align: left; }
.ns-sg-table tbody tr:nth-child(even) { background: var(--ns-cream-2, #f7f3ea); }
.ns-sg-note { margin: .9rem 0 0; font-size: .78rem; color: var(--ns-muted); }

/* Količina i „Dodaj u korpu" — ISTA visina (dugme je imalo 106px, količina 58px) */
.ns-theme.single-product form.cart .quantity,
.ns-theme.single-product form.cart .quantity input.qty,
.ns-theme.single-product .ns-qty { height: 62px !important; }
.ns-theme.single-product form.cart .quantity { display: inline-flex !important; align-items: center; }
.ns-theme.single-product form.cart .quantity input.qty { padding-top: 0 !important; padding-bottom: 0 !important; }
.ns-theme.single-product .single_add_to_cart_button {
    height: 62px !important; min-height: 62px !important;
    padding-top: 0 !important; padding-bottom: 0 !important;
    display: inline-flex !important; align-items: center; justify-content: center;
}

/* Hover-zoom glavne slike proizvoda (desktop) — sloj sa ORIGINALNOM slikom
   (skaliranje prikazane 600px verzije je davalo mutan zoom) */
.ns-theme.single-product .ns-zoomable .flexy-view .ct-media-container { overflow: hidden; }
.ns-theme.single-product .ns-zoomable .flexy-view { cursor: zoom-in; }
.ns-theme.single-product .ns-zoom-layer {
    position: absolute; inset: 0; z-index: 2; pointer-events: none;
    background-repeat: no-repeat; background-size: 190%; background-color: #fff;
    opacity: 0; transition: opacity .12s ease;
}
.ns-theme.single-product .ns-zoom-layer.is-on { opacity: 1; }
/* Veće bočne sličice (thumbnails) — proširi kolonu, uvećaj svaku sličicu.
   VAŽNO: NE dirati <ol> visinu (to je kontejner svih sličica). */
.ns-theme.single-product .flexy-pills { flex: 0 0 96px !important; width: 96px !important; }
.ns-theme.single-product .flexy-pills ol { height: auto !important; gap: 10px !important; }
.ns-theme.single-product .flexy-pills li { width: 92px !important; height: 92px !important; max-width: none !important; }
.ns-theme.single-product .flexy-pills li > *,
.ns-theme.single-product .flexy-pills li img,
.ns-theme.single-product .flexy-pills li span { width: 100% !important; height: 100% !important; object-fit: cover !important; }

/* Galerija — glavna slika + thumbnails vertikalno LEVO (editorial, desktop) */
.ns-theme.single-product div.product .woocommerce-product-gallery { max-width: 560px; }
.ns-theme.single-product div.product .woocommerce-product-gallery__image img { border-radius: var(--r-md); }
@media (min-width: 1000px) {
    .ns-theme.single-product .ct-product-gallery-container .flexy-container { display: flex !important; flex-direction: row-reverse; align-items: flex-start; gap: 14px; }
    .ns-theme.single-product .ct-product-gallery-container > .flexy-container > .flexy { flex: 1 1 auto; min-width: 0; }
    .ns-theme.single-product .ct-product-gallery-container .flexy-pills { flex: 0 0 78px; margin: 0 !important; max-width: 78px; }
    .ns-theme.single-product .ct-product-gallery-container .flexy-pills ol { display: flex !important; flex-direction: column; gap: 8px; margin: 0; padding: 0; list-style: none; max-height: 640px; overflow-y: auto; }
    .ns-theme.single-product .ct-product-gallery-container .flexy-pills li { width: 78px !important; margin: 0 !important; flex: 0 0 auto; }
}
/* Glavna slika — odnos = --ns-gal (na slajdovima, ne na .flexy-container koji sad drži i thumbnails) */
.ns-theme.single-product .woocommerce-product-gallery .flexy-items,
.ns-theme.single-product .woocommerce-product-gallery .flexy-items .flexy-item {
    aspect-ratio: var(--ns-gal, 1 / 1) !important; height: auto !important;
}
.ns-theme.single-product .woocommerce-product-gallery .flexy-items .flexy-item img {
    aspect-ratio: var(--ns-gal, 1 / 1) !important; object-fit: cover !important;
    width: 100% !important; height: 100% !important; background: transparent; border-radius: var(--r-md);
}
/* ===== SHOP FILTERI (sidebar levo + AJAX) ===== */
.ns-theme .ns-shop { display: grid; grid-template-columns: 240px 1fr; gap: 2.5rem; align-items: start; }
.ns-theme .ns-shop__main { min-width: 0; }
.ns-theme .ns-shop__main.is-loading { opacity: .45; pointer-events: none; transition: opacity .2s; }
.ns-theme .ns-filters { position: sticky; top: 100px; }
.ns-theme .ns-filters__head { display: none; }
.ns-theme .ns-filter { margin-bottom: 1.8rem; }
.ns-theme .ns-filter__title { display: block; font-family: var(--font-display); font-weight: 800; text-transform: uppercase; letter-spacing: .04em; font-size: .8rem; margin-bottom: .8rem; padding-bottom: .5rem; border-bottom: 2px solid var(--ns-ink); }
.ns-theme .ns-filter__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .12rem; }
.ns-theme .ns-filter__list button { display: flex; justify-content: space-between; align-items: center; width: 100%; text-align: left; background: none; border: 0; padding: .5rem .6rem; border-radius: 8px; cursor: pointer; font-size: .92rem; color: var(--ns-ink); font-weight: 600; transition: background .15s, color .15s; }
.ns-theme .ns-filter__list button small { color: var(--ns-muted); font-weight: 500; font-size: .78rem; }
/* Podkategorije — collapsible (dropdown), zatvoreno po difoltu */
/* Podkategorije: ZATVORENE dok se ne klikne strelica (kao ostale kategorije).
   Koristi se display, NE max-height — ranije je max-height:320px sekao poslednje
   stavke (The Sopranos, The Wire) i nije moglo da se skroluje. */
.ns-theme .ns-filter__sublist { display: none; list-style: none; margin: .15rem 0 .5rem; padding: 0 0 0 .7rem; border-left: 1.5px solid var(--ns-line); max-height: none !important; overflow: visible !important; opacity: 1 !important; }
.ns-theme .has-children.is-open > .ns-filter__sublist { display: block; }
.ns-theme .ns-filter__chev { display: inline-flex; align-items: center; transition: transform .2s; margin-left: .35rem; }
.ns-theme .has-children.is-open > button .ns-filter__chev { transform: rotate(90deg); }
/* linija koja odvaja tipove od Limited/Originals */
.ns-theme .ns-filter__list > li.ns-filter__after-line { margin-top: .5rem; padding-top: .5rem; border-top: 1px solid var(--ns-line); }
.ns-theme .has-children.is-open .ns-filter__sublist { max-height: none; opacity: 1; margin: .15rem 0 .5rem; }
.ns-theme .ns-filter__sublist button { font-size: .84rem !important; color: var(--ns-muted); padding: .32rem .6rem !important; font-weight: 600; }
.ns-theme .ns-filter__sublist button:hover { color: var(--ns-ink); }
.ns-theme .ns-filter__sublist button.is-active { background: var(--ns-ink) !important; color: #fff !important; }
/* Chevron + meta (broj) na parent kategoriji */
.ns-theme .ns-filter__meta { display: inline-flex; align-items: center; gap: .5rem; margin-left: auto; }
.ns-theme .ns-filter__chev { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 6px; font-size: 1.1rem; line-height: 1; transform: rotate(90deg); transition: transform .25s ease, background .15s; color: var(--ns-muted); }
.ns-theme .ns-filter__chev:hover { background: rgba(13,13,13,.08); color: var(--ns-ink); }
.ns-theme .has-children.is-open .ns-filter__chev { transform: rotate(-90deg); }
.ns-theme .ns-filter__list button.is-active .ns-filter__chev { color: rgba(255,255,255,.7); }
.ns-theme .ns-filter__list button:hover { background: var(--ns-cream-2); }
.ns-theme .ns-filter__list button.is-active { background: var(--ns-ink); color: #fff; }
.ns-theme .ns-filter__list button.is-active small { color: rgba(255,255,255,.6); }
.ns-theme .ns-filter__colors { display: flex; flex-wrap: wrap; gap: .5rem; }
.ns-theme .ns-filter__color { width: 30px; height: 30px; border-radius: 50%; border: 2px solid var(--ns-line); cursor: pointer; padding: 0; transition: transform .15s; box-shadow: inset 0 0 0 1px rgba(0,0,0,.06); }
.ns-theme .ns-filter__color:hover { transform: scale(1.12); }
.ns-theme .ns-filter__color.is-active { border-color: var(--ns-ink); box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--ns-ink); }
.ns-theme .ns-filters__reset { width: 100%; background: none; border: 1.5px solid var(--ns-line); border-radius: var(--r-pill); padding: .6rem; cursor: pointer; font-weight: 700; text-transform: uppercase; font-size: .74rem; letter-spacing: .03em; color: var(--ns-muted); transition: all .15s; }
.ns-theme .ns-filters__reset:hover { border-color: var(--ns-red); color: var(--ns-red); }
.ns-theme .ns-filters-toggle { display: none; }
.ns-theme .ns-noresults { padding: 3rem 0; color: var(--ns-muted); font-size: 1rem; }
@media (max-width: 900px) {
    .ns-theme .ns-shop { grid-template-columns: 1fr; gap: 0; }
    .ns-theme .ns-shop__aside { position: fixed; top: 0; left: 0; bottom: 0; width: 300px; max-width: 88vw; background: #fff; z-index: 10000; transform: translateX(-100%); transition: transform .3s ease; overflow-y: auto; padding: 1.4rem; box-shadow: 0 0 40px rgba(0,0,0,.25); }
    body.ns-filters-open .ns-theme .ns-shop__aside,
    .ns-theme body.ns-filters-open .ns-shop__aside { transform: none; }
    body.ns-filters-open .ns-shop__aside { transform: none; }
    body.ns-filters-open::after { content: ''; position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 9999; }
    .ns-theme .ns-filters { position: static; }
    .ns-theme .ns-filters__head { display: flex; justify-content: space-between; align-items: center; font-family: var(--font-display); font-weight: 800; text-transform: uppercase; margin-bottom: 1.2rem; font-size: 1.1rem; }
    .ns-theme .ns-filters__close { background: none; border: 0; font-size: 1.7rem; cursor: pointer; line-height: 1; }
    .ns-theme .ns-filters-toggle { display: inline-flex; align-items: center; gap: .4rem; background: var(--ns-ink); color: #fff; border: 0; border-radius: var(--r-pill); padding: .55rem 1.1rem; font-weight: 700; text-transform: uppercase; font-size: .78rem; cursor: pointer; }
}

/* Shop/arhiva — ukloni ogroman prazan prostor iznad proizvoda */
.ns-theme.post-type-archive-product .hero-section,
.ns-theme.tax-product_cat .hero-section,
.ns-theme.post-type-archive-product .hero-section[data-type],
.ns-theme.tax-product_cat .hero-section[data-type] {
    --container-padding: 30px 0 14px !important;
    padding: 30px 0 14px !important;
    min-height: 0 !important; height: auto !important;
    display: block !important;
}
.ns-theme.post-type-archive-product .hero-section > *,
.ns-theme.tax-product_cat .hero-section > *,
.ns-theme.post-type-archive-product .hero-section .entry-header,
.ns-theme.tax-product_cat .hero-section .entry-header,
.ns-theme.post-type-archive-product .hero-section .page-title,
.ns-theme.tax-product_cat .hero-section .page-title {
    min-height: 0 !important; height: auto !important; padding-block: 0 !important; margin-block: 0 !important;
}
/* PRODAVNICA naslov — bela pozadina (ne sivo), levo poravnat, editorial */
.ns-theme.post-type-archive-product .hero-section,
.ns-theme.tax-product_cat .hero-section { background: #fff !important; padding: 40px 0 6px !important; }
.ns-theme.post-type-archive-product .hero-section .entry-header,
.ns-theme.tax-product_cat .hero-section .entry-header { text-align: left !important; max-width: var(--container) !important; margin-inline: auto !important; padding-inline: var(--pad-x, 1.5rem) !important; }
.ns-theme.post-type-archive-product .hero-section .page-title,
.ns-theme.tax-product_cat .hero-section .page-title { text-align: left !important; font-family: var(--font-display); font-size: clamp(1.8rem, 3.5vw, 2.6rem) !important; text-transform: uppercase; letter-spacing: -.01em; }
.ns-theme .hero-section .ct-breadcrumbs { text-align: left !important; }

/* Paginacija — čist crno/beli stil (ostavljamo ovu lepšu) */
.ns-theme .ct-pagination, .ns-theme .woocommerce-pagination { margin-top: var(--sp-lg); text-align: center; }
/* container: centriran, prelama u novi red umesto da razbije layout
   (!important jer Blocksy nameće display:grid + space-between koji razvuče brojeve) */
.ns-theme nav.ct-pagination,
.ns-theme .ct-pagination,
.ns-theme .ct-pagination ul,
.ns-theme nav.woocommerce-pagination,
.ns-theme nav.woocommerce-pagination ul,
.ns-theme .woocommerce-pagination ul,
.ns-theme .woocommerce-pagination {
    display: flex !important; flex-wrap: wrap !important; justify-content: center !important; align-items: center !important;
    gap: 6px !important; grid-template-columns: none !important;
    list-style: none; margin-left: 0; margin-right: 0; padding: 0; max-width: 100%; width: 100%;
}
.ns-theme .ct-pagination li, .ns-theme .woocommerce-pagination li { list-style: none; margin: 0; }
.ns-theme .ct-pagination .page-numbers,
.ns-theme .woocommerce-pagination .page-numbers {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 42px; height: 42px; padding: 0 .55rem; margin: 0;
    border: 1.5px solid var(--ns-line); border-radius: 10px; background: #fff;
    color: var(--ns-ink) !important; font-weight: 700; text-decoration: none; transition: all .15s;
}
.ns-theme .ct-pagination a.page-numbers:hover,
.ns-theme .woocommerce-pagination a.page-numbers:hover { border-color: var(--ns-ink); background: var(--ns-cream-2); }
.ns-theme .ct-pagination .page-numbers.current,
.ns-theme .woocommerce-pagination .page-numbers.current { background: var(--ns-ink); color: #fff !important; border-color: var(--ns-ink); }
.ns-theme .ct-pagination .page-numbers.dots,
.ns-theme .woocommerce-pagination .page-numbers.dots { border: 0; background: none; min-width: auto; }
.ns-theme.single-product div.product p.price,
.ns-theme.single-product div.product span.price { color: var(--ns-red); font-weight: 800; font-size: 1.6rem; }
.ns-theme.single-product div.product p.price ins { color: var(--ns-red); text-decoration: none; }
.ns-theme.single-product .single_add_to_cart_button {
    background: var(--ns-ink) !important; color: var(--ns-cream) !important; border-radius: var(--r-pill) !important;
    text-transform: uppercase; font-weight: 700 !important; letter-spacing: .03em; padding: 1rem 2rem !important;
}
.ns-theme.single-product .single_add_to_cart_button:hover { background: var(--ns-red) !important; }
/* Disabled stanje — ostaje brendirano (tamno, prigušeno), ne sivo */
.ns-theme.single-product .single_add_to_cart_button.disabled,
.ns-theme.single-product .single_add_to_cart_button.wc-variation-selection-needed,
.ns-theme.single-product .single_add_to_cart_button:disabled {
    background: var(--ns-ink) !important; color: var(--ns-cream) !important; opacity: .4; cursor: not-allowed;
}
/* Sakrij dugme+količinu SAMO kad je prikazana notifier forma (rasprodata varijacija).
   Za proizvod na stanju dugme uvek ostaje vidljivo (i pre izbora, kao disabled). */
.ns-theme.single-product form.variations_form:has(.cwginstock-subscribe-form) .quantity,
.ns-theme.single-product form.variations_form:has(.cwginstock-subscribe-form) .single_add_to_cart_button {
    display: none !important;
}

/* Breadcrumb + tabovi — bez plave */
.ns-theme .woocommerce-breadcrumb,
.ns-theme .ct-breadcrumbs { color: var(--ns-muted); font-size: .85rem; }
.ns-theme .woocommerce-breadcrumb a,
.ns-theme .ct-breadcrumbs a { color: var(--ns-muted) !important; }
.ns-theme .woocommerce-breadcrumb a:hover,
.ns-theme .ct-breadcrumbs a:hover { color: var(--ns-red) !important; }
.ns-theme .woocommerce-tabs .tabs a,
.ns-theme .wc-tabs li a { color: var(--ns-ink) !important; font-family: var(--font-display); text-transform: uppercase; font-weight: 700; letter-spacing: .01em; }
.ns-theme .woocommerce-tabs .tabs li.active a,
.ns-theme .wc-tabs li.active a { color: var(--ns-red) !important; }
.ns-theme .woocommerce-tabs .tabs li.active,
.ns-theme .wc-tabs li.active { border-bottom-color: var(--ns-red) !important; }

/* SLIČNI PROIZVODI — topliji "sand" band preko cele širine da se dno
   razbije od gornjeg krema (krem -> sand -> crni footer) */
.ns-theme.single-product .related.products {
    position: relative;
    background: var(--ns-cream-2);
    box-shadow: 0 0 0 100vmax var(--ns-cream-2);
    clip-path: inset(0 -100vmax);
    margin-top: var(--sp-lg);
    padding: var(--sp-lg) 0 var(--sp-lg);
}
.ns-theme.single-product .related.products::before {
    content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%);
    width: 100vw; height: 1px; background: var(--ns-line);
}
.ns-theme.single-product .related.products > h2 { margin-top: 0; }
.ns-theme.single-product .related.products ul.products li.product {
    background: #fff !important;
}

/* Korpa/Plaćanje — sumarni okvir: bela kartica, crn okvir, meka senka, crveni akcenti */
.ns-theme .cart_totals,
.ns-theme .ct-order-review {
    border: 2px solid var(--ns-ink) !important;
    border-radius: var(--r-md) !important;
    background: #fff;
    box-shadow: 0 12px 32px rgba(0,0,0,.07);
}
/* unutrašnji order_review bez svog bordera (koristimo wrapper .ct-order-review) */
.ns-theme .ct-order-review #order_review { border: 0 !important; background: transparent; }
.ns-theme .cart_totals h2,
.ns-theme #order_review_heading {
    margin: 0 0 1.1rem !important;
    font-family: var(--font-display); text-transform: uppercase; letter-spacing: .02em;
    color: var(--ns-ink);
    padding-bottom: .7rem; border-bottom: 2px solid var(--ns-red);
}
/* „Ukupno" — istaknut crveni iznos */
.ns-theme .cart_totals .order-total th,
.ns-theme .woocommerce-checkout .order-total th { font-size: 1.05rem; color: var(--ns-ink); }
.ns-theme .cart_totals .order-total .woocommerce-Price-amount,
.ns-theme .woocommerce-checkout .order-total .woocommerce-Price-amount {
    color: var(--ns-red) !important; font-weight: 800; font-size: 1.2rem;
}
/* Izabrani metod dostave/plaćanja — suptilni krem highlight */
.ns-theme .woocommerce-checkout #payment .wc_payment_method label,
.ns-theme .cart_totals #shipping_method label { color: var(--ns-ink); }
/* Linkovi u korpi/checkout-u — brend crvena umesto default plave */
.ns-theme .woocommerce-cart-form a,
.ns-theme .cart-collaterals a,
.ns-theme form.checkout a,
.ns-theme .woocommerce-checkout-review-order a,
.ns-theme .woocommerce-privacy-policy-text a,
.ns-theme .woocommerce-form-login-toggle a,
.ns-theme .woocommerce-form-coupon-toggle a,
.ns-theme .shipping-calculator-button { color: var(--ns-red) !important; text-decoration: none; }
.ns-theme .woocommerce-cart-form a:hover,
.ns-theme form.checkout a:hover,
.ns-theme .woocommerce-privacy-policy-text a:hover,
.ns-theme .shipping-calculator-button:hover { color: var(--ns-red-dark) !important; }

/* Checkout polja — bela pozadina + jasan okvir (na krem podlozi se nisu videla) */
.ns-theme .woocommerce form .form-row input.input-text,
.ns-theme .woocommerce form .form-row textarea,
.ns-theme .woocommerce-checkout input.input-text,
.ns-theme .woocommerce-checkout textarea,
.ns-theme .woocommerce-checkout select,
.ns-theme .woocommerce-checkout .select2-selection,
.ns-theme .woocommerce-cart .input-text {
    background: #fff !important;
    border: 1.5px solid rgba(13,13,13,.32) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    color: var(--ns-ink) !important;
}
.ns-theme .woocommerce-checkout .input-text:focus,
.ns-theme .woocommerce-checkout textarea:focus,
.ns-theme .woocommerce-checkout select:focus,
.ns-theme .woocommerce-checkout .select2-container--focus .select2-selection {
    border-color: var(--ns-ink) !important;
    box-shadow: 0 0 0 3px rgba(13,13,13,.08) !important;
}
.ns-theme .woocommerce-checkout .select2-container .select2-selection--single {
    height: 46px !important; display: flex; align-items: center;
}
.ns-theme .woocommerce form .form-row label { color: var(--ns-ink); font-weight: 600; }
/* Kupon polje u korpi + svi WC tekst inputi — bela pozadina, brend okvir (ne plava) */
.ns-theme .woocommerce input.input-text,
.ns-theme .woocommerce-page input.input-text,
.ns-theme #coupon_code {
    background: #fff !important; border: 1.5px solid rgba(13,13,13,.32) !important; border-radius: 10px !important;
}
/* Radio/checkbox (dostava, plaćanje, uslovi) — brend crvena umesto plave */
.ns-theme .woocommerce input[type="radio"],
.ns-theme .woocommerce input[type="checkbox"],
.ns-theme .woocommerce-checkout input[type="radio"],
.ns-theme .woocommerce-checkout input[type="checkbox"] { accent-color: var(--ns-red); }

/* Dropdown strelica u meniju — nikad plava (prati boju linka) */
.ns-theme .ct-header .ct-menu-link .ct-icon,
.ns-theme .ct-header .menu-item-has-children > .ct-menu-link svg,
.ns-theme .ct-header .ct-menu-link > svg,
.ns-theme .ct-header .menu-item svg { color: currentColor !important; fill: currentColor !important; }
/* PRODAVNICA i MAJICE — suptilno naznačeni (imaju mega meni).
   Link je visok (puni header) pa se okvir svodi na uredan mali pill. */
.ns-theme .ns-has-mega { display: flex; align-items: center; margin: 0 .5rem; }
.ns-theme .ns-has-mega > .ct-menu-link {
    height: auto !important;
    padding: .38rem .8rem !important;
    border: 1px solid rgba(13,13,13,.13);
    border-radius: 8px;
    line-height: 1.1 !important;
    transition: background .2s, color .2s, border-color .2s;
}
.ns-theme .ns-has-mega:hover > .ct-menu-link,
.ns-theme .ns-has-mega:focus-within > .ct-menu-link {
    background: var(--ns-ink); border-color: var(--ns-ink); color: var(--ns-cream) !important;
}
.ns-theme .ns-has-mega:hover > .ct-menu-link .ct-icon,
.ns-theme .ns-has-mega:hover > .ct-menu-link svg { color: var(--ns-cream) !important; fill: var(--ns-cream) !important; }

/* Dugmad formi (recenzije, prijava, kupon, korpa, itd.) — bez plave */
.ns-theme .woocommerce button.button,
.ns-theme .woocommerce input.button,
.ns-theme .woocommerce a.button,
.ns-theme .woocommerce a.button.wc-backward,
.ns-theme #respond input#submit,
.ns-theme .woocommerce form .button,
.ns-theme .woocommerce-Button,
.ns-theme input[type="submit"] {
    background: var(--ns-ink) !important; color: var(--ns-cream) !important;
    border: 0 !important; border-radius: var(--r-pill) !important;
    text-transform: uppercase; font-weight: 700 !important; letter-spacing: .03em;
    padding: .85rem 1.7rem !important; transition: background .2s;
}
.ns-theme .woocommerce button.button:hover,
.ns-theme #respond input#submit:hover,
.ns-theme input[type="submit"]:hover { background: var(--ns-red) !important; }
/* Ocena zvezdice u formi */
.ns-theme #respond p.stars a { color: var(--ns-red); }
.ns-theme .star-rating span::before,
.ns-theme .comment-form-rating .stars a.active::before { color: var(--ns-red); }
/* Login/forme naslovi */
.ns-theme .woocommerce-account .woocommerce h2 { font-family: var(--font-display); text-transform: uppercase; }

/* Količina — jasan +/− stepper (poštuje Blocksy raspored) */
/* Stepper pill SAMO za pravu količinu (ima input) — ne za mini-cart „2 × cena" tekst */
.ns-theme .quantity:has(input.qty) { border: 2px solid var(--ns-ink) !important; border-radius: var(--r-pill) !important; background: #fff !important; overflow: hidden; }
/* Mini-cart količina u draweru — običan tekst, bez okvira */
.ns-drawer .cart_list .quantity,
.ns-drawer .woocommerce-mini-cart__total .quantity { border: 0 !important; background: transparent !important; padding: 0 !important; font-size: .85rem; color: var(--ns-muted); font-weight: 600; }
.ns-theme .quantity .ct-increase,
.ns-theme .quantity .ct-decrease { color: var(--ns-ink) !important; font-size: 1.25rem; transition: background .15s, color .15s; }
.ns-theme .quantity .ct-increase:hover,
.ns-theme .quantity .ct-decrease:hover { background: var(--ns-ink) !important; color: var(--ns-cream) !important; }
.ns-theme .quantity input.qty { color: var(--ns-ink) !important; font-weight: 700; background: transparent !important; box-shadow: none !important; }

/* Poruka „Izabrana veličina trenutno nije na stanju." iznad notifier forme */
.ns-theme.single-product .woocommerce-variation-availability p.stock.out-of-stock {
    margin: .2rem 0 .1rem !important; font-weight: 700; font-size: .92rem;
    color: var(--ns-ink) !important;
}

/* Back-in-stock notify forma — premium kartica u brend bojama */
.ns-theme .cwginstock-subscribe-form {
    border: 1px solid var(--ns-line) !important; border-radius: var(--r-md) !important; overflow: hidden;
    background: #fff; box-shadow: 0 8px 24px rgba(13,13,13,.07); margin-top: var(--sp-md);
}
.ns-theme .cwginstock-panel, .ns-theme .cwginstock-subscribe-form .panel {
    border: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background: transparent !important;
}
.ns-theme .cwginstock-panel-heading, .ns-theme .cwginstock-subscribe-form .panel-heading {
    background: var(--ns-ink) !important; border: 0 !important; border-radius: 0 !important; padding: 1rem 1.25rem !important;
}
.ns-theme .cwginstock-panel-heading h4, .ns-theme .cwginstock-subscribe-form .panel-heading h4,
.ns-theme [class*="cwg"] h2, .ns-theme [class*="cwg"] h3 {
    background: transparent !important; color: #fff !important; margin: 0 !important;
    font-family: var(--font-display); font-weight: 800; text-transform: uppercase; font-size: 1rem; letter-spacing: .02em;
    display: flex; align-items: center; justify-content: center; gap: .5rem;
}
.ns-theme .cwginstock-panel-heading h4::before { content: "🔔"; font-size: 1.05rem; }
.ns-theme .cwginstock-panel-body { padding: 1.25rem !important; }
/* bootstrap grid iz plugina — bez suvišnih margina/paddinga da polja idu punom širinom */
.ns-theme .cwginstock-panel-body .row,
.ns-theme .cwginstock-panel-body [class*="col-md-"],
.ns-theme .cwginstock-subscribe-form .form-group {
    margin: 0 !important; padding: 0 !important; width: 100% !important; max-width: 100% !important;
}
.ns-theme .cwginstock-subscribe-form input[type="text"], .ns-theme .cwginstock-subscribe-form input[type="email"] {
    width: 100% !important; border: 1px solid var(--ns-line) !important; border-radius: var(--r-sm) !important;
    padding: .85rem 1rem !important; margin-bottom: .6rem !important; text-align: left !important;
    box-shadow: none !important; background: var(--ns-cream) !important; color: var(--ns-ink) !important; font-size: .95rem;
}
.ns-theme .cwginstock-subscribe-form input:focus { border-color: var(--ns-ink) !important; outline: none; }
.ns-theme .cwginstock-subscribe-form button, .ns-theme .cwginstock-subscribe-form input[type="submit"], .ns-theme [class*="cwg"] .button {
    width: 100% !important; background: var(--ns-red) !important; color: #fff !important; border: 0 !important;
    border-radius: var(--r-pill) !important; padding: .9rem 1rem !important; text-transform: uppercase;
    font-weight: 700 !important; letter-spacing: .03em; margin-top: .3rem !important; cursor: pointer; transition: background .2s;
}
.ns-theme .cwginstock-subscribe-form button:hover, .ns-theme .cwginstock-subscribe-form input[type="submit"]:hover { background: var(--ns-red-dark) !important; }

/* Variation swatches — premium izgled (gradient + jasan selected state).
   NAPOMENA: woo-variation-swatches je klasa na <body> (isto gde i .ns-theme),
   pa se ancestor mora ciljati preko .variations_form, ne preko .woo-variation-swatches. */
.ns-theme .variations_form .variable-item.button-variable-item,
.ns-theme .variations_form .variable-items-wrapper .variable-item {
    border-radius: var(--r-sm) !important;
    border: 2px solid var(--ns-line) !important;
    background: linear-gradient(180deg, #ffffff 0%, #f4efe4 100%) !important;
    box-shadow: 0 1px 0 rgba(0,0,0,.03) !important;
    padding: .5rem .95rem !important;
    font-weight: 600 !important; color: var(--ns-ink) !important;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease !important;
}
.ns-theme .variations_form .variable-item:hover {
    border-color: var(--ns-ink) !important; transform: translateY(-1px);
    box-shadow: 0 5px 14px rgba(0,0,0,.12) !important;
}
.ns-theme .variations_form .variable-item.selected {
    background: linear-gradient(180deg, #232323 0%, #0d0d0d 100%) !important;
    border-color: var(--ns-ink) !important;
    box-shadow: 0 5px 16px rgba(0,0,0,.24) !important;
}
.ns-theme .variations_form .variable-item.selected,
.ns-theme .variations_form .variable-item.selected .variable-item-span,
.ns-theme .variations_form .variable-item.selected span { color: #fff !important; }

/* COLOR swatches — prikaži pravu boju (poništi button gradient), okrugli */
.ns-theme .variations_form .variable-item.color-variable-item {
    background: none !important; padding: 0 !important; width: 40px !important; height: 40px !important; min-width: 40px;
    border-radius: 50% !important; overflow: hidden; box-shadow: none !important; border: 2px solid var(--ns-line) !important;
}
.ns-theme .variations_form .color-variable-item .variable-item-contents,
.ns-theme .variations_form .color-variable-item .variable-item-span { display: block !important; width: 100% !important; height: 100% !important; border-radius: 50% !important; }
.ns-theme .variations_form .variable-item.color-variable-item:hover { transform: translateY(-1px); border-color: var(--ns-ink) !important; }
.ns-theme .variations_form .variable-item.color-variable-item.selected {
    background: none !important; border-color: var(--ns-ink) !important;
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--ns-ink) !important;
}
/* Svetle boje (bela/dust) — tanka unutrašnja linija da se vide na beloj pozadini */
.ns-theme .variations_form .color-variable-item[class*="white"] .variable-item-span,
.ns-theme .variations_form .color-variable-item[class*="bela"] .variable-item-span,
.ns-theme .variations_form .color-variable-item[class*="dust"] .variable-item-span { box-shadow: inset 0 0 0 1px rgba(0,0,0,.12); }

/* ===== LIVE PRETRAGA u headeru ===== */
.ns-search { position: relative; display: flex; align-items: center; gap: .45rem; min-width: 210px; max-width: 290px; flex: 0 1 250px;
    height: 40px; box-sizing: border-box;                       /* niže — u ravni sa menijem */
    background: var(--ns-cream-2, #f7f3ea); border: 1.5px solid var(--ns-line); border-radius: var(--r-pill); padding: 0 .85rem; transition: border-color .15s, background .15s, box-shadow .15s; }
.ns-search__input { height: 100%; padding: 0 !important; }
.ns-search:focus-within { border-color: var(--ns-ink); background: #fff; box-shadow: 0 4px 18px rgba(0,0,0,.08); }
.ns-search__icon { width: 15px; height: 15px; flex: 0 0 auto; color: var(--ns-muted); }
.ns-search__input { flex: 1 1 auto; min-width: 0; border: 0; background: none; outline: none; font-size: .86rem; color: var(--ns-ink); font-family: inherit; }
.ns-search__input::placeholder { color: var(--ns-muted); }
.ns-search__input::-webkit-search-cancel-button { display: none; }
.ns-search__clear { display: none; border: 0; background: none; cursor: pointer; font-size: 1.25rem; line-height: 1; color: var(--ns-muted); padding: 0 .1rem; }
.ns-search.has-text .ns-search__clear { display: block; }
.ns-search__clear:hover { color: var(--ns-red); }
/* padajući panel */
.ns-search__panel { position: absolute; top: calc(100% + .5rem); left: 0; right: 0; z-index: 9999;
    background: #fff; border: 1px solid var(--ns-line); border-radius: var(--r-md); box-shadow: 0 18px 44px rgba(0,0,0,.16);
    max-height: 70vh; overflow-y: auto; padding: .45rem; }
.ns-search__panel[hidden] { display: none; }
.ns-search__group { display: flex; flex-wrap: wrap; gap: .35rem; padding: .35rem .35rem .55rem; border-bottom: 1px solid var(--ns-line); margin-bottom: .35rem; }
.ns-search__chip { display: inline-flex; align-items: baseline; gap: .35rem; background: var(--ns-cream-2, #f7f3ea); border-radius: var(--r-pill);
    padding: .3rem .7rem; font-size: .8rem; font-weight: 700; color: var(--ns-ink); text-decoration: none; }
.ns-search__chip small { font-weight: 500; color: var(--ns-muted); font-size: .68rem; }
.ns-search__chip:hover { background: var(--ns-ink); color: #fff; }
.ns-search__chip:hover small { color: rgba(255,255,255,.7); }
.ns-search__item { display: flex; align-items: center; gap: .7rem; padding: .45rem; border-radius: 10px; text-decoration: none; color: var(--ns-ink); }
.ns-search__item:hover { background: var(--ns-cream-2, #f7f3ea); }
.ns-search__item img, .ns-search__noimg { width: 46px; height: 46px; flex: 0 0 auto; object-fit: cover; border-radius: 8px; background: var(--ns-cream-2, #f7f3ea); }
.ns-search__meta { display: flex; flex-direction: column; min-width: 0; }
.ns-search__meta strong { font-size: .88rem; font-weight: 700; line-height: 1.2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ns-search__meta span { font-size: .8rem; color: var(--ns-red); font-weight: 700; }
.ns-search__all { width: 100%; margin-top: .35rem; background: var(--ns-ink); color: #fff; border: 0; border-radius: var(--r-pill);
    padding: .6rem; font-weight: 700; font-size: .78rem; cursor: pointer; font-family: inherit; }
.ns-search__all:hover { background: var(--ns-red); }
.ns-search__empty { padding: 1rem .6rem; text-align: center; color: var(--ns-muted); font-size: .88rem; }
/* desktop: input umesto lupe | mobilni: ostaje Blocksy lupa (popup) */
@media (min-width: 1000px) { body.ns-has-search header .ct-header-search { display: none !important; } }
@media (max-width: 999px)  { .ns-search { display: none !important; } }

/* Meni u headeru — malo krupniji font (bio 12px) */
.ns-theme #header-menu-1 .menu > li > a,
.ns-theme header .menu-container .menu > li > a,
.ns-theme header .ct-menu-link { font-size: 15px !important; letter-spacing: .02em; }

/* LOGO u headeru — slika (Laki + potpis „Naša Stvar") umesto teksta */
.ns-theme .site-title { display: none !important; }              /* tekstualni naziv — sliku već imamo */
.ns-theme .default-logo,
.ns-theme .site-logo-container img,
.ns-theme [class*="logo-container"] img {
    height: 70px !important; width: auto !important; max-width: 100%; display: block;
}
@media (max-width: 860px) {
    .ns-theme .default-logo,
    .ns-theme .site-logo-container img,
    .ns-theme [class*="logo-container"] img { height: 52px !important; }
}

/* Korpa ikonica u headeru (pored lupe) — sa crvenim brojačem */
.ns-theme .ns-cart-icon {
    position: relative; display: inline-flex; align-items: center; justify-content: center;
    color: var(--ns-ink); margin: 0 .5rem 0 0; text-decoration: none; transition: color .2s;
}
.ns-theme .ns-cart-icon:hover { color: var(--ns-red); }
.ns-theme .ns-cart-count {
    position: absolute; top: -7px; right: -9px; min-width: 18px; height: 18px; padding: 0 4px; box-sizing: border-box;
    background: var(--ns-red); color: #fff; border-radius: 999px; font-size: .66rem; font-weight: 800;
    display: flex; align-items: center; justify-content: center; line-height: 1;
}
.ns-theme .ns-cart-count[data-empty] { display: none; }

/* =================================================================
   KORPA DRAWER + BESPLATNA DOSTAVA BAR
   ================================================================= */
.ns-drawer-overlay {
    position: fixed; inset: 0; background: rgba(0,0,0,.5); opacity: 0; visibility: hidden;
    transition: opacity .3s ease; z-index: 99998; backdrop-filter: blur(2px);
}
.ns-cart-open .ns-drawer-overlay { opacity: 1; visibility: visible; }
.ns-drawer {
    position: fixed; top: 0; right: 0; height: 100%; width: min(420px, 92vw);
    background: var(--ns-cream); z-index: 99999; transform: translateX(100%);
    transition: transform .35s cubic-bezier(.5,0,.1,1); display: flex; flex-direction: column;
    box-shadow: -20px 0 60px rgba(0,0,0,.25);
}
.ns-cart-open .ns-drawer { transform: none; }
.ns-drawer__head {
    display: flex; align-items: center; justify-content: space-between;
    padding: var(--sp-md) var(--sp-md); border-bottom: 1px solid var(--ns-line); background: var(--ns-ink); color: var(--ns-cream);
}
.ns-drawer__title { font-family: var(--font-display); font-weight: 800; text-transform: uppercase; letter-spacing: .01em; font-size: 1.1rem; }
.ns-drawer__close { background: none; border: 0; color: var(--ns-cream); font-size: 1.3rem; cursor: pointer; line-height: 1; padding: .2rem .4rem; }
.ns-drawer__close:hover { color: var(--ns-red); }
.ns-drawer__body { flex: 1 1 auto; overflow-y: auto; padding: var(--sp-md); }

/* Free-shipping progress bar — WOW */
.ns-freeship { padding: var(--sp-md); background: var(--ns-cream-2); border-bottom: 1px solid var(--ns-line); }
.woocommerce-cart .ns-freeship { border-radius: var(--r-md); border: 1px solid var(--ns-line); margin-bottom: var(--sp-lg); background: #fff; }
.ns-freeship-product { margin: var(--sp-md) 0 0; }
.ns-freeship-product .ns-freeship { border-radius: var(--r-md); border: 1px solid var(--ns-line); background: var(--ns-cream); }
.ns-freeship__msg { display: flex; align-items: center; gap: .55rem; font-size: .92rem; margin-bottom: .75rem; color: var(--ns-ink); }
.ns-freeship__icon { font-size: 1.15rem; line-height: 1; }
.ns-freeship__msg strong { color: var(--ns-red); }
.ns-freeship.is-done .ns-freeship__msg strong { color: #1a8a3a; }
.ns-freeship__track { position: relative; height: 10px; border-radius: 999px; background: rgba(13,13,13,.12); }
.ns-freeship__fill { position: absolute; left: 0; top: 0; height: 100%; border-radius: 999px; overflow: hidden; background: linear-gradient(90deg, var(--ns-red-dark), var(--ns-red), #ff7a52); transition: width .6s cubic-bezier(.5,0,.1,1); }
.ns-freeship__fill::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, transparent 20%, rgba(255,255,255,.55) 50%, transparent 80%); transform: translateX(-100%); animation: ns-shimmer 1.8s linear infinite; }
@keyframes ns-shimmer { to { transform: translateX(120%); } }
.ns-freeship__truck { position: absolute; top: 50%; transform: translate(-50%,-50%); font-size: 1rem; transition: left .6s cubic-bezier(.5,0,.1,1); filter: drop-shadow(0 1px 2px rgba(0,0,0,.35)); pointer-events: none; }
.ns-freeship.is-done .ns-freeship__fill { background: linear-gradient(90deg,#1a8a3a,#2fbf5c); }
.ns-freeship.is-done .ns-freeship__truck { display: none; }

/* Mini-cart u draweru — WooCommerce markup */
.ns-drawer .woocommerce-mini-cart__empty-message { color: var(--ns-muted); text-align: center; padding: var(--sp-lg) 0; }
.ns-drawer ul.cart_list li { padding: var(--sp-sm) 0; border-bottom: 1px solid var(--ns-line); list-style: none; display: flex; gap: .8rem; position: relative; }
.ns-drawer ul.cart_list { margin: 0; padding: 0; }
.ns-drawer ul.cart_list li img { width: 56px !important; height: 56px; object-fit: cover; border-radius: 8px; float: none !important; margin: 0 !important; }
.ns-drawer ul.cart_list li a:not(.remove) { color: var(--ns-ink); font-weight: 600; font-size: .9rem; }
.ns-drawer ul.cart_list li .remove { position: absolute; top: .5rem; right: 0; color: var(--ns-muted) !important; }
.ns-drawer .woocommerce-mini-cart__total { display: flex; justify-content: space-between; align-items: center; padding: var(--sp-md) 0; font-size: 1.05rem; border-top: 2px solid var(--ns-ink); margin-top: var(--sp-sm); }
.ns-drawer .woocommerce-mini-cart__buttons { display: flex; flex-direction: column; gap: .6rem; margin: 0; }
.ns-drawer .woocommerce-mini-cart__buttons a { display: block; text-align: center; border-radius: var(--r-pill); padding: .9rem 1rem; font-weight: 700; text-transform: uppercase; font-size: .85rem; letter-spacing: .03em; }
.ns-drawer .woocommerce-mini-cart__buttons a.button:not(.checkout) { background: transparent; color: var(--ns-ink); border: 2px solid var(--ns-ink); }
.ns-drawer .woocommerce-mini-cart__buttons a.checkout { background: var(--ns-red); color: #fff; }

/* =================================================================
   THANK YOU / ORDER RECEIVED
   ================================================================= */
.ns-theme.woocommerce-order-received .hero-section,
.ns-theme.woocommerce-order-received .entry-header { display: none !important; }   /* sakrij "PLAĆANJE" naslov */
.ns-theme .woocommerce-thankyou-order-received { display: none !important; }        /* default napomena — imamo custom hero */

.ns-ty { text-align: center; max-width: 640px; margin: var(--sp-xl) auto var(--sp-md); padding: var(--sp-lg) var(--pad-x) 0; }
.ns-ty__check { color: #1a8a3a; display: inline-flex; margin-bottom: var(--sp-sm); }
.ns-ty__title { font-size: clamp(2.1rem, 5vw, 3.1rem); margin: .4rem 0 var(--sp-md); }
.ns-ty__sub { color: var(--ns-muted); font-size: 1.05rem; line-height: 1.6; margin: 0 auto var(--sp-lg); max-width: 48ch; }
.ns-ty__sub strong { color: var(--ns-ink); }
.ns-ty__cta { margin-bottom: var(--sp-md); }

.ns-theme .woocommerce-order { max-width: 720px; margin: 0 auto var(--sp-xl); }
.ns-theme ul.woocommerce-order-overview {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--sp-sm);
    list-style: none; margin: 0 0 var(--sp-lg); padding: 0; border: 0;
}
.ns-theme ul.woocommerce-order-overview li {
    background: var(--ns-cream-2); border-radius: var(--r-md); padding: var(--sp-md); border: 0 !important;
    font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; color: var(--ns-muted); text-align: center;
}
.ns-theme ul.woocommerce-order-overview li strong { display: block; margin-top: .4rem; font-size: 1.05rem; color: var(--ns-ink); text-transform: none; letter-spacing: 0; }
.ns-theme .woocommerce-order h2 { font-family: var(--font-display); text-transform: uppercase; font-size: 1.15rem; margin: var(--sp-lg) 0 var(--sp-sm); }
.ns-theme .woocommerce-table--order-details, .ns-theme .woocommerce-order table { width: 100%; border-collapse: collapse; }
.ns-theme .woocommerce-table--order-details th, .ns-theme .woocommerce-table--order-details td,
.ns-theme .woocommerce-order table th, .ns-theme .woocommerce-order table td { padding: .75rem .5rem; border-bottom: 1px solid var(--ns-line); text-align: left; }
.ns-theme .woocommerce-customer-details address { border: 1px solid var(--ns-line); border-radius: var(--r-md); padding: var(--sp-md); font-style: normal; }

/* =================================================================
   RESPONSIVE
   ================================================================= */
@media (max-width: 1024px) {
    .ns-cats, .ns-theme ul.products { grid-template-columns: repeat(3, 1fr); }
    .ns-why__card { grid-template-columns: 1fr; }
    .ns-why__media { max-height: 320px; }
}
@media (max-width: 720px) {
    .ns-cats, .ns-theme ul.products, .ns-theme ul.products.columns-3 { grid-template-columns: repeat(2, 1fr); }
    .ns-head--row { align-items: flex-start; }
    .ns-theme .ns-hero__title { font-size: 2rem !important; line-height: 1.05; max-width: 100% !important; white-space: normal !important; overflow-wrap: break-word; }
    .ns-hero__viewport, .ns-hero__track { width: 100%; max-width: 100%; }
    .ns-hero__slide { min-width: 100%; width: 100%; box-sizing: border-box; }
    .ns-hero__inner { padding: 0 1rem; max-width: 100%; width: 100%; box-sizing: border-box; }
    .ns-hero__cta { flex-direction: column; align-items: stretch; width: 100%; }
    .ns-hero__cta .ns-btn { width: 100%; box-sizing: border-box; }
    .ns-hero__slide { min-height: 60vh; }
    /* Blocksy mobilni hamburger — vidljiv, crn */
    .ct-header-trigger, .ct-toggle-close { color: var(--ns-ink) !important; display: inline-flex !important; }
    /* dodatni sloj preko CELE sekcije se sklanja — fade radi samo __media::before (odozgo nadole) */
    .ns-hero__slide::after { background: none !important; }
    /* sadržaj hero-a na DNO (uz tamni deo fade-a) */
    .ns-hero--single .ns-hero__slide { align-items: end; }
    .ns-hero--single .ns-hero__inner { padding-bottom: 2rem; }
    .ns-hero__arrow { display: none; }            /* strelice smetaju tekstu — koriste se tačkice/thumbs */
    .ns-hero__thumbs { flex-wrap: wrap; }
    .ns-hero__thumb { min-width: calc(50% - .3rem); }
    .ns-hero__desc { max-width: 100%; }
    /* naslovi sekcija da ne beže preko ivice */
    .ns-h2, .ns-hero__title, .woocommerce-products-header__title { overflow-wrap: break-word; word-break: normal; }
    .ns-why__card { padding: 1.5rem; }
    .ns-drawer { width: 100vw; }
}
@media (max-width: 460px) {
    .ns-cats, .ns-theme ul.products { grid-template-columns: 1fr 1fr; gap: .8rem; }
}

/* =================================================================
   KURSOR „ruka" na svim klikabilnim elementima (kartice, naslovi, meni, dugmići)
   ================================================================= */
ul.products li.product,
ul.products li.product a,
ul.products li.product h2,
ul.products li.product .woocommerce-loop-product__title,
.ns-shop li.product,
.ns-shop li.product *,
.ct-menu-link, .menu-item > a, .ct-mega-menu a,
.ns-btn, .ns-hero__thumb, .ns-cat, .ns-filter button, .ns-filter__color,
button:not([disabled]):not(.disabled), [role="button"],
.variable-item, .color-variable-item, label[for] { cursor: pointer; }
button[disabled], .single_add_to_cart_button.disabled { cursor: not-allowed; }

/* =================================================================
   NEDOSTUPNE VELIČINE — precrtane, ali KLIKABILNE
   (klik otvara formu „Obavesti me kad bude dostupno" za tu veličinu)
   ================================================================= */
.variable-items-wrapper .variable-item.ns-oos {
  pointer-events: auto !important;
  cursor: pointer !important;
}
.variable-items-wrapper .variable-item.ns-oos:hover .variable-item-span,
.variable-items-wrapper .variable-item.ns-oos:hover > span {
  border-color: var(--ns-ink) !important;
  color: #7d766c !important;
}
/* izabrana rasprodata veličina — tamna (vidi se na koju se prijavljuješ),
   ali i dalje precrtana da ostane jasno da je nema na stanju */
.ns-theme .variations_form .variable-item.ns-oos.selected .variable-item-span,
.ns-theme .variations_form .variable-item.ns-oos.selected > span,
.variable-items-wrapper .variable-item.ns-oos.selected .variable-item-span,
.variable-items-wrapper .variable-item.ns-oos.selected > span {
  background: var(--ns-ink) !important;
  border-color: var(--ns-ink) !important;
  color: #fff !important;
  text-decoration: line-through !important;
  text-decoration-color: rgba(255,255,255,.85) !important;
  text-decoration-thickness: 2px !important;
}
/* napomena ispod veličina */
.ns-oos-hint {
  margin: .55rem 0 0;
  font-size: .85rem;
  line-height: 1.45;
  color: var(--ns-muted);
}
.ns-oos-hint strong { color: var(--ns-ink); font-weight: 700; }
/* vidljivo dugme je na <span> unutra — precrtaj tekst i osivi ga */
.variable-items-wrapper .variable-item.ns-oos .variable-item-span,
.variable-items-wrapper .variable-item.ns-oos > span {
  color: #b3aca1 !important;
  background: #efece4 !important;
  border-color: #e0d9cc !important;
  box-shadow: none !important;
  text-decoration: line-through !important;
  text-decoration-color: #8b8378 !important;
  text-decoration-thickness: 2px !important;
  opacity: 1 !important;
}

/* Tracker besplatne dostave u draweru — sada ISPOD međuzbira, iznad dugmadi */
.ns-freeship-mini { margin: .2rem 0 .9rem; }
.ns-freeship-mini .ns-freeship {
  background: transparent;
  border: 0;
  border-top: 1px solid var(--ns-line);
  border-bottom: 1px solid var(--ns-line);
  border-radius: 0;
  padding: .85rem 0;
}
.ns-freeship-mini .ns-freeship__msg { font-size: .86rem; margin-bottom: .55rem; }

/* Newsletter — poruka posle prijave */
.ns-news__msg { margin: .85rem 0 0; font-size: .9rem; font-weight: 600; }
.ns-news__msg.is-ok  { color: #7ee0a8; }
.ns-news__msg.is-err { color: #ff8b7d; }

/* „Pogledaj korpu" koji Blocksy doda posle dodavanja u korpu — uklopljen u dizajn
   (outline pill, isto kao dugme u draweru; bio je sivo-plav i off-brand) */
.added_to_cart.wc-forward,
.ct-cart-actions .added_to_cart {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: transparent !important;
  color: var(--ns-ink) !important;
  border: 2px solid var(--ns-ink) !important;
  border-radius: 999px !important;
  padding: .9rem 1.9rem !important;
  font-weight: 800;
  font-size: .78rem;
  letter-spacing: .09em;
  text-transform: uppercase;
  text-decoration: none !important;
  line-height: 1;
  transition: background .18s ease, color .18s ease;
}
.added_to_cart.wc-forward:hover,
.ct-cart-actions .added_to_cart:hover {
  background: var(--ns-ink) !important;
  color: #fff !important;
}

/* =================================================================
   ARHIVA KOLEKCIJE (tema) — svoj baner, bez Blocksy hero-a i filtera
   ================================================================= */
/* Blocksy hero (mutna kropovana slika) — sklonjen.
   Specifičnost mora da nadjača ranije `.ns-theme.tax-product_cat .hero-section{display:block!important}` */
body.ns-theme.tax-product_cat.ns-collection .hero-section,
body.ns-theme.tax-product_cat.ns-collection .hero-section[data-type],
body.ns-collection .hero-section { display: none !important; }
body.ns-collection .ns-shop__aside { display: none !important; } /* filter sidebar ne treba u kolekciji */
body.ns-collection .ns-shop__main { width: 100% !important; max-width: 100% !important; }
.ns-collhero {
  position: relative; overflow: hidden; background: #121212;
  min-height: clamp(220px, 30vw, 380px); display: flex; align-items: flex-end;
  margin-bottom: var(--sp-lg);
}
.ns-collhero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }
.ns-collhero__ov { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,.35) 40%, rgba(0,0,0,.9) 100%); }
.ns-collhero__inner { position: relative; z-index: 2; width: 100%; padding-top: 2.2rem; padding-bottom: 1.8rem; color: #fff; }
.ns-collhero__back {
  display: inline-flex; align-items: center; gap: .3rem; margin-bottom: .9rem;
  background: rgba(255,255,255,.14); backdrop-filter: blur(6px); color: #fff; text-decoration: none;
  border: 1px solid rgba(255,255,255,.25); border-radius: var(--r-pill); padding: .4rem .9rem;
  font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; transition: background .15s;
}
.ns-collhero__back:hover { background: rgba(255,255,255,.28); color: #fff; }
.ns-collhero__eyebrow { color: #fff !important; opacity: .9; }
.ns-collhero__eyebrow::before { background: #fff !important; }
body.ns-collection .ns-collhero__title,
.ns-collhero__title {
  font-family: var(--font-display); font-weight: 900; color: #fff !important;
  font-size: clamp(1.8rem, 4vw, 2.9rem); line-height: 1.05; margin: .2rem 0 .35rem;
  text-transform: uppercase; letter-spacing: .05em;
  text-shadow: 0 2px 10px rgba(0,0,0,.7), 0 1px 30px rgba(0,0,0,.5);
}
.ns-collhero__meta { color: rgba(255,255,255,.85); font-size: .9rem; margin: 0; }
.ns-collhero--noimg { background: linear-gradient(150deg, #2a2320 0%, #141414 70%); }

/* =================================================================
   KOLEKCIJE PO TEMAMA — cinematic pločice
   ================================================================= */
/* SLAJDER — velike pločice, swipe na mobilnom, strelice na desktopu */
.ns-coll-slider { position: relative; margin-top: var(--sp-lg); }
.ns-coll-track {
  display: flex; gap: 1.1rem;
  overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch; scrollbar-width: none;
  padding-bottom: .3rem;
}
.ns-coll-track::-webkit-scrollbar { display: none; }
.ns-coll {
  position: relative;
  display: block;
  flex: 0 0 86%;                     /* mobilni: skoro cela širina, viri sledeća */
  scroll-snap-align: center;
  aspect-ratio: 16 / 10;
  border-radius: 16px;
  overflow: hidden;
  background: #171717;
  box-shadow: 0 14px 34px rgba(0,0,0,.20);
  isolation: isolate;
}
@media (min-width: 680px)  { .ns-coll { flex-basis: 60%; } }
@media (min-width: 1000px) { .ns-coll { flex-basis: calc(50% - .55rem); } }   /* desktop: 2 velike u kadru */
/* strelice */
.ns-coll__arrow {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 3;
  width: 46px; height: 46px; border-radius: 50%; border: 0; cursor: pointer;
  background: rgba(255,255,255,.94); color: var(--ns-ink); font-size: 1.5rem; line-height: 1;
  box-shadow: 0 6px 20px rgba(0,0,0,.22); transition: background .15s, transform .15s;
  display: none;
}
.ns-coll__arrow:hover { background: #fff; transform: translateY(-50%) scale(1.06); }
.ns-coll__arrow--prev { left: -12px; }
.ns-coll__arrow--next { right: -12px; }
.ns-coll__arrow[hidden] { display: none !important; }
@media (min-width: 1000px) { .ns-coll__arrow { display: flex; align-items: center; justify-content: center; } }
.ns-coll img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}
.ns-coll:hover img { transform: scale(1.07); }
.ns-coll__ov {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.05) 25%, rgba(0,0,0,.35) 60%, rgba(0,0,0,.82) 100%);
}
.ns-coll__label {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 1.2rem 1.3rem;
  color: #fff;
  font-family: var(--font-display);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -.01em;
  line-height: 1.05;
  font-size: clamp(1.25rem, 2.4vw, 1.9rem);
  z-index: 1;
}
.ns-coll__label small {
  display: block;
  margin-top: .2rem;
  font-family: var(--font-body, system-ui);
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  font-size: .82rem;
  opacity: .85;
}
/* placeholder dok slika kategorije nije postavljena */
.ns-coll--noimg { background: linear-gradient(150deg, #2a2320 0%, #141414 70%); }
.ns-coll--noimg::after {
  content: "";
  position: absolute; inset: 0;
  background: radial-gradient(80% 100% at 50% 0%, rgba(224,36,21,.22), transparent 60%);
}

/* =================================================================
   MOBILNI: stranica proizvoda  (NA KRAJU FAJLA da nadjača desktop
   pravila galerije koja nemaju media query — .flexy-pills{width:96px} itd.)
   ================================================================= */
@media (max-width: 999px) {
    /* veća dugmad za izbor veličine (lakše se pogađa prstom) */
    body.ns-theme.single-product .variations_form .variable-item.button-variable-item {
        min-width: 58px !important; min-height: 46px !important;
        padding: .6rem 1rem !important; font-size: .95rem !important;
    }
    /* sličice ISPOD glavne slike i u REDU (bile uspravno sa strane) */
    body.ns-theme.single-product .flexy { display: flex !important; flex-direction: column !important; }
    body.ns-theme.single-product .flexy-view { order: 1; }
    body.ns-theme.single-product .flexy-pills {
        order: 2; flex: 0 0 auto !important; width: 100% !important; max-width: 100% !important; margin-top: .6rem !important;
    }
    body.ns-theme.single-product .flexy-pills ol {
        display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important;
        height: auto !important; max-height: none !important; gap: 8px !important;
        overflow-x: auto; overflow-y: hidden; scrollbar-width: none; padding-bottom: 2px;
    }
    body.ns-theme.single-product .flexy-pills ol::-webkit-scrollbar { display: none; }
    body.ns-theme.single-product .flexy-pills li {
        width: 74px !important; height: 74px !important; max-width: 74px !important; flex: 0 0 74px !important; margin: 0 !important;
    }
}

/* =================================================================
   TIPOGRAFIJA NA STRANICAMA (O nama, Dostava, Zamena/vraćanje)
   ================================================================= */
.ns-theme.page .entry-content h2,
.ns-theme.page .entry-content h3 {
    font-family: var(--font-display); font-weight: 800;
    font-size: clamp(1.05rem, 1.9vw, 1.3rem); letter-spacing: .08em; text-transform: uppercase;
    color: var(--ns-ink); margin: 2.2rem 0 .8rem;
}
.ns-theme.page .entry-content h2:first-child { margin-top: 0; }
.ns-theme.page .entry-content p,
.ns-theme.page .entry-content li {
    font-family: var(--font-body); font-size: 1rem; line-height: 1.75; color: var(--ns-ink);
}
.ns-theme.page .entry-content p { margin: 0 0 1rem; max-width: 68ch; }
.ns-theme.page .entry-content ul { max-width: 68ch; padding-left: 1.1rem; }
.ns-theme.page .entry-content li { margin-bottom: .35rem; }
.ns-theme.page .entry-content a { color: var(--ns-red); text-decoration: underline; text-underline-offset: 3px; }
.ns-theme.page .entry-content a:hover { color: var(--ns-red-dark); }
/* naslov stranice */
.ns-theme.page .page-title,
.ns-theme.page .entry-title {
    font-family: var(--font-display); font-size: clamp(1.7rem, 3.4vw, 2.5rem) !important;
    letter-spacing: .05em; text-transform: uppercase;
}
/* „← Vrati se na O nama" */
.ns-theme .ns-back-link { margin-top: 2.2rem !important; padding-top: 1.2rem; border-top: 1px solid var(--ns-line); }
.ns-theme .ns-back-link a {
    display: inline-flex; align-items: center; gap: .4rem; text-decoration: none !important;
    font-weight: 700; font-size: .8rem; letter-spacing: .05em; text-transform: uppercase;
    border: 1.5px solid var(--ns-line); border-radius: var(--r-pill); padding: .55rem 1.1rem;
    color: var(--ns-ink) !important; transition: all .15s;
}
.ns-theme .ns-back-link a:hover { background: var(--ns-ink); border-color: var(--ns-ink); color: #fff !important; }

/* Ujednačeni naslovi stranica/arhiva — manji + prored (bili krupni i zbijeni).
   Na kraju fajla da nadjača ranija pravila (.ns-theme h1 { letter-spacing:-.02em } itd.) */
.ns-theme h1,
.ns-theme .page-title,
.ns-theme .hero-section .page-title,
.ns-theme.post-type-archive-product .hero-section .page-title,
.ns-theme.tax-product_cat .hero-section .page-title,
.ns-theme .woocommerce-products-header__title {
    font-size: clamp(1.7rem, 3.2vw, 2.4rem) !important;
    letter-spacing: .05em !important;
    line-height: 1.15;
}
/* naslov proizvoda — isti ritam */
.ns-theme.single-product div.product .product_title {
    font-size: clamp(1.5rem, 2.6vw, 2rem) !important; letter-spacing: .02em;
}

/* Hero naslov ostaje VELIKI — globalno pravilo za h1 (manji naslovi) ga je smanjilo */
.ns-theme .ns-hero__title,
.ns-theme .ns-hero--single .ns-hero__title {
    font-size: clamp(2.4rem, 5.6vw, 4.8rem) !important;
    letter-spacing: -.01em !important;
    line-height: 1;
}

/* =================================================================
   SEKCIJA ORIGINALS — plava pozadina (kao što je „Kolekcije" krem)
   ================================================================= */
.ns-section--originals {
    background: #336d79;
    padding-block: clamp(2rem, 4vw, 3.2rem);
}
.ns-section--originals .ns-h2 { color: #fff !important; }
.ns-section--originals .ns-eyebrow { color: #fff !important; opacity: .9; }
.ns-section--originals .ns-eyebrow::before { background: #fff !important; }
/* dugme svetlo da se vidi na plavoj */
.ns-section--originals .ns-btn--light { background: #fff; color: var(--ns-ink); border-color: #fff; }
.ns-section--originals .ns-btn--light:hover { background: var(--ns-ink); color: #fff; border-color: var(--ns-ink); }

/* =================================================================
   BOJE: zlatna za „Naš potpis", nova crvena za SVA DUGMAD
   (akcenti — natpisi, trake, oznake — ostaju u brend crvenoj)
   ================================================================= */
:root { --ns-btn-red: #c05254; --ns-btn-red-dark: #a84446; --ns-gold: #b58509; }

/* natpis iznad „Originals" — zlatna */
.ns-section--originals .ns-eyebrow { color: var(--ns-gold) !important; opacity: 1; }
.ns-section--originals .ns-eyebrow::before { background: var(--ns-gold) !important; }

/* dugmad kartica proizvoda */
.ns-theme ul.products li.product .button,
.ns-theme ul.products li.product .added_to_cart { background: var(--ns-btn-red) !important; }
.ns-theme ul.products li.product .button:hover,
.ns-theme ul.products li.product .added_to_cart:hover { background: var(--ns-btn-red-dark) !important; }
/* crvena dugmad kroz sajt */
.ns-theme .ns-btn--red { background: var(--ns-btn-red) !important; border-color: var(--ns-btn-red) !important; }
.ns-theme .ns-btn--red:hover { background: var(--ns-btn-red-dark) !important; border-color: var(--ns-btn-red-dark) !important; }
.ns-theme .ns-btn--dark:hover { background: var(--ns-btn-red) !important; border-color: var(--ns-btn-red) !important; }
/* „Dodaj u korpu" na proizvodu, forme, in-stock obaveštenje, pretraga */
.ns-theme.single-product .single_add_to_cart_button:hover { background: var(--ns-btn-red) !important; }
.ns-theme input[type="submit"]:hover { background: var(--ns-btn-red) !important; }
.ns-theme .cwginstock-subscribe-form button,
.ns-theme .cwginstock-subscribe-form input[type="submit"] { background: var(--ns-btn-red) !important; }
.ns-theme .cwginstock-subscribe-form button:hover,
.ns-theme .cwginstock-subscribe-form input[type="submit"]:hover { background: var(--ns-btn-red-dark) !important; }
.ns-search__all:hover { background: var(--ns-btn-red); }
.ns-theme .ns-hero__arrow:hover { background: var(--ns-btn-red); }
.ns-theme .ns-footer__social a:hover { background: var(--ns-btn-red); border-color: var(--ns-btn-red); }

/* Sekcija „Kolekcije" — bela pozadina umesto krem */
.ns-section--alt { background: #fff; }

/* =================================================================
   BANER SISTEM — prodavnica + sve kategorije (isti kao na kolekcijama)
   ================================================================= */
body.ns-has-banner .hero-section,
body.ns-theme.ns-has-banner .hero-section,
body.ns-theme.post-type-archive-product.ns-has-banner .hero-section,
body.ns-theme.tax-product_cat.ns-has-banner .hero-section { display: none !important; }
/* opis u baneru */
.ns-collhero__text {
    color: rgba(255,255,255,.9); max-width: 52ch; margin: .5rem 0 0;
    font-size: clamp(.9rem, 1.4vw, 1.02rem); line-height: 1.55;
    text-shadow: 0 1px 8px rgba(0,0,0,.5);
}
.ns-collhero__meta { margin-top: .5rem !important; }
/* baner prodavnice: kadar na lica (slika je kvadrat) */
body.post-type-archive-product .ns-collhero__img { object-position: center 55%; }

/* =================================================================
   BANER: cela slika bez sečenja (dizajn je 2400x1000 = 2.4:1)
   Visina prati odnos slike, pa `cover` nema šta da odseče.
   Na mobilnom ostaje minimalna visina da tekst ima mesta.
   ================================================================= */
@media (min-width: 1000px) {
    .ns-collhero {
        aspect-ratio: 2400 / 1000;
        min-height: 0;
        align-items: flex-end;
    }
    .ns-collhero__img { object-position: center center !important; }
    /* tekst preko donjeg dela slike (dizajner ostavio levu stranu mirnu) */
    .ns-collhero__inner { padding-bottom: 2.6rem; }
}

/* =================================================================
   ORIGINALS i LIMITED — naslov više i krupniji (ostale kolekcije ostaju)
   ================================================================= */
@media (min-width: 1000px) {
    body.term-originals .ns-collhero,
    body.term-limitirane-serije .ns-collhero { align-items: center; }
    body.term-originals .ns-collhero__inner,
    body.term-limitirane-serije .ns-collhero__inner { padding-bottom: 0; padding-top: 0; }
    body.term-originals .ns-collhero__title,
    body.term-limitirane-serije .ns-collhero__title {
        font-size: clamp(2.6rem, 5vw, 4rem) !important;
        line-height: 1.02;
    }
    body.term-originals .ns-collhero__text,
    body.term-limitirane-serije .ns-collhero__text { font-size: clamp(1rem, 1.5vw, 1.15rem); max-width: 44ch; }
}

/* Niži baner + kadar po sredini — Limited i Originals */
@media (min-width: 1000px) {
    body.term-limitirane-serije .ns-collhero {
        aspect-ratio: auto;
        height: clamp(360px, 30vw, 520px);
        min-height: 0;
    }
    /* Originals koristi globalni odnos 2400/700 (dizajn je u toj rezoluciji) */
    /* kadar tacno po sredini slike — bez pomeranja gore/dole */
    body.term-limitirane-serije .ns-collhero__img { object-position: center center !important; }
    /* Originals: nema pomeranja kadra — odnos boksa = odnos slike */
}
/* Originals: bez crnog prelaza preko slike (dizajn je već tamna pozadina) */
body.term-originals .ns-collhero__ov { background: none !important; }

/* Originals: slika je svetla i bez prelaza → tekst u tamnoj boji radi čitljivosti */
body.term-originals .ns-collhero__title { color: var(--ns-ink) !important; text-shadow: none !important; }
body.term-originals .ns-collhero__text,
body.term-originals .ns-collhero__meta { color: var(--ns-ink) !important; opacity: .85; text-shadow: none !important; }
body.term-originals .ns-collhero__eyebrow { color: var(--ns-gold) !important; text-shadow: none !important; }
body.term-originals .ns-collhero__eyebrow::before { background: var(--ns-gold) !important; }

/* =================================================================
   BANER — FIKSNI ODNOSI (dizajn se pravi tačno u ovim dimenzijama)
   Desktop: 2400x700 (3.4286:1)   Mobilni: 1200x1500 (4:5)
   Odnos boksa = odnos slike → NIŠTA se ne seče ni na jednom ekranu.
   ================================================================= */
@media (min-width: 1000px) {
    body.ns-has-banner .ns-collhero {
        aspect-ratio: 2400 / 700 !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }
}
@media (max-width: 999px) {
    /* važi samo kad postoji mobilna varijanta slike */
    .ns-collhero--mob {
        aspect-ratio: 1200 / 1500 !important;
        min-height: 0 !important;
        height: auto !important;
    }
}
.ns-collhero picture { position: absolute; inset: 0; display: block; }
.ns-collhero__img { object-position: center center !important; }

/* =================================================================
   „ISTRAŽI OSTATAK PONUDE" — blok na dnu Originals/Limited
   ================================================================= */
.ns-explore { background: var(--ns-cream-2, #f7f3ea); padding-block: clamp(2rem, 4vw, 3.4rem); margin-top: var(--sp-lg); }
.ns-explore .ns-h2 { margin-bottom: var(--sp-lg); }
.ns-explore__grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 700px)  { .ns-explore__grid { grid-template-columns: repeat(3, 1fr); } }
.ns-explore__card {
    position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden;
    border-radius: 14px; background: #171717; text-decoration: none;
    box-shadow: 0 10px 26px rgba(0,0,0,.14);
}
.ns-explore__card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.ns-explore__card:hover img { transform: scale(1.06); }
.ns-explore__ov { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.1) 30%, rgba(0,0,0,.75) 100%); }
.ns-explore__body { position: absolute; left: 0; right: 0; bottom: 0; padding: 1rem 1.1rem; z-index: 1; color: #fff; }
.ns-explore__body strong {
    display: block; font-family: var(--font-display); font-weight: 900; text-transform: uppercase;
    font-size: clamp(1.05rem, 2vw, 1.35rem); letter-spacing: .03em;
}
.ns-explore__body small { display: block; margin-top: .25rem; font-size: .8rem; opacity: .9; }

/* Stavke u filteru koje su PRAVI linkovi (Cela prodavnica, druga sekcija) */
.ns-theme .ns-filter__list .ns-filter__link {
    display: flex; justify-content: space-between; align-items: center; width: 100%;
    text-align: left; padding: .5rem .6rem; border-radius: 8px; text-decoration: none;
    font-size: .92rem; color: var(--ns-ink); font-weight: 600; transition: background .15s, color .15s;
}
.ns-theme .ns-filter__list .ns-filter__link:hover { background: var(--ns-cream-2); color: var(--ns-ink); }
.ns-theme .ns-filter__list .ns-filter__link small { color: var(--ns-muted); font-weight: 500; font-size: .78rem; }
