/** Shopify CDN: Minification failed

Line 8:0 Unexpected "{"
Line 8:1 Expected identifier but found "%"
Line 11:1 Expected identifier but found "%"

**/
{% comment %}
  Unified Animation System
  Harmonizes all animations across the website
{% endcomment %}

/* Unified Animation Variables */
:root {
  /* Timing Functions */
  --animation-ease-smooth: cubic-bezier(0.4, 0, 0.2, 1);
  --animation-ease-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);
  --animation-ease-elastic: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  
  /* Duration Scale */
  --duration-instant: 0.1s;
  --duration-fast: 0.2s;
  --duration-normal: 0.3s;
  --duration-slow: 0.5s;
  --duration-slower: 0.8s;
  
  /* Transform Scale */
  --scale-hover: 1.02;
  --scale-active: 0.98;
  --scale-focus: 1.01;
  
  /* Shadow Scale */
  --shadow-subtle: 0 2px 8px rgba(0, 0, 0, 0.1);
  --shadow-medium: 0 4px 16px rgba(0, 0, 0, 0.15);
  --shadow-strong: 0 8px 32px rgba(0, 0, 0, 0.2);
  --shadow-cyan: 0 4px 20px rgba(12, 246, 225, 0.3);
  --shadow-cyan-hover: 0 8px 30px rgba(12, 246, 225, 0.4);
}

/* Unified Animation Base */
* {
  transition-property: transform, box-shadow, background-color, color, opacity, border-color;
  transition-duration: var(--duration-normal);
  transition-timing-function: var(--animation-ease-smooth);
}

/* Button Animations - Harmonized */
.button,
.shopify-challenge__button,
.customer button,
button.shopify-payment-button__button--unbranded,
.modern-faq-question,
.card-product,
.product-card {
  transition: all var(--duration-normal) var(--animation-ease-smooth);
}

.button:hover,
.modern-faq-question:hover,
.card-product:hover,
.product-card:hover {
  transform: translateY(-2px) scale(var(--scale-hover));
  box-shadow: var(--shadow-medium);
}

.button:active,
.modern-faq-question:active,
.card-product:active,
.product-card:active {
  transform: translateY(0) scale(var(--scale-active));
  transition-duration: var(--duration-fast);
}

/* FAQ Animations - Harmonized */
.modern-faq-item {
  transition: all var(--duration-normal) var(--animation-ease-smooth);
}

.modern-faq-item:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-medium);
}

.modern-faq-icon {
  transition: transform var(--duration-normal) var(--animation-ease-smooth);
}

.modern-faq-item[data-open="true"] .modern-faq-icon {
  transform: rotate(180deg);
}

.modern-faq-answer {
  transition: max-height var(--duration-normal) var(--animation-ease-smooth), 
              padding var(--duration-normal) var(--animation-ease-smooth),
              opacity var(--duration-fast) var(--animation-ease-smooth);
}

/* Card Animations - Harmonized */
.card-product,
.product-card,
.collection-card {
  transition: all var(--duration-normal) var(--animation-ease-smooth);
}

.card-product:hover,
.product-card:hover,
.collection-card:hover {
  transform: translateY(-4px) scale(var(--scale-hover));
  box-shadow: var(--shadow-strong);
}

/* Form Animations - Harmonized */
input,
textarea,
select {
  transition: all var(--duration-normal) var(--animation-ease-smooth);
}

input:focus,
textarea:focus,
select:focus {
  transform: scale(var(--scale-focus));
  box-shadow: var(--shadow-cyan);
}

/* Link Animations - Harmonized */
a {
  transition: color var(--duration-fast) var(--animation-ease-smooth);
}

a:hover {
  transform: translateX(2px);
}

/* Image Animations - Harmonized */
img {
  transition: transform var(--duration-normal) var(--animation-ease-smooth);
}

img:hover {
  transform: scale(1.02);
}

/* Loading Animations - Harmonized */
@keyframes pulse-unified {
  0%, 100% { 
    transform: scale(1);
    opacity: 1;
  }
  50% { 
    transform: scale(var(--scale-hover));
    opacity: 0.8;
  }
}

@keyframes fade-in-unified {
  from { 
    opacity: 0;
    transform: translateY(20px);
  }
  to { 
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slide-in-unified {
  from { 
    transform: translateX(-100%);
  }
  to { 
    transform: translateX(0);
  }
}

@keyframes bounce-unified {
  0%, 20%, 53%, 80%, 100% { 
    transform: translateY(0);
  }
  40%, 43% { 
    transform: translateY(-8px);
  }
  70% { 
    transform: translateY(-4px);
  }
  90% { 
    transform: translateY(-2px);
  }
}

/* Scroll Animations - Harmonized */
.scroll-trigger {
  opacity: 0;
  transform: translateY(30px);
  transition: all var(--duration-slow) var(--animation-ease-smooth);
}

.scroll-trigger.animate--slide-in {
  opacity: 1;
  transform: translateY(0);
}

.scroll-trigger.animate--fade-in {
  opacity: 1;
  transform: translateY(0);
}

.scroll-trigger.animate--zoom-in {
  opacity: 1;
  transform: scale(1);
}

/* Hero Section Animations - Harmonized */
.hero-section {
  transition: all var(--duration-slower) var(--animation-ease-smooth);
}

.hero-section .floating-element {
  animation: float-unified 6s ease-in-out infinite;
}

@keyframes float-unified {
  0%, 100% { 
    transform: translateY(0px) rotate(0deg);
  }
  50% { 
    transform: translateY(-20px) rotate(5deg);
  }
}

/* Cookie Banner Animations - Harmonized */
.modern-cookie-banner {
  transition: transform var(--duration-slower) var(--animation-ease-elastic);
}

.modern-cookie-banner.show {
  transform: translateY(0);
}

.modern-cookie-banner-success {
  transition: all var(--duration-normal) var(--animation-ease-smooth);
}

/* Newsletter Animations - Harmonized */
.newsletter__wrapper {
  transition: all var(--duration-normal) var(--animation-ease-smooth);
}

.newsletter__wrapper:hover {
  transform: translateY(-2px);
}

/* Footer Animations - Harmonized */
.footer-block__details-content a {
  transition: all var(--duration-fast) var(--animation-ease-smooth);
}

.footer-block__details-content a:hover {
  transform: translateX(4px);
  color: var(--footer-accent);
}

/* Social Media Animations - Harmonized */
.list-social__link {
  transition: all var(--duration-normal) var(--animation-ease-smooth);
}

.list-social__link:hover {
  transform: translateY(-2px) scale(var(--scale-hover));
  box-shadow: var(--shadow-cyan);
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  
  .scroll-trigger {
    opacity: 1;
    transform: none;
  }
  
  .modern-faq-item:hover,
  .card-product:hover,
  .product-card:hover {
    transform: none;
  }
}

/* High Contrast Support */
@media (prefers-contrast: high) {
  :root {
    --shadow-subtle: 0 2px 8px rgba(0, 0, 0, 0.3);
    --shadow-medium: 0 4px 16px rgba(0, 0, 0, 0.4);
    --shadow-strong: 0 8px 32px rgba(0, 0, 0, 0.5);
  }
}
