/* AV-Parts — мобильная оптимизация (все страницы) */

html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body.home-page {
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
}

/* Safe area для iPhone */
.home-header {
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
}
.home-footer {
    padding-bottom: env(safe-area-inset-bottom);
}

/* Шапка — компактнее на узких экранах */
@media (max-width: 767px) {
    .home-header__inner {
        height: 3.5rem;
        padding: 0 0.75rem;
        gap: 0.5rem;
    }
    .home-header__logo img {
        height: 2.25rem;
        max-width: 140px;
    }
    .home-header__actions {
        gap: 0.35rem;
    }
    .home-btn-icon {
        min-width: 2.5rem;
        min-height: 2.5rem;
        padding: 0.4rem;
    }
    .home-menu-toggle {
        min-width: 2.5rem;
        min-height: 2.5rem;
    }
}

/* Кнопки на всю ширину */
@media (max-width: 479px) {
    .home-btn,
    .page-actions .home-btn,
    .home-cta-row .home-btn {
        width: 100%;
        justify-content: center;
    }
    .page-actions {
        flex-direction: column;
    }
    .home-cta-row {
        flex-direction: column;
    }
}

/* Внутренние страницы */
@media (max-width: 767px) {
    .page-main {
        padding: 1.25rem 0 2.5rem;
    }
    .page-wrap {
        padding: 0;
    }
    .page-card {
        padding: 1.125rem 1.25rem;
        border-radius: var(--swamp-radius);
    }
    .page-h1 {
        font-size: clamp(1.375rem, 5vw, 1.875rem);
    }
    .page-lead {
        font-size: 1rem;
    }
    .page-breadcrumbs {
        font-size: 0.8125rem;
        line-height: 1.5;
        word-break: break-word;
    }
    .page-prose {
        font-size: 0.9375rem;
    }
    .page-prose h2 {
        font-size: 1.125rem;
    }
}

/* Tailwind-сетки на контентных страницах */
@media (max-width: 767px) {
    body.home-page .grid,
    body.home-page [class*="grid-cols"] {
        grid-template-columns: 1fr !important;
    }
    body.home-page .max-w-7xl,
    body.home-page .max-w-6xl,
    body.home-page .max-w-5xl,
    body.home-page .max-w-4xl {
        padding-left: 0;
        padding-right: 0;
    }
    body.home-page main .px-4,
    body.home-page main .px-6 {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
}

/* Главная */
@media (max-width: 767px) {
    .home-hero {
        padding: 1.5rem 0 2rem;
    }
    .home-hero__grid {
        gap: 1.5rem;
    }
    .home-section {
        padding: 2.5rem 0;
    }
    .home-h1 {
        font-size: clamp(1.5rem, 6vw, 2.25rem);
    }
    .home-h2 {
        font-size: clamp(1.25rem, 4.5vw, 1.75rem);
    }
    .home-lead {
        font-size: 1rem;
    }
    .home-mockup__table {
        font-size: 0.6875rem;
    }
    .home-mockup__table th,
    .home-mockup__table td {
        padding: 0.375rem 0.25rem;
    }
    .home-stats {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.75rem;
    }
    .home-footer__grid {
        gap: 1.5rem;
    }
    .home-footer__bottom {
        flex-direction: column;
        text-align: center;
        gap: 0.5rem;
    }
}

/* Каталог — сворачиваемые фильтры */
.catalog-filters-toggle {
    display: none;
}
@media (max-width: 1023px) {
    .catalog-filters-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        width: 100%;
        margin-bottom: 1rem;
        padding: 0.75rem 1rem;
        border: 1px solid var(--swamp-border);
        border-radius: 10px;
        background: var(--swamp-surface);
        color: var(--swamp-text);
        font-size: 0.9375rem;
        font-weight: 600;
        font-family: inherit;
        cursor: pointer;
        box-shadow: var(--swamp-shadow);
    }
    .catalog-filters-toggle svg {
        width: 1.125rem;
        height: 1.125rem;
        color: var(--swamp-primary);
    }
    .catalog-sidebar {
        display: none;
        position: static;
        top: auto;
        margin-bottom: 0;
    }
    .catalog-sidebar.is-open {
        display: block;
    }
    .catalog-page {
        padding: 1rem 0 2rem;
    }
    .catalog-main {
        padding: 1.125rem;
    }
    .catalog-main__head h1 {
        font-size: 1.25rem;
    }
    .catalog-toolbar {
        flex-direction: column;
        align-items: stretch;
    }
    .catalog-toolbar .home-btn {
        width: 100%;
        justify-content: center;
    }
    #products-container.is-products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 0.75rem !important;
    }
}
@media (max-width: 380px) {
    #products-container.is-products {
        grid-template-columns: 1fr !important;
    }
}

/* Страница товара */
@media (max-width: 1023px) {
    .pv-grid {
        grid-template-columns: 1fr !important;
    }
    .pv-gallery {
        width: 100%;
        max-width: none;
        border-right: none;
        border-bottom: 1px solid var(--swamp-border);
    }
    .pv-gallery__panel {
        max-width: 360px;
        margin: 0 auto;
    }
    .pv-details {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: 1fr !important;
        padding: 1.25rem;
        gap: 1.25rem;
    }
    .pv-details__main,
    .pv-details__side {
        width: 100%;
    }
}
@media (max-width: 479px) {
    .product-page {
        padding: 1rem 0 2rem;
    }
    .pv-cta {
        flex-direction: column !important;
    }
    .pv-cta .home-btn {
        width: 100%;
    }
    .pv-price-box {
        padding: 1rem;
    }
    .pv-form-card {
        padding: 1rem;
    }
    .pv-trust {
        flex-direction: column;
        gap: 0.5rem;
    }
}

/* Модальные окна и формы */
@media (max-width: 767px) {
    .contact-modal-content {
        width: 94%;
        max-width: none;
        padding: 1.25rem;
        margin: 0.75rem;
        max-height: calc(100vh - 1.5rem);
        max-height: calc(100dvh - 1.5rem);
        border-radius: 12px;
    }
    .contact-modal-close {
        top: 0.5rem;
        right: 0.5rem;
    }
    .form-input,
    .form-textarea,
    .catalog-input,
    .catalog-select {
        font-size: 16px !important;
    }
    .form-submit {
        width: 100%;
        min-height: 2.75rem;
    }
}

/* Таблицы — горизонтальный скролл */
@media (max-width: 767px) {
    body.home-page table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        max-width: 100%;
    }
}

/* Изображения в контенте не вылезают за экран (не трогаем логотип в шапке) */
body.home-page main img,
body.home-page main video,
body.home-page main iframe,
body.home-page .page-prose img {
    max-width: 100%;
    height: auto;
}

/* Убираем hover-подъём на touch */
@media (hover: none) {
    .catalog-product:hover,
    .category-pill:hover,
    .home-btn--primary:hover {
        transform: none;
    }
}
