/* HarmonyLink Digital Classes - shared styles
   Namespaced with .dclass- to avoid any collision with the main site's styles.css. */

:root{
  --dc-blue:#1155d9;
  --dc-deep:#082c68;
  --dc-navy:#061d45;
  --dc-pale:#eef5ff;
  --dc-text:#10213b;
  --dc-muted:#4d5b74;
  --dc-line:#dce6f3;
  --dc-shadow:0 22px 60px rgba(18,65,132,.13);
  --dc-radius:20px;
  --dc-green:#13834f;
  --dc-amber-bg:#fff6e5;
  --dc-amber:#8a5a00;
}

.dclass-page{font-family:"Pretendard","Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif;color:var(--dc-text);background:#fff;line-height:1.7;font-size:18px;margin:0;word-break:keep-all;overflow-wrap:break-word}
.dclass-page *{box-sizing:border-box}
.dclass-page a:not(.dclass-btn):not(.dclass-highlight-more){color:inherit}
.dclass-page button,.dclass-page input,.dclass-page select,.dclass-page textarea{font:inherit}
.dclass-page h1,.dclass-page h2,.dclass-page h3,.dclass-page h4{font-weight:700}
.dclass-container{width:min(1100px,calc(100% - 40px));margin:0 auto}
.dclass-container-narrow{width:min(820px,calc(100% - 40px));margin:0 auto}

/* breadcrumb bar (replaces the old duplicate logo/title topbar) */
.dclass-breadcrumb-bar{padding:16px 0 0}
.dclass-breadcrumb{font-size:14px;color:var(--dc-muted);margin:0}
.dclass-breadcrumb a{color:var(--dc-blue);font-weight:600;text-decoration:none}

/* buttons */
.dclass-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:14px;padding:16px 24px;font-weight:700;font-size:17px;border:0;cursor:pointer;text-decoration:none;min-height:52px;line-height:1.3}
.dclass-btn-primary{background:var(--dc-blue);color:#fff;box-shadow:0 12px 28px rgba(17,85,217,.25)}
.dclass-btn-primary:hover{background:var(--dc-deep)}
.dclass-btn-outline{background:#fff;color:var(--dc-navy);border:2px solid var(--dc-line)}
.dclass-btn-outline:hover{border-color:var(--dc-blue);color:var(--dc-blue)}
.dclass-btn-block{width:100%}
.dclass-btn-disabled{background:#eef1f6;color:#9aa6b7;cursor:not-allowed;border:2px solid var(--dc-line)}
.dclass-btn-row{display:flex;gap:14px;flex-wrap:wrap}

/* hero */
.dclass-hero{padding:28px 0 32px;background:linear-gradient(140deg,#f7fbff 0%,#fff 55%,#eef5ff 100%)}
.dclass-eyebrow{color:var(--dc-blue);font-weight:800;font-size:14px;letter-spacing:1.5px;margin:0 0 14px}
.dclass-hero h1{font-size:clamp(26px,4.6vw,40px);line-height:1.3;letter-spacing:-.5px;margin:0 0 16px}
.dclass-hero p{font-size:18px;color:var(--dc-muted);max-width:680px;margin:0}
.dclass-hero-icon{font-size:44px;margin-bottom:10px}

/* instructor block - reuses the same profile shown in the main site's 하이벨 디지털 modal */
.dclass-instructor{display:flex;align-items:center;gap:18px;padding:22px;margin-top:8px;background:var(--dc-pale);border-radius:var(--dc-radius)}
.dclass-instructor img{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none;background:#fff}
.dclass-instructor-copy small{display:block;color:var(--dc-blue);font-weight:800;font-size:12px;letter-spacing:.5px;margin-bottom:3px}
.dclass-instructor-copy h3{margin:0 0 4px;font-size:17px}
.dclass-instructor-copy p{margin:0;color:var(--dc-muted);font-size:14px}
@media (max-width:640px){.dclass-instructor{padding:16px;gap:14px}.dclass-instructor img{width:52px;height:52px}}

/* sections */
.dclass-section{padding:48px 0}
.dclass-section h2{font-size:clamp(22px,3.2vw,28px);margin:0 0 12px}
.dclass-section-lead{color:var(--dc-muted);font-size:17px;max-width:680px;margin:0 0 28px}

/* category grid (homepage + hub) */
.dclass-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.dclass-card{border:1px solid var(--dc-line);border-radius:var(--dc-radius);overflow:hidden;background:#fff;display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:.2s;box-shadow:0 8px 24px rgba(18,65,132,.06)}
.dclass-card:hover{transform:translateY(-4px);box-shadow:var(--dc-shadow)}
.dclass-card-image{width:100%;height:320px;overflow:hidden;background:var(--dc-pale);display:flex;align-items:center;justify-content:center}
.dclass-card-image img{width:100%;height:100%;object-fit:contain;display:block}
.dclass-card-body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.dclass-card-icon{font-size:22px;margin-bottom:8px}
.dclass-card h3{font-size:21px;margin:0 0 8px}
.dclass-card p{color:var(--dc-muted);font-size:15px;margin:0 0 18px;flex:1}
.dclass-card-btn{margin-top:auto}

/* program list (category page) */
.dclass-program-list{display:grid;gap:20px}
.dclass-program-card{border:1px solid var(--dc-line);border-radius:var(--dc-radius);padding:28px;background:#fff}
.dclass-program-badge{display:inline-block;background:var(--dc-pale);color:var(--dc-blue);font-size:12px;font-weight:800;letter-spacing:.5px;padding:5px 12px;border-radius:100px;margin-bottom:12px}
.dclass-program-card h3{font-size:22px;margin:0 0 8px}
.dclass-program-tagline{color:var(--dc-blue);font-weight:700;font-size:15px;margin:0 0 10px}
.dclass-program-card p.intro{color:var(--dc-muted);font-size:16px;margin:0 0 18px}
.dclass-comingsoon-badge{display:inline-block;background:#fff3d6;color:#8a6400;font-size:12px;font-weight:800;letter-spacing:.5px;padding:5px 12px;border-radius:100px;margin-bottom:12px}

/* highlight band - e.g. YouTube category's link out to Income Lab */
.dclass-highlight-band{border:2px solid var(--dc-blue);border-radius:var(--dc-radius);padding:32px;background:linear-gradient(135deg,var(--dc-pale) 0%,#fff 70%);margin-top:8px}
.dclass-highlight-badge{display:inline-block;background:var(--dc-navy);color:#fff;font-size:12px;font-weight:800;letter-spacing:.5px;padding:5px 12px;border-radius:100px;margin-bottom:14px}
.dclass-highlight-band h3{font-size:23px;margin:0 0 10px;color:var(--dc-navy)}
.dclass-highlight-band p.intro{color:var(--dc-muted);font-size:16px;margin:0 0 16px}
.dclass-highlight-disclaimer{font-size:13px;color:var(--dc-amber);background:var(--dc-amber-bg);border:1px solid #f0dfae;border-radius:12px;padding:12px 14px;margin:0 0 18px}
.dclass-highlight-more{display:inline-block;margin-top:16px;font-size:14px;font-weight:700;color:var(--dc-blue);text-decoration:none}

/* program detail */
.dclass-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:24px 0}
.dclass-step-block{border:1px solid var(--dc-line);border-radius:16px;padding:20px}
.dclass-step-block h4{font-size:16px;color:var(--dc-blue);margin:0 0 12px}
.dclass-step-block ul{margin:0;padding-left:20px;font-size:15px}
.dclass-step-block li{margin:4px 0}
.dclass-audience-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.dclass-audience-list li{display:flex;gap:12px;align-items:flex-start;font-size:16px;padding:14px 16px;background:var(--dc-pale);border-radius:12px}
.dclass-audience-list b{color:var(--dc-blue);flex:none}
.dclass-note{border:1px solid var(--dc-line);border-radius:16px;padding:20px 22px;font-size:15px;color:var(--dc-muted);margin:24px 0}
.dclass-disclaimer{background:var(--dc-amber-bg);border:1px solid #f0dfae;color:var(--dc-amber);border-radius:16px;padding:20px 22px;font-size:15px;line-height:1.75;margin:24px 0}

/* footer */
.dclass-footer{padding:32px 0 44px;color:var(--dc-muted);font-size:14px;text-align:center}
.dclass-footer a{color:var(--dc-blue);font-weight:600;text-decoration:none}

@media (max-width:900px){
  .dclass-grid{grid-template-columns:repeat(2,1fr)}
  .dclass-detail-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .dclass-grid{grid-template-columns:1fr}
  .dclass-page{font-size:17px}
  .dclass-hero{padding:20px 0 24px}
  .dclass-section{padding:36px 0}
}
