:root{
    --x8-red:#67140E;
    --x8-cream:#C2B7A6;
    --x8-dark:#201f19;
}

.x8-fast-shop,
.x8-fast-shop *,
.x8-fast-shop *::before,
.x8-fast-shop *::after{
    box-sizing:border-box;
}

.x8-fast-shop{
    width:100%;
    margin:0;
    padding:0;
    background:#11110f;
    color:#C2B7A6;
}

.x8-fast-shop [hidden]{
    display:none !important;
}

/* HERO */

.x8-fast-shop__hero{
    position:relative;
    width:100%;
    min-height:320px;
    display:flex;
    align-items:center;
    overflow:hidden;
    background-image:var(--x8-hero,none);
    background-position:50% 57%;
    background-size:cover;
    background-repeat:no-repeat;
}

.x8-fast-shop__hero::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(
        90deg,
        rgba(0,0,0,.68) 0%,
        rgba(0,0,0,.40) 30%,
        rgba(0,0,0,.14) 58%,
        rgba(0,0,0,0) 82%
    );
    pointer-events:none;
}

.x8-fast-shop__hero-overlay{
    display:none;
}

.x8-fast-shop__hero-copy{
    position:relative;
    z-index:2;
    width:100%;
    max-width:1500px;
    margin:0 auto;
    padding:54px 36px;
}

.x8-fast-shop__hero h1{
    max-width:700px;
    margin:0 0 12px !important;
    color:#C2B7A6;
    font-family:"Oswald",sans-serif !important;
    font-size:clamp(54px,5vw,76px) !important;
    font-weight:600 !important;
    line-height:.95 !important;
    letter-spacing:.01em;
    text-transform:uppercase;
}

.x8-fast-shop__hero p{
    max-width:560px;
    margin:0 !important;
    color:#C2B7A6;
    font-size:15px !important;
    font-weight:500;
    line-height:1.45;
}

/* MAIN FILTERS */

.x8-fast-shop__toolbar{
    width:100%;
    background:#C2B7A6;
    border-bottom:1px solid rgba(32,31,25,.14);
}

.x8-fast-shop__toolbar-inner{
    width:100%;
    max-width:1500px;
    min-height:64px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    margin:0 auto;
    padding:0 36px;
}

.x8-fast-shop__tabs{
    display:flex;
    align-items:center;
    gap:28px;
    min-width:0;
}

.x8-fast-shop__tab{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    flex:0 0 auto;
    min-height:64px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#201f19 !important;
    box-shadow:none !important;
    font-family:"Oswald",sans-serif !important;
    font-size:14px !important;
    font-weight:600 !important;
    line-height:1 !important;
    letter-spacing:.045em !important;
    text-transform:uppercase;
    cursor:pointer;
}

.x8-fast-shop__tab:hover,
.x8-fast-shop__tab.is-active{
    background:transparent !important;
    color:#67140E !important;
}

.x8-fast-shop__tab::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:3px;
    background:transparent;
}

.x8-fast-shop__tab.is-active::after{
    background:#67140E;
}

/* ACCESSORIES SUBFILTERS */

.x8-fast-shop__subfilters{
    width:100%;
    border-top:1px solid rgba(32,31,25,.14);
    background:rgba(32,31,25,.035);
}

.x8-fast-shop__subfilters-inner{
    display:flex;
    align-items:center;
    gap:10px;
    width:100%;
    max-width:1500px;
    margin:0 auto;
    padding:13px 36px;
}

.x8-fast-shop__subtab{
    appearance:none !important;
    -webkit-appearance:none !important;
    flex:0 0 auto;
    min-height:36px !important;
    margin:0 !important;
    padding:9px 14px !important;
    border:1px solid rgba(32,31,25,.25) !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:#201f19 !important;
    font-family:"Oswald",sans-serif !important;
    font-size:12px !important;
    font-weight:600 !important;
    line-height:1.2 !important;
    letter-spacing:.045em !important;
    text-transform:uppercase;
    white-space:nowrap;
    cursor:pointer;
}

.x8-fast-shop__subtab:hover{
    border-color:#67140E !important;
    color:#67140E !important;
}

.x8-fast-shop__subtab.is-active{
    border-color:#67140E !important;
    background:#67140E !important;
    color:#C2B7A6 !important;
}

.x8-fast-shop__tab:focus-visible,
.x8-fast-shop__subtab:focus-visible,
.x8-fast-shop__clear:focus-visible{
    outline:2px solid #67140E !important;
    outline-offset:3px;
}

/* SORT, SIZE AND COLOUR */

.x8-fast-shop__selects{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    flex:0 0 auto;
    padding:0;
}

.x8-fast-shop__toolbar--archive .x8-fast-shop__selects{
    margin-left:auto;
}

.x8-fast-shop__selects label{
    position:relative;
    display:block;
    margin:0;
}

.x8-fast-shop__selects label::after{
    content:"";
    position:absolute;
    right:11px;
    top:50%;
    width:7px;
    height:7px;
    border-right:1.5px solid #201f19;
    border-bottom:1.5px solid #201f19;
    transform:translateY(-68%) rotate(45deg);
    pointer-events:none;
}

.x8-fast-shop__selects select{
    height:38px;
    min-width:112px;
    margin:0;
    padding:0 30px 0 12px;
    border:1px solid rgba(32,31,25,.22);
    border-radius:0;
    background:rgba(255,255,255,.18);
    color:#201f19;
    font-family:"Oswald",sans-serif;
    font-size:12px;
    font-weight:600;
    line-height:1;
    letter-spacing:.045em;
    text-transform:uppercase;
    appearance:none;
    -webkit-appearance:none;
    cursor:pointer;
    box-shadow:none;
}

.x8-fast-shop__selects select:focus{
    outline:none;
    border-color:#67140E;
}

.x8-fast-shop__clear{
    height:38px !important;
    margin:0 !important;
    padding:0 10px !important;
    border:0 !important;
    border-bottom:1px solid #67140E !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#67140E !important;
    box-shadow:none !important;
    font-family:"Oswald",sans-serif !important;
    font-size:11px !important;
    font-weight:600 !important;
    letter-spacing:.06em !important;
    text-transform:uppercase;
    cursor:pointer;
}

/* PRODUCT GRID */

.x8-fast-shop__products{
    width:100%;
    margin:0;
    padding:0;
    background:#11110f;
}

.x8-fast-shop__grid{
    width:100%;
    max-width:1500px;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:46px 22px;
    margin:0 auto;
    padding:48px 36px 72px;
}

.x8-fast-card{
    min-width:0;
    padding-bottom:14px;
    border-bottom:1px solid rgba(194,183,166,.18);
}

.x8-fast-card__image-link{
    position:relative;
    display:block;
    width:100%;
    aspect-ratio:1/1;
    overflow:hidden;
    color:inherit;
    text-decoration:none;
    background:#201f19;
    border:1px solid rgba(194,183,166,.15);
}

.x8-fast-card__image{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:cover !important;
    object-position:center center;
    transition:opacity .18s ease,transform .32s ease;
}

.x8-fast-card__image-link:hover .x8-fast-card__image{
    transform:scale(1.025);
}

.x8-fast-card__info{
    padding:15px 2px 0;
}

.x8-fast-card__title{
    display:inline-block;
    margin:0 0 5px;
    color:#C2B7A6;
    font-family:"Oswald",sans-serif;
    font-size:18px;
    font-weight:600;
    line-height:1.15;
    letter-spacing:.01em;
    text-transform:uppercase;
    text-decoration:none;
}

.x8-fast-card__title:hover{
    color:#fff;
}

.x8-fast-card__price{
    color:#C2B7A6;
    font-size:15px;
    font-weight:700;
    line-height:1.3;
}

.x8-fast-card__price del{
    margin-left:5px;
    opacity:.48;
}

.x8-fast-card__price ins{
    text-decoration:none;
}

.x8-fast-card__swatches{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
    margin-top:12px;
}

.x8-fast-card__swatch{
    position:relative;
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    min-height:42px !important;
    display:block !important;
    margin:0 !important;
    padding:2px !important;
    overflow:hidden;
    border:1px solid rgba(194,183,166,.35) !important;
    border-radius:0 !important;
    background:#201f19 !important;
    box-shadow:none !important;
    cursor:pointer;
    appearance:none;
    -webkit-appearance:none;
    transition:border-color .18s ease,transform .18s ease;
}

.x8-fast-card__swatch img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
}

.x8-fast-card__swatch:hover{
    border-color:#C2B7A6 !important;
    transform:translateY(-1px);
}

.x8-fast-card__swatch.is-active{
    padding:1px !important;
    border:2px solid #67140E !important;
}

.x8-fast-shop__empty{
    max-width:1500px;
    margin:0 auto;
    padding:70px 36px;
    color:#C2B7A6;
    text-align:center;
}

/* TABLET */

@media(max-width:1150px){
    .x8-fast-shop__toolbar-inner{
        flex-wrap:wrap;
        gap:0 20px;
        padding-bottom:12px;
    }

    .x8-fast-shop__selects{
        margin-left:auto;
    }
}

@media(max-width:1024px){
    .x8-fast-shop__hero{
        min-height:300px;
    }

    .x8-fast-shop__hero-copy{
        padding:44px 28px;
    }

    .x8-fast-shop__hero h1{
        font-size:58px !important;
    }

    .x8-fast-shop__toolbar-inner{
        padding-left:28px;
        padding-right:28px;
    }

    .x8-fast-shop__tabs{
        gap:20px;
    }

    .x8-fast-shop__tab{
        font-size:13px !important;
    }

    .x8-fast-shop__selects select{
        min-width:100px;
    }

    .x8-fast-shop__subfilters-inner{
        padding-left:28px;
        padding-right:28px;
    }

    .x8-fast-shop__grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:38px 18px;
        padding:40px 28px 64px;
    }
}

/* MOBILE */

@media(max-width:767px){
    .x8-fast-shop__hero{
        min-height:280px;
        align-items:flex-end;
        background-position:50% 55%;
    }

    .x8-fast-shop__hero::before{
        background:linear-gradient(
            0deg,
            rgba(0,0,0,.78) 0%,
            rgba(0,0,0,.36) 62%,
            rgba(0,0,0,.06) 100%
        );
    }

    .x8-fast-shop__hero-copy{
        padding:34px 20px;
    }

    .x8-fast-shop__hero h1{
        margin-bottom:10px !important;
        font-size:46px !important;
    }

    .x8-fast-shop__hero p{
        font-size:14px !important;
    }

    .x8-fast-shop__toolbar-inner{
        display:block;
        min-height:0;
        padding:0;
    }

    .x8-fast-shop__tabs{
        width:100%;
        gap:22px;
        padding:0 16px;
        overflow-x:auto;
        scrollbar-width:none;
    }

    .x8-fast-shop__tabs::-webkit-scrollbar{
        display:none;
    }

    .x8-fast-shop__tab{
        flex:0 0 auto;
        min-height:52px !important;
        font-size:13px !important;
    }

    .x8-fast-shop__selects{
        width:100%;
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:6px;
        margin-left:0;
        padding:10px 12px 12px;
        border-top:1px solid rgba(32,31,25,.12);
    }

    .x8-fast-shop__selects label,
    .x8-fast-shop__selects select{
        width:100%;
        min-width:0;
    }

    .x8-fast-shop__selects select{
        height:40px;
        padding-left:9px;
        padding-right:24px;
        font-size:11px;
    }

    .x8-fast-shop__selects label::after{
        right:9px;
        width:6px;
        height:6px;
    }

    .x8-fast-shop__clear{
        grid-column:1/-1;
        justify-self:center;
    }

    .x8-fast-shop__subfilters-inner{
        gap:8px;
        padding:12px 16px;
        overflow-x:auto;
        scrollbar-width:none;
    }

    .x8-fast-shop__subfilters-inner::-webkit-scrollbar{
        display:none;
    }

    .x8-fast-shop__subtab{
        min-height:38px !important;
        padding:9px 12px !important;
        font-size:11px !important;
    }

    .x8-fast-shop__grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:30px 10px;
        padding:28px 12px 48px;
    }

    .x8-fast-card__info{
        padding-top:10px;
    }

    .x8-fast-card__title{
        font-size:15px;
    }

    .x8-fast-card__price{
        font-size:14px;
    }

    .x8-fast-card__swatch{
        width:36px !important;
        height:36px !important;
        min-width:36px !important;
        min-height:36px !important;
    }
}