/* ===============================================
   seminars
   =============================================== */
.seminars {
    padding: 9.6rem 6.4rem;
    display: flex;
    justify-content: center;
}

.seminars__container {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 9.6rem;
}

.seminar-day {
    width: fit-content;
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
}

.seminar-day--dec-30 {
    padding-top: 9.6rem;
    padding-bottom: 9.6rem;
    border-top: 0.1rem solid var(--color-border-line-default);
    border-bottom: 0.1rem solid var(--color-border-line-default);
}

.seminars__date {
    display: flex;
    flex-direction: row;
    gap: 0.8rem;
}

.seminars__date-month,
.seminars__date-day {
    width: 6.4rem;
    height: 6.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: var(--color-hero);
}

.seminars__date-text,
.seminars__date-number {
    padding: 0;
    margin: 0;
    font-size: 2.4rem;
    font-weight: var(--font-weight-extrabold);
    color: var(--color-text-fixed-white);
}

.seminar-day__content {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
}

.seminar-day__grid {
    display: flex;
    flex-direction: row;
    gap: 3.2rem;
}

.seminar-card {
    width: 40.0rem;
    height: 16.0rem;
    padding: 2.4rem 3.2rem;
    border-radius: 4.0rem;
    background-color: var(--color-background-surface);
    border: 0.2rem solid var(--color-main);

    pointer-events: auto;
    cursor: pointer;
    position: relative;
    z-index: 1;

    box-shadow: 0 0.2rem 0.8rem 0 #2626261A;

    transition:
        box-shadow 0.35s ease,
        transform 0.2s ease;
}

.seminar-card:hover {
    box-shadow:
        0 0.4rem 0.8rem rgba(60, 64, 67, 0.25),
        0 0.8rem 2.4rem rgba(60, 64, 67, 0.2);

    transform: translateY(-0.2rem);
}

.seminar-card:active {
    transform: translateY(0);

    box-shadow:
        0 0.2rem 0.4rem rgba(60, 64, 67, 0.2);
}

.seminar-card__text {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.seminar-card__title {
    padding: 0;
    margin: 0;
    font-size: 2.0rem;
    font-weight: var(--font-weight-bold);
    line-height: 160%;
    color: var(--color-main);

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.seminar-card__meta {
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: row;
    gap: 1.6rem;
}

.seminar-card__speaker {
    width: 100%;
    overflow: hidden;
}

.seminar-card__speaker-text {
    max-width: 100%;
    padding: 0;
    margin: 0;
    font-size: 1.4rem;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-fixed-black);

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.seminar-card__capacity {
    display: flex;
    flex-direction: row;
    gap: 0.3rem;
}

.seminar-card__icon {
    width: 1.6rem;
    height: 1.6rem;
    flex-shrink: 0;
}

.seminar-card__icon-user {
    width: 100%;
    height: 100%;
    object-fit: cover;
    background-image: url("../image/icon/mit/seminars-page/user_262626.svg");
    background-repeat: no-repeat;
    background-size: contain;
    transition: background-image 0.3s ease, opacity 0.3s ease;
}

.seminar-card__count {
    padding: 0;
    margin: 0;
    font-size: 1.4rem;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-fixed-black);
}



.seminar-card {
    transition: background-color 0.3s ease;
}

.seminar-card__title,
.seminar-card__speaker-text,
.seminar-card__count {
    transition: color 0.3s ease;
}

/* hover / active */
.seminar-card:hover,
.seminar-card.is-active {
    background-color: var(--color-main);
}

.seminar-card:hover .seminar-card__title,
.seminar-card.is-active .seminar-card__title,
.seminar-card:hover .seminar-card__speaker-text,
.seminar-card.is-active .seminar-card__speaker-text,
.seminar-card:hover .seminar-card__count,
.seminar-card.is-active .seminar-card__count {
    color: var(--color-text-fixed-white);
}

.seminar-card:hover .seminar-card__icon-user,
.seminar-card.is-active .seminar-card__icon-user {
    background-image: url("../image/icon/mit/seminars-page/user_FFFFFF.svg");
}



/* ===============================================
   Seminars Page Modal
   =============================================== */
/* ===== Modal Wrapper ===== */
.seminar-modal {
    position: fixed;
    inset: 0;
    z-index: 1000;

    display: none;
    /* 기본은 숨김 */
}

/* 모달 열렸을 때 */
.seminar-modal.is-open {
    display: block;
}

/* ===== Overlay (dim background) ===== */
.seminar-modal__overlay {
    position: absolute;
    inset: 0;
    background: var(--color-background-modal);
}

/* ===== Modal Container (center box) ===== */
.seminar-modal__container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    width: 39.0rem;
    max-width: calc(100vw - 3.2rem);

    height: 78.0rem;
    max-height: calc(100vh - 3.2rem);

    display: flex;
    flex-direction: column;

    background: var(--color-background-primary);
    border: 0.2rem solid #FFFFFF;
    border-top-left-radius: 10.0rem;

    box-shadow: 0 0.4rem 0.4rem rgba(38, 38, 38, 0.1);

    overflow: hidden;
}

.seminar-modal__hero {
    width: 100%;
    height: 30.0rem;
    flex-shrink: 0;
    background-color: var(--color-main);
}

.seminar-modal__hero-bg {
    width: 100%;
    height: 100%;

    background-color: rgba(38, 38, 38, 0.15);
    background-size: cover;
    background-position: center;

    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;

    padding: 2.4rem;
    position: relative;
}

.seminar-modal__hero-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(38, 38, 38, 0.15);
}

.seminar-modal__hero-bg>* {
    position: relative;
    z-index: 1;
}

.seminar-modal__close-wrap {
    width: 100%;
    display: flex;
    justify-content: flex-end;
}

.seminar-modal__close {
    width: 3.2rem;
    height: 3.2rem;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;
    border: 0.01rem solid rgba(255, 255, 255, 0.20);

    background: rgba(255, 255, 255, 0.20);
    backdrop-filter: blur(1.2rem);
    -webkit-backdrop-filter: blur(1.2rem);

    cursor: pointer;
    transition:
        background 0.25s ease,
        transform 0.2s ease;
}

.seminar-modal__close:hover {
    background: rgba(255, 255, 255, 0.40);
    transform: scale(1.05);
}

.seminar-modal__close:active {
    transform: scale(0.95);
    background: rgba(255, 255, 255, 0.60);
}

.seminar-modal__close-icon {
    width: 2.4rem;
    height: 2.4rem;
}

.seminar-modal-card__text {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    color: #FFFFFF;
}

.seminar-modal-card__title {
    padding: 0;
    margin: 0;
    font-size: 2.0rem;
    font-weight: var(--font-weight-bold);
    line-height: 160%;
}

.seminar-modal-card__meta {
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 1.6rem;
}

.seminar-modal-card__speaker {
    width: 100%;
    overflow: hidden;
}

.seminar-modal-card__speaker-text {
    max-width: 100%;
    padding: 0;
    margin: 0;
    font-size: 1.6rem;
    font-weight: var(--font-weight-bold);

    /* white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; */
}

.seminar-modal-card__capacity {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    gap: 0.3rem;
}

.seminar-modal-card__icon {
    width: 1.6rem;
    height: 1.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.seminar-modal-card__icon-user {
    width: 1.6rem;
    height: 1.6rem;
}

.seminar-modal-card__count {
    padding: 0;
    margin: 0;
    font-size: 1.6rem;
    font-weight: var(--font-weight-bold);
}

.seminar-modal__body {
    flex: 1;

    width: 100%;
    height: 100%;
    padding: 2.4rem;

    overflow: hidden;
}

.seminar-modal__details {
    width: 100%;
    height: 100%;

    display: flex;
    flex-direction: column;
    gap: 2.4rem;

    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.seminar-modal__info {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.seminar-modal__info-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.8rem;
}

.seminar-modal__info-icon {
    width: 2.4rem;
    height: 2.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20.0rem;
    background-color: var(--color-main-soft);
}

.venue-icon,
.phone-icon {
    width: 1.6rem;
    height: 1.6rem;
}

.seminar-modal__info-text {
    padding: 0;
    margin: 0;
    font-size: 1.4rem;
    font-weight: var(--font-weight-medium);
}

.seminar-modal__section {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

.seminar-modal__section-overview {
    padding: 2.4rem 0;
    border-top: 0.1rem solid var(--color-border-modal-grey);
    border-bottom: 0.1rem solid var(--color-border-modal-grey);
}

.seminar-modal__section-title {
    padding: 0;
    margin: 0;
    font-size: 1.6rem;
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    color: var(--color-main);
}

.seminar-modal__section-text {
    padding: 0;
    margin: 0;
    font-size: 1.4rem;
    font-weight: var(--font-weight-medium);
    line-height: 180%;
}



/* ===============================================
   모바일 반응형
   Desktop : 1728px / (1512px) / 1440px / (1280px)
   Mobile : 1024px / 768px / 390px / 375px

            1512px = 95em(94.5)
            1280px = 80em
            1024px = 64em
   반응형 --> 0768px = 48em - 48em 대신 58em으로 - 이유: seminar-day__content 가로 넓이 이슈
   반응형, 모달 --> 0612px = 39em(38.25) - 390px 대신
            0390px = 25em(24.375)
            0375px = 24em(23.43)
            0320px = 16em
   =============================================== */
@media (max-width: 928px) {
    .seminars {
        padding-top: 3.2rem;
        padding-bottom: 6.4rem;
    }

    .seminars__container {
        width: 100%;
        gap: 3.2rem;
    }

    .seminar-day {
        align-items: center;
    }

    .seminar-day--dec-30 {
        padding-top: 3.2rem;
        padding-bottom: 3.2rem;
    }

    .seminar-day__content {
        width: 100%;
        gap: 1.6rem;
    }

    .seminar-day__grid {
        width: 100%;
        flex-direction: column;
        gap: 1.6rem;
    }
}



@media (max-width: 612px) {
    .seminars {
        padding-left: 1.6rem;
        padding-right: 1.6rem;
    }

    .seminar-day {
        width: 100%;
    }

    .seminars__date-month,
    .seminars__date-day {
        width: 4.8rem;
        height: 4.8rem;
    }

    .seminars__date-text,
    .seminars__date-number {
        font-size: 2.0rem;
    }

    .seminar-card {
        width: 100%;
        height: 16.0rem;
    }



    /* ===============================================
    Seminars Page Modal
    =============================================== */
    .seminar-modal__container {
        width: 100%;
        max-width: calc(100vw - 1.6rem);
        height: 100vh;
        max-height: calc(100vh - 1.6rem);
    }

    .seminar-modal__hero {
        flex: 0 0 38.46%;
    }

    .seminar-modal__body {
        flex: 1;
        overflow-y: auto;
    }
}