.flocara-lifestyle-club-logo,
.flocara-lifestyle-club-name {
    color: inherit;
    text-decoration: none;
}

.flocara-organizer-center-club-logo,
.flocara-organizer-center-club-logo-image {
    width: 100%;
    height: 100%;
}

.flocara-organizer-center-club-logo-image {
    object-fit: cover;
}

.flocara-lifestyle-organizer-attendance {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: 2.75rem;
    color: #176329;
    background: #e4f7e8;
    border-radius: 0.65rem;
    font-size: 0.82rem;
    font-weight: 700;
}

.flocara-club-editor-page,
.flocara-club-dashboard,
.flocara-club-profile {
    display: grid;
    gap: 1.25rem;
    width: min(100%, 960px);
    margin: 0 auto;
    padding: 0.5rem 1rem 2rem;
}

.flocara-club-editor-card {
    display: grid;
    gap: 1.25rem;
    padding: 1.25rem;
    border-radius: 16px;
}

.flocara-club-editor-logo-section {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
}

.flocara-club-editor-logo {
    display: grid;
    place-items: center;
    width: 112px;
    aspect-ratio: 1;
    overflow: hidden;
    color: var(--mud-palette-primary);
    background: var(--mud-palette-background-gray);
    border-radius: 50%;
}

.flocara-club-editor-logo img,
.flocara-club-editor-logo .flocara-loading-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.flocara-club-editor-logo .mud-icon-root {
    font-size: 3rem;
}

.flocara-club-editor-logo-section > div:last-child {
    display: grid;
    justify-items: start;
    gap: 0.5rem;
}

.flocara-club-editor-fields {
    display: grid;
    gap: 1rem;
}

.flocara-club-editor-location {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(180px, 0.45fr);
    gap: 0.75rem;
}

.flocara-club-dashboard-header,
.flocara-club-profile-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.flocara-club-dashboard-header h1,
.flocara-club-profile-header h1 {
    margin: 0;
    font-size: clamp(1.8rem, 5vw, 2.5rem);
    line-height: 1.1;
}

.flocara-club-dashboard-header p,
.flocara-club-profile-header p {
    margin: 0.25rem 0 0;
    color: var(--mud-palette-text-secondary);
}

.flocara-club-dashboard-logo,
.flocara-club-profile-logo {
    display: grid;
    place-items: center;
    width: 84px;
    height: 84px;
    flex: 0 0 84px;
    overflow: hidden;
    color: #fff;
    background: #171717;
    border-radius: 50%;
    font-size: 1.2rem;
    font-weight: 800;
}

.flocara-club-dashboard-logo img,
.flocara-club-dashboard-logo .flocara-loading-image,
.flocara-club-profile-logo img,
.flocara-club-profile-logo .flocara-loading-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.flocara-club-dashboard-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}

.flocara-club-dashboard-metric {
    display: grid;
    justify-items: center;
    gap: 0.35rem;
    min-width: 0;
    padding: 1rem 0.5rem;
    text-align: center;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 14px;
    color: inherit;
    background: var(--mud-palette-surface);
    font: inherit;
    text-decoration: none;
    cursor: pointer;
}

.flocara-club-dashboard-metric > .mud-icon-root {
    color: var(--mud-palette-primary);
    font-size: 2rem;
}

.flocara-club-dashboard-metric > span {
    min-height: 2.3em;
    font-size: 0.78rem;
}

.flocara-club-dashboard-metric > strong {
    font-size: 1.6rem;
}

.flocara-club-dashboard-metric:hover {
    border-color: color-mix(in srgb, var(--mud-palette-primary) 55%, var(--mud-palette-lines-default));
}

.flocara-club-dashboard-metric:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--mud-palette-primary) 30%, transparent);
    outline-offset: 2px;
}

.flocara-club-dashboard-panel,
.flocara-club-dashboard-activity,
.flocara-club-profile-panel {
    padding: 1rem;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 16px;
    background: var(--mud-palette-surface);
}

.flocara-club-dashboard-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.85rem;
}

.flocara-club-dashboard-section-heading h2,
.flocara-club-profile-panel h2 {
    margin: 0;
    font-size: 1.25rem;
}

.flocara-club-next-event {
    display: grid;
    grid-template-columns: minmax(180px, 0.8fr) minmax(0, 1.2fr);
    gap: 1rem;
}

.flocara-club-next-event-cover {
    display: grid;
    place-items: center;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    color: var(--mud-palette-text-secondary);
    background: var(--mud-palette-background-gray);
    border-radius: 12px;
}

.flocara-club-next-event-cover img,
.flocara-club-next-event-cover .flocara-loading-image {
    width: 100%;
    height: 100%;
}

.flocara-club-next-event-cover {
    background: var(--mud-palette-background-gray);
}

.flocara-club-next-event-cover .flocara-loading-image > img,
.flocara-club-next-event-cover > img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.flocara-club-next-event-copy {
    display: grid;
    align-content: center;
    gap: 0.45rem;
}

.flocara-club-next-event-copy h3 {
    margin: 0;
    font-size: 1.3rem;
}

.flocara-club-next-event-copy p {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    color: var(--mud-palette-text-secondary);
    font-size: 0.82rem;
}

.flocara-club-next-event-copy p .mud-icon-root {
    font-size: 1rem;
}

.flocara-club-next-event-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 1rem;
}

.flocara-club-dashboard-quick-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.flocara-club-dashboard-quick-actions > a {
    display: grid;
    place-items: center;
    align-content: center;
    gap: 0.45rem;
    min-height: 112px;
    padding: 0.75rem;
    color: var(--mud-palette-text-primary);
    background: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 14px;
    font: inherit;
    text-align: center;
    text-decoration: none;
}

.flocara-club-dashboard-quick-actions .mud-icon-root {
    color: var(--mud-palette-primary);
    font-size: 2rem;
}

.flocara-club-activity-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
    padding: 0.75rem 0;
    color: inherit;
    text-decoration: none;
    border-top: 1px solid var(--mud-palette-lines-default);
}

.flocara-club-activity-row > .mud-icon-root:first-child {
    padding: 0.55rem;
    color: #176329;
    background: #e4f7e8;
    border-radius: 50%;
    box-sizing: content-box;
}

.flocara-club-activity-row span {
    display: grid;
    gap: 0.15rem;
}

.flocara-club-activity-row small {
    color: var(--mud-palette-text-secondary);
}

.flocara-club-dashboard-empty {
    padding: 1rem;
    color: var(--mud-palette-text-secondary);
    text-align: center;
}

.flocara-club-invite-panel {
    display: grid;
    gap: 0.75rem;
}

.flocara-club-invite-panel h2,
.flocara-club-invite-panel p {
    margin: 0;
}

.flocara-club-invite-panel p {
    margin-top: 0.35rem;
    color: var(--mud-palette-text-secondary);
    font-size: 0.82rem;
}

.flocara-club-join-requests-modal {
    width: min(100%, 620px);
    max-height: min(80dvh, 760px);
    overflow-y: auto;
}

.flocara-club-join-request-list {
    display: grid;
    margin-top: 1rem;
}

.flocara-club-join-request-row {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
    padding: 0.75rem 0;
    border-top: 1px solid var(--mud-palette-lines-default);
}

.flocara-club-join-request-row > .flocara-loading-image,
.flocara-club-join-request-row > img {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border-radius: 50%;
}

.flocara-club-join-request-row > span {
    display: grid;
    gap: 0.15rem;
}

.flocara-club-join-request-row small {
    color: var(--mud-palette-text-secondary);
}

.flocara-club-join-request-row > div {
    display: flex;
    gap: 0.25rem;
}

.flocara-club-profile {
    width: min(100%, 860px);
}

.flocara-club-profile-header {
    justify-content: flex-start;
}

.flocara-club-profile-actions {
    display: flex;
    justify-content: flex-end;
}

.flocara-club-profile-panel > p {
    margin-bottom: 0;
    white-space: pre-line;
}

.flocara-club-profile-panel > p:last-child {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.flocara-club-contact-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 1.75rem;
}

.flocara-club-contact-row .mud-icon-root {
    flex: 0 0 auto;
}

.flocara-club-contact-row a {
    color: var(--mud-palette-primary);
    line-height: 1.35;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.flocara-club-event-list {
    display: grid;
    gap: 0.65rem;
    margin-top: 0.85rem;
}

.flocara-club-event-card {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
    padding: 0.65rem;
    color: inherit;
    text-decoration: none;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 12px;
}

.flocara-club-event-card > .flocara-loading-image,
.flocara-club-event-card > img {
    width: 120px;
    aspect-ratio: 16 / 9;
    border-radius: 8px;
    background: var(--mud-palette-background-gray);
}

.flocara-club-event-card > .flocara-loading-image > img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.flocara-club-event-card > img {
    object-fit: contain;
    object-position: center;
}

.flocara-club-event-card > span:nth-child(2) {
    display: grid;
    gap: 0.2rem;
}

.flocara-club-event-card small {
    color: var(--mud-palette-text-secondary);
}

@media (max-width: 700px) {
    .flocara-club-editor-page,
    .flocara-club-dashboard,
    .flocara-club-profile {
        padding: 0.25rem 0.75rem 1.5rem;
    }

    .flocara-club-editor-card {
        padding: 1rem;
    }

    .flocara-club-editor-logo-section {
        grid-template-columns: 88px minmax(0, 1fr);
    }

    .flocara-club-editor-logo {
        width: 88px;
    }

    .flocara-club-editor-location {
        grid-template-columns: 1fr;
    }

    .flocara-club-dashboard-logo,
    .flocara-club-profile-logo {
        width: 72px;
        height: 72px;
        flex-basis: 72px;
    }

    .flocara-club-dashboard-metrics,
    .flocara-club-dashboard-quick-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .flocara-club-next-event {
        grid-template-columns: minmax(120px, 0.85fr) minmax(0, 1.15fr);
        gap: 0.75rem;
    }

    .flocara-club-next-event-copy h3 {
        font-size: 1rem;
    }

    .flocara-club-next-event-copy p {
        font-size: 0.72rem;
    }

    .flocara-club-event-card {
        grid-template-columns: 88px minmax(0, 1fr);
    }

    .flocara-club-event-card > .flocara-loading-image,
    .flocara-club-event-card > img {
        width: 88px;
    }

    .flocara-club-event-card > .flocara-lifestyle-public-status {
        grid-column: 2;
        justify-self: start;
    }
}
.flocara-organizer-club-photo {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.flocara-organizer-club-photo-preview {
    display: grid;
    width: 7rem;
    aspect-ratio: 1;
    flex: 0 0 7rem;
    place-items: center;
    overflow: hidden;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 50%;
    color: var(--mud-palette-text-secondary);
    background: var(--mud-palette-background-gray);
}

.flocara-organizer-club-photo-preview .flocara-loading-image,
.flocara-organizer-club-photo-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 599.98px) {
    .flocara-organizer-club-photo {
        align-items: flex-start;
    }

    .flocara-organizer-club-photo-preview {
        width: 5.5rem;
        flex-basis: 5.5rem;
    }
}
