/* ==========================================================================
   SUBLIMINALMART — DESKTOP TOOLBAR
   Exact structure used by toolbar.js
   ========================================================================== */

@media (min-width:768px) {

    .sm-toolbar {
        width:100%!important;
        margin:0!important;
        padding:0!important;
        background:#fff!important;
        color:#090b0a!important;
        box-sizing:border-box!important;
    }

    .sm-toolbar *,
    .sm-toolbar *::before,
    .sm-toolbar *::after {
        box-sizing:border-box!important;
    }

    /* ==============================================================
       MAIN DESKTOP TOOLBAR
       ============================================================== */

    .sm-toolbar-desktop {
        width:100%!important;
        margin:0!important;
        padding:0!important;
        display:block!important;
        background:#fff!important;
        border:1px solid #090b0a!important;
        color:#090b0a!important;
    }

    /* ==============================================================
       HEADER
       ============================================================== */

    .sm-toolbar-desktop-header {
        width:100%!important;
        margin:0!important;
        padding:24px 22px 20px!important;
        background:#fff!important;
        border-bottom:1px solid #090b0a!important;
    }

    .sm-toolbar-desktop-title {
        margin:0!important;
        padding:0!important;
        color:#090b0a!important;
        font-family:Georgia,"Times New Roman",serif!important;
        font-size:25px!important;
        line-height:1.1!important;
        font-weight:700!important;
        letter-spacing:-.035em!important;
    }

    .sm-toolbar-desktop-subtitle {
        margin:7px 0 0!important;
        padding:0!important;
        color:#707570!important;
        font-size:11px!important;
        line-height:1.4!important;
        font-weight:500!important;
    }

    /* ==============================================================
       CATEGORY / SORT / PRICE BUTTONS
       ============================================================== */

    .sm-toolbar-desktop-button {
        appearance:none!important;
        -webkit-appearance:none!important;
        width:100%!important;
        min-height:61px!important;
        margin:0!important;
        padding:0 18px!important;
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:15px!important;
        position:relative!important;
        border:0!important;
        border-bottom:1px solid #e1e5e2!important;
        border-radius:0!important;
        background:#fff!important;
        color:#090b0a!important;
        cursor:pointer!important;
        font:inherit!important;
        font-size:12px!important;
        line-height:1!important;
        font-weight:800!important;
        text-align:left!important;
        text-transform:uppercase!important;
        letter-spacing:.035em!important;
    }

    .sm-toolbar-desktop-button::before {
        content:""!important;
        width:3px!important;
        height:24px!important;
        position:absolute!important;
        left:0!important;
        top:50%!important;
        transform:translateY(-50%) scaleY(0)!important;
        transform-origin:center!important;
        background:#174d3a!important;
        transition:transform .15s ease!important;
    }

    .sm-toolbar-desktop-button:hover {
        background:#fafcfa!important;
        color:#174d3a!important;
    }

    .sm-toolbar-desktop-button.is-active {
        background:#edf4f0!important;
        color:#174d3a!important;
    }

    .sm-toolbar-desktop-button.is-active::before {
        transform:translateY(-50%) scaleY(1)!important;
    }

    .sm-toolbar-desktop-button:focus-visible {
        outline:2px solid #174d3a!important;
        outline-offset:-2px!important;
    }

    .sm-toolbar-desktop-arrow {
        width:24px!important;
        height:24px!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        color:#174d3a!important;
        font-size:17px!important;
        line-height:1!important;
        transition:transform .15s ease!important;
    }

    .sm-toolbar-desktop-button.is-active .sm-toolbar-desktop-arrow {
        transform:rotate(180deg)!important;
    }

    /* ==============================================================
       PANELS
       ============================================================== */

    .sm-toolbar-desktop-panel {
        width:100%!important;
        margin:0!important;
        padding:0!important;
        display:none!important;
        background:#fff!important;
        border-bottom:1px solid #090b0a!important;
    }

    .sm-toolbar-desktop-panel.is-visible {
        display:block!important;
    }

    /* ==============================================================
       CATEGORIES
       ============================================================== */

    .sm-toolbar-desktop-categories {
        width:100%!important;
        max-height:470px!important;
        margin:0!important;
        padding:7px 0!important;
        overflow-y:auto!important;
        overflow-x:hidden!important;
        background:#fff!important;
        scrollbar-width:thin!important;
        scrollbar-color:#174d3a #fff!important;
    }

    .sm-toolbar-desktop-categories::-webkit-scrollbar {
        width:5px!important;
    }

    .sm-toolbar-desktop-categories::-webkit-scrollbar-track {
        background:#fff!important;
    }

    .sm-toolbar-desktop-categories::-webkit-scrollbar-thumb {
        background:#174d3a!important;
    }

    /* ==============================================================
       CATEGORY OPTIONS
       ============================================================== */

    .sm-toolbar-desktop-option {
        appearance:none!important;
        -webkit-appearance:none!important;
        width:100%!important;
        min-height:48px!important;
        margin:0!important;
        padding:0 17px!important;
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:15px!important;
        border:0!important;
        border-bottom:1px solid #eef0ee!important;
        border-radius:0!important;
        background:#fff!important;
        color:#171b18!important;
        cursor:pointer!important;
        font:inherit!important;
        font-size:11px!important;
        line-height:1.3!important;
        font-weight:650!important;
        text-align:left!important;
        transition:
            background-color .12s ease,
            color .12s ease,
            padding-left .12s ease!important;
    }

    .sm-toolbar-desktop-option:last-child {
        border-bottom:0!important;
    }

    .sm-toolbar-desktop-option:hover {
        padding-left:21px!important;
        background:#fafcfa!important;
        color:#174d3a!important;
    }

    .sm-toolbar-desktop-option.is-selected {
        padding-left:21px!important;
        background:#edf4f0!important;
        color:#174d3a!important;
        font-weight:800!important;
    }

    .sm-toolbar-desktop-option span:first-child {
        min-width:0!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
        white-space:nowrap!important;
    }

    .sm-toolbar-desktop-option span:last-child {
        min-width:25px!important;
        height:21px!important;
        padding:0 6px!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        flex:0 0 auto!important;
        background:#090b0a!important;
        color:#fff!important;
        font-size:9px!important;
        line-height:1!important;
        font-weight:800!important;
    }

    .sm-toolbar-desktop-option.is-selected span:last-child {
        background:#174d3a!important;
    }

    /* ==============================================================
       SORT
       ============================================================== */

    .sm-toolbar-desktop-sort {
        width:100%!important;
        margin:0!important;
        padding:7px 0!important;
        background:#fff!important;
    }

    .sm-toolbar-desktop-sort .sm-toolbar-desktop-option {
        min-height:51px!important;
    }

    /* ==============================================================
       PRICE
       ============================================================== */

    .sm-toolbar-desktop-price {
        width:100%!important;
        margin:0!important;
        padding:22px 18px 24px!important;
        background:#fff!important;
    }

    .sm-toolbar-desktop-price-values {
        width:100%!important;
        margin:0 0 20px!important;
        padding:0!important;
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:15px!important;
        color:#090b0a!important;
        font-size:12px!important;
        line-height:1.2!important;
        font-weight:800!important;
    }

    .sm-toolbar-desktop-price-range {
        position:relative!important;
        width:100%!important;
        height:35px!important;
        margin:0 0 17px!important;
    }

    .sm-toolbar-desktop-price-track {
        position:absolute!important;
        left:0!important;
        right:0!important;
        top:15px!important;
        height:3px!important;
        background:#dfe3e0!important;
    }

    .sm-toolbar-desktop-price-fill {
        position:absolute!important;
        top:0!important;
        height:3px!important;
        background:#174d3a!important;
    }

    .sm-toolbar-desktop-price input[type="range"] {
        appearance:none!important;
        -webkit-appearance:none!important;
        position:absolute!important;
        left:0!important;
        top:0!important;
        width:100%!important;
        height:34px!important;
        margin:0!important;
        padding:0!important;
        background:transparent!important;
        border:0!important;
        outline:none!important;
        pointer-events:none!important;
    }

    .sm-toolbar-desktop-price input[type="range"]::-webkit-slider-runnable-track {
        height:3px!important;
        background:transparent!important;
    }

    .sm-toolbar-desktop-price input[type="range"]::-moz-range-track {
        height:3px!important;
        background:transparent!important;
    }

    .sm-toolbar-desktop-price input[type="range"]::-webkit-slider-thumb {
        appearance:none!important;
        -webkit-appearance:none!important;
        width:18px!important;
        height:18px!important;
        margin-top:-7px!important;
        border:2px solid #174d3a!important;
        border-radius:50%!important;
        background:#fff!important;
        cursor:pointer!important;
        pointer-events:auto!important;
    }

    .sm-toolbar-desktop-price input[type="range"]::-moz-range-thumb {
        width:14px!important;
        height:14px!important;
        border:2px solid #174d3a!important;
        border-radius:50%!important;
        background:#fff!important;
        cursor:pointer!important;
        pointer-events:auto!important;
    }

    .sm-toolbar-desktop-price-inputs {
        width:100%!important;
        margin:0!important;
        padding:0!important;
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:9px!important;
    }

    .sm-toolbar-desktop-price-inputs input {
        appearance:none!important;
        -webkit-appearance:none!important;
        width:100%!important;
        height:42px!important;
        margin:0!important;
        padding:0 10px!important;
        border:1px solid #d4d9d5!important;
        border-radius:0!important;
        outline:none!important;
        background:#fff!important;
        color:#090b0a!important;
        font:inherit!important;
        font-size:11px!important;
        font-weight:650!important;
    }

    .sm-toolbar-desktop-price-inputs input:hover {
        border-color:#aeb8b2!important;
    }

    .sm-toolbar-desktop-price-inputs input:focus {
        border-color:#174d3a!important;
        box-shadow:0 0 0 2px #edf4f0!important;
    }

    /* ==============================================================
       EMPTY / LOADING / ERROR
       ============================================================== */

    .sm-toolbar-desktop-loading,
    .sm-toolbar-desktop-empty,
    .sm-toolbar-desktop-error {
        padding:25px 18px!important;
        color:#707570!important;
        font-size:11px!important;
        line-height:1.4!important;
        text-align:center!important;
    }

    /* ==============================================================
       ACTIVE FILTER STATE
       ============================================================== */

    .sm-toolbar-desktop .is-selected {
        color:#174d3a!important;
    }

}

/* ==========================================================================
   KEEP DESKTOP CSS COMPLETELY OUT OF MOBILE
   ========================================================================== */

@media (max-width:767px) {

    .sm-toolbar-desktop,
    .sm-toolbar-desktop * {
        /* Desktop markup is controlled by the shared JS.
           Mobile toolbar remains controlled by toolbar.css. */
    }

}

@media (min-width:768px) {

    .sm-shop-layout {
        display:grid!important;
        grid-template-columns:minmax(0,1fr) 310px!important;
        column-gap:32px!important;
        align-items:start!important;
        width:min(100%,88vw)!important;
        margin-left:auto!important;
        margin-right:auto!important;
        padding-right:342px!important;
        box-sizing:border-box!important;
    }

    .sm-shop-main {
        width:100%!important;
        min-width:0!important;
    }

    .sm-toolbar {
        position:fixed!important;
        top:0!important;
        right:6vw!important;
        width:310px!important;
        min-width:310px!important;
        max-width:310px!important;
        margin:0!important;
        padding:0!important;
        z-index:9999!important;
        box-sizing:border-box!important;
    }

    .sm-toolbar-desktop {
        width:100%!important;
        height:auto!important;
        min-height:0!important;
        max-height:100vh!important;
        margin:0!important;
        padding:0!important;
        display:block!important;
        overflow:hidden!important;
        box-sizing:border-box!important;
    }

    .sm-toolbar-desktop-panel {
        display:none!important;
        width:100%!important;
        height:auto!important;
        max-height:none!important;
        overflow:visible!important;
        flex:none!important;
    }

    .sm-toolbar-desktop-panel.is-visible {
        display:block!important;
    }

    .sm-toolbar-desktop-categories {
        height:auto!important;
        max-height:470px!important;
        overflow-y:auto!important;
        overflow-x:hidden!important;
    }

    .sm-toolbar-desktop-clear,
    .sm-toolbar-desktop-apply {
        appearance:none!important;
        -webkit-appearance:none!important;
        width:calc(100% - 36px)!important;
        height:46px!important;
        margin:10px 18px 0!important;
        padding:0 16px!important;
        border:1px solid #090b0a!important;
        border-radius:0!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        background:#fff!important;
        color:#090b0a!important;
        cursor:pointer!important;
        font:inherit!important;
        font-size:11px!important;
        line-height:1!important;
        font-weight:800!important;
        text-transform:uppercase!important;
        letter-spacing:.05em!important;
    }

    .sm-toolbar-desktop-clear:hover {
        background:#090b0a!important;
        color:#fff!important;
    }

    .sm-toolbar-desktop-apply {
        margin-top:8px!important;
        margin-bottom:18px!important;
        border-color:#174d3a!important;
        background:#174d3a!important;
        color:#fff!important;
    }

    .sm-toolbar-desktop-apply:hover {
        background:#123d2e!important;
        color:#fff!important;
    }
}