/* #14843: 기준 화면의 흰 헤더·가로형 교육 카드·다시보기·신청 폼. 공통 사이트 틀과 독립한다. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:16px}
.ec-body{--ec-ink:#102443;--ec-blue:#3154e8;--ec-muted:#59687c;--ec-line:#dfe5ee;margin:0;background:#fff;color:var(--ec-ink);font-family:'Pretendard','Noto Sans KR','Malgun Gothic',sans-serif;font-size:15px;font-weight:400;line-height:1.6;word-break:keep-all;overflow-wrap:break-word}
.ec-body *,.ec-body *::before,.ec-body *::after{box-sizing:border-box}
.ec-body [hidden]{display:none!important}
.ec-body h1,.ec-body h2,.ec-body h3,.ec-body p{margin:0}
.ec-body img{max-width:100%}
.ec-body :focus-visible{outline:3px solid #a3b5ff;outline-offset:3px}
.ec-body input,.ec-body select,.ec-body button{font-family:inherit}
.ec-body input,.ec-body select{max-width:100%;color:var(--ec-ink)}
.education-center{display:block;width:100%}
.ec-inner{width:calc(100% - 64px);max-width:1240px;margin:0 auto}
.ec-sr,.ec-replay-count:not(.is-empty){position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.ec-skip{position:fixed;left:16px;top:-80px;z-index:10;background:var(--ec-blue);color:#fff;padding:10px 16px;border-radius:6px;text-decoration:none}
.ec-skip:focus{top:12px}

/* 예시 화면의 64px 상단 제목 영역. */
.ec-topbar{background:#fff;border-bottom:1px solid #e5e9f0}
.ec-topbar .ec-inner{height:64px;display:flex;align-items:center}
.ec-topbar h1{font-size:24px;line-height:1.3;font-weight:800;letter-spacing:-.7px}
.ec-brand{color:var(--ec-ink);text-decoration:none}
.ec-section{padding:32px 0}
.ec-programs{padding-top:24px}
.ec-courses{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.ec-course{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);gap:24px;align-items:center;min-width:0;padding:14px;border:1px solid var(--ec-line);border-radius:10px;background:#f5f7fb;overflow:hidden}
.ec-cover,.ec-thumb{position:relative;display:block;height:0;padding-top:56.28%;overflow:hidden;border-radius:6px;background:#edf2f5}
.ec-cover img,.ec-thumb img,.ec-cover-label,.ec-thumb-label{position:absolute;inset:0;width:100%;height:100%}
.ec-cover img,.ec-thumb img{display:block;object-fit:contain;object-position:center}
.ec-cover-label,.ec-thumb-label{display:flex;align-items:center;justify-content:center;padding:0 16px;text-align:center;color:#54708e;font-size:19px;font-weight:600}
.ec-cover img+.ec-cover-label,.ec-thumb img+.ec-thumb-label{display:none}
.ec-live-badge{position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid #e7caca;border-radius:5px;background:#fffafaeb;color:#ad3535;font-size:12px;font-weight:700;line-height:1.4}
.ec-live-badge::before{content:'';width:6px;height:6px;border-radius:50%;background:#c44747}
.ec-copy{display:flex;align-self:stretch;flex-direction:column;gap:12px;min-width:0}
.ec-copy h2{font-size:26px;font-weight:700;line-height:1.35;letter-spacing:-.5px}
.ec-date,.ec-period{color:#30415a;font-size:16px;font-weight:600;line-height:1.5;letter-spacing:-.2px}
.ec-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.ec-meta .ec-location{color:#30415a;font-size:16px;line-height:1.5}
.ec-description{color:#425169;font-size:15px;font-weight:600;line-height:1.6;white-space:pre-line}
.ec-location{color:#425b79;font-size:14px;font-weight:600;line-height:1.6}
.ec-benefits{width:100%;margin:0;padding:14px 16px;border-left:3px solid #3154df;border-radius:6px;background:#eaf0ff;color:#123365}
.ec-benefits h3{margin-bottom:5px;color:#3154bd;font-size:15px;font-weight:900;line-height:1.5}
.ec-benefits p{font-size:15px;font-weight:700;line-height:1.65;white-space:pre-line}
.ec-onsite-benefits{margin-top:12px;padding-top:12px;border-top:1px solid #cdd8ee}
.ec-actions{display:grid;gap:8px;margin-top:auto}
.ec-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border:0;border-radius:6px;background:var(--ec-blue);color:#fff;font-size:15px;font-weight:700;line-height:1.4;text-align:center;text-decoration:none;cursor:pointer}
.ec-button:hover{background:#2443c4}
.ec-button:disabled{opacity:.55;cursor:not-allowed}
.ec-choose{width:100%}
.ec-closed{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 14px;border:1px solid #dce3ed;border-radius:6px;background:#edf1f7;color:var(--ec-muted);font-size:14px;font-weight:600;text-align:center}
.ec-live{justify-self:end;color:var(--ec-blue);font-size:13px;font-weight:600;text-decoration:none}
.ec-live:hover{text-decoration:underline}
.ec-empty{display:flex;flex-direction:column;justify-content:center;gap:7px;min-height:144px;padding:28px 20px;border:1px dashed #d4dce8;border-radius:10px;background:#fff;color:var(--ec-muted);text-align:center;font-size:14px}
.ec-empty strong{color:#30415a;font-size:16px;font-weight:600}
.ec-empty span{font-size:13px}

/* 다시보기: 예시와 같은 4열 썸네일과 400px 검색창. */
.ec-replay{border-top:1px solid #e8edf3;border-bottom:1px solid #e8edf3;background:#f6f8fb}
.ec-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:20px}
.ec-section-title{font-size:24px;font-weight:700;line-height:1.4;letter-spacing:-.6px}
.ec-section-count{flex-shrink:0;color:var(--ec-muted);font-size:13px;font-weight:500;white-space:nowrap}
.ec-search{position:relative;display:flex;align-items:center;gap:8px;width:100%;max-width:400px;height:48px;margin-bottom:20px;padding:0 14px;border:1px solid #d7dfea;border-radius:7px;background:#fff}
.ec-search::before{content:'';position:absolute;left:16px;top:15px;width:12px;height:12px;border:1.5px solid #7c899a;border-radius:50%;pointer-events:none}
.ec-search::after{content:'';position:absolute;left:27px;top:27px;width:5px;height:1.5px;transform:rotate(45deg);background:#7c899a;pointer-events:none}
.ec-search:focus-within{border-color:var(--ec-blue);box-shadow:inset 0 0 0 1px var(--ec-blue)}
.ec-search input{flex:1;min-width:0;height:46px;padding:0 0 0 29px;border:0;outline:0;background:transparent;font-size:14px;color:#30415a}
.ec-search input:focus-visible{outline:none}
.ec-search input::placeholder{color:#7b8797}
.ec-search button{align-self:stretch;flex-shrink:0;min-width:42px;padding:0;border:0;background:transparent;color:#53627a;font-size:13px;font-weight:600;cursor:pointer}
.ec-replay-count.is-empty{padding:28px;border:1px solid var(--ec-line);border-radius:8px;background:#fff;color:var(--ec-muted);text-align:center}
.ec-replay-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 20px}
.ec-replay-card{min-width:0}
.ec-replay-card a{display:block;color:inherit;text-decoration:none}
.ec-thumb{border:1px solid #e1e6ed;border-radius:7px;background:#e8edf5}
.ec-thumb img{object-fit:cover}
.ec-thumb-label{font-size:14px}
.ec-replay-card h3{margin-top:8px;color:#263850;font-size:14px;font-weight:600;line-height:1.5;letter-spacing:-.2px;overflow-wrap:anywhere}
.ec-replay-card a:hover h3{color:var(--ec-blue);text-decoration:underline}
.ec-more{display:block;min-height:48px;min-width:120px;margin:24px auto 0;padding:0 20px;border:1px solid #d7dfea;border-radius:7px;background:#fff;color:#30415a;font-size:15px;font-weight:700;cursor:pointer}
.ec-more:hover{border-color:#9baed1;background:#f9fbff}

/* 교육 신청과 회원정보 확인 패널. */
.ec-apply-section{background:#fafbfd;scroll-margin-top:24px}
.ec-apply{width:100%;padding:24px;border:1px solid var(--ec-line);border-radius:12px;background:#fff}
.ec-apply-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid #e3e9f0}
.ec-apply-heading>span{color:#65768e;font-size:12px;font-weight:600}
.ec-apply-lead{margin-top:20px!important;color:var(--ec-muted);font-size:14px}
.ec-field{margin-top:20px}
.ec-field>label,.ec-attendance-group legend{display:block;margin-bottom:8px;color:#263c59;font-size:14px;font-weight:600;line-height:1.5}
.ec-required{color:#3154df}
.ec-field select{width:100%;min-width:0;min-height:48px;padding:11px 14px;border:1px solid #d7dfea;border-radius:7px;background:#fff;font-size:15px}
.ec-attendance-group{min-width:0;margin:20px 0 0;padding:0;border:0}
.ec-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ec-choice{display:flex;align-items:flex-start;gap:12px;min-width:0;min-height:86px;padding:16px;border:1px solid #dce3ed;border-radius:8px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s}
.ec-choice:hover{border-color:#9eafe8}
.ec-choice.is-selected{border-color:var(--ec-blue);background:#f3f6ff;box-shadow:inset 0 0 0 1px var(--ec-blue)}
.ec-choice.is-disabled{opacity:.55;cursor:not-allowed;background:#f6f7f9;border-color:#e2e7ee;box-shadow:none}
.ec-choice input{flex-shrink:0;width:17px;height:17px;margin:4px 0 0;accent-color:var(--ec-blue)}
.ec-choice strong{display:block;color:#263c59;font-size:15px;font-weight:600}
.ec-choice small{display:block;margin-top:4px;color:var(--ec-muted);font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.ec-note{margin-top:12px;color:var(--ec-muted);font-size:13px;line-height:1.65}
.ec-consulting-note{padding:12px 14px;border-radius:7px;background:#f2f6ff;color:#365579}
.ec-member-note{margin-top:24px;color:var(--ec-muted);font-size:13px;line-height:1.65}
.ec-member-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin-bottom:12px}
.ec-member-heading h3{color:var(--ec-ink);font-size:18px;font-weight:700}
.ec-member-required{font-size:12px}
.ec-member-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;margin:0}
.ec-member-values label{display:block;margin-bottom:8px;color:#263c59;font-size:14px;font-weight:600;line-height:1.5}
.ec-member-optional{margin-left:4px;color:var(--ec-muted);font-size:12px;font-weight:400}
.ec-member-values input{display:block;width:100%;min-width:0;min-height:48px;padding:11px 14px;border:1px solid #d7dfea;border-radius:7px;background:#fff;color:var(--ec-ink);font-size:15px;line-height:24px}
.ec-member-values input[readonly]{background:#f8fafc}
.ec-member-disclosure{margin-top:20px;padding-top:14px;border-top:1px solid #e3e9f0}
.ec-member-disclosure summary{color:#263c59;font-weight:600;cursor:pointer}
.ec-member-disclosure p{padding-top:8px}
.ec-selection{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding:18px 20px;border:1px solid #dbe4f6;border-radius:8px;background:#f4f7fd}
.ec-selection>div{min-width:0}
.ec-selection>div>span{display:block;margin-bottom:5px;color:#64758d;font-size:12px;font-weight:500}
.ec-selection strong{display:block;color:#263c59;font-size:16px;font-weight:700}
.ec-selection p{margin-top:6px;color:var(--ec-muted);font-size:13px;line-height:1.6}
.ec-free{flex-shrink:0;padding:5px 12px;border-radius:20px;background:#eaf5ee;color:#327052;font-size:14px;font-weight:700}
.ec-submit-note{margin-top:20px!important;color:var(--ec-muted);font-size:13px;text-align:center}
.ec-submit{width:100%;margin-top:10px}
.ec-result{margin-top:14px!important;color:#263c59;font-size:14px;font-weight:600;white-space:pre-line}
.ec-result:empty{display:none}

@media(max-width:1200px) and (min-width:901px){.ec-copy h2{font-size:24px}.ec-course{gap:20px}}
@media(max-width:900px){.ec-course{grid-template-columns:minmax(0,1fr);gap:18px}.ec-copy h2{font-size:24px}.ec-replay-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ec-topbar h1{font-size:22px}}
@media(max-width:600px){
  .ec-inner{width:calc(100% - 32px)}
  .ec-topbar .ec-inner{height:58px}
  .ec-topbar h1{font-size:22px}
  .ec-section{padding:24px 0}
  .ec-programs{padding-top:20px}
  .ec-course{padding:12px;gap:16px}
  .ec-copy{gap:10px}
  .ec-copy h2{font-size:22px}
  .ec-date,.ec-period{font-size:15px}
  .ec-meta .ec-location{font-size:15px}
  .ec-benefits{padding:12px 14px}
  .ec-location{font-size:13px}
  .ec-live-badge{top:10px;right:10px;font-size:11px}
  .ec-section-title{font-size:22px}
  .ec-section-head{gap:12px;margin-bottom:18px}
  .ec-section-count{font-size:12px}
  .ec-replay-grid{gap:24px 12px}
  .ec-search{max-width:none}
  .ec-apply{padding:20px 16px}
  .ec-apply-heading{padding-bottom:16px}
  .ec-apply-heading>span{display:none}
  .ec-apply-lead{font-size:13px}
  .ec-choice-grid{grid-template-columns:minmax(0,1fr)}
  .ec-choice{padding:12px;min-height:76px}
  .ec-member-values{grid-template-columns:minmax(0,1fr);gap:12px}
  .ec-selection{padding:14px;gap:12px}
  .ec-selection strong{font-size:15px}
  .ec-free{padding:4px 9px;font-size:13px}
}
@media(max-width:380px){.ec-topbar h1{font-size:20px}.ec-section-head{align-items:flex-start}.ec-section-title{font-size:21px}}
