/* Bridal Gift page only */
:root {
  /* Match style pages (luminous-blue): --bg-color is defined in style.css, so define it here for gift page */
  --bg-color: #f8f8f8;
}

/* gift.css is loaded only on gift.html, so it's safe to set page background here */
body {
  background-color: var(--bg-color);
}

.gift-page {
  /* matches style page rhythm without importing style.scss wholesale */
}

.gift-gallery {
  padding: 0 4vw clamp(3rem, 10vh, 6rem);
}

.gift-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(0.6rem, 2.2vw, 1.2rem);
  max-width: 1200px;
  margin: 0 auto;
}

.gift-thumb {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  overflow: hidden;
}

.gift-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.001);
  transition: transform 0.6s var(--ui-ease, cubic-bezier(0.4, 0, 0.2, 1));
}

.gift-thumb:hover img,
.gift-thumb:focus-visible img {
  transform: scale(1.03);
}

.gift-thumb .view-label {
  position: absolute;
  inset: auto 0 0 0;
  display: grid;
  place-items: center;
  padding: 0.9rem 1rem;
  font-size: 0.75rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.35s var(--ui-ease, cubic-bezier(0.4, 0, 0.2, 1)), transform 0.35s var(--ui-ease, cubic-bezier(0.4, 0, 0.2, 1));
}

.gift-thumb:hover .view-label,
.gift-thumb:focus-visible .view-label {
  opacity: 1;
  transform: translateY(0);
}

/* Modal: keep same z-index semantics as style page (modal above header/menu) */
.gift-modal {
  position: fixed;
  inset: 0;
  background: #fff;
  z-index: 200;
  clip-path: inset(100% 0 0 0);
  transition: clip-path 0.8s var(--ui-ease, cubic-bezier(0.4, 0, 0.2, 1));
  overflow-y: auto;
}

.gift-modal.is-open {
  clip-path: inset(0 0 0 0);
}

.gift-modal .close-btn {
  position: fixed;
  top: 2rem;
  right: 2rem;
  border: 0;
  background: transparent;
  /* Match luminous-blue (style pages) close button */
  font-family: "Cinzel", serif;
  font-size: 1rem;
  color: #fff;
  mix-blend-mode: difference;
  z-index: 210;
  cursor: pointer;
}

.gift-modal-container {
  min-height: 100%;
  padding: clamp(6rem, 12vh, 8rem) 6vw clamp(3rem, 10vh, 6rem);
  display: grid;
  place-items: center;
}

.gift-modal-figure {
  margin: 0;
  width: min(1100px, 100%);
}

.gift-modal-figure img {
  width: 100%;
  height: auto;
  display: block;
}
