
/*------------------------------------------------------------------------------*/
/* section_video - 메인 비디오 */
/*------------------------------------------------------------------------------*/
.section_video {position: relative; width: 100%; height: 100vh; overflow: hidden;}

/* 비디오 슬라이드 (fade) */
.section_video_slides {position: absolute; inset: 0;}
.section_video_src {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); min-width: 100%; min-height: 100%; width: auto; height: auto; object-fit: cover; opacity: 0; transition: opacity 0.8s ease;}
.section_video_src.is_active {opacity: 1;}
img.section_video_src, picture.section_video_src {width: 100%; height: 100%; min-width: unset; min-height: unset; display: block;} /* 20260617 수정 */
picture.section_video_src img {width: 100%; height: 100%; object-fit: cover; display: block;}

.section_video_overlay {position: absolute; inset: 0; background: rgba(0,0,0,0.45); z-index: 1; transition: opacity 0.5s;}
.section_video_overlay.is_hidden {opacity: 0; pointer-events: none;}

/* 텍스트 + 컨트롤 */
.section_video_content {position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column;  justify-content: center; /*align-items: center; text-align: center;*/align-items: flex-start; text-align: left; padding-left: 10%;}
.svc_sub {font-size: 2.5rem; color: #fff; font-family: 'GmarketSans', sans-serif; font-weight: 500; line-height: 1;letter-spacing:-.03em}
.svc_title {margin-top:1em; line-height: 1.25; text-shadow: 0 2px 16px rgba(0,0,0,0.45);}
.svc_title_blue {font-size: 6.25rem; font-weight: 700; color: #5dc0ff; font-family: 'GmarketSans', sans-serif;letter-spacing:-.06em;line-height: 1.2; }
.svc_title_white {font-size: 6.25rem; font-weight: 700; color: #fff; font-family: 'GmarketSans', sans-serif;letter-spacing:-.06em;line-height: 1.2;}
.svc_desc {margin-top:1.5em; font-size: 2rem; color: #fff;  font-weight:300;}

/* 슬라이드별 텍스트 */
.svc_content_item {display: none;}
.svc_content_item.is_active {display: flex; flex-direction: column;}
/* 영상 슬라이드 0~4: 중앙 배치 (영상 위 고정 텍스트만 표시) */
.section_video_content:has(.svc_content_item[data-idx="0"].is_active),
.section_video_content:has(.svc_content_item[data-idx="1"].is_active),
.section_video_content:has(.svc_content_item[data-idx="3"].is_active),
.section_video_content:has(.svc_content_item[data-idx="4"].is_active) {align-items: center; padding-left: 0;}
/*20260623 수정*/
.section_video_content:has(.svc_content_item[data-idx="2"].is_active) {align-items: flex-start; padding-left: max(20px, calc((100% - 1300px) / 2));}
.svc_content_item[data-idx="2"].is_active {align-items: flex-start; text-align: left;}
/*//20260623 수정*/
/* 이미지 슬라이드 5: 왼쪽 배치 */
.section_video_content:has(.svc_content_item[data-idx="5"].is_active) {align-items: flex-start; padding-left: 10%;}
.svc_content_item[data-idx="5"].is_active {align-items: flex-start; text-align: left;}

/* 영상 슬라이드 콘텐츠 중앙 배치 */
.svc_content_video.is_active {align-items: center; justify-content: center; text-align: center;}
/* 영상 위 중앙 텍스트 */
.svc_video_center_txt {color: #fff; font-size: 7rem; font-weight: 700; text-align: center; text-shadow: 0 2px 8px rgba(0,0,0,0.7), 0 4px 20px rgba(0,0,0,0.5); 
    line-height: 1.2; word-break: keep-all;}
.svc_skb{color:#5dc0ff; vertical-align: baseline; margin: 0; padding: 0;}
/*20260623 수정*/
.svc_content_point.is_active {align-items: center; justify-content: center;}
.svc_point_img {max-width: 500px; width: 100%; height: auto; display: block; margin-top: -60px;}
/*//20260623 수정*/

/* 컨트롤 영역 */
/*20260625 수정*/
.svc_controls {position: absolute; bottom: 130px; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 12px;}
/*//20260625 수정*/

/*20260625 수정*/
/* 스크롤 다운 버튼 */
.svc_scroll_down {position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 4px; cursor: pointer; z-index: 10; animation: svc_bounce 2s infinite; text-decoration: none;}
.svc_scroll_down img {display: block;}
.svc_scroll_down_txt {font-size: 1.1rem; color: rgba(255,255,255,0.6);}
.svc_scroll_down:hover .svc_scroll_down_txt {color: rgba(255,255,255,0.9);}
@keyframes svc_bounce {0%,100%{transform: translateX(-50%) translateY(0);}50%{transform: translateX(-50%) translateY(8px);}}
/*//20260625 수정*/
.svc_pagination {display: flex; align-items: center; gap: 5px;}
.svc_pagination .svc_dot {width: 12px; height: 12px; border-radius: 50%; background: rgba(240,241,246,0.5); cursor: pointer; transition: background 0.2s;}
.svc_pagination .svc_dot.active {background: #23a9ff;}
/*20260625 수정*/
.svc_btns {display: flex; align-items: center; gap: 8px; margin-left: 0;}
/*//20260625 수정*/
.svc_btn {width: 46px; height: 46px; border-radius: 50%; background: rgba(240,241,246,0.1); border: 1px solid #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background 0.2s; flex-shrink: 0;}
.svc_btn:hover {background: rgba(240,241,246,0.25);}
.svc_btn img {display: block;}

/* section_video 반응형 */
@media (max-width: 1300px) {
    .svc_title_blue,
    .svc_title_white {font-size: 5.8rem;}
    .svc_sub {font-size: 2rem;}
}
@media (max-width: 1024px) {
    .svc_sub {font-size: 1.8rem;}
    .svc_title_blue,
    .svc_title_white {font-size: 5rem;}
    .svc_desc {font-size: 1.9rem; margin-top: 36px;}
}
/*20260623 수정*/
@media (max-width: 768px) {
    /*20260624 수정*/
    .section_video {height: min(60vh, 420px); min-height:340px;}
    /*//20260624 수정*/
    .svc_sub {font-size: 1.4rem; padding-left: 0 !important;}
    .svc_title {margin-top: 14px;}
    .svc_title_blue,
    .svc_title_white {font-size: 3rem;}
    .svc_desc {font-size: 1.4rem; margin-top: 28px; padding: 0;}
    .svc_controls {bottom: 32px;}
    .svc_btn {width: 38px; height: 38px;}
    /*20260625 수정*/
    .svc_btns {margin-left: 0; gap: 6px;}
    /*//20260625 수정*/
    .svc_scroll_down {display: none;}
    .svc_video_center_txt {font-size: 3rem;}
    .svc_point_img {max-width: 280px;}
    /*20260624 수정*/
    .section_video::after { content:''; position:absolute; bottom:0; left:0; right:0; height:40%; background:linear-gradient(to top, rgba(0,0,0,0.55) 0%, transparent 100%); z-index:1; pointer-events:none; }
    /*//20260624 수정*/
}
/*//20260623 수정*/
@media (max-width: 480px) {
    .section_video {height: min(60vh, 420px); min-height:340px;}
    .svc_sub {font-size: 1.2rem;}
    .svc_title_blue,
    .svc_title_white {font-size: 2.2rem;}
    .svc_desc {font-size: 1.2rem; margin-top: 20px;}
    .svc_controls {bottom: 22px; flex-wrap: wrap; justify-content: center; gap: 12px;}
    .svc_btns {margin-left: 0;}
    .svc_btn {width: 34px; height: 34px;}
    .svc_dot {width: 10px !important; height: 10px !important;}
    .svc_btn img{width: 9px;}
    .svc_video_center_txt {font-size: 2.2rem;}
    .svc_point_img {max-width: 200px;}
}

/*------------------------------------------------------------------------------*/
/* section_no1 - 메인 배너 */
/*------------------------------------------------------------------------------*/
.section_no1 {background:#f5f6fa; padding: 70px 0;}
.main_banner_wrap {display: flex; align-items: flex-start; gap: 30px;}
.main_banner_left {position: relative; width: 850px; flex-shrink: 0;}
.main_banner_swiper_wrap {width: 850px; height: 520px; border-radius: 30px; overflow: hidden; background: #fff;}
.main_banner_swiper {width: 100%; height: 100%;}
.banner_slide_img {width: 100%; height: 100%; object-fit: cover; display: block;}

/* 컨트롤 - carved(파진) 효과 */
.main_banner_controls {position: absolute; bottom: 0; right: 0; z-index: 10; display: flex; align-items: center; gap: 16px; background: #f5f6fa; border-top-left-radius: 24px; padding: 16px 26px 16px 34px;}
.main_banner_controls::before {content: ''; position: absolute; bottom: 0; left: -24px; width: 24px; height: 24px; background: radial-gradient(circle at 0% 0%, transparent 23px, #f5f6fa 24px); pointer-events: none;}
.main_banner_controls::after {content: ''; position: absolute; top: -24px; right: 0; width: 24px; height: 24px; background: radial-gradient(circle at 0% 0%, transparent 23px, #f5f6fa 24px); pointer-events: none;}

/* 페이지네이션 */
.main_banner_paging {font-size: 1.6rem; color: #555; letter-spacing: 0; display: flex; align-items: center; gap: 14px;}
.paging_cur {font-weight: 700; color: #222; font-style: normal;}
.paging_tot {font-style: normal; color: #999;}

/* 버튼 */
.main_banner_btns {display: flex; align-items: center; gap: 6px;}
.main_banner_btn {display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: #343434; flex-shrink: 0;}
.main_banner_btn img {display: block;}

/*------------------------------------------------------------------------------*/
/* section_no1 - 오른쪽 로그인 박스 */
/*------------------------------------------------------------------------------*/
.main_banner_right {width: 400px; height: 520px; border-radius: 20px; border: 1px solid #3456b0; overflow: hidden; flex-shrink: 0; display: flex; flex-direction: column;}
.banner_user_top {background: #f0f3fd; padding: 20px; display: flex; align-items: flex-start; gap: 20px;}
.banner_user_btm {background: #fff; flex: 1; padding: 20px;}

/* 등급 박스 */
.banner_grade_box {position: relative; width: 138px; height: 100px; border-radius: 10px; background: #fff; flex-shrink: 0; display: flex; align-items: center; justify-content: center;}
.grade_txt {position: absolute; top: 50px; left: 50%; transform: translateX(-50%); font-size: 1.4rem; color: #000; font-weight: 600; white-space: nowrap;}

/* 유저 정보 */
.banner_user_info {flex: 1; min-width: 0;}
.banner_user_name_wrap {display: flex; align-items: center; gap: 8px;}
.banner_user_name {display: flex; align-items: flex-end; gap: 2px; line-height: 1;}
.banner_user_name strong {font-size: 2.4rem; font-weight: 700; color: #222;}
.banner_user_name span {font-size: 2rem; font-weight: 400; color: #222; padding-bottom: 1px;}
.banner_user_sub {margin-top: 10px;}
.banner_user_sub li {position: relative; padding-left: 10px; font-size: 1.6rem; color: #444; line-height: 1.6;}
.banner_user_sub li + li {margin-top: 4px;}
.banner_user_sub li::before {content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 3px; height: 3px; background: #333333; border-radius: 50%;}

/* 나의 교육 정보 */
.banner_edu_title {font-size: 2rem; font-weight: 700; color: #222;}
.banner_edu_list {display: flex; flex-direction: column; gap: 7px; margin-top: 20px;}
.banner_edu_card {display: flex; align-items: center; gap: 10px; width: 100%; min-height: 67px; background: #f5f5f5; border-radius: 10px; padding: 0 14px;}
.edu_card_txt {flex: 1; min-width: 0;}
.edu_card_txt strong {display: block; font-size: 1.6rem; font-weight: 600; color: #222; line-height: 1.4;}
.edu_card_txt span {display: block; font-size: 1.3rem; color: #666; line-height: 1.4;}
.edu_card_divider {width: 1px; height: 40px; background: #d2d2d2; flex-shrink: 0;}
.edu_card_val {font-size: 2rem; color: #555; white-space: nowrap; flex-shrink: 0; width:105px; text-align: center;}
.edu_card_val em {font-weight: 700; color: #0059c7; font-style: normal;}
.edu_card_val.is_complete {font-size: 1.8rem; font-weight: 700; color: #0059c7;}

/* 로그인 전 상태 */
.banner_user_top_before {align-items: center; justify-content: center; min-height: 140px;}
.banner_before_msg {font-size: 1.8rem; color: #333; font-weight: 600; text-align: center;}
.banner_user_btm_before {position: relative;}
.banner_before_layer {position: absolute; inset: 0; background: rgba(255,255,255,0.75); z-index: 1; border-radius: 0;}

/*------------------------------------------------------------------------------*/
/* section_no2 - 오프라인 보수교육 */
/*------------------------------------------------------------------------------*/
.section_no2 {background: #fff; padding: 70px 0;}
.sec2_head {display: flex; align-items: center; justify-content: space-between;}
.sec2_title {font-size: 3.6rem; font-family: 'YeogiOttaeJalnanGothic', sans-serif;  font-weight: 600; color: #222;}
.sec2_title span {color: #0084da;}

/* 탭 영역 */
.sec2_tab_area {display: flex; align-items: center; gap: 16px;}
.sec2_tab_list {display: flex; align-items: center;}
.sec2_tab_item {position: relative;}
.sec2_tab_link {display: inline-flex; align-items: center; gap: 7px; font-size: 2rem; color: #555; font-weight: 500; padding: 4px 14px 16px; position: relative; white-space: nowrap;}
.tab_icon {display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; flex-shrink: 0;}
.tab_icon img {display: block; width: auto; height: auto;}
.tab_c01 {background: #bebebe;}
.tab_c02 {background: #7aa3ff;}
.tab_c03 {background: #926cf5;}
.tab_c04 {background: #20c3a2;}
.tab_c05 {background: #ff8827;}

/* 탭 active 상태 */
.sec2_tab_item.is_active .sec2_tab_link {font-weight: 700; color: #000;}
.sec2_tab_link::after {content: ''; position: absolute; bottom: 0; left: 14px; right: 14px; height: 3px; border-radius: 1.5px; background: transparent; transition: background 0.2s;}

/* 탭별 active 밑줄 색상 */
.sec2_tab_item:nth-child(1).is_active .sec2_tab_link::after {background: #333333;}
.sec2_tab_item:nth-child(2).is_active .sec2_tab_link::after {background: #7aa3ff;}
.sec2_tab_item:nth-child(3).is_active .sec2_tab_link::after {background: #926cf5;}
.sec2_tab_item:nth-child(4).is_active .sec2_tab_link::after {background: #20c3a2;}
.sec2_tab_item:nth-child(5).is_active .sec2_tab_link::after {background: #ff8827;}

/* 더보기 버튼 */
.sec2_more_btn {display: inline-flex; align-items: center; justify-content: center; gap: 5px; width: 75px; height: 36px; border-radius: 18px; border: 1px solid #bbbbbb; font-size: 1.4rem; color: #444444; box-shadow: 0 2px 6px rgba(0,0,0,0.08); flex-shrink: 0;}
.sec2_more_btn img {display: block;}

/*------------------------------------------------------------------------------*/
/* section_no2 - 카드 스와이퍼 */
/*------------------------------------------------------------------------------*/

.sec2_swiper_wrap {
    position: relative;
    margin-top: 50px;
}

.sec2_swiper_clip {
    overflow: hidden;
}

.sec2_card_swiper {
    overflow: visible !important;
}

/*-- 네비게이션 버튼 --*/
.sec2_nav_btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 65px;
    height: 65px;
    border-radius: 50%;
    background: #d9d9d9;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    flex-shrink: 0;
    transition: opacity 0.2s;
}
.sec2_nav_prev { left: -82px; }
.sec2_nav_next { right: -82px; }
.sec2_nav_btn img { display: block; width: auto; height: auto; }
/*20260630 수정5 : 비활성 버튼이 육안으로 더 잘 보이도록 강화*/
.sec2_nav_btn.swiper-button-disabled { opacity: 0.35; filter: grayscale(1); cursor: not-allowed; pointer-events: none; }
/*//20260630 수정5*/
/*20260701 수정*/
.sec2_nav_btn.swiper-button-disabled { display: none; }
/*//20260701 수정*/

/*20260629 수정3*/
.sec2_card_outer { position: relative; transition: filter 0.25s; }
/*20260629 수정3*/

.sec2_card { position: relative; width: 100%; min-height: 322px; border-radius: 20px; background: url(../images/main/card_off_role01.png) no-repeat center / 100% 100%; padding: 30px; display: flex; flex-direction: column; box-sizing: border-box; text-decoration: none; color: inherit; overflow: hidden; }
.sec2_card_outer[data-category="bunka"]    .sec2_card { background-image: url(../images/main/card_off_role01.png); }
.sec2_card_outer[data-category="sido"]     .sec2_card { background-image: url(../images/main/card_off_role02.png); }
.sec2_card_outer[data-category="expert"]   .sec2_card { background-image: url(../images/main/card_off_role03.png); }
.sec2_card_outer[data-category="external"] .sec2_card { background-image: url(../images/main/card_off_role04.png); }
.sec2_card::before { content: ''; position: absolute; inset: 0; border-radius: 20px; background: url(../images/main/card_on_role01.png) no-repeat center / 100% 100%; opacity: 0; transition: opacity 0.3s; pointer-events: none; z-index: 0; }
.sec2_card_outer[data-category="bunka"]    .sec2_card::before { background-image: url(../images/main/card_on_role01.png); }
.sec2_card_outer[data-category="sido"]     .sec2_card::before { background-image: url(../images/main/card_on_role02.png); }
.sec2_card_outer[data-category="expert"]   .sec2_card::before { background-image: url(../images/main/card_on_role03.png); }
.sec2_card_outer[data-category="external"] .sec2_card::before { background-image: url(../images/main/card_on_role04.png); }
.sec2_card_outer:hover .sec2_card::before { opacity: 1; }
.sec2_card > * { position: relative; z-index: 1; }
.sec2_card_icon_wrap { display: none; }
.sec2_card_icon_circle { display: none; }
.sec2_card_cat { font-size: 1.5rem; font-weight: 500; display: block; width: fit-content; align-self: flex-start; padding-bottom: 3px; transition: color 0.25s, border-color 0.25s; }
.sec2_card_outer[data-category="sido"]     .sec2_card_cat { color: #7aa3ff; border-bottom: 1px solid #7aa3ff; }
.sec2_card_outer[data-category="bunka"]    .sec2_card_cat { color: #926cf5; border-bottom: 1px solid #926cf5; }
.sec2_card_outer[data-category="expert"]   .sec2_card_cat { color: #20c3a2; border-bottom: 1px solid #20c3a2; }
.sec2_card_outer[data-category="external"] .sec2_card_cat { color: #ff8827; border-bottom: 1px solid #ff8827; }
.sec2_card_title { margin-top: 30px; font-size: 2rem; font-weight: 700; color: #333; line-height: 1.4; min-height: calc(2rem * 1.4 * 2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; transition: color 0.25s; }
.sec2_card_info { margin-top: 30px; display: flex; flex-direction: column; gap: 6px; }
.sec2_card_date, .sec2_card_loc { display: flex; align-items: center; gap: 7px; font-size: 1.6rem; color: #555; transition: color 0.25s; }
.sec2_card_date::before { content: ''; flex-shrink: 0; width: 15px; height: 15px; background: url(../images/main/icon_date_blk.png) no-repeat center / auto auto; }
.sec2_card_loc::before  { content: ''; flex-shrink: 0; width: 15px; height: 15px; background: url(../images/main/icon_locate_blk.png) no-repeat center / auto auto; }
.sec2_badge { display: inline-flex; align-items: center; height: 26px; padding: 0 10px; border-radius: 13px; font-size: 1.3rem; font-weight: 600; color: #fff; margin-top: 40px; align-self: flex-start; flex-shrink: 0; }
.badge_active { background: #ef4054; }
.badge_wait   { background: #1c99e8; }
.badge_close  { background: #8e8e8e; }
.sec2_card_outer:hover .sec2_card_cat  { color: #fff; border-bottom-color: rgba(255,255,255,0.5); }
.sec2_card_outer:hover .sec2_card_title { color: #fff; }
.sec2_card_outer:hover .sec2_card_date, .sec2_card_outer:hover .sec2_card_loc { color: #fff; }
.sec2_card_outer:hover .sec2_card_date::before { background-image: url(../images/main/icon_date_white.png); }
.sec2_card_outer:hover .sec2_card_loc::before  { background-image: url(../images/main/icon_locate_white.png); }

/* pagination */
/*20260630 수정5*/
.sec2_pagination, .sec5_pagination, .sec6_pagination {display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 40px;}
.sec2_pagination .swiper-pagination-bullet, .sec5_pagination .swiper-pagination-bullet, .sec6_pagination .swiper-pagination-bullet {width: 11px; height: 11px; border-radius: 50%; background: #d3d9de; opacity: 1; margin: 0;}
.sec2_pagination .swiper-pagination-bullet-active, .sec5_pagination .swiper-pagination-bullet-active, .sec6_pagination .swiper-pagination-bullet-active {background: #004dc0;}
/*//20260630 수정5*/

/* ── section_no3 달력 ── */
.section_no3 {padding: 80px 0; background: #e4eef6;}
.sec3_top{ position: relative; display: flex; align-items: center; justify-content: space-between; }
.sec3_title{ font-family: 'YeogiOttaeJalnanGothic', sans-serif; font-size: 3.6rem; font-weight: normal; color: #111; }
.sec3_title span{color:#0084da}
.sec3_nav{ position: absolute; left: 50%; transform: translateX(-50%); display: flex; gap: 40px; }
.sec3_nav_btn{ display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(0, 0, 0, 0.1); box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); background: #fff; flex-shrink: 0; }
.sec3_nav_date{ font-family: 'NexonFootballGothic', sans-serif; font-size: 4rem; font-weight: 300; color: #111; }
.sec3_btn_group{ display: flex; align-items: center; gap: 8px; }
.sec3_btn{ display: inline-flex; align-items: center; gap: 6px; padding: 9px 18px; border-radius: 17px; color: #fff; font-size: 1.4rem; font-weight: 500; text-decoration: none; }
.sec3_btn_schedule{ background: #0278fe; }
.sec3_btn_annual{ background: #0b856f; }
.sec3_btn_icon{ width: 18px; height: 18px; }
.sec3_btn_icon_sm{ width: 16px; height: 16px; }
.sec3_month_bar{ position: relative; z-index: 1; margin-top: 30px; background: #fff; border-radius: 25px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.07); }
.sec3_month_list{ display: flex; align-items: center; justify-content: space-between; }
.sec3_month_btn{ display: inline-flex; align-items: flex-end; gap: 4px; padding: 9px 18px; border-radius: 50px; color: #727272; text-decoration: none; white-space: nowrap; }
.sec3_month_num{ font-size: 2.4rem; font-weight: 700; line-height: 1; }
.sec3_month_name{ font-size: 1.6rem; font-weight: 300; line-height: 1; }
.sec3_month_item.is_active .sec3_month_btn{ background: #f5462e; color: #fff; }
.sec3_body{ display: flex; gap: 30px; margin-top: 40px; position: relative; z-index: 1; }
.sec3_left{ flex-shrink: 0; width: 440px; }
.sec3_right{ width: 830px; background: #fff; border-radius: 25px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.07); padding: 30px; box-sizing: border-box; align-self: flex-start; margin-top: 33px; }
.sec3_list{ max-height: 340px; overflow-y: auto; padding-right: 10px; }
.sec3_list::-webkit-scrollbar{ width: 4px; }
.sec3_list::-webkit-scrollbar-track{ background: transparent; }
.sec3_list::-webkit-scrollbar-thumb{ background: #d2d2d2; border-radius: 4px; }
.sec3_list_item{ display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 0; border-bottom: 1px solid #dfdfdf; }
.sec3_list_item:first-child{ padding-top: 0; }
.sec3_list_item:last-child{ border-bottom: none; padding-bottom: 0; }
.sec3_list_empty{ display: flex; align-items: center; justify-content: center; padding: 40px 0; font-size: 1.5rem; color: #aaa; }
.sec3_item_main{ display: flex; align-items: flex-start; gap: 10px; flex: 1; min-width: 0; }
.sec3_badge{ display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; padding: 2px 10px; border-radius: 13px; font-size: 1.4rem; border: 1px solid; white-space: nowrap; }
.sec3_badge_edu{ color: #0069e0; border-color: #0069e0; }
.sec3_badge_conf{ color: #8a41d6; border-color: #8a41d6; }
.sec3_item_info{ flex: 1; min-width: 0; }
.sec3_item_title{ white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sec3_item_org{ font-size: 1.6rem; color: #222; }
.sec3_item_name{ font-size: 1.8rem; font-weight: 600; color: #111; margin-left: 4px; }
.sec3_item_meta{ display: flex; align-items: center; gap: 8px; margin-top: 8px; }
.sec3_meta_icon{ width: 13px; height: 13px; flex-shrink: 0; }
.sec3_meta_text{ font-size: 1.5rem;  color: #555; }
.sec3_meta_sep{ font-size: 1.5rem; color: #d2d2d2; }
.sec3_item_right{ display: flex; flex-direction: column; align-items: center; gap: 8px; flex-shrink: 0; }
.sec3_item_type{ font-size: 1.4rem; font-weight: 500; white-space: nowrap; }
.sec3_type_off{ color: #f16000; }
.sec3_type_on{ color: #068100; }
.sec3_status{ display: inline-flex; align-items: center; justify-content: center; width: 55px; padding: 5px 0; border-radius: 13px; font-size: 1.3rem; color: #fff; white-space: nowrap; }
.sec3_status_open{ background: #ef4054; }
.sec3_status_close{ background: #8e8e8e; }
.sec3_legend{ display: flex; align-items: center; justify-content: flex-end; gap: 16px; margin-bottom: 15px; }
.sec3_legend_item{ display: flex; align-items: center; gap: 6px; font-size: 1.4rem; }
.sec3_legend_item.is_off{ color: #f06000; }
.sec3_legend_item.is_on{ color: #068100; }
.sec3_dot{ display: inline-block; width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
.sec3_dot_off{ background: #f06000; }
.sec3_dot_on{ background: #068100; }
.sec3_calendar{ width: 440px; min-height: 430px; background: #fff; border-radius: 20px; padding: 50px 30px 40px; box-sizing: border-box; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06); }
.sec3_cal_days{ display: grid; grid-template-columns: repeat(7, 1fr); width: 380px; height: 40px; background: #003568; border-radius: 25px; align-items: center; list-style: none; }
.sec3_cal_days li{ font-family: 'Escoredream', sans-serif; font-size: 1.7rem; color: #fff; text-align: center; }
.sec3_cal_days li.is_sun{ color: #f96d6d; }
.sec3_cal_days li.is_sat{ color: #1aa3ff; }
.sec3_cal_body{ display: grid; grid-template-columns: repeat(7, 1fr); margin-top: 8px; }
.sec3_cal_cell{ display: flex; flex-direction: column; align-items: center; padding: 4px 0; cursor: pointer; }
.sec3_cal_cell.is_empty{ pointer-events: none; }
.sec3_cal_date{ display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; font-size: 1.7rem; border-radius: 50%; color: #333; }
.sec3_cal_cell.is_sun .sec3_cal_date{ color: #ff3f3f; }
.sec3_cal_cell.is_sat .sec3_cal_date{ color: #057ac4; }
.sec3_cal_cell.is_active .sec3_cal_date{ background: #f5462e; color: #fff !important; }
.sec3_cal_dots{ display: flex; gap: 3px; margin-top: 3px; min-height: 10px; }

/*20260624 수정*/
.sec3_mob_toggle{ display:none; }
.sec3_mob_schedule_btn{ display:none; }
/*//20260624 수정*/

/*------------------------------------------------------------------------------*/
/* section_no1 반응형 */
/*------------------------------------------------------------------------------*/

/* 1380px 이하 : 좌우 너비 유동 조정 */
@media (max-width: 1380px) {
    .main_banner_left {width: calc(100% - 420px); flex-shrink: 1;}
    .main_banner_swiper_wrap {width: 100%; height: 460px;}
}

/* 1100px 이하 : 세로 스택 */
@media (max-width: 1100px) {
    .main_banner_wrap {flex-direction: column; align-items: center; gap: 24px;}
    .main_banner_left {width: 100%;}
    .main_banner_swiper_wrap {width: 100%; height: 400px;}
    .main_banner_right {width: 100%; max-width: 700px; height: auto;}
    .banner_edu_list {flex-direction: row; flex-wrap: wrap;}
    .banner_edu_card {width: calc(50% - 4px); min-height: 60px;}
}

/* 768px 이하 : 모바일 */
@media (max-width: 768px) {
    .section_no1 {padding: 40px 0;}
    .main_banner_wrap {gap: 16px;}
    .main_banner_swiper_wrap {height: 280px; border-radius: 20px;}
    .main_banner_controls {padding: 12px 16px 12px 22px; gap: 10px;}
    .main_banner_paging {font-size: 1.4rem; gap: 8px;}
    .main_banner_btn {width: 34px; height: 34px;}
    .main_banner_right {max-width: 100%; border-radius: 14px;}
    .banner_user_top {padding: 16px; gap: 14px;}
    .banner_grade_box {width: 100px; height: 80px;}
    .banner_user_name strong {font-size: 2rem;}
    .banner_user_name span {font-size: 1.6rem;}
    .banner_user_sub li {font-size: 1.4rem;}
    .banner_edu_list {flex-direction: column;}
    .banner_edu_card {width: 100%;}
    .grade_txt{top:40px;}
    .edu_card_txt strong {font-size: 1.4rem;}
    .edu_card_txt span {font-size: 1.2rem;}
    .edu_card_val {font-size: 1.8rem; width: 90px;}
}

/* ── section_no4 공지사항 + 바로가기 ── */
/*20260625 수정*/
.section_no4 {padding: 70px 0; background: #f8f8f8;}
.sec4_wrap {display: flex; align-items: stretch; gap: 30px;}
.sec4_left {width: 940px; flex-shrink: 0; display: flex; flex-direction: column;}
.sec4_notice_head {display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px;}
.sec4_notice {flex: 1; border: 1px solid #dadada; border-radius: 20px; padding: 30px; box-sizing: border-box; background-color: #fff;}
.sec4_notice_list {display: flex; flex-direction: column; gap: 15px;}
/*//20260625 수정*/
.sec4_notice_item {list-style: none;}
.sec4_notice_link {display: flex; align-items: center; justify-content: space-between; gap: 20px; text-decoration: none; color: inherit;}
.sec4_notice_txt {position: relative; padding-left: 12px; font-size: 1.9rem; color: #222; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex: 1; min-width: 0;}
.sec4_notice_txt::before {content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 3px; height: 3px; background: #000; border-radius: 50%;}
.sec4_notice_date {font-size: 1.7rem; color: #777; flex-shrink: 0; white-space: nowrap;}
.sec4_cards {flex: 1; display: flex; flex-direction: column; gap: 10px;}
.sec4_card {position: relative; flex: 1; border-radius: 20px; padding: 30px; text-decoration: none; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-start;}
.sec4_card_edu {background: #e8f0fe; border: 1px solid #d0dbef;}
.sec4_card_expert {background: #fbeee0; border: 1px solid #f0ddc8;}
.sec4_card_title {font-family: 'YeogiOttaeJalnanGothic', sans-serif; font-size: 2.3rem; font-weight: normal; color: #111;}
.tit_blue{color:#00348f;}
.tit_org{color:#ec5900;}
.sec4_card_desc {margin-top: 15px; font-size: 1.5rem; color: #333333;}
.sec4_card_edu::after {content: ''; position: absolute; bottom: 20px; right: 20px; width: 70px; height: 52px; background: url(../images/main/sec4_icon_cal.png) no-repeat right bottom / contain; pointer-events: none;}
.sec4_card_expert::after {content: ''; position: absolute; bottom: 20px; right: 20px; width: 75px; height: 54px; background: url(../images/main/sec4_icon_list.png) no-repeat right bottom / contain; pointer-events: none;}


.section_no5{padding:70px 0;background:#fff;}
.sec5_head{display:flex;align-items:center;justify-content:space-between;}
.sec5_content{margin-top:50px;}
.sec5_swiper_wrap{position:relative;}
.sec5_swiper_clip{overflow:hidden;}
.sec5_swiper{overflow:visible !important;}
.sec5_swiper .swiper-slide{width:100%;}
.sec5_nav_prev{left:-82px;}
.sec5_nav_next{right:-82px;}
.sec5_card{display:block;width:100%;min-height:390px;padding:10px;border:1px solid #e1e1e1;border-radius:15px;background:#fff;box-shadow:0 4px 18px rgba(0,0,0,0.08);box-sizing:border-box;text-decoration:none;color:inherit;}
/* 20260629 수정 */
.sec5_card_cat{display:inline-block;font-size:1.5rem;color:#0058c0;line-height:1.4;}
/* //20260629 수정 */
.sec5_card_thumb{display:block;width:100%;height:170px;margin-top:10px;border-radius:10px;overflow:hidden;}
.sec5_card_thumb img{display:block;width:100%;height:100%;object-fit:cover;}
/* 20260629 수정 */
.sec5_card_title{display:-webkit-box; max-height:4.76rem;margin-top:15px;padding-bottom:15px;border-bottom:1px solid #e1e1e1;font-size:1.7rem;font-weight:500;line-height:1.4;color:#222;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:keep-all; min-height: 55px;}
/* //20260629 수정 */
/* 20260629 수정 */
.onl_info_list{list-style:none; padding:0; margin:10px 0 0; display:flex; flex-direction:column; gap:6px;}
.onl_info_row{display:flex; align-items:center; gap:8px;}
.onl_info_badge{display:inline-flex; align-items:center; justify-content:center; width:40px; height:24px; border-radius:12px; border:none; background:#EAF1FC; color:#2563C9; font-size:1.1rem; font-weight:500; flex-shrink:0;}
.onl_info_date{font-size:1.4rem; font-weight:400; line-height:1.5; color:#555555;}
/* 가격 */
.onl_price_txt{font-size:1.2rem; font-weight:400; color:#8A94A0; margin:8px 0 0; padding-left:5px;}
/* //20260629 수정 */
.sec5_info_value{margin-left:12px;text-align:right;}
.card_role_head{display: flex; justify-content: space-between;}
/* 20260629 수정 */
.card_role_head .sec_badge{position:relative; z-index:3; display:inline-flex; align-items:center; justify-content:center; height:26px; padding:0 8px; border-radius:13px; font-size:1.2rem; font-weight:500; white-space:nowrap; flex-shrink:0;}
.sec_badge.is_open{background:#FCEDEC; color:#D9483B;}
/* //20260629 수정 */
.sec_badge.is_closed{background:#f5f5f5; color:#888; border:1px solid #ccc;}
.sec_badge.is_soon{background:#fff8e6; color:#e08c00; border:1px solid #e08c00;}

.section_no6{padding:70px 0;background:#fff;}
.sec6_head{display:flex;align-items:center;justify-content:space-between;}
.sec6_tabs{display:flex;align-items:center; flex-wrap:wrap;gap:5px;margin-top:30px;list-style:none;padding:0;}
.sec6_tab{display:flex;align-items:center;justify-content:center;height:50px;padding:0 18px;background:#fff;font-size:1.7rem;color:#444;border-radius:10px;border:1px solid #e9e9e9;text-decoration:none;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,0.08);transition:background 0.2s,color 0.2s,box-shadow 0.2s;}
.sec6_tab.active{background:var(--sec6-color,#264597);color:#fff;border-color:var(--sec6-color,#264597);box-shadow:0 4px 12px rgba(0,0,0,0.18);}
.sec6_content{margin-top:20px;}
.sec6_swiper_wrap{position:relative;}
.sec6_swiper_clip{overflow:hidden;}
.sec6_swiper{overflow:visible !important;}
.sec6_swiper .swiper-slide{width:100%;}
.sec6_nav_prev{left:-82px;}
.sec6_nav_next{right:-82px;}
.sec6_card{display:block;width:100%;min-height:390px;padding:10px;border:1px solid #e1e1e1;border-radius:15px;background:#fff;box-shadow:0 4px 18px rgba(0,0,0,0.08);box-sizing:border-box;text-decoration:none;color:inherit;}
/* 20260629 수정 */
.sec6_card_cat{display:inline-block;font-size:1.5rem;color:var(--sec6-color,#0058c0);line-height:1.4;}
/* //20260629 수정 */
.sec6_card_thumb{display:block;width:100%;height:170px;margin-top:10px;border-radius:10px;overflow:hidden;}
.sec6_card_thumb img{display:block;width:100%;height:100%;object-fit:cover;}
/* 20260629 수정 */
.sec6_card_title{display:-webkit-box;max-height:4.76rem;margin-top:15px;padding-bottom:15px;border-bottom:1px solid #e1e1e1;font-size:1.7rem;font-weight:500;line-height:1.4;color:#222;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:keep-all;min-height:55px;}
/* //20260629 수정 */


/* sec5 / sec6 카드 */
.sec5_card,.sec6_card{display:block;overflow:hidden;position:relative;cursor:pointer;}
.sec5_swiper .swiper-slide,.sec6_swiper .swiper-slide{position:relative;}
/* 20260629 수정 */
/* 기본: 다크 오버레이 */
/*20260629 수정4*/
.card_hover_layer{position:absolute;inset:0;z-index:2;background:rgba(0,0,0,0.85);border-radius:15px;display:flex;flex-direction:column;justify-content:center;padding:20px 20px 72px;opacity:0;transition:opacity 0.25s ease;pointer-events:none;overflow:hidden;}
/*//20260629 수정4*/
.sec5_swiper .swiper-slide:hover .card_hover_layer,.sec6_swiper .swiper-slide:hover .card_hover_layer{opacity:1;pointer-events:auto;}
/* 카드 헤더 */
.card_role_head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:8px;}
/* 상태 뱃지 */
.sec_badge{display:inline-flex;align-items:center;justify-content:center;height:22px;padding:0 8px;border-radius:11px;font-size:1.1rem;font-weight:600;white-space:nowrap;}
.sec_badge.is_open{background:#fff3f3;color:#e03131;border:1px solid #e03131;}
.sec_badge.is_closed{background:#f5f5f5;color:#888;border:1px solid #ccc;}
.sec_badge.is_soon{background:#fff8e6;color:#e08c00;border:1px solid #e08c00;}
/* 신청/수강 뱃지 리스트 */
.onl_info_list{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-direction:column;gap:6px;}
.onl_info_row{display:flex;align-items:center;gap:8px;}
.onl_info_badge{display:inline-flex;align-items:center;justify-content:center;width:40px;height:24px;border-radius:12px;border:1px solid #c5c5c5;color:#264597;font-size:1.2rem;flex-shrink:0;}
.onl_info_date{font-size:1.4rem;color:#555555;}
.onl_price_txt{font-size:1.4rem;color:#333333;margin:8px 0 0;}
/* 다크 오버레이 텍스트 (기본) */
.card_hover_title{font-size:2.4rem;font-weight:700;color:#fff;text-align:center;word-break:keep-all;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;}
/*20260629 수정4*/
.card_hover_list{margin-top:12px;padding:0;list-style:none;text-align:left;overflow:hidden;flex-shrink:1;min-height:0;}
.card_hover_list li{font-size:1.6rem;color:#fff;line-height:1.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
/*//20260629 수정4*/
.card_hover_line{display:block;width:100%;height:1px;background:#fff;margin-top:20px;}
.card_hover_period{margin-top:20px;font-size:1.6rem;color:#fff;text-align:center;}
/* 맛보기 / 장바구니 버튼 (다크용) */
.card_hover_layer .onl_card_btns{position:absolute;bottom:16px;left:16px;right:16px;display:flex;align-items:center;gap:8px;margin:0;}
.card_hover_layer .onl_btn_preview,.card_hover_layer .onl_btn_cart{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:1;height:40px;border-radius:20px;font-size:1.5rem;text-decoration:none;white-space:nowrap;}
.card_hover_layer .onl_btn_preview{border:1px solid #fff;color:#fff;background:transparent;}
.card_hover_layer .onl_btn_preview img{width:16px;flex-shrink:0;filter:brightness(1);}
.card_hover_layer .onl_btn_cart{color:#fff;background:#f25010;border:1px solid #f25010;}
.card_hover_layer .onl_btn_cart img{width:16px;flex-shrink:0;}
.card_hover_layer .onl_btn_preview:hover{background:#f5f5f5;color:#222;border-color:#222;}
.card_hover_layer .onl_btn_preview:hover img{filter:brightness(0);}
.card_hover_layer .onl_btn_cart:hover{background:#d94210;border-color:#d94210;}
/* 라이트 오버레이 변형 (.is_light) */
.card_hover_layer.is_light{background:rgba(206,206,206,0.95);}
.card_hover_layer.is_light .card_hover_title{color:#012278;}
.card_hover_layer.is_light .card_hover_list li{color:#012278;}
.card_hover_layer.is_light .card_hover_line{background:#012278;}
.card_hover_layer.is_light .card_hover_period{color:#012278;}
.card_hover_layer.is_light .onl_btn_preview{border:2px solid #000;color:#000;}
.card_hover_layer.is_light .onl_btn_preview img{filter:brightness(0);}
.card_hover_credit{font-size:1.7rem;font-weight:600;color:#fff;position:absolute;top:15px;left:15px;}
.card_hover_layer.is_light .card_hover_credit{color:#012278;}
/* 퍼플 오버레이 변형 (.is_purple) | 20260630 수정 */
.card_hover_layer.is_purple{background:rgba(62,27,82,0.9);}
.card_hover_layer.is_purple .card_hover_title{color:#fff;}
.card_hover_layer.is_purple .card_hover_list li{color:#fff;}
.card_hover_layer.is_purple .card_hover_line{background:#fff;}
.card_hover_layer.is_purple .card_hover_period{color:#fff;}
.card_hover_layer.is_purple .card_hover_credit{color:#fff;}
.card_hover_layer.is_purple .onl_btn_preview{border:2px solid #fff;color:#fff;background:transparent;}
.card_hover_layer.is_purple .onl_btn_preview img{filter:brightness(1);}
/* //20260630 수정 */
/* //20260629 수정 */


/*==============================================================================
   반응형
==============================================================================*/

/* ── 1300px : 스와이퍼 네비 버튼이 inner 밖으로 나가는 문제 수정 ── */
@media (max-width: 1300px) {
    .sec2_swiper_wrap  { margin-left: 50px; margin-right: 50px; }
    .sec2_nav_prev     { left:  -50px; }
    .sec2_nav_next     { right: -50px; }
    .sec5_swiper_wrap  { margin-left: 50px; margin-right: 50px; }
    .sec5_nav_prev     { left:  -50px; }
    .sec5_nav_next     { right: -50px; }
    .sec6_swiper_wrap  { margin-left: 50px; margin-right: 50px; }
    .sec6_nav_prev     { left:  -50px; }
    .sec6_nav_next     { right: -50px; }
}

/* ── 1100px : sec3·sec4 레이아웃 전환 ── */
@media (max-width: 1100px) {
    /* sec3 */
    .sec3_top        { flex-direction: column; align-items: flex-start; gap: 16px; width:100%; }
    .sec3_nav        { position: relative; left: auto; transform: none; gap: 20px; }
    .sec3_month_bar  { overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .sec3_month_list { min-width: max-content; flex-wrap: nowrap; }
    .sec3_body       { flex-direction: column; gap: 20px; }
    .sec3_left       { width: 100%; }
    /*20260620 수정*/
    .sec3_calendar   { width: 100%; box-sizing: border-box; padding:30px}
    /*20260620 수정*/
    .sec3_cal_days   { width: 100%; }
    .sec3_right      { width: 100%; margin-top: 0; }
    /* sec4 */
    /*20260625 수정*/
    .sec4_wrap     { flex-direction: column; }
    .sec4_left     { width: 100%; }
    .sec4_cards    { flex-direction: row; }
    /*//20260625 수정*/
}

@media (max-width: 1024px) {
    .sec2_head       { flex-wrap: wrap; gap: 16px; }
    .sec2_tab_area   { overflow-x: auto; padding-bottom: 4px; }
    .sec2_tab_list   { flex-wrap: nowrap; }
    .sec2_nav_btn    { width: 52px; height: 52px; }
    .sec2_nav_btn img{ width: 20px; height: auto; }
    .sec3_nav_date   { font-size: 3.2rem; }
}

/* ── 768px : 모바일 전체 ── */
@media (max-width: 768px) {
    /* sec2 */
    .section_no2          { padding: 50px 0; }
    /*20260619 수정*/
    .sec2_title           { font-size: 2.4rem; text-align:left; width:auto; word-break:keep-all; }
    .sec2_head            { flex-wrap:wrap; gap:16px; position:relative; }
    .sec2_tab_area        { order:3; width:100%; }
    .sec2_tab_area > .sec2_more_btn { position:absolute; top:0; right:0; }
    /*//20260619 수정*/
    .sec2_tab_link        { font-size: 1.6rem; padding: 4px 10px 14px; }
    .sec2_swiper_wrap     { margin-top: 30px; margin-left: 0; margin-right: 0; }
    /*20260624 수정*/
    .sec2_swiper_wrap > .sec2_nav_btn { display: none; }
    .sec2_pagination      { display: none; }
    .sec2_swiper_clip     { overflow: visible; }
    .sec2_card_swiper     { overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
    /* 20260629 수정2 */
    .sec2_card_swiper .swiper-wrapper { display: flex; flex-wrap: nowrap; gap: 25px; padding: 0; transform: none !important; }
    /* //20260629 수정2 */
    .sec2_card_swiper .swiper-slide  { flex-shrink: 0; width: 260px !important; }
    /*20260630 수정*/
    .sec2_card_swiper     { padding-bottom: 20px; }
    /*//20260630 수정*/
    .sec2_card_swiper::-webkit-scrollbar { height: 4px; }
    .sec2_card_swiper::-webkit-scrollbar-track { background: #e9e9e9; border-radius: 2px; }
    .sec2_card_swiper::-webkit-scrollbar-thumb { background: #999; border-radius: 2px; }
    /*//20260624 수정*/
    /*20260630 수정*/
    .sec2_card            { padding: 20px; min-height: auto; aspect-ratio: 300 / 320; border-radius: 15px; }
    /*//20260630 수정*/
    .sec2_card_icon_wrap  { width: 66px; height: 66px; border-radius: 0 20px 0 20px; }
    .sec2_card_icon_wrap::before,
    .sec2_card_icon_wrap::after  { width: 66px; height: 66px; }
    .sec2_card_icon_circle{ width: 46px; height: 46px; }
    .sec2_card_title      { font-size: 1.7rem; margin-top: 18px; min-height: calc(1.7rem * 1.4 * 2); }
    .sec2_card_info       { margin-top: 16px; gap: 4px; }
    .sec2_card_date,
    .sec2_card_loc        { font-size: 1.4rem; }
    .sec2_badge           { margin-top: 16px; }

    /* sec3 */
    .section_no3     { padding: 50px 0; }
    /*20260629 수정*/
    .sec3_title      { font-size: 2.4rem; }
    .sec3_top        { display:flex !important; flex-direction:row !important; flex-wrap:wrap !important; align-items:center !important; justify-content:space-between !important; gap:0 !important; row-gap:14px !important; }
    .sec3_top > .sec3_title { text-align:left !important; flex:1; order:1; font-size:2.4rem; }
    /*20260629 수정*/
    .sec3_nav        { position:relative !important; left:auto !important; transform:none !important; order:4; gap:16px; flex:none; justify-content:center; width:100%; }
    /*//20260629 수정*/
    .sec3_nav_date   { font-size: 2.4rem; }
    /*//20260619 수정*/
    /*20260624 수정*/
    /*20260629 수정*/
    .sec3_btn_group  { order:2; display:flex; gap:8px; width:100%; justify-content:flex-end; }
    .sec3_btn_annual { font-size:1.3rem; padding:7px 14px; }
    .sec3_btn_schedule { font-size:1.3rem; padding:7px 14px; }
    /*//20260629 수정*/

    /*20260629 수정*/
    .sec3_mob_toggle { display:flex; order:3; width:100%; background:#bed2e3; border-radius:25px; overflow:hidden; }
    .sec3_tog_btn    { flex:1; padding:10px 0; font-size:1.5rem; font-weight:600; color:#445c6e; background:transparent; border:none; cursor:pointer; text-align:center; transition:all 0.2s; }
    .sec3_tog_btn.is_active { background:#fff; color:#111; border-radius:25px; box-shadow:0 2px 8px rgba(0,0,0,0.1); }
    /*//20260629 수정*/

    .sec3_month_bar  { display:none; }
    .sec3_legend     { display:none; }

    .sec3_body       { flex-direction:column; gap:0; margin-top:20px; }
    .sec3_left       { width:100%; display:none; }
    .sec3_left.is_show { display:block; }
    .sec3_right      { width:100%; margin-top:0; box-shadow:none; padding:0; background:transparent; }
    .sec3_right.is_hide { display:none; }
    .sec3_list       { max-height:none; padding-right:0; }

    .sec3_calendar   { width:100%; box-sizing:border-box; padding:20px; }
    .sec3_cal_days   { width:100%; }
    .sec3_nav_date   { font-size: 2.8rem; }
    .sec3_btn        { font-size: 1.3rem; padding: 8px 14px; }
    /*//20260624 수정*/

    .sec5_head       { flex-direction:column; align-items:center; gap:10px; }
    .sec5_head       { flex-direction:row; align-items:center; justify-content:space-between; }
    .sec5_head > .sec3_title { text-align:left; font-size:2.4rem; }
    .sec6_head       { flex-direction:row; align-items:center; justify-content:space-between; }
    .sec6_head > .sec3_title { text-align:left; font-size:2.4rem; }

    /* sec3 리스트 아이템 */
    .sec3_list_item   { gap: 12px; padding: 16px !important; align-items: flex-start; background:#fff; border:1px solid #e8e8e8 !important; border-radius:12px; margin-bottom:10px; }
    .sec3_list_item:last-child { margin-bottom:0; }
    .sec3_item_main   { display: block; }
    .sec3_badge       { display: inline-flex; padding: 2px 8px; font-size: 1.3rem; margin-bottom: 6px; }
    .sec3_item_title  { white-space: normal; }
    .sec3_item_org    { display: block; font-size: 1.4rem; color: #888; }
    .sec3_item_name   { display: block; font-size: 1.6rem; margin-left: 0; margin-top: 2px;
                        display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
                        overflow: hidden; }
    .sec3_item_meta   { gap: 5px; margin-top: 6px; flex-wrap: wrap; }
    .sec3_meta_text   { font-size: 1.3rem; }
    .sec3_item_right  { gap: 5px; }
    .sec3_item_type   { font-size: 1.2rem; }
    .sec3_status      { width: 46px; font-size: 1.2rem; padding: 4px 0; }
    /*20260620 수정2*/
    .sec3_calendar   {padding:15px; min-height: inherit;}
    /*20260620 수정2*/

    /* sec4 */
    .section_no4     { padding: 50px 0; }
    /*20260625 수정*/
    .sec4_notice_head { margin-bottom: 16px; }
    .sec4_notice_head .sec3_title { font-size: 2.4rem; }
    .sec4_notice { padding: 24px 20px; border-radius: 16px; }
    .sec4_notice_list { gap: 12px; }
    /*//20260625 수정*/
    /*20260624 수정*/
    .sec4_cards      { flex-direction: row; gap: 10px; }
    .sec4_card       { padding: 20px; border-radius: 16px; }
    .sec4_card_title { font-size: 1.8rem; }
    .sec4_card_desc  { font-size: 1.3rem; margin-top: 10px; }
    .sec4_card_edu::after, .sec4_card_expert::after { position:static; display:inline-block; width:36px; height:28px; margin-top:8px; margin-left:auto; }
    /*//20260624 수정*/
    .sec4_notice_txt { font-size: 1.6rem; }
    .sec4_notice_date{ font-size: 1.5rem; }
    /*20260630 수정*/
    .sec4_notice_link { flex-wrap: wrap; gap: 7px; }
    .sec4_notice_txt  { white-space: normal; flex: 1 1 100%; }
    .sec4_notice_date { flex: 1 1 100%; padding-left: 12px; }
    /*//20260630 수정*/

    /* sec5 */
    .section_no5          { padding: 50px 0; }
    /* 20260629 수정2 */
    .sec5_swiper_wrap     { margin-left: 0; margin-right: 0; }
    .sec5_nav_prev,
    .sec5_nav_next        { display: none; }
    .sec5_swiper_clip     { overflow: visible; }
    .sec5_swiper          { overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
    .sec5_swiper .swiper-wrapper { display: flex; flex-wrap: nowrap; gap: 25px; padding: 0; transform: none !important; }
    .sec5_swiper .swiper-slide  { flex-shrink: 0; width: 260px !important; }
    /*20260630 수정*/
    .sec5_swiper          { padding-bottom: 20px; }
    /*//20260630 수정*/
    .sec5_swiper::-webkit-scrollbar { height: 4px; }
    .sec5_swiper::-webkit-scrollbar-track { background: #e9e9e9; border-radius: 2px; }
    .sec5_swiper::-webkit-scrollbar-thumb { background: #999; border-radius: 2px; }
    /* //20260629 수정2 */
    .sec5_card            { min-height: auto; }
    .sec5_card_thumb      { height: 140px; }
    .sec5_card_title      { font-size: 1.5rem; min-height: auto; }
    .sec5_card_info li    { font-size: 1.4rem; }

    /* sec6 */
    .section_no6          { padding: 50px 0; }
    /* 20260629 수정2 */
    .sec6_swiper_wrap     { margin-left: 0; margin-right: 0; }
    .sec6_nav_prev,
    .sec6_nav_next        { display: none; }
    .sec6_swiper_clip     { overflow: visible; }
    .sec6_swiper          { overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
    .sec6_swiper .swiper-wrapper { display: flex; flex-wrap: nowrap; gap: 25px; padding: 0; transform: none !important; }
    .sec6_swiper .swiper-slide  { flex-shrink: 0; width: 260px !important; }
    /*20260630 수정*/
    .sec6_swiper          { padding-bottom: 20px; }
    /*//20260630 수정*/
    .sec6_swiper::-webkit-scrollbar { height: 4px; }
    .sec6_swiper::-webkit-scrollbar-track { background: #e9e9e9; border-radius: 2px; }
    .sec6_swiper::-webkit-scrollbar-thumb { background: #999; border-radius: 2px; }
    /* //20260629 수정2 */
    .sec6_card            { min-height: auto; }
    .sec6_card_thumb      { height: 140px; }
    .sec6_card_title      { font-size: 1.5rem; min-height: auto; }
    .sec6_card_info li    { font-size: 1.4rem; }
    .sec6_tabs            { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; }
    .sec6_tab             { white-space: nowrap; font-size: 1.5rem; height: 40px; padding: 0 14px; }
}
@media (max-width: 480px) {
    /*20260625 수정*/
    .sec4_notice_head { margin-bottom: 12px; }
    /*20260629 수정2*/
    .sec4_notice_head .sec3_title { font-size: 2.4rem; }
    /*//20260629 수정2*/
    .sec4_wrap {gap:20px}
    .sec4_notice { padding: 20px 16px; border-radius: 12px; }
    .sec4_notice_list { gap: 10px; }
    /*20260630 수정*/
    .sec4_notice_txt { font-size: 1.6rem; }
    /*//20260630 수정*/
    .sec4_notice_date { font-size: 1.3rem; }
    /*20260629 수정*/
    .sec4_cards { flex-direction: row; gap: 8px; }
    .sec4_card { padding: 16px; border-radius: 14px; align-items: center; text-align: center; }
    .sec4_card_title { font-size: 1.5rem; }
    .sec4_card_desc { font-size: 1.2rem; margin-top: 8px; }
    .sec4_card_edu::after, .sec4_card_expert::after { position: static; display: block; width: 50px; height: 40px; margin: 10px auto 0; }
    /*//20260629 수정*/
    /*//20260625 수정*/
    /*20260624 수정 - 모바일 스크롤 전환으로 불필요*/
    /*//20260624 수정*/
    /*20260620 수정*/
    .sec3_calendar   {padding:10px}
    /*20260620 수정*/
}
@media (max-width: 450px) {
    /*20260624 수정 - 모바일 스크롤 전환으로 불필요*/
    .sec2_swiper_wrap  { max-width: none; }
    /*//20260624 수정*/
    /*20260630 수정*/
    .sec2_card         { padding: 14px; min-height: auto; aspect-ratio: 300 / 320; }
    /*//20260630 수정*/
    .sec2_card_title   { font-size: 1.5rem; margin-top: 25px; min-height: calc(1.5rem * 1.4 * 2); }
    .sec2_card_icon_wrap { width: 56px; height: 56px; }
    .sec2_card_icon_wrap::before,
    .sec2_card_icon_wrap::after  { width: 56px; height: 56px; }
    .sec2_card_icon_circle { width: 38px; height: 38px; }
    .sec2_card_icon_circle img { width: 18px; height: auto; }

    /* 20260629 수정2 */
    /* sec5 */
    .sec5_card_thumb   { height: 160px; }
    .sec5_card_title   { font-size: 1.5rem; }

    /* sec6 */
    .sec6_card_thumb   { height: 160px; }
    .sec6_card_title   { font-size: 1.5rem; }
    /* //20260629 수정2 */
}

/*------------------------------------------------------------------------------*/
/* 퀵메뉴 */
/*------------------------------------------------------------------------------*/
.quick_wrap{ position: fixed; right: 20px; top: 60%; transform: translateY(-50%); z-index: 150; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.quick_chatbot{ display: block; line-height: 1; text-decoration: none; }
.quick_chatbot_ico{ display: block; object-fit: contain; }
.quick_chatbot:focus-visible{ outline: 2px solid #003a89; outline-offset: 3px; border-radius: 4px; }
.quick_menu{ width: 90px; height: 420px; border-radius: 15px; border: 1px solid #e9e9e9; background: #fff; box-shadow: 0 4px 20px rgba(0,0,0,0.12); display: flex; flex-direction: column; overflow: hidden; }
.quick_menu_title{ display: flex; align-items: center; justify-content: center; height: 30px; background: #eeeeee; border-radius: 15px 15px 0 0; font-size: 1.1rem; color: #003a89; letter-spacing: -0.4px; font-weight: 600; flex-shrink: 0; white-space: nowrap; }
.quick_menu_list{ display: flex; flex-direction: column; align-items: center; justify-content: space-evenly; list-style: none; flex: 1; padding: 0; margin: 0; }
.quick_menu_link{ display: flex; flex-direction: column; align-items: center; text-decoration: none; padding: 0 6px; }
.quick_menu_link:hover .quick_menu_ico{ opacity: 0.75; }
.quick_menu_link:focus-visible{ outline: 2px solid #003a89; outline-offset: 3px; border-radius: 4px; }
.quick_menu_ico{ display: block; object-fit: contain; }
.quick_menu_text{ display: block; margin-top: 10px; font-size: 1.4rem; color: #222222; font-weight: 600; text-align: center; line-height: 1.3; word-break: keep-all; }
.quick_top{ display: flex; flex-direction: column; align-items: center; justify-content: center; width: 50px; height: 50px; border-radius: 50%; background: #333333; box-shadow: 0 4px 14px rgba(0,0,0,0.1); text-decoration: none; transition: box-shadow 0.2s, transform 0.2s; }
.quick_top:hover{ box-shadow: 0 6px 20px rgba(0,0,0,0.18); transform: translateY(-2px); }
.quick_top:focus-visible{ outline: 2px solid #003a89; outline-offset: 3px; border-radius: 50%; }
.quick_top_ico{ display: block; object-fit: contain; }
.quick_top_text{ display: block; margin-top: 7px; font-size: 1.3rem; font-weight: 600; color: #fff; line-height: 1; }

@media (max-width: 768px) {
    .quick_wrap{ top: auto; transform: none; bottom: 20px; right: 16px; gap: 8px; }
    .quick_menu{ display: none; }
}

/*퀵메뉴 1번*/ /* 20260615 수정 */
.quick_wrap_before{ position: fixed; right: 20px; top: 60%; transform: translateY(-50%); z-index: 150; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.quick_menu_before{ display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.qb_item{ display: flex; flex-direction: row; align-items: center; height: 60px; cursor: pointer; text-decoration: none; }
.qb_icon_wrap{ width: 60px; height: 60px; border-radius: 50%; background: #fff; box-shadow: 0 4px 14px rgba(0,0,0,0.15); display: flex; align-items: center; justify-content: center; flex-shrink: 0; position: relative; z-index: 1; transition: background 0.2s, box-shadow 0.2s; text-decoration: none; }
.qb_icon_wrap img{ width: 26px; height: 26px; filter: brightness(0) saturate(100%) invert(38%) sepia(13%) saturate(532%) hue-rotate(182deg) brightness(97%) contrast(89%); transition: filter 0.2s; display: block; }
/*20260623 수정*/
.qb_cart_wrap{position:relative; overflow:hidden;}
.qb_cart_badge{position:absolute; top:8px; right:8px; min-width:20px; height:20px; border-radius:10px; background:#e53935; color:#fff; font-size:1.1rem; font-weight:700; line-height:20px; text-align:center; padding:0 4px; box-sizing:border-box; pointer-events:none;}
/*//20260623 수정*/
.qb_label{ width: 0; height: 60px; overflow: hidden; background: #f4f4f4; display: flex; align-items: center; justify-content: center; white-space: nowrap; border-radius: 0 30px 30px 0; margin-left: 0; padding-left: 0; position: relative; z-index: 0; transition: width 0.28s cubic-bezier(0.4,0,0.2,1), background 0.2s; flex-shrink: 0; }
.qb_label span{ font-size: 1.4rem; color: #111; font-weight: 600; padding: 0 20px 0 14px; transition: color 0.2s; white-space: nowrap; }
.qb_item:hover .qb_label, .qb_item.is_active .qb_label{ width: 120px; margin-left: -25px; padding-left: 25px; background: #183879; }
.qb_item:hover .qb_label span, .qb_item.is_active .qb_label span{ color: #fff; }
.qb_item:hover .qb_icon_wrap, .qb_item.is_active .qb_icon_wrap{ background: #003fbc; box-shadow: 0 4px 14px rgba(0,63,188,0.3); }
.qb_item:hover .qb_icon_wrap img, .qb_item.is_active .qb_icon_wrap img{ filter: brightness(0) invert(1); }
/* 20260616 수정 : 패널 닫힐 때 hover 원상복구 */
.qb_item.is_closing:hover .qb_label{ width: 0; margin-left: 0; padding-left: 0; background: #f4f4f4; }
.qb_item.is_closing:hover .qb_label span{ color: #111; }
.qb_item.is_closing:hover .qb_icon_wrap{ background: #fff; box-shadow: 0 4px 14px rgba(0,0,0,0.15); }
.qb_item.is_closing:hover .qb_icon_wrap img{ filter: brightness(0) saturate(100%) invert(38%) sepia(13%) saturate(532%) hue-rotate(182deg) brightness(97%) contrast(89%); }
.qb_top_btn{ width: 60px; height: 60px; border-radius: 50%; background: #fff; box-shadow: 0 4px 14px rgba(0,0,0,0.15); display: flex; flex-direction: column; align-items: center; justify-content: center; text-decoration: none; transition: background 0.2s, box-shadow 0.2s, transform 0.2s; gap: 3px; flex-shrink: 0; }
.qb_top_btn svg{ width: 20px; height: 20px; stroke: #555f72; fill: none; transition: stroke 0.2s; }
.qb_top_btn span{ font-size: 1.1rem; font-weight: 700; color: #555f72; line-height: 1; transition: color 0.2s; }
.qb_top_btn:hover{ background: #003fbc; box-shadow: 0 6px 20px rgba(0,63,188,0.3); transform: translateY(-2px); }
.qb_top_btn:hover svg{ stroke: #fff; }
.qb_top_btn:hover span{ color: #fff; }
@media (max-width: 768px){ .quick_wrap_before{ display: none; } }

/* 20260616 수정 : 퀵메뉴 교육신청 패널 */
.qb_item_edu{ position: relative; }
.qb_icon_wrap[aria-expanded]{ border: none; cursor: pointer; padding: 0; outline: none; }
.qb_icon_wrap[aria-expanded]:focus-visible{ outline: 2px solid #003fbc; outline-offset: 2px; }
.qb_edu_panel{
    position: absolute;
    right: calc(100% + 14px);
    top: 50%;
    transform: translateY(-50%) translateX(8px);
    width: 360px;
    border-radius: 16px;
    border: 1px solid #3456b0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: #fff;
    box-shadow: 0 8px 32px rgba(52,86,176,.18);
    z-index: 9999;
    opacity: 0;
    pointer-events: none;
    transition: opacity .22s ease, transform .22s ease;
}
.qb_edu_panel.is_open{
    opacity: 1;
    transform: translateY(-50%) translateX(0);
    pointer-events: auto;
}
/* na_dropdown 내부 스타일 재사용 */
.qb_edu_panel .banner_user_top{ padding: 16px 18px; gap: 14px; background: #f0f3fd; display: flex; align-items: flex-start; }
.qb_edu_panel .banner_user_top_before{ justify-content: center; align-items: center; min-height: 80px; }
.qb_edu_panel .banner_before_msg{ font-size: 1.4rem; color: #444; text-align: center; line-height: 1.6; }
.qb_edu_panel .banner_user_btm{ background: #fff; flex: 1; padding: 14px 16px; }
.qb_edu_panel .banner_edu_title{ font-size: 1.6rem; font-weight: 700; color: #222; }
.qb_edu_panel .banner_edu_list{ display: flex; flex-direction: column; gap: 6px; margin-top: 12px; }
.qb_edu_panel .banner_edu_card{ display: flex; align-items: center; gap: 8px; width: 100%; min-height: 52px; background: #f5f5f5; border-radius: 10px; padding: 8px 12px; overflow: hidden; }
.qb_edu_panel .banner_edu_card > img{ width: 28px; height: 28px; object-fit: contain; flex-shrink: 0; display: block; }
.qb_edu_panel .edu_card_txt{ flex: 1; min-width: 0; overflow: hidden; }
.qb_edu_panel .edu_card_txt strong{ display: block; font-size: 1.3rem; font-weight: 600; color: #222; line-height: 1.3; }
.qb_edu_panel .edu_card_txt span{ display: block; font-size: 1.1rem; color: #666; line-height: 1.3; }
.qb_edu_panel .edu_card_divider{ width: 1px; height: 32px; background: #d2d2d2; flex-shrink: 0; }
.qb_edu_panel .edu_card_val{ font-size: 1.4rem; color: #555; white-space: nowrap; flex-shrink: 0; padding-left: 4px; }
.qb_edu_panel .banner_before_layer{ display: none; }
/* 로그인 후 패널 내부 */
.qb_edu_panel .banner_grade_box{ width: 88px; height: 78px; border-radius: 10px; background: #fff; flex-shrink: 0; display: flex; align-items: center; justify-content: center; position: relative; }
.qb_edu_panel .banner_grade_box img{ width: 54px; height: auto; display: block; }
.qb_edu_panel .grade_txt{ position: absolute; top: 38px; left: 50%; transform: translateX(-50%); font-size: 1.2rem; color: #000; font-weight: 600; white-space: nowrap; }
.qb_edu_panel .banner_user_info{ flex: 1; min-width: 0; }
.qb_edu_panel .banner_user_name_wrap{ display: flex; align-items: center; gap: 6px; }
.qb_edu_panel .banner_user_name_wrap img{ width: 18px; height: auto; }
.qb_edu_panel .banner_user_name{ display: flex; align-items: flex-end; gap: 2px; line-height: 1; }
.qb_edu_panel .banner_user_name strong{ font-size: 1.8rem; font-weight: 700; color: #222; white-space: nowrap; }
.qb_edu_panel .banner_user_name span{ font-size: 1.5rem; color: #222; padding-bottom: 1px; }
.qb_edu_panel .banner_user_sub{ margin-top: 8px; list-style: none; padding: 0; }
.qb_edu_panel .banner_user_sub li{ font-size: 1.3rem; color: #444; line-height: 1.6; padding-left: 10px; position: relative; }
.qb_edu_panel .banner_user_sub li::before{ content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 3px; height: 3px; background: #333; border-radius: 50%; }
.qb_edu_panel .edu_card_val em{ font-weight: 700; color: #0059c7; font-style: normal; }
.qb_edu_panel .edu_card_val.is_complete{ font-size: 1.3rem; font-weight: 700; color: #0059c7; }

/*퀵메뉴 2번*/ /* 20260615 수정 */
.qc_wrap{ position: fixed; right: 0; top: 50%; transform: translateY(-50%); z-index: 150; width: 150px; height: 245px; padding: 10px; background: #fff; border-top-left-radius: 20px; border-bottom-left-radius: 20px; box-shadow: -4px 4px 16px rgba(0,0,0,0.12); display: flex; flex-direction: column; justify-content: space-between; }
.qc_item{ display: flex; align-items: center; gap: 7px; padding: 10px 8px; border-radius: 5px; text-decoration: none; cursor: pointer; transition: background 0.2s; }
.qc_item img{flex-shrink: 0; filter: brightness(0) saturate(100%) invert(20%) sepia(80%) saturate(600%) hue-rotate(195deg) brightness(90%) contrast(105%); transition: filter 0.2s; }
.qc_item span{ font-size: 1.3rem; font-weight: 600; color: #111; white-space: nowrap; transition: color 0.2s; }
.qc_item:hover, .qc_item.is_active{ background: #003fbc; border-radius: 5px; }
.qc_item:hover img, .qc_item.is_active img{ filter: brightness(0) invert(1); }
.qc_item:hover span, .qc_item.is_active span{ color: #fff; }
@media (max-width: 768px){ .qc_wrap{ display: none; } }

/* 모바일 하단 네비게이션 */ /* 20260615 수정 */
.mob_bottom_nav{ display:none; }
@media (max-width: 480px){
    .mob_bottom_nav{ display:flex; position:fixed; bottom:0; left:0; right:0; height:70px; background:radial-gradient(circle 36px at 50% 0%, transparent 36px, #fff 37px); filter:drop-shadow(0 -3px 8px rgba(0,0,0,0.12)); z-index:602; align-items:center; }
    /* 20260630 수정3 : 아이콘 행 높이를 고정해 모든 mob_nav_txt 글자 라인을 통일 */
    /* 20260630 수정3 : 아이콘-텍스트 간격 7px 추가(5px -> 12px) */
    .mob_nav_item{ flex:1; display:grid; grid-template-rows:20px auto; row-gap:12px; justify-items:center; align-content:start; padding-top:13px; text-decoration:none; height:100%; }
    /* 20260616 수정 */
    .mob_nav_ico{ width:20px; height:20px; object-fit:contain; align-self:center; }
    /*20260616 수정 */
    .mob_nav_txt{ font-size:1.4rem; color:#6c6e77; line-height:1; }
    .site_footer { padding-bottom: 100px; } /* 20260617 수정 */

    /* 가운데 QR 아이템 : 아이콘 행은 빈 자리로 두고 원형 버튼은 절대좌표로 위에 띄움 */
    .mob_nav_qr_item{ position:relative; }
    .mob_nav_qr_item .mob_nav_txt{ grid-row:2; }
    /*//20260630 수정3*/

    /* QR 원 버튼 — nav 위로 솟아오름 */
    .mob_qr_btn{ width:60px; height:60px; border-radius:50%; display:flex; align-items:center; justify-content:center; position:absolute; top:-20px; left:50%; transform:translateX(-50%); background:#003fbc; box-shadow:0 4px 16px rgba(0,63,188,0.4); overflow:hidden; }
    .mob_qr_btn::after{ content:''; position:absolute; inset:0; border-radius:50%; background:linear-gradient(-54deg, rgba(0,131,255,0.45) 0%, transparent 100%); }
    .mob_qr_btn img{ width:28px; height:28px; object-fit:contain; position:relative; z-index:1; filter:brightness(0) invert(1); }

    /* 본문 하단 여백 */
    /* 20260629 수정3 */
    body.is_main .main_content{ padding-bottom:0; }
    /* //20260629 수정3 */
}

/* 모바일 QR 모달 */ /* 20260629 수정3 */
.mob_qr_overlay{ display:none; position:fixed; inset:0; background:rgba(0,0,0,0.2); z-index:600; }
.mob_qr_overlay.is_open{ display:block; }
/* 20260629 수정3 */
.mob_qr_modal{ position:fixed; bottom:0; left:0; right:0; background:#daebff; border-radius:30px 30px 0 0; z-index:1100; padding:0 20px 30px; transform:translateY(100%); transition:transform 0.35s cubic-bezier(0.4,0,0.2,1); }
/* //20260629 수정3 */
.mob_qr_modal.is_open{ transform:translateY(0); }
/*20260630 수정5 : QR 모달이 열려도 하단 네비게이션이 가려지지 않도록 위로 노출*/
.mob_qr_overlay.is_open ~ .mob_bottom_nav,
body:has(.mob_qr_overlay.is_open) .mob_bottom_nav{ z-index:1200; }
/* 네비게이션에 가려지는 만큼 모달 하단 여백을 더해 컨텐츠가 다 보이게 함 */
@media (max-width: 480px){
    .mob_qr_modal{ padding-bottom:calc(30px + 70px); }
}
/*//20260630 수정5*/

/* 닫기 버튼 */
.mob_qr_close_btn{ display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; background:#fff; box-shadow:0 4px 12px rgba(0,0,0,0.15); position:absolute; top:-20px; left:50%; transform:translateX(-50%); text-decoration:none; opacity:0; pointer-events:none; transition:opacity 0.2s; }
.mob_qr_modal.is_open .mob_qr_close_btn{ opacity:1; pointer-events:auto; }
.mob_qr_close_btn img{ width:16px; height:16px; object-fit:contain; }

/* QR 코드 흰박스 */
.mob_qr_code_wrap{ width:340px; max-width:100%; height:257px; margin:30px auto 0; background:#fff; border-radius:20px; box-shadow:0 4px 16px rgba(0,0,0,0.08); box-sizing:border-box; display:flex; flex-direction:column; align-items:center; justify-content:center; }
/*20260630 수정5*/
.mob_qr_code_wrap img{ display:block; width:192px; height:207px; object-fit:contain; }
/*//20260630 수정5*/
.mob_qr_code_info{ display:flex; align-items:center; justify-content:center; margin-top:10px; }
.mob_qr_code_label{ font-size:1.5rem; color:#333; }
.mob_qr_code_timer{ font-size:1.6rem; color:#ff0000; font-weight:600; }
/* 20260629 수정3 */
.mob_qr_timer{ font-size:1.6rem; color:#ff0000; font-weight:600; font-variant-numeric:tabular-nums; }
/* //20260629 수정3 */

/* 프로필 */
.mob_qr_profile{ display:flex; flex-direction:column; align-items:center; margin-top:20px; }
.mob_qr_profile_top{ display:flex; align-items:center; gap:8px; }
.mob_qr_profile_top img{ width:40px; height:40px; object-fit:contain; }
.mob_qr_name{ font-size:2.2rem; color:#111; font-weight:700; }
/* 20260701 수정 */
.mob_qr_belong{ display:flex; align-items:flex-start; gap:8px; margin-top:10px; width:100%; }
.mob_qr_license{ display:flex; align-items:flex-start; gap:8px; margin-top:6px; width:100%; }
.mob_qr_info_badge{ display:inline-flex; align-items:center; justify-content:center; font-size:1.4rem; min-width:70px; color:#022d84; border-radius:11px; border:1px solid #4a68a5; padding:2px 5px; flex-shrink:0; }
.mob_qr_info_val{ font-size:1.5rem; color:#333; }
/* //20260701 수정 */

/* 입실 상태 박스 */
.mob_qr_status{ width:340px; max-width:100%; margin:20px auto 0; border-radius:15px; overflow:hidden; border:1px solid #bfd6f2; }
/* 20260701 수정 */
.mob_qr_status_header{ background:#f0f7ff; border-top-left-radius:15px; border-top-right-radius:15px; padding:12px 0; text-align:center; }
.mob_qr_status_title{ font-size:2rem; color:#171f49; font-weight:700; }
.mob_qr_status_body{ background:#fff; padding:13px 0; display:flex; flex-direction:column; align-items:center; }
/* //20260701 수정 */
.mob_qr_badge{ display:flex; align-items:center; gap:8px; background:#fcefdf; border-radius:15px; padding:6px 16px; }
.mob_qr_badge_label{ font-size:1.6rem; color:#333; }
.mob_qr_badge_score{ font-size:1.6rem; color:#222; font-weight:700; }
.mob_qr_remain{ display:flex; align-items:center; gap:6px; margin-top:10px; }
.mob_qr_remain img{ width:18px; height:18px; object-fit:contain; }
.mob_qr_remain_txt{ font-size:1.5rem; color:#1f274f; }
/* 20260701 수정 */
.mob_qr_remain_time{ font-size:2.2rem; color:#ff0000; font-weight:700; }
/* //20260701 수정 */
/* //20260629 수정3 */