/* Smart AI Search v6.0 — Grid layout, no carousel arrows */

/* ══════════════════════════════════════════════════════════
   ANIMATED PLACEHOLDER — positioned over WoodMart input
   ══════════════════════════════════════════════════════════ */

.sas-ph{
    position:absolute;
    top:0;left:0;right:0;bottom:0;
    display:none;align-items:center;
    padding-left:16px;
    padding-right:52px;
    pointer-events:none;
    z-index:5;
    overflow:hidden;white-space:nowrap;
    text-overflow:ellipsis;
    box-sizing:border-box;
    border-radius:inherit;
    font-family:inherit;
    font-size:inherit;
    font-weight:inherit;
    letter-spacing:inherit;
    line-height:inherit;
}
/* #6d717a = 4.89:1 on white (WCAG AA needs 4.5) — the old #7b7f87 was 4.01
   and Lighthouse flagged it under color-contrast. Keep ≥4.5 if retouched. */
.sas-ph-prefix{color:#6d717a;font:inherit;margin-right:4px;flex-shrink:0;line-height:1;}
.sas-ph-slot{display:inline-flex;align-items:center;position:relative;height:1em;overflow:hidden;vertical-align:middle;}
.sas-ph-word{display:inline-block;color:#6d717a;font:inherit;line-height:1;vertical-align:top;transition:transform 0.4s cubic-bezier(0.4,0,0.2,1),opacity 0.4s cubic-bezier(0.4,0,0.2,1);}
.sas-ph-word.sas-ph-visible{transform:translateY(0);opacity:1;}
.sas-ph-word.sas-ph-exit{transform:translateY(-100%);opacity:0;}
.sas-ph-word.sas-ph-enter{transform:translateY(60%);opacity:0;transition:none;}

/* When ghost is active, make input background transparent */
.sas-wrapper input[name="s"]{
    background:transparent!important;
    position:relative;
    z-index:2;
}
.sas-wrapper input[name="s"]::placeholder{color:transparent!important;}
.sas-wrapper input[name="s"]::-webkit-input-placeholder{color:transparent!important;}


/* ══════════════════════════════════════════════════════════
   GHOST TEXT — Google-style autocomplete in search bar
   ══════════════════════════════════════════════════════════ */

.sas-ghost{
    display:none!important;
}
.sas-ghost-typed{
    color:transparent;
    font:inherit;
    letter-spacing:inherit;
}
.sas-ghost-rest{
    color:#c0c4cc;
    font:inherit;
    letter-spacing:inherit;
}


/* ══════════════════════════════════════════════════════════
   WOODMART SEARCH BAR — fanim killed, barcode inside
   ══════════════════════════════════════════════════════════ */

.sas-wrapper{position:relative!important;overflow:visible!important;}
.sas-wrapper > *:not(.sas-dropdown):not(.sas-ph){overflow:visible!important;}
.sas-wrapper input[name="s"]{
    padding-right:80px!important;
}

/* Kill [fanim snippet=1] and any extra WoodMart children */
.sas-wrapper [class*="fanim"],
.sas-wrapper .animated-holder,
.sas-wrapper .woodmart-anim-text,
.sas-wrapper .wd-anim-text{
    display:none!important;
}

/* Kill ALL WoodMart arrows/navigation that bleeds into our dropdown */
.sas-wrapper .wd-nav-arrows,
.sas-wrapper [class*="swiper-button"],
.sas-wrapper [class*="slick-"],
.sas-dropdown .wd-scroll-content,
.sas-dropdown [class*="wd-nav"],
.sas-dropdown .wd-btn-arrow,
.sas-dropdown [class*="wd-btn"],
.sas-dropdown .wd-nav-arrows,
.sas-dropdown [class*="swiper-button"],
.sas-dropdown [class*="slick-"],
.sas-dropdown [class*="scroll-btn"],
.sas-content .wd-btn-arrow,
.sas-content [class*="wd-btn"],
.sas-wrapper .wd-btn-arrow,
.sas-wrapper > .wd-btn-arrow,
.sas-col-right > [class*="wd-"],
.sas-cats-bottom > [class*="wd-"]{
    display:none!important;
    visibility:hidden!important;
    width:0!important;
    height:0!important;
    overflow:hidden!important;
    position:absolute!important;
    left:-9999px!important;
}
/* Ensure animated placeholder and ghost text are visible */
.sas-wrapper .sas-ph,
.sas-wrapper .sas-ghost{
    pointer-events:none;
    z-index:5;
}
/* Force animated placeholder visible inside any WoodMart or PE theme wrapper */
.sas-ph.sas-ph-active,
.wd-search-form .sas-ph.sas-ph-active,
.wd-header-search-form .sas-ph.sas-ph-active,
[class*="wd-search"] .sas-ph.sas-ph-active,
.pe-search-form .sas-ph.sas-ph-active,
.pe-header-search .sas-ph.sas-ph-active{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
}
.sas-ph.sas-ph-hidden{
    display:none!important;
}

/* Barcode button — absolutely positioned INSIDE the WoodMart search bar */
.sas-barcode-btn{
    position:absolute!important;
    right:52px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    z-index:8!important;
    background:none!important;
    border:none!important;
    padding:6px!important;
    margin:0!important;
    cursor:pointer;
    color:#1a3a8a;
    border-radius:6px;
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    /* ≥24×24 tap target (Lighthouse target-size measured 22×22 in the
       mobile nav search) — padding tweaks elsewhere can't shrink it now. */
    min-width:26px!important;
    min-height:26px!important;
}
.sas-barcode-btn:hover{background:rgba(26,58,138,0.06)!important;}

@media(max-width:768px){
    .sas-barcode-btn{
        padding:4px!important;
        right:42px!important;
        top:50%!important;
    }
    .sas-barcode-btn svg{width:18px!important;height:18px!important;}
    /* Animated placeholder — clip before buttons */
    .sas-ph{padding-right:52px!important;}
    /* Ensure mobile search forms also show barcode */
    .wd-header-search-form-mobile .sas-barcode-btn,
    .wd-search-form .sas-barcode-btn{
        display:inline-flex!important;
    }

    /* ── WoodMart mobile header search bar — fill full width, white bg, barcode visible ── */
    .whb-row .wd-header-search-form,
    .whb-row .wd-search-form,
    .wd-header-search-form-mobile,
    .whb-row .wd-header-search-form .wd-search-form{
        flex:1 1 0%!important;
        max-width:100%!important;
        width:100%!important;
        margin-left:0!important;
        margin-right:0!important;
    }
    /* Prevent WoodMart header-text from stealing search bar width */
    .wd-header-text{
        flex:0 1 auto!important;
        min-width:0!important;
        overflow:hidden!important;
    }
    /* Fill gap on left side — minimal padding so search bar reaches close to menu */
    .whb-row{
        padding-left:2px!important;
        padding-right:2px!important;
        gap:0!important;
    }
    .whb-row > .whb-col{
        padding-left:0!important;
        padding-right:0!important;
    }
    /* Make search column take all available space */
    .whb-row .whb-col-has-search,
    .whb-row .whb-col:has(.wd-header-search-form),
    .whb-row .whb-col:has(.wd-search-form){
        flex:1 1 0%!important;
        max-width:100%!important;
        margin-left:0!important;
        padding-left:0!important;
    }
    /* Shrink non-search columns to minimum */
    .whb-row .whb-col:first-child{
        flex:0 0 auto!important;
        width:auto!important;
        min-width:0!important;
        padding-right:2px!important;
    }
    /* Collapse empty center/right columns so search gets the space */
    .whb-row .whb-col-center:not(:has(.wd-search-form)):not(:has(.wd-header-search-form)),
    .whb-row .whb-col-right:not(:has(.wd-search-form)):not(:has(.wd-header-search-form)){
        flex:0 0 auto!important;
        width:auto!important;
        min-width:0!important;
        max-width:fit-content!important;
        padding:0!important;
    }
    .whb-row .whb-col.whb-empty-column{
        display:none!important;
    }
    /* Also shrink the last icon column */
    .whb-row .whb-col:last-child:not(:has(.wd-search-form)){
        flex:0 0 auto!important;
        width:auto!important;
        min-width:0!important;
        padding-left:2px!important;
    }
    .whb-row .wd-search-form,
    .wd-header-search-form-mobile .wd-search-form,
    .whb-row .wd-header-search-form{
        background:#fff!important;
        border-radius:50px!important;
        overflow:visible!important;
    }
    .whb-row .wd-search-form input[type="text"],
    .wd-header-search-form-mobile input[type="text"],
    .whb-row .wd-header-search-form input[name="s"]{
        background:#fff!important;
        color:#111!important;
        border-radius:50px!important;
        padding-left:16px!important;
        font-size:14px!important;
        width:100%!important;
        min-width:0!important;
    }
    .whb-row .sas-barcode-btn,
    .wd-header-search-form-mobile .sas-barcode-btn{
        right:42px!important;
        display:inline-flex!important;
        color:#1a3a8a!important;
        padding:4px!important;
    }
    .whb-row .sas-barcode-btn svg,
    .wd-header-search-form-mobile .sas-barcode-btn svg{
        width:18px!important;height:18px!important;
    }
    .whb-row .sas-wrapper input[name="s"],
    .wd-header-search-form-mobile .sas-wrapper input[name="s"]{
        padding-right:58px!important;
    }
}


/* ══════════════════════════════════════════════════════════
   BLUE SEARCH ICON — mobile WoodMart header
   ══════════════════════════════════════════════════════════ */

.sas-search-icon-btn,
.sas-wrapper button[type="submit"].sas-search-icon-btn{
    position:absolute!important;
    right:4px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    z-index:8!important;
    width:36px!important;height:36px!important;
    border-radius:50%!important;
    border:none!important;
    background:#1a3a8a!important;
    color:#fff!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    cursor:pointer;
    padding:0!important;margin:0!important;
    text-indent:0!important;font-size:0!important;
    line-height:1!important;
    min-width:0!important;min-height:0!important;
}
.sas-search-icon-btn:hover{
    background:#15307a!important;
}
.sas-search-icon-btn svg{
    width:18px!important;height:18px!important;
    stroke:#fff!important;fill:none!important;
    display:block!important;
}
/* WoodMart search icon — override to blue circle on mobile */
@media(max-width:768px){
    .sas-wrapper button[type="submit"],
    .sas-wrapper .wd-search-btn,
    .sas-wrapper .searchsubmit{
        position:absolute!important;right:3px!important;top:50%!important;transform:translateY(-50%)!important;
        width:32px!important;height:32px!important;border-radius:50%!important;border:none!important;
        background:#1a3a8a!important;color:#fff!important;
        display:flex!important;align-items:center!important;justify-content:center!important;
        padding:0!important;margin:0!important;
        min-width:0!important;min-height:0!important;z-index:8!important;
        font-size:0!important;text-indent:-9999px!important;overflow:hidden!important;
    }
    .sas-wrapper button[type="submit"]::after,
    .sas-wrapper .wd-search-btn::after,
    .sas-wrapper .searchsubmit::after{
        content:'';display:block;width:16px;height:16px;
        background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");
        background-repeat:no-repeat;background-position:center;background-size:contain;
        text-indent:0!important;
    }
    .sas-wrapper button[type="submit"] svg,
    .sas-wrapper .wd-search-btn svg,
    .sas-wrapper .searchsubmit svg,
    .sas-wrapper button[type="submit"] i,
    .sas-wrapper .wd-search-btn i,
    .sas-wrapper .searchsubmit i{
        display:none!important;
    }
    /* Move barcode button left of the blue search icon */
    .sas-wrapper .sas-barcode-btn{
        right:42px!important;
        padding:2px!important;
    }
    /* Adjust input padding for barcode + search icon — compact */
    .sas-wrapper input[name="s"]{
        padding-right:68px!important;
    }
}


/* ══════════════════════════════════════════════════════════
   SHORTCODE BAR
   ══════════════════════════════════════════════════════════ */

.sas-searchbar{width:100%;position:relative;}
.sas-searchbar-form{margin:0;padding:0;}
.sas-searchbar-inner{display:flex;align-items:center;background:#fff;border:1.5px solid #c5d3e0;border-radius:50px;padding:0 6px 0 22px;height:50px;position:relative;}
.sas-searchbar-inner:focus-within{border-color:#1a3a8a;}
.sas-searchbar-input{flex:1;border:none;outline:none;background:transparent;font-size:15px;color:#111;padding:0;height:100%;min-width:0;position:relative;z-index:3;}
.sas-searchbar-input::placeholder{color:#8b9bb5;}
.sas-searchbar-scan{flex-shrink:0;background:none;border:none;padding:6px;cursor:pointer;color:#5b9bd5;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-right:6px;position:relative;z-index:3;}
.sas-searchbar-btn{flex-shrink:0;width:42px;height:42px;border-radius:50%;border:none;background:#1a3a8a;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;z-index:3;}


/* ══════════════════════════════════════════════════════════
   DROPDOWN
   ══════════════════════════════════════════════════════════ */

/* Search open overlay — darkens the page behind the dropdown */
#sas-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.45);z-index:90;animation:sas-overlay-in 0.2s ease;}
@keyframes sas-overlay-in{from{opacity:0;}to{opacity:1;}}
@media(max-width:768px){#sas-overlay{display:none!important;}}

.sas-dropdown{position:absolute;top:calc(100% + 4px);left:0;width:1300px;max-width:96vw;z-index:99999;background:#fff;border:1px solid #e5e7eb;border-top:3px solid #1a3a8a;border-radius:0 0 14px 14px;box-shadow:0 12px 40px rgba(0,0,0,0.1);max-height:85vh;overflow:hidden;display:flex;flex-direction:column;animation:sas-in 0.15s ease-out;transform-origin:top center;}
@keyframes sas-in{from{opacity:0;transform:translateY(-8px) scaleY(0.97);}to{opacity:1;transform:translateY(0) scaleY(1);}}
.sas-dropdown.sas-closing{animation:sas-out 0.14s ease forwards;}
@keyframes sas-out{to{opacity:0;transform:translateY(-6px) scaleY(0.97);}}
.sas-dropdown-inner{overflow-y:auto;overflow-x:hidden;max-height:82vh;scrollbar-width:thin;}
.sas-dropdown-inner::-webkit-scrollbar{width:5px;}
.sas-dropdown-inner::-webkit-scrollbar-thumb{background:#ddd;border-radius:3px;}

.sas-recent-bar{display:flex;align-items:center;gap:8px;padding:14px 28px;border-bottom:1px solid #f0f1f3;overflow-x:auto;white-space:nowrap;scrollbar-width:none;flex-shrink:0;}
.sas-recent-bar:empty{display:none;}.sas-recent-bar::-webkit-scrollbar{display:none;}
.sas-rlabel{font-size:13px;font-weight:700;color:#1a1a5e;flex-shrink:0;}
.sas-rtag{display:inline-flex;align-items:center;gap:5px;padding:5px 14px;background:#f5f6f8;border:1px solid #e8eaed;border-radius:20px;font-size:12px;color:#374151;cursor:pointer;flex-shrink:0;}
.sas-rtag:hover{background:#e0e7ff;border-color:#c7d2fe;color:#3730a3;}
.sas-tag-x{font-size:15px;line-height:1;color:#aaa;cursor:pointer;}.sas-tag-x:hover{color:#ef4444;}
.sas-rclear{font-size:12px;color:#4f46e5;cursor:pointer;font-weight:600;margin-left:6px;flex-shrink:0;}.sas-rclear:hover{text-decoration:underline;}
.sas-did-you-mean{padding:11px 28px;font-size:14px;color:#6b7280;border-bottom:1px solid #f0f1f3;background:#fffbeb;flex-shrink:0;}
.sas-did-you-mean a{color:#1a3a8a;font-weight:700;text-decoration:none;cursor:pointer;}.sas-did-you-mean a:hover{text-decoration:underline;}

.sas-content{padding:20px 28px;display:flex;flex-direction:column;}
.sas-filter-bar{padding:12px 20px;background:#eef0ff;border:1px solid #d4d9f7;border-radius:12px;font-size:14px;color:#374151;margin-bottom:20px;display:flex;align-items:center;gap:10px;}
.sas-filter-bar strong{color:#1a3a8a;font-size:15px;}
.sas-cat-clear{margin-left:auto;background:#ef4444;color:#fff;border:none;border-radius:8px;padding:8px 20px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;}
.sas-cat-clear:hover{background:#dc2626;}

/* Two-column layout: left sidebar + right content */
.sas-cols{display:flex;flex-direction:row;gap:32px;}
.sas-col-left{width:260px;min-width:260px;border-right:1px solid #f0f1f3;padding-right:24px;flex-shrink:0;}
.sas-col-right{flex:1;min-width:0;display:flex;flex-direction:column;overflow-y:auto!important;max-height:none;}
.sas-col-right .sas-pgrid{width:100%!important;}
.sas-col-left h3,.sas-col-right h3,.sas-cats-bottom h3{font-size:14px;font-weight:700;color:#1a1a5e;margin:0 0 16px;font-family:'Roboto',}

/* Popular / Suggestion list in left column */
.sas-pop-list{list-style:none;margin:0;padding:0;}
.sas-pop-list li{
    padding:10px 8px;font-size:14px;color:#374151;cursor:pointer;
    border-bottom:1px solid #f5f5f5;
    display:flex;align-items:center;gap:10px;
}
.sas-pop-list li:last-child{border-bottom:none;}
.sas-pop-list li:hover,.sas-pop-list li.sas-kb-active{color:#1a3a8a;}
.sas-pop-list li svg{flex-shrink:0;color:#c0c4cc;}
.sas-pop-list li span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-word;}
.sas-pop-list li span strong{color:#1a3a8a;}
.sas-sugg-arrow{margin-left:auto;flex-shrink:0;opacity:0.4;}
.sas-pop-list li:hover .sas-sugg-arrow{opacity:0.8;}

/* Product ROW — single horizontal scrollable row with arrows */
.sas-pgrid-wrap{display:flex;align-items:center;gap:4px;width:100%;}
.sas-pgrid-arrow{
    flex-shrink:0;
    width:30px;height:44px;border-radius:10px;border:1px solid #e5e7eb;
    background:#fff;font-size:0;line-height:1;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    color:#6b7280;padding:0;font-family:inherit;
    box-shadow:0 2px 8px rgba(15,23,42,0.06);
    transition:color .15s ease, border-color .15s ease;
}
.sas-pgrid-arrow:hover{color:#1a3a8a;border-color:#c7d2fe;}
.sas-pgrid-arrow svg{width:13px;height:13px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.sas-pgrid{
    flex:1;min-width:0;
    display:flex!important;
    gap:14px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-behavior:smooth;
    scrollbar-width:none;
    -ms-overflow-style:none;
    padding:4px 2px 8px;
    align-items:stretch;
}
.sas-pgrid::-webkit-scrollbar{display:none;}
.sas-pgrid .sas-pcard{flex:0 0 250px;min-width:250px;}
/* Ensure no horizontal scroll on the dropdown container itself */
.sas-content *{max-width:100%;}
.sas-col-right{overflow:hidden!important;}

/* Hide any stray WoodMart navigation elements */
.sas-dropdown .wd-nav-arrows,
.sas-dropdown .wd-btn-arrow,
.sas-dropdown [class*="swiper-button"],
.sas-dropdown [class*="slick-arrow"],
.sas-content > .sas-cols ~ *:not(.sas-cats-bottom){display:none!important;}

.sas-pcard{
    background:#fff;
    border:1px solid #eef0f4;
    border-radius:14px;
    padding:16px 16px 18px;
    text-align:center;
    text-decoration:none;
    color:inherit;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    cursor:pointer;
    min-height:360px;
    position:relative;
    overflow:hidden;
    box-shadow:0 1px 2px rgba(15,23,42,0.04), 0 6px 16px -6px rgba(15,23,42,0.08);
    transition:transform .2s cubic-bezier(.34,1.56,.64,1), border-color .2s ease, box-shadow .2s ease;
    font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Helvetica Neue",Arial,sans-serif;
}
.sas-pcard::before{
    content:"";
    position:absolute;left:0;right:0;top:0;height:3px;
    background:linear-gradient(90deg,#1a3a8a 0%,#3b5bdb 100%);
    opacity:0;transition:opacity .2s ease;
    border-radius:14px 14px 0 0;
}
.sas-pcard:hover{}
.sas-pcard:hover::before{opacity:0;}
.sas-pcard.sas-kb-active{border-color:#1a3a8a;box-shadow:none;}
.sas-pcard.sas-kb-active::before{opacity:1;}
.sas-pcard-img{
    width:100%;height:220px;
    display:flex;align-items:center;justify-content:center;
    margin-bottom:14px;
    padding:6px;
    background:transparent;
    border:none;
}
.sas-pcard-img img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .3s ease;mix-blend-mode:multiply;}
.sas-pcard:hover .sas-pcard-img img{transform:scale(1.05);}
.sas-pcard-name{
    font-size:13.5px;font-weight:600;color:#111827;
    line-height:1.4;letter-spacing:-0.005em;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
    overflow:hidden;min-height:38px;width:100%;text-align:left;
}
.sas-pcard-name mark{background:#fef3c7;color:#92400e;padding:0 2px;border-radius:2px;font-weight:700;}
.sas-pcard-cat{font-size:10px;font-weight:600;color:#1a3a8a;background:#eef2ff;padding:2px 8px;border-radius:6px;margin-top:4px;display:inline-block;}
.sas-pcard-stock{font-size:10px;font-weight:600;margin-top:4px;display:inline-block;padding:2px 8px;border-radius:6px;}
.sas-pcard-link{text-decoration:none;color:inherit;display:flex;flex-direction:column;align-items:center;width:100%;flex:1;}
.sas-pcard-price{
    margin:14px auto 0;
    display:inline-flex;
    align-items:baseline;
    gap:4px;
    padding:0;
    background:transparent;
    border:none;
    border-radius:0;
    font-size:18px;font-weight:800;color:#0f172a;
    letter-spacing:-0.02em;line-height:1;
    white-space:nowrap;
}
.sas-pcard-from{
    font-size:9.5px;font-weight:700;color:#94a3b8;
    letter-spacing:0.06em;text-transform:uppercase;
    margin-right:2px;
}
.sas-pcard-amount{font-size:inherit;font-weight:inherit;color:#1a3a8a;}
.sas-pcard-price bdi,.sas-pcard-price .amount{font-size:inherit;color:#1a3a8a;font-weight:inherit;}
.sas-pcard-price small{font-size:10.5px;font-weight:600;color:#94a3b8;letter-spacing:0.01em;}
.sas-stock-in{color:#047857;background:#d1fae5;}
.sas-stock-out{color:#dc2626;background:#fee2e2;}
.sas-alt-banner{background:#fff3cd;color:#856404;padding:10px 14px;border-radius:8px;font-size:13px;font-weight:600;margin-bottom:12px;text-align:center;}
.sas-view-all-btn{
    display:flex;align-items:center;justify-content:center;gap:6px;
    width:100%;margin:14px 0 4px;padding:10px 16px;
    background:#fff;border:1.5px solid #1a3a8a;border-radius:10px;
    color:#1a3a8a;font-size:13px;font-weight:700;cursor:pointer;
    text-align:center;font-family:inherit;
}
.sas-view-all-btn:hover{background:#1a3a8a;color:#fff;}
.sas-view-all-btn svg{flex-shrink:0;}
.sas-dd-loading-more{display:flex;justify-content:center;padding:16px 0;grid-column:1/-1;}

/* Categories at the bottom — horizontal scrollable grid with arrows */
.sas-cats-bottom{margin-top:0;padding-top:16px;border-top:1px solid #f0f1f3;flex-shrink:0;}
.sas-catrow-wrap{display:flex;align-items:center;gap:10px;position:relative;justify-content:center;}
.sas-catrow-arrow{
    flex-shrink:0;width:36px;height:36px;border-radius:50%;border:1.5px solid #d1d5db;
    background:#fff;font-size:0;line-height:1;cursor:pointer;
    display:none;align-items:center;justify-content:center;
    color:#4b5563;padding:0;
}
.sas-catrow-arrow.sas-arrow-visible{display:flex;}
.sas-catrow-arrow:hover{background:#1a3a8a;border-color:#1a3a8a;color:#fff;}
.sas-catrow-arrow svg{width:16px;height:16px;stroke:currentColor;stroke-width:2.5;fill:none;}
.sas-catrow{
    display:flex;
    gap:14px;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    -ms-overflow-style:none;
    padding:6px 2px;
    position:relative;
    flex:0 1 auto;
    scroll-behavior:smooth;
    justify-content:center;
    flex-wrap:wrap;
}
.sas-catrow::-webkit-scrollbar{display:none;}
.sas-catcard{
    flex:0 0 auto;
    width:155px;
    background:#fff;
    border:1.5px solid #e5e7eb;
    border-radius:14px;
    padding:18px 14px 14px;
    text-align:center;
    cursor:pointer;
    position:relative;overflow:hidden;
}
.sas-catcard:hover{}
.sas-catcard img{width:64px;height:64px;object-fit:contain;margin:0 auto 10px;display:block;}
.sas-catcard span{font-size:13px;font-weight:700;color:#1a1a5e;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3;min-height:34px;letter-spacing:0.01em;}

/* ══════════════════════════════════════════════════════════
   DROPDOWN SECTIONED LAYOUT (v4.7.18)
   CTA bar + Products / Brands / Categories sections + kb hints
   ══════════════════════════════════════════════════════════ */

/* Top CTA — "Δες και τα N αποτελέσματα" routes to the SAS-aware results page */
.sas-dd-cta{
    display:flex;align-items:center;gap:14px;
    padding:13px 18px;margin:0 0 18px;
    background:linear-gradient(135deg,#eef2ff 0%,#f8f9ff 100%);
    border:1.5px solid #c7d2fe;border-radius:12px;
    text-decoration:none!important;color:inherit;
    transition:border-color .15s ease, background .15s ease;
    cursor:pointer;
}
.sas-dd-cta:hover,.sas-dd-cta.sas-kb-active{border-color:#1a3a8a;background:linear-gradient(135deg,#e0e7ff 0%,#eef2ff 100%);}
.sas-dd-cta-icon{
    flex-shrink:0;display:flex;align-items:center;justify-content:center;
    width:34px;height:34px;background:#1a3a8a;color:#fff;border-radius:50%;
}
.sas-dd-cta-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;}
.sas-dd-cta-text strong{font-size:13.5px;font-weight:700;color:#1a1a5e;line-height:1.3;}
.sas-dd-cta-text > span{font-size:12px;color:#6b7280;font-weight:500;}
.sas-dd-cta-arrow{flex-shrink:0;color:#1a3a8a;}

/* Section header */
.sas-dd-sec{margin-bottom:18px;}
.sas-dd-sec:last-of-type{margin-bottom:6px;}
.sas-dd-sec-title{
    font-size:11px;font-weight:700;color:#6b7280;
    text-transform:uppercase;letter-spacing:0.06em;
    margin:0 0 10px;font-family:inherit;
}
.sas-dd-sec-title span{color:#9ca3af;font-weight:600;letter-spacing:0.04em;}

/* Brand / category list rows */
.sas-dd-list{display:flex;flex-direction:column;gap:1px;}
.sas-dd-row{
    display:flex;align-items:center;gap:12px;
    padding:9px 12px;border-radius:10px;
    text-decoration:none!important;color:inherit;cursor:pointer;
    transition:background .12s ease;
}
.sas-dd-row:hover{background:#f5f6f8;}
.sas-dd-row.sas-kb-active{background:#eef2ff;}
.sas-dd-row-thumb{
    flex-shrink:0;width:36px;height:36px;
    background:#f5f6f8;border:1px solid #eef0f3;border-radius:9px;
    object-fit:contain;padding:4px;
    display:flex;align-items:center;justify-content:center;
    font-size:14px;font-weight:700;color:#6b7280;
}
.sas-dd-row-thumb-letter{background:#fff;color:#1a3a8a;}
.sas-dd-row-thumb-cat{background:#eef2ff;border-color:#dbeafe;color:#1a3a8a;}
.sas-dd-row-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;}
.sas-dd-row-info strong{
    font-size:13.5px;font-weight:600;color:#111827;
    line-height:1.3;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.sas-dd-row-info > span{font-size:11.5px;color:#9ca3af;font-weight:500;}
.sas-dd-row-arrow{
    flex-shrink:0;color:#9ca3af;
    opacity:0;transition:opacity .15s ease;
}
.sas-dd-row:hover .sas-dd-row-arrow,.sas-dd-row.sas-kb-active .sas-dd-row-arrow{opacity:1;}

/* Keyboard hint footer */
.sas-dd-kb-hints{
    display:flex;align-items:center;gap:18px;flex-wrap:wrap;
    margin:18px -28px -20px;padding:11px 28px;
    border-top:1px solid #f0f1f3;background:#fafbfc;
    font-size:11px;color:#9ca3af;font-weight:500;
}
.sas-dd-kb-hints span{display:inline-flex;align-items:center;gap:4px;}
.sas-dd-kb-hints kbd{
    display:inline-flex;align-items:center;justify-content:center;
    min-width:18px;height:18px;padding:0 4px;
    background:#fff;border:1px solid #d1d5db;border-bottom-width:1.5px;border-radius:4px;
    font-family:-apple-system,BlinkMacSystemFont,'SF Pro Text','Segoe UI',sans-serif;
    font-size:10px;font-weight:700;color:#4b5563;line-height:1;
}
@media(max-width:768px){.sas-dd-kb-hints{display:none;}}

/* Skeleton loading */
.sas-skeleton{animation:sas-shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;}
@keyframes sas-shimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
.sas-skel-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px 14px 14px;display:flex;flex-direction:column;align-items:center;flex:0 0 220px;min-width:220px;}
.sas-skel-img{width:100%;height:130px;border-radius:10px;margin-bottom:8px;}
.sas-skel-text{width:80%;height:14px;border-radius:6px;margin-bottom:6px;}
.sas-skel-price{width:50%;height:14px;border-radius:6px;}

.sas-loading{display:flex;justify-content:center;padding:48px;}
.sas-spinner{width:28px;height:28px;border:3px solid #eef0f3;border-top-color:#6366f1;border-radius:50%;animation:sas-spin 0.6s linear infinite;}
@keyframes sas-spin{to{transform:rotate(360deg);}}
.sas-empty{text-align:center;padding:48px 20px;}
.sas-empty strong{display:block;color:#374151;font-size:15px;margin-bottom:6px;}
.sas-empty span{font-size:13px;color:#9ca3af;}

@media(max-width:1024px){
    .sas-dropdown{width:100%;max-width:100vw;}
    .sas-cols{gap:24px;}
    .sas-col-left{width:200px;min-width:200px;}
    .sas-pgrid .sas-pcard{flex:0 0 225px;min-width:225px;}
}

/* ── Card body wrapper (used by ddCardHtml). Desktop renders a vertical
   stack identical to the pre-wrapper layout; mobile flips it to row. ── */
.sas-pcard-body{display:flex;flex-direction:column;align-items:stretch;flex:1;min-width:0;width:100%;}

/* Mobile: dropdown anchors BELOW the header (not fullscreen).
   Top offset is set inline by open() based on getHeaderBottom(). */
@media(max-width:768px){
    .sas-dropdown{
        position:fixed!important;
        left:0!important;right:0!important;bottom:0!important;
        width:100%!important;
        max-width:100%!important;max-height:none!important;
        border-radius:0!important;border:none!important;
        z-index:999990!important;
        overflow-y:auto!important;
        animation:none!important;
        display:flex;flex-direction:column;
    }
    .sas-dropdown-inner{max-height:100%!important;overflow-y:auto!important;}
    /* Stripped mobile chrome — these blocks live only at the top of the
       featured/results layout on desktop and just get in the way on phones. */
    .sas-mobile-close{display:none!important;}
    .sas-recent-bar{display:none!important;}
    .sas-did-you-mean{display:none!important;}
    .sas-cats-bottom{display:none!important;}
    .sas-cols{flex-direction:column!important;gap:0!important;}
    .sas-col-left{display:none!important;}
    .sas-col-right{width:100%!important;}
    .sas-col-right h3{display:none!important;}
    /* Top category nav — horizontal pill row pinned just below the header.
       Replaces .sas-cats-bottom and stays visible across results renders. */
    .sas-mob-catnav{
        display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
        gap:8px;
        overflow-x:auto;overflow-y:hidden;
        scrollbar-width:none;-ms-overflow-style:none;
        padding:10px 12px;
        background:#fff;
        border-bottom:1px solid #f0f1f3;
        flex-shrink:0;
        position:sticky;top:0;z-index:5;
        -webkit-overflow-scrolling:touch;
    }
    .sas-mob-catnav::-webkit-scrollbar{display:none;}
    .sas-mob-catnav-item{
        flex:0 0 auto;
        display:inline-flex;align-items:center;gap:6px;
        padding:8px 14px 8px 8px;
        background:#f5f6f8;
        border:1.5px solid #e5e7eb;
        border-radius:22px;
        font-size:12.5px;font-weight:700;color:#1a1a5e;
        text-decoration:none;
        white-space:nowrap;
        line-height:1;
    }
    .sas-mob-catnav-item:active,.sas-mob-catnav-item:hover{
        background:#1a3a8a;color:#fff;border-color:#1a3a8a;
    }
    .sas-mob-catnav-img{
        width:24px;height:24px;
        object-fit:contain;
        border-radius:6px;
        background:#fff;
        flex-shrink:0;
        padding:1px;
    }
    /* 1 product per row — vertical list of horizontal cards */
    .sas-pgrid{display:flex!important;flex-direction:column!important;grid-template-columns:none!important;gap:8px!important;overflow:visible!important;flex-wrap:nowrap!important;}
    .sas-pgrid-arrow{display:none!important;}
    .sas-pgrid .sas-pcard{
        flex:none!important;min-width:0!important;width:100%!important;
        flex-direction:row!important;
        align-items:center!important;
        padding:10px 12px!important;
        min-height:0!important;
        text-align:left!important;
        border-radius:10px!important;
    }
    .sas-pgrid .sas-pcard-img{
        width:80px!important;height:80px!important;
        flex-shrink:0!important;
        margin:0 12px 0 0!important;
        padding:0!important;
    }
    .sas-pgrid .sas-pcard-body{gap:6px!important;}
    .sas-pgrid .sas-pcard-name{
        font-size:13px!important;line-height:1.35!important;
        min-height:0!important;
        text-align:left!important;
        margin:0!important;
        -webkit-line-clamp:2!important;
    }
    /* Price block — "Χωρίς ΦΠΑ:" line, optional "Παλέτα:" line below */
    .sas-pcard-price-mob{display:flex;flex-direction:column;gap:1px;margin:0;}
    .sas-pcard-price-line{display:flex;align-items:baseline;gap:6px;line-height:1.3;}
    .sas-pcard-vat-label{color:#6b7280;font-weight:500;font-size:12px;}
    .sas-pcard-vat-amt{color:#1a3a8a;font-weight:700;font-size:14px;letter-spacing:-0.01em;}
    .sas-pcard-vat-amt bdi,.sas-pcard-vat-amt .amount{color:inherit;font-weight:inherit;font-size:inherit;}
    .sas-pcard-vat-unit{color:#94a3b8;font-weight:600;font-size:11px;letter-spacing:0.01em;}
    .sas-content{padding:14px 12px!important;}
}
@media(min-width:769px){
    .sas-mob-catnav{display:none!important;}
}


/* ══════════════════════════════════════════════════════════
   FULL-SCREEN — improved header with gradient + glass buttons
   ══════════════════════════════════════════════════════════ */

.sas-fs{position:fixed;left:0;right:0;bottom:0;z-index:999990;background:#fff;display:flex;flex-direction:column;overflow:hidden;animation:sas-fs-in 0.25s cubic-bezier(0.16,1,0.3,1);}
/* Ensure WoodMart mini-cart sidebar appears above fullscreen search */
.wd-side-cart,.cart-widget-side,.wd-cart-side,.wd-side-hidden,.wd-dropdown,.wd-dropdown-cart{z-index:999999!important;}
.wd-close-side,.wd-side-overlay{z-index:999998!important;}
/* Global success toast — top-right corner */
.sas-global-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9999999;display:flex;align-items:center;gap:14px;background:#059669;color:#fff;padding:20px 32px;border-radius:14px;font-size:16px;font-weight:700;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;box-shadow:0 8px 24px rgba(0,0,0,0.15);animation:sas-gtoast-in 0.3s ease-out;max-width:460px;line-height:1.3;text-align:left;}
.sas-global-toast svg{flex-shrink:0;width:28px;height:28px;}
.sas-global-toast span{flex:1;min-width:0;}
.sas-global-toast-out{animation:sas-gtoast-out 0.3s ease forwards;}
@keyframes sas-gtoast-in{from{opacity:0;transform:translate(-50%,-50%) scale(0.7);}to{opacity:1;transform:translate(-50%,-50%) scale(1);}}
@keyframes sas-gtoast-out{from{opacity:1;transform:translate(-50%,-50%) scale(1);}to{opacity:0;transform:translate(-50%,-50%) scale(0.7);}}
@media(max-width:768px){.sas-global-toast{top:auto;bottom:100px;left:50%;right:auto;transform:translateX(-50%);max-width:92vw;font-size:14px;padding:16px 24px;border-radius:14px;}
@keyframes sas-gtoast-in{from{opacity:0;transform:translateX(-50%) translateY(30px) scale(0.9);}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1);}}
@keyframes sas-gtoast-out{from{opacity:1;transform:translateX(-50%) translateY(0);}to{opacity:0;transform:translateX(-50%) translateY(30px);}}}
@keyframes sas-fs-in{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
@keyframes sas-fs-out{from{opacity:1;transform:translateY(0);}to{opacity:0;transform:translateY(20px);}}
.sas-fs-top{
    flex-shrink:0;
    background:#1a3a8a;
    padding:14px 24px;
    color:#fff;
}
.sas-fs-searchrow{display:flex;align-items:center;gap:12px;max-width:1100px;margin:0 auto;}
.sas-fs-back,.sas-fs-scan,.sas-fs-close{
    background:rgba(255,255,255,0.15);
    border:none;
    color:#fff;
    cursor:pointer;
    padding:10px;
    border-radius:10px;
    display:flex;
    align-items:center;
    flex-shrink:0;
}
.sas-fs-back:hover,.sas-fs-scan:hover,.sas-fs-close:hover{background:rgba(255,255,255,0.25);}
.sas-fs-close{background:rgba(239,68,68,0.2);}.sas-fs-close:hover{background:rgba(239,68,68,0.35);}
.sas-fs-input-wrap{flex:1;position:relative;min-width:0;}
.sas-fs-input{
    width:100%;border:none;border-radius:12px;padding:14px 18px;
    font-size:17px;font-weight:500;color:#111;background:#fff;
    outline:none;font-family:inherit;
    position:relative;z-index:1;
    box-shadow:0 2px 8px rgba(0,0,0,0.08);
}
.sas-fs-input:focus{box-shadow:0 2px 16px rgba(26,58,138,0.2);}
.sas-fs-input::placeholder{color:#aaa;}

/* Ghost text in fullscreen input */
.sas-fs-ghost{display:none!important;}

.sas-fs-body{flex:1;display:flex;overflow:hidden;width:100%;box-shadow:none;}

/* ── Desktop/tablet: hide fullscreen header — user types in the WoodMart header input ── */
@media(min-width:769px){
    .sas-fs-top{display:none!important;}
}
/* ── Mobile: hide desktop-only panels ── */
@media(max-width:768px){
    .sas-fs-sugg-bar{display:none!important;}
    .sas-fs-cathelp{display:none!important;}
    .sas-fs-results-bar .sas-fs-sort-wrap{display:none!important;}
    .sas-fs-results-bar{padding:6px 0;margin-bottom:8px;}
    .sas-fs-meta{font-size:13px;}
}

/* ── Suggestion chips bar ── */
.sas-fs-sugg-bar{
    display:flex;align-items:center;gap:12px;
    padding:8px 28px;background:linear-gradient(135deg,#f8f9ff 0%,#eef0ff 100%);border-bottom:1px solid #e0e3f0;flex-shrink:0;
}
.sas-fs-sugg-label{font-size:12px;font-weight:700;color:#1a1a5e;flex-shrink:0;white-space:nowrap;text-transform:uppercase;letter-spacing:0.04em;}
.sas-fs-sugg-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap;padding:2px 0;}
.sas-fs-sugg-chips::-webkit-scrollbar{display:none;}
.sas-fs-sugg-chip{
    flex:0 0 auto;background:#fff;border:1.5px solid #c7d2fe;border-radius:10px;
    padding:6px 16px;font-size:13px;font-weight:600;color:#1a3a8a;cursor:pointer;white-space:nowrap;
    font-family:inherit;
}
.sas-fs-sugg-chip:hover{background:#1a3a8a;border-color:#1a3a8a;color:#fff;}

/* ── Category helper row — centered subcategory strip ── */
.sas-fs-cathelp{
    display:flex;flex-direction:column;align-items:center;gap:8px;
    padding:12px 28px;background:#fff;border-bottom:2px solid #eef0ff;flex-shrink:0;
}
.sas-fs-cathelp-head{display:none;}
.sas-fs-cathelp-q{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:#1a1a5e;white-space:nowrap;margin:0;}
.sas-fs-cathelp-q::before{content:'';display:inline-block;width:6px;height:6px;background:#1a3a8a;border-radius:50%;flex-shrink:0;}
.sas-fs-cathelp-sub{display:none;}
.sas-fs-catskip{font-size:12px;color:#6366f1;cursor:pointer;text-decoration:none;font-weight:600;white-space:nowrap;margin-left:4px;}
.sas-fs-catskip:hover{color:#4f46e5;text-decoration:underline;}
.sas-fs-catarrow{
    flex-shrink:0;width:34px;height:34px;border-radius:50%;border:1.5px solid #d1d5db;
    background:#fff;font-size:0;line-height:1;cursor:pointer;
    display:none;align-items:center;justify-content:center;
    color:#4b5563;padding:0;font-family:inherit;
}
.sas-fs-catarrow.sas-arrow-visible{display:flex;}
.sas-fs-catarrow:hover{background:#1a3a8a;border-color:#1a3a8a;color:#fff;}
.sas-fs-catarrow svg{width:14px;height:14px;stroke:currentColor;stroke-width:2.5;fill:none;}
.sas-fs-cathelp-row{display:flex;align-items:center;gap:8px;width:100%;justify-content:center;}
.sas-fs-cathelp-scroll{overflow:hidden;position:relative;flex:1;min-width:0;}
.sas-fs-cathelp-items{
    display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding:4px 2px;flex-wrap:nowrap;scroll-behavior:smooth;justify-content:center;
}
.sas-fs-cathelp-items::-webkit-scrollbar{display:none;}
.sas-fs-cathelp-card{
    flex:0 0 auto;display:flex;flex-direction:row;align-items:center;gap:8px;
    cursor:pointer;padding:8px 16px;border-radius:22px;border:1.5px solid #e0e3e8;
    background:#fff;font-family:inherit;text-align:center;
}
.sas-fs-cathelp-card:hover{border-color:#1a3a8a;}
.sas-fs-cathelp-card.active{border-color:#1a3a8a;background:#1a3a8a;}
.sas-fs-cathelp-card.active span{color:#fff!important;}
.sas-fs-cathelp-card img{width:28px;height:28px;object-fit:contain;border-radius:8px;background:#f0f2ff;flex-shrink:0;padding:2px;}
.sas-fs-cathelp-noimg{width:28px;height:28px;border-radius:8px;background:#eef0ff;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:11px;color:#6366f1;}
.sas-fs-cathelp-card span{
    font-size:13px;font-weight:600;color:#374151;white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis;
}
/* Close button — floats top-right of fullscreen, always visible on desktop
   regardless of cathelp row state (so it stays visible when a category with
   no subcategories is selected and the cathelp row hides). */
.sas-fs-cathelp-close{
    position:absolute;top:14px;right:18px;z-index:30;
    width:40px;height:40px;border-radius:12px;border:1.5px solid #e0e3e8;
    background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;
    color:#1a1a5e;padding:0;font-family:inherit;
    box-shadow:0 2px 8px rgba(15,23,42,0.08);
}
.sas-fs-cathelp-close:hover{background:#1a3a8a;border-color:#1a3a8a;color:#fff;}
@media(max-width:768px){.sas-fs-cathelp-close{display:none!important;}}
/* Brand image thumbnail in sidebar */
.sas-fs-brand-thumb{width:36px;height:36px;object-fit:contain;border-radius:10px;background:#fff;flex-shrink:0;padding:3px;border:1px solid #eef0f3;}

/* ── Fullscreen categories sidebar — modern accent list ── */
.sas-fs-sidebar{
    width:280px;
    flex-shrink:0;
    background:#fff;
    border-right:1px solid #eef0f3;
    padding:28px 24px;
    overflow-y:auto;
}
.sas-fs-sb-title{
    all:unset;box-sizing:border-box;
    display:flex;align-items:center;justify-content:space-between;width:100%;
    font-size:13px;font-weight:700;color:#1a1a5e;text-transform:uppercase;letter-spacing:0.04em;
    cursor:pointer;padding:4px 0 12px;border-bottom:2px solid #eef0ff;margin-bottom:14px;
    font-family:inherit;
}
.sas-fs-sb-title:hover{color:#1a3a8a;}
.sas-fs-sb-title svg{}
.sas-fs-sb-list{display:flex;flex-direction:column;gap:2px;}

/* Sidebar category buttons — clean accent-line style */
.sas-fs-cat-btn{
    all:unset;box-sizing:border-box;
    display:flex;align-items:center;gap:10px;
    padding:10px 14px;width:100%;border-radius:10px;
    cursor:pointer;font-size:14px;color:#374151;font-family:inherit;
    border-left:3px solid transparent;
}
.sas-fs-cat-btn:hover{border-left-color:#1a3a8a;color:#1a3a8a;}
.sas-fs-cat-btn.active{background:#eef2ff;border-left-color:#1a3a8a;color:#1a3a8a;font-weight:700;}
/* Hide checkboxes — accent line replaces them */
.sas-fs-cat-chk{display:none;}
/* Category thumbnail in sidebar */
.sas-fs-cat-thumb{width:28px;height:28px;object-fit:contain;border-radius:8px;background:#f5f6f8;flex-shrink:0;}
/* "Όλα" button — header style */
.sas-fs-all-btn{
    font-weight:700;color:#1a1a5e;border-bottom:1px solid #f0f1f3;
    border-radius:0;padding-bottom:10px;margin-bottom:6px;gap:0;border-left:none;
}
.sas-fs-all-btn:hover{background:none;color:#1a3a8a;border-left:none;}
.sas-fs-all-btn.active{background:none;color:#1a3a8a;border-left:none;}
.sas-fs-cat-item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sas-fs-cat-count{display:none!important;}

/* Restore pill style for mobile horizontal row — card-like with images */
.sas-fs-cats-mobile .sas-fs-cat-btn{
    flex:0 0 auto!important;width:auto!important;border-radius:16px!important;
    border:1.5px solid #eef0f3!important;padding:10px 18px 10px 12px!important;
    font-size:13px!important;font-weight:700!important;white-space:nowrap!important;
    color:#1a1a5e!important;background:#fff!important;gap:8px!important;
    border-left:none!important;
    display:inline-flex!important;align-items:center!important;
}
.sas-fs-cats-mobile .sas-fs-cat-chk{display:none!important;}
.sas-fs-cats-mobile .sas-fs-cat-thumb{
    display:inline-block!important;width:28px!important;height:28px!important;
    border-radius:8px!important;object-fit:contain!important;background:#f0f2ff!important;
    padding:2px!important;flex-shrink:0!important;
}
.sas-fs-cats-mobile .sas-fs-cat-btn:hover{border-color:#1a3a8a!important;color:#1a3a8a!important;}
.sas-fs-cats-mobile .sas-fs-cat-btn.active{background:#1a3a8a!important;color:#fff!important;border-color:#1a3a8a!important;}

/* Show more button */
.sas-fs-sb-more{
    all:unset;box-sizing:border-box;display:flex;align-items:center;gap:4px;
    padding:8px 6px;font-size:12px;color:#4f46e5;font-weight:600;
    cursor:pointer;font-family:inherit;margin-top:4px;
}
.sas-fs-sb-more:hover{text-decoration:underline;}

/* Brand buttons in sidebar */
.sas-fs-brand-btn{font-size:13px!important;padding:10px 14px!important;gap:10px!important;}
.sas-fs-brand-btn .sas-fs-brand-thumb{display:block!important;}
.sas-fs-brand-btn.active{background:#fff7ed!important;border-left-color:#f59e0b!important;color:#b45309!important;}
.sas-fs-brand-btn.active .sas-fs-brand-thumb{border-color:#f59e0b!important;}
/* Brand search input */
.sas-brand-search-wrap{padding:0 0 10px;margin-bottom:4px;}
.sas-brand-search{width:100%;padding:8px 12px;border:1.5px solid #e0e3e8;border-radius:10px;font-size:13px;color:#374151;background:#f9fafb;outline:none;font-family:inherit;}
.sas-brand-search:focus{border-color:#6366f1;background:#fff;}
.sas-brand-search::placeholder{color:#9ca3af;}

/* Remove filters button */
.sas-fs-remove-filters{
    all:unset;box-sizing:border-box;
    display:none;align-items:center;justify-content:center;gap:8px;
    width:100%;padding:10px 16px;margin-bottom:16px;
    background:#fef2f2;
    border:1.5px solid #fca5a5;border-radius:12px;
    color:#dc2626;font-size:12px;font-weight:700;cursor:pointer;
    font-family:inherit;text-transform:uppercase;letter-spacing:0.03em;
}
.sas-fs-remove-filters:hover{border-color:#f87171;color:#b91c1c;}
.sas-fs-remove-filters.visible{display:flex;}
.sas-fs-sidebar:has(.sas-fs-remove-filters.visible) .sas-fs-sb-title#sas-fs-cat-toggle{display:none;}

/* ── Results bar — sticky so it stays visible while scrolling ── */
.sas-fs-results-bar{
    display:flex;align-items:center;gap:12px;
    padding:10px 0;margin-bottom:10px;border-bottom:2px solid #eef0ff;flex-shrink:0;
    position:sticky;top:0;background:#fff;z-index:10;
}
.sas-fs-meta{flex:1;font-size:14px;color:#6b7280;}
.sas-fs-meta strong{color:#111;}
.sas-fs-sort-wrap{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.sas-fs-sort-label{font-size:13px;color:#6b7280;}
.sas-fs-sort-btn{
    background:none;border:1px solid #e8eaed;border-radius:8px;padding:6px 12px;
    font-size:13px;color:#374151;cursor:pointer;display:flex;align-items:center;gap:4px;
    font-family:inherit;
}
.sas-fs-sort-btn:hover{border-color:#1a3a8a;}

.sas-fs-main{flex:1;overflow-y:auto;padding:12px 28px 16px;position:relative;}
.sas-fs-dym{padding:12px 18px;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;font-size:14px;color:#92400e;margin-bottom:16px;}
.sas-fs-dym a{color:#1a3a8a;font-weight:700;text-decoration:none;cursor:pointer;}

/* ── Fullscreen grid — 4 cols desktop, 2 cols tablet/mobile ── */
.sas-fs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:stretch;}

/* ── Fullscreen card improvements ── */
.sas-fs-card{
    background:#fff;
    border:1px solid #eef0f3;
    border-radius:14px;
    padding:18px 16px 16px;
    text-align:center;
    text-decoration:none;
    color:inherit;
    display:flex;
    flex-direction:column;
    align-items:center;
    position:relative;
    overflow:hidden;
    box-shadow:0 1px 2px rgba(15,23,42,0.04), 0 6px 18px rgba(15,23,42,0.06);
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Helvetica Neue",Arial,sans-serif;
}
.sas-fs-card:hover{}
.sas-fs-card.sas-kb-active{border-color:#1a3a8a;box-shadow:0 0 0 2px rgba(26,58,138,0.18), 0 10px 26px rgba(15,23,42,0.09);}
.sas-fs-card-img{width:100%;height:200px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;overflow:hidden;}
.sas-fs-card-img img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px;transition:transform .3s ease;}
.sas-fs-card:hover .sas-fs-card-img img{transform:scale(1.05);}
.sas-fs-card-title{font-size:13px;font-weight:600;color:#111827;line-height:1.35;letter-spacing:-0.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:36px;width:100%;text-align:left;}
.sas-fs-card-oos{font-size:11px;font-weight:600;color:#dc2626;background:#fee2e2;padding:3px 10px;border-radius:10px;margin-top:6px;display:inline-block;}

/* Fullscreen card — logged-in: price + cart */
.sas-fs-card-link{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:inherit;width:100%;flex:1;}
.sas-fs-card-bottom{display:flex;flex-direction:column;align-items:stretch;width:100%;margin-top:auto;padding-top:10px;gap:6px;}
.sas-fs-card-price{font-size:15px;font-weight:800;color:#1a3a8a;background:#eef2ff;padding:5px 14px;border-radius:8px;border:1px solid #dbeafe;letter-spacing:-0.01em;text-align:center;}
.sas-fs-card-price small{font-size:10px;font-weight:500;color:#6b7280;margin-left:2px;}
.sas-fs-card-var-select{width:100%;padding:10px 32px 10px 12px;border:1.5px solid #d1d5db;border-radius:12px;font-size:12px;font-weight:600;color:#1a1a5e;background:#fff;cursor:pointer;outline:none;font-family:inherit;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236366f1' stroke-width='3'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:12px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;}
.sas-fs-card-var-select:hover{border-color:#a5b4fc;}
.sas-fs-card-var-select:focus{border-color:#6366f1;background:#fff;}
/* Spacer for cards without variation select — keeps price + button at same height as cards with select */
.sas-fs-card-var-spacer{height:34px;width:100%;}
/* Variation pill buttons — horizontal scrollable row with price */
.sas-var-pills{display:flex;gap:6px;width:100%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:2px 0;scroll-behavior:smooth;justify-content:center;}
.sas-var-pills::-webkit-scrollbar{display:none;}
.sas-var-pill{
    all:unset;box-sizing:border-box;cursor:pointer;
    padding:10px 14px;border-radius:12px;font-size:11px;font-weight:700;
    border:1.5px solid #e0e3e8;background:#fff;color:#374151;
    font-family:inherit;white-space:nowrap;
    display:flex;flex-direction:column;align-items:center;gap:3px;
    flex:1 1 0%;min-width:0;text-align:center;line-height:1.3;
}
.sas-var-pill:hover{border-color:#1a3a8a;color:#1a3a8a;}
.sas-var-pill.active{border-color:#1a3a8a;background:#eef2ff;color:#1a3a8a;}
.sas-var-pill .sas-vp-name{font-size:10px;font-weight:700;line-height:1.2;}
.sas-var-pill .sas-vp-price{font-size:12px;font-weight:800;color:#1a3a8a;line-height:1;}
.sas-var-pill .sas-vp-unit{font-weight:400;}
.sas-var-pill.active .sas-vp-price{color:#1a3a8a;}
.sas-var-pill:not(.active) .sas-vp-price{color:#6b7280;}
@media(max-width:768px){.sas-var-pill{padding:6px 8px;white-space:normal;}.sas-var-pill .sas-vp-name{font-size:8px;}.sas-var-pill .sas-vp-price{font-size:12px;}}
/* Dropdown carousel row — horizontal scrollable product strip */
.sas-dd-carousel{margin-top:16px;padding-top:14px;border-top:1px solid #f0f1f3;}
.sas-dd-carousel h3{font-size:15px;font-weight:700;color:#1a1a5e;margin:0 0 12px;font-family:Georgia,'Times New Roman',serif;font-style:italic;}
.sas-dd-carousel-row{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none;padding:4px 2px 8px;scroll-behavior:smooth;}
.sas-dd-carousel-row::-webkit-scrollbar{display:none;}
.sas-dd-carousel-row .sas-pcard{flex:0 0 180px;min-height:0;}
.sas-dd-carousel-row .sas-pcard-img{height:100px;padding:6px;}
.sas-dd-carousel-row .sas-pcard-name{font-size:11.5px;min-height:30px;}
.sas-dd-carousel-row .sas-pcard-price{font-size:12px;margin-top:8px;padding:4px 10px;gap:3px;}
.sas-dd-carousel-row .sas-pcard-price small{font-size:9px;}
.sas-dd-carousel-row .sas-pcard-from{font-size:9px;}
@media(max-width:768px){.sas-dd-carousel-row .sas-pcard{flex:0 0 150px;}}
.sas-fs-atc-btn{display:inline-flex;align-items:center;gap:5px;padding:8px 16px;background:#1a3a8a;color:#fff;border:none;border-radius:10px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap;width:100%;justify-content:center;}
.sas-fs-atc-btn:hover{background:#15307a;color:#fff;}
.sas-fs-atc-btn:disabled{opacity:0.7;cursor:wait;}
.sas-fs-atc-btn.sas-fs-atc-done{background:#047857;}
.sas-fs-atc-btn.sas-fs-atc-fail{background:#dc2626;}
/* Quantity selector — replaces cart button after first click */
.sas-qty-row{display:flex;align-items:center;width:100%;border:1.5px solid #1a3a8a;border-radius:10px;overflow:hidden;background:#fff;}
.sas-qty-minus,.sas-qty-plus{flex:0 0 36px;height:34px;border:none;background:#1a3a8a;color:#fff;font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:none;font-family:inherit;padding:0;line-height:1;}
.sas-qty-minus:hover,.sas-qty-plus:hover{background:#1a3a8a;color:#fff;}
.sas-qty-val{flex:1;text-align:center;font-size:13px;font-weight:800;color:#1a1a5e;background:#fff;border:none;outline:none;padding:0;font-family:inherit;line-height:34px;}
.sas-qty-val span{font-size:11px;font-weight:600;color:#6b7280;}
@media(max-width:768px){
    .sas-qty-minus,.sas-qty-plus{flex:0 0 32px;height:30px;font-size:16px;}
    .sas-qty-val{font-size:12px;line-height:30px;}
}
@media(max-width:768px){
    .sas-fs-card-price{font-size:12px;padding:3px 10px;}
    .sas-fs-card-var-select{font-size:11px;padding:8px 28px 8px 10px;background-size:11px;}
    .sas-fs-card-var-spacer{height:30px;}
    .sas-fs-atc-btn{font-size:11px;padding:6px 12px;}
    .sas-fs-card-bottom{gap:4px;}
}

/* Infinite scroll spinner */
.sas-fs-loading-more{
    grid-column:1/-1;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:24px 0;
}
.sas-fs-loading-more .sas-spinner{
    width:24px;height:24px;
    border:3px solid #eef0f3;
    border-top-color:#1a3a8a;
    border-radius:50%;
    animation:sas-spin 0.6s linear infinite;
}

.sas-fs-empty{grid-column:1/-1;text-align:center;padding:60px 20px;color:#6b7280;font-size:16px;}

/* Mobile clear/reset floating button */
.sas-fs-mob-clear{
    display:none;position:fixed;z-index:999992;
    bottom:20px;left:20px;
    height:44px;border-radius:22px;border:none;
    background:#f59e0b;
    color:#fff;font-size:12px;font-weight:700;cursor:pointer;
    align-items:center;justify-content:center;gap:6px;
    padding:0 18px;
    box-shadow:0 4px 16px rgba(245,158,11,0.4);
    font-family:inherit;
}
.sas-fs-mob-clear:hover{opacity:0.9;}
.sas-fs-mob-clear svg{flex-shrink:0;}
@media(max-width:768px){.sas-fs-mob-clear.visible{display:flex;}}

/* ── Mobile categories: horizontal scrollable row ── */
.sas-fs-cats-mobile{
    display:none;
}

/* ── Tablet fullscreen ── */
@media(max-width:1024px){
    .sas-fs-grid{grid-template-columns:repeat(2,1fr);gap:16px;}
}

/* ── Mobile fullscreen ── */
@media(max-width:768px){
    .sas-fs-top{
        display:flex!important;flex-shrink:0;
        padding:12px 14px;
        background:#1a3a8a!important;
    }
    .sas-fs-input{
        font-size:15px;padding:12px 16px;
        border-radius:12px!important;
        box-shadow:0 2px 8px rgba(0,0,0,0.08)!important;
    }
    .sas-fs-searchrow{gap:8px;}
    .sas-fs-back,.sas-fs-scan,.sas-fs-close{
        width:40px;height:40px;border-radius:10px;
        display:flex;align-items:center;justify-content:center;
    }

    /* Hide desktop sidebar on mobile */
    .sas-fs-sidebar{display:none!important;}

    /* Show horizontal mobile categories row — single scrollable row like desktop */
    .sas-fs-cats-mobile{
        display:flex!important;
        flex-direction:row!important;
        flex-wrap:nowrap!important;
        align-items:center!important;
        justify-content:flex-start!important;
        gap:8px;
        overflow-x:auto;
        scroll-behavior:smooth;
        scrollbar-width:none;
        padding:10px 14px;
        background:linear-gradient(180deg,#f8f9ff 0%,#fff 100%);
        border-bottom:1px solid #eef0f3;
        flex-shrink:0!important;
        height:auto!important;
        max-height:none!important;
    }
    .sas-fs-cats-mobile::-webkit-scrollbar{display:none;}
    .sas-fs-cats-mobile .sas-fs-cat-btn{
        flex:0 0 auto!important;
        height:auto!important;
        white-space:nowrap;
        padding:10px 18px!important;
        font-size:13px!important;
        border-radius:22px!important;
        border:1.5px solid #e0e3e8!important;
        background:#fff!important;
        color:#374151!important;
        font-weight:600!important;
        box-shadow:0 1px 3px rgba(0,0,0,0.04)!important;
    }
    .sas-fs-cats-mobile .sas-fs-cat-btn.active{
        background:#1a3a8a!important;
        color:#fff!important;
        border-color:#1a3a8a!important;
    }
    /* Mobile back button for subcategory drill-down */
    .sas-fs-mob-back{
        flex:0 0 auto!important;display:inline-flex!important;align-items:center!important;gap:4px;
        background:#eef2ff!important;color:#1a3a8a!important;
        border:1.5px solid #c7d2fe!important;border-radius:22px!important;
        padding:10px 16px!important;font-size:13px!important;font-weight:700!important;
        cursor:pointer;white-space:nowrap;font-family:inherit;
        box-shadow:0 1px 3px rgba(0,0,0,0.06)!important;
    }
    .sas-fs-mob-back svg{width:14px;height:14px;flex-shrink:0;}
    .sas-fs-mob-back:hover{background:#e0e3ff!important;border-color:#a5b4fc!important;}
    /* Ensure body doesn't stretch categories */
    .sas-fs-body{
        flex-direction:column!important;
    }

    .sas-fs-main{padding:14px;padding-bottom:80px;}
    .sas-fs-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
    .sas-fs-card{
        padding:12px;border-radius:12px;
    }
    .sas-fs-card-img{height:170px;}
    .sas-fs-card-title{font-size:12px;min-height:32px;}

    /* Hide autocorrect/DYM bar on mobile — takes too much space, results already show */
    .sas-fs-corrected{display:block!important;font-size:12px!important;padding:8px 12px!important;margin-bottom:8px!important;}
    .sas-fs-dym{font-size:13px;padding:8px 12px;margin-bottom:10px;}

}
@media(max-width:480px){
    .sas-fs-grid{gap:8px;}
    .sas-fs-card{padding:10px;border-radius:12px;}
    .sas-fs-card-img{height:130px;}
    .sas-fs-card-title{font-size:11px;min-height:28px;}
    .sas-fs-cats-mobile .sas-fs-cat-btn{padding:8px 14px!important;font-size:12px!important;}
}


/* ══════════════════════════════════════════════════════════
   BARCODE SCANNER MODAL
   ══════════════════════════════════════════════════════════ */

.sas-scan-modal{position:fixed;inset:0;z-index:999995;background:rgba(0,0,0,0.6);display:flex;align-items:flex-end;justify-content:center;padding:0;}
@media(min-width:769px){.sas-scan-modal{align-items:center;padding:16px;}}
.sas-scan-box{background:#fff;border-radius:20px 20px 0 0;width:100%;max-width:100%;max-height:95vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 -8px 40px rgba(0,0,0,0.15);}
@media(min-width:769px){.sas-scan-box{border-radius:16px;max-width:520px;max-height:92vh;box-shadow:0 24px 60px rgba(0,0,0,0.25);}}
.sas-scan-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid #f0f1f3;}
.sas-scan-title{font-size:16px;font-weight:700;color:#1a3a8a;flex:1;}
.sas-scan-count-badge{font-size:12px;font-weight:700;color:#1a3a8a;background:#dbeafe;padding:4px 10px;border-radius:20px;}
.sas-scan-x{background:none;border:none;font-size:28px;color:#6b7280;cursor:pointer;padding:4px 8px;line-height:1;border-radius:8px;flex-shrink:0;}
.sas-scan-x:hover{color:#111;background:#f3f4f6;}
.sas-scan-reader{width:100%;min-height:380px;height:380px;flex-shrink:0;background:#000;position:relative;overflow:hidden;}
@media(max-width:768px){.sas-scan-reader{min-height:320px;height:320px;}}
.sas-scan-reader video{width:100%;height:100%;object-fit:cover;display:block;}
/* Hide html5-qrcode shaded region — we use our own dark overlay via box-shadow */
.sas-scan-reader #qr-shaded-region{display:none!important;}
/* Hide canvas overlay */
.sas-scan-reader canvas{display:none!important;}
/* Scan frame overlay — covers full reader, children create the focused region */
.sas-scan-frame{position:absolute;inset:0;z-index:5;pointer-events:none;}
/* Centered scan region — dark overlay via box-shadow, focused horizontal strip */
.sas-scan-frame-inner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:88%;height:45%;border:2.5px solid rgba(255,255,255,0.85);border-radius:14px;box-shadow:0 0 0 9999px rgba(0,0,0,0.55);animation:sas-frame-pulse 2.5s ease-in-out infinite;}
@keyframes sas-frame-pulse{0%,100%{border-color:rgba(255,255,255,0.85);box-shadow:0 0 0 9999px rgba(0,0,0,0.55);}50%{border-color:rgba(99,102,241,0.95);box-shadow:0 0 0 9999px rgba(0,0,0,0.55),0 0 16px rgba(99,102,241,0.4);}}
/* Corner accents — bright indigo L-shapes at corners of the focused region */
.sas-scan-frame-inner::before,.sas-scan-frame-inner::after{content:'';position:absolute;width:22px;height:22px;border-color:#818cf8;border-style:solid;border-width:0;}
.sas-scan-frame-inner::before{top:-2px;left:-2px;border-top-width:4px;border-left-width:4px;border-top-left-radius:14px;}
.sas-scan-frame-inner::after{top:-2px;right:-2px;border-top-width:4px;border-right-width:4px;border-top-right-radius:14px;}
.sas-scan-corner-bl,.sas-scan-corner-br{position:absolute;width:22px;height:22px;border-color:#818cf8;border-style:solid;border-width:0;}
.sas-scan-corner-bl{bottom:-2px;left:-2px;border-bottom-width:4px;border-left-width:4px;border-bottom-left-radius:14px;}
.sas-scan-corner-br{bottom:-2px;right:-2px;border-bottom-width:4px;border-right-width:4px;border-bottom-right-radius:14px;}
/* Scanning laser line — sweeps within the focused scan region */
.sas-scan-laser{position:absolute;top:50%;left:5%;right:5%;height:2.5px;background:linear-gradient(90deg,transparent 0%,#6366f1 15%,#818cf8 35%,#a5b4fc 50%,#818cf8 65%,#6366f1 85%,transparent 100%);border-radius:2px;animation:sas-scan-line 2s ease-in-out infinite;box-shadow:0 0 12px rgba(99,102,241,0.6),0 0 4px rgba(99,102,241,0.8);}
@keyframes sas-scan-line{0%,100%{transform:translateY(-50px);opacity:0.3;}50%{transform:translateY(50px);opacity:1;}}
.sas-scan-frame-label{position:absolute;bottom:-36px;left:50%;transform:translateX(-50%);font-size:12px;color:#fff;white-space:nowrap;text-shadow:0 1px 4px rgba(0,0,0,0.7);font-weight:700;background:rgba(0,0,0,0.5);padding:6px 18px;border-radius:16px;letter-spacing:0.02em;}
/* Torch/flashlight button */
.sas-scan-torch{position:absolute;top:10px;right:10px;z-index:10;width:36px;height:36px;border-radius:50%;border:none;background:rgba(255,255,255,0.2);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;pointer-events:auto;}
.sas-scan-torch:hover,.sas-scan-torch.active{background:rgba(245,158,11,0.6);}
.sas-scan-torch svg{width:20px;height:20px;}
.sas-scan-manual{display:flex;gap:8px;padding:10px 12px;border-bottom:1px solid #f0f1f3;background:#fafbfc;}
.sas-scan-manual-input{flex:1;min-width:0;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-family:inherit;outline:none;background:#fff;}
.sas-scan-manual-input:focus{border-color:#1a3a8a;box-shadow:0 0 0 3px rgba(26,58,138,0.12);}
.sas-scan-manual-btn{padding:10px 16px;border:none;border-radius:8px;background:#1a3a8a;color:#fff;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;}
.sas-scan-manual-btn:hover{background:#142d6e;}
.sas-scan-manual-btn:disabled{opacity:0.5;cursor:not-allowed;}
.sas-scan-tabs{display:flex;border-bottom:1px solid #f0f1f3;}
.sas-scan-tab{flex:1;padding:12px;font-size:12px;font-weight:700;border:none;background:#f5f7fa;color:#6b7280;cursor:pointer;border-bottom:3px solid transparent;display:flex;align-items:center;justify-content:center;gap:6px;}
.sas-scan-tab.active{background:#fff;color:#1a3a8a;border-bottom-color:#1a3a8a;}
.sas-scan-tab:hover:not(.active){background:#eef0ff;}
.sas-scan-panel{flex:1;overflow-y:auto;max-height:40vh;}
@media(max-width:768px){.sas-scan-panel{max-height:35vh;}}
.sas-scan-results{padding:12px;}
.sas-scan-empty{text-align:center;padding:30px 16px;background:#f0f7ff;border-radius:12px;}
.sas-scan-empty strong{display:block;color:#1a3a8a;font-size:15px;margin-top:8px;}
.sas-scan-empty span{display:block;color:#6b7280;font-size:12px;margin-top:4px;}
.sas-scan-multi-hint{color:#1a3a8a!important;font-weight:600;font-size:11px!important;margin-top:10px!important;background:#dbeafe;padding:6px 12px;border-radius:8px;display:inline-block!important;}
.sas-scan-section-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#059669;padding:8px 0 6px;border-bottom:1px solid #f0f1f3;margin-bottom:8px;}
.sas-scan-section-miss{color:#dc2626;}
.sas-scan-item{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid #f0f1f3;border-radius:12px;margin-bottom:8px;text-decoration:none;color:inherit;}
.sas-scan-item:hover{border-color:#1a3a8a;}
.sas-scan-item img{width:50px;height:50px;object-fit:contain;border-radius:8px;flex-shrink:0;background:#f9fafb;}
.sas-scan-item-info{flex:1;min-width:0;}
.sas-scan-item-info strong{display:block;font-size:13px;color:#111;line-height:1.3;overflow:hidden;text-overflow:ellipsis;}
.sas-scan-item-info span{font-size:11px;color:#9ca3af;}
.sas-scan-item-miss{background:#fef2f2;border-color:#fecaca;border-radius:12px;padding:12px;}
.sas-scan-item-loading{background:#f9fafb;border-color:#e5e7eb;animation:sas-pulse 1.2s ease-in-out infinite;}
@keyframes sas-pulse{0%,100%{opacity:1;}50%{opacity:0.5;}}
.sas-scan-skeleton{width:50px;height:50px;border-radius:8px;background:#e5e7eb;flex-shrink:0;}
.sas-scan-flash{position:absolute;inset:0;background:rgba(16,185,129,0.3);z-index:10;pointer-events:none;animation:sas-flash-out 0.6s ease forwards;}
@keyframes sas-flash-out{0%{opacity:1;}100%{opacity:0;}}
/* Success overlay — centered checkmark + text like reference screenshot */
.sas-scan-success-overlay{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;pointer-events:none;animation:sas-success-in 0.3s ease;}
.sas-scan-success-box{display:flex;flex-direction:column;align-items:center;gap:8px;background:rgba(255,255,255,0.95);padding:24px 36px;border-radius:18px;box-shadow:0 8px 32px rgba(0,0,0,0.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.sas-scan-success-box span{font-size:15px;font-weight:700;color:#1a3a8a;white-space:nowrap;}
.sas-scan-success-out{animation:sas-success-out 0.4s ease forwards;}
@keyframes sas-success-in{from{opacity:0;transform:scale(0.8);}to{opacity:1;transform:scale(1);}}
@keyframes sas-success-out{from{opacity:1;transform:scale(1);}to{opacity:0;transform:scale(0.8);}}
.sas-scan-item-link{flex-shrink:0;}
.sas-scan-item-info a{text-decoration:none;color:inherit;}
/* Price + variation selector in scanner results */
.sas-scan-price{display:inline-flex;align-items:center;gap:3px;font-size:14px;font-weight:800;color:#1a3a8a;margin-top:5px;background:#eef2ff;padding:4px 12px;border-radius:10px;border:1px solid #dbeafe;letter-spacing:-0.01em;}
.sas-scan-price-sm{font-size:11px;font-weight:700;padding:2px 8px;border-radius:8px;margin-top:3px;}
.sas-scan-price small{font-size:10px;font-weight:600;color:#6b7280;margin-left:2px;}
/* Variation rows — two-line layout: name on top, price + cart on bottom */
.sas-scan-vars{display:flex;flex-direction:column;gap:8px;margin-top:8px;width:100%;}
.sas-scan-var-row{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1.5px solid #e0e3e8;border-radius:12px;background:#fafbff;}
.sas-scan-var-row:hover{border-color:#1a3a8a;}
.sas-scan-var-name{font-size:13px;font-weight:700;color:#1a1a5e;line-height:1.3;word-break:break-word;}
.sas-scan-var-bottom{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.sas-scan-var-bottom .sas-scan-price-sm{flex-shrink:0;}
.sas-scan-var-bottom .sas-scan-atc-btn{flex-shrink:0;margin-top:0;padding:6px 14px;font-size:11px;}
.sas-scan-var-pieces{font-size:10px;font-weight:600;color:#6b7280;background:#f0f1f5;padding:2px 8px;border-radius:8px;white-space:nowrap;}
.sas-scan-var-select{display:block;width:100%;margin-top:6px;padding:6px 10px;border:1.5px solid #c7d2fe;border-radius:8px;font-size:12px;font-weight:600;color:#374151;background:#fff;font-family:inherit;cursor:pointer;outline:none;}
.sas-scan-var-select:focus{border-color:#6366f1;}
.sas-scan-atc-btn{display:inline-flex;align-items:center;gap:5px;margin-top:6px;padding:7px 14px;background:#059669;color:#fff;border:none;border-radius:10px;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap;}
.sas-scan-atc-btn:hover{background:#047857;}
.sas-scan-atc-btn:disabled{opacity:0.7;cursor:wait;}
.sas-scan-atc-btn.sas-scan-atc-done{background:#047857;}
.sas-scan-atc-btn.sas-scan-atc-fail{background:#dc2626;}
.sas-scan-qty-row{display:inline-flex;align-items:center;gap:0;margin-top:6px;border:2px solid #059669;border-radius:12px;overflow:hidden;background:#f0fdf4;}
.sas-scan-qty-minus,.sas-scan-qty-plus{width:38px;height:38px;border:none;background:#059669;color:#fff;font-size:20px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit;-webkit-tap-highlight-color:transparent;}
.sas-scan-qty-minus:hover,.sas-scan-qty-plus:hover{background:#047857;}
.sas-scan-qty-minus:active,.sas-scan-qty-plus:active{background:#065f46;}
.sas-scan-qty-val{min-width:48px;text-align:center;font-size:16px;font-weight:800;color:#059669;padding:0 6px;line-height:38px;}
.sas-spin-icon{animation:sas-spin 0.6s linear infinite;}
.sas-scan-search-btn{display:inline-block;margin-top:8px;padding:8px 18px;background:#1a3a8a;color:#fff;border:none;border-radius:10px;font-size:12px;font-weight:700;cursor:pointer;}
.sas-scan-search-btn:hover{background:#4f46e5;}
.sas-scan-similar{padding:8px 0 12px;margin-top:6px;background:#f0fdf4;border-radius:12px;padding:12px;border:1px solid #bbf7d0;}
.sas-scan-similar-label{font-size:13px;font-weight:800;color:#059669;padding:0 0 8px;margin-bottom:8px;display:flex;align-items:center;gap:6px;border-bottom:1px solid #bbf7d0;}
.sas-scan-similar-label::before{content:'✓';display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:#059669;color:#fff;border-radius:50%;font-size:10px;flex-shrink:0;}
.sas-scan-item-similar{border-color:#86efac;background:#fff;border-radius:12px;padding:12px;}
.sas-scan-item-similar:hover{border-color:#22c55e;background:#f0fdf4;}
.sas-scan-item-similar img{width:56px;height:56px;border-radius:10px;}
.sas-scan-similar-badge{display:inline-block;font-size:11px;font-weight:700;background:#dcfce7;color:#059669;padding:3px 10px;border-radius:12px;margin-top:3px;}
.sas-scan-hint{text-align:center;font-size:11px;color:#6b7280;padding:10px;background:#f9fafb;border-radius:8px;margin-top:4px;}
.sas-scan-item-found{border-color:#a7f3d0;background:#f0fdf4;}
.sas-scan-item-found:hover{border-color:#22c55e;background:#ecfdf5;}
.sas-scan-found-badge{display:inline-block;font-size:10px;font-weight:700;background:#dcfce7;color:#059669;padding:2px 8px;border-radius:10px;margin-top:2px;}
.sas-scan-summary{text-align:center;font-size:12px;font-weight:600;color:#6b7280;padding:12px;background:#f9fafb;border-radius:10px;margin-top:8px;border:1px solid #f0f1f3;}
.sas-scan-toast{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);background:#059669;color:#fff;padding:8px 18px;border-radius:20px;font-size:12px;font-weight:600;z-index:100;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,0.15);animation:sas-toast-in 0.3s ease;}
.sas-scan-toast-out{animation:sas-toast-out 0.3s ease forwards;}
@keyframes sas-toast-in{from{opacity:0;transform:translateX(-50%) translateY(10px);}to{opacity:1;transform:translateX(-50%) translateY(0);}}
@keyframes sas-toast-out{from{opacity:1;}to{opacity:0;transform:translateX(-50%) translateY(-10px);}}

/* "Showing results for" correction bar */
.sas-corrected-bar{padding:11px 28px;font-size:14px;color:#374151;border-bottom:1px solid #f0f1f3;background:#f0fdf4;flex-shrink:0;}
.sas-corrected-bar strong{color:#047857;}
.sas-corrected-bar a{color:#4f46e5;font-weight:600;text-decoration:none;cursor:pointer;margin-left:8px;}
.sas-corrected-bar a:hover{text-decoration:underline;}
.sas-fs-corrected{padding:12px 18px;background:#f0fdf4;border:1px solid #a7f3d0;border-radius:10px;font-size:14px;color:#374151;margin-bottom:16px;}
.sas-fs-corrected strong{color:#047857;}
.sas-fs-corrected a{color:#4f46e5;font-weight:600;text-decoration:none;cursor:pointer;margin-left:8px;}

.sas-scan-help{padding:16px;}
.sas-scan-tip{padding:14px;border:1px solid #e8edf2;border-radius:12px;margin-bottom:10px;background:#f8fafc;font-size:12px;color:#6b7280;line-height:1.5;}
.sas-scan-tip strong{display:block;font-size:13px;color:#1a3a8a;margin-bottom:2px;}