/* Блок "О конкурсе" */
.about {
    width: 100%;
    min-height: 100svh;
    position: relative;
    display: flex;
    gap: 100px;
    padding: 40px 50px;
    box-sizing: border-box;
    overflow: hidden;
}

.about__content-text, .about__content-media {
    position: relative;
    flex: 1;
    z-index: 3;
}

.about__content-text {
    color: #292929;
    padding-top: 90px;
}

.about__content-media {
    height: 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, auto);
    gap: 20px;
}

.about__title {
    font-family: "Bounded";
    font-size: 22px;
    font-weight: 400;
    text-transform: uppercase;
    margin-bottom: 30px;
}

.about__subtitle {
    max-width: 715px;
    font-family: "Bounded";
    font-size: 55px;
    font-weight: 400;
    text-transform: uppercase;
    margin-bottom: 40px;
}

.about__text {
    max-width: 550px;
    display: flex;
    flex-direction: column;
    gap: 25px;
    font-family: "Manrope";
    margin-bottom: 55px;
}

.about__link {
    width: 185px;
    height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #292929;
    font-family: "Manrope";
    font-size: 16px;
    text-decoration: none;
    background: #FFFFFF;
    border: 1px solid #292929;
    border-radius: 5px;
}

.about__countries {
    grid-column: span 2;
    display: flex;
    flex-direction: column;
    background: #F8D081;
    border-radius: 8px;
    padding: 50px;
    transform: translateY(0) !important;
}

.about__countries-blocks {
    display: flex;
    justify-content: space-between;
}

.about__countries h4 {
    font-family: "Bounded";
    font-size: 0.8vw;
    font-weight: 400;
    text-transform: uppercase;
    margin-bottom: 40px;
}

.about__countries ul {
    display: flex;
    flex-direction: column;
    gap: 10px;
    list-style: none;
}

.about__countries li {
    display: flex;
    align-items: center;
    gap: 7px;
}

.about__countries img {
    width: 21px;
    height: auto;
}

.about__countries span {
    font-family: "Bounded";
    font-size: 0.8vw;
    font-weight: 400;
    text-transform: uppercase;
}

.about__content-block {
    aspect-ratio: 1.5;
    display: flex;
    font-family: "Bounded";
    font-size: 22px;
    text-transform: uppercase;
    border-radius: 8px;
    padding: 13px 30px;
    transform: translateY(0) !important;
}

.about__content-block svg {
    width: 100%;
    height: auto;
}

.about__content-block--days {
    grid-column: 1;
    gap: 26px;
    color: #FFCEA4;
    background: #E69E5F;
}

.about__content-block--days .about__span-small {
    padding-top: 16px;
}

.about__content-block--participant {
    grid-column: 2;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    color: #FF8787;
    background: #C84C4C;
}

.about__content-block--participant img {
    max-width: 80%;
}

.about__content-block--countries {
    aspect-ratio: 3.5;
    grid-column: 1 / -1;
    gap: 15px;
    color: #85D582;
    background: #4E8D4C;
}

.about__content-block--countries .about__span-small {
    max-width: 545px;
    padding-top: 15px;
}

.about__span-big {
    font-size: 104px;
}

.about__decoration {
    width: auto;
    height: auto;
    max-height: 50svh;
    position: absolute;
    bottom: 0;
    left: 20%;
    transform: translateY(180px);
}

.about__decoration--mobile {
    display: none;
}

.about__hr {
    height: 3px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to right, #F4C86F, #4681BD, #4E8D4C, #C84C4C, #F4C86F);
    border: none;
}

/* Блок "Галерея" */
.gallery {
    width: 100%;
    height: 100%;
    max-height: 610px;
    aspect-ratio: 3;
    position: relative;
}

.gallery__photo {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.gallery__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: all .4s ease;
}

.gallery__content {
    position: absolute;
    left: 50px;
    bottom: 55px;
}

.gallery__title {
    color: #FFFFFF;
    font-family: "Bounded";
    font-size: 22px;
    font-weight: 400;
    text-transform: uppercase;
    margin-bottom: 30px;
}

.gallery__subtitle {
    max-width: 875px;
    color: #F5F3EE;
    font-family: "Bounded";
    font-size: 60px;
    font-weight: 400;
    text-transform: uppercase;
    margin-bottom: 40px;
}

.gallery__link {
    width: 185px;
    height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #FFFFFF;
    font-family: "Manrope";
    text-decoration: none;
    border: 1px solid #FFFFFF;
    border-radius: 5px;
}

.gallery:has(.gallery__link:hover) .gallery__photo img {
  transform: scale(1.05);
}

/* miss brics 2026 */

.text-line__image {
    width: 100%;
    height: 100%;
    display: block;
}

.text-line__image path {
  stroke: rgba(41, 41, 41, 0.05);
  stroke-width: 2;
  fill: transparent;
  stroke-dasharray: 1200;
  stroke-dashoffset: 1200;
}

.text-line__image.js-animation-scroll-path path {
  animation: drawText 3s forwards;
}

@keyframes drawText {
  to {
    stroke-dashoffset: 0;
    fill: rgba(41, 41, 41, 0.05);
  }
}

/* Блок "Магазин" */
.shop {
    width: 100%;
    height: 100%;
    max-height: 610px;
    aspect-ratio: 3;
    position: relative;
}

.shop__photo {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.shop__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: all .4s ease;
}

.shop__content {
    position: absolute;
    left: 50px;
    top: 60px;
}

.shop__title {
    max-width: 350px;
    color: #FFFFFF;
    font-family: "Bounded";
    font-size: 22px;
    font-weight: 400;
    text-transform: uppercase;
    margin-bottom: 30px;
}

.shop__subtitle {
    max-width: 875px;
    color: #FFFFFF;
    font-family: "Bounded";
    font-size: 60px;
    font-weight: 400;
    text-transform: uppercase;
    margin-bottom: 40px;
}

.shop__link {
    width: 185px;
    height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #FFFFFF;
    font-family: "Manrope";
    text-decoration: none;
    border: 1px solid #FFFFFF;
    border-radius: 5px;
}

.shop:has(.shop__link:hover) .shop__photo img {
  transform: scale(1.05);
}

/* Блок "Онлайн-голосование" */
.voting {
    width: 100%;
    height: 100%;
    max-height: 610px;
    aspect-ratio: 3;
    position: relative;
}

.voting__photo {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.voting__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: all .4s ease;
}

.voting__content {
    position: absolute;
    left: calc(50% + 80px);
    top: 60%;
    transform: translateY(-50%);
}

.voting__title {
    max-width: 340px;
    color: #FFFFFF;
    font-family: "Bounded";
    font-size: 22px;
    font-weight: 400;
    text-transform: uppercase;
    margin-bottom: 30px;
}

.voting__subtitle {
    max-width: 575px;
    color: #FFFFFF;
    font-family: "Bounded";
    font-size: 60px;
    font-weight: 400;
    text-transform: uppercase;
    margin-bottom: 40px;
}

.voting__link {
    width: 185px;
    height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #292929;
    font-family: "Manrope";
    text-decoration: none;
    background: #FFFFFF;
    border: 1px solid #FFFFFF;
    border-radius: 5px;
}

.voting:has(.voting__link:hover) .voting__photo img {
  transform: scale(1.05);
}

@media (max-width: 1600px) {
    .about__title, .about__content-block, .gallery__title, .shop__title, .voting__title {
        font-size: 18px;
    }

    .about__subtitle {
        max-width: 675px;
        font-size: 40px;
    }

    .gallery__subtitle, .shop__subtitle, .voting__subtitle {
    	max-width: 575px;
        font-size: 40px;
    }
}

@media (max-width: 1200px) {
    /* Блок "О конкурсе" */
    .about__content-text {
        padding-top: 0;
    }

    .about__subtitle {
        font-size: 30px;
    }
    
    .about__span-big {
        font-size: 60px;
    }

    .gallery__subtitle, .shop__subtitle, .voting__subtitle {
    	max-width: 375px;
        font-size: 30px;
    }
}

@media (max-width: 1024px) {
    /* Блок "О конкурсе" */
    .about {
        height: auto;
        gap: 50px;
    }

    .about__title {
        font-size: 13px;
    }

    .about__subtitle {
        font-size: 18px;
    }

    .about__text {
        font-size: 13px;
    }
    
    .about__link {
        width: 160px;
        height: 40px;
        font-size: 13px;
    }

    .about__content-media {
        grid-template-rows: repeat(3, max-content);
    }

    .about__content-block {
        font-size: 13px;
        padding: 20px 15px;
    }

    .about__content-block--days {
        flex-direction: column;
        gap: 0;
    }

    .about__content-block--days .about__span-small {
        padding-top: 0px;
    }

    .about__decoration {
        display: none;
    }

    /* Блок "Галерея" */
    .gallery {
        aspect-ratio: 2.5;
    }

    /* Блок "Магазин" */
    .shop {
        aspect-ratio: 2.5;
    }

    .shop__content {
        top: 15px;
    }

    /* Блок "Онлвйн-голосование" */
    .voting {
        aspect-ratio: 2.5;
    }
    .voting__content {
        top: 50%;
    }
}

@media (max-width: 768px) {
    /* Блок "О конкурсе" */
    .about {
        flex-direction: column;
        gap: 0px;
        padding: 60px 0px;
    }

    .about__content-text {
        padding: 0 15px 170px;
    }

    .about__content-media {
        grid-template-rows: repeat(3, auto);
        gap: 10px;
    }

    .about__title {
        margin-bottom: 20px;
    }

    .about__subtitle {
        max-width: 265px;
        margin-bottom: 20px;
    }

    .about__text {
        margin-bottom: 25px;
    }

    .about__countries {
        border-radius: 5px;
        padding: 18px 26px;
    }

    .about__countries h4 {
        font-size: 2vw;
        margin-bottom: 12px;
    }

    .about__countries ul {
        gap: 7px;
    }

    .about__countries li {
        gap: 3px;
    }

    .about__countries img {
        width: 10px;
    }

    .about__countries span {
        font-size: 2vw;
    }

    .about__content-block--days {
        margin-left: 15px;
    }

    .about__content-block--participant {
        gap: 0;
        margin-right: 15px;
    }

    .about__content-block--countries {
        flex-direction: column;
        gap: 0;
        margin-left: 15px;
        margin-right: 15px;
    }

    .about__content-block--countries .about__span-small {
        padding-top: 0px;
    }

    .about__decoration--mobile {
        position: absolute;
        right: 0;
        bottom: 0;
        display: block;
        z-index: -1;
    }

    .about__hr {
        display: none;
    }

    /* Блок "Галерея" */
    .gallery {
        aspect-ratio: 0.8;
    }

    .gallery__photo img {
        object-position: top;
    }

    .gallery__content {
        left: 15px;
        bottom: 35px;
    }

    .gallery__title {
        font-size: 13px;
        margin-bottom: 20px;
    }

    .gallery__subtitle {
        max-width: 240px;
        color: #FFFFFF;
        font-size: 20px;
        margin-bottom: 25px;
    }

    .gallery__link {
        width: 140px;
        height: 40px;
        font-size: 13px;
    }

    /* Блок "Магазин" */
    .shop {
        aspect-ratio: 0.8;
    }

    .shop__photo img {
        object-position: bottom;
    }

    .shop__content {
        left: 15px;
        top: 40px;
    }

    .shop__title {
        max-width: 215px;
        font-size: 13px;
        margin-bottom: 20px;
    }

    .shop__subtitle {
        max-width: 325px;
        font-size: 20px;
        margin-bottom: 25px;
    }

    .shop__link {
        width: 140px;
        height: 40px;
        font-size: 13px;
    }

    /* Блок "Онлайн-голосование" */
    .voting {
        aspect-ratio: 1;
    }

    .voting__content {
        left: 15px;
    }

    .voting__title {
        max-width: 200px;
        font-size: 13px;
        margin-bottom: 10px;
    }

    .voting__subtitle {
        max-width: 195px;
        font-size: 20px;
        margin-bottom: 15px;
    }

    .voting__link {
        width: 140px;
        height: 40px;
        font-size: 13px;
    }
}