/* =========================================================
   ZENITH KARATE ACADEMY
   PUBLIC ACHIEVEMENTS PAGE
========================================================= */


/* =========================================================
   ACHIEVEMENTS SECTION
========================================================= */

.public-page .achievements-section {

    position:
        relative;

    width:
        100%;

    padding:
        3.5rem
        clamp(
            1rem,
            6vw,
            5rem
        )
        3rem;

}


/* =========================================================
   ACHIEVEMENTS HEADER
========================================================= */

.public-page .achievements-section-header {

    width:
        min(
            100%,
            80rem
        );

    margin:
        0
        auto
        1.5rem;

}


.public-page .achievements-section-label {

    display:
        block;

    margin:
        0
        0
        0.4rem;

    color:
        #fdb203;

    font-size:
        0.65rem;

    font-weight:
        800;

    letter-spacing:
        0.17rem;

    line-height:
        1.2;

}


.public-page .achievements-section-header h2 {

    margin:
        0;

    color:
        #fff;

    font-family:
        'Bebas Neue',
        sans-serif;

    font-size:
        clamp(
            2.1rem,
            4vw,
            3rem
        );

    font-weight:
        700;

    line-height:
        0.95;

    letter-spacing:
        0.04rem;

}


/* =========================================================
   ACHIEVEMENTS GRID
========================================================= */

.public-page .achievements-grid {

    width:
        min(
            100%,
            80rem
        );

    margin:
        0
        auto;

    display:
        grid;

    grid-template-columns:
        repeat(
            3,
            minmax(
                0,
                1fr
            )
        );

    gap:
        1rem;

}


/* =========================================================
   ACHIEVEMENT CARD
========================================================= */

.public-page .achievement-card {

    display:
        flex;

    flex-direction:
        column;

    min-width:
        0;

    padding:
        1.3rem;

    background:
        rgba(
            18,
            18,
            18,
            0.68
        );

    border:
        1px
        solid
        rgba(
            255,
            255,
            255,
            0.08
        );

    border-radius:
        0.9rem;

    backdrop-filter:
        blur(
            12px
        );

    -webkit-backdrop-filter:
        blur(
            12px
        );

    transition:
        transform
        0.3s
        ease,

        border-color
        0.3s
        ease,

        background
        0.3s
        ease,

        box-shadow
        0.3s
        ease;

}


.public-page .achievement-card:hover {

    transform:
        translateY(
            -5px
        );

    border-color:
        rgba(
            253,
            178,
            3,
            0.35
        );

    background:
        rgba(
            22,
            22,
            22,
            0.76
        );

    box-shadow:
        0
        12px
        28px
        rgba(
            0,
            0,
            0,
            0.28
        );

}


/* =========================================================
   ACHIEVEMENT CARD HEADER
========================================================= */

.public-page .achievement-card-header {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        0.8rem;

    margin:
        0
        0
        0.7rem;

}


.public-page .achievement-category {

    color:
        #fdb203;

    font-size:
        0.62rem;

    font-weight:
        800;

    letter-spacing:
        0.15rem;

    text-transform:
        uppercase;

}


.public-page .achievement-date {

    color:
        #707070;

    font-size:
        0.57rem;

    font-weight:
        700;

    letter-spacing:
        0.06rem;

    text-align:
        right;

    white-space:
        nowrap;

}


/* =========================================================
   ACHIEVEMENT CONTENT
========================================================= */

.public-page .achievement-card h3 {

    margin:
        0
        0
        0.6rem;

    color:
        #fff;

    font-family:
        'Bebas Neue',
        sans-serif;

    font-size:
        clamp(
            1.55rem,
            2.7vw,
            1.9rem
        );

    font-weight:
        700;

    line-height:
        0.98;

    letter-spacing:
        0.03rem;

}


.public-page .achievement-card p {

    margin:
        0;

    color:
        #a5a5a5;

    font-size:
        0.8rem;

    line-height:
        1.65;

}


/* =========================================================
   ACHIEVEMENTS LOADING
========================================================= */

.public-page .achievements-loading {

    grid-column:
        1 /
        -1;

    min-height:
        8rem;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    padding:
        1.5rem;

    border:
        1px
        dashed
        rgba(
            255,
            255,
            255,
            0.12
        );

    border-radius:
        0.8rem;

    color:
        #707070;

    font-size:
        0.68rem;

    font-weight:
        800;

    letter-spacing:
        0.12rem;

    text-align:
        center;

}


.public-page .achievements-loading.error {

    color:
        #e06b6b;

    border-color:
        rgba(
            230,
            15,
            50,
            0.2
        );

}


/* =========================================================
   COMPETITION SECTION
========================================================= */

.public-page .competition-section {

    position:
        relative;

    width:
        100%;

    padding:
        2rem
        clamp(
            1rem,
            6vw,
            5rem
        )
        5rem;

}


/* =========================================================
   COMPETITION HEADER
========================================================= */

.public-page .competition-section-header {

    width:
        min(
            100%,
            80rem
        );

    margin:
        0
        auto
        1.5rem;

    display:
        flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    gap:
        1rem;

}


.public-page .competition-section-label {

    display:
        block;

    margin:
        0
        0
        0.4rem;

    color:
        #fdb203;

    font-size:
        0.65rem;

    font-weight:
        800;

    letter-spacing:
        0.17rem;

    line-height:
        1.2;

}


.public-page .competition-section-header h2 {

    margin:
        0;

    color:
        #fff;

    font-family:
        'Bebas Neue',
        sans-serif;

    font-size:
        clamp(
            2.1rem,
            4vw,
            3rem
        );

    font-weight:
        700;

    line-height:
        0.95;

    letter-spacing:
        0.04rem;

}


/* =========================================================
   ALL COMPETITIONS BUTTON
========================================================= */

.public-page .competition-all-button {

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    flex-shrink:
        0;

    padding:
        0.65rem
        0.9rem;

    border:
        1px
        solid
        rgba(
            253,
            178,
            3,
            0.32
        );

    border-radius:
        0.35rem;

    background:
        rgba(
            253,
            178,
            3,
            0.05
        );

    color:
        #e5e5e5;

    font-size:
        0.65rem;

    font-weight:
        800;

    letter-spacing:
        0.1rem;

    line-height:
        1;

    text-decoration:
        none;

    white-space:
        nowrap;

    transition:
        transform
        0.25s
        ease,

        background
        0.25s
        ease,

        border-color
        0.25s
        ease,

        color
        0.25s
        ease;

}


.public-page .competition-all-button:hover {

    transform:
        translateY(
            -2px
        );

    background:
        rgba(
            253,
            178,
            3,
            0.1
        );

    border-color:
        rgba(
            253,
            178,
            3,
            0.55
        );

    color:
        #fff;

}


/* =========================================================
   COMPETITION GRID
========================================================= */

.public-page .competition-grid {

    width:
        min(
            100%,
            80rem
        );

    margin:
        0
        auto;

    padding:
        0;

    display:
        grid;

    grid-template-columns:
        repeat(
            3,
            minmax(
                0,
                1fr
            )
        );

    gap:
        1rem;

}


/* =========================================================
   COMPETITION CARD
========================================================= */

.public-page .competition-card {

    position:
        relative;

    display:
        flex;

    flex-direction:
        column;

    min-width:
        0;

    min-height:
        0;

    overflow:
        hidden;

    padding:
        0;

    color:
        inherit;

    background:
        rgba(
            18,
            18,
            18,
            0.68
        );

    border:
        1px
        solid
        rgba(
            255,
            255,
            255,
            0.08
        );

    border-radius:
        0.9rem;

    backdrop-filter:
        blur(
            12px
        );

    -webkit-backdrop-filter:
        blur(
            12px
        );

    text-decoration:
        none;

    transition:
        transform
        0.3s
        ease,

        border-color
        0.3s
        ease,

        box-shadow
        0.3s
        ease;

}


.public-page .competition-card:hover {

    transform:
        translateY(
            -5px
        );

    border-color:
        rgba(
            253,
            178,
            3,
            0.35
        );

    box-shadow:
        0
        12px
        28px
        rgba(
            0,
            0,
            0,
            0.28
        );

}


/* =========================================================
   COMPETITION IMAGE
========================================================= */

.public-page .competition-card-image-wrapper {

    width:
        100%;

    height:
        8.5rem;

    overflow:
        hidden;

    background:
        #101010;

}


.public-page .competition-card-image {

    width:
        100%;

    height:
        100%;

    display:
        block;

    object-fit:
        cover;

    transition:
        transform
        0.5s
        ease;

}


.public-page .competition-card:hover
.competition-card-image {

    transform:
        scale(
            1.045
        );

}


/* =========================================================
   COMPETITION CONTENT
========================================================= */

.public-page .competition-card-content {

    flex:
        1;

    display:
        flex;

    flex-direction:
        column;

    padding:
        1rem;

}


.public-page .competition-card-date {

    color:
        #fdb203;

    font-family:
        'Bebas Neue',
        sans-serif;

    font-size:
        0.62rem;

    font-weight:
        700;

    letter-spacing:
        0.11rem;

}


.public-page .competition-card h2 {

    margin:
        0.4rem
        0
        0.45rem;

    color:
        #fff;

    font-family:
        'Bebas Neue',
        sans-serif;

    font-size:
        1.55rem;

    font-weight:
        700;

    line-height:
        0.98;

    letter-spacing:
        0.03rem;

}


.public-page .competition-card-location {

    margin:
        0;

    color:
        #888;

    font-size:
        0.85rem;

    line-height:
        1.5;

}


/* =========================================================
   COMPETITION FOOTER
========================================================= */

.public-page .competition-card-bottom {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        1rem;

    margin-top:
        auto;

    padding-top:
        0.85rem;

    border-top:
        1px
        solid
        rgba(
            255,
            255,
            255,
            0.06
        );

    color:
        #707070;

    font-size:
        0.58rem;

    font-weight:
        800;

    letter-spacing:
        0.07rem;

}


.public-page .competition-card-arrow {

    color:
        #fdb203;

    font-size:
        1.1rem;

    transition:
        transform
        0.25s
        ease;

}


.public-page .competition-card:hover
.competition-card-arrow {

    transform:
        translateX(
            4px
        );

}


/* =========================================================
   COMPETITION LOADING
========================================================= */

.public-page .competition-loading {

    grid-column:
        1 /
        -1;

    min-height:
        8rem;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    padding:
        1.5rem;

    border:
        1px
        dashed
        rgba(
            255,
            255,
            255,
            0.12
        );

    border-radius:
        0.8rem;

    color:
        #707070;

    font-size:
        0.68rem;

    font-weight:
        800;

    letter-spacing:
        0.12rem;

    text-align:
        center;

}


.public-page .competition-loading.error {

    color:
        #e06b6b;

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 950px) {

    .public-page .achievements-grid,
    .public-page .competition-grid {

        grid-template-columns:
            repeat(
                2,
                minmax(
                    0,
                    1fr
                )
            );

    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .public-page .achievements-section {

        padding:
            3rem
            1rem
            2.5rem;

    }


    .public-page .competition-section {

        padding:
            1.5rem
            1rem
            4rem;

    }


    .public-page .competition-section-header {

        flex-direction:
            column;

        align-items:
            flex-start;

    }


    .public-page .competition-all-button {

        align-self:
            flex-start;

    }


    .public-page .achievements-grid,
    .public-page .competition-grid {

        grid-template-columns:
            1fr;

    }


    .public-page .achievement-card {

        padding:
            1.15rem;

    }


    .public-page .competition-card-image-wrapper {

        height:
            9rem;

    }


    .public-page .competition-card-content {

        padding:
            0.95rem;

    }


    .public-page .competition-card h2 {

        font-size:
            1.5rem;

    }

}


/* =========================================================
   CHAMPIONSHIP WALL VISUAL UPGRADE
========================================================= */

.public-page .achievements-section {
    overflow: hidden;
}

.public-page .achievements-section::before {
    content: "ACHIEVEMENTS";
    position: absolute;
    top: 0.5rem;
    right: clamp(1rem, 5vw, 5rem);
    color: transparent;
    font-family: 'Bebas Neue', sans-serif;
    font-size: clamp(4rem, 10vw, 8rem);
    font-weight: 900;
    letter-spacing: 0.08rem;
    line-height: 1;
    -webkit-text-stroke: 1px rgba(255, 255, 255, 0.045);
    pointer-events: none;
}

.public-page .achievements-section-header {
    position: relative;
    z-index: 1;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.public-page .achievements-section-header::after {
    content: "";
    display: block;
    width: 4.5rem;
    height: 3px;
    margin-top: 0.8rem;
    background: linear-gradient(90deg, #e60f32, #fdb203);
    box-shadow: 0 0 14px rgba(230, 15, 50, 0.2);
}

.public-page .achievements-grid {
    position: relative;
    z-index: 1;
}

.public-page .achievement-card {
    position: relative;
    min-height: 15rem;
    padding: 1.5rem;
    overflow: hidden;
    background: linear-gradient(145deg, rgba(25, 25, 25, 0.92), rgba(10, 10, 10, 0.82));
    border-color: rgba(255, 255, 255, 0.08);
    border-radius: 0.55rem;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

.public-page .achievement-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 3px;
    height: 100%;
    background: linear-gradient(to bottom, #fdb203, rgba(253, 178, 3, 0));
    opacity: 0.8;
}

.public-page .achievement-card::after {
    content: "";
    position: absolute;
    right: -4rem;
    bottom: -5rem;
    width: 11rem;
    height: 11rem;
    border: 1px solid rgba(253, 178, 3, 0.12);
    border-radius: 50%;
    box-shadow: 0 0 0 1.4rem rgba(253, 178, 3, 0.035), 0 0 0 2.8rem rgba(253, 178, 3, 0.018);
    pointer-events: none;
}

.public-page .achievement-card:first-child {
    grid-column: span 2;
    min-height: 18rem;
    padding: 1.8rem;
    border-color: rgba(253, 178, 3, 0.22);
    background: radial-gradient(circle at 80% 20%, rgba(253, 178, 3, 0.11), transparent 34%), linear-gradient(145deg, rgba(31, 28, 19, 0.95), rgba(11, 11, 11, 0.88));
}

.public-page .achievement-card:first-child::before {
    width: 5px;
    background: linear-gradient(to bottom, #fdb203, #e60f32);
}

.public-page .achievement-card:first-child h3 {
    max-width: 80%;
    font-size: clamp(2rem, 4vw, 3rem);
}

.public-page .achievement-card:first-child p {
    max-width: 36rem;
    font-size: 0.88rem;
}

.public-page .achievement-card:hover {
    border-color: rgba(253, 178, 3, 0.38);
    background: radial-gradient(circle at 80% 10%, rgba(253, 178, 3, 0.09), transparent 34%), linear-gradient(145deg, rgba(28, 28, 28, 0.96), rgba(11, 11, 11, 0.9));
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.045);
}

.public-page .achievement-card:nth-child(2),
.public-page .achievement-card:nth-child(4),
.public-page .achievement-card:nth-child(6) {
    transform: translateY(0.9rem);
}

.public-page .achievement-card:nth-child(2):hover,
.public-page .achievement-card:nth-child(4):hover,
.public-page .achievement-card:nth-child(6):hover {
    transform: translateY(-5px);
}

@media (max-width: 950px) {
    .public-page .achievement-card:first-child {
        grid-column: 1 / -1;
    }

    .public-page .achievement-card:nth-child(2),
    .public-page .achievement-card:nth-child(4),
    .public-page .achievement-card:nth-child(6) {
        transform: none;
    }

    .public-page .achievement-card:nth-child(2):hover,
    .public-page .achievement-card:nth-child(4):hover,
    .public-page .achievement-card:nth-child(6):hover {
        transform: translateY(-5px);
    }
}

@media (max-width: 600px) {
    .public-page .achievements-section::before {
        top: 0.8rem;
        right: 0.75rem;
        font-size: 4rem;
    }

    .public-page .achievement-card,
    .public-page .achievement-card:first-child {
        min-height: 0;
        padding: 1.25rem;
    }

    .public-page .achievement-card:first-child h3 {
        max-width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .public-page .achievement-card {
        transition: none !important;
    }
}
