/*==================================================
    HOMEPAGE
    DARK PREMIUM / MOBILE FIRST
==================================================*/

:root{

    --bg:#08080b;
    --bg-soft:#0d0d11;

    --card:#17171d;
    --card-2:#1d1d24;

    --text:#ffffff;
    --muted:#a5a5ae;

    --border:#2b2b34;

    --white:#ffffff;

    --ig-gradient:
        linear-gradient(
            135deg,
            #feda75 0%,
            #fa7e1e 25%,
            #d62976 55%,
            #962fbf 78%,
            #4f5bd5 100%
        );

    --ig-pink:#d62976;

    --green:#00f59b;

    --section-gap:30px;

}


/*==================================================
    RESET
==================================================*/

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

html,
body{

    margin:0;
    padding:0;

    width:100%;
    min-height:100%;

    background:var(--bg) !important;

    color:var(--text);

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    overflow-x:hidden;

}

body{
    -webkit-font-smoothing:antialiased;
}

img{
    max-width:100%;
    display:block;
}

a{
    color:inherit;
    text-decoration:none;
}

button{
    font-family:inherit;
}


/*==================================================
    HOMEPAGE
==================================================*/

#homepage{

    width:100%;

    min-height:100vh;

    background:var(--bg) !important;

}


/*==================================================
    HOME SECTION
==================================================*/

.home-section{

    position:relative;

    width:100%;

    background:transparent;

    color:#fff;

}


/*==================================================
    HOME CONTAINER
==================================================*/

.home-container{

    width:100%;

    max-width:1280px;

    margin:0 auto;

    padding-left:12px;

    padding-right:12px;

    background:transparent;

}


/*==================================================
    HEADING SECTION
==================================================*/

.home-section-heading{

    padding-top:32px;

    padding-bottom:28px;

}

.heading-section{

    text-align:center;

}

.heading-badge{

    display:inline-block;

    margin-bottom:9px;

    padding:6px 13px;

    border-radius:30px;

    background:#1d1d24;

    color:#ff5fa2;

    font-size:11px;

    font-weight:700;

}

.heading-section h2{

    margin:0;

    color:#fff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:30px;

    line-height:1.15;

    font-weight:700;

    text-transform:uppercase;

}

.heading-section p{

    margin:9px auto 0;

    max-width:650px;

    color:var(--muted);

    font-size:13px;

    line-height:1.5;

}


/*==================================================
    BANNER SECTION
==================================================*/

.home-section-banner{

    padding-top:18px;

    padding-bottom:30px;

}

.home-banner{

    position:relative;

    width:100%;

    overflow:hidden;

    border-radius:22px;

    background:#15151a;

    border:1px solid #303038;

}

.banner-track{

    position:relative;

    width:100%;

}

.banner-slide{

    display:none;

    position:relative;

    width:100%;

    aspect-ratio:16 / 7;

    overflow:hidden;

}

.banner-slide.active{

    display:block;

}

.banner-slide > img{

    width:100%;

    height:100%;

    object-fit:cover;

}

.banner-main-link{

    position:relative;

    display:block;

    width:100%;

    height:100%;

}


/*==================================================
    BANNER NO IMAGE
==================================================*/

.banner-no-image{

    width:100%;

    height:100%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#18181f;

    color:#777;

    font-size:14px;

}


/*==================================================
    BANNER CONTENT
==================================================*/

.banner-content{

    position:absolute;

    inset:0;

    z-index:2;

    display:flex;

    flex-direction:column;

    justify-content:center;

    padding:20px;

    color:#fff;

    background:
        linear-gradient(
            to top,
            rgba(0,0,0,.55),
            transparent 65%
        );

}

.banner-content-center{

    align-items:center;

    text-align:center;

}

.banner-content-left{

    align-items:flex-start;

    text-align:left;

}

.banner-content-right{

    align-items:flex-end;

    text-align:right;

}

.banner-content h2{

    margin:0;

    max-width:85%;

    font-size:25px;

    line-height:1.15;

    font-weight:800;

}

.banner-content p{

    margin:7px 0 0;

    max-width:85%;

    color:#eee;

    font-size:12px;

    line-height:1.45;

}

.banner-button{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    margin-top:13px;

    padding:10px 18px;

    border:0;

    border-radius:12px;

    background:var(--ig-gradient);

    color:#fff;

    font-size:12px;

    font-weight:800;

    box-shadow:
        0 5px 18px rgba(214,41,118,.25);

}


/*==================================================
    BANNER ARROWS
==================================================*/

.banner-prev,
.banner-next{

    position:absolute;

    top:50%;

    z-index:10;

    width:38px;

    height:38px;

    border:0;

    border-radius:50%;

    transform:translateY(-50%);

    background:rgba(0,0,0,.5);

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:25px;

    line-height:1;

    cursor:pointer;

}

.banner-prev{

    left:10px;

}

.banner-next{

    right:10px;

}


/*==================================================
    BANNER DOTS
==================================================*/

.banner-dots{

    position:absolute;

    left:50%;

    bottom:10px;

    z-index:10;

    display:flex;

    gap:6px;

    transform:translateX(-50%);

}

.banner-dot{

    width:7px;

    height:7px;

    padding:0;

    border:0;

    border-radius:50%;

    background:rgba(255,255,255,.6);

    cursor:pointer;

}

.banner-dot.active{

    width:18px;

    border-radius:10px;

    background:#fff;

}


/*==================================================
    CAROUSEL HEADING
==================================================*/

.carousel-heading{

    display:flex;

    align-items:center;

    justify-content:space-between;

    margin-bottom:16px;

    padding:0 5px;

}

.carousel-heading h2{

    margin:0;

    color:#fff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:27px;

    line-height:1.2;

    font-weight:600;

}

.carousel-heading p{

    margin:5px 0 0;

    color:var(--muted);

    font-size:13px;

    line-height:1.4;

}

.view-all{

    flex-shrink:0;

    margin-left:10px;

    padding:7px 11px;

    border-radius:9px;

    background:var(--ig-gradient);

    color:#fff;

    font-size:11px;

    font-weight:800;

}


/*==================================================
    IMAGE CAROUSEL SECTION
==================================================*/

.home-section-imageCarousel{

    padding-top:30px;

    padding-bottom:35px;

}


/*==================================================
    IMAGE CAROUSEL
==================================================*/

.image-carousel{

    display:flex;

    gap:14px;

    width:100%;

    overflow-x:auto;

    overflow-y:hidden;

    scrollbar-width:none;

    -webkit-overflow-scrolling:touch;

    scroll-snap-type:x mandatory;

    padding:0 3px 4px;

    overscroll-behavior-x:contain;

    touch-action:auto;

}

.image-carousel::-webkit-scrollbar{

    display:none;

}

.image-carousel-item{

    flex:0 0 calc(25% - 11px);

    min-width:0;

    scroll-snap-align:start;

    text-align:center;

}

.image-box{

    width:100%;

    aspect-ratio:1 / 1;

    overflow:hidden;

    border-radius:18px;

    background:#18181e;

}

.image-box img{

    width:100%;

    height:100%;

    object-fit:cover;

}

.image-carousel-title{

    margin-top:9px;

    min-height:34px;

    color:#fff;

    font-size:12px;

    line-height:1.3;

    font-weight:600;

}


/*==================================================
    PRODUCT CAROUSEL SECTION
==================================================*/

.home-section-productCarousel{

    padding-top:30px;

    padding-bottom:38px;

}


/*==================================================
    PRODUCT SECTION TITLE
==================================================*/

.home-section-productCarousel
.carousel-heading{

    margin:0;

    padding:20px 14px;

    border-radius:20px 20px 0 0;

    justify-content:center;

    background:var(--ig-gradient);

}

.home-section-productCarousel
.carousel-heading h2{

    color:#fff;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size:25px;

    font-weight:900;

    letter-spacing:1px;

    text-align:center;

    text-transform:uppercase;

}

.home-section-productCarousel
.carousel-heading p,
.home-section-productCarousel
.view-all{

    display:none;

}


/*==================================================
    PRODUCT TRACK
==================================================*/

.product-carousel{

    display:flex;

    flex-direction:row;

    flex-wrap:nowrap;

    gap:14px;

    width:100%;

    overflow-x:auto;

    overflow-y:hidden;

    padding:10px;

    background:#0d0d11;

    border:1px solid #26262d;

    border-top:0;

    scroll-behavior:smooth;

    -webkit-overflow-scrolling:touch;

    scrollbar-width:none;

}


/*==================================================
    HIDE HORIZONTAL SCROLLBAR
==================================================*/

.product-carousel::-webkit-scrollbar{

    display:none;

}


/*==================================================
    PRODUCT CARD INSIDE CAROUSEL
==================================================*/

.product-carousel .product-card{

    flex:0 0 250px;

    width:250px;

    min-width:250px;

}


/*==================================================
    MOBILE
==================================================*/

@media(max-width:600px){

    .product-carousel{

        gap:14px;

        padding:10px;

    }


    .product-carousel .product-card{

        flex:0 0 170px;

        width:170px;

        min-width:170px;

    }

}


/*==================================================
    PRODUCT CARD
==================================================*/

.product-card{

    position:relative;

    display:block;

    min-width:0;

    overflow:hidden;

    background:var(--card);

    border:1px solid #28282f;

    border-radius:22px;

    color:#fff;

    box-shadow:
        0 5px 20px rgba(0,0,0,.22);

    transition:
        transform .2s ease,
        border-color .2s ease;

}

.product-card:hover{

    border-color:#3b3b46;

}

.product-card:active{

    transform:scale(.985);

}


/*==================================================
    PRODUCT IMAGE
==================================================*/

.product-image{

    position:relative;

    width:100%;

    aspect-ratio:1 / 1;

    overflow:hidden;

    background:#202027;

}

.product-image img{

    width:100%;

    height:100%;

    object-fit:cover;

}

.product-image-empty{

    width:100%;

    height:100%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#202027;

    color:#777;

    font-size:13px;

}


/*==================================================
    PRODUCT DISCOUNT BADGE
==================================================*/

.product-discount{

    position:absolute;

    top:14px;

    left:12px;

    z-index:5;

    min-width:32px !important;

    height:32px !important;
    
    width:32px !important;

    padding:0 8px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:#00f59b;

    color:#001b12;

    font-size:9px !important;

    font-weight:900;

}


/*==================================================
    PRODUCT BESTSELLER BADGE
==================================================*/

.product-bestseller{

    position:absolute;

    top:14px;

    right:12px;

    z-index:5;

    padding:9px 12px;

    border-radius:10px;

    background:#ffc400;

    color:#111;

    font-size:12px;

    font-weight:900;

    white-space:nowrap;

}


/*==================================================
    PRODUCT WISHLIST
==================================================*/

.product-wishlist{

    position:absolute;

    top:12px;

    right:12px;

    z-index:6;

    width:32px;

    height:32px;

    padding:0;

    border:0;

    border-radius:50%;

    background:rgba(255,255,255,.96);

    color:#333;

    font-size:18px;

    line-height:1;

    display:flex;

    align-items:center;

    justify-content:center;

    box-shadow:
        0 4px 14px rgba(0,0,0,.18);

    cursor:pointer;

}

.product-wishlist.active{

    color:#e91e63;

}


/*==================================================
    PRODUCT INFO
==================================================*/

.product-info{

    padding:13px 12px 14px;

    background:var(--card);

}

.product-info h3{

    display:-webkit-box;

    -webkit-box-orient:vertical;

    -webkit-line-clamp:3;

    overflow:hidden;

    min-height:68px;

    margin:0;

    color:#fff;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size:17px;

    line-height:1.32;

    font-weight:700;

}


/*==================================================
    PRODUCT PRICES
==================================================*/

.product-prices{

    display:flex;

    align-items:center;

    flex-wrap:wrap;

    gap:8px;

    margin-top:10px;

}

.product-sale-price{

    color:#fff;

    font-size:19px;

    font-weight:900;

}

.product-old-price{

    color:#777780;

    font-size:14px;

    text-decoration:line-through;

}


/* Compatibility with older class */

.product-prices strong{

    color:#fff;

    font-size:19px;

    font-weight:900;

}


/*==================================================
    PRODUCT BUTTON
==================================================*/

.product-button{

    display:flex;

    align-items:center;

    justify-content:center;

    width:100%;

    min-height:44px;

    margin-top:12px;

    border:0;

    border-radius:12px;

    background:var(--ig-gradient);

    color:#fff;

    font-size:12px;

    font-weight:900;

    letter-spacing:.5px;

    box-shadow:
        0 5px 15px rgba(214,41,118,.22);

}


/*==================================================
    GENERAL CAROUSEL DOTS
==================================================*/

.carousel-dots{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:8px;

    margin-top:16px;

}

.carousel-dots span{

    width:8px;

    height:8px;

    border-radius:50%;

    background:#55555e;

    transition:
        transform .2s ease,
        background .2s ease;

}

.carousel-dots span.active{

    background:#fff;

    transform:scale(1.15);

}


/*==================================================
    YOUTUBE CAROUSEL SECTION
==================================================*/

.home-section-youtubeCarousel{

    padding-top:35px;

    padding-bottom:42px;

}


/*==================================================
    YOUTUBE CAROUSEL TRACK
==================================================*/

.youtube-carousel{

    display:flex;

    gap:10px;

    overflow-x:auto;

    overflow-y:hidden;

    scrollbar-width:none;

    -webkit-overflow-scrolling:touch;

    scroll-snap-type:x mandatory;

    padding:0 3px;

    overscroll-behavior-x:contain;

    touch-action:auto;

}

.youtube-carousel::-webkit-scrollbar{

    display:none;

}


/*==================================================
    YOUTUBE VIDEO ITEM
==================================================*/

.youtube-item{

    position:relative;

    flex:0 0 70%;

    aspect-ratio:9 / 16;

    scroll-snap-align:start;

    scroll-snap-stop:always;

    overflow:hidden;

    border-radius:18px;

    background:#000;

    border:1px solid #222;

    isolation:isolate;

}


/*==================================================
    YOUTUBE THUMBNAIL
==================================================*/

.youtube-thumbnail{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    background-color:#000;

    background-position:center;

    background-repeat:no-repeat;

    background-size:cover;

    z-index:1;

    cursor:pointer;

}


/*==================================================
    YOUTUBE PLAYING STATE
==================================================*/

.youtube-item.is-playing
.youtube-thumbnail{

    display:none;

}


/*==================================================
    YOUTUBE IFRAME
==================================================*/

.youtube-item iframe{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    border:0;

    display:none;

    z-index:2;

    background:#000;

}


/*==================================================
    SHOW IFRAME
==================================================*/

.youtube-item.is-playing iframe{

    display:block;

}


/*==================================================
    YOUTUBE PLAY INDICATOR
==================================================*/

.youtube-play-indicator{

    position:absolute;

    left:50%;

    top:50%;

    transform:
        translate(
            -50%,
            -50%
        );

    width:52px;

    height:52px;

    border-radius:50%;

    background:rgba(
        0,
        0,
        0,
        .55
    );

    display:flex;

    align-items:center;

    justify-content:center;

    z-index:3;

    pointer-events:none;

}

.youtube-play-indicator::after{

    content:"";

    width:0;

    height:0;

    border-top:9px solid transparent;

    border-bottom:9px solid transparent;

    border-left:14px solid #fff;

    margin-left:4px;

}

.youtube-item.is-playing
.youtube-play-indicator{

    display:none;

}


/*==================================================
    REVIEW CAROUSEL SECTION
==================================================*/

.home-section-reviewCarousel{

    padding-top:35px;

    padding-bottom:42px;

}


/*==================================================
    REVIEW CAROUSEL TRACK
==================================================*/

.review-carousel{

    display:flex;

    gap:18px;

    overflow-x:auto;

    overflow-y:hidden;

    scroll-snap-type:x mandatory;

    -webkit-overflow-scrolling:touch;

    scrollbar-width:none;

    padding:10px 0 20px;

    overscroll-behavior-x:contain;

    touch-action:auto;

}

.review-carousel::-webkit-scrollbar{

    display:none;

}


/*==================================================
    REVIEW CARD
==================================================*/

.review-card{

    flex:0 0 86%;

    max-width:420px;

    scroll-snap-align:center;

    background:#17161d;

    border:1px solid #28272f;

    border-radius:24px;

    padding:24px;

    box-sizing:border-box;

    overflow:hidden;

}


/*==================================================
    REVIEW CUSTOMER
==================================================*/

.review-customer{

    display:flex;

    align-items:center;

    gap:14px;

    margin-bottom:18px;

}

.review-avatar{

    width:58px;

    height:58px;

    min-width:58px;

    border-radius:50%;

    object-fit:cover;

    display:block;

}

.review-avatar-empty{

    width:58px;

    height:58px;

    min-width:58px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#292731;

    color:#fff;

    font-size:24px;

    font-weight:700;

}

.review-customer-info{

    min-width:0;

}

.review-name{

    margin:0 0 7px;

    color:#fff;

    font-size:18px;

    font-weight:700;

}


/*==================================================
    REVIEW STARS
==================================================*/

.review-stars{

    color:#ffc400;

    font-size:20px;

    letter-spacing:2px;

    line-height:1;

}


/*==================================================
    REVIEW TEXT
==================================================*/

.review-text{

    margin:14px 0 18px;

    color:#eee;

    font-size:17px;

    line-height:1.5;

    word-break:break-word;

}


/*==================================================
    REVIEW PRODUCT IMAGE
==================================================*/

.review-product-image{

    width:100%;

    height:180px;

    border-radius:14px;

    overflow:hidden;

    background:#24232b;

}

.review-product-image img{

    width:100%;

    height:100%;

    display:block;

    object-fit:cover;

    object-position:center;

}


/*==================================================
    REVIEW PRODUCT NAME
==================================================*/

.review-product-name{

    margin-top:8px;

    color:#fff;

    font-size:16px;

    font-weight:600;

}


/*==================================================
    REVIEW DOTS
==================================================*/

.review-dots{

    margin-top:8px;

}


/*==================================================
    SPACER
==================================================*/

.home-section-spacer{

    width:100%;

    background:transparent;

}


/*==================================================
    EMPTY / ERROR
==================================================*/

.carousel-empty{

    padding:35px 15px;

    text-align:center;

    color:#888;

    font-size:14px;

}

.homepage-empty,
.homepage-error{

    min-height:300px;

    padding:40px 20px;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    text-align:center;

    background:var(--bg);

}

.homepage-empty h2,
.homepage-error h2{

    margin:0 0 8px;

    color:#fff;

    font-size:22px;

}

.homepage-empty p,
.homepage-error p{

    margin:0;

    color:#888;

    font-size:14px;

}


/*==================================================
    HOMEPAGE LOADER
==================================================*/

#homepageLoader{

    position:fixed;

    inset:0;

    z-index:99999;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#08080b;

    color:#fff;

}

#homepageLoader.hidden{

    display:none;

}


/*==================================================
    WRITE REVIEW BUTTON
==================================================*/

.write-review-btn{

    display:block;

    margin:30px auto;

    padding:13px 22px;

    border:none;

    border-radius:999px;

    background:#111;

    color:#fff;

    font-size:15px;

    font-weight:600;

    cursor:pointer;

    box-shadow:
        0 5px 20px rgba(0,0,0,.18);

    transition:
        transform .2s ease,
        opacity .2s ease;

}

.write-review-btn:hover{

    transform:translateY(-1px);

}

.write-review-btn:active{

    transform:scale(.97);

}


/*==================================================
    REVIEW POPUP
==================================================*/

.review-popup{

    position:fixed;

    inset:0;

    z-index:99999;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:15px;

    box-sizing:border-box;

    background:
        rgba(0,0,0,.72);

}

.review-popup.hidden{

    display:none !important;

}

.review-popup.show{

    display:flex;

}


/*==================================================
    REVIEW POPUP BOX
==================================================*/

.review-popup-box{

    width:100%;

    max-width:500px;

    max-height:92vh;

    overflow-y:auto;

    box-sizing:border-box;

    background:#fff;

    color:#111;

    border-radius:18px;

    padding:20px;

    position:relative;

    box-shadow:
        0 20px 60px rgba(0,0,0,.35);

}


/*==================================================
    REVIEW POPUP HEADER
==================================================*/

.review-popup-header{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:15px;

    margin-bottom:20px;

}

.review-popup-header h2{

    margin:0;

    font-size:21px;

}

.review-close-btn{

    flex-shrink:0;

    width:38px;

    height:38px;

    border:none;

    border-radius:50%;

    background:#f1f1f1;

    color:#111;

    font-size:27px;

    line-height:1;

    cursor:pointer;

}


/*==================================================
    CUSTOMER REVIEW FORM
==================================================*/

.customer-review-form{

    display:flex;

    flex-direction:column;

    gap:9px;

}

.customer-review-form label{

    margin-top:7px;

    font-size:14px;

    font-weight:600;

}

.optional-label{

    font-size:11px;

    font-weight:400;

    color:#888;

    margin-left:5px;

}


/*==================================================
    REVIEW FORM INPUTS
==================================================*/

.customer-review-form
input[type="text"],
.customer-review-form
textarea{

    width:100%;

    box-sizing:border-box;

    border:1px solid #ddd;

    border-radius:10px;

    padding:12px;

    font-size:14px;

    outline:none;

    background:#fff;

    color:#111;

}

.customer-review-form
input[type="text"]:focus,
.customer-review-form
textarea:focus{

    border-color:#111;

}

.customer-review-form textarea{

    resize:vertical;

    min-height:110px;

}


/*==================================================
    REVIEW FILE INPUT
==================================================*/

.customer-review-form
input[type="file"]{

    width:100%;

    box-sizing:border-box;

    padding:10px;

    border:1px dashed #ccc;

    border-radius:10px;

    background:#fafafa;

    font-size:13px;

}


/*==================================================
    CUSTOMER IMAGE PREVIEW
==================================================*/

.customer-image-preview{

    display:flex;

    align-items:center;

    gap:12px;

    padding:10px;

    border-radius:10px;

    background:#f7f7f7;

}

.customer-image-preview img{

    width:70px;

    height:70px;

    object-fit:cover;

    border-radius:10px;

}

.customer-image-preview button{

    border:none;

    background:#eee;

    border-radius:8px;

    padding:8px 12px;

    cursor:pointer;

    font-size:13px;

}

.customer-image-preview.hidden{

    display:none !important;

}


/*==================================================
    REVIEW PRODUCT SEARCH
==================================================*/

.review-product-search{

    position:relative;

}

.review-product-search input{

    width:100%;

    box-sizing:border-box;

    border:1px solid #ddd;

    border-radius:10px;

    padding:12px;

    font-size:14px;

    outline:none;

}

.review-product-search input:focus{

    border-color:#111;

}


/*==================================================
    REVIEW PRODUCT RESULTS
==================================================*/

.review-product-results{

    position:absolute;

    z-index:999;

    left:0;

    right:0;

    top:calc(100% + 5px);

    max-height:240px;

    overflow-y:auto;

    background:#fff;

    border:1px solid #ddd;

    border-radius:10px;

    box-shadow:
        0 10px 30px rgba(0,0,0,.15);

}

.review-product-results.hidden{

    display:none !important;

}

.review-product-result{

    width:100%;

    display:flex;

    align-items:center;

    gap:12px;

    padding:10px;

    border:none;

    border-bottom:1px solid #eee;

    background:#fff;

    text-align:left;

    cursor:pointer;

}

.review-product-result:last-child{

    border-bottom:none;

}

.review-product-result:hover{

    background:#f5f5f5;

}

.review-product-result img,
.review-product-result-placeholder{

    width:52px;

    height:52px;

    flex-shrink:0;

    object-fit:cover;

    border-radius:8px;

}

.review-product-result-placeholder{

    display:flex;

    align-items:center;

    justify-content:center;

    background:#eee;

    color:#888;

    font-size:10px;

    text-align:center;

}

.review-product-result span{

    color:#111;

    font-size:14px;

}

.review-product-loading,
.review-product-error,
.review-product-no-results{

    padding:15px;

    text-align:center;

    font-size:13px;

    color:#777;

}


/*==================================================
    SELECTED REVIEW PRODUCT
==================================================*/

.selected-review-product{

    display:flex;

    align-items:center;

    gap:12px;

    padding:10px;

    margin-top:5px;

    border-radius:10px;

    background:#f7f7f7;

    border:1px solid #e5e5e5;

}

.selected-review-product.hidden{

    display:none !important;

}

.selected-review-product > img{

    width:65px;

    height:65px;

    object-fit:cover;

    border-radius:8px;

}

.selected-review-product-info{

    min-width:0;

    display:flex;

    flex-direction:column;

    gap:6px;

}

.selected-review-product-info strong{

    font-size:14px;

    word-break:break-word;

}

.selected-review-product-info button{

    align-self:flex-start;

    border:none;

    border-radius:6px;

    padding:5px 10px;

    background:#eee;

    cursor:pointer;

}


/*==================================================
    REVIEW RATING
==================================================*/

.review-rating{

    display:flex;

    align-items:center;

    gap:4px;

    margin-bottom:5px;

}

.review-rating button{

    width:38px;

    height:38px;

    padding:0;

    border:none;

    background:transparent;

    color:#ccc;

    font-size:27px;

    line-height:1;

    cursor:pointer;

    transition:
        color .15s ease,
        transform .15s ease;

}

.review-rating button.active{

    color:#f5b301;

}

.review-rating button:hover{

    transform:scale(1.1);

}


/*==================================================
    REVIEW FORM ERROR
==================================================*/

.review-form-error{

    padding:10px 12px;

    border-radius:8px;

    background:#fff0f0;

    color:#c62828;

    font-size:13px;

}

.review-form-error.hidden{

    display:none !important;

}


/*==================================================
    REVIEW FORM SUCCESS
==================================================*/

.review-form-success{

    padding:10px 12px;

    border-radius:8px;

    background:#edf9f0;

    color:#197333;

    font-size:13px;

}

.review-form-success.hidden{

    display:none !important;

}


/*==================================================
    SUBMIT REVIEW
==================================================*/

.submit-review-btn{

    width:100%;

    margin-top:10px;

    padding:13px;

    border:none;

    border-radius:10px;

    background:#111;

    color:#fff;

    font-size:15px;

    font-weight:600;

    cursor:pointer;

}

.submit-review-btn:hover{

    opacity:.9;

}

.submit-review-btn:disabled{

    opacity:.55;

    cursor:not-allowed;

}


/*==================================================
    REVIEW POPUP BODY LOCK
==================================================*/

body.review-popup-open{

    overflow:hidden;

}


/*==================================================
    MOBILE
==================================================*/

@media(max-width:480px){

    .home-container{

        padding-left:12px;

        padding-right:12px;

    }

    .review-popup{

        padding:10px;

        align-items:flex-end;

    }

    .review-popup-box{

        max-height:94vh;

        border-radius:
            18px
            18px
            10px
            10px;

        padding:17px;

    }

    .review-popup-header h2{

        font-size:19px;

    }

    .write-review-btn{

        margin:25px auto;

    }

    .review-card{

        flex-basis:86%;

        padding:22px;

    }

    .review-product-image{

        height:170px;

    }

}


/*==================================================
    SMALL MOBILE
==================================================*/

@media(max-width:599px){

    .home-container{

        padding-left:12px;

        padding-right:12px;

    }

    .product-carousel{

        gap:10px;

        padding:10px;

    }

    .product-card{

        border-radius:21px;

    }

    .product-info{

        padding:12px 10px 13px;

    }

    .product-info h3{

        font-size:16px;

        min-height:64px;

    }

    .product-discount{

        width:46px;

        height:46px;

        min-width:46px;

        top:13px;

        left:11px;

        font-size:12px;

    }

    .product-bestseller{

        top:13px;

        right:10px;

        padding:8px 10px;

        font-size:11px;

    }

    .youtube-carousel{

        gap:10px;

        padding-left:3px;

        padding-right:3px;

    }

    .youtube-item{

        flex:0 0 60%;

        border-radius:18px;

    }

    .review-card{

        flex-basis:86%;

        padding:22px;

    }

    .review-product-image{

        height:170px;

    }

}


/*==================================================
    TABLET
==================================================*/

@media(min-width:600px){

    .home-container{

        padding-left:18px;

        padding-right:18px;

    }

    .product-carousel{

        grid-template-columns:
            repeat(3,minmax(0,1fr));

    }

    .youtube-item{

        flex-basis:30%;

    }

    .review-card{

        flex-basis:55%;

    }

}


/*==================================================
    DESKTOP
==================================================*/

@media(min-width:900px){

    .home-container{

        padding-left:25px;

        padding-right:25px;

    }

    .banner-slide{

        aspect-ratio:16 / 6;

    }

    .banner-content h2{

        font-size:40px;

    }

    .image-carousel-item{

        flex-basis:180px;

    }

    .product-carousel{

        grid-template-columns:
            repeat(4,minmax(0,1fr));

    }

    .product-info h3{

        font-size:18px;

    }

    .youtube-item{

        flex-basis:250px;

    }

    .review-card{

        flex-basis:360px;

    }

}


/*==================================================
    LARGE DESKTOP
==================================================*/

@media(min-width:1280px){

    .home-container{

        padding-left:0;

        padding-right:0;

    }

}
