/* LUNOREM v1.5 — limited requested fixes only. Other typography, images,
   videos, layout, copy and shared functions remain unchanged. */

/* P2-P5 full-bleed photographic headings: no opaque white seam or hairline.
   A genuine alpha mask reveals the unchanged animated page background below. */
.theme-shop .page-hero {
  background-image: none !important;
  background-color: transparent;
  border-bottom: 0;
}
.theme-shop .page-hero::before,
.theme-shop .page-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 62%, rgba(0,0,0,.94) 74%, rgba(0,0,0,.50) 88%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 62%, rgba(0,0,0,.94) 74%, rgba(0,0,0,.50) 88%, transparent 100%);
}
.theme-shop .page-hero::before {
  z-index: -2;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}
.theme-shop .page-hero::after {
  z-index: -1;
  background: linear-gradient(90deg,
    rgba(250,247,241,.94) 0%, rgba(250,247,241,.89) 27%,
    rgba(250,247,241,.70) 47%, rgba(250,247,241,.20) 75%,
    rgba(250,247,241,.10) 100%);
}
.theme-shop .page-hero--about::before { background-image: url('../images/headers/about.jpg'); background-position: center 42%; }
.theme-shop .page-hero--products::before { background-image: url('../images/headers/products.jpg'); background-position: center 55%; }
.theme-shop .page-hero--stores::before { background-image: url('../images/headers/stores.jpg'); background-position: center 53%; }
.theme-shop .page-hero--flagship::before { background-image: url('../images/headers/flagship.jpg'); background-position: center 48%; }
.theme-shop .page-hero__content { position: relative; z-index: 1; }

/* Readings above kanji individually, with a touch more vertical breathing room. */
.theme-shop ruby { ruby-position: over; }
.theme-shop ruby rt { padding-bottom: .38em; }

/* The four restored soaps fit across ONE row on desktop, in fixed order. */
.theme-shop .product-gallery.revival-gallery {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media (max-width: 900px) {
  .theme-shop .product-gallery.revival-gallery {
    display: grid;
    grid-template-columns: repeat(4, minmax(225px, 1fr));
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
    padding-bottom: 12px;
  }
  .theme-shop .revival-gallery > .product-card { scroll-snap-align: start; }
  /* Preserve the existing gentle fade with no solid-colored line on mobile. */
  .theme-shop .page-hero::after {
    background:linear-gradient(90deg,rgba(250,247,241,.96),rgba(250,247,241,.82) 65%,rgba(250,247,241,.45));
  }
}
@media (max-width: 560px) {
  .theme-shop .page-hero::before { background-position: 61% center; }
}
/* Only increase the number's stroke very slightly; keep badge dimensions/colors. */
body .page-badge { font-weight: 500; }
