/* Persian Shop: restrained plum / paper. Preserve app.css component contracts. */
:root {
  --mm-primary-50: oklch(96% .015 325); --mm-primary-100: oklch(92% .03 325);
  --mm-primary-200: oklch(84% .06 325); --mm-primary-400: oklch(58% .13 325);
  --mm-primary-500: oklch(43% .13 325); --mm-primary-600: oklch(36% .12 325); --mm-primary-700: oklch(29% .09 325);
  --mm-apricot-50: oklch(96% .025 75); --mm-apricot-300: oklch(86% .09 75); --mm-apricot-500: oklch(76% .12 75); --mm-apricot-700: oklch(42% .08 75);
  --mm-mint-500: oklch(57% .10 160); --mm-sky-500: oklch(55% .12 250); --mm-lilac-500: oklch(67% .10 325); --mm-coral-500: oklch(55% .16 30); --mm-sand-500: oklch(59% .12 75);
  --c-brand-50: var(--mm-primary-50); --c-brand-100: var(--mm-primary-100); --c-brand-200: var(--mm-primary-200); --c-brand-400: var(--mm-primary-400); --c-brand-500: var(--mm-primary-500); --c-brand-600: var(--mm-primary-600); --c-brand-700: var(--mm-primary-700);
  --c-ink-900: oklch(22% .015 325); --c-ink-800: oklch(29% .012 325); --c-ink-700: oklch(37% .012 325); --c-ink-500: oklch(46% .01 325); --c-ink-400: oklch(50% .01 325); --c-ink-300: oklch(66% .012 325); --c-ink-200: oklch(84% .01 325); --c-ink-100: oklch(91% .008 325); --c-ink-50: oklch(97% .006 325); --c-white: oklch(99% .003 325); --c-surface-soft: oklch(95% .009 325);
  --c-success-50: oklch(96% .025 155); --c-success-500: oklch(43% .10 155); --c-success-700: oklch(35% .08 155);
  --c-warning-50: oklch(97% .03 80); --c-warning-500: oklch(45% .09 80); --c-warning-700: oklch(35% .07 80);
  --c-danger-50: oklch(96% .02 25); --c-danger-500: oklch(47% .16 25); --c-danger-600: oklch(41% .14 25); --c-danger-700: oklch(35% .12 25);
  --font-sans: 'Vazirmatn', Tahoma, system-ui, sans-serif;
  --fs-xs: .75rem; --fs-sm: .875rem; --fs-md: 1rem; --fs-base: 1rem; --fs-lg: 1.25rem; --fs-xl: 1.5625rem; --fs-2xl: 1.953125rem; --fs-3xl: 2.44140625rem; --lh-tight: 1.4; --lh-normal: 1.8;
  --r-sm: 6px; --r-md: 10px; --r-lg: 16px; --r-xl: 24px; --r-2xl: 28px; --r-full: 999px;
  --sh-xs: 0 1px 2px oklch(22% .015 325 / .04); --sh-sm: 0 4px 16px oklch(22% .015 325 / .06); --sh-md: 0 8px 28px oklch(22% .015 325 / .09); --sh-lg: 0 16px 48px oklch(22% .015 325 / .12);
  --transition: 180ms cubic-bezier(.22,1,.36,1); --mm-ease: cubic-bezier(.22,1,.36,1);
  --admin-bg: var(--c-ink-50); --admin-surface: var(--c-white); --admin-surface-soft: var(--c-surface-soft); --admin-line: var(--c-ink-200); --admin-ink: var(--c-ink-800); --admin-muted: var(--c-ink-500); --admin-faint: var(--c-ink-400); --admin-accent: var(--c-brand-500); --admin-accent-dark: var(--c-brand-600); --admin-accent-soft: var(--c-brand-50); --admin-warm: var(--mm-apricot-500); --admin-warm-soft: var(--mm-apricot-50); --admin-side-w: 264px; --admin-ease: var(--mm-ease);
}
html { color-scheme: light; scroll-padding-block-start: 9rem; }
body { font-family: var(--font-sans); font-size: var(--fs-base); line-height: var(--lh-normal); font-optical-sizing: auto; }
h1,h2,h3 { text-wrap: balance; }
h1 { font-size: clamp(1.953rem, 1.4rem + 2vw, 2.441rem); }
h2 { font-size: var(--fs-xl); } h3 { font-size: var(--fs-lg); }
p { text-wrap: pretty; }
:focus-visible { outline: 3px solid var(--c-brand-600); outline-offset: 3px; }
[hidden] { display: none !important; }
.container { padding-inline: clamp(16px, 3vw, 40px); }
.section { margin-block: clamp(24px, 4vw, 64px); }
.section__head,.row-between { flex-wrap: wrap; }
.catalog > *,.account-grid > *,.checkout-grid > *,.pdp > * { min-inline-size: 0; }
.prose { max-inline-size: 70ch; overflow-wrap: anywhere; }
.prose p { max-inline-size: 70ch; }
.prose table { display: block; overflow-x: auto; max-inline-size: 100%; }
.prose code,.ltr,code,kbd { direction: ltr; unicode-bidi: isolate; }
.price-now,.price-old,.summary__row,.table,.stat__value { font-variant-numeric: tabular-nums; }
.price-old { color: var(--c-ink-500); }
.btn,.icon-btn,.product-card { transition: transform var(--transition), opacity var(--transition); }
.btn { font-weight: 500; }
.btn--primary { background: var(--c-brand-500); color: var(--c-white); }
.btn--primary:hover { background: var(--c-brand-600); }
.btn--warm { background: var(--mm-apricot-300); color: var(--mm-apricot-700); }
.btn--sm,.icon-btn,.table-actions .icon-btn,.qty button,.qty input,.chip,.sort-link { min-height: 44px; }
.icon-btn,.table-actions .icon-btn,.qty button { min-width: 44px; }
.btn:disabled,.icon-btn:disabled,.chip:disabled { cursor: not-allowed; opacity: .55; transform: none; }
.input,.textarea,.select { font-size: 1rem; border-color: var(--c-ink-300); }
.select { appearance: auto; background-image: none; padding-inline-end: 12px; }
.input:focus,.textarea:focus,.select:focus { outline: 2px solid var(--c-brand-600); outline-offset: 2px; box-shadow: none; }
.field__hint { font-size: var(--fs-sm); color: var(--c-ink-500); }
.field__error { font-size: var(--fs-sm); color: var(--c-danger-700); }
.input[aria-invalid="true"],.select[aria-invalid="true"],.textarea[aria-invalid="true"] { border-color: var(--c-danger-500); }
.alert { border-width: 1px; overflow-wrap: anywhere; }
.alert--danger { background: var(--c-danger-50); border-color: var(--c-danger-500); color: var(--c-danger-700); }
.alert--success { background: var(--c-success-50); border-color: var(--c-success-500); color: var(--c-success-700); }
.alert--warning { background: var(--c-warning-50); border-color: var(--c-warning-500); color: var(--c-warning-700); }
.badge--success { color: var(--c-success-700); } .badge--danger { color: var(--c-danger-700); } .badge--warning { color: var(--c-warning-700); }
.badge--warm { background: var(--mm-apricot-50); color: var(--mm-apricot-700); }
.card,.product-card { border-color: var(--c-ink-200); box-shadow: none; }
.card .card { border: 0; border-radius: 0; box-shadow: none; background: transparent; }
.card--pad,.card__body { padding: clamp(16px, 2.5vw, 32px); }
.product-card:hover { transform: translateY(-2px); box-shadow: var(--sh-sm); }
.product-card__title { font-size: 1rem; }
.product-card__media { background: var(--c-white); }
.product-grid { grid-template-columns: 1fr; }
.table-wrap { max-inline-size: 100%; overscroll-behavior-inline: contain; }
.table th { background: var(--c-surface-soft); color: var(--c-ink-700); font-weight: 700; }
.table td { white-space: normal; overflow-wrap: anywhere; }
.table th,.table td { padding: 16px; }
.table-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.empty { padding: 48px 16px; border: 1px dashed var(--c-ink-200); border-radius: var(--r-lg); }
.empty__art { width: 112px; height: auto; opacity: 1; }
.empty__title { font-size: var(--fs-lg); } .empty__text { max-inline-size: 45ch; }
.tabs { gap: 8px; scroll-snap-type: inline proximity; }
.tab { min-height: 48px; scroll-snap-align: start; }
.tab-panel { scroll-margin-block-start: 9rem; }
.spec-table { table-layout: fixed; }
.spec-table th { width: 36%; background: var(--c-surface-soft); }
.spec-table td,.spec-table th { overflow-wrap: anywhere; }
.rating-bar__fill { display: block; height: 100%; }
.pdp { grid-template-columns: minmax(0,1fr); padding-block: 24px; }
.pdp__title { margin-block: 12px 24px; }
.pdp__intro { padding-block: 24px; border-block: 1px solid var(--c-ink-200); margin-block: 24px; }
.pdp__buy { align-self: start; }
.buybox,.summary { position: static; }
.variant-row { align-items: stretch; }
.variant-row .chip { border-radius: var(--r-md); text-align: start; white-space: normal; height: auto; padding: 12px; }
.chip.is-active { border-color: var(--c-brand-500); background: var(--c-brand-50); color: var(--c-brand-700); }
.review { overflow-wrap: anywhere; }
.review-form { border-block-start: 1px solid var(--c-ink-200); padding-block: 24px; margin-block-start: 24px; }
.review-form fieldset { border: 0; padding: 0; margin: 0; min-inline-size: 0; }
.form-grid { display: grid; gap: 16px; grid-template-columns: minmax(0,1fr); }
.form-section { padding-block: 24px; border-block-end: 1px solid var(--c-ink-200); }
.form-section__title { margin-block-end: 24px; }
.cart-line { grid-template-columns: 72px minmax(0,1fr); gap: 16px; }
.cart-line > :last-child { min-inline-size: 0; }
.summary__row { gap: 16px; flex-wrap: wrap; }
.steps { flex-wrap: wrap; row-gap: 12px; }
.newsletter { flex-wrap: wrap; } .newsletter input { flex: 1 1 180px; min-inline-size: 0; }
.side-nav__link.is-active { background: var(--c-brand-50); color: var(--c-brand-700); }
.pagination a,.pagination span { min-width: 44px; height: 44px; }
.sticky-cta { inset-block-end: calc(60px + env(safe-area-inset-bottom)); }
.pdp-page { padding-block-end: 100px; }
.toasts { max-inline-size: calc(100vw - 32px); } .toast { min-width: 0; overflow-wrap: anywhere; }
.mm-shape { position: absolute; pointer-events: none; } .mm-shape--blob { border-radius: 62% 38% 55% 45%; } .mm-shape--circle { border-radius: 50%; } .mm-shape--pill { border-radius: var(--r-full); } .mm-shape--squish { border-radius: var(--r-xl); }
.mm-shape--primary { background: var(--c-brand-100); } .mm-shape--apricot { background: var(--mm-apricot-50); } .mm-shape--mint { background: var(--c-success-50); } .mm-shape--sand { background: var(--c-warning-50); }
.mm-canvas { position: relative; isolation: isolate; overflow: hidden; } .mm-canvas > * { position: relative; z-index: 1; }
[dir="rtl"] .mm-flip { display: inline-block; transform: scaleX(-1); }
.skeleton { background: var(--c-ink-100); animation: quiet-pulse 1.5s var(--mm-ease) infinite alternate; }
@keyframes quiet-pulse { to { opacity: .45; } }
@media (min-width: 400px) { .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (min-width: 640px) { .product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; } .form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (min-width: 768px) { .cart-line { grid-template-columns: 104px minmax(0,1fr) auto; } }
@media (min-width: 1024px) {
  .product-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .pdp { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 32px; }
  .pdp__details { grid-column: 1; } .pdp__buy { grid-column: 2; grid-row: 1 / span 2; position: sticky; top: 9rem; }
  .summary { position: sticky; top: 9rem; } .pdp-page { padding-block-end: 0; }
}
@media (min-width: 1280px) {
  .pdp { grid-template-columns: minmax(0,1fr) minmax(0,1.1fr) minmax(280px,.75fr); }
  .pdp__details { grid-column: 2; grid-row: 1; } .pdp__buy { grid-column: 3; grid-row: 1; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .product-card:hover,.btn:hover { transform: none; }
}
@media (forced-colors: active) { .btn,.chip,.input,.tab { border: 1px solid ButtonText; } }
