﻿.calendarInfo-source-data-container-info {
    position: absolute;
    width: 1081px;
    height: 834px;
    left: 100px;
    top: 100px;
}

.calendarInfo-source-data-title-info {
    position: absolute;
    width: 1081px;
    height: 80px;
    font-size: 14px;
    text-align: center;
    background: #EFECE6;
    border: 1px solid #A38C7C;
    border-radius: 20px;
    font-family: 'Ysabeau Infant Medium';
    font-weight: 500;
    color: #3F2E21;
    padding-top: 10px;
    cursor: grab;
    z-index: 5 !important;
    top: 10px;
    display: flex;
    align-items: flex-start;
    justify-content: start;
}

.calendarInfo-source-data-icon-info {
    width: 11px;
    height: 11px;
    margin-right: 10px;
    margin-left: 14px;
    margin-top: 6px;
}

.calendarInfo-info-type-switch {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-top: 10px;
}

    .calendarInfo-info-type-switch label {
        display: flex;
        align-items: center;
        font-family: 'Ysabeau Infant Medium';
        font-style: normal;
        font-weight: 500;
        font-size: 14px;
        line-height: 19px;
        color: #3F2E21;
        cursor: pointer;
    }

    .calendarInfo-info-type-switch input[type="checkbox"] {
        appearance: none;
        width: 18px;
        height: 18px;
        border: 2px solid #3F2E21;
        border-radius: 4px;
        cursor: pointer;
        margin-left: 17px;
    }

        .calendarInfo-info-type-switch input[type="checkbox"]:checked {
            background-color: #A38C7C;
            border-color: #A38C7C;
        }

.calendarInfo-source-data-button-info {
    width: 75px;
    height: 22px;
    background: #E9E4DD;
    border-radius: 20px;
    top: 140px;
    left: 202px;
    font-family: 'Ysabeau Infant Medium';
    font-style: normal;
    font-weight: 500;
    font-size: 12px;
    line-height: 16px;
    color: #3F2E21;
    text-align: center;
}

.calendarInfo-source-data-wrapper-info {
    position: relative;
    width: 1081px;
    height: 654px;
    background: #FFFFFF;
    border: 1px solid #A38C7C;
    border-radius: 20px;
    margin-top: 50px;
    z-index: 100000 !important;
    overflow-y: auto;
}

.calendarInfo-flex-container-info {
    display: flex;
    gap: 20px;
    margin-top: 10px;
    margin-left: 17px;
    margin-right: 10px;
    overflow-x: auto;
}

.calendarInfo-flex-item-info {
    display: flex;
    align-items: center;
    padding: 5px 10px;
    border-radius: 5px;
    background-color: #f5f5f5;
}

.calendarInfo-info-name {
    font-weight: bold;
    font-size: 25px;
    margin-right: 5px;
}

.calendarInfo-info-data {
    font-family: 'Ysabeau Infant Medium';
    color: #3F2E21;
    font-size: 10px;
}

.calendarInfo-info-date-time {
    font-family: 'Ysabeau Infant Medium';
    font-size: 14px;
}

.calendarInfo-close-button-info {
    position: absolute;
    top: 5px;
    right: 10px;
    width: 20px;
    height: 20px;
    border: none;
    background: none;
    font-size: 18px;
    color: #A38C7C;
    cursor: pointer;
}

/* Компактные стили */
.calendarInfo-title {
    font-family: 'Ysabeau Infant Medium';
    font-size: 20px;
    color: #3F2E21;
    text-align: center;
    margin: 10px 0;
    background: #f0f0f0;
    border-radius: 8px;
    font-style: italic;
    line-height: 1.4;
}

.calendarInfo-section {
    margin: 15px 10px;
    padding: 12px;
    border: 1px solid #A38C7C;
    border-radius: 8px;
    background: #f9f9f9;
}

.calendarInfo-section-title {
    font-family: 'Ysabeau Infant Medium';
    font-size: 16px;
    color: #3F2E21;
    margin-bottom: 10px;
}

.calendarInfo-astro-item {
    margin: 8px 0;
    padding: 8px;
}

.calendarInfo-astro-subtitle {
    font-family: 'Ysabeau Infant Medium';
    font-size: 14px;
    color: #3F2E21;
    margin-bottom: 5px;
    font-weight: bold;
}

.calendarInfo-astro-description {
    font-family: 'Ysabeau Infant';
    font-size: 13px;
    color: #3F2E21;
    line-height: 1.3;
    margin: 5px 0;
}

.calendarInfo-recommendations-list {
    margin: 8px 0;
    padding-left: 15px;
}

    .calendarInfo-recommendations-list li {
        font-family: 'Ysabeau Infant';
        font-size: 13px;
        color: #3F2E21;
        margin-bottom: 3px;
    }

.calendarInfo-info-content-container {
    padding: 15px;
    height: 100%;
    overflow-y: auto;
}

@media (max-width: 768px) {
    .calendarInfo-source-data-container-info {
        position: fixed !important;
        width: 100vw !important;
        height: 100vh !important;
        left: 0 !important;
        top: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        z-index: 999999 !important;
        background: #FFFFFF !important;
    }

    .calendarInfo-source-data-title-info {
        position: sticky !important;
        width: 100% !important;
        height: 60px !important;
        top: 0 !important;
        left: 0 !important;
        font-size: 12px !important;
        padding: 10px 15px !important;
        border-radius: 0 0 15px 15px !important;
        margin: 0 !important;
        z-index: 1000 !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .calendarInfo-source-data-icon-info {
        width: 20px !important;
        height: 20px !important;
        margin: 0 8px 0 0 !important;
    }

    .calendarInfo-info-type-switch {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        margin-top: 5px !important;
        justify-content: center !important;
    }

        .calendarInfo-info-type-switch label {
            font-size: 12px !important;
            line-height: 1.2 !important;
            flex: 0 0 auto !important;
        }

        .calendarInfo-info-type-switch input[type="checkbox"] {
            width: 16px !important;
            height: 16px !important;
            margin-left: 8px !important;
        }

    .calendarInfo-source-data-button-info {
        width: 90px !important;
        height: 28px !important;
        top: auto !important;
        left: auto !important;
        position: relative !important;
        margin: 10px auto !important;
        font-size: 13px !important;
        display: block !important;
    }

    .calendarInfo-source-data-wrapper-info {
        position: relative !important;
        width: 100% !important;
        height: calc(100vh - 130px) !important;
        border: none !important;
        border-radius: 0 !important;
        margin-top: 0 !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        background: #FFFFFF !important;
    }

    .calendarInfo-flex-container-info {
        flex-direction: column !important;
        gap: 10px !important;
        margin: 10px 15px !important;
        overflow-x: visible !important;
    }

    .calendarInfo-flex-item-info {
        width: 100% !important;
        padding: 8px 12px !important;
        box-sizing: border-box !important;
    }

    .calendarInfo-info-name {
        font-size: 18px !important;
    }

    .calendarInfo-info-data {
        font-size: 11px !important;
    }

    .calendarInfo-info-date-time {
        font-size: 12px !important;
    }

    .calendarInfo-close-button-info {
        position: fixed !important;
        top: 15px !important;
        right: 15px !important;
        width: 30px !important;
        height: 30px !important;
        font-size: 22px !important;
        background: rgba(255, 255, 255, 0.9) !important;
        border-radius: 50% !important;
        z-index: 1000000 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-shadow: 0 2px 5px rgba(0,0,0,0.2) !important;
    }

    .calendarInfo-title {
        font-size: 16px !important;
        margin: 8px 15px !important;
        padding: 10px !important;
        line-height: 1.3 !important;
    }

    .calendarInfo-section {
        margin: 10px 15px !important;
        padding: 10px !important;
    }

    .calendarInfo-section-title {
        font-size: 14px !important;
        margin-bottom: 8px !important;
    }

    .calendarInfo-astro-item {
        margin: 6px 0 !important;
        padding: 6px !important;
    }

    .calendarInfo-astro-subtitle {
        font-size: 13px !important;
    }

    .calendarInfo-astro-description {
        font-size: 12px !important;
        line-height: 1.4 !important;
    }

    .calendarInfo-recommendations-list {
        padding-left: 20px !important;
    }

        .calendarInfo-recommendations-list li {
            font-size: 12px !important;
            margin-bottom: 4px !important;
        }

    .calendarInfo-info-content-container {
        padding: 15px 10px !important;
        height: auto !important;
        min-height: calc(100vh - 150px) !important;
    }

    /* Дополнительные улучшения для мобильных */
    .calendarInfo-source-data-container-info * {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Безопасные зоны для iPhone */
    @supports (padding: max(0px)) {
        .calendarInfo-source-data-container-info {
            padding-top: max(0px, env(safe-area-inset-top)) !important;
            padding-bottom: max(0px, env(safe-area-inset-bottom)) !important;
            padding-left: max(15px, env(safe-area-inset-left)) !important;
            padding-right: max(15px, env(safe-area-inset-right)) !important;
        }
    }

    /* Портретная ориентация */
    @media (orientation: portrait) {
        .calendarInfo-source-data-wrapper-info {
            height: calc(100vh - 120px) !important;
        }
    }

    /* Ландшафтная ориентация */
    @media (orientation: landscape) {
        .calendarInfo-source-data-title-info {
            height: 50px !important;
            font-size: 11px !important;
        }

        .calendarInfo-source-data-wrapper-info {
            height: calc(100vh - 80px) !important;
        }

        .calendarInfo-flex-container-info {
            flex-direction: row !important;
            flex-wrap: wrap !important;
        }

        .calendarInfo-flex-item-info {
            flex: 0 0 calc(50% - 5px) !important;
        }
    }
}