/* VeronaTextil – custom color utilities (extends Hyvä parent CSS) */

/* ══ GLOBAL COLOR OVERRIDE — replace Hyva default blue with VeronaTextil teal ══ */
:root {
    --color-primary:         oklch(59% 0.05 187);
    --color-primary-lighter: oklch(72% 0.045 190);
    --color-primary-darker:  oklch(44% 0.048 185);
}

/* Focus ring */
*:focus-visible { outline-color: var(--vt-accent,#6B8E8A); }

/* Form input focus */
input:focus, textarea:focus, select:focus {
    border-color: var(--vt-accent,#6B8E8A) !important;
    box-shadow: 0 0 0 2px rgba(107,142,138,.15) !important;
}
input[type="checkbox"]:checked,
input[type="radio"]:checked { accent-color: var(--vt-accent,#6B8E8A); }

/* "Dodaj do koszyka" — zmień żółty na teal */
.tocart,
button.tocart,
a.tocart {
    background-color: var(--vt-accent,#6B8E8A) !important;
    border-color: var(--vt-accent,#6B8E8A) !important;
    color: #fff !important;
}
.tocart:hover,
button.tocart:hover,
a.tocart:hover {
    background-color: var(--vt-accent-dark,#4d6b68) !important;
    border-color: var(--vt-accent-dark,#4d6b68) !important;
}

/* Pagination active */
.pagination [aria-current],
.pages .current strong { background-color: var(--vt-accent,#6B8E8A); color: #fff; border-color: var(--vt-accent,#6B8E8A); }

/* Messages — info */
.message.info, .message-info { border-color: var(--vt-accent,#6B8E8A); background: #f0f7f6; }

/* ── Homepage: kontener główny FULL-WIDTH (sekcje edge-to-edge; te z własnym max-width same się centrują) ─ */
.cms-index-index .page-main,
.cms-index-index #maincontent,
.cms-index-index main {
    padding-top: 0 !important;
    margin-top: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.cms-index-index .columns,
.cms-index-index .column.main {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    float: none !important;
}

/* ═══ MOBILE RESPONSIVE — CSS media queries as primary mechanism ═══ */
/* ═══ MOBILE — breakpoint 1024px (covers phones + tablets + narrow laptops) ═══ */
@media (max-width: 1023px) {
    /* Header: hide desktop elements, show mobile */
    #vt-topbar-d { display: none !important; }
    #vt-topbar-m { display: block !important; text-align: center; font-size: 11px; }
    #vt-contact  { display: none !important; }
    #vt-srch     { display: none !important; }
    #vt-nav      { display: none !important; }
    #vt-pnav     { display: none !important; }
    #vt-fdel     { display: none !important; }
    #vt-lsub     { display: none !important; }
    #vt-klbl     { display: none !important; }
    #vt-kslbl    { display: none !important; }
    #vt-hbg      { display: flex !important; }
    #vt-srch-m   { display: flex !important; }

    /* Product slider: 2 columns on mobile/tablet */
    .vt-snap-track {
        grid-auto-columns: calc((100% - 16px) / 2) !important;
    }

    /* Footer: 2 columns */
    #vt-footer-grid { grid-template-columns: 1fr 1fr !important; }

    /* Product slider: smaller padding */
    .product-slider, .vt-slider-section { padding: 2rem 0 !important; }
}

@media (max-width: 599px) {
    /* Very small phones: footer single column */
    #vt-footer-grid { grid-template-columns: 1fr !important; }

    /* Product cards: still 2 columns but tighter */
    .vt-snap-track {
        grid-auto-columns: calc((100% - 10px) / 2) !important;
        gap: 10px !important;
    }
}

/* ═══ DESKTOP — 1024px+ ═══ */
@media (min-width: 1024px) {
    #vt-topbar-d { display: flex !important; }
    #vt-topbar-m { display: none !important; }
    #vt-contact  { display: block !important; }
    #vt-srch     { display: flex !important; }
    #vt-nav      { display: block !important; }
    #vt-pnav     { display: block !important; }
    #vt-hbg      { display: none !important; }
    #vt-srch-m   { display: none !important; }
    #vt-klbl     { display: block !important; }
    #vt-kslbl    { display: block !important; }
    #vt-fdel     { display: flex !important; }
    #vt-lsub     { display: block !important; }

    /* Product slider: 4 columns desktop */
    .vt-snap-track { grid-auto-columns: calc((100% - 48px) / 4) !important; }
}

/* ── Product slider sections ────────────────────────────────── */
.product-slider {
    padding: 3rem 0;
    background: #fff;
}
.product-slider.vt-bg-cream {
    background: #faf8f5;
}
/* Section heading alignment — match homepage.html style */
.product-slider > .flex {
    max-width: 80rem;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
}
.product-slider h3 {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 600;
    color: #111827;
}
/* Product cards grid wrapper */
.snap-track {
    max-width: 80rem;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
}
/* Section subtitle above heading */
.product-slider .vt-subtitle {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--vt-accent,#6B8E8A);
    margin-bottom: 4px;
    display: block;
}

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&family=Inter:wght@300;400;500;600;700&display=swap');

/* ── Sage palette ───────────────────────────────────────────── */
.bg-sage          { background-color: var(--vt-accent,#6B8E8A); }
.bg-sage-dark     { background-color: var(--vt-accent-dark,#4d6b68); }
.bg-sage-light    { background-color: #8fb5b0; }
.bg-sage-pale     { background-color: #d4e4e2; }
.text-sage        { color: var(--vt-accent,#6B8E8A); }
.text-sage-dark   { color: var(--vt-accent-dark,#4d6b68); }
.text-sage-light  { color: #8fb5b0; }

.hover\:bg-sage:hover       { background-color: var(--vt-accent,#6B8E8A); }
.hover\:bg-sage-dark:hover  { background-color: var(--vt-accent-dark,#4d6b68); }
.hover\:bg-sage-pale:hover  { background-color: #d4e4e2; }
.hover\:text-sage:hover     { color: var(--vt-accent,#6B8E8A); }
.hover\:text-sage-dark:hover { color: var(--vt-accent-dark,#4d6b68); }
.hover\:border-sage:hover   { border-color: var(--vt-accent,#6B8E8A); }
.border-sage  { border-color: var(--vt-accent,#6B8E8A); }
.divide-sage  > * + * { border-color: var(--vt-accent,#6B8E8A); }

/* Opacity variants used in hero overlay */
.bg-sage\/80   { background-color: rgba(107, 142, 138, 0.8); }
.bg-sage\/70   { background-color: rgba(107, 142, 138, 0.7); }

/* ── Cream ──────────────────────────────────────────────────── */
.bg-cream  { background-color: #faf8f5; }
.text-cream { color: #faf8f5; }

/* ── Display font ───────────────────────────────────────────── */
.font-display, h1.font-display, h2.font-display, p.font-display {
    font-family: 'Cormorant Garamond', Georgia, serif;
}

/* ── SVG icon sizing – fallback when Tailwind scan misses file ─ */
svg.w-3\.5 { width: 0.875rem; height: 0.875rem; }
svg.w-4    { width: 1rem;     height: 1rem; }
svg.w-5    { width: 1.25rem;  height: 1.25rem; }
svg.w-6    { width: 1.5rem;   height: 1.5rem; }
svg.w-7    { width: 1.75rem;  height: 1.75rem; }
svg.h-3\.5 { height: 0.875rem; }
svg.h-4    { height: 1rem; }
svg.h-5    { height: 1.25rem; }
svg.h-6    { height: 1.5rem; }
svg.h-7    { height: 1.75rem; }

/* explicit fallbacks for contact/footer icon containers */
.vt-icon-sm svg { width: 1rem; height: 1rem; flex-shrink: 0; }
.vt-icon-md svg { width: 1.25rem; height: 1.25rem; flex-shrink: 0; }

/* ── Hero gradient ──────────────────────────────────────────── */
.hero-gradient {
    background: linear-gradient(105deg, rgba(0,0,0,.65) 0%, rgba(0,0,0,.35) 50%, transparent 100%);
}

/* ── Product card hover ─────────────────────────────────────── */
.product-card .add-to-cart {
    opacity: 0;
    transform: translateY(8px);
    transition: all 0.25s ease;
}
.product-card:hover .product-img  { transform: scale(1.06); }
.product-img { transition: transform 0.5s ease; }
.product-card:hover .add-to-cart  {
    opacity: 1;
    transform: translateY(0);
}

/* ── Navigation ─────────────────────────────────────────────── */
.vt-nav-sage     { background-color: var(--vt-accent,#6B8E8A); color: #fff; }
.vt-nav-dark     { background-color: #111827; color: #fff; }
.vt-nav-item:hover { color: #d8b08c; }

/* ── white opacity helpers ──────────────────────────────────── */
.text-white\/80  { color: rgba(255,255,255,0.80); }
.text-white\/70  { color: rgba(255,255,255,0.70); }
.text-white\/65  { color: rgba(255,255,255,0.65); }
.divide-white\/20 > * + * { border-color: rgba(255,255,255,0.20); }
.bg-black\/30  { background-color: rgba(0,0,0,0.30); }
.bg-black\/40  { background-color: rgba(0,0,0,0.40); }
.bg-black\/50  { background-color: rgba(0,0,0,0.50); }
.bg-black\/55  { background-color: rgba(0,0,0,0.55); }
.bg-white\/10  { background-color: rgba(255,255,255,0.10); }
.border-white\/50 { border-color: rgba(255,255,255,0.50); }
.border-white\/60 { border-color: rgba(255,255,255,0.60); }

.text-white { color: #ffffff; }

/* ── Static pages — mobile padding ──────────────────────────── */
@media(max-width:639px){
    /* hero sections */
    .vt-about-hero,
    .vt-contact-hero,
    [style*="background:#111827"][style*="padding:4rem"] {
        padding-top:2.5rem !important;
        padding-bottom:2.5rem !important;
        padding-left:1.25rem !important;
        padding-right:1.25rem !important;
    }
    /* main content areas */
    .vt-about-main,
    .vt-contact-main {
        padding:2rem 1.25rem !important;
    }
    /* prevent any element from breaking out of viewport */
    body { overflow-x:hidden; }
}

/* ── Cart page — remove border-radius from Hyvä card component ── */
.checkout-cart-index .card,
.checkout-cart-index [class*="rounded"] {
    border-radius: 0 !important;
}

/* ═══════════════════════════════════════════════════════════════
   PRODUCT PAGE (PDP) — premium redesign
   ═══════════════════════════════════════════════════════════════ */
.catalog-product-view {
    --vt-teal:var(--vt-accent,#6B8E8A); --vt-teal-d:var(--vt-accent-dark,#4d6b68); --vt-teal-dd:#39524f;
    --vt-ink:#232b29; --vt-muted:#7c8884; --vt-line:#ece9e4; --vt-cream:#f6f3ef;
}

.catalog-product-view .breadcrumbs { font-size:.8rem; color:var(--vt-muted); }

/* ── Galeria — bez ramki/tła ── */

/* Bez zaokrągleń na całym PDP (ostre rogi, spójnie z resztą sklepu) */
.catalog-product-view #gallery img,
.catalog-product-view .vt-avail .stock,
.catalog-product-view .vt-qty,
.catalog-product-view .vt-qty-btn,
.catalog-product-view .vt-qty-input,
.catalog-product-view .vt-buybar #product-addtocart-button,
.catalog-product-view .vt-addto button,
.catalog-product-view .vt-addto a,
.catalog-product-view .vt-trust-ico,
.catalog-product-view section .card,
.catalog-product-view section > h2::after,
.catalog-product-view [class*="rounded"] { border-radius:0 !important; }

/* ── Kolumna informacji ── */
.catalog-product-view .vt-pdp { padding:.25rem 0 .5rem; }
.catalog-product-view .vt-pdp-head [class*="text-3xl"] {
    font-size:2rem; line-height:1.15; font-weight:700;
    color:var(--vt-ink); letter-spacing:-.01em;
}
.catalog-product-view .vt-rating { font-size:.85rem; }

/* Cena */
.catalog-product-view .vt-price { margin:1.1rem 0 .5rem; }
.catalog-product-view .vt-price .price {
    font-size:2.25rem; line-height:1; font-weight:800;
    color:var(--vt-ink); letter-spacing:-.02em;
}
.catalog-product-view .vt-price .old-price .price {
    font-size:1.1rem; font-weight:500; color:var(--vt-muted); text-decoration:line-through;
}

/* Dostępność jako „pigułka” */
.catalog-product-view .vt-avail { margin:.25rem 0 1.25rem; }
.catalog-product-view .vt-avail .text-right { text-align:left; }
.catalog-product-view .vt-avail .stock {
    display:inline-flex; align-items:center; gap:.5rem;
    padding:.3rem .8rem; border-radius:9999px; font-size:.8rem; font-weight:600;
}
.catalog-product-view .vt-avail .stock.available   { background:#e7f3ee; color:#1f7a55; }
.catalog-product-view .vt-avail .stock.unavailable { background:#fdecec; color:#c0392b; }

/* Linia meta (Arteriors): dostępność | SKU | atrybuty */
.catalog-product-view .vt-meta {
    display:flex; flex-wrap:wrap; align-items:center; row-gap:.4rem;
    margin:1rem 0 .25rem; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase;
}
.catalog-product-view .vt-meta > * { display:inline-flex; align-items:center; }
.catalog-product-view .vt-meta > * + *::before {
    content:""; width:1px; height:11px; margin:0 .85rem; background:#dcd6cc; flex:none;
}
.catalog-product-view .vt-meta-stock { gap:.45rem; font-weight:600; color:#5a6b5f; }
.catalog-product-view .vt-meta-dot { width:7px; height:7px; border-radius:50%; background:#2f9e6f; flex:none; }
.catalog-product-view .vt-meta-stock.is-out { color:#b23b3b; }
.catalog-product-view .vt-meta-stock.is-out .vt-meta-dot { background:#b23b3b; }
.catalog-product-view .vt-meta-item { gap:.35rem; color:#3f3a33; font-weight:600; }
.catalog-product-view .vt-meta-k { color:#b0a99e; font-weight:500; }

/* Specyfikacja */
.catalog-product-view .vt-specs { margin:0 0 1.5rem; border-top:1px solid var(--vt-line); }
.catalog-product-view .vt-spec-row {
    display:flex; gap:1rem; padding:.7rem 0; border-bottom:1px solid var(--vt-line);
}
.catalog-product-view .vt-spec-label { flex:0 0 42%; color:var(--vt-muted); font-weight:500; }
.catalog-product-view .vt-spec-value { flex:1; color:var(--vt-ink); font-weight:600; }

/* Pasek zakupu */
.catalog-product-view .vt-buybar { display:flex; gap:.75rem; align-items:stretch; margin:.25rem 0 1rem; }

/* Stepper ilości */
.catalog-product-view .vt-qty {
    display:inline-flex; align-items:stretch; height:3.5rem;
    background:#fff; border:1px solid #dcdcd6; border-radius:.75rem; overflow:hidden;
}
.catalog-product-view .vt-qty-btn {
    width:2.75rem; display:flex; align-items:center; justify-content:center;
    color:var(--vt-teal-d); background:#fff; transition:background .15s,color .15s;
}
.catalog-product-view .vt-qty-btn:hover { background:var(--vt-cream); color:var(--vt-teal-dd); }
.catalog-product-view .vt-qty-btn svg { width:1.1rem; height:1.1rem; }
.catalog-product-view .vt-qty-input {
    width:3rem; border:0; background:#fff; text-align:center;
    font-weight:700; font-size:1rem; color:var(--vt-ink); -moz-appearance:textfield;
}
.catalog-product-view .vt-qty-input::-webkit-outer-spin-button,
.catalog-product-view .vt-qty-input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.catalog-product-view .vt-qty-input:focus { outline:none; box-shadow:none; }

/* Dodaj do koszyka */
.catalog-product-view .vt-buybar #product-addtocart-button {
    flex:1 1 auto; height:3.5rem; min-height:3.5rem; border:0; border-radius:.75rem;
    font-size:1.02rem; font-weight:700; letter-spacing:.01em; gap:.6rem; justify-content:center;
    color:#fff; background:linear-gradient(180deg,var(--vt-teal) 0%,var(--vt-teal-d) 100%);
    box-shadow:0 10px 20px -8px rgba(77,107,104,.6);
    transition:transform .12s ease, box-shadow .2s ease, filter .2s ease;
}
.catalog-product-view .vt-buybar #product-addtocart-button:hover {
    filter:brightness(1.05); transform:translateY(-1px);
    box-shadow:0 14px 26px -8px rgba(77,107,104,.7);
}
.catalog-product-view .vt-buybar #product-addtocart-button:active { transform:translateY(0); }
.catalog-product-view .vt-buybar #product-addtocart-button span { display:inline-block; }

/* Ulubione / porównanie */
.catalog-product-view .vt-addto { display:flex; align-items:center; gap:.6rem; margin:.25rem 0 1.25rem; }
.catalog-product-view .vt-addto button,
.catalog-product-view .vt-addto a {
    margin:0 !important; width:2.75rem; height:2.75rem;
    display:inline-flex; align-items:center; justify-content:center;
    border:1px solid #e3e0db; border-radius:9999px; background:#fff; color:var(--vt-teal-d);
    transition:.15s;
}
.catalog-product-view .vt-addto button:hover,
.catalog-product-view .vt-addto a:hover { border-color:var(--vt-teal); background:var(--vt-cream); }

/* Pasek zaufania */
.catalog-product-view .vt-trust {
    list-style:none; margin:1.25rem 0 0; padding:1.25rem 0 0;
    border-top:1px solid var(--vt-line);
    display:grid; grid-template-columns:1fr 1fr; gap:1rem 1.25rem;
}
.catalog-product-view .vt-trust-item { display:flex; align-items:center; gap:.7rem; }
.catalog-product-view .vt-trust-ico {
    flex:0 0 auto; width:2.5rem; height:2.5rem; border-radius:.75rem;
    display:flex; align-items:center; justify-content:center;
    background:var(--vt-cream); color:var(--vt-teal-d);
}
.catalog-product-view .vt-trust-ico svg { width:1.35rem; height:1.35rem; }
.catalog-product-view .vt-trust-txt { display:flex; flex-direction:column; line-height:1.2; }
.catalog-product-view .vt-trust-t { font-weight:700; font-size:.85rem; color:var(--vt-ink); }
.catalog-product-view .vt-trust-s { font-size:.72rem; color:var(--vt-muted); }

/* ── Sekcje pod galerią (Opis, recenzje) ── */
.catalog-product-view section > h2 {
    position:relative; text-align:center; font-size:1.6rem; font-weight:700;
    color:var(--vt-ink); letter-spacing:-.01em; border:0; padding:0 0 1rem; margin:0 0 1.75rem;
}
.catalog-product-view section > h2::after {
    content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%);
    width:64px; height:3px; border-radius:3px; background:var(--vt-teal);
}
.catalog-product-view section > h2 span { color:var(--vt-teal-d); }

.catalog-product-view section .card {
    border:1px solid var(--vt-line); border-radius:1.25rem; padding:2.5rem;
    box-shadow:0 1px 2px rgba(0,0,0,.03);
}
.catalog-product-view section .card .prose {
    max-width:68ch; margin:0 auto; line-height:1.8; color:#111;
}
/* Listy w opisie (tworzone przez sanitizer HTML) — kropki w kolorze marki */
.catalog-product-view section .card .prose ul {
    list-style:none; margin:1rem 0; padding-left:.25rem;
}
.catalog-product-view section .card .prose ul li {
    position:relative; padding-left:1.6rem; margin:.45rem 0;
}
.catalog-product-view section .card .prose ul li::before {
    content:""; position:absolute; left:.2rem; top:.62em;
    width:.5rem; height:.5rem; border-radius:9999px; background:var(--vt-teal);
}
/* Nagłówki w opisie — proporcjonalne (prose domyślnie robi h1 ~2.25em = za duże) */
.catalog-product-view section .card .prose h1,
.catalog-product-view section .card .prose h2,
.catalog-product-view section .card .prose h3,
.catalog-product-view section .card .prose h4,
.catalog-product-view section .card .prose h5,
.catalog-product-view section .card .prose h6 {
    color:#111; font-weight:700; line-height:1.3; margin:1.25rem 0 .6rem;
}
.catalog-product-view section .card .prose > :first-child { margin-top:0; }
.catalog-product-view section .card .prose h1 { font-size:1.5rem; }
.catalog-product-view section .card .prose h2 { font-size:1.35rem; }
.catalog-product-view section .card .prose h3 { font-size:1.2rem; }
.catalog-product-view section .card .prose h4,
.catalog-product-view section .card .prose h5,
.catalog-product-view section .card .prose h6 { font-size:1.0625rem; }

/* Formularz opinii */
.catalog-product-view #review-form .text-xl { font-weight:700; color:var(--vt-ink); }

/* ── Mobile ── */
@media (max-width:639px) {
    .catalog-product-view .vt-trust { grid-template-columns:1fr; }
    .catalog-product-view .vt-price .price { font-size:2rem; }
    .catalog-product-view section .card { padding:1.5rem; }
    .catalog-product-view section > h2 { font-size:1.35rem; }
}

/* ═══════════════════════════════════════════════════════════════
   LAYERED NAVIGATION — filtry kategorii (premium, teal, ostre rogi)
   ═══════════════════════════════════════════════════════════════ */
.vt-lnav { font-size:.875rem; color:#232b29; }

.vt-lnav-mobile {
    width:100%; display:flex; justify-content:space-between; align-items:center;
    padding:.7rem .9rem; margin-bottom:.75rem;
    border:1px solid #d8d5cf; background:#fff; font-weight:600; color:#374151; cursor:pointer;
}
/* toggle widoczny tylko na mobile (Tailwindowy md:hidden nie jest skompilowany w motywie) */
@media (min-width:768px) { .vt-lnav-mobile { display:none; } }

.vt-lnav-title {
    font-size:.78rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
    color:var(--vt-accent-dark,#4d6b68); padding-bottom:.6rem; margin-bottom:.85rem; border-bottom:2px solid var(--vt-accent,#6B8E8A);
}

/* sekcja filtra */
.vt-lnav-sec { border:1px solid #e7e5e1; background:#fff; margin-bottom:.6rem; }
.vt-lnav-head {
    width:100%; display:flex; justify-content:space-between; align-items:center;
    padding:.85rem 1rem; background:none; border:0; cursor:pointer;
    font-weight:700; color:#232b29; text-align:left;
}
.vt-lnav-head:hover { color:var(--vt-accent-dark,#4d6b68); }
.vt-lnav-chev { color:#9ca3af; transition:transform .2s; flex:none; }
.vt-lnav-head.is-open .vt-lnav-chev { transform:rotate(180deg); }

/* ciało sekcji (lista / suwak) */
.vt-lnav-body { border-top:1px solid #f0eeea; }

/* lista pozycji */
.vt-lnav-list {
    list-style:none; margin:0; padding:.35rem .5rem .6rem;
    display:flex; flex-direction:column; gap:1px;
}
.vt-lnav-item {
    display:flex; justify-content:space-between; align-items:center; gap:.5rem;
    padding:.5rem .6rem; color:#4b5563; text-decoration:none; transition:background .15s,color .15s;
}
.vt-lnav-item:hover { background:#f4f1ed; color:var(--vt-accent-dark,#4d6b68); }
.vt-lnav-item.is-active { background:var(--vt-accent,#6B8E8A); color:#fff; font-weight:600; }
.vt-lnav-label { line-height:1.3; }
.vt-lnav-count {
    flex:none; min-width:1.7rem; text-align:center; padding:.05rem .4rem;
    font-size:.72rem; font-weight:600; color:#8a958f; background:#f1efeb;
}
.vt-lnav-item:hover .vt-lnav-count { color:var(--vt-accent-dark,#4d6b68); }
.vt-lnav-item.is-active .vt-lnav-count { background:rgba(255,255,255,.22); color:#fff; }

/* aktywne filtry */
.vt-lnav-state { border:1px solid var(--vt-accent,#6B8E8A); background:#f0f6f5; padding:.7rem .8rem; margin-bottom:.85rem; }
.vt-lnav-state-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:.55rem; }
.vt-lnav-state-title { font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--vt-accent-dark,#4d6b68); }
.vt-lnav-clear { font-size:.72rem; color:#6b7280; text-decoration:none; border:1px solid #cfcbc4; padding:.12rem .5rem; transition:.15s; }
.vt-lnav-clear:hover { border-color:var(--vt-accent,#6B8E8A); color:var(--vt-accent-dark,#4d6b68); }
.vt-lnav-chips { display:flex; flex-wrap:wrap; gap:.4rem; }
.vt-lnav-chip {
    display:inline-flex; align-items:center; gap:.35rem; background:#fff; border:1px solid var(--vt-accent,#6B8E8A);
    padding:.2rem .5rem; color:#374151; text-decoration:none; transition:.15s;
}
.vt-lnav-chip:hover { background:#fdecec; border-color:#e5564e; color:#b3322b; }
.vt-lnav-chip-name { font-size:.7rem; color:#9ca3af; }
.vt-lnav-chip-label { font-size:.78rem; font-weight:600; }

/* ── Drzewo kategorii ── */
.vt-tree { padding:.4rem .5rem .6rem; }
.vt-tree-parent {
    display:flex; align-items:center; gap:.5rem; padding:.5rem .35rem .55rem;
    font-weight:700; color:#232b29; border-bottom:1px solid #f0eeea; margin-bottom:.3rem;
}
.vt-tree-parent svg { color:var(--vt-accent,#6B8E8A); flex:none; }
.vt-tree-parent-name { flex:1; }
.vt-tree-child { position:relative; padding-left:1.1rem; }
.vt-tree-child::before {
    content:""; position:absolute; left:.35rem; top:0; bottom:50%; width:1px; background:#e2dfd9;
}
.vt-tree-child::after {
    content:""; position:absolute; left:.35rem; top:50%; width:.5rem; height:1px; background:#e2dfd9;
}
.vt-tree-child:last-child::before { bottom:50%; }

/* ── Suwak ceny ── */
.vt-price { padding:1rem .65rem .85rem; }
.vt-price-track { position:relative; height:4px; background:#e5e2dc; margin:.25rem .35rem 1rem; }
.vt-price-fill { position:absolute; height:4px; background:var(--vt-accent,#6B8E8A); top:0; }
.vt-price-range {
    position:absolute; top:50%; left:0; width:100%; height:4px; margin:0;
    -webkit-appearance:none; appearance:none; background:transparent; pointer-events:none; transform:translateY(-50%);
}
.vt-price-range::-webkit-slider-thumb {
    -webkit-appearance:none; appearance:none; width:16px; height:16px; border-radius:50%;
    background:#fff; border:2px solid var(--vt-accent,#6B8E8A); box-shadow:0 1px 4px rgba(0,0,0,.25);
    cursor:pointer; pointer-events:auto;
}
.vt-price-range::-moz-range-thumb {
    width:16px; height:16px; border-radius:50%; background:#fff; border:2px solid var(--vt-accent,#6B8E8A);
    box-shadow:0 1px 4px rgba(0,0,0,.25); cursor:pointer; pointer-events:auto;
}
.vt-price-fields { display:flex; align-items:center; gap:.4rem; }
.vt-price-input {
    width:4.5rem; border:1px solid #d8d5cf; padding:.32rem .4rem; font-size:.8rem; color:#374151;
    text-align:center; -moz-appearance:textfield;
}
.vt-price-input::-webkit-outer-spin-button,
.vt-price-input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.vt-price-input:focus { outline:none; border-color:var(--vt-accent,#6B8E8A); }
.vt-price-sep { color:#9ca3af; font-size:.75rem; }
.vt-price-unit { font-size:.78rem; color:#6b7280; }
.vt-price-apply {
    margin-top:.85rem; width:100%; background:var(--vt-accent,#6B8E8A); color:#fff; border:0; padding:.5rem;
    font-size:.82rem; font-weight:700; letter-spacing:.02em; cursor:pointer; transition:background .15s;
}
.vt-price-apply:hover { background:var(--vt-accent-dark,#4d6b68); }

/* ── Sticky sidebar (desktop) ── */
@media (min-width:1024px) {
    .catalog-category-view .sidebar-main,
    .catalogsearch-result-index .sidebar-main {
        position:sticky; top:1rem; align-self:flex-start;
    }
}

/* ═══ TOOLBAR (pasek nad listą: licznik + viewmode + sorter) ═══ */
.vt-toolbar {
    display:flex; align-items:center; justify-content:space-between; gap:1rem;
    flex-wrap:wrap; margin-bottom:1rem; padding-bottom:.85rem; border-bottom:1px solid #ece9e4;
}
.vt-toolbar-count { font-size:.9rem; color:#6b7280; }
.vt-toolbar-count strong { color:#232b29; font-weight:700; }
.vt-toolbar-tools { display:flex; align-items:center; gap:.75rem; }

/* sorter */
.vt-sorter { display:flex; align-items:center; gap:.5rem; }
.vt-sorter-label { font-size:.8rem; color:#6b7280; white-space:nowrap; }
.vt-sorter-select { position:relative; }
.vt-sorter-select select {
    -webkit-appearance:none; appearance:none; height:2.25rem; padding:0 1.9rem 0 .7rem;
    border:1px solid #d8d5cf; background:#fff; font-size:.82rem; font-weight:600; color:#374151; cursor:pointer;
}
.vt-sorter-select select:focus { outline:none; border-color:var(--vt-accent,#6B8E8A); box-shadow:0 0 0 2px rgba(107,142,138,.15); }
.vt-sorter-caret { position:absolute; right:.55rem; top:50%; transform:translateY(-50%); color:#9ca3af; pointer-events:none; }
.vt-sorter-dir {
    display:flex; align-items:center; justify-content:center; width:2.25rem; height:2.25rem;
    border:1px solid #d8d5cf; background:#fff; color:#6b7280; cursor:pointer; transition:.15s;
}
.vt-sorter-dir:hover { border-color:var(--vt-accent,#6B8E8A); color:var(--vt-accent-dark,#4d6b68); }

@media (max-width:767px) {
    .vt-lnav-title { display:none; }
    .vt-toolbar { flex-wrap:nowrap; }
    .vt-sorter-label { display:none; }
}

/* ═══ PDP: układ 2-kolumnowy + sticky buybox (desktop) ═══ */
@media (min-width:1024px) {
    /* lewa kolumna szersza (galeria + opis), prawa węższa (buybox) */
    .catalog-product-view .vt-pdp-grid {
        grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);
        align-items:start;
    }
    /* sticky tylko buybox (.vt-pdp.product-info-main), NIE zewnętrzny kontener .product-info-main */
    .catalog-product-view .vt-pdp.product-info-main {
        position:sticky; top:1.5rem; align-self:start;
    }
}

/* ═══ PDP: „Opis produktu" + akordeony (styl Arteriors) ═══ */
.catalog-product-view .vt-pdp-details { display:flex; flex-direction:column; gap:2.75rem; }

/* „Opis produktu" — duży nagłówek, tekst bez ramki */
.catalog-product-view .vt-pdp-desc .vt-pdp-h2 {
    font-size:1.7rem !important; font-weight:400 !important; text-transform:none !important;
    letter-spacing:0 !important; color:#1f2422 !important; text-align:left !important;
    border:0 !important; padding:0 !important; margin:0 0 1.25rem !important;
}
.catalog-product-view .vt-pdp-desc .vt-pdp-h2::after { display:none !important; }
.catalog-product-view .vt-pdp-desc-body { max-width:64ch; }
.catalog-product-view .vt-pdp-desc-body,
.catalog-product-view .vt-pdp-desc-body p,
.catalog-product-view .vt-pdp-desc-body li { font-size:1.05rem; line-height:1.85; color:#3f3a33; }
.catalog-product-view .vt-pdp-desc-body .prose { max-width:none; margin:0; }

/* Akordeony */
.catalog-product-view .vt-acc { border-top:1px solid #ece9e4; }
.catalog-product-view .vt-acc-item { border-bottom:1px solid #ece9e4; }
.catalog-product-view .vt-acc-h { margin:0; }
.catalog-product-view .vt-acc-head {
    display:flex; align-items:center; justify-content:space-between; width:100%;
    padding:1.35rem 0; background:none; border:0; cursor:pointer;
    font-size:.82rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#232b29;
}
.catalog-product-view .vt-acc-chev { color:#9ca3af; transition:transform .25s; flex:none; }
.catalog-product-view .vt-acc-head.is-open .vt-acc-chev { transform:rotate(180deg); }
.catalog-product-view .vt-acc-body { padding:.1rem 0 1.6rem; }

/* Specyfikacja — tabela atrybutów w paski */
.catalog-product-view .vt-acc .table-wrapper { max-width:none; overflow:visible; }
.catalog-product-view .vt-acc .additional-attributes { width:100%; max-width:none; border-collapse:collapse; }
.catalog-product-view .vt-acc .additional-attributes tr { border:0 !important; }
.catalog-product-view .vt-acc .additional-attributes tr:nth-child(odd) { background:#f7f5f2; }
.catalog-product-view .vt-acc .additional-attributes th,
.catalog-product-view .vt-acc .additional-attributes td { padding:.9rem 1.1rem !important; font-size:.9rem; vertical-align:top; }
.catalog-product-view .vt-acc .additional-attributes th {
    width:45%; text-align:left !important; color:#9b958c !important; font-weight:500 !important;
    text-transform:uppercase; letter-spacing:.06em; font-size:.74rem;
}
.catalog-product-view .vt-acc .additional-attributes td { text-align:right !important; color:#232b29; font-weight:600; }

/* Listy w akordeonach (Dostawa, Pielęgnacja) */
.catalog-product-view .vt-acc-list { list-style:none; margin:0; padding:.1rem 0; display:flex; flex-direction:column; gap:.65rem; }
.catalog-product-view .vt-acc-list li { position:relative; padding-left:1.15rem; font-size:.95rem; line-height:1.55; color:#3f3a33; }
.catalog-product-view .vt-acc-list li::before { content:""; position:absolute; left:0; top:.55em; width:5px; height:5px; border-radius:50%; background:var(--vt-accent,#6B8E8A); }
.catalog-product-view .vt-acc-list strong { color:#232b29; font-weight:600; }

/* ═══ PDP: „Może Ci się spodobać" (karuzela jak Arteriors) ═══ */
.catalog-product-view .vt-rel { margin-top:4rem; }
.catalog-product-view .vt-rel-track { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.75rem 1.25rem; }
@media (min-width:768px){ .catalog-product-view .vt-rel-track { grid-template-columns:repeat(4,minmax(0,1fr)); } }
.catalog-product-view .vt-rel-card { display:flex; flex-direction:column; text-decoration:none; }
.catalog-product-view .vt-rel-img { display:block; background:#f6f5f3; aspect-ratio:1/1; overflow:hidden; }
.catalog-product-view .vt-rel-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.catalog-product-view .vt-rel-card:hover .vt-rel-img img { transform:scale(1.05); }
.catalog-product-view .vt-rel-name { margin-top:.9rem; font-size:.88rem; font-weight:600; line-height:1.4; color:#232b29; }
.catalog-product-view .vt-rel-price { margin-top:.35rem; }
.catalog-product-view .vt-rel-price .price { font-size:.95rem !important; font-weight:700; color:#232b29; letter-spacing:0; }

/* ═══ Homepage — hero / promo CTA (Arteriors): przezroczysty → biały na hover ═══ */
.vt-promo-btn:hover { background:#fff !important; color:#1c1c1a !important; border-color:#fff !important; }

/* ═══ PDP: kółka kolorów (swatche) zamiast listy ═══ */
.catalog-product-view .vt-swatches {
    display:flex; flex-wrap:wrap; gap:.6rem; padding:.25rem 0;
}
.catalog-product-view .vt-swatch {
    width:2rem; height:2rem; padding:0; border-radius:9999px;
    border:1px solid rgba(0,0,0,.18); cursor:pointer; position:relative;
    transition:transform .12s ease, box-shadow .15s ease;
}
.catalog-product-view .vt-swatch:hover { transform:scale(1.08); }
.catalog-product-view .vt-swatch--on {
    box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--vt-teal);
    border-color:var(--vt-teal-d);
}
.catalog-product-view .vt-swatch--off { opacity:.3; cursor:not-allowed; }
.catalog-product-view .vt-swatch--off:hover { transform:none; }

/* Ukryj label ceny "As low as:" / "Special Price:" itp. */
.price-label { display:none !important; }

/* ═══════════════════════════════════════════════════════════════
   PREMIUM MINIMAL — Faza 1: fundament (kierunek Arteriors / ebaj)
   ═══════════════════════════════════════════════════════════════ */

/* 1. Typografia — jeden sans (Inter) wszędzie; nagłówki = wersaliki + rozstrzelenie */
body, button, input, select, textarea,
h1, h2, h3, h4, h5,
.font-display, .product-slider h3,
.catalog-product-view .vt-pdp-head [class*="text-3xl"],
.catalog-product-view section > h2 {
    font-family: 'Inter', system-ui, -apple-system, Segoe UI, sans-serif !important;
}
body { -webkit-font-smoothing: antialiased; color:#232b29; }

/* nagłówki sekcji jako premium-label */
.catalog-product-view section > h2,
.product-slider h3 {
    text-transform: uppercase !important;
    letter-spacing: .14em !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    color: #232b29 !important;
}
.catalog-product-view section > h2 span,
.product-slider h3 span { color: var(--vt-accent,#6B8E8A) !important; }

/* 2. Przyciski primary → grafit (premium); sage zostaje akcentem ikon/linków */
.tocart, button.tocart, a.tocart,
.catalog-product-view .vt-buybar #product-addtocart-button,
.vt-card-btn,
button.btn-primary, .btn-primary, a.btn-primary {
    background: #232b29 !important;
    border-color: #232b29 !important;
    color: #fff !important;
    background-image: none !important;
    box-shadow: none !important;
}
.tocart:hover, button.tocart:hover, a.tocart:hover,
.catalog-product-view .vt-buybar #product-addtocart-button:hover,
.vt-card-btn:hover, .btn-primary:hover {
    background: #3a443f !important; border-color: #3a443f !important;
    filter: none !important; transform: none !important;
}

/* 3. Nav — premium minimal: wersaliki, rozstrzelone, aktywna w akcencie */
#vt-nav .vt-nav-item {
    text-transform: uppercase;
    letter-spacing: .1em;
    font-size: 12.5px;
    font-weight: 600;
    color: #374151;
}
#vt-nav .vt-nav-item.active,
#vt-nav .vt-nav-item:hover { color: var(--vt-accent,#6B8E8A); }

/* 4. SZUKAJ — desktop widoczny, mobile schowany */
@media (min-width:1024px){ #vt-srch-d{ display:flex !important; } }
@media (max-width:1023px){ #vt-srch-d{ display:none !important; } }
.vt-search-trigger:hover { color: var(--vt-accent,#6B8E8A) !important; }

/* 5. Karty produktów — premium minimal */
.vt-card-name { font-size:13px; color:#374151; letter-spacing:.01em; }
.vt-card-price { color:#1f2422; font-weight:700; }

/* 6. Więcej powietrza */
.product-slider { padding: 4rem 0 !important; }

/* Header single-row: menu w rzędzie z logo (desktop), mobile = hamburger */
@media (min-width:1024px){ #vt-nav-bar{ display:flex !important; } }
@media (max-width:1023px){ #vt-nav-bar{ display:none !important; } }
/* w rzędzie z logo nieco niższe itemy */
#vt-nav-bar .vt-nav-item{ padding:10px 11px; }

/* ═══ Header Arteriors-minimal ═══ */
/* kategorie chowane za "Menu" (drawer); pasek kontaktowy ukryty — mniej pasków */
#vt-contact { display:none !important; }
#vt-nav-bar, #vt-nav { display:none !important; }
/* prawa strona: same ikony (bez "Do darmowej dostawy" i bez etykiet) */
#vt-fdel, #vt-klbl, #vt-kslbl { display:none !important; }
/* SZUKAJ → sama lupa */
.vt-search-trigger span { display:none !important; }
.vt-search-trigger { padding:6px 8px !important; }
#vt-menu-btn:hover, .vt-search-trigger:hover { color: var(--vt-accent,#6B8E8A) !important; }
@media (max-width:1023px){ #vt-menu-lbl{ display:none; } }

/* ═══════════════════════════════════════════════════════
   HOMEPAGE — premium minimal (kafelki / kółka / mozaika)
   ═══════════════════════════════════════════════════════ */
/* Kafelki "wg pomieszczenia" — label premium */
.vt-tile-text {
    font-family:'Inter',sans-serif !important;
    text-transform:uppercase !important; letter-spacing:.14em !important; font-weight:500 !important;
}
.vt-tile-overlay { background:linear-gradient(to top, rgba(20,20,20,.55), rgba(20,20,20,.05)) !important; }

/* Kółka kategorii — spokojny label, neutralna obwódka */
.vt-circle-label {
    font-family:'Inter',sans-serif !important;
    text-transform:uppercase !important; letter-spacing:.1em !important; font-weight:500 !important;
    color:#3a3f3d !important;
}
.vt-circle-img { border-color:#ece9e4 !important; }

/* Mozaika kategorii — Inter, grafit CTA, subtelny overlay */
.vt-mosaic-title { font-family:'Inter',sans-serif !important; text-transform:uppercase !important; letter-spacing:.1em !important; font-weight:600 !important; }
.vt-mosaic-desc  { font-family:'Inter',sans-serif !important; }
.vt-mosaic-btn {
    background:#232b29 !important; border:1px solid #232b29 !important; color:#fff !important;
    border-radius:0 !important; text-transform:uppercase !important; letter-spacing:.08em !important;
}
.vt-mosaic-btn:hover { background:#3a443f !important; border-color:#3a443f !important; }
.vt-mosaic-overlay { background:linear-gradient(to top, rgba(20,20,20,.5), rgba(20,20,20,0)) !important; }

/* Sekcje homepage — więcej powietrza */
.cms-index-index .product-slider { padding:4.5rem 0 !important; }

/* ═══ Karta produktu (przeniesione z item.phtml — raz, nie per-produkt) ═══ */
.vt-card { background:#fff; display:flex; flex-direction:column; height:100%; }
.vt-card-img-wrap { position:relative; overflow:hidden; background:#f6f5f3; aspect-ratio:1/1; }
.vt-card-img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; display:block; }
.vt-card:hover .vt-card-img { transform:scale(1.05); }
.vt-card-badge { position:absolute; top:10px; left:10px; padding:4px 9px; font-size:10px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:#fff; }
.vt-card-badge-sale { background:#b23b3b; }
.vt-card-badge-new  { background:#232b29; }
.vt-card-body { padding:16px 2px 6px; display:flex; flex-direction:column; flex:1; }
.vt-card-name { font-size:13.5px; color:#3a3f3d; line-height:1.5; margin:0 0 9px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.7em; }
.vt-card-name a { color:inherit; text-decoration:none; transition:color .15s; }
.vt-card-name a:hover { color:var(--vt-accent,#6B8E8A); }
.vt-card-price { font-size:15px; font-weight:600; color:#1f2422; margin:0; letter-spacing:.01em; }
.vt-card-price-old { font-size:12.5px; color:#9ca3af; text-decoration:line-through; font-weight:400; margin-left:8px; }
.vt-card-cta { display:flex; align-items:center; gap:8px; margin-top:14px; opacity:0; transform:translateY(6px); transition:opacity .25s ease, transform .25s ease; }
.vt-card:hover .vt-card-cta { opacity:1; transform:translateY(0); }
@media (hover:none){ .vt-card-cta{ opacity:1; transform:none; } }
.vt-card-btn { flex:1; padding:11px 12px; border:none; cursor:pointer; background:#232b29; color:#fff; font-size:11.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; transition:background .2s; display:flex; align-items:center; justify-content:center; gap:6px; }
.vt-card-btn:hover { background:#3a443f; }
.vt-card-btn svg { display:none; }
.vt-card-wishlist { width:42px; height:42px; flex-shrink:0; border:1px solid #e3e0db; background:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:border-color .2s, color .2s; color:#9ca3af; }
.vt-card-wishlist:hover { border-color:#232b29; color:#232b29; }

/* ═══════════════════════════════════════════════════════
   KATEGORIA — Arteriors premium (siatka + hover)
   ═══════════════════════════════════════════════════════ */
/* Siatka: więcej kolumn + dużo powietrza (galeryjnie) */
.catalog-category-view .products-grid .grid,
.catalogsearch-result-index .products-grid .grid {
    gap: 2.75rem 1.75rem !important;
}
@media (min-width:1024px){
    .catalog-category-view .products-grid .grid,
    .catalogsearch-result-index .products-grid .grid {
        grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    }
}
@media (min-width:1280px){
    .catalog-category-view .products-grid .grid,
    .catalogsearch-result-index .products-grid .grid {
        grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    }
}

/* Karta — premium hover: subtelny lift + miękki cień + zoom (zoom już w .vt-card) */
.vt-card { transition: transform .35s cubic-bezier(.2,.7,.3,1); }
.vt-card-img-wrap { background:#f4f3f1; transition: box-shadow .35s ease; }
.vt-card:hover { transform: translateY(-5px); }
.vt-card:hover .vt-card-img-wrap { box-shadow: 0 22px 48px -22px rgba(20,20,20,.28); }
/* delikatne przyciemnienie zdjęcia pod CTA na hover (głębia) */
.vt-card-img-wrap::after {
    content:""; position:absolute; inset:0; background:rgba(20,20,20,0);
    transition: background .35s ease; pointer-events:none;
}
.vt-card:hover .vt-card-img-wrap::after { background:rgba(20,20,20,.06); }

/* Toolbar (liczba + sort) — minimal premium */
.vt-toolbar { border-bottom:1px solid #ece9e4 !important; padding-bottom:1rem !important; margin-bottom:2rem !important; }
.vt-toolbar-count { font-size:.8rem !important; letter-spacing:.04em; color:#6b7280 !important; text-transform:uppercase; }

/* ═══════════════════════════════════════════════════════
   FILTRY — trigger „Wszystkie filtry" + panel z prawej (Arteriors)
   ═══════════════════════════════════════════════════════ */
/* pusty sidebar schowany, content pełna szerokość */
.catalog-category-view .sidebar-main,
.catalogsearch-result-index .sidebar-main { display:none !important; }
.catalog-category-view .columns,
.catalogsearch-result-index .columns { display:block !important; }
.catalog-category-view .columns .column.main,
.catalogsearch-result-index .columns .column.main { width:100% !important; max-width:100% !important; float:none !important; }

/* Rząd nad siatką: tylko trigger (sort dociągany z toolbara) */
.vt-lnav { display:flex !important; align-items:center; gap:1rem; flex-wrap:wrap; margin:0 0 1.5rem !important; }

/* Trigger „Wszystkie filtry" */
.vt-flt-trigger {
    display:inline-flex; align-items:center; gap:.6rem;
    padding:.72rem 1.2rem; background:#fff; border:1px solid #d9d5ce;
    font-size:11.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#232b29;
    cursor:pointer; transition:border-color .2s, color .2s;
}
.vt-flt-trigger:hover { border-color:#232b29; }
.vt-flt-trigger svg { flex:none; }
.vt-flt-badge {
    display:inline-flex; align-items:center; justify-content:center; min-width:18px; height:18px;
    padding:0 5px; background:#232b29; color:#fff; font-size:10px; font-weight:700; letter-spacing:0; border-radius:9px;
}

/* Overlay */
.vt-flt-overlay { position:fixed; inset:0; z-index:9998; background:rgba(28,28,26,.42); }
@supports (backdrop-filter:blur(2px)) { .vt-flt-overlay { backdrop-filter:blur(2px); } }

/* Panel z prawej */
.vt-flt-panel {
    position:fixed; top:0; right:0; z-index:9999; height:100%; width:420px; max-width:92vw;
    background:#fff; display:flex; flex-direction:column;
    transform:translateX(100%); transition:transform .4s cubic-bezier(.4,0,.2,1);
    box-shadow:-24px 0 60px -28px rgba(20,20,20,.5); will-change:transform;
}
.vt-flt-panel.is-open { transform:translateX(0); }

/* Header panelu */
.vt-flt-head { flex:none; display:flex; align-items:center; justify-content:space-between;
    padding:1.5rem 1.75rem 1.25rem; border-bottom:1px solid #ece9e4; }
.vt-flt-title { font-size:1.6rem; font-weight:400; letter-spacing:.01em; color:#1f2422; }
.vt-flt-close { display:inline-flex; align-items:center; gap:.45rem; background:none; border:0; cursor:pointer;
    font-size:10.5px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:#6b7280; transition:color .2s; }
.vt-flt-close:hover { color:#232b29; }
.vt-flt-close svg { flex:none; }

/* Ciało (scroll) */
.vt-flt-scroll { flex:1; overflow-y:auto; overflow-x:hidden; padding:0 1.75rem; }
.vt-flt-active { padding:1.1rem 0 .25rem; }

/* Sekcja w panelu */
.vt-flt-sec { border-bottom:1px solid #ece9e4; }
.vt-flt-sec-head { display:flex; align-items:center; justify-content:space-between; width:100%;
    padding:1.15rem 0; background:none; border:0; cursor:pointer;
    font-size:13px; font-weight:600; letter-spacing:.02em; color:#232b29; }
.vt-flt-sec-chev { color:#9ca3af; transition:transform .25s; flex:none; }
.vt-flt-sec-head.is-open .vt-flt-sec-chev { transform:rotate(180deg); }
.vt-flt-sec-body { padding:0 0 1.3rem; }

/* Szukajka w sekcji (długie listy, np. rozmiary) */
.vt-flt-search { position:relative; margin:0 0 .8rem; }
.vt-flt-search svg { position:absolute; right:11px; top:50%; transform:translateY(-50%); color:#9ca3af; pointer-events:none; }
.vt-flt-search-input { width:100%; padding:.62rem 2.2rem .62rem .8rem; border:1px solid #d9d5ce;
    font-size:13px; color:#232b29; background:#fff; }
.vt-flt-search-input:focus { outline:none; border-color:#232b29; }
.vt-flt-search-input::placeholder { color:#9ca3af; }

/* Lista w sekcji — wyrównana do panelu (nadpisuje wariant wertykalny) */
.vt-flt-sec .vt-lnav-list { padding:0 !important; }
.vt-flt-list { max-height:340px; overflow-y:auto; padding-right:4px; }
.vt-flt-sec .vt-lnav-item { padding:.55rem .65rem; }

/* spójny grafit zamiast teal — wewnątrz panelu */
.vt-flt-panel .vt-lnav-item:hover { background:#f4f1ed; color:#232b29; }
.vt-flt-panel .vt-lnav-item:hover .vt-lnav-count { color:#232b29; }
.vt-flt-panel .vt-lnav-item.is-active { background:#232b29; color:#fff; }
.vt-flt-panel .vt-price-fill { background:#232b29; }
.vt-flt-panel .vt-price-range::-webkit-slider-thumb { border-color:#232b29; }
.vt-flt-panel .vt-price-range::-moz-range-thumb { border-color:#232b29; }
.vt-flt-panel .vt-price-input:focus { border-color:#232b29; }
.vt-flt-panel .vt-price-apply { background:#232b29; }
.vt-flt-panel .vt-price-apply:hover { background:#3a4542; }
.vt-flt-panel .vt-tree-parent svg { color:#232b29; }

/* aktywne filtry w panelu — lżej */
.vt-flt-active .vt-lnav-state { border:0; background:#f7f5f2; padding:.75rem .85rem; margin:0; }
.vt-flt-active .vt-lnav-chip { border-color:#d9d5ce; }
.vt-flt-active .vt-lnav-chip:hover { background:#fdecec; border-color:#e5564e; }

/* Stopka */
.vt-flt-foot { flex:none; display:flex; gap:.7rem; padding:1.05rem 1.75rem; border-top:1px solid #ece9e4; }
.vt-flt-show { flex:1; padding:.95rem; background:#232b29; color:#fff; border:0; cursor:pointer;
    font-size:11.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; transition:background .2s; }
.vt-flt-show:hover { background:#3a4542; }
.vt-flt-show span { letter-spacing:.06em; opacity:.85; }
.vt-flt-clear { flex:none; display:inline-flex; align-items:center; padding:.95rem 1.35rem; background:#fff;
    border:1px solid #d9d5ce; color:#232b29; text-decoration:none;
    font-size:11.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; transition:border-color .2s; }
.vt-flt-clear:hover { border-color:#232b29; }

/* Mobile: panel niemal pełny */
@media (max-width:560px){
    .vt-flt-panel { width:100%; max-width:100%; }
    .vt-flt-head { padding:1.25rem 1.25rem 1rem; }
    .vt-flt-scroll { padding:0 1.25rem; }
    .vt-flt-foot { padding:.9rem 1.25rem; }
}

/* ═══ Filtry + licznik/sort w JEDNYM rzędzie (Arteriors), bez dziury ═══ */
@media (min-width:1024px){
    .catalog-category-view .vt-lnav,
    .catalogsearch-result-index .vt-lnav {
        margin-bottom:0 !important; border-bottom:0 !important; padding:.55rem 0 .1rem !important;
    }
    /* kill górnego paddingu sekcji produktów (py-8) */
    .catalog-category-view .products.wrapper,
    .catalogsearch-result-index .products.wrapper { padding-top:0 !important; margin-top:0 !important; }
    .catalog-category-view .column.main > section.py-8 { padding-top:0 !important; }
    /* toolbar podciągnięty na rząd filtrów, wszystko po prawej */
    .catalog-category-view .vt-toolbar,
    .catalogsearch-result-index .vt-toolbar {
        margin-top:-3rem !important;
        justify-content:flex-end !important; gap:1.5rem;
        border-top:0 !important; border-bottom:1px solid #ece9e4 !important;
        padding:0 0 1rem !important; margin-bottom:2.25rem !important;
    }
    .catalog-category-view .vt-toolbar-count,
    .catalogsearch-result-index .vt-toolbar-count { align-self:center; }
}

/* ═══════════════════════════════════════════════════════
   DOLNY TOOLBAR — licznik + paginacja + limiter (premium-minimal)
   ═══════════════════════════════════════════════════════ */
.catalog-category-view .toolbar-products,
.catalogsearch-result-index .toolbar-products {
    border-top:1px solid #ece9e4; margin-top:2.75rem; padding-top:1.75rem;
}

/* Licznik „Produkty X–Y z Z" */
.vt-amount { margin:0; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:#9ca3af; }
.vt-amount .toolbar-number { color:#232b29; font-weight:600; }

/* Limiter „Pokaż X" (select identyczny jak sorter) */
.vt-limiter { display:flex; align-items:center; justify-content:flex-end; gap:.5rem; }
.vt-limiter-label { font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:#9ca3af; white-space:nowrap; }

/* Paginacja — ostre kwadraty, grafit (kasuje pigułki btn/rounded-3xl/border-gray-300) */
.catalog-category-view .pages a,
.catalogsearch-result-index .pages a {
    display:inline-flex; align-items:center; justify-content:center;
    min-width:2.5rem; height:2.5rem; padding:0 .5rem;
    background:#fff; border:1px solid #e2dfd9; border-radius:0; color:#4b5563;
    font-size:.82rem; font-weight:600; text-decoration:none;
    transition:border-color .18s, color .18s, background .18s;
}
.catalog-category-view .pages a:hover,
.catalogsearch-result-index .pages a:hover { border-color:#232b29; color:#232b29; }
.catalog-category-view .pages a[aria-current="page"],
.catalogsearch-result-index .pages a[aria-current="page"] { background:#232b29; border-color:#232b29; color:#fff; }
.catalog-category-view .pages a[aria-disabled="true"],
.catalogsearch-result-index .pages a[aria-disabled="true"] { opacity:.32; pointer-events:none; }
.catalog-category-view .pages .pages-item-previous,
.catalog-category-view .pages .pages-item-next,
.catalogsearch-result-index .pages .pages-item-previous,
.catalogsearch-result-index .pages .pages-item-next { color:#232b29; }
.catalog-category-view .pages svg,
.catalogsearch-result-index .pages svg { width:18px; height:18px; }
.catalog-category-view .pages ol,
.catalogsearch-result-index .pages ol { gap:.4rem; }

/* Mobile: licznik/limiter wyśrodkowane */
@media (max-width:639px){
    .vt-amount { text-align:center; }
    .vt-limiter { justify-content:center; }
}

/* ═══ Strony CMS — spójne z premium sklepu: jeden font Inter (zamiast Cormorant serif) ═══ */
.cms-page-view .column.main,
.cms-page-view .column.main * {
    font-family: 'Inter', system-ui, -apple-system, Segoe UI, sans-serif !important;
}
.cms-page-view .column.main a:not([class]) {
    color: var(--vt-accent-dark,#4d6b68);
    text-underline-offset: 3px;
}

/* ═══════════════════════════════════════════════════════════
   PDP premium — placeholder, eyebrow, USP, pigułki rozmiaru, polish
   ═══════════════════════════════════════════════════════════ */

/* A. Branded placeholder zamiast loga Magento (galeria PDP + karty produktów) */
img[src*="/placeholder/"] {
    content: url(../images/vt-placeholder.svg);
    object-fit: cover;
    background: #f4f2ee;
}

/* B. Eyebrow z kategorią nad tytułem */
.vt-pdp-eyebrow {
    margin: 0 0 .7rem;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 11px; font-weight: 600; letter-spacing: .2em;
    text-transform: uppercase; color: var(--vt-accent,#6B8E8A);
}
/* po usunięciu SKU tabelka specyfikacji może być pusta */
.vt-specs:empty { display: none; }
/* cena — dopracowana */
.vt-price .price { font-family: 'Inter', system-ui, sans-serif; font-weight: 600; color: #1f2422; letter-spacing: -.01em; }

/* C. Pasek atutów (USP) pod koszykiem */
.vt-usp {
    list-style: none; margin: 1.7rem 0 0; padding: 1.5rem 0 0;
    border-top: 1px solid #ece9e4;
    display: flex; flex-direction: column; gap: .9rem;
}
.vt-usp li { display: flex; align-items: center; gap: .75rem; font-family: 'Inter', system-ui, sans-serif; font-size: 13.5px; color: #3f3a33; }
.vt-usp svg { width: 19px; height: 19px; color: var(--vt-accent,#6B8E8A); flex-shrink: 0; }

/* C. Pigułki rozmiaru (zamiast dropdowna) */
.vt-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.vt-pill {
    min-width: 3rem; padding: 10px 16px;
    font-family: 'Inter', system-ui, sans-serif; font-size: 14px; font-weight: 500;
    color: #232b29; background: #fff; border: 1px solid #ddd9d2; border-radius: 2px;
    cursor: pointer; transition: color .18s, background .18s, border-color .18s;
}
.vt-pill:hover { border-color: #232b29; }
.vt-pill--on { background: #232b29; color: #fff; border-color: #232b29; }
.vt-pill--off { opacity: .4; text-decoration: line-through; cursor: not-allowed; }

/* D. Polish — breadcrumb subtelniejszy */
.breadcrumbs .items { letter-spacing: .015em; }
.breadcrumbs .item a { font-size: 12.5px; }
.breadcrumbs .separator { opacity: .45; font-weight: 400 !important; }

/* ═══ PDP — pełnoszerokie pasmo „Szczegóły" (realne dane) ═══ */
.vt-details { background: #faf8f5; padding: 4.5rem 0 5rem; margin-top: 1.5rem; }
.vt-details-wrap { max-width: 78rem; margin: 0 auto; padding: 0 2rem; }
/* Nagłówek pasma — zakotwiczony kreską akcentową (spójny z „Może Ci się spodobać") */
.vt-details-eyebrow {
    margin: 0 0 3rem; text-align: center;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 13px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: #232b29;
}
.vt-details-eyebrow::after {
    content: ''; display: block; width: 2.5rem; height: 2px; margin: .9rem auto 0;
    background: var(--vt-accent,#6B8E8A);
}
/* align-items:start → karta po prawej nie rozciąga się na wysokość opisu (koniec z pustką) */
.vt-details-grid { display: grid; grid-template-columns: 1fr; gap: 2.5rem; align-items: start; }
@media (min-width: 900px) {
    /* prawa kolumna o stałej szerokości — proporcje nie „pływają" przy długim opisie */
    .vt-details-grid--c3 { grid-template-columns: minmax(0,1fr) minmax(0,.7fr) 18rem; gap: 3.5rem; }
    .vt-details-grid--c2 { grid-template-columns: minmax(0,1fr) 19rem; gap: 4rem; }
    .vt-details-grid--c1 { grid-template-columns: 1fr; max-width: 30rem; margin: 0 auto; }
}
.vt-details-h {
    margin: 0 0 1.4rem; padding-bottom: .85rem; border-bottom: 1px solid #e4dfd6;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #232b29;
}
.vt-details-desc { font-family: 'Inter', system-ui, sans-serif; font-size: .95rem; line-height: 1.8; color: #5a554d; max-width: 40rem; }
.vt-details-desc p { margin: 0 0 1rem; }
.vt-details-desc p:last-child { margin-bottom: 0; }
/* Specyfikacja — tabela atrybutów Magento */
.vt-details-spec { font-family: 'Inter', system-ui, sans-serif; }
.vt-details-spec table { width: 100%; border-collapse: collapse; }
.vt-details-spec th, .vt-details-spec td { text-align: left; padding: .6rem 0; border-bottom: 1px solid #ece9e4; font-size: .9rem; vertical-align: top; }
.vt-details-spec th { color: #9b958c; font-weight: 500; padding-right: 1rem; white-space: nowrap; }
.vt-details-spec td { color: #232b29; font-weight: 500; }
.vt-details-spec caption { display: none; }
/* Dostawa i zwroty — wydzielona karta, dzięki czemu asymetria wygląda celowo */
.vt-details-col--ship { background: #fff; border: 1px solid #ece9e4; border-radius: 6px; padding: 1.75rem 1.85rem; }
.vt-details-col--ship .vt-details-h { border-bottom-color: #ece9e4; }
.vt-details-ship { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1.25rem; }
.vt-details-ship li { display: flex; gap: .8rem; font-family: 'Inter', system-ui, sans-serif; font-size: .9rem; line-height: 1.5; color: #5a554d; align-items: flex-start; }
.vt-details-ship svg { width: 18px; height: 18px; color: var(--vt-accent,#6B8E8A); flex-shrink: 0; margin-top: 1px; }
.vt-details-ship strong { color: #232b29; font-weight: 600; }

/* ═══ MOBILE-ONLY — naprawy homepage (PC nietknięty) ═══ */
/* Logo nie nachodzi na ikony — na mobilce wchodzi w normalny flow (nie absolute) */
@media (max-width: 640px) {
    .vt-logo-link { position: static !important; transform: none !important; }
    .vt-logo-text { font-size: 1rem !important; letter-spacing: .1em !important; padding-left: 0 !important; }
    /* Hero wyższy — żeby eyebrow (góra) i CTA (dół) się NIE przycinały przez overflow-hidden */
    .vt-hero-section { height: 70vh !important; min-height: 480px !important; max-height: 640px !important; }
    .vt-hero-content { padding-bottom: 1.5rem !important; }
    /* Karta produktu — „Dodaj do koszyka" w 1 linii (wąskie 2 kolumny), nie łamie się */
    .vt-card-cta { gap: 6px !important; }
    .vt-card-btn { font-size: 10.5px !important; letter-spacing: .03em !important; padding: 11px 6px !important; white-space: nowrap !important; }
    .vt-card-wishlist { width: 36px !important; height: 38px !important; }
}


/* ═══════════════════════════════════════════════════════════════
   STEROWANIE KOLORAMI Z ADMINA (DCODE → Kolory)
   Wszystkie grafitowe powierzchnie interaktywne → var(--vt-btn).
   Domyślnie --vt-btn = #232b29 (grafit) ⇒ wygląd bez zmian,
   ale pole „Przyciski" w adminie realnie je przemalowuje.
   Akcenty (#6B8E8A/#4d6b68) zostały już podpięte wyżej do --vt-accent.
   ═══════════════════════════════════════════════════════════════ */

/* — Przyciski podstawowe (koszyk, CTA, karty, mozaika, btn-primary) — */
.tocart, button.tocart, a.tocart,
.catalog-product-view .vt-buybar #product-addtocart-button,
.vt-card-btn,
.vt-mosaic-btn,
button.btn-primary, .btn-primary, a.btn-primary {
    background: var(--vt-btn,#232b29) !important;
    border-color: var(--vt-btn,#232b29) !important;
    color: #fff !important;
    background-image: none !important;
}
.tocart:hover, button.tocart:hover, a.tocart:hover,
.catalog-product-view .vt-buybar #product-addtocart-button:hover,
.vt-card-btn:hover,
.vt-mosaic-btn:hover,
.btn-primary:hover {
    background: var(--vt-btn-dark,#3a443f) !important;
    border-color: var(--vt-btn-dark,#3a443f) !important;
}

/* — Pigułki rozmiaru (PDP) — */
.vt-pill--on { background: var(--vt-btn,#232b29) !important; border-color: var(--vt-btn,#232b29) !important; color:#fff !important; }
.vt-pill:hover { border-color: var(--vt-btn,#232b29) !important; }

/* — Trigger i panel filtrów — */
.vt-flt-trigger:hover { border-color: var(--vt-btn,#232b29) !important; }
.vt-flt-badge { background: var(--vt-btn,#232b29) !important; }
.vt-flt-close:hover { color: var(--vt-btn,#232b29) !important; }
.vt-flt-search-input:focus { border-color: var(--vt-btn,#232b29) !important; }
.vt-flt-panel .vt-lnav-item:hover,
.vt-flt-panel .vt-lnav-item:hover .vt-lnav-count { color: var(--vt-btn,#232b29) !important; }
.vt-flt-panel .vt-lnav-item.is-active { background: var(--vt-btn,#232b29) !important; color:#fff !important; }
.vt-flt-panel .vt-price-fill { background: var(--vt-btn,#232b29) !important; }
.vt-flt-panel .vt-price-range::-webkit-slider-thumb { border-color: var(--vt-btn,#232b29) !important; }
.vt-flt-panel .vt-price-range::-moz-range-thumb { border-color: var(--vt-btn,#232b29) !important; }
.vt-flt-panel .vt-price-input:focus { border-color: var(--vt-btn,#232b29) !important; }
.vt-flt-panel .vt-price-apply { background: var(--vt-btn,#232b29) !important; }
.vt-flt-panel .vt-price-apply:hover { background: var(--vt-btn-dark,#3a443f) !important; }
.vt-flt-panel .vt-tree-parent svg { color: var(--vt-btn,#232b29) !important; }
.vt-flt-show { background: var(--vt-btn,#232b29) !important; }
.vt-flt-show:hover { background: var(--vt-btn-dark,#3a443f) !important; }
.vt-flt-clear { color: var(--vt-btn,#232b29) !important; }
.vt-flt-clear:hover { border-color: var(--vt-btn,#232b29) !important; }

/* — Paginacja — */
.catalog-category-view .pages a:hover,
.catalogsearch-result-index .pages a:hover { border-color: var(--vt-btn,#232b29) !important; color: var(--vt-btn,#232b29) !important; }
.catalog-category-view .pages a[aria-current="page"],
.catalogsearch-result-index .pages a[aria-current="page"] { background: var(--vt-btn,#232b29) !important; border-color: var(--vt-btn,#232b29) !important; color:#fff !important; }
.catalog-category-view .pages .pages-item-previous,
.catalog-category-view .pages .pages-item-next,
.catalogsearch-result-index .pages .pages-item-previous,
.catalogsearch-result-index .pages .pages-item-next { color: var(--vt-btn,#232b29) !important; }

/* — Karta produktu: badge „nowość" + serce (wishlist) — */
.vt-card-badge-new { background: var(--vt-btn,#232b29) !important; }
.vt-card-wishlist:hover { border-color: var(--vt-btn,#232b29) !important; color: var(--vt-btn,#232b29) !important; }
