/**
 * Страницы услуг: таблицы цен (#main_price), текст и галереи
 */

/* Контент услуг не вылезает за экран */
table.uslugi {
    width: 100% !important;
    max-width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    box-sizing: border-box;
}

table.uslugi td {
    max-width: 100%;
    box-sizing: border-box;
    hyphens: none;
    -webkit-hyphens: none;
    word-break: normal;
    overflow-wrap: normal;
}

table.uslugi .ovilletext {
    font-size: 14px;
    line-height: 1.45;
}

.uslugi-price-scroll {
    width: 100%;
    max-width: 100%;
    margin: 0 auto 20px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
}

#main_price {
    width: 100%;
    max-width: 100%;
    margin: 0;
    border-collapse: collapse;
    table-layout: fixed;
    box-sizing: border-box;
}

#main_price td table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
}

#main_price td table td {
    padding: 0;
    border: 0;
}

#main_price td.price table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
}

#main_price td.price table td {
    padding: 0;
    border: 0;
}

#main_price td {
    vertical-align: middle;
    hyphens: none;
    -webkit-hyphens: none;
    word-break: normal;
    overflow-wrap: normal;
}

#main_price td.price {
    padding: 8px 6px;
}

table.uslugi #main_price tr.table-top font,
table.uslugi #main_price font.table-white,
table.uslugi #main_price font.table-dark,
table.uslugi #main_price font.table-viol,
table.uslugi #main_price font.table-bro,
table.uslugi #main_price font.table-white-titi {
    font-size: 12px !important;
    line-height: 1.35;
}

#main_price tr.table-top font {
    color: #ffffff;
}

table.uslugi #main_price font.rub-dark,
table.uslugi #main_price font.rub,
table.uslugi #main_price font.rub_v {
    font-size: 14px !important;
    line-height: 1.3;
}

table.uslugi #main_price .table-top font {
    font-size: 11px !important;
}

#main_price b {
    font-size: inherit;
    font-weight: 700;
}

/* ПК: крупнее шрифты и ровные колонки */
@media screen and (min-width: 780px) {
    #main_price {
        max-width: 760px;
        margin: 0 auto 24px;
    }

    #main_price tr.table-top font,
    #main_price font.table-white,
    #main_price font.table-white-titi {
        font-size: 14px !important;
        line-height: 1.4;
    }

    #main_price font.table-bro,
    #main_price font.table-dark,
    #main_price font.table-viol {
        font-size: 14px !important;
        line-height: 1.4;
    }

    #main_price font.rub-dark,
    #main_price font.rub,
    #main_price font.rub_v {
        font-size: 12px !important;
    }

    /* Суммы в ячейках с ценами */
    #main_price td.price table font.table-dark b,
    #main_price td.price table font.table-viol b,
    #main_price tr:not(.table-top) > td:not(:first-child) font.table-dark b {
        font-size: 18px !important;
        line-height: 1.3;
    }

    #main_price td.price table font.table-dark,
    #main_price td.price table font.table-viol,
    #main_price tr:not(.table-top) > td:not(:first-child) font.table-dark {
        font-size: 18px !important;
    }

    /* Колонки — фиксированные доли, цены по центру */
    #main_price td {
        vertical-align: middle;
        box-sizing: border-box;
    }

    #main_price td.price,
    #main_price tr:not(.table-top) > td:not(:first-child) {
        text-align: center !important;
    }

    #main_price td.price table,
    #main_price td.price table td,
    #main_price tr:not(.table-top) > td:not(:first-child) table,
    #main_price tr:not(.table-top) > td:not(:first-child) table td {
        width: 100%;
        margin: 0;
        text-align: center !important;
    }

    #main_price td.price font,
    #main_price tr:not(.table-top) > td:not(:first-child) font {
        text-align: center !important;
    }

    #main_price td.price table font.table-dark b,
    #main_price td.price table font.table-viol b,
    #main_price tr:not(.table-top) > td:not(:first-child) font.table-dark b {
        white-space: nowrap;
    }

    /* Бюджетный отдых: первая колонка по центру */
    #main_price tr:not(.table-top) > td:first-child {
        text-align: center !important;
    }

    /* Питание (таблица внутри table.uslugi): названия блюд слева */
    table.uslugi #main_price tr:not(.table-top) > td:first-child {
        text-align: left !important;
        padding-left: 24px;
    }

    #main_price tr.table-top td:first-child {
        width: 34%;
    }

    #main_price tr.table-top td:not(:first-child) {
        width: 22%;
    }
}

/* Галереи и картинки в тексте услуг */
.uslugi-gallery img,
table.uslugi .ovilletext img {
    display: block;
    max-width: 100%;
    width: 100%;
    height: auto;
    margin: 0 auto 16px;
    box-sizing: border-box;
}

@media screen and (max-width: 779px) {
    main .section-bottom {
        overflow-x: hidden;
        box-sizing: border-box;
    }

    table.uslugi .ovilletext {
        padding-left: 16px !important;
        padding-right: 16px !important;
        font-size: 13px;
        line-height: 1.45;
    }

    /* Общие стили для всех таблиц цен в услугах (питание + бюджетный отдых) */
    .uslugi-price-scroll {
        padding: 0 8px;
        overflow-x: hidden;
        max-width: 100%;
        box-sizing: border-box;
    }

    .uslugi-price-scroll #main_price {
        width: 100% !important;
        min-width: 0;
        table-layout: fixed;
    }

    .uslugi-price-scroll #main_price td[width] {
        width: auto !important;
        min-width: 0;
    }

    .uslugi-price-scroll #main_price font.table-white,
    .uslugi-price-scroll #main_price font.table-dark,
    .uslugi-price-scroll #main_price font.table-viol,
    .uslugi-price-scroll #main_price font.table-bro,
    .uslugi-price-scroll #main_price font.table-white-titi,
    .uslugi-price-scroll #main_price tr.table-top font {
        font-size: 10px !important;
        line-height: 1.15 !important;
    }

    .uslugi-price-scroll #main_price font.rub-dark,
    .uslugi-price-scroll #main_price font.rub,
    .uslugi-price-scroll #main_price font.rub_v {
        font-size: 8px !important;
        line-height: 1.15 !important;
    }

    .uslugi-price-scroll #main_price .table-top font,
    .uslugi-price-scroll #main_price tr.table-top font.table-white {
        font-size: 9px !important;
        line-height: 1.1 !important;
    }

    .uslugi-price-scroll #main_price tr.table-top td {
        height: auto !important;
        min-height: 28px;
        padding: 3px 1px;
        vertical-align: middle;
        overflow-wrap: anywhere;
    }

    .uslugi-price-scroll #main_price td.price {
        padding: 3px 1px;
    }

    .uslugi-price-scroll #main_price tr.table-level1 > td,
    .uslugi-price-scroll #main_price tr.table-level2 > td,
    .uslugi-price-scroll #main_price tr.table-level3 > td {
        vertical-align: middle !important;
        padding: 6px 1px !important;
    }

    .uslugi-price-scroll #main_price tr.table-level1 > td > table,
    .uslugi-price-scroll #main_price tr.table-level2 > td > table,
    .uslugi-price-scroll #main_price tr.table-level3 > td > table {
        margin: 0 auto;
        border-collapse: collapse;
    }

    .uslugi-price-scroll #main_price tr.table-level1 > td > table td,
    .uslugi-price-scroll #main_price tr.table-level2 > td > table td,
    .uslugi-price-scroll #main_price tr.table-level3 > td > table td {
        vertical-align: middle !important;
        padding: 0 !important;
        line-height: 1.15 !important;
    }

    .uslugi-price-scroll #main_price font.table-dark,
    .uslugi-price-scroll #main_price font.table-dark b {
        font-size: 10px !important;
        line-height: 1.15 !important;
    }

    .uslugi-price-scroll #main_price td table td {
        padding: 0 !important;
    }

    /* Бюджетный отдых: 4 колонки, таблица в div.uslugi-price-scroll */
    .uslugi-price-scroll > #main_price tr.table-top td:first-child,
    .uslugi-price-scroll > #main_price tr.table-level1 > td:first-child,
    .uslugi-price-scroll > #main_price tr.table-level2 > td:first-child {
        width: 28% !important;
    }

    .uslugi-price-scroll > #main_price tr.table-top td:nth-child(2),
    .uslugi-price-scroll > #main_price tr.table-top td:nth-child(3),
    .uslugi-price-scroll > #main_price tr.table-top td:nth-child(4),
    .uslugi-price-scroll > #main_price tr.table-level1 > td:nth-child(n+2),
    .uslugi-price-scroll > #main_price tr.table-level2 > td:nth-child(n+2) {
        width: 24% !important;
    }

    .uslugi-price-scroll > #main_price tr.table-level1 > td:first-child font.table-dark,
    .uslugi-price-scroll > #main_price tr.table-level2 > td:first-child font.table-dark,
    .uslugi-price-scroll > #main_price tr.table-level1 > td:first-child font.table-dark b,
    .uslugi-price-scroll > #main_price tr.table-level2 > td:first-child font.table-dark b {
        font-size: 12px !important;
        line-height: 1.15 !important;
        white-space: normal;
    }

    .uslugi-price-scroll > #main_price tr.table-level1 > td:first-child font.rub-dark,
    .uslugi-price-scroll > #main_price tr.table-level2 > td:first-child font.rub-dark {
        display: block;
        margin-top: 2px;
        font-size: 7px !important;
        line-height: 1.15 !important;
    }

    .uslugi-price-scroll > #main_price tr.table-level1 > td:nth-child(n+2) font.table-dark b,
    .uslugi-price-scroll > #main_price tr.table-level2 > td:nth-child(n+2) font.table-dark b {
        font-size: 14px !important;
        line-height: 1.15 !important;
        white-space: nowrap;
    }

    .uslugi-price-scroll > #main_price tr.table-level1 > td:nth-child(n+2) font.rub-dark,
    .uslugi-price-scroll > #main_price tr.table-level2 > td:nth-child(n+2) font.rub-dark {
        font-size: 8px !important;
        line-height: 1.15 !important;
    }

    /* Питание: 3 колонки, таблица внутри table.uslugi */
    table.uslugi .uslugi-price-scroll #main_price td[style*="padding"] {
        padding-left: 4px !important;
        padding-right: 2px !important;
    }

    table.uslugi .uslugi-price-scroll #main_price tr.table-top td:first-child,
    table.uslugi .uslugi-price-scroll #main_price tr.table-level2 td:first-child,
    table.uslugi .uslugi-price-scroll #main_price tr.table-level3 td:first-child {
        width: 28% !important;
    }

    table.uslugi .uslugi-price-scroll #main_price tr.table-top td:nth-child(2),
    table.uslugi .uslugi-price-scroll #main_price tr.table-top td:nth-child(3),
    table.uslugi .uslugi-price-scroll #main_price tr.table-level2 td:nth-child(2),
    table.uslugi .uslugi-price-scroll #main_price tr.table-level2 td:nth-child(3),
    table.uslugi .uslugi-price-scroll #main_price tr.table-level3 td:nth-child(2),
    table.uslugi .uslugi-price-scroll #main_price tr.table-level3 td:nth-child(3) {
        width: 36% !important;
    }

    table.uslugi .uslugi-price-scroll #main_price font.table-bro {
        font-size: 9px !important;
        line-height: 1.2 !important;
        display: inline-block;
    }

    table.uslugi .uslugi-price-scroll #main_price font.table-bro br {
        display: none;
    }

    table.uslugi .uslugi-price-scroll #main_price font.table-dark,
    table.uslugi .uslugi-price-scroll #main_price font.table-dark b {
        font-size: 11px !important;
        line-height: 1.2 !important;
    }

    table.uslugi .uslugi-price-scroll #main_price font.rub-dark {
        font-size: 8px !important;
    }
}
