/* ------------------------------------------------------------------------- */
/* 1. alert, alarm
/* ------------------------------------------------------------------------- */
.alarm {display: none;}
.alarm.active {display: flex;}
.alarm.active .alarm_box {animation: alarmPop 0.4s cubic-bezier(0.37, 0, 0.63, 1) forwards;}

.alarm {
    align-items: center; justify-content: center;
    width: 100%; height: 100%;
    background-color: rgba(0,0,0,0.3);
    position: fixed; left: 0; top: 0; z-index: 9999;
}
.alarm_box {
    display: flex; flex-direction: column; gap: 20px;
    width: calc(100% - 40px); max-width: 320px;
    padding: 24px 20px 20px 20px;
    border: 1px solid #DBDEE1;
    border-radius: 15px;
    background-color: #FFFFFF;
    opacity: 0;
    box-shadow: 0 4px 24px rgba(0,0,0,0.08);
}
.alarm .cont_box {
    display: flex; flex-direction: column; justify-content: space-evenly;
    min-height: 80px;
    font-weight: 500; font-size: 15px; line-height: 1.5; text-align: center; color: #222529;
}
.alarm .cont_box .tit {
    display: flex; align-items: center; justify-content: center; gap: 6px;
    margin-bottom: 8px;
    font-weight: 600; font-size: 16px; line-height: 32px; color: #1C1D1E;
}
.alarm .cont_box .tit .ico {
    width: 32px; height: 32px;
    border-radius: 50%;
    background: #FEEDEB url(../geonMap/img/ico_alert.svg) no-repeat center top 6px / 18px 18px;
}
.alarm .cont_box .tit .ico.type2 {
    background-color: #EEF6F0;
    background-image: url(../geonMap/img/ico_alert_confirm.svg); background-position: center center;
}
.alarm .cont_box .tit .ico.type3 {
    background-color: #EAF0FF;
    background-image: url(../geonMap/img/ico_alert_check.svg); background-position: center center;
}
.alarm .btn_box .btn {font-weight: 400;}

/* 알림 - 설립유형 선택 */
.alarm .check_box {
    justify-content: space-around;
    padding: 14px 20px;
    border-radius: 12px;
    background-color: #F5F7F9;
}


@keyframes alarmPop {
    30% {
        opacity: 0;
        transform: scale(0.6);
    }
    70% {
        opacity: 1;
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}



/* button box */
.btn_box {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    flex-shrink: 0;
}

.btn_cus {
    flex-shrink: 0;
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 96px; height: 38px;
    padding: 8px 16px;
    border: 1px solid #3C73E3;
    border-radius: 7px;
    font-weight: 500; font-size: 15px; line-height: 18px; color: #FFFFFF;
    background-color: #3C73E3;
    transition: border-color 0.2s ease, background-color 0.2s ease;
    box-sizing: border-box;
}

.btn_cus.gray {
    border-color: #B1B8BE;;
    background-color: #B1B8BE;;
}