/* =========================================================
   کد جامع CSS - نسخه نهایی و یکپارچه
   ========================================================= */

:root {
    /* رنگ غالب (Primary) و درجات آن */
    --primary: #1f5fa8;
    --primary-hover: #4f46e5;
    --primary-light: #eef2ff;
    --primary-rgb: 99, 102, 241;

    /* رنگ‌های خنثی */
    --bg: #f5f7ff;
    --surface: #ffffff;
    --text: #1e1b4b;
    --text-muted: #64748b;
    --border: #e5e7eb;

    /* رنگ‌های معنایی (وضعیت) */
    --danger: #dc2626;
    --danger-hover: #b91c1c;
    --success: #16a34a;
    --warning: #ea580c;

    /* سیستم فاصله‌گذاری (مضرب ۴px) */
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 24px;
    --space-6: 32px;
    --space-7: 48px;

    --radius: 12px;
    --shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05);
}

* { box-sizing: border-box; }

body { 
    font-family: Tahoma, sans-serif; 
    direction: rtl; 
    text-align: right; 
    margin: 0; 
    padding: 0;
    background-color: var(--bg); 
    color: var(--text); 
    line-height: 1.6;
}

.container { width: min(1200px, calc(100% - 40px)); margin: 0 auto; }

/* Header */
.site-header { 
    background: linear-gradient(135deg, var(--primary) 0%, #a855f7 100%); 
    color: #fff; 
    padding: 60px 20px; 
    text-align: center; 
}

.main-nav ul { list-style: none; padding: 0; display: flex; justify-content: center; gap: 10px; margin-top: 20px; }
.main-nav a { 
    color: #fff; text-decoration: none; padding: 8px 20px; 
    background: rgba(255,255,255,0.15); border-radius: 999px; 
    font-size: 14px; transition: 0.3s; 
}
.main-nav a:hover { background: rgba(255,255,255,0.3); }

/* Header search */
.header-search {
    display: flex;
    align-items: center;
    max-width: 420px;
    margin: var(--space-5) auto 0;
    background: rgba(255,255,255,.95);
    border-radius: 999px;
    overflow: hidden;
    box-shadow: var(--shadow);
}
.header-search input {
    flex: 1;
    border: none;
    background: transparent;
    padding: var(--space-3) var(--space-4);
    font-family: inherit;
    font-size: 14px;
    color: var(--text);
    outline: none;
}
.header-search button {
    border: none;
    background: var(--primary);
    color: #fff;
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: .2s;
}
.header-search button:hover { background: var(--primary-hover); }


/* Main Content */
main { 
    background: var(--surface); 
    padding: 40px; 
    border-radius: 20px; 
    margin: -30px auto 50px; 
    box-shadow: var(--shadow); 
}

/* --- فرم سفارش (اصلاح شده: زیر هم) --- */
form {
    display: flex;
    flex-direction: column;
    gap: 15px;
    max-width: 500px;
    margin: 20px auto;
}

form div {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

input {
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: var(--radius);
    width: 100%;
}

button, .btn-submit {
    padding: 12px;
    background: var(--primary);
    color: #fff;
    border: none;
    border-radius: var(--radius);
    cursor: pointer;
    font-weight: bold;
    transition: 0.3s;
    margin-top: 10px;
}
button:hover, .btn-submit:hover { background: var(--primary-hover); }

/* Products / Articles Grid */
.product-row { 
    display: grid; 
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); 
    gap: 30px; 
}

.product-box { 
    border: 1px solid #f0f0f0; 
    padding: 25px; 
    border-radius: var(--radius); 
    text-align: center; 
    background: #fff;
    transition: transform 0.3s;
}

.product-box:hover { transform: translateY(-5px); }

.product-box img { 
    width: 200px; 
    height: 280px; 
    object-fit: cover; 
    border-radius: 8px; 
    margin-bottom: 20px; 
}

/* دکمه مشاهده جزئیات (استایل دکمه‌ای) */
.product-box a {
    display: inline-block;
    padding: 10px 25px;
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%);
    color: #fff !important;
    text-decoration: none;
    border-radius: 8px;
    font-weight: bold;
    box-shadow: 0 4px 12px rgba(99, 102, 241, 0.3);
    transition: 0.3s;
}

.product-box a:hover { filter: brightness(1.1); transform: scale(1.05); }

/* Footer */
.site-footer { 
    background: #1e1b4b; 
    color: #fff; 
    text-align: center; 
    padding: 30px; 
}

@media (max-width: 768px) {
    main { margin-top: 0; padding: 20px; }
}

.btn{
display:inline-block;
background:#007bff;
color:white;
padding:8px 15px;
text-decoration:none;
border-radius:5px;
text-align: center;
}

/* =========================================================
   سبد خرید
   ========================================================= */

/* آیکون/لینک سبد خرید در نوار بالا */
.cart-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.cart-badge {
    background: #ef4444;
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    min-width: 18px;
    height: 18px;
    line-height: 18px;
    border-radius: 999px;
    text-align: center;
    padding: 0 4px;
    display: inline-block;
}

/* دکمه کوچک (به‌روزرسانی تعداد / افزودن سریع) */
.btn-mini {
    padding: 6px 14px;
    background: var(--primary);
    color: #fff;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-size: 13px;
    transition: 0.3s;
}
.btn-mini:hover { background: var(--primary-hover); }

/* دکمه حذف */
.btn-remove {
    padding: 6px 14px;
    background: #ef4444;
    color: #fff;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-size: 13px;
    transition: 0.3s;
}
.btn-remove:hover { background: var(--danger); }

.btn-secondary {
    padding: 10px 18px;
    background: var(--border);
    color: #374151;
    border: none;
    border-radius: var(--radius);
    cursor: pointer;
    font-weight: bold;
}
.btn-secondary:hover { background: #d1d5db; }

.btn-order {
    display: inline-block;
    padding: 12px 22px;
    background: var(--primary);
    color: #fff !important;
    border: none;
    border-radius: var(--radius);
    text-decoration: none;
    font-weight: bold;
    cursor: pointer;
    text-align: center;
    transition: 0.3s;
}
.btn-order:hover { background: var(--primary-hover); }

/* فرم افزودن سریع داخل کارت محصول */
.quick-add-form { margin-top: 12px; }

/* فرم افزودن به سبد در صفحه جزئیات محصول */
.detail-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin: 20px 0;
}
.add-to-cart-form {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    max-width: none;
    margin: 0;
}
.add-to-cart-form input[type="number"] {
    width: 80px;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: var(--radius);
}

/* صفحه سبد خرید خالی */
.cart-empty {
    text-align: center;
    padding: 60px 20px;
}

/* جدول سبد خرید */
.cart-table-wrap { overflow-x: auto; }

.cart-table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
}

.cart-table th, .cart-table td {
    padding: 14px 10px;
    border-bottom: 1px solid #eee;
    text-align: center;
    vertical-align: middle;
}

.cart-table th {
    background: #f5f7ff;
    font-weight: bold;
}

.cart-product-cell {
    display: flex;
    align-items: center;
    gap: 12px;
    text-align: right;
}
.cart-product-cell img {
    width: 55px;
    height: 55px;
    object-fit: cover;
    border-radius: 8px;
}

.qty-form {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    max-width: none;
    margin: 0;
    justify-content: center;
}
.qty-form input[type="number"] {
    width: 65px;
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 8px;
}

.cart-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-top: 25px;
    padding-top: 20px;
    border-top: 2px solid #f0f0f0;
}

.cart-total {
    font-size: 18px;
}

/* جعبه سفارش (order.php و checkout.php) */
.order-container {
    display: flex;
    justify-content: center;
}
.order-box {
    background: #fff;
    border: 1px solid #f0f0f0;
    border-radius: var(--radius);
    padding: 30px;
    max-width: 560px;
    width: 100%;
}
.product-info {
    text-align: center;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #eee;
}
.product-info img {
    border-radius: 8px;
    margin-bottom: 10px;
}
.total-box {
    text-align: center;
    font-size: 17px;
    background: #f5f7ff;
    padding: 12px;
    border-radius: var(--radius);
    margin: 15px 0;
}

/* صفحه تسویه حساب */
.checkout-items {
    margin-bottom: 15px;
}
.checkout-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid #eee;
}
.checkout-item img {
    width: 55px;
    height: 55px;
    object-fit: cover;
    border-radius: 8px;
}
.checkout-item-name { flex: 1; text-align: right; }
.checkout-item-qty { color: #6b7280; }
.checkout-item-price { font-weight: bold; }

@media (max-width: 600px) {
    .cart-product-cell { flex-direction: column; text-align: center; }
    .checkout-item { flex-wrap: wrap; justify-content: center; text-align: center; }
}

/* =====================================================
   پنل مدیریت محصولات (Admin Products)
   ===================================================== */

.admin-container {
    max-width: 1100px;
    margin: 20px auto;
    padding: 0 20px;
}

.admin-title {
    font-size: 26px;
    font-weight: 700;
    color: #1e1b4b;
    margin-bottom: 25px;
    padding-bottom: 10px;
    border-bottom: 3px solid var(--primary);
    display: inline-block;
}

/* فرم مدیریت */
.admin-form {
    background-color: #ffffff;
    padding: 30px;
    border-radius: 16px;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05),
                0 4px 6px -4px rgba(0, 0, 0, 0.05);
    margin-bottom: 40px;
}

.form-group {
    margin-bottom: 18px;
}

.form-group label {
    display: block;
    font-weight: 600;
    color: #374151;
    margin-bottom: 6px;
    font-size: 14.5px;
}

.form-group input,
.form-group textarea {
    width: 100%;
    padding: 11px 14px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 15px;
    transition: border-color 0.3s, box-shadow 0.3s;
}

.form-group input:focus,
.form-group textarea:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15);
    outline: none;
}

.form-group.full {
    grid-column: 1 / -1;
}

.req {
    color: #ef4444;
    font-size: 13px;
}

/* دکمه‌های فرم */
.btn-row {
    display: flex;
    gap: 12px;
    margin-top: 10px;
    flex-wrap: wrap;
}

.btn-primary {
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%);
    color: #fff;
    padding: 12px 30px;
    border: none;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px -1px rgba(99, 102, 241, 0.3);
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(99, 102, 241, 0.3);
}

.btn-secondary {
    background-color: var(--border);
    color: #374151;
    padding: 12px 24px;
    border: none;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: 0.3s;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.btn-secondary:hover {
    background-color: #d1d5db;
}

/* جدول لیست محصولات */
.admin-table {
    width: 100%;
    border-collapse: collapse;
    background-color: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1);
    margin-top: 10px;
}

.admin-table th {
    background-color: #f8fafc;
    color: #374151;
    font-weight: 600;
    padding: 14px 12px;
    text-align: center;
    font-size: 14px;
    border-bottom: 2px solid var(--border);
}

.admin-table td {
    padding: 14px 12px;
    text-align: center;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: middle;
    font-size: 14.5px;
}

.admin-table tr:hover {
    background-color: #f8fafc;
}

.admin-table img {
    border-radius: 6px;
    border: 1px solid var(--border);
    object-fit: cover;
}

/* دکمه ویرایش */
.btn-edit {
    background-color: var(--primary);
    color: #fff;
    padding: 6px 16px;
    border-radius: 6px;
    font-size: 13px;
    text-decoration: none;
    transition: all 0.3s;
    display: inline-block;
}

.btn-edit:hover {
    background-color: var(--primary-hover);
    transform: translateY(-1px);
}

/* بهبود ظاهر کلی فرم در حالت ویرایش */
.admin-form input[type="file"] {
    padding: 8px;
    background-color: #f8fafc;
}

small {
    display: block;
    margin-top: 6px;
    color: var(--text-muted);
    font-size: 13px;
}

/* ریسپانسیو */
@media (max-width: 768px) {
    .admin-container {
        padding: 0 10px;
    }
    
    .admin-form {
        padding: 20px;
    }
    
    .btn-row {
        flex-direction: column;
    }
    
    .btn-primary,
    .btn-secondary {
        width: 100%;
        text-align: center;
    }
}
.register-result-page {
    min-height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 48px 16px;
    direction: rtl;
}

.register-result-card {
    width: 100%;
    max-width: 560px;
    background: #ffffff;
    border-radius: 18px;
    padding: 38px 30px;
    text-align: center;
    box-shadow: 0 18px 45px rgba(20, 30, 50, 0.14);
    border: 1px solid #edf0f5;
    position: relative;
    overflow: hidden;
}

.register-result-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 7px;
    background: #6c757d;
}

.register-result-card.success::before {
    background: linear-gradient(90deg, #16a34a, #22c55e);
}

.register-result-card.error::before {
    background: linear-gradient(90deg, var(--danger), #f97316);
}

.register-result-icon {
    width: 76px;
    height: 76px;
    margin: 0 auto 18px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 42px;
    font-weight: bold;
}

.register-result-card.success .register-result-icon {
    color: #15803d;
    background: #dcfce7;
}

.register-result-card.error .register-result-icon {
    color: var(--danger-hover);
    background: #fee2e2;
}

.register-result-card h1 {
    margin: 0 0 12px;
    font-size: 26px;
    color: #1f2937;
}

.register-result-card p {
    margin: 0;
    font-size: 16px;
    line-height: 2;
    color: #4b5563;
}

.register-result-actions {
    margin-top: 28px;
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}

.register-result-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 145px;
    min-height: 44px;
    padding: 10px 18px;
    border-radius: 10px;
    text-decoration: none;
    font-size: 15px;
    transition: 0.25s ease;
}

.register-result-btn.primary {
    background: #2563eb;
    color: #ffffff;
}

.register-result-btn.primary:hover {
    background: #1d4ed8;
}

.register-result-btn.secondary {
    background: #f3f4f6;
    color: #374151;
}

.register-result-btn.secondary:hover {
    background: var(--border);
}

.form-row {
    display: flex;
    gap: 15px;
}
.form-row .form-col {
    flex: 1;
}
.form-row .form-col input {
    width: 100%;
}

/* ===== استایل دراپ‌داون (select) ===== */
select {
    padding: 12px 40px 12px 12px;
    border: 1px solid #ddd;
    border-radius: var(--radius);
    width: 100%;
    background-color: #fff;
    font-family: inherit;
    font-size: 15px;
    color: #333;
    cursor: pointer;

    /* حذف ظاهر پیش‌فرض مرورگر */
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;

    /* فلش سفارشی سمت راست (مناسب RTL) */
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: left 14px center;

    transition: border-color 0.3s, box-shadow 0.3s;
}

/* حالت هاور */
select:hover {
    border-color: var(--primary);
}

/* حالت فوکوس */
select:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

/* حالت انتخاب‌نشده (placeholder) */
select:invalid {
    color: #999;
}

/* استایل گزینه‌ها */
select option {
    color: #333;
    padding: 10px;
}

.category-menu{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:20px 0;
    justify-content:center;
}

.category-menu a{
    text-decoration:none;
    padding:10px 18px;
    background:#f3f3f3;
    color:#333;
    border-radius:25px;
    transition:.3s;
    font-weight:bold;
}

.category-menu a:hover{
    background:#007bff;
    color:#fff;
}

.category-menu .active{
    background:#007bff;
    color:#fff;
}

/* ============================= */
/* CATEGORY MENU */
/* ============================= */

.category-menu{
    display:flex;
    align-items:center;
    gap:18px;
    overflow-x:auto;
    padding:18px;
    margin:30px 0;
    background:linear-gradient(135deg,#ffffff,#f5f7fa);
    border-radius:20px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    scrollbar-width:none;
}

.category-menu::-webkit-scrollbar{
    display:none;
}

.category-menu a{
    position:relative;
    white-space:nowrap;
    text-decoration:none;
    color:#555;
    background:#fff;
    padding:14px 30px;
    border-radius:50px;
    font-weight:700;
    transition:.35s;
    border:2px solid #ececec;
    overflow:hidden;
}

.category-menu a::before{
    content:'';
    position:absolute;
    top:0;
    left:-100%;
    width:100%;
    height:100%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);
    transition:.6s;
}

.category-menu a:hover::before{
    left:100%;
}

.category-menu a:hover{
    transform:translateY(-6px);
    color:#fff;
    border-color:var(--primary);
    background:linear-gradient(135deg, var(--primary), var(--primary-hover));
    box-shadow:0 15px 35px rgba(var(--primary-rgb),.35);
}

.category-menu .active{
    color:#fff;
    border-color:var(--primary);
    background:linear-gradient(135deg, var(--primary), var(--primary-hover));
    box-shadow:0 15px 35px rgba(var(--primary-rgb),.35);
}

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

.products-container{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:30px;
}

.product-row{
    display:contents;
}

.product-box{
    background:#fff;
    border-radius:24px;
    overflow:hidden;
    box-shadow:0 12px 35px rgba(0,0,0,.08);
    transition:.35s;
    padding:25px;
    position:relative;
    text-align:center;
}

.product-box:hover{
    transform:translateY(-10px);
    box-shadow:0 25px 50px rgba(0,0,0,.15);
}

.product-box img{
    width:100%;
    height:220px;
    object-fit:contain;
    transition:.4s;
}

.product-box:hover img{
    transform:scale(1.08);
}

.product-box h3{
    margin-top:20px;
    font-size:22px;
    color:#222;
}

.product-box p{
    color:var(--primary);
    font-size:22px;
    font-weight:bold;
    margin:15px 0;
}

.product-box .btn,
.product-box .btn-mini{
    display:block;
    width:100%;
    border:none;
    border-radius:14px;
    padding:14px;
    margin-top:12px;
    text-decoration:none;
    cursor:pointer;
    transition:.3s;
    font-weight:bold;
}

.product-box .btn{
    background:var(--primary);
    color:#fff;
}

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

.product-box .btn-mini{
    background:#198754;
    color:#fff;
}

.product-box .btn-mini:hover{
    background:#157347;
}

/* Badge */

.product-box::after{
    content:"جدید";
    position:absolute;
    top:18px;
    left:-35px;
    width:120px;
    text-align:center;
    background:#ff4757;
    color:#fff;
    transform:rotate(-45deg);
    font-size:12px;
    padding:5px 0;
    font-weight:bold;
}

/* MOBILE */

@media(max-width:768px){

.category-menu{
    padding:12px;
    gap:10px;
}

.category-menu a{
    padding:10px 18px;
    font-size:14px;
}

.product-box{
    padding:18px;
}

.product-box img{
    height:170px;
}

}

/* =========================================================
   RESPONSIVE MOBILE PATCH - NIMA SHOP
   این بخش در انتهای فایل قرار گرفته تا نسخه دسکتاپ حفظ شود.
   ========================================================= */

html {
    overflow-x: hidden;
}

img {
    max-width: 100%;
}

button,
input,
select,
textarea {
    font-family: inherit;
    max-width: 100%;
}

/* جلوگیری از بیرون‌زدگی محتوا در موبایل */
.container {
    max-width: 1200px;
}

main.container {
    min-width: 0;
}

/* صفحه جزئیات محصول */
.product-detail {
    display: grid;
    grid-template-columns: minmax(250px, 360px) minmax(0, 1fr);
    gap: 30px;
    align-items: start;
}

.product-detail > img {
    width: 100%;
    max-width: 360px;
    height: 360px;
    object-fit: contain;
    border-radius: 16px;
    margin: 0 auto;
}

.product-detail > h2,
.product-detail > p,
.product-detail > .detail-actions,
.product-detail > a,
.product-detail > br {
    grid-column: 2;
}

.product-detail > h2 {
    margin-top: 0;
}

/* فرم‌ها و دکمه‌ها */
textarea {
    width: 100%;
    min-height: 120px;
    resize: vertical;
}

input[type="submit"],
input[type="button"],
button {
    min-height: 44px;
}

/* جزئیات محصول */
.detail-actions {
    width: 100%;
}

.detail-actions .btn,
.detail-actions .btn-order {
    min-height: 44px;
}

.order-container {
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.order-container > h2 {
    width: 100%;
    text-align: center;
}

.order-box form {
    width: 100%;
}

/* جدول‌ها: در موبایل اسکرول افقی کنترل‌شده */
.cart-table-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.cart-table {
    min-width: 680px;
}

.cart-summary {
    width: 100%;
}

.checkout-item {
    min-width: 0;
}

.checkout-item-name {
    min-width: 0;
    overflow-wrap: anywhere;
}

/* پنل ادمین */
.admin-container {
    width: min(1100px, calc(100% - 20px));
}

.admin-table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
}

.form-row {
    flex-wrap: wrap;
}

@media (max-width: 900px) {
    .site-header {
        padding: 35px 15px 25px;
    }

    .main-nav ul {
        flex-wrap: wrap;
        gap: 8px;
    }

    .main-nav a {
        padding: 9px 14px;
    }

    main {
        width: calc(100% - 24px);
        padding: 25px 18px;
        margin: -10px auto 30px;
        border-radius: 16px;
    }

    .products-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }

    .product-box {
        padding: 18px;
    }

    .product-box h3 {
        font-size: 18px;
    }

    .product-box p {
        font-size: 18px;
    }

    .product-box img {
        height: 190px;
    }

    .product-detail {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .product-detail > img,
    .product-detail > h2,
    .product-detail > p,
    .product-detail > .detail-actions,
    .product-detail > a,
    .product-detail > br {
        grid-column: 1;
    }

    .product-detail > img {
        max-width: 300px;
        height: 300px;
    }

    .detail-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .detail-actions .add-to-cart-form,
    .detail-actions .btn,
    .detail-actions .btn-order {
        width: 100%;
    }

    .add-to-cart-form {
        justify-content: center;
    }

    .add-to-cart-form input[type="number"] {
        width: 90px;
    }
}

@media (max-width: 600px) {
    body {
        font-size: 14px;
    }

    .container {
        width: calc(100% - 20px);
    }

    .site-header {
        padding: 24px 10px 20px;
    }

    .site-header .logo,
    .site-header h2 {
        font-size: 22px;
        margin: 0 0 8px;
    }

    .welcome {
        font-size: 13px;
        margin: 5px 0 12px;
    }

    .main-nav {
        width: 100%;
    }

    .main-nav ul {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
        margin: 12px 0 0;
    }

    .main-nav li {
        min-width: 0;
    }

    .main-nav a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 42px;
        padding: 8px 6px;
        font-size: 12px;
        white-space: normal;
    }

    main {
        width: calc(100% - 12px);
        padding: 20px 14px;
        margin: 0 auto 20px;
        border-radius: 14px;
    }

    main h1 {
        font-size: 24px;
    }

    main h2 {
        font-size: 21px;
    }

    main h3 {
        font-size: 18px;
    }

    .category-menu {
        margin: 16px 0 22px;
        padding: 10px;
        gap: 8px;
        border-radius: 14px;
    }

    .category-menu a {
        padding: 9px 14px;
        font-size: 13px;
    }

    .products-container {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .product-box {
        padding: 16px;
        border-radius: 18px;
    }

    .product-box img {
        height: 210px;
    }

    .product-box h3 {
        font-size: 17px;
        margin-top: 12px;
    }

    .product-box p {
        font-size: 17px;
        margin: 10px 0;
    }

    .product-box .btn,
    .product-box .btn-mini {
        padding: 12px;
        font-size: 14px;
    }

    .product-box::after {
        top: 15px;
        left: -38px;
    }

    /* فرم‌های ورود، ثبت‌نام، سفارش و تماس */
    form,
    .login-form,
    .admin-form {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto;
        margin-right: auto;
    }

    .admin-form {
        padding: 18px;
    }

    .form-row {
        flex-direction: column;
        gap: 0;
    }

    .btn-row {
        flex-direction: column;
    }

    .btn-row > *,
    .btn-primary,
    .btn-secondary {
        width: 100%;
    }

    input,
    select,
    textarea {
        font-size: 16px;
    }

    .order-box {
        padding: 18px 14px;
        border-radius: 14px;
    }

    .product-info img {
        width: min(220px, 80vw);
        height: auto;
    }

    .product-detail > img {
        width: min(100%, 260px);
        height: 260px;
    }

    .cart-summary {
        flex-direction: column;
        align-items: stretch;
    }

    .cart-summary > *,
    .cart-summary .btn-order,
    .cart-summary button {
        width: 100%;
        text-align: center;
    }

    .cart-product-cell {
        min-width: 160px;
    }

    .checkout-item {
        display: grid;
        grid-template-columns: 55px minmax(0, 1fr);
        gap: 8px 10px;
        align-items: center;
    }

    .checkout-item img {
        grid-row: span 2;
    }

    .checkout-item-name {
        text-align: right;
    }

    .checkout-item-qty,
    .checkout-item-price {
        font-size: 13px;
    }

    .register-result-card {
        padding: 28px 18px;
    }

    .register-result-card h1 {
        font-size: 22px;
    }

    .register-result-actions {
        flex-direction: column;
    }

    .register-result-btn {
        width: 100%;
    }

    .site-footer {
        padding: 22px 12px;
        font-size: 13px;
    }
}

/* سبد خرید در هدر دسکتاپ */
.desktop-cart-nav-item { display: list-item; }
.desktop-cart {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px;
    white-space: nowrap;
}
.desktop-cart .cart-badge {
    margin-right: 2px;
}
@media (max-width: 768px) {
    .desktop-cart-nav-item { display: none !important; }
}

/* =========================================================
   تجربه موبایل حرفه‌ای
   ========================================================= */

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
button, a, input, textarea, select { -webkit-tap-highlight-color: transparent; }

.mobile-topbar { display: none; }
.mobile-menu-overlay { display: none; }

@media (max-width: 768px) {
    :root {
        --mobile-gutter: 14px;
        --mobile-radius: 16px;
    }

    body {
        background: #f6f7fb;
        font-size: 14px;
        padding-bottom: 14px;
    }

    .container {
        width: min(100% - 28px, 680px);
    }

    .site-header {
        position: relative;
        z-index: 2000;
        padding: 18px 0 24px;
        text-align: center;
        border-radius: 0 0 24px 24px;
        box-shadow: 0 8px 25px rgba(30, 27, 75, .14);
    }

    .site-header .container {
        width: calc(100% - 28px);
    }

    .mobile-topbar {
        display: flex;
        align-items: center;
        justify-content: space-between;
        direction: ltr;
        margin-bottom: 10px;
    }

    .menu-toggle,
    .mobile-cart {
        width: 44px;
        height: 44px;
        margin: 0;
        padding: 0;
        border: 1px solid rgba(255,255,255,.22);
        border-radius: 14px;
        background: rgba(255,255,255,.14);
        color: #fff;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        backdrop-filter: blur(10px);
    }

    .menu-toggle {
        flex-direction: column;
        gap: 4px;
    }

    .menu-toggle span {
        width: 19px;
        height: 2px;
        border-radius: 99px;
        background: #fff;
        transition: .25s ease;
    }

    .menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
    .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
    .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

    .header-search {
        max-width: 100%;
        margin: var(--space-3) 0 0;
    }
    .header-search input { padding: var(--space-2) var(--space-3); font-size: 13px; }
    .header-search button { width: 40px; height: 40px; }

    .mobile-cart {
        position: relative;
        font-size: 20px;
    }

    .mobile-cart .cart-badge {
        position: absolute;
        top: -5px;
        right: -5px;
        border: 2px solid #7569ee;
    }

    .logo {
        font-size: 23px;
        line-height: 1.4;
        margin: 5px 0 4px;
    }

    .welcome {
        margin: 5px 0 0;
        font-size: 12px;
        opacity: .9;
    }

    .main-nav {
        position: fixed;
        top: 0;
        right: 0;
        width: min(82vw, 340px);
        height: 100dvh;
        padding: 92px 16px 24px;
        background: rgba(255,255,255,.98);
        box-shadow: -12px 0 35px rgba(15,23,42,.18);
        transform: translateX(105%);
        transition: transform .28s ease;
        z-index: 2100;
        overflow-y: auto;
        text-align: right;
    }

    .main-nav.is-open { transform: translateX(0); }

    .main-nav ul {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
        margin: 0;
    }

    .main-nav li { width: 100%; }

    .main-nav a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 50px;
        padding: 12px 15px;
        color: #24204f;
        background: #f6f7fb;
        border: 1px solid #ececf5;
        border-radius: 14px;
        font-size: 14px;
        font-weight: 600;
    }

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

    .main-nav .cart-badge {
        margin-right: 7px;
        background: #ef4444;
    }

    .mobile-menu-overlay {
        position: fixed;
        inset: 0;
        background: rgba(15,23,42,.48);
        backdrop-filter: blur(2px);
        z-index: 1500;
        opacity: 0;
        pointer-events: none;
        display: block;
        transition: opacity .25s ease;
    }

    .mobile-menu-overlay.is-open {
        opacity: 1;
        pointer-events: auto;
    }

    body.menu-open { overflow: hidden; }

    main.container {
        margin: 14px auto 28px;
        padding: 20px 16px;
        border-radius: var(--mobile-radius);
        box-shadow: 0 8px 24px rgba(15,23,42,.06);
    }

    main.container > h2:first-child {
        font-size: 21px;
        line-height: 1.5;
        margin-top: 0;
    }

    main.container > p {
        color: var(--text-muted);
    }

    .btn, .btn-submit, .btn-order, .btn-primary, .btn-secondary {
        min-height: 46px;
        padding: 11px 16px;
        border-radius: 13px;
    }

    /* صفحه محصولات */
    .category-menu {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        padding: 4px 2px 12px;
        margin: 0 -2px 10px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .category-menu::-webkit-scrollbar { display: none; }

    .category-menu a {
        flex: 0 0 auto;
        white-space: nowrap;
        padding: 9px 14px;
        border-radius: 999px;
        background: #f1f3f9;
        color: #475569;
        text-decoration: none;
        border: 1px solid #e7e9f1;
        font-size: 12px;
        font-weight: 600;
    }

    .category-menu a.active {
        background: var(--primary);
        border-color: var(--primary);
        color: #fff;
    }

    .product-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        margin-bottom: 10px;
    }

    .product-box {
        min-width: 0;
        padding: 12px 9px;
        border: 1px solid #ececf3;
        border-radius: 16px;
        box-shadow: 0 5px 18px rgba(15,23,42,.05);
    }

    .product-box:hover { transform: none; }

    .product-box img {
        width: 100%;
        height: 155px;
        margin-bottom: 8px;
        border-radius: 12px;
        object-fit: cover;
    }

    .product-box h3 {
        font-size: 13px;
        line-height: 1.65;
        min-height: 42px;
        margin: 4px 0;
    }

    .product-box p {
        font-size: 12px;
        color: #475569;
        margin: 5px 0 8px;
    }

    .product-box a.btn,
    .product-box .btn-mini {
        width: 100%;
        min-height: 40px;
        padding: 8px 5px;
        font-size: 11px;
        border-radius: 10px;
    }

    .quick-add-form {
        margin: 7px 0 0;
        gap: 0;
    }

    .quick-add-form button { margin-top: 0; }

    /* جزئیات، سبد و تسویه */
    .detail-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .add-to-cart-form {
        width: 100%;
        flex-wrap: wrap;
    }

    .add-to-cart-form input[type="number"] {
        width: 76px;
        min-height: 44px;
    }

    .cart-table-wrap {
        margin: 0 -4px;
        border-radius: 12px;
    }

    .cart-table {
        min-width: 620px;
        font-size: 12px;
    }

    .cart-summary {
        align-items: stretch;
        flex-direction: column;
    }

    .cart-summary .btn,
    .cart-summary .btn-order {
        width: 100%;
    }

    .order-box, .admin-form {
        padding: 18px 14px;
        border-radius: 16px;
    }

    .order-box form {
        margin: 14px 0;
    }

    .checkout-item {
        align-items: flex-start;
    }

    /* پنل مدیریت */
    .admin-container {
        width: calc(100% - 20px);
        padding: 0;
    }

    .admin-title {
        font-size: 21px;
    }

    .admin-table-wrap {
        overflow-x: auto;
        border-radius: 12px;
    }

    .admin-table {
        min-width: 680px;
    }

    .admin-table th,
    .admin-table td {
        padding: 10px 8px;
    }

    .site-footer {
        padding: 24px 14px;
        font-size: 12px;
    }
}

@media (max-width: 430px) {
    .container { width: calc(100% - 20px); }
    .site-header .container { width: calc(100% - 20px); }
    main.container { padding: 18px 12px; }

    .product-row {
        gap: 8px;
    }

    .product-box {
        padding: 10px 7px;
    }

    .product-box img {
        height: 135px;
    }

    .product-box h3 {
        font-size: 12px;
        min-height: 40px;
    }

    .product-box a.btn,
    .product-box .btn-mini {
        font-size: 10px;
        padding-inline: 3px;
    }
}

@media (max-width: 350px) {
    .product-row { grid-template-columns: 1fr; }
    .product-box img { height: 210px; }
}


/* =========================================================
   TRACKING + PRODUCT DETAIL FINAL FIX
   ========================================================= */

/* صفحه نتیجه پیگیری سفارش */
.tracking-result-card {
    width: min(800px, 100%);
    max-width: 800px;
    margin: 30px auto;
    background: #fff;
    padding: 26px;
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, .08);
    border: 1px solid #eef0f6;
}

.tracking-result-card h2 {
    margin-top: 0;
    margin-bottom: 20px;
}

.tracking-status {
    padding: 12px 14px;
    border-radius: 12px;
    background: #f5f7ff;
    margin: 12px 0 20px;
}

.tracking-steps {
    display: flex;
    align-items: flex-start;
    width: 100%;
    gap: 8px;
    margin-top: 28px;
}

.tracking-steps .step {
    flex: 1 1 0;
    min-width: 0;
    text-align: center;
}

.tracking-steps .circle {
    width: 42px;
    height: 42px;
    margin: 0 auto 8px;
    border-radius: 50%;
    background: var(--border);
    color: var(--text-muted);
    line-height: 42px;
    font-weight: 700;
}

.tracking-steps .active .circle {
    background: #22c55e;
    color: #fff;
    box-shadow: 0 5px 15px rgba(34, 197, 94, .25);
}

.tracking-steps .step p {
    margin: 0;
    font-size: 12px;
    line-height: 1.7;
    color: var(--text-muted);
    overflow-wrap: anywhere;
}

.tracking-steps .active p {
    color: #166534;
    font-weight: 700;
}

.tracking-cancelled {
    margin: 20px 0 0;
    padding: 14px;
    border-radius: 12px;
    background: #fef2f2;
    color: var(--danger);
    font-weight: 700;
    text-align: center;
}

/* فرم ورود کد پیگیری */
.tracking-form-card {
    width: min(500px, 100%);
    max-width: 500px;
    margin: 30px auto;
    padding: 26px;
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, .08);
    border: 1px solid #eef0f6;
    text-align: center;
}

.tracking-form-card form {
    width: 100%;
    max-width: none;
    margin: 18px 0 0;
}

.tracking-form-card input[type="text"] {
    width: 100%;
    min-height: 48px;
    margin: 0;
}

.tracking-form-card button {
    width: 100%;
    margin-top: 0;
}

/* دکمه بازگشت به لیست محصولات */
.btn-back-products {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 46px;
    margin-top: 8px;
    padding: 11px 18px;
    border-radius: 13px;
    background: #f1f3f9 !important;
    color: #374151 !important;
    border: 1px solid #e2e5ee;
    text-decoration: none !important;
    font-weight: 700;
    box-shadow: 0 4px 12px rgba(15, 23, 42, .06);
    transition: .2s ease;
}

.btn-back-products:hover {
    background: #e8eaff !important;
    color: var(--primary-hover) !important;
    border-color: #c7c9ff;
    transform: translateY(-1px);
}

@media (max-width: 768px) {
    .tracking-result-card {
        width: 100%;
        margin: 12px auto 20px;
        padding: 18px 14px;
        border-radius: 16px;
    }

    .tracking-result-card h2 {
        font-size: 20px;
    }

    .tracking-steps {
        gap: 4px;
        margin-top: 22px;
    }

    .tracking-steps .circle {
        width: 34px;
        height: 34px;
        line-height: 34px;
        font-size: 12px;
    }

    .tracking-steps .step p {
        font-size: 10px;
        line-height: 1.55;
    }

    .tracking-form-card {
        width: 100%;
        margin: 12px auto 20px;
        padding: 20px 14px;
        border-radius: 16px;
    }

    .btn-back-products {
        width: 100%;
        margin-top: 10px;
    }

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

    .product-detail > img,
    .product-detail > h2,
    .product-detail > p,
    .product-detail > .detail-actions,
    .product-detail > a,
    .product-detail > br {
        grid-column: 1;
    }
}

@media (max-width: 390px) {
    .tracking-steps .step p {
        font-size: 9px;
    }

    .tracking-steps .circle {
        width: 31px;
        height: 31px;
        line-height: 31px;
    }
}


/* =========================================================
   PRODUCTS PAGE - SEARCH + CLICKABLE PRODUCT CARDS
   ========================================================= */

.products-search-wrap {
    width: min(900px, 100%);
    margin: 18px auto 24px;
}

.products-search-form {
    display: flex;
    align-items: stretch;
    gap: 10px;
    width: 100%;
    max-width: none;
    margin: 0;
}

.products-search-input {
    position: relative;
    flex: 1;
    display: flex;
    align-items: center;
    min-width: 0;
}

.products-search-input input {
    width: 100%;
    min-height: 52px;
    margin: 0;
    padding: 0 48px 0 48px;
    border: 1px solid #e3e7ef;
    border-radius: 16px;
    background: #fff;
    color: #1f2937;
    font-size: 15px;
    outline: none;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .06);
    transition: .2s ease;
}

.products-search-input input:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 4px rgba(var(--primary-rgb), .10);
}

.products-search-icon {
    position: absolute;
    right: 16px;
    z-index: 1;
    color: var(--text-muted);
    font-size: 24px;
    line-height: 1;
    pointer-events: none;
}

.products-search-clear {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    display: grid !important;
    place-items: center;
    width: 30px;
    height: 30px;
    padding: 0 !important;
    background: #eef2f7 !important;
    color: var(--text-muted) !important;
    border-radius: 50% !important;
    text-decoration: none !important;
    box-shadow: none !important;
    font-size: 20px;
    font-weight: 700;
}

.products-search-clear:hover {
    background: #e2e8f0 !important;
    color: #111827 !important;
    transform: translateY(-50%);
}

.products-search-btn {
    flex: 0 0 120px;
    min-height: 52px;
    border: 0;
    border-radius: 16px;
    background: linear-gradient(135deg, var(--primary), var(--primary-hover));
    color: #fff;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 8px 22px rgba(var(--primary-rgb), .20);
    transition: .2s ease;
}

.products-search-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(var(--primary-rgb), .28);
}

.products-search-result {
    margin-top: 12px;
    color: var(--text-muted);
    font-size: 14px;
    text-align: right;
}

/* کارت محصول: کل کارت قابل کلیک است، به‌جز فرم سبد خرید */
.product-card-link {
    cursor: pointer;
    user-select: none;
}

.product-card-link:focus-visible {
    outline: 3px solid rgba(var(--primary-rgb), .35);
    outline-offset: 3px;
}

.product-card-content {
    display: block;
}

.product-card-content img {
    pointer-events: none;
}

.product-card-link .quick-add-form,
.product-card-link .quick-add-form * {
    cursor: default;
}

.product-card-link .quick-add-form button {
    cursor: pointer;
    position: relative;
    z-index: 2;
}

.product-card-link:hover .product-card-content h3 {
    color: var(--primary);
}

.products-empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 55px 20px;
    border: 1px dashed #d7dce5;
    border-radius: 20px;
    background: #fff;
}

.products-empty-icon {
    width: 62px;
    height: 62px;
    margin: 0 auto 14px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #eef4ff;
    color: var(--primary);
    font-size: 30px;
}

.products-empty h3 {
    margin: 0 0 8px;
    color: #1f2937;
}

.products-empty p {
    margin: 0 0 18px;
    color: var(--text-muted);
}

.products-empty-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 11px 18px !important;
    border-radius: 12px !important;
    background: var(--primary) !important;
    color: #fff !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

@media (max-width: 768px) {
    .products-search-wrap {
        margin: 12px 0 18px;
    }

    .products-search-form {
        gap: 8px;
    }

    .products-search-input input {
        min-height: 48px;
        padding-right: 44px;
        padding-left: 42px;
        border-radius: 14px;
        font-size: 14px;
    }

    .products-search-btn {
        flex-basis: 88px;
        min-height: 48px;
        border-radius: 14px;
    }

    .products-search-icon {
        right: 14px;
        font-size: 22px;
    }

    .products-search-clear {
        left: 9px;
        width: 28px;
        height: 28px;
    }

    .products-search-result {
        font-size: 13px;
    }

    .product-card-link {
        padding: 16px;
    }

    .product-card-link .product-card-content {
        min-height: 0;
    }

    .product-card-link .quick-add-form {
        margin-top: 10px;
    }

    .product-card-link .btn-mini {
        min-height: 46px;
        padding: 11px 10px;
    }
}

@media (max-width: 390px) {
    .products-search-form {
        flex-direction: column;
    }

    .products-search-btn {
        flex: none;
        width: 100%;
    }
}

/* =========================================================
   ACCOUNT PAGE - PROFILE + ORDERS
   ========================================================= */
.account-page{width:100%;max-width:1120px;margin:0 auto;padding:4px 0 10px}
.account-hero{display:flex;align-items:center;gap:18px;padding:24px;margin-bottom:22px;border:1px solid #e9eaf5;border-radius:22px;background:linear-gradient(135deg,#f8f9ff 0%,#fff 58%,#f5f3ff 100%);box-shadow:0 12px 30px rgba(31,41,55,.06)}
.account-avatar{flex:0 0 68px;width:68px;height:68px;display:grid;place-items:center;border-radius:20px;background:linear-gradient(135deg,var(--primary),#8b5cf6);color:#fff;font-size:28px;font-weight:800;box-shadow:0 10px 24px rgba(99,102,241,.22)}
.account-kicker{display:block;margin-bottom:2px;color:var(--primary);font-size:13px;font-weight:800}
.account-hero h1{margin:0 0 5px;color:#1e1b4b;font-size:clamp(22px,3vw,30px)}
.account-hero p{margin:0;color:var(--text-muted);font-size:14px}
.account-alert{padding:13px 16px;margin:0 0 18px;border-radius:13px;font-size:14px;font-weight:700}
.account-alert.success{background:#ecfdf3;border:1px solid #bbf7d0;color:#166534}.account-alert.error{background:#fff1f2;border:1px solid #fecdd3;color:#be123c}
.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start;margin-bottom:20px}
.account-card{min-width:0;padding:22px;border:1px solid #e9eaf2;border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.055)}
.account-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.account-card-head h2{margin:0;color:#1e1b4b;font-size:19px;line-height:1.5}.account-card-head p{margin:4px 0 0;color:var(--text-muted);font-size:13px}
.account-card-head>span{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:13px;background:#f1f3ff;font-size:19px}
.account-form{width:100%;max-width:none;margin:0;display:flex;flex-direction:column;gap:7px}.account-form label{margin-top:7px;color:#374151;font-size:13px;font-weight:700}
.account-form input{width:100%;min-height:46px;margin:0 0 4px;padding:10px 13px;border:1px solid #e1e5ee;border-radius:12px;background:#fff;color:#1f2937;font-family:inherit;font-size:14px;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}.account-form input:focus{border-color:#818cf8;box-shadow:0 0 0 4px rgba(99,102,241,.10)}.account-form input:disabled{background:#f7f8fb;color:#7c8494;cursor:not-allowed}
.account-btn,.account-outline-btn{display:inline-flex!important;align-items:center;justify-content:center;min-height:44px;padding:10px 17px!important;margin:9px 0 0!important;border-radius:12px!important;font-family:inherit;font-size:14px;font-weight:800;text-decoration:none!important;cursor:pointer;transition:.2s ease}
.account-btn{width:100%;border:0!important;background:linear-gradient(135deg,var(--primary),var(--primary-hover))!important;color:#fff!important;box-shadow:0 8px 18px rgba(79,70,229,.18)}.account-btn:hover{transform:translateY(-1px);filter:brightness(1.04)}
.account-outline-btn{flex:0 0 auto;border:1px solid #cfd4ff!important;background:#f8f8ff!important;color:var(--primary-hover)!important;box-shadow:none!important}.account-outline-btn:hover{background:#eef0ff!important;border-color:#aeb5ff!important}
.orders-card{margin-bottom:20px}.orders-card>.account-card-head{align-items:center}.orders-list{display:flex;flex-direction:column;gap:11px}
.account-order{display:grid;grid-template-columns:minmax(230px,1.8fr) repeat(3,minmax(110px,1fr)) auto;align-items:center;gap:14px;padding:13px;border:1px solid #edf0f5;border-radius:15px;background:#fafbff}
.order-product-mini{min-width:0;display:flex;align-items:center;gap:11px}.order-product-mini img,.order-image-placeholder{width:52px;height:52px;flex:0 0 52px;border-radius:11px;object-fit:cover;border:1px solid #e8eaf1;background:#fff}.order-image-placeholder{display:grid;place-items:center;font-size:22px}.order-product-mini>div:last-child{min-width:0}
.order-product-mini strong,.order-product-mini span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-product-mini strong{color:#1f2937;font-size:14px}.order-product-mini span{margin-top:2px;color:var(--text-muted);font-size:12px}
.order-meta{min-width:0}.order-meta span,.order-meta strong{display:block}.order-meta span{margin-bottom:2px;color:#94a3b8;font-size:11px}.order-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#334155;font-size:12px}
.order-status{justify-self:start;padding:6px 10px;border-radius:999px;background:var(--primary-light);color:var(--primary-hover);font-size:11px;font-weight:800;white-space:nowrap}
.account-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:240px;padding:28px 18px;text-align:center;border:1px dashed #d9dded;border-radius:17px;background:linear-gradient(180deg,#fbfcff,#f8f9ff)}
.account-empty>div:first-child{width:64px;height:64px;display:grid;place-items:center;margin-bottom:13px;border-radius:50%;background:var(--primary-light);font-size:29px}.account-empty h3{margin:0 0 6px;color:#1f2937;font-size:18px}.account-empty p{max-width:500px;margin:0 0 15px;color:var(--text-muted);font-size:13px}.account-empty .account-btn{width:auto;min-width:160px;margin-top:0!important}
.account-actions{display:flex;justify-content:flex-start;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:10px}.account-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 15px;border:1px solid #e2e5ee;border-radius:11px;background:#fff;color:var(--primary-hover);text-decoration:none;font-size:13px;font-weight:800}.account-actions a:hover{background:#f8f8ff}.account-actions .logout-account{border-color:#fecdd3;background:#fff5f6;color:#be123c}
@media(max-width:900px){.account-order{grid-template-columns:minmax(210px,1.6fr) repeat(2,minmax(100px,1fr))}.account-order .order-meta:nth-of-type(2){display:none}.order-status{justify-self:end}}
@media(max-width:768px){.account-page{padding:0}.account-hero{align-items:flex-start;padding:18px;margin-bottom:16px;border-radius:17px;gap:13px}.account-avatar{flex-basis:54px;width:54px;height:54px;border-radius:16px;font-size:22px}.account-hero h1{font-size:21px}.account-hero p{font-size:12px}.account-grid{grid-template-columns:1fr;gap:14px;margin-bottom:14px}.account-card{padding:17px;border-radius:16px}.account-card-head h2{font-size:17px}.orders-card>.account-card-head{align-items:flex-start}.account-outline-btn{min-height:40px;padding:8px 11px!important;font-size:12px}.account-order{grid-template-columns:1fr auto;gap:10px;padding:12px}.order-product-mini{grid-column:1/-1}.account-order .order-meta:nth-of-type(2){display:block}.order-meta{padding-top:7px;border-top:1px solid #edf0f5}.order-status{justify-self:end;align-self:end}.account-empty{min-height:210px;padding:22px 14px}.account-actions{display:grid;grid-template-columns:1fr}.account-actions a{width:100%}}
@media(max-width:430px){.account-hero{display:block}.account-avatar{margin-bottom:12px}.orders-card>.account-card-head{display:block}.orders-card>.account-card-head .account-outline-btn{width:100%;margin-top:10px!important}.account-order{grid-template-columns:1fr}.order-status{justify-self:start}}

/* =========================================================
   ACCOUNT PAGE - MOBILE HARDENING
   این بخش عمداً در انتهای فایل قرار دارد تا روی استایل‌های قبلی غلبه کند.
   ========================================================= */
@media screen and (max-width: 768px) {
    main.container {
        width: calc(100% - 24px) !important;
        max-width: none !important;
        padding: 16px 12px !important;
        margin: 0 auto 24px !important;
        overflow: visible !important;
    }

    .account-page {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .account-hero,
    .account-alert,
    .account-card,
    .account-grid,
    .orders-card,
    .account-actions {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
    }

    .account-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 14px !important;
    }

    .account-card {
        display: block !important;
        box-sizing: border-box !important;
        padding: 16px !important;
        margin: 0 0 14px !important;
        border: 1px solid var(--border) !important;
        border-radius: 16px !important;
        background: #fff !important;
        box-shadow: 0 6px 20px rgba(15,23,42,.07) !important;
    }

    .orders-card {
        margin-top: 0 !important;
    }

    .orders-card > .account-card-head {
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        margin-bottom: 14px !important;
    }

    .account-card-head > div {
        min-width: 0 !important;
    }

    .account-card-head h2 {
        display: block !important;
        margin: 0 !important;
        font-size: 17px !important;
    }

    .account-card-head p {
        display: block !important;
        margin: 4px 0 0 !important;
        font-size: 12px !important;
    }

    .account-outline-btn {
        display: inline-flex !important;
        flex: 0 0 auto !important;
        white-space: nowrap !important;
    }

    .account-empty {
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 205px !important;
        box-sizing: border-box !important;
        padding: 24px 14px !important;
        border: 1px dashed #cfd5e6 !important;
        border-radius: 15px !important;
        background: #f9faff !important;
        text-align: center !important;
    }

    .account-empty > div:first-child {
        display: grid !important;
        width: 58px !important;
        height: 58px !important;
        margin: 0 auto 12px !important;
        place-items: center !important;
        border-radius: 50% !important;
        background: var(--primary-light) !important;
        font-size: 27px !important;
    }

    .account-empty h3 {
        display: block !important;
        width: 100% !important;
        margin: 0 0 7px !important;
        font-size: 16px !important;
        line-height: 1.7 !important;
    }

    .account-empty p {
        display: block !important;
        width: 100% !important;
        max-width: 320px !important;
        margin: 0 auto 14px !important;
        font-size: 12px !important;
        line-height: 1.8 !important;
    }

    .account-empty .account-btn {
        display: inline-flex !important;
        width: auto !important;
        min-width: 155px !important;
        max-width: 100% !important;
        margin: 0 auto !important;
    }

    .orders-list {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        min-width: 0 !important;
        gap: 10px !important;
    }

    .account-order {
        display: grid !important;
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 9px !important;
        padding: 12px !important;
    }

    .order-product-mini,
    .order-meta,
    .order-status {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .order-product-mini {
        grid-column: auto !important;
    }

    .order-product-mini strong,
    .order-product-mini span,
    .order-meta strong {
        max-width: 100% !important;
    }

    .order-meta {
        padding-top: 7px !important;
        border-top: 1px solid #edf0f5 !important;
    }

    .order-status {
        justify-self: start !important;
        width: max-content !important;
        max-width: 100% !important;
    }

    .account-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 9px !important;
        margin-top: 4px !important;
    }

    .account-actions a {
        width: 100% !important;
        box-sizing: border-box !important;
    }
}

@media screen and (max-width: 430px) {
    main.container {
        width: calc(100% - 16px) !important;
        padding: 12px 9px !important;
    }

    .account-hero {
        display: block !important;
        padding: 16px !important;
    }

    .account-avatar {
        margin: 0 0 10px !important;
    }

    .orders-card > .account-card-head {
        display: block !important;
    }

    .orders-card > .account-card-head .account-outline-btn {
        display: flex !important;
        width: 100% !important;
        margin-top: 10px !important;
    }
}

/* =========================================================
   HOME PAGE - NIMA SHOP
   تمام کلاس‌ها با home- شروع می‌شوند تا با صفحات دیگر تداخل نداشته باشند.
   ========================================================= */
.home-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
    gap: 35px;
    align-items: center;
    min-height: 430px;
    padding: 55px;
    margin: -10px -10px 30px;
    border-radius: 26px;
    background: linear-gradient(135deg, var(--primary-light) 0%, #f5f3ff 48%, #fff 100%);
    border: 1px solid #e9e7ff;
}

.home-hero::before,
.home-hero::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}
.home-hero::before {
    width: 360px;
    height: 360px;
    background: rgba(99,102,241,.09);
    top: -180px;
    left: -100px;
}
.home-hero::after {
    width: 280px;
    height: 280px;
    background: rgba(168,85,247,.08);
    bottom: -150px;
    right: -80px;
}

.home-hero-content { position: relative; z-index: 2; }
.home-eyebrow,
.home-section-kicker {
    display: inline-block;
    color: var(--primary);
    font-weight: 800;
    font-size: 13px;
    margin-bottom: 8px;
}
.home-hero h1 {
    margin: 0 0 16px;
    color: #17134b;
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.45;
}
.home-hero h1 strong { color: var(--primary); }
.home-hero p {
    max-width: 680px;
    color: var(--text-muted);
    font-size: 16px;
    line-height: 2;
    margin: 0 0 25px;
}
.home-hero-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.home-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 11px 20px;
    border-radius: 13px;
    text-decoration: none;
    font-weight: 800;
    transition: .25s ease;
}
.home-btn-primary { background: var(--primary); color: #fff !important; box-shadow: 0 10px 24px rgba(99,102,241,.22); }
.home-btn-primary:hover { background: var(--primary-hover); transform: translateY(-2px); }
.home-btn-light { background: #fff; color: var(--primary-hover) !important; border: 1px solid var(--border); }
.home-btn-light:hover { border-color: #c7d2fe; background: #f8f7ff; }
.home-hero-points { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 20px; color: #475569; font-size: 12px; font-weight: 700; }

.home-hero-visual {
    min-height: 330px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}
.home-orbit { position: absolute; border: 1px solid rgba(99,102,241,.15); border-radius: 50%; }
.home-orbit-one { width: 310px; height: 310px; }
.home-orbit-two { width: 220px; height: 220px; border-style: dashed; }
.home-device-card {
    position: relative;
    z-index: 2;
    width: min(260px, 75%);
    min-height: 220px;
    padding: 28px 22px;
    border-radius: 26px;
    background: rgba(255,255,255,.88);
    border: 1px solid rgba(255,255,255,.9);
    box-shadow: 0 25px 60px rgba(30,27,75,.15);
    backdrop-filter: blur(12px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}
.home-device-icon { font-size: 50px; margin-bottom: 8px; }
.home-device-card span { color: var(--text-muted); font-size: 13px; }
.home-device-card strong { color: #1e1b4b; font-size: 21px; margin: 5px 0; }
.home-device-card small { color: #94a3b8; }
.home-floating-card {
    position: absolute;
    z-index: 3;
    padding: 10px 14px;
    border-radius: 12px;
    background: #fff;
    color: #334155;
    font-size: 12px;
    font-weight: 800;
    box-shadow: 0 12px 30px rgba(30,27,75,.12);
}
.home-floating-top { top: 28px; right: 2%; }
.home-floating-bottom { bottom: 32px; left: 1%; }

.home-trust-strip {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 45px;
}
.home-trust-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 18px;
    background: #fff;
    border: 1px solid #eef0f6;
    border-radius: 16px;
}
.home-trust-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: var(--primary-light);
    font-size: 19px;
}
.home-trust-item strong { display: block; color: #1e293b; font-size: 14px; }
.home-trust-item small { display: block; color: #94a3b8; font-size: 11px; margin-top: 3px; }

.home-section { margin: 0 0 52px; }
.home-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 20px;
}
.home-section-heading h2 { margin: 0; color: #1e1b4b; font-size: 25px; }
.home-section-heading a { color: var(--primary); font-size: 13px; font-weight: 800; text-decoration: none; white-space: nowrap; }

.home-category-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; }
.home-category-card {
    min-height: 135px;
    padding: 20px;
    border-radius: 18px;
    text-decoration: none;
    background: linear-gradient(145deg, #fff, #f8f9ff);
    border: 1px solid #ececf5;
    box-shadow: 0 8px 25px rgba(15,23,42,.04);
    display: flex;
    flex-direction: column;
    justify-content: center;
    transition: .25s ease;
}
.home-category-card:hover { transform: translateY(-4px); border-color: #c7d2fe; box-shadow: 0 15px 35px rgba(99,102,241,.10); }
.home-category-icon { font-size: 26px; color: var(--primary); margin-bottom: 8px; }
.home-category-card > span:not(.home-category-icon) { color: #1e293b; font-weight: 800; font-size: 15px; }
.home-category-card small { color: #94a3b8; margin-top: 4px; font-size: 11px; }

.home-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
/* Home category product carousel: one horizontal row on desktop and mobile */
.home-product-carousel {
    position: relative;
    width: 100%;
    overflow: visible;
}
.home-product-carousel-track {
    display: flex;
    flex-wrap: nowrap;
    direction: rtl;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 16px;
    padding: 3px 2px 8px;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.home-product-carousel-track::-webkit-scrollbar { display: none; }
.home-product-carousel-track .home-product-card {
    flex: 0 0 calc((100% - 48px) / 4);
    width: calc((100% - 48px) / 4);
    min-width: 0;
}
.home-carousel-btn {
    position: absolute;
    top: 50%;
    z-index: 5;
    width: 38px;
    height: 38px;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    background: rgba(255,255,255,.96);
    color: #334155;
    box-shadow: 0 8px 22px rgba(15,23,42,.16);
    font-size: 25px;
    line-height: 1;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .18s ease, visibility .18s ease, transform .18s ease, background .18s ease;
}
.home-carousel-prev { right: -17px; }
.home-carousel-next { left: -17px; }
.home-product-carousel:hover .home-carousel-btn:not(:disabled),
.home-product-carousel:focus-within .home-carousel-btn:not(:disabled) {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.home-carousel-btn:hover {
    background: #fff;
    transform: translateY(-50%) scale(1.06);
}
.home-carousel-btn:disabled {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.home-product-card {
    overflow: hidden;
    min-width: 0;
    background: #fff;
    border: 1px solid #ececf3;
    border-radius: 19px;
    box-shadow: 0 8px 25px rgba(15,23,42,.05);
    transition: .25s ease;
}
.home-product-card:hover { transform: translateY(-5px); box-shadow: 0 18px 38px rgba(15,23,42,.10); }
.home-product-image { position: relative; display: block; height: 215px; padding: 15px; background: #fafbff; text-align: center; }
.home-product-image img { width: 100%; height: 100%; object-fit: contain; }
.home-product-badge { position: absolute; top: 12px; right: 12px; padding: 5px 9px; border-radius: 999px; background: var(--primary); color: #fff; font-size: 10px; font-weight: 800; }
.home-product-placeholder { height: 100%; display: flex; align-items: center; justify-content: center; font-size: 48px; }
.home-product-body { padding: 15px; }
.home-product-title { display: block; color: #1e293b; text-decoration: none; font-weight: 800; font-size: 14px; line-height: 1.7; min-height: 48px; }
.home-product-title:hover { color: var(--primary); }
.home-product-body > p { color: #94a3b8; font-size: 11px; line-height: 1.7; min-height: 38px; margin: 5px 0 10px; }
.home-product-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.home-product-meta strong { color: #0f172a; font-size: 15px; }
.home-product-meta strong small { font-size: 9px; color: var(--text-muted); }
.home-stock { font-size: 10px; font-weight: 800; padding: 4px 7px; border-radius: 999px; }
.home-stock.available { color: #15803d; background: #dcfce7; }
.home-stock.unavailable { color: var(--danger-hover); background: #fee2e2; }
.home-product-actions { display: flex; align-items: center; gap: 7px; margin-top: 12px; }
.home-view-btn { flex: 1; min-height: 39px; display: inline-flex; align-items: center; justify-content: center; padding: 7px; border-radius: 10px; background: #f1f3f9; color: #475569; text-decoration: none; font-size: 11px; font-weight: 800; }
.home-view-btn:hover { background: #e8e9ff; color: var(--primary-hover); }
.home-add-form { width: auto !important; max-width: none !important; margin: 0 !important; display: block !important; }
.home-add-form button { width: 40px; height: 40px; min-height: 40px; margin: 0; padding: 0; border-radius: 10px; background: #198754; font-size: 20px; }
.home-add-form button:hover { background: #157347; }

.home-empty-box,
.home-empty-products { padding: 35px 20px; text-align: center; border: 1px dashed #d9dce8; border-radius: 18px; color: var(--text-muted); background: #fafbff; }
.home-empty-products h3 { color: #1e293b; margin: 8px 0; }
.home-empty-products p { max-width: 550px; margin: 0 auto 18px; }
.home-empty-icon { font-size: 42px; }

.home-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    padding: 30px;
    border-radius: 22px;
    background: linear-gradient(135deg, #1e1b4b, #4338ca);
    color: #fff;
}
.home-cta .home-section-kicker { color: #c7d2fe; }
.home-cta h2 { margin: 0 0 8px; font-size: 25px; }
.home-cta p { margin: 0; color: #dbeafe; font-size: 13px; }
.home-cta .home-btn-primary { background: #fff; color: var(--primary-hover) !important; box-shadow: none; flex: 0 0 auto; }

@media (max-width: 1000px) {
    .home-product-carousel-track .home-product-card {
        flex-basis: calc((100% - 16px) / 2);
        width: calc((100% - 16px) / 2);
    }
    .home-hero { grid-template-columns: 1fr; padding: 40px; }
    .home-hero-visual { min-height: 270px; }
    .home-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
    .home-product-carousel-track { gap: 9px; }
    .home-product-carousel-track .home-product-card {
        flex-basis: calc((100% - 9px) / 2);
        width: calc((100% - 9px) / 2);
    }
    .home-carousel-btn { width: 34px; height: 34px; font-size: 22px; }
    .home-carousel-prev { right: -10px; }
    .home-carousel-next { left: -10px; }
    .home-hero { margin: -2px 0 20px; padding: 28px 20px; min-height: auto; border-radius: 20px; }
    .home-hero h1 { font-size: 28px; }
    .home-hero p { font-size: 13px; line-height: 1.9; }
    .home-hero-actions { display: grid; grid-template-columns: 1fr; }
    .home-btn { width: 100%; }
    .home-hero-points { gap: 8px 12px; font-size: 10px; }
    .home-hero-visual { min-height: 240px; margin-top: 5px; }
    .home-orbit-one { width: 230px; height: 230px; }
    .home-orbit-two { width: 165px; height: 165px; }
    .home-device-card { min-height: 175px; width: 220px; padding: 20px; }
    .home-device-icon { font-size: 38px; }
    .home-device-card strong { font-size: 17px; }
    .home-floating-card { font-size: 10px; padding: 8px 10px; }
    .home-floating-top { top: 8px; right: 0; }
    .home-floating-bottom { bottom: 8px; left: 0; }
    .home-trust-strip { grid-template-columns: 1fr; gap: 8px; margin-bottom: 32px; }
    .home-trust-item { padding: 13px; }
    .home-section { margin-bottom: 35px; }
    .home-section-heading { align-items: flex-start; }
    .home-section-heading h2 { font-size: 20px; }
    .home-section-heading a { font-size: 11px; padding-top: 4px; }
    .home-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
    .home-category-card { min-height: 105px; padding: 14px; border-radius: 14px; }
    .home-category-icon { font-size: 21px; }
    .home-category-card > span:not(.home-category-icon) { font-size: 12px; }
    .home-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
    .home-product-image { height: 155px; padding: 9px; }
    .home-product-body { padding: 10px; }
    .home-product-title { font-size: 12px; min-height: 42px; }
    .home-product-body > p { font-size: 9px; min-height: 31px; margin: 3px 0 7px; }
    .home-product-meta strong { font-size: 12px; }
    .home-product-meta strong small { font-size: 8px; }
    .home-stock { font-size: 8px; }
    .home-product-actions { gap: 5px; margin-top: 8px; }
    .home-view-btn { min-height: 36px; font-size: 9px; }
    .home-add-form button { width: 36px; height: 36px; min-height: 36px; }
    .home-cta { flex-direction: column; align-items: stretch; padding: 22px 18px; border-radius: 18px; }
    .home-cta h2 { font-size: 20px; }
}

@media (max-width: 430px) {
    .home-hero h1 { font-size: 25px; }
    .home-product-image { height: 140px; }
    .home-product-title { font-size: 11px; }
    .home-product-meta { align-items: flex-start; flex-direction: column; gap: 4px; }
}


/* =========================================================
   دکمه یکپارچه ورود / عضویت
   ========================================================= */
.auth-nav-item {
    display: flex;
    align-items: center;
}

.auth-nav {
    display: inline-flex;
    align-items: center;
    gap: 0;
    padding: 3px;
    border-radius: 999px;
    background: rgba(255,255,255,.18);
    border: 1px solid rgba(255,255,255,.24);
    box-shadow: 0 5px 18px rgba(15,23,42,.08);
    overflow: hidden;
}

.main-nav .auth-nav a {
    min-width: 66px;
    padding: 8px 14px;
    background: transparent;
    border-radius: 999px;
    text-align: center;
    font-weight: 800;
}

.main-nav .auth-nav a:hover {
    background: rgba(255,255,255,.22);
}

.auth-nav-divider {
    width: 1px;
    height: 18px;
    background: rgba(255,255,255,.38);
    flex: 0 0 1px;
}


@media (max-width: 768px) {
    .main-nav .auth-nav-item {
        width: 100%;
    }

    .main-nav .auth-nav {
        width: 100%;
        display: flex;
        padding: 4px;
        background: var(--primary);
        border: 0;
        border-radius: 14px;
        box-shadow: 0 8px 18px rgba(99,102,241,.18);
    }

    .main-nav .auth-nav a {
        flex: 1;
        min-height: 46px;
        justify-content: center;
        background: transparent;
        color: #fff;
        border: 0;
        border-radius: 11px;
        font-weight: 800;
    }

    .main-nav .auth-nav a:hover,
    .main-nav .auth-nav a:active {
        background: rgba(255,255,255,.16);
        color: #fff;
    }

    .auth-nav-divider {
        height: 24px;
        background: rgba(255,255,255,.35);
        align-self: center;
    }
}


/* لینک ساخت حساب در صفحه ورود */
.login-register-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 18px;
    padding: 12px 14px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    font-size: 14px;
    text-align: center;
}

.login-register-link span {
    color: var(--text-muted);
}

.login-register-link a {
    color: var(--primary-hover);
    font-weight: 800;
    text-decoration: none;
}

.login-register-link a:hover {
    text-decoration: underline;
}

@media (max-width: 768px) {
    .login-register-link {
        margin-top: 16px;
        padding: 11px 10px;
        font-size: 13px;
        gap: 5px;
    }
}

/* =========================================================
   NimaShop - Products / Product Detail UI
   Uses the site's existing indigo/purple palette.
   Scoped to product pages only.
   ========================================================= */

.products-page,
.product-detail-page {
    direction: rtl;
    color: var(--text);
}

.products-page-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 28px;
}

.products-breadcrumb,
.product-detail-breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    color: #94a3b8;
    font-size: 13px;
}

.products-breadcrumb a,
.product-detail-breadcrumb a {
    color: var(--text-muted);
    text-decoration: none;
}

.products-page-head h1 {
    margin: 0 0 5px;
    color: #1e1b4b;
    font-size: 30px;
}

.products-page-head p {
    margin: 0;
    color: var(--text-muted);
    font-size: 14px;
}

.products-sort-form {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 10px;
    max-width: none;
    margin: 0 !important;
}

.products-sort-form label {
    color: var(--text-muted);
    font-size: 13px;
}

.products-sort-form select {
    min-width: 180px;
    padding: 11px 14px;
    border: 1px solid #dfe3ef;
    border-radius: 11px;
    background: #fff;
    color: #334155;
    outline: none;
}

.products-layout {
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

.products-sidebar {
    display: flex;
    flex-direction: column;
    gap: 14px;
    position: sticky;
    top: 18px;
}

.products-sidebar-card {
    padding: 18px;
    border: 1px solid #e7e8f2;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 7px 18px rgba(30,27,75,.04);
}

.sidebar-card-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 14px;
}

.sidebar-card-title h2 {
    margin: 0;
    color: #272343;
    font-size: 15px;
}

.sidebar-card-title span {
    width: 18px;
    height: 3px;
    border-radius: 999px;
    background: var(--primary);
}

.sidebar-search-box {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 4px;
    border: 1px solid #e2e5ef;
    border-radius: 12px;
    background: #fafbff;
}

.products-sidebar-search form {
    max-width: none;
    margin: 0;
    display: block;
}

.sidebar-search-box input {
    min-width: 0;
    flex: 1;
    padding: 10px 8px;
    border: 0;
    outline: 0;
    background: transparent;
}

.sidebar-search-box button {
    width: 38px;
    height: 38px;
    margin: 0;
    padding: 0;
    border-radius: 10px;
    background: var(--primary);
}

.category-list {
    display: flex;
    flex-direction: column;
}

.category-list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 4px;
    border-bottom: 1px solid #f0f1f6;
    color: #475569;
    text-decoration: none;
    font-size: 13px;
    transition: .2s ease;
}

.category-list a:last-child {
    border-bottom: 0;
}

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

.category-list a small {
    margin: 0;
    color: #94a3b8;
    font-size: 11px;
}

.category-list a.active small {
    color: var(--primary);
}

.price-filter-form {
    max-width: none;
    margin: 0;
    gap: 10px;
}

.price-inputs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.price-inputs label {
    display: flex;
    flex-direction: column;
    gap: 5px;
    color: #94a3b8;
    font-size: 11px;
}

.price-inputs input {
    padding: 9px 8px;
    font-size: 12px;
}

.price-range-hint {
    color: var(--text-muted);
    font-size: 11px;
    line-height: 1.8;
}

.price-filter-btn {
    width: 100%;
    margin: 0;
    background: var(--primary);
}

.clear-price-filter {
    display: block;
    text-align: center;
    color: var(--text-muted);
    font-size: 11px;
    text-decoration: none;
}

.sidebar-product-mini {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 0;
    border-bottom: 1px solid #f0f1f6;
    color: inherit;
    text-decoration: none;
}

.sidebar-product-mini:last-child {
    border-bottom: 0;
}

.sidebar-product-mini img {
    width: 54px;
    height: 54px;
    object-fit: contain;
    border: 1px solid #e8eaf2;
    border-radius: 9px;
    background: #fff;
}

.sidebar-product-mini span {
    min-width: 0;
}

.sidebar-product-mini strong {
    display: block;
    overflow: hidden;
    color: #475569;
    font-size: 12px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sidebar-product-mini small {
    margin-top: 3px;
    color: var(--primary);
    font-size: 11px;
}

.products-main {
    min-width: 0;
}

.products-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.products-result-text {
    color: var(--text-muted);
    font-size: 13px;
}

.products-result-text strong {
    color: #334155;
}

.mobile-filter-toggle {
    display: none;
}

.products-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.products-grid .product-box {
    min-width: 0;
    padding: 0;
    border: 1px solid #e7e8f2;
    border-radius: 17px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 6px 18px rgba(30,27,75,.035);
    text-align: right;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.products-grid .product-box:hover {
    transform: translateY(-4px);
    border-color: #d5d7f0;
    box-shadow: 0 13px 28px rgba(30,27,75,.08);
}

.product-card-image {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 245px;
    padding: 15px;
    background: #fff;
    border-bottom: 1px solid #f0f1f6;
}

.product-card-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    border-radius: 0 !important;
    margin: 0 !important;
}

.product-card-body {
    padding: 15px 16px 16px;
}

.product-card-body h2 {
    min-height: 46px;
    margin: 0 0 7px;
    color: #272343;
    font-size: 16px;
    line-height: 1.75;
}

.product-stock {
    display: inline-block;
    margin-bottom: 10px;
    padding: 3px 8px;
    border-radius: 999px;
    background: var(--primary-light);
    color: var(--primary);
    font-size: 10px;
    font-weight: 700;
}

.product-stock.out {
    background: #fff1f2;
    color: var(--danger);
}

.product-price {
    display: flex;
    align-items: baseline;
    gap: 5px;
    margin-bottom: 12px;
    color: #1e1b4b;
}

.product-price strong {
    font-size: 20px;
}

.product-price span {
    color: var(--text-muted);
    font-size: 11px;
}

.products-grid .quick-add-form {
    width: 100%;
    max-width: none;
    margin: 0;
}

.products-grid .btn-mini {
    width: 100%;
    min-height: 44px;
    margin: 0;
    border: 1px solid #d9dced;
    background: #fff;
    color: var(--primary);
    border-radius: 11px;
}

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

.products-grid .btn-mini:disabled {
    opacity: .55;
    cursor: not-allowed;
}

.products-empty {
    grid-column: 1 / -1;
    padding: 55px 20px;
    border: 1px dashed #d8dbea;
    border-radius: 16px;
    text-align: center;
    background: #fff;
}

.products-empty-icon {
    margin-bottom: 10px;
    color: var(--primary);
    font-size: 34px;
}

.products-empty h3 {
    margin: 0 0 5px;
}

.products-empty p {
    margin: 0 0 15px;
    color: var(--text-muted);
}

.products-empty-btn {
    display: inline-flex;
    padding: 9px 16px;
    border-radius: 10px;
    background: var(--primary);
    color: #fff;
    text-decoration: none;
}

/* ---------- Product detail ---------- */
.product-detail-page {
    padding-top: 4px;
}

.product-detail-breadcrumb {
    margin-bottom: 18px;
}

.product-detail {
    display: grid;
    grid-template-columns: minmax(300px, 48%) minmax(0, 1fr);
    gap: 34px;
    align-items: start;
}

.product-detail-image-card {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 510px;
    padding: 24px;
    border: 1px solid #e7e8f2;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(30,27,75,.05);
}

.product-detail-image-card img {
    width: 100% !important;
    max-width: 100% !important;
    height: 460px !important;
    object-fit: contain !important;
    border-radius: 0 !important;
    margin: 0 !important;
}

.product-detail-info {
    min-width: 0;
}

.product-detail-status {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 13px;
}

.detail-stock {
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
}

.detail-stock.in-stock {
    background: var(--primary-light);
    color: var(--primary);
}

.detail-stock.out-stock {
    background: #fff1f2;
    color: var(--danger);
}

.detail-code {
    color: #94a3b8;
    font-size: 11px;
}

.product-detail-info h1 {
    margin: 0 0 18px;
    color: #1e1b4b;
    font-size: 30px;
    line-height: 1.6;
}

.detail-price-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 17px 19px;
    margin-bottom: 14px;
    border: 1px solid #e4e6f0;
    border-radius: 15px;
    background: #fafaff;
}

.detail-price-box span {
    color: var(--text-muted);
    font-size: 13px;
}

.detail-price-box strong {
    color: var(--primary);
    font-size: 25px;
}

.detail-price-box small {
    display: inline;
    margin: 0;
    color: var(--text-muted);
    font-size: 11px;
}

.detail-meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 15px;
}

.detail-meta > div {
    padding: 13px;
    border: 1px solid #e8e9f1;
    border-radius: 13px;
    background: #fff;
}

.detail-meta span {
    display: block;
    margin-bottom: 4px;
    color: #94a3b8;
    font-size: 10px;
}

.detail-meta strong {
    color: #475569;
    font-size: 13px;
}

.detail-description {
    padding: 17px 19px;
    margin-bottom: 17px;
    border: 1px solid #e8e9f1;
    border-radius: 15px;
    background: #fff;
}

.detail-description h2 {
    margin: 0 0 8px;
    color: #272343;
    font-size: 16px;
}

.detail-description p {
    margin: 0;
    color: var(--text-muted);
    line-height: 2;
    font-size: 13px;
}

.product-detail-info .detail-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: end;
    margin: 0 0 12px;
}

.product-detail-info .add-to-cart-form {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 10px;
    align-items: end;
    max-width: none;
    margin: 0;
}

.detail-qty {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.detail-qty label {
    color: var(--text-muted);
    font-size: 10px;
}

.detail-qty input {
    width: 82px !important;
    height: 46px;
    margin: 0;
    text-align: center;
}

.product-detail-info .btn-order {
    min-height: 46px;
    margin: 0;
    border-radius: 11px;
}

.btn-fast-order {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 18px;
    border-radius: 11px;
    background: var(--primary);
    color: #fff;
    text-decoration: none;
}

.btn-fast-order:hover {
    background: var(--primary-hover);
}

.btn-back-products {
    display: inline-flex;
    padding: 9px 13px;
    border: 1px solid #dfe1ec;
    border-radius: 10px;
    background: #fff;
    color: var(--text-muted);
    text-decoration: none;
    font-size: 12px;
}

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
    .products-layout {
        grid-template-columns: 1fr;
    }

    .products-sidebar {
        position: static;
    }

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

    .product-detail-image-card {
        min-height: 390px;
    }

    .product-detail-image-card img {
        height: 350px !important;
    }
}

@media (max-width: 600px) {
    .products-page-head {
        display: block;
        margin-bottom: 18px;
    }

    .products-page-head h1 {
        font-size: 24px;
    }

    .products-page-head p {
        font-size: 12px;
    }

    .products-head-tools {
        margin-top: 14px;
    }

    .products-sort-form {
        width: 100%;
    }

    .products-sort-form label {
        display: none;
    }

    .products-sort-form select {
        width: 100%;
    }

    .products-sidebar {
        display: none;
    }

    body.products-filter-open .products-sidebar {
        display: flex;
    }

    .mobile-filter-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 8px 13px;
        margin: 0;
        border-radius: 9px;
        font-size: 12px;
    }

    .products-toolbar {
        margin-bottom: 10px;
    }

    .products-result-text {
        font-size: 11px;
    }

    .products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .products-grid .product-box {
        border-radius: 12px;
    }

    .product-card-image {
        height: 165px;
        padding: 8px;
    }

    .product-card-body {
        padding: 9px;
    }

    .product-card-body h2 {
        min-height: 42px;
        margin-bottom: 4px;
        font-size: 13px;
        line-height: 1.65;
    }

    .product-stock {
        margin-bottom: 5px;
        padding: 2px 6px;
        font-size: 8px;
    }

    .product-price {
        margin-bottom: 7px;
    }

    .product-price strong {
        font-size: 15px;
    }

    .product-price span {
        font-size: 9px;
    }

    .products-grid .btn-mini {
        min-height: 36px;
        padding: 6px 4px;
        font-size: 11px;
    }

    .products-sidebar-card {
        padding: 14px;
    }

    .product-detail-breadcrumb {
        font-size: 10px;
    }

    .product-detail-image-card {
        min-height: 300px;
        padding: 12px;
        border-radius: 15px;
    }

    .product-detail-image-card img {
        height: 275px !important;
    }

    .product-detail-info h1 {
        font-size: 23px;
    }

    .detail-price-box strong {
        font-size: 21px;
    }

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

    .product-detail-info .add-to-cart-form {
        grid-template-columns: 72px minmax(0, 1fr);
    }

    .detail-qty input {
        width: 72px !important;
    }

    .btn-fast-order,
    .btn-back-products {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 380px) {
    .product-card-image {
        height: 145px;
    }

    .product-card-body h2 {
        font-size: 12px;
    }

    .product-price strong {
        font-size: 14px;
    }

    .products-grid .btn-mini {
        font-size: 10px;
    }
}


/* =========================================================
   Catalog search bar fix
   Search is intentionally outside the filters/sidebar.
   ========================================================= */

.products-search-bar {
    width: min(760px, 100%);
    margin: -8px auto 22px;
}

.catalog-search-form {
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 auto !important;
}

.catalog-search-input {
    display: flex;
    align-items: stretch;
    width: 100%;
    min-height: 50px;
    overflow: hidden;
    border: 1px solid #dfe3ef;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 5px 16px rgba(30, 27, 75, .04);
}

.catalog-search-input input {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    height: 50px;
    margin: 0 !important;
    padding: 0 16px !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 14px;
}

.catalog-search-input button {
    flex: 0 0 92px;
    width: 92px;
    height: 50px;
    margin: 0 !important;
    padding: 0 14px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--primary) !important;
    color: #fff !important;
    font-size: 13px;
    font-weight: 700;
}

.catalog-search-input:focus-within {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(99, 102, 241, .09);
}

/* Desktop: keep the catalog search compact and keep the button attached. */
@media (min-width: 901px) {
    .products-search-bar {
        width: min(760px, calc(100% - 40px));
        margin: 0 auto 22px;
    }

    .catalog-search-form {
        width: 100% !important;
        max-width: 760px !important;
        margin: 0 auto !important;
    }

    .catalog-search-input {
        width: 100%;
        display: flex;
        flex-direction: row;
    }

    .catalog-search-input input {
        flex: 1 1 auto !important;
        width: auto !important;
    }

    .catalog-search-input button {
        flex: 0 0 96px !important;
        width: 96px !important;
        position: static !important;
    }
}

@media (max-width: 900px) {
    .products-search-bar {
        margin: -4px 0 16px;
    }

    .catalog-search-input,
    .catalog-search-input input,
    .catalog-search-input button {
        height: 48px;
        min-height: 48px;
    }
}

@media (max-width: 600px) {
    .products-search-bar {
        display: block !important;
        width: 100%;
        margin: 0 0 14px;
    }

    .catalog-search-form {
        display: block !important;
        width: 100% !important;
    }

    .catalog-search-input {
        display: flex !important;
        width: 100% !important;
        min-height: 46px;
        border-radius: 11px;
    }

    .catalog-search-input input {
        display: block !important;
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        height: 46px !important;
        padding: 0 12px !important;
        font-size: 12px !important;
    }

    .catalog-search-input button {
        display: block !important;
        flex: 0 0 72px !important;
        width: 72px !important;
        height: 46px !important;
        min-height: 46px !important;
        padding: 0 8px !important;
        font-size: 11px !important;
    }

    /* Search must never be hidden by the mobile filter/sidebar rules. */
    body.products-filter-open .products-search-bar {
        display: block !important;
    }
}

/* ================================
   Products search bar fix
================================ */

.products-search-bar {
  margin: 0 0 20px;
  width: 100%;
}

.catalog-search-form {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
}

.catalog-search-input {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  flex: 1;
}

.catalog-search-input input[type="search"] {
  flex: 1;
  min-width: 0;
  height: 44px;
  padding: 0 14px;
  border: 1px solid #d8dbe2;
  border-radius: 10px;
  outline: none;
  font-size: 14px;
  background: #fff;
  box-sizing: border-box;
}

.catalog-search-input input[type="search"]:focus {
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12);
}

.catalog-search-form button {
  height: 44px;
  padding: 0 18px;
  border: none;
  border-radius: 10px;
  background: #111827;
  color: #fff;
  cursor: pointer;
  white-space: nowrap;
  margin-top: 0;
  box-sizing: border-box;
}

.catalog-search-form button:hover {
  background: #1f2937;
}

/* Responsive */
@media (max-width: 768px) {
  .catalog-search-form {
    flex-direction: column;
    align-items: stretch;
  }

  .catalog-search-input {
    width: 100%;
  }

  .catalog-search-form button {
    width: 100%;
  }
}


/* =========================================================
   HEADER 2.0 - مرتب، واکنش‌گرا و بدون شکستن دکمه‌ها
   ========================================================= */
.site-header{
    position:relative;
    padding:18px 0 16px;
    text-align:initial;
    background:linear-gradient(135deg,var(--primary) 0%,#8b5cf6 55%,#a855f7 100%);
}
.site-header .container{width:min(1240px,calc(100% - 28px));}
.site-header .logo{
    margin:0;
    text-align:center;
    color:#fff;
    font-size:28px;
    line-height:1.4;
}
.site-header .welcome{
    margin:4px 0 14px;
    text-align:center;
    color:rgba(255,255,255,.88);
    font-size:12px;
}
.main-nav{width:100%;margin-top:14px;}
.main-nav ul{
    list-style:none;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:8px;
    margin:0;
    padding:0;
}
.main-nav li{margin:0;padding:0;}
.main-nav a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:8px 14px;
    white-space:nowrap;
    border:1px solid rgba(255,255,255,.13);
    background:rgba(255,255,255,.12);
    border-radius:12px;
    font-size:13px;
    font-weight:700;
    transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
}
.main-nav a:hover{
    background:rgba(255,255,255,.22);
    transform:translateY(-1px);
}
.main-nav .admin-nav-link{
    background:rgba(17,24,39,.28);
    border-color:rgba(255,255,255,.22);
}
.auth-nav{
    display:flex;
    align-items:center;
    gap:4px;
    min-height:40px;
    padding:3px;
    border-radius:12px;
    background:rgba(255,255,255,.12);
}
.auth-nav a{
    border:0;
    background:transparent;
    min-height:34px;
    padding:6px 11px;
}
.auth-nav a:hover{background:rgba(255,255,255,.16);transform:none;}
.auth-nav-divider{width:1px;height:20px;background:rgba(255,255,255,.3);}
.mobile-topbar{display:none;}
.mobile-menu-overlay{display:none;}

@media(max-width:900px){
    .site-header{padding:12px 0;}
    .site-header .logo{font-size:23px;}
    .main-nav ul{gap:6px;}
    .main-nav a{min-height:37px;padding:7px 10px;font-size:12px;}
}
@media(max-width:700px){
    .site-header .container{width:calc(100% - 20px);}
    .site-header .logo{margin-top:3px;font-size:21px;}
    .site-header .welcome{margin-bottom:8px;}
    .mobile-topbar{
        display:flex;
        align-items:center;
        justify-content:space-between;
        min-height:42px;
    }
    .menu-toggle{
        width:42px;
        height:42px;
        margin:0;
        padding:8px;
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:4px;
        border:1px solid rgba(255,255,255,.25);
        border-radius:12px;
        background:rgba(255,255,255,.12);
    }
    .menu-toggle span{display:block;width:20px;height:2px;border-radius:2px;background:#fff;}
    .mobile-cart{
        position:relative;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        width:42px;
        height:42px;
        border:1px solid rgba(255,255,255,.25);
        border-radius:12px;
        background:rgba(255,255,255,.12);
        color:#fff;
        text-decoration:none;
        font-size:19px;
    }
    .mobile-cart .cart-badge{position:absolute;top:-4px;right:-4px;}
    .main-nav{
        position:fixed;
        z-index:1001;
        top:0;
        right:-310px;
        width:min(300px,84vw);
        height:100dvh;
        margin:0;
        padding:72px 14px 20px;
        overflow-y:auto;
        background:#fff;
        box-shadow:-15px 0 40px rgba(15,23,42,.18);
        transition:right .25s ease;
    }
    .main-nav.is-open{right:0;}
    .main-nav ul{display:flex;flex-direction:column;align-items:stretch;gap:7px;}
    .main-nav li{width:100%;}
    .main-nav a{
        width:100%;
        min-height:46px;
        justify-content:flex-start;
        padding:10px 14px;
        color:#1e1b4b;
        background:#f8f9ff;
        border:1px solid #e7e9f2;
    }
    .main-nav a:hover{background:var(--primary-light);color:#4338ca;}
    .main-nav .admin-nav-link{background:var(--primary-light);color:#3730a3;}
    .auth-nav{width:100%;background:#f8f9ff;border:1px solid #e7e9f2;}
    .auth-nav a{background:transparent;color:#1e1b4b;}
    .auth-nav-divider{background:#d5d8e3;}
    .mobile-menu-overlay{
        position:fixed;
        inset:0;
        z-index:1000;
        display:block;
        background:rgba(15,23,42,.45);
        opacity:0;
        pointer-events:none;
        transition:opacity .25s ease;
    }
    .mobile-menu-overlay.is-open{opacity:1;pointer-events:auto;}
    body.menu-open{overflow:hidden;}
}


.support-float{position:fixed!important;left:18px!important;right:auto!important;bottom:20px!important;z-index:20000!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;box-sizing:border-box!important;padding:11px 15px!important;background:linear-gradient(135deg,var(--primary),var(--primary-hover))!important;color:#fff!important;text-decoration:none!important;border-radius:999px!important;box-shadow:0 10px 25px rgba(79,70,229,.28)!important;font-family:Tahoma,sans-serif!important;font-size:13px!important;font-weight:800!important;line-height:1!important;white-space:nowrap!important;transition:transform .2s ease,filter .2s ease}.support-float:hover{transform:translateY(-2px);filter:brightness(1.05)}.support-float-icon{font-size:18px;line-height:1}.support-float-text{white-space:nowrap}@media(max-width:600px){.support-float{left:12px!important;right:auto!important;bottom:calc(14px + env(safe-area-inset-bottom))!important;padding:11px 13px!important;font-size:12px!important}.support-float-text{font-size:12px}}

/* قیمت و نشان محصول ویژه */
.detail-price-box.is-sale{position:relative;background:linear-gradient(135deg,#fff7ed,#fff1f2);border-color:#fed7aa}
.detail-price-box.is-sale del{display:block;color:#94a3b8;font-size:12px;margin-bottom:2px}
.detail-price-box.is-sale strong{color:var(--danger)}
.detail-discount{
    display:inline-block;
    margin-right:7px;
    padding:4px 8px;
    border-radius:999px;
    background:#fee2e2;
    color:var(--danger-hover);
    font-size:10px;
}
.product-price.sale-price{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.product-price.sale-price del{font-size:10px;color:#94a3b8;width:100%}
.product-discount-badge{
    padding:3px 6px;
    border-radius:999px;
    background:#fee2e2;
    color:var(--danger-hover);
    font-size:9px;
}


/* NIMASHOP SPECIAL OFFER — homepage visual fallback */
.special-offer-section.special-offer-section{margin:0 0 34px;padding:26px;border-radius:26px;background:linear-gradient(135deg,#fff7ed 0%,#fff 46%,#fff1f2 100%);border:1px solid #fed7aa;box-shadow:0 16px 42px rgba(234,88,12,.10);overflow:hidden}
.special-offer-section .special-offer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:17px}
.special-offer-section .special-offer-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:#fff;border:1px solid #fed7aa;border-radius:20px;box-shadow:0 9px 28px rgba(15,23,42,.07)}
.special-offer-section .special-offer-image{position:relative;height:220px;padding:18px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#fffaf5,#fff7ed);text-decoration:none}
.special-offer-section .special-offer-image img{display:block;width:100%;height:100%;max-height:195px;object-fit:contain}
.special-offer-section .special-offer-discount{position:absolute;top:13px;right:13px;z-index:2;padding:7px 11px;border-radius:999px;background:linear-gradient(135deg,#ef4444,var(--danger));color:#fff;font-size:11px;font-weight:900;box-shadow:0 5px 14px rgba(220,38,38,.25)}
.special-offer-section .special-offer-body{min-width:0;padding:16px;display:flex;flex-direction:column}
.special-offer-section .special-offer-prices{margin:7px 0 12px;display:block}
.special-offer-section .special-offer-price-main{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.special-offer-section .special-offer-prices strong{font-size:21px;color:var(--danger);line-height:1.2}
.special-offer-section .special-offer-prices del{font-size:11px;color:#94a3b8}
.special-offer-section .special-offer-saving{display:inline-flex;margin-top:7px;padding:4px 8px;border-radius:8px;background:#ecfdf5;color:#047857;font-size:9px;font-weight:900}
.special-offer-section .special-offer-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.special-offer-section .special-offer-actions form{width:100%!important;max-width:none!important;margin:0!important;display:block!important}
.special-offer-section .special-offer-actions>a{width:100%!important;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#fff7ed;border:1px solid #fed7aa;color:#c2410c;text-decoration:none;font-size:10px;font-weight:900}
.special-offer-section .special-offer-actions button{width:100%!important;height:40px!important;min-height:40px!important;margin:0!important;padding:0 10px!important;border:0;border-radius:10px!important;background:linear-gradient(135deg,#f97316,#ea580c)!important;color:#fff!important;font-size:10px!important;font-weight:900!important;white-space:nowrap;box-sizing:border-box}
@media(max-width:768px){.special-offer-section.special-offer-section{padding:16px;border-radius:19px}.special-offer-section .special-offer-grid{grid-template-columns:1fr;gap:13px}.special-offer-section .special-offer-image{height:185px}.special-offer-section .special-offer-body{padding:13px}.special-offer-section .special-countdown b{font-size:13px}}
@media(max-width:430px){.special-offer-section .special-offer-image{height:165px}.special-offer-section .special-offer-image img{max-height:145px}.special-offer-section .special-offer-actions a,.special-offer-section .special-offer-actions button{font-size:9px!important}}


/* SPECIAL OFFER CRITICAL FALLBACK v4 */
.special-offer-section .special-offer-actions{display:grid!important;grid-template-columns:1fr 1.25fr!important;gap:9px!important;width:100%!important}
.special-offer-section .special-offer-actions form{display:block!important;width:100%!important;max-width:none!important;margin:0!important}
.special-offer-section .special-offer-actions form button{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-width:0!important;height:44px!important;min-height:44px!important;padding:0 12px!important;box-sizing:border-box!important;border:0!important;border-radius:11px!important;font-family:inherit!important;font-size:11px!important;font-weight:900!important;line-height:1!important;white-space:nowrap!important;overflow:visible!important}
@media(max-width:430px){
.special-offer-section .special-offer-actions{grid-template-columns:1fr!important}
.special-offer-section .special-offer-actions form button{height:47px!important;min-height:47px!important;font-size:11px!important}
}

/* Special offer: product detail is opened by image/title; no duplicate view button. */
.special-offer-section .special-offer-actions{
    display:block!important;
    width:100%!important;
}
.special-offer-section .special-offer-actions > form{
    width:100%!important;
    max-width:none!important;
}
.special-offer-section .special-offer-actions > form button{
    width:100%!important;
}

/* =========================================================
   FOOTER LINKS — NimaShop
   ========================================================= */
.site-footer{
    margin-top:50px;
    padding:42px 20px 18px;
    background:linear-gradient(135deg,#17133d 0%,#1e1b4b 55%,#312e81 100%);
    color:#fff;
    text-align:right;
    border-top:1px solid rgba(255,255,255,.08);
}
.footer-inner{
    width:min(1100px,100%);
    margin:0 auto;
    display:grid;
    grid-template-columns:1.5fr 1fr 1fr;
    gap:42px;
    direction:rtl;
}
.footer-brand{
    padding-left:20px;
}
.footer-logo-image{
    display:block;
    width:180px;
    margin-bottom:6px;
    border-radius:10px;
    overflow:hidden;
    background:#fff;
    line-height:0;
}
.footer-logo-image img{
    display:block;
    width:100%;
    height:auto;
    max-height:130px;
    object-fit:contain;
}
.footer-logo{
    font-size:22px;
    font-weight:900;
    margin-bottom:9px;
}
.footer-brand p{
    margin:0;
    max-width:330px;
    color:#c7c9df;
    font-size:12px;
    line-height:2;
}
.footer-column{
    display:flex;
    flex-direction:column;
    gap:8px;
}
.footer-column h3{
    margin:0 0 8px;
    color:#fff;
    font-size:14px;
    font-weight:900;
}
.footer-column a{
    color:#cfd2ee;
    text-decoration:none;
    font-size:12px;
    line-height:1.9;
    transition:color .2s ease,transform .2s ease;
    width:max-content;
    max-width:100%;
}
.footer-column a:hover{
    color:#fff;
    transform:translateX(-3px);
}
.footer-admin-login{
    margin-top:6px;
    opacity:.75;
    font-size:11px!important;
}
.footer-admin-login:hover{
    opacity:1;
}
.footer-bottom{
    width:min(1100px,100%);
    margin:30px auto 0;
    padding-top:15px;
    border-top:1px solid rgba(255,255,255,.10);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    color:#aeb2d1;
    font-size:10px;
    direction:rtl;
}
@media (max-width:768px){
    .site-footer{
        margin-top:28px;
        padding:30px 14px 15px;
        border-radius:22px 22px 0 0;
        text-align:right;
    }
    .footer-inner{
        grid-template-columns:1fr 1fr;
        gap:25px 18px;
    }
    .footer-brand{
        grid-column:1/-1;
        padding:0;
    }
    .footer-logo-image{width:150px}
    .footer-logo{font-size:19px}
    .footer-brand p{font-size:11px}
    .footer-column h3{font-size:13px}
    .footer-column a{font-size:11px}
    .footer-bottom{
        flex-direction:column;
        align-items:flex-start;
        gap:4px;
        margin-top:24px;
        font-size:9px;
    }
}
@media (max-width:430px){
    .footer-inner{grid-template-columns:1fr 1fr;gap:22px 12px}
    .footer-column a{font-size:10px}
}

/* =========================================================
   ABOUT / TERMS INFORMATION PAGES
   ========================================================= */
.info-page{
    max-width:1050px;
    margin:28px auto 45px;
}
.info-hero{
    padding:34px 25px;
    border-radius:24px;
    background:linear-gradient(135deg,var(--primary-light),#f5f3ff);
    border:1px solid #e0e7ff;
    text-align:center;
}
.info-hero span{
    color:var(--primary);
    font-size:12px;
    font-weight:900;
}
.info-hero h1{
    margin:8px 0 4px;
    color:#1e1b4b;
    font-size:30px;
}
.info-hero p{
    margin:0;
    color:var(--text-muted);
    font-size:12px;
}
.info-content{
    margin-top:18px;
    padding:28px;
    border-radius:22px;
    background:#fff;
    border:1px solid var(--border);
    box-shadow:0 12px 35px rgba(15,23,42,.06);
    line-height:2;
    color:#475569;
}
.info-content h2{
    color:#1e293b;
    font-size:18px;
    margin:0 0 9px;
}
.info-content h2:not(:first-child){margin-top:27px}
.info-content p{font-size:12px;margin:0 0 18px}
.info-cards{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:13px;
    margin-bottom:8px;
}
.info-cards>div{
    padding:17px;
    border-radius:16px;
    background:#f8fafc;
    border:1px solid #e2e8f0;
}
.info-cards strong{color:#334155;font-size:13px}
.info-cards p{margin-top:5px;margin-bottom:0;font-size:11px}
.info-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 18px;
    border-radius:11px;
    background:linear-gradient(135deg,var(--primary-hover),#1f5fa8);
    color:#fff;
    text-decoration:none;
    font-size:12px;
    font-weight:900;
}
.info-rule{
    padding:15px 17px;
    margin-bottom:11px;
    border-radius:14px;
    background:#f8fafc;
    border-right:4px solid var(--primary);
}
.info-rule strong{display:block;color:#1e293b;font-size:13px;margin-bottom:3px}
.info-rule p{margin:0;font-size:11px}
@media(max-width:768px){
    .info-page{margin:18px 10px 30px}
    .info-hero{padding:25px 16px;border-radius:19px}
    .info-hero h1{font-size:24px}
    .info-content{padding:19px 15px;border-radius:18px}
    .info-cards{grid-template-columns:1fr}
}

/* =========================================================
   MOBILE APP-STYLE BOTTOM NAVIGATION
   Desktop: hidden. Mobile: fixed, floating, app-like.
   ========================================================= */
.mobile-bottom-nav{
    display:none;
}

@media (max-width:768px){
    body{
        padding-bottom:92px;
    }

    /* The existing support bubble would overlap the new navigation. */
    .support-float{
        bottom:calc(86px + env(safe-area-inset-bottom)) !important;
    }

    .mobile-bottom-nav{
        position:fixed;
        z-index:19999;
        right:10px;
        left:10px;
        bottom:calc(9px + env(safe-area-inset-bottom));
        height:72px;
        display:grid;
        grid-template-columns:repeat(4,1fr);
        align-items:stretch;
        padding:5px 4px;
        background:rgba(255,255,255,.97);
        border:1px solid rgba(226,232,240,.95);
        border-radius:24px;
        box-shadow:0 12px 35px rgba(15,23,42,.16);
        backdrop-filter:blur(14px);
        -webkit-backdrop-filter:blur(14px);
        direction:rtl;
    }

    .mobile-bottom-item{
        position:relative;
        min-width:0;
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:3px;
        color:#263c5b;
        text-decoration:none;
        font-family:Tahoma,Arial,sans-serif;
        font-size:9px;
        font-weight:700;
        line-height:1.25;
        border-radius:18px;
        -webkit-tap-highlight-color:transparent;
        transition:background .18s ease, color .18s ease, transform .18s ease;
    }

    .mobile-bottom-item:active{
        transform:scale(.94);
    }

    .mobile-bottom-icon{
        position:relative;
        width:29px;
        height:29px;
        display:flex;
        align-items:center;
        justify-content:center;
    }

    .mobile-bottom-icon svg{
        width:27px;
        height:27px;
        fill:none;
        stroke:currentColor;
        stroke-width:1.65;
        stroke-linecap:round;
        stroke-linejoin:round;
    }

    .mobile-bottom-item:nth-child(3) .mobile-bottom-icon{
        width:34px;
        height:34px;
    }

    .mobile-bottom-item:nth-child(3) .mobile-bottom-icon svg{
        width:30px;
        height:30px;
        stroke-width:1.7;
    }

    .mobile-bottom-active{
        color:#0784b8;
    }

    .mobile-bottom-active .mobile-bottom-icon{
        transform:translateY(-1px);
    }

    .mobile-cart-badge{
        position:absolute;
        top:-3px;
        right:-4px;
        min-width:15px;
        height:15px;
        padding:0 3px;
        display:flex;
        align-items:center;
        justify-content:center;
        border-radius:999px;
        background:#ef4444;
        color:#fff;
        border:2px solid #fff;
        font-size:8px;
        line-height:1;
        font-family:Arial,sans-serif;
    }
}

@media (max-width:430px){
    .mobile-bottom-nav{
        right:8px;
        left:8px;
        height:70px;
        border-radius:23px;
    }
    .mobile-bottom-item{
        font-size:8.5px;
    }
    .mobile-bottom-icon{
        width:27px;
        height:27px;
    }
    .mobile-bottom-icon svg{
        width:25px;
        height:25px;
    }
}

/* Keep the floating support button above the mobile bottom navigation */
@media (max-width:768px){
    .support-float,
    .support-button,
    .support-widget,
    .support-box,
    .floating-support,
    #support-float,
    #support-button{
        bottom:calc(92px + env(safe-area-inset-bottom)) !important;
        z-index:20000 !important;
    }
}

/* Final mobile support position: completely above the floating bottom bar */
@media (max-width:768px){
    .support-float{
        bottom:calc(102px + env(safe-area-inset-bottom)) !important;
    }
}

/* ============================= */
/* QUANTITY STEPPER (shared) */
/* ============================= */
.qty-stepper {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
    background: var(--surface);
    height: 44px;
}
.qty-stepper button {
    width: 40px;
    height: 100%;
    border: none;
    background: var(--bg);
    color: var(--text);
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .2s;
    flex-shrink: 0;
}
.qty-stepper button:hover:not(:disabled) { background: var(--primary-light); color: var(--primary); }
.qty-stepper button:disabled { opacity: .4; cursor: not-allowed; }
.qty-stepper input[type="number"] {
    width: 48px;
    height: 100%;
    border: none;
    border-inline: 1px solid var(--border);
    text-align: center;
    font-size: 15px;
    font-family: inherit;
    color: var(--text);
    background: transparent;
    -moz-appearance: textfield;
}
/* Hide the native up/down spinner arrows since the stepper buttons replace them */
.qty-stepper input[type="number"]::-webkit-outer-spin-button,
.qty-stepper input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* =========================================================
   FINAL FIX - HEADER SEARCH + PRODUCT QUANTITY STEPPER
   این بخش باید آخر فایل باشد تا قوانین عمومی form/button روی
   سرچ هدر و کنترل تعداد محصول اثر نگذارند.
   ========================================================= */
.header-search {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: stretch !important;
    width: min(100%, 420px) !important;
    max-width: 420px !important;
    height: 46px !important;
    margin: 14px auto 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    background: rgba(255,255,255,.97) !important;
    border-radius: 999px !important;
    overflow: hidden !important;
    box-shadow: 0 8px 24px rgba(20,20,70,.16) !important;
}
.header-search input {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-sizing: border-box !important;
}
.header-search button {
    flex: 0 0 46px !important;
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--primary) !important;
    color: #fff !important;
    box-sizing: border-box !important;
}
.header-search button:hover {
    background: var(--primary-hover) !important;
    transform: none !important;
}

/* Product detail purchase form must stay horizontal. */
.pdp-purchase form {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.pdp-purchase form > input[type="hidden"] {
    display: none !important;
}
.pdp-purchase .qty-stepper {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 136px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #dfe5ee !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    background: #fff !important;
    box-sizing: border-box !important;
}
.pdp-purchase .qty-stepper button {
    flex: 0 0 40px !important;
    width: 40px !important;
    min-width: 40px !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #f7f8fb !important;
    color: #344054 !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}
.pdp-purchase .qty-stepper button:hover:not(:disabled) {
    background: #f0eeff !important;
    color: var(--primary) !important;
    transform: none !important;
}
.pdp-purchase .qty-stepper input[type="number"] {
    flex: 0 0 54px !important;
    width: 54px !important;
    min-width: 54px !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-left: 1px solid #e6e9ef !important;
    border-right: 1px solid #e6e9ef !important;
    border-radius: 0 !important;
    outline: 0 !important;
    text-align: center !important;
    background: #fff !important;
    box-sizing: border-box !important;
}
.pdp-purchase form > button[type="submit"] {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 150px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 17px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: #1f5fa8 !important;
    color: #fff !important;
    font: inherit !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
}
.pdp-purchase form > button[type="submit"]:hover {
    background: #5143d9 !important;
    transform: none !important;
}

@media (max-width: 600px) {
    .header-search {
        width: 100% !important;
        max-width: none !important;
        height: 44px !important;
    }
    .header-search input { height: 44px !important; }
    .header-search button {
        flex-basis: 44px !important;
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
    }
    .pdp-purchase form {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: auto minmax(0,1fr) !important;
        align-items: center !important;
    }
    .pdp-purchase .qty-stepper { min-width: 136px !important; }
    .pdp-purchase form > button[type="submit"] {
        min-width: 0 !important;
        width: 100% !important;
    }
}

/* =========================================================
   NIMA SHOP - NEW CART PAGE
   ========================================================= */
.cart-page-new{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:20px 0 55px;direction:rtl}
.cart-page-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}
.cart-page-kicker{display:block;font-size:9px;font-weight:900;letter-spacing:2px;color:var(--primary,#1f5fa8);margin-bottom:5px}
.cart-page-head h1{margin:0;font-size:30px;font-weight:1000;color:#101828}
.cart-page-head p{margin:7px 0 0;color:#667085;font-size:11px}
.cart-continue{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 17px;border:1px solid #e4e7ec;border-radius:12px;background:#fff;color:#344054;text-decoration:none;font-size:11px;font-weight:800;box-shadow:0 4px 16px rgba(16,24,40,.05)}
.cart-continue:hover{border-color:#cfd4dc;color:var(--primary,#1f5fa8)}
.cart-layout-new{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}
.cart-items-new{min-width:0}
.cart-list-head{display:flex;justify-content:space-between;align-items:center;padding:0 3px 10px;color:#667085;font-size:10px;font-weight:800}
.cart-item-new{display:grid;grid-template-columns:108px minmax(0,1fr);gap:17px;background:#fff;border:1px solid #eaecf0;border-radius:18px;padding:14px;margin-bottom:12px;box-shadow:0 7px 25px rgba(16,24,40,.045)}
.cart-item-image{display:block;width:108px;height:108px;border-radius:14px;background:#f7f8fa;overflow:hidden;border:1px solid #f0f1f3}
.cart-item-image img{display:block;width:100%;height:100%;object-fit:contain}
.cart-item-main{min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:15px}
.cart-item-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.cart-item-label,.cart-unit-price>span,.cart-line-total>span,.cart-control-label{display:block;font-size:9px;color:#98a2b3;font-weight:700;margin-bottom:4px}
.cart-item-top h2{margin:0;font-size:15px;line-height:1.8;color:#101828;font-weight:900}
.cart-remove-form{margin:0}
.cart-remove-form button{width:34px;height:34px;border:0;border-radius:10px;background:#fff1f3;color:#d92d20;cursor:pointer;font-size:13px;display:grid;place-items:center}
.cart-remove-form button:hover{background:#ffe4e8}
.cart-item-bottom{display:grid;grid-template-columns:1fr auto auto;align-items:end;gap:20px}
.cart-unit-price strong,.cart-line-total strong{display:block;font-size:12px;color:#101828;white-space:nowrap}
.cart-unit-price del{display:block;font-size:9px;color:#98a2b3;margin-top:2px}
.cart-qty-form-new{display:flex;align-items:end;gap:7px;flex-wrap:wrap;margin:0}
.cart-qty-stepper{display:flex;direction:ltr;align-items:center;height:38px;border:1px solid #dfe3e8;border-radius:10px;overflow:hidden;background:#fff}
.cart-qty-stepper button{width:34px;height:100%;border:0;background:#f8f9fb;color:#344054;font-size:18px;font-weight:900;cursor:pointer;display:grid;place-items:center;padding:0}
.cart-qty-stepper button:hover{background:#eef0ff;color:#1f5fa8}
.cart-qty-stepper input{width:42px;height:100%;border:0;border-left:1px solid #eaecf0;border-right:1px solid #eaecf0;text-align:center;font:800 12px inherit;color:#101828;background:#fff;outline:none;-moz-appearance:textfield}
.cart-qty-stepper input::-webkit-outer-spin-button,.cart-qty-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cart-update-btn{height:38px;border:0;border-radius:10px;background:#f0eeff;color:#5146d9;padding:0 11px;font:800 9px inherit;cursor:pointer}
.cart-update-btn:hover{background:#e5e1ff}
.cart-line-total{text-align:left}
.cart-summary-new{position:sticky;top:95px}
.cart-summary-card{background:#111827;color:#fff;border-radius:20px;padding:21px;box-shadow:0 16px 45px rgba(16,24,40,.16)}
.cart-summary-title{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:900;padding-bottom:17px;border-bottom:1px solid rgba(255,255,255,.1)}
.cart-summary-title i{width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.08);display:grid;place-items:center;font-size:13px}
.cart-summary-row{display:flex;justify-content:space-between;gap:12px;padding:14px 0;color:#aeb8c8;font-size:10px;border-bottom:1px solid rgba(255,255,255,.08)}
.cart-summary-row strong{color:#fff;font-size:11px}
.cart-summary-total{border-bottom:0;padding-bottom:18px}.cart-summary-total strong{font-size:17px}
.cart-primary-btn{min-height:44px;padding:0 16px;border-radius:11px;background:#1f5fa8;color:#fff;text-decoration:none;font-size:10px;font-weight:900;display:flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;box-sizing:border-box}
.cart-primary-btn:hover{background:#5143d9;color:#fff}
.cart-checkout-btn{width:100%}
.cart-summary-note{margin:13px 0 0;color:#8290a4;font-size:8px;line-height:1.8;text-align:center}
.cart-summary-note i{margin-left:3px}
.cart-clear-form{margin:10px 0 0}.cart-clear-form button{width:100%;height:40px;border:1px solid #e4e7ec;background:#fff;color:#667085;border-radius:11px;font:800 9px inherit;cursor:pointer}.cart-clear-form button:hover{color:#d92d20;border-color:#f2c6c2}
.cart-empty-new{min-height:390px;border:1px dashed #dfe3e8;border-radius:22px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;box-sizing:border-box}
.cart-empty-icon{width:72px;height:72px;border-radius:22px;background:#f0eeff;color:#1f5fa8;display:grid;place-items:center;font-size:25px;margin-bottom:16px}
.cart-empty-new h2{margin:0;color:#101828;font-size:20px}.cart-empty-new p{margin:8px 0 20px;color:#667085;font-size:10px}.cart-empty-new .cart-primary-btn{min-width:170px}

@media(max-width:900px){
 .cart-layout-new{grid-template-columns:1fr}
 .cart-summary-new{position:static}
 .cart-summary-card{max-width:none}
}
@media(max-width:650px){
 .cart-page-new{width:calc(100% - 20px);padding-top:10px;padding-bottom:90px}
 .cart-page-head{align-items:flex-start;margin-bottom:17px}.cart-page-head h1{font-size:23px}.cart-page-head p{font-size:9px}.cart-continue{min-height:38px;padding:0 12px;font-size:9px}
 .cart-list-head{font-size:9px}
 .cart-item-new{grid-template-columns:72px minmax(0,1fr);gap:11px;padding:10px;border-radius:15px}
 .cart-item-image{width:72px;height:72px;border-radius:11px}
 .cart-item-main{gap:11px}.cart-item-top h2{font-size:12px}.cart-item-label{font-size:8px}
 .cart-remove-form button{width:30px;height:30px;border-radius:9px}
 .cart-item-bottom{grid-template-columns:1fr 1fr;gap:12px 8px;align-items:end}
 .cart-unit-price strong,.cart-line-total strong{font-size:10px}.cart-unit-price>span,.cart-line-total>span,.cart-control-label{font-size:8px}
 .cart-qty-form-new{grid-column:1/-1;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px solid #f0f1f3;width:100%}
 .cart-qty-form-new .cart-control-label{margin:0}.cart-qty-stepper{height:36px;margin-right:auto}.cart-qty-stepper button{width:32px}.cart-qty-stepper input{width:38px}
 .cart-update-btn{height:36px;padding:0 9px}
 .cart-summary-card{border-radius:17px;padding:17px}.cart-summary-title{font-size:12px}.cart-summary-total strong{font-size:15px}
 .cart-empty-new{min-height:330px;padding:22px}.cart-empty-icon{width:62px;height:62px;font-size:21px}
}
@media(max-width:390px){
 .cart-page-head{gap:8px}.cart-continue{padding:0 9px}.cart-item-new{grid-template-columns:64px minmax(0,1fr)}.cart-item-image{width:64px;height:64px}.cart-item-bottom{gap:9px 6px}
}

/* Final cart quantity controls: isolated from generic form/button rules */
.cart-page-new .cart-qty-stepper {
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    width:max-content !important;
    min-width:146px !important;
    height:40px !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border:1px solid #dfe3e8 !important;
    border-radius:11px !important;
    background:#fff !important;
    direction:ltr !important;
}
.cart-page-new .cart-qty-stepper button {
    flex:0 0 36px !important;
    width:36px !important;
    min-width:36px !important;
    height:40px !important;
    min-height:40px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:#f8f9fb !important;
    color:#344054 !important;
    font-family:inherit !important;
    font-size:19px !important;
    font-weight:900 !important;
    line-height:1 !important;
    display:grid !important;
    place-items:center !important;
    cursor:pointer !important;
    pointer-events:auto !important;
    position:relative !important;
    z-index:2 !important;
}
.cart-page-new .cart-qty-stepper button:disabled { opacity:.55 !important; cursor:default !important; }
.cart-page-new .cart-qty-stepper input {
    flex:0 0 50px !important;
    width:50px !important;
    min-width:50px !important;
    height:40px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-left:1px solid #eaecf0 !important;
    border-right:1px solid #eaecf0 !important;
    border-radius:0 !important;
    background:#fff !important;
    color:#101828 !important;
    text-align:center !important;
    font-family:inherit !important;
    font-size:13px !important;
    font-weight:800 !important;
    outline:none !important;
    box-sizing:border-box !important;
    pointer-events:auto !important;
}
@media(max-width:650px){
    .cart-page-new .cart-qty-stepper { min-width:132px !important; height:38px !important; }
    .cart-page-new .cart-qty-stepper button { flex-basis:32px !important; width:32px !important; min-width:32px !important; height:38px !important; min-height:38px !important; }
    .cart-page-new .cart-qty-stepper input { flex-basis:44px !important; width:44px !important; min-width:44px !important; height:38px !important; }
}


/* =========================================================
   NIMA TRANSFORMER — PUBLIC CATALOG VISUAL OVERHAUL
   Tech / metallic / glass aesthetic — public pages only.
   ========================================================= */
.public-site-body{
    --tech-bg:#070b13;
    --tech-surface:#0d1420;
    --tech-surface-2:#111b2a;
    --tech-border:rgba(148,163,184,.16);
    --tech-text:#edf4ff;
    --tech-muted:#8fa1b8;
    --tech-accent:#63d7ff;
    --tech-accent-2:#7c6cff;
    --tech-glow:rgba(99,215,255,.22);
    background:
      radial-gradient(circle at 10% 0%,rgba(99,215,255,.09),transparent 28%),
      radial-gradient(circle at 90% 12%,rgba(124,108,255,.10),transparent 30%),
      linear-gradient(180deg,#070b13 0%,#0a1019 46%,#070b13 100%);
    color:var(--tech-text);
}
.public-site-body::before{
    content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.16;
    background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
    background-size:42px 42px;
    mask-image:linear-gradient(to bottom,#000,transparent 85%);
}
.public-site-body .site-header{
    position:relative;z-index:20;padding:18px 20px 14px;text-align:center;
    background:rgba(7,11,19,.72);
    border-bottom:1px solid rgba(148,163,184,.13);
    box-shadow:0 14px 50px rgba(0,0,0,.24);
    backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
}
.public-site-body .site-header::after{
    content:"";position:absolute;left:10%;right:10%;bottom:-1px;height:1px;
    background:linear-gradient(90deg,transparent,var(--tech-accent),var(--tech-accent-2),transparent);opacity:.65;
}
.public-site-body .site-header .container{width:min(1320px,calc(100% - 28px));}
.public-site-body .site-header .logo{
    position:relative;display:inline-block;margin:0;color:#f7fbff;font-size:28px;font-weight:900;letter-spacing:-.5px;
    text-shadow:0 0 26px rgba(99,215,255,.18);
}
.public-site-body .site-header .logo::after{
    content:"";display:block;width:42%;height:3px;margin:6px auto 0;border-radius:99px;
    background:linear-gradient(90deg,var(--tech-accent),var(--tech-accent-2));box-shadow:0 0 15px var(--tech-glow);
}
.public-site-body .header-search{
    max-width:560px;margin:17px auto 0;padding:4px;background:rgba(17,27,42,.92);
    border:1px solid rgba(148,163,184,.18);box-shadow:0 12px 35px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.04);
}
.public-site-body .header-search input{color:#eaf2ff;font-size:13px;padding:12px 16px}
.public-site-body .header-search input::placeholder{color:#7d8da3}
.public-site-body .header-search button{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--tech-accent-2),#4d8cff);box-shadow:0 0 20px rgba(99,215,255,.14)}
.public-site-body .header-search button:hover{transform:scale(1.05);background:linear-gradient(135deg,var(--tech-accent),#6b5cff)}
.public-site-body .main-nav{margin-top:13px}
.public-site-body .main-nav ul{gap:7px;margin:0;flex-wrap:wrap}
.public-site-body .main-nav a{
    position:relative;overflow:hidden;padding:8px 15px;border:1px solid transparent;background:transparent;color:#aebed1;font-size:12px;border-radius:10px;
}
.public-site-body .main-nav a::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent,rgba(255,255,255,.08),transparent);transform:translateX(-120%);transition:.5s}
.public-site-body .main-nav a:hover::before{transform:translateX(120%)}
.public-site-body .main-nav a:hover{background:rgba(99,215,255,.07);border-color:rgba(99,215,255,.17);color:#fff;box-shadow:0 0 22px rgba(99,215,255,.06)}
.public-site-body .main-nav .admin-nav-link{color:#8fe6ff;background:rgba(99,215,255,.07);border-color:rgba(99,215,255,.16)}
.public-site-body main.container:not(.home-page){
    width:min(1320px,calc(100% - 28px));padding:28px 0 70px;margin:0 auto;background:transparent;box-shadow:none;border-radius:0;
}
.public-site-body .products-page,.public-site-body .product-detail-page,.public-site-body .catalog-pro{color:var(--tech-text)}
.public-site-body .catalog-pro{padding:20px 0 55px}
.public-site-body .catalog-head h1,.public-site-body .products-page-head h1,.public-site-body .product-detail-info h1{color:#f4f8ff;text-shadow:0 0 24px rgba(99,215,255,.08)}
.public-site-body .catalog-head p,.public-site-body .products-page-head p,.public-site-body .catalog-breadcrumb,.public-site-body .products-breadcrumb,.public-site-body .product-detail-breadcrumb{color:#7f91a8}
.public-site-body .catalog-breadcrumb a,.public-site-body .products-breadcrumb a,.public-site-body .product-detail-breadcrumb a{color:#9eb1c8}
.public-site-body .catalog-head-count,.public-site-body .results-toolbar,.public-site-body .catalog-filters,.public-site-body .products-sidebar-card,
.public-site-body .product-detail-image-card,.public-site-body .product-detail-info,.public-site-body .related-section{
    background:linear-gradient(145deg,rgba(17,27,42,.92),rgba(10,16,25,.94));
    border-color:var(--tech-border);box-shadow:0 18px 55px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.035);
}
.public-site-body .catalog-search-pro{background:linear-gradient(120deg,#0e1b2c,#151c38 52%,#10152a);border:1px solid rgba(99,215,255,.13);box-shadow:0 18px 50px rgba(0,0,0,.28);position:relative;overflow:hidden}
.public-site-body .catalog-search-pro::before{content:"";position:absolute;width:260px;height:260px;right:-100px;top:-160px;border-radius:50%;background:rgba(99,215,255,.10);filter:blur(4px)}
.public-site-body .search-pro-input{position:relative;background:#09111d;border:1px solid rgba(148,163,184,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.public-site-body .search-pro-input input{color:#eef6ff}
.public-site-body .search-pro-input input::placeholder{color:#687c94}
.public-site-body .search-pro-input button,.public-site-body .apply-filters{background:linear-gradient(135deg,var(--tech-accent-2),#4e8fff);box-shadow:0 9px 25px rgba(78,143,255,.20)}
.public-site-body .search-pro-input button:hover,.public-site-body .apply-filters:hover{filter:brightness(1.08);transform:translateY(-1px)}
.public-site-body .filter-group{border-color:rgba(148,163,184,.10)}
.public-site-body .filter-group h3,.public-site-body .filter-head h2{color:#dfe9f7}
.public-site-body .filter-link{color:#8ea1b8}
.public-site-body .filter-link:hover,.public-site-body .filter-link.selected{background:rgba(99,215,255,.07);color:#8fe6ff;box-shadow:inset -2px 0 0 var(--tech-accent)}
.public-site-body .filter-link b{background:#162235;color:#8296af}
.public-site-body .results-toolbar{color:#8ea0b6}
.public-site-body .results-toolbar select,.public-site-body .filter-group select{background:#0a111c;color:#dce8f7;border-color:rgba(148,163,184,.16)}
.public-site-body .catalog-card,.public-site-body .related-card{
    position:relative;background:linear-gradient(150deg,#111b2a,#0b121d);border:1px solid rgba(148,163,184,.14);
    box-shadow:0 12px 38px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.035);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s;
}
.public-site-body .catalog-card::before,.public-site-body .related-card::before{
    content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,rgba(99,215,255,.10),transparent 34%,rgba(124,108,255,.08));opacity:0;transition:.35s
}
.public-site-body .catalog-card:hover,.public-site-body .related-card:hover{transform:translateY(-8px);border-color:rgba(99,215,255,.32);box-shadow:0 24px 55px rgba(0,0,0,.34),0 0 30px rgba(99,215,255,.07)}
.public-site-body .catalog-card:hover::before,.public-site-body .related-card:hover::before{opacity:1}
.public-site-body .catalog-card-media{background:radial-gradient(circle at 50% 40%,rgba(99,215,255,.08),transparent 45%),#09111c;border-bottom:1px solid rgba(148,163,184,.10)}
.public-site-body .catalog-card-media img{filter:drop-shadow(0 16px 18px rgba(0,0,0,.28));transition:transform .5s cubic-bezier(.2,.8,.2,1),filter .5s}
.public-site-body .catalog-card:hover .catalog-card-media img{transform:scale(1.07) translateY(-3px);filter:drop-shadow(0 22px 25px rgba(0,0,0,.36))}
.public-site-body .catalog-card-body{padding:17px}
.public-site-body .card-category{color:#67dfff;letter-spacing:.2px}
.public-site-body .catalog-card h2 a{color:#eaf3ff}
.public-site-body .catalog-card h2 a:hover{color:#7de5ff}
.public-site-body .card-code{color:#70849d}
.public-site-body .catalog-card-actions{gap:8px;margin-top:15px}
.public-site-body .catalog-card-actions .detail-btn,.public-site-body .catalog-card-actions .catalog-contact-btn,
.public-site-body .home-product-actions .home-view-btn,.public-site-body .home-product-actions .home-contact-btn{
    position:relative;overflow:hidden;border-radius:11px;min-height:40px;border:1px solid rgba(148,163,184,.15);font-weight:900;transition:.3s;isolation:isolate
}
.public-site-body .catalog-card-actions .detail-btn,.public-site-body .home-product-actions .home-view-btn{background:rgba(148,163,184,.07);color:#b7c7d9}
.public-site-body .catalog-card-actions .catalog-contact-btn,.public-site-body .home-product-actions .home-contact-btn{background:linear-gradient(135deg,#5660ff,#35b8ff);color:#fff;box-shadow:0 9px 22px rgba(53,184,255,.17)}
.public-site-body .catalog-card-actions a::after,.public-site-body .home-product-actions a::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent,rgba(255,255,255,.24),transparent);transform:translateX(-120%);transition:.55s;z-index:-1}
.public-site-body .catalog-card-actions a:hover::after,.public-site-body .home-product-actions a:hover::after{transform:translateX(120%)}
.public-site-body .catalog-card-actions a:hover,.public-site-body .home-product-actions a:hover{transform:translateY(-2px);color:#fff;border-color:rgba(125,229,255,.35)}
.public-site-body .product-detail-page{padding-top:12px}
.public-site-body .product-detail-image-card{overflow:hidden;position:relative}
.public-site-body .product-detail-image-card::after{content:"";position:absolute;inset:auto 12% 5% 12%;height:1px;background:linear-gradient(90deg,transparent,var(--tech-accent),transparent);box-shadow:0 0 22px var(--tech-accent)}
.public-site-body .product-detail-image-card img{filter:drop-shadow(0 25px 28px rgba(0,0,0,.35))}
.public-site-body .product-detail-info h1{font-size:clamp(25px,3vw,38px)}
.public-site-body .product-detail-status{background:rgba(99,215,255,.06);border-color:rgba(99,215,255,.14);color:#8fe6ff}
.public-site-body .pdp-catalog-contact{background:linear-gradient(135deg,rgba(99,215,255,.07),rgba(124,108,255,.07));border-color:rgba(99,215,255,.14)}
.public-site-body .pdp-catalog-contact strong{color:#edf5ff}.public-site-body .pdp-catalog-contact span{color:#8297af}
.public-site-body .pdp-catalog-contact a{background:linear-gradient(135deg,#5660ff,#35b8ff);box-shadow:0 10px 25px rgba(53,184,255,.18)}
.public-site-body .gallery-nav{background:rgba(5,10,18,.80);border-color:rgba(125,229,255,.20);box-shadow:0 10px 28px rgba(0,0,0,.35)}
.public-site-body .gallery-nav:hover{background:linear-gradient(135deg,#5660ff,#35b8ff)}
.public-site-body .pdp-thumb{border-color:rgba(148,163,184,.15)!important;background:#0a111c!important}.public-site-body .pdp-thumb.active{border-color:#63d7ff!important;box-shadow:0 0 20px rgba(99,215,255,.14)}
.public-site-body .related-section{padding:22px}
.public-site-body .related-head h2{color:#f0f6ff}.public-site-body .related-head span{color:#67dfff}.public-site-body .related-card small{color:#71859d}.public-site-body .related-card h3{color:#e8f2ff}.public-site-body .related-cta{color:#7de5ff}
.public-site-body .catalog-empty,.public-site-body .home-empty-box,.public-site-body .home-empty-products{background:rgba(13,20,32,.78);border-color:rgba(148,163,184,.16);color:#8fa1b8}
.public-site-body .site-footer{
    position:relative;margin-top:25px;background:#050912;color:#8fa1b8;text-align:right;padding:52px 24px 20px;border-top:1px solid rgba(148,163,184,.12);overflow:hidden
}
.public-site-body .site-footer::before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,var(--tech-accent),var(--tech-accent-2),transparent);box-shadow:0 0 18px rgba(99,215,255,.35)}
.public-site-body .footer-inner{width:min(1320px,100%);margin:0 auto;position:relative}
.public-site-body .footer-column h3,.public-site-body .footer-logo{color:#eef6ff}
.public-site-body .footer-column a{color:#8497ae;transition:.25s}.public-site-body .footer-column a:hover{color:#7de5ff;transform:translateX(-3px)}
.public-site-body .footer-logo-image{filter:drop-shadow(0 10px 22px rgba(0,0,0,.3))}
.public-site-body .footer-bottom{border-top-color:rgba(148,163,184,.10);color:#61748c}
.public-site-body .mobile-bottom-nav{background:rgba(6,11,18,.88);border-color:rgba(148,163,184,.13);backdrop-filter:blur(16px)}
.public-site-body .mobile-bottom-item{color:#778aa1}.public-site-body .mobile-bottom-active{color:#7de5ff}
.public-site-body .mobile-menu-overlay{background:rgba(0,0,0,.62);backdrop-filter:blur(5px)}

/* Smooth entrance motion for public catalog blocks */
@keyframes nima-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes nima-pulse{0%,100%{box-shadow:0 0 0 0 rgba(99,215,255,0)}50%{box-shadow:0 0 0 8px rgba(99,215,255,.04)}}
.public-site-body .catalog-card,.public-site-body .related-card,.public-site-body .catalog-filters,.public-site-body .results-toolbar{animation:nima-rise .55s both}
.public-site-body .catalog-card:nth-child(2),.public-site-body .related-card:nth-child(2){animation-delay:.05s}.public-site-body .catalog-card:nth-child(3),.public-site-body .related-card:nth-child(3){animation-delay:.10s}.public-site-body .catalog-card:nth-child(4){animation-delay:.15s}.public-site-body .catalog-card:nth-child(5){animation-delay:.20s}.public-site-body .catalog-card:nth-child(6){animation-delay:.25s}
.public-site-body .home-btn-primary,.public-site-body .home-contact-btn{animation:nima-pulse 3.2s ease-in-out infinite}
@media(max-width:768px){
 .public-site-body .site-header{padding:14px 12px 12px}.public-site-body .site-header .logo{font-size:22px}.public-site-body .header-search{margin-top:13px}.public-site-body main.container:not(.home-page){padding-top:18px}
 .public-site-body .catalog-card-actions{display:grid;grid-template-columns:1fr 1fr}.public-site-body .catalog-card-actions a{width:100%}
 .public-site-body .site-footer{text-align:center;padding-top:40px}
}
@media(prefers-reduced-motion:reduce){.public-site-body *, .public-site-body *::before,.public-site-body *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* =========================================================
   NIMA PUBLIC CATALOG — COLOR REFINEMENT v2
   Rich navy / teal / amber palette; replaces the monochrome feel.
   ========================================================= */
.public-site-body{
  --tech-bg:#0b1f33;
  --tech-surface:#102a43;
  --tech-surface-2:#163653;
  --tech-border:rgba(116,201,214,.22);
  --tech-text:#e9f6f7;
  --tech-muted:#9bb8c5;
  --tech-accent:#19c3b1;
  --tech-accent-2:#3f8cff;
  --tech-warm:#ffb84d;
  --tech-glow:rgba(25,195,177,.24);
  background:
    radial-gradient(circle at 12% 5%,rgba(25,195,177,.18),transparent 27%),
    radial-gradient(circle at 88% 10%,rgba(63,140,255,.18),transparent 30%),
    linear-gradient(180deg,#0b1f33 0%,#0e2942 48%,#0a2035 100%);
  color:var(--tech-text);
}
.public-site-body::before{
  opacity:.20;
  background-image:linear-gradient(rgba(112,201,214,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(112,201,214,.055) 1px,transparent 1px);
}
.public-site-body .site-header{
  background:rgba(11,31,51,.88);
  border-bottom-color:rgba(116,201,214,.20);
  box-shadow:0 14px 45px rgba(2,14,27,.34);
}
.public-site-body .site-header::after,
.public-site-body .site-footer::before{
  background:linear-gradient(90deg,transparent,#19c3b1,#ffb84d,#3f8cff,transparent);
}
.public-site-body .site-header .logo{color:#f2fbfb;text-shadow:0 0 25px rgba(25,195,177,.22)}
.public-site-body .site-header .logo::after{background:linear-gradient(90deg,#19c3b1,#ffb84d,#3f8cff);box-shadow:0 0 16px rgba(25,195,177,.28)}
.public-site-body .header-search{
  background:rgba(22,54,83,.92);
  border-color:rgba(116,201,214,.22);
}
.public-site-body .header-search input{color:#e9f6f7}
.public-site-body .header-search input::placeholder{color:#91afbd}
.public-site-body .header-search button{background:linear-gradient(135deg,#168f9f,#19c3b1);box-shadow:0 0 22px rgba(25,195,177,.22)}
.public-site-body .header-search button:hover{background:linear-gradient(135deg,#19c3b1,#3f8cff)}
.public-site-body .main-nav a{color:#a9c2cc}
.public-site-body .main-nav a:hover{background:rgba(25,195,177,.10);border-color:rgba(25,195,177,.25);color:#fff;box-shadow:0 0 22px rgba(25,195,177,.10)}
.public-site-body .main-nav .admin-nav-link{color:#7ce7da;background:rgba(25,195,177,.09);border-color:rgba(25,195,177,.22)}
.public-site-body .catalog-head h1,.public-site-body .products-page-head h1,.public-site-body .product-detail-info h1{color:#effbfb;text-shadow:0 0 24px rgba(25,195,177,.10)}
.public-site-body .catalog-head p,.public-site-body .products-page-head p,.public-site-body .catalog-breadcrumb,.public-site-body .products-breadcrumb,.public-site-body .product-detail-breadcrumb{color:#9ab6c2}
.public-site-body .catalog-breadcrumb a,.public-site-body .products-breadcrumb a,.public-site-body .product-detail-breadcrumb a{color:#70d8cf}
.public-site-body .catalog-card,.public-site-body .related-card{
  background:linear-gradient(145deg,#163653,#102a43 58%,#0e263e);
  border-color:rgba(116,201,214,.20);
  box-shadow:0 16px 40px rgba(2,17,30,.28),inset 0 1px 0 rgba(255,255,255,.045);
}
.public-site-body .catalog-card::before,.public-site-body .related-card::before{background:linear-gradient(135deg,rgba(25,195,177,.14),transparent 38%,rgba(255,184,77,.08),rgba(63,140,255,.12));}
.public-site-body .catalog-card:hover,.public-site-body .related-card:hover{border-color:rgba(25,195,177,.40);box-shadow:0 26px 58px rgba(2,17,30,.36),0 0 32px rgba(25,195,177,.09)}
.public-site-body .catalog-card-media{background:radial-gradient(circle at 50% 40%,rgba(25,195,177,.11),transparent 45%),#0d2941;border-bottom-color:rgba(116,201,214,.15)}
.public-site-body .card-category{color:#68ddd3}
.public-site-body .catalog-card h2 a{color:#e8f6f7}
.public-site-body .catalog-card h2 a:hover{color:#73e5da}
.public-site-body .card-code{color:#86a5b4}
.public-site-body .catalog-card-actions .detail-btn,.public-site-body .home-product-actions .home-view-btn{background:rgba(116,201,214,.08);border-color:rgba(116,201,214,.22);color:#b9d1d8}
.public-site-body .catalog-card-actions .detail-btn:hover,.public-site-body .home-product-actions .home-view-btn:hover{background:rgba(25,195,177,.13);border-color:rgba(25,195,177,.36);color:#e9ffff}
.public-site-body .catalog-card-actions .catalog-contact-btn,.public-site-body .home-product-actions .home-contact-btn{background:linear-gradient(135deg,#138f9d,#19c3b1 55%,#3f8cff);box-shadow:0 10px 25px rgba(25,195,177,.20)}
.public-site-body .catalog-card-actions a:hover,.public-site-body .home-product-actions a:hover{border-color:rgba(255,184,77,.45);color:#fff}
.public-site-body .product-detail-image-card{background:linear-gradient(145deg,#163653,#0f2942);border-color:rgba(116,201,214,.20)}
.public-site-body .product-detail-image-card::after{background:linear-gradient(90deg,transparent,#19c3b1,#ffb84d,transparent);box-shadow:0 0 22px rgba(25,195,177,.55)}
.public-site-body .product-detail-status{background:rgba(25,195,177,.09);border-color:rgba(25,195,177,.22);color:#75e4da}
.public-site-body .pdp-catalog-contact{background:linear-gradient(135deg,rgba(25,195,177,.10),rgba(63,140,255,.10));border-color:rgba(116,201,214,.22)}
.public-site-body .pdp-catalog-contact strong{color:#edfafa}.public-site-body .pdp-catalog-contact span{color:#91afbd}
.public-site-body .pdp-catalog-contact a{background:linear-gradient(135deg,#138f9d,#19c3b1,#3f8cff);box-shadow:0 10px 25px rgba(25,195,177,.20)}
.public-site-body .gallery-nav{background:rgba(13,41,65,.90);border-color:rgba(25,195,177,.28)}
.public-site-body .gallery-nav:hover{background:linear-gradient(135deg,#138f9d,#19c3b1,#3f8cff)}
.public-site-body .pdp-thumb{border-color:rgba(116,201,214,.20)!important;background:#0d2941!important}.public-site-body .pdp-thumb.active{border-color:#19c3b1!important;box-shadow:0 0 20px rgba(25,195,177,.20)}
.public-site-body .related-section{background:rgba(16,42,67,.72);border-color:rgba(116,201,214,.18)}
.public-site-body .related-head h2{color:#edfafa}.public-site-body .related-head span{color:#6edfd5}.public-site-body .related-card small{color:#86a5b4}.public-site-body .related-card h3{color:#e8f6f7}.public-site-body .related-cta{color:#73e5da}
.public-site-body .catalog-empty,.public-site-body .home-empty-box,.public-site-body .home-empty-products{background:rgba(16,42,67,.82);border-color:rgba(116,201,214,.20);color:#9bb8c5}
.public-site-body .site-footer{background:linear-gradient(145deg,#082238,#0d3049 58%,#0b2941);color:#9bb8c5;border-top-color:rgba(116,201,214,.18)}
.public-site-body .footer-column h3,.public-site-body .footer-logo{color:#effafa}.public-site-body .footer-column a{color:#91b0bd}.public-site-body .footer-column a:hover{color:#72e2d8}.public-site-body .footer-brand p{color:#9bb8c5}.public-site-body .footer-bottom{border-top-color:rgba(116,201,214,.16);color:#7593a1}
.public-site-body .mobile-bottom-nav{background:rgba(8,34,56,.94);border-color:rgba(116,201,214,.18)}.public-site-body .mobile-bottom-item{color:#8ca8b5}.public-site-body .mobile-bottom-active{color:#70e1d7}
.public-site-body .home-page .home-hero{background:radial-gradient(circle at 76% 45%,rgba(25,195,177,.18),transparent 25%),radial-gradient(circle at 100% 0%,rgba(63,140,255,.18),transparent 34%),linear-gradient(135deg,#123653,#0e2942 54%,#102d46)}
.public-site-body .home-page .home-hero h1 strong{color:#6ce2d8;text-shadow:0 0 28px rgba(25,195,177,.25)}
.public-site-body .home-page .home-eyebrow,.public-site-body .home-page .home-section-kicker{color:#70e1d7}
.public-site-body .home-page .home-btn-primary{background:linear-gradient(135deg,#138f9d,#19c3b1,#3f8cff);box-shadow:0 12px 32px rgba(25,195,177,.22)}
.public-site-body .home-page .home-btn-light{background:rgba(255,255,255,.06);border-color:rgba(116,201,214,.20);color:#d8eeee!important}
.public-site-body .home-page .home-device-card,.public-site-body .home-page .home-floating-card,.public-site-body .home-page .home-trust-item,.public-site-body .home-page .home-category-card,.public-site-body .home-page .home-product-card{background:linear-gradient(145deg,#163653,#102a43);border-color:rgba(116,201,214,.20)}
.public-site-body .home-page .home-device-icon,.public-site-body .home-page .home-category-icon,.public-site-body .home-page .home-trust-icon i{color:#6ce2d8}
.public-site-body .home-page .home-category-card:hover,.public-site-body .home-page .home-product-card:hover{border-color:rgba(25,195,177,.38);box-shadow:0 25px 55px rgba(2,17,30,.34),0 0 28px rgba(25,195,177,.08)}
.public-site-body .home-page .home-product-image{background:radial-gradient(circle at 50% 40%,rgba(25,195,177,.09),transparent 48%),#0d2941;border-bottom-color:rgba(116,201,214,.14)}
.public-site-body .home-page .home-product-title{color:#e8f6f7}.public-site-body .home-page .home-product-title:hover{color:#70e1d7}.public-site-body .home-page .home-product-body>p{color:#86a5b4}
.public-site-body .home-page .home-cta{background:linear-gradient(135deg,#123653,#12334f 55%,#0c2942);border-color:rgba(116,201,214,.20)}
@media(prefers-reduced-motion:reduce){.public-site-body *, .public-site-body *::before,.public-site-body *::after{animation:none!important;transition:none!important}}

/* =========================================================
   NIMA CATALOG — DARK COLORFUL FINAL SKIN
   No white center / no white product cards on public pages.
   ========================================================= */
.public-site-body{
  --nima-bg:#071a2a;
  --nima-bg2:#0a2638;
  --nima-card:#102f43;
  --nima-card2:#0c2638;
  --nima-line:rgba(54,211,192,.20);
  --nima-cyan:#35d6c0;
  --nima-blue:#3d8cff;
  --nima-orange:#ffad4d;
  --nima-text:#eaf8f7;
  --nima-muted:#8eabb8;
  background:
    radial-gradient(circle at 8% 4%,rgba(53,214,192,.14),transparent 26%),
    radial-gradient(circle at 92% 16%,rgba(61,140,255,.15),transparent 30%),
    linear-gradient(180deg,var(--nima-bg) 0%,var(--nima-bg2) 52%,#061725 100%) !important;
  color:var(--nima-text);
}
.public-site-body::before{opacity:.12!important;background-image:linear-gradient(rgba(53,214,192,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(53,214,192,.08) 1px,transparent 1px)!important;background-size:48px 48px!important}
.public-site-body main.home-page,
.public-site-body main.container:not(.home-page){background:transparent!important;box-shadow:none!important}
.public-site-body .catalog-card,
.public-site-body .related-card,
.public-site-body .products-sidebar-card,
.public-site-body .catalog-filters,
.public-site-body .results-toolbar,
.public-site-body .catalog-head-count,
.public-site-body .product-detail-image-card,
.public-site-body .product-detail-info,
.public-site-body .related-section,
.public-site-body .home-product-card,
.public-site-body .home-category-card,
.public-site-body .home-trust-item,
.public-site-body .home-device-card,
.public-site-body .home-floating-card{
  background:linear-gradient(145deg,var(--nima-card),var(--nima-card2))!important;
  border-color:var(--nima-line)!important;
  color:var(--nima-text);
}
.public-site-body .catalog-card:hover,.public-site-body .related-card:hover,.public-site-body .home-product-card:hover,.public-site-body .home-category-card:hover{border-color:rgba(53,214,192,.48)!important;box-shadow:0 24px 55px rgba(0,0,0,.35),0 0 30px rgba(53,214,192,.09)!important}
.public-site-body .catalog-card-media,
.public-site-body .home-product-image{background:radial-gradient(circle at 50% 35%,rgba(53,214,192,.10),transparent 48%),#081f30!important;border-color:rgba(53,214,192,.14)!important}
.public-site-body .catalog-card h2 a,.public-site-body .home-product-title{color:#eaf8f7!important}
.public-site-body .catalog-card h2 a:hover,.public-site-body .home-product-title:hover{color:#62ead8!important}
.public-site-body .card-code,.public-site-body .home-product-body>p{color:var(--nima-muted)!important}
.public-site-body .card-category,.public-site-body .home-section-kicker,.public-site-body .home-eyebrow{color:#58e4d2!important}
.public-site-body .catalog-card-actions .detail-btn,.public-site-body .home-product-actions .home-view-btn{background:rgba(53,214,192,.08)!important;border-color:rgba(53,214,192,.22)!important;color:#b9d9da!important}
.public-site-body .catalog-card-actions .catalog-contact-btn,.public-site-body .home-product-actions .home-contact-btn{background:linear-gradient(135deg,#087f91,#20cdb9 58%,#3d8cff)!important;color:#fff!important;box-shadow:0 10px 25px rgba(32,205,185,.20)!important}
.public-site-body .catalog-card-actions a:hover,.public-site-body .home-product-actions a:hover{border-color:rgba(255,173,77,.55)!important}
.public-site-body .home-page .home-hero{background:radial-gradient(circle at 76% 45%,rgba(53,214,192,.18),transparent 25%),radial-gradient(circle at 100% 0%,rgba(61,140,255,.18),transparent 34%),linear-gradient(135deg,#123b52,#0b2a40 58%,#0a2235)!important;border-color:rgba(53,214,192,.20)!important}
.public-site-body .home-page .home-hero h1{color:#effafa!important}.public-site-body .home-page .home-hero p{color:#9db8c3!important}.public-site-body .home-page .home-hero h1 strong{color:#5fe5d5!important}
.public-site-body .home-page .home-btn-primary{background:linear-gradient(135deg,#087f91,#20cdb9,#3d8cff)!important}.public-site-body .home-page .home-btn-light{background:rgba(53,214,192,.06)!important;color:#d9efef!important;border-color:rgba(53,214,192,.20)!important}
.public-site-body .home-page .home-trust-item strong,.public-site-body .home-page .home-category-card>span:not(.home-category-icon){color:#eaf8f7!important}.public-site-body .home-page .home-trust-item small,.public-site-body .home-page .home-category-card small{color:#88a8b5!important}
.public-site-body .home-page .home-trust-icon{background:rgba(53,214,192,.08)!important;color:#5fe5d5!important;border-color:rgba(53,214,192,.16)!important}
.public-site-body .home-page .home-cta{background:linear-gradient(135deg,#123b52,#0d2e45 58%,#09253a)!important;border-color:rgba(53,214,192,.20)!important}.public-site-body .home-page .home-cta h2{color:#effafa!important}.public-site-body .home-page .home-cta p{color:#9db8c3!important}
.public-site-body .site-footer{background:linear-gradient(145deg,#061827,#0a2639 60%,#071d2e)!important;border-top-color:rgba(53,214,192,.18)!important}.public-site-body .site-footer::before{background:linear-gradient(90deg,transparent,#35d6c0,#ffad4d,#3d8cff,transparent)!important}
.public-site-body .header-search{background:rgba(12,38,56,.94)!important;border-color:rgba(53,214,192,.20)!important}.public-site-body .header-search input{color:#eaf8f7!important}.public-site-body .header-search button{background:linear-gradient(135deg,#087f91,#20cdb9)!important}
.public-site-body .main-nav a:hover{background:rgba(53,214,192,.08)!important;border-color:rgba(53,214,192,.20)!important;color:#fff!important}

/* MOBILE HEADER LOGO VISIBILITY FIX */
@media (max-width:700px){
  .public-site-body .site-header .logo{
    color:#4f46b8 !important;
    text-shadow:none !important;
    opacity:1 !important;
    font-weight:900 !important;
  }
}

/* FINAL MOBILE HEADER LOGO FIX — force readable brand text on light header */
@media (max-width:700px){
  html body.public-site-body header.site-header .container > h2.logo,
  html body.public-site-body header.site-header h2.logo{
    display:inline-block !important;
    visibility:visible !important;
    opacity:1 !important;
    color:#40379f !important;
    -webkit-text-fill-color:#40379f !important;
    text-shadow:none !important;
    filter:none !important;
    mix-blend-mode:normal !important;
    font-weight:900 !important;
  }
  html body.public-site-body header.site-header h2.logo::after{
    opacity:1 !important;
    background:linear-gradient(90deg,#22b8a6,#f0b34b,#13315c) !important;
    box-shadow:none !important;
  }
}
