@font-face {
    font-family: 'CeraPro';
    src: url('CeraPro-Italic.eot');
    src: local('Cera Pro Italic'), local('CeraPro-Italic'),
        url('CeraPro-Italic.eot?#iefix') format('embedded-opentype'),
        url('CeraPro-Italic.woff') format('woff'),
        url('CeraPro-Italic.ttf') format('truetype');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'CeraPro';
    src: url('CeraPro-Regular.eot');
    src: local('Cera Pro Regular'), local('CeraPro-Regular'),
        url('CeraPro-Regular.eot?#iefix') format('embedded-opentype'),
        url('CeraPro-Regular.woff') format('woff'),
        url('CeraPro-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'CeraPro';
    src: url('CeraPro-BlackItalic.eot');
    src: local('Cera Pro Black Italic'), local('CeraPro-BlackItalic'),
        url('CeraPro-BlackItalic.eot?#iefix') format('embedded-opentype'),
        url('CeraPro-BlackItalic.woff') format('woff'),
        url('CeraPro-BlackItalic.ttf') format('truetype');
    font-weight: 900;
    font-style: italic;
}

@font-face {
    font-family: 'CeraPro';
    src: url('CeraPro-Light.eot');
    src: local('Cera Pro Light'), local('CeraPro-Light'),
        url('CeraPro-Light.eot?#iefix') format('embedded-opentype'),
        url('CeraPro-Light.woff') format('woff'),
        url('CeraPro-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'CeraPro';
    src: url('CeraPro-BoldItalic.eot');
    src: local('Cera Pro Bold Italic'), local('CeraPro-BoldItalic'),
        url('CeraPro-BoldItalic.eot?#iefix') format('embedded-opentype'),
        url('CeraPro-BoldItalic.woff') format('woff'),
        url('CeraPro-BoldItalic.ttf') format('truetype');
    font-weight: bold;
    font-style: italic;
}

@font-face {
    font-family: 'CeraPro';
    src: url('CeraPro-Black.eot');
    src: local('Cera Pro Black'), local('CeraPro-Black'),
        url('CeraPro-Black.eot?#iefix') format('embedded-opentype'),
        url('CeraPro-Black.woff') format('woff'),
        url('CeraPro-Black.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
}

@font-face {
    font-family: 'CeraPro';
    src: url('CeraPro-Medium.eot');
    src: local('Cera Pro Medium'), local('CeraPro-Medium'),
        url('CeraPro-Medium.eot?#iefix') format('embedded-opentype'),
        url('CeraPro-Medium.woff') format('woff'),
        url('CeraPro-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'CeraPro';
    src: url('CeraPro-Bold.eot');
    src: local('Cera Pro Bold'), local('CeraPro-Bold'),
        url('CeraPro-Bold.eot?#iefix') format('embedded-opentype'),
        url('CeraPro-Bold.woff') format('woff'),
        url('CeraPro-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'CeraPro';
    src: url('CeraPro-Thin.eot');
    src: local('Cera Pro Thin'), local('CeraPro-Thin'),
        url('CeraPro-Thin.eot?#iefix') format('embedded-opentype'),
        url('CeraPro-Thin.woff') format('woff'),
        url('CeraPro-Thin.ttf') format('truetype');
    font-weight: 100;
    font-style: normal;
}

@font-face {
    font-family: 'CeraPro';
    src: url('CeraPro-MediumItalic.eot');
    src: local('Cera Pro Medium Italic'), local('CeraPro-MediumItalic'),
        url('CeraPro-MediumItalic.eot?#iefix') format('embedded-opentype'),
        url('CeraPro-MediumItalic.woff') format('woff'),
        url('CeraPro-MediumItalic.ttf') format('truetype');
    font-weight: 500;
    font-style: italic;
}

@font-face {
    font-family: 'CeraPro';
    src: url('CeraPro-LightItalic.eot');
    src: local('Cera Pro Light Italic'), local('CeraPro-LightItalic'),
        url('CeraPro-LightItalic.eot?#iefix') format('embedded-opentype'),
        url('CeraPro-LightItalic.woff') format('woff'),
        url('CeraPro-LightItalic.ttf') format('truetype');
    font-weight: 300;
    font-style: italic;
}

@font-face {
    font-family: 'CeraPro';
    src: url('CeraPro-ThinItalic.eot');
    src: local('Cera Pro Thin Italic'), local('CeraPro-ThinItalic'),
        url('CeraPro-ThinItalic.eot?#iefix') format('embedded-opentype'),
        url('CeraPro-ThinItalic.woff') format('woff'),
        url('CeraPro-ThinItalic.ttf') format('truetype');
    font-weight: 100;
    font-style: italic;
}
.sub-menu-item {
    font-size: 14px !important;
}
.podrobnee_btn:hover i {
    transform: translateX(5px); /* Сдвигаем иконку вправо на 5 пикселей */
    transition: transform 0.3s ease;
}
.podrobnee_btn {
    transition: transform 0.3s ease;
}

.podrobnee_btn:hover {
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
    transition: box-shadow 0.3s ease;
}
.podrobnee_btn::before {
    content: "";
    position: absolute;
    top: 0;
    left: -75%;
    width: 50%;
    height: 100%;
    background: linear-gradient(
            120deg,
            transparent,
            rgba(255, 255, 255, 0.4),
            transparent
    );
    transform: skewX(-20deg);
}
p.text-slate-400.max-w-xl.mx-auto {
    line-height: 22px !important;
    font-weight: 300 !important;
}
p.text-slate-400.max-w-xl {
    line-height: 22px !important;
    font-weight: 300 !important;
}

@keyframes shine {
    0% {
        left: -75%;
    }
    100% {
        left: 125%;
    }
}
.podrobnee_btn i {
    transition: transform 0.3s ease;
    margin-right: 0px !important;
    margin-bottom: -2px;
}
ul.py-2.border-y.border-slate-100.flex.items-center.list-none {
    border-bottom: 0;
    padding-bottom: 0;
}

#open-filters {
    background-color: #000;
    border: 1px solid #000;
    color: #fff;
    width: auto;

}
h3.bg-black {
  background-color: #000;
    font-size: 18px;
    font-weight: 500;
}
a.bg-black {
    background-color: #000;
    font-size: 12px;
    font-weight: 400;
    text-transform: lowercase;
    padding: 10px 30px !important;
    transition: all 0.2s ease-in-out;
}
input.bg-black {
    background-color: #000;
    font-weight: 400;
    transition: all 0.2s ease-in-out;
    border-radius: 0 10px 10px 0 !important;
}
input.bg-black.searchbtn:hover {
    background-color: #222;
    transition: all 0.2s ease-in-out;
}

/*ФИЛЬТРЫ ОКНО*/

#filters-modal {
    width: 300px;
    max-width: 90vw;
    height: 100vh;
    transform: translateX(-100%);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: -10px 0 30px rgba(0, 0, 0, 0.15);
    border-right: 1px solid #e5e7eb;
    background: white;
    z-index: 50;
    position: fixed;
    top: 0;
    left: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
}

/* Темная тема */
.dark #filters-modal {
    background: #111827;
    border-right: 1px solid #374151;
}

/* Анимация открытия */
#filters-modal.open {
    transform: translateX(0);
}

/* Заголовок */
#filters-modal h3 {
    font-weight: 600;
    color: #111827;
}

.dark #filters-modal h3 {
    color: #f3f4f6;
}

/* Подложка */
#filters-backdrop {
    position: fixed;
    inset: 0;
    background: linear-gradient(90deg, rgba(0,0,0,0.1), rgba(0,0,0,0.5));
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    z-index: 40;
}

#filters-backdrop.open {
    opacity: 1;
    visibility: visible;
}

/* === Фильтры === */
.form-input,
.form-select {
    border-radius: 8px;
    border: 1px solid #d1d5db;
    font-size: 14px;
    transition: border-color 0.3s, box-shadow 0.3s;
}

.dark .form-input,
.dark .form-select {
    background: #1f2937;
    border-color: #374151;
    color: #f9fafb;
}

.form-input:focus,
.form-select:focus {
    border-color: #4F46E5 !important;
    box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.1);
    outline: none;
}

/* Слайдеры */
#price-slider,
#area-slider {
    --connect-bg: #4F46E5;
}

#price-slider .noUi-connect,
#area-slider .noUi-connect {
    background: var(--connect-bg) !important;
    box-shadow: 0 1px 3px rgba(79, 70, 229, 0.3);
    border-radius: 4px;
}

#price-slider .noUi-handle,
#area-slider .noUi-handle {
    width: 18px;
    height: 18px;
    border: 3px solid #4F46E5;
    background: white;
    border-radius: 50%;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
    cursor: ew-resize;
}

#price-slider .noUi-handle:focus,
#area-slider .noUi-handle:focus {
    outline: none;
    box-shadow: 0 0 0 4px rgba(79, 70, 229, 0.3);
}

/* Кнопки */
#apply-filters {
    background: #4F46E5;
    border: none;
    font-weight: 500;
    transition: background 0.3s, transform 0.1s;
}

#apply-filters:hover {
    background: #4338ca;
    transform: translateY(-1px);
}

#reset-filters {
    background: #6b7280;
    transition: background 0.3s;
}

#reset-filters:hover {
    background: #4b5563;
}

/* Кнопка закрытия */
#close-filters {
    font-size: 28px;
    line-height: 1;
    color: #6b7280;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background 0.2s, color 0.2s;
}

#close-filters:hover {
    background: #f3f4f6;
    color: #111827;
}

.dark #close-filters:hover {
    background: #374151;
    color: #f3f4f6;
}

/* Адаптивность */
@media (min-width: 1024px) {
    #filters-modal {
        width: 360px;
    }
}