/* Diosa Sagrada balanced hero repair for laptop + mobile.
   Keeps the bottle large and centered without breaking the layout. */
:root {
  --diosa-product-turn: 0deg;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  overscroll-behavior: none;
}

body {
  overflow-x: hidden;
  overscroll-behavior: none;
}

.hero.hero-video-section {
  min-height: 100vh !important;
  min-height: 100svh !important;
  min-height: 100dvh !important;
  width: 100% !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.product-only-hero-grid {
  width: 100% !important;
  min-height: 100vh !important;
  min-height: 100svh !important;
  min-height: 100dvh !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
}

.hero-media.product-only-stage,
.hero-frame.product-focus.product-only-focus.heart-vapor-zone {
  width: 100% !important;
  min-height: 100vh !important;
  min-height: 100svh !important;
  min-height: 100dvh !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  overflow: hidden !important;
}

.heart-vapor-field {
  inset: -18% !important;
  z-index: 0 !important;
  transform: scale(1.08) !important;
  transform-origin: center center !important;
}

.single-product-hero {
  display: block !important;
  width: auto !important;
  height: min(78vh, 760px) !important;
  height: min(78dvh, 760px) !important;
  max-width: 92vw !important;
  max-height: 82vh !important;
  max-height: 82dvh !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: 0 auto !important;
  position: relative !important;
  z-index: 3 !important;
  transform-origin: center center !important;
  transform: translateY(3vh) scale(1.38) rotate(var(--diosa-product-turn, 0deg)) !important;
  transition: transform .82s cubic-bezier(.2,.85,.25,1), filter .82s ease !important;
  user-select: none !important;
  -webkit-user-drag: none !important;
  cursor: pointer !important;
  touch-action: manipulation !important;
}

.hero-frame.product-focus.product-only-focus.heart-vapor-zone.product-tap-active .single-product-hero {
  --diosa-product-turn: 360deg;
  filter: drop-shadow(0 18px 36px rgba(255,197,218,.36)) brightness(1.04) !important;
}

.hero-frame.product-focus.product-only-focus.heart-vapor-zone.product-tap-active .heart-vapor-field {
  transform: scale(1.18) !important;
  transition: transform .82s ease !important;
}

/* Laptop / desktop: large, but clean and not cropped badly. */
@media (min-width: 901px) and (max-width: 1440px) {
  .single-product-hero {
    height: min(82vh, 820px) !important;
    height: min(82dvh, 820px) !important;
    max-width: 88vw !important;
    transform: translateY(3vh) scale(1.55) rotate(var(--diosa-product-turn, 0deg)) !important;
  }
}

@media (min-width: 1441px) {
  .single-product-hero {
    height: min(80vh, 900px) !important;
    height: min(80dvh, 900px) !important;
    max-width: 82vw !important;
    transform: translateY(3vh) scale(1.45) rotate(var(--diosa-product-turn, 0deg)) !important;
  }
}

/* Tablets */
@media (max-width: 900px) {
  .single-product-hero {
    height: 86vh !important;
    height: 86dvh !important;
    max-height: 88vh !important;
    max-height: 88dvh !important;
    max-width: 118vw !important;
    transform: translateY(5vh) scale(1.95) rotate(var(--diosa-product-turn, 0deg)) !important;
  }
}

/* Phones: bigger product, centered, still visually clean. */
@media (max-width: 640px) {
  .site-header {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .heart-vapor-field {
    inset: -26% -28% -18% -28% !important;
    transform: scale(1.15) !important;
  }

  .single-product-hero {
    height: 90vh !important;
    height: 90dvh !important;
    max-height: 92vh !important;
    max-height: 92dvh !important;
    max-width: 138vw !important;
    transform: translateY(7vh) scale(2.45) rotate(var(--diosa-product-turn, 0deg)) !important;
  }
}

@media (max-width: 430px) {
  .single-product-hero {
    height: 92vh !important;
    height: 92dvh !important;
    max-height: 94vh !important;
    max-height: 94dvh !important;
    max-width: 148vw !important;
    transform: translateY(7vh) scale(2.7) rotate(var(--diosa-product-turn, 0deg)) !important;
  }
}

@media (max-width: 380px) {
  .single-product-hero {
    height: 94vh !important;
    height: 94dvh !important;
    max-width: 158vw !important;
    transform: translateY(7vh) scale(2.9) rotate(var(--diosa-product-turn, 0deg)) !important;
  }
}

/* Initial mobile scroll gate: user must tap product before continuing. */
@media (max-width: 768px) {
  html.mobile-scroll-gate-locked,
  html.mobile-scroll-gate-locked body {
    height: 100% !important;
    max-height: 100% !important;
    overflow: hidden !important;
    overscroll-behavior: none !important;
    touch-action: none !important;
  }

  html.mobile-scroll-gate-locked body {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
  }

  html.mobile-scroll-gate-locked .single-product-hero {
    touch-action: manipulation !important;
  }
}
