﻿/* Левая панель */
.sliding-panel-left {
    position: fixed;
    top: 190px;
    left: -185px; /* Панель изначально спрятана за экраном */
    width: 220px; /* Ширина панели */
    height: calc(100vh - 190px);
    background: #FFFFFF;
    opacity: 1;
    border-radius: 0px 20px 20px 0px;
    box-shadow: 2px 0 8px rgba(0, 0, 0, 0.3);
    transition: left 0.3s ease; /* Плавное появление панели */
    z-index: 1000;
    overflow-y: auto;
    overflow-x: hidden;
    backdrop-filter: blur(2px);
    /* text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.5);*/
}

    /* Когда панель открыта, передвигаем её на видимую область */
    .sliding-panel-left.open {
        left: 0px;
    }

/* Содержимое панели */
.panel-content {
    background: #FFFFFF;
    display: flex;
    flex-direction: column; /* ✅ Элементы вертикально */
    gap: 4px !important; /* ✅ Уменьшаем расстояние */
    margin-top: 20px !important;
    margin-left: 10px !important;
    margin-right: 10px !important;
}

.toggle-button-arrow {
    position: relative;
    top: 15px;
    left: -20px; /* Расположение кнопки в левом верхнем углу */
    width: 20px;
    height: 20px;
    background: url('../images/arrow_left.png') no-repeat center center; /* Фоновое изображение */
    background-size: contain; /* Картинка масштабируется, чтобы поместиться в размеры кнопки */
    border: none !important; /* ✅ Отключает видимую рамку */
    z-index: 1100;
}

/* Кнопка для переключения панели с использованием изображения */
.toggle-button {
    position: relative;
    top: 17px;
    left: 186px; /* Расположение кнопки в левом верхнем углу */
    width: 30px; /* Ширина кнопки */
    height: 30px; /* Высота кнопки */
    background: url('../images/left_panel_icon.png') no-repeat center center; /* Фоновое изображение */
    background-size: contain; /* Картинка масштабируется, чтобы поместиться в размеры кнопки */
    border: none;
    border-radius: 5px;
    cursor: pointer;
    z-index: 1100;
    transition: filter 0.3s;
    transform: rotate(21.25deg); /* Поворот изображения */
    outline: none;
}

    .toggle-button:hover {
        filter: brightness(0.8);
    }

/* Основной контент страницы */
.content {
    margin-left: 0; /* По умолчанию контент без отступа */
    transition: margin-left 0.3s ease;
}

/* При открытой панели можно сместить контент вправо для удобства */
/*    .content.with-panel {
        margin-left: 250px;
    }
*/
/* Элемент-триггер раскрывающегося списка:
   применяются стили для рамки и скругления по вашим требованиям */

.dropdown-trigger {
    display: inline-flex; /* ✅ Устанавливаем размер по содержимому */
    align-items: center;
    justify-content: flex-start;
    width: 100% !important; /* ✅ Ограничиваем ширину */
    height: 25px;
    padding: 5px 2px; /* ✅ Компактные отступы */
    border-radius: 10px;
    border: 1px solid #c2b8ad !important;
    font-family: 'Ysabeau Infant Medium';
    font-style: normal;
    font-weight: 10;
    font-size: 10px;
    line-height: 10px;
    text-transform: uppercase;
    color: #3F2E21;
}


    /* При раскрытом меню заменяем иконку */
    .dropdown-trigger[data-state="open"] .dropdown-icon {
        background: url('../images/arrow_down.png') no-repeat center center;
        background-size: contain;
        border-radius: 30px;
        border: 1px solid #3F2E21 !important;
    }

.dropdown-icon {
    background: url('../images/arrow_right.png') no-repeat center center;
    background-size: contain; /* /*✅ Масштабирует изображение, чтобы оно целиком помещалось */
    width: 20px; /* ✅ Размер круга */
    height: 20px; /* ✅ Размер круга */
    border: 1px solid #D3C7BC;
    border-radius: 50%; /* ✅ Делает элемент кругом */
    display: inline-block; /* ✅ Гарантирует, что значок будет отображаться корректно */
    margin-right: 10px;
}

/* Стили для элементов вложенного (раскрывающегося) списка */
.dropdown-menu-item {
    /* Применяем стиль шрифта для выпадающего списка */
    font-family: 'Ysabeau Infant Regular';
    font-style: normal;
    font-weight: 400 !important;
    font-size: 10px !important; /* ✅ Размер шрифта */
    color: #3F2E21 !important;
    margin-bottom: 5px !important;
    margin-top: 5px !important;
}

.dropdown-menu-item-second {
    /* Применяем стиль шрифта для выпадающего списка */
    font-family: 'Ysabeau Infant Regular';
    font-style: normal;
    font-weight: 400 !important;
    font-size: 9px !important; /* ✅ Размер шрифта */
    color: #3F2E21 !important;
    margin-bottom: 3px !important;
    margin-top: 3px !important;
    margin-left: 10px !important;
}

.dropdown-menu-item-trigger {
    /* Применяем стиль шрифта для выпадающего списка еще одного родителя */
    font-family: 'Ysabeau Infant Regular';
    font-style: normal;
    font-weight: 400 !important;
    font-size: 10px !important; /* ✅ Размер шрифта */
    color: #3F2E21 !important;
    margin-bottom: 0px !important;
    margin-top: 0px !important;
    white-space: nowrap !important;
}

.dropdown-icon-submenu {
    background: url('../images/arrow_submenu.png') no-repeat center center;
    background-size: contain; /* /*✅ Масштабирует изображение, чтобы оно целиком помещалось */
    width: 12px; /* ✅ Размер круга */
    height: 12px; /* ✅ Размер круга */
    display: inline-block; /* ✅ Гарантирует, что значок будет отображаться корректно */
    margin-right: 40px;
}

.submenu:hover {
    border: 1px solid #A38C7C !important;
    transition: background 0.3s ease, border 0.3s ease;
}

/* ✅ Меняем фон и цвет текста при клике */
.submenu.selected, .submenu.selected * {
    background: #A38C7C !important;
    color: #FFFFFF !important;
}

.rz-navigation-item-icon-children {
    display: none !important; /* ✅ Убирает стандартную иконку */
}

/* Убираем стандартное выделение Radzen */
.rz-navigation-item,
.rz-navigation-item-wrapper,
.rz-navigation-item-link {
    background: transparent !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    font-weight: 400;
    font-size: 10px;
    line-height: 4px;
    text-transform: uppercase;
    margin-bottom: 0px !important;
    padding: 1px !important; /* Нужно чтобы не убирался бордер при нажатии на элементы меню, наприме "Натальная ката" */
}


/* Правая панель */
.sliding-panel-right {
    position: fixed;
    top: 190px;
    right: -185px; /* Панель изначально спрятана за экраном */
    width: 220px; /*   Ширина панели */
    height: calc(100vh - 190px);
    background: #E9E4DD;
    opacity: 1;
    border-radius: 20px 0px 0px 20px;
    box-shadow: 2px 0 8px rgba(0, 0, 0, 0.3);
    transition: right 0.3s ease; /* Плавное появление панели */
    z-index: 1000;
    overflow-y: auto;
}

    .sliding-panel-right * {
        overflow-x: hidden !important;
    }


    /* Когда панель открыта, передвигаем её на видимую область */
    .sliding-panel-right.open {
        right: 0px;
    }

        .sliding-panel-right.open .toggle-button-right-arrow {
            background: url('../images/arrow_panel_right.png') no-repeat center center; /* ✅ Значок для открытой панели */
        }

.toggle-button-right-arrow {
    position: relative;
    top: 15px;
    right: -10px; /* Расположение кнопки в правом верхнем углу */
    width: 20px;
    height: 20px;
    background: url('../images/arrow_left_down.png') no-repeat center center; /* Фоновое изображение */
    background-size: contain; /* Картинка масштабируется, чтобы поместиться в размеры кнопки */
    border: none !important; /* ✅ Отключает видимую рамку */
    z-index: 1100;
}

/* Содержимое панели */
.panel-right-content {
    background: #E9E4DD;
    display: flex;
    flex-direction: column; /* ✅ Элементы вертикально */
    gap: 4px !important; /* ✅ Уменьшаем расстояние */
    margin-top: 20px !important;
    margin-left: 10px !important;
    margin-right: 10px !important;
}

.right-menu-item {
    font-family: 'Ysabeau Infant SemiBold';
    font-style: normal;
    font-weight: 600;
    font-size: 12px;
    line-height: 16px;
    text-transform: uppercase;
    color: #131313;
    margin-bottom: 5px !important;
    margin-top: 5px !important;
}
/* ✅ Меняем значок при наведении */
/*    .right-menu-item:hover .point-icon {
        background: url('../images/point-hover.png') no-repeat center center;
    }
*/

.point-icon {
    background: url('../images/point.png') no-repeat center center;
    background-size: contain; /* /*✅ Масштабирует изображение, чтобы оно целиком помещалось */
    width: 5px; /* ✅ Размер круга */
    height: 5px; /* ✅ Размер круга */
    display: inline-block; /* ✅ Гарантирует, что значок будет отображаться корректно */
    margin-right: 10px;
}

.parent-right-menu:hover {
    border: 1px solid #A38C7C !important;
    transition: background 0.3s ease, border 0.3s ease;
}

    .parent-right-menu:hover .point-icon {
        transition: background 0.3s ease, border 0.3s ease;
        width: 14px;
        height: 14px;
        background: url('../images/point_hover.png') no-repeat center center;
    }

/* ✅ Меняем фон и цвет текста при клике */
.parent-right-menu.selected, .parent-right-menu.selected * {
    background: #FFFFFF !important;
    border-radius: 30px !important;
}

/* ✅ Верхние кнопки */

.button-container {
    position: absolute;
    left: 200px; /* ✅ Начало кнопок с 200px */
    /* right: 200px;  ✅ Начало кнопок с 200px */
    top: 39px; /* ✅ Расположение сверху */
    display: flex;
    gap: 5px; /* ✅ Расстояние между кнопками */
    opacity: 1 !important;
    z-index:1000;
}


.menu-top-button {
    min-height: unset !important;
    max-height: unset !important;
    position: relative;
    width: 150px;
    height: 25px !important;
    max-height: 25px !important;
    background: rgba(163, 140, 124, 0.2) !important;
    box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.25);
    border-radius: 30px;
    font-family: 'Ysabeau Infant Regular';
    font-style: normal;
    font-weight: 500;
    font-size: 12px;
    line-height: 1px !important;
    text-align: center;
    text-transform: uppercase;
    color: #000000 !important;
    padding: 0px 1px !important; /* ✅ Добавляем отступы */
    border: none;
    cursor: pointer;
    transition: all 0.3s ease; /* ✅ Плавные эффекты */
    word-spacing: -1px; /* ✅ Уменьшает пробелы между словами */
    letter-spacing: -0.5px; /* ✅ Уменьшает расстояние между буквами */
}

    .menu-top-button:hover {
        background: rgba(163, 140, 124, 0.4); /* ✅ Затемнение при наведении */
        box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);
    }

    .menu-top-button:active {
        background: rgba(163, 140, 124, 0.6); /* ✅ Эффект при нажатии */
        box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.4);
    }

    /* ✅ Меняем фон и цвет текста при клике */
    .menu-top-button.selected, .menu-top-button.selected * {
        background: #A38C7C !important;
        color: #FFFFFF !important;
    }

.white-button {
    min-height: unset !important;
    max-height: unset !important;
    position: relative;
    width: 150px;
    height: 25px !important;
    max-height: 25px !important;
    background: #FFFFFF !important;
    box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.25) !important;
    border-radius: 20px !important;
    font-family: 'Ysabeau SC Regular';
    font-style: normal;
    font-weight: 400;
    font-size: 20px;
    line-height: 27px;
    text-align: center;
    text-transform: uppercase;
    color: #3F2E21 !important;
    padding: 0px 1px !important; /* ✅ Добавляем отступы */
    border: none;
    cursor: pointer;
    transition: all 0.3s ease; /* ✅ Плавные эффекты */
    word-spacing: -1px; /* ✅ Уменьшает пробелы между словами */
    letter-spacing: -0.5px; /* ✅ Уменьшает расстояние между буквами */
}

.button-moon-icon {
    width: 8px; /* ✅ Размер иконки */
    height: 8px;
    /*background: url('../images/icon.png') no-repeat center center;
    background-size: contain;*/
}

.button-white-icon {
    width: 16px; /* ✅ Размер иконки */
    height: 16px;
    margin-right: 10px;
}

.date-container {
    display: none;
    position: absolute; /* ✅ Позиционируем под кнопкой */
    top: 100%; /* ✅ Раскрытие прямо под кнопкой */
    left: 0;
    /*width: 100%;  ✅ Оставляем внутри кнопки */
    background: #FFFFFF;
    border: 1px solid #A38C7C;
    border-radius: 20px;
    padding: 10px;
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);
    z-index: 1000;
}

.astro-calendar-date-row {
    display: flex;
    justify-content: flex-start;
    margin-bottom: 5px;
}

.astro-calendar-date-item {
    font-family: 'Ysabeau SC Regular';
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 21px;
    text-align: center;
    text-transform: uppercase;
    color: #3F2E21;
    padding: 5px;
    display: inline-block; /* ✅ Корректное позиционирование */
    min-width: 26px; /* ✅ Фиксированная ширина дат */
}

.astro-calendar-past-date {
    color: #777; /* ✅ Затемняем прошедшие даты */
    opacity: 0.6;
}

.astro-calendar-today-highlight {
    background: #A38C7C; /* ✅ Выделение фоном */
    border: 0.5px solid #3F2E21;
    color: #FFFFFF; /* ✅ Меняем цвет текста */
    font-weight: bold;
    padding: 5px;
}

.astro-natal-info-container {
    margin-top: 50px;
    padding: 10px;
    font-family: 'Ysabeau Infant Medium';
    font-style: normal;
    font-weight: 500;
    font-size: 14px;
    line-height: 3px;
    color: #3F2E21;
}

.astro-natal-info-native {
    display: flex;
    flex-direction: column;
}

    .astro-natal-info-native .text-content {
        padding-top: 100px;
    }

    .astro-natal-info-native canvas {
        padding-top: 0; /* Убеждаемся, что канва без отступа */
    }

/*.astro-other-info-container {
    position: absolute;
    top: 85px;
    right: 50px;*/
/*  padding: 10px;*/
/*font-family: 'Ysabeau Infant Medium';
    font-style: normal;
    font-weight: 500;
    font-size: 14px;
    line-height: 3px;
    color: #3F2E21;
}*/

/*.astro-natal-square-container {
    position: absolute;
    top: 125px;
    right: 40px;
    width: 420px;
    max-width: 800px;*/ /* Ограничиваем максимальную ширину */
/*font-family: 'Ysabeau Infant Medium';
    font-weight: 500;
    font-size: 14px;
    color: #3F2E21;
    white-space: nowrap;*/ /* Запрещаем перенос по умолчанию */
/*overflow: visible;
}*/

.astro-other-info-container {
    position: absolute;
    top: 75px;
    right: 40px;
    width: 510px;
    max-width: 800px; /* Ограничиваем максимальную ширину */
    font-family: 'Ysabeau Infant Medium';
    font-weight: 500;
    font-size: 14px;
    color: #3F2E21;
    white-space: nowrap; /* Запрещаем перенос по умолчанию */
    overflow: visible;
}

.astro-natal-info-right-container {
    display: inline-block;
    white-space: normal; /* Разрешаем перенос внутри контейнера */
    word-break: keep-all; /* Предотвращаем разрыв слов */
    line-height: 1.5; /* Улучшаем читаемость */
}

.astro-info-line {
    display: inline-block;
    white-space: normal; /* Разрешаем перенос внутри контейнера */
    word-break: keep-all; /* Предотвращаем разрыв слов */
    line-height: 1.5; /* Улучшаем читаемость */
}

.image-map-container {
    position: relative;
    display: inline-block;   
    justify-content: left;
    align-items: flex-start;
    margin-top: -150px !important;
}

    .image-map-container img {
        width: 1300px; /* ✅ Нужный размер */
        height: 1300px;
        padding-left: 0;
    }

.astro-planets-container {
    margin-top: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 3px; /* Расстояние между планетами */
}

.astro-cycle-planet-square {
    position: relative;
    width: 45px;
    height: 45px;
    border: 1px solid #DBC9B7;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    cursor: pointer;
    transition: transform 0.2s;
}

    .astro-cycle-planet-square:hover {
        transform: scale(1.05);
        z-index: 100;
    }

.astro-cycle-planet-dignity {
    position: absolute;
    top: -2px;
    left: 2px;
    font-size: 10px;
}

.astro-cycle-planet-score {
    position: absolute;
    top: -2px;
    right: 3px;
    font-size: 10px;
}

.astro-cycle-planet-symbol {
    font-family: 'Wstartt', sans-serif;
    font-size: 16px;
    margin-bottom: 10px;
    /*line-height: 3;*/
}

.astro-cycle-planet-status {
    font-family: 'Ysabeau Infant Medium';
    font-size: 10px;
}

.astro-cycle-sign-symbol {
    font-family: 'Wstartt', sans-serif;
    font-size: 14px;
    margin-bottom: 0px;
    margin-left: 5px;
}

.astro-cycle-house-planet-ruler {
    position: absolute;
    font-family: 'Ysabeau Infant Regular';
    font-size: 9px;
    top: 30px;
    left: 2px; /* Добавляем привязку к левому краю */
    margin-right: 0; /* Убираем правый отступ */
}

.astro-star {    
    display: flex;
    flex-wrap: wrap;
    gap: 2px 5px; /* 2px вертикальный, 5px горизонтальный */
    align-items: center;
}

/*Стеллиум в натале*/
.astro-cycle-stellium {
    font-family: 'Wstartt', sans-serif;
    font-size: 14px;
    display: flex;
    flex-wrap: wrap;
    gap: 2px 5px; /* 2px вертикальный, 5px горизонтальный */
    align-items: center;
}

.astro-symbol {
    font-family: 'Wstartt', sans-serif;
    font-size: 16px;
    color: #A38C7C;
}

.astro-synthesis {
    font-family: 'Wstartt', sans-serif;
    font-size: 16px;
}

/*Кресты в натале*/
.astro-cross-display {
    font-family: 'Ysabeau Infant Regular';
    font-size: 14px;
}

.astro-cross-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.astro-cross-title-container {
    border-radius: 50px;
    /* border: 2px solid;
    padding: 8px 15px;
    background-color: rgba(255, 255, 255, 0.7);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);*/
    text-align: left;
    margin-bottom: -5px;
}

.astro-cross-title {
    /*font-weight: bold;*/
    color: #A38C7C;
    white-space: nowrap;
}

.astro-cross-planets-container {
    border-radius: 50px;
    /*border: 2px solid;*/
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 5px;
}

.astro-cross-planet-symbol {
    font-family: 'Wstartt', sans-serif;
    font-size: 1.2em;
    border-radius: 50%;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(0, 0, 0, 0.2);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.astro-astrology-practice-symbol {
    margin-top: 5px;
    margin-right: 10px;
    font-family: 'Ysabeau Infant Regular';
    font-size: 25px;
    line-height: 1;
    text-transform: uppercase;
    color: #4b4d4b;
}

.astro-astrology-practice-additional-symbol {
    visibility: hidden;
    margin-top: 5px;
    margin-right: 10px;
    font-family: 'Ysabeau Infant Regular';
    font-size: 25px;
    line-height: 1;
    text-transform: uppercase;
    color: #4b4d4b;
}

.astro-astrology-practice-symbol-transit {
    margin-top: 5px;
    margin-right: 13px;
    font-family: 'Ysabeau Infant Regular';
    font-size: 25px;
    line-height: 1;
    text-transform: uppercase;
    color: #4b4d4b;
}

.astro-planet-tooltip {
    position: fixed;
    background: white;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    z-index: 1000;
    max-width: 250px;
    font-family: 'Wstartt', sans-serif;
    font-size: 14px;
}

.astro-tooltip-header {
    font-weight: bold;
    margin-bottom: 6px;
    border-bottom: 1px solid #eee;
    padding-bottom: 4px;
}

.astro-tooltip-header-degree {
    font-family: 'Ysabeau Infant Regular', sans-serif;
    font-weight: 400 !important;
    font-style: normal;
    margin-bottom: 6px;
    border-bottom: 1px solid #eee;
    padding-bottom: 4px;
}

.astro-tooltip-row {
    display: flex;
    justify-content: space-between;
    margin: 4px 0;
}

.astro-age-spacing {
    display: flex;
    gap: 10px;
}

/*Конфигурации*/
.astro-configurations-container {
    font-family: 'Ysabeau Infant Regular';
    max-height: 400px;
    font-size: 14px;
    overflow-y: auto;
}

.astro-configuration-item {
    margin: 5px 0;
    padding: 0px;
    /*background: white;*/
    border-radius: 8px;
    cursor: help;
}

/* .astro-configuration-item:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 8px rgba(0,0,0,0.15);
        border-left-color: #fd79a8;
    }*/

.astro-config-header {
    display: flex;
    align-items: center; /* Выравниваем по центру по вертикали */
    gap: 8px; /* Отступ между элементами */
    margin-bottom: 8px;
    flex-wrap: wrap; /* Если контент не помещается - перенос на новую строку */
}

.astro-planet-node {
    display: inline-block;
    /* margin: 0 2px;
    padding: 0px 0px;
    background: #f5f6fa;*/
    border-radius: 3px;
}

.astro-config-name {
    /* font-weight: 600;*/
    color: #2d3436;
    /*  font-size: 14px;*/
}

.astro-config-cross {
    font-family: 'Ysabeau Infant Regular', sans-serif;
    font-size: 0.9em;
    color: #636e72;
    background: #dfe6e9;
    /*padding: 2px 8px;*/
    border-radius: 12px;
}

.astro-config-nodes {
    font-family: 'Wstartt', sans-serif;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: wrap;
    /* gap: 5px;*/
}

.astro-node-separator {
    color: #b2bec3;
    margin: 0 5px;
    font-weight: bold;
}

/*.astro-has-tooltip {
    position: relative;
}

    .astro-has-tooltip:hover::after {
        content: attr(data-tooltip);
        position: absolute;
        left: 0;
        top: 100%;
        background: #fff;
        border: 1px solid #ccc;
        padding: 8px;
        z-index: 1000;
        max-width: 500px;*/ /* или любое другое подходящее значение */
/*white-space: normal;
        word-wrap: break-word;
    }*/

.astro-conf-tooltip {
    font-family: 'Ysabeau Infant Regular', sans-serif;
    font-size: 0.7em;
    display: none;
    position: fixed; /* Используем fixed вместо absolute */
    background: white;
    border: 1px solid #ccc;
    padding: 10px;
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    z-index: 1000;
    max-width: 300px;
    max-height: 400px; /* Ограничиваем высоту */
    overflow-y: auto; /* Добавляем прокрутку, если текст не помещается */
    pointer-events: auto; /* Разрешаем взаимодействие */
}


.astro-conf-tooltip-item {
    margin: 3px 0;
    word-wrap: break-word; /* Перенос длинных слов */
}

.astro-config-button {
    min-height: unset !important;
    max-height: unset !important;
    position: relative;
    width: 150px;
    height: 25px !important;
    max-height: 25px !important;
    background: rgba(163, 140, 124, 0.2) !important;
    box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.25);
    border-radius: 7px;
    font-family: 'Ysabeau Infant Regular';
    font-style: normal;
    font-weight: 500;
    font-size: 12px;
    line-height: 1px !important;
    text-align: center;
    text-transform: uppercase;
    color: #000000 !important;
    padding: 0px 1px !important; /* ✅ Добавляем отступы */
    border: none;
    cursor: pointer;
    transition: all 0.3s ease; /* ✅ Плавные эффекты */
    word-spacing: -1px; /* ✅ Уменьшает пробелы между словами */
    letter-spacing: -0.5px; /* ✅ Уменьшает расстояние между буквами */
    margin-top: 5px !important;
    margin-bottom: 5px !important;
    margin-right: 10px !important;
}

    .astro-config-button:hover {
        background: rgba(163, 140, 124, 0.4); /* ✅ Затемнение при наведении */
        box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);
    }

    .astro-config-button:active {
        background: rgba(163, 140, 124, 0.6); /* ✅ Эффект при нажатии */
        box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.4);
    }

    /* ✅ Меняем фон и цвет текста при клике */
    .astro-config-button.selected, .astro-config-button.selected * {
        background: #A38C7C !important;
        color: #FFFFFF !important;
    }

    .astro-config-button:disabled {
        opacity: 0.5;
        cursor: not-allowed;
        pointer-events: none;
        background: #E9E4DD;
        color: #999;
    }

        .astro-config-button:disabled:hover {
            background: #E9E4DD; /* Убираем эффект при наведении */
        }

/*Домарные связи планет*/
.astro-domicile-relations-container {
    margin-top: 10px;
}

.astro-domicile-relations-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    border: 1px solid #DBC9B7;
    border-radius: 10px;
    overflow: hidden; /* Важно! чтобы border-radius работал с внутренними элементами */
}

.astro-domicile-grid-header {
    padding: 6px;
    color: #3F2E21 !important;
    font-weight: bold;
    text-align: center;
    background: #EFECE6 !important;
    font-family: 'Ysabeau Infant Regular';
    font-style: normal;
    font-weight: 500;
    font-size: 16px;
    line-height: 21px;
    text-align: center;
    box-shadow: inset -1px 0 #DBC9B7, inset 0 -1px #DBC9B7;
}

    .astro-domicile-grid-header:nth-of-type(5n) {
        box-shadow: inset 0 -1px #DBC9B7; /* убираем правую линию */
    }

.astro-domicile-grid-item {
    padding: 5px;
    background-color: rgba(255, 255, 255, 0); /* полностью прозрачный */
   /* background-clip: padding-box;*/ /* не перекрывает gap */
    box-shadow: inset -1px 0 #DBC9B7, inset 0 -1px #DBC9B7;
    text-align: center;
    font-family: 'Ysabeau SC Regular';
    font-style: normal;
    font-weight: 400;
    font-size: 13px;
    line-height: 17px;
    color: #3F2E21;
}

    .astro-domicile-grid-item:nth-of-type(5n) {
        box-shadow: inset 0 -1px #DBC9B7; /* убираем правую линию */
    }

.astro-domicile-planet-name {
    /*font-weight: bold;
    color: #2c3e50;*/
}

.astro-significator {
    /*color: #e74c3c;
    font-weight: bold;*/
}

/*Связи*/
.astro-houses-connections-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
    gap: 1px;
    margin-top: 10px;
    font-family: 'Ysabeau Regular';
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 23px;
    color: #8D7563;
}

.astro-house-connection-square {
    border: 1px solid #ddd;
    border-radius: 5px;
    padding: 2px;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s;
    background-color: transparent;
}

    .astro-house-connection-square:hover {
        box-shadow: 0 0 5px rgba(0,0,0,0.2);
        transform: translateY(-2px);
    }

.astro-house-connection-title {
    margin-bottom: 0px;
}

.astro-house-connection-score {
    font-size: 11px;
    display: flex;
    justify-content: center;
    gap: 3px;
    /* margin-bottom: 1px;*/
}

.astro-house-connection-total {
    vertical-align: 2px;
    width: 15px; /* фиксированная ширина */
    height: 15px; /* фиксированная высота */
    display: inline-flex; /* для центрирования */
    align-items: center; /* вертикальное выравнивание */
    justify-content: center; /* горизонтальное выравнивание */
    border: 0.5px solid #DBC9B7;
    border-radius: 2px;
    font-size: 10px;
    box-sizing: border-box; /* чтобы padding не ломал размеры */
    padding: 0; /* убираем внутренние отступы */
}


.positive {
    color: green;
}

.negative {
    color: red;
}

.neutral {
    color: #888;
}

.astro-connection-tooltip {
    position: fixed;
    top: 50%; /* Фиксированная позиция сверху */
    left: 50%;
    background: rgba(255, 255, 255, 0.8);
    border-radius: 10px;
/*    background: white;
    border: 1px solid #ccc;
    border-radius: 5px;*/
    padding: 10px;
    z-index: 1000;
    max-width: 600px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

.astro-connection-tooltip-header {
    font-weight: bold;
    margin-bottom: 8px;
    border-bottom: 1px solid #eee;
    padding-bottom: 5px;
    font-family: 'Ysabeau Regular';
    font-style: normal;
    font-weight: 400;
    font-size: 13px;
    line-height: 17px;
    color: #8D7563;
}

/*.astro-connection-tooltip-stat {
    display: flex;
    justify-content: space-between;
    margin-bottom: 3px;
    font-family: 'Ysabeau Regular';
    font-style: normal;
    font-weight: 400;
    font-size: 13px;
    line-height: 17px;
    color: #3F2E21;
}*/

/*.astro-connection-tooltip-aspect {
    margin-bottom: 6px;
    padding: 4px;
    font-size: 0.9em;
    display: flex;
    justify-content: space-between;
}*/


.astro-connection-tooltip-aspects {
    font-family: 'Wstartt', sans-serif;
    font-size: 10px;
    padding: 3px 0;
    border-bottom: 1px dashed #eee;
    max-height: 500px;
    overflow-y: auto;
}

.astro-connection-tooltip-angel {
    font-family: 'Ysabeau Regular';
    font-size: 10px;
}

.astro-connection-tooltip-aspect-columns-container {
    display: flex;
    gap: 45px;
    justify-content: space-between;
}

.astro-connection-tooltip-aspect-column {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}


.astro-connection-tooltip-aspect-column-header {
    font-family: 'Ysabeau Regular';
    font-size: 10px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 8px;
    padding-bottom: 4px;
    border-bottom: 1px solid #eee;
}

.astro-custom-tooltip {
    background: #A38C7C;
    color: white;
    padding: 8px 12px;
    border-radius: 6px;
    font-family: 'Ysabeau Regular';
    font-size: 14px;
    pointer-events: none;
    box-shadow: 0 2px 10px rgba(0,0,0,0.3);
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255,255,255,0.2);
    max-width: 200px;
}

.astro-star-aspects-container {
    margin: 20px 0;
    border: 1px solid #A38C7C;
    border-radius: 8px;
    overflow: hidden;
}

.astro-star-aspect-item {    
    border-bottom: 1px solid #eee;
    padding: 12px 15px;
    cursor: pointer;
    transition: background-color 0.2s;
}

    .astro-star-aspect-item:hover {
        background-color: #f9f9f9;
    }

    .astro-star-aspect-item.selected {
        background-color: #f9f9f9;
    }

    .astro-star-aspect-item:last-child {
        border-bottom: none;
    }

.astro-star-aspect-header {
    font-family: 'Ysabeau Regular';
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.astro-star-aspect-text {
    font-family: 'Wstartt', sans-serif;
    font-weight: 500;
    color: #333;
}

.astro-star-orb-value {
    font-family: 'Ysabeau Regular';
    font-weight: 600;
    color: #e74c3c;
    font-size: 0.9em;
}

.astro-star-aspect-details {
    font-family: 'Ysabeau Regular';
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #eee;
}

.astro-star-description-block {
    font-family: 'Ysabeau Regular';
    margin-bottom: 20px;
}

    .astro-star-description-block h4 {
        color: #2c3e50;
        margin-bottom: 8px;
        font-size: 1em;
        font-weight: 600;
    }

    .astro-star-description-block p {
        color: #34495e;
        line-height: 1.5;
        margin: 0;
        font-size: 0.95em;
    }

    .astro-star-description-block.general {
        border-left: 3px solid #3498db;
        padding-left: 10px;
    }

    .astro-star-description-block.planet {
        border-left: 3px solid #27ae60;
        padding-left: 10px;
    }

.astro-star-info-note {
    font-family: 'Ysabeau Regular';
    color: #7d6608;
    background-color: #fef9e7;
    padding: 8px 12px;
    border-radius: 4px;
    margin-top: 10px;
    font-size: 0.9em;
}

.astro-star-warning-note {
    font-family: 'Ysabeau Regular';
    color: #c0392b;
    background-color: #fadbd8;
    padding: 8px 12px;
    border-radius: 4px;
    margin-top: 10px;
    font-size: 0.9em;
}

/* Контейнер модального окна */
.astro-star-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.8);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    padding: 20px;
}

/* Само модальное окно */
.astro-star-modal-content {
    background: white;
    border-radius: 12px;
    width: 90%;
    max-width: 1000px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
    overflow: hidden;
}

/* Заголовок */
.astro-star-modal-header {
    font-family: 'Wstartt', sans-serif;
    padding: 20px 30px;
    border-bottom: 1px solid #eaeaea;
    background: transparent !important;
    /*   background: #3F2E21;*/
    color: #2c3e50;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-shrink: 0;
}

    .astro-star-modal-header h3 {
        margin: 0;
        font-size: 1.5em;
        font-weight: 600;
        color: #2c3e50;
    }

.astro-star-modal-close {
    background: rgba(255, 255, 255, 0.2);
    border: none;
    color: #2c3e50;
    font-size: 28px;
    cursor: pointer;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

    .astro-star-modal-close:hover {
        background: rgba(255, 255, 255, 0.3);
    }

/* Тело модального окна */
.astro-star-modal-body {
    padding: 30px;
    overflow-y: auto; /* Разрешаем скролл только для всего тела */
    flex-grow: 1;
}

/* Блоки с описанием */
.astro-star-modal-description-block {
    margin-bottom: 30px;
}

    .astro-star-modal-description-block:last-child {
        margin-bottom: 0;
    }

    .astro-star-modal-description-block h4 {
        color: #2c3e50;
        margin: 0 0 15px 0;
        font-size: 1.3em;
        font-weight: 600;
        padding-bottom: 10px;
        border-bottom: 2px solid #3498db;
    }

/* Текст без скроллбаров внутри блоков */
.astro-star-full-content {
    line-height: 1.7;
    color: #2c3e50;
    font-size: 1.1em;
    white-space: pre-line; /* Сохраняет переносы строк */
    word-wrap: break-word; /* Переносит длинные слова */
    overflow-wrap: break-word;
}

.astro-decan-tooltip-section {
    margin-top: 6px;
    padding-top: 6px;
    border-top: 1px solid #eee;
}

.astro-decan-content {
    font-family: 'Ysabeau Regular';
    font-size: 13px;
    line-height: 1.4;
    /* Ключевые свойства для переноса */
    word-wrap: break-word; /* Перенос длинных слов */
    overflow-wrap: break-word; /* Современная альтернатива */
    white-space: normal; /* Разрешить перенос строк */
    hyphens: auto; /* Автоматические переносы (если поддерживается) */
}

.astro-tooltip-ruler-symbol {
    font-family: 'Wstartt', sans-serif;
}


/*Стихии*/

.astro-elements-inline-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin: 5px 0;
}

.astro-element-inline-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 8px;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    cursor: help;
}

.astro-element-inline-icon {
    font-size: 14px;
}

.astro-element-inline-name {
    font-size: 13px;
    font-weight: 500;
}

.astro-element-inline-count {
    background: #f0f0f0;
    color: #333;
    padding: 1px 6px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: bold;
}

.astro-aspects-container {
    font-family: 'Ysabeau Infant Regular';
    font-size: 14px;
}

.astro-aspects-title {
    display: flex;
    align-items: center; /* Выравнивание по вертикали */
    gap: 5px; /* Отступ между элементами */
}

.astro-aspects-symbol {
    font-family: 'Wstartt', sans-serif;
    font-size: 14px;  
    line-height: 1;
}

.astro-config-buttons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.astro-planet-info-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border: 1px solid #DBC9B7;
    border-radius: 10px;
    overflow: hidden;
}

.astro-planet-info-grid-item {
    padding: 5px;
    background-color: rgba(255, 255, 255, 0); /* полностью прозрачный */
    /* background-clip: padding-box;*/ /* не перекрывает gap */
    box-shadow: inset -1px 0 #DBC9B7, inset 0 -1px #DBC9B7;
    text-align: center;
    font-family: 'Ysabeau SC Regular';
    font-style: normal;
    font-weight: 400;
    font-size: 13px;
    line-height: 17px;
    color: #3F2E21;
}

.astro-planet-info-text {
    font-family: 'Ysabeau Infant Regular';
    font-size: 10px;
    color: #A38C7C;
}


.astro-formulas-container {
    margin-top: 10px;
}

.astro-formulas-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}


.astro-formula-item {
    padding: 1px 12px;
    border: 1px solid #A38C7C;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s ease;
    background: #FFFFFF;
}

    .astro-formula-item:hover {
        background: #EFECE6;
    }

.astro-formula-header {
    display: flex;
    align-items: center;
    gap: 8px;
}

.astro-formula-name {
    font-family: 'Ysabeau Infant Medium';
    font-size: 14px;
    color: #3F2E21;
}

.astro-formula-count {
    font-family: 'Ysabeau Infant Medium';
    font-size: 14px;
    font-weight: bold;
    padding: 2px 6px;
    border-radius: 12px;
}

    .astro-formula-count.has-matches {
        background: #A38C7C;
        color: #FFFFFF;
    }

    .astro-formula-count.no-matches {
        background: #E9E4DD;
        color: #A38C7C;
    }

.astro-formula-tooltip {
    position: fixed;
    background: #EFECE6;
    border: 1px solid #A38C7C;
    border-radius: 10px;
    padding: 10px;
    max-width: 400px;
    z-index: 10000;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.astro-formula-tooltip-title {
    font-family: 'Ysabeau Infant Medium';
    font-size: 14px;
    font-weight: bold;
    color: #3F2E21;
    margin-bottom: 8px;
    border-bottom: 1px solid #A38C7C;
    padding-bottom: 4px;
}

.astro-formula-tooltip-list {
    margin: 0;
    padding-left: 20px;
    font-family: 'Wstartt';
    font-size: 12px;
    color: #3F2E21;
}


    .astro-formula-tooltip-list li {
        margin-bottom: 4px;
    }

