
/* ===== ECETZ Mobile + Gallery Fixes (v12) ===== */

/* Desktop safety for brand logo */
header .brand img, header .logo img { max-height: 56px; height: auto; width: auto; display: inline-block; }

/* Global reset */
* { box-sizing: border-box; }

/* Gallery grid & tile sizing */
:root { --gallery-aspect: 4/3; }

.gallery.gallery-grid{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 20px !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  width: 100% !important;
}
@media (max-width: 1024px){ .gallery.gallery-grid{ grid-template-columns: repeat(2, minmax(0,1fr)) !important; } }
@media (max-width: 640px){  .gallery.gallery-grid{ grid-template-columns: 1fr !important; } }

/* Image tiles: edge-to-edge fill */
.gallery.gallery-grid .frame.gallery-item{
  position: relative !important;
  overflow: hidden !important;
  border-radius: 12px !important;
  aspect-ratio: var(--gallery-aspect) !important;
  display: block !important;
  width: 100% !important;
}
.gallery.gallery-grid .frame.gallery-item > img{
  width: 100% !important; height: 100% !important; object-fit: cover !important;
  display: block !important; max-width: none !important; max-height: none !important;
}

/* Video tile: bigger and fills */
.gallery.gallery-grid .gallery-item--video{
  grid-column: span 2 !important;
  border-radius: 12px !important; overflow: hidden !important;
  aspect-ratio: 16/9 !important;
}
.gallery.gallery-grid .gallery-item--video video{
  width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important;
}

/* --- MOBILE-ONLY layout normalization (does not affect desktop) --- */
@media (max-width: 900px){
  img, video { max-width: 100% !important; height: auto !important; display: block !important; }
  .wrap, .inner, .container, main, section { padding-left: 16px; padding-right: 16px; }
  .grid, .row, .columns, .cards, .features, .info-grid, .two-col, .three-col, .colgroup, .content-grid {
    display: grid !important; grid-template-columns: 1fr !important; gap: 16px !important;
  }
  .col, [class*="col-"], .left, .right, .column {
    width: 100% !important; max-width: 100% !important; float: none !important; margin: 0 0 16px 0 !important;
  }
  h1 { font-size: clamp(24px, 7vw, 34px); line-height: 1.15; }
  h2 { font-size: clamp(20px, 6vw, 28px); line-height: 1.2; }
  h3 { font-size: clamp(18px, 5.2vw, 22px); line-height: 1.25; }
}

/* Smooth scroll to #contact */
html { scroll-behavior: smooth; }

/* === Hero video styling (restored) === */
.hero--video { position: relative; overflow: hidden; }
.hero--video .hero-video {
  width: 100%;
  height: min(80vh, 56.25vw);
  object-fit: cover;
  display: block;
}
.hero--video .hero-overlay {
  position: absolute; inset: 0;
  display: flex; align-items: flex-end;
  padding: clamp(16px, 4vw, 48px);
}
