/* ═══════════════════════════════════════════════════════════════════
   BRAND GALLERY SUMMARY — gallery-summary.css
   Page-specific styles for /gallery/ (brand summary that leads to the
   hotel gallery). Required: main.css, then gallery.css (intro strip and
   .btn-cta buttons are reused from there).
═══════════════════════════════════════════════════════════════════ */

.sec-gsum {
  background: var(--m-surface);
  padding: 70px 60px 80px;
}
.gsum-head { text-align: center; max-width: 760px; margin: 0 auto 40px; }

.gsum-collage {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  max-width: 1180px; margin: 0 auto;
}
.gsum-tile {
  position: relative; display: block; overflow: hidden;
  aspect-ratio: 1 / 1;
  background: var(--m-surface-deep);
}
.gsum-tile-lg { grid-column: span 2; grid-row: span 2; }
.gsum-tile img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .6s ease;
}
.gsum-tile:hover img, .gsum-tile:focus-visible img { transform: scale(1.05); }
.gsum-label {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 34px 16px 14px;
  background: linear-gradient(to top, rgba(30,20,16,.78), rgba(30,20,16,0));
  color: var(--m-white);
  font-size: 10px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
}
.gsum-actions { text-align: center; margin-top: 40px; }

@media (max-width: 700px) {
  .sec-gsum { padding: 48px 18px 56px; }
  .gsum-collage { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
}

/* ===================== PageSpeed fixes (pagespeed-fix 1.2.0) =====================
   Added for PageSpeed. Keep this block (see EDITING-GUIDE.md); edit the rules above it as usual. */

/* reCAPTCHA now loads when the form comes near: keep the widget's slot so nothing moves when it appears (78 px; compact 144 px). Only empty boxes: once the widget is in, the rule stops applying. */
div.g-recaptcha:empty:not([data-size="invisible"]):not([data-size="compact"]), div[id^="g-recaptcha-"]:not(.g-recaptcha):empty { min-height: 78px; }
div.g-recaptcha:empty[data-size="compact"] { min-height: 144px; }

/* First-screen content held back by an entrance animation (measured: hidden at first paint, visible later) is shown in its final state from the first paint: the elements marked data-psf-reveal in the pages (-d: desktop first screen only, 1024 px and wider; -m: phone first screen only; the :not(#psf-a):not(#psf-b) parts only give the rule priority). */
[data-psf-reveal="1"]:not(#psf-a):not(#psf-b) {
  opacity: 1 !important; visibility: visible !important;
}
@media (min-width: 1024px) {
[data-psf-reveal-d="1"]:not(#psf-a):not(#psf-b) {
  opacity: 1 !important; visibility: visible !important;
}
}
/* ===================== end of PageSpeed fixes ===================== */
