/*
 * K-BOOKS · 정보처리 모바일 보정 v2.0
 * processing 영역에만 적용합니다.
 * 기존 정보통신/Master 조판에는 영향을 주지 않습니다.
 */

/* 공통 안전 */
.kbp,.kbpf{width:100%;max-width:1180px;box-sizing:border-box;overflow-x:clip}
.icd-learn.is-processing,.icd-search-page{overflow-x:clip}
.kbp *,.kbpf *,.icd-learn.is-processing *,.icd-search-page *{box-sizing:border-box}
.kbp img,.kbpf img,.icd-learn.is-processing img,.icd-search-page img{max-width:100%;height:auto}

/* ─────────────────────────────
   정보처리 학습 홈
   ───────────────────────────── */
.kbp-flow>* , .kbp-next>* , .kbp-concepts>*{min-width:0}
.kbp h1,.kbp-head h2,.kbp-flow h3,.kbp-next strong,.kbp-concept-group h3{word-break:keep-all;overflow-wrap:anywhere}

@media(max-width:1180px){
  .kbp,.kbpf{max-width:100%}
}
@media(max-width:900px){
  .kbp{padding:38px 20px 76px}
  .kbp-hero{gap:30px;padding:36px;border-radius:26px}
  .kbp-section{padding-top:58px}
}
@media(max-width:760px){
  .kbp{padding:26px 16px 68px}
  .kbp-hero{grid-template-columns:minmax(0,1fr);padding:28px 22px;gap:24px}
  .kbp h1{font-size:clamp(34px,9.2vw,46px);line-height:1.14;letter-spacing:-.05em}
  .kbp-hero p{font-size:15px;line-height:1.82}
  .kbp-cover{max-width:185px}
  .kbp-section{padding-top:50px}
  .kbp-head h2{font-size:clamp(27px,7vw,36px);line-height:1.24}
  .kbp-flow,.kbp-next,.kbp-concepts{grid-template-columns:minmax(0,1fr)!important}
  .kbp-flow a,.kbp-flow article,.kbp-next a,.kbp-next div,.kbp-concept-group{padding:20px}
}
@media(max-width:560px){
  .kbp{padding:20px 13px 58px}
  .kbp-hero{padding:22px 17px;border-radius:20px}
  .kbp h1{margin:9px 0 14px;font-size:clamp(30px,9vw,38px)}
  .kbp h1 br{display:none}
  .kbp-kicker{font-size:9px;letter-spacing:.12em}
  .kbp-hero p{font-size:14px;line-height:1.78}
  .kbp-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:20px}
  .kbp-btn{width:100%;min-width:0;min-height:46px;justify-content:center;padding:0 12px;text-align:center;font-size:13px}
  .kbp-cover{max-width:155px}
  .kbp-section{padding-top:44px}
  .kbp-head h2{font-size:27px}
  .kbp-head p{font-size:13px;line-height:1.72}
  .kbp-flow a,.kbp-flow article,.kbp-next a,.kbp-next div,.kbp-concept-group{padding:18px;border-radius:14px}
  .kbp-flow h3,.kbp-next strong{font-size:18px}
  .kbp-concept-group h3{font-size:17px}
  .kbp-concept-links{gap:6px}
  .kbp-concept-links a{min-height:38px;padding:0 10px;font-size:11px}
}
@media(max-width:360px){
  .kbp{padding-inline:10px}
  .kbp-hero{padding:20px 14px}
  .kbp h1{font-size:29px}
  .kbp-btn{font-size:12px}
}

/* ─────────────────────────────
   정보처리의 흐름 / FLOW
   ───────────────────────────── */
.kbpf-hero>*,.kbpf-card>*,.kbpf-read>*,.kbpf-index-group,.kbpf-index-list a>*{min-width:0}
.kbpf-hero h1,.kbpf-head h2,.kbpf-card h3,.kbpf-card p,.kbpf-final h2,.kbpf-final p{word-break:keep-all;overflow-wrap:anywhere}

@media(max-width:860px){
  .kbpf{padding:32px 18px 72px}
  .kbpf-hero{gap:28px;padding:31px 26px}
  .kbpf-section{padding-top:42px}
}
@media(max-width:620px){
  .kbpf{padding:20px 13px 60px}
  .kbpf-top{margin-bottom:14px}
  .kbpf-top a{font-size:11px}
  .kbpf-top span{font-size:8px;letter-spacing:.09em}
  .kbpf-hero{padding:23px 18px;border-radius:19px;gap:18px}
  .kbpf-hero h1{margin:7px 0 9px;font-size:clamp(30px,9.6vw,39px);line-height:1.16}
  .kbpf-hero .lead{font-size:15px;line-height:1.62}
  .kbpf-hero .desc{margin-top:10px;font-size:13px;line-height:1.72}
  .kbpf-kicker{font-size:8px;letter-spacing:.12em}
  .kbpf-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;margin-top:18px}
  .kbpf-actions a{width:100%;min-width:0;min-height:44px;justify-content:center;padding:0 10px;text-align:center;white-space:normal}
  .kbpf-tabs{gap:6px;margin-top:12px}
  .kbpf-tabs a{min-height:67px;padding:9px 10px;border-radius:10px}
  .kbpf-tabs small{font-size:8px}.kbpf-tabs b{font-size:11px}
  .kbpf-section{padding-top:38px}
  .kbpf-head{padding-bottom:12px}
  .kbpf-head h2{font-size:26px;line-height:1.24}
  .kbpf-head p{font-size:12px;line-height:1.68}
  .kbpf-card{grid-template-columns:46px minmax(0,1fr);gap:11px;padding:17px;border-radius:13px}
  .kbpf-card em{font-size:25px}.kbpf-card h3{font-size:18px}.kbpf-card p{font-size:12px;line-height:1.62}
  .kbpf-step{grid-template-columns:38px minmax(0,1fr);gap:10px;padding:14px 4px}
  .kbpf-step em{font-size:15px}.kbpf-step strong{font-size:14px;line-height:1.48}
  .kbpf-read{gap:12px;padding:18px;border-radius:13px}
  .kbpf-read strong{font-size:16px;line-height:1.45}
  .kbpf-read p{font-size:11px;line-height:1.6}
  .kbpf-index-group{border-radius:12px}
  .kbpf-index-group summary{grid-template-columns:38px minmax(0,1fr) auto;gap:9px;padding:13px 14px}
  .kbpf-index-group summary em{font-size:17px}.kbpf-index-group summary strong{font-size:13px}.kbpf-index-group summary span{font-size:8px}
  .kbpf-index-list{padding:5px 12px 10px}
  .kbpf-index-list a{grid-template-columns:28px minmax(0,1fr);gap:7px;padding:9px 2px}
  .kbpf-index-list a span{font-size:11px;line-height:1.55}
  .kbpf-final{margin-top:38px;padding:21px 18px;border-radius:16px}
  .kbpf-final h2{font-size:22px;line-height:1.32}.kbpf-final p{font-size:12px;line-height:1.7}
}
@media(max-width:360px){
  .kbpf{padding-inline:10px}
  .kbpf-hero{padding-inline:15px}
  .kbpf-tabs a{padding-inline:7px}
  .kbpf-tabs b{font-size:10px}
}

/* ─────────────────────────────
   71개 상세 학습페이지
   ───────────────────────────── */
.icd-learn.is-processing .icd-breadcrumb>*{flex:0 0 auto}
.icd-learn.is-processing .icd-article-meta{display:flex;flex-wrap:wrap;gap:7px 12px}
.icd-learn.is-processing .icd-article-search-cta>*{min-width:0}
.icd-learn.is-processing .icd-article-search-cta form{min-width:0}
.icd-learn.is-processing .icd-article-search-cta input{min-width:0;width:100%}
.icd-learn.is-processing .icd-article-body table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.icd-learn.is-processing .icd-article-body code{overflow-wrap:anywhere}

@media(max-width:980px){
  .icd-learn.is-processing .icd-learn-shell{padding-left:18px!important;padding-right:18px!important}
  .icd-learn.is-processing .icd-learn-side{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  .icd-learn.is-processing .icd-side-card,.icd-learn.is-processing .icd-side-direction{min-width:0;margin:0!important}
}
@media(max-width:720px){
  .icd-learn.is-processing .icd-learn-shell{padding-left:14px!important;padding-right:14px!important}
  .icd-learn.is-processing .icd-breadcrumb{display:flex!important;align-items:center;gap:7px;max-width:100%;overflow-x:auto;overflow-y:hidden;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:8px}
  .icd-learn.is-processing .icd-breadcrumb::-webkit-scrollbar{display:none}
  .icd-learn.is-processing .icd-article-head h1{font-size:clamp(29px,8.6vw,38px)!important;line-height:1.2!important;letter-spacing:-.045em!important}
  .icd-learn.is-processing .ic-article-sub{font-size:14px!important;line-height:1.74!important;word-break:keep-all}
  .icd-learn.is-processing .icd-article-meta{font-size:10px}
  .icd-learn.is-processing .icd-article-intro,.icd-learn.is-processing .icd-insight{padding:18px!important;border-radius:13px!important}
  .icd-learn.is-processing .icd-article-body{font-size:15px!important;line-height:1.84!important}
  .icd-learn.is-processing .kb-processing-story h2{font-size:21px!important;line-height:1.35}.icd-learn.is-processing .kb-processing-story h3{font-size:17px!important;line-height:1.4}
  .icd-learn.is-processing .kb-processing-story p{line-height:1.84}
  .icd-learn.is-processing .kb-processing-story pre{font-size:12px;line-height:1.55;padding:13px;border-radius:9px}
  .icd-learn.is-processing .kb-processing-figure{margin:20px 0;padding:10px}
  .icd-learn.is-processing .kb-processing-figure img{max-height:none}
  .icd-learn.is-processing .kb-processing-original{padding:17px!important;border-radius:12px!important}
  .icd-learn.is-processing .icd-article-search-cta{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:13px!important;padding:18px!important}
  .icd-learn.is-processing .icd-article-search-cta form{display:grid!important;grid-template-columns:minmax(0,1fr) 46px!important;gap:6px!important;width:100%!important}
  .icd-learn.is-processing .icd-article-search-cta input,.icd-learn.is-processing .icd-article-search-cta button{min-height:44px!important}
  .icd-learn.is-processing .icd-learn-side{grid-template-columns:minmax(0,1fr)!important}
  .icd-learn.is-processing .icd-side-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:13px!important}
  .icd-learn.is-processing .icd-side-card .icd-side-label{grid-column:1/-1}
  .icd-learn.is-processing .icd-side-card a{min-width:0;padding:9px 6px!important;text-align:center;font-size:11px;word-break:keep-all}
  .icd-learn.is-processing .icd-side-direction{padding:16px!important}
  .icd-learn.is-processing .icd-related{margin-top:34px!important}
  .icd-learn.is-processing .icd-related-head h2{font-size:23px!important;line-height:1.3}
}
@media(max-width:460px){
  .icd-learn.is-processing .icd-learn-shell{padding-left:11px!important;padding-right:11px!important}
  .icd-learn.is-processing .icd-article-head h1{font-size:29px!important}
  .icd-learn.is-processing .icd-article-kicker,.icd-learn.is-processing .icd-article-part{font-size:9px!important;letter-spacing:.05em!important}
  .icd-learn.is-processing .icd-article-body{font-size:14.5px!important}
  .icd-learn.is-processing .icd-article-intro,.icd-learn.is-processing .icd-insight{padding:15px!important}
  .icd-learn.is-processing .icd-side-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .icd-learn.is-processing .icd-prevnext,.icd-learn.is-processing .icd-related-grid{gap:8px!important}
  .icd-learn.is-processing .icd-prevnext a,.icd-learn.is-processing .icd-related-grid a{padding:15px!important}
}

/* ─────────────────────────────
   통합검색
   ───────────────────────────── */
.icd-search-page .icd-learn-shell,.icd-search-page header,.icd-search-page form,.icd-search-page input{min-width:0}
.icd-search-page header h1,.icd-search-page .icd-search-group-title h2,.icd-search-page strong,.icd-search-page span{word-break:keep-all;overflow-wrap:anywhere}
@media(max-width:720px){
  .icd-search-page .icd-learn-shell{padding-left:14px!important;padding-right:14px!important}
  .icd-search-page header h1{font-size:clamp(30px,9vw,40px)!important;line-height:1.2!important}
  .icd-search-page header p{font-size:14px!important;line-height:1.72!important}
  .icd-search-page header form{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:7px!important;width:100%!important}
  .icd-search-page header input,.icd-search-page header button{min-height:46px!important}
  .icd-search-page .icd-search-results>a,.icd-search-page .icd-page-search-results>a{padding:17px!important}
  .icd-search-page .icd-search-group-title h2{font-size:23px!important}
}
@media(max-width:460px){
  .icd-search-page .icd-learn-shell{padding-left:11px!important;padding-right:11px!important}
  .icd-search-page header form{grid-template-columns:minmax(0,1fr)!important}
  .icd-search-page header button{width:100%!important}
  .icd-search-page .icd-search-results>a,.icd-search-page .icd-page-search-results>a{padding:15px!important}
}

/* v9 · 새 학습 플랫폼 페이지 공통 모바일 안전 */
.kbs,.kbpt,.kbflow,.kbml{max-width:100%;overflow-x:clip}
.kbs *,.kbpt *,.kbflow *,.kbml *{box-sizing:border-box}
.kbs img,.kbpt img,.kbflow img,.kbml img{max-width:100%;height:auto}
.kbs input,.kbpt input,.kbflow input,.kbml input,
.kbs select,.kbpt select,.kbflow select,.kbml select,
.kbs textarea,.kbpt textarea,.kbflow textarea,.kbml textarea{min-width:0;max-width:100%}
@media(max-width:720px){
  .kbs-shell,.kbpt-shell,.kbflow-shell,.kbml-shell{width:calc(100% - 24px)!important;max-width:100%!important}
  .kbs-original-columns,.kbpt-next nav,.kbflow-overview,.kbml-track-grid,.kbml-review-grid{min-width:0}
}
@media(max-width:460px){
  .kbs-shell,.kbpt-shell,.kbflow-shell,.kbml-shell{width:calc(100% - 20px)!important}
}
