@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@300;400;500;600;700;800&display=swap');

:root {
  --font-store: 'Outfit', 'Inter', sans-serif;
  --font-admin: 'Inter', sans-serif;
  --brand-shopify: #008060;
  --brand-medusa: #7c3aed;
  --brand-stripe: #635bff;
  --brand-cloudflare: #f6821f;
}

body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  font-family: var(--font-store);
}

/* Custom Scrollbar for Left Side (Light Storefront) */
.storefront-scroll::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.storefront-scroll::-webkit-scrollbar-track {
  background: #f8fafc;
}
.storefront-scroll::-webkit-scrollbar-thumb {
  background: #e2e8f0;
  border-radius: 4px;
}
.storefront-scroll::-webkit-scrollbar-thumb:hover {
  background: #cbd5e1;
}

/* Custom Scrollbar for Right Side (Dark Admin) */
.admin-scroll::-webkit-scrollbar {
  width: 6px;
}
.admin-scroll::-webkit-scrollbar-track {
  background: #0f172a;
}
.admin-scroll::-webkit-scrollbar-thumb {
  background: #334155;
  border-radius: 4px;
}
.admin-scroll::-webkit-scrollbar-thumb:hover {
  background: #475569;
}

/* Glassmorphism Variables for Medusa Admin Light/Dark Mode */
:root {
  --glass-panel-bg: rgba(255, 255, 255, 0.75);
  --glass-panel-border: rgba(0, 0, 0, 0.08);
  --glass-card-bg: rgba(255, 255, 255, 0.6);
  --glass-card-border: rgba(0, 0, 0, 0.06);
  --glass-card-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
}

html.dark {
  --glass-panel-bg: rgba(11, 15, 25, 0.7);
  --glass-panel-border: rgba(255, 255, 255, 0.05);
  --glass-card-bg: rgba(17, 24, 39, 0.4);
  --glass-card-border: rgba(255, 255, 255, 0.04);
  --glass-card-shadow: 0 4px 30px rgba(0, 0, 0, 0.3);
}

.glass-panel {
  background: var(--glass-panel-bg);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid var(--glass-panel-border);
}

.glass-card {
  background: var(--glass-card-bg);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid var(--glass-card-border);
  box-shadow: var(--glass-card-shadow);
  transition: background-color 0.3s, border-color 0.3s, box-shadow 0.3s;
}

.glass-card-hover {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.glass-card-hover:hover {
  background: rgba(17, 24, 39, 0.6);
  border-color: rgba(124, 58, 237, 0.3);
  box-shadow: 0 10px 30px rgba(124, 58, 237, 0.15);
  transform: translateY(-2px);
}

/* Micro-animations */
.product-card {
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 24px -8px rgba(0, 0, 0, 0.04), 0 8px 16px -8px rgba(0, 0, 0, 0.03);
}

.wishlist-btn {
  transition: all 0.2s ease;
}
.wishlist-btn:hover {
  transform: scale(1.1);
}
.wishlist-btn.active {
  color: #ef4444 !important;
  fill: #ef4444;
}

/* Hero Plinth Layout */
.hero-plinth {
  position: relative;
  background: linear-gradient(180deg, #f3f4f6 0%, #e5e7eb 100%);
  border: 1px solid rgba(229, 231, 235, 0.6);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.02), 0 8px 10px -6px rgba(0, 0, 0, 0.02);
}

/* Category Grid Card */
.category-card {
  position: relative;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.category-card img {
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.category-card:hover img {
  transform: scale(1.05);
}
.category-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 20px -8px rgba(0, 0, 0, 0.08);
}

/* Scrollbar hiding utility */
.scrollbar-none::-webkit-scrollbar {
  display: none;
}
.scrollbar-none {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Database Pulse Bridge Animations */
.data-bridge-line {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(124, 58, 237, 0.25), transparent);
}

.data-pulse-dot {
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #7c3aed;
  box-shadow: 0 0 12px 4px #7c3aed, 0 0 20px 8px rgba(124, 58, 237, 0.5);
  top: -4px;
  left: -10px;
  pointer-events: none;
  opacity: 0;
}

@keyframes pulse-left-to-right {
  0% {
    left: 0%;
    opacity: 1;
  }
  100% {
    left: 100%;
    opacity: 1;
  }
}

.animate-pulse-dot {
  animation: pulse-left-to-right 1.2s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

/* Glowing text and borders for admin dashboard */
.text-glow-purple {
  text-shadow: 0 0 10px rgba(167, 139, 250, 0.3);
}

.border-glow-purple {
  box-shadow: 0 0 15px rgba(124, 58, 237, 0.2);
}

/* Cart drawer transitions */
.cart-drawer-backdrop {
  transition: opacity 0.3s ease-out;
}
.cart-drawer {
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Shaking animation for cart when adding products */
@keyframes shake {
  0%, 100% { transform: scale(1); }
  25% { transform: scale(1.2) rotate(-5deg); }
  50% { transform: scale(1.2) rotate(5deg); }
  75% { transform: scale(1.1) rotate(-3deg); }
}

.animate-shake {
  animation: shake 0.5s ease-in-out;
}

/* Order flash notification */
@keyframes flash-green {
  0% { background-color: rgba(16, 185, 129, 0.15); }
  100% { background-color: transparent; }
}

.animate-flash-order {
  animation: flash-green 2s ease-out forwards;
}

/* Stripe modal transition */
.stripe-backdrop {
  transition: opacity 0.2s ease-out;
}
.stripe-modal {
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Printable Packing Slip / Invoice Styling */
@media print {
  body {
    background: white !important;
    color: black !important;
  }
  body * {
    visibility: hidden;
  }
  #order-modal-backdrop {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: auto;
    background: transparent !important;
    backdrop-filter: none !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    display: block !important;
  }
  #order-modal, #order-modal * {
    visibility: visible;
  }
  #order-modal {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    max-width: 100%;
    border: none !important;
    box-shadow: none !important;
    background: white !important;
    color: black !important;
  }
  #order-modal-print-btn,
  #order-modal-close-btn,
  #order-modal-fulfill-btn,
  #order-modal-cancel-btn,
  #order-modal-refund-btn,
  #order-modal-status-badge {
    display: none !important;
  }
}

/* Ambient glow highlights for modern aesthetic */
.ambient-glow {
  position: absolute;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  filter: blur(140px);
  opacity: 0.05;
  pointer-events: none;
  z-index: 0;
  transition: opacity 0.5s ease;
}
html.dark .ambient-glow {
  opacity: 0.15;
}
.glow-purple {
  background: radial-gradient(circle, #eb6060, transparent 70%);
  top: 10%;
  right: 5%;
}
.glow-blue {
  background: radial-gradient(circle, #3b82f6, transparent 70%);
  bottom: 20%;
  left: 5%;
}

/* Category Card Dark Gradient Overlay */
.category-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(15, 23, 42, 0.85) 0%, rgba(15, 23, 42, 0.15) 80%);
  opacity: 0.85;
  z-index: 1;
  border-radius: 1rem;
  transition: opacity 0.3s ease;
}
.category-card:hover::after {
  opacity: 0.95;
}

/* Quick Add Button Hover */
.quick-add-cart-btn {
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.quick-add-cart-btn:hover {
  transform: scale(1.08);
  box-shadow: 0 4px 12px rgba(235, 96, 96, 0.25);
}
.quick-add-cart-btn:active {
  transform: scale(0.92);
}

/* Premium Gradient Hero Card Background */
.hero-card-gradient {
  background: linear-gradient(135deg, #fafaf9 0%, #ffebeb 100%) !important;
  border-color: rgba(235, 96, 96, 0.12) !important;
}
html.dark .hero-card-gradient {
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.65) 0%, rgba(235, 96, 96, 0.1) 100%) !important;
  border-color: rgba(235, 96, 96, 0.15) !important;
}

/* FAQ Accordion Transitions */
.faq-item {
  transition: all 0.3s ease;
}
.faq-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
  opacity: 0;
}
.faq-item.active {
  border-color: rgba(235, 96, 96, 0.4);
  box-shadow: 0 4px 12px rgba(235, 96, 96, 0.05);
}
.faq-item.active .faq-content {
  opacity: 1;
}
.faq-item.active .faq-trigger i {
  transform: rotate(180deg);
  color: #eb6060;
}

/* Star Selector Styling */
.star-select-btn {
  color: #cbd5e1;
  transition: color 0.15s ease, transform 0.15s ease;
}
html.dark .star-select-btn {
  color: #334155;
}
.star-select-btn.text-amber-400 {
  color: #fbbf24 !important;
}

