/* ACT 홈페이지 샘플 — 하위 페이지 본문 스타일 (v4)
   sample/content/*.html (구 그누보드 마크업 원고)을 style.css 의 색·간격 체계에 맞춰 보여준다. 문구는 원고 그대로, 모양만.
   구 사이트의 부트스트랩 격자(.row/.col-*)·보임/숨김 보조 클래스(.hidden-xs 등)·테마 클래스(.certification_*, .acerti_* 등)를 최소한으로 재현.
   Font Awesome(.fa 장식 아이콘)은 쓰지 않는다. 간격 줄이기는 여기 말고 compact.css 에서만. */

/* ★ 인증규격 상세(13쪽)의 「인증필요성」「인증 기대효과」 카드 열 수 — 한 곳 설정.
   1 = 모든 폭에서 세로 1열, 카드 폭 = 본문 폭 전체(한대표님 10-25 「좌우배치가 아니라 세로배치」). 예전처럼 PC 에서 좌우 2열로 되돌리려면 2. */
:root { --spec-cols: 1; }
.pg { --c: var(--primary); --c-tint: var(--tint); font-size: 15px; line-height: 1.6; color: var(--text);
      padding-right: max(0px, calc(var(--fq-r) - var(--inset))); }   /* 플로팅 버튼 자리(style.css --fq-r): 본문 글줄이 버튼 밑으로 가지 않게. PC 1200↑ 는 좌우 여백 안이라 0 */
.sub.aud .pg { --c: var(--secondary); --c-tint: #E6EAF6; }
.sub.com .pg { --c: var(--secondary); --c-tint: var(--tint); }
.pg .container, .pg .container-fluid { width: auto; max-width: none; margin: 0; padding: 0; }
.pg img { max-width: 100%; height: auto; }
.pg a { color: var(--primary); }
.pg a:hover { text-decoration: underline; }
.pg b, .pg strong { color: var(--ink); }
.pg h2, .pg h3, .pg h4, .pg h5 { color: var(--ink); line-height: 1.35; letter-spacing: -.02em; }
.pg p { margin: 0 0 10px; }
.pg .sound_only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pg .fa { display: none; }
.pg .text-center { text-align: center; }
.pg .clearfix::after { content: ""; display: table; clear: both; }
.pg .mt5 { margin-top: 5px; } .pg .mt30 { margin-top: 30px; } .pg .mb-0 { margin-bottom: 0; } .pg .mb-3 { margin-bottom: 12px; } .pg .mb-5 { margin-bottom: 24px; } .pg .mt-3 { margin-top: 12px; }

/* ── 구 부트스트랩 격자·보임/숨김 (xs <768 · sm 768~991 · md 992~1199 · lg ≥1200) ── */
.pg .row { display: flex; flex-wrap: wrap; margin: 0 -8px; }
.pg [class*="col-"] { width: 100%; padding: 0 8px; min-width: 0; }
.pg .row > .col { flex: 1 1 100%; width: 100%; min-width: 0; padding: 0 8px; }
.pg .col-xs-12 { width: 100%; } .pg .col-xs-9 { width: 75%; } .pg .col-xs-6 { width: 50%; } .pg .col-xs-3 { width: 25%; }
@media (min-width: 768px) {
  .pg .col-sm-12 { width: 100%; } .pg .col-sm-8 { width: 66.667%; } .pg .col-sm-6 { width: 50%; } .pg .col-sm-4 { width: 33.333%; } .pg .col-sm-2 { width: 16.667%; }
}
@media (min-width: 992px) {
  .pg .col-md-12 { width: 100%; } .pg .col-md-10 { width: 83.333%; } .pg .col-md-8 { width: 66.667%; } .pg .col-md-6 { width: 50%; } .pg .col-md-4 { width: 33.333%; } .pg .col-md-2 { width: 16.667%; }
}
.pg .visible-xs-block, .pg .visible-sm-block, .pg .visible-md-block, .pg .visible-lg-block { display: none; }
.pg .visible-xs-inline-block, .pg .visible-sm-inline-block, .pg .visible-md-inline-block, .pg .visible-lg-inline-block,
.pg .visible-xs-inline, .pg .visible-lg-inline { display: none; }
@media (max-width: 767px) {
  .pg .hidden-xs { display: none !important; }
  .pg .visible-xs-block { display: block; } .pg .visible-xs-inline-block { display: inline-block; } .pg .visible-xs-inline { display: inline; }
}
@media (min-width: 768px) and (max-width: 991px) {
  .pg .hidden-sm { display: none !important; }
  .pg .visible-sm-block { display: block; } .pg .visible-sm-inline-block { display: inline-block; }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .pg .hidden-md { display: none !important; }
  .pg .visible-md-block { display: block; } .pg .visible-md-inline-block { display: inline-block; }
}
@media (min-width: 1200px) {
  .pg .hidden-lg { display: none !important; }
  .pg .visible-lg-block { display: block; } .pg .visible-lg-inline-block { display: inline-block; } .pg .visible-lg-inline { display: inline; }
}

/* ── 제목 ── */
.pg h2.text-5, .pg .main_h2 { margin: 18px 0 10px; padding-left: 10px; border-left: 4px solid var(--c); font-size: 22px; font-weight: 700; }
.pg > h2.text-5:first-child, .pg > .container > h2.text-5:first-child { margin-top: 6px; }
.pg .main_h2.text-center { text-align: left; }
.pg h3 { font-size: 18px; font-weight: 700; margin: 0 0 8px; }
.pg h4 { font-size: 16px; font-weight: 700; margin: 0 0 6px; }
.pg h5 { font-size: 15px; font-weight: 700; margin: 0 0 6px; }
.pg .bg_box { margin: 14px 0 8px; padding: 10px 16px; border-radius: 12px; background: var(--c-tint); }
.pg .bg_box h3 { margin: 0; font-size: 17px; color: var(--c); }
.pg .bg_box p { margin: 0; }
.pg .bg_box h3 a { color: var(--c); }
.pg .alert, .pg .acerti_alert { margin: 12px 0; padding: 12px 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--tint-2); }
.pg .acerti_alert_con { margin: 0 0 6px; }

/* ── 글머리 목록 (certification_*) ── */
.pg .certificationl_wrwr { margin: 8px 0; }
.pg ul[class^="certification_"], .pg ol[class^="certification_"] { margin: 0; padding: 0; list-style: none; }
.pg ul[class^="certification_"] li { position: relative; margin: 0; padding: 0 0 0 20px; }
.pg ul[class^="certification_"] li + li { margin-top: 6px; }
.pg ul[class^="certification_"] ul[class^="certification_"] { margin-top: 6px; }
.pg ul.certification_triangle > li::before { content: ""; position: absolute; left: 3px; top: .62em; border: 5px solid transparent; border-left: 7px solid var(--c); border-right: 0; }
.pg ul.certification_dash > li::before { content: ""; position: absolute; left: 2px; top: .85em; width: 9px; height: 2px; background: var(--accent); }
.pg ul.certification_disc > li::before { content: ""; position: absolute; left: 4px; top: .7em; width: 6px; height: 6px; border-radius: 50%; background: var(--c); }
.pg ul.certification_circle > li::before { content: ""; position: absolute; left: 4px; top: .65em; width: 6px; height: 6px; border: 1.5px solid var(--c); border-radius: 50%; }
.pg ul.certification_decimal, .pg ul.certification_alpha { counter-reset: n; }
.pg ul.certification_decimal > li, .pg ul.certification_alpha > li { counter-increment: n; padding-left: 30px; }
.pg ul.certification_decimal > li::before { content: counter(n); position: absolute; left: 0; top: 2px; width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: var(--c-tint); color: var(--c); font-size: 13px; font-weight: 700; line-height: 1; }
.pg ul.certification_alpha > li::before { content: counter(n, upper-alpha); position: absolute; left: 0; top: 2px; width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: var(--c-tint); color: var(--c); font-size: 12px; font-weight: 700; line-height: 1; }

/* ── 규격 상세 (isms·itsm… 13개): 제목 + 설명 + 두 상자(인증필요성·기대효과). 규격 아이콘 이미지는 빌드에서 제거됨 ── */
.pg-spec { display: grid; gap: 8px; }
.pg-spec > .container, .pg-spec .container { display: contents; }
.pg-spec .top_iso { grid-column: 1 / -1; padding: 4px 0 0; }
.pg-spec .top_iso_h3 { margin: 0; }
.pg-spec .top_iso_h3_right_gr { font-size: 17px; font-weight: 500; line-height: 1.35; color: var(--ink); letter-spacing: -.02em; }
.pg-spec .top_iso_h3_right_gr b { font-size: 32px; font-weight: 700; color: var(--primary); letter-spacing: -.03em; margin-right: 4px; }
.pg-spec .top_iso_h3_bl { display: block; margin-top: 2px; font-size: 18px; font-weight: 700; color: var(--secondary); }
.pg-spec .top_iso p, .pg-spec .top_iso p.hidden-xs { display: block !important; margin: 6px 0 0; font-size: 15px; font-weight: 400; line-height: 1.55; color: var(--text); }
.pg-spec .certificationl_wrwr { display: grid; gap: 8px; margin: 0; }
.pg-spec ul.certification_triangle { padding: 14px 18px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.pg-spec ul.certification_triangle > li { padding-left: 0; font-size: 18px; font-weight: 700; letter-spacing: -.02em; color: var(--secondary); }
.pg-spec ul.certification_triangle > li::before { display: none; }
.pg-spec ul.certification_triangle > li > ul { margin-top: 8px; }
.pg-spec ul.certification_triangle > li li { font-size: 15px; font-weight: 400; letter-spacing: 0; color: var(--text); }
.pg-spec ul.certification_triangle > li li + li { margin-top: 4px; }

/* ── 표 ── */
.pg table { width: 100%; border-collapse: collapse; }
.pg th, .pg td { padding: 8px 10px; vertical-align: top; text-align: left; border-bottom: 1px solid var(--line-soft); }
.pg th { font-weight: 700; color: var(--ink); background: var(--tint-2); white-space: nowrap; }
.pg table.list_0601_01 th { width: 90px; color: var(--c); background: var(--c-tint); border-radius: 8px; }
.pg table.list_0601_01 td.list_0601_01_h { padding: 2px; border: 0; }
.pg .table-wrapper { overflow-x: auto; margin: 0 0 8px; border: 1px solid var(--line); border-radius: 12px; }
.pg .table-striped tbody tr:nth-child(odd) td { background: var(--tint-2); }
.pg thead th { text-align: center; background: var(--c-tint); color: var(--c); }
.pg table.consulting_tb th, .pg table.bg_box_tb th { text-align: left; }

/* ── 탭(구 pill) — 인증절차 등 ── */
.pg .nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; padding: 0; list-style: none; }
.pg .nav-item { list-style: none; }
.pg .nav-link { display: flex; align-items: center; min-height: 44px; padding: 4px 16px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--text); font-size: 14px; font-weight: 500; line-height: 1.3; text-align: center; text-decoration: none; }
.pg .nav-link:hover { border-color: var(--accent); text-decoration: none; }
.pg .nav-link.active { background: var(--c); border-color: var(--c); color: #fff; font-weight: 700; }
.pg .nav-link .cp_br { display: none; }
.pg .tab-content > .tab-pane { display: none; }
.pg .tab-content > .tab-pane.active { display: block; }
.pg .collapse { display: block; }                        /* 접기 버튼 대신 전부 펼쳐 두고, 제목은 저장본에서 복원해 카드 머리에 보인다 */
.pg .card { margin: 0 0 8px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; overflow: hidden; }
.pg .card-header { padding: 10px 16px; border-bottom: 1px solid var(--line-soft); background: var(--tint-2); }
.pg .card-header h2.mb-0 { margin: 0; font-size: 16px; font-weight: 700; line-height: 1.4; color: var(--ink); }
.pg .card-body { padding: 12px 16px; }

/* ── 단계 안내 (step_list) · 버튼형 탭 안내 (btn_guide) ── */
.pg .btn_guide { margin: 8px 0 12px; }
.pg .btn_guide ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.pg .btn_guide li a { display: flex; align-items: center; min-height: 44px; padding: 4px 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; color: var(--text); font-size: 14px; line-height: 1.3; text-align: center; text-decoration: none; }
.pg .btn_guide li.on a { background: var(--c); border-color: var(--c); color: #fff; font-weight: 700; }
.pg .btn_guide_br { display: none; }
.pg .step_list ul { margin: 0; padding: 0; list-style: none; counter-reset: st; }
.pg .step_list li { position: relative; counter-increment: st; margin: 0 0 8px; padding: 12px 14px 12px 52px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.pg .step_list li::before { content: counter(st); position: absolute; left: 14px; top: 12px; width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: var(--c); color: #fff; font-size: 14px; font-weight: 700; line-height: 1; }
.pg .step_list_num { display: none !important; }       /* 번호는 ::before 로 이미 그린다 */

/* ── 조회·폼 화면(입력 항목만 보이는 정적 모양) ── */
.pg .acerti_search { margin: 8px 0; padding: 14px 16px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--tint-2); }
.pg .acerti_search_block { display: grid; gap: 4px; margin: 0 0 10px; }
.pg .acerti_search_block label { font-weight: 700; color: var(--ink); }
.pg .frm_input, .pg input[type="text"] { width: 100%; min-height: 44px; padding: 0 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; font: inherit; color: var(--ink); }
.pg .form-field-list { margin: 0 0 10px; padding: 0; list-style: none; }
.pg .form-field-list li { margin: 0 0 6px; padding: 8px 12px; border: 1px solid var(--line-soft); border-radius: 10px; background: #fff; }
.pg .form-note { margin: 8px 0; color: var(--muted); font-size: 14px; }
.pg .apply-form-wrapper, .pg .company-search-wrapper, .pg .verify-wrapper, .pg .complain-wrapper, .pg .empty-page-wrapper { }
.pg .search-form-spec, .pg .form-fields-spec, .pg .complain-form-link-spec { margin: 10px 0; }
.pg .acerti_btn_wr { margin: 8px 0; }
.pg a.acerti_btn, .pg .acerti_btn { display: inline-flex; align-items: center; min-height: 44px; padding: 0 20px; border-radius: 999px; background: var(--c); color: #fff; font-weight: 700; text-decoration: none; }
.pg a.acerti_btn:hover { text-decoration: none; filter: brightness(1.08); }
.pg .acerti_btn_icon { width: 18px; height: 18px; margin-right: 4px; vertical-align: -3px; }
.pg-note { margin: 14px 0 6px; padding: 10px 14px; border: 1px dashed var(--accent); border-radius: 12px; background: var(--tint-2); color: var(--text); font-size: 14px; }
.pg-note b { margin-right: 6px; color: var(--primary); }
.pg-formlink { margin: 8px 0; }
/* 구 사이트에서 서버가 처리하던 입력 화면(휴대폰 SMS 인증·인증기업 검색) — 버튼 줄 */
.pg .acerti_search_block .row-btn, .pg .acerti_search button { min-height: 44px; margin-top: 6px; padding: 0 18px; border: 0; border-radius: 999px; background: var(--c); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.pg .acerti_search button:hover { filter: brightness(1.08); }
.pg .alert-info { margin: 12px 0; padding: 12px 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--tint-2); }
.pg .gform-frame, .pg iframe[name="ifm1"] { display: block; width: 100%; border: 0; }
/* 처리 절차 보기(구 모달 -> 펼침) · 지도 링크 */
.pg details.pg-modal { margin: 10px 0; }
.pg details.pg-modal > summary { list-style: none; cursor: pointer; }
.pg details.pg-modal > summary::-webkit-details-marker { display: none; }
.pg .pg-modal-body { margin: 10px 0 0; text-align: center; }
.pg .pg-modal-body img { max-width: 100%; height: auto; }
.pg .map-link { margin: 8px 0 0; font-size: 14px; }
.pg .location_map { max-width: 100%; overflow: hidden; }
.pg .location_map .root_daum_roughmap, .pg .location_map .root_daum_roughmap * { max-width: 100% !important; box-sizing: border-box; }
.pg .location_map .root_daum_roughmap { width: 100% !important; }
.pending-box { padding: 24px 18px; border: 1px dashed var(--accent); border-radius: var(--radius); background: var(--tint-2); }
.pending-title { margin: 0 0 6px; font-size: 20px; font-weight: 700; color: var(--secondary); }

/* ── 전문인력 (pro_*) · 면허 갤러리 (gall_*) · 실적 로고 · 연혁 · 특장점 ── */
.pg .pro_tit { margin: 14px 0 8px; }
.pg .pro_tit h3 { color: var(--c); }
.pg .pro_box { margin: 0 0 12px; padding: 12px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; text-align: center; height: calc(100% - 12px); }
.pg .pro_img img { width: 100%; max-width: 160px; border-radius: 12px; }
.pg .pro_name { margin: 8px 0 4px; }
.pg .pro_info { margin: 0; font-size: 14px; text-align: left; line-height: 1.5; }
.pg ul.gall_row { display: flex; flex-wrap: wrap; margin: 0 -8px; padding: 0; list-style: none; }
.pg li.gall_li { width: 50%; padding: 0 8px 14px; }
@media (min-width: 768px) { .pg li.gall_li.col-gn-4 { width: 33.333%; } }
.pg .gall_box { padding: 10px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; text-align: center; height: 100%; }
.pg .gall_info { margin-bottom: 6px; font-size: 14px; font-weight: 700; color: var(--ink); }
.pg .gall_chk { display: none; }
.pg .result_content_wr { margin: 0 0 8px; }
.pg .result_con_wr { padding: 12px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.pg .result_img img { max-width: 72px; }
.pg .result_name { margin: 6px 0; }
.pg .result_info { font-size: 14px; line-height: 1.5; }
.pg .certification_r_box { margin: 0 0 12px; }
.pg .certification_r_box_tit { margin: 14px 0 8px; font-size: 17px; }
.pg .certification_r_box_tit span { color: var(--c); }
.pg .certification_r_box > .clearfix { display: flex; flex-wrap: wrap; }
.pg .rc_5 { width: 33.333%; padding: 0 4px 8px; }
@media (min-width: 768px) { .pg .rc_5 { width: 20%; } }
.pg .certification_result { height: 100%; padding: 8px; border: 1px solid var(--line-soft); border-radius: 10px; background: #fff; text-align: center; }
.pg .certification_r_img img { max-height: 56px; width: auto; }
.pg .certification_r_txt p { margin: 4px 0 0; font-size: 13px; line-height: 1.35; }
.pg .history_div .p_box { display: flex; gap: 14px; align-items: flex-start; }
.pg .history_div .p_box + .p_box { margin-top: 14px; }
.pg .history_img { flex: none; }
.pg .year_body { display: grid; place-items: center; min-width: 64px; height: 36px; padding: 0 12px; border-radius: 999px; background: var(--c); color: #fff; font-weight: 700; }
.pg .year_body span { color: #fff; }
.pg .history_txt { flex: 1; min-width: 0; }
.pg .history_txt p { margin: 0; line-height: 1.7; }
.pg .special { margin-top: 20px; }
.pg .special_box { margin: 0 0 12px; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; height: calc(100% - 12px); }
.pg .special_box img { max-height: 64px; width: auto; margin-bottom: 6px; }
.pg .special_box h3 { font-size: 16px; }

/* ── 오시는길 (location·transportation) ── */
.pg .location_map { margin: 8px 0; min-height: 80px; border-radius: 12px; background: var(--tint-2); }
.pg .transportation_wr { margin: 0 0 10px; padding: 10px 0; border-top: 1px solid var(--line-soft); }
.pg .transportation_icon img { width: 40px; }
.pg .subway_num { display: inline-block; min-width: 56px; margin-right: 4px; padding: 0 8px; border-radius: 999px; background: var(--tint); color: var(--primary); font-size: 13px; font-weight: 700; text-align: center; }

/* ── 구 메인 조각(연수기관 소개·강의상세·구 홈에 들어 있던 상자·목록) ── */
.pg .acerti_board, .pg .acerti_service, .pg .acerti_point { margin: 0 0 14px; }
.pg .acerti_box, .pg .acerti_s_box, .pg .acerti_p_box { margin: 0 0 12px; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.pg .acerti_s_tit { margin: 0; font-size: 17px; color: var(--primary); }
.pg .acerti_s_con { margin-bottom: 6px; font-size: 14px; }
.pg .acerti_s_icon img, .pg .acerti_p_icon img { max-height: 48px; width: auto; }
.pg .acerti_s_kab { display: inline-block; margin: 0 0 6px; padding: 0 10px; border-radius: 999px; background: var(--tint); color: var(--primary); font-size: 12px; }
.pg .acerti_s_link { display: inline-block; margin: 4px 8px 0 0; }
.pg .acerti_s_link a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border: 1px solid var(--line); border-radius: 999px; color: var(--primary); font-weight: 500; text-decoration: none; }
.pg .acerti_s_link.acerti_d_link a { background: var(--primary); border-color: var(--primary); color: #fff; }
.pg .acerti_s_link.acerti_d_link a .acerti_btn_icon { filter: none; }
.pg .acerti_box_wr { margin: 0 0 8px; }
.pg .lt_title { margin: 0 0 6px; font-size: 17px; }
.pg .lt ul { margin: 0; padding: 0; list-style: none; }
.pg .lt li { display: flex; justify-content: space-between; gap: 10px; padding: 8px 0; border-top: 1px solid var(--line-soft); }
.pg .lt li:first-child { border-top: 0; }
.pg .lt_date { flex: none; color: var(--muted); font-size: 13px; }
.pg .lt_more { text-align: right; }
.pg .lt_more a { font-weight: 700; }
.pg .index_hide, .pg .index_show { display: block; }
.pg ul.mon_cert:empty { display: none; }
.pg .acerti_p_box .acerti_p_icon { float: left; margin-right: 10px; }
.pg .tbl_schedule td:first-child { min-width: 150px; }
.pg .full_img_wr img { width: 100%; border-radius: 12px; }
.pg .calendar-embed-placeholder { margin: 8px 0; padding: 14px; border: 1px dashed var(--accent); border-radius: 12px; color: var(--muted); text-align: center; }
.pg .page_top_box .sub_tit h2 { margin-top: 6px; }
.pg .sub_0101_con { margin: 0 0 14px; line-height: 1.8; }
.pg .sub_0101_ceo_name { margin: 0; font-size: 16px; text-align: right; }
.pg .sub_0101_ceo img { border-radius: 12px; }
.pg .comp_box { margin: 0 0 8px; }
.pg .bg_box_tb { margin: 6px 0; }

@media (min-width: 960px) {
  .pg { font-size: 16px; }
  .pg-spec { grid-template-columns: repeat(var(--spec-cols), 1fr); gap: 16px; }          /* 규격 상세 열 수 = 맨 위 --spec-cols (1 = 세로 1열) */
  .pg-spec .top_iso p, .pg-spec .top_iso p.hidden-xs { font-size: 17px; max-width: 680px; }
  .pg-spec .top_iso_h3_right_gr b { font-size: 44px; }
  .pg-spec .top_iso_h3_bl { font-size: 22px; }
  .pg-spec .certificationl_wrwr { grid-template-columns: repeat(var(--spec-cols), 1fr); gap: 16px; }   /* 인증필요성·인증 기대효과 두 카드 — --spec-cols: 1 이면 위아래 */
  .pg-spec ul.certification_triangle { padding: 20px 28px; }
  .pg h2.text-5, .pg .main_h2 { font-size: 26px; }
}

/* ── 심사원 조회(실제 입력 폼 + 결과) — lookup.js ── */
.pg .lookup-form { display: grid; gap: 4px; }
.pg .lookup-btn { justify-self: stretch; justify-content: center; border: 0; cursor: pointer; font: inherit; font-weight: 700; margin-top: 4px; }
.pg .lookup-form.is-disabled .frm_input { background: var(--tint-2); color: var(--muted); }
.pg .lookup-form.is-disabled .lookup-btn, .pg .lookup-btn:disabled { background: var(--muted); cursor: not-allowed; filter: none; }
.pg .lookup-pending { margin: 8px 0 0; padding: 10px 14px; border: 1px dashed var(--accent); border-radius: 12px; background: #fff; font-size: 14px; }
.pg .lookup-pending b { margin-right: 6px; color: var(--primary); }
.pg .lookup-result { margin: 10px 0; }
.pg .lookup-msg { padding: 12px 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--tint-2); }
.pg .lookup-msg.is-warn { border-color: #E6CFA0; background: #FFF9EC; }
.pg .lookup-msg.is-danger { border-color: #E5B4B4; background: #FFF5F5; color: #7A1F1F; }
.pg .lookup-result table th { white-space: nowrap; }
@media (min-width: 768px) {
  .pg .lookup-form { grid-template-columns: 1fr 1fr auto; gap: 0 12px; align-items: end; }
  .pg .lookup-btn { justify-self: auto; margin-top: 0; min-height: 44px; margin-bottom: 10px; }
}
/* 폰: 결과 표를 「제목 · 값」 줄로(가로로 잘리지 않게). 머리 줄은 화면에서만 감추고 읽기 도구에는 남긴다 */
@media (max-width: 767px) {
  .pg .lookup-result .table-wrapper { overflow: visible; }
  .pg .lookup-result thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .pg .lookup-result table, .pg .lookup-result tbody, .pg .lookup-result tr { display: block; width: 100%; }
  .pg .lookup-result td { display: flex; gap: 12px; padding: 8px 14px; border-bottom: 1px solid var(--line-soft); }
  .pg .lookup-result td:last-child { border-bottom: 0; }
  .pg .lookup-result td::before { content: attr(data-label); flex: 0 0 116px; font-weight: 700; color: var(--ink); }
}


/* ── FAQ (펼침) · 문의 안내 · 확인 필요 표시 ── */
.pg .faq-group { margin: 0 0 22px; }
.pg .faq-gh { margin: 18px 0 8px; font-size: 18px; font-weight: 700; color: var(--secondary); }
.pg details.faq-item { margin: 0 0 8px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.pg details.faq-item > summary { position: relative; list-style: none; cursor: pointer; padding: 12px 40px 12px 16px; font-weight: 700; line-height: 1.45; color: var(--ink); }
.pg details.faq-item > summary::-webkit-details-marker { display: none; }
.pg details.faq-item > summary::after { content: '+'; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); font-size: 20px; font-weight: 400; color: var(--primary); }
.pg details.faq-item[open] > summary { border-bottom: 1px solid var(--line-soft); background: var(--tint-2); border-radius: var(--radius) var(--radius) 0 0; }
.pg details.faq-item[open] > summary::after { content: '\2212'; }
.pg .faq-a { padding: 12px 16px 14px; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.7; }
.pg .faq-sub-q { margin: 14px 0 6px; font-size: 15px; font-weight: 700; color: var(--secondary); }
.pg .faq-sub-q:first-child { margin-top: 0; }
.pg .faq-sub-a { margin: 0 0 10px; }
.pg .faq-a a { color: var(--primary); word-break: break-all; }
html.review-on .pg details.faq-item[data-review] > summary::before { content: '확인 필요'; margin-right: 8px; padding: 2px 8px; border-radius: 999px; background: #FFF1CC; color: #7A4B00; font-size: 12px; font-weight: 700; }
.pg .lookup-more { margin: 8px 0 0; color: var(--muted); font-size: 14px; }

/* ── 공지사항 (구 게시판 190건 -> 정적 목록·상세) ── */
.pg .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pg .notice-tools { display: flex; align-items: center; gap: 12px; margin: 4px 0 12px; }
.pg .notice-tools input[type="search"] { flex: 1 1 auto; max-width: 420px; width: 100%; min-height: 44px; padding: 0 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; font: inherit; color: var(--ink); }
.pg .notice-count { color: var(--muted); font-size: 14px; white-space: nowrap; }
.pg .notice-none { margin: 8px 0; padding: 12px 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--tint-2); }
.pg details.notice-year { margin: 0 0 10px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.pg details.notice-year > summary { cursor: pointer; padding: 12px 16px; font-weight: 700; color: var(--ink); list-style: none; }
.pg details.notice-year > summary::-webkit-details-marker { display: none; }
.pg details.notice-year > summary small { margin-left: 6px; color: var(--muted); font-weight: 400; }
.pg details.notice-year > summary::after { content: '+'; float: right; color: var(--primary); font-size: 20px; font-weight: 400; line-height: 1.2; }
.pg details.notice-year[open] > summary::after { content: '\2212'; }
.pg details.notice-year[open] > summary { border-bottom: 1px solid var(--line-soft); background: var(--tint-2); border-radius: var(--radius) var(--radius) 0 0; }
.pg .notice-list { margin: 0; padding: 0; list-style: none; }
.pg .notice-list li { border-bottom: 1px solid var(--line-soft); }
.pg .notice-list li:last-child { border-bottom: 0; }
.pg .notice-list a { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; padding: 11px 16px; color: var(--ink); text-decoration: none; }
.pg .notice-list a:hover { background: var(--c-tint); }
.pg .notice-list .n-t { min-width: 0; overflow-wrap: anywhere; }
.pg .notice-list time { flex: 0 0 auto; color: var(--muted); font-size: 14px; white-space: nowrap; }
.pg .notice-view { padding: 4px 0 0; }
.pg .notice-title { margin: 0 0 6px; font-size: 20px; line-height: 1.4; color: var(--ink); overflow-wrap: anywhere; }
.pg .notice-meta { margin: 0 0 12px; padding: 0 0 10px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 14px; }
.pg .notice-imgs img { display: block; max-width: 100%; height: auto; margin: 0 0 12px; border: 1px solid var(--line-soft); border-radius: 8px; }
.pg .notice-body { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.75; }
.pg .notice-body a, .pg .notice-links a, .pg .notice-files a { color: var(--primary); word-break: break-all; }
.pg .notice-links, .pg .notice-files { margin: 16px 0 0; padding: 12px 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--tint-2); }
.pg .notice-links h4, .pg .notice-files h4 { margin: 0 0 6px; font-size: 15px; color: var(--secondary); }
.pg .notice-links ul, .pg .notice-files ul { margin: 0; padding: 0; list-style: none; }
.pg .notice-links li, .pg .notice-files li { padding: 3px 0; }
.pg .notice-nav { display: grid; gap: 6px; margin: 18px 0 8px; }
.pg .notice-nav a { display: block; padding: 10px 14px; border: 1px solid var(--line-soft); border-radius: 10px; color: var(--text); text-decoration: none; overflow-wrap: anywhere; }
.pg .notice-nav a b { margin-right: 8px; color: var(--primary); }
.pg .notice-nav a:hover { background: var(--c-tint); }
