@font-face {
    font-family: Vazirmatn;
    src: url('../../fonts/vazirmatn/vazirmatn-arabic.woff2') format('woff2');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0600-06FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE80-FEFC;
}
@font-face {
    font-family: Vazirmatn;
    src: url('../../fonts/vazirmatn/vazirmatn-latin.woff2') format('woff2');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
html, body, .font-sans { font-family: Vazirmatn, Tahoma, sans-serif; }
.drawer-panel { transition: transform .28s ease; }
.drawer-backdrop { transition: opacity .28s ease; }
.vestay-toasts {
    position: fixed; top: 96px; left: 16px; z-index: 10050;
    display: flex; flex-direction: column; gap: 10px;
    max-width: min(360px, calc(100vw - 32px)); pointer-events: none;
}
.vestay-toast {
    background: #111827; color: #fff; padding: 12px 16px; border-radius: 14px;
    box-shadow: 0 12px 30px rgba(0,0,0,.18); font-size: 13px; line-height: 1.6;
    border-right: 4px solid #22c55e;
}
.vestay-toast--error { border-right-color: #ef4444; background: #7f1d1d; }
.vestay-toast.is-hide { opacity: 0; transform: translateY(-8px); }
#shopResultsHost.is-loading { opacity: .55; pointer-events: none; }
.product-richtext p { margin-bottom: .75rem; line-height: 1.9; }
.product-richtext img { max-width: 100%; height: auto; border-radius: 1rem; }
.shiraz-table { width: 100%; text-align: right; font-size: 14px; }
.shiraz-table th, .shiraz-table td { padding: .75rem .5rem; border-bottom: 1px solid #e2e8f0; }
.shiraz-check { width: 1.05rem; height: 1.05rem; accent-color: var(--color-primary, #4f46e5); }
.line-clamp-1 { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; }
.line-clamp-2 { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
#productsContainer.list-view { display: flex; flex-direction: column; gap: 1rem; }
#productsContainer.list-view > .product-item { width: 100%; max-width: none; }
#productsContainer.list-view .product-card { flex-direction: row; }
#productsContainer.list-view .product-card .aspect-\[3\/4\] { width: 9rem; aspect-ratio: 3/4; flex-shrink: 0; }
@media (max-width: 767px) {
    #productsContainer.list-view .product-card { flex-direction: column; }
    #productsContainer.list-view .product-card .aspect-\[3\/4\] { width: 100%; }
}
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
input[type=number] { -moz-appearance: textfield; }
.shop-filter-drawer { transform: translateX(110%); }
.shop-filter-drawer.is-open { transform: translateX(0); }
.tab-btn.is-active { background: #fff; color: #0f172a; box-shadow: 0 1px 2px rgba(15,23,42,.08); }
.tab-panel { display: none; }
.tab-panel.is-active { display: block; }
.thumb-btn.active { box-shadow: 0 0 0 2px #6366f1; }
.wishlist-toggle.active svg { fill: currentColor; color: #e11d48; }
.payment-option.active, .ship-option.active { box-shadow: 0 0 0 2px #6366f1; }
.d-none, .hidden { display: none !important; }
.alert { padding: .85rem 1rem; border-radius: 1rem; margin-bottom: 1rem; font-size: 14px; }
.alert-success { background: #ecfdf5; color: #047857; }
.alert-danger { background: #fef2f2; color: #b91c1c; }
.alert-warning { background: #fffbeb; color: #b45309; }
.alert-light { background: #f8fafc; color: #475569; }
#cartDrawer[data-open="true"], #searchModal[data-open="true"] { visibility: visible; pointer-events: auto; }
@media (min-width: 1024px) {
    .lg\:grid-cols-\[16rem_1fr\] { grid-template-columns: 16rem 1fr; }
    .lg\:grid-cols-\[1fr_20rem\] { grid-template-columns: 1fr 20rem; }
    .lg\:grid-cols-\[1fr_22rem\] { grid-template-columns: 1fr 22rem; }
    .lg\:sticky { position: sticky; }
    .lg\:top-24 { top: 6rem; }
}
@media (max-width: 1023px) {
    .max-lg\:hidden { display: none !important; }
    .max-lg\:block { display: block !important; }
    .max-lg\:fixed { position: fixed; }
    .max-lg\:inset-y-0 { top: 0; bottom: 0; }
    .max-lg\:right-0 { right: 0; }
    .max-lg\:z-50 { z-index: 50; }
    .max-lg\:w-80 { width: 20rem; }
    .max-lg\:overflow-y-auto { overflow-y: auto; }
}
.\!py-2 { padding-top: .5rem !important; padding-bottom: .5rem !important; }
.\!px-3 { padding-left: .75rem !important; padding-right: .75rem !important; }
.\!py-3 { padding-top: .75rem !important; padding-bottom: .75rem !important; }
