

/* Ноутбуки */
@media (max-width: 1640px) {
    .category_cards-item.visible {
        width: 400px;
    }
    .contact-form-container {
        transform: translate(-50%, -105%);
    }

}

/* Крупные телефоны / маленькие планшеты */
@media (max-width: 768px) {
    .category_cards-item.visible {
        width: 420px;
    }
}

/* Стандартные смартфоны (iPhone 13/14/15, Samsung S-серия) */
@media (max-width: 480px) {
    .header { display: none; }

    .top-content { padding-top: 70%; }

    .top-content h1 { font-size: 28px; }

    .top-btn { font-size: 1.3rem; }

    .service-block { margin-bottom: -10px; }

    .service_title-block h3 {
        font-size: 15px;
        text-align: center;
    }
    .service-container {
        flex-direction: column;
        gap: 20px;
     }
     .service-item { width: 100%; }

     .company_text-container { padding: 50px; }

     .service_item-img { filter: brightness(40%); }

     .service_item-content {
        transform: translateY(0);
        opacity: 1;
     }
    .process-block { margin-bottom: -90px; }

    .process_title-container h3 { text-align: center; }

    .process-container {
        flex-direction: column;
        padding-bottom: 90px;
    }

    .portfolio-block { margin-bottom: -90px; }

    .portfolio-container {
        display: flex;
        flex-direction: column;
        padding-bottom: 90px;
        align-items: center;
    }
    .portfolio-item { width: 70vw; }

    .portfolio-item-text {
        transform: translateY(0);
        opacity: 1;
    }
    .portfolio-item img { filter: brightness(40%); }

    .slider-wrapper { width: 80%; }

    .category-block { min-height: 120vh; }

    .construction_technology-item { flex: 0 0 100%; }

    .category-container {
        flex-direction: column;
        gap: 25px;
        padding-top: 80px;
    }

     .category-item {
        width: 100%;
        height: 300px;
     }

     .category-img { filter: brightness(40%); }

     .category-text {
        opacity: 1;
        transform: translateY(0);
     }

     .product-container { padding: 70px 20px; }

     .product-description {
        width: 90%;
        font-size: 1rem;
     }

     .product_item-gallery { height: 11vh; }

     .mobile-bottom-nav { display: flex; }

     .contact_us-block {
        width: 100vw;
        height: 76vh;
     }
     .close-btn {
        width: 10vw;
        height: 10vw;
     }

     .close-btn img {
        width: 100%;
        height: 100%
     }

     .contact_us-block-name { margin-top: 40px; }

     .category_cards-container {
        display: flex;
        flex-direction: column;
        align-items: center;
     }
     .category_cards-item.visible {
        width: 90vw;
        height: 65vh;
     }


      .certain_portfolio-block {
        padding-top: 150px; /* Уменьшаем верхний отступ */
        min-height: auto; /* Отменяем фиксированную высоту */
    }

    /* Основной контейнер - вертикальная раскладка */
    .certain_portfolio-container {
        flex-direction: column;
        height: auto;
        width: 90%;
        gap: 30px;
        padding-bottom: 40px;
    }

    /* Галерея - уменьшаем размер */
    .portfolio_gallery_3d-wrapper {
        width: 100%;
        aspect-ratio: 16 / 9;
        height: 60vh;
        max-height: 500px;
    }

    /* Стрелки навигации - уменьшаем размер и корректируем позиционирование */
    .gallery-arrow {
        width: 40px;
        height: 40px;
        font-size: 14px;
    }

    .port_prev-btn {
        left: 10px;
        top: 50%;
        transform: translateY(-50%);
    }

    .port_next-btn {
        right: 10px;
        top: 50%;
        transform: translateY(-50%);
    }

    /* Контент - уменьшаем отступы и размеры */
    .certain_portfolio_content-container {
        width: 100%;
        gap: 25px;
        padding: 0 15px;
        margin-top: 30px;
    }

    .certain_portfolio_content-container h1,
    .certain_portfolio_content-container h2 {
        font-size: 1.5rem;
    }

    .portfolio_features-container {
        gap: 10px;
    }

    .portfolio_features-item {
        width: 120px;
        height: 25px;
        font-size: 0.85rem;
    }

    .certain_portfolio_text {
        margin-left: 0;
        padding: 15px;
        font-size: 0.9rem;
    }

    /* Для очень маленьких экранов */
    @media (max-width: 480px) {
        .certain_portfolio-block {
            padding-top: 100px;
        }

        .portfolio_gallery_3d-wrapper {
            height: 50vh;
        }

        .certain_portfolio_content-container h1,
        .certain_portfolio_content-container h2 {
            font-size: 1.3rem;
        }

        .portfolio_features-item {
            width: 100px;
            height: 20px;
            font-size: 0.75rem;
        }

        .certain_portfolio_text {
            padding: 12px;
            font-size: 0.85rem;
        }

        /* Скрытие стрелок на очень маленьких экранах */
        .gallery-arrow {
            display: none;
        }
    }
}

/* Компактные (iPhone SE, старые Android) */
@media (max-width: 360px) {

}






/* ============================================
   АДАПТИВНЫЕ СТИЛИ (MEDIA QUERIES)
   ============================================ */

/* ========== LAPTOPS (1024px - 1200px) ========== */
@media screen and (max-width: 1200px) {
    .product_main-title {
        font-size: 48px;
    }

    .product-container {
        padding: 70px 20px;
    }

    .product-img {
        width: 75%;
        height: 50vh;
    }

    .product_item-gallery-container {
        width: 75%;
    }

    .modal_calculator-container {
        width: 90%;
    }

    .foundation_content-container {
        width: 60%;
    }

    .calculate_price-btn-container {
        width: 90%;
    }
}

/* ========== TABLETS (768px - 1024px) ========== */
@media screen and (max-width: 1024px) {
    .product_main-title {
        font-size: 42px;
    }

    .product-container {
        padding: 60px 15px;
    }

    .product-img {
        width: 85%;
        height: 45vh;
    }

    .product_item-gallery-container {
        width: 85%;
    }

    .gallery-btn {
        width: 200px;
    }

    /* Параметры проекта */
    .project_params-container {
        justify-content: center;
    }

    .project_params-item {
        width: 160px;
        height: 160px;
    }

    /* Комплектация */
    .complectation-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .complectation-lists-wrapper {
        column-count: 1;
    }

    .complectation-list {
        font-size: 16px;
    }

    /* Калькулятор */
    .modal_calculator-block {
        width: 85vw;
        height: 75vh;
    }

    .modal_calculator-container {
        width: 95%;
    }

    .foundation_btn-container {
        width: 95%;
    }

    .foundation_content-container {
        width: 75%;
        flex-direction: column;
    }

    .params_content-img {
        width: 100%;
        height: 140px;
    }

    .params_content-text {
        width: 100%;
        height: auto;
        min-height: 140px;
    }

    /* Контактная форма */
    .product_contact_offer-block {
        height: auto;
        min-height: 100vh;
    }

    .contact-form-container {
        padding: 30px;
        max-width: 500px;
    }

    .contact-form-container h2 {
        font-size: 24px;
    }

    /* Кнопки */
    .online_calculator-btn {
        width: 240px;
        height: 80px;
        font-size: 20px;
    }

    .calculate_price-btn {
        width: 240px;
        height: 80px;
        font-size: 20px;
    }
}

/* ========== PLANSHETS (600px - 768px) ========== */
@media screen and (max-width: 768px) {
    .product_main-title {
        font-size: 36px;
        margin-bottom: 30px;
    }

    .category_cards-title { font-size: 38px; }

    .product-container {
        padding: 50px 15px;
    }

    .product-item {
        min-height: auto;
    }

    .product-img {
        width: 90%;
        height: 40vh;
    }

    .product_item-gallery-container {
        width: 90%;
    }

    .gallery-btn {
        width: 180px;
    }

    /* Параметры проекта */
    .project_param-title {
        margin-top: 40px;
        font-size: 28px;
    }

    .project_params-container {
        gap: 15px;
    }

    .project_params-item {
        width: 140px;
        height: 140px;
        font-size: 9px;
    }

    .project_params-item h3 {
        font-size: 14px;
    }

    .project_params-item p {
        font-size: 16px;
    }

    /* Комплектация */
    .complectation-block {
        padding: 20px;
        margin-top: 40px;
    }

    .complectation-header h1 {
        font-size: 20px;
    }

    .complectation-title {
        font-size: 18px;
    }

    .complectation-section-title {
        font-size: 20px;
    }

    .complectation-list li {
        font-size: 16px;
        margin-bottom: 10px;
    }

    /* Калькулятор */
    .modal_calculator-block {
        width: 95vw;
        height: 70vh;
    }

    .modal_calculator-content h1 {
        font-size: 24px;
        margin-top: 30px;
    }

    .modal_calculator-content h2 {
        font-size: 20px;
    }

    .progress-bar-value {
        font-size: 16px;
        padding: 6px 15px;
    }

    .progress-bar {
        height: 10px;
    }

    .progress-bar-thumb {
        width: 20px;
        height: 20px;
    }

    .foundation_btn-container {
        gap: 15px;
    }

    .param-btn {
        flex: 0 0 160px;
        height: 80px;
        font-size: 14px;
        padding: 8px;
    }

    .foundation_content-container {
        width: 90%;
        margin: 60px auto;
    }

    .params_content-img {
        height: 120px;
    }

    .params_content-text {
        padding: 20px;
        font-size: 16px;
        gap: 12px;
    }

    /* Контактная форма */
    .contact-form-container {
        padding: 25px;
        width: 95%;
    }

    .contact-form-container h2 {
        font-size: 22px;
        margin-bottom: 25px;
    }

    .form-group input,
    .form-group select {
        padding: 12px 15px;
        font-size: 14px;
    }

    .form-group.checkbox label {
        font-size: 12px;
    }

    /* Кнопки */
    .online_calculator-btn {
        width: 220px;
        height: 70px;
        font-size: 18px;
        margin: 40px auto;
    }

    .calculate_price-btn {
        width: 220px;
        height: 70px;
        font-size: 18px;
    }

    .calculate_price-btn-container {
        margin: 40px auto;
    }

    .close_calculator-btn {
        width: 50px;
        height: 50px;
        top: 5%;
        right: 5%;
    }

    /* Модальное окно заявки */
    .price-request-content {
        width: 95%;
    }

    .contact_form-container {
        padding: 25px;
    }

    .calculate_price_submit-btn {
        width: 80%;
        height: 6vh;
    }
}

/* ========== MOBILE PHONES (320px - 600px) ========== */
@media screen and (max-width: 600px) {
    .cookie-banner {
        width: 90%;
        bottom: 8%;
        border-radius: 12px;
    }
    .sort-filter-container { justify-content: center; }

    .sort-filter { flex-direction: column; }

    .checkbox-input { transform: translateY(3px); }

    .options-grid-2x3 {
        grid-template-columns: 1fr;
        grid-template-rows: repeat(6, 1fr);
      }

      .options-grid-2x3 .option-btn {
        height: 100px;
        flex-direction: row;
        align-items: center;
      }

      .options-grid-2x3 .option-image {
        width: 100px;
        height: 100%;
        border-radius: var(--lq-radius-sm) 0 0 var(--lq-radius-sm);
      }

      .options-grid-2x3 .option-radio {
        position: static;
        margin-left: auto;
      }
    .contact_us-block h1 { font-size: 24px; }
    .footer {
        height: auto;
        min-height: 60vh;
        padding: 40px 0;
        width: 100%;
    }
    .social_media-container h1 { font-size: 22px; }

    .contact_us_main-container {
        flex-wrap: wrap;
        gap: 25px;
        padding: 25px;
        width: 95%;
        height: auto;
    }
    .logo-container,
    .company_info-container,
    .social_media-container {
        width: 100%;
        flex: 0 0 100%;
        height: auto;
    }
    .logo-container {
        align-items: center;
        text-align: center;
    }
    .logo-container img {
        width: 160px;
        height: auto;
        margin: 0 auto 15px;
    }
    /* Убираем ломаный padding-top, который ломал мобильную версию */
    .social_media-container {
        padding-top: 0;
        margin-top: 10px;
        order: 2;
    }
    .company_info-container {
        order: 1;
    }
    #yandex-map {
        height: 300px;
        width: 100%;
    }
    .product_main-title {
        font-size: 28px;
        margin-bottom: 25px;
    }

    .product-container {
        padding: 40px 10px;
    }

    .product-img {
        width: 100%;
        height: 35vh;
    }

    .product_item-gallery-container {
        width: 100%;
    }

    .gallery-btn {
        width: 150px;
    }

    .product_item-gallery {
        gap: 8px;
        padding: 8px 5px;
    }

    /* Параметры проекта */
    .project_param-title {
        font-size: 24px;
        margin-top: 30px;
    }

    .project_params-container {
        gap: 12px;
    }

    .project_params-item {
        width: 110px;
        height: 130px;
        padding: 10px;
    }

    .project_params-item h3 {
        font-size: 12px;
    }

    .project_params-item p {
        font-size: 14px;
    }

    .t {
        width: 40px;
        height: 40px;
    }

    /* Комплектация */
    .complectation-block {
        padding: 15px;
    }

    .complectation-block-roof {
        margin-top: 10px;
    }

    .complectation-header h1 {
        font-size: 18px;
    }

    .complectation-header h1:before {
        width: 16px;
        height: 16px;
    }

    .complectation-title {
        font-size: 16px;
    }

    .complectation-section-title {
        font-size: 18px;
    }

    .complectation-list {
        padding-left: 20px;
    }

    .complectation-list li {
        font-size: 14px;
        margin-bottom: 8px;
    }

    .complectation-list li:before {
        width: 5px;
        height: 5px;
        top: 6px;
    }

    /* Калькулятор */
    .modal_calculator-block {
        width: 100vw;
        height: 100vh;
        top: 50%;
        left: 50%;
        border-radius: 0;
    }

    .modal_calculator-content h1 {
        font-size: 20px;
        margin-top: 25px;
    }

    .modal_calculator-content h2 {
        font-size: 18px;
    }

    .modal_calculator-container {
        width: 100%;
        padding: 0 10px;
    }

    .progress-bar-value {
        font-size: 14px;
        padding: 5px 12px;
        min-width: 100px;
    }

    .progress-bar {
        height: 8px;
    }

    .progress-bar-thumb {
        width: 18px;
        height: 18px;
        top: -6px;
    }

    .progress-bar-label {
        font-size: 12px;
    }

    .foundation_btn-container {
        width: 100%;
        gap: 10px;
        padding-bottom: 15px;
    }

    .param-btn {
        flex: 0 0 130px;
        height: 70px;
        font-size: 13px;
        padding: 6px;
    }

    .foundation_content-container {
        width: 100%;
        margin: 40px auto;
        gap: 20px;
    }

    .params_content-img {
        height: 130px;
        width: 70%;
        margin: 30px auto;
    }

    .modal_calculator-content { padding-bottom: 55px; }

    .params_content-text {
        padding: 15px;
        font-size: 14px;
        gap: 10px;
        min-height: 120px;
        width: 90%;
        margin: 0 auto;
    }

    .param-price {
        font-size: 16px;
    }

    /* Контактная форма */
    .product_contact_offer-block {
        min-height: auto;
        padding: 40px 0;
    }

    .parallax-bg { display: none; }

    .product_contact_offer-block-roof {
        min-height: auto;
        padding: 40px 0;
        margin-top: 990px;
    }

    .contact-form-container {
        position: relative;
        top: 0;
        left: 0;
        transform: none;
        padding: 20px;
        width: 80%;
        max-width: 100%;
        margin: 0 auto;
    }

    .contact-form-container h2 {
        font-size: 20px;
        margin-bottom: 20px;
    }

    .form-group input,
    .form-group select {
        padding: 10px 12px;
        font-size: 14px;
    }

    .form-group.checkbox {
        display: flex;
        align-items: flex-start;
        gap: 10px;
    }

    .form-group.checkbox input {
        margin-top: 18px;
        width: 16px;
        height: 16px;
    }

    .form-group.checkbox label {
        font-size: 11px;
        line-height: 1.4;
    }

    /* Кнопки */
    .online_calculator-btn {
        width: 200px;
        height: 60px;
        font-size: 16px;
    }

    .calculate_price-btn {
        width: 200px;
        height: 60px;
        font-size: 16px;
    }

    .calculate_price-btn-container {
        margin: 30px auto;
        width: 100%;
    }

    .close_calculator-btn {
        width: 40px;
        height: 40px;
        top: 2%;
        right: 2%;
    }

    /* Модальное окно заявки */
    .price-request-content {
        width: 100%;
        margin: 0;
    }

    .contact_form-container {
        padding: 20px 15px;
        border-radius: 8px;
    }

    .price-summary {
        padding: 15px;
    }

    .price-summary-header h3 {
        font-size: 18px;
    }

    .price-value {
        font-size: 18px;
    }

    .price-details {
        grid-template-columns: 1fr;
    }

    .calculate_price_submit-btn {
        width: 100%;
        height: 50px;
        font-size: 16px;
    }
}

/* ========== SMALL PHONES (до 400px) ========== */
@media screen and (max-width: 400px) {
    .product_main-title {
        font-size: 24px;
    }

    .project_params-item {
        width: 90px;
        height: 120px;
        padding: 0;
    }

    .project_params-item p {
        font-size: 12px;
    }

    .param-btn {
        flex: 0 0 110px;
        height: 60px;
        font-size: 12px;
    }

    .online_calculator-btn,
    .calculate_price-btn {
        width: 180px;
        height: 55px;
        font-size: 14px;
    }
}

/* ========== LANDSCAPE ORIENTATION (для телефонов) ========== */
@media screen and (max-width: 768px) and (orientation: landscape) {
    .product-img {
        height: 50vh;
    }

    .contact-form-container {
        max-height: 90vh;
        overflow-y: auto;
    }

    .modal_calculator-block {
        height: 95vh;
    }
}

/* ========== PRINT STYLES ========== */
@media print {
    .online_calculator-btn,
    .calculate_price-btn,
    .close_calculator-btn,
    .modal_calculator-block,
    .price-request-modal {
        display: none !important;
    }

    .product-container {
        padding: 20px;
    }

    .product-img {
        width: 100%;
        height: auto;
    }
}