@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@100..900&display=swap');
:root{--cms-primary:#1f6feb;--cms-border:#e4e7ec;--cms-bg:#f6f7fb;--cms-text:#101828}*{box-sizing:border-box}body{font-family:"Vazirmatn", "Vazir", Tahoma, Arial, sans-serif;background:var(--cms-bg);color:var(--cms-text)}a{color:var(--cms-primary);text-decoration:none}.container,.cms-container{max-width:1180px;margin:0 auto;padding:0 16px}.btn,.cms-btn,button{border-radius:12px}.cms-alert{padding:12px 14px;border-radius:12px;border:1px solid var(--cms-border);background:white}.cms-grid{display:grid;gap:16px}.cms-card{background:white;border:1px solid var(--cms-border);border-radius:18px;padding:18px}.cms-muted{color:#667085}

/* Vue hardening: pages must never stay blank if CDN/Vue mount fails. */
.cms-vue-fail-open, .cms-vue-mount-error { opacity: 1 !important; visibility: visible !important; }
[v-cloak] { display: block !important; visibility: visible !important; }

/* =========================================================
   V60 Global Vazir Font Normalization
   Applies Vazir/Vazirmatn across admin, storefront, customer panel,
   installer, forms, tables, buttons and modals.
   No font binary is bundled; upload Vazir/Vazirmatn font files separately
   if the server does not already load them.
   ========================================================= */
:root{
  --cms-vazir-font:"Vazirmatn", "Vazir", Tahoma, Arial, sans-serif;
  --cms-font:"Vazirmatn", "Vazir", Tahoma, Arial, sans-serif;
  --pro-font:"Vazirmatn", "Vazir", Tahoma, Arial, sans-serif;
  --bs-body-font-family:"Vazirmatn", "Vazir", Tahoma, Arial, sans-serif;
}
html,
body,
.sport-admin-app,
.admin-panel-body,
.ds-template-page,
.account-page-fullscreen,
.customer-panel,
.installer-page{
  font-family:var(--cms-vazir-font)!important;
}
body :where(:not(i):not(svg):not(path):not(code):not(pre):not(kbd):not(samp):not(.bi):not([class^="bi-"]):not([class*=" bi-"])){
  font-family:var(--cms-vazir-font)!important;
}
input,
select,
textarea,
button,
.btn,
.form-control,
.form-select,
.dropdown-menu,
.modal,
.tooltip,
.popover,
table,
th,
td,
label,
.pagination,
.page-link{
  font-family:var(--cms-vazir-font)!important;
}
::placeholder{font-family:var(--cms-vazir-font)!important;}

/* =========================================================
   V61 ROOT FIX: Vazirmatn/Vazir forced globally.
   Root cause fixed: the previous version only declared font-family
   but did not load a real @font-face/font source, and some cached views
   did not include vazir-global.css. This block is injected into the main
   CSS files that are already loaded by the storefront/admin.
   ========================================================= */
:root{
  --cms-vazir-font:'Vazirmatn','Vazir',Tahoma,Arial,sans-serif!important;
  --cms-font:'Vazirmatn','Vazir',Tahoma,Arial,sans-serif!important;
  --pro-font:'Vazirmatn','Vazir',Tahoma,Arial,sans-serif!important;
  --bs-body-font-family:'Vazirmatn','Vazir',Tahoma,Arial,sans-serif!important;
}
html,body,
body *:not(i):not(svg):not(path):not(code):not(pre):not(kbd):not(samp):not(.bi):not([class^="bi-"]):not([class*=" bi-"]),
input,select,textarea,button,.btn,.form-control,.form-select,.dropdown-menu,.modal,.tooltip,.popover,
table,thead,tbody,tfoot,tr,th,td,label,.pagination,.page-link,
.site-header,.top-strip,.category-nav,.hero,.section-block,.product-card,.article-card,.cat-card,
.sport-admin-app,.admin-panel-body,.admin-sidebar,.admin-topbar,.admin-content,.admin-card,.admin-table,
.customer-panel,.account-page-fullscreen,.installer-page{
  font-family:'Vazirmatn','Vazir',Tahoma,Arial,sans-serif!important;
}
::placeholder{font-family:'Vazirmatn','Vazir',Tahoma,Arial,sans-serif!important;}


/* v76 global width + archive/product-card UX fixes */
@media (min-width: 1400px){
  .container-xxl{max-width:1540px!important;}
}
@media (min-width: 1700px){
  .container-xxl{max-width:1640px!important;}
}
.site-header .container-xxl,.section-block .container-xxl,.site-footer .container-xxl,main .container-xxl{width:min(96vw,1640px);}
.archive-layout{grid-template-columns:minmax(0,1fr) 310px!important;gap:28px!important;align-items:start;}
.archive-main,.archive-product-list,.archive-seo-panel,.archive-hero,.archive-category-section{min-width:0;}
.archive-ssr-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:22px!important;}
.archive-ssr-grid.list-view{grid-template-columns:1fr!important;}
.filter-panel{position:sticky;top:128px;align-self:start;max-height:calc(100vh - 150px);overflow:auto;scrollbar-width:thin;}
.filter-panel .filter-box{border-bottom:1px solid rgba(5,66,74,.08);padding-bottom:16px;margin-bottom:16px;}
.filter-panel .filter-box:last-child{border-bottom:0;margin-bottom:0;}
.filter-panel .filter-check{min-height:34px;border-radius:12px;padding:4px 6px;transition:.18s ease;}
.filter-panel .filter-check:hover{background:rgba(112,184,35,.08);}
.product-card-pro{position:relative;overflow:hidden;}
.product-card-media-wrap,.product-card-pro .product-img,.product-card-pro .archive-product-media{position:relative;overflow:hidden;}
.product-type-chip{position:absolute;top:12px;right:12px;z-index:5;display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:900;background:rgba(255,255,255,.92);color:#0b5260;border:1px solid rgba(5,66,74,.1);box-shadow:0 10px 24px rgba(5,66,74,.08)}
.product-type-chip.variable{background:rgba(255,248,230,.94);color:#945400;}
.product-card-actions{position:absolute;top:12px;left:12px;z-index:7;display:flex;flex-direction:column;gap:7px;}
.product-card-action{width:34px;height:34px;border-radius:12px;border:1px solid rgba(5,66,74,.12);background:rgba(255,255,255,.94);color:#0b5260;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(5,66,74,.08);transition:.18s ease;text-decoration:none;cursor:pointer;padding:0;}
.product-card-action:hover{background:#70b823;color:#fff;transform:translateY(-2px);}
.product-card-mini-form{margin:0;display:inline-flex;}
.product-price-stack{display:grid!important;gap:10px;align-items:stretch!important;}
.card-add-to-cart-form{display:grid;grid-template-columns:1fr;gap:8px;align-items:stretch;width:100%;margin:0;max-width:none;}
.card-qty-control{height:42px;border:1px solid rgba(5,66,74,.14);border-radius:14px;background:#fff;display:grid;grid-template-columns:31px 1fr 31px;align-items:center;overflow:hidden;}
.card-qty-control button{border:0;background:#f3f8f6;color:#0b5260;font-weight:900;height:100%;cursor:pointer;}
.card-qty-control input{border:0;text-align:center;min-width:0;font-weight:900;color:#0b5260;background:transparent;outline:0;width:100%;}
.card-submit-btn,.card-add-to-cart-form .add-cart{border:0;width:100%;min-height:42px;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:14px;text-decoration:none;font-weight:900;}
.product-compare-toast{position:fixed;right:24px;bottom:92px;z-index:9999;background:#073f46;color:#fff;border-radius:18px;padding:12px 16px;box-shadow:0 22px 60px rgba(5,66,74,.25);font-weight:900;opacity:0;transform:translateY(10px);pointer-events:none;transition:.22s ease}.product-compare-toast.show{opacity:1;transform:translateY(0)}
.home-card-actions{opacity:0;transition:.18s ease}.product-card-pro:hover .home-card-actions,.product-card-pro:focus-within .home-card-actions{opacity:1}
@media (max-width:1399.98px){.archive-ssr-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.archive-layout{grid-template-columns:minmax(0,1fr) 290px!important}}
@media (max-width:991.98px){.archive-layout{display:block!important}.filter-panel{position:static;max-height:none;overflow:visible;margin-top:20px}.archive-ssr-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.home-card-actions{opacity:1}.product-card-actions{flex-direction:row}}
@media (max-width:575.98px){.archive-ssr-grid{grid-template-columns:1fr!important}.card-add-to-cart-form{grid-template-columns:1fr}.container-xxl{width:100%!important}.site-header .container-xxl,.section-block .container-xxl,.site-footer .container-xxl,main .container-xxl{width:100%!important}}

/* v129: full-width product card quantity + add-to-cart layout */
.archive-product-buy,
.product-price-stack{
  display:grid !important;
  gap:10px !important;
  align-items:stretch !important;
  width:100% !important;
}
.card-add-to-cart-form,
.home-card-cart{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:8px !important;
  align-items:stretch !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}
.archive-ssr-grid.list-view .card-add-to-cart-form{
  max-width:none !important;
  margin-inline-start:0 !important;
}
.card-qty-control{
  width:100% !important;
  min-height:42px !important;
}
.card-add-to-cart-form .add-cart,
.card-add-to-cart-form .card-submit-btn,
.card-submit-btn,
.archive-product-buy > .add-cart,
.product-card > .add-cart{
  width:100% !important;
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
}
/* v132 dynamic archive content and fixed pagination */
.archive-pagination-fixed{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:24px}.archive-pagination-summary{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(5,66,74,.12);border-radius:999px;background:#fff;padding:8px 14px;color:#607985;font-size:13px;line-height:1.8}.archive-pagination-pages{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:8px;flex-wrap:wrap;width:100%}.archive-pagination-link,.archive-pagination-dots{min-width:42px;height:42px;border:1px solid rgba(5,66,74,.12);border-radius:14px;background:#fff;color:#0b5260;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:900}.archive-pagination-link.active{background:#70b823;border-color:#70b823;color:#fff}.archive-pagination-link.disabled{opacity:.45;pointer-events:none;background:#f3f8f6}.archive-category-content{font-size:15px;line-height:2.15;color:#45646e}.archive-category-content h1,.archive-category-content h2,.archive-category-content h3{color:#073f46;font-weight:950;margin:18px 0 10px}.archive-category-content p{margin:0 0 12px}.archive-category-content ul,.archive-category-content ol{padding-inline-start:22px;margin:0 0 14px}.archive-category-content-body{position:relative;overflow:hidden;transition:max-height .28s ease}.archive-category-content-body.is-collapsed{max-height:185px}.archive-category-content-body.is-collapsed:after{content:"";position:absolute;left:0;right:0;bottom:0;height:72px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff)}.archive-category-content-body.is-expanded{max-height:none}.archive-category-readmore{margin-top:14px;border:1px solid rgba(112,184,35,.35);border-radius:14px;background:rgba(112,184,35,.12);color:#14532d;font-weight:950;padding:10px 16px}.archive-seo-panel .faq-accordion .accordion-button{text-align:right}.archive-seo-panel .faq-accordion .accordion-body{line-height:2;color:#45646e}
