/*----HERO SECTION----*/
#shop-hero .swiper .rwhero{
    max-width:60rem;
}
#shop-hero .tab-show{
    display:none
}
#shop-hero .swiper-slide, .swiper-wrapper{
    padding-bottom:0 !important;
}
#shop-hero .hero.swiper-pagination{
    position:absolute !important;
}
#shop-hero .hero.swiper-button-prev, .hero.swiper-button-next{
    top:unset !important;
    bottom:0 !important;
}
#shop-hero .hero.swiper-button-prev:after, .hero.swiper-button-next:after{
    content:unset;
}
#shop-hero .hero-text-container{
    max-width:60rem;
    padding: var(--space-2xl) var(--space-sm) var(--space-md) var(--space-md);
}
#explore-btn{
    align-self:center; 
    z-index:10; 
    display:flex;
    bottom: var(--space-lg);
    visibility: hidden;
    transform: translateY(200%);
    transition: transform 300ms, opacity 300ms, visibility 300ms;
}
#explore-btn.is-shown{
    visibility: visible;
    transform: translateY(0);
    opacity:100%;
}
#explore-btn.is-up{
    opacity:0%;
    visibility: hidden;
    transform: translateY(-200%);
}
#explore-btn.is-up .btn-title{
    visibility: hidden;
    opacity:0%;
}

@media screen and (max-width: 1024px) {
    header{
        position: sticky;
        background: var(--color-header-sticky-bg);
    }
    #shop-hero .tab-flex-row{
        flex-direction: row !important;
    }
    #shop-hero .home-banner{
        min-height: auto;
        height:auto;
        flex-direction:column;
    }
    #shop-hero .home-banner .video-row{
        left:0%;
        clip-path: none;
    }
    #shop-hero .hero-text-container{

        padding: var(--space-2xl) var(--space-xs) var(--space-2xl) var(--space-md);
    }
}

/*---------PRODUCTS PAGE--------*/
/*--filters--*/
#filters{
    position:sticky;
    top:calc(var(--header-height-scroll) + (2 * var(--space-2xs)) + var(--banner-height));
}
#sort-products{
    border:unset;
}
#sort-products:focus-visible{
    border:unset;
    outline:unset;
}

/*--- PRODUCT TABS----*/
.tab-content{
    z-index:-1;
    min-width:100%;
    position:absolute;
    top:0;
    opacity:0%;
    transition: all 500ms;
    transform:translateX(30rem)
}
.tab-content.active{
    z-index:10;
    position:relative;
    opacity:100%;
    transform:translateX(0%)
}
.tab-content.inactive{
    z-index:-1 !important;
    position:absolute !important;
    top:0;
    opacity:0% !important;
    transform:translateX(-30rem) !important;
}

/*----MEGAMENU HOVER EFFECTS----*/
.nav-link:hover p{
    text-decoration: underline;
}
.menu-item:hover .menu-item-hover{
    transform:translateX(0) translateY(0);
}
.menu-item.active .menu-item-hover{
    transform:translateY(0%) translateX(0%);
}
.menu-item-hover{
    transition: transform 300ms;
    transform: translateX(-110%);
}
.mini-menu{
    display:none;
}
.mini-menu.is-shown{
    display:flex
}
.megamenu-mini-menu{
    flex-grow: 1;
}
@media screen and (max-width: 1024px) {
    .megamenu-content {
        padding-top: 9rem;
    }
    .megamenu-content .br{
        border:unset;
    }
}
@media screen and (max-width: 767px) {
    .megamenu-content {
        padding-top: 6.5rem;
    }
    .megamenu-mini-menu{
        width:200%;
        transition: transform 300ms;
    }
    .megamenu-mini-menu:has(.mini-menu.mob-is-shown){
        transform: translateX(calc(-50% - (var(--space-sm)/4)));
    }
    .menu-item.active .menu-item-hover{
        transform:translateX(-110%);
    }
    .menu-item.active.mob-active .menu-item-hover{
        transform:translateY(0%) translateX(0%);
    }
    .mini-menu.is-shown{
        display:none
    }
    .mini-menu.is-shown.mob-is-shown{
        display:flex
    }
}

/*----CAROUSEL----*/
/* Carousel */
.carousel {
    overflow: hidden;
}
.carousel-wrapper{
    width:max-content;
}
.carousel-el{
    min-width:100vw;
    display:flex;
    flex-direction: row;
    justify-content: space-between;
}
.carousel, .carousel-content{
    display:flex;
    position:relative;
    flex-direction:row;
}
.carousel-wrapper.banner {
    display: flex;
    width: max-content;
    will-change: transform;
    transform: translate3d(0, 0, 0);
    animation: carousel-scroll 35s linear infinite;
    animation-delay: 5s;
}
@keyframes carousel-scroll {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}

/*------PRODUCT PAGE-------*/
.scroll{
    overflow:scroll;
    -ms-overflow-style: none;  /* Internet Explorer 10+ */
    scrollbar-width: none;  /* Firefox, Safari 18.2+, Chromium 121+ */
}
.scroll::-webkit-scrollbar { 
    display: none;  /* Older Safari and Chromium */
}
.lightbox-image{
    min-width:20%;
    cursor: pointer;
}
.lightbox-image.active{
    outline: 2px solid var(--color-bg-accent);
    outline-offset: 2px;
}
.best-seller{
    position:absolute;
    top:var(--space-xs);
    left:0;
    padding:var(--space-2xs) var(--space-xs);
    background: var(--color-bg-accent);
    box-shadow: 3px 3px 6px rgba(0,0,0,0.3);
    border-right: 1px solid var(--color-border);
    border-top: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
}
#content #custom,
#content #buy{
    padding-top: calc(var(--space-xl) * 1.1);
}
@media screen and (max-width: 1024px) {
    #content #custom,
    #content #buy{
        padding-top: var(--space-md);
    }
}

/*------GENERAL COLOUR SCHEME-------*/
.bg-accent .icon.lg{
    filter:invert(1);
}
.bg-accent p,
.bg-accent span,
.bg-accent .heading{
    color: var(--color-secondary-text) !important;
}

/*-COLOUR SCHEME FOR CUSTOM VOUCHERS-*/
#custom-vouchers.bg-white{
    background:unset !important;
}
#custom-vouchers.bg-white .color-secondary{
    color:var(--color-heading-text)
}
#content .filter-input .control > .line {
    background-color: var(--color-heading-text);
}

/*------GENERAL STRUCTURAL CHANGES-------*/
.btn.small .btn-title{
    padding-right:var(--space-xs);
    padding-left:var(--space-xs);
}
.btn.selected{
    background-color: var(--color-bg-accent);
    outline: 2px solid var(--color-bg-accent);
    outline-offset: 2px;
}
/*footer{
    margin-top:calc(var(--space-xl) * -1)
}*/
input::placeholder{
    color:var(--color-secondary-text);
    opacity:60%;
}
@media screen and (max-width: 767px) {
    .signup-input{
        grid-column: span 1 !important;
    }
}

/*----- FILTERS -----*/
.filter-container{
    position:fixed;
    inset:0;
    background-color: rgba(0,0,0,0.25);
    z-index:2010;
    visibility:hidden;
}
.filter-wrapper{
    transition: 300ms;
    left:-35rem;
    position:relative;
    padding:var(--space-md) var(--space-sm);
    max-width:30rem;
    height:100%;
    width:100%;
    background-color: var(--color-bg);
    display:flex;
    flex-direction: column;
    gap:var(--space-sm);
    max-height:100svh;
    overflow-y:scroll;
}
.filter-container.is-open{
    visibility: visible;
}
.filter-container.is-open .filter-wrapper{
    left: 0;
}
.accordion.filters{
    border-top: 1px solid var(--color-heading-text);
}
.accordion.filters .accordion-item{
    border: unset;
    border-bottom: 1px solid var(--color-heading-text);
    border-radius: 0px;
}
.accordion.filters .accordion-title,
.accordion.filters .accordion-content{
    background-color: unset;
}
.accordion.filters .accordion-item + .accordion-item {
    margin-top: 0;
}
.shop-filter.active .filter-tick{
    background-color: var(--color-accent);
}

.range_container {
    display: flex;
    flex-direction: column;
    width: 80%;
    margin: 100px auto;
}
.sliders_control {
    position: relative;
    min-height: 50px;
}
.form_control {
    position: relative;
    display: flex;
    justify-content: space-between;
    font-size: 24px;
    color: #635a5a;
}
input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none;
    pointer-events: all;
    width: 24px;
    height: 24px;
    background-color: #fff;
    border-radius: 50%;
    box-shadow: 0 0 0 1px #C6C6C6;
    cursor: pointer;
}
input[type=range]::-moz-range-thumb {
    -webkit-appearance: none;
    pointer-events: all;
    width: 24px;
    height: 24px;
    background-color: #fff;
    border-radius: 50%;
    box-shadow: 0 0 0 1px #C6C6C6;
    cursor: pointer;  
}
input[type=range]::-webkit-slider-thumb:hover {
    background: #f7f7f7;
}
input[type=range]::-webkit-slider-thumb:active {
    box-shadow: inset 0 0 3px var(--color-accent), 0 0 9px var(--color-accent);
    -webkit-box-shadow: inset 0 0 3px var(--color-accent), 0 0 9px var(--color-accent);
}
input[type="number"]:not(.input-number) {
    width: 50px;
    height: var(--heading-xs);
    border: none;
}
input[type=number]::-webkit-inner-spin-button, 
input[type=number]::-webkit-outer-spin-button {  
    opacity: 1;
}
input[type="range"] {
    -webkit-appearance: none; 
    appearance: none;
    height: 0.5rem;
    width: 100%;
    position: absolute;
    background-color: #C6C6C6;
    pointer-events: none;
}
#fromSlider {
    height: 0;
    z-index: 1;
    top:0.25rem;
}

/*----GIFT FINDER----*/
@media screen and (max-width: 767px) {
    .selection-wrapper{
        height:auto;
    }
    .selection-wrapper:not(.active){
        height:0px;
    }
}

/*----PRODUCT TILE----*/
.product-link{
    aspect-ratio: 4/3;
}
@media screen and (max-width: 1024px){
    .product-link{
        aspect-ratio: 4/2;
    }
}
.collection-tile{
    aspect-ratio: 9/10;
}
@media screen and (max-width: 1024px){
    .collection-tile{
        aspect-ratio: 4/3;
    }
}


/*---COLLECTIONS & PRODUCTS SWIPER----*/
.products,
.collections{
    max-width:1440px;
    width:100%;
    margin: 0 auto;
}
.collections .collection-swiper .swiper-slide{
    width:18% !important;
} 
.products .collection-swiper .swiper-slide{
    width:23% !important;
}
@media screen and (max-width:1280px){
    .collections .collection-swiper .swiper-slide{
        width:24% !important;
    }
    .products .collection-swiper .swiper-slide{
        width:29% !important;
    }
}
@media screen and (max-width:1124px){
    .collections .collection-swiper .swiper-slide{
        width:29% !important;
    }
    .products .collection-swiper .swiper-slide{
        width:35% !important;
    }
}
@media screen and (max-width:650px){
    .collections .collection-swiper .swiper-slide{
        width:42% !important;
    }
    .products .collection-swiper .swiper-slide{
        width:60% !important;
    }
}
@media screen and (max-width:450px){
    .collections .collection-swiper .swiper-slide{
        width:60% !important;
    }
    .products .collection-swiper .swiper-slide{
        width:85% !important;
    }
}

/*---PRODUCT GRID----*/
.product-grid{
    display:grid;
    /*gap:var(--space-sm);*/
    max-width:2100px;
    width: calc(100% + var(--space-sm));
    margin-right: calc(var(--space-sm) * -0.5);
    margin-left: calc(var(--space-sm) * -0.5);
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: repeat(3, auto);
    grid-auto-rows: 0px;
    overflow:hidden;
}
.product-grid .tile-wrapper{
    margin-right:calc(var(--space-sm) / 2);
    margin-left:calc(var(--space-sm) / 2);
}
.product-grid .tile-wrapper{
    margin-bottom :var(--space-sm);
}
@media screen and (max-width:1680px){
    .product-grid{
        grid-template-columns: repeat(4, 1fr);
    }
}
@media screen and (max-width:1280px){
    .product-grid{
        grid-template-columns: repeat(3, 1fr);
    }
}
@media screen and (max-width:1024px){
    .product-grid{
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(4, auto);
    }
}
@media screen and (max-width:650px){
    .product-grid{
        grid-template-columns: repeat(1, 1fr);
        grid-template-rows: repeat(5, auto);
    }
    .product-grid .tile-wrapper{
        margin-right:0;
        margin-left:0;
    }
}