/* === Gift Gallery Grid Setup December 29, 2025 === */
.wp-block-columns.gift-gallery {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr); /* 3 columns desktop */
    column-gap: 10px; /* horizontal spacing desktop */
    row-gap: 36px;    /* vertical spacing */
}

/* Override default WordPress column widths */
.wp-block-columns.gift-gallery > .wp-block-column {
    width: auto !important;
    display: block; /* default for desktop */
}

/* Responsive breakpoints */

/* Tablet: 2-column balanced grid with larger horizontal spacing */
@media (max-width: 1024px) and (min-width: 769px) {
    .wp-block-columns.gift-gallery {
        grid-template-columns: repeat(2, 1fr);
        column-gap: 20px; /* increased horizontal spacing on tablet */
    }

    /* Make column wrappers transparent so grid items flow evenly */
    .wp-block-columns.gift-gallery > .wp-block-column {
        display: contents;
    }
}

/* Mobile: 1 column */
@media (max-width: 768px) {
    .wp-block-columns.gift-gallery {
        grid-template-columns: 1fr;
        column-gap: 10px; /* horizontal spacing mobile */
    }

    /* revert wrapper display for proper stacking */
    .wp-block-columns.gift-gallery > .wp-block-column {
        display: block;
    }
}

/* Figure setup */
.wp-block-columns.gift-gallery figure {
    position: relative;
    display: block;
    margin: 0 !important;
    overflow: hidden;
    border-radius: 8px; /* rounded corners */
    transition: transform 0.3s ease, z-index 0.3s ease;
}

/* Images fill figure */
.wp-block-columns.gift-gallery figure img {
    display: block;
    width: 100%;
    border-radius: 8px; /* rounded corners match figure */
    transition: transform 0.3s ease;
}

/* Hover scale effect */
.wp-block-columns.gift-gallery figure:hover {
    transform: scale(1.05); /* expand on hover */
    z-index: 2;
}




/* Accordion title stack */
.accordion-title {
  display: flex;
  flex-direction: column;
  gap: 0.25em;
}

/* Store name */
.accordion-title .store-name {
  font-weight: 600;
  line-height: 1.2;
}

/* City, Province */
.accordion-title .store-location {
  font-size: 0.85em;
  color: #6b7280; /* soft neutral grey */
  letter-spacing: 0.02em;
}

/* Optional: slightly tighter on mobile */
@media (max-width: 600px) {
  .accordion-title .store-location {
    font-size: 0.8em;
  }
}
