.rp-section-filter-toggle { display: none; }
.rp-section-filter-dialog:not([open]) { display: none; }
.rp-section-filter-open { overflow: hidden; }
.rp-section-filter-dialog {
    position: fixed;
    inset: auto 0 0;
    box-sizing: border-box;
    width: min(100%, 640px);
    max-width: 100%;
    height: calc(100vh - 90px);
    height: calc(100dvh - 90px);
    max-height: calc(100dvh - 24px);
    margin: 0 auto;
    padding: 0;
    border: 0;
    border-radius: 20px 20px 0 0;
    background: #fff;
    color: #161616;
    font-family: Montserrat, Arial, sans-serif;
}
.rp-section-filter-dialog[open] { display: flex; flex-direction: column; }
.rp-section-filter-dialog::backdrop { background: linear-gradient(to bottom, transparent 62px, rgba(0, 0, 0, .24) 62px); }
.rp-section-filter-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 24px 15px 0;
    flex-shrink: 0;
}
.rp-section-filter-head h2 { margin: 0; font-size: 24px; line-height: 1.2; }
.rp-section-filter-close {
    position: relative;
    width: 24px;
    height: 24px;
    padding: 0;
    border: 1px solid #4074a4;
    border-radius: 50%;
    background: #fff;
    color: #4074a4;
    font: 300 20px/20px Arial, sans-serif;
    cursor: pointer;
}
.rp-section-filter-close::after { content: ''; position: absolute; inset: -10px; }
.rp-section-filter-icon { display: inline-flex; color: #000; }
.rp-section-filter-has-footer .rp-filter-sticky-bar,
.rp-section-filter-has-footer .bx-filter-button-box,
.rp-section-filter-has-footer .rp-filter-buttons { display: none !important; }
.rp-section-filter-footer {
    flex-shrink: 0;
    padding: 16px 12px max(12px, env(safe-area-inset-bottom));
    border-radius: 8px 8px 0 0;
    background: #fff;
    box-shadow: 0 0 8px rgba(74, 85, 123, .15);
    text-align: center;
}
.rp-section-filter-count { margin-bottom: 8px; font-size: 13px; line-height: 1.2; }
.rp-section-filter-apply {
    display: block;
    width: 100%;
    min-height: 44px;
    border: 0;
    border-radius: 8px;
    background: #4074a4;
    color: #fff;
    font: 600 20px/1.2 Montserrat, Arial, sans-serif;
    cursor: pointer;
}
.rp-section-filter-apply:disabled { opacity: .55; cursor: wait; }
.rp-section-filter-reset {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 8px;
    padding: 8px 16px;
    border: 1px solid #c5c5c5;
    border-radius: 8px;
    background: #f4f6f8;
    color: #161616;
    font: 400 13px/1.2 Montserrat, Arial, sans-serif;
    cursor: pointer;
}
.rp-section-filter-reset span { width: 16px; height: 16px; border: 1px solid #4074a4; border-radius: 50%; color: #4074a4; line-height: 14px; }
.rp-section-filter-content {
    flex: 1;
    overflow-y: auto;
    overscroll-behavior: contain;
    min-height: 0;
    padding: 32px 15px max(24px, env(safe-area-inset-bottom));
}
.rp-section-filter-dialog .romanapro_left_smart_filter,
.rp-section-filter-dialog .bx-filter { width: 100%; min-width: 0; }
.rp-section-filter-dialog .rp-smart-filter-root {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0;
}
.rp-section-filter-dialog .bx-filter.rp-smart-filter-root .bx-filter-section { width: 100%; box-sizing: border-box; background: #fff; padding: 0; }
.rp-section-filter-dialog .rp-filter-sticky-bar { top: -32px; margin: 0; padding: 0; border: 0; box-shadow: none; }
.rp-section-filter-dialog .rp-filter-sticky-bar__title { display: none; }
.rp-section-filter-dialog .rp-filter-sticky-bar__actions { display: flex; width: 100%; gap: 12px; }
.rp-section-filter-dialog .rp-filter-sticky-bar__button { flex: 1; min-height: 44px; font-size: 14px; }
.rp-section-filter-dialog .rp-filter-sticky-bar__actions { padding-bottom: 20px; }
.rp-section-filter-dialog .rp-filter-box { border: 0; border-radius: 0; background: #fff; }
.rp-section-filter-dialog .rp-filter-box-title { padding: 0; background: transparent; }
.rp-section-filter-dialog .rp-filter-box-title .bx-filter-parameters-box-hint,
.rp-section-filter-dialog .rp-filter-group__title {
    display: block;
    margin: 0 0 16px;
    color: #161616;
    font: 600 20px/1.2 Montserrat, Arial, sans-serif;
    text-transform: none;
}
.rp-section-filter-dialog .rp-filter-box .bx-filter-block { padding: 0; margin: 0; }
.rp-section-filter-dialog .rp-filter-group { margin: 0 0 32px; }
.rp-section-filter-dialog .rp-filter-group:not(.rp-filter-group--compact) > .rp-filter-box { margin-bottom: 32px; }
.rp-section-filter-dialog .rp-filter-group > .rp-filter-box:last-child { margin-bottom: 0; }
.rp-section-filter-dialog .rp-smart-filter-root .bx-filter-param-text {
    top: 0;
    color: #161616;
    padding-left: 56px;
    font: 400 16px/1.4 Montserrat, Arial, sans-serif;
}
.rp-section-filter-dialog .rp-filter-group--compact .rp-filter-box { margin-bottom: 12px; }
.rp-section-filter-dialog .rp-filter-checkbox-row { margin-bottom: 12px; }
.rp-section-filter-dialog .bx-filter-param-label { margin: 0; }
.rp-section-filter-dialog .bx-filter-input-checkbox input:focus-visible ~ .bx-filter-param-text::before { outline: 2px solid #4074a4; outline-offset: 2px; }

@media (max-width: 1024px) {
    .rp-catalog-section .romanapro_block_meta_series_main {
        min-width: 0;
        padding: 0;
        margin: 0 0 24px;
        border: 0;
    }
    .rp-catalog-section .romanapro_block_meta_series_main .owl-carousel { display: block !important; }
    .rp-catalog-section .romanapro_block_meta_seriya_igrovoe_link,
    .rp-catalog-section .romanapro_block_meta_seriya_skam_link {
        width: 100%;
        height: 196px;
        padding: 132px 4px 0;
        justify-content: flex-start;
        font-size: 14px;
        line-height: 20px;
    }
    .rp-catalog-section .romanapro_block_meta_series_main img[class$="_link_img"],
    .rp-catalog-section .romanapro_block_meta_series_main .romanapro_block_meta_seriya_tren_link_img {
        width: 100% !important;
        height: 124px;
        object-fit: contain;
        top: 0;
        bottom: auto !important;
    }
    .rp-catalog-section .romanapro_block_meta_series_main .romanapro_block_meta_seriya_skam_link_circle {
        width: 112px;
        height: 112px;
        top: 8px;
        bottom: auto;
    }
    .rp-catalog-section .romanapro_block_meta_series_main img[class^="romanapro_series_"] { display: none; }
    .rp-catalog-section .romanapro_block_meta_series_main .owl-theme .owl-dots,
    .rp-catalog-section .romanapro_block_meta_series_main .owl-theme .owl-nav.disabled + .owl-dots { margin-top: 8px; }
    .rp-catalog-section-page .header_margin_top { margin-top: 62px; }
    body .rp-catalog-section { padding: 0 15px !important; gap: 0; }
    .rp-catalog-section .romanapro_block_left_catalog { display: none !important; }
    .rp-catalog-section .romanapro_block_right_catalog { width: 100% !important; min-width: 0; }
    .rp-catalog-section .romanapro_catalog_heading {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        gap: 12px;
        margin-bottom: 16px;
    }
    .rp-catalog-section .romanapro_catalog_heading h1 {
        grid-column: 1 / -1;
        margin: 16px 0 0;
        font-size: 24px;
        line-height: 1.2;
    }
    .rp-catalog-section .romanapro_sort { justify-self: end; min-width: 0; }
    .rp-section-filter-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        min-height: 40px;
        padding: 0 14px;
        border: 1px solid #d9d9d9;
        border-radius: 8px;
        background: #fff;
        color: #2d2d2d;
        font: 500 14px/1.2 Montserrat, Arial, sans-serif;
        cursor: pointer;
    }
    .rp-catalog-section .product__list {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: stretch;
        gap: 14px !important;
        width: 100%;
        margin: 0 !important;
    }
    .rp-catalog-section .product__list > .product-item {
        box-sizing: border-box;
        width: 100% !important;
        max-width: none !important;
        min-width: 0;
        margin: 0 !important;
        padding: 12px;
    }
    .rp-catalog-section .product__list > .product-banner { grid-column: 1 / -1; }
    .rp-catalog-section .item_detail .item_title { height: auto; min-height: 3.6em; }
    .rp-catalog-section .item_detail .item_title a { overflow-wrap: anywhere; }
    .rp-catalog-section .romanapro_catalog_colors { flex-wrap: wrap; }
    .rp-catalog-section .product-item .item-link .romanapro_catalog_load_icon.tooltip .tooltiptext {
        width: min(230px, calc((100vw - 42px) / 2 - 24px));
        padding: 8px;
        overflow-wrap: anywhere;
    }
    .rp-catalog-section .item_detail__top .item_buttons,
    .rp-catalog-section .product-item:hover .item_detail__top .item_buttons {
        display: block;
        position: static;
        width: 100%;
        padding: 0;
        border: 0;
        box-shadow: none;
    }
    .rp-catalog-section .item_buttons_plashka { display: none; }
    .rp-catalog-section .item_buttons .button_white_little {
        box-sizing: border-box;
        min-height: 44px;
        width: 100%;
        margin: 16px 0 0;
        padding: 10px 8px;
        font-size: 14px;
    }
    .rp-catalog-section .projects-banner-btn {
        font-size: clamp(13px, 2.3vw, 20px);
        min-height: 36px;
        width: max-content;
        max-width: 80%;
        padding: 6px 12px;
        box-sizing: border-box;
    }
    .rp-catalog-section-page .b24-widget-button-position-bottom-right {
        right: 76px !important;
        bottom: 12px !important;
        transform: scale(.7);
        transform-origin: bottom right;
    }
    .rp-catalog-section-page .romanapro_fixed_right_icons {
        right: 12px;
        bottom: 12px;
        transform: scale(.7);
        transform-origin: bottom right;
    }
    .rp-section-filter-open .b24-widget-button-wrapper,
    .rp-section-filter-open .romanapro_fixed_right_icons,
    .rp-catalog-section-page:has(.romanaModal_tablet-visibility) .b24-widget-button-wrapper,
    .rp-catalog-section-page:has(.romanaModal_tablet-visibility) .romanapro_fixed_right_icons { visibility: hidden; }
}
@media (max-width: 600px) {
    .rp-catalog-section .product__list { gap: 12px !important; }
    .rp-catalog-section .product__list > .product-item { padding: 8px; }
    .rp-catalog-section .item_buttons .button_white_little { gap: 6px; font-size: 13px; }
    .rp-catalog-section .product-banner-projects .projects-banner-btn {
        top: auto;
        bottom: 6%;
        height: auto;
    }
}
@media (max-width: 360px) {
    .rp-catalog-section-page #mobile-logo-block { width: 120px; flex: 0 1 120px; min-width: 0; }
    .rp-catalog-section-page #mobile-logo-block svg,
    .rp-catalog-section-page #mobile-logo-block img { width: 100%; height: auto; }
}
