/**
 * Society Consolidated CSS
 * Merged from society-greeting.css, society-history.css, society-charter.css, society-schedule.css
 * Date: 2025-09-04
 */

/* ========================================
   GREETING SECTION STYLES
   From: society-greeting.css
   ======================================== */

.greetings-title {
    font-weight: 600;
    font-size: 36px;
    line-height: 54px;
    color: #000000;
    margin: 0;
}

.greetings-content {
    display: flex;
    gap: 102px;
    align-items: flex-start;
}

.greetings-image-wrapper {
    flex-shrink: 0;
}

.greetings-image-stack {
    position: relative;
    width: 408px;
    height: 590px;
    background-color: #f3f4f8;
    border-radius: 30px;
    overflow: hidden;
}

.portrait-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.greetings-text-content {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.greetings-body {
    font-weight: 500;
    font-size: 16px;
    line-height: 33.6px;
    color: #000000;
    margin: 0;
}

.greetings-signature-area {
    margin-top: 68px;
    text-align: right;
}

.greetings-date {
    font-weight: 500;
    font-size: 20px;
    line-height: 41px;
    color: #000000;
    margin: 0;
}

.greetings-signature {
    font-size: 24px;
    line-height: 49.2px;
    color: #000000;
    margin: 0;
}

.signature-title {
    font-weight: 500;
}

.signature-name {
    font-weight: 700;
}

/* ========================================
   HISTORY SECTION STYLES
   From: society-history.css
   ======================================== */

.history-timeline {
    display: flex;
    flex-direction: column;
    gap: 85px;
}

.history-year-block {
    display: flex;
    flex-direction: row;
    gap: 26px;
}

.year-label {
    border-top: 2px solid #4e52c4;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 22px 18px;
    flex-shrink: 0;
    width: 382px;
    height: 104px;
}

.year-text {
    font-size: 40px;
    font-weight: 600;
    line-height: 60px;
    color: #000000;
}

.event-list {
    border-top: 1px solid #e3e3e3;
    display: flex;
    flex-direction: column;
    width: 100%;
}

.event-item {
    display: flex;
    align-items: center;
    gap: 60px;
    padding: 40px 20px;
    border-bottom: 1px solid #e3e3e3;
}

.event-date {
    color: #6d73f7;
    font-size: 20px;
    font-weight: 600;
    line-height: 30px;
    flex-shrink: 0;
    width: 85px;
}

.event-description {
    color: #000000;
    font-size: 20px;
    font-weight: 400;
    line-height: 30px;
}

/* ========================================
   CHARTER SECTION STYLES
   From: society-charter.css
   ======================================== */

.version-note {
    color: #B7B8B9;
    font-weight: 400;
    font-size: 26px;
    line-height: 39px;
    text-align: right;
    margin-bottom: 34px;
}

/* ========================================
   SCHEDULE SECTION STYLES
   From: society-schedule.css
   ======================================== */

/* 일정 콘텐츠 */
.schedule-content {
    margin-top: 30px;
}

/* ========================================
   RESPONSIVE STYLES
   ======================================== */

/* Desktop - Medium screens */
@media (max-width: 1200px) {

    /* Greeting styles */
    .greetings-content {
        flex-direction: column;
        align-items: center;
        gap: 60px;
    }

    .greetings-text-content {
        width: 100%;
        max-width: 690px;
    }

    /* History styles */
    .history-container {
        max-width: 95%;
    }
}

/* Tablet screens */
@media (max-width: 992px) {

    /* History styles */
    .history-year-block {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .year-label {
        width: auto;
        height: auto;
        padding: 16px 24px;
    }

    .year-text {
        font-size: 32px;
    }

    .event-item {
        gap: 30px;
    }
}

/* Mobile screens */
@media (max-width: 768px) {

    /* Greeting styles */
    .greetings-image-stack {
        width: 100%;
        max-width: 408px;
        height: auto;
        aspect-ratio: 408 / 590;
    }

    .portrait-image,
    .decorative-svg {
        /* Adjust positioning for responsive container */
        width: 112.5%;
        height: auto;
        top: 6.7%;
        left: -2.9%;
    }

    .decorative-svg {
        width: 132.8%;
        height: auto;
        top: -8.7%;
        left: -16.4%;
    }

    .greetings-body {
        font-size: 15px;
        line-height: 1.8;
    }

    .greetings-signature-area {
        margin-top: 40px;
    }

    .greetings-date {
        font-size: 18px;
    }

    .greetings-signature {
        font-size: 20px;
    }

    /* History styles */
    .history-timeline {
        gap: 45px;
    }

    .year-text {
        font-size: 28px;
        line-height: 42px;
    }

    .event-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 20px;
    }

    .event-date {
        font-size: 18px;
        width: auto;
    }

    .event-description {
        font-size: 18px;
    }

    /* Charter styles */
    .version-note {
        font-size: 20px;
        top: -50px;
    }
}