/* Targeted homepage details; keep the existing type and municipal palette. */
body.tsg-layout-home .tsg-showcase__heading p,
.tsg-elementor-page .tsg-showcase__heading p,
body.tsg-layout-home .tsg-showcase-card__meta p,
.tsg-elementor-page .tsg-showcase-card__meta p {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.tsg-layout-home .tsg-map360__place-dot,
.tsg-elementor-page .tsg-map360__place-dot {
    background: var(--place-accent, #3b1e7b) !important;
    border-color: var(--place-accent, #3b1e7b) !important;
    color: #fff !important;
}
body.tsg-layout-home .tsg-map360__legend i,
.tsg-elementor-page .tsg-map360__legend i {
    background: var(--legend, #3b1e7b) !important;
    border-color: var(--legend, #3b1e7b) !important;
    color: #fff !important;
}

/* The poster gets more space; the existing light overlap stays. */
.tsg-agenda-speciality__item[href] {
    text-decoration: none !important;
}
@media (min-width: 821px) {
    body .tsg-agenda-speciality__stage {
        display: grid !important;
        grid-template-columns: 44% minmax(0, 1fr) !important;
        align-items: center !important;
        height: auto !important;
    }
    body .tsg-agenda-speciality__feature {
        position: relative !important;
        inset: auto !important;
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        margin: 0 !important;
        aspect-ratio: 1 / 1 !important;
        align-self: center !important;
    }
    body .tsg-agenda-speciality__menu {
        position: relative !important;
        inset: auto !important;
        width: calc(100% + 28px) !important;
        max-width: none !important;
        margin-left: -28px !important;
        transform: none !important;
        align-self: center !important;
    }
}
@media (min-width: 821px) and (max-width: 1050px) {
    body .tsg-agenda-speciality__stage {
        grid-template-columns: 50% minmax(0, 1fr) !important;
    }
    body .tsg-agenda-speciality__menu {
        width: calc(100% + 18px) !important;
        margin-left: -18px !important;
    }
    body.tsg-site-shell .tsg-agenda-speciality__item {
        grid-template-columns: 64px minmax(0, 1fr) 38px !important;
        grid-template-areas: "thumb copy arrow" "thumb date arrow" !important;
        column-gap: 11px !important;
        row-gap: 6px !important;
    }
    body.tsg-site-shell .tsg-agenda-speciality__item-copy {
        padding-right: 0 !important;
    }
    body.tsg-site-shell .tsg-agenda-speciality__date {
        justify-self: start !important;
        min-height: 30px !important;
        padding: 6px 10px !important;
    }
}

/* Local waving mesh; the original image remains the static fallback. */
body.tsg-layout-home .tsg-service-card__art[data-tsg-service-wave],
.tsg-elementor-page .tsg-service-card__art[data-tsg-service-wave] {
    position: relative !important;
}
body.tsg-layout-home .tsg-service-card__art img[data-tsg-service-wave-native],
.tsg-elementor-page .tsg-service-card__art img[data-tsg-service-wave-native] {
    transform: none !important;
    animation: none !important;
}
.tsg-service-wave__canvas {
    position: absolute;
    z-index: 3;
    display: block;
    pointer-events: none;
    opacity: 0;
}
.has-service-wave .tsg-service-wave__canvas {
    opacity: 1;
}
.has-service-wave img[data-tsg-service-wave-native] {
    opacity: 0 !important;
}
@media (prefers-reduced-motion: reduce) {
    .has-service-wave img[data-tsg-service-wave-native] { opacity: 1 !important; }
    .has-service-wave .tsg-service-wave__canvas { opacity: 0 !important; }
}
