﻿/**
 * Salaar Traders â€” Soft Neumorphism Design System
 */

/* -------------------------------------------------------------------------- */
/* Design tokens                                                               */
/* -------------------------------------------------------------------------- */

:root {
  /* Page background - gradient */
  --bg-primary: linear-gradient(135deg, #f5f7fa, #e4e9f2);
  --bg-secondary: linear-gradient(135deg, #ffffff, #f1f3f8);

  /* Neumorphic surfaces with soft gradient */
  --neumorph-bg: linear-gradient(145deg, #ffffff, #e6e9f0);

  --neumorph-shadow-light: 12px 12px 24px rgba(36, 0, 70, 0.15);
  --neumorph-shadow-dark: -12px -12px 24px rgba(255, 255, 255, 0.8);

  --neumorph-shadow-inset-light: inset 6px 6px 12px rgba(36, 0, 70, 0.1);
  --neumorph-shadow-inset-dark: inset -6px -6px 12px rgba(255, 255, 255, 0.8);

  --neumorph-shadow-hover-light: 16px 16px 32px rgba(36, 0, 70, 0.2);
  --neumorph-shadow-hover-dark: -16px -16px 32px rgba(255, 255, 255, 0.9);

  --neumorph-shadow-pressed-light: inset 8px 8px 16px rgba(36, 0, 70, 0.12);
  --neumorph-shadow-pressed-dark: inset -8px -8px 16px rgba(255, 255, 255, 0.9);

  /* Typography */
  --color-text: #240046;
  --color-text-soft: #3a0ca3;
  --color-text-muted: #5a189a;

  /* Accent gradient */
  --color-primary: linear-gradient(135deg, #240046, #3a0ca3);
  --color-primary-light: linear-gradient(135deg, #3a0ca3, #7209b7);
  --color-primary-dark: linear-gradient(135deg, #240046, #10002b);

  /* Navbar gradient */
  --navbar-bg: linear-gradient(135deg, #240046, #3a0ca3);

  /* Glass effects */
  --glass-border: rgba(36, 0, 70, 0.2);
  --glass-blur: 10px;

  /* Motion */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --duration: 0.3s;
}
/* -------------------------------------------------------------------------- */
/* Base                                                                        */
/* -------------------------------------------------------------------------- */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  min-height: 100vh;
  color: var(--color-text-soft);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  background: var(--bg-primary);
}

/* Headings default to strong dark text */
h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--color-text);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.25;
}

a {
  color: var(--color-text-soft);
  text-decoration: none;
  transition: color var(--duration) var(--ease-out);
}

a:hover {
  color: var(--color-text);
}

a:active {
  color: var(--color-text-muted);
}

/* -------------------------------------------------------------------------- */
/* Typography utilities                                                        */
/* -------------------------------------------------------------------------- */

.text-white {
  color: var(--color-text);
}

.text-soft {
  color: var(--color-text-soft);
}

.text-muted {
  color: var(--color-text-muted);
}

/* -------------------------------------------------------------------------- */
/* .neumorph-card                                                              */
/* -------------------------------------------------------------------------- */

.neumorph-card {
  position: relative;
  background: var(--neumorph-bg);
  border-radius: 20px;
  box-shadow:
    var(--neumorph-shadow-light),
    var(--neumorph-shadow-dark);
  transition:
    transform var(--duration) var(--ease-out),
    box-shadow var(--duration) var(--ease-out);
}

.neumorph-card:hover {
  box-shadow:
    var(--neumorph-shadow-hover-light),
    var(--neumorph-shadow-hover-dark);
  transform: translateY(-2px);
}

.neumorph-card:active {
  box-shadow:
    var(--neumorph-shadow-pressed-light),
    var(--neumorph-shadow-pressed-dark);
  transform: translateY(0);
}

/* Optional padding helper for card content */
.neumorph-card--padded {
  padding: 1.5rem 1.75rem;
}

/* Inset variant for pressed/embedded look */
.neumorph-card--inset {
  box-shadow:
    var(--neumorph-shadow-inset-light),
    var(--neumorph-shadow-inset-dark);
}

.neumorph-card--inset:hover {
  box-shadow:
    var(--neumorph-shadow-pressed-light),
    var(--neumorph-shadow-pressed-dark);
}

/* -------------------------------------------------------------------------- */
/* .neumorph-button                                                            */
/* -------------------------------------------------------------------------- */

.neumorph-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  font-family: inherit;
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--color-text-soft);
  cursor: pointer;
  background: var(--neumorph-bg);
  border: none;
  border-radius: 16px;
  box-shadow:
    var(--neumorph-shadow-light),
    var(--neumorph-shadow-dark);
  transition:
    box-shadow var(--duration) var(--ease-out),
    transform var(--duration) var(--ease-out);
}

.neumorph-button:hover {
  box-shadow:
    var(--neumorph-shadow-hover-light),
    var(--neumorph-shadow-hover-dark);
  transform: translateY(-1px);
}

.neumorph-button:active {
  box-shadow:
    var(--neumorph-shadow-pressed-light),
    var(--neumorph-shadow-pressed-dark);
  transform: translateY(0);
}

.neumorph-button:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 3px;
}

.neumorph-button:disabled,
.neumorph-button[aria-disabled="true"] {
  opacity: 0.45;
  cursor: not-allowed;
  transform: none;
  box-shadow:
    var(--neumorph-shadow-inset-light),
    var(--neumorph-shadow-inset-dark);
}

/* Primary emphasis variant */
.neumorph-button--primary {
  background: var(--color-primary);
  color: white;
  box-shadow:
    8px 8px 16px rgba(66, 153, 225, 0.3),
    -8px -8px 16px rgba(99, 179, 237, 0.1);
}

.neumorph-button--primary:hover {
  background: var(--color-primary-light);
  box-shadow:
    12px 12px 24px rgba(66, 153, 225, 0.4),
    -12px -12px 24px rgba(99, 179, 237, 0.2);
}

.neumorph-button--primary:active {
  background: var(--color-primary-dark);
  box-shadow:
    inset 6px 6px 12px rgba(66, 153, 225, 0.3),
    inset -6px -6px 12px rgba(99, 179, 237, 0.1);
}

/* -------------------------------------------------------------------------- */
/* Chat widget                                                                 */
/* -------------------------------------------------------------------------- */
.chat-widget-wrap {
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  z-index: 900;
  max-width: 360px;
  width: calc(100vw - 2rem);
}

.chat-launcher {
  min-width: 4.8rem;
  min-height: 4.8rem;
  padding: 0.85rem 1rem;
  border-radius: 999px;
  background: var(--neumorph-bg);
  border: none;
  box-shadow:
    var(--neumorph-shadow-light),
    var(--neumorph-shadow-dark);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-weight: 500;
  color: var(--color-text);
}

.chat-launcher:hover {
  background: #f5f5f5;
  box-shadow:
    var(--neumorph-shadow-hover-light),
    var(--neumorph-shadow-hover-dark);
}

.chat-launcher:active {
  background: #ececec;
  box-shadow:
    var(--neumorph-shadow-pressed-light),
    var(--neumorph-shadow-pressed-dark);
}

.chat-panel {
  width: 100%;
  max-width: 360px;
  margin-top: 1rem;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  background: var(--neumorph-bg);
  border-radius: 20px;
  box-shadow:
    var(--neumorph-shadow-light),
    var(--neumorph-shadow-dark);
}

.chat-panel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.chat-panel__header h2 {
  margin: 0;
  font-size: 1.05rem;
}

.chat-panel__header p {
  margin: 0.35rem 0 0;
  color: var(--color-text-muted);
  font-size: 0.92rem;
}

.chat-panel__close {
  border: none;
  background: transparent;
  color: var(--color-text);
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  padding: 0.25rem;
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: background 0.2s ease;
}

.chat-panel__close:hover {
  background: rgba(0, 0, 0, 0.05);
}

.chat-panel__close:active {
  background: rgba(0, 0, 0, 0.1);
}

.chat-panel__messages {
  min-height: 240px;
  max-height: 320px;
  overflow-y: auto;
  padding-right: 0.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.chat-panel__empty {
  color: var(--color-text-muted);
  padding: 1rem;
  text-align: center;
}

.chat-panel__form {
  display: grid;
  gap: 0.75rem;
}

.chat-input {
  width: 100%;
  min-height: 5rem;
  border: none;
  border-radius: 16px;
  padding: 0.9rem 1rem;
  color: var(--color-text);
  background: var(--bg-secondary);
  box-shadow:
    inset 4px 4px 8px rgba(163, 177, 198, 0.2),
    inset -4px -4px 8px rgba(255, 255, 255, 0.8);
  resize: vertical;
  transition:
    box-shadow var(--duration) var(--ease-out);
}

.chat-input:focus {
  outline: none;
  box-shadow:
    inset 6px 6px 12px rgba(163, 177, 198, 0.3),
    inset -6px -6px 12px rgba(255, 255, 255, 0.9);
}

.chat-message {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.85rem 0.95rem;
  border-radius: 16px;
  background: var(--bg-secondary);
  box-shadow:
    inset 3px 3px 6px rgba(163, 177, 198, 0.15),
    inset -3px -3px 6px rgba(255, 255, 255, 0.8);
}

.chat-message--admin {
  align-self: flex-start;
  background: var(--bg-secondary);
  box-shadow:
    4px 4px 8px rgba(163, 177, 198, 0.2),
    -4px -4px 8px rgba(255, 255, 255, 0.8);
}

.chat-message--user {
  align-self: flex-end;
  background: var(--color-primary);
  color: white;
  box-shadow:
    4px 4px 8px rgba(66, 153, 225, 0.3),
    -4px -4px 8px rgba(99, 179, 237, 0.1);
}

.chat-message__body p {
  margin: 0;
  white-space: pre-wrap;
}

.chat-message--user .chat-message__body p {
  color: white;
}

.chat-message__meta {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  color: var(--color-text-muted);
  font-size: 0.82rem;
}

.chat-page {
  display: grid;
  gap: 1.5rem;
}

.chat-page__messages {
  display: grid;
  gap: 1rem;
}

.chat-page__form {
  display: grid;
  gap: 1rem;
}

.chat-admin-list__items {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1rem;
}

.chat-admin-list__item {
  padding: 1rem;
}

.chat-admin-list__item a {
  display: grid;
  gap: 0.5rem;
  color: inherit;
  text-decoration: none;
}

.chat-admin-list__item a:hover {
  background: rgba(255, 255, 255, 0.06);
}

.chat-admin-list__item strong {
  display: block;
  margin-bottom: 0.25rem;
}

.toast-container {
  position: fixed;
  top: 1.5rem;
  right: 1.5rem;
  z-index: 120;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  max-width: 360px;
  width: calc(100vw - 3rem);
  pointer-events: none;
}

.toast {
  min-width: 14rem;
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.95rem 1rem;
  border-radius: 18px;
  background: var(--neumorph-bg);
  color: var(--color-text);
  box-shadow:
    var(--neumorph-shadow-light),
    var(--neumorph-shadow-dark);
  pointer-events: auto;
  animation: toast-slide-in 0.3s var(--ease-out);
}

.toast__content {
  flex: 1;
  font-size: 0.95rem;
  line-height: 1.5;
}

.toast--success {
  background: var(--color-primary-light);
  color: white;
  box-shadow:
    8px 8px 16px rgba(66, 153, 225, 0.3),
    -8px -8px 16px rgba(99, 179, 237, 0.1);
}

.toast--error {
  background: #fc8181;
  color: white;
  box-shadow:
    8px 8px 16px rgba(252, 129, 129, 0.3),
    -8px -8px 16px rgba(252, 165, 165, 0.1);
}

.toast--info {
  background: var(--bg-secondary);
  box-shadow:
    var(--neumorph-shadow-light),
    var(--neumorph-shadow-dark);
}

.toast__close {
  border: none;
  padding: 0;
  margin: 0;
  background: transparent;
  color: inherit;
  font-size: 1.2rem;
  line-height: 1;
  cursor: pointer;
}

@keyframes toast-slide-in {
  from {
    opacity: 0;
    transform: translateY(-10px) scale(0.96);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (max-width: 640px) {
  .toast-container {
    top: 1rem;
    right: 1rem;
    max-width: calc(100vw - 2rem);
  }
}

/* -------------------------------------------------------------------------- */
/* .glass-navbar                                                               */
/* -------------------------------------------------------------------------- */

.glass-navbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 0.85rem 1.5rem;
  background: #240046;
}

/* Nav links inside navbar */
.glass-navbar a {
  color: #ffffff;
  padding: 0.4rem 0.65rem;
  border-radius: 8px;
}

.glass-navbar a[aria-current="page"] {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.25);
}

/* Categories dropdown in navbar should be white */
.glass-navbar .nav-details__summary {
  color: #ffffff;
}

/* Icons in navbar should be white */
.glass-navbar .top-nav__search-icon {
  color: #ffffff !important;
}

.glass-navbar .top-nav__search-icon svg {
  stroke: #ffffff !important;
  color: #ffffff !important;
}

.glass-navbar .top-nav__icon,
.glass-navbar .nav-details__chevron {
  color: #ffffff;
}

.glass-navbar .top-nav__search-input {
  color: #ffffff;
}

.glass-navbar .top-nav__search-input::placeholder {
  color: rgba(255, 255, 255, 0.6);
}

/* Sticky optional modifier */
.glass-navbar--sticky {
  position: sticky;
  top: 0;
  z-index: 1000;
  width: 100%;
}

/* -------------------------------------------------------------------------- */
/* Accessibility                                                               */
/* -------------------------------------------------------------------------- */

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* -------------------------------------------------------------------------- */
/* Base layout (templates/base.html)                                          */
/* -------------------------------------------------------------------------- */

.site-body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.site-body.nav-open {
  overflow: hidden;
}

.site-shell {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 100vh;
}

.site-header {
  position: relative;
  z-index: 150;
}

.site-main {
  flex: 1 0 auto;
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding: 2rem 1.5rem 3rem;
}

.section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.75rem;
}

.section-header h2 {
  margin: 0;
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  line-height: 1.05;
}

.section-header .eyebrow {
  margin-bottom: 0.35rem;
  display: block;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  font-size: 0.82rem;
}

.home-section {
  margin-bottom: 2.5rem;
}

.product-grid,
.category-grid,
.promo-grid,
.wishlist-grid {
  display: grid;
  gap: 1.35rem;
}

.category-card,
.promo-card,
.wishlist-card,
.product-card {
  background: var(--neumorph-bg);
  border-radius: 20px;
  box-shadow:
    var(--neumorph-shadow-light),
    var(--neumorph-shadow-dark);
  transition:
    transform var(--duration) var(--ease-out),
    box-shadow var(--duration) var(--ease-out);
}

.category-card:hover,
.promo-card:hover,
.wishlist-card:hover,
.product-card:hover {
  box-shadow:
    var(--neumorph-shadow-hover-light),
    var(--neumorph-shadow-hover-dark);
  transform: translateY(-4px);
}

.category-card {
  min-height: 140px;
  padding: 1.25rem;
  background: linear-gradient(135deg, #2d1b69 0%, #3d2680 100%);
  border-radius: 16px;
  transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: 0 8px 32px rgba(45, 27, 105, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  gap: 1.25rem;
}

.category-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(45, 27, 105, 0.4);
  border-color: rgba(168, 229, 255, 0.3);
  background: linear-gradient(135deg, #3d2680 0%, #4a3490 100%);
}

.category-card__icon {
  width: 5rem;
  height: 5rem;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, rgba(168, 229, 255, 0.2) 0%, rgba(168, 229, 255, 0.05) 100%);
  color: #a8e5ff;
  font-size: 1.8rem;
  font-weight: 700;
  border: 1px solid rgba(168, 229, 255, 0.2);
  flex-shrink: 0;
  transition: all 0.3s ease;
}

.category-card:hover .category-card__icon {
  background: linear-gradient(135deg, rgba(168, 229, 255, 0.3) 0%, rgba(168, 229, 255, 0.1) 100%);
  border-color: rgba(168, 229, 255, 0.4);
  box-shadow: 0 0 20px rgba(168, 229, 255, 0.2);
}

.category-card__title {
  margin: 0 0 0.4rem;
  font-size: 1.1rem;
  font-weight: 600;
  color: white;
}

.category-card__subtitle {
  margin: 0;
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.6);
}

.promo-card {
  padding: 2rem;
  background: linear-gradient(135deg, #2d1b69 0%, #3d2680 100%);
  border-radius: 16px;
  transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: 0 8px 32px rgba(45, 27, 105, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 220px;
}

.promo-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(45, 27, 105, 0.4);
  border-color: rgba(168, 229, 255, 0.3);
  background: linear-gradient(135deg, #3d2680 0%, #4a3490 100%);
}

.promo-card__eyebrow {
  margin: 0 0 0.75rem;
  font-size: 0.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #a8e5ff;
  font-weight: 600;
}

.promo-card__title {
  margin: 0 0 1rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: white;
  line-height: 1.2;
}

.promo-card__copy {
  margin: 0 0 1.5rem;
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.75);
  line-height: 1.5;
}

/* -------------------------------------------------------------------------- */
/* Hero Banner Slider (Side-by-side Layout)                                  */
/* -------------------------------------------------------------------------- */

/* Text content slider */
.hero-text-slider {
  position: relative;
  width: 100%;
  min-height: 200px;
}

.hero-text-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  transition: opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
}

.hero-text-slide.active {
  opacity: 1;
  pointer-events: auto;
}


/* Image slider wrapper */
.hero-image-slider {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 420px;
  overflow: hidden;
  border-radius: 20px;
}

.hero-image-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.hero-image-slide.active {
  opacity: 1 !important; /* Ensure active slide is visible */
}

/* Make sure the first slide is visible by default */
.hero-image-slide:first-child {
  opacity: 1;
}

.hero-image-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: rgba(0, 0, 0, 0.1);
}

/* Slider Navigation - on image side */
.hero-slider-controls {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px;
  z-index: 3;
}

.hero-dots {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 10px;
}

.hero-dot {
  width: 12px;
  height: 12px;
  border: none;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  transition: all 0.3s ease;
}

.hero-dot.active {
  background: white;
  width: 32px;
  border-radius: 6px;
}

.hero-dot:hover {
  background: rgba(255, 255, 255, 0.8);
}

.hero-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  border: none;
  background: rgba(255, 255, 255, 0.2);
  color: white;
  font-size: 24px;
  cursor: pointer;
  border-radius: 50%;
  transition: all 0.3s ease;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(5px);
}

.hero-nav:hover {
  background: rgba(255, 255, 255, 0.4);
}

.hero-nav--prev {
  left: 20px;
}

.hero-nav--next {
  right: 20px;
}

/* Responsive - adjust grid layout */
@media (max-width: 768px) {
  .hero-nav {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }

  .hero-nav--prev {
    left: 10px;
  }

  .hero-nav--next {
    right: 10px;
  }
}

@media (max-width: 480px) {
  .hero-nav {
    width: 36px;
    height: 36px;
    font-size: 16px;
  }

  .hero-dots {
    bottom: 10px;
    gap: 8px;
  }

  .hero-dot {
    width: 8px;
    height: 8px;
  }

  .hero-dot.active {
    width: 24px;
  }
}

.home-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.9fr);
  gap: 1.75rem;
  align-items: start;
  margin-bottom: 3rem;
}

.home-hero__content {
  display: grid;
  gap: 1rem;
  align-self: start;
  height: fit-content;
}

.home-hero__title {
  margin: 0;
  font-size: clamp(2.75rem, 5vw, 4.25rem);
  line-height: 0.98;
}

.home-hero__copy {
  margin: 0;
  max-width: 40rem;
  color: var(--color-text-soft);
}

.home-hero__actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.85rem;
}

.home-hero__image {
  min-height: 420px;
  position: relative;
  overflow: hidden;
  border-radius: 20px;
}

.home-hero__placeholder {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(255,255,255,0.16), rgba(255,255,255,0.06));
  border: 1px dashed rgba(255, 255, 255, 0.22);
  color: var(--color-text-soft);
  font-size: 0.95rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .home-hero {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .site-main {
    padding: 1.5rem 1rem 2rem;
  }

  .home-hero__image,
  .home-hero__content {
    min-height: auto;
  }
}

.site-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  font-weight: 600;
  font-size: 1.125rem;
  letter-spacing: -0.02em;
  text-decoration: none;
  color: var(--color-text);
  border-radius: 16px;
  padding: 0.5rem 0.75rem;
  background: var(--neumorph-bg);
  box-shadow:
    var(--neumorph-shadow-light),
    var(--neumorph-shadow-dark);
  transition:
    box-shadow var(--duration) var(--ease-out),
    transform var(--duration) var(--ease-out);
}

.site-brand:hover {
  box-shadow:
    var(--neumorph-shadow-hover-light),
    var(--neumorph-shadow-hover-dark);
  transform: translateY(-1px);
  color: var(--color-text);
}

.site-brand:active {
  box-shadow:
    var(--neumorph-shadow-pressed-light),
    var(--neumorph-shadow-pressed-dark);
  transform: translateY(0);
}

.site-logo {
  display: block;
  width: 40px;
  height: 40px;
  object-fit: contain;
  border-radius: 10px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
}

.site-name {
  line-height: 1.2;
}

/* -------------------------------------------------------------------------- */
/* Top navigation (glass + scroll + mobile)                                     */
/* -------------------------------------------------------------------------- */

.top-nav {
  box-shadow:
    var(--neumorph-shadow-light),
    var(--neumorph-shadow-dark);
  transition:
    box-shadow var(--duration) var(--ease-out);
}

.top-nav--scrolled {
  box-shadow:
    var(--neumorph-shadow-hover-light),
    var(--neumorph-shadow-hover-dark);
}

.top-nav__inner {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 0.75rem 1rem;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0.65rem 1.25rem;
}

.top-nav__brand {
  justify-self: start;
  min-width: 0;
}

.top-nav__toggle {
  justify-self: end;
  padding: 0.5rem 0.65rem;
  min-width: 2.75rem;
  min-height: 2.75rem;
  background: var(--neumorph-bg);
  border: none;
  border-radius: 12px;
  box-shadow:
    var(--neumorph-shadow-light),
    var(--neumorph-shadow-dark);
  cursor: pointer;
}

.top-nav__burger {
  display: block;
  position: relative;
  width: 1.25rem;
  height: 2px;
  background: currentColor;
  border-radius: 1px;
  color: var(--color-text);
}

.top-nav__burger::before,
.top-nav__burger::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background: currentColor;
  border-radius: 1px;
  transition: transform var(--duration) var(--ease-out);
}

.top-nav__burger::before {
  top: -6px;
}

.top-nav__burger::after {
  top: 6px;
}

body.nav-open .top-nav__burger {
  background: transparent;
}

body.nav-open .top-nav__burger::before {
  top: 0;
  transform: rotate(45deg);
}

body.nav-open .top-nav__burger::after {
  top: 0;
  transform: rotate(-45deg);
}

.top-nav__panel {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1.25rem;
  padding: 1.25rem 1.25rem 1.5rem;
}

.top-nav__list {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.top-nav__list > li > a,
.top-nav__list .nav-details__summary {
  display: block;
  width: 100%;
  text-align: left;
}

.top-nav__center .top-nav__list a {
  padding: 0.55rem 0.7rem;
}

.top-nav__end {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.85rem;
}

.top-nav__search {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}

.top-nav__search-icon {
  position: absolute;
  left: 0.75rem;
  display: flex;
  color: white;
  pointer-events: none;
}

.top-nav__search-input {
  width: 100%;
  padding: 0.55rem 0.75rem 0.55rem 2.35rem;
  font: inherit;
  font-size: 0.9375rem;
  color: white;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid var(--glass-border);
  border-radius: 12px;
  box-shadow: var(--glass-inset);
  -webkit-backdrop-filter: blur(var(--glass-blur));
  backdrop-filter: blur(var(--glass-blur));
}

.top-nav__search-input::placeholder {
  color: var(--color-text-muted);
}

.top-nav__search-input:focus {
  outline: none;
  border-color: rgba(255, 255, 255, 0.45);
  background: rgba(255, 255, 255, 0.12);
}

.top-nav__cart {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 0.6rem;
  border-radius: 12px;
  color: var(--color-text-soft);
  border: 1px solid transparent;
}

.top-nav__icon {
  flex-shrink: 0;
}

.top-nav__cart-count {
  min-width: 1.35rem;
  height: 1.35rem;
  padding: 0 0.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1;
  color: var(--color-text);
  background: rgba(5, 153, 173, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 999px;
}

.top-nav__wishlist {
  display: inline-flex;
  align-items: center;
  padding: 0.45rem 0.6rem;
  border-radius: 12px;
  color: var(--color-text-soft);
  border: 1px solid transparent;
}

/* Dropdowns (details) */
.nav-details {
  position: relative;
}

.nav-details__summary {
  list-style: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.55rem 0.7rem;
  border-radius: 10px;
  color: var(--color-text-soft);
  font-weight: 500;
}

.nav-details__summary::-webkit-details-marker {
  display: none;
}

.nav-details__summary::marker {
  content: "";
}

.nav-details[open] > .nav-details__summary {
  color: var(--color-text);
  background: rgba(255, 255, 255, 0.1);
}

.nav-details__chevron {
  flex-shrink: 0;
  opacity: 0.85;
  transition: transform var(--duration) var(--ease-out);
}

.nav-details[open] .nav-details__chevron {
  transform: rotate(180deg);
}

.nav-details__menu {
  margin: 0.4rem 0 0;
  padding: 0.5rem 0;
  list-style: none;
  min-width: 12rem;
  border-radius: 14px;
  z-index: 160;
}

.nav-details__menu li a {
  display: block;
  padding: 0.45rem 0.9rem;
  font-size: 0.9375rem;
  color: var(--color-text-soft);
}

.nav-details__menu li a:hover {
  background: rgba(255, 255, 255, 0.08);
  color: var(--color-text);
}

.nav-details--user .nav-details__summary--icon {
  padding: 0.45rem 0.55rem;
  gap: 0.25rem;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.06);
}

.nav-details--user .nav-details__chevron--user {
  margin-left: 0.1rem;
}

.nav-details__menu--right {
  position: absolute;
  right: 0;
  top: calc(100% + 0.35rem);
}

/* Mobile drawer */
.top-nav__backdrop {
  position: fixed;
  inset: 0;
  z-index: 140;
  background: rgba(0, 8, 12, 0.65);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.32s var(--ease-out),
    visibility 0.32s var(--ease-out);
}

body.nav-open .top-nav__backdrop {
  opacity: 1;
  visibility: visible;
}

@media (max-width: 639px) {
  .top-nav__inner {
    padding: 0.5rem 0.75rem;
  }

  .top-nav__toggle {
    min-width: 2.5rem;
    min-height: 2.5rem;
    padding: 0.4rem 0.5rem;
  }

  .top-nav__burger {
    width: 1.1rem;
  }

  .top-nav__burger::before {
    top: -5px;
  }

  .top-nav__burger::after {
    top: 5px;
  }

  .top-nav__panel {
    width: 100%;
    padding: 4.75rem 1rem 1.5rem;
  }

  .site-logo {
    width: 32px !important;
    height: 32px !important;
  }

  .site-name {
    display: none;
  }

  .top-nav__list > li > a {
    padding: 0.65rem 0.65rem !important;
    font-size: 0.9375rem;
  }

  .top-nav__search {
    margin-bottom: 0.5rem;
  }

  .top-nav__search-input {
    font-size: 0.9rem;
  }

  .top-nav__cart,
  .top-nav__wishlist,
  .nav-details--user .nav-details__summary {
    font-size: 0.9rem;
    padding: 0.6rem 0.8rem;
  }

  .top-nav__icon {
    width: 20px;
    height: 20px;
  }

  .top-nav__cart-count {
    min-width: 1.2rem;
    height: 1.2rem;
    font-size: 0.7rem;
  }

  .nav-details__chevron {
    width: 10px;
    height: 10px;
  }

  .nav-details__menu {
    margin: 0.4rem 0 0.8rem;
  }

  .nav-details__menu li a {
    padding: 0.5rem 0.9rem;
    font-size: 0.9rem;
  }
}

/* Medium devices optimization */
@media (min-width: 640px) and (max-width: 900px) {
  .top-nav__inner {
    padding: 0.55rem 1rem;
  }

  .top-nav__panel {
    width: min(100%, 20rem);
    padding: 5rem 1rem 1.5rem;
  }

  .top-nav__list > li > a {
    padding: 0.65rem 0.75rem !important;
    font-size: 0.95rem;
  }

  .top-nav__search {
    max-width: 100%;
  }

  .top-nav__end {
    gap: 0.85rem;
  }

  .top-nav__cart,
  .top-nav__wishlist,
  .nav-details--user .nav-details__summary {
    padding: 0.65rem 0.9rem;
    font-size: 0.9rem;
  }
}

@media (max-width: 1023px) {
  .top-nav__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(45, 27, 105, 0.4) 0%, rgba(61, 38, 128, 0.4) 100%);
    border: 1px solid rgba(168, 229, 255, 0.2);
    transition: all 0.3s var(--ease-out);
  }

  .top-nav__toggle:hover {
    background: linear-gradient(135deg, rgba(45, 27, 105, 0.6) 0%, rgba(61, 38, 128, 0.6) 100%);
    border-color: rgba(168, 229, 255, 0.4);
  }

  body.nav-open .top-nav__toggle {
    background: linear-gradient(135deg, rgba(168, 229, 255, 0.2) 0%, rgba(168, 229, 255, 0.15) 100%);
    border-color: rgba(168, 229, 255, 0.5);
  }

  .top-nav__burger {
    color: white;
  }

  .top-nav__panel {
    position: fixed;
    z-index: 200;
    top: 0;
    right: 0;
    width: min(100%, 22rem);
    height: 100vh;
    padding: 5.25rem 1.25rem 2rem;
    margin: 0;
    background: linear-gradient(135deg, rgba(1, 42, 48, 0.97) 0%, rgba(15, 6, 32, 0.97) 100%);
    border-left: 1px solid rgba(168, 229, 255, 0.2);
    box-shadow: -12px 0 40px rgba(0, 0, 0, 0.3);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    transform: translateX(100%);
    transition: transform 0.32s var(--ease-out);
    overflow-y: auto;
    overflow-x: hidden;
  }

  body.nav-open .top-nav__panel {
    transform: translateX(0);
  }

  .top-nav__list {
    border-top: 1px solid rgba(168, 229, 255, 0.1);
    border-bottom: 1px solid rgba(168, 229, 255, 0.1);
    padding: 0.5rem 0;
  }

  .top-nav__list > li > a {
    padding: 0.75rem 0.85rem !important;
    border-radius: 8px;
    color: rgba(255, 255, 255, 0.85);
    transition: all 0.2s var(--ease-out);
  }

  .top-nav__list > li > a:hover {
    background: rgba(168, 229, 255, 0.12);
    color: white;
    padding-left: 1.1rem;
  }

  .nav-details__summary {
    padding: 0.75rem 0.85rem !important;
    border-radius: 8px;
    color: rgba(255, 255, 255, 0.85);
    transition: all 0.2s var(--ease-out);
  }

  .nav-details__summary:hover {
    background: rgba(168, 229, 255, 0.12);
    color: white;
  }

  .nav-details__chevron {
    color: rgba(168, 229, 255, 0.8);
  }

  .nav-details__menu {
    background: rgba(45, 27, 105, 0.3);
    border: 1px solid rgba(168, 229, 255, 0.15);
    border-radius: 12px;
    margin: 0.5rem 0 1rem;
    padding: 0.5rem 0;
    box-shadow: inset 0 8px 32px rgba(0, 0, 0, 0.1);
  }

  .nav-details__menu li a {
    padding: 0.55rem 1rem;
    color: rgba(255, 255, 255, 0.75);
    border-left: 2px solid transparent;
    border-radius: 0;
    transition: all 0.2s var(--ease-out);
  }

  .nav-details__menu li a:hover {
    background: rgba(168, 229, 255, 0.15);
    color: #a8e5ff;
    border-left-color: #a8e5ff;
    padding-left: 1.2rem;
  }

  .nav-details__menu--right {
    position: static;
    margin-top: 0.35rem;
    background: rgba(45, 27, 105, 0.3);
    border: 1px solid rgba(168, 229, 255, 0.15);
    border-radius: 12px;
    box-shadow: inset 0 8px 32px rgba(0, 0, 0, 0.1);
  }

  .top-nav__end {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(168, 229, 255, 0.1);
  }

  .top-nav__search {
    width: 100%;
  }

  .top-nav__search-input {
    background: rgba(45, 27, 105, 0.3);
    border: 1px solid rgba(168, 229, 255, 0.2);
    padding: 0.7rem 0.85rem 0.7rem 2.5rem;
    border-radius: 12px;
    font-size: 0.95rem;
    color: white;
    transition: all 0.2s var(--ease-out);
  }

  .top-nav__search-input:focus {
    background: rgba(45, 27, 105, 0.4);
    border-color: #a8e5ff;
    box-shadow: 0 0 16px rgba(168, 229, 255, 0.2);
  }

  .top-nav__cart {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.7rem 1rem;
    background: rgba(45, 27, 105, 0.3);
    border: 1px solid rgba(168, 229, 255, 0.2);
    border-radius: 12px;
    color: #a8e5ff;
    transition: all 0.2s var(--ease-out);
  }

  .top-nav__cart:hover {
    background: rgba(45, 27, 105, 0.5);
    border-color: #a8e5ff;
  }

  .top-nav__wishlist {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.7rem 1rem;
    background: rgba(45, 27, 105, 0.3);
    border: 1px solid rgba(168, 229, 255, 0.2);
    border-radius: 12px;
    color: #a8e5ff;
    transition: all 0.2s var(--ease-out);
  }

  .top-nav__wishlist:hover {
    background: rgba(45, 27, 105, 0.5);
    border-color: #a8e5ff;
  }

  .nav-details--user {
    align-self: stretch;
  }

  .nav-details--user .nav-details__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.7rem 1rem !important;
    background: rgba(45, 27, 105, 0.3);
    border: 1px solid rgba(168, 229, 255, 0.2);
    border-radius: 12px;
    color: #a8e5ff;
  }

  .nav-details--user .nav-details__summary:hover {
    background: rgba(45, 27, 105, 0.5);
    border-color: #a8e5ff;
  }
}

@media (min-width: 1024px) {
  .top-nav__toggle {
    display: none !important;
  }

  .top-nav__backdrop {
    display: none !important;
  }

  .top-nav__inner {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 1rem 1.5rem;
    padding: 0.55rem 1.5rem;
  }

  .top-nav__brand {
    grid-column: 1;
  }

  .top-nav__panel {
    grid-column: 2 / 4;
    display: contents;
  }

  .top-nav__center {
    grid-column: 2;
    justify-self: center;
  }

  .top-nav__end {
    grid-column: 3;
    justify-self: end;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.65rem 0.85rem;
    max-width: 28rem;
    padding-top: 0;
    border-top: none;
  }

  .top-nav__list {
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.15rem 0.25rem;
    border-top: none;
    border-bottom: none;
    padding: 0;
  }

  .top-nav__list > li > a {
    padding: 0.55rem 0.7rem !important;
  }

  .top-nav__list > li > a:hover {
    padding-left: 0.7rem !important;
  }

  .top-nav__search {
    width: 11rem;
    max-width: 36vw;
  }

  .top-nav__search-input {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid var(--glass-border);
    padding: 0.55rem 0.75rem 0.55rem 2.35rem;
  }

  .top-nav__search-input:focus {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.45);
  }

  .top-nav__cart {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 0.6rem;
    background: transparent;
    border: 1px solid transparent;
  }

  .top-nav__cart:hover {
    background: rgba(168, 229, 255, 0.1);
    border-color: rgba(168, 229, 255, 0.2);
  }

  .top-nav__wishlist {
    display: inline-flex;
    padding: 0.45rem 0.6rem;
    background: transparent;
    border: 1px solid transparent;
  }

  .top-nav__wishlist:hover {
    background: rgba(168, 229, 255, 0.1);
    border-color: rgba(168, 229, 255, 0.2);
  }

  .nav-details__summary {
    padding: 0.55rem 0.7rem !important;
  }

  .nav-details__menu {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: calc(100% + 0.35rem);
    background: transparent;
    border: 1px solid var(--glass-border);
    box-shadow: var(--glass-shadow);
  }

  .nav-details--user .nav-details__menu--right {
    left: auto;
    right: 0;
    transform: none;
  }

  .nav-details--user .nav-details__summary {
    padding: 0.55rem 0.7rem !important;
    background: transparent;
    border: 1px solid transparent;
  }

  .nav-details--user .nav-details__summary:hover {
    background: rgba(168, 229, 255, 0.1);
    border-color: rgba(168, 229, 255, 0.2);
  }
}

/* -------------------------------------------------------------------------- */
/* Site footer                                                                 */
/* -------------------------------------------------------------------------- */

.site-footer {
  flex-shrink: 0;
  width: 100%;
  padding: 2rem 1.25rem 2.5rem;
}

.site-footer--glass {
  margin-top: auto;
}

.site-footer__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 1.75rem 1.5rem 1.5rem;
  border-radius: 20px;
  background: var(--neumorph-bg);
  box-shadow:
    var(--neumorph-shadow-light),
    var(--neumorph-shadow-dark);
}

.site-footer__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.75rem 2rem;
}

@media (min-width: 640px) {
  .site-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 900px) {
  .site-footer__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: start;
  }
}

.site-footer__heading {
  margin: 0 0 0.75rem;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.site-footer__links {
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-footer__links a {
  display: inline-block;
  padding: 0.25rem 0;
  font-size: 0.9375rem;
  color: var(--color-text-soft);
}

.site-footer__links a:hover {
  color: var(--color-text);
}

.site-footer__lead {
  margin: 0 0 0.75rem;
  font-size: 0.875rem;
  line-height: 1.5;
}

.site-footer__col--newsletter {
  grid-column: span 1;
}

@media (min-width: 640px) and (max-width: 899px) {
  .site-footer__col--newsletter {
    grid-column: span 2;
  }
}

.footer-newsletter__row {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

@media (min-width: 480px) {
  .footer-newsletter__row {
    flex-direction: row;
    align-items: stretch;
  }

  .footer-newsletter__input {
    flex: 1;
    min-width: 0;
  }

  .footer-newsletter__btn {
    flex-shrink: 0;
  }
}

.footer-newsletter__input {
  padding: 0.6rem 0.85rem;
  font: inherit;
  font-size: 0.9375rem;
  color: var(--color-text);
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid var(--glass-border);
  border-radius: 12px;
  box-shadow: var(--glass-inset);
  -webkit-backdrop-filter: blur(var(--glass-blur));
  backdrop-filter: blur(var(--glass-blur));
  transition:
    border-color var(--duration) var(--ease-out),
    background var(--duration) var(--ease-out);
}

.footer-newsletter__input::placeholder {
  color: var(--color-text-muted);
}

.footer-newsletter__input:focus {
  outline: none;
  border-color: rgba(255, 255, 255, 0.4);
  background: rgba(255, 255, 255, 0.1);
}

.site-footer__social {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-footer__social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  color: var(--color-text-soft);
  border-radius: 12px;
  background: var(--bg-secondary);
  border: none;
  box-shadow:
    inset 3px 3px 6px rgba(163, 177, 198, 0.2),
    inset -3px -3px 6px rgba(255, 255, 255, 0.8);
  transition:
    color var(--duration) var(--ease-out),
    box-shadow var(--duration) var(--ease-out),
    transform var(--duration) var(--ease-out);
}

.site-footer__social-link:hover {
  color: var(--color-text);
  box-shadow:
    4px 4px 8px rgba(163, 177, 198, 0.3),
    -4px -4px 8px rgba(255, 255, 255, 0.9);
  transform: translateY(-2px);
}

.site-footer__social-link:active {
  box-shadow:
    inset 4px 4px 8px rgba(163, 177, 198, 0.4),
    inset -4px -4px 8px rgba(255, 255, 255, 0.9);
  transform: translateY(0);
}

.site-footer__copy {
  margin: 1.5rem 0 0;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  text-align: center;
  font-size: 0.8125rem;
}

/* -------------------------------------------------------------------------- */
/* Shop â€” product grid & pagination                                            */
/* -------------------------------------------------------------------------- */

.shop-page__header {
  margin-bottom: 1.5rem;
}

.shop-page__title {
  margin: 0 0 0.35rem;
  font-size: clamp(1.75rem, 4vw, 2.25rem);
}

.shop-page__subtitle {
  margin: 0;
  font-size: 1rem;
}

.home-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.9fr);
  gap: 1.75rem;
  align-items: start;
  margin-bottom: 3rem;
}

.home-hero__content {
  display: grid;
  gap: 1rem;
  align-self: start;
  height: fit-content;
}

.home-hero__title {
  margin: 0;
  font-size: clamp(2.75rem, 5vw, 4.25rem);
  line-height: 0.98;
}

.home-hero__copy {
  margin: 0;
  max-width: 40rem;
  color: var(--color-text-soft);
}

.home-hero__actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.85rem;
}

.home-hero__image {
  min-height: 420px;
  position: relative;
  overflow: hidden;
  border-radius: 20px;
}

.home-hero__placeholder {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(255,255,255,0.16), rgba(255,255,255,0.06));
  border: 1px dashed rgba(255, 255, 255, 0.22);
  color: var(--color-text-soft);
  font-size: 0.95rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.home-section {
  margin-bottom: 2.5rem;
}

.section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.75rem;
}

.section-header h2 {
  margin: 0;
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  line-height: 1.05;
}

.category-grid,
.product-grid,
.promo-grid {
  display: grid;
  gap: 1.35rem;
}

.category-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.category-card {
  display: grid;
  grid-template-columns: 5rem 1fr;
  gap: 1.25rem;
  align-items: center;
  min-height: 140px;
  padding: 1.5rem;
  background: linear-gradient(135deg, #2d1b69 0%, #3d2680 100%);
  border-radius: 16px;
  transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: 0 8px 32px rgba(45, 27, 105, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.category-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(45, 27, 105, 0.4);
  border-color: rgba(168, 229, 255, 0.3);
  background: linear-gradient(135deg, #3d2680 0%, #4a3490 100%);
}

.category-card__icon {
  width: 5rem;
  height: 5rem;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, rgba(168, 229, 255, 0.2) 0%, rgba(168, 229, 255, 0.05) 100%);
  color: #a8e5ff;
  font-size: 1.8rem;
  font-weight: 700;
  border: 1px solid rgba(168, 229, 255, 0.2);
  transition: all 0.3s ease;
}

.category-card:hover .category-card__icon {
  background: linear-gradient(135deg, rgba(168, 229, 255, 0.3) 0%, rgba(168, 229, 255, 0.1) 100%);
  border-color: rgba(168, 229, 255, 0.4);
  box-shadow: 0 0 20px rgba(168, 229, 255, 0.2);
}

.category-card__title {
  margin: 0 0 0.4rem;
  font-size: 1.15rem;
  font-weight: 600;
  color: white;
}

.category-card__subtitle {
  margin: 0;
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.6);
}

.promo-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.promo-card {
  padding: 2rem;
  background: linear-gradient(135deg, #2d1b69 0%, #3d2680 100%);
  border-radius: 16px;
  transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: 0 8px 32px rgba(45, 27, 105, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 240px;
}

.promo-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(45, 27, 105, 0.4);
  border-color: rgba(168, 229, 255, 0.3);
  background: linear-gradient(135deg, #3d2680 0%, #4a3490 100%);
}

.promo-card__eyebrow {
  margin: 0 0 0.75rem;
  font-size: 0.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #a8e5ff;
  font-weight: 600;
}

.promo-card__title {
  margin: 0 0 1rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: white;
  line-height: 1.2;
}

.promo-card__copy {
  margin: 0 0 1.5rem;
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.75);
  line-height: 1.5;
}

.product-card {
  overflow: hidden;
  background: linear-gradient(135deg, #2d1b69 0%, #3d2680 100%);
  border-radius: 16px;
  transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: 0 8px 32px rgba(45, 27, 105, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.product-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 16px 48px rgba(45, 27, 105, 0.4);
  border-color: rgba(255, 255, 255, 0.2);
}

.product-card__media {
  min-height: 260px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #1a0f3d 0%, #2d1b69 100%);
  position: relative;
  overflow: hidden;
}

.product-card__media::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, transparent 100%);
  pointer-events: none;
}

.product-card__media img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
  z-index: 1;
}

.product-card:hover .product-card__media img {
  transform: scale(1.08);
}

.product-card__placeholder {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  background: linear-gradient(135deg, #2d1b69 0%, #3d2680 100%);
}

.product-card__body {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.product-card__category {
  margin: 0;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.65);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 500;
}

.product-card__title {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: white;
  line-height: 1.3;
  transition: color 0.3s ease;
}

.product-card__title-link,
.product-card__price,
.product-card__rating-text,
.product-card__category {
  color: white !important;
}

.product-card:hover .product-card__title {
  color: #e8d5ff;
}

.product-card__stars {
  color: white;
}

@media (max-width: 640px) {
  .home-hero__image,
  .home-hero__content {
    min-height: auto;
  }
}

.messages {
  list-style: none;
  margin: 0 0 1.25rem;
  padding: 0;
}

.messages__item {
  padding: 0.65rem 1rem;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.08);
  font-size: 0.9375rem;
  color: var(--color-text-soft);
}

.messages__item--success {
  border-color: rgba(5, 153, 173, 0.45);
  background: rgba(5, 153, 173, 0.18);
  color: var(--color-text);
}

.product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.35rem;
  list-style: none;
  margin: 0 0 2rem;
  padding: 0;
}

.product-grid__cell {
  display: flex;
  min-width: 0;
}

.product-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100%;
  overflow: hidden;
  border-radius: 16px;
  background: linear-gradient(135deg, #2d1b69 0%, #3d2680 100%);
  box-shadow: 0 8px 32px rgba(45, 27, 105, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.product-card:hover {
  box-shadow: 0 16px 48px rgba(45, 27, 105, 0.4);
  transform: translateY(-8px);
  border-color: rgba(255, 255, 255, 0.2);
}

.product-card:active {
  transform: translateY(-4px);
}

.product-card__media {
  position: relative;
  display: block;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 16px 16px 0 0;
  background: linear-gradient(135deg, #1a0f3d 0%, #2d1b69 100%);
  box-shadow: inset 0 4px 12px rgba(0, 0, 0, 0.3);
}

.product-card__media::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, transparent 100%);
  pointer-events: none;
  z-index: 2;
}

.product-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
  z-index: 1;
}

.product-card:hover .product-card__img {
  transform: scale(1.08);
}

.product-card__placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 12rem;
  background: linear-gradient(135deg, #2d1b69 0%, #3d2680 100%);
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.product-card__placeholder-logo {
  opacity: 0.3;
  filter: grayscale(0.4);
}

.product-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 0.75rem;
  padding: 1.35rem;
}

.product-card__title {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.35;
  color: white;
  transition: color 0.3s ease;
}

.product-card__title-link {
  text-decoration: none;
  transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.product-card__title-link:hover {
  color: #e8d5ff;
}

.product-card__price {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #a8e5ff;
}

.product-card__rating {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-top: 0.15rem;
}

.product-card__stars {
  position: relative;
  display: inline-block;
  line-height: 1;
  letter-spacing: 0.12em;
  font-size: 0.9rem;
  color: white;
}

.product-card__stars-bg {
  color: rgba(255, 255, 255, 0.22);
}

.product-card__stars-fill {
  position: absolute;
  left: 0;
  top: 0;
  overflow: hidden;
  white-space: nowrap;
  color: #e6cf6a;
  text-shadow: 0 0 12px rgba(230, 207, 106, 0.35);
}

.product-card__rating-text {
  font-size: 0.8125rem;
  line-height: 1.4;
}

.product-card__form {
  margin-top: auto;
  padding-top: 0.65rem;
}

.product-card__btn {
  width: 100%;
}

.pagination {
  margin-top: 0.5rem;
}

.pagination__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.75rem 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pagination__status {
  font-size: 0.9375rem;
  font-weight: 500;
}

.pagination__link {
  text-decoration: none;
}

.shop-empty {
  text-align: center;
  max-width: 28rem;
  margin: 0 auto;
}

.shop-empty .glass-button {
  margin-top: 1rem;
}

/* Shop layout & filters */
.shop-layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 2rem;
  align-items: start;
}

.shop-sidebar {
  position: sticky;
  top: 2rem;
}

.shop-filters {
  margin-bottom: 1.5rem;
}

.shop-filters__title {
  margin: 0 0 1.25rem;
  font-size: 1.25rem;
  font-weight: 600;
}

.filter-group {
  margin-bottom: 1.25rem;
}

.filter-label {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 0.9375rem;
  font-weight: 500;
}

.search-input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.search-input {
  width: 100%;
  padding: 0.75rem 2.5rem 0.75rem 1rem;
  border: none;
  border-radius: 16px;
  background: var(--bg-secondary);
  box-shadow:
    inset 4px 4px 8px rgba(163, 177, 198, 0.2),
    inset -4px -4px 8px rgba(255, 255, 255, 0.8);
  color: var(--color-text);
  font-size: 0.9375rem;
  transition: box-shadow var(--duration) var(--ease-out);
}

.search-input:focus {
  outline: none;
  box-shadow:
    inset 6px 6px 12px rgba(163, 177, 198, 0.3),
    inset -6px -6px 12px rgba(255, 255, 255, 0.9);
}

.search-input::placeholder {
  color: var(--color-text-muted);
}

.search-clear {
  position: absolute;
  right: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: var(--color-text-muted);
  cursor: pointer;
  padding: 0.25rem;
  border-radius: 4px;
  transition: color var(--duration) var(--ease-out);
}

.search-clear:hover {
  color: var(--color-text);
}

.filter-select {
  width: 100%;
  padding: 0.75rem 1rem;
  border: none;
  border-radius: 16px;
  background: var(--bg-secondary);
  box-shadow:
    inset 4px 4px 8px rgba(163, 177, 198, 0.2),
    inset -4px -4px 8px rgba(255, 255, 255, 0.8);
  color: var(--color-text);
  font-size: 0.9375rem;
  cursor: pointer;
  transition: box-shadow var(--duration) var(--ease-out);
}

.filter-select:focus {
  outline: none;
  box-shadow:
    inset 6px 6px 12px rgba(163, 177, 198, 0.3),
    inset -6px -6px 12px rgba(255, 255, 255, 0.9);
}

.filter-select option {
  background: var(--bg-primary);
  color: var(--color-text);
}

.price-range {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.price-input-group {
  position: relative;
  flex: 1;
}

.price-label {
  position: absolute;
  left: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.875rem;
  color: var(--color-text-muted);
  pointer-events: none;
  z-index: 1;
}

.price-input {
  width: 100%;
  padding: 0.75rem 1rem 0.75rem 2rem;
  border: none;
  border-radius: 16px;
  background: var(--bg-secondary);
  box-shadow:
    inset 4px 4px 8px rgba(163, 177, 198, 0.2),
    inset -4px -4px 8px rgba(255, 255, 255, 0.8);
  color: var(--color-text);
  font-size: 0.9375rem;
  transition: box-shadow var(--duration) var(--ease-out);
}

.price-input:focus {
  outline: none;
  box-shadow:
    inset 6px 6px 12px rgba(163, 177, 198, 0.3),
    inset -6px -6px 12px rgba(255, 255, 255, 0.9);
}

.price-input:focus + .price-label,
.price-input:not(:placeholder-shown) + .price-label {
  opacity: 0;
}

.price-separator {
  font-size: 0.875rem;
  font-weight: 500;
}

.filter-clear-btn {
  width: 100%;
  margin-top: 0.5rem;
}

.shop-sort {
  margin-bottom: 1.5rem;
}

.shop-sort__title {
  margin: 0 0 1rem;
  font-size: 1.125rem;
  font-weight: 600;
}

.shop-main {
  min-width: 0;
}

.shop-results {
  margin-bottom: 1.5rem;
}

.shop-results__count {
  margin: 0;
  font-size: 0.9375rem;
}

/* Responsive design */
@media (max-width: 768px) {
  .shop-layout {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .shop-sidebar {
    position: static;
    order: 2;
  }

  .shop-main {
    order: 1;
  }

  .shop-filters {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
  }

  .filter-group {
    margin-bottom: 1rem;
  }
}

@media (max-width: 480px) {
  .shop-layout {
    gap: 1rem;
  }

  .shop-filters {
    grid-template-columns: 1fr;
  }

  .price-range {
    flex-direction: column;
    gap: 0.75rem;
  }

  .price-separator {
    display: none;
  }
}

/* -------------------------------------------------------------------------- */
/* Product detail                                                              */
/* -------------------------------------------------------------------------- */

.product-detail {
  width: 100%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

.product-detail__crumb {
  margin-bottom: 1.25rem;
  font-size: 0.875rem;
}

.product-detail__crumb a {
  color: var(--color-text-muted);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.product-detail__crumb a:hover {
  color: var(--color-text-soft);
}

.product-detail__crumb-sep {
  margin: 0 0.4rem;
  opacity: 0.6;
}

.product-detail__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.35rem;
  margin-bottom: 1.5rem;
}

@media (min-width: 900px) {
  .product-detail__layout {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    align-items: start;
    gap: 1.5rem;
  }
}

.product-detail__gallery-wrap {
  padding: 1rem !important;
}

.pd-gallery__main {
  border-radius: 14px;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.12);
  aspect-ratio: 1;
  max-height: min(72vh, 560px);
  margin: 0 auto;
}

.pd-gallery__main-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.pd-gallery__placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 280px;
  aspect-ratio: 1;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.04);
}

.pd-gallery__placeholder-logo {
  opacity: 0.35;
}

.pd-gallery__thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 1rem;
  justify-content: flex-start;
}

.pd-gallery__thumb {
  padding: 0.2rem;
  min-width: 0;
  width: 4.25rem;
  height: 4.25rem;
  border-radius: 12px;
  overflow: hidden;
  flex-shrink: 0;
  opacity: 0.85;
  transition:
    opacity var(--duration) var(--ease-out),
    box-shadow var(--duration) var(--ease-out),
    border-color var(--duration) var(--ease-out);
}

.pd-gallery__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
  display: block;
}

.pd-gallery__thumb:hover {
  opacity: 1;
}

.pd-gallery__thumb.is-active {
  opacity: 1;
  border-color: rgba(5, 153, 173, 0.55);
  box-shadow: 0 0 0 2px rgba(5, 153, 173, 0.35);
}

.product-detail__info {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.pd-info__header {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.pd-info__title {
  margin: 0;
  font-size: clamp(1.5rem, 3.5vw, 2rem);
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.pd-info__price {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.pd-info__rating {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  font-size: 0.875rem;
}

.pd-info__stars {
  font-size: 1rem;
}

.pd-info__section-title {
  margin: 0 0 0.5rem;
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pd-info__body {
  margin: 0;
  font-size: 1rem;
  line-height: 1.65;
}

.pd-info__form {
  margin-top: 0.25rem;
}

.pd-info__cart-btn {
  width: 100%;
  max-width: 20rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.product-detail__reviews {
  margin-top: 0.25rem;
}

.pd-reviews__title {
  margin: 0 0 1.25rem;
  font-size: 1.25rem;
  font-weight: 600;
}

.pd-reviews__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.pd-reviews__item {
  margin: 0;
  padding: 1rem 1.15rem;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: var(--glass-inset);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  transition: border-color var(--duration) var(--ease-out);
}

.pd-reviews__item:hover {
  border-color: rgba(255, 255, 255, 0.22);
}

.pd-reviews__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.35rem;
}

.pd-reviews__author {
  font-weight: 600;
  font-size: 0.9375rem;
}

.pd-reviews__date {
  font-size: 0.8125rem;
}

.pd-reviews__stars {
  letter-spacing: 0.15em;
  font-size: 0.85rem;
  margin-bottom: 0.35rem;
  color: #e6cf6a;
}

.pd-reviews__item-title {
  margin: 0 0 0.35rem;
  font-size: 1rem;
  font-weight: 600;
}

.pd-reviews__body {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.55;
}

.pd-reviews__empty {
  margin: 0;
  font-size: 0.9375rem;
}

/* -------------------------------------------------------------------------- */
/* Cart page                                                                   */
/* -------------------------------------------------------------------------- */

.cart-page {
  max-width: 1200px;
  margin: 0 auto;
}

.cart-page__header {
  text-align: center;
  margin-bottom: 2rem;
}

.cart-page__title {
  font-size: 2.5rem;
  margin-bottom: 0.5rem;
}

.cart-page__subtitle {
  font-size: 1.125rem;
}

.cart-layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 2rem;
  align-items: start;
}

.cart-items {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.cart-item {
  display: grid;
  grid-template-columns: 120px 1fr auto;
  gap: 1.5rem;
  align-items: center;
  padding: 1.5rem;
}

.cart-item__media {
  flex-shrink: 0;
}

.cart-item__img {
  width: 100%;
  height: 120px;
  object-fit: cover;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.cart-item__placeholder {
  width: 120px;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.cart-item__placeholder-logo {
  width: 40px;
  height: 40px;
  opacity: 0.5;
}

.cart-item__content {
  min-width: 0;
}

.cart-item__title {
  margin-bottom: 0.25rem;
  font-size: 1.125rem;
  font-weight: 600;
}

.cart-item__title-link:hover {
  color: var(--color-text);
}

.cart-item__price {
  font-size: 1rem;
  font-weight: 500;
}

.cart-item__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.75rem;
}

.cart-item__quantity-form {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.quantity-controls {
  display: flex;
  align-items: center;
  border: 1px solid var(--glass-border);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.05);
  overflow: hidden;
}

.quantity-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: none;
  border: none;
  color: var(--color-text-soft);
  cursor: pointer;
  transition: all var(--duration) var(--ease-out);
}

.quantity-btn:hover {
  background: rgba(255, 255, 255, 0.1);
  color: var(--color-text);
}

.quantity-btn:active {
  background: rgba(255, 255, 255, 0.15);
}

.quantity-input {
  width: 60px;
  height: 32px;
  padding: 0;
  text-align: center;
  background: transparent;
  border: none;
  color: var(--color-text);
  font: inherit;
  font-size: 0.9375rem;
}

.quantity-input:focus {
  outline: none;
}

.cart-item__remove-btn {
  padding: 0.5rem;
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.15);
  color: var(--color-text-muted);
  transition: all var(--duration) var(--ease-out);
}

.cart-item__remove-btn:hover {
  background: rgba(255, 119, 122, 0.2);
  border-color: rgba(255, 119, 122, 0.3);
  color: #ff777a;
}

.cart-item__total {
  text-align: right;
}

.cart-item__total-price {
  font-size: 1.125rem;
  font-weight: 600;
}

.cart-summary {
  position: sticky;
  top: 2rem;
}

.cart-summary__title {
  font-size: 1.25rem;
  margin-bottom: 1.5rem;
}

.cart-summary__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
}

.cart-summary__row--total {
  padding-top: 0.75rem;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  font-size: 1.125rem;
  font-weight: 600;
}

.cart-summary__divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.15);
  margin: 1rem 0;
}

.cart-summary__checkout-btn {
  width: 100%;
  margin-bottom: 0.75rem;
}

.cart-summary__continue-btn {
  width: 100%;
}

.cart-empty {
  text-align: center;
  padding: 3rem 2rem;
}

.cart-empty__icon {
  margin-bottom: 1.5rem;
}

.cart-empty__title {
  font-size: 1.5rem;
  margin-bottom: 0.5rem;
}

.cart-empty__text {
  margin-bottom: 2rem;
}

.cart-empty__shop-btn {
  padding: 1rem 2rem;
  font-size: 1.125rem;
}

/* -------------------------------------------------------------------------- */
/* Messages                                                                    */
/* -------------------------------------------------------------------------- */

.messages {
  margin-bottom: 1.5rem;
}

.messages__item {
  padding: 0.75rem 1rem;
  border-radius: 8px;
  font-weight: 500;
}

.messages__item--success {
  background: rgba(111, 231, 242, 0.15);
  border: 1px solid rgba(111, 231, 242, 0.3);
  color: #6fe7f2;
}

.messages__item--error {
  background: rgba(255, 119, 122, 0.15);
  border: 1px solid rgba(255, 119, 122, 0.3);
  color: #ff777a;
}

/* -------------------------------------------------------------------------- */
/* Responsive adjustments                                                     */
/* -------------------------------------------------------------------------- */

@media (max-width: 768px) {
  .cart-layout {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .cart-summary {
    position: static;
  }

  .cart-item {
    grid-template-columns: 80px 1fr;
    gap: 1rem;
    padding: 1rem;
  }

  .cart-item__actions {
    grid-column: 1 / -1;
    flex-direction: row;
    justify-content: space-between;
    margin-top: 1rem;
  }

  .cart-item__total {
    text-align: left;
  }
}

/* -------------------------------------------------------------------------- */
/* Glass Button Styles - Modern Glassmorphism Design                        */
/* -------------------------------------------------------------------------- */

.glass-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  font-family: inherit;
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--color-text);
  cursor: pointer;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 12px;
  backdrop-filter: blur(var(--glass-blur));
  box-shadow: var(--glass-shadow);
  transition: all var(--duration) var(--ease-out);
  text-decoration: none;
}

.glass-button:hover {
  background: var(--glass-bg-hover);
  border-color: var(--glass-border-hover);
  box-shadow: var(--glass-shadow-hover);
  transform: translateY(-2px);
}

.glass-button:active {
  transform: translateY(0);
  box-shadow: var(--glass-shadow-pressed);
}

.glass-button:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

.glass-button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
}

/* Primary variant */
.glass-button--primary {
  background: var(--color-primary);
  color: white;
  border-color: var(--color-primary);
  box-shadow: 0 4px 16px rgba(66, 153, 225, 0.3);
}

.glass-button--primary:hover {
  background: var(--color-primary-light);
  border-color: var(--color-primary-light);
  box-shadow: 0 8px 24px rgba(66, 153, 225, 0.4);
}

.glass-button--primary:active {
  background: var(--color-primary-dark);
  border-color: var(--color-primary-dark);
}

/* -------------------------------------------------------------------------- */
/* Premium Checkout Page - World Class UI/UX Design                          */
/* -------------------------------------------------------------------------- */

.checkout-page.premium-checkout {
  background: linear-gradient(135deg, #f8f9fb 0%, #f5f3f9 100%);
  min-height: 100vh;
  padding-bottom: 4rem;
}

/* Header - Dark Purple Section */
.checkout-header {
  background: linear-gradient(135deg, #2d1b69 0%, #1a0f3d 100%);
  color: white;
  padding: 3rem 1.25rem;
  margin-bottom: 2rem;
}

.checkout-header__container {
  max-width: 1200px;
  margin: 0 auto;
}

.checkout-header__content {
  margin-bottom: 2rem;
}

.checkout-header__title {
  font-size: 2.75rem;
  font-weight: 700;
  letter-spacing: -0.5px;
  margin-bottom: 0.5rem;
  color: #ffffff;
}

.checkout-header__subtitle {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.85);
  font-weight: 400;
}

/* Progress Indicator */
.checkout-progress {
  display: flex;
  align-items: center;
  gap: 1rem;
  justify-content: flex-start;
}

.progress-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  opacity: 0.5;
  transition: opacity 0.3s ease;
}

.progress-step--active {
  opacity: 1;
}

.progress-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  border: 2px solid rgba(255, 255, 255, 0.5);
  font-weight: 600;
  font-size: 0.9rem;
}

.progress-step--active .progress-number {
  background: white;
  border-color: white;
  color: #2d1b69;
}

.progress-label {
  font-size: 0.8rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.8);
}

.progress-tracker {
  flex: 1;
  max-width: 40px;
  height: 2px;
  background: rgba(255, 255, 255, 0.2);
  margin-top: 1rem;
}

/* Alerts Section */
.checkout-alerts {
  max-width: 1200px;
  margin: 0 auto 2rem;
  padding: 0 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.premium-alert {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.5rem;
  border-radius: 12px;
  font-weight: 500;
  border-left: 4px solid;
}

.premium-alert--error {
  background: #fef2f2;
  color: #991b1b;
  border-left-color: #dc2626;
}

.premium-alert--success {
  background: #f0fdf4;
  color: #15803d;
  border-left-color: #22c55e;
}

.premium-alert--warning {
  background: #fffbeb;
  color: #92400e;
  border-left-color: #fbbf24;
}

.premium-alert svg {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
}

/* Main Layout */
.checkout-main {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.25rem;
}

.checkout-wrapper {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 2rem;
  align-items: start;
}

/* Form Column */
.checkout-form-column {
  min-width: 0;
}

.premium-checkout-form {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

/* Form Sections */
.checkout-form-section {
  border-radius: 16px;
  padding: 2rem;
}

.premium-white-card {
  background: white;
  color: #2d1b69;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  border: 1px solid rgba(45, 27, 105, 0.08);
}

.section-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 2px solid rgba(45, 27, 105, 0.1);
}

.section-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(45, 27, 105, 0.1) 0%, rgba(61, 38, 128, 0.1) 100%);
  color: #2d1b69;
  flex-shrink: 0;
}

.section-icon svg {
  width: 24px;
  height: 24px;
  stroke-width: 1.5;
}

.section-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #2d1b69;
  margin: 0;
}

/* Form Groups */
.premium-form-group {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}

.premium-form-group:last-child {
  margin-bottom: 0;
}

.premium-label {
  font-size: 0.95rem;
  font-weight: 500;
  color: #2d1b69;
  display: block;
}

.input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.input-wrapper input,
.input-wrapper textarea,
.input-wrapper select {
  width: 100%;
  padding: 0.875rem 1rem 0.875rem 4rem;
  border: 1px solid #2d1b69;
  border-radius: 10px;
  font-size: 0.95rem;
  font-family: inherit;
  color: #2d1b69;
  background: #fafbfc;
  transition: all 0.3s ease;
}

.input-wrapper input::placeholder,
.input-wrapper textarea::placeholder,
.input-wrapper input::-webkit-input-placeholder,
.input-wrapper textarea::-webkit-input-placeholder,
.input-wrapper input::-moz-placeholder,
.input-wrapper textarea::-moz-placeholder,
.input-wrapper input:-ms-input-placeholder,
.input-wrapper textarea:-ms-input-placeholder,
.checkout-input::placeholder,
.checkout-textarea::placeholder,
.checkout-input::-webkit-input-placeholder,
.checkout-textarea::-webkit-input-placeholder,
.checkout-input::-moz-placeholder,
.checkout-textarea::-moz-placeholder,
.checkout-input:-ms-input-placeholder,
.checkout-textarea:-ms-input-placeholder {
  color: #6b7280 !important;
}

.input-wrapper input:focus,
.input-wrapper textarea:focus,
.input-wrapper select:focus {
  outline: none;
  background: white;
  border-color: #2d1b69;
  box-shadow: 0 0 0 4px rgba(45, 27, 105, 0.1);
}

.input-wrapper input:hover,
.input-wrapper textarea:hover,
.input-wrapper select:hover {
  border-color: #2d1b69;
}

.input-icon {
  position: absolute;
  left: 1rem;
  color: #9ca3af;
  stroke-width: 2;
  flex-shrink: 0;
}

.input-wrapper input:focus ~ .input-icon,
.input-wrapper textarea:focus ~ .input-icon {
  color: #2d1b69;
}

/* Checkout Input Fields - Ensure Borders */
.checkout-input,
.checkout-textarea {
  border: 1px solid #2d1b69 !important;
  border-radius: 10px;
  background: #fafbfc;
  color: #2d1b69 !important;
  padding: 0.875rem 1rem 0.875rem 4rem !important;
  font-size: 0.95rem;
  font-family: inherit;
  transition: all 0.3s ease;
  width: 100%;
}

.checkout-input:focus,
.checkout-textarea:focus {
  outline: none;
  background: white;
  border-color: #2d1b69;
  box-shadow: 0 0 0 4px rgba(45, 27, 105, 0.1);
  color: #2d1b69 !important;
}

.checkout-input:hover,
.checkout-textarea:hover {
  border-color: #2d1b69;
}

/* Payment Options */
.premium-payment-options {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.premium-payment-card {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.25rem;
  border: 2px solid #e5e7eb;
  border-radius: 12px;
  background: #fafbfc;
  cursor: pointer;
  transition: all 0.3s ease;
  user-select: none;
}

.premium-payment-radio {
  appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid #d1d5db;
  border-radius: 50%;
  cursor: pointer;
  flex-shrink: 0;
  transition: all 0.3s ease;
  background: white;
}

.premium-payment-radio:checked {
  background: #2d1b69;
  border-color: #2d1b69;
}

.premium-payment-card:hover {
  border-color: #2d1b69;
  background: white;
}

.premium-payment-card:has(.premium-payment-radio:checked) {
  background: linear-gradient(135deg, rgba(45, 27, 105, 0.05) 0%, rgba(61, 38, 128, 0.05) 100%);
  border-color: #2d1b69;
  box-shadow: 0 4px 12px rgba(45, 27, 105, 0.12);
}

.payment-card-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.payment-card-title {
  font-weight: 600;
  color: #2d1b69;
  display: block;
  font-size: 0.95rem;
}

.payment-card-subtitle {
  font-size: 0.85rem;
  color: #6b7280;
}

.payment-card-checkmark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #2d1b69;
  color: white;
  opacity: 0;
  transform: scale(0.8);
  transition: all 0.3s ease;
  flex-shrink: 0;
}

.premium-payment-card:has(.premium-payment-radio:checked) .payment-card-checkmark {
  opacity: 1;
  transform: scale(1);
}

.payment-card-checkmark svg {
  stroke-width: 3;
  width: 16px;
  height: 16px;
}

/* Checkbox */
.premium-checkbox-group {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  cursor: pointer;
  user-select: none;
}

.premium-checkbox {
  appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid #d1d5db;
  border-radius: 6px;
  background: white;
  cursor: pointer;
  flex-shrink: 0;
  margin-top: 2px;
  transition: all 0.3s ease;
}

.premium-checkbox:hover {
  border-color: #2d1b69;
  background: #f9f5ff;
}

.premium-checkbox:checked {
  background: #2d1b69;
  border-color: #2d1b69;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.78 4.22c.3.3.3.77 0 1.06l-7.25 7.25a.75.75 0 11-1.06-1.06l6.472-6.472L5.47 4.22a.75.75 0 011.06-1.06l7.25 7.25z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
}

.checkbox-content {
  font-size: 0.95rem;
  color: #2d1b69;
  line-height: 1.5;
}

.premium-link {
  color: #2d1b69;
  text-decoration: underline;
  font-weight: 500;
  transition: color 0.2s ease;
}

.premium-link:hover {
  color: #1a0f3d;
  text-decoration-thickness: 2px;
}

/* Form Errors */
.form-error {
  font-size: 0.85rem;
  color: #dc2626;
  font-weight: 500;
  margin-top: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* Quantity Controls */
.item-quantity-controls {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.5rem;
}

.quantity-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  background: white;
  color: #2d1b69;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

.quantity-btn:hover:not(:disabled) {
  background: #2d1b69;
  color: white;
  border-color: #2d1b69;
}

.quantity-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.quantity-value {
  min-width: 24px;
  text-align: center;
  font-weight: 600;
  color: #2d1b69;
}

/* Remove Button */
.item-price-section {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.5rem;
}

.item-remove-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: none;
  border-radius: 4px;
  background: #fee2e2;
  color: #dc2626;
  cursor: pointer;
  transition: all 0.2s ease;
  opacity: 0.7;
}

.item-remove-btn:hover {
  background: #dc2626;
  color: white;
  opacity: 1;
}

/* Empty Cart Message */
.empty-cart-message {
  text-align: center;
  padding: 2rem;
  color: #6b7280;
}

.empty-cart-message a {
  color: #2d1b69;
  text-decoration: underline;
}

/* Action Buttons */
.checkout-actions {
  display: flex;
  gap: 1rem;
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 2px solid rgba(45, 27, 105, 0.1);
}

.premium-button-group {
  display: flex;
  gap: 1rem;
}

.premium-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  border: 2px solid;
  border-radius: 12px;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
  white-space: nowrap;
}

.premium-btn-primary {
  background: linear-gradient(135deg, #2d1b69 0%, #1a0f3d 100%);
  color: white;
  border-color: #2d1b69;
  flex: 1;
}

.premium-btn-primary:hover {
  box-shadow: 0 8px 24px rgba(45, 27, 105, 0.3);
  transform: translateY(-2px);
}

.premium-btn-primary:active {
  transform: translateY(0);
}

.premium-btn-secondary {
  background: white;
  color: #2d1b69;
  border-color: #d1d5db;
}

.premium-btn-secondary:hover {
  background: #f9f5ff;
  border-color: #2d1b69;
}

/* Order Summary Column */
.checkout-summary-column {
  position: sticky;
  top: 100px;
}

.premium-order-summary {
  background: white;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  border: 1px solid rgba(45, 27, 105, 0.08);
}

.summary-header {
  background: linear-gradient(135deg, #2d1b69 0%, #1a0f3d 100%);
  color: white;
  padding: 1.5rem;
}

.summary-header.premium-dark-section {
  background: linear-gradient(135deg, #2d1b69 0%, #1a0f3d 100%);
}

.summary-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: white;
  margin: 0;
}

/* Items List */
.premium-items-list {
  padding: 1.5rem;
  max-height: 420px;
  overflow-y: auto;
  border-bottom: 2px solid rgba(45, 27, 105, 0.08);
}

.premium-items-list::-webkit-scrollbar {
  width: 6px;
}

.premium-items-list::-webkit-scrollbar-track {
  background: transparent;
}

.premium-items-list::-webkit-scrollbar-thumb {
  background: #d1d5db;
  border-radius: 3px;
}

.premium-items-list::-webkit-scrollbar-thumb:hover {
  background: #9ca3af;
}

.premium-item-card {
  display: flex;
  gap: 1rem;
  padding: 1rem;
  margin-bottom: 0.75rem;
  background: #f9f5ff;
  border-radius: 10px;
  border: 1px solid rgba(45, 27, 105, 0.1);
  transition: all 0.2s ease;
}

.premium-item-card:last-child {
  margin-bottom: 0;
}

.premium-item-card:hover {
  background: #f5f0ff;
  border-color: rgba(45, 27, 105, 0.2);
}

.item-image-wrapper {
  width: 60px;
  height: 60px;
  border-radius: 8px;
  overflow: hidden;
  background: white;
  border: 1px solid #e5e7eb;
  flex-shrink: 0;
}

.item-image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.item-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f3f4f6;
}

.item-placeholder img {
  width: 30px;
  height: 30px;
  opacity: 0.5;
}

.item-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.item-name {
  font-size: 0.9rem;
  font-weight: 600;
  color: #2d1b69;
  margin: 0 0 0.25rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.item-qty {
  font-size: 0.8rem;
  color: #6b7280;
  margin: 0;
}

.item-qty strong {
  color: #2d1b69;
}

.item-price {
  font-weight: 700;
  color: #2d1b69;
  font-size: 0.95rem;
  white-space: nowrap;
}

/* Cost Section */
.premium-cost-section {
  padding: 1.5rem;
  background: #fafbfc;
  border-bottom: 2px solid rgba(45, 27, 105, 0.08);
}

.cost-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
}

.cost-row:last-child {
  margin-bottom: 0;
}

.cost-label {
  font-size: 0.9rem;
  color: #6b7280;
  font-weight: 500;
}

.cost-value {
  font-size: 0.9rem;
  color: #2d1b69;
  font-weight: 600;
}

.cost-value--green {
  color: #059669;
  font-weight: 700;
}

.cost-divider {
  height: 1px;
  background: rgba(45, 27, 105, 0.15);
  margin: 1rem 0;
}

.cost-row--total .cost-label {
  font-size: 1rem;
  font-weight: 700;
  color: #2d1b69;
}

.cost-row--total .cost-value {
  font-size: 1.25rem;
  font-weight: 800;
  color: #2d1b69;
}

/* Security Badge */
.premium-security-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 1rem;
  color: #059669;
  font-size: 0.85rem;
  font-weight: 600;
  background: #f0fdf4;
  border-top: 1px solid rgba(5, 150, 105, 0.15);
  text-align: center;
}

.premium-security-badge svg {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
}

/* Responsive Design */
@media (max-width: 1024px) {
  .checkout-wrapper {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .checkout-summary-column {
    position: static;
  }

  .premium-items-list {
    max-height: none;
  }

  .item-info {
    flex: 1;
  }

  .item-quantity-controls {
    margin-top: 0.75rem;
  }

  .quantity-btn {
    width: 32px;
    height: 32px;
  }

  .item-price-section {
    align-items: center;
    flex-direction: row;
    gap: 0.75rem;
  }
}

@media (max-width: 768px) {
  .checkout-header {
    padding: 2rem 1rem;
    margin-bottom: 1.5rem;
  }

  .checkout-header__title {
    font-size: 2rem;
  }

  .checkout-progress {
    gap: 0.5rem;
  }

  .progress-tracker {
    max-width: 24px;
  }

  .progress-label {
    font-size: 0.7rem;
  }

  .checkout-form-section {
    padding: 1.5rem;
  }

  .checkout-actions {
    flex-direction: column-reverse;
    gap: 0.75rem;
  }

  .premium-btn {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .checkout-header {
    padding: 1.5rem 1rem;
    margin-bottom: 1rem;
  }

  .checkout-header__title {
    font-size: 1.5rem;
  }

  .checkout-header__subtitle {
    font-size: 0.9rem;
  }

  .checkout-progress {
    flex-wrap: wrap;
  }

  .section-header {
    flex-direction: column;
    text-align: center;
    align-items: flex-start;
  }

  .section-icon {
    margin-left: auto;
    margin-right: auto;
  }

  .checkout-form-section {
    padding: 1.25rem;
    border-radius: 12px;
  }

  input[type="email"],
  input[type="text"],
  input[type="tel"],
  textarea,
  select {
    font-size: 16px;
  }

  .premium-payment-card {
    padding: 1rem;
  }

  .premium-items-list {
    padding: 1rem;
  }
}

}

/* -------------------------------------------------------------------------- */
/* Order confirmation page                                                   */
/* -------------------------------------------------------------------------- */

.order-confirmation-page {
  max-width: 800px;
  margin: 0 auto;
}

.order-confirmation {
  text-align: center;
}

.order-confirmation__header {
  margin-bottom: 2rem;
}

.order-confirmation__icon {
  margin-bottom: 1rem;
  color: #6fe7f2;
}

.order-confirmation__title {
  font-size: 2rem;
  margin-bottom: 0.5rem;
}

.order-confirmation__subtitle {
  font-size: 1.125rem;
  line-height: 1.6;
  max-width: 600px;
  margin: 0 auto;
}

.order-details {
  text-align: left;
  margin-top: 2rem;
}

.order-info,
.order-shipping,
.order-items {
  margin-bottom: 2rem;
}

.order-info__title,
.order-shipping__title,
.order-items__title {
  font-size: 1.25rem;
  margin-bottom: 1rem;
}

.order-info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
}

.order-info-item {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.order-info-label {
  font-size: 0.875rem;
}

.order-info-value {
  font-weight: 600;
}

.order-status {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.order-status--pending {
  background: rgba(255, 193, 7, 0.2);
  color: #ffc107;
}

.order-status--paid {
  background: rgba(40, 167, 69, 0.2);
  color: #28a745;
}

.order-status--shipped {
  background: rgba(23, 162, 184, 0.2);
  color: #17a2b8;
}

.order-status--delivered {
  background: rgba(40, 167, 69, 0.2);
  color: #28a745;
}
.shipping-address {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  padding: 1rem;
}

.shipping-address p {
  margin: 0 0 0.5rem;
}

.shipping-address p:last-child {
  margin-bottom: 0;
}

.order-items-list {
  margin-bottom: 1.5rem;
}

.order-item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.order-item:last-child {
  border-bottom: none;
}

.order-item__info {
  flex: 1;
  min-width: 0;
}

.order-item__name {
  font-size: 1rem;
  margin-bottom: 0.25rem;
  line-height: 1.4;
}

.order-item__quantity {
  font-size: 0.875rem;
}

.order-item__price {
  text-align: right;
}

.order-item__unit-price {
  font-size: 0.875rem;
  margin-bottom: 0.25rem;
}

.order-item__total {
  font-weight: 600;
}

.order-total {
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  padding-top: 1rem;
}

.order-total-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
}

.order-total-row--final {
  padding-top: 0.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  font-size: 1.125rem;
  font-weight: 600;
}

.order-actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
  margin-top: 2rem;
}

.order-notice {
  margin-top: 2rem;
  padding: 1rem;
  background: rgba(111, 231, 242, 0.1);
  border: 1px solid rgba(111, 231, 242, 0.2);
  border-radius: 8px;
}

.order-notice .text-small {
  font-size: 0.875rem;
  line-height: 1.5;
  text-align: center;
}

/* -------------------------------------------------------------------------- */
/* Responsive adjustments                                                     */
/* -------------------------------------------------------------------------- */

@media (max-width: 768px) {
  .checkout-layout {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .checkout-form {
    position: static;
  }

  .checkout-actions {
    flex-direction: column;
  }

  .checkout-submit-btn {
    margin-left: 0;
    margin-top: 1rem;
  }

  .order-info-grid {
    grid-template-columns: 1fr;
  }

  .order-item {
    flex-direction: column;
    gap: 0.5rem;
  }

  .order-item__price {
    text-align: left;
  }

  .order-actions {
    flex-direction: column;
  }
}

/* -------------------------------------------------------------------------- */
/* Order success page                                                        */
/* -------------------------------------------------------------------------- */

.order-success-page {
  max-width: 800px;
  margin: 0 auto;
  padding: 2rem 1rem;
}

.order-success-content {
  text-align: center;
  max-width: 600px;
  margin: 0 auto;
}

.order-success-icon {
  margin-bottom: 2rem;
  color: #6fe7f2;
}

.order-success-title {
  font-size: 2.5rem;
  margin-bottom: 1rem;
}

.order-success-subtitle {
  font-size: 1.125rem;
  margin-bottom: 3rem;
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}

.order-details {
  text-align: left;
  margin-bottom: 3rem;
  padding: 2rem;
}

.order-details__title {
  font-size: 1.25rem;
  margin-bottom: 2rem;
}

.order-info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  margin-bottom: 2rem;
}

.order-info-item {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.order-info-label {
  font-size: 0.875rem;
}

.order-info-value {
  font-weight: 500;
}

.order-shipping,
.order-payment {
  margin-bottom: 2rem;
}

.order-shipping__title,
.order-payment__title {
  font-size: 1rem;
  margin-bottom: 0.75rem;
}

.order-shipping__address,
.order-payment__method {
  line-height: 1.5;
}

.order-success-actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
}

.order-success-shop-btn {
  flex: 1;
  padding: 1rem 2rem;
  font-size: 1.125rem;
}

.order-success-home-btn {
  flex: 1;
}

/* -------------------------------------------------------------------------- */
/* Responsive adjustments for checkout                                      */
/* -------------------------------------------------------------------------- */

/* ========================================================================== */
/* PREMIUM CART PAGE - MODERN DARK PURPLE & WHITE DESIGN                   */
/* ========================================================================== */

.premium-cart-page {
  width: 100%;
  background: #ffffff;
  min-height: 100vh;
}

/* HEADER SECTION */
.premium-cart__header {
  background: #240046;
  color: white;
  padding: 3rem 1.5rem;
  margin-bottom: 2rem;
  box-shadow: 0 12px 48px rgba(36, 0, 70, 0.25);
}

.premium-cart__header-content {
  max-width: 1200px;
  margin: 0 auto;
}

.premium-cart__title {
  margin: 0 0 0.5rem;
  font-size: clamp(2rem, 5vw, 2.75rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #ffffff;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.premium-cart__icon {
  width: 36px;
  height: 36px;
  color: #ffffff;
}

.premium-cart__subtitle {
  margin: 0;
  font-size: 1.05rem;
  color: rgba(255, 255, 255, 0.9);
  font-weight: 400;
}

/* ALERTS/MESSAGES */
.premium-cart__messages {
  max-width: 1200px;
  margin: 0 auto 2rem;
  padding: 0 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.premium-alert {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem 1.25rem;
  border-radius: 12px;
  font-weight: 500;
  font-size: 0.95rem;
  animation: slideInDown 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.premium-alert--success {
  background: rgba(40, 167, 69, 0.1);
  border: 1px solid rgba(40, 167, 69, 0.35);
  color: #28a745;
}

.premium-alert--error {
  background: rgba(255, 119, 122, 0.1);
  border: 1px solid rgba(255, 119, 122, 0.35);
  color: #ff777a;
}

.premium-alert__icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
}

@keyframes slideInDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* MAIN CONTAINER */
.premium-cart__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.5rem 3rem;
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 2.5rem;
  align-items: start;
}

/* CART ITEMS SECTION */
.premium-cart__items {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.premium-cart-item {
  background: #ffffff;
  border-radius: 16px;
  padding: 1.5rem;
  display: grid;
  grid-template-columns: 140px 1fr auto auto auto;
  gap: 1.5rem;
  align-items: center;
  box-shadow: 0 4px 24px rgba(36, 0, 70, 0.08);
  border: 1px solid rgba(36, 0, 70, 0.1);
  transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.premium-cart-item:hover {
  box-shadow: 0 12px 40px rgba(36, 0, 70, 0.15);
  border-color: rgba(36, 0, 70, 0.2);
  transform: translateY(-2px);
}

.premium-cart-item__media {
  overflow: hidden;
  border-radius: 12px;
  background: #f5f5f5;
  aspect-ratio: 1;
}

.premium-cart-item__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.premium-cart-item__placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: #f5f5f5;
  color: rgba(36, 0, 70, 0.3);
}

.premium-cart-item__content {
  min-width: 0;
}

.premium-cart-item__name {
  margin: 0 0 0.5rem;
  font-size: 1.15rem;
  font-weight: 600;
  color: #240046;
  line-height: 1.3;
}

.premium-cart-item__name a {
  color: #240046;
  text-decoration: none;
  transition: color 0.3s ease;
}

.premium-cart-item__name a:hover {
  color: #3a0ca3;
}

.premium-cart-item__sku {
  margin: 0 0 0.35rem;
  font-size: 0.85rem;
  color: #999;
}

.premium-cart-item__price {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 700;
  color: #240046;
}

/* CONTROLS SECTION */
.premium-cart-item__controls {
  display: flex;
  gap: 1rem;
  align-items: center;
}

.premium-quantity-form {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.premium-quantity-selector {
  display: flex;
  align-items: center;
  border: 2px solid #e5e5e5;
  border-radius: 10px;
  background: #fafafa;
  overflow: hidden;
  transition: all 0.3s ease;
}

.premium-quantity-selector:hover {
  border-color: #240046;
  background: #f5f5f5;
}

.premium-quantity-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: none;
  border: none;
  color: #240046;
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 0;
}

.premium-quantity-btn:hover {
  background: #e8d5ff;
  color: #240046;
}

.premium-quantity-btn svg {
  width: 18px;
  height: 18px;
}

.premium-quantity-input {
  width: 50px;
  height: 36px;
  border: none;
  background: transparent;
  text-align: center;
  font-size: 1rem;
  font-weight: 600;
  color: #240046;
  font-family: inherit;
}

.premium-quantity-input:focus {
  outline: none;
}

.premium-cart-item__total {
  min-width: 100px;
  text-align: right;
}

.premium-cart-item__subtotal {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  color: #240046;
}

.premium-remove-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  background: #fff3f5;
  border: 2px solid #ffe5e5;
  border-radius: 10px;
  color: #e91e63;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 0;
}

.premium-remove-btn:hover {
  background: #e91e63;
  border-color: #e91e63;
  color: white;
  transform: rotate(90deg);
}

.premium-remove-btn svg {
  width: 20px;
  height: 20px;
}

/* SIDEBAR - ORDER SUMMARY */
.premium-cart__sidebar {
  width: 100%;
}

.premium-cart-summary {
  background: #240046;
  border-radius: 16px;
  padding: 2rem;
  color: white;
  box-shadow: 0 12px 48px rgba(36, 0, 70, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.1);
  position: sticky;
  top: 2rem;
}

.premium-cart-summary__title {
  margin: 0 0 1.75rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #ffffff;
}

.premium-cart-summary__details {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.premium-cart-summary__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.85rem 0;
  font-size: 0.95rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.premium-cart-summary__row:last-child {
  border-bottom: none;
}

.premium-cart-summary__label {
  color: rgba(255, 255, 255, 0.85);
  font-weight: 500;
}

.premium-cart-summary__value {
  color: #ffffff;
  font-weight: 600;
}

.premium-cart-summary__value--muted {
  color: #a8e5ff;
}

.premium-cart-summary__row--total {
  padding: 1.25rem 0;
  font-size: 1.35rem;
  border-top: 2px solid rgba(255, 255, 255, 0.2);
  border-bottom: 2px solid rgba(255, 255, 255, 0.2);
}

.premium-cart-summary__divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.1);
  margin: 1rem 0;
}

.premium-cart-summary__actions {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  margin-top: 1.75rem;
}

.premium-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.95rem 1.5rem;
  border: none;
  border-radius: 12px;
  font-size: 1rem;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  text-decoration: none;
  text-align: center;
  white-space: nowrap;
}

.premium-btn--primary {
  background: #7209b7;
  color: #ffffff;
  box-shadow: 0 8px 24px rgba(114, 9, 183, 0.35);
}

.premium-btn--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(114, 9, 183, 0.5);
}

.premium-btn--primary:active {
  transform: translateY(0);
}

.premium-btn--secondary {
  background: rgba(255, 255, 255, 0.15);
  color: #ffffff;
  border: 2px solid rgba(114, 9, 183, 0.4);
}

.premium-btn--secondary:hover {
  background: rgba(255, 255, 255, 0.25);
  border-color: rgba(114, 9, 183, 0.6);
  transform: translateY(-2px);
}

.premium-btn--secondary:active {
  transform: translateY(0);
}

.premium-cart-summary__info {
  margin-top: 1.5rem;
  padding: 1rem;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  border: 1px solid rgba(114, 9, 183, 0.3);
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.9);
}

.premium-cart-summary__info svg {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  color: #e8d5ff;
}

.premium-cart-summary__info p {
  margin: 0;
  line-height: 1.4;
}

/* EMPTY CART STATE */
.premium-cart__empty {
  max-width: 1200px;
  margin: 0 auto;
  padding: 3rem 1.5rem;
}

.premium-cart-empty {
  background: #ffffff;
  border-radius: 20px;
  padding: 4rem 2rem;
  text-align: center;
  max-width: 500px;
  margin: 0 auto;
  box-shadow: 0 12px 48px rgba(36, 0, 70, 0.1);
  border: 1px solid rgba(36, 0, 70, 0.1);
}

.premium-cart-empty__illustration {
  margin-bottom: 2rem;
  display: flex;
  justify-content: center;
}

.premium-cart-empty__illustration svg {
  width: 120px;
  height: 120px;
  color: #7209b7;
}

.premium-cart-empty__title {
  margin: 0 0 0.75rem;
  font-size: 1.75rem;
  font-weight: 700;
  color: #240046;
}

.premium-cart-empty__description {
  margin: 0 0 2rem;
  font-size: 1rem;
  color: #999;
  line-height: 1.6;
}

/* MOBILE RESPONSIVE */
@media (max-width: 999px) {
  .premium-cart__container {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .premium-cart-summary {
    position: static;
  }
}

@media (max-width: 768px) {
  .premium-cart__header {
    padding: 2rem 1.25rem;
    margin-bottom: 1.5rem;
  }

  .premium-cart__title {
    font-size: 1.75rem;
  }

  .premium-cart__container {
    padding: 0 1rem 2rem;
    gap: 1.5rem;
  }

  .premium-cart-item {
    grid-template-columns: 100px 1fr;
    gap: 1rem;
    padding: 1.25rem;
  }

  .premium-cart-item__media {
    grid-column: 1 / 2;
  }

  .premium-cart-item__content {
    grid-column: 2 / 3;
  }

  .premium-cart-item__controls {
    grid-column: 1 / -1;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 0.75rem;
  }

  .premium-cart-item__total {
    order: 2;
  }

  .premium-remove-btn {
    order: 3;
  }

  .premium-cart-summary {
    padding: 1.5rem;
  }

  .premium-cart-summary__title {
    font-size: 1.25rem;
    margin-bottom: 1.25rem;
  }

  .premium-btn {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .premium-cart-page {
    background: linear-gradient(135deg, #fcfbff 0%, #f8f6fc 100%);
  }

  .premium-cart__header {
    padding: 1.75rem 1rem;
  }

  .premium-cart__title {
    font-size: 1.5rem;
    gap: 0.75rem;
  }

  .premium-cart__icon {
    width: 28px;
    height: 28px;
  }

  .premium-cart__subtitle {
    font-size: 0.95rem;
  }

  .premium-cart__messages {
    padding: 0 1rem;
  }

  .premium-cart__container {
    padding: 0 1rem 1.5rem;
    gap: 1rem;
  }

  .premium-cart-item {
    grid-template-columns: 90px 1fr;
    gap: 0.75rem;
    padding: 1rem;
  }

  .premium-cart-item__name {
    font-size: 1rem;
    margin-bottom: 0.35rem;
  }

  .premium-cart-item__sku {
    font-size: 0.75rem;
  }

  .premium-cart-item__price {
    font-size: 1.1rem;
  }

  .premium-quantity-btn {
    width: 32px;
    height: 32px;
  }

  .premium-quantity-input {
    width: 45px;
    height: 32px;
  }

  .premium-remove-btn {
    width: 36px;
    height: 36px;
  }

  .premium-cart-item__subtotal {
    font-size: 1.1rem;
  }

  .premium-cart-empty {
    padding: 2.5rem 1.5rem;
  }

  .premium-cart-empty__illustration svg {
    width: 100px;
    height: 100px;
  }

  .premium-cart-empty__title {
    font-size: 1.5rem;
  }

  .premium-cart-empty__description {
    font-size: 0.9rem;
    margin-bottom: 1.5rem;
  }
}

@media (max-width: 768px) {
  .checkout-layout {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .checkout-summary {
    position: static;
  }

  .checkout-actions {
    flex-direction: column;
  }

  .checkout-back-btn,
  .checkout-submit-btn {
    flex: none;
    width: 100%;
  }

  .order-info-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .order-success-actions {
    flex-direction: column;
  }

  .order-success-shop-btn,
  .order-success-home-btn {
    flex: none;
    width: 100%;
  }
}

/* -------------------------------------------------------------------------- */
/* Order Tracking                                                             */
/* -------------------------------------------------------------------------- */

.order-history-page__header {
  margin-bottom: 1.5rem;
}

.order-history-page__title {
  margin: 0 0 0.35rem;
  font-size: clamp(1.75rem, 4vw, 2.25rem);
}

.order-history-page__subtitle {
  margin: 0;
  font-size: 1rem;
}

.order-history {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-bottom: 2rem;
}

.order-card {
  padding: 1.5rem;
}

.order-card__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 1.25rem;
  gap: 1rem;
}

.order-card__info {
  flex: 1;
}

.order-card__number {
  margin: 0 0 0.25rem;
  font-size: 1.125rem;
  font-weight: 600;
}

.order-card__number-link {
  text-decoration: none;
  transition: opacity var(--duration) var(--ease-out);
}

.order-card__number-link:hover {
  opacity: 0.85;
}

.order-card__date {
  margin: 0;
  font-size: 0.875rem;
}

.order-card__status {
  flex-shrink: 0;
}

.status-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  border-radius: 20px;
  font-size: 0.8125rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

.status-badge--pending {
  background: rgba(255, 193, 7, 0.15);
  color: #ffc107;
  border: 1px solid rgba(255, 193, 7, 0.3);
}

.status-badge--processing {
  background: rgba(0, 123, 255, 0.15);
  color: #007bff;
  border: 1px solid rgba(0, 123, 255, 0.3);
}

.status-badge--shipped {
  background: rgba(40, 167, 69, 0.15);
  color: #28a745;
  border: 1px solid rgba(40, 167, 69, 0.3);
}

.status-badge--delivered {
  background: rgba(5, 153, 173, 0.15);
  color: #0599ad;
  border: 1px solid rgba(5, 153, 173, 0.3);
}

.status-badge--cancelled {
  background: rgba(220, 53, 69, 0.15);
  color: #dc3545;
  border: 1px solid rgba(220, 53, 69, 0.3);
}

.order-card__body {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.order-card__items {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.order-item {
  display: flex;
  align-items: center;
  gap: 0.875rem;
}

.order-item__image {
  flex-shrink: 0;
  width: 60px;
  height: 60px;
  border-radius: 8px;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.15);
}

.order-item__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.order-item__placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.04);
}

.order-item__details {
  flex: 1;
  min-width: 0;
}

.order-item__name {
  margin: 0 0 0.25rem;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.4;
}

.order-item__meta {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.4;
}

.order-card__more {
  margin: 0.5rem 0 0;
  font-size: 0.8125rem;
}

.order-card__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.order-card__total {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}

.order-card__total-label {
  font-size: 0.9375rem;
}

.order-card__total-amount {
  font-size: 1.125rem;
  font-weight: 600;
}

.order-card__view-btn {
  flex-shrink: 0;
}

.order-history-empty {
  text-align: center;
  max-width: 28rem;
  margin: 0 auto;
}

.order-history-empty__icon {
  margin-bottom: 1.5rem;
}

.order-history-empty__title {
  margin: 0 0 0.5rem;
  font-size: 1.5rem;
}

.order-history-empty__text {
  margin: 0 0 1.5rem;
}

.order-history-empty__shop-btn {
  margin: 0;
}

/* Order Detail */
.order-detail-page__header {
  margin-bottom: 2rem;
}

.order-detail-page__nav {
  margin-bottom: 1rem;
}

.order-detail-page__back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  font-size: 0.9375rem;
  transition: opacity var(--duration) var(--ease-out);
}

.order-detail-page__back-link:hover {
  opacity: 0.8;
}

.order-detail-page__title {
  margin: 0 0 0.35rem;
  font-size: clamp(1.75rem, 4vw, 2.25rem);
}

.order-detail-page__subtitle {
  margin: 0;
  font-size: 1rem;
}

.order-detail-layout {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 2rem;
  align-items: start;
}

.order-timeline-sidebar {
  position: sticky;
  top: 2rem;
}

.order-timeline__title {
  margin: 0 0 1.5rem;
  font-size: 1.25rem;
  font-weight: 600;
}

.status-timeline {
  position: relative;
}

.status-timeline::before {
  content: '';
  position: absolute;
  left: 24px;
  top: 32px;
  bottom: 32px;
  width: 2px;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 1px;
}

.timeline-step {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1.5rem;
  position: relative;
}

.timeline-step:last-child {
  margin-bottom: 0;
}

.timeline-step__indicator {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--glass-bg);
  backdrop-filter: blur(var(--glass-blur));
  border: 2px solid rgba(255, 255, 255, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}

.timeline-step--completed .timeline-step__indicator {
  background: linear-gradient(135deg, #28a745, #20c997);
  border-color: #28a745;
}

.timeline-step--current .timeline-step__indicator {
  background: linear-gradient(135deg, #0599ad, #6fe7f2);
  border-color: #0599ad;
  box-shadow: 0 0 20px rgba(5, 153, 173, 0.3);
}

.timeline-step__icon {
  color: white;
}

.timeline-step__dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.4);
}

.timeline-step__dot--pending {
  background: rgba(255, 255, 255, 0.2);
}

.timeline-step__content {
  flex: 1;
  padding-top: 0.25rem;
}

.timeline-step__title {
  margin: 0 0 0.25rem;
  font-size: 1rem;
  font-weight: 500;
}

.timeline-step__date {
  margin: 0;
  font-size: 0.8125rem;
}

.timeline-step__status {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 500;
}

.order-timeline__delivered {
  margin-top: 1.5rem;
  padding: 1rem;
  background: linear-gradient(135deg, rgba(40, 167, 69, 0.1), rgba(32, 201, 151, 0.1));
  border: 1px solid rgba(40, 167, 69, 0.3);
}

.delivered-notice {
  display: flex;
  align-items: center;
  gap: 0.875rem;
}

.delivered-notice__icon {
  flex-shrink: 0;
  color: #28a745;
}

.delivered-notice__content {
  flex: 1;
}

.delivered-notice__title {
  margin: 0 0 0.25rem;
  font-size: 1rem;
  font-weight: 500;
}

.delivered-notice__text {
  margin: 0;
  font-size: 0.8125rem;
}

.order-detail-main {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.order-items-section__title,
.order-shipping-section__title {
  margin: 0 0 1.5rem;
  font-size: 1.25rem;
  font-weight: 600;
}

.order-items {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 2rem;
}

.order-item-detail {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  background: rgba(255, 255, 255, 0.02);
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.order-item-detail__image {
  flex-shrink: 0;
  width: 80px;
  height: 80px;
  border-radius: 8px;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.15);
}

.order-item-detail__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.order-item-detail__placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.04);
}

.order-item-detail__content {
  flex: 1;
  min-width: 0;
}

.order-item-detail__name {
  margin: 0 0 0.5rem;
  font-size: 1.0625rem;
  font-weight: 500;
  line-height: 1.4;
}

.order-item-detail__name-link {
  color: inherit;
  text-decoration: none;
  transition: opacity var(--duration) var(--ease-out);
}

.order-item-detail__name-link:hover {
  opacity: 0.85;
}

.order-item-detail__meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9375rem;
  line-height: 1.4;
}

.order-summary {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 1.5rem;
}

.order-summary__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 0;
}

.order-summary__row--total {
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  padding-top: 1rem;
  margin-top: 0.5rem;
  font-size: 1.125rem;
  font-weight: 600;
}

.order-summary__label,
.order-summary__value {
  font-size: inherit;
}

.shipping-info {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.shipping-info__recipient {
  padding: 1rem;
  background: rgba(255, 255, 255, 0.02);
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.shipping-info__name {
  margin: 0 0 0.25rem;
  font-size: 1.0625rem;
  font-weight: 500;
}

.shipping-info__phone {
  margin: 0;
  font-size: 0.9375rem;
}

.shipping-info__address {
  padding: 1rem;
  background: rgba(255, 255, 255, 0.02);
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.shipping-info__address-text {
  margin: 0;
  line-height: 1.6;
}

/* Responsive */
@media (max-width: 768px) {
  .order-card__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }

  .order-card__status {
    align-self: flex-end;
  }

  .order-card__summary {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
  }

  .order-card__view-btn {
    align-self: flex-end;
  }

  .order-detail-layout {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .order-timeline-sidebar {
    position: static;
    order: 2;
  }

  .order-detail-main {
    order: 1;
  }

  .status-timeline::before {
    left: 20px;
  }

  .timeline-step__indicator {
    width: 40px;
    height: 40px;
  }

  .order-item-detail {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }

  .order-item-detail__image {
    width: 60px;
    height: 60px;
  }

  .order-item-detail__meta {
    flex-wrap: wrap;
  }
}

@media (max-width: 480px) {
  .order-card__items {
    gap: 1rem;
  }

  .order-item {
    gap: 0.75rem;
  }

  .order-item__image {
    width: 50px;
    height: 50px;
  }

  .order-item__name {
    font-size: 0.875rem;
  }

  .order-item__meta {
    font-size: 0.75rem;
  }

  .order-items {
    gap: 0.75rem;
  }

  .order-item-detail__meta {
    font-size: 0.875rem;
  }
}
/ *   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -   * / 
 / *   A u t h e n t i c a t i o n   &   D a s h b o a r d                                                                                                       * / 
 / *   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -   * / 
 
 . a u t h - c o n t a i n e r   { 
     d i s p l a y :   f l e x ; 
     a l i g n - i t e m s :   c e n t e r ; 
     j u s t i f y - c o n t e n t :   c e n t e r ; 
     m i n - h e i g h t :   8 0 v h ; 
     p a d d i n g :   2 r e m   1 r e m ; 
 } 
 
 . a u t h - c a r d   { 
     w i d t h :   1 0 0 % ; 
     m a x - w i d t h :   4 0 0 p x ; 
     p a d d i n g :   2 r e m ; 
     b o r d e r - r a d i u s :   1 6 p x ; 
     b a c k g r o u n d :   v a r ( - - g l a s s - b g ) ; 
     b a c k d r o p - f i l t e r :   b l u r ( v a r ( - - g l a s s - b l u r ) ) ; 
     b o r d e r :   1 p x   s o l i d   v a r ( - - g l a s s - b o r d e r ) ; 
     b o x - s h a d o w :   v a r ( - - g l a s s - s h a d o w ) ; 
 } 
 
 . a u t h - h e a d e r   { 
     t e x t - a l i g n :   c e n t e r ; 
     m a r g i n - b o t t o m :   2 r e m ; 
 } 
 
 . a u t h - h e a d e r   h 1   { 
     m a r g i n :   0   0   0 . 5 r e m ; 
     f o n t - s i z e :   1 . 7 5 r e m ; 
     f o n t - w e i g h t :   6 0 0 ; 
 } 
 
 . a u t h - h e a d e r   p   { 
     m a r g i n :   0 ; 
     c o l o r :   v a r ( - - c o l o r - t e x t - m u t e d ) ; 
     f o n t - s i z e :   0 . 9 3 7 5 r e m ; 
 } 
 
 . a u t h - f o r m   { 
     d i s p l a y :   f l e x ; 
     f l e x - d i r e c t i o n :   c o l u m n ; 
     g a p :   1 . 2 5 r e m ; 
 } 
 
 . f o r m - r o w   { 
     d i s p l a y :   f l e x ; 
     g a p :   1 r e m ; 
 } 
 
 . f o r m - r o w   . f o r m - g r o u p   { 
     f l e x :   1 ; 
 } 
 
 . f o r m - g r o u p   { 
     d i s p l a y :   f l e x ; 
     f l e x - d i r e c t i o n :   c o l u m n ; 
     g a p :   0 . 5 r e m ; 
 } 
 
 . f o r m - g r o u p   l a b e l   { 
     f o n t - s i z e :   0 . 8 7 5 r e m ; 
     f o n t - w e i g h t :   5 0 0 ; 
     c o l o r :   v a r ( - - c o l o r - t e x t - s o f t ) ; 
 } 
 
 . f o r m - g r o u p   i n p u t , 
 . f o r m - g r o u p   s e l e c t , 
 . f o r m - g r o u p   t e x t a r e a   { 
     p a d d i n g :   0 . 7 5 r e m ; 
     b o r d e r :   1 p x   s o l i d   v a r ( - - g l a s s - b o r d e r ) ; 
     b o r d e r - r a d i u s :   8 p x ; 
     b a c k g r o u n d :   r g b a ( 2 5 5 ,   2 5 5 ,   2 5 5 ,   0 . 0 5 ) ; 
     b a c k d r o p - f i l t e r :   b l u r ( v a r ( - - g l a s s - b l u r ) ) ; 
     c o l o r :   v a r ( - - c o l o r - t e x t ) ; 
     f o n t - s i z e :   0 . 9 3 7 5 r e m ; 
     t r a n s i t i o n :   b o r d e r - c o l o r   v a r ( - - d u r a t i o n )   v a r ( - - e a s e - o u t ) ; 
 } 
 
 . f o r m - g r o u p   i n p u t : f o c u s , 
 . f o r m - g r o u p   s e l e c t : f o c u s , 
 . f o r m - g r o u p   t e x t a r e a : f o c u s   { 
     o u t l i n e :   n o n e ; 
     b o r d e r - c o l o r :   r g b a ( 2 5 5 ,   2 5 5 ,   2 5 5 ,   0 . 4 ) ; 
 } 
 
 . f o r m - g r o u p   i n p u t : : p l a c e h o l d e r   { 
     c o l o r :   v a r ( - - c o l o r - t e x t - m u t e d ) ; 
 } 
 
 . a u t h - b t n   { 
     p a d d i n g :   0 . 8 7 5 r e m   1 . 5 r e m ; 
     b o r d e r :   1 p x   s o l i d   v a r ( - - b t n - b o r d e r ) ; 
     b o r d e r - r a d i u s :   8 p x ; 
     b a c k g r o u n d :   v a r ( - - b t n - g l a s s - b g ) ; 
     b a c k d r o p - f i l t e r :   b l u r ( v a r ( - - g l a s s - b l u r ) ) ; 
     c o l o r :   v a r ( - - c o l o r - t e x t ) ; 
     f o n t - s i z e :   0 . 9 3 7 5 r e m ; 
     f o n t - w e i g h t :   5 0 0 ; 
     c u r s o r :   p o i n t e r ; 
     t r a n s i t i o n :   a l l   v a r ( - - d u r a t i o n )   v a r ( - - e a s e - o u t ) ; 
 } 
 
 . a u t h - b t n : h o v e r   { 
     b a c k g r o u n d :   v a r ( - - b t n - g l a s s - b g - h o v e r ) ; 
     b o r d e r - c o l o r :   v a r ( - - b t n - b o r d e r - h o v e r ) ; 
     t r a n s f o r m :   t r a n s l a t e Y ( - 1 p x ) ; 
 } 
 
 . a u t h - b t n : a c t i v e   { 
     b a c k g r o u n d :   v a r ( - - b t n - g l a s s - b g - a c t i v e ) ; 
     t r a n s f o r m :   t r a n s l a t e Y ( 0 ) ; 
 } 
 
 . a u t h - l i n k s   { 
     t e x t - a l i g n :   c e n t e r ; 
     m a r g i n - t o p :   1 . 5 r e m ; 
 } 
 
 . a u t h - l i n k s   a   { 
     c o l o r :   v a r ( - - c o l o r - t e x t - s o f t ) ; 
     t e x t - d e c o r a t i o n :   u n d e r l i n e ; 
     t e x t - u n d e r l i n e - o f f s e t :   3 p x ; 
     f o n t - s i z e :   0 . 8 7 5 r e m ; 
 } 
 
 . a u t h - l i n k s   a : h o v e r   { 
     c o l o r :   v a r ( - - c o l o r - t e x t ) ; 
 } 
 
 . e r r o r - m e s s a g e   { 
     c o l o r :   # f f 6 b 6 b ; 
     f o n t - s i z e :   0 . 8 1 2 5 r e m ; 
     m a r g i n - t o p :   0 . 2 5 r e m ; 
 } 
 
 / *   D a s h b o a r d   * / 
 . d a s h b o a r d - c o n t a i n e r   { 
     m a x - w i d t h :   1 2 0 0 p x ; 
     m a r g i n :   0   a u t o ; 
     p a d d i n g :   2 r e m   1 r e m ; 
 } 
 
 . d a s h b o a r d - h e a d e r   { 
     t e x t - a l i g n :   c e n t e r ; 
     m a r g i n - b o t t o m :   2 r e m ; 
 } 
 
 . d a s h b o a r d - h e a d e r   h 1   { 
     m a r g i n :   0   0   0 . 5 r e m ; 
     f o n t - s i z e :   2 r e m ; 
     f o n t - w e i g h t :   6 0 0 ; 
 } 
 
 . d a s h b o a r d - h e a d e r   p   { 
     m a r g i n :   0 ; 
     c o l o r :   v a r ( - - c o l o r - t e x t - m u t e d ) ; 
     f o n t - s i z e :   1 r e m ; 
 } 
 
 . d a s h b o a r d - g r i d   { 
     d i s p l a y :   g r i d ; 
     g r i d - t e m p l a t e - c o l u m n s :   r e p e a t ( a u t o - f i t ,   m i n m a x ( 3 0 0 p x ,   1 f r ) ) ; 
     g a p :   1 . 5 r e m ; 
     m a r g i n - b o t t o m :   2 r e m ; 
 } 
 
 . d a s h b o a r d - c a r d   { 
     p a d d i n g :   1 . 5 r e m ; 
     b o r d e r - r a d i u s :   1 2 p x ; 
     b a c k g r o u n d :   v a r ( - - g l a s s - b g ) ; 
     b a c k d r o p - f i l t e r :   b l u r ( v a r ( - - g l a s s - b l u r ) ) ; 
     b o r d e r :   1 p x   s o l i d   v a r ( - - g l a s s - b o r d e r ) ; 
     b o x - s h a d o w :   v a r ( - - g l a s s - s h a d o w ) ; 
 } 
 
 . d a s h b o a r d - c a r d   h 3   { 
     m a r g i n :   0   0   1 r e m ; 
     f o n t - s i z e :   1 . 2 5 r e m ; 
     f o n t - w e i g h t :   6 0 0 ; 
 } 
 
 . q u i c k - a c t i o n s   { 
     d i s p l a y :   g r i d ; 
     g r i d - t e m p l a t e - c o l u m n s :   1 f r ; 
     g a p :   0 . 7 5 r e m ; 
 } 
 
 . a c t i o n - b t n   { 
     d i s p l a y :   f l e x ; 
     a l i g n - i t e m s :   c e n t e r ; 
     g a p :   0 . 7 5 r e m ; 
     p a d d i n g :   0 . 8 7 5 r e m   1 r e m ; 
     b o r d e r :   1 p x   s o l i d   v a r ( - - b t n - b o r d e r ) ; 
     b o r d e r - r a d i u s :   8 p x ; 
     b a c k g r o u n d :   v a r ( - - b t n - g l a s s - b g ) ; 
     b a c k d r o p - f i l t e r :   b l u r ( v a r ( - - g l a s s - b l u r ) ) ; 
     c o l o r :   v a r ( - - c o l o r - t e x t ) ; 
     t e x t - d e c o r a t i o n :   n o n e ; 
     f o n t - s i z e :   0 . 9 3 7 5 r e m ; 
     f o n t - w e i g h t :   5 0 0 ; 
     t r a n s i t i o n :   a l l   v a r ( - - d u r a t i o n )   v a r ( - - e a s e - o u t ) ; 
 } 
 
 . a c t i o n - b t n : h o v e r   { 
     b a c k g r o u n d :   v a r ( - - b t n - g l a s s - b g - h o v e r ) ; 
     b o r d e r - c o l o r :   v a r ( - - b t n - b o r d e r - h o v e r ) ; 
     t r a n s f o r m :   t r a n s l a t e Y ( - 1 p x ) ; 
 } 
 
 . a c t i o n - b t n   i   { 
     f o n t - s i z e :   1 . 1 2 5 r e m ; 
 } 
 
 . r e c e n t - o r d e r s   . o r d e r - i t e m   { 
     d i s p l a y :   f l e x ; 
     j u s t i f y - c o n t e n t :   s p a c e - b e t w e e n ; 
     a l i g n - i t e m s :   c e n t e r ; 
     p a d d i n g :   0 . 7 5 r e m   0 ; 
     b o r d e r - b o t t o m :   1 p x   s o l i d   r g b a ( 2 5 5 ,   2 5 5 ,   2 5 5 ,   0 . 1 ) ; 
 } 
 
 . r e c e n t - o r d e r s   . o r d e r - i t e m : l a s t - c h i l d   { 
     b o r d e r - b o t t o m :   n o n e ; 
 } 
 
 . o r d e r - i n f o   { 
     d i s p l a y :   f l e x ; 
     f l e x - d i r e c t i o n :   c o l u m n ; 
     g a p :   0 . 2 5 r e m ; 
 } 
 
 . o r d e r - i d   { 
     f o n t - w e i g h t :   6 0 0 ; 
     f o n t - s i z e :   0 . 9 3 7 5 r e m ; 
 } 
 
 . o r d e r - d a t e   { 
     f o n t - s i z e :   0 . 8 1 2 5 r e m ; 
     c o l o r :   v a r ( - - c o l o r - t e x t - m u t e d ) ; 
 } 
 
 . o r d e r - s t a t u s   { 
     d i s p l a y :   i n l i n e - b l o c k ; 
     p a d d i n g :   0 . 2 5 r e m   0 . 5 r e m ; 
     b o r d e r - r a d i u s :   4 p x ; 
     f o n t - s i z e :   0 . 7 5 r e m ; 
     f o n t - w e i g h t :   5 0 0 ; 
     t e x t - t r a n s f o r m :   u p p e r c a s e ; 
 } 
 
 . s t a t u s - p e n d i n g   { 
     b a c k g r o u n d :   r g b a ( 2 5 5 ,   1 9 3 ,   7 ,   0 . 2 ) ; 
     c o l o r :   # f f c 1 0 7 ; 
 } 
 
 . s t a t u s - p r o c e s s i n g   { 
     b a c k g r o u n d :   r g b a ( 0 ,   1 2 3 ,   2 5 5 ,   0 . 2 ) ; 
     c o l o r :   # 0 0 7 b f f ; 
 } 
 
 . s t a t u s - s h i p p e d   { 
     b a c k g r o u n d :   r g b a ( 4 0 ,   1 6 7 ,   6 9 ,   0 . 2 ) ; 
     c o l o r :   # 2 8 a 7 4 5 ; 
 } 
 
 . s t a t u s - d e l i v e r e d   { 
     b a c k g r o u n d :   r g b a ( 2 3 ,   1 6 2 ,   1 8 4 ,   0 . 2 ) ; 
     c o l o r :   # 1 7 a 2 b 8 ; 
 } 
 
 . s t a t u s - c a n c e l l e d   { 
     b a c k g r o u n d :   r g b a ( 2 2 0 ,   5 3 ,   6 9 ,   0 . 2 ) ; 
     c o l o r :   # d c 3 5 4 5 ; 
 } 
 
 . o r d e r - t o t a l   { 
     f o n t - w e i g h t :   6 0 0 ; 
     c o l o r :   v a r ( - - c o l o r - t e x t - s o f t ) ; 
 } 
 
 . v i e w - a l l - b t n   { 
     d i s p l a y :   i n l i n e - b l o c k ; 
     m a r g i n - t o p :   1 r e m ; 
     p a d d i n g :   0 . 5 r e m   1 r e m ; 
     b o r d e r :   1 p x   s o l i d   v a r ( - - b t n - b o r d e r ) ; 
     b o r d e r - r a d i u s :   6 p x ; 
     b a c k g r o u n d :   v a r ( - - b t n - g l a s s - b g ) ; 
     b a c k d r o p - f i l t e r :   b l u r ( v a r ( - - g l a s s - b l u r ) ) ; 
     c o l o r :   v a r ( - - c o l o r - t e x t ) ; 
     t e x t - d e c o r a t i o n :   n o n e ; 
     f o n t - s i z e :   0 . 8 7 5 r e m ; 
     f o n t - w e i g h t :   5 0 0 ; 
     t r a n s i t i o n :   a l l   v a r ( - - d u r a t i o n )   v a r ( - - e a s e - o u t ) ; 
 } 
 
 . v i e w - a l l - b t n : h o v e r   { 
     b a c k g r o u n d :   v a r ( - - b t n - g l a s s - b g - h o v e r ) ; 
     b o r d e r - c o l o r :   v a r ( - - b t n - b o r d e r - h o v e r ) ; 
 } 
 
 . n o - o r d e r s   { 
     t e x t - a l i g n :   c e n t e r ; 
     p a d d i n g :   2 r e m ; 
 } 
 
 . n o - o r d e r s   h 3   { 
     m a r g i n :   0   0   0 . 5 r e m ; 
     f o n t - s i z e :   1 . 2 5 r e m ; 
 } 
 
 . n o - o r d e r s   p   { 
     m a r g i n :   0   0   1 . 5 r e m ; 
     c o l o r :   v a r ( - - c o l o r - t e x t - m u t e d ) ; 
 } 
 
 . a c c o u n t - i n f o   { 
     d i s p l a y :   f l e x ; 
     f l e x - d i r e c t i o n :   c o l u m n ; 
     g a p :   0 . 7 5 r e m ; 
 } 
 
 . i n f o - i t e m   { 
     d i s p l a y :   f l e x ; 
     j u s t i f y - c o n t e n t :   s p a c e - b e t w e e n ; 
     a l i g n - i t e m s :   c e n t e r ; 
 } 
 
 . i n f o - i t e m   . l a b e l   { 
     f o n t - w e i g h t :   5 0 0 ; 
     c o l o r :   v a r ( - - c o l o r - t e x t - m u t e d ) ; 
 } 
 
 . i n f o - i t e m   . v a l u e   { 
     f o n t - w e i g h t :   5 0 0 ; 
     c o l o r :   v a r ( - - c o l o r - t e x t - s o f t ) ; 
 } 
 
 / *   O r d e r s   p a g e   * / 
 . o r d e r s - c o n t a i n e r   { 
     m a x - w i d t h :   1 0 0 0 p x ; 
     m a r g i n :   0   a u t o ; 
     p a d d i n g :   2 r e m   1 r e m ; 
 } 
 
 . p a g e - h e a d e r   { 
     t e x t - a l i g n :   c e n t e r ; 
     m a r g i n - b o t t o m :   2 r e m ; 
 } 
 
 . p a g e - h e a d e r   h 1   { 
     m a r g i n :   0   0   0 . 5 r e m ; 
     f o n t - s i z e :   2 r e m ; 
     f o n t - w e i g h t :   6 0 0 ; 
 } 
 
 . p a g e - h e a d e r   . a d d - a d d r e s s - b t n   { 
     d i s p l a y :   i n l i n e - b l o c k ; 
     m a r g i n - t o p :   1 r e m ; 
     p a d d i n g :   0 . 7 5 r e m   1 . 5 r e m ; 
     b o r d e r :   1 p x   s o l i d   v a r ( - - b t n - b o r d e r ) ; 
     b o r d e r - r a d i u s :   8 p x ; 
     b a c k g r o u n d :   v a r ( - - b t n - g l a s s - b g ) ; 
     b a c k d r o p - f i l t e r :   b l u r ( v a r ( - - g l a s s - b l u r ) ) ; 
     c o l o r :   v a r ( - - c o l o r - t e x t ) ; 
     t e x t - d e c o r a t i o n :   n o n e ; 
     f o n t - s i z e :   0 . 9 3 7 5 r e m ; 
     f o n t - w e i g h t :   5 0 0 ; 
     t r a n s i t i o n :   a l l   v a r ( - - d u r a t i o n )   v a r ( - - e a s e - o u t ) ; 
 } 
 
 . p a g e - h e a d e r   . a d d - a d d r e s s - b t n : h o v e r   { 
     b a c k g r o u n d :   v a r ( - - b t n - g l a s s - b g - h o v e r ) ; 
     b o r d e r - c o l o r :   v a r ( - - b t n - b o r d e r - h o v e r ) ; 
     t r a n s f o r m :   t r a n s l a t e Y ( - 1 p x ) ; 
 } 
 
 . o r d e r s - l i s t   { 
     d i s p l a y :   f l e x ; 
     f l e x - d i r e c t i o n :   c o l u m n ; 
     g a p :   1 . 5 r e m ; 
 } 
 
 . o r d e r - c a r d   { 
     p a d d i n g :   1 . 5 r e m ; 
     b o r d e r - r a d i u s :   1 2 p x ; 
     b a c k g r o u n d :   v a r ( - - g l a s s - b g ) ; 
     b a c k d r o p - f i l t e r :   b l u r ( v a r ( - - g l a s s - b l u r ) ) ; 
     b o r d e r :   1 p x   s o l i d   v a r ( - - g l a s s - b o r d e r ) ; 
     b o x - s h a d o w :   v a r ( - - g l a s s - s h a d o w ) ; 
 } 
 
 . o r d e r - h e a d e r   { 
     d i s p l a y :   f l e x ; 
     j u s t i f y - c o n t e n t :   s p a c e - b e t w e e n ; 
     a l i g n - i t e m s :   f l e x - s t a r t ; 
     m a r g i n - b o t t o m :   1 r e m ; 
 } 
 
 . o r d e r - i n f o   h 3   { 
     m a r g i n :   0   0   0 . 2 5 r e m ; 
     f o n t - s i z e :   1 . 2 5 r e m ; 
 } 
 
 . o r d e r - d a t e   { 
     c o l o r :   v a r ( - - c o l o r - t e x t - m u t e d ) ; 
     f o n t - s i z e :   0 . 8 7 5 r e m ; 
 } 
 
 . o r d e r - i t e m s   { 
     m a r g i n - b o t t o m :   1 r e m ; 
 } 
 
 . o r d e r - i t e m   { 
     d i s p l a y :   f l e x ; 
     a l i g n - i t e m s :   c e n t e r ; 
     g a p :   1 r e m ; 
     p a d d i n g :   0 . 7 5 r e m   0 ; 
     b o r d e r - b o t t o m :   1 p x   s o l i d   r g b a ( 2 5 5 ,   2 5 5 ,   2 5 5 ,   0 . 1 ) ; 
 } 
 
 . o r d e r - i t e m : l a s t - c h i l d   { 
     b o r d e r - b o t t o m :   n o n e ; 
 } 
 
 . i t e m - i m a g e   { 
     w i d t h :   6 0 p x ; 
     h e i g h t :   6 0 p x ; 
     b o r d e r - r a d i u s :   8 p x ; 
     b a c k g r o u n d :   r g b a ( 2 5 5 ,   2 5 5 ,   2 5 5 ,   0 . 0 5 ) ; 
     d i s p l a y :   f l e x ; 
     a l i g n - i t e m s :   c e n t e r ; 
     j u s t i f y - c o n t e n t :   c e n t e r ; 
     o v e r f l o w :   h i d d e n ; 
 } 
 
 . i t e m - i m a g e   i m g   { 
     w i d t h :   1 0 0 % ; 
     h e i g h t :   1 0 0 % ; 
     o b j e c t - f i t :   c o v e r ; 
 } 
 
 . n o - i m a g e   { 
     c o l o r :   v a r ( - - c o l o r - t e x t - m u t e d ) ; 
     f o n t - s i z e :   0 . 7 5 r e m ; 
 } 
 
 . i t e m - d e t a i l s   h 4   { 
     m a r g i n :   0   0   0 . 2 5 r e m ; 
     f o n t - s i z e :   1 r e m ; 
 } 
 
 . i t e m - d e t a i l s   p   { 
     m a r g i n :   0 ; 
     f o n t - s i z e :   0 . 8 7 5 r e m ; 
     c o l o r :   v a r ( - - c o l o r - t e x t - m u t e d ) ; 
 } 
 
 . o r d e r - f o o t e r   { 
     d i s p l a y :   f l e x ; 
     j u s t i f y - c o n t e n t :   s p a c e - b e t w e e n ; 
     a l i g n - i t e m s :   c e n t e r ; 
     p a d d i n g - t o p :   1 r e m ; 
     b o r d e r - t o p :   1 p x   s o l i d   r g b a ( 2 5 5 ,   2 5 5 ,   2 5 5 ,   0 . 1 ) ; 
 } 
 
 . o r d e r - t o t a l   { 
     f o n t - s i z e :   1 . 1 2 5 r e m ; 
     f o n t - w e i g h t :   6 0 0 ; 
 } 
 
 . c a n c e l - b t n   { 
     p a d d i n g :   0 . 5 r e m   1 r e m ; 
     b o r d e r :   1 p x   s o l i d   r g b a ( 2 2 0 ,   5 3 ,   6 9 ,   0 . 3 ) ; 
     b o r d e r - r a d i u s :   6 p x ; 
     b a c k g r o u n d :   r g b a ( 2 2 0 ,   5 3 ,   6 9 ,   0 . 1 ) ; 
     c o l o r :   # f f 6 b 6 b ; 
     f o n t - s i z e :   0 . 8 7 5 r e m ; 
     c u r s o r :   p o i n t e r ; 
     t r a n s i t i o n :   a l l   v a r ( - - d u r a t i o n )   v a r ( - - e a s e - o u t ) ; 
 } 
 
 . c a n c e l - b t n : h o v e r   { 
     b a c k g r o u n d :   r g b a ( 2 2 0 ,   5 3 ,   6 9 ,   0 . 2 ) ; 
     b o r d e r - c o l o r :   r g b a ( 2 2 0 ,   5 3 ,   6 9 ,   0 . 5 ) ; 
 } 
 
 / *   P r o f i l e   p a g e   * / 
 . p r o f i l e - c o n t a i n e r   { 
     m a x - w i d t h :   6 0 0 p x ; 
     m a r g i n :   0   a u t o ; 
     p a d d i n g :   2 r e m   1 r e m ; 
 } 
 
 . p r o f i l e - c a r d   { 
     p a d d i n g :   2 r e m ; 
     b o r d e r - r a d i u s :   1 2 p x ; 
     b a c k g r o u n d :   v a r ( - - g l a s s - b g ) ; 
     b a c k d r o p - f i l t e r :   b l u r ( v a r ( - - g l a s s - b l u r ) ) ; 
     b o r d e r :   1 p x   s o l i d   v a r ( - - g l a s s - b o r d e r ) ; 
     b o x - s h a d o w :   v a r ( - - g l a s s - s h a d o w ) ; 
 } 
 
 . p r o f i l e - f o r m   { 
     d i s p l a y :   f l e x ; 
     f l e x - d i r e c t i o n :   c o l u m n ; 
     g a p :   1 . 5 r e m ; 
 } 
 
 . f o r m - s e c t i o n   h 3   { 
     m a r g i n :   0   0   1 r e m ; 
     f o n t - s i z e :   1 . 2 5 r e m ; 
     f o n t - w e i g h t :   6 0 0 ; 
 } 
 
 . f o r m - a c t i o n s   { 
     d i s p l a y :   f l e x ; 
     g a p :   1 r e m ; 
     j u s t i f y - c o n t e n t :   f l e x - e n d ; 
     p a d d i n g - t o p :   1 r e m ; 
     b o r d e r - t o p :   1 p x   s o l i d   r g b a ( 2 5 5 ,   2 5 5 ,   2 5 5 ,   0 . 1 ) ; 
 } 
 
 . s a v e - b t n   { 
     p a d d i n g :   0 . 7 5 r e m   1 . 5 r e m ; 
     b o r d e r :   1 p x   s o l i d   v a r ( - - b t n - b o r d e r ) ; 
     b o r d e r - r a d i u s :   8 p x ; 
     b a c k g r o u n d :   v a r ( - - b t n - g l a s s - b g ) ; 
     b a c k d r o p - f i l t e r :   b l u r ( v a r ( - - g l a s s - b l u r ) ) ; 
     c o l o r :   v a r ( - - c o l o r - t e x t ) ; 
     f o n t - s i z e :   0 . 9 3 7 5 r e m ; 
     f o n t - w e i g h t :   5 0 0 ; 
     c u r s o r :   p o i n t e r ; 
     t r a n s i t i o n :   a l l   v a r ( - - d u r a t i o n )   v a r ( - - e a s e - o u t ) ; 
 } 
 
 . s a v e - b t n : h o v e r   { 
     b a c k g r o u n d :   v a r ( - - b t n - g l a s s - b g - h o v e r ) ; 
     b o r d e r - c o l o r :   v a r ( - - b t n - b o r d e r - h o v e r ) ; 
     t r a n s f o r m :   t r a n s l a t e Y ( - 1 p x ) ; 
 } 
 
 . c a n c e l - b t n   { 
     p a d d i n g :   0 . 7 5 r e m   1 . 5 r e m ; 
     b o r d e r :   1 p x   s o l i d   r g b a ( 2 5 5 ,   2 5 5 ,   2 5 5 ,   0 . 2 ) ; 
     b o r d e r - r a d i u s :   8 p x ; 
     b a c k g r o u n d :   r g b a ( 2 5 5 ,   2 5 5 ,   2 5 5 ,   0 . 0 5 ) ; 
     b a c k d r o p - f i l t e r :   b l u r ( v a r ( - - g l a s s - b l u r ) ) ; 
     c o l o r :   v a r ( - - c o l o r - t e x t ) ; 
     t e x t - d e c o r a t i o n :   n o n e ; 
     f o n t - s i z e :   0 . 9 3 7 5 r e m ; 
     f o n t - w e i g h t :   5 0 0 ; 
     t r a n s i t i o n :   a l l   v a r ( - - d u r a t i o n )   v a r ( - - e a s e - o u t ) ; 
 } 
 
 . c a n c e l - b t n : h o v e r   { 
     b a c k g r o u n d :   r g b a ( 2 5 5 ,   2 5 5 ,   2 5 5 ,   0 . 1 ) ; 
     b o r d e r - c o l o r :   r g b a ( 2 5 5 ,   2 5 5 ,   2 5 5 ,   0 . 3 ) ; 
 } 
 
 / *   A d d r e s s e s   p a g e   * / 
 . a d d r e s s e s - c o n t a i n e r   { 
     m a x - w i d t h :   1 0 0 0 p x ; 
     m a r g i n :   0   a u t o ; 
     p a d d i n g :   2 r e m   1 r e m ; 
 } 
 
 . a d d r e s s e s - g r i d   { 
     d i s p l a y :   g r i d ; 
     g r i d - t e m p l a t e - c o l u m n s :   r e p e a t ( a u t o - f i t ,   m i n m a x ( 3 0 0 p x ,   1 f r ) ) ; 
     g a p :   1 . 5 r e m ; 
 } 
 
 . a d d r e s s - c a r d   { 
     p o s i t i o n :   r e l a t i v e ; 
     p a d d i n g :   1 . 5 r e m ; 
     b o r d e r - r a d i u s :   1 2 p x ; 
     b a c k g r o u n d :   v a r ( - - g l a s s - b g ) ; 
     b a c k d r o p - f i l t e r :   b l u r ( v a r ( - - g l a s s - b l u r ) ) ; 
     b o r d e r :   1 p x   s o l i d   v a r ( - - g l a s s - b o r d e r ) ; 
     b o x - s h a d o w :   v a r ( - - g l a s s - s h a d o w ) ; 
     t r a n s i t i o n :   a l l   v a r ( - - d u r a t i o n )   v a r ( - - e a s e - o u t ) ; 
 } 
 
 . a d d r e s s - c a r d . d e f a u l t   { 
     b o r d e r - c o l o r :   r g b a ( 4 0 ,   1 6 7 ,   6 9 ,   0 . 3 ) ; 
     b o x - s h a d o w :   0   8 p x   3 2 p x   r g b a ( 4 0 ,   1 6 7 ,   6 9 ,   0 . 1 ) ; 
 } 
 
 . a d d r e s s - c a r d : h o v e r   { 
     t r a n s f o r m :   t r a n s l a t e Y ( - 2 p x ) ; 
     b o x - s h a d o w :   v a r ( - - g l a s s - s h a d o w - h o v e r ) ; 
 } 
 
 . d e f a u l t - b a d g e   { 
     p o s i t i o n :   a b s o l u t e ; 
     t o p :   1 r e m ; 
     r i g h t :   1 r e m ; 
     p a d d i n g :   0 . 2 5 r e m   0 . 5 r e m ; 
     b o r d e r - r a d i u s :   4 p x ; 
     b a c k g r o u n d :   r g b a ( 4 0 ,   1 6 7 ,   6 9 ,   0 . 2 ) ; 
     c o l o r :   # 2 8 a 7 4 5 ; 
     f o n t - s i z e :   0 . 7 5 r e m ; 
     f o n t - w e i g h t :   5 0 0 ; 
     t e x t - t r a n s f o r m :   u p p e r c a s e ; 
 } 
 
 . a d d r e s s - c o n t e n t   h 4   { 
     m a r g i n :   0   0   0 . 5 r e m ; 
     f o n t - s i z e :   1 . 1 2 5 r e m ; 
     f o n t - w e i g h t :   6 0 0 ; 
 } 
 
 . a d d r e s s - c o n t e n t   p   { 
     m a r g i n :   0   0   0 . 2 5 r e m ; 
     c o l o r :   v a r ( - - c o l o r - t e x t - m u t e d ) ; 
     f o n t - s i z e :   0 . 8 7 5 r e m ; 
 } 
 
 . a d d r e s s - a c t i o n s   { 
     d i s p l a y :   f l e x ; 
     g a p :   0 . 5 r e m ; 
     m a r g i n - t o p :   1 r e m ; 
     p a d d i n g - t o p :   1 r e m ; 
     b o r d e r - t o p :   1 p x   s o l i d   r g b a ( 2 5 5 ,   2 5 5 ,   2 5 5 ,   0 . 1 ) ; 
 } 
 
 . e d i t - b t n , 
 . d e l e t e - b t n , 
 . s e t - d e f a u l t - b t n   { 
     p a d d i n g :   0 . 5 r e m   1 r e m ; 
     b o r d e r - r a d i u s :   6 p x ; 
     f o n t - s i z e :   0 . 8 7 5 r e m ; 
     f o n t - w e i g h t :   5 0 0 ; 
     t e x t - d e c o r a t i o n :   n o n e ; 
     c u r s o r :   p o i n t e r ; 
     t r a n s i t i o n :   a l l   v a r ( - - d u r a t i o n )   v a r ( - - e a s e - o u t ) ; 
 } 
 
 . e d i t - b t n   { 
     b o r d e r :   1 p x   s o l i d   v a r ( - - b t n - b o r d e r ) ; 
     b a c k g r o u n d :   v a r ( - - b t n - g l a s s - b g ) ; 
     b a c k d r o p - f i l t e r :   b l u r ( v a r ( - - g l a s s - b l u r ) ) ; 
     c o l o r :   v a r ( - - c o l o r - t e x t ) ; 
 } 
 
 . e d i t - b t n : h o v e r   { 
     b a c k g r o u n d :   v a r ( - - b t n - g l a s s - b g - h o v e r ) ; 
     b o r d e r - c o l o r :   v a r ( - - b t n - b o r d e r - h o v e r ) ; 
 } 
 
 . s e t - d e f a u l t - b t n   { 
     b o r d e r :   1 p x   s o l i d   r g b a ( 4 0 ,   1 6 7 ,   6 9 ,   0 . 3 ) ; 
     b a c k g r o u n d :   r g b a ( 4 0 ,   1 6 7 ,   6 9 ,   0 . 1 ) ; 
     c o l o r :   # 2 8 a 7 4 5 ; 
 } 
 
 . s e t - d e f a u l t - b t n : h o v e r   { 
     b a c k g r o u n d :   r g b a ( 4 0 ,   1 6 7 ,   6 9 ,   0 . 2 ) ; 
     b o r d e r - c o l o r :   r g b a ( 4 0 ,   1 6 7 ,   6 9 ,   0 . 5 ) ; 
 } 
 
 . d e l e t e - b t n   { 
     b o r d e r :   1 p x   s o l i d   r g b a ( 2 2 0 ,   5 3 ,   6 9 ,   0 . 3 ) ; 
     b a c k g r o u n d :   r g b a ( 2 2 0 ,   5 3 ,   6 9 ,   0 . 1 ) ; 
     c o l o r :   # f f 6 b 6 b ; 
 } 
 
 . d e l e t e - b t n : h o v e r   { 
     b a c k g r o u n d :   r g b a ( 2 2 0 ,   5 3 ,   6 9 ,   0 . 2 ) ; 
     b o r d e r - c o l o r :   r g b a ( 2 2 0 ,   5 3 ,   6 9 ,   0 . 5 ) ; 
 } 
 
 . n o - a d d r e s s e s   { 
     t e x t - a l i g n :   c e n t e r ; 
     p a d d i n g :   3 r e m   1 r e m ; 
 } 
 
 . n o - a d d r e s s e s   h 3   { 
     m a r g i n :   0   0   0 . 5 r e m ; 
     f o n t - s i z e :   1 . 5 r e m ; 
 } 
 
 . n o - a d d r e s s e s   p   { 
     m a r g i n :   0   0   1 . 5 r e m ; 
     c o l o r :   v a r ( - - c o l o r - t e x t - m u t e d ) ; 
 } 
 
 . a d d - f i r s t - a d d r e s s - b t n   { 
     d i s p l a y :   i n l i n e - b l o c k ; 
     p a d d i n g :   0 . 8 7 5 r e m   2 r e m ; 
     b o r d e r :   1 p x   s o l i d   v a r ( - - b t n - b o r d e r ) ; 
     b o r d e r - r a d i u s :   8 p x ; 
     b a c k g r o u n d :   v a r ( - - b t n - g l a s s - b g ) ; 
     b a c k d r o p - f i l t e r :   b l u r ( v a r ( - - g l a s s - b l u r ) ) ; 
     c o l o r :   v a r ( - - c o l o r - t e x t ) ; 
     t e x t - d e c o r a t i o n :   n o n e ; 
     f o n t - s i z e :   1 r e m ; 
     f o n t - w e i g h t :   5 0 0 ; 
     t r a n s i t i o n :   a l l   v a r ( - - d u r a t i o n )   v a r ( - - e a s e - o u t ) ; 
 } 
 
 . a d d - f i r s t - a d d r e s s - b t n : h o v e r   { 
     b a c k g r o u n d :   v a r ( - - b t n - g l a s s - b g - h o v e r ) ; 
     b o r d e r - c o l o r :   v a r ( - - b t n - b o r d e r - h o v e r ) ; 
     t r a n s f o r m :   t r a n s l a t e Y ( - 1 p x ) ; 
 } 
 
 / *   A d d r e s s   f o r m   * / 
 . a d d r e s s - f o r m - c o n t a i n e r   { 
     m a x - w i d t h :   6 0 0 p x ; 
     m a r g i n :   0   a u t o ; 
     p a d d i n g :   2 r e m   1 r e m ; 
 } 
 
 . a d d r e s s - f o r m - c a r d   { 
     p a d d i n g :   2 r e m ; 
     b o r d e r - r a d i u s :   1 2 p x ; 
     b a c k g r o u n d :   v a r ( - - g l a s s - b g ) ; 
     b a c k d r o p - f i l t e r :   b l u r ( v a r ( - - g l a s s - b l u r ) ) ; 
     b o r d e r :   1 p x   s o l i d   v a r ( - - g l a s s - b o r d e r ) ; 
     b o x - s h a d o w :   v a r ( - - g l a s s - s h a d o w ) ; 
 } 
 
 . a d d r e s s - f o r m   { 
     d i s p l a y :   f l e x ; 
     f l e x - d i r e c t i o n :   c o l u m n ; 
     g a p :   1 . 5 r e m ; 
 } 
 
 . c h e c k b o x - g r o u p   { 
     d i s p l a y :   f l e x ; 
     a l i g n - i t e m s :   c e n t e r ; 
     g a p :   0 . 7 5 r e m ; 
     m a r g i n - t o p :   0 . 5 r e m ; 
 } 
 
 . c h e c k b o x - g r o u p   i n p u t [ t y p e = \ 
 
 c h e c k b o x \ ]   { 
     w i d t h :   a u t o ; 
     m a r g i n :   0 ; 
 } 
 
 . c h e c k b o x - g r o u p   l a b e l   { 
     m a r g i n :   0 ; 
     f o n t - s i z e :   0 . 9 3 7 5 r e m ; 
     f o n t - w e i g h t :   5 0 0 ; 
     c u r s o r :   p o i n t e r ; 
 } 
 
 / *   R e s p o n s i v e   d e s i g n   * / 
 @ m e d i a   ( m a x - w i d t h :   7 6 8 p x )   { 
     . a u t h - c o n t a i n e r   { 
         p a d d i n g :   1 r e m ; 
     } 
 
     . a u t h - c a r d   { 
         p a d d i n g :   1 . 5 r e m ; 
     } 
 
     . d a s h b o a r d - g r i d   { 
         g r i d - t e m p l a t e - c o l u m n s :   1 f r ; 
     } 
 
     . o r d e r - h e a d e r   { 
         f l e x - d i r e c t i o n :   c o l u m n ; 
         g a p :   0 . 5 r e m ; 
     } 
 
     . o r d e r - f o o t e r   { 
         f l e x - d i r e c t i o n :   c o l u m n ; 
         g a p :   0 . 7 5 r e m ; 
         a l i g n - i t e m s :   s t r e t c h ; 
     } 
 
     . f o r m - r o w   { 
         f l e x - d i r e c t i o n :   c o l u m n ; 
         g a p :   1 r e m ; 
     } 
 
     . f o r m - a c t i o n s   { 
         f l e x - d i r e c t i o n :   c o l u m n ; 
     } 
 
     . a d d r e s s e s - g r i d   { 
         g r i d - t e m p l a t e - c o l u m n s :   1 f r ; 
     } 
 
     . a d d r e s s - a c t i o n s   { 
         f l e x - d i r e c t i o n :   c o l u m n ; 
     } 
 } 
 
 / *   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -   * / 
 / *   W i s h l i s t                                                                                                                                         * / 
 / *   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -   * / 
 
 . w i s h l i s t - c o n t a i n e r   { 
     m a x - w i d t h :   1 2 0 0 p x ; 
     m a r g i n :   0   a u t o ; 
     p a d d i n g :   2 r e m   1 r e m ; 
 } 
 
 . p a g e - h e a d e r   { 
     t e x t - a l i g n :   c e n t e r ; 
     m a r g i n - b o t t o m :   2 r e m ; 
 } 
 
 . p a g e - h e a d e r   h 1   { 
     m a r g i n :   0   0   0 . 5 r e m ; 
     f o n t - s i z e :   2 r e m ; 
     f o n t - w e i g h t :   6 0 0 ; 
 } 
 
 . p a g e - h e a d e r   p   { 
     m a r g i n :   0 ; 
     c o l o r :   v a r ( - - c o l o r - t e x t - m u t e d ) ; 
     f o n t - s i z e :   1 r e m ; 
 } 
 
 . w i s h l i s t - g r i d   { 
     d i s p l a y :   g r i d ; 
     g r i d - t e m p l a t e - c o l u m n s :   r e p e a t ( a u t o - f i t ,   m i n m a x ( 3 0 0 p x ,   1 f r ) ) ; 
     g a p :   1 . 5 r e m ; 
 } 
 
 . w i s h l i s t - c a r d   { 
     d i s p l a y :   f l e x ; 
     f l e x - d i r e c t i o n :   c o l u m n ; 
     p a d d i n g :   1 . 5 r e m ; 
     b o r d e r - r a d i u s :   1 2 p x ; 
     b a c k g r o u n d :   v a r ( - - g l a s s - b g ) ; 
     b a c k d r o p - f i l t e r :   b l u r ( v a r ( - - g l a s s - b l u r ) ) ; 
     b o r d e r :   1 p x   s o l i d   v a r ( - - g l a s s - b o r d e r ) ; 
     b o x - s h a d o w :   v a r ( - - g l a s s - s h a d o w ) ; 
     t r a n s i t i o n :   a l l   v a r ( - - d u r a t i o n )   v a r ( - - e a s e - o u t ) ; 
 } 
 
 . w i s h l i s t - c a r d : h o v e r   { 
     t r a n s f o r m :   t r a n s l a t e Y ( - 2 p x ) ; 
     b o x - s h a d o w :   v a r ( - - g l a s s - s h a d o w - h o v e r ) ; 
 } 
 
 . p r o d u c t - i m a g e   { 
     w i d t h :   1 0 0 % ; 
     h e i g h t :   2 0 0 p x ; 
     b o r d e r - r a d i u s :   8 p x ; 
     b a c k g r o u n d :   r g b a ( 2 5 5 ,   2 5 5 ,   2 5 5 ,   0 . 0 5 ) ; 
     d i s p l a y :   f l e x ; 
     a l i g n - i t e m s :   c e n t e r ; 
     j u s t i f y - c o n t e n t :   c e n t e r ; 
     o v e r f l o w :   h i d d e n ; 
     m a r g i n - b o t t o m :   1 r e m ; 
 } 
 
 . p r o d u c t - i m a g e   i m g   { 
     w i d t h :   1 0 0 % ; 
     h e i g h t :   1 0 0 % ; 
     o b j e c t - f i t :   c o v e r ; 
 } 
 
 . n o - i m a g e   { 
     c o l o r :   v a r ( - - c o l o r - t e x t - m u t e d ) ; 
     f o n t - s i z e :   0 . 8 7 5 r e m ; 
 } 
 
 . p r o d u c t - i n f o   { 
     f l e x :   1 ; 
     m a r g i n - b o t t o m :   1 r e m ; 
 } 
 
 . p r o d u c t - i n f o   h 3   { 
     m a r g i n :   0   0   0 . 5 r e m ; 
     f o n t - s i z e :   1 . 1 2 5 r e m ; 
     f o n t - w e i g h t :   6 0 0 ; 
 } 
 
 . p r o d u c t - i n f o   h 3   a   { 
     c o l o r :   v a r ( - - c o l o r - t e x t ) ; 
     t e x t - d e c o r a t i o n :   n o n e ; 
 } 
 
 . p r o d u c t - i n f o   h 3   a : h o v e r   { 
     c o l o r :   v a r ( - - c o l o r - t e x t - s o f t ) ; 
 } 
 
 . p r o d u c t - p r i c e   { 
     f o n t - s i z e :   1 . 1 2 5 r e m ; 
     f o n t - w e i g h t :   6 0 0 ; 
     c o l o r :   v a r ( - - c o l o r - t e x t - s o f t ) ; 
     m a r g i n :   0   0   0 . 5 r e m ; 
 } 
 
 . a d d e d - d a t e   { 
     f o n t - s i z e :   0 . 8 7 5 r e m ; 
     c o l o r :   v a r ( - - c o l o r - t e x t - m u t e d ) ; 
     m a r g i n :   0 ; 
 } 
 
 . w i s h l i s t - a c t i o n s   { 
     d i s p l a y :   f l e x ; 
     g a p :   0 . 7 5 r e m ; 
     f l e x - d i r e c t i o n :   c o l u m n ; 
 } 
 
 . m o v e - t o - c a r t - b t n   { 
     d i s p l a y :   i n l i n e - b l o c k ; 
     p a d d i n g :   0 . 7 5 r e m   1 r e m ; 
     b o r d e r :   1 p x   s o l i d   v a r ( - - b t n - b o r d e r ) ; 
     b o r d e r - r a d i u s :   8 p x ; 
     b a c k g r o u n d :   v a r ( - - b t n - g l a s s - b g ) ; 
     b a c k d r o p - f i l t e r :   b l u r ( v a r ( - - g l a s s - b l u r ) ) ; 
     c o l o r :   v a r ( - - c o l o r - t e x t ) ; 
     t e x t - d e c o r a t i o n :   n o n e ; 
     f o n t - s i z e :   0 . 9 3 7 5 r e m ; 
     f o n t - w e i g h t :   5 0 0 ; 
     t e x t - a l i g n :   c e n t e r ; 
     t r a n s i t i o n :   a l l   v a r ( - - d u r a t i o n )   v a r ( - - e a s e - o u t ) ; 
 } 
 
 . m o v e - t o - c a r t - b t n : h o v e r   { 
     b a c k g r o u n d :   v a r ( - - b t n - g l a s s - b g - h o v e r ) ; 
     b o r d e r - c o l o r :   v a r ( - - b t n - b o r d e r - h o v e r ) ; 
     t r a n s f o r m :   t r a n s l a t e Y ( - 1 p x ) ; 
 } 
 
 . r e m o v e - b t n   { 
     d i s p l a y :   i n l i n e - b l o c k ; 
     p a d d i n g :   0 . 7 5 r e m   1 r e m ; 
     b o r d e r :   1 p x   s o l i d   r g b a ( 2 2 0 ,   5 3 ,   6 9 ,   0 . 3 ) ; 
     b o r d e r - r a d i u s :   8 p x ; 
     b a c k g r o u n d :   r g b a ( 2 2 0 ,   5 3 ,   6 9 ,   0 . 1 ) ; 
     c o l o r :   # f f 6 b 6 b ; 
     t e x t - d e c o r a t i o n :   n o n e ; 
     f o n t - s i z e :   0 . 9 3 7 5 r e m ; 
     f o n t - w e i g h t :   5 0 0 ; 
     t e x t - a l i g n :   c e n t e r ; 
     t r a n s i t i o n :   a l l   v a r ( - - d u r a t i o n )   v a r ( - - e a s e - o u t ) ; 
 } 
 
 . r e m o v e - b t n : h o v e r   { 
     b a c k g r o u n d :   r g b a ( 2 2 0 ,   5 3 ,   6 9 ,   0 . 2 ) ; 
     b o r d e r - c o l o r :   r g b a ( 2 2 0 ,   5 3 ,   6 9 ,   0 . 5 ) ; 
 } 
 
 . e m p t y - w i s h l i s t   { 
     t e x t - a l i g n :   c e n t e r ; 
     p a d d i n g :   3 r e m   1 r e m ; 
 } 
 
 . e m p t y - w i s h l i s t   h 3   { 
     m a r g i n :   0   0   0 . 5 r e m ; 
     f o n t - s i z e :   1 . 5 r e m ; 
 } 
 
 . e m p t y - w i s h l i s t   p   { 
     m a r g i n :   0   0   1 . 5 r e m ; 
     c o l o r :   v a r ( - - c o l o r - t e x t - m u t e d ) ; 
 } 
 
 . s h o p - b t n   { 
     d i s p l a y :   i n l i n e - b l o c k ; 
     p a d d i n g :   0 . 8 7 5 r e m   2 r e m ; 
     b o r d e r :   1 p x   s o l i d   v a r ( - - b t n - b o r d e r ) ; 
     b o r d e r - r a d i u s :   8 p x ; 
     b a c k g r o u n d :   v a r ( - - b t n - g l a s s - b g ) ; 
     b a c k d r o p - f i l t e r :   b l u r ( v a r ( - - g l a s s - b l u r ) ) ; 
     c o l o r :   v a r ( - - c o l o r - t e x t ) ; 
     t e x t - d e c o r a t i o n :   n o n e ; 
     f o n t - s i z e :   1 r e m ; 
     f o n t - w e i g h t :   5 0 0 ; 
     t r a n s i t i o n :   a l l   v a r ( - - d u r a t i o n )   v a r ( - - e a s e - o u t ) ; 
 } 
 
 . s h o p - b t n : h o v e r   { 
     b a c k g r o u n d :   v a r ( - - b t n - g l a s s - b g - h o v e r ) ; 
     b o r d e r - c o l o r :   v a r ( - - b t n - b o r d e r - h o v e r ) ; 
     t r a n s f o r m :   t r a n s l a t e Y ( - 1 p x ) ; 
 } 
 
 / *   P r o d u c t   d e t a i l   w i s h l i s t   b u t t o n   * / 
 . p d - i n f o _ _ w i s h l i s t   { 
     m a r g i n - t o p :   1 r e m ; 
     t e x t - a l i g n :   c e n t e r ; 
 } 
 
 . w i s h l i s t - b t n   { 
     d i s p l a y :   i n l i n e - f l e x ; 
     a l i g n - i t e m s :   c e n t e r ; 
     g a p :   0 . 5 r e m ; 
     p a d d i n g :   0 . 7 5 r e m   1 r e m ; 
     b o r d e r :   1 p x   s o l i d   v a r ( - - b t n - b o r d e r ) ; 
     b o r d e r - r a d i u s :   8 p x ; 
     b a c k g r o u n d :   v a r ( - - b t n - g l a s s - b g ) ; 
     b a c k d r o p - f i l t e r :   b l u r ( v a r ( - - g l a s s - b l u r ) ) ; 
     c o l o r :   v a r ( - - c o l o r - t e x t ) ; 
     t e x t - d e c o r a t i o n :   n o n e ; 
     f o n t - s i z e :   0 . 9 3 7 5 r e m ; 
     f o n t - w e i g h t :   5 0 0 ; 
     t r a n s i t i o n :   a l l   v a r ( - - d u r a t i o n )   v a r ( - - e a s e - o u t ) ; 
 } 
 
 . w i s h l i s t - b t n : h o v e r   { 
     b a c k g r o u n d :   v a r ( - - b t n - g l a s s - b g - h o v e r ) ; 
     b o r d e r - c o l o r :   v a r ( - - b t n - b o r d e r - h o v e r ) ; 
     t r a n s f o r m :   t r a n s l a t e Y ( - 1 p x ) ; 
 } 
 
 . w i s h l i s t - b t n - - a c t i v e   { 
     b a c k g r o u n d :   r g b a ( 2 2 0 ,   5 3 ,   6 9 ,   0 . 1 ) ; 
     b o r d e r - c o l o r :   r g b a ( 2 2 0 ,   5 3 ,   6 9 ,   0 . 3 ) ; 
     c o l o r :   # f f 6 b 6 b ; 
 } 
 
 . w i s h l i s t - b t n - - a c t i v e : h o v e r   { 
     b a c k g r o u n d :   r g b a ( 2 2 0 ,   5 3 ,   6 9 ,   0 . 2 ) ; 
     b o r d e r - c o l o r :   r g b a ( 2 2 0 ,   5 3 ,   6 9 ,   0 . 5 ) ; 
 } 
 
 . w i s h l i s t - b t n   s v g   { 
     f l e x - s h r i n k :   0 ; 
 } 
 
 / *   R e s p o n s i v e   d e s i g n   * / 
 @ m e d i a   ( m a x - w i d t h :   7 6 8 p x )   { 
     . w i s h l i s t - g r i d   { 
         g r i d - t e m p l a t e - c o l u m n s :   1 f r ; 
     } 
 
     . w i s h l i s t - a c t i o n s   { 
         f l e x - d i r e c t i o n :   r o w ; 
     } 
 
     . m o v e - t o - c a r t - b t n , 
     . r e m o v e - b t n   { 
         f l e x :   1 ; 
     } 
 } 
 
 
 / *   G l a s s   c o m p o n e n t s   f o r   h o m e p a g e   h e r o   s e c t i o n   * / 
 . g l a s s - c a r d   { 
     p a d d i n g :   2 r e m ; 
     b o r d e r - r a d i u s :   1 2 p x ; 
     b a c k g r o u n d :   v a r ( - - g l a s s - b g ) ; 
     b a c k d r o p - f i l t e r :   b l u r ( v a r ( - - g l a s s - b l u r ) ) ; 
     b o r d e r :   1 p x   s o l i d   v a r ( - - g l a s s - b o r d e r ) ; 
     b o x - s h a d o w :   v a r ( - - g l a s s - s h a d o w ) ; 
     t r a n s i t i o n :   a l l   v a r ( - - d u r a t i o n )   v a r ( - - e a s e - o u t ) ; 
 } 
 
 . g l a s s - c a r d : h o v e r   { 
     t r a n s f o r m :   t r a n s l a t e Y ( - 2 p x ) ; 
     b o x - s h a d o w :   v a r ( - - g l a s s - s h a d o w - h o v e r ) ; 
 } 
 
 . g l a s s - b u t t o n   { 
     d i s p l a y :   i n l i n e - b l o c k ; 
     p a d d i n g :   0 . 8 7 5 r e m   2 r e m ; 
     b o r d e r :   1 p x   s o l i d   v a r ( - - b t n - b o r d e r ) ; 
     b o r d e r - r a d i u s :   8 p x ; 
     b a c k g r o u n d :   v a r ( - - b t n - g l a s s - b g ) ; 
     b a c k d r o p - f i l t e r :   b l u r ( v a r ( - - g l a s s - b l u r ) ) ; 
     c o l o r :   v a r ( - - c o l o r - t e x t ) ; 
     t e x t - d e c o r a t i o n :   n o n e ; 
     f o n t - s i z e :   1 r e m ; 
     f o n t - w e i g h t :   5 0 0 ; 
     t r a n s i t i o n :   a l l   v a r ( - - d u r a t i o n )   v a r ( - - e a s e - o u t ) ; 
     c u r s o r :   p o i n t e r ; 
 } 
 
 . g l a s s - b u t t o n : h o v e r   { 
     b a c k g r o u n d :   v a r ( - - b t n - g l a s s - b g - h o v e r ) ; 
     b o r d e r - c o l o r :   v a r ( - - b t n - b o r d e r - h o v e r ) ; 
     t r a n s f o r m :   t r a n s l a t e Y ( - 1 p x ) ; 
 } 
 
 . g l a s s - b u t t o n . p r i m a r y   { 
     b a c k g r o u n d :   r g b a ( 4 0 ,   1 6 7 ,   6 9 ,   0 . 1 ) ; 
     b o r d e r - c o l o r :   r g b a ( 4 0 ,   1 6 7 ,   6 9 ,   0 . 3 ) ; 
     c o l o r :   # 2 8 a 7 4 5 ; 
 } 
 
 . g l a s s - b u t t o n . p r i m a r y : h o v e r   { 
     b a c k g r o u n d :   r g b a ( 4 0 ,   1 6 7 ,   6 9 ,   0 . 2 ) ; 
     b o r d e r - c o l o r :   r g b a ( 4 0 ,   1 6 7 ,   6 9 ,   0 . 5 ) ; 
 } 
 
 
/* -------------------------------------------------------------------------- */

/* -------------------------------------------------------------------------- */
/* PREMIUM-ORDER - EXPERT-LEVEL BUSINESS CLASS REDESIGN                     */
/* Modern, Sophisticated Design for E-Commerce Order Tracking               */
/* -------------------------------------------------------------------------- */

/* ===== CORE PAGE STYLES ===== */
.premium-order-page {
  background: linear-gradient(135deg, #f5f3f9 0%, #faf8fc 100%);
  min-height: 100vh;
  padding: 2rem 0 3rem;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* ===== HEADER SECTION - HERO DESIGN ===== */
.premium-order__header {
  background: linear-gradient(135deg, #240046 0%, #1a0f3d 100%);
  backdrop-filter: blur(10px);
  box-shadow: 0 12px 48px rgba(36, 0, 70, 0.3);
  padding: 3rem 1.5rem 2rem;
  margin-bottom: 3rem;
  position: relative;
  overflow: hidden;
}

.premium-order__header::before {
  content: '';
  position: absolute;
  top: -40%;
  right: -5%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(114, 9, 183, 0.2) 0%, transparent 70%);
  border-radius: 50%;
  z-index: 0;
}

.premium-order__header::after {
  content: '';
  position: absolute;
  bottom: -20%;
  left: -10%;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(58, 12, 163, 0.15) 0%, transparent 70%);
  border-radius: 50%;
  z-index: 0;
}

.premium-order__header-content {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.premium-order__back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1.25rem;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 12px;
  color: rgba(255, 255, 255, 0.95);
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  cursor: pointer;
  backdrop-filter: blur(8px);
  margin-bottom: 1rem;
}

.premium-order__back-link:hover {
  background: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.4);
  transform: translateX(-4px);
  box-shadow: 0 12px 32px rgba(255, 255, 255, 0.15);
}

.premium-order__title {
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #ffffff;
  margin: 1rem 0 0.5rem 0;
  line-height: 1.1;
}

.premium-order__subtitle {
  font-size: 1.05rem;
  color: rgba(255, 255, 255, 0.85);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-weight: 500;
}

/* ===== CONTAINER LAYOUT ===== */
.premium-order__container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1.5rem;
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 3.5rem;
}

/* ===== SIDEBAR - STATUS TIMELINE ===== */
.premium-order__sidebar {
  position: sticky;
  top: 2rem;
}

.premium-order-status {
  background: white;
  border-radius: 24px;
  padding: 2.5rem 2rem;
  box-shadow: 0 8px 32px rgba(36, 0, 70, 0.12);
  border: 1px solid rgba(36, 0, 70, 0.08);
  transition: all 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

.premium-order-status:hover {
  box-shadow: 0 16px 48px rgba(36, 0, 70, 0.18);
  transform: translateY(-2px);
}

.premium-order-status__title {
  font-size: 1.35rem;
  font-weight: 800;
  color: #240046;
  margin: 0 0 2rem 0;
  letter-spacing: -0.02em;
}

.premium-status-timeline {
  position: relative;
}

.premium-status-timeline::before {
  content: '';
  position: absolute;
  left: 21px;
  top: 0;
  width: 2px;
  height: calc(100% - 20px);
  background: linear-gradient(180deg, #e0d4f0 0%, #f0e8f8 100%);
  transition: all 0.4s ease;
}

.premium-timeline-step {
  position: relative;
  display: grid;
  grid-template-columns: 50px 1fr;
  gap: 1.5rem;
  padding: 1.75rem 0;
  transition: all 0.3s ease;
}

.premium-timeline-step--completed .premium-status-timeline::before {
  background: linear-gradient(180deg, #7209b7 0%, #8a36b7 100%);
}

.premium-timeline-step__indicator {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  position: relative;
}

.premium-timeline-step__dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #e0d4f0;
  border: 3px solid white;
  box-shadow: 0 0 0 2px #e0d4f0, 0 2px 12px rgba(36, 0, 70, 0.15);
  transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
  z-index: 2;
}

.premium-timeline-step--completed .premium-timeline-step__dot {
  background: #7209b7;
  width: 22px;
  height: 22px;
  box-shadow: 0 0 0 3px white, 0 0 20px rgba(114, 9, 183, 0.5);
}

.premium-timeline-step--current .premium-timeline-step__dot {
  background: #7209b7;
  width: 22px;
  height: 22px;
  box-shadow: 0 0 0 3px white, 0 0 24px rgba(114, 9, 183, 0.6);
  animation: pulse-ring 2s ease-in-out infinite;
}

@keyframes pulse-ring {
  0%, 100% {
    box-shadow: 0 0 0 3px white, 0 0 20px rgba(114, 9, 183, 0.5);
    transform: scale(1);
  }
  50% {
    box-shadow: 0 0 0 3px white, 0 0 32px rgba(114, 9, 183, 0.7);
    transform: scale(1.1);
  }
}

.premium-timeline-step__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 0.5rem;
}

.premium-timeline-step__title {
  font-size: 1rem;
  font-weight: 700;
  color: #240046;
  margin: 0;
  letter-spacing: -0.01em;
}

.premium-timeline-step--current .premium-timeline-step__title {
  color: #7209b7;
}

.premium-timeline-step__status,
.premium-timeline-step__date {
  font-size: 0.85rem;
  margin: 0.25rem 0 0 0;
  font-weight: 500;
}

.premium-timeline-step__date {
  color: #5a189a;
  font-weight: 600;
}

.premium-timeline-step__status {
  color: #9a9a9a;
}

.premium-timeline-step--current .premium-timeline-step__status {
  color: #7209b7;
  font-weight: 700;
}

/* ===== MAIN CONTENT ===== */
.premium-order__main {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

/* ===== ORDER ITEMS SECTION ===== */
.premium-order-items-section {
  background: white;
  border-radius: 24px;
  padding: 3rem;
  box-shadow: 0 8px 32px rgba(36, 0, 70, 0.12);
  border: 1px solid rgba(36, 0, 70, 0.08);
  transition: all 0.3s ease;
}

.premium-order-items-section:hover {
  box-shadow: 0 16px 48px rgba(36, 0, 70, 0.18);
}

.premium-order-items-section__title {
  font-size: 1.45rem;
  font-weight: 800;
  color: #240046;
  margin: 0 0 2rem 0;
  letter-spacing: -0.02em;
  padding-bottom: 1.5rem;
  border-bottom: 2px solid rgba(36, 0, 70, 0.08);
}

.premium-order-items {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-bottom: 2rem;
}

.premium-order-item {
  display: grid;
  grid-template-columns: 120px 1fr auto;
  gap: 2rem;
  align-items: center;
  padding: 2rem;
  background: linear-gradient(135deg, #faf8fc 0%, #f5f3f9 100%);
  border-radius: 18px;
  border: 1px solid rgba(36, 0, 70, 0.06);
  transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
  overflow: hidden;
}

.premium-order-item::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -10%;
  width: 250px;
  height: 250px;
  background: radial-gradient(circle, rgba(114, 9, 183, 0.1) 0%, transparent 70%);
  border-radius: 50%;
  z-index: 0;
}

.premium-order-item:hover {
  background: linear-gradient(135deg, #ffffff 0%, #faf8fc 100%);
  border-color: rgba(114, 9, 183, 0.25);
  box-shadow: 0 12px 40px rgba(114, 9, 183, 0.18);
  transform: translateY(-6px);
}

.premium-order-item__image {
  position: relative;
  width: 120px;
  height: 120px;
  border-radius: 16px;
  overflow: hidden;
  background: white;
  border: 2px solid rgba(36, 0, 70, 0.1);
  flex-shrink: 0;
  box-shadow: 0 6px 20px rgba(36, 0, 70, 0.15);
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.premium-order-item__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.premium-order-item:hover .premium-order-item__image img {
  transform: scale(1.12);
}

.premium-order-item__placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #f0e8f8 0%, #e8e0f0 100%);
  color: rgba(36, 0, 70, 0.25);
  font-size: 2.5rem;
}

.premium-order-item__content {
  min-width: 0;
  position: relative;
  z-index: 1;
}

.premium-order-item__name {
  font-size: 1.2rem;
  font-weight: 700;
  color: #240046;
  margin: 0 0 0.75rem 0;
  line-height: 1.4;
  letter-spacing: -0.01em;
}

.premium-order-item__name a {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease;
}

.premium-order-item__name a:hover {
  color: #7209b7;
}

.premium-order-item__meta {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  font-size: 0.95rem;
}

.premium-order-item__quantity,
.premium-order-item__price {
  color: #5a189a;
  font-weight: 700;
}

.premium-order-item__total {
  font-size: 1.5rem;
  font-weight: 800;
  color: #240046;
  text-align: right;
  position: relative;
  z-index: 1;
  min-width: 110px;
  letter-spacing: -0.02em;
}

.premium-order-item:hover .premium-order-item__total {
  color: #7209b7;
}

/* ===== ORDER SUMMARY ===== */
.premium-order-summary {
  margin-top: 2.5rem;
  padding: 2.5rem 2rem;
  background: linear-gradient(135deg, #240046 0%, #2d1b69 100%);
  border-radius: 18px;
  color: white;
  border: 1px solid rgba(114, 9, 183, 0.3);
}

.premium-order-summary__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 0;
  font-size: 1rem;
}

.premium-order-summary__row:not(:last-child) {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.premium-order-summary__label {
  color: rgba(255, 255, 255, 0.8);
  font-weight: 600;
}

.premium-order-summary__value {
  color: white;
  font-weight: 700;
}

.premium-order-summary__row--total {
  padding: 1.5rem 0 0;
  margin-top: 1.5rem;
  border-top: 2px solid rgba(255, 255, 255, 0.2);
  font-size: 1.35rem;
  font-weight: 800;
}

.premium-order-summary__row--total .premium-order-summary__value {
  font-size: 1.65rem;
  color: #a8e5ff;
  letter-spacing: -0.02em;
}

/* ===== SHIPPING SECTION ===== */
.premium-order-shipping-section {
  background: white;
  border-radius: 24px;
  padding: 3rem;
  box-shadow: 0 8px 32px rgba(36, 0, 70, 0.12);
  border: 1px solid rgba(36, 0, 70, 0.08);
  transition: all 0.3s ease;
}

.premium-order-shipping-section:hover {
  box-shadow: 0 16px 48px rgba(36, 0, 70, 0.18);
}

.premium-order-shipping-section__title {
  font-size: 1.45rem;
  font-weight: 800;
  color: #240046;
  margin: 0 0 2rem 0;
  letter-spacing: -0.02em;
  padding-bottom: 1.5rem;
  border-bottom: 2px solid rgba(36, 0, 70, 0.08);
}

.premium-shipping-info {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}

.premium-shipping-card {
  padding: 2.5rem;
  background: linear-gradient(135deg, #faf8fc 0%, #f5f3f9 100%);
  border-radius: 18px;
  border: 1px solid rgba(36, 0, 70, 0.06);
  transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
  overflow: hidden;
}

.premium-shipping-card::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -10%;
  width: 250px;
  height: 250px;
  background: radial-gradient(circle, rgba(114, 9, 183, 0.1) 0%, transparent 70%);
  border-radius: 50%;
}

.premium-shipping-card:hover {
  background: linear-gradient(135deg, #ffffff 0%, #faf8fc 100%);
  border-color: rgba(114, 9, 183, 0.25);
  box-shadow: 0 12px 40px rgba(114, 9, 183, 0.18);
  transform: translateY(-6px);
}

.premium-shipping-card__header {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  margin-bottom: 1.5rem;
  position: relative;
  z-index: 1;
}

.premium-shipping-card__icon {
  width: 32px;
  height: 32px;
  color: #7209b7;
  flex-shrink: 0;
  filter: drop-shadow(0 2px 8px rgba(114, 9, 183, 0.2));
}

.premium-shipping-card__name {
  font-size: 1.25rem;
  font-weight: 800;
  color: #240046;
  margin: 0;
  letter-spacing: -0.01em;
}

.premium-shipping-card__phone {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.95rem;
  color: #5a189a;
  margin: 0 0 1rem 0;
  font-weight: 600;
  position: relative;
  z-index: 1;
}

.premium-shipping-card__address {
  font-size: 0.95rem;
  color: #240046;
  line-height: 1.7;
  margin: 0;
  font-weight: 500;
  white-space: pre-wrap;
  position: relative;
  z-index: 1;
}

/* ===== RESPONSIVE DESIGN ===== */
@media (max-width: 1024px) {
  .premium-order__container {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .premium-order__sidebar {
    position: static;
  }

  .premium-order__header {
    padding: 2.5rem 1.25rem;
    margin-bottom: 2rem;
  }

  .premium-order__title {
    font-size: 2rem;
  }

  .premium-order-items-section,
  .premium-order-shipping-section {
    padding: 2.5rem;
  }
}

@media (max-width: 768px) {
  .premium-order-page {
    padding: 1rem 0 2rem;
  }

  .premium-order__header {
    padding: 2rem 1rem;
    margin-bottom: 1.5rem;
  }

  .premium-order__header::before,
  .premium-order__header::after {
    display: none;
  }

  .premium-order__title {
    font-size: 1.75rem;
  }

  .premium-order__subtitle {
    font-size: 0.95rem;
  }

  .premium-order__container {
    padding: 0 1rem;
    gap: 1.5rem;
  }

  .premium-order-items-section,
  .premium-order-shipping-section,
  .premium-order-status {
    padding: 2rem 1.5rem;
  }

  .premium-order-items-section__title,
  .premium-order-shipping-section__title,
  .premium-order-status__title {
    font-size: 1.25rem;
    margin-bottom: 1.5rem;
  }

  .premium-order-item {
    grid-template-columns: 90px 1fr;
    gap: 1.5rem;
    padding: 1.5rem;
  }

  .premium-order-item__image {
    width: 90px;
    height: 90px;
  }

  .premium-order-item__total {
    grid-column: 1 / -1;
    text-align: left;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(36, 0, 70, 0.1);
  }

  .premium-timeline-step {
    grid-template-columns: 45px 1fr;
    gap: 1rem;
    padding: 1.5rem 0;
  }

  .premium-shipping-card {
    padding: 2rem 1.5rem;
  }

  .premium-order-summary {
    padding: 2rem 1.5rem;
  }
}

@media (max-width: 480px) {
  .premium-order__header {
    padding: 1.75rem 1rem;
    margin-bottom: 1rem;
  }

  .premium-order__title {
    font-size: 1.5rem;
  }

  .premium-order__subtitle {
    font-size: 0.9rem;
  }

  .premium-order__container {
    padding: 0 0.75rem;
    gap: 1rem;
  }

  .premium-order-items-section,
  .premium-order-shipping-section,
  .premium-order-status {
    padding: 1.5rem 1rem;
  }

  .premium-order-item {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 1.25rem;
  }

  .premium-order-item__image {
    width: 100%;
    height: 150px;
  }

  .premium-order-item__total {
    grid-column: 1;
    text-align: right;
    border-top: none;
    padding-top: 0;
    margin-top: 0;
  }

  .premium-back-link {
    padding: 0.65rem 1rem;
    font-size: 0.9rem;
  }

  .premium-timeline-step {
    grid-template-columns: 40px 1fr;
    gap: 0.75rem;
    padding: 1.25rem 0;
  }

  .premium-timeline-step__dot {
    width: 12px;
    height: 12px;
  }

  .premium-timeline-step--completed .premium-timeline-step__dot,
  .premium-timeline-step--current .premium-timeline-step__dot {
    width: 18px;
    height: 18px;
  }
}

