/* FISINGCLUB PATCH 30.0.5: COMMUNITY FOUNDATION */
.community305-page {
    --community305-ink: #102f3e;
    --community305-muted: #607987;
    --community305-line: #d6e5e9;
    --community305-soft: #f2f8f8;
    --community305-mint: #35c8bd;
    --community305-teal: #087e88;
    color: var(--community305-ink);
}

.community305-hero {
    background:
        radial-gradient(circle at 78% 18%, rgba(53, 200, 189, .22), transparent 28rem),
        linear-gradient(135deg, #effafb, #f8fcfb 52%, #e7f5f4);
    border-bottom: 1px solid var(--community305-line);
    padding: 4.8rem 0 4.3rem;
}

.community305-gallery-hero {
    background:
        radial-gradient(circle at 78% 16%, rgba(92, 197, 129, .2), transparent 28rem),
        linear-gradient(135deg, #effaf5, #fbfdfb 52%, #e9f7f1);
}

.community305-hero-inner,
.community305-member-buttons,
.community305-hero-actions,
.community305-filter,
.community305-summary,
.community305-view-footer,
.community305-view-footer > div,
.community305-member-meta,
.community305-member-actions,
.community305-form-actions,
.community305-admin-summary {
    display: flex;
    align-items: center;
}

.community305-hero-inner {
    justify-content: space-between;
    gap: 2rem;
}

.community305-hero h1 {
    color: var(--community305-ink);
    font-size: clamp(2.3rem, 5vw, 4.35rem);
    letter-spacing: -.06em;
    line-height: 1.03;
    margin: .8rem 0 1.1rem;
}

.community305-hero p {
    color: #4e6e7b;
    font-size: 1.08rem;
    line-height: 1.8;
    margin: 0;
}

.community305-hero span,
.community305-gallery-body > span,
.community305-view-labels span,
.community305-board-labels span,
.community305-member-meta span:first-child,
.community305-admin-post > span {
    color: var(--community305-teal);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.community305-hero-actions,
.community305-member-buttons {
    flex-wrap: wrap;
    gap: .7rem;
}

.community305-page .button-secondary {
    background: #fff;
    border: 1px solid #c8dce1;
    color: #315865;
}

.community305-page .button-secondary:hover {
    background: #eef7f7;
    border-color: #9fc8ce;
}

.community305-section,
.community305-view-section {
    padding: 3.2rem 0 5rem;
}

.community305-filter {
    background: #fff;
    border: 1px solid var(--community305-line);
    border-radius: 1.15rem;
    box-shadow: 0 1rem 3rem rgba(26, 81, 91, .06);
    gap: .8rem;
    padding: 1rem;
}

.community305-filter label,
.community305-form > label,
.community305-admin-filter label {
    display: grid;
    gap: .42rem;
}

.community305-filter label > span,
.community305-form > label > span,
.community305-admin-filter label > span {
    color: var(--community305-muted);
    font-size: .76rem;
    font-weight: 800;
}

.community305-filter-search {
    flex: 1 1 20rem;
}

.community305-filter select,
.community305-filter input,
.community305-form select,
.community305-form input[type="text"],
.community305-form textarea,
.community305-upload input,
.community305-admin-filter select,
.community305-admin-filter input,
.community305-admin-action select,
.community305-admin-action input {
    background: #fff;
    border: 1px solid #c8dce1;
    border-radius: .7rem;
    color: var(--community305-ink);
    font: inherit;
    min-height: 2.85rem;
    padding: .65rem .8rem;
}

.community305-filter input {
    min-width: min(28rem, 55vw);
}

.community305-filter-reset {
    color: var(--community305-muted);
    font-size: .88rem;
    font-weight: 700;
    padding: .8rem .35rem;
}

.community305-summary,
.community305-admin-summary {
    justify-content: space-between;
    margin: 2rem 0 1rem;
}

.community305-summary strong {
    font-size: 1.05rem;
}

.community305-summary span,
.community305-admin-summary span {
    color: var(--community305-muted);
    font-size: .84rem;
}

.community305-empty {
    background: var(--community305-soft);
    border: 1px dashed #b6d2d8;
    border-radius: 1.2rem;
    padding: 4rem 1.5rem;
    text-align: center;
}

.community305-empty strong {
    display: block;
    font-size: 1.25rem;
}

.community305-empty p {
    color: var(--community305-muted);
}

.community305-empty a {
    color: var(--community305-teal);
    font-weight: 800;
}

.community305-board-list {
    background: #fff;
    border: 1px solid var(--community305-line);
    border-radius: 1.1rem;
    overflow: hidden;
}

.community305-board-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.5rem;
    padding: 1.35rem 1.5rem;
}

.community305-board-row + .community305-board-row {
    border-top: 1px solid #e4edef;
}

.community305-board-row.is-notice {
    background: #effafa;
}

.community305-board-labels,
.community305-view-labels {
    align-items: center;
    display: flex;
    gap: .45rem;
}

.community305-board-labels .community305-notice,
.community305-view-labels .community305-notice {
    background: #e53f56;
    border-radius: 999px;
    color: #fff;
    font-size: .68rem;
    letter-spacing: 0;
    padding: .24rem .5rem;
}

.community305-board-main h2 {
    font-size: 1.12rem;
    letter-spacing: -.025em;
    margin: .45rem 0 .4rem;
}

.community305-board-main h2 a {
    color: var(--community305-ink);
}

.community305-board-main h2 em {
    color: #e53f56;
    font-size: .8rem;
    font-style: normal;
}

.community305-board-main p {
    color: var(--community305-muted);
    font-size: .88rem;
    margin: 0;
}

.community305-board-stats {
    align-items: center;
    display: grid;
    gap: .32rem .9rem;
    grid-template-columns: repeat(3, auto);
    margin: 0;
    min-width: 15rem;
}

.community305-board-stats div {
    display: flex;
    gap: .35rem;
}

.community305-board-stats dt {
    color: #8299a2;
    font-size: .75rem;
}

.community305-board-stats dd {
    color: #3f5d68;
    font-size: .78rem;
    font-weight: 700;
    margin: 0;
}

.community305-gallery-grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.community305-gallery-card {
    background: #fff;
    border: 1px solid var(--community305-line);
    border-radius: 1rem;
    min-width: 0;
    overflow: hidden;
    transition: transform .2s ease, box-shadow .2s ease;
}

.community305-gallery-card:hover {
    box-shadow: 0 1rem 2.5rem rgba(25, 83, 91, .12);
    transform: translateY(-3px);
}

.community305-gallery-image {
    aspect-ratio: 1 / 1;
    background: #eaf2f3;
    display: block;
    overflow: hidden;
    position: relative;
}

.community305-gallery-image img {
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
    width: 100%;
}

.community305-gallery-card:hover .community305-gallery-image img {
    transform: scale(1.035);
}

.community305-gallery-image span {
    background: rgba(9, 34, 44, .82);
    border-radius: 999px;
    bottom: .7rem;
    color: #fff;
    font-size: .72rem;
    font-weight: 800;
    padding: .3rem .52rem;
    position: absolute;
    right: .7rem;
}

.community305-gallery-body {
    padding: 1rem;
}

.community305-gallery-body h2 {
    font-size: .98rem;
    line-height: 1.45;
    margin: .35rem 0 .8rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.community305-gallery-body h2 a {
    color: var(--community305-ink);
}

.community305-gallery-body div {
    display: grid;
    gap: .24rem;
}

.community305-gallery-body strong {
    font-size: .8rem;
}

.community305-gallery-body small {
    color: var(--community305-muted);
    font-size: .72rem;
}

.community305-pagination {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    justify-content: center;
    margin: 2.2rem 0 0;
}

.community305-pagination a {
    align-items: center;
    background: #fff;
    border: 1px solid var(--community305-line);
    border-radius: .58rem;
    color: #496672;
    display: inline-flex;
    font-size: .86rem;
    font-weight: 800;
    height: 2.45rem;
    justify-content: center;
    min-width: 2.45rem;
    padding: 0 .65rem;
}

.community305-pagination a.active {
    background: var(--community305-teal);
    border-color: var(--community305-teal);
    color: #fff;
}

.community305-view-container {
    max-width: 980px;
}

.community305-breadcrumb {
    color: var(--community305-muted);
    display: flex;
    font-size: .84rem;
    gap: .55rem;
    margin-bottom: 1rem;
}

.community305-breadcrumb a {
    color: var(--community305-teal);
    font-weight: 800;
}

.community305-view {
    background: #fff;
    border: 1px solid var(--community305-line);
    border-radius: 1.25rem;
    overflow: hidden;
}

.community305-view > header {
    border-bottom: 1px solid #e3edef;
    padding: 2.2rem 2.4rem 1.5rem;
}

.community305-view h1 {
    font-size: clamp(1.65rem, 4vw, 2.5rem);
    letter-spacing: -.045em;
    line-height: 1.25;
    margin: .65rem 0 1.1rem;
}

.community305-view dl {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem 1.2rem;
    margin: 0;
}

.community305-view dl div {
    display: flex;
    font-size: .8rem;
    gap: .35rem;
}

.community305-view dt {
    color: #81959e;
}

.community305-view dd {
    color: #49626d;
    font-weight: 700;
    margin: 0;
}

.community305-view-images {
    display: grid;
    gap: .8rem;
    padding: 2rem 2.4rem 0;
}

.community305-view-images img {
    border-radius: .85rem;
    height: auto;
    max-height: 75vh;
    object-fit: contain;
    width: 100%;
}

.community305-view-content {
    color: #244553;
    font-size: 1rem;
    line-height: 2;
    min-height: 14rem;
    overflow-wrap: anywhere;
    padding: 2.3rem 2.4rem 3rem;
}

.community305-view-footer {
    background: #f5f9fa;
    border-top: 1px solid #e1ebed;
    justify-content: space-between;
    padding: 1.2rem 2.4rem;
}

.community305-view-footer > div {
    gap: .55rem;
}

.community305-view-footer form,
.community305-member-actions form {
    margin: 0;
}

.community305-danger {
    background: #fff;
    border: 1px solid #ebafba;
    color: #bf2942;
}

.community305-next-phase {
    background: #edf8f8;
    border: 1px solid #cce4e5;
    border-radius: 1rem;
    margin-top: 1rem;
    padding: 1.15rem 1.3rem;
}

.community305-next-phase strong {
    display: block;
    font-size: .9rem;
}

.community305-next-phase p {
    color: var(--community305-muted);
    font-size: .82rem;
    margin: .35rem 0 0;
}

.community305-member-buttons {
    justify-content: flex-end;
}

.community305-member-list {
    display: grid;
    gap: .85rem;
}

.community305-member-list > article {
    align-items: center;
    background: #fff;
    border: 1px solid var(--community305-line);
    border-radius: 1rem;
    display: grid;
    gap: 1rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: 1rem;
}

.community305-member-list > article > img {
    border-radius: .7rem;
    height: 6.4rem;
    object-fit: cover;
    width: 6.4rem;
}

.community305-member-meta {
    flex-wrap: wrap;
    gap: .4rem;
}

.community305-member-meta span {
    color: #55707b;
    font-size: .74rem;
    font-weight: 700;
}

.community305-status {
    border-radius: 999px;
    padding: .2rem .5rem;
}

.community305-status.status-published {
    background: #e5f7ef;
    color: #17704d;
}

.community305-status.status-hidden {
    background: #fff3d8;
    color: #936000;
}

.community305-status.status-deleted {
    background: #f8e5e9;
    color: #ab2940;
}

.community305-member-main h2 {
    font-size: 1.05rem;
    margin: .38rem 0;
}

.community305-member-main > p,
.community305-member-main > small {
    color: var(--community305-muted);
    font-size: .8rem;
    margin: 0;
}

.community305-member-actions {
    flex-wrap: wrap;
    gap: .45rem;
    justify-content: flex-end;
}

.community305-member-actions a,
.community305-member-actions button {
    background: #fff;
    border: 1px solid #cadde1;
    border-radius: .55rem;
    color: #345866;
    cursor: pointer;
    font: inherit;
    font-size: .78rem;
    font-weight: 800;
    padding: .55rem .7rem;
}

.community305-member-actions button {
    border-color: #efbcc5;
    color: #b72840;
}

.community305-admin-note {
    background: #fff7e7;
    border-radius: .55rem;
    margin: .55rem 0;
    padding: .55rem .7rem;
}

.community305-admin-note strong,
.community305-admin-note p {
    font-size: .76rem;
    margin: 0;
}

.community305-form-container {
    max-width: 920px;
}

.community305-form {
    display: grid;
    gap: 1.3rem;
    padding: clamp(1.2rem, 4vw, 2.2rem);
}

.community305-form textarea {
    line-height: 1.75;
    min-height: 20rem;
    resize: vertical;
}

.community305-upload small,
.community305-current-images > p {
    color: var(--community305-muted);
    font-size: .78rem;
    margin: 0;
}

.community305-current-images {
    border: 1px solid var(--community305-line);
    border-radius: .85rem;
    margin: 0;
    padding: 1rem;
}

.community305-current-images legend {
    font-weight: 800;
}

.community305-current-images > div {
    display: grid;
    gap: .7rem;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-top: .8rem;
}

.community305-current-images label {
    display: grid;
    gap: .4rem;
}

.community305-current-images img {
    aspect-ratio: 1 / 1;
    border-radius: .6rem;
    object-fit: cover;
    width: 100%;
}

.community305-current-images label span {
    font-size: .78rem;
}

.community305-form-actions {
    gap: .7rem;
    justify-content: flex-end;
}

.community305-admin-filter form {
    align-items: end;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}

.community305-admin-search {
    flex: 1 1 18rem;
}

.community305-admin-search input {
    width: 100%;
}

.community305-admin-table td {
    min-width: 8rem;
    vertical-align: top;
}

.community305-admin-table td:first-child {
    min-width: 20rem;
}

.community305-admin-post {
    display: grid;
    gap: .28rem;
}

.community305-admin-post > strong {
    font-size: .95rem;
}

.community305-admin-post > small,
.community305-admin-table td > small,
.community305-admin-table td > strong + small {
    color: #6e838c;
    display: block;
    font-size: .75rem;
}

.community305-admin-post > a {
    color: #087e88;
    font-size: .76rem;
    font-weight: 800;
}

.community305-admin-action {
    display: grid;
    gap: .5rem;
    min-width: 18rem;
}

@media (max-width: 1080px) {
    .community305-gallery-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .community305-hero {
        padding: 3.3rem 0;
    }

    .community305-hero-inner {
        align-items: flex-start;
        flex-direction: column;
    }

    .community305-filter {
        align-items: stretch;
        flex-direction: column;
    }

    .community305-filter input {
        min-width: 0;
        width: 100%;
    }

    .community305-board-row {
        grid-template-columns: 1fr;
    }

    .community305-board-stats {
        border-top: 1px solid #edf2f3;
        grid-template-columns: repeat(3, 1fr);
        min-width: 0;
        padding-top: .75rem;
    }

    .community305-gallery-grid {
        gap: .7rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .community305-gallery-body {
        padding: .75rem;
    }

    .community305-view > header,
    .community305-view-images,
    .community305-view-content,
    .community305-view-footer {
        padding-left: 1.15rem;
        padding-right: 1.15rem;
    }

    .community305-view-footer {
        align-items: stretch;
        flex-direction: column;
        gap: .8rem;
    }

    .community305-member-list > article {
        align-items: start;
        grid-template-columns: auto minmax(0, 1fr);
    }

    .community305-member-list > article > img {
        height: 4.8rem;
        width: 4.8rem;
    }

    .community305-member-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }

    .community305-current-images > div {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 420px) {
    .community305-gallery-grid {
        grid-template-columns: 1fr 1fr;
    }

    .community305-current-images > div {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
