/* ==========================================================================
   Aurora theme — bridge.css
   ----------------------------------------------------------------------------
   Re-skins legacy storefront markup (default theme classes such as .form-control,
   .btn-primary, .card, .container, .breadcrumb, .pagination, .alert, etc.) so
   pages that fall back to the default templates still wear Aurora's identity.
   ----------------------------------------------------------------------------
   IMPORTANT — keep all selectors scoped under `.theme-aurora` so that they have
   higher specificity than the default theme rules and so that the default theme
   is never affected when Aurora is not active.
   ========================================================================== */

/* ----- 1. PAGE CHROME (containers, body bg, headings, links) -------------- */

.theme-aurora body,
.theme-aurora.theme-aurora body { /* dual selector helps when class is on html */
  font-family: var(--aurora-font-body);
  color: var(--aurora-text);
  background: var(--aurora-surface);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.theme-aurora .container,
.theme-aurora .container-fluid {
  max-width: var(--aurora-container);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--aurora-space-5);
  padding-right: var(--aurora-space-5);
}

.theme-aurora h1, .theme-aurora h2, .theme-aurora h3,
.theme-aurora h4, .theme-aurora h5, .theme-aurora h6 {
  font-family: var(--aurora-font-heading);
  font-weight: var(--aurora-fw-semibold);
  letter-spacing: -0.01em;
  color: var(--aurora-text);
}

.theme-aurora a {
  color: var(--aurora-brand-primary);
  text-decoration: none;
  transition: color var(--aurora-dur-fast) var(--aurora-ease);
}
.theme-aurora a:hover { color: var(--aurora-brand-accent); }

/* ----- 2. FORM BRIDGE ----------------------------------------------------- */
/*  Maps default form classes (.form-group, .form-control, .form-input,
    .form-label, raw input/select/textarea) to Aurora's input look. */

.theme-aurora .form-group {
  margin-bottom: var(--aurora-space-5);
  display: flex;
  flex-direction: column;
  gap: var(--aurora-space-2);
}

.theme-aurora .form-group label,
.theme-aurora .form-label,
.theme-aurora label.required,
.theme-aurora .field-label {
  font-family: var(--aurora-font-body);
  font-weight: var(--aurora-fw-medium);
  font-size: var(--aurora-fs-sm);
  letter-spacing: 0.01em;
  color: var(--aurora-text);
  margin-bottom: 0;
}

.theme-aurora .form-control,
.theme-aurora .form-input,
.theme-aurora .form-select,
.theme-aurora input[type="text"]:not(.search-input):not([class*="aurora-"]):not([class*="quantity"]),
.theme-aurora input[type="email"]:not([class*="aurora-"]),
.theme-aurora input[type="tel"]:not([class*="aurora-"]),
.theme-aurora input[type="password"]:not([class*="aurora-"]),
.theme-aurora input[type="number"]:not([class*="aurora-"]):not(.qty-input):not(.cart-quantity-input),
.theme-aurora input[type="search"]:not(.search-input):not([class*="aurora-"]),
.theme-aurora input[type="url"]:not([class*="aurora-"]),
.theme-aurora input[type="date"]:not([class*="aurora-"]),
.theme-aurora textarea:not([class*="aurora-"]),
.theme-aurora select:not([class*="aurora-"]):not([class*="currency-"]) {
  display: block;
  width: 100%;
  padding: 12px 16px;
  font-family: var(--aurora-font-body);
  font-size: var(--aurora-fs-base);
  line-height: var(--aurora-lh-snug);
  color: var(--aurora-text);
  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),
              background var(--aurora-dur-fast) var(--aurora-ease);
  appearance: none;
  -webkit-appearance: none;
}

.theme-aurora select:not([class*="aurora-"]):not([class*="currency-"]) {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%231A2A4A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 38px;
}

.theme-aurora .form-control:focus,
.theme-aurora .form-input:focus,
.theme-aurora .form-select:focus,
.theme-aurora input:focus:not([class*="aurora-"]):not(.search-input):not(.qty-input),
.theme-aurora textarea:focus:not([class*="aurora-"]),
.theme-aurora select:focus:not([class*="aurora-"]):not([class*="currency-"]) {
  outline: none;
  border-color: var(--aurora-brand-accent);
  box-shadow: var(--aurora-shadow-focus);
  background: var(--aurora-surface-elevated);
}

.theme-aurora .form-control::placeholder,
.theme-aurora .form-input::placeholder,
.theme-aurora input::placeholder,
.theme-aurora textarea::placeholder {
  color: var(--aurora-text-subtle);
  opacity: 1;
}

.theme-aurora .form-control:disabled,
.theme-aurora input:disabled,
.theme-aurora textarea:disabled,
.theme-aurora select:disabled {
  background: var(--aurora-surface-muted);
  color: var(--aurora-text-muted);
  cursor: not-allowed;
}

.theme-aurora .form-text,
.theme-aurora .form-help,
.theme-aurora .help-text,
.theme-aurora .field-hint {
  font-size: var(--aurora-fs-xs);
  color: var(--aurora-text-muted);
  margin-top: 4px;
}

.theme-aurora .invalid-feedback,
.theme-aurora .form-error,
.theme-aurora .field-error {
  font-size: var(--aurora-fs-xs);
  color: var(--aurora-danger);
  margin-top: 4px;
}

/* Custom checkbox / radio */
.theme-aurora input[type="checkbox"]:not([class*="aurora-"]),
.theme-aurora input[type="radio"]:not([class*="aurora-"]) {
  width: 18px;
  height: 18px;
  accent-color: var(--aurora-brand-accent);
  vertical-align: middle;
}

/* ----- 3. BUTTON BRIDGE --------------------------------------------------- */
/*  Default theme uses .btn / .btn-primary / .btn-secondary / .btn-success / 
    .btn-danger / .btn-link. Re-skin them in Aurora's pill style. */

.theme-aurora .btn,
.theme-aurora .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 22px;
  font-family: var(--aurora-font-body);
  font-size: var(--aurora-fs-sm);
  font-weight: var(--aurora-fw-semibold);
  line-height: 1.2;
  letter-spacing: 0.01em;
  border-radius: var(--aurora-radius-pill);
  border: 1px solid transparent;
  cursor: pointer;
  text-decoration: none;
  transition: background var(--aurora-dur-fast) var(--aurora-ease),
              color var(--aurora-dur-fast) var(--aurora-ease),
              border-color var(--aurora-dur-fast) var(--aurora-ease),
              transform var(--aurora-dur-fast) var(--aurora-ease),
              box-shadow var(--aurora-dur-fast) var(--aurora-ease);
  white-space: nowrap;
  background: var(--aurora-surface-elevated);
  color: var(--aurora-text);
  border-color: var(--aurora-border);
}

.theme-aurora .btn:hover,
.theme-aurora .button:hover {
  background: var(--aurora-surface-muted);
  border-color: var(--aurora-border-strong);
  transform: translateY(-1px);
}

.theme-aurora .btn:active,
.theme-aurora .button:active { transform: translateY(0); }

.theme-aurora .btn:focus-visible,
.theme-aurora .button:focus-visible {
  outline: none;
  box-shadow: var(--aurora-shadow-focus);
}

.theme-aurora .btn:disabled,
.theme-aurora .button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none !important;
}

.theme-aurora .btn-primary,
.theme-aurora .button-primary {
  background: var(--aurora-brand-primary);
  color: var(--aurora-text-inverse);
  border-color: var(--aurora-brand-primary);
}
.theme-aurora .btn-primary:hover,
.theme-aurora .button-primary:hover {
  background: var(--aurora-brand-primary-hover);
  border-color: var(--aurora-brand-primary-hover);
  color: var(--aurora-text-inverse);
}

.theme-aurora .btn-secondary,
.theme-aurora .button-secondary {
  background: var(--aurora-brand-accent);
  color: var(--aurora-text-inverse);
  border-color: var(--aurora-brand-accent);
}
.theme-aurora .btn-secondary:hover,
.theme-aurora .button-secondary:hover {
  background: var(--aurora-brand-accent-hover);
  border-color: var(--aurora-brand-accent-hover);
  color: var(--aurora-text-inverse);
}

.theme-aurora .btn-success {
  background: var(--aurora-success);
  color: var(--aurora-text-inverse);
  border-color: var(--aurora-success);
}
.theme-aurora .btn-success:hover { filter: brightness(0.92); }

.theme-aurora .btn-danger {
  background: var(--aurora-danger);
  color: var(--aurora-text-inverse);
  border-color: var(--aurora-danger);
}
.theme-aurora .btn-danger:hover { filter: brightness(0.92); }

.theme-aurora .btn-link,
.theme-aurora .button-link {
  background: transparent;
  color: var(--aurora-brand-primary);
  border-color: transparent;
  padding-left: 4px;
  padding-right: 4px;
}
.theme-aurora .btn-link:hover {
  background: transparent;
  color: var(--aurora-brand-accent);
  text-decoration: underline;
  text-underline-offset: 4px;
}

.theme-aurora .btn-sm { padding: 8px 14px; font-size: var(--aurora-fs-xs); }
.theme-aurora .btn-lg { padding: 14px 28px; font-size: var(--aurora-fs-md); }
.theme-aurora .btn-block { width: 100%; }

/* ----- 4. CARDS / PANELS / BOXES ----------------------------------------- */

.theme-aurora .card,
.theme-aurora .panel,
.theme-aurora .box {
  background: var(--aurora-surface-elevated);
  border: 1px solid var(--aurora-border);
  border-radius: var(--aurora-radius-md);
  box-shadow: none;
  overflow: hidden;
}
.theme-aurora .card:not(.product-card):hover {
  border-color: var(--aurora-border-strong);
}

.theme-aurora .card-header,
.theme-aurora .panel-header {
  padding: var(--aurora-space-4) var(--aurora-space-5);
  border-bottom: 1px solid var(--aurora-border);
  background: var(--aurora-surface-muted);
  font-family: var(--aurora-font-heading);
  font-weight: var(--aurora-fw-semibold);
}

.theme-aurora .card-body,
.theme-aurora .panel-body { padding: var(--aurora-space-5); }

.theme-aurora .card-footer,
.theme-aurora .panel-footer {
  padding: var(--aurora-space-4) var(--aurora-space-5);
  border-top: 1px solid var(--aurora-border);
  background: var(--aurora-surface-muted);
}

/* ----- 5. ALERTS / TOASTS / BANNERS -------------------------------------- */

.theme-aurora .alert {
  padding: var(--aurora-space-4) var(--aurora-space-5);
  border-radius: var(--aurora-radius-md);
  border: 1px solid transparent;
  font-size: var(--aurora-fs-sm);
  display: flex;
  align-items: flex-start;
  gap: var(--aurora-space-3);
}
.theme-aurora .alert-success { background: var(--aurora-success-bg); color: var(--aurora-success); border-color: var(--aurora-success); }
.theme-aurora .alert-warning { background: var(--aurora-warning-bg); color: var(--aurora-warning); border-color: var(--aurora-warning); }
.theme-aurora .alert-danger,
.theme-aurora .alert-error    { background: var(--aurora-danger-bg);  color: var(--aurora-danger);  border-color: var(--aurora-danger);  }
.theme-aurora .alert-info     { background: var(--aurora-info-bg);    color: var(--aurora-info);    border-color: var(--aurora-info);    }

/* ----- 6. BADGES / TAGS -------------------------------------------------- */

.theme-aurora .badge,
.theme-aurora .tag,
.theme-aurora .label {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  font-size: var(--aurora-fs-xs);
  font-weight: var(--aurora-fw-semibold);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-radius: var(--aurora-radius-pill);
  background: var(--aurora-surface-muted);
  color: var(--aurora-text);
  line-height: 1.4;
}
.theme-aurora .badge-primary { background: var(--aurora-brand-primary); color: var(--aurora-text-inverse); }
.theme-aurora .badge-accent  { background: var(--aurora-brand-accent);  color: var(--aurora-text-inverse); }
.theme-aurora .badge-success { background: var(--aurora-success-bg);    color: var(--aurora-success); }
.theme-aurora .badge-warning { background: var(--aurora-warning-bg);    color: var(--aurora-warning); }
.theme-aurora .badge-danger  { background: var(--aurora-danger-bg);     color: var(--aurora-danger); }

/* ----- 7. BREADCRUMBS / PAGINATION --------------------------------------- */

.theme-aurora .breadcrumb,
.theme-aurora nav.breadcrumb,
.theme-aurora ol.breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--aurora-space-2);
  list-style: none;
  margin: 0 0 var(--aurora-space-5);
  padding: 0;
  font-size: var(--aurora-fs-sm);
  color: var(--aurora-text-muted);
  background: transparent;
}
.theme-aurora .breadcrumb a { color: var(--aurora-text-muted); }
.theme-aurora .breadcrumb a:hover { color: var(--aurora-brand-primary); }
.theme-aurora .breadcrumb-item + .breadcrumb-item::before,
.theme-aurora .breadcrumb li:not(:last-child)::after {
  content: '/';
  color: var(--aurora-border-strong);
  margin: 0 var(--aurora-space-1);
}
.theme-aurora .breadcrumb-item.active,
.theme-aurora .breadcrumb li:last-child {
  color: var(--aurora-text);
  font-weight: var(--aurora-fw-medium);
}

.theme-aurora .pagination {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  list-style: none;
  margin: var(--aurora-space-8) 0;
  padding: 0;
}
.theme-aurora .pagination .page-item .page-link,
.theme-aurora .pagination a,
.theme-aurora .pagination button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  font-size: var(--aurora-fs-sm);
  font-weight: var(--aurora-fw-medium);
  color: var(--aurora-text);
  background: var(--aurora-surface-elevated);
  border: 1px solid var(--aurora-border);
  border-radius: var(--aurora-radius-pill);
  text-decoration: none;
  cursor: pointer;
  transition: all var(--aurora-dur-fast) var(--aurora-ease);
}
.theme-aurora .pagination .page-item .page-link:hover,
.theme-aurora .pagination a:hover {
  background: var(--aurora-surface-muted);
  border-color: var(--aurora-border-strong);
}
.theme-aurora .pagination .page-item.active .page-link,
.theme-aurora .pagination .active a,
.theme-aurora .pagination .current {
  background: var(--aurora-brand-primary);
  color: var(--aurora-text-inverse);
  border-color: var(--aurora-brand-primary);
}

/* ----- 8. TABLES (account/order/admin-style storefront tables) ----------- */

.theme-aurora table.aurora-friendly,
.theme-aurora .table,
.theme-aurora .data-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: var(--aurora-fs-sm);
}
.theme-aurora .table thead th,
.theme-aurora .data-table thead th {
  text-align: left;
  font-family: var(--aurora-font-body);
  font-weight: var(--aurora-fw-semibold);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: var(--aurora-fs-xs);
  color: var(--aurora-text-muted);
  padding: var(--aurora-space-3) var(--aurora-space-4);
  border-bottom: 1px solid var(--aurora-border);
  background: var(--aurora-surface-muted);
}
.theme-aurora .table tbody td,
.theme-aurora .data-table tbody td {
  padding: var(--aurora-space-4);
  border-bottom: 1px solid var(--aurora-border);
}
.theme-aurora .table tbody tr:hover td { background: var(--aurora-surface-muted); }

/* ----- 9. CART / CHECKOUT defaults ---------------------------------------- */

.theme-aurora .cart-page,
.theme-aurora .checkout-page,
.theme-aurora #cart-main-content,
.theme-aurora .order-success-page {
  font-family: var(--aurora-font-body);
}

.theme-aurora .cart-item,
.theme-aurora .order-item {
  border: 1px solid var(--aurora-border);
  border-radius: var(--aurora-radius-md);
  background: var(--aurora-surface-elevated);
  padding: var(--aurora-space-4);
  transition: border-color var(--aurora-dur-fast) var(--aurora-ease);
}
.theme-aurora .cart-item:hover { border-color: var(--aurora-border-strong); }

.theme-aurora .cart-summary,
.theme-aurora .order-summary,
.theme-aurora #cart-summary {
  background: var(--aurora-surface-elevated);
  border: 1px solid var(--aurora-border);
  border-radius: var(--aurora-radius-md);
  padding: var(--aurora-space-5);
}

.theme-aurora .summary-row,
.theme-aurora .price-row {
  display: flex;
  justify-content: space-between;
  padding: var(--aurora-space-2) 0;
  font-size: var(--aurora-fs-sm);
}
.theme-aurora .summary-row.total,
.theme-aurora .price-row.total {
  border-top: 1px solid var(--aurora-border);
  margin-top: var(--aurora-space-2);
  padding-top: var(--aurora-space-3);
  font-family: var(--aurora-font-heading);
  font-size: var(--aurora-fs-lg);
  font-weight: var(--aurora-fw-semibold);
  color: var(--aurora-brand-primary);
}

/* ----- 10. PRODUCT CARDS (legacy default markup .product-card) ------------ */

.theme-aurora .product-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),
              border-color var(--aurora-dur-base) var(--aurora-ease),
              box-shadow var(--aurora-dur-base) var(--aurora-ease);
}
.theme-aurora .product-card:hover {
  transform: translateY(-4px);
  border-color: var(--aurora-border-strong);
  box-shadow: var(--aurora-shadow-2);
}
.theme-aurora .product-card .product-name,
.theme-aurora .product-card .product-title {
  font-family: var(--aurora-font-heading);
  font-weight: var(--aurora-fw-medium);
  color: var(--aurora-text);
}
.theme-aurora .product-card .product-price,
.theme-aurora .product-card .price {
  font-family: var(--aurora-font-heading);
  font-weight: var(--aurora-fw-semibold);
  color: var(--aurora-brand-primary);
}
.theme-aurora .product-card .original-price,
.theme-aurora .product-card .price-old {
  color: var(--aurora-text-subtle);
  text-decoration: line-through;
  font-weight: var(--aurora-fw-regular);
}
.theme-aurora .product-card .discount-badge,
.theme-aurora .product-card .badge-discount {
  background: var(--aurora-brand-accent);
  color: var(--aurora-text-inverse);
}

/* ----- 11. MODAL / DIALOG OVERLAY ---------------------------------------- */

.theme-aurora .modal,
.theme-aurora .modal-content,
.theme-aurora .dialog {
  background: var(--aurora-surface-elevated);
  border: 1px solid var(--aurora-border);
  border-radius: var(--aurora-radius-lg);
  box-shadow: var(--aurora-shadow-3);
}
.theme-aurora .modal-header,
.theme-aurora .dialog-header {
  padding: var(--aurora-space-5);
  border-bottom: 1px solid var(--aurora-border);
  font-family: var(--aurora-font-heading);
  font-weight: var(--aurora-fw-semibold);
}
.theme-aurora .modal-body,
.theme-aurora .dialog-body { padding: var(--aurora-space-5); }
.theme-aurora .modal-footer,
.theme-aurora .dialog-footer {
  padding: var(--aurora-space-4) var(--aurora-space-5);
  border-top: 1px solid var(--aurora-border);
  background: var(--aurora-surface-muted);
}
.theme-aurora .modal-backdrop,
.theme-aurora .dialog-backdrop {
  background: var(--aurora-surface-overlay);
}

/* ----- 12. NOTIFICATIONS (existing system .notification) ----------------- */

.theme-aurora .notification {
  border-radius: var(--aurora-radius-md);
  border: 1px solid var(--aurora-border);
  background: var(--aurora-surface-elevated);
  box-shadow: var(--aurora-shadow-2);
  font-family: var(--aurora-font-body);
  color: var(--aurora-text);
}
.theme-aurora .notification.success { border-color: var(--aurora-success); }
.theme-aurora .notification.warning { border-color: var(--aurora-warning); }
.theme-aurora .notification.error   { border-color: var(--aurora-danger); }
.theme-aurora .notification.info    { border-color: var(--aurora-info); }

/* ----- 13. LINKS / TYPOGRAPHY UTILITIES ---------------------------------- */

.theme-aurora .text-muted    { color: var(--aurora-text-muted) !important; }
.theme-aurora .text-subtle   { color: var(--aurora-text-subtle) !important; }
.theme-aurora .text-primary  { color: var(--aurora-brand-primary) !important; }
.theme-aurora .text-accent   { color: var(--aurora-brand-accent)  !important; }
.theme-aurora .text-danger   { color: var(--aurora-danger) !important; }
.theme-aurora .text-success  { color: var(--aurora-success) !important; }

.theme-aurora hr {
  border: 0;
  border-top: 1px solid var(--aurora-border);
  margin: var(--aurora-space-6) 0;
}

/* ----- 14. ACCOUNT HUB SHELL (injected by aurora.js on .user-panel-page) -- */

.theme-aurora .aurora-account-shell {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: var(--aurora-space-8);
  padding-block: var(--aurora-space-8);
  align-items: flex-start;
}

@media (max-width: 1023px) {
  .theme-aurora .aurora-account-shell {
    grid-template-columns: 1fr;
    gap: var(--aurora-space-5);
    padding-block: var(--aurora-space-5);
  }
}

.theme-aurora .aurora-account-sidebar {
  position: sticky;
  top: calc(var(--aurora-header-height) + var(--aurora-space-4));
  align-self: start;
}
@media (max-width: 1023px) {
  .theme-aurora .aurora-account-sidebar { position: static; }
}

.theme-aurora .aurora-account-sidebar__inner {
  background: var(--aurora-surface-elevated);
  border: 1px solid var(--aurora-border);
  border-radius: var(--aurora-radius-lg);
  padding: var(--aurora-space-5);
  display: flex;
  flex-direction: column;
  gap: var(--aurora-space-4);
}

.theme-aurora .aurora-account-sidebar__header {
  display: flex;
  align-items: center;
  gap: var(--aurora-space-3);
  padding-bottom: var(--aurora-space-4);
  border-bottom: 1px solid var(--aurora-border);
}

.theme-aurora .aurora-account-avatar {
  width: 48px; height: 48px;
  display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--aurora-brand-primary) 0%, var(--aurora-brand-accent) 100%);
  color: var(--aurora-text-inverse);
  border-radius: var(--aurora-radius-pill);
  font-size: 24px;
}

.theme-aurora .aurora-account-sidebar__hello {
  font-size: var(--aurora-fs-xs);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--aurora-text-muted);
}
.theme-aurora .aurora-account-sidebar__name {
  font-family: var(--aurora-font-heading);
  font-weight: var(--aurora-fw-semibold);
  font-size: var(--aurora-fs-md);
  color: var(--aurora-text);
  margin-top: 2px;
}

.theme-aurora .aurora-account-nav {
  list-style: none;
}
.theme-aurora .aurora-account-nav ul {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.theme-aurora .aurora-account-nav__link {
  display: flex;
  align-items: center;
  gap: var(--aurora-space-3);
  padding: var(--aurora-space-3) var(--aurora-space-4);
  border-radius: var(--aurora-radius-md);
  color: var(--aurora-text);
  font-size: var(--aurora-fs-sm);
  font-weight: var(--aurora-fw-medium);
  transition: background var(--aurora-dur-fast) var(--aurora-ease),
              color var(--aurora-dur-fast) var(--aurora-ease);
  text-decoration: none;
}
.theme-aurora .aurora-account-nav__link i {
  width: 18px; text-align: center;
  color: var(--aurora-text-muted);
  transition: color var(--aurora-dur-fast) var(--aurora-ease);
}
.theme-aurora .aurora-account-nav__link:hover {
  background: var(--aurora-surface-muted);
  color: var(--aurora-brand-primary);
}
.theme-aurora .aurora-account-nav__link:hover i { color: var(--aurora-brand-accent); }
.theme-aurora .aurora-account-nav__link.is-active {
  background: var(--aurora-brand-primary);
  color: var(--aurora-text-inverse);
}
.theme-aurora .aurora-account-nav__link.is-active i { color: var(--aurora-text-inverse); }

.theme-aurora .aurora-account-logout {
  display: inline-flex;
  align-items: center;
  gap: var(--aurora-space-2);
  padding-top: var(--aurora-space-3);
  border-top: 1px solid var(--aurora-border);
  font-size: var(--aurora-fs-sm);
  color: var(--aurora-danger);
  font-weight: var(--aurora-fw-medium);
}

.theme-aurora .aurora-account-content > main {
  margin: 0 !important;
  padding: 0 !important;
}
.theme-aurora .aurora-account-content > main .container {
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 100% !important;
}

/* Wrap inner cards into Aurora-style panels */
.theme-aurora.user-panel-page main h1:first-of-type,
.theme-aurora .aurora-account-content > main h1:first-of-type {
  font-family: var(--aurora-font-heading);
  font-weight: var(--aurora-fw-semibold);
  letter-spacing: -0.01em;
  margin-bottom: var(--aurora-space-5);
}

/* =============================================================== *
 *  HEADER / NAVBAR BRIDGE                                          *
 *  When Aurora is active, default-theme pages (cart, checkout,     *
 *  profile, addresses, my-orders, contract, return, shipping,      *
 *  search, etc.) still render the default `<nav class="navbar">`   *
 *  header. These rules re-skin those classes to match Aurora so    *
 *  the user never sees a sudden brown/legacy header on internal    *
 *  pages.                                                          *
 * =============================================================== */

/* --- Top utility bar --- */
.theme-aurora .header-top {
  background: var(--aurora-text);
  color: var(--aurora-text-inverse);
  padding: 8px 0;
  font-size: var(--aurora-fs-xs);
  letter-spacing: 0.02em;
  border-bottom: 0;
}
.theme-aurora .header-top a,
.theme-aurora .header-top .phone-link {
  color: var(--aurora-text-inverse);
  text-decoration: none;
}
.theme-aurora .header-top a:hover,
.theme-aurora .header-top .phone-link:hover {
  color: var(--aurora-brand-accent);
}
.theme-aurora .header-top .currency-pill {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: var(--aurora-radius-pill);
  font-size: var(--aurora-fs-xs);
  color: rgba(250, 250, 247, 0.78);
  background: transparent;
  border: 1px solid rgba(250, 250, 247, 0.18);
  margin-left: 4px;
  transition: background var(--aurora-dur-fast) var(--aurora-ease);
}
.theme-aurora .header-top .currency-pill.active,
.theme-aurora .header-top .currency-pill:hover {
  background: rgba(250, 250, 247, 0.10);
  color: var(--aurora-text-inverse);
  border-color: rgba(250, 250, 247, 0.32);
}

/* --- Main navbar --- */
.theme-aurora .navbar:not(.aurora-header__main) {
  background: var(--aurora-surface-elevated) !important;
  color: var(--aurora-text) !important;
  border-bottom: 1px solid var(--aurora-border) !important;
  box-shadow: none !important;
  padding: var(--aurora-space-3) 0 !important;
}
.theme-aurora .navbar:not(.aurora-header__main) .container {
  display: flex !important;
  align-items: center !important;
  gap: var(--aurora-space-5) !important;
  max-width: 1320px !important;
}

/* --- Logo --- */
.theme-aurora .navbar:not(.aurora-header__main) .logo-image,
.theme-aurora .navbar:not(.aurora-header__main) .nav-brand .logo-image {
  width: auto !important;
  height: 56px !important;
  max-width: 200px !important;
  max-height: 56px !important;
  object-fit: contain !important;
}
@media (max-width: 768px) {
  .theme-aurora .navbar:not(.aurora-header__main) .logo-image {
    height: 40px !important;
    max-height: 40px !important;
    max-width: 140px !important;
  }
}

/* --- Hamburger toggle --- */
.theme-aurora .navbar:not(.aurora-header__main) .menu-toggle {
  background: transparent !important;
  border: 1px solid var(--aurora-border) !important;
  border-radius: var(--aurora-radius-sm) !important;
  width: 40px !important;
  height: 40px !important;
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  cursor: pointer;
}
.theme-aurora .navbar:not(.aurora-header__main) .menu-toggle span {
  display: block;
  width: 18px;
  height: 2px;
  background: var(--aurora-text);
  border-radius: 1px;
}
.theme-aurora .navbar:not(.aurora-header__main) .menu-toggle:hover {
  background: var(--aurora-surface-muted) !important;
  border-color: var(--aurora-border-strong) !important;
}

/* --- Search --- */
.theme-aurora .navbar:not(.aurora-header__main) .nav-search { flex: 1 1 420px; min-width: 0; }
.theme-aurora .navbar:not(.aurora-header__main) .search-form {
  display: flex;
  align-items: center;
  background: var(--aurora-surface-muted);
  border: 1px solid var(--aurora-border);
  border-radius: var(--aurora-radius-pill);
  padding: 4px 4px 4px 16px;
  transition: border-color var(--aurora-dur-fast) var(--aurora-ease),
              box-shadow var(--aurora-dur-fast) var(--aurora-ease);
}
.theme-aurora .navbar:not(.aurora-header__main) .search-form:focus-within {
  border-color: var(--aurora-border-focus);
  box-shadow: 0 0 0 3px rgba(var(--aurora-brand-accent-rgb), 0.12);
  background: var(--aurora-surface-elevated);
}
.theme-aurora .navbar:not(.aurora-header__main) .search-input-wrapper {
  flex: 1 1 auto;
  min-width: 0;
  position: relative;
}
.theme-aurora .navbar:not(.aurora-header__main) .search-input,
.theme-aurora .navbar:not(.aurora-header__main) #header-search-input {
  flex: 1 1 auto !important;
  width: 100% !important;
  background: transparent !important;
  border: 0 !important;
  outline: none !important;
  color: var(--aurora-text) !important;
  font-family: var(--aurora-font-body) !important;
  font-size: var(--aurora-fs-md) !important;
  padding: 8px 4px !important;
  box-shadow: none !important;
}
.theme-aurora .navbar:not(.aurora-header__main) .search-input::placeholder {
  color: var(--aurora-text-subtle) !important;
}
.theme-aurora .navbar:not(.aurora-header__main) .search-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: var(--aurora-brand-primary) !important;
  color: var(--aurora-text-inverse) !important;
  border: 0 !important;
  border-radius: var(--aurora-radius-pill) !important;
  padding: 8px 18px !important;
  font-family: var(--aurora-font-body) !important;
  font-size: var(--aurora-fs-sm) !important;
  font-weight: var(--aurora-fw-medium) !important;
  cursor: pointer !important;
  box-shadow: none !important;
  transition: background var(--aurora-dur-fast) var(--aurora-ease),
              transform var(--aurora-dur-fast) var(--aurora-ease);
  flex: 0 0 auto !important;
}
.theme-aurora .navbar:not(.aurora-header__main) .search-btn:hover {
  background: var(--aurora-brand-primary-hover) !important;
  transform: none !important;
}

/* --- Account icon --- */
.theme-aurora .navbar:not(.aurora-header__main) .account-section { position: relative; }
.theme-aurora .navbar:not(.aurora-header__main) .account-icon {
  width: 40px !important;
  height: 40px !important;
  border-radius: var(--aurora-radius-pill) !important;
  background: var(--aurora-surface-muted) !important;
  border: 1px solid var(--aurora-border) !important;
  color: var(--aurora-text) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1rem !important;
  filter: none !important;
  transition: background var(--aurora-dur-fast) var(--aurora-ease),
              border-color var(--aurora-dur-fast) var(--aurora-ease);
}
.theme-aurora .navbar:not(.aurora-header__main) .account-section:hover .account-icon,
.theme-aurora .navbar:not(.aurora-header__main) .account-section a:hover .account-icon {
  background: var(--aurora-surface-elevated) !important;
  border-color: var(--aurora-border-strong) !important;
}
.theme-aurora .navbar:not(.aurora-header__main) .account-dropdown {
  background: var(--aurora-surface-elevated) !important;
  border: 1px solid var(--aurora-border) !important;
  border-radius: var(--aurora-radius-md) !important;
  box-shadow: var(--aurora-shadow-lg) !important;
  padding: var(--aurora-space-2) !important;
  min-width: 220px;
}
.theme-aurora .navbar:not(.aurora-header__main) .account-dropdown a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px !important;
  border-radius: var(--aurora-radius-sm);
  color: var(--aurora-text) !important;
  font-size: var(--aurora-fs-sm);
  text-decoration: none;
  transition: background var(--aurora-dur-fast) var(--aurora-ease);
}
.theme-aurora .navbar:not(.aurora-header__main) .account-dropdown a:hover {
  background: var(--aurora-surface-muted) !important;
  color: var(--aurora-brand-accent) !important;
}

/* --- Cart link (default header) --- */
.theme-aurora .navbar:not(.aurora-header__main) .cart-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: var(--aurora-surface-muted) !important;
  border: 1px solid var(--aurora-border) !important;
  border-radius: var(--aurora-radius-pill) !important;
  padding: 8px 16px !important;
  color: var(--aurora-text) !important;
  font-family: var(--aurora-font-body) !important;
  font-size: var(--aurora-fs-sm) !important;
  font-weight: var(--aurora-fw-medium) !important;
  text-decoration: none !important;
  transition: background var(--aurora-dur-fast) var(--aurora-ease),
              border-color var(--aurora-dur-fast) var(--aurora-ease);
  position: relative !important;
}
.theme-aurora .navbar:not(.aurora-header__main) .cart-link:hover {
  background: var(--aurora-surface-elevated) !important;
  border-color: var(--aurora-border-strong) !important;
  color: var(--aurora-brand-accent) !important;
}
.theme-aurora .navbar:not(.aurora-header__main) .cart-link .cart-icon {
  font-size: 1rem !important;
  color: inherit !important;
}
.theme-aurora .navbar:not(.aurora-header__main) .cart-link .cart-text {
  font-weight: var(--aurora-fw-medium) !important;
}
.theme-aurora .navbar:not(.aurora-header__main) .cart-link .cart-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: var(--aurora-radius-pill);
  background: var(--aurora-brand-accent) !important;
  color: var(--aurora-text-inverse) !important;
  font-size: 0.75rem !important;
  font-weight: var(--aurora-fw-semibold) !important;
  position: static !important;
  margin-left: 4px;
  border: 0 !important;
}

/* Search dropdown styling */
.theme-aurora .navbar:not(.aurora-header__main) .search-dropdown {
  background: var(--aurora-surface-elevated) !important;
  border: 1px solid var(--aurora-border) !important;
  border-radius: var(--aurora-radius-md) !important;
  box-shadow: var(--aurora-shadow-lg) !important;
  padding: var(--aurora-space-2) !important;
  margin-top: var(--aurora-space-2) !important;
}

/* Phone link in top bar */
.theme-aurora .header-top .phone-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* Mobile-specific tightening */
@media (max-width: 768px) {
  .theme-aurora .navbar:not(.aurora-header__main) .container {
    gap: var(--aurora-space-2) !important;
    flex-wrap: wrap !important;
  }
  .theme-aurora .navbar:not(.aurora-header__main) .nav-search {
    order: 4 !important;
    flex-basis: 100% !important;
    margin-top: var(--aurora-space-2);
  }
  .theme-aurora .navbar:not(.aurora-header__main) .search-btn {
    padding: 8px 12px !important;
  }
  .theme-aurora .navbar:not(.aurora-header__main) .cart-link {
    padding: 6px 10px !important;
  }
  .theme-aurora .navbar:not(.aurora-header__main) .cart-link .cart-text {
    display: none !important;
  }
}

/* =============================================================== *
 *  FOOTER BRIDGE (default `<footer class="footer">`)               *
 *  Re-skins the default theme footer so internal default-rendered  *
 *  pages match Aurora's editorial dark footer.                     *
 * =============================================================== */

.theme-aurora footer.footer:not(.aurora-footer) {
  background: var(--aurora-text) !important;
  color: var(--aurora-text-inverse) !important;
  margin-top: var(--aurora-space-12) !important;
  padding-block: var(--aurora-space-10) var(--aurora-space-5) !important;
  border-top: 0 !important;
}
.theme-aurora footer.footer:not(.aurora-footer) a,
.theme-aurora footer.footer:not(.aurora-footer) a:link,
.theme-aurora footer.footer:not(.aurora-footer) a:visited {
  color: rgba(250, 250, 247, 0.78) !important;
  text-decoration: none !important;
  transition: color var(--aurora-dur-fast) var(--aurora-ease);
}
.theme-aurora footer.footer:not(.aurora-footer) a:hover,
.theme-aurora footer.footer:not(.aurora-footer) a:focus {
  color: var(--aurora-brand-accent) !important;
}
.theme-aurora footer.footer:not(.aurora-footer) .footer-section h3 {
  font-family: var(--aurora-font-heading) !important;
  font-style: italic !important;
  font-size: var(--aurora-fs-md) !important;
  font-weight: var(--aurora-fw-medium) !important;
  letter-spacing: -0.005em !important;
  color: var(--aurora-text-inverse) !important;
  margin-bottom: var(--aurora-space-3) !important;
  position: relative;
  padding-bottom: 6px;
}
.theme-aurora footer.footer:not(.aurora-footer) .footer-section h3::after {
  content: '';
  position: absolute;
  left: 0; bottom: 0;
  width: 28px;
  height: 2px;
  background: var(--aurora-brand-accent);
  border-radius: 2px;
}
.theme-aurora footer.footer:not(.aurora-footer) .footer-bottom {
  border-top: 1px solid rgba(250, 250, 247, 0.10) !important;
  padding-top: var(--aurora-space-4) !important;
  margin-top: var(--aurora-space-6) !important;
  color: rgba(250, 250, 247, 0.55) !important;
  font-size: var(--aurora-fs-xs) !important;
}
.theme-aurora footer.footer:not(.aurora-footer) .footer-bottom a {
  color: rgba(250, 250, 247, 0.78) !important;
}
