/* City Seamless patio gallery — lives inside Fusion's white-card shell */
.cs-gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; padding: 10px 0 40px; }
@media (max-width: 991px) { .cs-gallery-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px) { .cs-gallery-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; } }
.cs-tile { margin: 0; position: relative; }
.cs-tile.cs-hide { display: none; }
.cs-tile a { display: block; position: relative; overflow: hidden; }
.cs-tile img.cs-thumb { display: block; width: 100%; height: auto; }
.cs-tile-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; background: rgba(1, 65, 122, 0.78); color: #fff; opacity: 0; transition: opacity .25s; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; font-size: 13px; text-align: center; padding: 8px; }
.cs-tile a:hover .cs-tile-overlay, .cs-tile a:focus .cs-tile-overlay { opacity: 1; }
.cs-tile-overlay img { width: 40px; height: auto; }
