@import url('../fonts/fonts.css');

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: #f4efe8; color: #1e1b18; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
a:hover { color: #9a7b4f; }
::selection { background: #9a7b4f; color: #f4efe8; }

@keyframes maturaScrollLine {
  0% { transform: scaleY(0); transform-origin: top; }
  45% { transform: scaleY(1); transform-origin: top; }
  55% { transform: scaleY(1); transform-origin: bottom; }
  100% { transform: scaleY(0); transform-origin: bottom; }
}

body.gallery-open { overflow: hidden; }

.gallery-modal {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}
.gallery-modal.is-open { opacity: 1; visibility: visible; }

.gallery-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(20, 17, 14, 0.92);
  cursor: pointer;
}

.gallery-modal__stage {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 88vw;
  max-height: 86vh;
  margin: 0;
  pointer-events: none;
}

.gallery-modal__image {
  max-width: 88vw;
  max-height: 76vh;
  width: auto;
  height: auto;
  object-fit: contain;
  box-shadow: 0 20px 80px rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: opacity 0.25s ease;
}
.gallery-modal__image.is-visible { opacity: 1; }

.gallery-modal__counter {
  margin-top: 18px;
  font-family: 'Manrope', sans-serif;
  font-weight: 300;
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(244, 239, 232, 0.6);
}

.gallery-modal__close,
.gallery-modal__nav {
  position: fixed;
  z-index: 2;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(244, 239, 232, 0.3);
  border-radius: 50%;
  background: rgba(20, 17, 14, 0.3);
  color: #f4efe8;
  line-height: 0;
  cursor: pointer;
  transition: border-color 0.3s ease, color 0.3s ease;
  pointer-events: auto;
}
.gallery-modal__close svg,
.gallery-modal__nav svg { display: block; }
.gallery-modal__close:hover,
.gallery-modal__nav:hover { border-color: #c39b64; color: #c39b64; }

.gallery-modal__close { top: 24px; right: clamp(20px, 4vw, 56px); }
.gallery-modal__nav { top: 50%; transform: translateY(-50%); }
.gallery-modal__nav--prev { left: clamp(12px, 3vw, 48px); }
.gallery-modal__nav--next { right: clamp(12px, 3vw, 48px); }
.gallery-modal__nav[hidden] { display: none; }

@media (max-width: 680px) {
  .nav-brand, .nav-locale { display: none; }

  .about-media {
    aspect-ratio: auto !important;
    display: flex;
    flex-direction: column;
  }
  .about-media-img {
    position: static;
    height: auto !important;
    aspect-ratio: 4 / 3;
  }
  .about-media-gradient { display: none; }
  .about-media-caption {
    position: static !important;
    max-width: 100% !important;
    text-align: left !important;
    margin-top: 20px;
  }
  .about-media-caption p { text-shadow: none !important; }
  .about-media-caption p:first-child { color: rgba(30, 27, 24, 0.85) !important; }
  .about-media-caption p:last-child { color: rgba(30, 27, 24, 0.7) !important; }

  .product-media { order: 0 !important; }
  .product-info { order: 1 !important; }
}
