/* Load only the two weights used by this design, from local WOFF2 files. */
@font-face {
  font-family: 'IRANYekan';
  src: url('../../fonts/IRANYekan/woff2/IRANYekanWebRegular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'IRANYekan';
  src: url('../../fonts/IRANYekan/woff2/IRANYekanWebBold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
/* Header colors are supplied by the local Carbon Fields settings. */
:root {
  --tw-primary: #75cdbd;
  --tw-primary-ink: #153f38;
  --tw-brand: #d65c38;
  --tw-text: #434b54;
  --tw-muted: #747f8c;
  --tw-surface: #ffffff;
  --tw-background: #f8fafc;
  --tw-search: #f0f3f9;
  --tw-border: #e9edf3;
  --tw-notice-start: #ed1c66;
  --tw-notice-middle: #6a23d5;
  --tw-notice-blue: #23a6d5;
  --tw-notice-green: #23d5ab;
  --tw-notice-yellow: #ffc107;
  --tw-notice-orange: #e8890c;
  --tw-notice-end: #e73c7e;
  --tw-notice-duration: 15s;
  --tw-on-notice: #ffffff;
  --tw-focus: #385fbd;
  --tw-shadow: 0 14px 38px rgb(30 45 65 / 10%);
  --tw-radius: 9px;
  --tw-font: 'IRANYekan', Tahoma, Arial, sans-serif;
}
* { box-sizing: border-box; }
:is(.products-view-all, .ranked-view-all, .blog-view-all, .deals-all) > .viewall-chevron { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; line-height: 1; direction: ltr; }
.viewall-chevron svg { display: block; width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
/* Keep page overflow separate from intentional component scroll areas. */
html, body { max-width: 100%; overflow-x: clip; }
main { min-width: 0; width: 100%; }
body { margin: 0; color: var(--tw-text); background: var(--tw-background); font-family: var(--tw-font); font-size: 14px; line-height: 1.8; }
button, input, select, textarea { font: inherit; }
h1, h2, h3, h4, h5, h6 { font-family: var(--tw-font); }
button, a, input, select { -webkit-tap-highlight-color: transparent; }
button, a { touch-action: manipulation; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; }
button, input, select { color: inherit; }
:focus-visible { outline: 3px solid var(--tw-focus); outline-offset: 4px; }
[hidden] { display: none !important; }
.icon-library { position: absolute; width: 0; height: 0; overflow: hidden; }
.icon { width: 24px; height: 24px; flex: 0 0 24px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.skip-link:focus { clip-path: none; width: auto; height: auto; inset: 8px 8px auto auto; padding: 10px 20px; z-index: 100; background: var(--tw-surface); }
.container { width: calc(100% - 64px); max-width: 1560px; min-width: 0; margin-inline: auto; }
.site-header { position: relative; z-index: 10; background: var(--tw-surface); }
.announcement-bar { padding: 10px 20px; text-align: center; color: var(--tw-on-notice); background: linear-gradient(-45deg, var(--tw-notice-start), var(--tw-notice-middle), var(--tw-notice-blue), var(--tw-notice-green), var(--tw-notice-yellow), var(--tw-notice-orange), var(--tw-notice-end)); background-size: 400% 400%; animation: announcement-gradient var(--tw-notice-duration) ease infinite; font-size: 13px; }
@keyframes announcement-gradient {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}
@media (prefers-reduced-motion: reduce) {
  .announcement-bar { animation: none; background-position: 50% 50%; }
}
.announcement-bar p { margin: 0; }
.header-main { display: grid; grid-template-columns: 250px minmax(0, 560px) auto; align-items: center; justify-content: space-between; gap: 36px; min-height: 96px; }
.site-branding { display: flex; align-items: center; gap: 9px; width: fit-content; max-width: 100%; color: var(--tw-header-logo, var(--tw-brand)); }
.site-branding .custom-logo { display: block; width: auto; height: auto; max-width: 100%; max-height: 64px; object-fit: contain; }
.brand-mark { width: 55px; height: 60px; }
.brand-mark svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 3.2; stroke-linecap: round; stroke-linejoin: round; }
.brand-mark .brand-smile { stroke-width: 2.5; }
.brand-type { display: flex; flex-direction: column; }
.brand-type strong { font-size: 35px; line-height: 1.5; font-weight: 700; letter-spacing: -2px; }
.brand-dot { color: var(--tw-primary); }
.brand-caption { font-size: 10px; color: var(--tw-muted); letter-spacing: 0; }
.search-form { position: relative; display: flex; align-items: center; min-width: 0; height: 50px; border-radius: var(--tw-radius); background: var(--tw-search); padding: 0 8px; }
.icon-button { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex-shrink: 0; border: 0; border-radius: var(--tw-radius); background: transparent; color: var(--tw-muted); }
.icon-button:hover { color: var(--tw-text); background: var(--tw-border); }
.search-field { width: 100%; min-width: 0; border: 0; background: transparent; outline-offset: 0; height: 38px; font-size: 12px; }
.search-field::placeholder { color: var(--tw-muted); opacity: 1; }
.search-options { position: absolute; top: calc(100% + 10px); inset-inline: 0; padding: 20px; border: 1px solid var(--tw-border); border-radius: var(--tw-radius); box-shadow: var(--tw-shadow); background: var(--tw-surface); z-index: 5; }
.search-options label { display: block; margin-bottom: 8px; }
.search-options select { width: 100%; padding: 8px; border: 1px solid var(--tw-border); border-radius: 5px; background: var(--tw-surface); }
.header-actions { display: flex; align-items: center; gap: 10px; }
.header-button { display: inline-flex; justify-content: center; align-items: center; gap: 10px; min-height: 50px; padding: 0 15px; border: 1px solid var(--tw-border); border-radius: var(--tw-radius); white-space: nowrap; background: var(--tw-surface); font-size: 13px; }
.header-button:hover { border-color: var(--tw-primary); }
.cart-contents { background: var(--tw-primary); color: var(--tw-primary-ink); border-color: var(--tw-primary); }
.cart-count { border-inline-start: 1px solid currentColor; padding-inline-start: 13px; margin-inline-start: 2px; font-size: 12px; font-weight: 700; }
.header-navigation { border-bottom: 1px solid var(--tw-border); }
.navigation-inner { display: flex; align-items: center; justify-content: space-between; min-height: 56px; gap: 20px; }
.menu, .sub-menu { list-style: none; margin: 0; padding: 0; }
.main-navigation { min-width: 0; }
.main-navigation > .menu { display: flex; flex-wrap: wrap; align-items: stretch; gap: clamp(7px, 1.7vw, 28px); }
.menu-item { position: relative; }
.menu-item > a { display: flex; align-items: center; gap: 7px; padding: 15px 0; white-space: nowrap; font-size: 13px; }
.menu-item > a:hover { color: var(--tw-brand); }
.category-menu > a { font-weight: 700; }
.category-menu > a .icon { width: 19px; height: 19px; flex-basis: 19px; }
.menu-item-has-children { padding-inline-end: 23px; }
.submenu-toggle { position: absolute; inset-inline-end: -4px; top: 6px; width: 27px; height: 42px; border: 0; background: transparent; display: grid; place-items: center; border-radius: 4px; }
.submenu-toggle .icon { width: 17px; height: 17px; }
.submenu-toggle[aria-expanded="true"] .icon { transform: rotate(180deg); }
.sub-menu { display: none; position: absolute; top: 100%; inset-inline-start: 0; width: 220px; padding: 10px; border: 1px solid var(--tw-border); border-radius: 0 0 var(--tw-radius) var(--tw-radius); background: var(--tw-surface); box-shadow: var(--tw-shadow); }
body:not(.js-enabled) .menu-item:is(:hover, :focus-within) > .sub-menu, .menu-item.is-open > .sub-menu { display: block; }
.sub-menu a { padding: 10px 12px; border-radius: 5px; white-space: normal; }
.sub-menu a:hover { background: var(--tw-search); }
.sub-menu .sub-menu { inset-inline-start: 100%; top: 0; }
.category-menu > .sub-menu { width: 285px; }
.category-menu .sub-menu a { align-items: flex-start; flex-direction: column; gap: 0; }
.category-menu .sub-menu a span { font-size: 10px; color: var(--tw-muted); margin-top: 3px; }
.mega-menu > .sub-menu { width: 460px; grid-template-columns: 1fr 1fr; gap: 18px; padding: 20px; }
.mega-menu.is-open > .sub-menu, body:not(.js-enabled) .mega-menu:is(:hover, :focus-within) > .sub-menu { display: grid; }
.mega-menu > .sub-menu > .menu-item { padding: 0; }
.mega-menu > .sub-menu > .menu-item > a { font-weight: bold; color: var(--tw-brand); }
.mega-menu > .sub-menu > .menu-item > .sub-menu { display: block; position: static; width: auto; padding: 0; border: 0; box-shadow: none; }
.header-phone { display: flex; align-items: center; gap: 10px; direction: ltr; white-space: nowrap; font-size: 16px; color: var(--tw-header-phone, var(--tw-text)); }
.header-phone:hover { color: var(--tw-brand); }
.menu-toggle { display: none; }
.preview-main { min-height: 460px; padding: 120px 24px 70px; text-align: center; background: radial-gradient(ellipse at 50% 0, var(--tw-surface), transparent 70%); }
.preview-label { display: flex; justify-content: center; align-items: center; gap: 8px; font-size: 11px; color: var(--tw-muted); }
.preview-label span { width: 6px; height: 6px; background: var(--tw-primary); border-radius: 50%; }
.preview-main h1 { font-size: clamp(22px, 3vw, 32px); font-weight: 400; margin: 18px 0 10px; }
.preview-main p { font-size: 12px; color: var(--tw-muted); margin: 0; }
.preview-domain { display: inline-block; margin-top: 35px; font-size: 11px; letter-spacing: 3px; color: var(--tw-muted); }
.preview-dialog { width: min(440px, calc(100% - 32px)); border: 1px solid var(--tw-border); border-radius: 16px; padding: 36px; color: var(--tw-text); background: var(--tw-surface); box-shadow: var(--tw-shadow); }
.preview-dialog::backdrop { background: rgb(24 35 48 / 35%); }
.dialog-close { position: absolute; top: 8px; inset-inline-end: 8px; }
.dialog-eyebrow { font-size: 11px; color: var(--tw-muted); }
.preview-dialog h2 { font-size: 20px; margin: 16px 0 10px; }
.preview-dialog p { font-size: 13px; line-height: 2; }
.dialog-dismiss { background: var(--tw-primary); color: var(--tw-primary-ink); margin-top: 12px; }
@media (min-width: 1700px) { .container { width: calc(100% - 80px); max-width: 2000px; } .header-main { min-height: 104px; grid-template-columns: 280px minmax(360px, 710px) auto; } .main-navigation > .menu { gap: 35px; } .menu-item > a { font-size: 15px; } }
@media (max-width: 1199px) { .header-main { grid-template-columns: 205px minmax(200px, 1fr) auto; gap: 22px; } .header-button { padding-inline: 11px; } .main-navigation > .menu { gap: 12px; } .menu-item > a { font-size: 11px; } .header-phone { font-size: 13px; gap: 6px; } .brand-type strong { font-size: 30px; } }
@media (max-width: 991px) {
  .container { width: calc(100% - 36px); }
  .header-main { grid-template-columns: minmax(0, 1fr) auto; gap: 18px; padding-block: 12px; }
  .search-form { grid-column: 1 / -1; grid-row: 2; }
  .menu-toggle { display: inline-flex; min-height: 44px; padding: 0; border: 0; }
  .navigation-inner { flex-wrap: wrap; gap: 0; padding-block: 6px; }
  .main-navigation { order: 3; width: 100%; }
  .js-enabled .main-navigation:not(.is-open) { display: none; }
  .main-navigation > .menu { flex-direction: column; gap: 0; padding-block: 12px; }
  .menu-item > a { font-size: 13px; padding: 12px; }
  .menu-item-has-children { padding-inline-end: 44px; }
  .submenu-toggle { width: 44px; inset-inline-end: 0; top: 3px; }
  .sub-menu, .category-menu > .sub-menu, .mega-menu > .sub-menu { position: static; width: 100%; box-shadow: none; border: 0; border-inline-start: 2px solid var(--tw-primary); padding: 5px 8px; margin-bottom: 8px; border-radius: 0; }
  .mega-menu.is-open > .sub-menu { display: block; }
  .mega-menu > .sub-menu > .menu-item > .sub-menu { padding-inline-start: 12px; }
  .header-phone { font-size: 15px; }
  .preview-main { padding-top: 85px; }
}
@media (max-width: 540px) {
  .announcement-bar { font-size: 10px; padding: 9px 18px; line-height: 1.9; }
  .header-main { gap: 18px 10px; }
  .brand-mark { width: 39px; height: 47px; }
  .site-branding { gap: 3px; }
  .brand-type strong { font-size: 27px; }
  .brand-caption { font-size: 8px; }
  .header-actions { gap: 7px; }
  .header-actions .header-button { min-height: 44px; padding: 0 10px; gap: 6px; }
  .account-link > span, .cart-contents > span:not(.cart-count) { display: none; }
  .account-link::after { content: ''; }
  .account-link { gap: 0 !important; }
  .cart-count { padding-inline-start: 7px; margin: 0; }
  .header-actions .icon { width: 21px; height: 21px; flex-basis: 21px; }
  .search-field { font-size: 11px; }
  .preview-main h1 { font-size: 23px; }
}

/* Shared section heading typography and configurable color. */
body h2.tw-section-title {
  font-family: var(--tw-font); font-size: 20px; font-weight: 700;
  line-height: 1.9; color: var(--tw-text);
}
body h2.tw-section-title::before { background: var(--tw-section-title, var(--tw-brand)); }
@media (max-width: 767px) { body h2.tw-section-title { font-size: 16px; } }

.site-header .cart-contents { background:var(--tw-header-cart-color,var(--tw-primary)); border-color:var(--tw-header-cart-color,var(--tw-primary)); }
.products-view-all, .ranked-view-all { background:var(--tw-section-title,var(--tw-brand)); color:var(--tw-view-all-text,#ffffff); }
.ranked-view-all { padding:8px 12px; border-radius:10px; }
.ranked-view-all > .viewall-chevron { background:transparent; color:inherit; }
.products-view-all .viewall-chevron svg, .ranked-view-all .viewall-chevron svg { transform:rotate(180deg); }

/* Shared product tokens, including the mobile cart badge. */
:root {
  --product-surface: var(--tw-surface);
  --product-text: var(--tw-text);
  --product-muted: var(--tw-muted);
  --product-border: var(--tw-border);
  --product-accent: #cc354b;
  --product-on-accent: #ffffff;
  --product-radius: 10px;
  --product-gap: 18px;
}

@media (max-width:767px) {
  body h2.tw-section-title { white-space:normal; min-width:0; overflow-wrap:anywhere; }
  body h2.tw-section-title::before { flex-shrink:0; }
  body .ranked-heading .section-title-text { white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  .product-section-heading { flex-wrap:wrap; gap:10px; }
  .product-section-heading h2.tw-section-title { flex:1 1 60%; }
}

@media(max-width:767px) {
 body .woocommerce-breadcrumb, body .archive-breadcrumb, body .blog-breadcrumb { display:block; white-space:nowrap; overflow-x:auto; max-width:100%; min-width:0; box-sizing:border-box; overscroll-behavior-x:contain; padding-block:12px; margin-bottom:12px; }
 body .woocommerce-breadcrumb a,body .archive-breadcrumb a,body .blog-breadcrumb a { display:inline; white-space:nowrap; }
}
