/*==================================================
RAYANTAG.IR - MAIN STYLESHEET
Version: Cleaned & Optimized
==================================================*/

/*==================================================
RESET
==================================================*/
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    direction:rtl;
    font-family:"Vazirmatn",Tahoma,sans-serif;
    background:#ffffff;
    color:#1f2937;
    overflow-x:hidden;
    line-height:1.7;
}

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

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

button,
input{
    font-family:inherit;
}

button{
    cursor:pointer;
    border:none;
    outline:none;
}

input{
    outline:none;
}

ul{
    list-style:none;
}


/*==================================================
ROOT - RAYAN TAG BRAND
==================================================*/
:root{
    --primary:#19b394;
    --primary-dark:#12937b;
    --secondary:#00b4d8;
    --dark:#172033;
    --gray:#6b7280;
    --light:#f7f9fc;
    --border:#e5e7eb;
    --white:#ffffff;
    --danger:#ef4444;
    --warning:#f59e0b;

    --radius:18px;
    --transition:.3s ease;
    --shadow:0 10px 30px rgba(0,0,0,.08);
    --shadow-hover:0 16px 35px rgba(0,0,0,.12);
}


/*==================================================
CONTAINER
==================================================*/
.container{
    width:92%;
    max-width:1320px;
    margin:auto;
}


/*==================================================
TYPOGRAPHY
==================================================*/
h1,h2,h3,h4{
    color:var(--dark);
    font-weight:800;
    line-height:1.5;
}

p{
    color:var(--gray);
}


/*==================================================
GENERAL SECTION SPACING
==================================================*/
section{
    padding:55px 0;
}

.section-header{
    text-align:center;
    margin-bottom:30px;
}

.section-header h2{
    font-size:34px;
    margin-bottom:10px;
}

.section-header p{
    max-width:700px;
    margin:auto;
}


/*==================================================
BUTTONS
==================================================*/
.btn{
    min-height:48px;
    padding:0 28px;
    border-radius:12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:var(--primary);
    color:#fff;
    font-weight:700;
    transition:var(--transition);
}

.btn:hover{
    background:var(--primary-dark);
    transform:translateY(-2px);
}

.btn-outline{
    min-height:48px;
    padding:0 28px;
    border:2px solid var(--primary);
    border-radius:12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    color:var(--primary);
    font-weight:700;
    transition:var(--transition);
}

.btn-outline:hover{
    background:var(--primary);
    color:#fff;
}


/*==================================================
GENERAL CARDS
==================================================*/
.card{
    background:#fff;
    border-radius:var(--radius);
    box-shadow:var(--shadow);
}


/*==================================================
HEADER
==================================================*/
header,
.header{
    position:sticky;
    top:0;
    right:0;
    width:100%;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(10px);
    z-index:9999;
    border-bottom:1px solid var(--border);
}

header .container,
.header .container{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    min-height:78px;
}


/*==================================================
LOGO
==================================================*/
.logo{
    display:flex;
    align-items:center;
    gap:10px;
    flex-shrink:0;
}

.logo img{
    width:50px;
    height:50px;
    object-fit:contain;
}

.logo h1,
.logo h2{
    font-size:22px;
    margin:0;
    font-weight:900;
}

.logo span{
    display:block;
    color:var(--primary);
    font-size:11px;
    font-weight:600;
}


/*==================================================
NAVIGATION
==================================================*/
nav{
    display:flex;
    align-items:center;
}

nav ul{
    display:flex;
    align-items:center;
    gap:28px;
}

nav li{
    position:relative;
}

nav a{
    color:var(--dark);
    font-size:15px;
    font-weight:700;
    transition:var(--transition);
}

nav a:hover,
nav a.active{
    color:var(--primary);
}

nav a::after{
    content:"";
    position:absolute;
    right:0;
    bottom:-9px;
    width:0;
    height:2px;
    border-radius:5px;
    background:var(--primary);
    transition:var(--transition);
}

nav li:hover a::after,
nav a.active::after{
    width:100%;
}


/*==================================================
HEADER PHONE / CART
==================================================*/
.header-phone{
    color:var(--primary);
    font-weight:800;
    direction:ltr;
    white-space:nowrap;
}

.cart-icon{
    position:relative;
    width:44px;
    height:44px;
    border-radius:50%;
    background:var(--light);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:19px;
    transition:var(--transition);
}

.cart-icon:hover{
    background:var(--primary);
    transform:translateY(-2px);
}

.cart-icon span{
    position:absolute;
    top:-4px;
    left:-4px;
    min-width:19px;
    height:19px;
    padding:0 4px;
    border-radius:20px;
    background:var(--danger);
    color:#fff;
    font-size:11px;
    display:flex;
    align-items:center;
    justify-content:center;
}


/*==================================================
HEADER ACTIONS
==================================================*/
.header-actions{
    display:flex;
    align-items:center;
    gap:12px;
}

.header-actions a{
    width:42px;
    height:42px;
    border-radius:50%;
    background:#f5f7fa;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--dark);
    transition:var(--transition);
}

.header-actions a:hover{
    background:var(--primary);
    color:#fff;
}


/*==================================================
MENU BUTTON
==================================================*/
.menu-btn{
    display:none;
    width:44px;
    height:44px;
    border-radius:12px;
    background:#f5f7fa;
    align-items:center;
    justify-content:center;
}


/*==================================================
MOBILE MENU
==================================================*/
.mobile-menu{
    position:fixed;
    top:78px;
    right:-100%;
    width:280px;
    height:calc(100vh - 78px);
    background:#fff;
    transition:.35s ease;
    box-shadow:-10px 0 30px rgba(0,0,0,.08);
    padding:25px;
    z-index:999;
}

.mobile-menu.active{
    right:0;
}

.mobile-menu ul{
    display:flex;
    flex-direction:column;
    gap:20px;
}

.mobile-menu a{
    font-size:16px;
    font-weight:700;
    color:var(--dark);
}


/*==================================================
HERO
==================================================*/
.hero{
    padding:65px 0;
    overflow:hidden;
    background:linear-gradient(180deg,#fff 0%,#f8fcfb 100%);
}

.hero .container{
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:45px;
}

.hero-badge{
    display:inline-flex;
    align-items:center;
    padding:8px 15px;
    border-radius:30px;
    background:rgba(25,179,148,.10);
    color:var(--primary-dark);
    font-size:13px;
    font-weight:700;
    margin-bottom:15px;
}

.hero-content h1{
    font-size:48px;
    line-height:1.35;
    margin-bottom:18px;
}

.hero-content h1 span{
    color:var(--primary);
}

.hero-content p{
    font-size:17px;
    max-width:550px;
    margin-bottom:25px;
}

.hero-buttons,
.hero-actions{
    display:flex;
    align-items:center;
    gap:12px;
}

.hero-buttons .btn,
.hero-actions .btn{
    min-width:145px;
}

.hero-image{
    display:flex;
    justify-content:center;
    align-items:center;
}

.hero-image img{
    width:100%;
    max-width:500px;
    height:auto;
    object-fit:contain;
}


/*==================================================
CATEGORIES
==================================================*/
.categories{
    background:#fff;
}

.category-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:18px;
}

.category-card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:18px;
    padding:20px 12px;
    text-align:center;
    transition:var(--transition);
    min-height:160px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
}

.category-card:hover{
    transform:translateY(-5px);
    box-shadow:var(--shadow);
    border-color:var(--primary);
}

.category-card img{
    width:90px;
    height:90px;
    object-fit:contain;
    margin:0 auto 12px;
}

.category-card h3{
    font-size:17px;
}


/*==================================================
FEATURED PRODUCTS
==================================================*/
.featured,
.products{
    background:var(--light);
}


/*==================================================
PRODUCT GRID
==================================================*/
.product-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
}


/*==================================================
PRODUCT CARD
==================================================*/
.product-card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:20px;
    overflow:hidden;
    position:relative;
    transition:var(--transition);
    display:flex;
    flex-direction:column;
}

.product-card:hover{
    transform:translateY(-6px);
    box-shadow:var(--shadow-hover);
}

.product-card > img{
    display:block;
    width:100%;
    height:190px;
    object-fit:contain;
    padding:15px;
    margin:auto;
    background:#fff;
}


/*==================================================
FAVORITE
==================================================*/
.favorite,
.wishlist,
.product-favorite{
    position:absolute;
    top:13px;
    left:13px;
    width:40px;
    height:40px;
    border-radius:50%;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 5px 15px rgba(0,0,0,.08);
    z-index:2;
    cursor:pointer;
    transition:var(--transition);
}

.favorite i,
.wishlist i,
.product-favorite i{
    color:var(--danger) !important;
    font-size:18px;
}

.favorite:hover,
.wishlist:hover,
.product-favorite:hover{
    background:var(--danger);
}

.favorite:hover i,
.wishlist:hover i,
.product-favorite:hover i{
    color:#fff !important;
}


/*==================================================
PRODUCT INFO
==================================================*/
.product-info{
    padding:18px;
    display:flex;
    flex-direction:column;
    flex:1;
}

.product-info h3{
    font-size:16px;
    margin-bottom:8px;
    min-height:48px;
    overflow:hidden;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
}

.product-info p{
    font-size:13px;
    line-height:1.8;
    margin-bottom:12px;
}

.product-price{
    margin-top:auto;
    min-height:35px;
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:12px;
}

.price{
    color:var(--primary-dark);
    font-size:19px;
    font-weight:900;
}

.old-price{
    color:#9ca3af;
    text-decoration:line-through;
    font-size:13px;
}

.btn-product{
    height:44px;
    width:100%;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--primary);
    color:#fff;
    font-weight:700;
    transition:var(--transition);
}

.btn-product:hover{
    background:var(--primary-dark);
}


/*==================================================
WHY US
==================================================*/
.why-us{
    background:#fff;
}

.why-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}

.why-card{
    background:var(--light);
    border:1px solid var(--border);
    border-radius:18px;
    padding:24px 18px;
    text-align:center;
}

.why-card h3{
    font-size:18px;
    margin-bottom:8px;
}

.why-card p{
    font-size:14px;
}


/*==================================================
ABOUT SHORT
==================================================*/
.about-short{
    background:var(--light);
}

.about-content{
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:45px;
}

.about-image img{
    width:100%;
    border-radius:22px;
    object-fit:cover;
}

.about-text h2{
    font-size:32px;
    margin-bottom:16px;
}

.about-text p{
    margin-bottom:14px;
}


/*==================================================
BANNER
==================================================*/
.banner{
    background:#fff;
}

.banner-box{
    background:linear-gradient(135deg,var(--primary),var(--secondary));
    border-radius:25px;
    padding:40px;
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:35px;
    overflow:hidden;
}

.banner-content h2{
    color:#fff;
    font-size:32px;
    margin-bottom:12px;
}

.banner-content p{
    color:rgba(255,255,255,.92);
    margin-bottom:22px;
}

.banner-content .btn{
    background:#fff;
    color:var(--primary-dark);
}

.banner-image{
    display:flex;
    justify-content:center;
}

.banner-image img{
    max-width:350px;
    height:auto;
    object-fit:contain;
}


/*==================================================
CTA
==================================================*/
.cta{
    padding:55px 0;
    background:var(--dark);
    text-align:center;
}

.cta-box h2,
.cta h2{
    color:#fff;
    font-size:32px;
    margin-bottom:12px;
}

.cta-box p,
.cta p{
    color:#cbd5e1;
    max-width:650px;
    margin:0 auto 22px;
}

.cta-buttons{
    display:flex;
    justify-content:center;
    gap:12px;
    flex-wrap:wrap;
}


/*==================================================
FEATURES - BEFORE FOOTER
==================================================*/
.features{
    background:var(--light);
    padding:45px 0;
}

.features .container{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}

.features-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}

.feature-card{
    background:#fff;
    border-radius:18px;
    padding:25px 16px;
    text-align:center;
    border:1px solid var(--border);
    transition:var(--transition);
}

.feature-card:hover{
    transform:translateY(-4px);
    box-shadow:var(--shadow);
}

.feature-icon{
    font-size:30px;
    margin-bottom:10px;
}

.feature-card h3{
    font-size:17px;
    margin-bottom:8px;
}

.feature-card p{
    font-size:13px;
}


/*==================================================
FOOTER
==================================================*/
footer,
.footer{
    background:#111827;
    color:#fff;
    padding:55px 0 22px;
}

.footer-grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:40px;
}

.footer h3,
.footer h4{
    color:#fff;
    margin-bottom:16px;
}

.footer p{
    color:#cbd5e1;
}

.footer ul{
    display:flex;
    flex-direction:column;
    gap:9px;
}

.footer ul li,
.footer ul li a{
    color:#cbd5e1;
    transition:var(--transition);
}

.footer ul li a:hover{
    color:#fff;
}

.footer hr{
    border:none;
    border-top:1px solid rgba(255,255,255,.12);
    margin:35px 0 0;
}

.footer-bottom{
    padding-top:18px;
    text-align:center;
}

.footer-bottom p{
    font-size:13px;
    color:#94a3b8;
}


/*==================================================
CART
==================================================*/
.cart-page{
    padding:55px 0;
}

.cart-item{
    display:flex;
    align-items:center;
    gap:20px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:18px;
    padding:18px;
    margin-bottom:18px;
    box-shadow:0 8px 20px rgba(0,0,0,.05);
}

.cart-item img{
    width:100px;
    height:100px;
    object-fit:contain;
    background:#fff;
    border-radius:12px;
}

.cart-info{
    flex:1;
}

.cart-info h3{
    font-size:18px;
    margin-bottom:8px;
}

.cart-info p{
    font-size:15px;
    margin:5px 0;
}

.cart-actions{
    display:flex;
    align-items:center;
    gap:10px;
}

.qty-btn{
    width:38px;
    height:38px;
    border-radius:10px;
    background:var(--primary);
    color:#fff;
    font-size:20px;
    transition:var(--transition);
}

.qty-btn:hover{
    background:var(--primary-dark);
}

.qty-number{
    width:35px;
    text-align:center;
    font-size:18px;
    font-weight:700;
}

.remove-btn{
    background:var(--danger);
    color:#fff;
    padding:9px 16px;
    border-radius:10px;
    transition:var(--transition);
}

.remove-btn:hover{
    background:#c62828;
}

.cart-total{
    margin-top:28px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:18px;
    padding:24px;
    text-align:center;
    box-shadow:0 8px 20px rgba(0,0,0,.05);
}

.cart-total h2{
    font-size:25px;
}

.empty-cart{
    text-align:center;
    padding:70px 0;
}

.empty-cart h2{
    margin-bottom:20px;
}

.btn-danger{
    background:var(--danger);
    color:#fff;
}

.btn-danger:hover{
    background:#c62828;
}

.row-total{
    margin-top:8px;
    color:var(--primary-dark);
    font-weight:700;
    font-size:14px;
}

.row-total strong{
    font-size:17px;
}


/*==================================================
TABLET
==================================================*/
@media(max-width:1200px){
    .container{
        width:94%;
    }

    .product-grid{
        grid-template-columns:repeat(3,1fr);
    }

    .category-grid{
        grid-template-columns:repeat(3,1fr);
    }

    .why-grid,
    .features .container,
    .features-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .footer-grid{
        grid-template-columns:1fr 1fr;
    }
}


/*==================================================
TABLET SMALL
==================================================*/
@media(max-width:992px){
    nav{
        display:none;
    }

    .menu-btn{
        display:flex;
    }

    .header-phone{
        display:none;
    }

    .hero .container{
        grid-template-columns:1fr;
        text-align:center;
    }

    .hero-content p{
        margin-left:auto;
        margin-right:auto;
    }

    .hero-buttons,
    .hero-actions{
        justify-content:center;
    }

    .hero-image{
        order:-1;
    }

    .hero-content h1{
        font-size:40px;
    }

    .product-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .category-grid{
        grid-template-columns:repeat(3,1fr);
    }

    .banner-box,
    .about-content{
        grid-template-columns:1fr;
        text-align:center;
    }

    .banner-image{
        order:-1;
    }

    .footer-grid{
        grid-template-columns:1fr;
        gap:25px;
    }
}


/*==================================================
MOBILE
==================================================*/
@media(max-width:768px){
    section{
        padding:45px 0;
    }

    .container{
        width:92%;
    }

    .section-header{
        margin-bottom:25px;
    }

    .section-header h2{
        font-size:27px;
    }

    .hero{
        padding:45px 0 50px;
    }

    .hero-content h1{
        font-size:31px;
    }

    .hero-content p{
        font-size:15px;
    }

    .hero-image img{
        max-width:320px;
    }

    .hero-buttons,
    .hero-actions{
        flex-direction:column;
    }

    .hero-buttons .btn,
    .hero-actions .btn{
        width:100%;
    }

    .product-grid{
        grid-template-columns:repeat(2,1fr);
        gap:14px;
    }

    .product-card > img{
        height:150px;
        padding:10px;
    }

    .product-info{
        padding:14px;
    }

    .product-info h3{
        font-size:14px;
        min-height:44px;
    }

    .price{
        font-size:16px;
    }

    .category-grid{
        grid-template-columns:repeat(2,1fr);
        gap:12px;
    }

    .category-card{
        min-height:145px;
        padding:15px 10px;
    }

    .category-card img{
        width:75px;
        height:75px;
    }

    .why-grid,
    .features .container,
    .features-grid{
        grid-template-columns:1fr;
    }

    .about-content{
        gap:25px;
    }

    .about-text h2{
        font-size:27px;
    }

    .banner-box{
        padding:28px 20px;
    }

    .banner-content h2{
        font-size:25px;
    }

    .cta{
        padding:45px 0;
    }

    .cta h2{
        font-size:27px;
    }

    .cta-buttons{
        flex-direction:column;
        align-items:stretch;
    }

    .footer{
        text-align:center;
    }

    .footer ul{
        align-items:center;
    }

    .cart-item{
        flex-wrap:wrap;
        gap:14px;
    }

    .cart-item img{
        width:80px;
        height:80px;
    }

    .cart-actions{
        width:100%;
        justify-content:center;
    }
}


/*==================================================
SMALL MOBILE
==================================================*/
@media(max-width:480px){
    .logo img{
        width:44px;
        height:44px;
    }

    .logo h1,
    .logo h2{
        font-size:19px;
    }

    .logo span{
        font-size:9px;
    }

    .product-grid{
        grid-template-columns:1fr;
    }

    .product-card{
        max-width:390px;
        margin:auto;
        width:100%;
    }

    .product-card > img{
        height:175px;
    }

    .category-grid{
        grid-template-columns:1fr 1fr;
    }

    .favorite,
    .wishlist,
    .product-favorite{
        width:36px;
        height:36px;
    }

    .section-header h2{
        font-size:25px;
    }
}


/*==================================================
FINAL FIXES
==================================================*/
html,
body{
    overflow-x:hidden;
}

.product-card,
.category-card,
.feature-card,
.why-card,
.btn,
.btn-outline,
a{
    transition:var(--transition);
}
