
.grid .bx_content_section{
	margin-bottom: 15px;
}
.grid .bx_sidebar{
	margin-bottom: 15px;
}

/* grid2x1 */

.grid2x1 .bx_content_section{
	float: left;
	width: 66%;
	margin-bottom: 15px;
}
.grid2x1 .bx_sidebar{
	float: right;
	width: 33%;
	margin-bottom: 15px;
	padding-left: 5%;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
}

/* ===== AGE FILTER ===== */

.age-filter {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 25px;
    margin: 90px 0 65px 0; /* отступы сверху и снизу */
}

.age-filter__btn {
    display: inline-flex;
    align-items: center;
    padding: 16px 24px;
    
    border-radius: 4px;
    border: 1px solid #005C67;
    background: #FFFFFF;
    
    font-family: "tt-commons-pro", sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 12.6px;
    letter-spacing: 1.12px;
    text-transform: uppercase;
    color: #005C67;
    
    cursor: pointer;
    transition: all 0.3s ease;
}

.age-filter__btn:hover {
    background: rgba(0, 92, 103, 0.11);
}

.age-filter__btn.is-active {
    background: #005C67;
    color: #FFF;
}

.age-filter__btn.is-active:hover {
    background: #004A52; /* немного темнее при ховере активной */
}

/* ===== SORT DROPDOWN ===== */
/* ===== SORT DROPDOWN ===== */

.sort-dropdown {
    display: flex;
    justify-content: flex-end;
    margin: 30px 0;
}

.sort-dropdown__trigger {
    display: inline-flex;
    align-items: center;
    gap: 19px;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
    position: relative;
    color: #005C67;
}

.sort-dropdown__label {
    font-family: "PT Astra Serif", serif;
    font-size: 22px;
    font-style: italic;
    font-weight: 500;
    line-height: 12.6px;
    color: #005C67;
}

.sort-dropdown__icons {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
}

.sort-dropdown__icons img {
    width: 22px;
    height: 22px;
}

/* Popup */
.sort-popup {
    position: absolute;
    top: calc(100% + 35px);  /* ← ЗДЕСЬ управляется отступ вниз от label */
    left: 15px;
    z-index: 1000;
    
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    pointer-events: none;
}

.sort-popup.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.sort-popup__arrow {
    position: absolute;
    top: -33px;  /* ← ЗДЕСЬ управляется положение треугольника */
    left: 15px;
    width: 35px;
    height: 33px;
    pointer-events: none;
}

.sort-popup__arrow svg {
    width: 100%;
    height: 100%;
}

.sort-popup__items {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 9px;
    
    padding: 16px 24px;
    width: max-content;
    min-width: 201px;
    
    border-radius: 4px;
    background: #005C67;
    cursor: default;
}


.sort-popup__item {
    color: #F8F8F3;
    font-family: "tt-commons-pro", sans-serif;
    font-size: 12px;
    font-weight: 600;  /* ← ВСЕГДА 600 */
    letter-spacing: 1.12px;
    text-transform: uppercase;
    
    padding: 4px 8px;  /* ← padding всегда 4px */
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.2s ease;  /* ← только background, без font-weight */
    width: 100%;
    box-sizing: border-box;
}

.sort-popup__item:hover {
    text-decoration: underline;
    text-underline-offset: 2px;
}

.sort-popup__item.is-active {
    background: rgba(255, 255, 255, 0.20);
	
}

#catalog-filter {
    scroll-margin-top: 150px; /* высота твоей шапки + отступ */
}


.catalog-block-header{
	font-size:14px;
	font-weight: bold;
	text-align: left;
	margin:5px 0;
	padding:5px 15px;
	border-bottom: 2px solid #d9dee6;
	color: #000;
}

body.bx-theme-blue .catalog-block-header{border-color:#006cc0;}
body.bx-theme-green .catalog-block-header{border-color:#63aa28;}
body.bx-theme-red .catalog-block-header{border-color:#da3737;}
body.bx-theme-yellow .catalog-block-header{border-color:#f4b236;}

#catalog-items-container {
    margin-bottom: 100px;
}

#catalog-items-container:has(.pagination-loader) {
    margin-bottom: 0;
}


/* ===== 1024px — планшет: фильтр слева, сорт справа ===== */
@media (max-width: 1024px) {
    .age-filter {
        justify-content: flex-start;
        margin: 45px 0 0 0;
        float: left;
        width: auto;
        max-width: 60%;
        gap: 10px;
        flex-wrap: wrap;
    }

    .sort-dropdown {
        float: right;
        width: auto;
        margin: 45px 0 100px 0;
        height: 45px;
        display: flex;
        align-items: center;
    }

    /* Clearfix после сортировки */
    #catalog-items-container {
        clear: both;
        margin-top: 100px;
    }

    .grid2x1 .bx_sidebar {
        padding-left: 4%;
    }
}

/* ===== 768px ===== */
@media (max-width: 768px) {
    .age-filter {
        gap: 10px;
    }


    .grid2x1 .bx_content_section,
    .grid2x1 .bx_sidebar {
        width: 100%;
        float: none;
    }

    .grid2x1 .bx_sidebar {
        padding-left: 3%;
    }

    .pagination-loader {
        margin-top: 30px;
        margin-bottom: 30px;
    }

        .sort-popup {
        left: auto;
        right: 0;
    }

    .sort-popup__arrow {
        left: auto;
        right: 15px;
    }
}

@media (max-width: 640px) {
    .age-filter {
        max-width: 50%;
    }
}

/* ===== 580px — мобилка ===== */
@media (max-width: 580px) {
    .age-filter {
        float: none;
        max-width: 100%;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
        margin: 30px 0 35px 0;
    }

    .sort-dropdown {
        float: none;
        justify-content: center;
        margin: 0 0 0 0;
        height: auto;
    }

        .sort-popup {
        left: 50%;
        right: auto;
        transform: translateX(-50%);
    }

    .sort-popup.active {
        transform: translateX(-50%) translateY(0);
    }

    .sort-popup__arrow {
        left: 50%;
        right: auto;
        transform: translateX(-50%);
    }

    #catalog-items-container {
        clear: none;
        margin-top: 60px;
    }

    .grid2x1 .bx_sidebar {
        padding-left: 1%;
    }

    .pagination-loader {
        margin-top: 20px;
        margin-bottom: 20px;
    }
}