@media (max-width: 768px) {
/* 1. БАЗОВЫЙ СБРОС И ОГРАНИЧЕНИЕ ПЕРЕПОЛНЕНИЯ */
*,
*::before,
*::after {
    box-sizing: border-box !important;
}

html, body {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important; /* Убирает горизонтальный скролл */
    -webkit-text-size-adjust: 100%;  
}

/* 2. РЕЗИНОВЫЕ МЕДИАФАЙЛЫ И ВИДЖЕТЫ */
img, 
picture, 
video, 
canvas, 
svg {
    max-width: 100% !important;
    height: auto !important;
}

iframe, 
embed, 
object {
    max-width: 100% !important;
    width: 100% !important;
}
  
    /* --- СБРОС ТАБЛИЧНОЙ ВЕРСТКИ И ФИКСИРОВАННЫХ ШИРИН --- */
    body,
    div,
    header,
    footer,
    main,
    /*section,*/
    article,
    aside,
    nav,
    .wrapper,
    .container,
    .content,
    .main,
    .header,
    .footer,
    #wrapper,
    #container,
    #content,
    #main,
    #header,
    #footer {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        float: none !important;
        /*position: static !important;*/
        clear: both !important;
        margin-left: 0 !important;
        margin-right: 0 !important;      
    }

    /* Преобразование старых таблиц макета в блочные элементы */
    table:not(.data-table):not(.price-table) {
        display: block !important;
        width: 100% !important;
    }

    table:not(.data-table):not(.price-table) > tbody,
    table:not(.data-table):not(.price-table) > thead,
    table:not(.data-table):not(.price-table) > tfoot,
    table:not(.data-table):not(.price-table) tr,
    table:not(.data-table):not(.price-table) td,
    table:not(.data-table):not(.price-table) th {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        clear: both !important;
        float: none !important;
    }

    /* --- ШАПКА И КОНТАКТНАЯ ИНФОРМАЦИЯ --- */
    header, .header, #header {
        padding: 15px 10px !important;
        text-align: center !important;
    }

    /* Логотип */
    header img, .logo img, #logo img {
        display: block !important;
        margin: 0 auto 15px auto !important;
        max-width: 85% !important;
        height: auto !important;
    }

    /* Телефоны и контакты — крупнее для удобного нажатия */
    .phone, .phones, .contacts, .header-phone, #phone {
        display: block !important;
        text-align: center !important;
        margin: 10px 0 !important;
        font-size: 18px !important;
        line-height: 1.4 !important;
    }

    a[href^="tel:"] {
        display: inline-block !important;
        padding: 8px 12px !important;
        font-weight: bold !important;
        font-size: 18px !important;
        text-decoration: none !important;
    }

    /* --- НАВИГАЦИЯ И МЕНЮ --- */
    nav, .menu, #menu, .nav, #nav, ul.menu, ul.nav {
        width: 100% !important;
        display: block !important;
        float: none !important;
        margin: 15px 0 !important;
        padding: 0 !important;
    }

    nav ul, .menu ul, #menu ul, .nav ul {
        display: block !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
    }

    nav li, .menu li, #menu li, .nav li {
        display: block !important;
        float: none !important;
        width: 100% !important;
        text-align: center !important;
        border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
    }

    nav a, .menu a, #menu a, .nav a {
        display: block !important;
        padding: 12px 15px !important;
        font-size: 16px !important;
        box-sizing: border-box !important;
        text-decoration: none !important;
    }

    /* --- ТЕКСТ, ЗАГОЛОВКИ И ОСНОВНОЙ КОНТЕНТ --- */
    .content, #content, .main-content, article, main {
        padding: 15px 12px !important;
    }

    h1 {
        font-size: 22px !important;
        line-height: 1.3 !important;
        margin: 15px 0 10px 0 !important;
        text-align: center !important;
    }

    h2 {
        font-size: 19px !important;
        line-height: 1.3 !important;
        margin: 15px 0 10px 0 !important;
    }

    h3, h4 {
        font-size: 17px !important;
        line-height: 1.3 !important;
    }

    p {
        font-size: 15px !important;
        line-height: 1.5 !important;
        margin-bottom: 12px !important;
    }

    /* --- ТАБЛИЦЫ ЦЕН И ДАННЫХ (ПРАЙС-ЛИСТ) --- */
    /* Делает прайс-листы скроллируемыми по горизонтали, чтобы не ломать верстку */
    .price-table, .data-table, table.prices {
        display: block !important;
        width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        white-space: nowrap !important;
        margin-bottom: 20px !important;
    }

    /* --- ФОРМЫ И КНОПКИ (Запись на прием) --- */
    form {
        width: 100% !important;
        box-sizing: border-box !important;
    }

    input[type="text"],
    input[type="tel"],
    input[type="email"],
    select,
    textarea {
        box-sizing:content-box !important;
        /*width: 100% !important;*/
        max-width: 100% !important;
        /*font-size: 16px !important;
        padding: 10px !important;
        margin-bottom: 10px !important;
        box-sizing: border-box !important;
        border: 1px solid #ccc !important;
        border-radius: 4px !important;*/
    }

    button, 
    input[type="submit"], 
    .btn, 
    .button {
        display: block !important;
        width: 100% !important;
        /*padding: 14px 20px !important;*/
        font-size: 16px !important;
        font-weight: bold !important;
        text-align: center !important;
        box-sizing: border-box !important;
        cursor: pointer !important;
        margin: 10px 0 !important;
    }

    /* --- КАРТА И ВИДЖЕТЫ --- */
    .map, #map, ymaps {
        width: 100% !important;
        max-width: 100% !important;
        height: 280px !important;
    }

    /* --- ПОДВАЛ (FOOTER) --- */
    footer, .footer, #footer {
        padding: 20px 12px !important;
        text-align: center !important;
        font-size: 13px !important;
        line-height: 1.6 !important;
    }

    footer div, footer p, .footer div, .footer p {
        float: none !important;
        width: 100% !important;
        text-align: center !important;
        margin-bottom: 10px !important;
    }
  
    .nivo-caption {
      background: none;
      right: auto;
    }
  
    .nivo-caption-inner p {
      text-shadow: 2px 2px 8px #000080;
    }
}

/* Дополнительная адаптация под совсем небольшие экраны (до 480px) */
@media (max-width: 480px) {
    h1 {
        font-size: 20px !important;
    }
    
    body {
        font-size: 14px !important;
    }
}