/**
 * Pehrawa Haute Couture - Master Stylesheet
 * Strictly adhering to Haute Minimalist Editorial Design System
 */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..700;1,400..700&family=Plus+Jakarta+Sans:ital,wght@0,300..800;1,300..800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200');

:root {
  --surface: #fbf9f5;
  --surface-container-low: #f5f2eb;
  --surface-container: #efeeea;
  --surface-container-high: #eae8e4;
  --surface-container-highest: #e4e2de;
  --on-surface: #141414;
  --on-surface-variant: #444748;
  --secondary: #725b38;
  --gold-accent: #c5a880;
  --gold-bright: #d4af37;
  --primary: #141414;
  --on-primary: #fbf9f5;
  --border-hairline: rgba(20, 20, 20, 0.08);
}

/* Sharp 0px Architectural Geometry Enforced */
button, input, select, textarea, .garment-card, .editorial-box, .drawer-panel, .modal-box {
  border-radius: 0 !important;
}

/* Micro dots are the deliberate exception */
.status-dot, .avatar-pill {
  border-radius: 9999px !important;
}

/* Typography Classes */
.font-display {
  font-family: 'Playfair Display', Georgia, serif;
}

.font-body {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
}

/* Custom Scrollbar - Minimal Hairline */
::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}
::-webkit-scrollbar-track {
  background: var(--surface);
}
::-webkit-scrollbar-thumb {
  background: var(--surface-container-highest);
  transition: background 0.2s ease;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--gold-accent);
}

/* Marquee Animation */
@keyframes marquee {
  0% { transform: translateX(0%); }
  100% { transform: translateX(-50%); }
}

.animate-marquee {
  display: inline-flex;
  white-space: nowrap;
  animation: marquee 28s linear infinite;
}

.animate-marquee:hover {
  animation-play-state: paused;
}

/* Fade and Slide Keyframes */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes slideUp {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes slideInRight {
  from { transform: translateX(100%); }
  to { transform: translateX(0); }
}

.animate-fadeIn {
  animation: fadeIn 0.25s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.animate-slideUp {
  animation: slideUp 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.animate-slideRight {
  animation: slideInRight 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Luxury Card Image Zoom */
.card-zoom-img {
  transition: transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.garment-card:hover .card-zoom-img {
  transform: scale(1.04);
}

/* Toast Notification */
#toast-container {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 99999;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  pointer-events: none;
}

.toast-item {
  pointer-events: auto;
  min-width: 300px;
  max-width: 420px;
  padding: 1rem 1.25rem;
  background: #141414;
  color: #fbf9f5;
  box-shadow: 0 12px 32px -8px rgba(20, 20, 20, 0.3);
  border-left: 3px solid #c5a880;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  animation: slideUp 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 0.875rem;
}

/* Underline Hover Link */
.editorial-link {
  position: relative;
  text-decoration: none;
}
.editorial-link::after {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 1px;
  bottom: -2px;
  left: 0;
  background-color: #c5a880;
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
}
.editorial-link:hover::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}
