

/* ============================================
   БРЕЙКПОИНТ: 1400px (Large Desktop)
   ============================================ */
@media (max-width: 1400px) {
    .container {
        max-width: 1320px;
        padding: 0 15px;
    }

    /* Hero Section */
    .hero__title {
        font-size: 48px;
    }

    .hero__btn {
        padding: 18px 36px;
        font-size: 14px;
    }

    /* Promotion Section */
    .promotion__box {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }

    /* Prices Section */
    .prices__box {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }

    .prices__item {
        padding: 30px 20px;
    }

    /* Complex Section */
    .complex__box {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }

    /* Business Section */
    .business__items {
        grid-template-columns: repeat(3, 1fr);
        gap: 30px;
    }

    /* Cases Section */
    .cases__item {
        padding: 30px;
    }

    /* Information Section */
    .information__because {
        flex-direction: row;
        gap: 15px;
    }

    /* Services Page */
    .services__content {
        gap: 40px;
    }

    .services__box-icon {
        width: 400px;
        height: 500px;
    }
}

/* ============================================
   БРЕЙКПОИНТ: 768px (Tablet)
   ============================================ */
@media (max-width: 768px) {
    .container {
        padding: 0 15px;
    }

    /* Typography */
    .section__title {
        font-size: 32px;
        line-height: 1.3;
    }

    /* Hero Section */
    .hero {
        padding: 60px 0;
    }

    .hero__title {
        font-size: 36px;
        text-align: center;
    }

    .hero__button-row {
        flex-direction: column;
        align-items: center;
        gap: 20px;
    }

    .hero__btn {
        width: 100%;
        max-width: 350px;
        padding: 16px 24px;
    }

    .hero__desc {
        text-align: center;
        font-size: 14px;
    }

    .hero__shapes {
        display: none;
    }

    /* Promotion Section */
    .promotion__box {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    .promotion__item-title {
        font-size: 16px;
    }

    /* Sites/Portfolio Section */
    .sites__slider {
        padding: 0 10px;
    }

    .sites__item {
        min-width: 280px;
    }

    .sites__item-title {
        font-size: 18px;
    }

    .sites__link.look-all {
        font-size: 14px;
    }

    /* Prices Section */
    .prices__box {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    .prices__item-title {
        font-size: 28px;
    }

    .prices__item-price {
        font-size: 16px;
    }

    .prices__item-desc {
        font-size: 14px;
    }

    /* Stocks Section */
    .stoks__content {
        flex-direction: column;
        gap: 30px;
    }

    .stoks__form {
        width: 100%;
    }

    .stoks__list-item {
        font-size: 14px;
    }

    /* Complex Section */
    .complex__box {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    .complex__item-title {
        font-size: 16px;
    }

    /* Business Section */
    .business__items {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .business__item-title {
        font-size: 20px;
    }

    /* Warranty Section */
    .warranty__top {
        flex-direction: column;
        text-align: center;
        gap: 20px;
    }

    .warranty__form {
        flex-direction: column;
        gap: 15px;
    }

    .warranty__input {
        width: 100%;
    }

    .warranty__btn {
        width: 100%;
    }

    /* Calculator Section */
    .calculator__steps {
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
    }

    .calculator__number {
        font-size: 12px;
        padding: 8px 12px;
    }

    .calculator__city {
        padding: 15px;
    }

    .calculator__city-title {
        font-size: 14px;
    }

    /* Cases Section */
    .cases__item {
        flex-direction: column;
        padding: 20px;
    }

    .cases__item-left,
    .cases__item-right {
        width: 100%;
    }

    .graf__column-numbers {
        font-size: 10px;
    }

    .cases__toggle {
        flex-direction: column;
        gap: 10px;
    }

    /* Information Section */
    .information__steps {
        flex-direction: column;
        gap: 10px;
    }

    .information__because {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }

    .information__because-ball {
        margin: 0 auto;
    }

    /* Free Promotion Section */
    .free-promotion__content {
        flex-direction: column;
        gap: 30px;
    }

    .free-promotion__item {
        flex-direction: column;
        text-align: center;
    }

    .free-promotion__step {
        position: static;
        margin: 10px auto;
    }

    .free-promotion__form {
        flex-direction: column;
        gap: 15px;
    }

    .free-promotion__input {
        width: 100%;
    }

    .free-promotion__btn {
        width: 100%;
    }

    /* Partner Section */
    .partner__content {
        flex-direction: column;
        gap: 20px;
    }

    .partner__content-img {
        max-width: 100%;
        height: auto;
    }

    .partner__form-input {
        width: 100%;
    }

    .partner__input-row {
        flex-direction: column;
        gap: 15px;
    }

    /* Search/Contact Section */
    .search__content {
        flex-direction: column;
        gap: 30px;
    }

    .search__left,
    .search__right {
        width: 100%;
    }

    .search__map {
        height: 300px;
    }

    .search__text-number {
        font-size: 18px;
    }

    /* Services Page */
    .services__content {
        flex-direction: column;
        gap: 30px;
    }

    .services__box-icon {
        width: 100%;
        max-width: 400px;
        height: auto;
        margin: 0 auto;
    }

    .services__icon-left {
        order: -1;
    }

    .services__text {
        font-size: 14px;
        line-height: 1.6;
    }

    .services__title {
        font-size: 28px;
    }

    .services__title-second {
        font-size: 18px;
    }

    /* Forms (registr.php & auth.php) */
    .form__section {
        padding: 40px 0;
    }

    .form__container {
        max-width: 450px;
    }

    .form__title {
        font-size: 28px;
    }

    .form__input {
        padding: 14px 16px;
        font-size: 14px;
    }

    .form__btn {
        width: 100%;
        padding: 16px;
    }

    /* Header */
    .header__nav {
        display: none;
    }

    .header__burger {
        display: block;
    }

    /* Footer */
    .footer__content {
        flex-direction: column;
        gap: 30px;
        text-align: center;
    }

    .footer__links {
        flex-direction: column;
        gap: 15px;
    }
}

/* ============================================
   БРЕЙКПОИНТ: 490px (Small Mobile)
   ============================================ */
@media (max-width: 490px) {
    .container {
        padding: 0 12px;
    }

    /* Typography */
    .section__title {
        font-size: 26px;
    }

    /* Hero Section */
    .hero {
        padding: 40px 0;
    }

    .hero__title {
        font-size: 28px;
    }

    .hero__btn {
        padding: 14px 20px;
        font-size: 12px;
    }

    .hero__desc {
        font-size: 12px;
    }

    /* Promotion Section */
    .promotion__box {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .promotion__item {
        padding: 20px 15px;
    }

    .promotion__item-title {
        font-size: 14px;
    }

    .promotion__item-img {
        max-width: 150px;
    }

    /* Sites Section */
    .sites__item {
        min-width: 260px;
    }

    .sites__item-title {
        font-size: 16px;
    }

    .sites__btn {
        padding: 10px 16px;
        font-size: 12px;
    }

    /* Prices Section */
    .prices__box {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .prices__item {
        padding: 20px 15px;
    }

    .prices__item-title {
        font-size: 24px;
    }

    .prices__item-price {
        font-size: 14px;
    }

    .prices__btn {
        padding: 12px 20px;
        font-size: 12px;
    }

    /* Stocks Section */
    .stoks__title {
        font-size: 26px;
    }

    .stoks__form-input,
    .stoks__form-text {
        padding: 12px 14px;
        font-size: 14px;
    }

    .stoks__btn {
        padding: 14px 20px;
        font-size: 14px;
    }

    .stoks__list-item {
        font-size: 13px;
    }

    /* Complex Section */
    .complex__box {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .complex__item {
        padding: 20px 15px;
    }

    .complex__item-title {
        font-size: 14px;
    }

    /* Business Section */
    .business__item-title {
        font-size: 18px;
    }

    .business__item-description {
        font-size: 13px;
    }

    /* Warranty Section */
    .warranty__title {
        font-size: 26px;
    }

    .warranty__description {
        font-size: 14px;
    }

    .warranty__input {
        padding: 12px 14px;
    }

    .warranty__btn {
        padding: 14px 20px;
    }

    /* Calculator Section */
    .calculator__title {
        font-size: 26px;
    }

    .calculator__number {
        font-size: 11px;
        padding: 6px 10px;
    }

    .calculator__item {
        padding: 20px 15px;
    }

    .calculator__city {
        padding: 12px;
    }

    .calculator__city-title {
        font-size: 13px;
    }

    .calculator__row-button {
        padding: 12px 16px;
        font-size: 12px;
    }

    /* Cases Section */
    .cases__title {
        font-size: 26px;
    }

    .cases__item {
        padding: 15px;
    }

    .cases__item-title {
        font-size: 16px;
    }

    .graf__number {
        font-size: 9px;
    }

    .graf__item-month {
        font-size: 11px;
    }

    .cases__toggle-title {
        font-size: 13px;
    }

    /* Information Section */
    .information__title {
        font-size: 26px;
    }

    .information__step {
        font-size: 14px;
        padding: 10px 15px;
    }

    .information__because-description {
        font-size: 13px;
    }

    .information__icon {
        width: 40px;
        height: 40px;
    }

    /* Free Promotion Section */
    .free-promotion__title {
        font-size: 26px;
    }

    .free-promotion__item-description {
        font-size: 13px;
    }

    .free-promotion__step-number {
        font-size: 14px;
        width: 30px;
        height: 30px;
    }

    .free-promotion__btn {
        padding: 14px 20px;
        font-size: 13px;
    }

    /* Partner Section */
    .partner__title {
        font-size: 26px;
    }

    .partner__list-item {
        font-size: 13px;
    }

    .partner__form-title {
        font-size: 16px;
    }

    .partner__form-input,
    .partner__form-text {
        padding: 12px 14px;
        font-size: 14px;
    }

    .partner__btn {
        padding: 14px 20px;
        font-size: 14px;
    }

    /* Search/Contact Section */
    .search__title {
        font-size: 26px;
    }

    .search__text-description {
        font-size: 13px;
    }

    .search__text-number {
        font-size: 16px;
    }

    .search__btn {
        padding: 14px 20px;
        font-size: 13px;
    }

    .search__map {
        height: 250px;
    }

    /* Services Page */
    .services__title {
        font-size: 24px;
    }

    .services__title-second {
        font-size: 16px;
    }

    .services__text {
        font-size: 13px;
    }

    .services__link {
        font-size: 13px;
    }

    .services__box-icon {
        max-width: 300px;
    }

    /* Forms (registr.php & auth.php) */
    .form__title {
        font-size: 24px;
    }

    .form__input {
        padding: 12px 14px;
        font-size: 13px;
    }

    .form__btn {
        padding: 14px 18px;
        font-size: 14px;
    }

    .form__link {
        font-size: 13px;
    }

    /* Buttons Global */
    button,
    .btn {
        min-height: 44px;
    }

    /* Inputs Global */
    input,
    textarea,
    select {
        min-height: 44px;
    }
}

/* ============================================
   БРЕЙКПОИНТ: 390px (Extra Small Mobile)
   ============================================ */
@media (max-width: 390px) {
    .container {
        padding: 0 10px;
    }

    /* Typography */
    .section__title {
        font-size: 22px;
    }

    /* Hero Section */
    .hero__title {
        font-size: 24px;
    }

    .hero__btn {
        padding: 12px 16px;
        font-size: 11px;
    }

    /* Promotion Section */
    .promotion__item-title {
        font-size: 13px;
    }

    .promotion__item-img {
        max-width: 120px;
    }

    /* Prices Section */
    .prices__item-title {
        font-size: 22px;
    }

    .prices__item-desc li {
        font-size: 12px;
    }

    /* Complex Section */
    .complex__item-title {
        font-size: 13px;
    }

    /* Cases Section */
    .cases__item-title {
        font-size: 14px;
    }

    .graf {
        overflow-x: auto;
    }

    .graf__column-items {
        min-width: 400px;
    }

    /* Information Section */
    .information__because-description {
        font-size: 12px;
    }

    /* Free Promotion Section */
    .free-promotion__item-description {
        font-size: 12px;
    }

    /* Partner Section */
    .partner__title {
        font-size: 22px;
    }

    .partner__list-item {
        font-size: 12px;
    }

    /* Search/Contact Section */
    .search__title {
        font-size: 22px;
    }

    .search__text-description {
        font-size: 12px;
    }

    .search__map {
        height: 200px;
    }

    /* Services Page */
    .services__title {
        font-size: 20px;
    }

    .services__title-second {
        font-size: 14px;
    }

    .services__text {
        font-size: 12px;
    }

    /* Forms */
    .form__title {
        font-size: 22px;
    }

    .form__input {
        padding: 10px 12px;
        font-size: 12px;
    }

    /* Spacing */
    .section {
        padding: 40px 0;
    }

    /* Images */
    img {
        max-width: 100%;
        height: auto;
    }
}

/* ============================================
   ДОПОЛНИТЕЛЬНЫЕ УЛУЧШЕНИЯ
   ============================================ */

/* Плавные переходы для всех интерактивных элементов */
a,
button,
input,
textarea {
    transition: all 0.3s ease;
}

/* Предотвращение горизонтального скролла */
html,
body {
    overflow-x: hidden;
    width: 100%;
}

/* Улучшение читаемости на мобильных */
@media (max-width: 768px) {
    body {
        font-size: 14px;
        line-height: 1.6;
    }

    p {
        margin-bottom: 15px;
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        margin-bottom: 15px;
        line-height: 1.3;
    }
}

/* Улучшение тач-интерфейсов */
@media (max-width: 768px) {
    button,
    a,
    input,
    select,
    textarea {
        min-height: 44px;
        min-width: 44px;
    }

    .form__input,
    .stoks__form-input,
    .partner__form-input,
    .warranty__input,
    .free-promotion__input {
        min-height: 48px;
    }
}

/* Оптимизация изображений */
img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Адаптивные видео и iframe */
iframe,
video {
    max-width: 100%;
    height: auto;
}

.search__map {
    width: 100%;
    border: 0;
}

/* Grid fallback для старых браузеров */
@supports not (display: grid) {
    .promotion__box,
    .prices__box,
    .complex__box,
    .business__items {
        display: flex;
        flex-wrap: wrap;
    }

    .promotion__item,
    .prices__item,
    .complex__item,
    .business__item {
        flex: 1 1 300px;
        margin: 10px;
    }
}

/* Print styles */
@media print {
    .header,
    .footer,
    .hero__shapes,
    button {
        display: none !important;
    }

    body {
        font-size: 12pt;
        line-height: 1.5;
    }

    a[href]::after {
        content: " (" attr(href) ")";
    }
}