/**
 * Раздел /shop/ — подключается в конец <head> (init.php: cashboomInjectShopAdaptiveCssEndOfHead).
 * Обёртка контента: .cb-shop-page (shop/detail.php).
 *
 * Маркер сетки карточки: .cb-shop-detail__grid (+ legacy .detail_page, .detail_page_shop).
 */

.row.cb-shop-detail__grid > [class*="col-"],
.row.detail_page > [class*="col-"],
.row.detail_page_shop > [class*="col-"] {
    min-width: 0;
}

@media screen and (max-width: 767px) {

    /*
     * Один «глобальный» запрет горизонтального скролла страницы (init.php: class cb-shop-layout на body).
     * Не дублировать overflow-x на .cb-shop-page — иначе появляются лишние области прокрутки.
     */
    html body.cb-shop-layout {
        overflow-x: hidden;
        position: relative;
    }

    /*
     * Центральная колонка: отступы от краёв экрана; ширина без вложенного overflow.
     */
    html body .cb-shop-page {
        max-width: 100%;
        min-width: 0;
        padding-left: 15px;
        padding-right: 15px;
        box-sizing: border-box;
    }

    /* Карточка / рейтинг / табы (в т.ч. шаблон на проде, которого может не быть в git) */
    html body .cb-shop-page .detail_snippet_shop,
    html body .cb-shop-page .detail_snippet,
    html body .cb-shop-page .rating-top-line,
    html body .cb-shop-page .tab-label,
    html body .cb-shop-page .tab_section_detail_shop,
    html body .cb-shop-page .dcashbox {
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    html body .cb-shop-page .breadcrumb,
    html body .cb-shop-page .bx-breadcrumb {
        max-width: 100%;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    html body .cb-shop-page .container,
    html body .cb-shop-detail.container {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    /* Внутри раздела магазина не даём bootstrap-рядам «вылезать» за padding .cb-shop-page */
    html body .cb-shop-page .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
        max-width: 100% !important;
    }

    /* Все колонки bootstrap в этом блоке — колонка на всю ширину (в т.ч. вложенные .col-sm-* без .row) */
    html body .cb-shop-page [class*="col-xs-"],
    html body .cb-shop-page [class*="col-sm-"],
    html body .cb-shop-page [class*="col-md-"],
    html body .cb-shop-page [class*="col-lg-"] {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    html body .row.cb-shop-detail__grid .pull-left,
    html body .row.cb-shop-detail__grid .pull-right,
    html body .row.detail_page .pull-left,
    html body .row.detail_page .pull-right,
    html body .row.detail_page_shop .pull-left,
    html body .row.detail_page_shop .pull-right {
        float: none !important;
    }

    html body .row.cb-shop-detail__grid > [class*="col-"],
    html body .row.detail_page > [class*="col-"],
    html body .row.detail_page_shop > [class*="col-"] {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    /* Текст из инфоблока: без горизонтального скролла у всего блока — только у широких таблиц */
    html body .cb-shop-detail__full {
        max-width: 100%;
        min-width: 0;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    html body .cb-shop-detail__full img,
    html body .cb-shop-detail__full iframe,
    html body .cb-shop-detail__full embed,
    html body .cb-shop-detail__full object,
    html body .cb-shop-detail__full video {
        max-width: 100% !important;
        height: auto;
    }

    html body .cb-shop-detail__full table {
        display: block;
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        table-layout: fixed;
    }

    .cb-shop-detail__title,
    .detail-page-h1 {
        font-size: 22px;
        line-height: 1.25;
        word-wrap: break-word;
        overflow-wrap: anywhere;
    }

    .detail_snippet_shop {
        margin-bottom: 20px;
        text-align: center;
    }

    .detail_snippet_shop .go_btn {
        display: inline-block;
        margin-top: 10px;
    }

    .rating-top-line {
        margin-left: 0;
        margin-right: 0;
    }

    .rating-top-line__info {
        margin-left: 0 !important;
        margin-right: 0;
    }

    html body .row.cb-shop-detail__grid .nav-tabs > li,
    html body .row.detail_page .nav-tabs > li,
    html body .row.detail_page_shop .nav-tabs > li {
        float: none;
        width: 100%;
        margin-bottom: 4px;
    }

    html body .row.cb-shop-detail__grid .nav-tabs > li > a,
    html body .row.detail_page .nav-tabs > li > a,
    html body .row.detail_page_shop .nav-tabs > li > a {
        white-space: normal;
        text-align: left;
    }

    table.coupon_items {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    table.coupon_items tbody,
    table.coupon_items thead {
        display: block;
        width: 100%;
    }

    table.coupon_items tr {
        display: block;
        width: 100%;
        margin: 0 0 16px;
        padding-bottom: 12px;
        border-bottom: 1px solid #e5e5e5;
    }

    table.coupon_items tr.notap {
        display: none !important;
    }

    table.coupon_items td {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
        text-align: center !important;
        padding: 8px 6px !important;
    }

    table.coupon_items td.cName {
        text-align: left !important;
        word-wrap: break-word;
        overflow-wrap: anywhere;
    }

    table.coupon_items img {
        max-width: 100%;
        height: auto;
    }

    table.coupon_items .cougo_btn {
        display: inline-block;
        margin-top: 6px;
    }

    .detail_cash_size {
        list-style: none;
        padding-left: 0;
        margin-left: 0;
        margin-right: 0;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .detail_cash_size > li {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        margin: 0 0 14px;
        padding: 0 0 12px;
        border-bottom: 1px solid #eee;
        float: none !important;
        clear: both;
    }

    .detail_cash_size__percent {
        flex-shrink: 0;
        max-width: 100%;
    }

    .detail_cash_size__sep {
        display: none !important;
    }

    .detail_cash_size__name {
        flex: none !important;
        width: 100% !important;
        max-width: 100%;
        word-wrap: break-word;
        overflow-wrap: anywhere;
        line-height: 1.35;
    }

    html body .row.cb-shop-detail__grid .dcashbox,
    html body .row.detail_page .dcashbox,
    html body .row.detail_page_shop .dcashbox {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    html body .row.cb-shop-detail__grid .dcashbox h3,
    html body .row.detail_page .dcashbox h3,
    html body .row.detail_page_shop .dcashbox h3 {
        font-size: 18px;
        line-height: 1.3;
        word-wrap: break-word;
    }

    html body .cb-shop-detail img,
    html body .cb-shop-page img {
        max-width: 100%;
        height: auto;
    }

    html body .row.cb-shop-detail__grid table:not(.coupon_items),
    html body .row.detail_page table:not(.coupon_items),
    html body .row.detail_page_shop table:not(.coupon_items) {
        max-width: 100%;
        table-layout: fixed;
    }

    .shop-page__coupons {
        display: block;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .shop-page__coupons > h3 {
        word-wrap: break-word;
        overflow-wrap: anywhere;
    }

    .coupon-list-inner__item {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .coupon-list-inner {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .bx-pagination-container ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 4px;
        padding-left: 0;
    }

    .bx-pagination-container li {
        margin: 2px;
    }

    .cb-shop-page .container .breadcrumb,
    .container .breadcrumb {
        font-size: 12px;
        word-wrap: break-word;
    }
}
