/* === FONTS === */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Plus+Jakarta+Sans:wght@300;400;500;600&display=swap');

/* === CUSTOM ANIMATIONS === */
@keyframes fadeInSlow {
  0% {
    opacity: 0;
    transform: translateY(18px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes subtleFloat {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-4px);
  }
}

/* === EFFECTS === */
:root {
  --ease-gallery: cubic-bezier(0.22, 1, 0.36, 1);
}

html {
  scroll-behavior: smooth;
  background-color: #F7F3EE;
  color: #1C1A18;
}

body {
  font-family: 'Plus Jakarta Sans', sans-serif;
  background-color: #F7F3EE;
  color: #1C1A18;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

.font-display-heading {
  font-family: 'Cormorant Garamond', Georgia, serif;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 300;
}

.transition-gallery {
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  transition-duration: 500ms;
}

/* Subtle paper grain overlay */
.bg-gallery-grain {
  background-image: radial-gradient(rgba(165, 124, 82, 0.05) 1px, transparent 0);
  background-size: 24px 24px;
}

/* Custom scrollbar hiding for horizontal carousels */
.no-scrollbar::-webkit-scrollbar {
  display: none;
}
.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* === PSEUDO-ELEMENTS === */
.nav-link-underline {
  position: relative;
}
.nav-link-underline::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 1px;
  background-color: #A57C52;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
.nav-link-underline:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}

/* === OVERRIDES === */
/* Bilingual visibility helper controlled by body[data-lang] */
body[data-lang="en"] .lang-ru {
  display: none !important;
}
body[data-lang="ru"] .lang-en {
  display: none !important;
}

/* === MODULE STYLES === */
/* module: home */
.hero-logo-floating {
  will-change: transform, width, height;
  transition: box-shadow 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

/* module: catalog */
.product-card-img-secondary {
  opacity: 0;
  transition: opacity 0.65s cubic-bezier(0.22, 1, 0.36, 1), transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
}
.group:hover .product-card-img-secondary {
  opacity: 1;
}
.product-card-img-primary {
  transition: opacity 0.65s cubic-bezier(0.22, 1, 0.36, 1), transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
}
.group:hover .product-card-img-primary.has-secondary {
  opacity: 0;
}

/* module: gift_cards */
@media print {
  .no-print {
    display: none !important;
  }
  body {
    background: #FFFFFF !important;
  }
}
