@charset "UTF-8";

.competition-page {
    background: #f7fafb;
    color: #17212b;
}

.competition-hero {
    padding: 70px 0;
    background:
        radial-gradient(circle at 85% 15%, rgba(39,169,153,.16), transparent 28%),
        linear-gradient(135deg, #f4fbf9, #edf5f9);
}

.competition-hero__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 50px;
}

.competition-hero h1 {
    margin: 18px 0;
    color: #0b1f33;
    font-size: clamp(38px, 5vw, 62px);
    line-height: 1.16;
    letter-spacing: -.055em;
}

.competition-hero h1 strong { color: #167c72; }
.competition-hero p {
    max-width: 700px;
    margin: 0;
    color: #52606d;
    font-size: 17px;
    line-height: 1.8;
}

.competition-hero__summary {
    display: grid;
    min-width: 220px;
    padding: 30px;
    place-items: center;
    border: 1px solid rgba(27,148,134,.2);
    border-radius: 28px;
    background: rgba(255,255,255,.78);
    box-shadow: 0 16px 40px rgba(16,42,67,.08);
}

.competition-hero__summary span,
.competition-hero__summary small { color: #6b7785; font-weight: 800; }
.competition-hero__summary strong {
    margin: 8px 0;
    color: #102a43;
    font-size: 48px;
    line-height: 1;
}

.competition-content { padding: 58px 0 100px; }

.competition-search {
    display: grid;
    grid-template-columns: 1.6fr repeat(4, minmax(130px, .75fr)) auto;
    gap: 12px;
    padding: 22px;
    border: 1px solid #dfe7ec;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(16,42,67,.06);
}

.competition-search label {
    display: block;
    margin-bottom: 7px;
    color: #34414d;
    font-size: 12px;
    font-weight: 900;
}

.competition-search input,
.competition-search select {
    width: 100%;
    height: 46px;
    padding: 0 13px;
    border: 1px solid #d9e0e6;
    border-radius: 11px;
    background: #fff;
    font: inherit;
}

.competition-search__actions {
    display: flex;
    align-items: flex-end;
    gap: 7px;
}

.competition-search__actions button,
.competition-search__actions a {
    display: inline-flex;
    height: 46px;
    padding: 0 17px;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 11px;
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
}

.competition-search__actions button { color: #fff; background: #167c72; }
.competition-search__actions a { color: #34414d; background: #eef2f5; }

.competition-result-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
    margin: 44px 0 24px;
}

.competition-result-head span {
    color: #167c72;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .12em;
}

.competition-result-head h2 {
    margin: 7px 0 0;
    color: #0b1f33;
    font-size: 30px;
}

.competition-result-head h2 b { color: #167c72; }
.competition-result-head p {
    margin: 0;
    color: #6b7785;
    font-size: 13px;
}

.competition-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 20px;
}

.competition-card {
    display: flex;
    min-height: 430px;
    padding: 25px;
    flex-direction: column;
    border: 1px solid #dfe7ec;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(16,42,67,.06);
    transition: transform .2s ease, box-shadow .2s ease;
}

.competition-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 38px rgba(16,42,67,.11);
}

.competition-card.is-featured {
    border-color: rgba(27,148,134,.35);
    background: linear-gradient(155deg, #eefaf7, #fff 45%);
}

.competition-card__top {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.competition-card__badges { display: flex; flex-wrap: wrap; gap: 6px; }
.competition-card__badges span,
.competition-card__top > .format {
    display: inline-flex;
    min-height: 27px;
    padding: 0 9px;
    align-items: center;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 900;
}

.competition-card__badges .category { color: #176b63; background: #e8f7f4; }
.competition-card__badges .status.open { color: #067647; background: #ecfdf3; }
.competition-card__badges .status.upcoming { color: #175cd3; background: #eff4ff; }
.competition-card__badges .status.closed { color: #667085; background: #f2f4f7; }
.competition-card__badges .featured { color: #b54708; background: #fff4e5; }
.competition-card__top > .format { color: #52606d; background: #f4f6f8; }

.competition-card h3 {
    margin: 23px 0 8px;
    color: #0b1f33;
    font-size: 22px;
    line-height: 1.45;
    letter-spacing: -.03em;
}

.competition-card .organizer {
    margin: 0;
    color: #167c72;
    font-size: 13px;
    font-weight: 900;
}

.competition-card .summary {
    margin: 16px 0 22px;
    color: #52606d;
    font-size: 14px;
    line-height: 1.72;
}

.competition-card__meta {
    display: grid;
    gap: 11px;
    margin: 0;
    padding-top: 18px;
    border-top: 1px solid #e9edf1;
}

.competition-card__meta div {
    display: grid;
    grid-template-columns: 76px minmax(0,1fr);
    gap: 9px;
}

.competition-card__meta dt {
    color: #84919d;
    font-size: 12px;
    font-weight: 800;
}

.competition-card__meta dd {
    margin: 0;
    color: #34414d;
    font-size: 12px;
    font-weight: 800;
}

.competition-card__actions { margin-top: auto; padding-top: 24px; }
.competition-card__actions a,
.competition-card__actions span {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 900;
}

.competition-card__actions a { color: #fff; background: #102a43; }
.competition-card__actions span { color: #84919d; background: #f4f6f8; }

.competition-empty {
    padding: 80px 20px;
    text-align: center;
    border: 1px solid #dfe7ec;
    border-radius: 24px;
    background: #fff;
}

.competition-empty strong { color: #102a43; font-size: 20px; }
.competition-empty p { color: #6b7785; }

.competition-pagination {
    display: flex;
    justify-content: center;
    gap: 7px;
    margin-top: 36px;
}

.competition-pagination a {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border: 1px solid #dfe7ec;
    border-radius: 10px;
    background: #fff;
    font-weight: 800;
}

.competition-pagination a.active {
    color: #fff;
    border-color: #167c72;
    background: #167c72;
}

@media(max-width:1100px) {
    .competition-search { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .competition-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media(max-width:760px) {
    .competition-hero__inner,
    .competition-result-head { align-items: flex-start; flex-direction: column; }
    .competition-hero__summary { width: 100%; }
    .competition-search { grid-template-columns: 1fr; }
    .competition-search__actions { align-items: stretch; }
    .competition-search__actions button,
    .competition-search__actions a { flex: 1; }
    .competition-grid { grid-template-columns: 1fr; }
}
.competition-category-tabs {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 22px;
        padding: 8px;
        border: 1px solid #dfe7ec;
        border-radius: 16px;
        background: #ffffff;
        box-shadow: 0 8px 24px rgba(16, 42, 67, .05);
    }

    .competition-category-tabs a {
        display: inline-flex;
        min-height: 40px;
        padding: 0 16px;
        align-items: center;
        justify-content: center;
        border-radius: 11px;
        color: #52606d;
        background: transparent;
        font-size: 13px;
        font-weight: 900;
        transition:
            color .2s ease,
            background-color .2s ease,
            transform .2s ease;
    }

    .competition-category-tabs a:hover {
        color: #167c72;
        background: #eef8f5;
        transform: translateY(-1px);
    }

    .competition-category-tabs a.active {
        color: #ffffff;
        background: #167c72;
        box-shadow: 0 8px 18px rgba(22, 124, 114, .18);
    }

    .competition-card__actions {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        align-items: center;
    }

    .competition-card__actions .official-guide-button {
        min-width: 132px;
        padding-left: 22px;
        padding-right: 22px;
        justify-content: center;
    }

    .competition-card__actions .mentor-request-button {
        display: inline-flex;
        min-height: 42px;
        padding: 0 16px;
        align-items: center;
        justify-content: center;
        border: 1px solid #167c72;
        border-radius: 11px;
        background: #167c72;
        color: #ffffff;
        font-size: 13px;
        font-weight: 900;
        text-decoration: none;
        transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
    }

    .competition-card__actions .mentor-request-button:hover {
        background: #11685f;
        box-shadow: 0 8px 18px rgba(22, 124, 114, .18);
        transform: translateY(-1px);
    }

    @media (max-width: 680px) {
        .competition-category-tabs {
            flex-wrap: nowrap;
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
            scrollbar-width: none;
        }

        .competition-category-tabs::-webkit-scrollbar {
            display: none;
        }

        .competition-category-tabs a {
            flex: 0 0 auto;
            min-height: 38px;
            padding: 0 14px;
        }
    }

.competition-card__actions {
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
    margin-top: auto;
    padding-top: 24px;
    align-items: stretch;
}

.competition-card__actions a,
.competition-card__actions span {
    flex: 1 1 0;
    min-width: 0;
    min-height: 46px;
    padding: 0 14px;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 900;
    text-align: center;
    text-decoration: none;
}

.competition-card__actions .official-guide-button {
    background: #102a43;
    color: #fff;
}

.competition-card__actions .mentor-request-button {
    border: 0;
    background: #167c72;
    color: #fff;
    transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.competition-card__actions .mentor-request-button:hover {
    background: #11685f;
    box-shadow: 0 8px 18px rgba(22, 124, 114, .18);
    transform: translateY(-1px);
}

.competition-card__actions a:only-child,
.competition-card__actions span:only-child {
    flex-basis: 100%;
}

@media (max-width: 680px) {
    .competition-card__actions {
        gap: 8px;
    }

    .competition-card__actions a,
    .competition-card__actions span {
        min-height: 46px;
        padding: 0 10px;
        font-size: 12px;
    }
}


/* =========================================================
   Official guide notice and action buttons
========================================================= */

.competition-card__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: auto;
    padding-top: 24px;
    align-items: stretch;
}

.competition-card__official-note {
    grid-column: 1 / -1;
    position: relative;
    margin: 0 0 2px;
    padding: 12px 14px 12px 36px;
    border: 1px solid #dfe7ec;
    border-radius: 12px;
    color: #52606d;
    background: #f8fafb;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.55;
    text-align: left;
}

.competition-card__official-note::before {
    content: "i";
    position: absolute;
    top: 12px;
    left: 13px;
    display: grid;
    width: 16px;
    height: 16px;
    place-items: center;
    border-radius: 50%;
    color: #ffffff;
    background: #167c72;
    font-size: 10px;
    font-weight: 900;
    line-height: 1;
}

.competition-card__actions .official-guide-button,
.competition-card__actions .mentor-request-button {
    width: 100%;
    min-width: 0;
    min-height: 48px;
    padding: 0 14px;
    border-radius: 12px;
    line-height: 1.35;
    white-space: normal;
    word-break: keep-all;
}

.competition-card__actions .official-guide-button {
    border: 1px solid #102a43;
    color: #ffffff;
    background: #102a43;
}

.competition-card__actions .official-guide-button:hover {
    background: #173f5f;
    box-shadow: 0 8px 18px rgba(16, 42, 67, .18);
    transform: translateY(-1px);
}

.competition-card__actions .mentor-request-button {
    border: 1px solid #167c72;
    color: #ffffff;
    background: #167c72;
}

.competition-card__actions .mentor-request-button:hover {
    background: #11685f;
    box-shadow: 0 8px 18px rgba(22, 124, 114, .18);
    transform: translateY(-1px);
}

.competition-card__actions > .official-guide-button:only-of-type,
.competition-card__actions > span:only-child {
    grid-column: 1 / -1;
}

@media (max-width: 680px) {
    .competition-card__actions {
        grid-template-columns: 1fr;
    }

    .competition-card__official-note,
    .competition-card__actions .official-guide-button,
    .competition-card__actions .mentor-request-button {
        grid-column: 1;
    }

    .competition-card__official-note {
        padding: 11px 12px 11px 34px;
        font-size: 11px;
    }

    .competition-card__official-note::before {
        top: 11px;
        left: 12px;
    }
}
