@import url("https://fonts.googleapis.com/css2?family=Noto%20Sans:wght@400;700;900&display=swap");

*,
*::before,
*::after {
    -webkit-box-sizing: border-box; /* Safari/Chrome */
    box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
p,
figure,
figcaption,
blockquote,
dl,
dd {
    margin: 0;
}

body {
    min-height: 100vh;
    min-height: 100dvh;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch; /* плавный скролл на iOS */
    text-rendering: optimizeSpeed;
    -webkit-text-size-adjust: 100%; /* отключение авто масштабирования текста в iOS */
    -webkit-font-smoothing: antialiased; /* сглаживание шрифтов */
    line-height: 1.5;
    font-family: "Noto Sans", sans-serif;
    font-size: 16px;
    /* Safe area support for devices with notches */
    padding-top: env(safe-area-inset-top);
    padding-bottom: env(safe-area-inset-bottom);
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
}

a:not([class]) {
    /* text-decoration-skip-ink не поддерживается в Safari, fallback: */
    text-decoration-skip-ink: auto;
    text-decoration-skip: ink;
}

img {
    max-width: 100%;
    display: block;
}

article > * + * {
    margin-top: 1em;
}

input,
button,
textarea,
select {
    font: inherit;
}

@media (prefers-reduced-motion: reduce) {
    * {
        -webkit-animation-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        -webkit-animation-iteration-count: 1 !important;
        animation-iteration-count: 1 !important;
        -webkit-transition-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

.main {
    /* background-image: url("img/bg-main.jpg");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat; */
    color: #fff;
    flex: 1;
}

.main__logo img {
    width: 250px;
}

.wrapper {
    display: flex;
    flex-direction: column;
}

.main__container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.main__title {
    font-size: 24px;
    margin-bottom: 60px;
    font-family: "Nata Sans", sans-serif;
    font-weight: 900;
}

.main__download img {
    width: 278px;
}

.footer {
    background-color: #443c49;
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 23px;
    padding: 25px 30px;
}

.footer__links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 50px;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.footer__link {
    font-weight: 700;
    color: #fff;
    text-decoration: none;
}

.footer__link:hover {
    text-decoration: underline;
}

.footer__social {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 20px;
}

.intro {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    background-color: #443c49;
    color: #fff;
    text-align: center;
    padding: 67px 30px;
    margin-bottom: 88px;
}

.intro__title {
    font-weight: 700;
    font-size: 30px;
    margin-bottom: 11px;
}

.intro__subtitle {
    font-weight: 700;
    font-size: 16px;
}

.terms__title {
    margin-bottom: 20px;
}

.terms__list {
    margin-bottom: 30px;
}

.terms__text {
    margin-bottom: 30px;
}

.terms__email a {
    color: #000;
    text-decoration: none;
}

.terms__email a:hover {
    text-decoration: underline;
}

.terms__container {
    max-width: 1050px;
    margin: 0 auto;
    padding: 0 43px;
    padding-bottom: 122px;
}

.privacy__container {
    max-width: 1050px;
    margin: 0 auto;
    padding: 0 43px;
    padding-bottom: 122px;
}

.privacy__title {
    margin-bottom: 20px;
}

.privacy__list {
    margin-bottom: 30px;
}

.privacy__text {
    margin-bottom: 30px;
}

.privacy__info a {
    color: #000;
    text-decoration: none;
}

.privacy__info a:hover {
    text-decoration: underline;
}

@media (min-width: 768px) {
    .main__download-mob {
        display: none;
    }
}

@media (max-width: 768px) {
    .privacy {
        font-size: 10px;
    }
    .main__title {
        font-size: 18px;
    }
    .footer__link {
        font-size: 12px;
    }
    .footer__links {
        gap: 30px;
    }
    .intro {
        padding: 31px;
    }
    .intro__title {
        font-size: 18px;
    }
    .intro__subtitle {
        font-size: 12px;
    }
    .main {
        background-position: right;
    }
    .intro {
        margin-bottom: 36px;
    }
    .terms {
        font-size: 10px;
    }
    .main__logo {
        width: 250px;
        margin-bottom: 0;
    }
    .main__title {
        margin-bottom: 51px;
    }
    .main__download img {
        height: 78px;
    }
    .main__download {
        display: none;
    }

    .main__logo {
        height: 100px;
    }
    
    /* Mobile viewport fixes */
    .wrapper {
        min-height: 100vh;
        min-height: 100dvh;
        min-height: -webkit-fill-available; /* iOS Safari */
    }
    
    .page__main {
        padding: 20px 0;
        min-height: 0;
        flex: 1;
    }
    
    .main__container {
        padding: 0 20px;
        justify-content: center;
        min-height: 0;
    }
    
    .footer {
        padding: 20px 15px;
    }
}

html,
body {
    height: 100%;
    margin: 0;
    overflow-x: hidden;
}

.wrapper {
    min-height: 100vh; /* fallback for older browsers */
    min-height: 100dvh; /* dynamic viewport height for mobile */
    display: flex;
    flex-direction: column;
}

.page {
    flex: 1; /* растягиваем */
    display: flex;
    flex-direction: column;
}

.page__main {
    flex: 1; /* вместо calc(...) */
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer {
    flex-shrink: 0;
    padding: 25px 30px;
    height: auto; /* пусть по контенту */
}
