/* ===========================================================================
   VISIT MARAMUREȘ — FRONTEND MODULES V2
   ETAPA 1: CONSOLIDARE INTEGRALĂ, FĂRĂ CLEANUP

   CUPRINS / STRUCTURA ȚINTĂ
   01. Shared Foundation
   02. Shared Typography
   03. Shared Cards
   04. Homepage Specific
   05. Grid
   06. List
   07. Featured
   08. Split
   09. Banner
   09A. Image V2
   10. Content
   11. Carousel
   12. Responsive / Accessibility

   IMPORTANT:
   - Etapa 1 menține conținutul și ordinea CSS-urilor de origine, inclusiv
     regula responsive în interiorul fiecărei secțiuni. 12 este un punct de
     audit viitor; nu mutăm breakpointurile fără audit CSS ↔ Blade ↔ Settings.
   - Conținutul MENUS V2 / visual-menu.css rămâne separat, pentru menu.css.
   - Nicio referință LIVE nu a fost comutată automat la acest stylesheet.
   - Shared Foundation = copia integrală a frontend-modules.css Etapa 4.3 PASS.
   - Celelalte surse au fost reproduse din fragmentele furnizate în conversație.
     Înainte de activare se recomandă comparație cu fișierele LIVE reale.
   =========================================================================== */

/* ---------------------------------------------------------------------------
   SOURCE: frontend-modules.css | 01–03 · Shared Foundation / Typography / Cards (Etapa 4.3 PASS)
   --------------------------------------------------------------------------- */

/* =========================================================
   FRONTEND MODULES
========================================================= */

.frontend-modules {
    display: flex;
    flex-direction: column;
    gap: 48px;
}

/* =========================================================
   MODULE SECTION
========================================================= */

.homepage-module {
    position: relative;
}

.frontend-module__container {
    position: relative;
}

.frontend-module .frontend-carousel {
    --carousel-gap: 14px;
}

.section-heading {
    margin-bottom: 34px;
}

.section-heading h2 {
    margin: 0;
    font-size: clamp(2rem, 3vw, 2.8rem);
    line-height: 1.1;
    color: #111827;
}

/* =========================================================
   TYPOGRAPHY V2 — MODULE SECTION HEADING
   Scoped to the shared modules renderer; unrelated .section-heading
   consumers retain their existing presentation until their own audit.
   ========================================================================== */

.frontend-modules .section-heading h2 {
    font-family: var(
        --type-font-heading,
        var(--vm-typography-font-heading, var(--frontend-design-font-heading, "Source Serif 4", Georgia, "Times New Roman", serif))
    );
    font-size: var(
        --type-h2-desktop-size,
        var(--vm-typography-h2-desktop-size, clamp(2rem, 3vw, 2.8rem))
    );
    font-weight: var(
        --type-h2-weight,
        var(--vm-typography-h2-weight, var(--frontend-design-heading-title-font-weight, 700))
    );
    line-height: var(--type-h2-line-height, var(--vm-typography-h2-line-height, 1.1));
    letter-spacing: var(--type-h2-letter-spacing, var(--vm-typography-h2-letter-spacing, normal));
}

@media (min-width: 768px) and (max-width: 1199px) {
    .frontend-modules .section-heading h2 {
        font-size: var(
            --type-h2-tablet-size,
            var(--vm-typography-h2-tablet-size, clamp(2rem, 3vw, 2.8rem))
        );
    }
}

@media (max-width: 767px) {
    .frontend-modules .section-heading h2 {
        font-size: var(--type-h2-mobile-size, var(--vm-typography-h2-mobile-size, 1.8rem));
    }
}

/* ===========================================================================
   B7.2 — SHARED EDITORIAL TYPOGRAPHY CONTRACT (additive migration stage)

   .module__* owns semantic typography shared by Banner, Content and future
   consumers. Type-specific geometry, photographic overlays, CTA skins and card
   identities stay in their existing selectors until Blade migration + LIVE PASS.
   Heading sizes come directly from H1–H6 settings: no second scale multiplier.
   =========================================================================== */

.frontend-modules .module__eyebrow {
    margin: 0 0 0.75rem;
    font-family: var(--type-font-body, var(--frontend-design-font-body, "Manrope", Arial, sans-serif));
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.frontend-modules .module__title {
    margin: 0;
    font-family: var(--type-font-heading, var(--frontend-design-font-heading, "Source Serif 4", Georgia, "Times New Roman", serif));
    font-size: var(--module-title-size, 2rem);
    font-weight: var(--module-title-weight, var(--type-heading-weight, 700));
    line-height: var(--module-title-line-height, var(--type-heading-line-height, 1.1));
    letter-spacing: var(--module-title-letter-spacing, var(--type-heading-letter-spacing, normal));
    overflow-wrap: break-word;
}

.frontend-modules h1.module__title {
    --module-title-size: var(--type-h1-desktop-size, clamp(2.5rem, 4.5vw, 4rem));
    --module-title-weight: var(--type-h1-weight, var(--type-heading-weight, 700));
    --module-title-line-height: var(--type-h1-line-height, var(--type-heading-line-height, 1.1));
    --module-title-letter-spacing: var(--type-h1-letter-spacing, var(--type-heading-letter-spacing, normal));
}

.frontend-modules h2.module__title {
    --module-title-size: var(--type-h2-desktop-size, clamp(2rem, 3vw, 2.8rem));
    --module-title-weight: var(--type-h2-weight, var(--type-heading-weight, 700));
    --module-title-line-height: var(--type-h2-line-height, var(--type-heading-line-height, 1.1));
    --module-title-letter-spacing: var(--type-h2-letter-spacing, var(--type-heading-letter-spacing, normal));
}

.frontend-modules h3.module__title {
    --module-title-size: var(--type-h3-desktop-size, 1.75rem);
    --module-title-weight: var(--type-h3-weight, var(--type-heading-weight, 700));
    --module-title-line-height: var(--type-h3-line-height, var(--type-heading-line-height, 1.2));
    --module-title-letter-spacing: var(--type-h3-letter-spacing, var(--type-heading-letter-spacing, normal));
}

.frontend-modules h4.module__title {
    --module-title-size: var(--type-h4-desktop-size, 1.5rem);
    --module-title-weight: var(--type-h4-weight, var(--type-heading-weight, 700));
    --module-title-line-height: var(--type-h4-line-height, var(--type-heading-line-height, 1.25));
    --module-title-letter-spacing: var(--type-h4-letter-spacing, var(--type-heading-letter-spacing, normal));
}

.frontend-modules h5.module__title {
    --module-title-size: var(--type-h5-desktop-size, 1.25rem);
    --module-title-weight: var(--type-h5-weight, var(--type-heading-weight, 700));
    --module-title-line-height: var(--type-h5-line-height, var(--type-heading-line-height, 1.3));
    --module-title-letter-spacing: var(--type-h5-letter-spacing, var(--type-heading-letter-spacing, normal));
}

.frontend-modules h6.module__title {
    --module-title-size: var(--type-h6-desktop-size, 1.125rem);
    --module-title-weight: var(--type-h6-weight, var(--type-heading-weight, 700));
    --module-title-line-height: var(--type-h6-line-height, var(--type-heading-line-height, 1.35));
    --module-title-letter-spacing: var(--type-h6-letter-spacing, var(--type-heading-letter-spacing, normal));
}


.frontend-modules .module__subtitle,
.frontend-modules .module__description,
.frontend-modules .module__content {
    font-family: var(--type-font-body, var(--frontend-design-font-body, "Manrope", Arial, sans-serif));
    font-weight: var(--type-body-weight, 400);
    letter-spacing: var(--type-body-letter-spacing, normal);
    overflow-wrap: break-word;
}

.frontend-modules .module__subtitle {
    margin: 0;
    font-size: var(--type-subtitle-size, 1.125rem);
    font-weight: var(--type-subtitle-weight, var(--type-body-weight, 400));
    line-height: var(--type-subtitle-line-height, 1.7);
}

.frontend-modules .module__description,
.frontend-modules .module__content {
    font-size: var(--type-body-size, 1rem);
    line-height: var(--type-body-line-height, 1.7);
}

.frontend-modules .module__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
}

.frontend-modules .module__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.875rem;
    font-family: var(--type-font-body, var(--frontend-design-font-body, "Manrope", Arial, sans-serif));
    font-size: var(--type-ui-button-size, 0.95rem);
    font-weight: var(--type-ui-button-weight, 700);
    line-height: 1.2;
    text-decoration: none;
    text-align: center;
    overflow-wrap: anywhere;
}

.frontend-modules .module__button:focus-visible {
    outline: 3px solid currentColor;
    outline-offset: 3px;
}


@media (min-width: 768px) and (max-width: 1199px) {

    .frontend-modules h1.module__title {
        --module-title-size: var(--type-h1-tablet-size, var(--type-h1-desktop-size, clamp(2.5rem, 4.5vw, 4rem)));
    }

    .frontend-modules h2.module__title {
        --module-title-size: var(--type-h2-tablet-size, var(--type-h2-desktop-size, clamp(2rem, 3vw, 2.8rem)));
    }

    .frontend-modules h3.module__title {
        --module-title-size: var(--type-h3-tablet-size, var(--type-h3-desktop-size, 1.75rem));
    }

    .frontend-modules h4.module__title {
        --module-title-size: var(--type-h4-tablet-size, var(--type-h4-desktop-size, 1.5rem));
    }

    .frontend-modules h5.module__title {
        --module-title-size: var(--type-h5-tablet-size, var(--type-h5-desktop-size, 1.25rem));
    }

    .frontend-modules h6.module__title {
        --module-title-size: var(--type-h6-tablet-size, var(--type-h6-desktop-size, 1.125rem));
    }

}


@media (max-width: 767px) {

    .frontend-modules h1.module__title {
        --module-title-size: var(--type-h1-mobile-size, var(--type-h1-desktop-size, clamp(2.5rem, 4.5vw, 4rem)));
    }

    .frontend-modules h2.module__title {
        --module-title-size: var(--type-h2-mobile-size, var(--type-h2-desktop-size, clamp(2rem, 3vw, 2.8rem)));
    }

    .frontend-modules h3.module__title {
        --module-title-size: var(--type-h3-mobile-size, var(--type-h3-desktop-size, 1.75rem));
    }

    .frontend-modules h4.module__title {
        --module-title-size: var(--type-h4-mobile-size, var(--type-h4-desktop-size, 1.5rem));
    }

    .frontend-modules h5.module__title {
        --module-title-size: var(--type-h5-mobile-size, var(--type-h5-desktop-size, 1.25rem));
    }

    .frontend-modules h6.module__title {
        --module-title-size: var(--type-h6-mobile-size, var(--type-h6-desktop-size, 1.125rem));
    }

}

/* ===========================================================================
   B7.3.2a — BANNER GEOMETRY GUARD FOR SHARED TYPOGRAPHY
   Scoped to Banner once its Blade adopts .module__* in B7.3.2b.
   The common typography owns font values; Banner retains its approved
   title-to-subtitle spacing and Dual CTA distance.
   This has no effect on the current Banner Blade before B7.3.2b.
   =========================================================================== */

.frontend-modules .frontend-banner .module__title {
    margin-bottom: 1rem;
}

.frontend-modules .frontend-banner .module__actions {
    gap: 1.25rem;
}

/* ===========================================================================
   B9.17 — SHARED EDITORIAL GEOMETRY / GRID, LIST, FEATURED
   Additive to B9.16 Blade. Split retains its dedicated geometry and skins.
   Carousel, card layouts and editorial source-specific styles are untouched.
   =========================================================================== */

.frontend-module:is(.module--grid, .module--list, .module--featured)
.module__container > .module__header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    width: 100%;
    max-width: 820px;
    margin: 0 0 26px;
    text-align: left;
}

.frontend-module:is(.module--grid, .module--list, .module--featured)
.module__header > * {
    min-width: 0;
    max-width: 100%;
    margin: 0;
}

.frontend-module:is(.module--grid, .module--list, .module--featured)
.module__header .module__eyebrow,
.frontend-module:is(.module--grid, .module--list, .module--featured)
.module__header .module__subtitle {
    color: var(--color-text-muted, #64748b);
}

.frontend-module:is(.module--grid, .module--list, .module--featured)
.module__header .module__description {
    max-width: 72ch;
    color: var(--color-text-muted, #475569);
}

.frontend-module:is(.module--grid, .module--list, .module--featured)
.module__container > .module__content {
    max-width: 78ch;
    margin: 22px 0 0;
    color: var(--color-text-muted, #475569);
}

.frontend-module:is(.module--grid, .module--list, .module--featured)
.module__container > .module__actions {
    justify-content: flex-start;
    margin-top: 18px;
}

.frontend-module:is(.module--grid, .module--list, .module--featured)
.module__actions .module__button {
    padding: 12px 22px;
    border: 1px solid var(--color-primary, #0f172a);
    border-radius: 12px;
    background: var(--color-primary, #0f172a);
    color: #ffffff;
}

.frontend-module:is(.module--grid, .module--list, .module--featured)
.module__actions .module__button:hover {
    filter: brightness(0.9);
}

.frontend-module:is(.module--grid, .module--list, .module--featured).module--compact
.module__container > .module__header {
    gap: 6px;
    margin-bottom: 16px;
}

.frontend-module:is(.module--grid, .module--list, .module--featured).module--highlight
.module__container > .module__header {
    gap: 12px;
    margin-bottom: 30px;
}

.frontend-module:is(.module--grid, .module--list, .module--featured).module--discovery
.module__container > .module__header {
    gap: 12px;
    margin-bottom: 30px;
}

@media (max-width: 640px) {
    .frontend-module:is(.module--grid, .module--list, .module--featured)
    .module__container > .module__header {
        gap: 8px;
        margin-bottom: 20px;
    }
}

/* =========================================================
   SHARED GRID
========================================================= */

.frontend-grid {
    display: grid;

    grid-template-columns: repeat(
        var(--grid-desktop-columns, 3),
        minmax(0, 1fr)
    );

    gap: 24px;
}

/* =========================================================
   SHARED CARD
========================================================= */

:is(.frontend-card, .module-card) {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    height: 100%;
    border-radius: 14px;
    background: #ffffff;
    border: 1px solid #e5e7eb;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

:is(.frontend-card, .module-card):hover {
    transform: none;

    border-color: #d1d5db;

    box-shadow:
        0 18px 40px rgba(15, 23, 42, 0.08),
        0 4px 10px rgba(15, 23, 42, 0.04);
}

:is(.frontend-card__media-link, .module-card__media-link),
:is(.frontend-card__title-link, .module-card__title-link),
:is(.frontend-card__link, .module-card__link) {
    color: inherit;
    text-decoration: none;
}

:is(.frontend-card__media-link, .module-card__media-link) {
    display: block;
}

:is(.frontend-card, .module-card) h3:not(:is(.frontend-card__title, .module-card__title)) {
    margin: 0;

    font-size: 1.25rem;
    line-height: 1.3;

    color: #111827;
}

/* =========================================================
   CARD MEDIA
========================================================= */

:is(.frontend-card__media, .module-card__media) {
    position: relative;

    aspect-ratio: 16 / 10;

    overflow: hidden;

    background: #e5e7eb;
}

:is(.frontend-card__media, .module-card__media) img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform 0.45s ease;
}

:is(.frontend-card, .module-card):hover :is(.frontend-card__media, .module-card__media) img {
    transform: scale(1.04);
}

:is(.frontend-card__media-placeholder, .module-card__media-placeholder) {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;
    min-height: 180px;

    background:
        radial-gradient(circle at top left, rgba(37, 99, 235, 0.18), transparent 34%),
        linear-gradient(135deg, #f8fafc 0%, #e5e7eb 100%);

    color: #334155;
}

:is(.frontend-card__media-placeholder, .module-card__media-placeholder) span {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 54px;
    height: 54px;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(148, 163, 184, 0.35);

    font-size: 1.5rem;
    font-weight: 700;
}

:is(.frontend-card__image-source, .module-card__image-source) {
    position: absolute;
    right: 12px;
    bottom: 10px;
    z-index: 3;

    max-width: calc(100% - 24px);

    padding: 4px 8px;

    border-radius: 999px;

    background: rgba(17, 24, 39, 0.62);
    backdrop-filter: blur(6px);

    color: #ffffff;

    font-size: 0.68rem;
    font-weight: 500;
    line-height: 1.2;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* =========================================================
   CARD BODY
========================================================= */

:is(.frontend-card__body, .module-card__body) {
    display: flex;
    flex-direction: column;
    flex: 1;

    padding: 24px 24px 28px;
}

:is(.frontend-card, .module-card) :is(.frontend-card__title, .module-card__title) {
    margin: 0 0 12px;

    font-family: var(
        --type-font-body,
        var(--frontend-design-font-body, "Manrope", Arial, sans-serif)
    );
    font-size: 1.35rem;
    line-height: 1.3;

    color: #111827;
}

:is(.frontend-card__meta, .module-card__meta) {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;

    margin-bottom: 12px;
}

:is(.frontend-card__meta, .module-card__meta) span {
    display: inline-flex;
    align-items: center;
    gap: 6px;

    padding: 6px 10px;

    border-radius: 999px;

    background: #f3f4f6;

    color: #374151;

    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1;
}

:is(.frontend-card__rating, .module-card__rating) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;

    margin-bottom: 14px;

    color: #4b5563;

    font-size: 0.9rem;
    font-weight: 600;
}

:is(.frontend-card__badge, .module-card__badge) {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 8px 12px;

    border-radius: 999px;

    background: rgba(17, 24, 39, 0.88);
    backdrop-filter: blur(8px);

    color: #ffffff;

    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

:is(.frontend-card__excerpt, .module-card__excerpt) {
    display: -webkit-box;
    overflow: hidden;

    margin: 0;

    font-family: var(
        --type-font-body,
        var(--frontend-design-font-body, "Manrope", Arial, sans-serif)
    );
    font-size: 0.98rem;
    line-height: 1.7;

    color: #4b5563;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(
        --frontend-card-excerpt-lines,
        4
    );
}

/* =========================================================
   CARD CTA
========================================================= */

.frontend-module :is(.frontend-card__footer, .module-card__footer) {
    display: flex;
    align-items: center;
    justify-content: flex-end;

    margin-top: auto;
    padding-top: 14px;
}

.frontend-module :is(.frontend-card__link, .module-card__link) {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 36px;
    height: 36px;
    min-height: 36px;
    padding: 0;

    border-radius: 999px;

    background: #0f172a;
    color: #ffffff;

    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1;

    text-decoration: none;
}

.frontend-module :is(.frontend-card__link, .module-card__link) i,
:is(.frontend-card--discovery, .module-card--discovery) :is(.frontend-card__action, .module-card__action) i {
    font-size: 1.1rem;
    line-height: 1;
}

.frontend-module :is(.frontend-card__link, .module-card__link):hover {
    background: #294936;
    color: #ffffff;
    transform: translateX(2px);
}

/* =========================================================
   CARD DISPLAY VARIANTS
========================================================= */

/* DEFAULT */

:is(.frontend-card--default, .module-card--default) :is(.frontend-card__body, .module-card__body) {
    padding: 24px 24px 28px;
}

/* COMPACT */

:is(.frontend-card--compact, .module-card--compact) :is(.frontend-card__media, .module-card__media) {
    aspect-ratio: 16 / 9;
}

:is(.frontend-card--compact, .module-card--compact) :is(.frontend-card__body, .module-card__body) {
    padding: 18px 18px 22px;
}

:is(.frontend-card--compact, .module-card--compact) :is(.frontend-card__title, .module-card__title) {
    margin-bottom: 8px;

    font-size: 1.08rem;
    line-height: 1.35;
}

:is(.frontend-card--compact, .module-card--compact) :is(.frontend-card__excerpt, .module-card__excerpt) {
    font-size: 0.92rem;
    line-height: 1.6;
}

:is(.frontend-card--compact, .module-card--compact) :is(.frontend-card__footer, .module-card__footer) {
    padding-top: 16px;
}

/* HIGHLIGHT */

:is(.frontend-card--highlight, .module-card--highlight) {
    border: none;

    background:
        linear-gradient(
            180deg,
            rgba(15, 23, 42, 0.02) 0%,
            rgba(15, 23, 42, 0.06) 100%
        );

    box-shadow:
        0 22px 48px rgba(15, 23, 42, 0.12),
        0 10px 24px rgba(15, 23, 42, 0.08);
}

:is(.frontend-card--highlight, .module-card--highlight):hover {
    transform: translateY(-6px);

    box-shadow:
        0 30px 60px rgba(15, 23, 42, 0.16),
        0 12px 28px rgba(15, 23, 42, 0.10);
}

:is(.frontend-card--highlight, .module-card--highlight) :is(.frontend-card__media, .module-card__media) {
    aspect-ratio: 21 / 10;
}

:is(.frontend-card--highlight, .module-card--highlight) :is(.frontend-card__body, .module-card__body) {
    padding: 20px 20px 22px;
}

:is(.frontend-card--highlight, .module-card--highlight) :is(.frontend-card__title, .module-card__title) {
    max-width: 18ch;

    margin-bottom: 10px;

    font-size: 1.4rem;
    line-height: 1.18;
}

:is(.frontend-card--highlight, .module-card--highlight) :is(.frontend-card__excerpt, .module-card__excerpt) {
    font-size: 0.96rem;
    line-height: 1.55;
}

:is(.frontend-card--highlight, .module-card--highlight) :is(.frontend-card__footer, .module-card__footer) {
    padding-top: 12px;
}

:is(.frontend-card--highlight, .module-card--highlight) :is(.frontend-card__badge, .module-card__badge) {
    background: rgba(37, 99, 235, 0.92);
}

/* =========================================================
   MEDIA OVERLAY CARD
========================================================= */

:is(.frontend-card--media-overlay, .module-card--media-overlay) {
    min-height: 100%;
    border: none;
    background: #18221c;
}

:is(.frontend-card--media-overlay, .module-card--media-overlay) :is(.frontend-card__media-link, .module-card__media-link) {
    display: block;
    width: 100%;
    height: 100%;
    min-width: 0;
}

:is(.frontend-card--media-overlay, .module-card--media-overlay) :is(.frontend-card__media, .module-card__media) {
    width: 100%;
    min-width: 0;
    height: 100%;
    min-height: 230px;
    aspect-ratio: 4 / 3;
    background: #dfe5df;
}

:is(.frontend-card--media-overlay, .module-card--media-overlay) :is(.frontend-card__media, .module-card__media)::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        linear-gradient(
            180deg,
            rgba(12, 20, 15, 0.02) 30%,
            rgba(12, 20, 15, 0.28) 62%,
            rgba(12, 20, 15, 0.88) 100%
        );

    pointer-events: none;
}

:is(.frontend-card--media-overlay, .module-card--media-overlay) :is(.frontend-card__media-placeholder, .module-card__media-placeholder) {
    min-height: 100%;
    background:
        radial-gradient(
            circle at 20% 10%,
            rgba(255, 255, 255, 0.42),
            transparent 38%
        ),
        linear-gradient(
            135deg,
            #dce5df 0%,
            #eef1ef 48%,
            #cdd8d0 100%
        );
}

:is(.frontend-card--media-overlay, .module-card--media-overlay) :is(.frontend-card__overlay, .module-card__overlay) {
    position: absolute;
    inset: 0;
    z-index: 2;

    background:
        radial-gradient(
            circle at top left,
            rgba(191, 154, 83, 0.12),
            transparent 42%
        );

    pointer-events: none;
}

:is(.frontend-card--media-overlay, .module-card--media-overlay) :is(.frontend-card__content, .module-card__content) {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 3;

    max-width: 100%;
    box-sizing: border-box;

    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;

    padding: 22px;
}

:is(.frontend-card--media-overlay, .module-card--media-overlay) :is(.frontend-card__title, .module-card__title) {
    margin: 0;
    max-width: 16ch;

    color: #ffffff;

    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.2;

    text-shadow: 0 2px 16px rgba(0, 0, 0, 0.28);
}

:is(.frontend-card--media-overlay, .module-card--media-overlay) :is(.frontend-card__action, .module-card__action) {
    flex: 0 0 auto;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 999px;

    background: rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(8px);

    color: #ffffff;

    font-size: 1.15rem;
    line-height: 1;

    transition:
        transform 0.25s ease,
        background 0.25s ease,
        border-color 0.25s ease;
}

:is(.frontend-card--media-overlay, .module-card--media-overlay):hover :is(.frontend-card__action, .module-card__action) {
    transform: translateX(3px);

    background: rgba(255, 255, 255, 0.22);
    border-color: rgba(255, 255, 255, 0.5);
}


/* =========================================================
   DISCOVERY DISPLAY VARIANT
========================================================= */

:is(.frontend-card--discovery, .module-card--discovery) {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 4;

    border-radius: 14px;

    box-shadow:
        0 10px 26px rgba(20, 31, 23, 0.09),
        0 2px 8px rgba(20, 31, 23, 0.04);
}

:is(.frontend-card--discovery, .module-card--discovery):hover {
    transform: none;

    box-shadow:
        0 10px 26px rgba(20, 31, 23, 0.09),
        0 2px 8px rgba(20, 31, 23, 0.04);
}

:is(.frontend-card--discovery, .module-card--discovery) :is(.frontend-card__media, .module-card__media) {
    width: 100%;
    height: 100%;
    min-height: 0;
    aspect-ratio: auto;
}

:is(.frontend-card--discovery, .module-card--discovery) :is(.frontend-card__content, .module-card__content) {
    display: block;
    padding: 18px 64px 18px 18px;
}

:is(.frontend-card--discovery, .module-card--discovery) :is(.frontend-card__content-main, .module-card__content-main) {
    flex: 1;
    min-width: 0;
}

:is(.frontend-card--discovery, .module-card--discovery) :is(.frontend-card__title, .module-card__title) {
    max-width: none;

    font-size: 1.08rem;
    line-height: 1.2;
    letter-spacing: -0.01em;
}

:is(.frontend-card--discovery, .module-card--discovery) :is(.frontend-card__count, .module-card__count) {
    margin-top: 5px;

    color: rgba(255, 255, 255, 0.78);

    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1.2;

    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.32);
}

:is(.frontend-card--discovery, .module-card--discovery) :is(.frontend-card__action, .module-card__action) {
    position: absolute;
    right: 18px;
    bottom: 18px;

    width: 36px;
    height: 36px;

    background: rgba(183, 143, 72, 0.88);
    border-color: rgba(255, 255, 255, 0.34);
}

:is(.frontend-card--discovery, .module-card--discovery):hover :is(.frontend-card__media, .module-card__media) img {
    transform: scale(1.05);
}

:is(.frontend-card--discovery, .module-card--discovery):hover :is(.frontend-card__action, .module-card__action) {
    background: rgba(199, 158, 82, 0.98);
}

/* =========================================================
   DISCOVERY MODULE LAYOUT
========================================================= */

.frontend-module--discovery .section-heading {
    max-width: calc(100% - 120px);
    margin-bottom: 22px;
}

.frontend-module--discovery .frontend-carousel {
    position: static;
    --carousel-gap: 14px;
}

.frontend-module--discovery .frontend-carousel__controls {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 5;

    margin: 0;
}

.frontend-module--discovery .frontend-carousel__button {
    width: 42px;
    height: 42px;

    background: rgba(255, 255, 255, 0.82);
    border-color: rgba(148, 163, 184, 0.34);

    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05);
}

.frontend-module--discovery .frontend-carousel__dots {
    margin-top: 18px;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 992px) {
    .frontend-grid {
        grid-template-columns: repeat(
            var(--grid-tablet-columns, 2),
            minmax(0, 1fr)
        );
    }
}

@media (max-width: 640px) {

    .frontend-grid {
		grid-template-columns: repeat(
			var(--grid-mobile-columns, 1),
			minmax(0, 1fr)
		);
	}
	
	.frontend-modules {
        gap: 48px;
    }

    :is(.frontend-card__body, .module-card__body) {
        padding: 22px;
    }

    .section-heading {
        margin-bottom: 24px;
    }

    .section-heading h2 {
        font-size: 1.8rem;
    }
    
    .frontend-module--discovery .section-heading {
        max-width: none;
    }
    
    .frontend-module--discovery .frontend-carousel {
        position: relative;
    }
    
    .frontend-module--discovery .frontend-carousel__controls {
        position: static;
    
        justify-content: flex-end;
    
        margin-bottom: 18px;
    }
}


/* =========================================================
   VISIT MARAMURES - 12 MOTIVE / GRID EXPLORARE
   Scoped premium styling for the Grid 12 Motive instance (ID 6).

   Intentionally scoped to the verified module instance (ID 6).
   Does not change global Discovery, Carousel, other Grid modules,
   the public Page Hero, or any editorial data.
   ========================================================= */

.frontend-module--grid.frontend-module--discovery[data-frontend-module-id="6"] .frontend-grid {
    counter-reset: motive-number;
    gap: 18px;
}

.frontend-module--grid.frontend-module--discovery[data-frontend-module-id="6"] .frontend-grid__item {
    position: relative;
    min-width: 0;
    counter-increment: motive-number;
}

/* Ordinal generated from the actual rendered order, not Page IDs. */
.frontend-module--grid.frontend-module--discovery[data-frontend-module-id="6"] .frontend-grid__item::before {
    content: counter(motive-number, decimal-leading-zero);
    position: absolute;
    z-index: 6;
    top: 16px;
    left: 18px;
    pointer-events: none;
    color: #fff;
    font-family: var(--frontend-design-font-heading, "Source Serif 4", Georgia, "Times New Roman", serif);
    font-size: clamp(1.7rem, 2.4vw, 2.15rem);
    font-weight: 700;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .75);
}

/* A subtle gold stroke beneath the upper-left ordinal. */
.frontend-module--grid.frontend-module--discovery[data-frontend-module-id="6"] .frontend-grid__item::after {
    content: '';
    position: absolute;
    z-index: 6;
    top: 53px;
    left: 19px;
    width: 27px;
    height: 3px;
    border-radius: 2px;
    background: #e8bd67;
    pointer-events: none;
    box-shadow: 0 1px 6px rgba(0, 0, 0, .25);
}

/* Nearly square, photographic card; only this Grid instance. */
.frontend-module--grid.frontend-module--discovery[data-frontend-module-id="6"] .page-frontend-card.frontend-card--discovery {
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 6 / 5;
    border: 0;
    border-radius: 13px;
    box-shadow: 0 10px 26px rgba(14, 28, 28, .10);
    transition: box-shadow .7s cubic-bezier(.42, 0, .2, 1);
}

.frontend-module--grid.frontend-module--discovery[data-frontend-module-id="6"] .page-frontend-card.frontend-card--discovery :is(.frontend-card__media-link, .module-card__media-link),
.frontend-module--grid.frontend-module--discovery[data-frontend-module-id="6"] .page-frontend-card.frontend-card--discovery :is(.frontend-card__media, .module-card__media) {
    width: 100%;
    height: 100%;
    min-height: 0;
    aspect-ratio: auto;
}

.frontend-module--grid.frontend-module--discovery[data-frontend-module-id="6"] .page-frontend-card.frontend-card--discovery :is(.frontend-card__media, .module-card__media) img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1);
    transform-origin: center center;
    transition: transform 0.45s ease;
}

/* Soft zoom on enter AND exit; applies only to the 12 Motive Grid. */
.frontend-module--grid.frontend-module--discovery[data-frontend-module-id="6"] .page-frontend-card.frontend-card--discovery:hover :is(.frontend-card__media, .module-card__media) img,
.frontend-module--grid.frontend-module--discovery[data-frontend-module-id="6"] .page-frontend-card.frontend-card--discovery:focus-within :is(.frontend-card__media, .module-card__media) img {
    transform: scale(1.07);
}

/* Keep the top number readable, with stronger contrast behind the title. */
.frontend-module--grid.frontend-module--discovery[data-frontend-module-id="6"] .page-frontend-card.frontend-card--discovery :is(.frontend-card__media, .module-card__media)::after {
    background:
        linear-gradient(
            180deg,
            rgba(5, 14, 17, .36) 0%,
            rgba(5, 14, 17, 0) 32%,
            rgba(5, 14, 17, .13) 51%,
            rgba(5, 14, 17, .86) 100%
        );
}

/* Editorial title becomes the primary visual anchor at the lower left. */
.frontend-module--grid.frontend-module--discovery[data-frontend-module-id="6"] .page-frontend-card.frontend-card--discovery :is(.frontend-card__content, .module-card__content) {
    display: block;
    padding: 20px 20px 19px;
}

.frontend-module--grid.frontend-module--discovery[data-frontend-module-id="6"] .page-frontend-card.frontend-card--discovery :is(.frontend-card__title, .module-card__title) {
    display: block;
    max-width: 100%;
    margin: 0;
    color: #fff;
    font-family: var(--frontend-design-font-heading, "Source Serif 4", Georgia, "Times New Roman", serif);
    font-size: clamp(1.25rem, 1.75vw, 1.6rem);
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -.025em;
    text-shadow: 0 2px 15px rgba(0, 0, 0, .65);
    overflow-wrap: anywhere;
}

/* The whole card is the link, so there is no competing round CTA. */
.frontend-module--grid.frontend-module--discovery[data-frontend-module-id="6"] .page-frontend-card.frontend-card--discovery :is(.frontend-card__action, .module-card__action) {
    display: none;
}

.frontend-module--grid.frontend-module--discovery[data-frontend-module-id="6"] .page-frontend-card.frontend-card--discovery:hover {
    box-shadow: 0 14px 32px rgba(14, 28, 28, .16);
}

.frontend-module--grid.frontend-module--discovery[data-frontend-module-id="6"] .page-frontend-card.frontend-card--discovery :is(.frontend-card__media-link, .module-card__media-link):focus-visible {
    outline: 3px solid #e8bd67;
    outline-offset: -3px;
    border-radius: 13px;
}

@media (max-width: 991px) {
    .frontend-module--grid.frontend-module--discovery[data-frontend-module-id="6"] .frontend-grid {
        gap: 16px;
    }
}

@media (max-width: 640px) {
    .frontend-module--grid.frontend-module--discovery[data-frontend-module-id="6"] .frontend-grid {
        gap: 14px;
    }

    .frontend-module--grid.frontend-module--discovery[data-frontend-module-id="6"] .page-frontend-card.frontend-card--discovery :is(.frontend-card__content, .module-card__content) {
        padding: 18px;
    }

    .frontend-module--grid.frontend-module--discovery[data-frontend-module-id="6"] .page-frontend-card.frontend-card--discovery :is(.frontend-card__title, .module-card__title) {
        font-size: clamp(1.3rem, 5vw, 1.65rem);
    }
}

/* ---------------------------------------------------------------------------
   SOURCE: homepage-modules.css | 04 · Homepage Specific
   --------------------------------------------------------------------------- */

/* =========================================================
   HOMEPAGE MODULES
========================================================= */

/*
 * Homepage-specific presentation only.
 *
 * Shared module structure, spacing, headings and responsive
 * behavior are owned by:
 *
 * components/frontend-modules.css
 */


/* =========================================================
   HOMEPAGE MODULE VARIANTS
========================================================= */

.homepage-module--zones {
    background:
        linear-gradient(
            180deg,
            rgba(248, 250, 252, 0.55) 0%,
            rgba(255, 255, 255, 0.9) 100%
        );
}

/* 05 · Grid — canonical rules are in Shared Foundation (01–03). */

/* ---------------------------------------------------------------------------
   SOURCE: list-module.css | 06 · List
   --------------------------------------------------------------------------- */

/* =========================================================
   MODULE LIST
========================================================= */

.frontend-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.frontend-list__item {
    min-width: 0;
}

.frontend-list :is(.frontend-card, .module-card) {
    flex-direction: row;
}

.frontend-list :is(.frontend-card__media-link, .module-card__media-link) {
    flex: 0 0 34%;
    min-width: 260px;
}

.frontend-list :is(.frontend-card__media, .module-card__media) {
    height: 100%;
    min-height: 220px;
    aspect-ratio: auto;
}

.frontend-list :is(.frontend-card__body, .module-card__body) {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.frontend-list :is(.frontend-card__content, .module-card__content) {
    max-width: 720px;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 768px) {
    .frontend-list :is(.frontend-card, .module-card) {
        flex-direction: column;
    }

    .frontend-list :is(.frontend-card__media-link, .module-card__media-link) {
        flex: none;
        min-width: 0;
    }

    .frontend-list :is(.frontend-card__media, .module-card__media) {
        min-height: 0;
        aspect-ratio: 16 / 10;
    }

    .frontend-list :is(.frontend-card__body, .module-card__body) {
        justify-content: flex-start;
    }

    .frontend-list :is(.frontend-card__content, .module-card__content) {
        max-width: none;
    }
}

/* ---------------------------------------------------------------------------
   SOURCE: featured-module.css | 07 · Featured
   --------------------------------------------------------------------------- */

/* =========================================================
   MODULE FEATURED
========================================================= */

.frontend-featured {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.frontend-featured__main,
.frontend-featured__secondary-item {
    min-width: 0;
}

.frontend-featured__main :is(.frontend-card__media, .module-card__media) {
    aspect-ratio: 21 / 9;
    min-height: 360px;
}

.frontend-featured__secondary {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    gap: 24px;
}

/* =========================================================
   FEATURED V2 / DEFAULT — shared Modules + editorial pages
   Editorial split for the primary card; restrained secondary cards.
   Scoped by the shared default card variants, including Artisan cards
   whose component intentionally uses an artisan-specific root class.
========================================================= */

.frontend-featured {
    container-type: inline-size;
}

.frontend-featured__main > :is(.frontend-card--default, .module-card--default, .artisan-frontend-card--default) {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
    align-items: stretch;
    min-height: 310px;
}

.frontend-featured__main > :is(.frontend-card--default, .module-card--default, .artisan-frontend-card--default)
    > :is(.frontend-card__media-link, .module-card__media-link, .frontend-card__media, .module-card__media) {
    display: block;
    min-width: 0;
    height: 100%;
    overflow: hidden;
}

.frontend-featured__main > :is(.frontend-card--default, .module-card--default, .artisan-frontend-card--default)
    :is(.frontend-card__media, .module-card__media) {
    width: 100%;
    height: 100%;
    min-height: 0;
    aspect-ratio: auto;
}

.frontend-featured__main > :is(.frontend-card--default, .module-card--default, .artisan-frontend-card--default)
    > :is(.frontend-card__body, .module-card__body) {
    min-width: 0;
    padding: clamp(24px, 3.4vw, 46px);
    justify-content: center;
}

.frontend-featured__main > :is(.frontend-card--default, .module-card--default, .artisan-frontend-card--default)
    :is(.frontend-card__title, .module-card__title) {
    font-family: var(--type-font-heading, "Source Serif 4", Georgia, serif);
    font-size: clamp(1.55rem, 2.25vw, 2.3rem);
    line-height: 1.18;
}

.frontend-featured__main > :is(.frontend-card--default, .module-card--default, .artisan-frontend-card--default)
    :is(.frontend-card__excerpt, .module-card__excerpt) {
    line-height: 1.65;
}

.frontend-featured:has(> .frontend-featured__main > :is(.frontend-card--default, .module-card--default, .artisan-frontend-card--default)) {
    gap: 14px;
}

/* Default secondaries: wrap within the actual available width, including
   constrained Composition slots and Zone Discovery's sidebar layout. */
.frontend-featured__secondary:has(> .frontend-featured__secondary-item
    > :is(.frontend-card--default, .module-card--default, .artisan-frontend-card--default)) {
    grid-auto-flow: row;
    grid-auto-columns: auto;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));
    gap: 14px;
}

.frontend-featured__secondary-item > :is(.frontend-card--default, .module-card--default, .artisan-frontend-card--default)
    :is(.frontend-card__media, .module-card__media) {
    min-height: 0;
    aspect-ratio: 16 / 10;
}

.frontend-featured__secondary-item > :is(.frontend-card--default, .module-card--default, .artisan-frontend-card--default)
    :is(.frontend-card__body, .module-card__body) {
    padding: 19px 20px 23px;
}

.frontend-featured__secondary-item > :is(.frontend-card--default, .module-card--default, .artisan-frontend-card--default)
    :is(.frontend-card__title, .module-card__title) {
    font-size: 1.08rem;
    line-height: 1.35;
}

@container (max-width: 680px) {
    .frontend-featured__main > :is(.frontend-card--default, .module-card--default, .artisan-frontend-card--default) {
        grid-template-columns: minmax(0, 1fr);
        min-height: 0;
    }

    .frontend-featured__main > :is(.frontend-card--default, .module-card--default, .artisan-frontend-card--default)
        > :is(.frontend-card__media-link, .module-card__media-link, .frontend-card__media, .module-card__media) {
        height: auto;
    }

    .frontend-featured__main > :is(.frontend-card--default, .module-card--default, .artisan-frontend-card--default)
        :is(.frontend-card__media, .module-card__media) {
        height: auto;
        aspect-ratio: 16 / 10;
    }

    .frontend-featured__main > :is(.frontend-card--default, .module-card--default, .artisan-frontend-card--default)
        > :is(.frontend-card__body, .module-card__body) {
        padding: clamp(20px, 4vw, 30px);
    }

    .frontend-featured__main > :is(.frontend-card--default, .module-card--default, .artisan-frontend-card--default)
        :is(.frontend-card__title, .module-card__title) {
        font-size: clamp(1.4rem, 4vw, 1.85rem);
    }
}

/* =========================================================
   F2.34 — FEATURED V2 / HIGHLIGHT — EDITORIAL PREMIUM
   One Featured layout for standard cards (Accommodation / Zone Discovery)
   and photographic Artisan cards. Carousel Highlight remains independent.
   All responsive decisions follow the actual Featured container width.
========================================================= */

/* Works both inside Frontend Modules and in the Zone Discovery page, whose
   Featured markup is not wrapped by .frontend-module--highlight. */
.frontend-featured:has(> .frontend-featured__main > :is(
    .frontend-card--highlight, .module-card--highlight, .artisan-frontend-card--highlight
)) {
    --featured-highlight-gap: 14px;
    --featured-highlight-surface: #fbf8f1;
    --featured-highlight-border: rgba(111, 88, 46, 0.15);
    gap: var(--featured-highlight-gap);
}

/* Main card: common split geometry for two distinct, existing DOM anatomies. */
.frontend-featured__main > :is(
    .frontend-card--highlight, .module-card--highlight, .artisan-frontend-card--highlight
) {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.82fr);
    align-items: stretch;
    min-width: 0;
    min-height: 350px;
    height: auto;
    overflow: hidden;
    border: 1px solid var(--featured-highlight-border, rgba(111, 88, 46, .15));
    border-radius: 14px;
    background: var(--featured-highlight-surface, #fbf8f1);
    box-shadow: 0 8px 24px rgba(20, 31, 23, .06);
    transform: none;
}

.frontend-featured__main > :is(
    .frontend-card--highlight, .module-card--highlight, .artisan-frontend-card--highlight
):hover {
    transform: none;
    border-color: rgba(111, 88, 46, .22);
    box-shadow: 0 10px 28px rgba(20, 31, 23, .075);
}

/* Standard cards: media and body are direct siblings of the article. */
.frontend-featured__main > :is(.frontend-card--highlight, .module-card--highlight):not(.frontend-card--media-overlay)
    > :is(.frontend-card__media, .module-card__media) {
    width: 100%;
    height: 100%;
    min-height: 0;
    aspect-ratio: auto;
    overflow: hidden;
}

.frontend-featured__main > :is(.frontend-card--highlight, .module-card--highlight):not(.frontend-card--media-overlay)
    > :is(.frontend-card__media, .module-card__media) > :is(.frontend-card__media-link, .module-card__media-link) {
    display: block;
    width: 100%;
    height: 100%;
}

.frontend-featured__main > :is(.frontend-card--highlight, .module-card--highlight):not(.frontend-card--media-overlay)
    > :is(.frontend-card__body, .module-card__body) {
    min-width: 0;
    padding: clamp(24px, 3cqi, 42px);
    justify-content: center;
    background: linear-gradient(135deg, #fbf8f1, #f6f0e5);
}

/* Artisan: a single anchor contains photo and editorial content. The article
   still owns the outer two-column geometry, not its nested media element. */

/* Common editorial hierarchy, without adding any absent content in CSS. */
.frontend-featured__main > :is(
    .frontend-card--highlight, .module-card--highlight, .artisan-frontend-card--highlight
) :is(.frontend-card__title, .module-card__title) {
    max-width: none;
    margin: 6px 0 12px;
    color: #172019;
    font-family: var(--type-font-heading, "Source Serif 4", Georgia, serif);
    font-size: clamp(1.6rem, 2.5cqi, 2.3rem);
    line-height: 1.12;
    text-shadow: none;
    overflow-wrap: anywhere;
}

.frontend-featured__main > :is(
    .frontend-card--highlight, .module-card--highlight, .artisan-frontend-card--highlight
) :is(.frontend-card__excerpt, .module-card__excerpt, .artisan-frontend-card__description) {
    max-width: 48ch;
    color: #454b46;
    font-size: .96rem;
    line-height: 1.6;
}

/* Highlight text actions are real, localized links (not circular icon buttons).
   One shared contract for Featured in Modules and editorial pages. */
.frontend-featured__main > :is(.frontend-card--highlight, .module-card--highlight):not(.frontend-card--media-overlay)
    .frontend-card__footer,
.frontend-featured__secondary-item > :is(.frontend-card--highlight, .module-card--highlight):not(.frontend-card--media-overlay)
    .frontend-card__footer {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-top: 12px;
    padding-top: 0;
}

.frontend-featured__main > :is(.frontend-card--highlight, .module-card--highlight):not(.frontend-card--media-overlay)
    .frontend-card__link,
.frontend-featured__secondary-item > :is(.frontend-card--highlight, .module-card--highlight):not(.frontend-card--media-overlay)
    .frontend-card__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: auto;
    max-width: 100%;
    height: auto;
    min-height: 38px;
    padding: 8px 12px;
    border: 1px solid rgba(36, 67, 49, .24);
    border-radius: 9px;
    background: #f4f1e9;
    color: #244331;
    font-size: .82rem;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    overflow-wrap: anywhere;
    text-decoration: none;
    transform: none;
}

.frontend-featured__main > :is(.frontend-card--highlight, .module-card--highlight):not(.frontend-card--media-overlay)
    .frontend-card__link:hover,
.frontend-featured__secondary-item > :is(.frontend-card--highlight, .module-card--highlight):not(.frontend-card--media-overlay)
    .frontend-card__link:hover {
    border-color: rgba(36, 67, 49, .48);
    background: #eae3d5;
    color: #244331;
    transform: none;
}

/* Secondary: three photo-first cards per row at roomy container widths.
   Zone Discovery may already create several separate rows of three. */
.frontend-featured__secondary:has(> .frontend-featured__secondary-item > :is(
    .frontend-card--highlight, .module-card--highlight, .artisan-frontend-card--highlight
)) {
    display: grid;
    grid-auto-flow: row;
    grid-auto-columns: auto;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--featured-highlight-gap, 18px);
    min-width: 0;
}

.frontend-featured__secondary-item > :is(
    .frontend-card--highlight, .module-card--highlight, .artisan-frontend-card--highlight
) {
    min-width: 0;
    align-self: start;
    height: auto;
    border: 1px solid rgba(111, 88, 46, .12);
    border-radius: 12px;
    box-shadow: 0 5px 18px rgba(20, 31, 23, .05);
    transform: none;
}

.frontend-featured__secondary-item > :is(
    .frontend-card--highlight, .module-card--highlight, .artisan-frontend-card--highlight
):hover {
    transform: none;
    box-shadow: 0 7px 20px rgba(20, 31, 23, .07);
}

.frontend-featured__secondary-item > :is(
    .frontend-card--highlight, .module-card--highlight, .artisan-frontend-card--highlight
) .frontend-card__media {
    min-height: 0;
    aspect-ratio: 4 / 3;
}

.frontend-featured__secondary-item > :is(
    .frontend-card--highlight, .module-card--highlight, .artisan-frontend-card--highlight
) :is(.frontend-card__body, .frontend-card__content) {
    min-width: 0;
}

.frontend-featured__secondary-item > :is(.frontend-card--highlight, .module-card--highlight):not(.frontend-card--media-overlay)
    .frontend-card__body {
    padding: 16px 18px 18px;
}

.frontend-featured__secondary-item > :is(
    .frontend-card--highlight, .module-card--highlight, .artisan-frontend-card--highlight
) .frontend-card__title {
    max-width: none;
    font-size: 1rem;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

/* Artisan Secondary retains its photographic overlay and single link. */

/* Container-responsive, including narrow Composition columns on desktop. */
@container (max-width: 760px) {
    .frontend-featured__main > :is(
        .frontend-card--highlight, .module-card--highlight, .artisan-frontend-card--highlight
    ) {
        grid-template-columns: minmax(0, 1fr);
        min-height: 0;
    }

    .frontend-featured__main > :is(.frontend-card--highlight, .module-card--highlight):not(.frontend-card--media-overlay)
        > .frontend-card__media {
        height: auto;
        aspect-ratio: 16 / 10;
    }

    .frontend-featured__main > :is(.frontend-card--highlight, .module-card--highlight):not(.frontend-card--media-overlay)
        > .frontend-card__body {
        padding: clamp(20px, 4cqi, 28px);
    }

    .frontend-featured__main > :is(
        .frontend-card--highlight, .module-card--highlight, .artisan-frontend-card--highlight
    ) .frontend-card__title {
        font-size: clamp(1.45rem, 4cqi, 1.95rem);
    }
}

@container (max-width: 620px) {
    .frontend-featured__secondary:has(> .frontend-featured__secondary-item > :is(
        .frontend-card--highlight, .module-card--highlight, .artisan-frontend-card--highlight
    )) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@container (max-width: 420px) {
    .frontend-featured__secondary:has(> .frontend-featured__secondary-item > :is(
        .frontend-card--highlight, .module-card--highlight, .artisan-frontend-card--highlight
    )) {
        grid-template-columns: minmax(0, 1fr);
    }
}

.frontend-featured :is(.frontend-card--highlight, .module-card--highlight, .artisan-frontend-card--highlight)
    :is(.frontend-card__media-link, .frontend-card__title-link, .frontend-card__link, .module-card__media-link, .module-card__title-link, .module-card__link):focus-visible {
    outline: 3px solid var(--editorial-accent, #8e4a3a);
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    .frontend-featured :is(.frontend-card--highlight, .module-card--highlight, .artisan-frontend-card--highlight),
    .frontend-featured :is(.frontend-card--highlight, .module-card--highlight, .artisan-frontend-card--highlight) img {
        transition: none;
    }
}

/* =========================================================
   F2.51 — FEATURED V2 / DISCOVERY
   Shared layout for editorial pages and Frontend Modules.
   Main: panoramic photograph, editorial content below.
   Secondary: photographic cards; no source-specific selectors.
   ========================================================= */

.frontend-featured:has(> .frontend-featured__main > .frontend-card--discovery) {
    gap: 14px;
}

/* The existing full-card link remains intact; only its internal layout changes. */
.frontend-featured__main > .frontend-card--discovery {
    width: 100%;
    height: auto;
    aspect-ratio: auto;
    background: #fbf8f1;
    border: 1px solid rgba(111, 88, 46, .15);
    box-shadow: 0 8px 24px rgba(20, 31, 23, .06);
}

.frontend-featured__main > .frontend-card--discovery > .frontend-card__media-link,
.frontend-featured__main > .frontend-card--discovery .frontend-card__media {
    display: block;
    height: auto;
    min-height: 0;
    aspect-ratio: auto;
}

.frontend-featured__main > .frontend-card--discovery .frontend-card__media > img,
.frontend-featured__main > .frontend-card--discovery .frontend-card__media > .frontend-card__media-placeholder {
    display: block;
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 21 / 9;
    object-fit: cover;
}

.frontend-featured__main > .frontend-card--discovery .frontend-card__media::after,
.frontend-featured__main > .frontend-card--discovery .frontend-card__overlay {
    display: none;
}

.frontend-featured__main > .frontend-card--discovery .frontend-card__content {
    position: relative;
    inset: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-width: 0;
    padding: clamp(20px, 3cqi, 36px);
    background: #fbf8f1;
}

.frontend-featured__main > .frontend-card--discovery .frontend-card__title {
    max-width: none;
    color: #172019;
    font-family: var(--type-font-heading, "Source Serif 4", Georgia, serif);
    font-size: clamp(1.5rem, 2.8cqi, 2.2rem);
    text-shadow: none;
}

.frontend-featured__main > .frontend-card--discovery .frontend-card__count,
.frontend-featured__main > .frontend-card--discovery .frontend-card__excerpt {
    color: #596259;
    text-shadow: none;
}

.frontend-featured__main > .frontend-card--discovery .frontend-card__action {
    position: static;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-color: rgba(36, 67, 49, .25);
    background: #244331;
    color: #fff;
}

/* Secondary retains the photographic Discovery anatomy, at container width. */
.frontend-featured__secondary:has(> .frontend-featured__secondary-item > .frontend-card--discovery) {
    display: grid;
    grid-auto-flow: row;
    grid-auto-columns: auto;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.frontend-featured__secondary-item > .frontend-card--discovery {
    height: auto;
    aspect-ratio: 4 / 3;
    min-width: 0;
    align-self: start;
}

.frontend-featured__secondary-item > .frontend-card--discovery .frontend-card__media,
.frontend-featured__secondary-item > .frontend-card--discovery > .frontend-card__media-link {
    height: 100%;
    aspect-ratio: auto;
}

.frontend-featured__secondary-item > .frontend-card--discovery .frontend-card__count,
.frontend-featured__secondary-item > .frontend-card--discovery .frontend-card__excerpt {
    display: none;
}

@container (max-width: 620px) {
    .frontend-featured__secondary:has(> .frontend-featured__secondary-item > .frontend-card--discovery) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .frontend-featured__main > .frontend-card--discovery .frontend-card__media > img,
    .frontend-featured__main > .frontend-card--discovery .frontend-card__media > .frontend-card__media-placeholder {
        aspect-ratio: 16 / 9;
    }
}

@container (max-width: 420px) {
    .frontend-featured__secondary:has(> .frontend-featured__secondary-item > .frontend-card--discovery) {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* ---------------------------------------------------------------------------
   SOURCE: split-module.css | 08 · Split
   --------------------------------------------------------------------------- */

/* =========================================================
   MODULE SPLIT
========================================================= */

.frontend-split,
.split {
    display: grid;
    grid-template-columns: minmax(0, 1.38fr) minmax(430px, 1fr);
    gap: 18px;
    align-items: stretch;
}

/* Split with a single resolved item: expand Main across the full grid. */
.frontend-split__main:only-child,
.split__main:only-child {
    grid-column: 1 / -1;
}

.frontend-split__main,
.split__main,
.frontend-split__supporting,
.split__supporting,
.frontend-split__supporting-item,
.split__supporting-item {
    min-width: 0;
}

.frontend-split__supporting,
.split__supporting {
    display: grid;
    gap: 16px;
    align-content: start;
}

/* =========================================================
   SPLIT MAIN CARD
========================================================= */

:is(.frontend-card--split-main, .module-card--split-main) {
    position: relative;
    min-height: 560px;
    height: 100%;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.12);
}

:is(.frontend-card__split-main-media, .module-card__split-main-media) {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    min-height: 560px;
    overflow: hidden;
    color: #ffffff;
    text-decoration: none;
}

:is(.frontend-card__split-main-media, .module-card__split-main-media) img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

:is(.frontend-card__split-main-overlay, .module-card__split-main-overlay) {
    position: absolute;
    inset: 0;

    background: linear-gradient(
        180deg,
        rgba(2, 6, 23, 0.08) 0%,
        rgba(2, 6, 23, 0.30) 45%,
        rgba(2, 6, 23, 0.82) 100%
    );
}

:is(.frontend-card--split-main, .module-card--split-main) :is(.frontend-card__badge, .module-card__badge) {
    position: absolute;
    top: 22px;
    left: 22px;
    z-index: 3;
}

:is(.frontend-card--split-main, .module-card--split-main) :is(.frontend-card__image-source, .module-card__image-source) {
    position: absolute;
    right: 18px;
    bottom: 18px;
    z-index: 3;
}

:is(.frontend-card__split-main-content, .module-card__split-main-content) {
    position: absolute;
    left: 28px;
    right: 28px;
    bottom: 34px;
    z-index: 3;

    display: grid;
    gap: 14px;
}

:is(.frontend-card--split-main, .module-card--split-main) :is(.frontend-card__meta, .module-card__meta) {
    display: flex;
    margin: 0;
}

:is(.frontend-card--split-main, .module-card--split-main) :is(.frontend-card__meta, .module-card__meta) span {
    background: rgba(15, 23, 42, 0.72);
    color: #ffffff;
}

:is(.frontend-card--split-main, .module-card--split-main) :is(.frontend-card__title, .module-card__title) {
    margin: 0;

    color: #ffffff;

    font-size: 1.7rem;
    line-height: 1.18;
    font-weight: 800;
}

:is(.frontend-card--split-main, .module-card--split-main) :is(.frontend-card__excerpt, .module-card__excerpt) {
    max-width: 620px;

    margin: 0;

    color: rgba(255, 255, 255, 0.94);

    font-size: 1rem;
    line-height: 1.6;
}

:is(.frontend-card--split-main, .module-card--split-main) :is(.frontend-card__footer, .module-card__footer) {
    margin-top: 10px;
}

/* =========================================================
   SPLIT SECONDARY CARD
========================================================= */

:is(.frontend-card--split-secondary, .module-card--split-secondary) {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);

    align-items: start;

    min-height: 210px;

    overflow: hidden;

    background: #ffffff;

    border: 1px solid rgba(15, 23, 42, 0.07);

    border-radius: 18px;

    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.07);
}

:is(.frontend-card--split-secondary, .module-card--split-secondary) :is(.frontend-card__split-media, .module-card__split-media) {
    position: relative;

    display: block;

    width: calc(100% - 24px);
    height: 178px;

    margin-top: 16px;
    margin-left: 16px;

    overflow: hidden;

    border-radius: 14px;

    background: #eef2f7;
}

:is(.frontend-card--split-secondary, .module-card--split-secondary) :is(.frontend-card__split-media, .module-card__split-media) img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

:is(.frontend-card--split-secondary, .module-card--split-secondary) :is(.frontend-card__split-content, .module-card__split-content) {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;

    min-width: 0;

    padding: 24px 26px 22px;
}

:is(.frontend-card--split-secondary, .module-card--split-secondary) :is(.frontend-card__meta, .module-card__meta) {
    margin-bottom: 10px;
}

:is(.frontend-card--split-secondary, .module-card--split-secondary) :is(.frontend-card__title, .module-card__title) {
    margin: 0 0 10px;

    font-size: 1.16rem;
    line-height: 1.26;
    font-weight: 800;
}

:is(.frontend-card--split-secondary, .module-card--split-secondary) :is(.frontend-card__excerpt, .module-card__excerpt) {
    margin: 0 0 14px;

    color: rgba(15, 23, 42, 0.78);

    font-size: 0.95rem;
    line-height: 1.5;
}

:is(.frontend-card--split-secondary, .module-card--split-secondary) :is(.frontend-card__rating, .module-card__rating) {
    margin-bottom: 10px;
}

:is(.frontend-card--split-secondary, .module-card--split-secondary) :is(.frontend-card__footer, .module-card__footer) {
    margin-top: 10px;
}

:is(.frontend-card--split-secondary, .module-card--split-secondary) :is(.frontend-card__link, .module-card__link) {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: fit-content;

    padding: 11px 18px;

    background: #020b22;
    color: #006fd6;

    border-radius: 12px;

    font-weight: 800;

    text-decoration: none;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 992px) {
    .frontend-split,
    .split {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    :is(.frontend-card--split-main, .module-card--split-main),
    :is(.frontend-card__split-main-media, .module-card__split-main-media) {
        min-height: 420px;
    }
}

@media (max-width: 640px) {
    .frontend-split,
    .split {
        gap: 20px;
    }

    .frontend-split__supporting,
    .split__supporting {
        gap: 14px;
    }

    :is(.frontend-card--split-main, .module-card--split-main),
    :is(.frontend-card__split-main-media, .module-card__split-main-media) {
        min-height: 380px;
    }

    :is(.frontend-card__split-main-content, .module-card__split-main-content) {
        left: 18px;
        right: 18px;
        bottom: 24px;
    }

    :is(.frontend-card--split-main, .module-card--split-main) :is(.frontend-card__title, .module-card__title) {
        font-size: 1.35rem;
    }

    :is(.frontend-card--split-secondary, .module-card--split-secondary) {
        grid-template-columns: 120px minmax(0, 1fr);

        min-height: 142px;

        border-radius: 16px;
    }

    :is(.frontend-card--split-secondary, .module-card--split-secondary) :is(.frontend-card__split-media, .module-card__split-media) {
        width: calc(100% - 24px);

        height: 104px;

        margin-left: 12px;

        border-radius: 12px;
    }

    :is(.frontend-card--split-secondary, .module-card--split-secondary) :is(.frontend-card__split-content, .module-card__split-content) {
        padding: 14px 14px 14px 12px;
    }

    :is(.frontend-card--split-secondary, .module-card--split-secondary) :is(.frontend-card__meta, .module-card__meta) {
        margin-bottom: 6px;
    }

    :is(.frontend-card--split-secondary, .module-card--split-secondary) :is(.frontend-card__title, .module-card__title) {
        margin-bottom: 6px;

        font-size: 1rem;
        line-height: 1.22;
    }

    :is(.frontend-card--split-secondary, .module-card--split-secondary) :is(.frontend-card__excerpt, .module-card__excerpt) {
        display: none;
    }

    :is(.frontend-card--split-secondary, .module-card--split-secondary) :is(.frontend-card__footer, .module-card__footer) {
        margin-top: 6px;
    }
}

/* =========================================================
   B7.6.39 — SPLIT V2: EDITORIAL ANATOMY + FOUR PRESENTATIONS
   Scoped to .module--split. Legacy consumers stay untouched.
   The heading uses the existing Typography V2 semantic tokens.
========================================================= */

.module--split .module__container {
    container-type: inline-size;
}

/* Do not inherit the generic multi-column section-heading arrangement. */
.frontend-module.module--split .module__container > .module__header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 10px;
    width: 100%;
    max-width: 820px;
    margin: 0 0 26px;
    text-align: left;
}

.frontend-module.module--split .module__header > * {
    flex: 0 1 auto;
    width: auto;
    min-width: 0;
    max-width: 100%;
    margin: 0;
    grid-column: 1 / -1;
}

.module--split .module__header .module__eyebrow {
    color: #64748b;
}

.module--split .module__header .module__subtitle {
    color: #64748b;
}

.module--split .module__header .module__description {
    max-width: 72ch;
    color: #475569;
}

/* Text and module-level CTA are siblings AFTER the .split grid. */
.module--split .module__container > .module__content {
    max-width: 78ch;
    margin: 22px 0 0;
    color: #475569;
    font-size: var(--type-body-size, 1rem);
    line-height: var(--type-body-line-height, 1.7);
    overflow-wrap: anywhere;
}

.module--split .module__container > .module__actions {
    display: flex;
    justify-content: flex-start;
    gap: 12px;
    margin-top: 18px;
}

.module--split .module__actions .module__button {
    padding: 12px 22px;
    border: 1px solid #0f172a;
    border-radius: 12px;
    background: #0f172a;
    color: #ffffff;
    transition: background-color 0.18s ease, border-color 0.18s ease;
}

.module--split .module__actions .module__button:hover {
    border-color: #1d4ed8;
    background: #1d4ed8;
}

/* =========================================================
   B7.6.42 — SPLIT DEFAULT ("Implicit")
   One canonical variant block: editorial, card actions and narrow slots.
   Do not change Compact / Highlight / Discovery or other modules.
========================================================= */

.frontend-module.module--split.module--default .module__container > .module__header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 9px;
    width: 100%;
    max-width: 850px;
    margin: 0 0 28px;
    text-align: left;
}

.module--split.module--default .module__header .module__eyebrow {
    padding-left: 12px;
    border-left: 3px solid var(--color-primary, #a92923);
    color: #475569;
}

.module--split.module--default .module__header .module__title {
    color: #101827;
}

.module--split.module--default .module__header .module__subtitle {
    max-width: 66ch;
    color: #475569;
}

.module--split.module--default .module__header .module__description {
    max-width: 72ch;
    color: #475569;
}

.module--split.module--default .split {
    grid-template-columns: minmax(0, 1.38fr) minmax(0, 1fr);
    gap: 18px;
}

.module--split.module--default .split__supporting {
    gap: 16px;
}

/* Main photo is one link; its CTA is deliberately a visual span, not a
   nested anchor. Keep it with the title/description on the bottom-left. */
.module--split.module--default .module-card--split-main .module-card__split-main-content {
    gap: 10px;
    max-width: min(100% - 56px, 580px);
}

.module--split.module--default .module-card--split-main .module-card__footer {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    align-self: start;
    width: auto;
    margin: 9px 0 0;
    padding: 0;
}

.module--split.module--default .module-card--split-main .module-card__link {
    display: inline-flex;
    box-sizing: border-box;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: auto;
    min-width: 0;
    height: auto;
    min-height: 42px;
    padding: 10px 16px;
    border: 1px solid rgba(255, 255, 255, 0.9);
    border-radius: 10px;
    background: #ffffff;
    color: #17212f;
    font-family: var(--type-font-body, var(--frontend-design-font-body, "Manrope", Arial, sans-serif));
    font-size: var(--type-ui-button-size, 0.95rem);
    font-weight: var(--type-ui-button-weight, 700);
    line-height: 1.25;
    white-space: nowrap;
    text-decoration: none;
    transform: none;
}

.module--split.module--default .module-card--split-main .module-card__link::after {
    content: "→";
    font-size: 1.1em;
    line-height: 1;
}

.module--split.module--default .module-card--split-main .module-card__split-main-media:hover .module-card__link {
    background: #f0f4f8;
    color: #17212f;
}

/* Photo attribution is moved away from the CTA and editorial overlay. */
.module--split.module--default .module-card--split-main .module-card__image-source {
    top: 20px;
    right: 18px;
    bottom: auto;
    max-width: min(42%, 180px);
    text-align: right;
}

/* Secondary CTA: legible light action, aligned consistently below copy. */
.module--split.module--default .module-card--split-secondary .module-card__split-content {
    min-width: 0;
}

.module--split.module--default .module-card--split-secondary .module-card__footer {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-top: auto;
    padding-top: 14px;
}

.module--split.module--default .module-card--split-secondary .module-card__link {
    display: inline-flex;
    box-sizing: border-box;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: auto;
    max-width: 100%;
    height: auto;
    min-height: 40px;
    padding: 9px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #f8fafc;
    color: #17212f;
    font-family: var(--type-font-body, var(--frontend-design-font-body, "Manrope", Arial, sans-serif));
    font-size: var(--type-ui-button-size, 0.95rem);
    font-weight: var(--type-ui-button-weight, 700);
    line-height: 1.2;
    white-space: nowrap;
    text-decoration: none;
    transform: none;
    transition: border-color 0.18s ease, background-color 0.18s ease;
}

.module--split.module--default .module-card--split-secondary .module-card__link::after {
    content: "→";
    color: var(--color-primary, #a92923);
    font-size: 1.1em;
    line-height: 1;
}

.module--split.module--default .module-card--split-secondary .module-card__link:hover {
    border-color: #94a3b8;
    background: #eaf0f5;
    color: #17212f;
}

.module--split.module--default .module-card--split-main .module-card__split-main-media:focus-visible,
.module--split.module--default .module-card--split-secondary :is(.module-card__link, .module-card__title-link, .module-card__split-media):focus-visible {
    outline: 3px solid var(--color-primary, #a92923);
    outline-offset: 3px;
}

.module--split.module--default .module__container > .module__content {
    max-width: 75ch;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #dfe5ec;
    color: #475569;
}

.module--split.module--default .module__container > .module__actions {
    justify-content: flex-start;
    margin-top: 18px;
}

/* At narrow Composition widths, stack the two card columns. */
@container (max-width: 1060px) {
    .module--split.module--default .split {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }
}

@container (max-width: 560px) {
    .frontend-module.module--split.module--default .module__container > .module__header {
        gap: 8px;
        margin-bottom: 20px;
    }

    .module--split.module--default .module-card--split-main .module-card__split-main-content {
        max-width: calc(100% - 36px);
        gap: 8px;
    }

    .module--split.module--default .module-card--split-main .module-card__link {
        min-height: 40px;
        padding: 9px 13px;
    }

    .module--split.module--default .module-card--split-secondary .module-card__link {
        gap: 7px;
        min-height: 38px;
        padding: 8px 10px;
        font-size: 0.85rem;
    }

    .module--split.module--default .module__container > .module__content {
        margin-top: 20px;
        padding-top: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .module--split.module--default .module-card__link {
        transition: none;
    }
}

/* COMPACT — denser header, shorter feature and secondary cards. */
.frontend-module.module--split.module--compact .module__container > .module__header {
    max-width: 720px;
    gap: 6px;
    margin-bottom: 16px;
}

.module--split.module--compact .split {
    gap: 12px;
}

.module--split.module--compact .split__supporting {
    gap: 12px;
}

.module--split.module--compact :is(.module-card--split-main, .module-card__split-main-media) {
    min-height: 450px;
}

.module--split.module--compact .module-card--split-secondary {
    grid-template-columns: 180px minmax(0, 1fr);
    min-height: 170px;
}

.module--split.module--compact .module-card--split-secondary .module-card__split-media {
    height: 138px;
}

.module--split.module--compact .module-card--split-secondary .module-card__split-content {
    padding: 16px 18px;
}

.module--split.module--compact .module__container > .module__content {
    margin-top: 16px;
}

.module--split.module--compact .module__container > .module__actions {
    margin-top: 12px;
}

/* HIGHLIGHT — larger leading photo and greater editorial emphasis. */
.frontend-module.module--split.module--highlight .module__container > .module__header {
    gap: 12px;
    margin-bottom: 30px;
}

.module--split.module--highlight .module__header .module__eyebrow {
    color: #b42318;
}

.module--split.module--highlight .split {
    grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
    gap: 22px;
}

.module--split.module--highlight :is(.module-card--split-main, .module-card__split-main-media) {
    min-height: 620px;
}

.module--split.module--highlight .module__actions .module__button {
    border-color: #b42318;
    background: #b42318;
}

.module--split.module--highlight .module__actions .module__button:hover {
    border-color: #921d16;
    background: #921d16;
}

/* DISCOVERY — centered editorial introduction, airy content and open CTA. */
.frontend-module.module--split.module--discovery .module__container > .module__header {
    align-items: center;
    max-width: 860px;
    margin: 0 auto 34px;
    gap: 12px;
    text-align: center;
}

.module--split.module--discovery .module__header .module__eyebrow {
    color: #2563eb;
}

.module--split.module--discovery .split {
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
    gap: 24px;
}

.module--split.module--discovery .split__supporting {
    gap: 20px;
}

.module--split.module--discovery .module__container > .module__content {
    margin: 28px auto 0;
    text-align: center;
}

.module--split.module--discovery .module__container > .module__actions {
    justify-content: center;
    margin-top: 22px;
}

.module--split.module--discovery .module__actions .module__button {
    border-color: #1d4ed8;
    border-radius: 999px;
    background: transparent;
    color: #1d4ed8;
}

.module--split.module--discovery .module__actions .module__button:hover {
    background: #1d4ed8;
    color: #ffffff;
}

/* Composition-aware: respond to available column width, not only viewport. */
@container (max-width: 940px) {
    .module--split .split,
    .module--split.module--highlight .split,
    .module--split.module--discovery .split {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }

    .module--split.module--highlight :is(.module-card--split-main, .module-card__split-main-media) {
        min-height: 460px;
    }

    .module--split.module--compact :is(.module-card--split-main, .module-card__split-main-media) {
        min-height: 400px;
    }
}

@container (max-width: 560px) {
    .frontend-module.module--split .module__container > .module__header,
    .frontend-module.module--split.module--discovery .module__container > .module__header {
        align-items: flex-start;
        gap: 8px;
        margin: 0 0 20px;
        text-align: left;
    }

    .module--split.module--compact .module-card--split-secondary {
        grid-template-columns: 120px minmax(0, 1fr);
        min-height: 142px;
    }

    .module--split.module--compact .module-card--split-secondary .module-card__split-media {
        height: 104px;
    }

    .module--split.module--compact .module-card--split-secondary .module-card__split-content {
        padding: 14px 12px;
    }

    .module--split.module--compact :is(.module-card--split-main, .module-card__split-main-media) {
        min-height: 340px;
    }

    .module--split.module--highlight :is(.module-card--split-main, .module-card__split-main-media) {
        min-height: 390px;
    }

    .module--split.module--discovery .module__container > .module__content {
        margin-left: 0;
        margin-right: 0;
        text-align: left;
    }

    .module--split.module--discovery .module__container > .module__actions {
        justify-content: flex-start;
    }
}

@media (prefers-reduced-motion: reduce) {
    .module--split .module__actions .module__button {
        transition: none;
    }
}

/* ---------------------------------------------------------------------------
   SOURCE: banner-module.css | 09 · Banner
   --------------------------------------------------------------------------- */

.frontend-banner {
    position: relative;
    overflow: hidden;
    border-radius: 1.5rem;
    min-height: 420px;
    display: flex;
    align-items: center;
    isolation: isolate;
    background: #111827;
}

.frontend-banner--compact {
    min-height: 340px;
    border-radius: 1rem;
}

.frontend-banner--compact .frontend-banner__content {
    max-width: 620px;
    padding: 2.75rem 3rem;
}

.frontend-banner--compact .frontend-banner__title {
    font-size: clamp(1.65rem, 3vw, 2.5rem);
}

.frontend-banner--highlight {
    min-height: 480px;
    border-radius: 1.75rem;
    box-shadow: 0 28px 70px rgba(15, 23, 42, 0.28);
}

.frontend-banner--highlight .frontend-banner__content {
    max-width: 860px;
    padding: 4.5rem;
}

.frontend-banner--highlight .frontend-banner__title {
    font-size: clamp(2.25rem, 4.5vw, 4.25rem);
    letter-spacing: -0.045em;
}

.frontend-banner--height-slim {
    min-height: 320px;
}

.frontend-banner--height-normal {
    min-height: 420px;
}

.frontend-banner--height-large {
    min-height: 560px;
}

.frontend-banner__media {
    position: absolute;
    inset: 0;
    z-index: -3;

    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;

    transform: scale(1.02);
}

.frontend-banner__overlay {
    position: absolute;
    inset: 0;
    z-index: -2;

    background: rgba(
        0,
        0,
        0,
        var(--frontend-banner-overlay-opacity, 0.4)
    );
}

.frontend-banner__content {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 760px;

    padding: 4rem;
    color: #ffffff;
}

.frontend-banner--align-left .frontend-banner__content {
    margin-right: auto;
    text-align: left;
}

.frontend-banner--align-center .frontend-banner__content {
    margin-inline: auto;
    text-align: center;
}

.frontend-banner--align-right .frontend-banner__content {
    margin-left: auto;
    text-align: right;
}

.frontend-banner__title {
    /* Responsive font-size audit remains OPEN; preserve existing rules. */
    font-size: clamp(2rem, 4vw, 3.75rem);
}

.frontend-banner__subtitle {
    color: rgba(255, 255, 255, 0.92);
}

/* CTA base styles are shared (.module__button); Banner retains geometry and
   Primary/Secondary presentation in the Dual CTA rules below. */

@media (max-width: 991px) {

    .frontend-banner {
        min-height: 360px;
    }

    .frontend-banner__content {
        padding: 3rem 2rem;
    }

    .frontend-banner__title {
        font-size: clamp(1.75rem, 6vw, 3rem);
    }

}

@media (max-width: 767px) {

    .frontend-banner {
        min-height: 300px;
        border-radius: 1.25rem;
    }

    .frontend-banner__content {
        padding: 2rem 1.5rem;
    }

    .frontend-banner__subtitle {
        font-size: 1rem;
        line-height: 1.6;
    }

    .frontend-banner__button {
        width: 100%;
    }

}

/* Banner V2 — premium Dual CTA; no changes to Banner media or variants. */
.frontend-banner__copy {
    min-width: 0;
}

.frontend-banner__actions {
    max-width: 100%;
    margin-top: 2.25rem;
}

.frontend-banner__actions .frontend-banner__button {
    min-height: 52px;
    max-width: 100%;
    padding: 0.95rem 1.45rem;
    border: 1px solid transparent;
    border-radius: 16px;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    transition:
        background 0.24s ease,
        border-color 0.24s ease,
        box-shadow 0.24s ease,
        color 0.24s ease,
        transform 0.24s ease;
}

.frontend-banner__actions .frontend-banner__button--primary {
    border-color: rgba(255, 237, 193, 0.65);
    background: linear-gradient(135deg, #edc77c 0%, #d9a34c 100%);
    color: #172331;
    box-shadow:
        0 10px 26px rgba(9, 17, 29, 0.25),
        inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

.frontend-banner__actions .frontend-banner__button--primary::after {
    content: "→";
    display: inline-block;
    margin-left: 0.7em;
    font-size: 1.1em;
    line-height: 1;
    transition: transform 0.24s ease;
}

.frontend-banner__actions .frontend-banner__button--primary:hover {
    border-color: #f6d99d;
    background: linear-gradient(135deg, #f5d69b 0%, #e5b665 100%);
    color: #172331;
    box-shadow: 0 14px 32px rgba(9, 17, 29, 0.32);
    transform: translateY(-2px);
}

.frontend-banner__actions .frontend-banner__button--primary:hover::after {
    transform: translateX(3px);
}

.frontend-banner__actions .frontend-banner__button--secondary {
    border-color: rgba(237, 199, 124, 0.78);
    background: rgba(13, 27, 39, 0.52);
    color: #fffaf1;
    box-shadow: 0 10px 24px rgba(9, 17, 29, 0.16);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

.frontend-banner__actions .frontend-banner__button--secondary:hover {
    border-color: #f5d69b;
    background: rgba(13, 27, 39, 0.78);
    color: #ffffff;
    box-shadow: 0 14px 30px rgba(9, 17, 29, 0.28);
    transform: translateY(-2px);
}

.frontend-banner__actions .frontend-banner__button:focus-visible {
    outline: 3px solid #ffe3a8;
    outline-offset: 4px;
}

.frontend-banner--align-center .frontend-banner__actions {
    justify-content: center;
}

.frontend-banner--align-right .frontend-banner__actions {
    justify-content: flex-end;
}

/* The 'right' setting changes only desktop/tablet composition. */
@media (min-width: 768px) {
    .frontend-banner--cta-right .frontend-banner__content {
        display: flex;
        align-items: center;
        gap: clamp(1.5rem, 3vw, 3.5rem);
        max-width: none;
    }

    .frontend-banner--cta-right .frontend-banner__copy {
        flex: 1 1 0;
    }

    .frontend-banner--cta-right .frontend-banner__actions {
        flex: 0 1 38%;
        min-width: 0;
        max-width: 360px;
        margin: 0 0 0 auto;
        justify-content: flex-end;
    }
}

/* On mobile, both CTA variants always sit below the copy. */
@media (max-width: 767px) {
    .frontend-banner__actions {
        flex-direction: column;
        align-items: stretch;
        gap: 0.9rem;
        width: 100%;
    }

    .frontend-banner__actions .frontend-banner__button {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .frontend-banner__button {
        transition: none;
    }

    .frontend-banner__button:hover {
        transform: none;
    }

    .frontend-banner__actions .frontend-banner__button--primary:hover::after {
        transform: none;
    }

    .frontend-banner__actions .frontend-banner__button--primary::after {
        transition: none;
    }
}

/* ---------------------------------------------------------------------------
   B7.8.6 — IMAGE V2 | Imagine simplă
   Scoped to types/image.blade.php; no Banner or card selectors are changed.
   "contain" keeps the image's natural aspect ratio and never forces a height.
   "cover" is an explicit editorial choice and uses a fixed crop frame.
   --------------------------------------------------------------------------- */

.frontend-image {
    box-sizing: border-box;
    display: block;
    width: 100%;
    min-width: 0;
    margin: 0;
}

.frontend-image__media {
    position: relative;
    width: 100%;
    min-width: 0;
}

.frontend-image__img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

/* Image alignment controls the figure and smaller, intrinsic-size images. */
.frontend-image--align-left {
    margin-inline: 0 auto;
}

.frontend-image--align-center {
    margin-inline: auto;
}

.frontend-image--align-right {
    margin-inline: auto 0;
}

.frontend-image--align-left .frontend-image__img {
    margin-inline: 0 auto;
    object-position: left center;
}

.frontend-image--align-center .frontend-image__img {
    margin-inline: auto;
    object-position: center center;
}

.frontend-image--align-right .frontend-image__img {
    margin-inline: auto 0;
    object-position: right center;
}

/* Cover is a deliberate crop, never the default. */
.frontend-image--fit-cover .frontend-image__media {
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
}

.frontend-image--fit-cover .frontend-image__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
}

.frontend-image__caption {
    margin: 0.85rem 0 0;
    color: var(--color-text-muted, #667069);
    font-family: var(--type-font-body, var(--frontend-design-font-body, "Manrope", Arial, sans-serif));
    font-size: 0.9rem;
    font-weight: var(--type-body-weight, 400);
    line-height: var(--type-body-line-height, 1.6);
    overflow-wrap: anywhere;
}

.frontend-image--align-left .frontend-image__caption {
    text-align: left;
}

.frontend-image--align-center .frontend-image__caption {
    text-align: center;
}

.frontend-image--align-right .frontend-image__caption {
    text-align: right;
}

/* Four existing display variants; the chosen image fit remains independent. */
/* Default: unframed and faithful to the original image. */
.frontend-image--compact {
    max-width: 720px;
}

.frontend-image--compact .frontend-image__caption {
    margin-top: 0.65rem;
    font-size: 0.85rem;
}

/* Highlight: a restrained framed surface, without overlay or image zoom. */
.frontend-image--highlight {
    padding: clamp(10px, 1.4vw, 18px);
    border: 1px solid rgba(91, 84, 68, 0.14);
    border-radius: 18px;
    background: var(--frontend-image-highlight-surface, rgba(255, 255, 255, 0.68));
    box-shadow: 0 14px 34px rgba(22, 29, 27, 0.07);
}

.frontend-image--highlight .frontend-image__media {
    border-radius: 12px;
    overflow: hidden;
}

/* Discovery: quiet editorial matte, useful for maps and heritage artwork. */
.frontend-image--discovery {
    padding: clamp(12px, 1.75vw, 24px);
    border: 1px solid rgba(111, 88, 46, 0.14);
    border-radius: 18px;
    background: var(--frontend-image-discovery-surface, #fbf8f1);
}

.frontend-image--discovery .frontend-image__media {
    border-radius: 10px;
    overflow: hidden;
}

.frontend-image--discovery .frontend-image__caption {
    margin-top: 1rem;
}

/* ---------------------------------------------------------------------------
   SOURCE: content-module.css | 10 · Content
   Shared Typography B7.2 owns the typography and button focus for the
   Content consumer; this block retains only Content-specific presentation.
   --------------------------------------------------------------------------- */

.content-module {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.content-module__eyebrow {
    color: var(--color-primary, #355c45);
}

/* B9.20F — Composition controls title width; no fixed character measure. */
.content-module__title {
    max-width: none;
    color: var(--color-text, #1f2a24);
}

.content-module__body {
    margin-top: 1.25rem;
    max-width: 38rem;
    color: var(--color-text-muted, #667069);
}

.content-module__actions {
    margin-top: 1.75rem;
}

.content-module__button {
    padding: 0.75rem 1.25rem;
    border-radius: 999px;
    color: #fff;
    background: var(--color-primary, #355c45);
    transition:
        transform 160ms ease,
        opacity 160ms ease;
}

.content-module__button:hover {
    transform: translateY(-1px);
    opacity: 0.9;
}

@media (max-width: 767px) {
    .content-module__body {
        margin-top: 1rem;
    }

    .content-module__actions {
        margin-top: 1.5rem;
    }
}


/* ---------------------------------------------------------------------------
   SOURCE: carousel-module.css | 11 · Carousel
   --------------------------------------------------------------------------- */

/* =========================================================
   CAROUSEL MODULE
========================================================= */

.frontend-carousel {
    position: relative;
    --carousel-visible-items: 4;
    --carousel-gap: 14px;
}

.frontend-carousel__stage {
    position: relative;
    min-width: 0;
}

.frontend-carousel__viewport {
    width: 100%;
    min-width: 0;

    overflow-x: clip;
    overflow-y: visible;

    clip-path: inset(
        -24px
        0
        -24px
        0
    );
}

.frontend-carousel__track {
    display: flex;
    gap: var(--carousel-gap);
    overflow: visible;
    padding-bottom: 6px;
    cursor: grab;
    user-select: none;
    touch-action: pan-y;
    will-change: transform;
}

.frontend-carousel__track.is-dragging {
    cursor: grabbing;
}

.frontend-carousel__track.is-dragging * {
    pointer-events: none;
}

.frontend-carousel__item {
    flex: 0 0 calc(
        (
            100% - (
                (var(--carousel-visible-items) - 1) * var(--carousel-gap)
            )
        ) / var(--carousel-visible-items)
    );
    min-width: 0;
    user-select: none;
}

.frontend-carousel__item * {
    user-select: none;
}

/* =========================================================
   CAROUSEL CONTROLS
========================================================= */

.frontend-carousel__controls {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-bottom: 24px;
}

/* ---------------------------------------------------------
   Navigation position
--------------------------------------------------------- */

.frontend-carousel.frontend-carousel--nav-center
.frontend-carousel__stage
> .frontend-carousel__controls {
    position: absolute;
    top: 50%;
    left: 14px;
    right: 14px;
    z-index: 5;

    display: flex;
    justify-content: space-between;

    margin: 0;

    transform: translateY(-50%);

    pointer-events: none;
}

.frontend-carousel.frontend-carousel--nav-center
.frontend-carousel__stage
> .frontend-carousel__controls
.frontend-carousel__button {
    pointer-events: auto;
}

/* ---------------------------------------------------------
   Navigation visibility
--------------------------------------------------------- */

.frontend-carousel--nav-hover
.frontend-carousel__controls {
    opacity: 0;
    visibility: hidden;

    transition:
        opacity 0.2s ease,
        visibility 0.2s ease;
}

.frontend-carousel--nav-hover:hover
.frontend-carousel__controls,
.frontend-carousel--nav-hover:focus-within
.frontend-carousel__controls {
    opacity: 1;
    visibility: visible;
}

.frontend-carousel__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.82);
    color: #ffffff;
    font-size: 1.125rem;
    font-weight: 800;
    cursor: pointer;
    box-shadow:
        0 10px 24px rgba(15, 23, 42, 0.28),
        0 2px 8px rgba(15, 23, 42, 0.18);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    transition:
        background 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease,
        opacity 0.2s ease,
        box-shadow 0.2s ease;
}

.frontend-carousel__button[hidden] {
    display: none !important;
}

.frontend-carousel__button:hover {
    background: #ffffff;
    color: #0f172a;
    border-color: #ffffff;
    transform: scale(1.04);
    box-shadow:
        0 14px 30px rgba(15, 23, 42, 0.24),
        0 4px 10px rgba(15, 23, 42, 0.16);
}

.frontend-carousel__button:disabled {
    opacity: 0.45;
    cursor: default;
    transform: none;
}

/* =========================================================
   CAROUSEL DOTS
========================================================= */

.frontend-carousel__dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-top: 26px;
}

.frontend-carousel__dot {
    width: 10px;
    height: 10px;
    border: none;
    border-radius: 999px;
    background: #cbd5e1;
    cursor: pointer;
    transition:
        transform 0.2s ease,
        background 0.2s ease;
}

.frontend-carousel__dot:hover {
    transform: scale(1.12);
}

.frontend-carousel__dot.is-active {
    background: #2563eb;
    transform: scale(1.2);
}

/* ===========================================================================
   VISIT MARAMURES D4 - ARTISAN CAROUSEL / FOUR DISPLAY VARIANTS
   Scoped exclusively to the Carousel consumer of Artisan cards (D3).
   Featured/Highlight, other module sources and Grid #6 remain unchanged.
   =========================================================================== */

/* Shared Artisan card safeguards for narrower Carousel columns. */
.frontend-module--carousel .artisan-frontend-card {
    min-width: 0;
}

.frontend-module--carousel .artisan-frontend-card :is(.frontend-card__media, .module-card__media) > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.frontend-module--carousel .artisan-frontend-card :is(.frontend-card__title, .module-card__title),
.frontend-module--carousel .artisan-frontend-card :is(.frontend-card__excerpt, .module-card__excerpt) {
    overflow-wrap: anywhere;
}

.frontend-module--carousel .artisan-frontend-card :is(.frontend-card__media-link, .module-card__media-link):focus-visible,
.frontend-module--carousel .artisan-frontend-card :is(.frontend-card__title-link, .module-card__title-link):focus-visible,
.frontend-module--carousel .artisan-frontend-card :is(.frontend-card__link, .module-card__link):focus-visible {
    outline: 3px solid #e8bd67;
    outline-offset: -3px;
}

/* DEFAULT - editorial information lives below the photo. */
.frontend-module--carousel .artisan-frontend-card--default :is(.frontend-card__media, .module-card__media) {
    aspect-ratio: 16 / 10;
}

.frontend-module--carousel .artisan-frontend-card--default :is(.frontend-card__body, .module-card__body) {
    gap: 0;
    min-width: 0;
}

.frontend-module--carousel .artisan-frontend-card--default :is(.frontend-card__meta, .module-card__meta) span,
.frontend-module--carousel .artisan-frontend-card--compact :is(.frontend-card__meta, .module-card__meta) span {
    max-width: 100%;
    white-space: normal;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

/* COMPACT - a denser variation, never a photographic overlay. */
.frontend-module--carousel .artisan-frontend-card--compact :is(.frontend-card__media, .module-card__media) {
    aspect-ratio: 16 / 9;
}

.frontend-module--carousel .artisan-frontend-card--compact :is(.frontend-card__meta, .module-card__meta) {
    margin-bottom: 10px;
}

.frontend-module--carousel .artisan-frontend-card--compact :is(.frontend-card__meta, .module-card__meta) span {
    padding: 5px 8px;
    font-size: 0.72rem;
}

/* Photographic variants occupy a known height so absolute overlays fit. */
.frontend-module--carousel .artisan-frontend-card--highlight,
.frontend-module--carousel .artisan-frontend-card--discovery {
    width: 100%;
    height: auto;
    min-height: 0;
    overflow: hidden;
}

.frontend-module--carousel .artisan-frontend-card--highlight :is(.frontend-card__media-link, .module-card__media-link),
.frontend-module--carousel .artisan-frontend-card--discovery :is(.frontend-card__media-link, .module-card__media-link),
.frontend-module--carousel .artisan-frontend-card--highlight :is(.frontend-card__media, .module-card__media),
.frontend-module--carousel .artisan-frontend-card--discovery :is(.frontend-card__media, .module-card__media) {
    display: block;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    aspect-ratio: auto;
}

.frontend-module--carousel .artisan-frontend-card--highlight :is(.frontend-card__media, .module-card__media) > img,
.frontend-module--carousel .artisan-frontend-card--discovery :is(.frontend-card__media, .module-card__media) > img {
    position: absolute;
    inset: 0;
}

/* HIGHLIGHT - distinctive editorial overlay, not Featured's split panel. */
.frontend-module--carousel .artisan-frontend-card--highlight {
    aspect-ratio: 4 / 5;
}

.frontend-module--carousel .artisan-frontend-card--highlight :is(.frontend-card__media, .module-card__media)::after {
    background: linear-gradient(
        180deg,
        rgba(10, 20, 17, 0.02) 16%,
        rgba(10, 20, 17, 0.34) 48%,
        rgba(10, 20, 17, 0.94) 100%
    );
}

.frontend-module--carousel .artisan-frontend-card--highlight :is(.frontend-card__content, .module-card__content) {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 10px;
    padding: 20px;
}

.frontend-module--carousel .artisan-frontend-card--highlight :is(.frontend-card__content-main, .module-card__content-main) {
    flex: 1 1 auto;
    min-width: 0;
}

.frontend-module--carousel .artisan-frontend-card--highlight .artisan-frontend-card__eyebrow {
    margin-bottom: 6px;
    color: #ffe0a1;
    font-size: 0.67rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.frontend-module--carousel .artisan-frontend-card--highlight :is(.frontend-card__title, .module-card__title) {
    max-width: 100%;
    margin: 0 0 7px;
    color: #ffffff;
    font-size: clamp(1.08rem, 1.45vw, 1.3rem);
    line-height: 1.17;
    text-shadow: 0 2px 13px rgba(0, 0, 0, 0.48);
}

.frontend-module--carousel .artisan-frontend-card--highlight .artisan-frontend-card__location {
    display: -webkit-box;
    overflow: hidden;
    margin-bottom: 7px;
    color: rgba(255, 255, 255, 0.87);
    font-size: 0.77rem;
    line-height: 1.4;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.frontend-module--carousel .artisan-frontend-card--highlight .artisan-frontend-card__description {
    display: -webkit-box;
    overflow: hidden;
    margin: 0;
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.81rem;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.frontend-module--carousel .artisan-frontend-card--highlight :is(.frontend-card__action, .module-card__action) {
    position: static;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    margin: 0;
    border-color: rgba(255, 255, 255, 0.46);
    background: rgba(255, 255, 255, 0.17);
    color: #ffffff;
}

/* DISCOVERY - photographic exploration: name + optional arrow only. */
.frontend-module--carousel .artisan-frontend-card--discovery {
    aspect-ratio: 3 / 4;
}

.frontend-module--carousel .artisan-frontend-card--discovery :is(.frontend-card__media, .module-card__media)::after {
    background: linear-gradient(
        180deg,
        rgba(9, 22, 19, 0.02) 30%,
        rgba(9, 22, 19, 0.28) 62%,
        rgba(9, 22, 19, 0.9) 100%
    );
}

.frontend-module--carousel .artisan-frontend-card--discovery :is(.frontend-card__content, .module-card__content) {
    display: block;
    padding: 18px;
}

.frontend-module--carousel .artisan-frontend-card--discovery :is(.frontend-card__content-main, .module-card__content-main) {
    min-width: 0;
    padding-right: 40px;
}

.frontend-module--carousel .artisan-frontend-card--discovery :is(.frontend-card__title, .module-card__title) {
    max-width: 100%;
    margin: 0;
    color: #ffffff;
    font-size: clamp(1.04rem, 1.4vw, 1.2rem);
    line-height: 1.17;
    text-shadow: 0 2px 13px rgba(0, 0, 0, 0.55);
}

.frontend-module--carousel .artisan-frontend-card--discovery :is(.frontend-card__action, .module-card__action) {
    right: 16px;
    bottom: 17px;
    width: 36px;
    height: 36px;
}

@media (max-width: 640px) {
    .frontend-module--carousel .artisan-frontend-card--highlight {
        aspect-ratio: 5 / 6;
    }

    .frontend-module--carousel .artisan-frontend-card--discovery {
        aspect-ratio: 4 / 5;
    }
}

@media (prefers-reduced-motion: reduce) {
    .frontend-module--carousel .artisan-frontend-card :is(.frontend-card__media, .module-card__media) img {
        transition: none;
    }

    .frontend-module--carousel .artisan-frontend-card:hover :is(.frontend-card__media, .module-card__media) img {
        transform: none;
    }
}
/* END VISIT MARAMURES D4 - ARTISAN CAROUSEL */


/* ===========================================================================
   B9.20A — MODULE HEADING H3 READINESS / EDITORIAL TYPE CONSISTENCY
   Additive compatibility stage before the shared renderer switches H2 -> H3.
   Keep the existing H2 rules during deployment. Cards and type-specific
   geometry are intentionally untouched.
   =========================================================================== */

/* Legacy collection heading (Carousel) when changed to H3. */
.frontend-module .section-heading > h3:not(.module__title) {
    margin: 0;
    color: var(--color-text, #111827);
    font-family: var(--type-font-heading, var(--frontend-design-font-heading, "Source Serif 4", Georgia, "Times New Roman", serif));
    font-size: var(--type-h3-desktop-size, 1.75rem);
    font-weight: var(--type-h3-weight, 700);
    line-height: var(--type-h3-line-height, 1.2);
    letter-spacing: var(--type-h3-letter-spacing, normal);
    overflow-wrap: break-word;
}

/* Shared editorial roles: identical typography, independent of module type. */
.frontend-module .section-heading > p:not([class]),
.frontend-module .module__header .module__subtitle {
    font-family: var(--type-font-body, var(--frontend-design-font-body, "Manrope", Arial, sans-serif));
    font-size: var(--type-subtitle-size, 1.125rem);
    font-weight: var(--type-subtitle-weight, var(--type-body-weight, 400));
    line-height: var(--type-subtitle-line-height, 1.7);
    letter-spacing: var(--type-body-letter-spacing, normal);
    color: var(--color-text-muted, #64748b);
    overflow-wrap: break-word;
}

.frontend-module .module__header .module__description {
    max-width: 72ch;
    font-family: var(--type-font-body, var(--frontend-design-font-body, "Manrope", Arial, sans-serif));
    font-size: var(--type-body-size, 1rem);
    font-weight: var(--type-body-weight, 400);
    line-height: var(--type-body-line-height, 1.7);
    letter-spacing: var(--type-body-letter-spacing, normal);
    overflow-wrap: break-word;
}

@media (min-width: 768px) and (max-width: 1199px) {
    .frontend-module .section-heading > h3:not(.module__title) {
        font-size: var(--type-h3-tablet-size, var(--type-h3-desktop-size, 1.75rem));
    }
}

@media (max-width: 767px) {
    .frontend-module .section-heading > h3:not(.module__title) {
        font-size: var(--type-h3-mobile-size, var(--type-h3-desktop-size, 1.75rem));
    }
}


/* ===========================================================================
   B9.20E.1 — SHARED EDITORIAL TYPOGRAPHY / HERITAGE SIGNATURE
   One visual eyebrow contract for module headers, Content and Page Editorial.
   Page Editorial retains semantic H2; only its visual scale follows H3.
   Content title width limit was removed in B9.20F after review.
   =========================================================================== */

/* B9.20G — independent heritage editorial accent, not menu active/hover.
   One inherited color authority for module, Content and Page Editorial eyebrows. */
:root {
    --editorial-accent: #8e4a3a;
    --editorial-eyebrow-color: var(--editorial-accent);
}

/* Scoped editorial eyebrow roles — never target Artisan/card eyebrows. */
.frontend-module .module__header > .module__eyebrow,
.content-module > .module__eyebrow.content-module__eyebrow,
.frontend-page-editorial--title-subtitle > .frontend-page-editorial__subtitle,
.zone-discovery .zone-discovery__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: fit-content;
    max-width: 100%;
    margin: 0 0 0.75rem;
    padding: 0;
    border: 0;
    color: var(--editorial-eyebrow-color);
    font-family: var(--type-font-body, var(--frontend-design-font-body, "Manrope", Arial, sans-serif));
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}

/* Stylized heritage rosette; SVG mask inherits the very same color token. */
.frontend-module .module__header > .module__eyebrow::before,
.content-module > .module__eyebrow.content-module__eyebrow::before,
.frontend-page-editorial--title-subtitle > .frontend-page-editorial__subtitle::before,
.zone-discovery .zone-discovery__eyebrow::before {
    content: "";
    display: block;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    background-color: currentColor;
    /* Optical correction: the rosette has more visible mass above its center. */
    transform: translateY(1px);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 1.5 14.9 7.1 20.5 10 14.9 12.9 12 18.5 9.1 12.9 3.5 10 9.1 7.1Z'/%3E%3Cpath fill='black' d='M12 5.5 13.6 9 17 10.5 13.6 12 12 15.5 10.4 12 7 10.5 10.4 9Z'/%3E%3Cpath fill='black' d='M12 20.1h.01V23H12zM1 10h2v.01H1zM21 10h2v.01h-2z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 1.5 14.9 7.1 20.5 10 14.9 12.9 12 18.5 9.1 12.9 3.5 10 9.1 7.1Z'/%3E%3Cpath fill='black' d='M12 5.5 13.6 9 17 10.5 13.6 12 12 15.5 10.4 12 7 10.5 10.4 9Z'/%3E%3Cpath fill='black' d='M12 20.1h.01V23H12zM1 10h2v.01H1zM21 10h2v.01h-2z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* The older Split variant-specific colors and left stripe must not win. */
.frontend-module.module--split .module__header > .module__eyebrow,
.frontend-module.module--split.module--default .module__header > .module__eyebrow,
.frontend-module.module--split.module--highlight .module__header > .module__eyebrow,
.frontend-module.module--split.module--discovery .module__header > .module__eyebrow {
    padding: 0;
    border: 0;
    color: var(--editorial-eyebrow-color);
}

/* Content module uses the same semantic H3 Typography V2 tokens, even when
   rendered outside a .frontend-modules collection wrapper. */
.content-module > h3.module__title {
    margin: 0;
    font-family: var(--type-font-heading, var(--frontend-design-font-heading, "Source Serif 4", Georgia, serif));
    font-size: var(--type-h3-desktop-size, 1.75rem);
    font-weight: var(--type-h3-weight, 700);
    line-height: var(--type-h3-line-height, 1.2);
    letter-spacing: var(--type-h3-letter-spacing, normal);
    overflow-wrap: break-word;
}

/* H2 semantics remain intact; H3 visual scale is intentional. */
.frontend-page-editorial--title-subtitle > h2.frontend-page-editorial__title {
    margin: 0;
    color: var(--color-text, #1f2a24);
    font-family: var(--type-font-heading, var(--frontend-design-font-heading, "Source Serif 4", Georgia, serif));
    font-size: var(--type-h3-desktop-size, 1.75rem);
    font-weight: var(--type-h3-weight, 700);
    line-height: var(--type-h3-line-height, 1.2);
    letter-spacing: var(--type-h3-letter-spacing, normal);
    overflow-wrap: break-word;
}

.frontend-page-editorial:is(.frontend-page-editorial--introduction, .frontend-page-editorial--content) > .frontend-page-editorial__body,
.content-module > .module__content.content-module__body {
    font-family: var(--type-font-body, var(--frontend-design-font-body, "Manrope", Arial, sans-serif));
    font-size: var(--type-body-size, 1rem);
    font-weight: var(--type-body-weight, 400);
    line-height: var(--type-body-line-height, 1.7);
    letter-spacing: var(--type-body-letter-spacing, normal);
    overflow-wrap: break-word;
}

@media (min-width: 768px) and (max-width: 1199px) {
    .content-module > h3.module__title,
    .frontend-page-editorial--title-subtitle > h2.frontend-page-editorial__title {
        font-size: var(--type-h3-tablet-size, var(--type-h3-desktop-size, 1.75rem));
    }
}

@media (max-width: 767px) {
    .content-module > h3.module__title,
    .frontend-page-editorial--title-subtitle > h2.frontend-page-editorial__title {
        font-size: var(--type-h3-mobile-size, var(--type-h3-desktop-size, 1.75rem));
    }
}

/* ===========================================================================
   B9.22B.3 — BANNER TYPOGRAPHY V2 / INTERNAL + EXTERNAL HEADINGS
   Both Banner headings use the same H3 settings; this styling is scoped to
   Banner and intentionally leaves media, overlays, variants and CTAs intact.
   Legacy clamp sizes remain above for compatibility pending future cleanup.
   =========================================================================== */

/* Placement heading: editorial-module-renderer (outside the photo). */
.frontend-module.module--banner > .module__header > h3.module__title,
/* Editorial Banner heading: shared/banner.blade.php (over the photo). */
.frontend-module.module--banner .frontend-banner h3.module__title {
    font-family: var(--type-font-heading, var(--frontend-design-font-heading, "Source Serif 4", Georgia, serif));
    font-size: var(--type-h3-desktop-size, 1.75rem);
    font-weight: var(--type-h3-weight, 700);
    line-height: var(--type-h3-line-height, 1.2);
    letter-spacing: var(--type-h3-letter-spacing, normal);
    overflow-wrap: break-word;
}

/* Subtitle role remains distinct from the Heritage eyebrow role. */
.frontend-module.module--banner > .module__header > .module__subtitle,
.frontend-module.module--banner .frontend-banner .module__subtitle {
    font-family: var(--type-font-body, var(--frontend-design-font-body, "Manrope", Arial, sans-serif));
    font-size: var(--type-subtitle-size, 1.125rem);
    font-weight: var(--type-subtitle-weight, var(--type-body-weight, 400));
    line-height: var(--type-subtitle-line-height, 1.7);
    letter-spacing: var(--type-body-letter-spacing, normal);
}

@media (min-width: 768px) and (max-width: 1199px) {
    .frontend-module.module--banner > .module__header > h3.module__title,
    .frontend-module.module--banner .frontend-banner h3.module__title {
        font-size: var(--type-h3-tablet-size, var(--type-h3-desktop-size, 1.75rem));
    }
}

@media (max-width: 767px) {
    .frontend-module.module--banner > .module__header > h3.module__title,
    .frontend-module.module--banner .frontend-banner h3.module__title {
        font-size: var(--type-h3-mobile-size, var(--type-h3-desktop-size, 1.75rem));
    }
}

/* Zone Discovery: shared card excerpt control from section settings. */
.zone-discovery__cards .frontend-card__excerpt {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--zone-card-excerpt-lines, 4);
    overflow: hidden;
}

/* Zone Discovery consumes the shared Module V2 card CTA anatomy. */
.zone-discovery__cards .frontend-card__footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-top: auto;
    padding-top: 14px;
}
.zone-discovery__cards .frontend-card__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    min-height: 36px;
    padding: 0;
    border-radius: 999px;
    background: #0f172a;
    color: #fff;
    font-size: 1.1rem;
    text-decoration: none;
}
.zone-discovery__cards .frontend-card__link:hover {
    background: #294936;
    color: #fff;
    transform: translateX(2px);
}

/* =========================================================
   F2.29 — FEATURED V2 / COMPACT — source-agnostic editorial polish
   Shared: Frontend Modules V2 + Zone Discovery.
   Applies only to Compact cards inside Featured Main/Secondary.
   ========================================================= */

.frontend-featured:has(> .frontend-featured__main > :is(
    .frontend-card--compact,
    .module-card--compact,
    .artisan-frontend-card--compact
)) {
    gap: 0;
    --featured-compact-gap: var(--carousel-gap, 14px);
}

/* Main: restrained horizontal editorial arrangement. */
.frontend-featured__main > :is(
    .frontend-card--compact,
    .module-card--compact,
    .artisan-frontend-card--compact
) {
    display: grid;
    grid-template-columns: minmax(0, 42%) minmax(0, 1fr);
    align-items: stretch;
    min-height: 0;
    border: 0;
    border-radius: 12px;
    box-shadow: none;
}

.frontend-featured__main > :is(
    .frontend-card--compact,
    .module-card--compact,
    .artisan-frontend-card--compact
) > :is(.frontend-card__media-link, .module-card__media-link, .frontend-card__media, .module-card__media) {
    height: 100%;
    min-width: 0;
    overflow: hidden;
}

.frontend-featured__main > :is(
    .frontend-card--compact,
    .module-card--compact,
    .artisan-frontend-card--compact
) :is(.frontend-card__media, .module-card__media) {
    width: 100%;
    height: 100%;
    min-height: 0;
    aspect-ratio: 4 / 3;
}

.frontend-featured__main > :is(
    .frontend-card--compact,
    .module-card--compact,
    .artisan-frontend-card--compact
) > :is(.frontend-card__body, .module-card__body, .frontend-card__content, .module-card__content) {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: clamp(20px, 3cqi, 32px);
}

.frontend-featured__main > :is(
    .frontend-card--compact,
    .module-card--compact,
    .artisan-frontend-card--compact
) :is(.frontend-card__title, .module-card__title) {
    margin-bottom: 10px;
    font-size: clamp(1.12rem, 1.9cqi, 1.45rem);
    line-height: 1.25;
}

.frontend-featured__main > :is(
    .frontend-card--compact,
    .module-card--compact,
    .artisan-frontend-card--compact
) :is(.frontend-card__excerpt, .module-card__excerpt, .artisan-frontend-card__description) {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: min(3, var(--zone-card-excerpt-lines, 3));
    overflow: hidden;
    margin-bottom: 0;
    line-height: 1.5;
}

/* Secondary: one compact strip, with a light separator. */
.frontend-featured__secondary:has(> .frontend-featured__secondary-item > :is(
    .frontend-card--compact,
    .module-card--compact,
    .artisan-frontend-card--compact
)) {
    display: grid;
    grid-auto-flow: row;
    grid-auto-columns: auto;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--featured-compact-gap, var(--carousel-gap, 14px));
    /* F2.32: same vertical spacing as the Secondary card gap. */
    margin-top: var(--featured-compact-gap, var(--carousel-gap, 14px));
    padding-top: 0;
    border-top: 0;
}

.frontend-featured__secondary-item > :is(
    .frontend-card--compact,
    .module-card--compact,
    .artisan-frontend-card--compact
) {
    display: flex;
    flex-direction: column;
    min-height: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    box-shadow: none;
}

.frontend-featured__secondary-item > :is(
    .frontend-card--compact,
    .module-card--compact,
    .artisan-frontend-card--compact
) :is(.frontend-card__media, .module-card__media) {
    width: 100%;
    min-height: 0;
    aspect-ratio: 16 / 7;
    border-radius: 7px;
}

.frontend-featured__secondary-item > :is(
    .frontend-card--compact,
    .module-card--compact,
    .artisan-frontend-card--compact
) :is(.frontend-card__body, .module-card__body, .frontend-card__content, .module-card__content) {
    min-width: 0;
    padding: 8px 0 0;
}

.frontend-featured__secondary-item > :is(
    .frontend-card--compact,
    .module-card--compact,
    .artisan-frontend-card--compact
) :is(.frontend-card__title, .module-card__title) {
    margin: 0;
    font-size: .9rem;
    font-weight: 700;
    line-height: 1.35;
}

.frontend-featured__secondary-item > :is(
    .frontend-card--compact,
    .module-card--compact,
    .artisan-frontend-card--compact
) :is(.frontend-card__excerpt, .module-card__excerpt, .artisan-frontend-card__description) {
    display: none;
}

/* Secondary links remain available on image and title; avoid an extra
   arrow-only row that artificially increases the card height. */
.frontend-featured__secondary-item > :is(
    .frontend-card--compact,
    .module-card--compact,
    .artisan-frontend-card--compact
) :is(.frontend-card__footer, .module-card__footer) {
    display: none;
}

/* Main action is more legible, while preserving localized labels supplied by Blade. */
.frontend-featured__main > :is(
    .frontend-card--compact,
    .module-card--compact,
    .artisan-frontend-card--compact
) :is(.frontend-card__footer, .module-card__footer) {
    margin-top: 16px;
}

/* Compact uses a restrained CTA instead of the large circular action. */
.frontend-featured :is(
    .frontend-card--compact,
    .module-card--compact,
    .artisan-frontend-card--compact
) :is(.frontend-card__footer, .module-card__footer) {
    margin-top: 8px;
    padding-top: 0;
    justify-content: flex-start;
}

.frontend-featured :is(
    .frontend-card--compact,
    .module-card--compact,
    .artisan-frontend-card--compact
) :is(.frontend-card__link, .module-card__link, .frontend-card__action, .module-card__action) {
    position: static;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    width: auto;
    height: auto;
    min-height: 0;
    padding: 2px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #17243b;
    font-size: .85rem;
}

/* Main CTA: shared across Featured content sources, never Carousel/Grid. */
.frontend-featured__main > :is(.frontend-card--compact, .module-card--compact, .artisan-frontend-card--compact)
:is(.frontend-card__link, .module-card__link) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 38px;
    padding: 9px 14px;
    border: 1px solid rgba(23, 36, 59, .22);
    border-radius: 9px;
    background: #f4f1e9;
    color: #17243b;
    font-size: .85rem;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    transition: background-color .18s ease, border-color .18s ease;
}

.frontend-featured__main > :is(.frontend-card--compact, .module-card--compact, .artisan-frontend-card--compact)
:is(.frontend-card__link, .module-card__link):hover {
    background: #eae3d5;
    border-color: rgba(23, 36, 59, .4);
    color: #17243b;
    transform: none;
}

/* Collapse by available Featured width, not the viewport. */
@container (max-width: 560px) {
    .frontend-featured__main > :is(
        .frontend-card--compact,
        .module-card--compact,
        .artisan-frontend-card--compact
    ) {
        grid-template-columns: minmax(0, 1fr);
    }

    .frontend-featured__main > :is(
        .frontend-card--compact,
        .module-card--compact,
        .artisan-frontend-card--compact
    ) :is(.frontend-card__media, .module-card__media) {
        height: auto;
        aspect-ratio: 16 / 9;
    }

    .frontend-featured__secondary:has(> .frontend-featured__secondary-item > :is(
        .frontend-card--compact,
        .module-card--compact,
        .artisan-frontend-card--compact
    )) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@container (max-width: 370px) {
    .frontend-featured__secondary:has(> .frontend-featured__secondary-item > :is(
        .frontend-card--compact,
        .module-card--compact,
        .artisan-frontend-card--compact
    )) {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Keep focus-visible contrast on Compact's actual navigable links. */
.frontend-featured :is(.frontend-card--compact, .module-card--compact, .artisan-frontend-card--compact)
:is(.frontend-card__media-link, .frontend-card__title-link, .frontend-card__link, .module-card__media-link, .module-card__title-link, .module-card__link):focus-visible {
    outline: 2px solid var(--editorial-accent, #8e4a3a);
    outline-offset: 3px;
}


/* F2.30 — Featured Compact: consistent editorial hierarchy across sources. */
.frontend-featured__secondary-item > :is(.frontend-card--compact, .module-card--compact, .artisan-frontend-card--compact) .frontend-card__meta {
    display: none;
}

/* The primary feature retains location; Compact does not use a pill. */
.frontend-featured__main > :is(.frontend-card--compact, .module-card--compact, .artisan-frontend-card--compact) .frontend-card__meta {
    margin: 0 0 12px;
    gap: 6px;
}
.frontend-featured__main > :is(.frontend-card--compact, .module-card--compact, .artisan-frontend-card--compact) .frontend-card__meta span {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #64748b;
    font-size: .8rem;
    font-weight: 500;
    line-height: 1.45;
}

/* Primary CTA has a textual label supplied by the card's Blade source. */
.frontend-featured__main > :is(.frontend-card--compact, .module-card--compact, .artisan-frontend-card--compact) .frontend-card__footer {
    margin-top: 15px;
    padding: 0;
}
.frontend-featured__main > :is(.frontend-card--compact, .module-card--compact, .artisan-frontend-card--compact) .frontend-card__link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 0;
    padding: 7px 0;
    border: none;
    border-bottom: 1px solid currentColor;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #203b2b;
    font-size: .86rem;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
}
.frontend-featured__main > :is(.frontend-card--compact, .module-card--compact, .artisan-frontend-card--compact) .frontend-card__link:hover {
    border-color: #8e4a3a;
    background: transparent;
    color: #8e4a3a;
    transform: none;
}
.frontend-featured__main > :is(.frontend-card--compact, .module-card--compact, .artisan-frontend-card--compact) .frontend-card__link:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
}
