main {
    background-color: #FFEEED;
    padding: 30px 0 0;
}

main + .footer {
    padding: 0;
}

ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.wrapper {
    max-width: 1200px;
    padding: 0 10px 30px;
    margin: 0 auto;
}


.anchor {
    text-decoration: none;
}

/* ? Banner ? */

.main-block {
    border-radius: 30px;
    background: linear-gradient(90deg, #FF9695 0%, #FFC5C4 27.73%, #F7EBF9 70.19%, #FF9695 99.01%), #777;
}

.main-block-info {
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 82px 74px 86px 126px;
    background-image: url(../img/banner-headphones.png);
    background-position: 92% center;
    background-size: 599px;
    background-repeat: no-repeat;
}

.main-block-info__title {
    font-size: 40px;
    font-weight: 700;
    line-height: 48px;
    color: #7C001E;
    margin: 0;
}

.main-info-block__subtitle {
    max-width: 472px;
    font-size: 20px;
    font-weight: 400;
    line-height: 24px;
    color: #7C001E;
    margin: 0;
}

/* ? Price Categories ? */

.price-categories {
    padding: 30px 0;
}

.price-categories-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 20px;
}

.price-category {
    width: 100%;
    max-width: 220px;
    border-radius: 15px;
    background: linear-gradient(180deg, #FFF 0%, #FFDCDC 42.79%, #FF9695 93.17%);
    box-shadow: none;
    transition: box-shadow 0.3s ease-in-out;
    overflow: hidden;
}

.price-category:hover {
    box-shadow: 0 4px 4px 0 rgba(124, 0, 30, 0.50), 0px 8px 13.2px 0px rgba(255, 151, 150, 0.50);
}

.price-category__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    text-decoration: none;
    color: #7C001E;
    padding: 42px 5px 36px;
}

.price-category__text {
    font-size: 24px;
    font-weight: 600;
    line-height: 1;
}

.price-category__text--big {
    font-size: 32px;
    font-weight: 700;
}

/* ? Categories ? */

.categories {
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding: 30px 0;
}

.categories__title {
    font-size: 40px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    color: #7C001E;
    margin: 0;
}

.categories-list {
    display: flex;
    gap: 20px;
}

.categories-list__item {
    display: flex;
    width: 220px;
    height: 325px;
    border-radius: 15px;
    box-shadow: none;
    transition: box-shadow 0.3s ease-in-out;
}

.categories-list__item:first-child {
    background-image: url(../img/bg-category-1.jpg);
}

.categories-list__item:nth-child(2) {
    background-image: url(../img/bg-category-2.jpg);
}

.categories-list__item:nth-child(3) {
    background-image: url(../img/bg-category-3.jpg);
}

.categories-list__item:nth-child(4) {
    background-image: url(../img/bg-category-4.jpg);
}

.categories-list__item:nth-child(5) {
    background-image: url(../img/bg-category-5.jpg);
}

.categories-list__link {
    width: 100%;
    text-decoration: none;
    padding: 20px;
}

.categories-list__title {
    font-size: 20px;
    font-weight: 700;
    line-height: 24px;
    text-align: center;
    color: #7C001E;
    margin: 0;
}

.categories-list__item:hover {
    box-shadow: 0px 4px 4px 0px rgba(124, 0, 30, 0.50), 0px 8px 13.2px 0px rgba(255, 151, 150, 0.50);
}

/* ? Shops ? */
.shop-heading {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    padding: 15px;
}

.shop-heading__title {
    font-size: 40px;
    font-weight: 700;
    line-height: 1;
    color: #7C001E;
    margin: 0;
}

.shop-heading__address {
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.4px;
    color: #7C001E;
    margin: 0;
}

.shop-advantages {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    list-style: none;
    padding: 0;
    margin: 20px auto 0;
}

.shop-advantage {
    max-width: 360px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    border-radius: 15px;
    background: linear-gradient(180deg, #FF9695 6.83%, #FFDCDC 70.58%, #FFF 100%);
    padding: 15px;
}

.shop-advantage__photo {
    border-radius: 8px;
    overflow: hidden;
    position: relative;
}

.shop-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.shop-info__text {
    font-size: 20px;
    font-weight: 700;
    line-height: 26px;
    text-align: center;
    color: #7C001E;
    margin: 0;
}

.contact-form {
    display: flex;
    flex-direction: column;
    gap: 35px;
    background: linear-gradient(180deg, #FFF 0%, #FFDCDC 42.79%, #FF9695 93.17%);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-radius: 15px;
    padding: 30px;
    margin: 60px 0 0;
}

.contact-form-heading {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.contact-form-heading__title {
    font-size: 32px;
    font-weight: 700;
    line-height: 1;
    color: #7C001E;
    margin: 0;
}

.contact-form-heading__subtitle {
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
    color: rgba(124, 0, 30, 0.8);
    margin: 0;
}

/* ? Succes ? */

.contact-form-succes {
    flex-direction: column;
    justify-content: center;
    gap: 30px;
    align-items: center;
    display: flex;
    border-radius: 15px;
    padding: 36px 0;
}

.success-block__title {
    font-size: 40px;
    font-weight: 700;
    line-height: 48px;
    text-align: center;
    color: #7C001E;
    margin: 0;
}

.success-block__subtitle {
    font-size: 20px;
    font-weight: 400;
    line-height: 28px;
    letter-spacing: 0.4px;
    text-align: center;
    color: #7C001E;
    margin: 0;
}

.success-social-list {
    display: flex;
    align-items: center;
    gap: 40px;
    list-style: none;
    padding: 0;
    margin: 0;
}

@media(max-width: 1180px) {
    .main-block-info {
        padding: 82px 40px;
        background-position: right center;
    }
}

@media(max-width: 1024px) {
    .main-block-info {
        padding: 60px 350px 60px 30px;
        background-size: contain;
    }

    .main-info-block__subtitle {
        max-width: 100%;
    }

    /* ? Price Categories ? */
    .price-categories-list {
        display: flex;
        flex-wrap: nowrap;
        overflow: scroll;
        padding: 0 0 5px;
    }

    .price-category {
        flex-shrink: 0;
    }

    /* ? Categories ? */
    .categories-list {
        overflow: scroll;
    }

    .categories-list__item {
        flex-shrink: 0;
    }

    /* ? Shop ? */
    .shop-advantages {
        display:flex;
        overflow: scroll;
        padding: 0 0 5px;
    }
    
    .shop-advantage {
        flex-shrink: 0;
    }
}

@media(max-width: 767px) {
    .main-block {
        position: relative;
        overflow: hidden;
        border-radius: 15px;
        padding: 220px 0 0;
    }

    .main-block::before {
        position: absolute;
        content: '';
        width: 333px;
        height: 276px;
        top: 0;
        left: 52%;
        transform: translate(-50%, 0);
        background: url(../img/banner-headphones.png) no-repeat center / cover;
    }

    .main-block-info {
        gap: 10px;
        max-width: 100%;
        background: rgb(235 235 235 / 40%);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        padding: 12px 15px;
    }

    .main-block-info__title {
        font-size: 24px;
        line-height: 28px;
        text-align: center;
        max-width: 320px;
        margin: 0 auto;
    }
    
    .main-info-block__subtitle {
        font-size: 16px;
        line-height: 24px;
        text-align: center;
    }

    /* ? Price Categories ? */
    .price-categories-list {
        gap: 15px;
        padding: 0 0 5px;
    }

    .price-category {
        max-width: 125px;
        border-radius: 10px;
    }

    .price-category__link {
        padding: 14px 5px 11px;
    }
    
    .price-category__text {
        font-size: 14px;
    }
    
    .price-category__text--big {
        font-size: 20px
    }

    /* ? Categories ? */
    .categories {
        gap: 20px;
        padding: 15px 0;
    }

    .categories__title {
        font-size: 24px;
    }

    /* ? Shops ? */
.shop-heading {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    padding: 15px;
}

.shop-heading__title {
    font-size: 20px;
}

.shop-heading__address {
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0;
}

.shop-advantage {
    max-width: 274px;
}

.shop-advantage__photo {
    border-radius: 5px;
}

.shop-info__text {
    font-size: 16px;
    line-height: 20px;
}

/* ? Contact ? */

.contact-form {
    gap: 15px;
    padding: 15px;
}

.contact-form-heading {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.contact-form-heading__title {
    font-size: 24px;
    line-height: 28px;
}

.contact-form-heading__subtitle {
    font-size: 16px;
    line-height: 20px;
}
}