/* =========================================
   PROMO BANNER
========================================= */

.promo-banner{

    padding:80px 0;
}

/* BOX */

.promo-box{

    position:relative;

    overflow:hidden;

    border-radius:30px;

    min-height:320px;

    background:
    linear-gradient(
        135deg,
        rgba(255,102,0,.95),
        rgba(255,61,0,.95)
    );

    display:flex;

    align-items:center;

    padding:60px;

    box-shadow:
    0 25px 60px rgba(255,102,0,.2);
}

/* LIGHT EFFECT */

.promo-box::before{

    content:"";

    position:absolute;

    width:400px;

    height:400px;

    border-radius:50%;

    background:
    rgba(255,255,255,.08);

    top:-150px;

    right:-120px;
}

/* CONTENT */

.promo-content{

    position:relative;

    z-index:5;

    color:#fff;

    max-width:520px;
}

/* TAG */

.promo-tag{

    display:inline-block;

    margin-bottom:20px;

    font-size:16px;

    letter-spacing:4px;

    text-transform:uppercase;

    opacity:.9;
}

/* TITLE */

.promo-content h2{

    font-size:64px;

    line-height:1;

    margin-bottom:24px;

    font-weight:800;
}

/* TEXT */

.promo-content p{

    font-size:20px;

    margin-bottom:35px;

    opacity:.9;
}

/* BUTTON */

.promo-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    height:58px;

    padding:0 42px;

    border-radius:16px;

    background:#fff;

    color:#ff6600;

    text-decoration:none;

    font-weight:700;

    transition:.35s ease;
}

.promo-btn:hover{

    transform:translateY(-3px);

    background:#111;

    color:#fff;
}

/* RESPONSIVE */

@media(max-width:768px){

    .promo-box{

        padding:40px 30px;

        min-height:260px;
    }

    .promo-content h2{

        font-size:42px;
    }

    .promo-content p{

        font-size:16px;
    }
}

/* =========================================
   CART PAGE
========================================= */

.cart-page{

    padding:80px 0;
}

/* TITLE */

.cart-page h2{

    font-size:42px;

    font-weight:700;

    margin-bottom:40px;

    color:#111;
}

/* TABLE */

.cart-page .table{

    background:#fff;

    border-radius:24px;

    overflow:hidden;

    box-shadow:
    0 15px 40px rgba(0,0,0,.05);
}

/* HEAD */

.cart-page thead{

    background:#ff6600;

    color:#fff;
}

.cart-page th{

    padding:20px;

    border:none;

    font-size:15px;

    font-weight:600;
}

/* BODY */

.cart-page td{

    vertical-align:middle;

    padding:22px 20px;

    border-color:#f1f1f1;
}

/* TOTAL */

.cart-page h3{

    font-size:36px;

    font-weight:800;

    margin-top:20px;

    color:#111;
}

.cart-page h4{

    margin-top:20px;

    font-weight:700;
}

/* BUTTONS */

.cart-page .btn{

    border:none;

    border-radius:12px;

    padding:10px 16px;

    font-weight:600;

    transition:.35s ease;
}

.cart-page .btn:hover{

    transform:translateY(-2px);
}

/* CHECKOUT */

.cart-page .btn-primary{

    background:#ff6600;
}

.cart-page .btn-primary:hover{

    background:#111;
}
/* =========================================
   TOAST NOTIFICATIONS
========================================= */

#toast-container{

    position:fixed;

    top:30px;

    right:30px;

    z-index:99999;

    display:flex;

    flex-direction:column;

    gap:14px;
}

/* TOAST */

.toast{

    min-width:320px;

    padding:18px 22px;

    border-radius:18px;

    color:#fff;

    font-weight:600;

    box-shadow:
    0 20px 50px rgba(0,0,0,.15);

    animation:
    toastSlide .45s ease;

    backdrop-filter:blur(10px);
}

/* SUCCESS */

.toast.success{

    background:
    linear-gradient(
        135deg,
        #16a34a,
        #15803d
    );
}

/* ERROR */

.toast.error{

    background:
    linear-gradient(
        135deg,
        #dc2626,
        #b91c1c
    );
}

/* ANIMATION */

@keyframes toastSlide{

    from{

        opacity:0;

        transform:
        translateX(100px);
    }

    to{

        opacity:1;

        transform:
        translateX(0);
    }
}

/* =========================================
   CATEGORY SECTION
========================================= */

.category-section{

    padding:80px 0;
}

/* GRID */

.category-grid{

    display:grid;

    grid-template-columns:
    repeat(4, 1fr);

    gap:28px;
}

/* CARD */

.category-card{

    position:relative;

    display:block;

    height:320px;

    border-radius:28px;

    overflow:hidden;

    text-decoration:none;

    box-shadow:
    0 15px 40px rgba(0,0,0,.08);

    transition:.45s ease;
}

/* HOVER */

.category-card:hover{

    transform:translateY(-8px);

    box-shadow:
    0 25px 60px rgba(0,0,0,.15);
}

/* IMAGE */

.category-card img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:transform .7s ease;
}

.category-card:hover img{

    transform:scale(1.08);
}

/* OVERLAY */

.category-overlay{

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        to top,
        rgba(0,0,0,.65),
        rgba(0,0,0,.1)
    );

    display:flex;

    align-items:flex-end;

    padding:30px;
}

/* TITLE */

.category-overlay h3{

    color:#fff;

    font-size:32px;

    font-weight:700;

    margin:0;
}

/* RESPONSIVE */

@media(max-width:992px){

    .category-grid{

        grid-template-columns:
        repeat(2,1fr);
    }
}

@media(max-width:600px){

    .category-grid{

        grid-template-columns:1fr;
    }

    .category-card{

        height:260px;
    }
}

/* =========================================
   PRODUCT SLIDER
========================================= */

.product-slider-wrapper{

    position: relative;

    display: flex;

    align-items: center;

    gap: 20px;

    margin-top: 30px;
}

.product-slider{

    display: flex;

    gap: 25px;

    overflow-x: auto;

    scroll-behavior: smooth;

    scrollbar-width: none;

    width: 100%;
}

.product-slider::-webkit-scrollbar{

    display: none;
}

.product-slider .product-card{

    min-width: 280px;

    flex-shrink: 0;
}

.slider-arrow{

    width: 50px;

    height: 50px;

    border: none;

    border-radius: 50%;

    background: #ff6b00;

    color: white;

    font-size: 30px;

    cursor: pointer;

    transition: 0.3s;
}

.slider-arrow:hover{

    transform: scale(1.1);
}

/* MOBILE */

@media(max-width:768px){

    .product-slider .product-card{

        min-width: 220px;
    }

    .slider-arrow{

        display: none;
    }
}
