@charset "UTF-8";

/* =========================================================
   OST 사용자 유형 선택(홈) 페이지 스타일 (home.css)
   - OST_home.jsp 전용 (.home_body 스코프)
   - 헤더/푸터는 login.css + login2.css(.login_body) 스타일 재사용
   - login.do 진입 전 개인 / 지자체 선택
   ========================================================= */

/* ----- 전체 레이아웃 : 헤더 - 본문(가변) - 푸터 세로 배치, 화면 꽉 채움 ----- */
.home_body{ margin:0; background:#eef3fa; }
.home_body .login_wrapper{
    position:relative;
    width:100% !important; min-width:0 !important;
    min-height:100vh; margin:0 !important;
    display:flex; flex-direction:column;
}

/* ----- 본문 영역 : 은은한 태양광 블루 배경 + 중앙 정렬 ----- */
.home_body .home_contents{
    flex:1 1 auto;
    display:flex; align-items:center; justify-content:center;
    padding:60px 20px;
    background:
        radial-gradient(1200px 500px at 50% -180px, rgba(81,131,197,.18), transparent 70%),
        linear-gradient(180deg, #f4f8fd 0%, #e7eef8 100%);
}
.home_body .home_inner{ width:100%; max-width:940px; }

/* ----- 안내 문구 ----- */
.home_body .home_intro{ text-align:center; margin-bottom:36px; }
.home_body .home_intro_sub{
    display:inline-block; margin:0 0 12px;
    padding:6px 16px; border-radius:999px;
    background:#e2ecf9; color:#2f5fa0;
    font-size:13px; font-weight:700; letter-spacing:-.2px;
}
.home_body .home_intro_tit{
    display:inline-flex; align-items:center; justify-content:center; gap:13px;
    margin:0 0 10px;
    font-size:30px; font-weight:800; letter-spacing:-1px; color:#233a5e;
    text-align:center;
}
/* 타이틀 앞 아이콘 : "선택(클릭)"을 나타내는 커서 (소프트 블루 뱃지) */
.home_body .home_intro_tit::before{
    content:""; flex:0 0 auto; width:44px; height:44px; border-radius:13px;
    background-color:#e9f1fb;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 24 24' fill='none' stroke='%233a5f9e' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 9l5 12 1.8-5.2L21 14 9 9z'/%3E%3Cpath d='M7.2 2.2 8 5.1'/%3E%3Cpath d='m5.1 8-2.9-.8'/%3E%3Cpath d='M14 4.1 12 6'/%3E%3Cpath d='m6 12-1.9 2'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:center; background-size:26px 26px;
    box-shadow:0 6px 14px -6px rgba(58,95,158,.4);
}
.home_body .home_intro_dec{
    margin:0; font-size:15px; color:#5a6675; letter-spacing:-.3px;
}

/* ----- 카드 2단 배치 ----- */
.home_body .home_card_list{
    display:flex; gap:26px; justify-content:center;
    list-style:none; margin:0; padding:0;
}

/* ----- 선택 카드 ----- */
.home_body .home_card{
    position:relative;
    flex:1 1 0; max-width:420px; min-height:270px;
    display:flex; flex-direction:column; align-items:center; text-align:center;
    box-sizing:border-box; padding:38px 30px 30px;
    background:#fff; border:1px solid #e3e9f1; border-radius:18px;
    box-shadow:0 14px 34px -16px rgba(35,58,94,.28);
    cursor:pointer; overflow:hidden;
    transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
/* 상단 컬러 바 (유형별 색) */
.home_body .home_card::before{
    content:""; position:absolute; top:0; left:0; right:0; height:6px;
}
.home_body .home_card:hover,
.home_body .home_card:focus{
    outline:none;
    transform:translateY(-6px);
    box-shadow:0 22px 44px -16px rgba(35,58,94,.38);
    border-color:#cdd9ea;
}

/* ----- 아이콘 원형 ----- */
.home_body .home_card_icon{
    width:96px; height:96px; margin-bottom:22px; border-radius:50%;
    background-repeat:no-repeat; background-position:center; background-size:52px 52px;
}

/* 개인 : 태양광 블루 */
.home_body .home_card_person::before{ background:linear-gradient(90deg,#5183c5,#3a5f9e); }
.home_body .home_card_person .home_card_icon{
    background-color:#e9f1fb;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='52' height='52' viewBox='0 0 24 24' fill='none' stroke='%233a5f9e' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}
.home_body .home_card_person .home_card_badge{ color:#3a5f9e; background:#e9f1fb; }

/* 지자체 : 잎사귀 그린 (인증 버튼 톤과 통일) */
.home_body .home_card_gov::before{ background:linear-gradient(90deg,#5aa46a,#3f7d51); }
.home_body .home_card_gov .home_card_icon{
    background-color:#e8f4ec;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='52' height='52' viewBox='0 0 24 24' fill='none' stroke='%233f7d51' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='3' y1='21' x2='21' y2='21'/%3E%3Cpath d='M5 21V10l7-5 7 5v11'/%3E%3Cline x1='9' y1='21' x2='9' y2='13'/%3E%3Cline x1='15' y1='21' x2='15' y2='13'/%3E%3Cline x1='9' y1='9' x2='9' y2='9.5'/%3E%3Cline x1='15' y1='9' x2='15' y2='9.5'/%3E%3C/svg%3E");
}
.home_body .home_card_gov .home_card_badge{ color:#3f7d51; background:#e8f4ec; }

/* ----- 카드 본문 ----- */
.home_body .home_card_body{ flex:1 1 auto; }
.home_body .home_card_badge{
    display:inline-block; margin-bottom:10px;
    padding:3px 12px; border-radius:999px;
    font-size:11px; font-weight:800; letter-spacing:1px;
}
.home_body .home_card_tit{
    display:block; margin-bottom:10px;
    font-size:26px; font-weight:800; letter-spacing:-.5px; color:#233a5e;
}
.home_body .home_card_dec{
    margin:0; font-size:14.5px; line-height:1.55; color:#5a6675; letter-spacing:-.3px;
}

/* ----- 바로가기 버튼(카드 하단) ----- */
.home_body .home_card_go{
    display:inline-flex; align-items:center; gap:6px;
    margin-top:22px; padding:11px 26px; border-radius:8px;
    font-size:15px; font-weight:700; color:#fff; letter-spacing:-.2px;
    transition:gap .2s ease, filter .2s ease;
}
.home_body .home_card_go::after{
    content:""; width:16px; height:16px;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E") no-repeat center/contain;
}
.home_body .home_card_person .home_card_go{
    background:linear-gradient(135deg,#5183c5 0%,#3a5f9e 100%);
    box-shadow:0 4px 0 rgba(41,71,120,.30), 0 6px 14px rgba(41,71,120,.22);
}
.home_body .home_card_gov .home_card_go{
    background:linear-gradient(135deg,#5aa46a 0%,#3f7d51 100%);
    box-shadow:0 4px 0 rgba(52,110,70,.30), 0 6px 14px rgba(52,110,70,.22);
}
.home_body .home_card:hover .home_card_go{ gap:10px; filter:brightness(1.05); }

/* ----- 반응형 : 좁은 화면에서는 세로로 쌓기 ----- */
@media (max-width: 760px){
    .home_body .home_card_list{ flex-direction:column; align-items:center; }
    .home_body .home_card{ width:100%; max-width:460px; min-height:0; }
    .home_body .home_intro_tit{ font-size:24px; }
}

/* =========================================================
   상단 이동 버튼 바 (홈으로 / 지자체 로그인)  — 조회 페이지 공용
   ========================================================= */
.home_body .home_topbar{
    position:absolute; top:18px; left:24px; z-index:20;
    display:flex; gap:8px;
}
/* (호환용) 왼쪽 정렬 변형 — 기본이 이미 왼쪽 */
.home_body .home_topbar_left{ left:24px; right:auto; }
/* 뒤로가기(홈) 버튼 : 가볍고 자연스러운 네비게이션 형태 */
.home_body .topbar_btn{
    display:inline-flex; align-items:center; gap:7px;
    height:40px; padding:0 18px 0 14px; box-sizing:border-box;
    border:1px solid #d4ddea; border-radius:20px; cursor:pointer;
    font-size:14px; font-weight:700; letter-spacing:-.3px; color:#345a96;
    background:rgba(255,255,255,.92);
    box-shadow:0 6px 16px -6px rgba(35,58,94,.28);
    transition:all .2s;
}
.home_body .topbar_btn:hover{ background:#fff; border-color:#b9c7dc; transform:translateY(-1px); box-shadow:0 10px 20px -8px rgba(35,58,94,.34); }
.home_body .topbar_btn:active{ transform:translateY(0); box-shadow:0 4px 10px -4px rgba(35,58,94,.3); }
.home_body .topbar_btn .ic_home{
    width:16px; height:16px; flex:0 0 auto;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%233a5f9e' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='19' y1='12' x2='5' y2='12'/%3E%3Cpolyline points='12 19 5 12 12 5'/%3E%3C/svg%3E") no-repeat center/contain;
}

/* =========================================================
   시행여부 조회 페이지 (OST_00_01_011.jsp / .check_body)
   ========================================================= */
.home_body .check_inner{ width:100%; max-width:880px; }

.home_body .check_card{
    box-sizing:border-box; padding:40px 44px 38px;
    background:#fff; border:1px solid #e3e9f1; border-radius:18px;
    box-shadow:0 16px 40px -18px rgba(35,58,94,.30);
}

/* ----- 헤더 : 가운데 정렬 ----- */
.home_body .check_head{ text-align:center; }
/* 상단 아이콘 (태양 → 태양광 조회) */
.home_body .check_icon{
    display:inline-block; width:70px; height:70px; margin-bottom:16px; border-radius:50%;
    background-color:#e9f1fb;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='38' height='38' viewBox='0 0 24 24' fill='none' stroke='%233a5f9e' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cline x1='12' y1='2' x2='12' y2='5'/%3E%3Cline x1='12' y1='19' x2='12' y2='22'/%3E%3Cline x1='2' y1='12' x2='5' y2='12'/%3E%3Cline x1='19' y1='12' x2='22' y2='12'/%3E%3Cline x1='4.9' y1='4.9' x2='7' y2='7'/%3E%3Cline x1='17' y1='17' x2='19.1' y2='19.1'/%3E%3Cline x1='4.9' y1='19.1' x2='7' y2='17'/%3E%3Cline x1='17' y1='7' x2='19.1' y2='4.9'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:center; background-size:38px 38px;
}
.home_body .check_tit{
    margin:0 0 12px; font-size:24px; font-weight:800; letter-spacing:-.8px; color:#233a5e;
    text-align:center !important;   /* common.css의 h2{text-align:left} 무력화 */
    background:none; padding:0;
}
.home_body .check_guide{
    margin:0; font-size:14.5px; line-height:1.7; color:#5a6675; letter-spacing:-.3px;
}
.home_body .check_guide b{ color:#2f5fa0; font-weight:700; }

/* ----- 본문 : 좌(선택) / 우(결과) ----- */
.home_body .check_body_row{
    display:flex; gap:22px; align-items:stretch;
    margin-top:26px; text-align:left;
}
/* 좌 : 지역 선택 컬럼 */
.home_body .check_form_col{
    flex:0 0 288px; box-sizing:border-box;
    display:flex; flex-direction:column; gap:10px;
    padding:20px; border-radius:12px;
    background:#f4f8fd; border:1px solid #e3ecf7;
}
/* 우 : 결과 컬럼 */
.home_body .check_result_col{ flex:1 1 auto; display:flex; min-width:0; }

/* 선택 박스 (세로 배치) */
.home_body .check_select{
    flex:0 0 auto; width:100%; height:48px; box-sizing:border-box;
    border:1.5px solid #dfe2e7; border-radius:8px;
    -webkit-appearance:none; -moz-appearance:none; appearance:none;
    background-color:#fff;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235a6675' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:right 12px center;
    padding:0 34px 0 14px; font-size:14.5px; color:#3a4048;
    box-shadow:inset 0 1px 3px rgba(0,0,0,.06); cursor:pointer;
    transition:border-color .2s, box-shadow .2s;
}
.home_body .check_select::-ms-expand{ display:none; }
.home_body .check_select:focus{
    outline:none; border-color:#7ea3d4;
    box-shadow:inset 0 1px 3px rgba(0,0,0,.05), 0 0 0 3px rgba(63,108,176,.18);
}
.home_body .check_btn{
    width:100%; height:48px; margin-top:2px; box-sizing:border-box;
    border:0; border-radius:8px; cursor:pointer;
    font-size:15.5px; font-weight:700; color:#fff; letter-spacing:-.2px;
    background:linear-gradient(135deg,#5183c5 0%,#3a5f9e 100%);
    box-shadow:0 4px 0 rgba(41,71,120,.30), 0 6px 14px rgba(41,71,120,.22);
    transition:all .2s;
}
.home_body .check_btn:hover{ filter:brightness(1.06); }
.home_body .check_btn:active{ transform:translateY(3px); box-shadow:0 1px 0 rgba(0,0,0,.18); }
.home_body .check_btn:disabled{ background:#bdbdbd; box-shadow:none; cursor:not-allowed; }

/* ----- 결과 뷰 ----- */
.home_body .check_result{ width:100%; display:flex; }
.home_body .result_card{
    width:100%; box-sizing:border-box;
    display:flex; flex-direction:column; justify-content:center;
    padding:30px 26px; border-radius:14px; text-align:center;
    border:1px solid; animation:resultIn .25s ease;
}
@keyframes resultIn{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }
.home_body .result_on{  background:#eef8f1; border-color:#bfe3ca; }
.home_body .result_off{ background:#f5f6f8; border-color:#e0e3e8; }
.home_body .result_badge{
    display:inline-block; margin-bottom:12px; align-self:center;
    padding:6px 18px; border-radius:999px;
    font-size:14px; font-weight:800; letter-spacing:-.2px; color:#fff;
}
.home_body .badge_on{  background:linear-gradient(135deg,#5aa46a,#3f7d51); }
.home_body .badge_off{ background:#8a94a3; }
.home_body .result_area{
    margin:0 0 6px; font-size:14px; font-weight:700; color:#2f5fa0; letter-spacing:-.3px;
}
.home_body .result_tit{
    display:block; margin-bottom:8px; font-size:18px; font-weight:800; letter-spacing:-.4px; color:#233a5e;
}
.home_body .result_off .result_tit{ color:#4a5560; }
.home_body .result_dec{
    margin:0; font-size:14px; line-height:1.6; color:#5a6675; letter-spacing:-.3px;
}

/* 결과 안내(초기) placeholder */
.home_body .result_placeholder{
    width:100%; box-sizing:border-box;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    text-align:center; padding:30px 26px;
    border:1.5px dashed #d3dcea; border-radius:14px; background:#fafcfe;
}
.home_body .result_placeholder p{
    margin:0; font-size:14px; line-height:1.6; letter-spacing:-.3px; color:#9aa4b2;
}
.home_body .result_placeholder .ph_icon{
    width:40px; height:40px; margin-bottom:12px; opacity:.9;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 24 24' fill='none' stroke='%23aab4c2' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.5' y2='16.5'/%3E%3C/svg%3E") no-repeat center/contain;
}

/* ----- 조회 페이지 반응형 : 좁으면 세로 스택 ----- */
@media (max-width: 720px){
    .home_body .check_inner{ max-width:460px; }
    .home_body .check_card{ padding:34px 22px 30px; }
    .home_body .check_body_row{ flex-direction:column; }
    .home_body .check_form_col{ flex:1 1 auto; }
    .home_body .home_topbar,
    .home_body .home_topbar_left{ top:12px; left:14px; right:auto; }
}


/* ----- 개인 시행여부 조회 : 광역/시군구 2영역 동시 표시 ----- */
.home_body .result_pair{ width:100%; display:flex; flex-direction:column; gap:14px; }
.home_body .result_pair .result_card{ padding:22px 24px; }
.home_body .result_pair .result_placeholder{ padding:22px 24px; }
.home_body .result_scope{
    display:inline-block; align-self:center; margin-bottom:10px;
    padding:3px 12px; border-radius:999px; background:#eef3fb;
    color:#2f5fa0; font-size:12.5px; font-weight:800; letter-spacing:-.2px;
}

/* 결과 2칸 : 플레이스홀더/결과카드 높이 고정 → 확인 클릭 전후 사이즈 불변 */
.home_body .result_pair .result_card,
.home_body .result_pair .result_placeholder{
    min-height:200px;
    padding:20px 24px;
    box-sizing:border-box;
    justify-content:center;
    align-items:center;
}
.home_body .result_pair .result_placeholder .ph_icon{ margin-bottom:10px; }
@media (max-width: 720px){
    .home_body .result_pair .result_card,
    .home_body .result_pair .result_placeholder{ min-height:170px; }
}

/* 확인 버튼 하단 : 참여기업 현황 링크 + 안내 문구 */
.home_body .check_extra{
    margin-top:18px; padding-top:16px;
    border-top:1px dashed #d8e0ec;
    text-align:center;
}
.home_body .cnsrm_link{
    display:inline-flex; align-items:center; gap:7px;
    font-size:15px; font-weight:800; letter-spacing:-.3px;
    color:#2f5fa0; text-decoration:none;
    padding:8px 4px;
}
.home_body .cnsrm_link:hover{ text-decoration:underline; color:#1f3b5e; }
.home_body .cnsrm_link .ic_link{
    width:17px; height:17px; display:inline-block; flex:0 0 auto;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 24 24' fill='none' stroke='%232f5fa0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/svg%3E") no-repeat center/contain;
}
.home_body .check_note{
    margin:8px 0 0; font-size:12.5px; line-height:1.5;
    color:#8a94a3; letter-spacing:-.3px;
}

/* 참여기업 현황 링크 상단 안내 문장 */
.home_body .check_lead{
    margin:0 0 10px; font-size:13.5px; line-height:1.6;
    color:#4a5560; letter-spacing:-.3px;
}

/* 담당부서·연락처 표시 + 하단 안내 (칸 높이 상향으로 클릭 전후 사이즈 유지) */
.home_body .result_pair .result_card,
.home_body .result_pair .result_placeholder{
    min-height:248px;
}
@media (max-width: 720px){
    .home_body .result_pair .result_card,
    .home_body .result_pair .result_placeholder{ min-height:210px; }
}
.home_body .result_contact{
    width:100%; margin-top:12px; padding-top:12px;
    border-top:1px solid rgba(0,0,0,.08);
    display:flex; flex-direction:column; gap:4px;
}
.home_body .result_contact .rc_row{
    display:flex; justify-content:center; gap:8px;
    font-size:13.5px; letter-spacing:-.3px; line-height:1.5;
}
.home_body .result_contact .rc_lbl{ min-width:52px; text-align:right; color:#8a94a3; font-weight:700; }
.home_body .result_contact .rc_val{ color:#233a5e; font-weight:700; }
.home_body .result_guide_note{
    margin:14px 0 0; text-align:center;
    font-size:13px; color:#5a6675; letter-spacing:-.3px;
}
.home_body .result_guide_note.rgn_hidden{ visibility:hidden; }

/* 결과 영역 세로 정렬(하단 안내문구가 카드 아래로) + 연락처 한 줄 표시 */
.home_body .check_result{ flex-direction:column; }
.home_body .result_contact{
    width:100%; margin:10px 0 0; padding-top:10px;
    border-top:1px solid rgba(0,0,0,.08);
    text-align:center; font-size:14px; font-weight:800;
    color:#233a5e; letter-spacing:-.3px; line-height:1.5;
}

/* 전체 세로 길이 축소 (푸터까지 한 화면) — 최종 오버라이드 */
.home_body .check_card{ padding:26px 30px 24px; }
.home_body .check_body_row{ margin-top:16px; gap:18px; }
.home_body .result_pair{ gap:12px; }
.home_body .result_pair .result_card,
.home_body .result_pair .result_placeholder{ min-height:186px; padding:16px 18px; }
@media (max-width:720px){
    .home_body .check_card{ padding:22px 18px 20px; }
    .home_body .result_pair .result_card,
    .home_body .result_pair .result_placeholder{ min-height:168px; }
}
.home_body .result_scope{ margin-bottom:6px; }
.home_body .result_badge{ margin-bottom:8px; padding:5px 14px; font-size:13px; }
.home_body .result_area{ margin:0 0 4px; font-size:13px; }
.home_body .result_tit{ font-size:15.5px; margin-bottom:6px; }
.home_body .result_dec{ font-size:12.5px; line-height:1.45; }
.home_body .result_contact{ margin-top:8px; padding-top:8px; font-size:13px; }
.home_body .result_placeholder p{ font-size:13px; line-height:1.5; }
.home_body .result_placeholder .ph_icon{ width:32px; height:32px; margin-bottom:8px; }
/* 세종형(광역만) : 단일 카드 폭 유지 */
.home_body .result_pair.single .result_card{ min-height:186px; }
