/*
 * K-BOOKS MODERN UI v2
 * MOCKUP-BASED · RESTRAINED COLOR EDITION
 * 구조/기능 유지, 홈 hero만 시안 기준으로 재구성
 */

:root{
  --kb2-bg:#f7f8f7;
  --kb2-paper:#ffffff;
  --kb2-ink:#123543;
  --kb2-text:#3f555d;
  --kb2-muted:#7b898e;
  --kb2-line:#e2e8e7;
  --kb2-line2:#d3dddc;
  --kb2-navy:#123746;
  --kb2-navy-deep:#0c2935;
  --kb2-teal:#0b7d79;
  --kb2-teal-soft:#edf7f5;
  --kb2-gold:#9a7a43;
  --kb2-gold-soft:#f7f2e8;
  --kb2-radius:14px;
  --kb2-shadow:0 9px 30px rgba(13,45,57,.07);
}
html{scroll-behavior:smooth}
body{
  background:var(--kb2-bg);
  color:var(--kb2-text);
  font-family:'Noto Sans KR','Pretendard','Apple SD Gothic Neo','Malgun Gothic',sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{text-decoration:none;transition:.18s ease}
button,input,select,textarea{font:inherit}
::selection{background:#d9eeeb;color:var(--kb2-ink)}

/* =========================================================
   HEADER · 기존 기능 유지, 시각만 간결하게
   ========================================================= */
.icd-header{background:#fff!important;color:var(--kb2-text)}
.icd-util{
  background:var(--kb2-navy-deep)!important;
  min-height:30px;
}
.icd-util-inner{height:30px!important}
.icd-util-home{font-size:9px!important;letter-spacing:.13em!important;color:rgba(255,255,255,.48)!important}
.icd-account a,.icd-account-learning-btn{font-size:10px!important;color:rgba(255,255,255,.72)!important}
.icd-brand-row{border-bottom:1px solid var(--kb2-line)!important;background:#fff!important}
.icd-brand-inner{
  min-height:76px!important;
  gap:28px!important;
}
.icd-brand-logo,.icd-kbooks-logo{
  max-height:52px!important;
}
.icd-search{width:min(460px,40vw)!important}
.icd-search-box{
  height:44px!important;
  border:1px solid var(--kb2-line2)!important;
  border-radius:11px!important;
  background:#f8faf9!important;
  overflow:hidden;
}
.icd-search-box:focus-within{
  border-color:#8ab9b5!important;
  background:#fff!important;
  box-shadow:0 0 0 3px rgba(11,125,121,.07)!important;
}
.icd-search-label{
  color:var(--kb2-teal)!important;
  border-right:1px solid var(--kb2-line)!important;
  font-size:10px!important;
}
.icd-search-box input{font-size:13px!important;color:var(--kb2-text)!important}
.icd-search-box button{color:var(--kb2-navy)!important}
.icd-search-hints{display:none!important}

.icd-gnb{
  border-bottom:1px solid var(--kb2-line)!important;
  box-shadow:0 4px 14px rgba(12,41,53,.025)!important;
  background:#fff!important;
}
.icd-gnb-link{
  height:50px!important;
  padding:0 17px!important;
  font-family:'Noto Sans KR','Pretendard','Malgun Gothic',sans-serif!important;
  font-size:13px!important;
  font-weight:700!important;
  color:#344b54!important;
}
.icd-gnb-link:after{
  height:2px!important;
  left:17px!important;right:17px!important;
  background:var(--kb2-teal)!important;
}
.icd-gnb-item:hover>.icd-gnb-link,
.icd-gnb-item.active>.icd-gnb-link{color:var(--kb2-teal)!important}
.icd-submenu{
  top:50px!important;
  min-width:230px!important;
  padding:7px!important;
  border:1px solid var(--kb2-line)!important;
  border-top:2px solid var(--kb2-teal)!important;
  border-radius:0 0 12px 12px!important;
  box-shadow:0 18px 42px rgba(13,45,57,.11)!important;
}
.icd-submenu a{
  padding:10px 11px!important;
  border-radius:7px!important;
  color:#596c73!important;
  font-size:12px!important;
  font-weight:600!important;
}
.icd-submenu a:hover{background:var(--kb2-teal-soft)!important;color:var(--kb2-teal)!important}
.icd-gnb-quick a{height:50px!important;font-size:10px!important}
.icd-gnb-quick a:hover{background:#f5f8f7!important;color:var(--kb2-teal)!important}

/* =========================================================
   HOME · MOCKUP-BASED HERO
   ========================================================= */
.kbh{background:var(--kb2-bg)!important;color:var(--kb2-text)!important}
.kbh-shell{width:min(1180px,calc(100% - 44px))!important}

.kbh-v2-hero{
  position:relative;
  overflow:hidden;
  min-height:520px;
  background:var(--kb2-navy);
  color:#fff;
}
.kbh-v2-hero-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 45%;
  opacity:.9;
}
.kbh-v2-hero:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(8,34,45,.88) 0%,rgba(8,34,45,.68) 42%,rgba(8,34,45,.18) 72%,rgba(8,34,45,.08) 100%);
}
.kbh-v2-hero .kbh-shell{
  position:relative;
  z-index:2;
  min-height:520px;
  display:flex;
  align-items:center;
}
.kbh-v2-hero-copy{max-width:650px;padding:64px 0}
.kbh-v2-hero-copy>small{
  display:block;
  color:#8edbd6;
  font-size:10px;
  font-weight:900;
  letter-spacing:.16em;
}
.kbh-v2-hero-copy h1{
  margin:12px 0 18px;
  font-size:clamp(43px,5.3vw,66px);
  line-height:1.08;
  letter-spacing:-.055em;
  color:#fff;
}
.kbh-v2-hero-copy p{
  max-width:570px;
  margin:0;
  color:rgba(255,255,255,.82);
  font-size:15px;
  line-height:1.9;
  word-break:keep-all;
}
.kbh-v2-hero-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:28px}
.kbh-v2-hero-actions a{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  padding:0 18px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:9px;
  color:#fff;
  font-size:12px;
  font-weight:800;
}
.kbh-v2-hero-actions a.primary{
  border-color:#fff;
  background:#fff;
  color:var(--kb2-navy);
}
.kbh-v2-hero-actions a:hover{transform:translateY(-2px)}
.kbh-v2-hero-note{
  display:flex;
  gap:13px;
  flex-wrap:wrap;
  margin-top:22px;
  color:rgba(255,255,255,.68);
  font-size:10px;
}
.kbh-v2-hero-note span:before{content:"";display:inline-block;width:4px;height:4px;margin:0 6px 2px 0;border-radius:50%;background:#8edbd6}

.kbh-v2-shortcuts{
  margin-top:-28px;
  position:relative;
  z-index:5;
}
.kbh-v2-shortcut-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.kbh-v2-shortcut-grid>a{
  min-height:112px;
  padding:20px 20px 18px;
  border:1px solid var(--kb2-line);
  border-radius:12px;
  background:#fff;
  box-shadow:0 7px 22px rgba(11,43,55,.055);
  color:var(--kb2-text);
}
.kbh-v2-shortcut-grid>a:hover{
  transform:translateY(-3px);
  border-color:#bfd4d2;
  box-shadow:var(--kb2-shadow);
}
.kbh-v2-shortcut-grid small{
  display:block;
  color:var(--kb2-teal);
  font-size:9px;
  font-weight:900;
  letter-spacing:.09em;
}
.kbh-v2-shortcut-grid strong{
  display:block;
  margin-top:9px;
  color:var(--kb2-ink);
  font-size:17px;
  letter-spacing:-.025em;
}
.kbh-v2-shortcut-grid span{
  display:block;
  margin-top:5px;
  color:var(--kb2-muted);
  font-size:11px;
  line-height:1.55;
}

.kbh-section{padding:72px 0!important}
.kbh-title{margin-bottom:28px!important}
.kbh-title small{font-size:10px!important;letter-spacing:.13em!important}
.kbh-title h2{
  margin-top:8px!important;
  color:var(--kb2-ink)!important;
  font-size:32px!important;
  letter-spacing:-.04em!important;
}
.kbh-title>p{
  color:var(--kb2-muted)!important;
  font-size:13px!important;
  line-height:1.8!important;
}

/* 홈 카드 전반: 흰색 중심, 포인트 컬러 최소 */
.kbh-track,
.kbh-now-grid>a,
.kbh-tool-grid>a,
.kbh-ebook-grid>a,
.kbh-lab-domain-grid>a{
  border:1px solid var(--kb2-line)!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.kbh-track:hover,
.kbh-now-grid>a:hover,
.kbh-tool-grid>a:hover,
.kbh-ebook-grid>a:hover,
.kbh-lab-domain-grid>a:hover{
  border-color:#c3d6d4!important;
  box-shadow:var(--kb2-shadow)!important;
  transform:translateY(-2px);
}

/* 작은 텍스트를 실제 읽을 수 있게 */
.kbh-track p,
.kbh-tool-grid p,
.kbh-lab-domain-grid span,
.kbh-must-copy p,
.kbh-must-next p,
.kbh-processing-book-sale span{font-size:11px!important;line-height:1.65!important}
.kbh-track header>span,
.kbh-tool-grid small,
.kbh-lab-domain-grid small,
.kbh-must-copy>small,
.kbh-must-next>small{font-size:9px!important;line-height:1.45!important}
.kbh-track h3{font-size:24px!important}
.kbh-lab-domain-grid strong{font-size:14px!important}

.kbh-must{background:#f6f4ef!important}
.kbh-must-intro{border-bottom-color:#e2ddd3!important}
.kbh-must-intro h2{color:var(--kb2-ink)!important}
.kbh-must-intro h2 strong{color:var(--kb2-gold)!important}
.kbh-must-flow span{
  border-radius:9px!important;
  border-color:#ddd8cf!important;
}
.kbh-must-flow span.on{background:var(--kb2-navy)!important;border-color:var(--kb2-navy)!important}

/* =========================================================
   LEARN PAGE · MOCKUP-BASED EDITORIAL LAYOUT
   ========================================================= */
.icd-learn{background:#fff!important;color:var(--kb2-text)!important}
.icd-learn-shell{
  max-width:1180px!important;
  padding:30px 24px 88px!important;
}
.icd-breadcrumb{
  margin-bottom:34px!important;
  color:#89969a!important;
  font-size:11px!important;
}
.icd-breadcrumb a{color:#607a81!important}
.icd-learn-layout{
  grid-template-columns:minmax(0,820px) 190px!important;
  gap:48px!important;
}
.icd-article{max-width:820px!important}
.icd-article-head{
  padding:28px 10px 38px!important;
  border-bottom:1px solid var(--kb2-line)!important;
}
.icd-article-kicker{
  color:var(--kb2-teal)!important;
  font-size:10px!important;
  letter-spacing:.16em!important;
}
.icd-article-part{font-size:11px!important;color:#8f7b58!important}
.icd-article-head h1{
  margin-top:11px!important;
  color:var(--kb2-ink)!important;
  font-size:clamp(35px,4vw,46px)!important;
  line-height:1.3!important;
  letter-spacing:-.045em!important;
}
.ic-article-sub{
  margin-top:13px!important;
  color:#6c7c81!important;
  font-size:16px!important;
  line-height:1.75!important;
}
.icd-article-meta{font-size:10px!important;color:#929da0!important}
.icd-article-visual,
.icd-article-pdf-visual{
  margin:34px 0 42px!important;
  border-radius:10px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.icd-article-body{padding:18px 0!important}
.icd-article-body p,.icd-exam-link p{
  color:#3b5159!important;
  font-size:16px!important;
  line-height:1.95!important;
}
.icd-article-body h2,.icd-exam-link h2{
  color:var(--kb2-ink)!important;
  font-size:25px!important;
}
.icd-article-body h3{font-size:20px!important;color:#27454f!important}
.icd-article-intro{
  padding:28px 31px!important;
  border-radius:11px!important;
  background:var(--kb2-navy)!important;
}
.icd-article-intro p{font-size:18px!important;line-height:1.9!important}
.icd-story-scene{
  padding:25px 27px!important;
  border:0!important;
  border-left:3px solid #c59a4b!important;
  border-radius:0 10px 10px 0!important;
  background:var(--kb2-gold-soft)!important;
}
.icd-insight{
  padding:25px 27px!important;
  border-left:3px solid var(--kb2-teal)!important;
  border-radius:0 10px 10px 0!important;
  background:var(--kb2-teal-soft)!important;
}
.icd-exam-link{
  padding:26px 28px!important;
  border:0!important;
  border-radius:10px!important;
  background:#f5f2eb!important;
}
.icd-learn-side{top:82px!important;padding-top:12px!important}
.icd-side-card{
  padding:18px!important;
  border:1px solid var(--kb2-line)!important;
  border-radius:11px!important;
  background:#fff!important;
}
.icd-side-label{font-size:9px!important;color:var(--kb2-teal)!important}
.icd-side-card a{font-size:11px!important;color:#64777d!important}
.icd-side-direction{
  border-radius:10px!important;
  background:var(--kb2-navy)!important;
}
.icd-prevnext a,.icd-related-grid a,.icd-article-search-cta{
  border-color:var(--kb2-line)!important;
  border-radius:11px!important;
}
.icd-prevnext a:hover,.icd-related-grid a:hover{
  border-color:#bfd4d2!important;
  background:#fbfdfc!important;
}

/* =========================================================
   STUDY ARCHIVE / BOARDS · CONTENT LIBRARY LOOK
   ========================================================= */
.icd-board-switch{
  overflow:hidden!important;
  border:1px solid var(--kb2-line)!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.icd-board-switch>a,.icd-board-switch>div{border-color:var(--kb2-line)!important}

.kb-material-archive{color:var(--kb2-text)!important}
.kb-material-filter{
  padding:18px!important;
  border:1px solid var(--kb2-line)!important;
  border-radius:12px!important;
  background:#f6f8f7!important;
}
.kb-material-filter button,
.kb-material-filter a{
  border-radius:7px!important;
}
.kb-material-grid>a,
.kb-material-grid>article{
  border:1px solid var(--kb2-line)!important;
  background:#fff!important;
}
.kb-material-grid>a:hover{
  border-color:#c0d4d2!important;
  box-shadow:var(--kb2-shadow)!important;
  transform:translateY(-2px);
}

/* Gnuboard buttons/tables */
.btn_b01,.btn_b02,.btn_admin,.btn_submit,
a.btn_b01,a.btn_b02,a.btn_admin{
  border-radius:8px!important;
}
.tbl_head01 table{border-top-color:var(--kb2-line2)!important}
.tbl_head01 th{background:#f4f7f6!important;color:#52676e!important}
.tbl_head01 td{border-color:var(--kb2-line)!important}

/* =========================================================
   ENGINEER / HUB PAGES
   ========================================================= */
.icd-ice-study-page{background:var(--kb2-bg)!important;color:var(--kb2-text)!important}
.ice-hero{
  border:1px solid var(--kb2-line)!important;
  border-radius:18px!important;
  box-shadow:none!important;
  background:#fff!important;
}
.ice-hero h1{color:var(--kb2-ink)!important}
.ice-hero h1 span{color:var(--kb2-teal)!important}
.ice-actions a,.ice-final a{
  border-color:var(--kb2-line2)!important;
  border-radius:8px!important;
}
.ice-actions a.primary,.ice-final a.primary{
  background:var(--kb2-navy)!important;
  border-color:var(--kb2-navy)!important;
}
.ice-section{
  border:1px solid var(--kb2-line)!important;
  border-radius:14px!important;
  box-shadow:none!important;
}
.ice-section.alt{background:#f4f7f6!important}
.ice-grid>a,.ice-grid>div{border-color:var(--kb2-line)!important;border-radius:10px!important}
.ice-grid>a:hover{border-color:#bdd3d1!important;box-shadow:var(--kb2-shadow)!important;transform:translateY(-2px)}

/* =========================================================
   FORM
   ========================================================= */
input[type="text"],input[type="search"],input[type="email"],input[type="url"],
input[type="number"],select,textarea{
  border-color:var(--kb2-line2)!important;
  color:var(--kb2-text)!important;
}
input:focus,select:focus,textarea:focus{
  border-color:#86b8b4!important;
  box-shadow:0 0 0 3px rgba(11,125,121,.06)!important;
  outline:0!important;
}

/* =========================================================
   MOBILE
   ========================================================= */
@media(max-width:900px){
  .icd-util-inner{height:34px!important}
  .icd-brand-inner{min-height:68px!important}
  .icd-mobile-menu-btn{border-radius:9px!important;background:#f7f9f8!important}
  .icd-header.menu-open .icd-gnb{background:#fff!important}
  .icd-gnb-link{font-family:'Noto Sans KR','Pretendard','Malgun Gothic',sans-serif!important}
  .icd-mobile-search{background:#f5f8f7!important}
  .icd-mobile-search form{border-radius:9px!important;overflow:hidden!important}

  .kbh-v2-hero{min-height:470px}
  .kbh-v2-hero .kbh-shell{min-height:470px}
  .kbh-v2-hero-copy{padding:54px 0}
  .kbh-v2-hero-copy h1{font-size:42px}
  .kbh-v2-hero:after{background:linear-gradient(90deg,rgba(8,34,45,.9),rgba(8,34,45,.66))}
  .kbh-v2-shortcut-grid{grid-template-columns:1fr 1fr}
  .kbh-v2-shortcuts{margin-top:-20px}
  .kbh-section{padding:58px 0!important}
  .kbh-title h2{font-size:28px!important}

  .icd-learn-shell{padding:24px 17px 70px!important}
  .icd-article-head{padding:26px 2px 34px!important}
  .icd-article-head h1{font-size:34px!important}
  .icd-article-body p,.icd-exam-link p{font-size:16px!important}
}
@media(max-width:560px){
  .kbh-shell{width:min(100% - 22px,1180px)!important}
  .kbh-v2-hero{min-height:450px}
  .kbh-v2-hero .kbh-shell{min-height:450px}
  .kbh-v2-hero-copy{padding:46px 0}
  .kbh-v2-hero-copy h1{font-size:35px}
  .kbh-v2-hero-copy p{font-size:13px}
  .kbh-v2-hero-actions{display:grid;grid-template-columns:1fr}
  .kbh-v2-hero-actions a{justify-content:center}
  .kbh-v2-shortcut-grid{grid-template-columns:1fr}
  .kbh-v2-shortcuts{margin-top:12px}
  .kbh-v2-shortcut-grid>a{min-height:96px}
  .kbh-section{padding:48px 0!important}
  .kbh-title h2{font-size:26px!important}

  .icd-learn-shell{padding-left:13px!important;padding-right:13px!important}
  .icd-article-head h1{font-size:30px!important}
  .ic-article-sub{font-size:15px!important}
  .icd-story-scene,.icd-insight,.icd-exam-link{padding:22px 19px!important}
}
