/* Visitor Profile page — page-exclusive rules only; shared components
   (hero, location/carousel, pillar grid, visitor cards, CTA bar) all live
   in css/common.css. */

/* Centered section headers, matching the pattern already used elsewhere
   in common.css's sitewide #partners/#exhibitors/#gallery overrides. */
#who-can-visit .section-header,
#visit-us .section-header {
    text-align: center;
    max-width: none;
    margin-inline: auto;
}

#who-can-visit .section-header h2,
#visit-us .section-header h2 { text-align: center; }

#who-can-visit .section-header p,
#visit-us .section-header p {
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

/* Who Can Visit — fixed 3x2 grid on desktop, matching the square-card
   responsive breakpoints already used by exhibitor-profile.php. */
#who-can-visit .visitors-container {
    grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 900px) {
    #who-can-visit .visitors-container { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 560px) {
    #who-can-visit .visitors-container { grid-template-columns: 1fr; }
}

/* Event Gallery — transplanted from about-summit.php's own copy (itself
   transplanted from index.php's homepage gallery): same lazy-loaded grid
   fed by EGN_ConnectX_gallery.php, same mobile "Load More" slice behavior. */
.gallery-grid {
    display: grid;
    gap: 6px;
    width: 100%;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    grid-auto-rows: 280px;
    grid-auto-flow: dense;
    min-height: 280px;
}

.gallery-item { overflow: hidden; border-radius: 12px; height: 100%; }

.gallery-item img {
    width: 100%;
    height: 100%;
    display: block;
    transition: transform 0.4s ease;
    object-fit: cover;
}

.gallery-item:hover img { transform: scale(1.08); }

.gallery-load-more-wrapper { text-align: center; margin-top: 20px; }

@media (max-width: 600px) {
    .gallery-item--hidden { display: none; }
    .gallery-grid { grid-template-columns: 1fr; grid-auto-rows: 220px; }
    .gallery-item img { width: 100%; }
}
