@import url("layout.css");
@import url("home.css");
@import url("panel.css");

/* ==========================
    Font
========================== */

@font-face {
    font-family: "Vazirmatn";
    src: url("../fonts/Vazirmatn/Vazirmatn-Regular.woff2") format("woff2");
    font-weight: 400;
}

@font-face {
    font-family: "Vazirmatn";
    src: url("../fonts/Vazirmatn/Vazirmatn-Medium.woff2") format("woff2");
    font-weight: 500;
}

@font-face {
    font-family: "Vazirmatn";
    src: url("../fonts/Vazirmatn/Vazirmatn-Bold.woff2") format("woff2");
    font-weight: 700;
}

:root{

    --primary: #1f9a64;
    --primary-dark:#0B5E57;
    --secondary:#F59E0B;
    --background:#F8FAFC;
    --white:#FFFFFF;
    --text: #293a4d;
    --border: #e3e1e1;

    --radius:16px;

}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:"Vazirmatn",sans-serif;
    background:var(--background);
    color:var(--text);
}













/*==========================
        AUTH PAGES
==========================*/

.auth-page{

    min-height:calc(100vh - 95px);
    display:flex;
    align-items:flex-start;
    justify-content:center;
    padding:80px 20px 48px;
    background:
        radial-gradient(circle at 18% 18%,
            color-mix(in srgb, var(--primary) 7%, transparent), transparent 55%),
        radial-gradient(circle at 82% 88%,
            color-mix(in srgb, var(--primary) 6%, transparent), transparent 55%),
        #f5f6fa;

}

.auth-card{

    width:100%;
    max-width:430px;
    background:#fff;
    border-radius:24px;
    padding:44px 38px 38px;
    box-shadow:
        0 18px 50px rgba(20,30,80,.10),
        0 4px 14px rgba(20,30,80,.05);
    text-align:center;
    animation:authIn .45s ease;

}

@keyframes authIn{
    from{opacity:0; transform:translateY(14px);}
    to{opacity:1; transform:translateY(0);}
}

.auth-icon{

    width:70px;
    height:70px;
    margin:0 auto 20px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:32px;
    color:var(--primary);
    background:color-mix(in srgb, var(--primary) 12%, transparent);

}

.auth-title{

    font-size:22px;
    font-weight:800;
    color:#1c2140;
    margin:0 0 8px;

}

.auth-subtitle{

    font-size:14px;
    color:#8a8fa3;
    margin:0 0 28px;
    line-height:1.9;

}

.auth-subtitle strong{

    color:var(--primary);
    font-weight:700;
    direction:ltr;
    display:inline-block;

}

/*========== Django form output ==========*/

.auth-form p{

    margin:0 0 16px;
    text-align:right;

}

.auth-form label{

    display:block;
    font-size:13px;
    font-weight:700;
    color:#555b74;
    margin-bottom:8px;
    padding-right:4px;

}

.auth-form input{

    width:100%;
    height:54px;
    border:2px solid transparent;
    outline:none;
    background:#f4f5f9;
    border-radius:14px;
    padding:0 16px;
    font-family:inherit;
    font-size:15px;
    color:#1c2140;
    transition:.25s;

}

.auth-form input::placeholder{
    color:#aab;
}

.auth-form input:focus{

    background:#fff;
    border-color:var(--primary);
    box-shadow:0 0 0 4px color-mix(in srgb, var(--primary) 15%, transparent);

}

/*========== Errors ==========*/

.auth-form .errorlist{

    list-style:none;
    margin:8px 4px 0;
    padding:0;
    text-align:right;

}

.auth-form .errorlist li{

    color:#e53935;
    font-size:12.5px;
    font-weight:600;
    display:flex;
    align-items:center;
    gap:6px;

}

.auth-form .errorlist li::before{

    content:"\F33A";              /* bi-exclamation-circle */
    font-family:"bootstrap-icons";
    font-size:13px;

}

/*========== Submit button ==========*/

.auth-btn{

    width:100%;
    height:54px;
    margin-top:8px;
    border:none;
    border-radius:14px;
    background:var(--primary);
    color:#fff;
    font-family:inherit;
    font-size:16px;
    font-weight:700;
    cursor:pointer;
    transition:.25s;

}

.auth-btn:hover{

    filter:brightness(1.07);
    box-shadow:0 10px 24px color-mix(in srgb, var(--primary) 32%, transparent);
    transform:translateY(-1px);

}

.auth-btn:active{
    transform:translateY(0);
}

/*========== Secondary links ==========*/

.auth-links{

    margin-top:24px;
    display:flex;
    flex-direction:column;
    gap:14px;

}

.auth-links a{

    font-size:14px;
    font-weight:600;
    color:var(--primary);
    text-decoration:none;
    transition:.2s;

}

.auth-links a:hover{
    opacity:.75;
}

.auth-links .muted-link{
    color:#8a8fa3;
}

.auth-divider{

    display:flex;
    align-items:center;
    gap:14px;
    margin:22px 0 4px;
    color:#c2c6d6;
    font-size:13px;

}

.auth-divider::before,
.auth-divider::after{

    content:"";
    flex:1;
    height:1px;
    background:#ececf2;

}

/*========== Method selection (login_method) ==========*/

.login-methods{

    display:flex;
    flex-direction:column;
    gap:14px;
    margin-top:8px;

}

.method-btn{

    display:flex;
    align-items:center;
    gap:14px;
    padding:16px 18px;
    border-radius:16px;
    background:#f4f5f9;
    border:2px solid transparent;
    text-decoration:none;
    color:#1c2140;
    font-weight:700;
    font-size:15px;
    text-align:right;
    transition:.25s;

}

.method-btn .method-icon{

    font-size:22px;
    color:var(--primary);
    width:46px;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:color-mix(in srgb, var(--primary) 12%, transparent);
    border-radius:13px;
    flex-shrink:0;
    transition:.25s;

}

.method-btn .method-text{
    flex:1;
}

.method-btn small{

    display:block;
    font-size:12px;
    font-weight:500;
    color:#8a8fa3;
    margin-top:3px;

}

.method-btn .method-arrow{

    color:#c2c6d6;
    font-size:16px;
    transition:.25s;

}

.method-btn:hover{

    background:#fff;
    border-color:var(--primary);
    box-shadow:0 10px 26px color-mix(in srgb, var(--primary) 12%, transparent);

}

.method-btn:hover .method-icon{

    background:var(--primary);
    color:#fff;

}

.method-btn:hover .method-arrow{

    color:var(--primary);
    transform:translateX(-4px);

}

/*========== OTP field (verify_code) ==========*/

.auth-form--otp input{

    text-align:center;
    letter-spacing:12px;
    font-size:24px;
    font-weight:700;
    direction:ltr;
    padding:0 16px;

}

/*========== OTP resend + timer ==========*/

.auth-resend{
    margin-top:22px;
    min-height:24px;
}

.otp-timer{
    font-size:13.5px;
    color:#8a8fa3;
    font-weight:600;
}

.otp-resend{
    display:inline-flex;
    align-items:center;
    gap:7px;
    font-size:14px;
    font-weight:700;
    color:var(--primary);
    text-decoration:none;
    transition:.2s;
}

.otp-resend:hover{
    opacity:.75;
}


/*========== Keyboard focus (accessibility) ==========*/

.auth-btn:focus-visible,
.method-btn:focus-visible,
.auth-links a:focus-visible{

    outline:3px solid color-mix(in srgb, var(--primary) 45%, transparent);
    outline-offset:2px;

}

/*========== Mobile ==========*/

@media(max-width:480px){

    .auth-page{
        padding:24px 16px;
        min-height:calc(100vh - 80px);
    }

    .auth-card{
        padding:34px 24px 30px;
        border-radius:20px;
    }

    .auth-title{
        font-size:20px;
    }

    .auth-icon{
        width:62px;
        height:62px;
        font-size:28px;
    }

}



/*========== Password hint ==========*/

.pw-hint{
    margin:-6px 4px 20px;
    padding:14px 16px;
    background:#f4f5f9;
    border-radius:12px;
    text-align:right;
}

.pw-hint-title{
    font-size:12.5px;
    font-weight:700;
    color:#555b74;
    margin:0 0 8px;
}

.pw-hint ul{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:6px;
}

.pw-hint li{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:12.5px;
    color:#8a8fa3;
}

.pw-hint li i{
    font-size:13px;
    color:var(--primary);
    flex-shrink:0;
}





/*========== Reduced motion ==========*/

@media(prefers-reduced-motion:reduce){

    .auth-card{
        animation:none;
    }

    .auth-btn:hover{
        transform:none;
    }

}
















/* ===== دکمه علاقه‌مندی روی کارت محصول ===== */
.product-image{ position:relative; }

.fav-heart{
    position:absolute;
    top:10px;
    inset-inline-start:10px;
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:rgba(255,255,255,.92);
    box-shadow:0 3px 10px rgba(20,30,80,.12);
    color:#8a8fa3;
    font-size:18px;
    cursor:pointer;
    z-index:3;
    transition:.2s;
}
.fav-heart:hover{ color:#e5484d; transform:scale(1.08); }
.fav-heart.is-active{ color:#e5484d; }
.fav-heart.is-active i{ animation:favPop .3s ease; }

@keyframes favPop{
    0%{ transform:scale(.6); }
    60%{ transform:scale(1.2); }
    100%{ transform:scale(1); }
}

/* ===== قلب روی گالری صفحه محصول ===== */
.gallery-fav-btn{
    position:absolute;
    top:18px;
    left:18px;                 /* بالا-چپ، مقابل بج تخفیف */
    z-index:20;
    width:40px;
    height:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    border:1px solid #cbcbcb;
    background:#fff;
    box-shadow:0 6px 12px rgba(20,30,80,.12);
    color:#8a8fa3;
    font-size:20px;
    cursor:pointer;
    transition:.2s;
}
.gallery-fav-btn:hover{ color:#e5484d; transform:scale(1.08); }
.gallery-fav-btn.is-active{ color:#e5484d; }
.gallery-fav-btn.is-active i{ animation:favPop .3s ease; }











/* ===== دیدگاه‌ها ===== */
.reviews{ padding:6px 0; }

.reviews-summary{ margin-bottom:22px; }
.reviews-avg{ display:flex; align-items:center; gap:12px; }
.reviews-avg strong{ font-size:30px; font-weight:800; color:var(--text); }
.reviews-avg-stars{ color:#f5a623; font-size:18px; display:flex; gap:2px; }
.reviews-count{ font-size:13px; color:#8a8fa3; }

.review-form-box{
    background:#f7f8fb;
    border:1px solid var(--border);
    border-radius:16px;
    padding:20px 22px;
    margin-bottom:26px;
}
.review-form-box h4{ font-size:16px; font-weight:800; color:var(--text); margin:0 0 14px; }

.review-stars-input{
    display:flex;
    gap:6px;
    font-size:26px;
    color:#f5a623;
    cursor:pointer;
    margin-bottom:6px;
}
.review-stars-input i{ transition:transform .12s; }
.review-stars-input i:hover{ transform:scale(1.15); }

.review-form-box textarea{
    width:100%;
    margin-top:10px;
    padding:12px 14px;
    border:1.5px solid var(--border);
    border-radius:12px;
    font-family:inherit;
    font-size:14px;
    color:var(--text);
    outline:none;
    resize:vertical;
    transition:.18s;
}
.review-form-box textarea:focus{
    border-color:var(--primary);
    box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 14%, transparent);
}
.review-form-msg{ color:#d13333; font-size:13px; margin-top:8px; }
.review-submit-btn{
    margin-top:12px;
    padding:11px 26px;
    border:none;
    border-radius:12px;
    background:var(--primary);
    color:#fff;
    font-size:14px;
    font-weight:700;
    cursor:pointer;
    transition:.2s;
}
.review-submit-btn:hover{ filter:brightness(1.08); }
.review-submit-btn:disabled{ opacity:.6; cursor:default; }

.review-note{
    background:color-mix(in srgb, var(--primary) 8%, transparent);
    border:1px solid color-mix(in srgb, var(--primary) 25%, var(--border));
    color:var(--text);
    padding:14px 18px;
    border-radius:12px;
    font-size:14px;
    margin-bottom:26px;
}
.review-note i{ color:var(--primary); margin-left:5px; }
.review-note a{ color:var(--primary); font-weight:700; }

.reviews-list{ display:flex; flex-direction:column; gap:16px; }
.review-item{
    border:1px solid var(--border);
    border-radius:14px;
    padding:18px 20px;
    background:var(--white);
}
.review-item-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:10px;
}
.review-item-user{ display:flex; align-items:center; gap:10px; }
.review-avatar{
    width:40px;
    height:40px;
    border-radius:50%;
    background:color-mix(in srgb, var(--primary) 12%, transparent);
    color:var(--primary);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
}
.review-item-user strong{ display:block; font-size:14px; color:var(--text); }
.review-item-user small{ font-size:12px; color:#8a8fa3; }
.review-item-stars{ color:#f5a623; font-size:15px; white-space:nowrap; }
.review-item-text{ font-size:16px; color:#3f4453; line-height:2; margin:0; }

.reviews-empty{ text-align:center; padding:40px 20px; color:#8a8fa3; }
.reviews-empty i{ font-size:40px; color:#c2c6d6; }
.reviews-empty p{ margin-top:12px; font-size:14px; }




/* ===== خلاصه امتیاز بالای محصول ===== */
.product-rating-summary{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin:2px 0 14px;
    cursor:pointer;
    user-select:none;
}
.product-rating-summary strong{ font-size:15px; font-weight:800; color:var(--text); }
.product-rating-summary .rating-count{ font-size:12.5px; color:#8a8fa3; }

/* ستاره درصدی */
.star-rate{
    position:relative;
    display:inline-block;
    direction:ltr;
    width:1em;
    height:1em;
    font-size:20px;
    line-height:1;
    vertical-align:middle;
}
.star-rate .star-rate-empty{ color:#e2e5ec; }
.star-rate .star-rate-fill{
    position:absolute;
    top:0;
    left:0;
    height:100%;
    overflow:hidden;
    white-space:nowrap;
}
.star-rate .star-rate-fill i{ color:#f5a623; }

/* ===== نشان خریدار ===== */
.buyer-badge{
    display:inline-flex;
    align-items:center;
    gap:4px;
    font-size:11px;
    font-weight:700;
    color:#1e7d3c;
    background:#e6f4ea;
    padding:2px 9px;
    border-radius:999px;
    margin-inline-start:8px;
    vertical-align:middle;
}

/* ===== فوتر دیدگاه: لایک/دیسلایک ===== */
.review-item-footer{ display:flex; gap:10px; margin-top:14px; }
.react-btn{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:6px 14px;
    border:1px solid var(--border);
    background:var(--white);
    border-radius:999px;
    font-size:13px;
    color:#5a6072;
    cursor:pointer;
    transition:.18s;
}
.react-btn:hover{ border-color:#c2c6d6; background:#f7f8fb; }
.react-btn.like.active{ border-color:#1e7d3c; color:#1e7d3c; background:#e6f4ea; }
.react-btn.dislike.active{ border-color:#d13333; color:#d13333; background:#fdeaea; }

/* ===== پاسخ فروشگاه ===== */
.review-reply{
    margin-top:14px;
    margin-inline-start:30px;
    padding:14px 16px;
    background:color-mix(in srgb, var(--primary) 6%, transparent);
    border:1px solid color-mix(in srgb, var(--primary) 20%, var(--border));
    border-radius:12px;
}
.review-reply-head{
    display:flex;
    align-items:center;
    gap:6px;
    font-size:13px;
    font-weight:800;
    color:var(--primary);
    margin-bottom:6px;
}
.review-reply p{ margin:0; font-size:13.5px; color:#3f4453; line-height:1.9; }







/* ===== اصلاحات صفحه محصول ===== */

/* خط باریک زیر نام محصول (بین اسم و امتیاز) */
.product-title-page{
    margin-bottom:14px;
    padding-bottom:16px;
    border-bottom:1px solid var(--border);
}

/* فاصله بیشتر بین ستاره امتیاز و قیمت خط‌خورده */
.product-rating-summary{ margin:2px 0 18px; }

/* تراز‌کردن ستاره درصدی با عدد و متن کنارش */
.star-rate .star-rate-empty{ position:absolute; top:0; left:0; }
.product-rating-summary .star-rate{ margin-top:-2px; }

/* کم‌کردن فاصله «موجود در انبار» تا «سایز» */
.product-stock{ margin-bottom:14px; }
.variant-box{ margin-top:12px; }

/* ===== اصلاحات نظرات ===== */

/* لایک/دیسلایک سمت چپ، زیر ستاره‌ها */
.review-item-footer{ justify-content:flex-end; }

/* نمایش عکس پروفایل کاربر در نظرات */
.review-avatar{ overflow:hidden; }
.review-avatar img{ width:100%; height:100%; object-fit:cover; }

/* نزدیک‌کردن نام و تاریخ */
.review-user-meta{ display:flex; flex-direction:column; gap:2px; }
.review-user-meta strong{ line-height:1.5; }
.review-user-meta small{ line-height:1.2; }




.low-stock-alert{
    display:flex;
    align-items:center;
    gap:6px;
    margin-top:-4px;
    margin-bottom:14px;
    font-size:13.5px;
    font-weight:700;
    color:#d9741a;
}









/* ===== سبد خرید ===== */
.cart-page{ padding:40px 0 64px; }
.cart-title{ font-size:24px; font-weight:800; color:var(--text); margin:0 0 24px; }

.cart-layout{ display:grid; grid-template-columns:1fr 340px; gap:22px; align-items:start; }
.cart-items{ display:flex; flex-direction:column; gap:14px; }

.cart-item{
    display:flex; align-items:center; gap:16px;
    background:var(--white); border:1px solid var(--border);
    border-radius:18px; padding:16px 18px;
    box-shadow:0 6px 18px rgba(20,30,80,.04);
}
.cart-item-img{
    width:88px; height:88px; flex-shrink:0; border-radius:14px; overflow:hidden;
    background:#f4f6fa; display:flex; align-items:center; justify-content:center;
    color:#c2c6d6; font-size:28px;
}
.cart-item-img img{ width:100%; height:100%; object-fit:cover; }

.cart-item-info{ flex:1; display:flex; flex-direction:column; gap:6px; text-align:right; }
.cart-item-name{ font-size:15px; font-weight:700; color:var(--text); text-decoration:none; }
.cart-item-name:hover{ color:var(--primary); }
.cart-item-variant{ font-size:12.5px; color:#8a8fa3; }
.cart-item-unit{ font-size:13px; color:#5a6072; }

.cart-item-controls{ display:flex; flex-direction:column; align-items:flex-end; gap:12px; }
.cart-qty{ display:inline-flex; align-items:center; border:1px solid var(--border); border-radius:10px; overflow:hidden; }
.cart-qty button{ width:34px; height:34px; border:none; background:#f7f8fb; color:var(--text); font-size:16px; cursor:pointer; transition:.15s; }
.cart-qty button:hover{ background:var(--primary); color:#fff; }
.cart-qty-val{ width:44px; text-align:center; font-weight:700; font-size:14px; }
.cart-item-total{ font-size:15px; font-weight:800; color:var(--text); white-space:nowrap; }
.cart-item-remove{ border:none; background:transparent; color:#c2c6d6; font-size:17px; cursor:pointer; transition:.15s; }
.cart-item-remove:hover{ color:#d13333; }

.cart-summary{
    background:var(--white); border:1px solid var(--border); border-radius:20px;
    padding:24px; box-shadow:0 6px 18px rgba(20,30,80,.04);
    position:sticky; top:100px;
}
.cart-summary h3{ font-size:17px; font-weight:800; color:var(--text); margin:0 0 18px; }
.cart-summary-row{ display:flex; justify-content:space-between; font-size:14px; color:#5a6072; padding:9px 0; }
.cart-summary-row.muted span:last-child{ font-size:12.5px; color:#8a8fa3; }
.cart-summary-total{
    display:flex; justify-content:space-between;
    border-top:1px solid var(--border); margin-top:8px; padding-top:16px;
    font-size:16px; font-weight:800; color:var(--text);
}
.cart-checkout-btn{
    width:100%; margin-top:18px; padding:14px; border:none; border-radius:14px;
    background:var(--primary); color:#fff; font-size:15px; font-weight:800; cursor:pointer; transition:.2s;
}
.cart-checkout-btn:hover{ filter:brightness(1.08); }

.cart-empty{ text-align:center; padding:70px 20px; background:var(--white); border:1px solid var(--border); border-radius:22px; }
.cart-empty i{ font-size:54px; color:#c2c6d6; }
.cart-empty p{ margin:16px 0 20px; color:#8a8fa3; font-size:15px; }
.cart-empty-btn{ display:inline-block; padding:11px 28px; border-radius:999px; background:var(--primary); color:#fff; font-weight:700; font-size:14px; text-decoration:none; }
.cart-empty-btn:hover{ filter:brightness(1.08); }

@media(max-width:900px){ .cart-layout{ grid-template-columns:1fr; } .cart-summary{ position:static; } }
@media(max-width:560px){ .cart-item{ flex-wrap:wrap; } .cart-item-controls{ flex-direction:row; width:100%; justify-content:space-between; } }


.cart-count-label{ font-size:14px; font-weight:600; color:#8a8fa3; margin-inline-start:8px; }


/* ===== تسویه‌حساب ===== */
.checkout-page{ padding:40px 0 64px; }
.checkout-layout{ display:grid; grid-template-columns:1fr 340px; gap:22px; align-items:start; }
.checkout-main{ display:flex; flex-direction:column; gap:18px; }

.checkout-block{
    background:var(--white); border:1px solid var(--border); border-radius:18px;
    padding:22px 24px; box-shadow:0 6px 18px rgba(20,30,80,.04);
    margin-top: 20px;
}
.checkout-block-title{
    display:flex; align-items:center; gap:8px;
    font-size:16px; font-weight:800; color:var(--text);
    margin:0 0 18px; padding-bottom:14px; border-bottom:1px solid var(--border);
}
.checkout-block-title i{ color:var(--primary); }

.checkout-addresses{ display:flex; flex-direction:column; gap:12px; }
.checkout-address{
    display:flex; align-items:flex-start; gap:12px;
    padding:16px; border:1.5px solid var(--border); border-radius:14px;
    cursor:pointer; transition:.18s;
}
.checkout-address:hover{ border-color:color-mix(in srgb, var(--primary) 40%, var(--border)); }
.checkout-address.selected{ border-color:var(--primary); background:color-mix(in srgb, var(--primary) 5%, transparent); }
.checkout-address input{ margin-top:4px; accent-color:var(--primary); flex-shrink:0; }
.checkout-address-body{ display:flex; flex-direction:column; gap:5px; }
.checkout-address-body strong{ font-size:14px; color:var(--text); }
.checkout-address-body span{ font-size:12.5px; color:#8a8fa3; line-height:1.9; }
.checkout-add-address{
    display:inline-block; margin-top:14px; font-size:13.5px; font-weight:700;
    color:var(--primary); text-decoration:none;
}
.checkout-no-address{ text-align:center; padding:20px 0; }
.checkout-no-address p{ color:#8a8fa3; margin-bottom:14px; }

.checkout-shipping{ display:flex; flex-direction:column; gap:12px; }
.checkout-shipping-opt{
    display:flex; align-items:center; gap:12px;
    padding:15px 16px; border:1.5px solid var(--border); border-radius:14px;
    cursor:pointer; transition:.18s;
}
.checkout-shipping-opt:hover{ border-color:color-mix(in srgb, var(--primary) 40%, var(--border)); }
.checkout-shipping-opt.selected{ border-color:var(--primary); background:color-mix(in srgb, var(--primary) 5%, transparent); }
.checkout-shipping-opt input{ accent-color:var(--primary); }
.checkout-shipping-opt .ship-label{ flex:1; font-size:13.5px; color:var(--text); }
.checkout-shipping-opt .ship-cost{ font-size:13.5px; font-weight:800; color:var(--text); white-space:nowrap; }

.checkout-pay-note{ font-size:12px; color:#8a8fa3; text-align:center; margin:12px 0 0; }

@media(max-width:900px){ .checkout-layout{ grid-template-columns:1fr; } }



/* ===== نتیجه پرداخت ===== */
.payment-result{ padding:60px 0; }
.pay-result-card{
    max-width:480px; margin:0 auto; text-align:center;
    background:var(--white); border:1px solid var(--border);
    border-radius:22px; padding:44px 30px;
    box-shadow:0 10px 30px rgba(20,30,80,.06);
}
.pay-result-card i{ font-size:64px; }
.pay-result-card.ok i{ color:#1e7d3c; }
.pay-result-card.fail i{ color:#d13333; }
.pay-result-card h2{ font-size:20px; font-weight:800; color:var(--text); margin:16px 0 8px; }
.pay-result-card p{ color:#5a6072; font-size:14px; margin:0 0 6px; }
.pay-ref{ font-weight:700; color:var(--text); }
.pay-result-actions{ display:flex; gap:12px; justify-content:center; margin-top:24px; }
.pay-home-link{ padding:11px 20px; font-size:14px; color:#5a6072; text-decoration:none; align-self:center; }
.pay-home-link:hover{ color:var(--primary); }


.confetti-canvas{ position:fixed; inset:0; width:100%; height:100%; pointer-events:none; z-index:9998; }

.register-welcome{ padding:70px 0; }
.welcome-card{
    max-width:480px; margin:0 auto; text-align:center;
    background:var(--white); border:1px solid var(--border);
    border-radius:24px; padding:48px 30px;
    box-shadow:0 12px 34px rgba(20,30,80,.07);
}
.welcome-card i{ font-size:66px; color:#1e7d3c; }
.welcome-card h2{ font-size:22px; font-weight:800; color:var(--text); margin:18px 0 10px; }
.welcome-card p{ font-size:15px; color:#5a6072; margin:0 0 20px; }
.welcome-redirect{ font-size:12.5px; color:#8a8fa3; }



.search-page{ padding:36px 0 60px; }
.search-title{ font-size:22px; font-weight:800; color:var(--text); margin:0 0 6px; }
.search-count{ font-size:13.5px; color:#8a8fa3; margin:0 0 22px; }
.search-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.search-empty{ text-align:center; padding:70px 20px; color:#8a8fa3; }
.search-empty i{ font-size:52px; color:#c2c6d6; }
.search-empty p{ margin:16px 0 20px; font-size:15px; }

@media(max-width:1100px){ .search-grid{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:768px){ .search-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:420px){ .search-grid{ grid-template-columns:1fr; } }


.color-dot{
    display:inline-block;
    width:14px; height:14px;
    border-radius:50%;
    border:1px solid rgba(0,0,0,.15);
    margin-inline-start:2px;
    margin-left: 5px;
    vertical-align:middle;
}


.alert-message{
    padding:12px 16px;
    border-radius:10px;
    font-size:13.5px;
    margin-bottom:16px;
}
.alert-message.error{ background:#fdeaea; color:#d13333; border:1px solid #f5c2c2; }
.alert-message.success{ background:#e6f4ea; color:#1e7d3c; border:1px solid #b7e0c3; }







/* ===== صفحه محصولات دسته ===== */
.cat-page{ padding:28px 0 60px; }

.breadcrumb-nav{ display:flex; align-items:center; flex-wrap:wrap; gap:8px; font-size:13px; margin-bottom:22px; }
.breadcrumb-nav a{ color:#8a8fa3; text-decoration:none; }
.breadcrumb-nav a:hover{ color:var(--primary); }
.breadcrumb-nav span{ color:var(--text); font-weight:700; }
.breadcrumb-nav i{ font-size:11px; color:#c2c6d6; }

.cat-layout{ display:grid; grid-template-columns:260px 1fr; gap:24px; align-items:start; }

.cat-sidebar{
    background:var(--white); border:1px solid var(--border); border-radius:18px;
    padding:22px; box-shadow:0 6px 18px rgba(20,30,80,.04); position:sticky; top:100px;
}
.filter-block{ padding-bottom:18px; margin-bottom:18px; border-bottom:1px solid var(--border); }
.filter-block:last-of-type{ border-bottom:none; padding-bottom:0; margin-bottom:0; }
.filter-title{ font-size:14px; font-weight:800; color:var(--text); margin:0 0 12px; }
.filter-check{ display:flex; align-items:center; gap:8px; font-size:13.5px; color:#5a6072; cursor:pointer; margin-bottom:10px; }
.filter-check input{ accent-color:var(--primary); }
.filter-check:last-child{ margin-bottom:0; }
.filter-color-dot{ width:14px; height:14px; border-radius:50%; border:1px solid rgba(0,0,0,.15); flex-shrink:0; }
.filter-price{ display:flex; gap:10px; }
.filter-price input{ width:100%; padding:9px 10px; border:1.5px solid var(--border); border-radius:10px; font-family:inherit; font-size:13px; outline:none; }
.filter-price input:focus{ border-color:var(--primary); }
.filter-apply{ width:100%; margin-top:18px; padding:11px; border:none; border-radius:12px; background:var(--primary); color:#fff; font-size:14px; font-weight:700; cursor:pointer; transition:.2s; }
.filter-apply:hover{ filter:brightness(1.08); }
.filter-reset{ display:block; text-align:center; margin-top:10px; font-size:12.5px; color:#8a8fa3; text-decoration:none; }
.filter-reset:hover{ color:#d13333; }

.sort-bar{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; background:var(--white); border:1px solid var(--border); border-radius:14px; padding:12px 16px; margin-bottom:20px; }
.sort-label{ font-size:13px; color:#8a8fa3; display:inline-flex; align-items:center; gap:6px; margin-left:6px; }
.sort-bar a{ font-size:13px; color:#5a6072; text-decoration:none; padding:6px 12px; border-radius:8px; transition:.15s; }
.sort-bar a:hover{ color:var(--primary); }
.sort-bar a.active{ color:var(--primary); font-weight:700; background:color-mix(in srgb, var(--primary) 10%, transparent); }

.cat-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }

.cat-empty{ text-align:center; padding:70px 20px; background:var(--white); border:1px solid var(--border); border-radius:18px; color:#8a8fa3; }
.cat-empty i{ font-size:50px; color:#c2c6d6; }
.cat-empty p{ margin-top:14px; font-size:15px; }


/* ===== ریسپانسیو گرید ===== */
@media(max-width:1200px){ .cat-grid{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:992px){
    .cat-layout{ grid-template-columns:1fr; }
    .cat-grid{ grid-template-columns:repeat(2,1fr); }
}

/* ===== نوار موبایل + منوی مرتب‌سازی ===== */
.cat-mobile-bar{ display:none; }
.mobile-sort-menu{ display:none; }

@media(max-width:768px){
    .cat-mobile-bar{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:14px; }
    .cat-mbtn{
        display:flex; align-items:center; justify-content:center; gap:7px;
        padding:12px; background:var(--white); border:1px solid var(--border);
        border-radius:12px; font-size:14px; font-weight:700; color:var(--text); cursor:pointer;
    }
    .sort-bar{ display:none; }
    .mobile-sort-menu.open{
        display:flex; flex-direction:column; gap:4px;
        background:var(--white); border:1px solid var(--border); border-radius:12px;
        padding:8px; margin-bottom:16px;
    }
    .mobile-sort-menu a{ padding:10px 12px; border-radius:8px; font-size:13.5px; color:#5a6072; text-decoration:none; }
    .mobile-sort-menu a.active{ color:var(--primary); font-weight:700; background:color-mix(in srgb,var(--primary) 10%,transparent); }
}

/* ===== سایدبار به‌صورت کشوی موبایل ===== */
.cat-sidebar-close{ display:none; }
.cat-overlay{ display:none; }

@media(max-width:768px){
    .cat-sidebar{
        position:fixed; top:0; right:0; bottom:0;
        width:84%; max-width:320px; z-index:10001;
        border-radius:0; overflow-y:auto;
        transform:translateX(100%); transition:transform .3s ease;
        box-shadow:-8px 0 30px rgba(0,0,0,.15);
    }
    .cat-sidebar.open{ transform:translateX(0); }
    .cat-sidebar-close{
        display:flex; align-items:center; justify-content:space-between;
        margin-bottom:10px; padding-bottom:10px; border-bottom:1px solid var(--border);
    }
    .cat-sidebar-close strong{ font-size:16px; }
    .cat-sidebar-close button{ border:none; background:#f4f6fa; width:34px; height:34px; border-radius:9px; cursor:pointer; color:#5a6072; }
    .cat-overlay{ position:fixed; inset:0; background:rgba(15,23,42,.5); z-index:10000; }
    .cat-overlay.open{ display:block; }
}

/* ===== کارت افقی در موبایل (عکس راست، اطلاعات چپ) ===== */
@media(max-width:768px){
    .cat-grid{ grid-template-columns:1fr; gap:10px; }
    .cat-grid .product-card{ display:flex; flex-direction:row; align-items:center; gap:10px; }
    .cat-grid .product-image{ width:120px; height:120px; flex-shrink:0; }
    .cat-grid .product-content{ flex:1; text-align:right; }
}

/* ===== شمارنده و صفحه‌بندی ===== */
.sort-count{ margin-inline-start:auto; font-size:13px; color:#8a8fa3; }
.pagination{ display:flex; justify-content:center; gap:8px; margin-top:30px; flex-wrap:wrap; }
.page-link{
    min-width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center;
    padding:0 12px; border:1px solid var(--border); border-radius:10px;
    background:var(--white); color:#5a6072; font-size:14px; font-weight:700;
    text-decoration:none; transition:.18s;
}
.page-link:hover{ border-color:var(--primary); color:var(--primary); }
.page-link.active{ background:var(--primary); color:#fff; border-color:var(--primary); }





/* ===== نوار ناوبری + مگامنو ===== */

.nav-cats-btn{ display:inline-flex; align-items:center; gap:7px; font-weight:700; cursor:pointer; }
.nav-cats-caret{ font-size:11px; transition:.2s; }
.nav-cats:hover .nav-cats-caret{ transform:rotate(180deg); }

.nav-sep{ width:1px; height:18px; align-self:center; background:var(--border); margin:0 6px; }

/* ===== دکمه‌های اسلایدر (فقط دسکتاپ) ===== */
.hero-prev, .hero-next{
    position:absolute; bottom:22px; width:42px; height:42px; border-radius:50%;
    background:rgba(255,255,255,.9); color:var(--text);
    display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:10;
    box-shadow:0 4px 14px rgba(0,0,0,.15); transition:.2s; font-size:18px;
}
.hero-next{ right:22px; left:auto; }
.hero-prev{ right:74px; left:auto; }
.hero-prev:hover, .hero-next:hover{ background:#fff; color:var(--primary); }
@media(max-width:768px){ .hero-prev, .hero-next{ display:none; } }








/* ===== مگامنوی فلای‌اوت (flex) ===== */
.main-navbar, .navbar-menu{ overflow:visible; }
.nav-cats{ position:relative; }

.mega{
    position:absolute; top:100%; right:0;
    width:900px; max-width:92vw; height:380px;
    display:flex;
    background:var(--white); border:1px solid var(--border); border-radius:16px;
    box-shadow:0 20px 50px rgba(20,30,80,.14);
    opacity:0; visibility:hidden; transform:translateY(10px); transition:.2s;
    z-index:1000; overflow:hidden;
}
.nav-cats:hover .mega{ opacity:1; visibility:visible; transform:translateY(0); }

.mega-side{
    width:230px; flex-shrink:0; padding:12px; overflow-y:auto;
    background:#fafbfc; border-inline-start:1px solid var(--border);
}
.mega-side-link{
    display:flex; align-items:center; justify-content:space-between;
    padding:11px 14px; border-radius:10px;
    font-size:14px; font-weight:700; color:var(--text); text-decoration:none; transition:.15s;
}
.mega-side-link i{ font-size:12px; color:#c2c6d6; }
.mega-side-link[data-active]{ background:color-mix(in srgb,var(--primary) 10%,transparent); color:var(--primary); }
.mega-side-link[data-active] i{ color:var(--primary); }

.mega-body{ flex:1; overflow-y:auto; }
.mega-panel{ display:none; padding:22px 24px; }
.mega-panel[data-active]{ display:block; }
.mega-all{
    display:inline-flex; align-items:center; gap:3px;
    font-size:10px; font-weight:300; color:var(--primary); text-decoration:none; margin-bottom:12px;
}
.mega-all i{ font-size:11px; }
.mega-cols{ column-count:3; column-gap:28px; }
.mega-col{ break-inside:avoid; margin-bottom:18px; display:flex; flex-direction:column; }
.mega-l2{ font-size:14px; font-weight:900; color:var(--text); text-decoration:none; margin-bottom:8px; }
.mega-l2:hover{ color:var(--primary); }
.mega-l3{ font-size:12.5px; color:#5a6072; text-decoration:none; padding:4px 0 4px 10px; }
.mega-l3:hover{ color:var(--primary); }
.mega-empty{ font-size:12.5px; color:#8a8fa3; }




/* ===== آکاردئون منوی موبایل ===== */
.mobile-menu li{ margin-bottom:0; }

.mobile-menu .mobile-acc-btn{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    box-sizing:border-box;
    background:transparent;
    border:none;
    border-bottom:1px solid #f3f3f3;
    margin:0;
    padding:15px 20px;
    font-family:inherit;
    font-size:15px;
    font-weight:700;
    color:#222;
    text-align:right;
    direction:rtl;
    cursor:pointer;
}
.mobile-menu .mobile-acc-btn span{
    display:flex;
    align-items:center;
    gap:8px;
}
.mobile-menu .mobile-acc-btn i.bi-chevron-down{
    font-size:12px;
    color:#999;
    transition:.2s;
}
.mobile-menu .mobile-acc-btn[aria-expanded="true"] i.bi-chevron-down{
    transform:rotate(180deg);
}

/* سطح‌بندی دکمه‌ها */
.mobile-menu .mobile-acc-btn.lvl1{
    font-size:14px;
    padding-inline-start:34px;
    background:#fafafa;
}
.mobile-menu .mobile-acc-btn.lvl2{
    font-size:13.5px;
    padding-inline-start:48px;
    color:#555;
    background:#f5f5f5;
}

/* لینک‌های داخل آکاردئون */
.mobile-menu .mobile-acc-link{
    display:block;
    width:100%;
    box-sizing:border-box;
    padding:13px 20px;
    border-bottom:1px solid #f3f3f3;
    color:#222;
    text-decoration:none;
    text-align:right;
    font-size:14.5px;
}
.mobile-menu .mobile-acc-link.lvl1{ padding-inline-start:34px; font-size:14px; }
.mobile-menu .mobile-acc-link.lvl2{ padding-inline-start:48px; font-size:13.5px; color:#555; }
.mobile-menu .mobile-acc-link.lvl3{ padding-inline-start:62px; font-size:13px; color:#777; }

.mobile-menu-sep{ border-top:1px solid #eee; margin:8px 0; height:0; list-style:none; }





/* ===== فوتر ===== */
.site-footer{ background:#fff; border-top:1px solid var(--border); margin-top:20px; padding:48px 0 24px; }
.footer-cols{
    display:grid; grid-template-columns:1.2fr 1fr 1.3fr 1fr; gap:32px;
    padding-bottom:36px; border-bottom:1px solid var(--border);
}
.footer-title{ font-size:15px; font-weight:800; color:var(--text); margin:0 0 20px; }

.footer-links{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.footer-links a{ font-size:13.5px; color:#5a6072; text-decoration:none; transition:.15s; }
.footer-links a:hover{ color:var(--primary); }

.footer-contact{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:18px; }
.footer-contact li{ display:flex; align-items:center; gap:12px; }
.footer-contact i{ font-size:20px; color:var(--primary); }
.footer-contact div{ display:flex; flex-direction:column; gap:3px; }
.footer-contact span{ font-size:12px; color:#8a8fa3; }
.footer-contact strong{ font-size:13.5px; color:var(--text); direction:ltr; text-align:right; }

.footer-socials{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.footer-socials a{ display:inline-flex; align-items:center; gap:9px; font-size:13.5px; color:#5a6072; text-decoration:none; transition:.15s; }
.footer-socials a i{ font-size:17px; }
.footer-socials a:hover{ color:var(--primary); }

.footer-bottom{ display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:24px; flex-wrap:wrap; }
.footer-copy{ font-size:12.5px; color:#8a8fa3; margin:0; }
.footer-badges{ display:flex; gap:14px; }
.footer-badge{
    width:100px; height:100px; border:1px solid var(--border); border-radius:12px;
    display:flex; align-items:center; justify-content:center; background:#fafbfc; overflow:hidden; padding: 5px;
}
.footer-badge img{ max-width:100%; max-height:100%; }
.badge-placeholder{ font-size:11px; color:#a5aabb; text-align:center; line-height:1.7; }

@media(max-width:900px){ .footer-cols{ grid-template-columns:1fr 1fr; gap:28px; }
.site-footer .container{ padding-inline:28px; } }
@media(max-width:520px){
    .footer-cols{ grid-template-columns:1fr 1fr; gap:26px 18px; }
    .site-footer .container{ padding-inline:36px; }

    /* نوار پایین: نمادها و کپی‌رایت وسط
    .footer-bottom{ flex-direction:column; align-items:center; text-align:center; }
    .footer-badges{ justify-content:center; }*/
}








/* ===== ردیف‌های محصولات صفحه اصلی ===== */
.home-products{
    padding:20px 0;
    background:transparent;
}

/* کارت سفیدِ وسط (کنارها بک‌گراند سایت دیده می‌شود) */
.home-products-box{
    background:#fff;
    border:1px solid var(--border);
    border-radius:20px;
    padding:24px;
    box-shadow:0 6px 18px rgba(20,30,80,.04);
}

/* تیتر با خط‌چین */
.home-products-head{ margin-bottom:20px; }
.home-products-head .section-title{
    display:flex; align-items:center; gap:14px;
    margin:5px; font-size:18px; font-weight:800; color:var(--text);
}
.home-products-head .section-title::after{
    content:""; flex:1; height:0;
}

.home-products-head{ margin-bottom:20px; }

.home-products-head .section-title{
    display:flex; align-items:center; gap:14px;
    margin:0; font-size:20px; font-weight:800; color:var(--text);
}

/* خط کوتاه فقط زیر متنِ تیتر */
.home-products-head .section-title span{
    padding-bottom:8px;
    border-bottom:2px solid var(--primary);
}






/* ظرف ردیف + دکمه‌ها */
.row-wrap{ position:relative; }

.product-row{
    display:flex; gap:12px; overflow-x:auto; padding-bottom:4px;
    scroll-snap-type:x proximity;
    justify-content:flex-start;
    scrollbar-width:none;              /* فایرفاکس: بدون اسکرول‌بار */
    -ms-overflow-style:none;           /* IE/Edge قدیمی */
    -webkit-overflow-scrolling:touch;
    user-select:none;                  /* موقع درگ متن انتخاب نشه */
    scroll-behavior:smooth;
    -webkit-user-select:none;
    user-select:none;
}

.product-row img{ -webkit-user-drag:none; user-drag:none; pointer-events:auto; }
.product-row::-webkit-scrollbar{ display:none; }   /* کروم/سافاری: بدون اسکرول‌بار */

/* دکمه‌های ناوبری (دسکتاپ) */
.row-nav{
    position:absolute; top:50%; transform:translateY(-50%);
    width:40px; height:40px; border-radius:50%;
    background:#fff; border:1px solid var(--border);
    display:flex; align-items:center; justify-content:center;
    cursor:pointer; z-index:5; color:var(--text);
    box-shadow:0 4px 14px rgba(0,0,0,.12); transition:.18s;
}
.row-nav:hover{ color:var(--primary); border-color:var(--primary); }
.row-prev{ right:-14px; }
.row-next{ left:-14px; }

/* کارت‌ها هم‌اندازه */
.product-row > .product-card{
    flex:0 0 auto; width:225px; scroll-snap-align:start;
    display:flex; flex-direction:column; height:auto;
}
.home-empty{ color:#8a8fa3; font-size:14px; padding:20px 0; }

/* عکس ثابت */
.product-row .product-image{
    flex-shrink:0; overflow:hidden;
}
.product-row .product-image img{
    width:100%; height:100%; object-fit:cover;
}

/* محتوا + عنوان ۲ خط + قیمت ته کارت */
.product-row .product-content{
    display:flex; flex-direction:column; flex:1;
}
.product-row .product-title{
    height:44px; line-height:1.5;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
    overflow:hidden; text-overflow:ellipsis;
}
.product-row .product-price{ margin-top:auto; }

.row-nav.hidden{ opacity:0; visibility:hidden; pointer-events:none; }
.row-nav{ transition:opacity .2s, visibility .2s, color .18s, border-color .18s; }

/* ===== موبایل: بدون اسکرول‌بار، بدون دکمه، فقط سوایپ ===== */
@media(max-width:768px){
    .row-nav{ display:none; }
    .product-row > .product-card{ width:190px; }
    .row-nav{ display:none; }
    .product-row > .product-card{ width:190px; }
}
@media(max-width:480px){
    .product-row > .product-card{ width:160px; }
}


.pay-methods{ display:flex; flex-direction:column; gap:12px; }
.pay-method{
    display:flex; align-items:center; gap:12px;
    padding:15px 16px; border:1.5px solid var(--border); border-radius:14px; cursor:pointer; transition:.18s;
}
.pay-method:hover{ border-color:color-mix(in srgb, var(--primary) 40%, var(--border)); }
.pay-method.selected{ border-color:var(--primary); background:color-mix(in srgb, var(--primary) 5%, transparent); }
.pay-method input{ accent-color:var(--primary); }
.pay-hidden{ display:none; }







.filter-price input::-webkit-outer-spin-button,
.filter-price input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.filter-price input[type=number]{ -moz-appearance:textfield; }



.filter-acc-btn{
    display:flex; align-items:center; justify-content:space-between; width:100%;
    background:transparent; border:none; padding:4px 0; cursor:pointer;
    font-family:inherit; font-size:14px; font-weight:800; color:var(--text);
}
.filter-acc-btn i{ font-size:13px; color:#8a8fa3; transition:.2s; }
.filter-acc-btn.open i{ transform:rotate(180deg); }
.filter-acc-body{
    display:none; flex-direction:column; gap:10px; margin-top:12px;
}



.card-rating{ margin-top:1px; text-align:left; }
.rating-inner{ display:inline-flex; align-items:center; gap:5px; direction:ltr; }

.star-wrap{ position:relative; display:inline-block; font-size:13px; line-height:1; }
.star-bg{ color:#e2e5ec; }                 /* بخش خالی ستاره (خاکستری) */
.star-fg{
    position:absolute; top:0; left:0;
    width:var(--fill);                     /* پرشدنِ طلایی به‌اندازهٔ امتیاز */
    overflow:hidden; white-space:nowrap;
    color:#f5a623;
}
.rating-num{ font-size:12px; font-weight:600; color: #2b2c34; }










/* ردیف دکمه‌های بالای آدرس‌ها */
.addresses-actions{
    display:flex; align-items:center; gap:12px;
}

/* دکمه تکمیل خرید (رنگ متفاوت و جذاب) */
.address-checkout-btn{
    display:inline-flex; align-items:center; gap:7px;
    padding:11px 20px; border-radius:12px;
    background:linear-gradient(135deg, #f59e0b, #f97316);   /* نارنجی/کهربایی */
    color:#fff; font-size:14px; font-weight:800;
    text-decoration:none; white-space:nowrap;
    box-shadow:0 6px 16px rgba(249,115,22,.35);
    transition:.2s;
}
.address-checkout-btn:hover{ filter:brightness(1.06); transform:translateY(-1px); }

/* دکمه افزودن آدرس: پس‌زمینه اندازهٔ متن (نه تمام‌عرض) */
.address-add-btn{
    display:inline-flex;          /* مهم: به‌جای block/flexِ تمام‌عرض */
    align-items:center; gap:7px;
    width:auto;                   /* جلوی کش‌آمدن را می‌گیرد */
    white-space:nowrap;
}

/* موبایل: دکمه‌ها اندازهٔ خودشان، کش نیایند */
@media(max-width:600px){
    .addresses-head-row{ flex-wrap:wrap; gap:12px; }
    .addresses-actions{ width:100%; }
    .address-add-btn, .address-checkout-btn{
        flex:0 0 auto;            /* کش نیان */
        width:auto;
    }
}










/* ===== صفحات ثابت ===== */
.static-page{ padding:40px 0 60px; }
.static-title{ font-size:24px; font-weight:800; color:var(--text); margin:0 0 24px; }
.static-body{ font-size:15px; line-height:2.2; color:#4a5162; }

.static-address{
    display:flex; gap:14px; align-items:flex-start;
    background:var(--white); border:1px solid var(--border); border-radius:16px;
    padding:20px; margin:24px 0;
}
.static-address i{ font-size:26px; color:var(--primary); }
.static-address strong{ display:block; margin-bottom:6px; color:var(--text); }
.static-address p{ margin:0; color:#5a6072; line-height:1.9; }

.static-gallery{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:26px; }
.static-gallery-item{ border-radius:16px; overflow:hidden; aspect-ratio:4/3; }
.static-gallery-item img{ width:100%; height:100%; object-fit:cover; }

.static-empty{ text-align:center; padding:70px 20px; color:#8a8fa3; }
.static-empty i{ font-size:52px; color:#c2c6d6; }
.static-empty p{ margin-top:14px; }

/* سوالات متداول */
.faq-list{ display:flex; flex-direction:column; gap:14px; }
.faq-item{ background:var(--white); border:1px solid var(--border); border-radius:16px; overflow:hidden; }
.faq-q{
    display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%;
    background:transparent; border:none; padding:18px 20px; cursor:pointer;
    font-family:inherit; font-size:15px; font-weight:700; color:var(--text); text-align:right;
}
.faq-q i{ font-size:14px; color:#8a8fa3; transition:.2s; flex-shrink:0; }
.faq-item.open .faq-q i{ transform:rotate(180deg); }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .3s ease; padding:0 20px; color:#5a6072; line-height:2; }
.faq-item.open .faq-a{ max-height:600px; padding:0 20px 18px; }

/* تماس با ما */
.contact-cards{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px; }
.contact-card{
    display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center;
    background:var(--white); border:1px solid var(--border); border-radius:18px;
    padding:28px 20px; text-decoration:none; transition:.2s;
}
.contact-card:hover{ border-color:var(--primary); transform:translateY(-2px); box-shadow:0 8px 22px rgba(20,30,80,.06); }
.contact-card i{ font-size:32px; color:var(--primary); }
.contact-card span{ font-size:12.5px; color:#8a8fa3; }
.contact-card strong{ font-size:14px; color:var(--text); direction:ltr; }

@media(max-width:768px){ .static-gallery{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:480px){ .static-gallery{ grid-template-columns:1fr; } }





/* ===== بنر تبلیغاتی صفحه اصلی ===== */
.home-banner{ margin:5px 0; }
.home-banner img{
    display:block;
    width:100%;
    height:auto;
    max-height:330px;         /* سقف ارتفاع روی دسکتاپ */
    object-fit:cover;         /* اگر عکس بلندتر بود، تمیز برش می‌خورد */
    border-radius:12px;
}
.home-banner a{ display:block; }

@media(max-width:768px){
    .home-banner{ margin:4px 5px; }
    .home-banner img{ max-height:220px; border-radius:14px; }
}






.static-address-content{ display:flex; flex-direction:column; align-items:flex-start; gap:6px; }

.map-btn{
    display:inline-flex; gap:7px;
    margin-top:12px; padding:10px 12px;
    background:var(--primary); color:#fff; font-size:13.5px; font-weight:700;
    border-radius:12px; text-decoration:none; transition:.2s;
    direction: rtl;
}
.map-btn:hover{ filter:brightness(1.08); transform:translateY(-1px); }
.map-btn i{ font-size:15px; color: #fcf1db
}





















/* پشتیبانی */
.support-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:20px; }
.support-block{
    display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center;
    background:var(--white); border:1px solid var(--border); border-radius:18px; padding:30px 20px;
    text-decoration:none; transition:.2s;
}
.support-block:hover{ border-color:var(--primary); transform:translateY(-2px); box-shadow:0 8px 22px rgba(20,30,80,.06); }
.support-block i{ font-size:34px; color:var(--primary); }
.support-block strong{ font-size:15px; color:var(--text); }
.support-block span{ font-size:12.5px; color:#8a8fa3; }

/* لیست تیکت */
.ticket-list{ display:flex; flex-direction:column; gap:12px; margin-top:20px; }
.ticket-row{ display:flex; align-items:center; justify-content:space-between; gap:12px;
    background:var(--white); border:1px solid var(--border); border-radius:14px; padding:16px 18px; text-decoration:none; transition:.15s; }
.ticket-row:hover{ border-color:var(--primary); }
.ticket-row-main{ display:flex; flex-direction:column; gap:5px; }
.ticket-row-main strong{ font-size:14.5px; color:var(--text); }
.ticket-row-main span{ font-size:12px; color:#8a8fa3; }
.ticket-status{ font-size:12px; font-weight:700; padding:5px 12px; border-radius:20px; white-space:nowrap; }
.ticket-status--open{ background:#fff4e0; color:#b26a00; }
.ticket-status--answered{ background:#e6f4ea; color:#1e7d3c; }
.ticket-status--closed{ background:#f0f1f5; color:#8a8fa3; }

/* فرم تیکت */
.ticket-form{ margin-top:20px; max-width:640px; }
.ticket-field{ display:flex; flex-direction:column; gap:8px; margin-bottom:18px; }
.ticket-field label{ font-size:14px; font-weight:700; color:var(--text); }
.ticket-field input, .ticket-field textarea{ padding:12px 14px; border:1.5px solid var(--border); border-radius:12px; font-family:inherit; font-size:14px; outline:none; resize:vertical; }
.ticket-field input:focus, .ticket-field textarea:focus{ border-color:var(--primary); }
.field-hint{ font-size:12px; color:#8a8fa3; }
.field-err{ font-size:12.5px; color:#d13333; }
.ticket-submit{ padding:12px 28px; background:var(--primary); color:#fff; border:none; border-radius:12px; font-size:14px; font-weight:700; cursor:pointer; }

/* چت تیکت */
.ticket-chat{ display:flex; flex-direction:column; gap:14px; margin:22px 0; }
.tmsg{ max-width:78%; padding:14px 16px; border-radius:16px; }
.tmsg--user{ align-self:flex-start; background:#eef2f8; }
.tmsg--admin{ align-self:flex-end; background:color-mix(in srgb,var(--primary) 10%,#fff); border:1px solid color-mix(in srgb,var(--primary) 22%,var(--border)); }
.tmsg-head{ display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.tmsg-head strong{ font-size:13px; color:var(--text); }
.tmsg-head span{ font-size:11px; color:#8a8fa3; }
.tmsg-text{ font-size:13.5px; color:#4a5162; line-height:1.9; }
.tmsg-file{ display:inline-flex; align-items:center; gap:5px; margin-top:8px; font-size:12.5px; color:var(--primary); text-decoration:none; }

.ticket-reply{ display:flex; flex-direction:column; gap:10px; background:var(--white); border:1px solid var(--border); border-radius:14px; padding:14px; }
.ticket-reply textarea{ width:100%; border:1px solid var(--border); border-radius:10px; padding:10px; font-family:inherit; font-size:13.5px; resize:vertical; outline:none; }
.ticket-reply-actions{ display:flex; align-items:center; justify-content:space-between; }
.reply-file{ font-size:13px; color:#5a6072; cursor:pointer; display:inline-flex; align-items:center; gap:6px; }
.ticket-reply button{ padding:10px 22px; background:var(--primary); color:#fff; border:none; border-radius:10px; font-size:13.5px; font-weight:700; cursor:pointer; }
.ticket-closed-note{ text-align:center; color:#8a8fa3; padding:20px; }

.address-add-btn{
    display:inline-flex;
    align-items:center;
    gap:7px;
    width:auto;
    white-space:nowrap;
}

@media(max-width:600px){
    .addresses-head-row{ flex-wrap:wrap; gap:12px; }
    .address-add-btn{ width:auto; flex:0 0 auto; align-self:flex-start; margin-top: 10px; }
}

@media(max-width:768px){ .support-grid{ grid-template-columns:1fr; } .tmsg{ max-width:90%; } }








.menu-badge{
    display:inline-flex; align-items:center; justify-content:center;
    min-width:18px; height:18px; padding:0 5px;
    background:#e5484d; color:#fff; font-size:11px; font-weight:800;
    border-radius:9px; margin-inline-start:0px; line-height:1;
    vertical-align:middle;
}








.checkout-coupon{ margin:16px 0; }
.coupon-label{ display:block; font-size:13px; font-weight:700; color:var(--text); margin-bottom:8px; }
.coupon-row{ display:flex; gap:8px; }
.coupon-row input{
    flex:1; padding:11px 14px; border:1.5px solid var(--border); border-radius:12px;
    font-family:inherit; font-size:13.5px; outline:none;
}
.coupon-row input:focus{ border-color:var(--primary); }
.coupon-row button{
    padding:0 20px; border:none; border-radius:12px; background:var(--text); color:#fff;
    font-size:13.5px; font-weight:700; cursor:pointer; white-space:nowrap;
}
.coupon-msg{ font-size:12.5px; margin:8px 0 0; }
.coupon-msg.ok{ color:#1e7d3c; }
.coupon-msg.err{ color:#d13333; }



































/* ===== پنل مدیریت ===== */
.mng{ padding:32px 0 60px; }
.mng-head{
    display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
    background:linear-gradient(135deg,#0f766e,#134e4a); color:#fff;
    border-radius:22px; padding:26px 28px; margin-bottom:28px;
}
.mng-head h1{ font-size:22px; font-weight:800; margin:0 0 6px; }
.mng-head p{ margin:0; font-size:13.5px; opacity:.85; }
.mng-admin-link{
    display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.15);
    color:#fff; padding:11px 20px; border-radius:12px; text-decoration:none; font-weight:700; font-size:14px;
    transition:.2s; backdrop-filter:blur(4px);
}
.mng-admin-link:hover{ background:rgba(255,255,255,.28); }

.mng-section{ margin-bottom:26px; }
.mng-section-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.mng-section-head h2{ display:flex; align-items:center; gap:9px; font-size:17px; font-weight:800; color:var(--text); margin:0; }
.mng-section-head h2 i{ color:var(--primary); }
.mng-goto{ display:inline-flex; align-items:center; gap:5px; font-size:13px; font-weight:700; color:var(--primary); text-decoration:none; }
.mng-goto i{ font-size:11px; }

.mng-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.mng-grid-4{ grid-template-columns:repeat(4,1fr); }

.mng-card{
    background:var(--white); border:1px solid var(--border); border-radius:16px;
    padding:22px 18px; display:flex; flex-direction:column; gap:8px; align-items:flex-start;
    position:relative; overflow:hidden; transition:.2s;
}
.mng-card:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(20,30,80,.07); }
.mng-card::before{ content:""; position:absolute; top:0; right:0; width:4px; height:100%; background:#cbd2e0; }
.mng-num{ font-size:28px; font-weight:900; color:var(--text); line-height:1; }
.mng-num.sm{ font-size:20px; }
.mng-label{ font-size:12.5px; color:#8a8fa3; font-weight:600; }

/* رنگ لبهٔ کارت‌ها */
.mng-card.c-blue::before{ background:#1c5fd6; }
.mng-card.c-green::before{ background:#1e7d3c; }
.mng-card.c-amber::before{ background:#f59e0b; }
.mng-card.c-red::before{ background:#e5484d; }
.mng-card.c-purple::before{ background:#9b51e0; }
.mng-card.c-teal::before{ background:#0f766e; }

@media(max-width:900px){ .mng-grid, .mng-grid-4{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:480px){ .mng-grid, .mng-grid-4{ grid-template-columns:1fr; } }



.menu-admin-link{
    display:flex !important;
    align-items:center;
    gap:12px;
    margin:8px 6px 4px;
    padding:12px 14px !important;
    background:linear-gradient(135deg,#0f766e,#134e4a);
    color:#fff !important;
    border-radius:12px;
    font-weight:800;
    font-size:18px;
    text-decoration:none;
    box-shadow:0 6px 16px rgba(15,118,110,.28);
    position:relative;
    overflow:hidden;
    transition:.25s;
}
.menu-admin-link i{ font-size:17px; }
.menu-admin-link:hover{
    transform:translateY(-1px);
    box-shadow:0 8px 22px rgba(15,118,110,.4);
    filter:brightness(1.08);
}
/* درخشش متحرک ملایم */
.menu-admin-link::after{
    content:"";
    position:absolute; top:0; left:-60%;
    width:40%; height:100%;
    background:linear-gradient(120deg, transparent, rgba(255,255,255,.35), transparent);
    transform:skewX(-20deg);
    animation:adminShine 3.5s ease-in-out infinite;
}
@keyframes adminShine{
    0%, 60%{ left:-60%; }
    100%{ left:130%; }
}


.error-page{ padding:70px 0; }
.error-card{
    max-width:520px; margin:0 auto; text-align:center;
    background:var(--white); border:1px solid var(--border);
    border-radius:24px; padding:50px 30px;
    box-shadow:0 12px 34px rgba(20,30,80,.06);
}
.error-code{
    font-size:80px; font-weight:900; line-height:1;
    background:linear-gradient(135deg,var(--primary),var(--secondary));
    -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
    margin-bottom:18px;
}
.error-card h1{ font-size:22px; font-weight:800; color:var(--text); margin:0 0 12px; }
.error-card p{ font-size:14.5px; color:#5a6072; margin:0 0 26px; line-height:2; }
.error-btn{
    display:inline-flex; align-items:center; gap:8px;
    padding:13px 26px; background:var(--primary); color:#fff;
    border-radius:14px; text-decoration:none; font-weight:700; font-size:14.5px; transition:.2s;
}
.error-btn:hover{ filter:brightness(1.08); transform:translateY(-1px); }
