/*
 * INVITEA_BUILDER_GALLERY_SAFE_03C
 * Core-owned, template-scoped Gallery layout variants. These selectors only
 * activate when the current template contract resolves a supported variant.
 */

/* Maison Aurelia — Classic Grid. */
.invitea-rendered-template-maison-aurelia
.invitea-v3-section--gallery[data-invitea-gallery-layout="grid"]
.ma-gallery-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-auto-rows: auto !important;
    gap: clamp(.8rem, 1.6vw, 1.4rem) !important;
    width: min(1240px, 100%);
    column-count: initial !important;
}

.invitea-rendered-template-maison-aurelia
.invitea-v3-section--gallery[data-invitea-gallery-layout="grid"]
.ma-gallery-grid__item:nth-child(n) {
    grid-column: auto !important;
    grid-row: auto !important;
    margin: 0 !important;
}

.invitea-rendered-template-maison-aurelia
.invitea-v3-section--gallery[data-invitea-gallery-layout="grid"]
.ma-gallery-card {
    aspect-ratio: 1 / 1 !important;
}

/* Maison Aurelia — Editorial Masonry. */
.invitea-rendered-template-maison-aurelia
.invitea-v3-section--gallery[data-invitea-gallery-layout="masonry"]
.ma-gallery-grid {
    display: block !important;
    width: min(1240px, 100%);
    columns: 3;
    column-gap: clamp(.8rem, 1.6vw, 1.4rem);
}

.invitea-rendered-template-maison-aurelia
.invitea-v3-section--gallery[data-invitea-gallery-layout="masonry"]
.ma-gallery-grid__item:nth-child(n) {
    display: inline-block;
    width: 100%;
    margin: 0 0 clamp(.8rem, 1.6vw, 1.4rem) !important;
    break-inside: avoid;
    grid-column: auto !important;
    grid-row: auto !important;
}

.invitea-rendered-template-maison-aurelia
.invitea-v3-section--gallery[data-invitea-gallery-layout="masonry"]
.ma-gallery-card {
    aspect-ratio: auto !important;
    min-height: 0;
}

.invitea-rendered-template-maison-aurelia
.invitea-v3-section--gallery[data-invitea-gallery-layout="masonry"]
.ma-gallery-card__image-wrap {
    position: relative !important;
    inset: auto !important;
    display: block;
    aspect-ratio: 4 / 3;
}

.invitea-rendered-template-maison-aurelia
.invitea-v3-section--gallery[data-invitea-gallery-layout="masonry"]
.ma-gallery-grid__item:nth-child(3n + 1) .ma-gallery-card__image-wrap {
    aspect-ratio: 3 / 4;
}

.invitea-rendered-template-maison-aurelia
.invitea-v3-section--gallery[data-invitea-gallery-layout="masonry"]
.ma-gallery-grid__item:nth-child(4n + 2) .ma-gallery-card__image-wrap {
    aspect-ratio: 16 / 10;
}

.invitea-rendered-template-maison-aurelia
.invitea-v3-section--gallery[data-invitea-gallery-layout="masonry"]
.ma-gallery-grid__item:nth-child(5n) .ma-gallery-card__image-wrap {
    aspect-ratio: 1 / 1;
}

.invitea-rendered-template-maison-aurelia
.invitea-v3-section--gallery[data-invitea-gallery-layout="masonry"]
.ma-gallery-card__caption {
    position: absolute;
}

@media (max-width: 900px) {
    .invitea-rendered-template-maison-aurelia
    .invitea-v3-section--gallery[data-invitea-gallery-layout="grid"]
    .ma-gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .invitea-rendered-template-maison-aurelia
    .invitea-v3-section--gallery[data-invitea-gallery-layout="masonry"]
    .ma-gallery-grid {
        columns: 2;
    }
}

@media (max-width: 580px) {
    .invitea-rendered-template-maison-aurelia
    .invitea-v3-section--gallery[data-invitea-gallery-layout="grid"]
    .ma-gallery-grid {
        grid-template-columns: 1fr !important;
    }

    .invitea-rendered-template-maison-aurelia
    .invitea-v3-section--gallery[data-invitea-gallery-layout="masonry"]
    .ma-gallery-grid {
        columns: 1;
    }
}


/* SAFE 03C: source semantics stay visible without changing template layout geometry. */
.invitea-rendered-template-maison-aurelia
.invitea-v3-section--gallery[data-invitea-gallery-source="flat"]
.ma-gallery-card--photo .ma-gallery-card__meta {
    letter-spacing: .11em;
}

.invitea-rendered-template-maison-aurelia
.invitea-v3-section--gallery[data-invitea-gallery-source="flat"]
.ma-gallery-card--photo::before {
    inset: 7px;
    border-color: rgba(255,255,255,.24);
}

/* F2.20D-R1 / G15: customer media must never collapse the Gallery heading track. */
.it-section--gallery #gallery-title,
.invitea-v3-section--gallery #gallery-title,
section[data-invitea-section-blueprint="gallery"] #gallery-title {
    width: max-content !important;
    max-width: none !important;
    min-width: max-content !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}
.it-section--gallery .it-section__header,
.invitea-v3-section--gallery .it-section__header,
section[data-invitea-section-blueprint="gallery"] .it-section__header {
    min-width: min(9.5rem, 100%);
}
@media (max-width: 520px) {
    .it-section--gallery #gallery-title,
    .invitea-v3-section--gallery #gallery-title,
    section[data-invitea-section-blueprint="gallery"] #gallery-title {
        font-size: clamp(1.85rem, 10vw, 3.4rem) !important;
    }
}
