/* ===========================================
   RESET
=========================================== */

:root{

    --bg:#ffffff;
    --surface:#ffffff;
    --surface2:#f8fafc;

    --text:#0f172a;
    --muted:#64748b;

    --green:#16a34a;
    --green-dark:#15803d;

    --blue:#2563eb;
    --blue-dark:#1d4ed8;

    --red:#ef4444;
    --orange:#f59e0b;

    --border:#e5e7eb;

    --shadow:0 10px 30px rgba(0,0,0,.08);

    --radius:18px;

}

*{

    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:tahoma;

}

html{

    scroll-behavior:smooth;

}

body{

    background:var(--bg);
    color:var(--text);
    overflow-x:hidden;
    line-height:1.8;

}

img{

    display:block;
    max-width:100%;
    height:auto;

}

a{

    text-decoration:none;
    color:inherit;

}

button{

    border:none;
    outline:none;
    cursor:pointer;

}

/* ===========================================
   CONTAINER
=========================================== */

.container{

    width:95%;
    max-width:1450px;
    margin:auto;

}

/* ===========================================
   SECTION TITLE
=========================================== */

.section-title{

    text-align:center;

    font-size:34px;

    font-weight:bold;

    margin:40px 0;

    color:#111827;

}

/* ===========================================
   HOME TABS
=========================================== */

.home-tabs{

    display:flex;

    justify-content:center;

    align-items:center;

    flex-wrap:wrap;

    gap:15px;

    margin:50px auto 30px;

}

.tab-btn{

    padding:14px 28px;

    border-radius:40px;

    background:#e2e8f0;

    color:#111827;

    font-size:16px;

    font-weight:bold;

    transition:.3s;

}

.tab-btn:hover{

    background:#cbd5e1;

}

.tab-btn.active{

    background:linear-gradient(135deg,#f59e0b,#f97316);

    color:#fff;

}

/* ===========================================
   BANNERS
=========================================== */

.banner{

    width:95%;

    max-width:1450px;

    margin:35px auto;

    border-radius:22px;

    overflow:hidden;

    box-shadow:0 15px 40px rgba(0,0,0,.12);

    transition:.35s;

}

.banner img{

    width:100%;

}

.banner:hover{

    transform:translateY(-5px);

    box-shadow:0 25px 55px rgba(0,0,0,.18);

}
/* ===========================================
   SLIDER
=========================================== */

.slider-container{

    position:relative;

    width:95%;

    max-width:1450px;

    margin:30px auto;

    overflow:hidden;

    border-radius:22px;

    box-shadow:0 15px 40px rgba(0,0,0,.12);

}

.slider{

    display:flex;

    overflow-x:auto;

    scroll-snap-type:x mandatory;

    scroll-behavior:smooth;

    -webkit-overflow-scrolling:touch;

    scrollbar-width:none;

    -ms-overflow-style:none;

}

.slider::-webkit-scrollbar{

    display:none;

}

.slide{

    flex:0 0 100%;

    scroll-snap-align:start;

    position:relative;

    height:420px;

}

.slide img{

    width:100%;

    height:100%;

    object-fit:cover;

}

/* ===========================================
   SLIDER CONTENT
=========================================== */

.slide-content{

    position:absolute;

    right:0;

    left:0;

    bottom:0;

    padding:40px 30px;

    background:linear-gradient(transparent,rgba(0,0,0,.75));

    color:#fff;

}

.slide-content h2{

    font-size:32px;

    margin-bottom:10px;

}

.slide-content p{

    font-size:16px;

    opacity:.95;

}

/* ===========================================
   SLIDER BUTTONS
=========================================== */

.slider-btn{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:55px;

    height:55px;

    border-radius:50%;

    background:rgba(255,255,255,.9);

    color:#111827;

    font-size:24px;

    display:flex;

    justify-content:center;

    align-items:center;

    cursor:pointer;

    transition:.3s;

    z-index:50;

    box-shadow:0 10px 25px rgba(0,0,0,.15);

}

.slider-btn:hover{

    background:#16a34a;

    color:#fff;

}

.slider-btn.prev{

    right:18px;

}

.slider-btn.next{

    left:18px;

}

/* ===========================================
   DOTS
=========================================== */

.slider-dots{

    position:absolute;

    bottom:18px;

    left:50%;

    transform:translateX(-50%);

    display:flex;

    gap:8px;

    z-index:60;

}

.dot{

    width:12px;

    height:12px;

    border-radius:50%;

    background:rgba(255,255,255,.45);

    cursor:pointer;

    transition:.3s;

}

.dot.active{

    width:28px;

    border-radius:20px;

    background:#16a34a;

}

/* ===========================================
   ANIMATION
=========================================== */

.slider-container{

    animation:fadeUp .6s ease;

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(25px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}
/* ===========================================
   PRODUCTS
=========================================== */

.products-box{

    display:grid;

    grid-template-columns:repeat(auto-fill,minmax(280px,1fr));

    gap:28px;

    width:95%;

    max-width:1450px;

    margin:35px auto;

}

/* ===========================================
   PRODUCT CARD
=========================================== */

.product-card{

    position:relative;

    background:#fff;

    border-radius:22px;

    overflow:hidden;

    border:1px solid #eef2f7;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

    transition:.35s;

}

.product-card:hover{

    transform:translateY(-8px);

    box-shadow:0 25px 45px rgba(0,0,0,.16);

}

.product-card img{

    width:100%;

    height:250px;

    object-fit:contain;

    padding:20px;

    transition:.35s;

}

.product-card:hover img{

    transform:scale(1.05);

}

/* ===========================================
   RIBBON
=========================================== */

.ribbon{

    position:absolute;

    top:18px;

    left:-48px;

    width:170px;

    padding:8px 0;

    text-align:center;

    background:#ef4444;

    color:#fff;

    font-size:13px;

    font-weight:bold;

    transform:rotate(-45deg);

    z-index:20;

}

/* ===========================================
   BADGE
=========================================== */

.badge{

    position:absolute;

    top:15px;

    right:15px;

    padding:7px 14px;

    border-radius:25px;

    background:#16a34a;

    color:#fff;

    font-size:12px;

    font-weight:bold;

}

.badge.sale{

    background:#ef4444;

}

/* ===========================================
   PRODUCT INFO
=========================================== */

.product-info{

    padding:18px;

}

.product-title{

    font-size:19px;

    font-weight:bold;

    color:#111827;

    margin-bottom:8px;

    line-height:1.8;

}

.product-brand{

    color:#6b7280;

    font-size:14px;

    margin-bottom:15px;

}

/* ===========================================
   PRICE
=========================================== */

.old-price{

    color:#9ca3af;

    text-decoration:line-through;

    font-size:14px;

    margin-bottom:5px;

}

.new-price{

    color:#16a34a;

    font-size:28px;

    font-weight:bold;

    margin-bottom:12px;

}

/* ===========================================
   STOCK
=========================================== */

.stock{

    font-size:14px;

    font-weight:bold;

    margin-bottom:18px;

}

.stock.ok{

    color:#16a34a;

}

.stock.no{

    color:#ef4444;

}

/* ===========================================
   BUTTONS
=========================================== */

.product-buttons{

    display:flex;

    gap:10px;

}

.product-buttons a{

    flex:1;

    padding:13px;

    border-radius:12px;

    text-align:center;

    font-size:15px;

    font-weight:bold;

    transition:.3s;

}

.btn-buy{

    background:#16a34a;

    color:#fff;

}

.btn-buy:hover{

    background:#15803d;

}

.btn-view{

    background:#2563eb;

    color:#fff;

}

.btn-view:hover{

    background:#1d4ed8;

}
/* ===========================================
   FOOTER
=========================================== */

.footer{

    margin-top:80px;

    background:#ffffff;

    border-top:2px solid #e5e7eb;

    box-shadow:0 -10px 30px rgba(0,0,0,.05);

}

.footer-container{

    width:95%;

    max-width:1450px;

    margin:auto;

    padding:50px 20px;

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

    gap:35px;

}

.footer-box h3{

    font-size:20px;

    margin-bottom:18px;

    color:#111827;

    position:relative;

    padding-bottom:10px;

}

.footer-box h3::after{

    content:"";

    position:absolute;

    right:0;

    bottom:0;

    width:60px;

    height:3px;

    background:#16a34a;

    border-radius:20px;

}

.footer-box p{

    color:#64748b;

    line-height:2;

}

.footer-box a{

    display:block;

    text-decoration:none;

    color:#475569;

    margin:8px 0;

    transition:.3s;

}

.footer-box a:hover{

    color:#16a34a;

    padding-right:8px;

}

/* ===========================================
   SOCIAL
=========================================== */

.footer-social{

    display:flex;

    gap:12px;

    margin-top:15px;

}

.footer-social a{

    width:45px;

    height:45px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    background:#f1f5f9;

    color:#111827;

    font-size:20px;

    transition:.3s;

}

.footer-social a:hover{

    background:#16a34a;

    color:#fff;

    transform:translateY(-4px);

}

/* ===========================================
   COPYRIGHT
=========================================== */

.copyright{

    text-align:center;

    padding:20px;

    background:#f8fafc;

    color:#64748b;

    font-size:14px;

    border-top:1px solid #e5e7eb;

}

/* ===========================================
   UTILITIES
=========================================== */

.text-center{

    text-align:center;

}

.mt-20{

    margin-top:20px;

}

.mt-30{

    margin-top:30px;

}

.mb-20{

    margin-bottom:20px;

}

.radius{

    border-radius:20px;

}

.shadow{

    box-shadow:0 15px 35px rgba(0,0,0,.08);

}

/* ===========================================
   SCROLLBAR
=========================================== */

::-webkit-scrollbar{

    width:10px;

    height:10px;

}

::-webkit-scrollbar-track{

    background:#f1f5f9;

}

::-webkit-scrollbar-thumb{

    background:#cbd5e1;

    border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

    background:#94a3b8;

}