/* Aurora — components.css : buttons, cards, inputs, badges, modals, drawer */

/* =================== BUTTONS =================== */

.theme-aurora .aurora-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--aurora-space-2);
  padding: 12px 24px;
  font-family: var(--aurora-font-body);
  font-size: var(--aurora-fs-sm);
  font-weight: var(--aurora-fw-semibold);
  line-height: 1;
  text-decoration: none;
  border: 1px solid transparent;
  border-radius: var(--aurora-radius-pill);
  cursor: pointer;
  transition: all var(--aurora-dur-fast) var(--aurora-ease);
  letter-spacing: 0.02em;
  white-space: nowrap;
  user-select: none;
}

.theme-aurora .aurora-btn:disabled,
.theme-aurora .aurora-btn[aria-disabled="true"] {
  opacity: 0.55;
  cursor: not-allowed;
}

.theme-aurora .aurora-btn--primary {
  background: var(--aurora-brand-primary);
  color: var(--aurora-text-inverse);
}
.theme-aurora .aurora-btn--primary:hover:not(:disabled) {
  background: var(--aurora-brand-primary-hover);
  color: var(--aurora-text-inverse);
  transform: translateY(-1px);
  box-shadow: var(--aurora-shadow-2);
}

.theme-aurora .aurora-btn--accent {
  background: var(--aurora-brand-accent);
  color: var(--aurora-text-inverse);
}
.theme-aurora .aurora-btn--accent:hover:not(:disabled) {
  background: var(--aurora-brand-accent-hover);
  color: var(--aurora-text-inverse);
  transform: translateY(-1px);
  box-shadow: var(--aurora-shadow-2);
}

.theme-aurora .aurora-btn--outline {
  background: transparent;
  border-color: var(--aurora-border-strong);
  color: var(--aurora-text);
}
.theme-aurora .aurora-btn--outline:hover:not(:disabled) {
  border-color: var(--aurora-brand-primary);
  color: var(--aurora-brand-primary);
  background: var(--aurora-surface-muted);
}

.theme-aurora .aurora-btn--ghost {
  background: transparent;
  color: var(--aurora-text);
}
.theme-aurora .aurora-btn--ghost:hover:not(:disabled) {
  background: var(--aurora-surface-muted);
}

.theme-aurora .aurora-btn--danger {
  background: var(--aurora-danger);
  color: var(--aurora-text-inverse);
}

.theme-aurora .aurora-btn--lg {
  padding: 16px 32px;
  font-size: var(--aurora-fs-base);
}

.theme-aurora .aurora-btn--sm {
  padding: 8px 16px;
  font-size: var(--aurora-fs-xs);
}

.theme-aurora .aurora-btn--block {
  width: 100%;
  display: flex;
}

/* =================== CARDS =================== */

.theme-aurora .aurora-card {
  background: var(--aurora-surface-elevated);
  border: 1px solid var(--aurora-border);
  border-radius: var(--aurora-radius-md);
  overflow: hidden;
  transition: transform var(--aurora-dur-base) var(--aurora-ease),
              box-shadow var(--aurora-dur-base) var(--aurora-ease),
              border-color var(--aurora-dur-base) var(--aurora-ease);
  display: flex;
  flex-direction: column;
}

.theme-aurora .aurora-card--hover:hover {
  transform: translateY(-4px);
  box-shadow: var(--aurora-shadow-3);
  border-color: var(--aurora-border-strong);
}

.theme-aurora .aurora-card__media {
  position: relative;
  background: var(--aurora-surface-muted);
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

.theme-aurora .aurora-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--aurora-dur-slow) var(--aurora-ease);
}

.theme-aurora .aurora-card--hover:hover .aurora-card__media img {
  transform: scale(1.05);
}

.theme-aurora .aurora-card__body {
  padding: var(--aurora-space-4);
  display: flex;
  flex-direction: column;
  gap: var(--aurora-space-2);
  flex: 1;
}

.theme-aurora .aurora-card__title {
  font-family: var(--aurora-font-body);
  font-size: var(--aurora-fs-sm);
  font-weight: var(--aurora-fw-medium);
  color: var(--aurora-text);
  line-height: 1.4;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.8em;
}

.theme-aurora .aurora-card__brand {
  font-size: var(--aurora-fs-xs);
  color: var(--aurora-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.theme-aurora .aurora-card__price {
  display: flex;
  align-items: baseline;
  gap: var(--aurora-space-2);
  margin-top: auto;
}

.theme-aurora .aurora-card__price-current {
  font-family: var(--aurora-font-heading);
  font-size: var(--aurora-fs-lg);
  font-weight: var(--aurora-fw-semibold);
  color: var(--aurora-brand-primary);
}

.theme-aurora .aurora-card__price-old {
  font-size: var(--aurora-fs-sm);
  color: var(--aurora-text-subtle);
  text-decoration: line-through;
}

.theme-aurora .aurora-card__badges {
  position: absolute;
  top: var(--aurora-space-3);
  left: var(--aurora-space-3);
  display: flex;
  flex-direction: column;
  gap: var(--aurora-space-1);
  z-index: 2;
}

.theme-aurora .aurora-card__quick-add {
  position: absolute;
  bottom: var(--aurora-space-3);
  right: var(--aurora-space-3);
  width: 40px;
  height: 40px;
  border-radius: var(--aurora-radius-pill);
  background: var(--aurora-surface-elevated);
  color: var(--aurora-brand-primary);
  border: 1px solid var(--aurora-border);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0;
  transform: translateY(8px);
  transition: all var(--aurora-dur-base) var(--aurora-ease);
  z-index: 2;
}

.theme-aurora .aurora-card--hover:hover .aurora-card__quick-add {
  opacity: 1;
  transform: translateY(0);
}

.theme-aurora .aurora-card__quick-add:hover {
  background: var(--aurora-brand-primary);
  color: var(--aurora-text-inverse);
}

/* =================== BADGES =================== */

.theme-aurora .aurora-badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  font-size: 11px;
  font-weight: var(--aurora-fw-semibold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: var(--aurora-radius-pill);
}

.theme-aurora .aurora-badge--accent { background: var(--aurora-brand-accent); color: var(--aurora-text-inverse); }
.theme-aurora .aurora-badge--success { background: var(--aurora-success); color: var(--aurora-text-inverse); }
.theme-aurora .aurora-badge--warning { background: var(--aurora-warning); color: var(--aurora-text-inverse); }
.theme-aurora .aurora-badge--danger { background: var(--aurora-danger); color: var(--aurora-text-inverse); }
.theme-aurora .aurora-badge--neutral { background: var(--aurora-surface-muted); color: var(--aurora-text); }

/* =================== INPUTS =================== */

.theme-aurora .aurora-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.theme-aurora .aurora-label {
  font-size: var(--aurora-fs-sm);
  font-weight: var(--aurora-fw-medium);
  color: var(--aurora-text);
}

.theme-aurora .aurora-label .aurora-required {
  color: var(--aurora-brand-accent);
  margin-left: 2px;
}

.theme-aurora .aurora-input,
.theme-aurora .aurora-textarea,
.theme-aurora .aurora-select {
  width: 100%;
  padding: 12px 14px;
  font-size: var(--aurora-fs-sm);
  background: var(--aurora-surface-elevated);
  color: var(--aurora-text);
  border: 1px solid var(--aurora-border);
  border-radius: var(--aurora-radius-sm);
  outline: none;
  transition: border-color var(--aurora-dur-fast) var(--aurora-ease),
              box-shadow var(--aurora-dur-fast) var(--aurora-ease);
  font-family: inherit;
}

.theme-aurora .aurora-input:focus,
.theme-aurora .aurora-textarea:focus,
.theme-aurora .aurora-select:focus {
  border-color: var(--aurora-brand-accent);
  box-shadow: var(--aurora-shadow-focus);
}

.theme-aurora .aurora-input[aria-invalid="true"],
.theme-aurora .aurora-textarea[aria-invalid="true"],
.theme-aurora .aurora-select[aria-invalid="true"] {
  border-color: var(--aurora-danger);
}

.theme-aurora .aurora-help {
  font-size: var(--aurora-fs-xs);
  color: var(--aurora-text-muted);
}

.theme-aurora .aurora-error {
  font-size: var(--aurora-fs-xs);
  color: var(--aurora-danger);
}

/* Checkbox / radio reset visuals */
.theme-aurora .aurora-checkbox,
.theme-aurora .aurora-radio {
  display: inline-flex;
  align-items: center;
  gap: var(--aurora-space-2);
  cursor: pointer;
  user-select: none;
}

.theme-aurora .aurora-checkbox input[type="checkbox"],
.theme-aurora .aurora-radio input[type="radio"] {
  width: 18px;
  height: 18px;
  accent-color: var(--aurora-brand-accent);
}

/* =================== ALERTS / NOTICES =================== */

.theme-aurora .aurora-alert {
  display: flex;
  align-items: flex-start;
  gap: var(--aurora-space-3);
  padding: var(--aurora-space-4);
  border-radius: var(--aurora-radius-md);
  font-size: var(--aurora-fs-sm);
  border: 1px solid var(--aurora-border);
}

.theme-aurora .aurora-alert--info { background: var(--aurora-info-bg); border-color: var(--aurora-info); color: var(--aurora-info); }
.theme-aurora .aurora-alert--success { background: var(--aurora-success-bg); border-color: var(--aurora-success); color: var(--aurora-success); }
.theme-aurora .aurora-alert--warning { background: var(--aurora-warning-bg); border-color: var(--aurora-warning); color: var(--aurora-warning); }
.theme-aurora .aurora-alert--danger { background: var(--aurora-danger-bg); border-color: var(--aurora-danger); color: var(--aurora-danger); }

.theme-aurora .aurora-alert i { font-size: 18px; margin-top: 2px; }

/* =================== MODAL =================== */

.theme-aurora .aurora-modal-backdrop {
  position: fixed;
  inset: 0;
  background: var(--aurora-surface-overlay);
  z-index: var(--aurora-z-modal);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--aurora-space-5);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--aurora-dur-base) var(--aurora-ease);
}

.theme-aurora .aurora-modal-backdrop.is-open {
  opacity: 1;
  pointer-events: auto;
}

.theme-aurora .aurora-modal {
  background: var(--aurora-surface-elevated);
  border-radius: var(--aurora-radius-lg);
  padding: var(--aurora-space-8);
  max-width: 520px;
  width: 100%;
  box-shadow: var(--aurora-shadow-3);
  transform: translateY(12px);
  transition: transform var(--aurora-dur-base) var(--aurora-ease);
}

.theme-aurora .aurora-modal-backdrop.is-open .aurora-modal {
  transform: translateY(0);
}

/* =================== CART DRAWER =================== */

.theme-aurora .aurora-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  max-width: 420px;
  background: var(--aurora-surface-elevated);
  z-index: var(--aurora-z-drawer);
  transform: translateX(100%);
  transition: transform var(--aurora-dur-base) var(--aurora-ease);
  display: flex;
  flex-direction: column;
  box-shadow: var(--aurora-shadow-3);
}

.theme-aurora .aurora-drawer.is-open {
  transform: translateX(0);
}

.theme-aurora .aurora-drawer-overlay {
  position: fixed;
  inset: 0;
  background: var(--aurora-surface-overlay);
  z-index: calc(var(--aurora-z-drawer) - 1);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--aurora-dur-base) var(--aurora-ease);
}

.theme-aurora .aurora-drawer-overlay.is-open {
  opacity: 1;
  pointer-events: auto;
}

.theme-aurora .aurora-drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--aurora-space-5);
  border-bottom: 1px solid var(--aurora-border);
}

.theme-aurora .aurora-drawer__body {
  flex: 1;
  overflow-y: auto;
  padding: var(--aurora-space-5);
}

.theme-aurora .aurora-drawer__footer {
  border-top: 1px solid var(--aurora-border);
  padding: var(--aurora-space-5);
  background: var(--aurora-surface-muted);
}

/* =================== BREADCRUMBS =================== */

.theme-aurora .aurora-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--aurora-space-2);
  font-size: var(--aurora-fs-sm);
  color: var(--aurora-text-muted);
  margin-bottom: var(--aurora-space-5);
  list-style: none;
  padding: 0;
}

.theme-aurora .aurora-breadcrumb a {
  color: var(--aurora-text-muted);
}
.theme-aurora .aurora-breadcrumb a:hover {
  color: var(--aurora-brand-primary);
}

.theme-aurora .aurora-breadcrumb li:not(:last-child)::after {
  content: '/';
  margin-left: var(--aurora-space-2);
  color: var(--aurora-border-strong);
}

/* =================== TABS =================== */

.theme-aurora .aurora-tabs {
  display: flex;
  gap: var(--aurora-space-1);
  border-bottom: 1px solid var(--aurora-border);
  margin-bottom: var(--aurora-space-5);
  overflow-x: auto;
}

.theme-aurora .aurora-tab {
  background: transparent;
  border: 0;
  padding: var(--aurora-space-3) var(--aurora-space-4);
  font-size: var(--aurora-fs-sm);
  font-weight: var(--aurora-fw-medium);
  color: var(--aurora-text-muted);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: all var(--aurora-dur-fast) var(--aurora-ease);
  white-space: nowrap;
}

.theme-aurora .aurora-tab:hover { color: var(--aurora-text); }

.theme-aurora .aurora-tab.is-active {
  color: var(--aurora-brand-primary);
  border-bottom-color: var(--aurora-brand-accent);
}

/* =================== SKELETON =================== */

.theme-aurora .aurora-skeleton {
  background: linear-gradient(90deg, var(--aurora-surface-muted) 25%, var(--aurora-surface) 50%, var(--aurora-surface-muted) 75%);
  background-size: 200% 100%;
  animation: aurora-skeleton-pulse 1.4s ease-in-out infinite;
  border-radius: var(--aurora-radius-sm);
}

@keyframes aurora-skeleton-pulse {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

@media (prefers-reduced-motion: reduce) {
  .theme-aurora .aurora-skeleton { animation: none; }
}

/* =================== EMPTY STATE =================== */

.theme-aurora .aurora-empty {
  text-align: center;
  padding: var(--aurora-space-16) var(--aurora-space-5);
  color: var(--aurora-text-muted);
}

.theme-aurora .aurora-empty__icon {
  font-size: 56px;
  color: var(--aurora-border-strong);
  margin-bottom: var(--aurora-space-4);
}

.theme-aurora .aurora-empty__title {
  font-family: var(--aurora-font-heading);
  font-size: var(--aurora-fs-lg);
  color: var(--aurora-text);
  margin-bottom: var(--aurora-space-2);
}

/* =================== TAGS / PILLS =================== */

.theme-aurora .aurora-pill {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  font-size: var(--aurora-fs-xs);
  background: var(--aurora-surface-muted);
  color: var(--aurora-text);
  border-radius: var(--aurora-radius-pill);
  border: 1px solid transparent;
  text-decoration: none;
  cursor: pointer;
  transition: all var(--aurora-dur-fast) var(--aurora-ease);
}

.theme-aurora .aurora-pill:hover {
  background: var(--aurora-surface-elevated);
  border-color: var(--aurora-border-strong);
}

.theme-aurora .aurora-pill.is-active {
  background: var(--aurora-brand-primary);
  color: var(--aurora-text-inverse);
}

/* =================== AURORA JS ENHANCEMENTS =================== */

/* Body lock when drawer/sidebar open */
body.aurora-no-scroll {
  overflow: hidden;
  touch-action: none;
}

/* Sticky header subtle elevation while scrolled */
.theme-aurora .aurora-header.is-stuck,
.theme-aurora header.is-stuck {
  box-shadow: var(--aurora-shadow-sm);
  background: var(--aurora-surface);
}

/* Mobile sticky add-to-cart bar (PDP) */
.aurora-mobile-sticky-buy {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0)) 16px;
  background: var(--aurora-surface);
  border-top: 1px solid var(--aurora-border);
  box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.06);
  transform: translateY(100%);
  transition: transform var(--aurora-dur-base, 220ms) var(--aurora-ease, cubic-bezier(0.2, 0.8, 0.2, 1));
  z-index: 50;
}
.aurora-mobile-sticky-buy.is-visible {
  transform: translateY(0);
}
@media (min-width: 769px) {
  .aurora-mobile-sticky-buy { display: none !important; }
}

/* Aurora cart drawer base styles (markup: #aurora-cart-drawer) */
#aurora-cart-drawer {
  position: fixed;
  top: 0;
  right: 0;
  width: min(420px, 92vw);
  height: 100vh;
  height: 100dvh;
  background: var(--aurora-surface);
  box-shadow: var(--aurora-shadow-lg, -8px 0 32px rgba(0, 0, 0, 0.12));
  transform: translateX(100%);
  transition: transform var(--aurora-dur-base, 220ms) var(--aurora-ease, cubic-bezier(0.2, 0.8, 0.2, 1));
  z-index: 1100;
  display: flex;
  flex-direction: column;
}
#aurora-cart-drawer.is-open { transform: translateX(0); }
#aurora-cart-overlay,
[data-aurora-cart-overlay] {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--aurora-dur-base, 220ms) var(--aurora-ease, ease);
  z-index: 1099;
}
#aurora-cart-drawer.is-open ~ [data-aurora-cart-overlay],
#aurora-cart-overlay.is-open {
  opacity: 1;
  pointer-events: auto;
}

/* Aurora cart drawer — content layout */
.theme-aurora #aurora-cart-drawer .aurora-drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--aurora-space-5) var(--aurora-space-5) var(--aurora-space-4);
  border-bottom: 1px solid var(--aurora-border);
  background: linear-gradient(180deg, var(--aurora-surface-elevated) 0%, var(--aurora-surface) 100%);
}
.theme-aurora #aurora-cart-drawer .aurora-drawer__title {
  margin: 0;
  font-family: var(--aurora-font-heading);
  font-weight: var(--aurora-fw-semibold);
  font-size: var(--aurora-fs-xl);
  letter-spacing: -0.01em;
  color: var(--aurora-text);
  display: inline-flex;
  align-items: baseline;
  gap: var(--aurora-space-2);
}
.theme-aurora #aurora-cart-drawer .aurora-drawer__count {
  font-family: var(--aurora-font-body);
  font-size: var(--aurora-fs-sm);
  font-weight: var(--aurora-fw-medium);
  color: var(--aurora-text-inverse);
  background: var(--aurora-brand-accent);
  border-radius: var(--aurora-radius-pill);
  padding: 2px 10px;
  min-width: 28px;
  text-align: center;
  line-height: 1.4;
}
.theme-aurora #aurora-cart-drawer .aurora-drawer__close {
  width: 36px; height: 36px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--aurora-border);
  background: var(--aurora-surface-elevated);
  color: var(--aurora-text-muted);
  border-radius: var(--aurora-radius-pill);
  cursor: pointer;
  transition: all var(--aurora-dur-fast) var(--aurora-ease);
}
.theme-aurora #aurora-cart-drawer .aurora-drawer__close:hover {
  background: var(--aurora-brand-primary);
  color: var(--aurora-text-inverse);
  border-color: var(--aurora-brand-primary);
}
.theme-aurora #aurora-cart-drawer .aurora-drawer__body {
  flex: 1;
  overflow-y: auto;
  padding: var(--aurora-space-4) var(--aurora-space-5);
}
.theme-aurora #aurora-cart-drawer .aurora-drawer__loading {
  display: flex; flex-direction: column; gap: var(--aurora-space-3);
}
.theme-aurora #aurora-cart-drawer .aurora-drawer__loading .aurora-skeleton--cart {
  height: 92px;
}
.theme-aurora #aurora-cart-drawer .aurora-drawer__empty {
  text-align: center;
  padding: var(--aurora-space-12) var(--aurora-space-3);
  color: var(--aurora-text-muted);
}
.theme-aurora #aurora-cart-drawer .aurora-empty__illustration {
  margin: 0 auto var(--aurora-space-4);
  width: 96px; height: 96px;
}
.theme-aurora #aurora-cart-drawer .aurora-empty__title {
  font-family: var(--aurora-font-heading);
  font-size: var(--aurora-fs-lg);
  color: var(--aurora-text);
  margin: 0 0 var(--aurora-space-2);
}
.theme-aurora #aurora-cart-drawer .aurora-empty__text {
  margin: 0 0 var(--aurora-space-5);
}

/* Aurora cart line list */
.theme-aurora .aurora-cart-list {
  list-style: none;
  margin: 0; padding: 0;
  display: flex; flex-direction: column;
  gap: var(--aurora-space-3);
}
.theme-aurora .aurora-cart-line {
  display: grid;
  grid-template-columns: 72px 1fr auto;
  gap: var(--aurora-space-3);
  padding: var(--aurora-space-3);
  background: var(--aurora-surface-elevated);
  border: 1px solid var(--aurora-border);
  border-radius: var(--aurora-radius-md);
  transition: border-color var(--aurora-dur-fast) var(--aurora-ease), box-shadow var(--aurora-dur-fast) var(--aurora-ease);
}
.theme-aurora .aurora-cart-line:hover {
  border-color: var(--aurora-border-strong);
  box-shadow: var(--aurora-shadow-1);
}
.theme-aurora .aurora-cart-line__media {
  width: 72px; height: 72px;
  border-radius: var(--aurora-radius-sm);
  overflow: hidden;
  background: var(--aurora-surface-muted);
  display: block;
}
.theme-aurora .aurora-cart-line__media img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.theme-aurora .aurora-cart-line__body {
  display: flex; flex-direction: column; gap: 4px;
  min-width: 0;
}
.theme-aurora .aurora-cart-line__name {
  font-family: var(--aurora-font-heading);
  font-weight: var(--aurora-fw-medium);
  color: var(--aurora-text);
  font-size: var(--aurora-fs-sm);
  line-height: var(--aurora-lh-snug);
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.theme-aurora .aurora-cart-line__name:hover { color: var(--aurora-brand-primary); }
.theme-aurora .aurora-cart-line__price {
  font-size: var(--aurora-fs-xs);
  color: var(--aurora-text-muted);
}
.theme-aurora .aurora-cart-line__qty {
  display: inline-flex; align-items: center; gap: 0;
  margin-top: 4px;
  border: 1px solid var(--aurora-border);
  border-radius: var(--aurora-radius-pill);
  background: var(--aurora-surface);
  width: max-content;
}
.theme-aurora .aurora-qty__btn {
  width: 28px; height: 28px;
  border: 0; background: transparent;
  color: var(--aurora-text);
  font-size: 16px; line-height: 1;
  cursor: pointer;
  border-radius: var(--aurora-radius-pill);
  transition: background var(--aurora-dur-fast) var(--aurora-ease);
}
.theme-aurora .aurora-qty__btn:hover {
  background: var(--aurora-surface-muted);
}
.theme-aurora .aurora-qty__value {
  min-width: 28px; text-align: center;
  font-variant-numeric: tabular-nums;
  font-weight: var(--aurora-fw-medium);
  font-size: var(--aurora-fs-sm);
}
.theme-aurora .aurora-cart-line__aside {
  display: flex; flex-direction: column;
  align-items: flex-end; justify-content: space-between;
  gap: var(--aurora-space-2);
}
.theme-aurora .aurora-cart-line__total {
  font-family: var(--aurora-font-heading);
  font-weight: var(--aurora-fw-semibold);
  color: var(--aurora-brand-primary);
  font-size: var(--aurora-fs-md);
}
.theme-aurora .aurora-cart-line__remove {
  border: 0; background: transparent; cursor: pointer;
  color: var(--aurora-text-subtle);
  padding: 4px 6px;
  border-radius: var(--aurora-radius-sm);
  transition: color var(--aurora-dur-fast) var(--aurora-ease);
}
.theme-aurora .aurora-cart-line__remove:hover {
  color: var(--aurora-danger);
}

/* Cart drawer footer */
.theme-aurora #aurora-cart-drawer .aurora-drawer__footer {
  border-top: 1px solid var(--aurora-border);
  padding: var(--aurora-space-4) var(--aurora-space-5) calc(var(--aurora-space-5) + env(safe-area-inset-bottom, 0));
  background: var(--aurora-surface-muted);
  display: flex; flex-direction: column; gap: var(--aurora-space-3);
}
.theme-aurora .aurora-cart-summary {
  display: flex; flex-direction: column; gap: var(--aurora-space-2);
  padding-bottom: var(--aurora-space-2);
}
.theme-aurora .aurora-cart-summary__row {
  display: flex; justify-content: space-between;
  font-size: var(--aurora-fs-sm);
  color: var(--aurora-text);
}
.theme-aurora .aurora-cart-summary__row strong {
  font-family: var(--aurora-font-heading);
  font-size: var(--aurora-fs-lg);
  color: var(--aurora-brand-primary);
}
.theme-aurora .aurora-cart-summary__row--muted {
  color: var(--aurora-text-muted);
}

/* Filter sidebar drawer (mobile) */
@media (max-width: 768px) {
  .theme-aurora #filters-sidebar.aurora-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    width: min(360px, 92vw);
    height: 100vh;
    height: 100dvh;
    background: var(--aurora-surface);
    box-shadow: var(--aurora-shadow-lg, 8px 0 32px rgba(0, 0, 0, 0.12));
    transform: translateX(-100%);
    transition: transform var(--aurora-dur-base, 220ms) var(--aurora-ease, cubic-bezier(0.2, 0.8, 0.2, 1));
    z-index: 1100;
    overflow-y: auto;
  }
  .theme-aurora #filters-sidebar.aurora-sidebar.is-open { transform: translateX(0); }
}
.theme-aurora #filters-overlay {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--aurora-dur-base, 220ms) var(--aurora-ease, ease);
  z-index: 1099;
}
.theme-aurora #filters-overlay.is-open {
  opacity: 1;
  pointer-events: auto;
}

/* Skip link visibility on focus */
.aurora-skip-link {
  position: absolute;
  top: -100px;
  left: 0;
  background: var(--aurora-brand-primary, #1A2A4A);
  color: var(--aurora-text-inverse, #fff);
  padding: 12px 16px;
  z-index: 9999;
  text-decoration: none;
  border-radius: 0 0 var(--aurora-radius-md, 8px) 0;
  transition: top var(--aurora-dur-fast, 150ms) ease;
}
.aurora-skip-link:focus {
  top: 0;
  outline: 2px solid var(--aurora-brand-accent, #E76F51);
  outline-offset: 2px;
}

/* =================== STICKY FILTER SIDEBAR (desktop) =================== */

.theme-aurora .aurora-sidebar.aurora-card,
.theme-aurora #filters-sidebar.aurora-sidebar {
  background: var(--aurora-surface-elevated);
  border: 1px solid var(--aurora-border);
  border-radius: var(--aurora-radius-md);
  display: flex;
  flex-direction: column;
  gap: var(--aurora-space-5);
}

.theme-aurora #filters-sidebar.aurora-sidebar::-webkit-scrollbar { width: 8px; }
.theme-aurora #filters-sidebar.aurora-sidebar::-webkit-scrollbar-thumb {
  background: var(--aurora-border-strong);
  border-radius: 4px;
}
.theme-aurora #filters-sidebar.aurora-sidebar::-webkit-scrollbar-thumb:hover {
  background: var(--aurora-text-muted);
}

.theme-aurora .aurora-filter-group {
  padding-bottom: var(--aurora-space-4);
  border-bottom: 1px dashed var(--aurora-border);
}
.theme-aurora .aurora-filter-group:last-of-type { border-bottom: 0; padding-bottom: 0; }

.theme-aurora .aurora-filter-group__title {
  font-family: var(--aurora-font-heading);
  font-size: var(--aurora-fs-sm);
  font-weight: var(--aurora-fw-semibold);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--aurora-text);
  margin: 0 0 var(--aurora-space-3);
}

.theme-aurora #filters-sidebar .filter-options-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.theme-aurora #filters-sidebar .filter-option,
.theme-aurora #filters-sidebar .filter-options-list label {
  display: flex;
  align-items: center;
  gap: var(--aurora-space-2);
  padding: 6px 8px;
  border-radius: var(--aurora-radius-sm);
  font-size: var(--aurora-fs-sm);
  color: var(--aurora-text);
  cursor: pointer;
  transition: background var(--aurora-dur-fast) var(--aurora-ease);
}
.theme-aurora #filters-sidebar .filter-option:hover,
.theme-aurora #filters-sidebar .filter-options-list label:hover {
  background: var(--aurora-surface-muted);
}
.theme-aurora #filters-sidebar .filter-options-list label input[type="checkbox"] {
  width: 16px; height: 16px;
  accent-color: var(--aurora-brand-accent);
}

.theme-aurora #filters-sidebar .applied-filters-modern {
  display: flex; flex-wrap: wrap; gap: 6px;
  padding-bottom: var(--aurora-space-3);
  border-bottom: 1px solid var(--aurora-border);
}

.theme-aurora #filters-sidebar .filters-actions {
  position: sticky;
  bottom: 0;
  background: var(--aurora-surface-elevated);
  margin: 0 calc(var(--aurora-space-5) * -1) calc(var(--aurora-space-5) * -1);
  padding: var(--aurora-space-3) var(--aurora-space-5);
  border-top: 1px solid var(--aurora-border);
}

@media (max-width: 1023px) {
  .theme-aurora #filters-sidebar.aurora-sidebar {
    border: 0;
    border-radius: 0;
    background: var(--aurora-surface);
  }
}

/* =================== PDP MOBILE STICKY ADD-TO-CART (rich) =================== */

.theme-aurora .aurora-pdp-sticky {
  position: fixed;
  inset: auto 0 0 0;
  z-index: 1090;
  background: var(--aurora-surface-elevated);
  border-top: 1px solid var(--aurora-border);
  box-shadow: 0 -10px 32px rgba(15, 23, 42, 0.10);
  padding: env(safe-area-inset-bottom, 0);
  transform: translateY(120%);
  transition: transform var(--aurora-dur-base) var(--aurora-ease);
  display: none;
}
.theme-aurora .aurora-pdp-sticky.is-visible {
  transform: translateY(0);
}

@media (max-width: 1023px) {
  .theme-aurora .aurora-pdp-sticky { display: block; }
}

.theme-aurora .aurora-pdp-sticky__inner {
  display: flex;
  align-items: center;
  gap: var(--aurora-space-3);
  padding: 10px 14px;
  max-width: 100%;
}

.theme-aurora .aurora-pdp-sticky__media {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  border-radius: var(--aurora-radius-sm);
  overflow: hidden;
  background: var(--aurora-surface-muted);
  border: 1px solid var(--aurora-border);
}
.theme-aurora .aurora-pdp-sticky__media img {
  width: 100%; height: 100%;
  object-fit: cover;
}

.theme-aurora .aurora-pdp-sticky__info {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  overflow: hidden;
}
.theme-aurora .aurora-pdp-sticky__name {
  font-size: var(--aurora-fs-sm);
  font-weight: var(--aurora-fw-medium);
  color: var(--aurora-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.theme-aurora .aurora-pdp-sticky__price {
  font-family: var(--aurora-font-heading);
  font-weight: var(--aurora-fw-semibold);
  font-size: var(--aurora-fs-md);
  color: var(--aurora-brand-accent);
  letter-spacing: -0.01em;
}

.theme-aurora .aurora-pdp-sticky__cta {
  flex: 0 0 auto;
  min-height: 44px;
  padding: 10px 18px;
  border-radius: var(--aurora-radius-pill);
  white-space: nowrap;
}
.theme-aurora .aurora-pdp-sticky__cta i { margin-right: 6px; }

/* Push page content above sticky bar so footer doesn't get hidden on mobile */
@media (max-width: 1023px) {
  .theme-aurora .aurora-pdp { padding-bottom: 90px; }
}

/* If both legacy mini bar and rich bar exist, hide the legacy one */
.theme-aurora .aurora-pdp-sticky.is-visible ~ .aurora-mobile-sticky-buy { display: none !important; }

/* =================== THEME CONFIG VARIANTS =================== */

/* ---- productCard ---- */

/* Variant: editorial — larger media, bold heading-style title */
[data-aurora-product-card="editorial"] .theme-aurora .aurora-product-card,
.theme-aurora[data-aurora-product-card="editorial"] .aurora-product-card {
  border: 0;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}
[data-aurora-product-card="editorial"] .theme-aurora .aurora-product-card__media,
.theme-aurora[data-aurora-product-card="editorial"] .aurora-product-card__media {
  border-radius: var(--aurora-radius-md);
  aspect-ratio: 4/5;
  margin-bottom: var(--aurora-space-3);
}
[data-aurora-product-card="editorial"] .theme-aurora .aurora-product-card__title,
.theme-aurora[data-aurora-product-card="editorial"] .aurora-product-card__title {
  font-family: var(--aurora-font-heading);
  font-size: var(--aurora-fs-lg);
  font-weight: var(--aurora-fw-medium);
  letter-spacing: -0.01em;
}

/* Variant: minimal — strip chrome, hover-only price reveal */
[data-aurora-product-card="minimal"] .theme-aurora .aurora-product-card,
.theme-aurora[data-aurora-product-card="minimal"] .aurora-product-card {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}
[data-aurora-product-card="minimal"] .theme-aurora .aurora-product-card .aurora-card__body,
.theme-aurora[data-aurora-product-card="minimal"] .aurora-product-card .aurora-card__body {
  padding: var(--aurora-space-3) 0 0;
}

/* Variant: compact — tighter padding, smaller media */
[data-aurora-product-card="compact"] .theme-aurora .aurora-product-card,
.theme-aurora[data-aurora-product-card="compact"] .aurora-product-card {
  font-size: var(--aurora-fs-sm);
}
[data-aurora-product-card="compact"] .theme-aurora .aurora-product-card__media,
.theme-aurora[data-aurora-product-card="compact"] .aurora-product-card__media {
  aspect-ratio: 1/1;
}
[data-aurora-product-card="compact"] .theme-aurora .aurora-product-card .aurora-card__body,
.theme-aurora[data-aurora-product-card="compact"] .aurora-product-card .aurora-card__body {
  padding: var(--aurora-space-2) var(--aurora-space-3);
}

/* ---- cartStyle ---- */

/* When cartStyle=page, headers/footers cart link must navigate to /cart.html
 * (handled in JS), and we hide the drawer entirely.
 */
[data-aurora-cart-style="page"] .theme-aurora .aurora-drawer.aurora-cart-drawer,
.theme-aurora[data-aurora-cart-style="page"] .aurora-drawer.aurora-cart-drawer {
  display: none !important;
}

/* ---- heroLayout ---- */

/* Variant: fullbleed — collapse split, slider takes 100% width */
[data-aurora-hero="fullbleed"] .theme-aurora .aurora-editorial-hero__grid,
.theme-aurora[data-aurora-hero="fullbleed"] .aurora-editorial-hero__grid {
  grid-template-columns: 1fr !important;
}
[data-aurora-hero="fullbleed"] .theme-aurora .aurora-editorial-hero__copy,
.theme-aurora[data-aurora-hero="fullbleed"] .aurora-editorial-hero__copy {
  display: none;
}
[data-aurora-hero="fullbleed"] .theme-aurora .aurora-editorial-hero__slider,
.theme-aurora[data-aurora-hero="fullbleed"] .aurora-editorial-hero__slider {
  aspect-ratio: 21/9 !important;
}

/* Variant: minimal — small text-only hero */
[data-aurora-hero="minimal"] .theme-aurora .aurora-editorial-hero__media,
.theme-aurora[data-aurora-hero="minimal"] .aurora-editorial-hero__media {
  display: none;
}
[data-aurora-hero="minimal"] .theme-aurora .aurora-editorial-hero__grid,
.theme-aurora[data-aurora-hero="minimal"] .aurora-editorial-hero__grid {
  grid-template-columns: 1fr !important;
  text-align: center;
}
[data-aurora-hero="minimal"] .theme-aurora .aurora-editorial-hero__cta,
.theme-aurora[data-aurora-hero="minimal"] .aurora-editorial-hero__cta {
  justify-content: center;
}

/* ---- density ---- */
[data-aurora-density="compact"] .theme-aurora .aurora-section,
.theme-aurora[data-aurora-density="compact"] .aurora-section {
  padding-block: var(--aurora-space-6);
}
[data-aurora-density="compact"] .theme-aurora .aurora-grid--products,
.theme-aurora[data-aurora-density="compact"] .aurora-grid--products {
  gap: var(--aurora-space-3);
}

/* ---- navStyle: flat (disable mega panels) ---- */
[data-aurora-nav="flat"] .theme-aurora .mega-menu-panel,
.theme-aurora[data-aurora-nav="flat"] .mega-menu-panel {
  display: none !important;
}

/* =================== AURORA-BRANDED PLACEHOLDER =================== *
 * Replaces the global /images/placeholder.svg fallback whenever the
 * Aurora theme is active. Uses CSS `content` to swap the rendered
 * image without changing any HTML — server keeps emitting the neutral
 * placeholder for compatibility with other themes / tools.
 * ----------------------------------------------------------------- */

.theme-aurora img[src$="/images/placeholder.svg"],
.theme-aurora img[src="/images/placeholder.svg"],
.theme-aurora img[src*="/placeholder.svg"] {
  content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 500' role='img' aria-label='Görsel hazırlanıyor'><defs><linearGradient id='aBg' x1='0' y1='0' x2='1' y2='1'><stop offset='0' stop-color='%23F4F1EA'/><stop offset='1' stop-color='%23E9E2D2'/></linearGradient><linearGradient id='aSky' x1='0' y1='0' x2='0' y2='1'><stop offset='0' stop-color='%23F8E8DD'/><stop offset='1' stop-color='%23F4F1EA'/></linearGradient></defs><rect width='500' height='500' fill='url(%23aBg)'/><rect x='0' y='0' width='500' height='320' fill='url(%23aSky)'/><circle cx='350' cy='180' r='52' fill='%23E76F51' opacity='0.92'/><circle cx='350' cy='180' r='72' fill='%23E76F51' opacity='0.18'/><path d='M0 360 L110 240 L210 320 L320 200 L420 320 L500 270 L500 500 L0 500 Z' fill='%231A2A4A' opacity='0.86'/><path d='M0 410 L90 350 L210 410 L310 350 L420 410 L500 380 L500 500 L0 500 Z' fill='%231A2A4A' opacity='0.55'/><g transform='translate(220 410)' fill='%23F4F1EA' opacity='0.9'><rect x='-32' y='-22' width='64' height='44' rx='3'/><rect x='-30' y='-20' width='28' height='40' rx='1' fill='%23E76F51' opacity='0.55'/><rect x='4' y='-20' width='26' height='40' rx='1' fill='%231A2A4A' opacity='0.45'/><rect x='-32' y='22' width='64' height='3' fill='%231A2A4A' opacity='0.65'/></g></svg>") !important;

  background-color: var(--aurora-surface-muted) !important;
  object-fit: cover;
}

/* Dark mode: warmer, less bright */
:root[data-aurora-color-scheme="dark"] .theme-aurora img[src$="/images/placeholder.svg"],
:root[data-aurora-color-scheme="dark"] .theme-aurora img[src="/images/placeholder.svg"],
:root[data-aurora-color-scheme="dark"] .theme-aurora img[src*="/placeholder.svg"] {
  content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 500' role='img' aria-label='Görsel hazırlanıyor'><defs><linearGradient id='dBg' x1='0' y1='0' x2='1' y2='1'><stop offset='0' stop-color='%231F242C'/><stop offset='1' stop-color='%2314171C'/></linearGradient><linearGradient id='dSky' x1='0' y1='0' x2='0' y2='1'><stop offset='0' stop-color='%232C2118'/><stop offset='1' stop-color='%231F242C'/></linearGradient></defs><rect width='500' height='500' fill='url(%23dBg)'/><rect x='0' y='0' width='500' height='320' fill='url(%23dSky)'/><circle cx='350' cy='180' r='52' fill='%23F08A6B' opacity='0.85'/><circle cx='350' cy='180' r='80' fill='%23F08A6B' opacity='0.14'/><path d='M0 360 L110 240 L210 320 L320 200 L420 320 L500 270 L500 500 L0 500 Z' fill='%234A6FA5' opacity='0.55'/><path d='M0 410 L90 350 L210 410 L310 350 L420 410 L500 380 L500 500 L0 500 Z' fill='%234A6FA5' opacity='0.30'/></svg>") !important;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-aurora-color-scheme="light"]) .theme-aurora img[src$="/images/placeholder.svg"],
  :root:not([data-aurora-color-scheme="light"]) .theme-aurora img[src="/images/placeholder.svg"],
  :root:not([data-aurora-color-scheme="light"]) .theme-aurora img[src*="/placeholder.svg"] {
    content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 500' role='img' aria-label='Görsel hazırlanıyor'><defs><linearGradient id='dBg2' x1='0' y1='0' x2='1' y2='1'><stop offset='0' stop-color='%231F242C'/><stop offset='1' stop-color='%2314171C'/></linearGradient><linearGradient id='dSky2' x1='0' y1='0' x2='0' y2='1'><stop offset='0' stop-color='%232C2118'/><stop offset='1' stop-color='%231F242C'/></linearGradient></defs><rect width='500' height='500' fill='url(%23dBg2)'/><rect x='0' y='0' width='500' height='320' fill='url(%23dSky2)'/><circle cx='350' cy='180' r='52' fill='%23F08A6B' opacity='0.85'/><circle cx='350' cy='180' r='80' fill='%23F08A6B' opacity='0.14'/><path d='M0 360 L110 240 L210 320 L320 200 L420 320 L500 270 L500 500 L0 500 Z' fill='%234A6FA5' opacity='0.55'/><path d='M0 410 L90 350 L210 410 L310 350 L420 410 L500 380 L500 500 L0 500 Z' fill='%234A6FA5' opacity='0.30'/></svg>") !important;
  }
}

/* When placeholder is rendered inside a known card frame, soften any
 * harsh pixel-edge transition between the Aurora SVG and surrounding
 * card padding by cropping to the card radius.
 */
.theme-aurora .aurora-blog-card__media img[src*="/placeholder.svg"],
.theme-aurora .aurora-product-card__media img[src*="/placeholder.svg"],
.theme-aurora .aurora-category-card img[src*="/placeholder.svg"] {
  border-radius: inherit;
}
