.flocara-lifestyle-tabs {
    position: relative;
}

.flocara-lifestyle-tabs::before {
    position: absolute;
    z-index: 0;
    top: 0;
    bottom: 0;
    left: 0;
    box-sizing: border-box;
    width: calc(100% / var(--flocara-lifestyle-section-count, 2));
    border: 1px solid var(--mud-palette-primary);
    border-radius: 0.75rem;
    background: color-mix(in srgb, var(--mud-palette-primary) 5%, var(--mud-palette-surface));
    box-shadow: 0 5px 14px color-mix(in srgb, var(--mud-palette-primary) 14%, transparent);
    content: "";
    pointer-events: none;
    transform: translateX(calc(var(--flocara-lifestyle-section-index, 0) * 100%));
    transition: transform 360ms cubic-bezier(.2, .85, .25, 1), box-shadow 220ms ease;
}

.flocara-lifestyle-tab {
    position: relative;
    z-index: 1;
}

.flocara-lifestyle-tab-active {
    border: 0;
    background: transparent;
}

.flocara-lifestyle-map-event-preview {
    display: grid;
    gap: 0.85rem;
}

.flocara-lifestyle-map-event-preview-main {
    display: grid;
    grid-template-columns: 5.75rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    color: inherit;
    text-decoration: none;
}

.flocara-lifestyle-map-event-preview-media {
    display: block;
    width: 5.75rem;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 10px;
    background: var(--mud-palette-background-gray);
}

.flocara-lifestyle-map-event-preview-media .flocara-loading-image,
.flocara-lifestyle-map-event-preview-media img,
.flocara-lifestyle-map-event-preview-media .flocara-lifestyle-media-placeholder {
    width: 100%;
    height: 100%;
}

.flocara-lifestyle-map-event-preview-media img {
    object-fit: cover;
}

.flocara-lifestyle-map-event-preview-copy {
    display: grid;
    min-width: 0;
    gap: 0.2rem;
}

.flocara-lifestyle-map-event-preview-copy strong {
    overflow: hidden;
    font-size: 1rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.flocara-lifestyle-map-event-preview-copy > span:not(.flocara-badge) {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.3rem;
    overflow: hidden;
    color: var(--mud-palette-text-secondary);
    font-size: 0.76rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.flocara-lifestyle-map-event-preview-chevron {
    color: var(--mud-palette-primary);
}

.flocara-lifestyle-map-event-sheet .flocara-lifestyle-event-actions {
    margin-top: 0;
}

.flocara-lifestyle-map-event-sheet .flocara-lifestyle-action {
    min-height: 42px;
}

.flocara-lifestyle-map-club-preview {
    display: grid;
    gap: 0.9rem;
}

.flocara-lifestyle-map-club-preview-main {
    display: grid;
    grid-template-columns: 4.5rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    color: inherit;
    text-decoration: none;
}

.flocara-lifestyle-map-club-preview-logo {
    display: grid;
    width: 4.5rem;
    height: 4.5rem;
    overflow: hidden;
    place-items: center;
    border-radius: 50%;
    color: var(--mud-palette-primary);
    background: var(--mud-palette-background-gray);
    font-weight: 800;
}

.flocara-lifestyle-map-club-preview-logo .flocara-loading-image,
.flocara-lifestyle-map-club-preview-logo img {
    width: 100%;
    height: 100%;
}

.flocara-lifestyle-map-club-preview-logo img {
    object-fit: cover;
}

.flocara-lifestyle-map-club-preview-copy {
    display: grid;
    min-width: 0;
    gap: 0.2rem;
}

.flocara-lifestyle-map-club-preview-copy strong,
.flocara-lifestyle-map-club-preview-description {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.flocara-lifestyle-map-club-preview-copy > span:not(.flocara-lifestyle-map-club-preview-description) {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    color: var(--mud-palette-text-secondary);
    font-size: 0.78rem;
}

.flocara-lifestyle-map-club-preview-description {
    color: var(--mud-palette-text-secondary);
    font-size: 0.85rem;
}

.flocara-lifestyle-map-club-preview-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
}

.flocara-lifestyle-map-club-preview-actions > * {
    min-height: 42px;
}

.flocara-map-selection-options .mud-button-label {
    width: 100%;
}

.flocara-map-selection-options .mud-button-icon-end {
    margin-left: auto;
}

@media (max-width: 959.98px) {
    .flocara-map-selection-modal {
        border-radius: 22px 22px 0 0;
    }
}

@media (max-width: 959.98px) {
    .flocara-main-container:has(.flocara-lifestyle-overview-map) {
        padding-bottom: 0 !important;
    }

    .flocara-lifestyle-overview-map {
        height: calc(
            100dvh
            - var(--flocara-mobile-bottom-navigation-offset, 68px)
            - var(--flocara-safe-area-top, 0px)
            - 51px);
        padding: 0.75rem 1rem;
        overflow: hidden;
    }

    .flocara-lifestyle-overview-map > .flocara-pull-refresh,
    .flocara-lifestyle-overview-map > .flocara-pull-refresh > .flocara-pull-refresh-content {
        height: 100%;
        min-height: 0;
    }

    .flocara-lifestyle-overview-map > .flocara-pull-refresh > .flocara-pull-refresh-content {
        display: flex;
        flex-direction: column;
    }

    .flocara-lifestyle-overview-map .flocara-lifestyle-content {
        min-height: 0;
        flex: 1 1 auto;
        grid-template-rows: minmax(0, 1fr);
    }

    .flocara-lifestyle-overview-map .flocara-lifestyle-map-shell,
    .flocara-lifestyle-overview-map .flocara-lifestyle-map {
        height: 100%;
        min-height: 0;
    }
}

@media (max-width: 480px) {
    .flocara-lifestyle-overview-map {
        padding-right: 0.75rem;
        padding-left: 0.75rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .flocara-lifestyle-tabs::before {
        transition: none;
    }
}
