
body {
    background-color: #FFFFFF;
    color: #111111;
    overflow-x: hidden;
    font-family: 'Cormorant Garamond', serif;
}

/* UI Text (Sans) */
.font-ui {
    font-family: 'Jost', sans-serif;
}

/* Nav Glass Effect */
.glass-nav-light {
    background-color: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid #EBEBEB;
}

/* Custom Scrollbar */
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: #FFFFFF; }
::-webkit-scrollbar-thumb { background: #D1D1D1; }
::-webkit-scrollbar-thumb:hover { background: #E31A22; }

/* Reveal Animations */
.reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: all 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

/* Image Hover */
.img-wrap {
    overflow: hidden;
    background-color: #F8F7F5;
}
.img-wrap img {
    transition: transform 1.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.img-wrap:hover img {
    transform: scale(1.04);
}

/* Marquee */
.marquee-container { overflow: hidden; white-space: nowrap; width: 100%; }
.marquee-content { display: inline-block; animation: marquee 25s linear infinite; }
@keyframes marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* Underline hover */
.underline-hover { position: relative; display: inline-block; }
.underline-hover::after {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 1px;
  bottom: -2px;
  left: 0;
  background-color: currentColor;
  transform-origin: bottom right;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.underline-hover:hover::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

/* Modal transitions */
#product-modal {
  transition: opacity 0.4s ease-out, visibility 0.4s;
}
#product-modal.hidden-modal {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
#product-modal.active-modal {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.modal-content-slide {
  transform: translateX(30px);
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
#product-modal.active-modal .modal-content-slide {
  transform: translateX(0);
}
