@font-face {
    font-family: 'Paperlogy-4Regular';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-4Regular.woff2') format('woff2');
    font-weight: 400;
    font-display: swap;
}

/* 공지 */

.cert-notice{
    width:100%;
    max-width:900px;
    margin:0 auto;
    font-family:'Paperlogy-4Regular','Malgun Gothic',sans-serif;
    color:#222;
    line-height:1.6;
}
.cert-hero{
    padding:28px;
    border-radius:20px;
    background:linear-gradient(135deg,#f1f6ff,#fff8ee);
    border:1px solid #dce7f5;
    margin-bottom:24px;
}
.cert-hero h2{
    margin:0 0 15px;
    font-size:24px;
    color:#1f497d;
    line-height:1.35;
}
.cert-box{
    margin-bottom:24px;
    padding:22px;
    border:1px solid #e1e5ea;
    border-radius:18px;
    background:#fff;
    box-shadow:0 8px 20px rgba(0,0,0,.05);
}
.cert-box h3{
    margin:0 0 16px;
    font-size:18px;
    color:#234f82;
}
.cert-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:14px;
}
.cert-card{
    padding:17px;
    border-radius:15px;
    background:#f8fafc;
    border:1px solid #e2e8f0;
}
.cert-card strong{
    display:block;
    margin-bottom:8px;
    color:#1f497d;
    font-size:16px;
}
.cert-card p{margin:4px 0;font-size:14px;}
.cert-table{
    width:100%;
    border-collapse:collapse;
    font-size:14px;
}
.cert-table th{
    background:#eef4fb;
    color:#1f497d;
    padding:10px;
    border:1px solid #d7dee8;
}
.cert-table td{
    padding:10px;
    border:1px solid #e1e5ea;
    vertical-align:top;
}
.cert-table .price{
    text-align:center;
    white-space:nowrap;
    font-weight:bold;
}
.cert-timeline{
    position:relative;
}
.cert-time-item{
    display:flex;
    gap:14px;
    padding:0 0 18px;
}
.cert-date{
    width:145px;
    flex-shrink:0;
    font-weight:bold;
    color:#1f497d;
}
.cert-content{
    flex:1;
    padding:13px 15px;
    border-radius:13px;
    background:#f8fafc;
    border:1px solid #e2e8f0;
}
.cert-content strong{
    display:block;
    margin-bottom:4px;
}
.cert-step{
    display:grid;
    gap:10px;
}
.cert-step div{
    padding:13px 15px;
    border-radius:12px;
    background:#f8fafc;
    border-left:5px solid #3d70b7;
}
.cert-list{
    margin:0;
    padding:0;
    list-style:none;
}
.cert-list li{
    position:relative;
    padding-left:20px;
    margin-bottom:9px;
}
.cert-list li:before{
    content:"▶";
    position:absolute;
    left:0;
    color:#2f5f9f;
    font-size:12px;
}
.cert-alert{
    margin-top:14px;
    padding:13px 15px;
    border-radius:12px;
    background:#fff7ed;
    border:1px solid #fed7aa;
    color:#9a3412;
}
.cert-btns{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:16px;
}
.cert-btn{
    display:inline-block;
    padding:11px 18px;
    border-radius:30px;
    background:#2f5f9f;
    color:#fff !important;
    text-decoration:none;
    font-weight:bold;
    font-size:14px;
}
.cert-btn.gray{
    background:#4b5563;
}
@media(max-width:640px){
    .cert-notice{padding:0 12px;}
    .cert-hero{padding:22px;}
    .cert-hero h2{font-size:21px;}
    .cert-grid{grid-template-columns:1fr;}
    .cert-time-item{display:block;}
    .cert-date{width:auto;margin-bottom:7px;}
    .cert-table{font-size:13px;}
}

/* 자격심사 일정 */
.cert-schedule-wrap{
    margin:0 auto;
}

.cert-schedule-box{
    margin-bottom:24px;
    padding:22px;
    border:1px solid #e1e5ea;
    border-radius:18px;
    background:#fff;
    box-shadow:0 8px 20px rgba(0,0,0,.05);
}

.cert-schedule-box h3{
    margin:0 0 18px;
    font-size:18px;
    color:#234f82;
}

.cert-step-list{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.cert-step-card{
    position:relative;
    padding:18px 20px 18px 74px;
    border:1px solid #dfe7f1;
    border-radius:16px;
    background:#f8fafc;
}

.cert-step-no{
    position:absolute;
    left:18px;
    top:18px;
    width:38px;
    height:38px;
    border-radius:50%;
    background:#2f5f9f;
    color:#fff;
    font-size:16px;
    font-weight:bold;
    text-align:center;
    line-height:38px;
}

.cert-step-card h4{
    margin:0 0 12px;
    font-size:17px;
    color:#1f497d;
}

.cert-step-info{
    display:grid;
    grid-template-columns:70px 1fr;
    gap:6px 10px;
    font-size:14px;
}

.cert-step-info dt{
    font-weight:bold;
    color:#475569;
}

.cert-step-info dd{
    margin:0;
    color:#222;
}

.cert-step-note{
    margin-top:11px;
    padding:10px 12px;
    border-radius:10px;
    background:#fff;
    border:1px solid #e5e7eb;
    font-size:13px;
    color:#555;
}

.cert-step-red{
    color:#e11d48 !important;
}

@media(max-width:640px){
    .cert-schedule-wrap{
        padding:0 12px;
    }

    .cert-schedule-box{
        padding:16px;
    }

    .cert-step-card{
        padding:16px;
    }

    .cert-step-no{
        position:static;
        display:inline-block;
        margin-bottom:10px;
    }

    .cert-step-info{
        grid-template-columns:58px 1fr;
    }
}


/*자격심사 시 유의사항 */

.notice-guide{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.notice-guide-item{
    background:#fff;
    border:1px solid #e4e9ef;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 6px 18px rgba(0,0,0,.05);
}

.notice-guide-head{
    display:flex;
    align-items:center;
    padding:14px 18px;
    background:#f6f9fd;
    border-bottom:1px solid #e7edf4;
}

.notice-guide-no{
    width:34px;
    height:34px;
    border-radius:50%;
    background:#2f5f9f;
    color:#fff;
    text-align:center;
    line-height:34px;
    font-size:15px;
    font-weight:bold;
    margin-right:12px;
    flex-shrink:0;
}

.notice-guide-title{
    font-size:17px;
    font-weight:700;
    color:#1f497d;
}

.notice-guide-body{
    padding:18px 22px;
}

.notice-guide-body ul{
    margin:0;
    padding:0;
    list-style:none;
}

.notice-guide-body li{
    position:relative;
    padding-left:20px;
    margin-bottom:10px;
    line-height:1.8;
}

.notice-guide-body li:last-child{
    margin-bottom:0;
}

.notice-guide-body li:before{
    content:"▸";
    position:absolute;
    left:0;
    top:1px;
    color:#2f5f9f;
    font-weight:bold;
}

.notice-guide-body strong{
    color:#1f2937;
}

.notice-guide-tip{
    margin-top:14px;
    padding:12px 15px;
    border-radius:10px;
    background:#fff8e8;
    border:1px solid #f3d99c;
    color:#8a5a00;
    font-size:14px;
}

/* 배너 */
.kapc-banner{
    width:100%;
    max-width:770px;
    min-height:255px;
    background:#fff;
    border:1px solid #c8dedd;
    border-radius:0;
    overflow:hidden;
    box-shadow:
        0 12px 28px rgba(12,60,58,.10),
        0 2px 8px rgba(0,0,0,.05);
    font-family:'Paperlogy-4Regular','Malgun Gothic',sans-serif;
    box-sizing:border-box;
}

.kapc-banner *{
    box-sizing:border-box;
}

.kapc-banner-head{
    position:relative;
    min-height:48px;
    padding:8px 110px;
    background:linear-gradient(135deg,#168b86,#0f6f6a);
    display:flex;
    justify-content:center;
    align-items:center;
}

.kapc-banner-head > div{
    text-align:center;
}

.kapc-banner-head h3{
    margin:0;
    font-size:18px;
    font-weight:800;
    color:#fff;
    line-height:1.25;
    word-break:keep-all;
}

.kapc-badge{
    position:absolute;
    left:18px;
    top:50%;
    transform:translateY(-50%);
    display:inline-block;
    padding:3px 10px;
    border-radius:20px;
    background:#0b5f5a;
    border:1px solid rgba(255,255,255,.18);
    color:#FFEB3B;
    font-size:13px;
    font-weight:700;
    white-space:nowrap;
}

.kapc-banner-body{
    display:flex;
    min-height:205px;
}

.kapc-left{
    width:54%;
    padding:11px 12px;
}

.kapc-right{
    width:46%;
    border-left:1px solid #dbeceb;
    padding:15px 16px;
    background:#ffe5e5;
}

.kapc-item{
    border:1px solid #d6e6e5;
    border-radius:6px;
    background:#fff;
    overflow:hidden;
    margin-bottom:5px;
}

.kapc-item:last-child{
    margin-bottom:0;
}

.kapc-item-body{
    display:flex;
}

.kapc-item-name{
    flex:0 0 235px;
    width:235px;
    padding:12px 10px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    min-width:0;
}

.kapc-name-row{
    display:flex;
    align-items:center;
    gap:6px;
    line-height:1.2;
    min-width:0;
}

.kapc-name-row strong{
    font-size:13px;
    color:#263238;
    font-weight:800;
    white-space:nowrap;
}

.kapc-name-row small{
    font-size:10px;
    color:#667085;
    white-space:nowrap;
}

.kapc-item-grade{
    flex:1;
    width:auto;
    border-left:1px solid #dbeceb;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:6px;
    align-content:center;
    padding:7px 10px;
}

.kapc-item-grade span{
    display:flex;
    justify-content:center;
    align-items:center;
    min-height:18px;
    padding:4px 6px;
    font-size:11px;
    line-height:1.1;
    border-radius:20px;
    background:#d8f2f0;
    color:#0f6f6a;
    font-weight:700;
    white-space:nowrap;
}

.kapc-item-grade span:only-child{
    grid-column:1 / span 2;
    width:60px;
    justify-self:center;
}

.kapc-right ul{
    margin:0;
    padding:0;
    list-style:none;
}

.kapc-right li{
    position:relative;
    padding-left:14px;
    margin-bottom:9px;
    font-size:13px;
    line-height:1.45;
    color:#222;
    word-break:keep-all;
}

.kapc-right li:before{
    content:"";
    position:absolute;
    left:0;
    top:8px;
    width:6px;
    height:6px;
    border-radius:50%;
    background:#168b86;
}

.kapc-right .point{
    color:#b45309;
    font-weight:800;
}

.kapc-btns{
    margin-top:12px;
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}

.kapc-btns a{
    display:inline-block;
    padding:7px 13px;
    border-radius:20px;
    background:#157e79;
    color:#fff !important;
    font-size:12px;
    font-weight:800;
    text-decoration:none;
    transition:.25s;
    white-space:nowrap;
}

.kapc-btns a:hover{
    background:#0f6762;
    color:#fff !important;
    text-decoration:none;
}

/* 모바일 대응 */
@media(max-width:760px){
    .kapc-banner{
        max-width:100%;
        min-height:auto;
    }

    .kapc-banner-head{
        padding:13px 16px 14px;
        display:block;
        text-align:center;
    }

    .kapc-badge{
        position:static;
        transform:none;
        margin-bottom:7px;
        font-size:12px;
    }

    .kapc-banner-head h3{
        font-size:17px;
    }

    .kapc-banner-body{
        display:block;
        min-height:auto;
    }

    .kapc-left,
    .kapc-right{
        width:100%;
    }

    .kapc-right{
        border-left:0;
        border-top:1px solid #dbeceb;
        padding:14px;
    }

    .kapc-item-name{
        flex:1 1 auto;
        width:auto;
    }
}

@media(max-width:520px){
    .kapc-left{
        padding:10px;
    }

    .kapc-item-body{
        display:block;
    }

    .kapc-item-name{
        width:100%;
        padding:10px;
    }

    .kapc-item-grade{
        border-left:0;
        border-top:1px solid #dbeceb;
        padding:9px 10px;
    }

    .kapc-name-row{
        justify-content:center;
        flex-wrap:wrap;
    }

    .kapc-name-row strong{
        font-size:14px;
    }

    .kapc-name-row small{
        font-size:11px;
    }

    .kapc-right li{
        font-size:13px;
    }

    .kapc-btns a{
        flex:1;
        text-align:center;
    }
}