/* ==========================================================================
   FEWSET — WooCommerce Shop & Category Pages
   ========================================================================== */

/* ONE shared screen-edge gap, on the GLOBAL standard: 56px at the 1920
   frame (clamp keeps smaller desktops proportional), 10px on phones —
   same gutters as the front page / PDP. Rails inherit it via
   --fewset-rail-inset: 0. */
:root { --fewset-edge: clamp(12px, 3vw, 56px); }
@media (max-width: 768px) {
    :root {
        --fewset-edge: 10px;
    }
}


/* H. PRODUCT GRID ======================================================== */

ul.products,
ul.products.columns-1,
ul.products.columns-2,
ul.products.columns-3,
ul.products.columns-4,
ul.products.columns-5,
ul.products.columns-6 {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)); /* minmax(0,..) — tracks may shrink below content min-width; plain 1fr lets long nowrap titles blow the grid out of its container */
    grid-auto-flow: dense;
    gap: 5px;
    padding: 0 !important;
    list-style: none;
    /* The grid fills its padded wrapper — NO viewport breakout. The old
       calc(-50vw + 50%) shifted the grid 68px left of the canvas (its
       width:100vw partner was overridden by the column rules), creating a
       phantom right-hand gap that looked like a sidebar pushing it. */
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
}

/* Hide AND remove from grid flow any non-product children */
ul.products > *:not(li.product):not(li.wvs-archive-product-wrapper) {
    display: none !important;
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

/* Kill pseudo-elements that create ghost grid cells */
ul.products::before,
ul.products::after,
.woocommerce ul.products::before,
.woocommerce ul.products::after {
    display: none !important;
    content: none !important;
}

ul.products .product,
ul.products .product.first,
ul.products .product.last,
ul.products.columns-4 .product,
ul.products.columns-4 .product.first,
ul.products.columns-4 .product.last,
.woocommerce ul.products li.product,
.woocommerce ul.products li.first,
.woocommerce ul.products li.last,
.woocommerce-page ul.products li.product,
.woocommerce-page ul.products li.first,
.woocommerce-page ul.products li.last {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    max-width: none !important;
    clear: none !important;
    position: relative;
    display: flex;
    flex-direction: column;
    background: #FFF;
    margin-right: 0 !important;
}

@media (min-width: 1025px) {
    ul.products.fewset-grid-2col { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    ul.products.fewset-grid-3col { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
/* Column ladder: 4 → 3 → 2 → 1 (mobile default; toggle can pick 2) */
@media (max-width: 1199px) { ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 900px)  { ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 600px)  {
    ul.products { grid-template-columns: minmax(0, 1fr) !important; }
    /* the mobile column toggle may bring back 2 columns */
    ul.products.fewset-grid-2col { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}


/* I. PRODUCT CARD ======================================================== */

ul.products .product .woocommerce-loop-product__link {
    display: flex; flex-direction: column; text-decoration: none !important; color: #1A1A1A !important;
    flex: 1 1 auto;
}

.fewset-img-wrap { position: relative; overflow: hidden; }

ul.products .product .woocommerce-loop-product__link img,
ul.products .product .fewset-img-wrap img {
    width: 100%; aspect-ratio: 3 / 4; object-fit: cover; display: block; border-radius: 0;
}

ul.products .product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--font-primary, 'Poppins', sans-serif); font-size: 12px; font-weight: 500;
    letter-spacing: 0.01em; line-height: 1.35; color: #1A1A1A !important;
    margin: 10px 10px 1px; padding: 0;
    text-decoration: none !important;
}

ul.products .product .price,
.woocommerce ul.products li.product .price,
ul.products .product .woocommerce-loop-product__link .price {
    font-family: var(--font-primary, 'Poppins', sans-serif); font-size: 13px; font-weight: 700;
    color: #1A1A1A !important; margin: 0 10px 10px; display: block; line-height: 1;
    text-decoration: none !important;
}
ul.products .product .price del { opacity: .4; font-weight: 400; font-size: 11px; text-decoration: line-through; margin-right: 4px; color: #1A1A1A !important; }
ul.products .product .price ins { text-decoration: none !important; font-weight: 700; color: #1A1A1A !important; }
ul.products .product .price .woocommerce-Price-amount { color: #1A1A1A !important; }

ul.products .product .onsale {
    position: absolute; top: 8px; left: 8px; z-index: 3;
    background: #1A1A1A; color: #FFF; font-family: var(--font-primary, 'Poppins', sans-serif);
    font-size: 9px; font-weight: 700; letter-spacing: 0.1em;
    text-transform: uppercase; padding: 4px 8px; border-radius: 0; line-height: 1;
}

/* Wishlist heart — always visible */
ul.products .product .fewset-wl-heart {
    position: absolute; top: 8px; right: 8px; z-index: 4;
    opacity: 1 !important; visibility: visible !important;
}
ul.products .product .fewset-wl-heart .fewset-wl-heart__svg {
    width: 16px; height: 16px;
}
@media (max-width: 768px) {
    ul.products .product .fewset-wl-heart .fewset-wl-heart__svg { width: 14px; height: 14px; }
}


/* J. VARIATION SWATCHES — hidden on archive, shown in quick-shop panel === */

ul.products .wvs-archive-variations-wrapper { display: none !important; }
ul.products .wvs-archive-information { display: none; }


/* K. QUICK SHOP — hide original WC button, JS creates icon on image ====== */

ul.products .product > a.button,
ul.products .product a.add_to_cart_button,
ul.products .product a.product_type_variable { display: none !important; }
ul.products .product a.added_to_cart { display: none !important; }

/* Header: back ← · share / close → */
.fewset-qs-back {
    display: inline-flex; align-items: center; gap: 7px;
    background: none; border: 0; cursor: pointer; padding: 4px 0;
    font-family: var(--font-primary, 'Poppins', sans-serif); font-size: 12px; font-weight: 600;
    letter-spacing: .08em; text-transform: uppercase; color: #1A1A1A;
}
.fewset-qs-back:hover { opacity: .55; }
.fewset-qs-header__tools { display: inline-flex; align-items: center; gap: 6px; }
.fewset-qs-share {
    width: 34px; height: 34px; display: flex; align-items: center; justify-content: center;
    background: none; border: 0; cursor: pointer; color: #1A1A1A; padding: 0;
}
.fewset-qs-share:hover { opacity: .5; }

/* Toast (e.g. "Nuoroda nukopijuota") */
.fewset-qs-toast {
    position: absolute; left: 50%; bottom: 96px; transform: translate(-50%, 8px);
    background: #1A1A1A; color: #FFF; font-size: 12px; letter-spacing: .04em;
    padding: 10px 18px; opacity: 0; transition: opacity .25s, transform .25s;
    pointer-events: none; z-index: 20; white-space: nowrap;
}
.fewset-qs-toast.is-on { opacity: 1; transform: translate(-50%, 0); }

/* ── Desktop PDP: scrolling 2-col photo mosaic + sticky info column ── */
@media (min-width: 769px) {
    .fewset-qs-main-row {
        display: grid;
        grid-template-columns: 1.15fr 1fr;
        align-items: start;
        column-gap: 0;
    }
    .fewset-qs-main-row .fewset-qs-gallery-wrap { grid-column: 1; padding: 16px 8px 16px 16px; }
    .fewset-qs-mosaic {
        display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px;
    }
    .fewset-qs-mosaic img {
        width: 100%; aspect-ratio: 3 / 4; object-fit: cover;
        display: block; cursor: zoom-in; background: #ECECE8;
    }
    /* mobile gallery hidden on desktop */
    .fewset-qs-gallery-wrap .fewset-qs-main,
    .fewset-qs-gallery-wrap .fewset-qs-thumbs { display: none; }

    .fewset-qs-side {
        grid-column: 2; min-width: 0;
        /* sticky inside .fewset-qs-main-row — it CANNOT travel past the last
           gallery photo, because the row ends where the gallery ends */
        /* pure sticky — NO inner scrollbox, so the wheel always scrolls
           the page no matter where the pointer is */
        position: sticky; top: 0; align-self: start;
        padding: 12px 32px 24px 24px;
        max-width: 640px;        /* a tidy column, not half the monitor */
    }
    .fewset-qs-info { padding: 14px 0 6px; }
    .fewset-qs-side .fewset-qs-section { padding-left: 0; padding-right: 0; }
    .fewset-qs-side .fewset-pdp-extras { padding: 6px 0 8px; }

}
/* The old main-image + thumbnail gallery is retired everywhere —
   the mosaic IS the gallery (grid on desktop, slider on phones) */
.fewset-qs-main, .fewset-qs-thumbs, .fewset-qs-zoom { display: none !important; }

/* Photo-overlay wishlist heart — phones only */
.fewset-qs-photo-heart { display: none; }

@media (max-width: 768px) {
    .fewset-qs-side { min-width: 0; }

    /* 2.1 — photo edge-to-edge, header floats ON the photo */
    .fewset-qs-gallery-wrap { padding: 0; position: relative; }
    .fewset-qs-header {
        /* absolute within the scrolling .fewset-qs-body — NOT sticky:
           the ‹ and ✕ ride along with the photo */
        position: absolute; top: 0; left: 0; right: 0; z-index: 6;
        background: transparent; border-bottom: 0;
        padding: max(10px, env(safe-area-inset-top)) 12px 0;
        pointer-events: none;
    }
    .fewset-qs-header .fewset-qs-back,
    .fewset-qs-header .fewset-qs-close {
        pointer-events: auto;
        width: 40px; height: 40px;
        display: flex; align-items: center; justify-content: center;
        background: rgba(255, 255, 255, .9) !important;
        border: 0 !important;
        border-radius: 0; box-shadow: 0 1px 6px rgba(0, 0, 0, .14) !important;
        outline: none; padding: 0; color: #1A1A1A;
    }
    .fewset-qs-header .fewset-qs-back { width: auto; padding: 0 12px; gap: 5px; }
    .fewset-qs-header .fewset-qs-back svg,
    .fewset-qs-header .fewset-qs-close svg { width: 22px; height: 22px; }
    /* dark glyphs on the white pill backdrop */
    .fewset-qs-header .fewset-qs-back {
        color: #1A1A1A;
    }

    /* 2.3 — gallery = edge-to-edge swipe slider of every photo */
    .fewset-qs-mosaic {
        display: grid; grid-auto-flow: column; grid-auto-columns: 100%;
        gap: 0; overflow-x: auto; scroll-snap-type: x mandatory;
        scrollbar-width: none; overscroll-behavior-x: contain;
    }
    .fewset-qs-mosaic::-webkit-scrollbar { display: none; }
    .fewset-qs-mosaic img {
        width: 100%; aspect-ratio: 3 / 4; object-fit: cover;
        scroll-snap-align: center; display: block; cursor: zoom-in;
    }

    /* 2.4 — small wishlist heart in the photo's corner */
    .fewset-qs-photo-heart {
        display: flex !important; align-items: center; justify-content: center;
        position: absolute !important; top: auto !important; left: auto !important;
        right: 10px !important; bottom: 12px !important;
        width: 40px !important; height: 40px !important; border-radius: 0 !important;
        background: none !important; box-shadow: none !important;
        border: 0 !important; opacity: 1 !important; visibility: visible !important;
        transform: none !important; z-index: 5; cursor: pointer;
        /* visible on dark AND light photos: white glyph + soft dark halo */
        color: #FFF;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, .45));
    }
    .fewset-qs-photo-heart .fewset-wl-heart__svg {
        width: 21px !important; height: 21px !important;
        stroke: #FFF !important; fill: none;
    }
    .fewset-qs-photo-heart.is-active .fewset-wl-heart__svg { fill: #FFF !important; }
    .fewset-qs-actions .fewset-qs-heart { display: none !important; }   /* heart lives on the photo */

    /* 2.5 — order: photos → price → variations → add to cart →
       name/breadcrumb → accordions */
    .fewset-qs-side { display: flex; flex-direction: column; }
    .fewset-qs-side .fewset-qs-pricebar { order: 0; padding: 16px 1rem 0; }
    .fewset-qs-side .fewset-qs-section { order: 1; }
    .fewset-qs-side .fewset-qs-footer.fewset-qs-actions { order: 2; }
    .fewset-qs-side .fewset-qs-shipslot { order: 2; padding: 0 1rem; }
    .fewset-qs-side .fewset-qs-info { order: 3; padding-top: 18px; }
    .fewset-qs-side .fewset-pdp-extras { order: 4; }

    /* 2.7 — one global 1rem side gap */
    .fewset-qs-info { padding: 18px 1rem 10px; }
    .fewset-qs-section { padding: 0 1rem 14px; }
    .fewset-qs-side .fewset-qs-footer.fewset-qs-actions { padding: 14px 1rem 4px !important; }
    .fewset-qs-side .fewset-pdp-extras { margin-top: 14px; padding: 0 1rem 16px; }
    .fewset-pdp-rails { padding: 8px 1rem calc(20px + env(safe-area-inset-bottom)); }

    /* first content under the slider needs breathing room */
    .fewset-qs-side > *:first-child { padding-top: 16px; }
}

/* 2.6 — colour swatch gap */
.fewset-qs-colors { gap: 6px !important; }

/* ── Breadcrumb trail inside the modal ── */
.fewset-pdp-crumb {
    font-size: 9px; letter-spacing: .05em; color: #8A8A85;
    margin-bottom: 4px; line-height: 1.5;
}
.fewset-pdp-crumb a { color: #8A8A85; text-decoration: none; }
.fewset-pdp-crumb a:hover { color: #1A1A1A; }

/* ── Product rails (related / upsell / recently viewed) ── */
.fewset-pdp-rails { padding: 8px 16px 110px; border-top: 1px solid rgba(26,26,26,.06); margin-top: 18px; }
.fewset-pdp-rail { margin-top: 26px; }
.fewset-pdp-rail > h2,
.fewset-pdp-rail .products-section-title,
.fewset-pdp-rail h2 {
    font-family: var(--font-primary, 'Poppins', sans-serif); font-size: 12px; font-weight: 700;
    letter-spacing: .12em; text-transform: uppercase; color: #1A1A1A;
    margin: 0 0 14px;
}
/* rails use the SAME full-size catalog cards and column ladder
   (4 / 3 / 2 / 1) as the shop grid — no special sizing */
.fewset-pdp-rail .wvs-archive-variations-wrapper { display: none !important; }
.fewset-pdp-recent .product-image-box img {
    position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}

/* ── Category line + accordions ── */
.fewset-pdp-cat {
    display: block; font-size: var(--label-md); font-weight: 600;
    letter-spacing: .12em; text-transform: uppercase;
    color: color-mix(in srgb, var(--on-surface) 51%, transparent); text-decoration: none; margin-bottom: 8px;
}
.fewset-pdp-cat:hover { color: var(--on-surface); }
.fewset-pdp-extras { margin-top: 20px; padding: 0 20px 20px; }
.fewset-pdp-acc { border-top: 1px solid var(--surface-container); }
.fewset-pdp-acc:last-child { border-bottom: 1px solid var(--surface-container); }
.fewset-pdp-acc__head {
    width: 100%; display: flex; align-items: center; justify-content: space-between;
    background: none; border: 0; cursor: pointer; padding: 15px 0;
    font-family: var(--font-primary, 'Poppins', sans-serif); font-size: var(--label-md); font-weight: 600;
    letter-spacing: .1em; text-transform: uppercase; color: var(--on-surface);
}
.fewset-pdp-acc__head i { position: relative; width: 11px; height: 11px; flex: 0 0 auto; }
.fewset-pdp-acc__head i::before,
.fewset-pdp-acc__head i::after {
    content: ''; position: absolute; background: var(--on-surface);
    transition: transform .2s ease;
}
.fewset-pdp-acc__head i::before { left: 0; right: 0; top: 5px; height: 1px; }
.fewset-pdp-acc__head i::after  { top: 0; bottom: 0; left: 5px; width: 1px; }
.fewset-pdp-acc.is-open .fewset-pdp-acc__head i::after { transform: scaleY(0); }
.fewset-pdp-acc__head:hover,
.fewset-pdp-acc__head:focus,
.fewset-pdp-acc__head:active {
    background: none !important; color: var(--on-surface) !important; box-shadow: none !important;
}
.fewset-pdp-acc__body { display: none; padding: 0 0 18px; font-size: var(--text-sm); line-height: 1.7; color: color-mix(in srgb, var(--on-surface) 79%, transparent); }
.fewset-pdp-acc.is-open > .fewset-pdp-acc__body { display: block; }
.fewset-pdp-acc__body p { margin: 0 0 10px; }
.fewset-pdp-acc__body a { color: var(--on-surface); }
.fewset-pdp-acc__body table { width: 100%; border-collapse: collapse; font-size: var(--label-lg); }
.fewset-pdp-acc__body th, .fewset-pdp-acc__body td {
    text-align: left; font-weight: 400; padding: 7px 0;
    border-bottom: 1px solid var(--neutral-100); color: color-mix(in srgb, var(--on-surface) 79%, transparent);
}
.fewset-pdp-acc__body th { color: color-mix(in srgb, var(--on-surface) 51%, transparent); width: 38%; padding-right: 12px; }

/* Header */
.fewset-qs-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 16px 20px;
    flex: 0 0 auto;
}
.fewset-qs-header__title {
    font-family: var(--font-primary, 'Poppins', sans-serif); font-size: 12px; font-weight: 700;
    letter-spacing: 0.1em; text-transform: uppercase; color: #1A1A1A;
}
.fewset-qs-close {
    width: 32px; height: 32px; display: flex; align-items: center; justify-content: center;
    background: none; border: none; cursor: pointer; color: #1A1A1A; padding: 0;
    transition: opacity .15s;
}
.fewset-qs-close:hover { opacity: .5; }

/* Scrollable body */
.fewset-qs-body { flex: 1 1 auto; overflow-y: auto; padding: 0; position: relative; }

/* Gallery — large main image + thumbnail strip */
.fewset-qs-gallery-wrap { padding: 0; }
.fewset-qs-main { position: relative; }
.fewset-qs-main-img {
    display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover;
    cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30"><circle cx="13" cy="13" r="8.5" fill="rgba(255,255,255,0.92)" stroke="%231a1a1a" stroke-width="1.4"/><path d="M19.5 19.5l6 6" stroke="%231a1a1a" stroke-width="1.6" stroke-linecap="round"/><path d="M13 9.5v7M9.5 13h7" stroke="%231a1a1a" stroke-width="1.4" stroke-linecap="round"/></svg>') 13 13, zoom-in;
}
.fewset-qs-zoom {
    position: absolute; right: 10px; bottom: 10px; z-index: 2;
    display: inline-flex; align-items: center; gap: 7px;
    padding: 8px 12px; border: 1px solid rgba(255,255,255,.35); cursor: pointer;
    background: rgba(255,255,255,.72); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
    font-size: 10px; font-weight: 500; letter-spacing: 1.4px; text-transform: uppercase; color: #1a1a1a;
    transition: background .2s ease;
}
.fewset-qs-zoom:hover { background: rgba(255,255,255,.92); }
.fewset-qs-zoom svg { width: 14px; height: 14px; }
.fewset-qs-thumbs {
    display: flex; gap: 6px; margin-top: 8px;
    overflow-x: auto; scrollbar-width: none;
}
.fewset-qs-thumbs::-webkit-scrollbar { display: none; }
.fewset-qs-thumbs img {
    flex: 0 0 52px; width: 52px; aspect-ratio: 3 / 4; object-fit: cover;
    display: block; cursor: pointer; opacity: .5;
    transition: opacity .2s ease;
}
.fewset-qs-thumbs img:hover { opacity: .85; }
.fewset-qs-thumbs img.is-active { opacity: 1; outline: 1px solid #1a1a1a; outline-offset: 2px; }

/* Product info */
.fewset-qs-info { padding: 0 20px 16px; }
.fewset-qs-name {
    font-family: var(--font-primary, 'Poppins', sans-serif); font-size: 14px; font-weight: 500;
    color: #1A1A1A; margin: 0 0 4px; line-height: 1.4;
}
.fewset-qs-price {
    font-family: var(--font-primary, 'Poppins', sans-serif); font-size: 14px; font-weight: 700;
    color: #1A1A1A; display: block; margin: 0 0 12px;
}
/* (.fewset-qs-link removed — Stage 3: dead "view full product" link styles, never
   rendered; the unified product modal uses .fewset-pm__full instead. The other
   .fewset-qs-* rules here STAY — the real product page is styled with them.) */

/* Sizes */
.fewset-qs-section { padding: 0 20px 16px; }
.fewset-qs-section__label {
    font-family: var(--font-primary, 'Poppins', sans-serif); font-size: 10px; font-weight: 700;
    letter-spacing: 0.1em; text-transform: uppercase; color: rgba(26,26,26,.4);
    margin: 0 0 8px;
}
.fewset-qs-sizes { display: flex; flex-wrap: wrap; gap: 6px; }
.fewset-qs-size-btn {
    min-width: 44px; height: 38px; display: flex; align-items: center; justify-content: center;
    padding: 0 12px; border: 1px solid rgba(26,26,26,.12); background: #FFF;
    font-family: var(--font-primary, 'Poppins', sans-serif); font-size: 12px; font-weight: 600;
    color: #1A1A1A; cursor: pointer; transition: all .15s;
}
.fewset-qs-size-btn:hover { border-color: #1A1A1A; }
.fewset-qs-size-btn.is-selected { background: #1A1A1A; color: #FFF; border-color: #1A1A1A; }
.fewset-qs-size-btn.is-disabled { opacity: .25; cursor: default; text-decoration: line-through; }

/* Colors */
.fewset-qs-colors { display: flex; flex-wrap: wrap; gap: 8px; }
/* Colour swatches — refined: outer ring + inner dot, name shown by label */
.fewset-qs-color-name { font-weight: 400; color: #6f6f6f; text-transform: none; letter-spacing: .02em; }
.fewset-qs-color-btn {
    position: relative;
    width: 30px; height: 30px; border-radius: 50%; padding: 3px;
    background: #fff;
    border: 1px solid rgba(26,26,26,.18);
    cursor: pointer;
    transition: border-color .2s ease, transform .2s ease;
}
.fewset-qs-color-btn span {
    display: block; width: 100%; height: 100%; border-radius: 50%;
    box-shadow: inset 0 0 0 1px rgba(26,26,26,.08);
}
.fewset-qs-color-btn:hover:not(.is-unavailable) { border-color: rgba(26,26,26,.45); transform: scale(1.05); }
.fewset-qs-color-btn.is-selected { border: 1.5px solid #1A1A1A; transform: scale(1.05); }

/* Unavailable — greyed with a diagonal strike, not clickable */
.fewset-qs-color-btn.is-unavailable,
.fewset-qs-size-btn.is-unavailable {
    opacity: .35;
    cursor: not-allowed;
    pointer-events: none;
}
.fewset-qs-color-btn.is-unavailable::after,
.fewset-qs-size-btn.is-unavailable::after {
    content: "";
    position: absolute; inset: 0;
    background: linear-gradient(135deg, transparent calc(50% - 1px), rgba(26,26,26,.55) calc(50% - 1px), rgba(26,26,26,.55) calc(50% + 0px), transparent calc(50% + 0px));
    border-radius: inherit;
    pointer-events: none;
}
.fewset-qs-size-btn { position: relative; }
.fewset-qs-size-btn.is-unavailable { text-decoration: none; }

/* Add to cart in panel */
.fewset-qs-footer {
    flex: 0 0 auto; padding: 16px 20px;
    border-top: 1px solid rgba(26,26,26,.06);
}
.fewset-qs-add {
    display: block; width: 100%; padding: 14px; background: #1A1A1A; color: #FFF;
    font-family: var(--font-primary, 'Poppins', sans-serif); font-size: 11px; font-weight: 700;
    letter-spacing: 0.12em; text-transform: uppercase; text-align: center;
    border: none; cursor: pointer; transition: background .15s;
}
.fewset-qs-add:hover { background: #000; }
.fewset-qs-add:disabled { opacity: .35; cursor: default; }
.fewset-qs-add.is-loading { pointer-events: none; opacity: .5; }

/* Lightbox */
.fewset-qs-lightbox {
    position: fixed; inset: 0; z-index: 10010;  /* over the raised site header */
    background: rgba(255,255,255,.97); display: flex; align-items: center; justify-content: center;
    opacity: 0; visibility: hidden; transition: opacity .25s, visibility .25s;
    cursor: zoom-out;
}
.fewset-qs-lightbox.is-open { opacity: 1; visibility: visible; }
.fewset-qs-lightbox img {
    max-width: 90vw; max-height: 84vh; object-fit: contain;
}
/* Top bar: count left, close right — both pinned to the top, clear of
   the image and the bottom progress. */
.fewset-qs-lightbox__bar {
    position: absolute; top: 0; left: 0; right: 0; z-index: 12;
    display: flex; align-items: center; justify-content: space-between;
    padding: max(12px, env(safe-area-inset-top)) 16px 0;
    pointer-events: none;
}
.fewset-qs-lightbox__bar > * { pointer-events: auto; }
.fewset-qs-lightbox__count {
    font-family: var(--font-primary, 'Poppins', sans-serif); font-size: 12px; font-weight: 600;
    letter-spacing: .08em; color: #1A1A1A;
}
.fewset-qs-lightbox__close {
    width: 40px; height: 40px; display: flex; align-items: center; justify-content: center;
    background: none; border: none; color: #1A1A1A; cursor: pointer; padding: 0;
}

/* Segmented progress — one bar per photo, active fills; click to jump.
   Replaces the side arrows entirely. */
.fewset-qs-lightbox__progress {
    position: absolute; left: 0; right: 0; z-index: 12;
    bottom: max(18px, env(safe-area-inset-bottom));
    display: flex; gap: 6px; justify-content: center;
    padding: 0 24px;
}
.fewset-qs-lightbox__seg {
    flex: 1 1 0; max-width: 56px; height: 12px;
    background: none; border: 0; padding: 5px 0; cursor: pointer;
}
.fewset-qs-lightbox__seg i {
    display: block; height: 2px; width: 100%;
    background: rgba(26, 26, 26, .22);
    transition: background .2s ease;
}
.fewset-qs-lightbox__seg.is-seen i { background: rgba(26, 26, 26, .5); }
.fewset-qs-lightbox__seg.is-active i { background: #1A1A1A; }

/* Loading state */
.fewset-qs-loading {
    display: flex; align-items: center; justify-content: center;
    padding: 60px 20px; flex: 1;
}
.fewset-qs-loading::after {
    content: ''; width: 24px; height: 24px; border: 2px solid rgba(26,26,26,.1);
    border-top-color: #1A1A1A; border-radius: 50%; animation: fewset-qs-spin .6s linear infinite;
}
@keyframes fewset-qs-spin { to { transform: rotate(360deg); } }

/* Mobile — bottom sheet */
@media (max-width: 768px) {
    .fewset-qs-panel {
        width: 100%;
        height: calc(100dvh - var(--fewset-qs-top, 0px));
        max-height: calc(100dvh - var(--fewset-qs-top, 0px));
        border-radius: 0;
        transform: translateY(100%); opacity: 1;
    }
    .fewset-qs-overlay.is-open .fewset-qs-panel { transform: translateY(0); }
    .fewset-qs-back span { font-size: 11px; }   /* arrow + Atgal on phones */
    .fewset-pdp-rails { padding: 8px 14px 120px; }
}



/* O. BACK TO TOP ========================================================= */

.fewset-btt {
    position: fixed; bottom: 24px; right: 20px; z-index: 200;
    display: inline-flex; align-items: center; gap: .5em;
    padding: 11px 18px;
    background: #1A1A1A; color: #FFFFFF; border: none; border-radius: 0; cursor: pointer;
    font-family: var(--font-primary, 'Poppins', sans-serif);
    font-size: 11px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; line-height: 1;
    opacity: 0; visibility: hidden; transform: translateY(12px);
    transition: opacity .3s ease, visibility .3s ease, transform .3s ease, background .15s ease, gap .25s ease;
    box-shadow: 0 4px 20px rgba(0,0,0,.15);
}
.fewset-btt__t { display: inline-block; }
.fewset-btt svg { display: block; width: 13px; height: 13px; }
.fewset-btt.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.fewset-btt:hover { background: #000; gap: .85em; }
@media (max-width: 1024px) { .fewset-btt { bottom: 80px; right: 14px; padding: 9px 14px; font-size: 10px; letter-spacing: .14em; } }


/* P. MISC ================================================================ */

.woocommerce-notices-wrapper:empty { display: none; }
ul.products .screen-reader-text { clip: rect(0,0,0,0); border: 0; height: 1px; overflow: hidden; position: absolute; width: 1px; }
ul.products .pmwProductId { display: none; }
.fewset-archive-video-meta[hidden] { display: none; }



/* Mobile card font sizing — stays GLOBAL (rail/overlay cards need it too). It was
   inside the Q. MOBILE @media before the shop-page.css carve; that @media's
   shop-chrome moved out, so re-wrap just these card rules to keep them phone-only. */
@media (max-width: 768px) {
    ul.products .product .woocommerce-loop-product__title { font-size: 11px; margin: 8px 8px 1px; min-height: 0; }
    ul.products .product .price { font-size: 12px; margin: 0 8px 6px; }
}


/* Lightbox — thumbnail rail on the side (scroll/wheel to browse) */
.fewset-qs-lightbox__thumbs {
    position: absolute; right: 20px; top: 50%; transform: translateY(-50%);
    z-index: 3; display: flex; flex-direction: column; gap: 8px;
    max-height: 72vh; overflow-y: auto; scrollbar-width: none;
    padding: 4px;
}
.fewset-qs-lightbox__thumbs::-webkit-scrollbar { display: none; }
.fewset-qs-lightbox__thumbs img {
    width: 56px; aspect-ratio: 3 / 4; object-fit: cover; display: block;
    cursor: pointer; opacity: .45; transition: opacity .2s ease;
    position: static; max-width: none; max-height: none;
}
.fewset-qs-lightbox__thumbs img:hover { opacity: .8; }
.fewset-qs-lightbox__thumbs img.is-active { opacity: 1; outline: 1px solid #fff; outline-offset: 2px; }
@media (max-width: 768px) { .fewset-qs-lightbox__thumbs { display: none; } }
@media (min-width: 769px) { .fewset-qs-lightbox__progress { bottom: 84px; } }

/* drawers must not chain-scroll into the page */
.mm__panel, .fewset-cart-drawer__body { overscroll-behavior: contain; }





/* ── PDP actions: add-to-cart with wishlist + share beside it ── */
.fewset-qs-side .fewset-qs-footer.fewset-qs-actions {
    position: static; display: flex; align-items: stretch; gap: 10px;
    padding: 18px 0 4px; margin: 0; border: 0; background: none; box-shadow: none;
}
.fewset-qs-actions .fewset-qs-add { flex: 1 1 auto; min-height: 52px; }
.fewset-qs-actions .fewset-qs-heart,
.fewset-qs-actions .fewset-qs-share {
    flex: 0 0 52px; width: 52px; min-height: 52px;
    display: flex; align-items: center; justify-content: center;
    background: #FFF; border: 1px solid #1A1A1A; color: #1A1A1A;
    cursor: pointer; padding: 0; position: static; transition: background .15s;
}
.fewset-qs-actions .fewset-qs-heart:hover,
.fewset-qs-actions .fewset-qs-share:hover { background: #F4F4F1; }
.fewset-qs-actions .fewset-qs-heart.is-active svg { fill: #1A1A1A; }

/* Colour variations as product pictures */
.fewset-qs-color-btn--img {
    width: 52px; height: 66px; padding: 0; overflow: hidden;
    border: 1px solid #E2E2DD; background: #ECECE8; cursor: pointer;
    border-radius: 0; transition: border-color .15s;
}
.fewset-qs-color-btn--img img {
    width: 100%; height: 100%; object-fit: cover; display: block;
}
.fewset-qs-color-btn--img.is-selected { border: 2px solid #1A1A1A; }
.fewset-qs-color-btn--img.is-unavailable { opacity: .35; }


/* ── PDP product title — it IS the page's h1 now ── */
.fewset-qs-name {
    font-family: var(--font-primary, 'Poppins', sans-serif);
    font-size: 24px; font-weight: 500; line-height: 1.25;
    letter-spacing: .01em; color: #1A1A1A;
    margin: 2px 0 6px;
}
@media (max-width: 768px) { .fewset-qs-name { font-size: 19px; margin-bottom: 4px; } }

/* ── Breadcrumb chevrons ── */
.fewset-pdp-crumb__sep { margin: 0 7px; vertical-align: -1px; color: #B9B9B4; }

/* ── Wishlist + share in the actions row: force visible
      (the base .fewset-wl-heart is absolute + hidden until card hover) ── */
.fewset-qs-actions .fewset-qs-heart {
    position: static !important;
    opacity: 1 !important; visibility: visible !important;
    transform: none !important;
    background: #FFF !important; backdrop-filter: none !important;
    width: 52px !important; height: auto !important;
    border: 1px solid #1A1A1A !important; border-radius: 0 !important;
}
.fewset-qs-actions .fewset-qs-heart .fewset-wl-heart__svg { width: 20px !important; height: 20px !important; }

/* ── Premium zoom cursor on every gallery photo ── */
.fewset-qs-mosaic img,
.fewset-qs-main-img {
    cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="44" height="44" viewBox="0 0 44 44" shape-rendering="geometricPrecision"><g stroke="white" stroke-width="4.2" stroke-linecap="round" fill="none" opacity="0.9"><circle cx="20" cy="20" r="8"/><path d="M26 26l5.6 5.6"/><path d="M20 16.6v6.8M16.6 20h6.8"/></g><g stroke="%231A1A1A" stroke-width="1.7" stroke-linecap="round" fill="none"><circle cx="20" cy="20" r="8"/><path d="M26 26l5.6 5.6"/><path d="M20 16.6v6.8M16.6 20h6.8"/></g></svg>') 20 20, zoom-in;
}

/* ── Lightbox zoom: click zooms into the click point, hover pans ── */
.fewset-qs-lightbox img {
    transition: transform .35s cubic-bezier(.4,0,.2,1);
    cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="44" height="44" viewBox="0 0 44 44" shape-rendering="geometricPrecision"><g stroke="white" stroke-width="4.2" stroke-linecap="round" fill="none" opacity="0.9"><circle cx="20" cy="20" r="8"/><path d="M26 26l5.6 5.6"/><path d="M20 16.6v6.8M16.6 20h6.8"/></g><g stroke="%231A1A1A" stroke-width="1.7" stroke-linecap="round" fill="none"><circle cx="20" cy="20" r="8"/><path d="M26 26l5.6 5.6"/><path d="M20 16.6v6.8M16.6 20h6.8"/></g></svg>') 20 20, zoom-in;
}
.fewset-qs-lightbox.is-zoomed { overflow: hidden; }
.fewset-qs-lightbox.is-zoomed img {
    transform: scale(2.3);
    cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="44" height="44" viewBox="0 0 44 44" shape-rendering="geometricPrecision"><g stroke="white" stroke-width="4.2" stroke-linecap="round" fill="none" opacity="0.9"><circle cx="20" cy="20" r="8"/><path d="M26 26l5.6 5.6"/><path d="M16.6 20h6.8"/></g><g stroke="%231A1A1A" stroke-width="1.7" stroke-linecap="round" fill="none"><circle cx="20" cy="20" r="8"/><path d="M26 26l5.6 5.6"/><path d="M16.6 20h6.8"/></g></svg>') 20 20, zoom-out;
}
/* arrows stay usable while zoomed (each switch resets the zoom);
   only the thumb strip retreats */
.fewset-qs-lightbox.is-zoomed .fewset-qs-lightbox__thumbs { opacity: 0; pointer-events: none; }
.fewset-qs-lightbox.is-zoomed .fewset-qs-lightbox__progress { opacity: 0; pointer-events: none; }

/* ── Rails inside the modal: the real fewset-rail sections ── */
.fewset-pdp-rails .fewset-rail { margin-top: 8px; }




/* Cart drawer must open ON TOP of the full-screen PDP modal */
.fewset-cart-overlay { z-index: 10004 !important; }
.fewset-cart-drawer  { z-index: 10005 !important; }

/* The base .fewset-qs-info { padding: 0 20px 16px } (mobile) was winning over
   the desktop zero-out because it sits later in the file — outrank it. */
@media (min-width: 769px) {
    .fewset-qs-side .fewset-qs-info { padding: 14px 0 6px !important; }
}


/* Share button parked for now */
.fewset-qs-share { display: none !important; }

/* Price block (sibling of the info column since v6.6.1) */
.fewset-qs-pricebar { display: block; }
.fewset-qs-pricebar .fewset-qs-price { font-size: 17px; font-weight: 600; color: #1A1A1A; }
@media (min-width: 769px) {
    .fewset-qs-side .fewset-qs-pricebar { padding: 0 0 14px; }
}




/* ── One header control: ‹ back. The ✕ retires (Escape & Back still work) ── */
.fewset-qs-header .fewset-qs-close { display: none !important; }
@media (max-width: 768px) {
    .fewset-qs-header { justify-content: flex-start; }
}

/* ── Slider dots (phones): active dot stretches into a pill ── */
.fewset-qs-dots { display: none; }
@media (max-width: 768px) {
    .fewset-qs-dots {
        position: absolute; left: 0; right: 0;
        display: flex; justify-content: center; align-items: center; gap: 5px;
        margin-top: -26px; height: 26px; z-index: 4; pointer-events: none;
    }
    .fewset-qs-dot {
        width: 5px; height: 5px; border-radius: 999px;
        background: #FFF; opacity: .55;
        box-shadow: 0 0 4px rgba(0, 0, 0, .35);
        transition: width .35s cubic-bezier(.4,0,.2,1), opacity .25s ease;
    }
    .fewset-qs-dot.is-active { width: 20px; opacity: 1; }
}

/* ── Lightbox ✕ stays visible and tappable — even while zoomed ── */
.fewset-qs-lightbox .fewset-qs-lightbox__close {
    position: fixed; top: max(10px, env(safe-area-inset-top)); right: 12px;
    z-index: 12; width: 44px; height: 44px;
    display: flex; align-items: center; justify-content: center;
    font-size: 30px; line-height: 1; color: #1A1A1A;
    background: none; border: 0; cursor: pointer;
    opacity: 1 !important; pointer-events: auto !important;
    text-shadow: 0 1px 6px rgba(255, 255, 255, .8);
}


/* Phone browsers draw their own bottom bar — content inside the modal
   fades into white before reaching it */
@media (max-width: 768px) {
    .fewset-qs-panel::after {
        content: '';
        position: absolute; left: 0; right: 0; bottom: 0;
        height: 52px;
        background: #FFF;
        border-top: 1px solid #ECECE8;
        pointer-events: none;
        z-index: 7;
    }
}


/* Lightbox photo counter: "3 / 7" */
.fewset-qs-lightbox__count {
    position: fixed; top: max(14px, env(safe-area-inset-top)); left: 16px;
    z-index: 12; font-size: 12px; font-weight: 600; letter-spacing: .08em;
    color: #1A1A1A; pointer-events: none;
    text-shadow: 0 1px 6px rgba(255, 255, 255, .8);
}


/* ── PhotoSwipe, boutique edition ──────────────────────────────────────── */
.pswp { z-index: 10010 !important; }              /* over header + modal */
.pswp__bg { background: #FFF !important; }
.pswp__button { filter: invert(1); }              /* white sprite → black */
.pswp__counter {
    color: #1A1A1A; font-family: var(--font-primary, 'Poppins', sans-serif);
    font-size: 12px; font-weight: 600; letter-spacing: .08em;
    left: 12px; top: max(6px, env(safe-area-inset-top));
}
.pswp__top-bar { background: none !important; }
/* The whole control row lives at the BOTTOM: ‹ 1/7 › centered, ✕ far
   right — one 44px line, all vertically aligned with the arrows. The
   top-bar (counter + close + preloader) is simply relocated down. */
.pswp__top-bar {
    top: auto !important;
    bottom: max(18px, env(safe-area-inset-bottom));
    height: 44px;
}
.pswp__counter {
    left: 50% !important; top: 0 !important;
    transform: translateX(-50%);
    height: 44px; line-height: 44px; padding: 0;
}
.pswp__button--close { float: right; margin-right: 6px; }
.pswp__button--zoom { display: none !important; }   /* keep the row clean */

/* navigation chevrons at the BOTTOM of the picture, always visible */
.pswp__button--arrow--left,
.pswp__button--arrow--right {
    visibility: visible !important; opacity: 1 !important;
    top: auto !important; bottom: max(18px, env(safe-area-inset-bottom));
    width: 60px; height: 44px; margin-top: 0;
    background: none;
}
.pswp__button--arrow--left  { left: calc(50% - 78px); }
.pswp__button--arrow--right { right: calc(50% - 78px); }
.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
    top: 7px; background-color: transparent;
}
.pswp--touch .pswp__button--arrow--left,
.pswp--touch .pswp__button--arrow--right { visibility: visible !important; }
.pswp__ui--idle .pswp__button--arrow--left,
.pswp__ui--idle .pswp__button--arrow--right,
.pswp__ui--idle .pswp__top-bar { opacity: 1 !important; }




/* ── Product info block under add-to-cart (FEWSET → Prekės info blokas) ── */
.fewset-qs-shipslot { margin-top: 16px; }
.fewset-qs-shipslot:empty { display: none; }
.fewset-pusp { border: 1px solid var(--neutral-200); background: var(--surface); }
.fewset-pusp__row { padding: 14px 16px; border-top: 1px solid var(--neutral-200); }
.fewset-pusp__row:first-child { border-top: 0; }
.fewset-pusp__head {
    display: flex; align-items: center; gap: 11px;
    font-family: var(--font-primary, 'Poppins', sans-serif); font-size: var(--text-sm); font-weight: 700;
    letter-spacing: .01em; color: var(--on-surface); line-height: 1.4;
}
.fewset-pusp__head svg { width: 18px; height: 18px; flex: 0 0 auto; display: block; }
.fewset-pusp__sub {
    margin-top: 10px; background: var(--neutral-100); padding: 11px 13px;
    font-family: var(--font-primary, 'Poppins', sans-serif); font-size: var(--label-md); line-height: 1.55; color: var(--on-surface);
}
.fewset-pusp__sub strong { font-weight: 700; }
.fewset-pusp__bar { position: relative; height: 3px; background: var(--neutral-200); margin-bottom: 9px; overflow: hidden; }
.fewset-pusp__fill { position: absolute; top: 0; left: 0; bottom: 0; background: var(--on-surface); transition: width .45s ease; }
.fewset-pusp__row--ship .fewset-pusp__sub .woocommerce-Price-amount { font-weight: 700; }

/* Free shipping ACTIVE — green accent so it pops, with an "i" tooltip. */
.fewset-pusp__row--free { border-left: 3px solid #0F7A52; background: #F1F8F4; }
.fewset-pusp__row--free .fewset-pusp__head { color: #0E5C3E; }
.fewset-pusp__row--free .fewset-pusp__head svg { color: #0F7A52; }
.fewset-pusp__info {
    position: relative; display: inline-flex; align-items: center; justify-content: center;
    margin-left: 5px; padding: 0; background: none; border: 0; color: #0F7A52; cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}
.fewset-pusp__info svg { width: 14px; height: 14px; display: block; }
.fewset-pusp__info:focus { outline: none; }
.fewset-pusp__tip {
    position: absolute; bottom: calc(100% + 9px); right: -4px; left: auto;
    transform: translateY(4px); width: max-content; max-width: 220px;
    background: var(--on-surface); color: var(--surface); text-align: left;
    font-family: var(--font-primary, 'Poppins', sans-serif); font-size: var(--label-md); font-weight: 500;
    line-height: 1.45; letter-spacing: .01em; padding: 8px 10px; white-space: normal;
    opacity: 0; visibility: hidden; pointer-events: none; z-index: 20;
    transition: opacity .15s ease, transform .15s ease;
}
.fewset-pusp__tip .woocommerce-Price-amount { color: var(--surface); font-weight: 700; }
.fewset-pusp__tip::after {
    content: ''; position: absolute; top: 100%; right: 8px;
    border: 5px solid transparent; border-top-color: var(--on-surface);
}
.fewset-pusp__info:hover .fewset-pusp__tip,
.fewset-pusp__info:focus .fewset-pusp__tip,
.fewset-pusp__info:focus-visible .fewset-pusp__tip {
    opacity: 1; visibility: visible; transform: translateY(0);
}

/* back button: arrow drawn bolder so it reads next to "Atgal" */
.fewset-qs-back svg { display: block; stroke-width: 2.4; flex: 0 0 auto; }
