/* --- PREVIOUS STYLES (UNCHANGED) --- */
.reward-block {
    width: 100%;
}
.reward-block-img {
    width: 100%;
    height: 731px;
    border-radius: 54px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 0 16px 16px 16px;
}
.reward-info {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(80px);
    width: 100%;
    border: 1px solid #FFFFFF;
    border-radius: 40px;
    box-shadow: 4px 4px 16px 0px rgba(0, 0, 0, 0.24);
}
.reward-info-blocks {
    display: flex;
    gap: 24px;
    padding-left: 32px;
    padding-top: 24px;
    padding-bottom: 80px; /* Space for the controls */
}
.winner-name h3 {
    color: #FFFFFF; font-family: "Mardoto-Medium", sans-serif; font-size: 32px; line-height: 120%; margin: 0;
}
.olympics-name p {
    color: #FFFFFF; font-family: "Mardoto-Bold", sans-serif; font-size: 32px; line-height: 120%; margin: 0;
}
.points-blocks {
    background: #FFFFFF; border-radius: 32px; padding: 10px 30px;
}
.points-blocks p {
    color: #002D48; font-family: "Mardoto-Bold", sans-serif; font-size: 20px; line-height: 120%; margin: 0;
}
.winner-points {
    display: flex; gap: 24px; align-items: center;
}
.student-info-winner {
    display: flex; flex-direction: column; gap: 15px;
}
.swiper-slide {
    display: flex; justify-content: center;
}
.reward-slider {
    position: relative;
    width: 100%;
    max-width: 630px;
    margin: 0 auto;
    overflow: hidden;
}
.reward-controls {
    position: absolute;
    bottom: 32px;
    z-index: 10;
    left: 50%;
    transform: translateX(-50%);
    width: auto;
    display: flex;
    justify-content: center;
    align-items: center; /* This can now work correctly */
    gap: 50px;
}

/*
==================================================================
   THIS IS THE RULE THAT FIXES THE ALIGNMENT PROBLEM
==================================================================
*/
.reward-slider .swiper-button-prev,
.reward-slider .swiper-button-next {
    position: static;
    width: auto;
    height: auto;
    margin: 0; /* Resets unwanted margin */
    transform: none; /* <<< THIS IS THE CRUCIAL FIX. It removes Swiper's translateY. */
    cursor: pointer;
}
/* ================================================================ */


.reward-slider .swiper-button-prev::after,
.reward-slider .swiper-button-next::after {
    content: none;
}
.reward-slider .swiper-button-prev img,
.reward-slider .swiper-button-next img {
    display: block;
}
.swiper-pagination {
    position: static;
    width: auto;
    display: flex;
    justify-content: center;
    gap: 8px;
    height: 1px;
}
.swiper-pagination-bullet {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(80px);
    -webkit-backdrop-filter: blur(80px);
    box-shadow: 4px 4px 16px 0px rgba(0, 0, 0, 0.24);
    opacity: 1;
    transition: background 0.3s, transform 0.3s;
}
.swiper-pagination-bullet-active {
    background: #fff !important;
    transform: scale(1.1);
}