/* =================================================================
   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); }
.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); }
.ns-h2 { font-size: clamp(1.9rem, 4.4vw, 3.1rem); 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; }
.ns-topbar__sep  { color: var(--ns-red); margin-inline: 1.3rem; }
@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; }
.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,.55), rgba(0,0,0,.15) 55%, transparent); 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: 56%; z-index: 0; overflow: hidden; }
.ns-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; }
.ns-hero__media::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #131313 0%, rgba(19,19,19,.55) 32%, rgba(19,19,19,0) 72%); }
@media (max-width: 860px) {
    .ns-hero__media { width: 100%; opacity: .55; }
    .ns-hero__media::before { background: linear-gradient(180deg, rgba(19,19,19,.35) 0%, rgba(19,19,19,.15) 40%, rgba(19,19,19,.55) 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 30px rgba(0,0,0,.35); }
.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; }
.ns-hero__cta { display: flex; gap: var(--sp-sm); flex-wrap: wrap; }

/* 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; }
.ns-strip__sep { margin-inline: 1.2rem; opacity: .7; }

/* =================================================================
   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); }
.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: uppercase; letter-spacing: -.01em;
    font-size: .95rem; padding: var(--sp-md) var(--sp-md) 0; line-height: 1.1;
}
.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: kartice iste visine, dugme UVEK na dnu i u istoj ravni */
.ns-theme ul.products { align-items: stretch; }
.ns-theme ul.products li.product { height: 100%; }
.ns-theme ul.products li.product > a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex: 1 1 auto; }
.ns-theme ul.products li.product .woocommerce-loop-product__title { min-height: 2.5em; display: block; }
.ns-theme ul.products li.product .price { margin-top: auto; padding-bottom: 0; }
.ns-theme ul.products li.product .button,
.ns-theme ul.products li.product .added_to_cart {
    margin: var(--sp-md); margin-top: var(--sp-md); border-radius: var(--r-pill);
    background: var(--ns-ink); color: var(--ns-cream); font-weight: 700; text-transform: uppercase;
    font-size: .8rem; letter-spacing: .03em; padding: .85rem 1rem; text-align: center; border: 0; transition: background .2s, transform .15s;
}
.ns-theme ul.products li.product .button:active { transform: scale(.97); }
.ns-theme ul.products li.product .button:hover { background: var(--ns-red); }
.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(2rem,5vw,3.4rem); 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: uppercase; 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; font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: var(--ns-red); text-decoration: none; font-weight: 700; cursor: pointer; }
.ns-theme.single-product .ns-sizeguide-link:hover { color: var(--ns-red-dark); text-decoration: underline; }
/* 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; }

/* 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 */
.ns-theme .ns-filter__sublist { list-style: none; margin: 0; padding: 0 0 0 .7rem; border-left: 1.5px solid var(--ns-line); max-height: 0; overflow: hidden; opacity: 0; transition: max-height .3s ease, opacity .25s ease, margin .3s ease; }
.ns-theme .has-children.is-open .ns-filter__sublist { max-height: 320px; 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); }
.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 3px;
    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; }

/* 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; }
.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); }

/* 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; }
    .ns-hero__slide::after { background: linear-gradient(to top, rgba(0,0,0,.7), rgba(0,0,0,.35)); }
    .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; }
}
