/*
  Iranti theme stylesheet — Neo-Brutalism
  IMPORTANT: All rules scoped to [data-theme="iranti"]
*/

[data-theme="iranti"] {
  --iranti-primary: #0047FF;
  --iranti-accent: #FF0000;
  --iranti-secondary: #F0F0F0;
  --iranti-dark: #000000;
  --iranti-white: #FFFFFF;
  --iranti-border: 4px solid #000000;
  --iranti-shadow-neo: 8px 8px 0px 0px rgba(0, 0, 0, 1);
  --iranti-shadow-neo-sm: 4px 4px 0px 0px rgba(0, 0, 0, 1);
  --iranti-shadow-neo-blue: 8px 8px 0px 0px #0047FF;
  --iranti-shadow-neo-white: 8px 8px 0px 0px rgba(255, 255, 255, 1);
}

/* Font */
[data-theme="iranti"] body,
[data-theme="iranti"] * {
  font-family: 'Vazirmatn', ui-sans-serif, system-ui, -apple-system, sans-serif;
  direction: rtl;
}

/* Vazirmatn from CDN — @import for fallback */
@import url('https://cdn.jsdelivr.net/gh/rastikerdar/vazirmatn@v33.003/Vazirmatn-font-face.css');

/* ---- Neo Utilities ---- */
[data-theme="iranti"] .iranti-neo-border {
  border: 4px solid #000 !important;
}

[data-theme="iranti"] .iranti-shadow-neo {
  box-shadow: 8px 8px 0px 0px rgba(0, 0, 0, 1) !important;
}

[data-theme="iranti"] .iranti-shadow-neo-sm {
  box-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 1) !important;
}

[data-theme="iranti"] .iranti-neo-interactive {
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

[data-theme="iranti"] .iranti-neo-interactive:hover {
  transform: translate(-4px, -4px) !important;
  box-shadow: 8px 8px 0px 0px rgba(0, 0, 0, 1) !important;
}

[data-theme="iranti"] .iranti-neo-interactive:active {
  transform: translate(0, 0) !important;
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 1) !important;
}

/* ---- Hide Scrollbar ---- */
[data-theme="iranti"] .iranti-hide-scrollbar::-webkit-scrollbar {
  display: none;
}
[data-theme="iranti"] .iranti-hide-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* ---- Mega Menu Overlay ---- */
[data-theme="iranti"] #iranti-mega-menu {
  clip-path: circle(0% at top right);
  transition: clip-path 0.5s ease-in-out;
}

[data-theme="iranti"] #iranti-mega-menu.open {
  clip-path: circle(150% at top right);
}

/* ---- Story Viewer ---- */
[data-theme="iranti"] .iranti-story-progress-track {
  flex: 1;
  height: 4px;
  background: rgba(255, 255, 255, 0.35);
  border: 1px solid rgba(0, 0, 0, 0.4);
  overflow: hidden;
}

[data-theme="iranti"] .iranti-story-progress-fill {
  height: 100%;
  width: 0%;
  background: #fff;
  box-shadow: 0 0 0 1px #000;
  transform-origin: right center;
}

[data-theme="iranti"] .iranti-story-progress-fill.done {
  width: 100%;
  transition: none;
}

/* ---- PDP (Product Detail Page) ---- */
[data-theme="iranti"] .iranti-pdp-thumb {
  transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
  opacity: 0.75;
}

[data-theme="iranti"] .iranti-pdp-thumb:hover {
  transform: translate(-2px, -2px);
  box-shadow: 4px 4px 0 0 #000;
  opacity: 1;
}

[data-theme="iranti"] .iranti-pdp-thumb.is-active {
  box-shadow: 0 0 0 3px #0047FF, 4px 4px 0 0 #000;
  opacity: 1;
}

[data-theme="iranti"] .iranti-pdp-tab {
  border-bottom: 4px solid transparent;
  margin-bottom: -4px;
  transition: border-color 0.15s, color 0.15s;
}

[data-theme="iranti"] .iranti-pdp-tab.is-active {
  border-bottom-color: #0047FF;
  color: #0047FF;
}

[data-theme="iranti"] .iranti-pdp-panel[hidden] {
  display: none !important;
}

[data-theme="iranti"] .iranti-swatch-checked:checked + label {
  background: #0047FF;
  color: #fff;
  border-color: #000;
  box-shadow: 4px 4px 0 0 #000;
}

[data-theme="iranti"] .iranti-size-checked:checked + label {
  background: #000;
  color: #fff;
  border-color: #000;
}

/* ---- Neo Accordion ---- */
[data-theme="iranti"] details.iranti-acc > summary {
  list-style: none;
  cursor: pointer;
}
[data-theme="iranti"] details.iranti-acc > summary::-webkit-details-marker {
  display: none;
}

/* ---- Toast ---- */
[data-theme="iranti"] .iranti-toast {
  transform: translateY(16px);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.22s ease, opacity 0.22s ease;
}

[data-theme="iranti"] .iranti-toast.show {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

/* ---- Filter Drawer ---- */
[data-theme="iranti"] .iranti-filter-drawer {
  transform: translateX(100%);
  transition: transform 0.3s ease-in-out;
}

[data-theme="iranti"] .iranti-filter-drawer.open {
  transform: translateX(0);
}

@media (min-width: 1024px) {
  [data-theme="iranti"] .iranti-filter-drawer,
  [data-theme="iranti"] .iranti-filter-drawer.open {
    transform: none;
  }
}

/* ---- Checkout Step ---- */
[data-theme="iranti"] .iranti-step-panel {
  display: none;
}
[data-theme="iranti"] .iranti-step-panel.active {
  display: block;
}
[data-theme="iranti"] .iranti-step-dot {
  transition: background 0.2s, transform 0.2s, color 0.2s;
}
[data-theme="iranti"] .iranti-step-dot.done {
  background: #0047FF;
  color: #fff;
}
[data-theme="iranti"] .iranti-step-dot.current {
  background: #000;
  color: #fff;
  transform: scale(1.05);
}

/* ---- Account Nav ---- */
[data-theme="iranti"] .iranti-nav-acc a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.65rem 0.75rem;
  font-weight: 900;
  font-size: 0.875rem;
  border-right: 4px solid transparent;
}
[data-theme="iranti"] .iranti-nav-acc a:hover {
  background: #F0F0F0;
}
[data-theme="iranti"] .iranti-nav-acc a.is-active {
  border-right-color: #0047FF;
  background: #F0F0F0;
  color: #0047FF;
}

/* ---- Reduced Motion ---- */
@media (prefers-reduced-motion: reduce) {
  [data-theme="iranti"] .iranti-neo-interactive,
  [data-theme="iranti"] .iranti-pdp-thumb,
  [data-theme="iranti"] .iranti-toast,
  [data-theme="iranti"] .iranti-step-dot {
    transition: none !important;
  }
  [data-theme="iranti"] .iranti-neo-interactive:hover,
  [data-theme="iranti"] .iranti-pdp-thumb:hover {
    transform: none !important;
  }
}
