/* =========================================================
   GALLERY — COMFORT LINE (masonry, no filters, no lightbox)
   Consistent with Packages/Fleet: soft premium bg + brand glows
   ========================================================= */

.cm-section.gallery{
  position: relative;
  overflow: hidden;
  padding: clamp(42px, 5vw, 86px) 0;
  background: linear-gradient(180deg, #F7F8FC 0%, #EEF2F9 100%);
}

.cm-section.gallery::before{
  content:"";
  position:absolute;
  inset:-210px -180px -240px -180px;
  background:
    radial-gradient(980px 560px at 18% 18%, rgba(244,180,0,.14), transparent 62%),
    radial-gradient(860px 540px at 82% 18%, rgba(11,18,32,.10), transparent 62%),
    radial-gradient(980px 620px at 50% 112%, rgba(244,180,0,.08), transparent 60%);
  pointer-events:none;
  z-index:0;
}
.cm-section.gallery::after{
  content:"";
  position:absolute;
  left:0; right:0;
  top:0;
  height:1px;
  background: linear-gradient(90deg, transparent, rgba(11,18,32,.14), transparent);
  z-index:0;
}
.cm-section.gallery .container{ position:relative; z-index:1; }

/* Head */
.gal-head{ max-width: 920px; }

/* Masonry grid via CSS columns */
.gal-grid{
  margin-top: 18px;
  column-count: 3;
  column-gap: 14px;
}

.gal-item{
  break-inside: avoid;
  margin: 0 0 14px;
}

/* Tile */
.gal-tile{
  border-radius: 18px;
  overflow: hidden;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(11,18,32,.10);
  box-shadow: 0 10px 28px rgba(12,16,23,.08);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

/* ✅ Default: NO CROPPING (fix zoom issue) */
.gal-tile img{
  width: 100%;
  height: auto;         /* critical */
  display: block;
}

/* Optional tall tiles: only these use crop for masonry feel */
.gal-tall .gal-tile img{
  min-height: 360px;
  object-fit: cover;
}

/* Hover */
@media (hover:hover){
  .gal-tile:hover{
    transform: translateY(-3px);
    box-shadow: 0 18px 42px rgba(12,16,23,.12);
    border-color: rgba(244,180,0,.24);
  }
}

/* Responsive */
@media (max-width: 992px){
  .gal-grid{ column-count: 2; }
}
@media (max-width: 576px){
  .gal-grid{ column-count: 1; }
  .gal-item{ margin-bottom: 12px; }

  /* Extra safety for mobile "zoomed" look */
  .gal-tall .gal-tile img{
    min-height: 260px;   /* reduce tall height on phones */
  }
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
  .gal-tile{ transition: none !important; }
}