.month-apply-wrap {
    display: grid;
    gap: 18px;
}


.month-search-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 10px;
}

.month-search-head h4 {
    margin: 0;
    font-size: 1.55rem;
    color: #22332a;
}

.month-search-sub {
    margin: 0;
    color: #6c7e73;
    font-size: 1.25rem;
}

.month-search-form {
    display: grid;
    grid-template-columns: minmax(110px, 132px) minmax(0, 1fr) 112px;
    grid-template-areas: "area keyword button";
    align-items: center;
    gap: 10px;
}

.month-search-form select {
    grid-area: area;
    font-weight: 600;
    min-width: 0;
}

.month-search-form input {
    grid-area: keyword;
    min-width: 0;
}

.month-search-form button {
    grid-area: button;
}

.month-search-form select,
.month-search-form input {
    width: 100%;
    height: 42px;
    border: 1px solid #d7e2db;
    border-radius: 10px;
    padding: 0 12px;
    background: #fff;
    color: #2f3f36;
}

.month-search-form select:focus,
.month-search-form input:focus {
    outline: 0;
    border-color: var(--theme);
    box-shadow: 0 0 0 2px rgba(115, 183, 0, .14);
}

.month-search-form button {
    height: 42px;
    border: 0;
    border-radius: 10px;
    background: var(--theme);
    color: #fff;
    font-weight: 700;
    cursor: pointer;
    transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.month-search-form button:hover {
    background: #003c97;
    box-shadow: 0 6px 14px rgb(0 48 151 / 0.25);
}

.month-search-form button:active {
    transform: translateY(1px);
}

.month-search-result {
    margin-top: 12px;
    background: #f9fafb;
    border: 1px dashed #e9f1fa;
    border-radius: 10px;
    padding: 12px;
    color: #5e676f;
    font-size: 1.25rem;
    /*min-height: 300px;*/
}

#searchContent {
    width: 100%;
    display: none;
    flex-direction: column;
    gap: 10px;
    opacity: 0;
    transform: translateY(10px) scaleY(.98);
    transform-origin: top center;
    max-height: 0;
    overflow: hidden;
    transition: opacity .28s ease, transform .32s ease;
}

#searchContent.is-open {
    opacity: 1;
    transform: translateY(0) scaleY(1);
    max-height: none;
    overflow: visible;
}

.month-result-table {
    width: 100%;
    border: 1px solid #d7e8de;
    border-radius: 12px;
    /*overflow: hidden;*/
    background: #fff;
}

.month-result-row {
    display: grid;
    grid-template-columns: 2fr 1fr .7fr 1.5fr 1.5fr 1.1fr .9fr .9fr .6fr 1fr .9fr;
    align-items: center;
    transition: background-color .28s ease, transform .32s ease, max-height .45s ease;
}

/* 홀수 번째 행 배경색 */
.month-result-row:not(.month-result-head):nth-child(odd) {
    /*background-color: #ffffff;*/
    background-color: color-mix(in srgb, var(--theme) 8%, white); /* 연한 회색 계열 */
}

/* 짝수 번째 행 배경색 */
.month-result-row:not(.month-result-head):nth-child(even) {

}

.month-result-row:hover:not(.month-result-head) {
    background-color: color-mix(in srgb, var(--theme) 30%, white);
}


.month-result-row + .month-result-row {
    border-top: 1px solid #edf3ef;
}

.month-result-head {
    background: linear-gradient(180deg, #f1f5f9 0%, #e9eff6 100%);
    border-bottom: 1px solid #d7e4e8;
    color: #2c3b4a;
    font-weight: 700;
}

.month-result-cell {
    position: relative;
    padding: 15px 10px;
    line-height: 1.4;
    word-break: keep-all;
    text-align: center;
    color: #2f3f36;
    font-size: 1rem;
}

.month-result-row .month-result-cell:first-child {
    text-align: left;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.month-park-name {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.month-remote-badge {
    position: absolute;
    top: -6px;
    right: -9px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 1px 7px;
    border-radius: 999px;
    background: rgba(115, 183, 0, .20);
    color: var(--theme);
    font-size: 0.75rem;
    font-weight: 700;
    white-space: nowrap;
}

.month-apply-action {
    min-width: 74px;
    height: 32px;
    border: 1px solid transparent;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;
}

.month-apply-action.is-active {
    border-color: var(--theme);
    background: var(--theme);
    color: #fff;
    cursor: pointer;
}

.month-apply-action.is-active:hover {
    filter: brightness(.95);
}
.month-apply-action.is-ended {
    padding-left: 15px;
}

.month-apply-action.is-upcoming,
.month-apply-action.is-ended {
    background: #eff3f0;
    border-color: #d6e0d9;
    color: #5f6f66;
    cursor: default;
}
.month-apply-action.is-applied {
    background: #d52d59;
    border-color: #d6e0d9;
    color: #d5d5d5;
    cursor: default;
}

.month-result-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 220px;
    border: 1px dashed #d7e8de;
    border-radius: 12px;
    background: #fff;
    color: #66776e;
    gap: 6px;
}

.month-result-empty i {
    color: var(--theme);
    font-size: 2rem;
}

@media (max-width: 920px) {
    .term-type-badge {
        left: -12px;
        top: -15px;
    }
    .month-search-form {
        grid-template-columns: minmax(110px, 150px) minmax(0, 1fr);
        grid-template-areas:
                    "area keyword"
                    "button button";
    }

    .month-search-form button {
        width: 100%;
    }

    .month-result-head {
        display: none;
    }

    .month-result-table {
        border: 0;
        border-radius: 0;
        background: transparent;
    }

    .month-result-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        padding: 10px;
        border: 1px solid #dfe9e2;
        border-radius: 12px;
        background: #fff;
    }

    .month-result-row + .month-result-row {
        margin-top: 10px;
        border-top: 1px solid #dfe9e2;
    }

    .month-result-cell {
        text-align: left;
        border-radius: 9px;
        padding: 8px 10px;
        background: #f7faf8;
    }

    .month-result-cell::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 4px;
        color: #617067;
        font-size: 1.02rem;
        font-weight: 700;
    }

    .month-result-row .month-result-cell:first-child {
        grid-column: 1 / -1;
    }

    .month-result-row .month-result-cell:first-child::before {
        margin-bottom: 5px;
    }
}
@media (max-width: 575px) {
    .month-search-sub {
        display: none;
    }

}
@media (max-width: 490px) {
    .month-search-form {
        grid-template-areas:
                    "area"
                    "keyword"
                    "button";
        grid-template-columns: 1fr;
    }


    /*.month-result-row {*/
    /*    grid-template-columns: 1fr;*/
    /*}*/

    /*.month-result-cell,*/
    /*.month-result-row .month-result-cell:first-child {*/
    /*    grid-column: auto;*/
    /*}*/
}
.address-icon {
    cursor: pointer;
}

/*.nav-wrap > ul > li > ul > li > a.month-apply-page {*/
/*    color: color-mix(in srgb, var(--theme) 80%, white);*/
/*    font-weight: 600;*/
/*}*/



/*월정기유형 뱃지*/
/* 제목과 뱃지를 한 줄에 깔끔하게 정렬 */
.current-situation-name {
    display: flex;
    align-items: center;
    gap: 8px; /* 이름과 뱃지 사이 간격 */
    margin: 0;
}

/* 기본 뱃지 스타일 */
.term-type-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px; /* 아이콘과 텍스트 사이 간격 */
    padding: 2px 8px;
    font-size: 12px;
    font-weight: 600;
    border-radius: 12px;
    line-height: 1.2;
    position: absolute;
    left: -10px;
    top: -7px;
}

/* 주간 (주황/노랑 계열) */
.term-type-badge.badge-day {
    background-color: #fff3e0;
    color: #e65100;
    border: 1px solid #ffe0b2;
}

/* 야간 (남색/보라 계열) */
.term-type-badge.badge-night {
    background-color: #e8eaf6;
    color: #1a237e;
    border: 1px solid #c5cae9;
}

/* 전일 (초록/민트 계열) */
.term-type-badge.badge-allday {
    background-color: #e8f5e9;
    color: #1b5e20;
    border: 1px solid #c8e6c9;
}

/* 기본/예외 처리용 */
.term-type-badge.badge-default {
    background-color: #f5f5f5;
    color: #616161;
    border: 1px solid #e0e0e0;
}