
/* ==========================================================
   SCRA v1.46 public board / member service UI
   ========================================================== */
body.site-body--board{
    overflow-x:hidden;
}
.page-hero--board,
.page-hero--board .page-hero__inner{
    min-height:380px;
}
.page-hero--board .page-hero__inner{
    padding-top:132px;
}
.public-site-main{
    min-height:520px;
}
.public-site-inner{
    width:min(var(--site-max),calc(100% - 48px));
    margin:0 auto;
    padding:72px 0 110px;
}
.public-site-inner > .public-wrap,
.public-site-inner > .cert-list-wrap,
.public-site-inner > .registration-list-wrap,
.public-site-inner > .member-request-wrap,
.public-site-inner > .member-post-write,
.public-site-inner > .certificate-screen,
.public-site-inner > .registration-screen{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
}
.site-public-title-row,
.public-header,
.cert-list-head,
.registration-list-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin:0 0 26px;
}
.public-header h1,
.cert-list-head h1,
.registration-list-head h1{
    margin:8px 0 0;
    color:var(--site-text);
    font-size:clamp(30px,4vw,42px);
    line-height:1.2;
    letter-spacing:-.045em;
}
.public-site-inner .panel{
    border:1px solid var(--site-line);
    border-radius:22px;
    background:#fff;
    box-shadow:0 14px 42px rgba(18,34,70,.06);
}
.public-site-inner section.panel{
    padding:30px;
}
.public-site-inner .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:10px 18px;
    border:1px solid #d9e0eb;
    border-radius:11px;
    background:#fff;
    color:#172033;
    text-decoration:none;
    font:inherit;
    font-size:14px;
    font-weight:800;
    cursor:pointer;
}
.public-site-inner .btn:hover{
    border-color:#aebbd0;
    background:#f8faff;
}
.public-site-inner .btn.primary{
    border-color:var(--site-blue);
    background:var(--site-blue);
    color:#fff;
}
.public-site-inner .btn.primary:hover{
    background:#1747c4;
}
.public-site-inner .muted{
    color:var(--site-muted);
}
.public-site-inner .toolbar,
.public-site-inner .cert-search{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:18px;
}
.public-site-inner .toolbar .grow{
    flex:1;
}
.public-site-inner input,
.public-site-inner select,
.public-site-inner textarea{
    width:100%;
    min-height:46px;
    padding:11px 14px;
    border:1px solid #d9e0eb;
    border-radius:10px;
    background:#fff;
    color:#172033;
    font:inherit;
    outline:none;
}
.public-site-inner textarea{
    min-height:220px;
    resize:vertical;
}
.public-site-inner input:focus,
.public-site-inner select:focus,
.public-site-inner textarea:focus{
    border-color:#7294ec;
    box-shadow:0 0 0 3px rgba(36,88,215,.10);
}
.public-site-inner .form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
.public-site-inner .form-grid label{
    display:grid;
    gap:8px;
    color:#344054;
    font-size:14px;
    font-weight:800;
}
.public-site-inner .form-grid .full{
    grid-column:1/-1;
}
.public-site-inner .alert{
    margin:16px 0;
    padding:14px 16px;
    border-radius:12px;
    background:#eff6ff;
    color:#1e4da6;
}
.public-site-inner .alert.danger{
    background:#fff1f0;
    color:#b42318;
}
.public-site-inner .list-summary,
.public-site-inner .cert-note{
    margin:10px 0 18px;
    color:var(--site-muted);
    font-size:14px;
}
.public-site-inner .table-wrap{
    width:100%;
    overflow-x:auto;
}
.public-site-inner table{
    width:100%;
    border-collapse:collapse;
}
.public-site-inner .table th,
.public-site-inner .table td,
.public-site-inner .board-list-table th,
.public-site-inner .board-list-table td,
.public-site-inner .cert-table th,
.public-site-inner .cert-table td,
.public-site-inner .registration-table th,
.public-site-inner .registration-table td{
    padding:16px 14px;
    border-bottom:1px solid #e7ebf1;
    vertical-align:middle;
}
.public-site-inner .table th,
.public-site-inner .board-list-table th,
.public-site-inner .cert-table th,
.public-site-inner .registration-table th{
    background:#f8fafc;
    color:#667085;
    font-size:13px;
    font-weight:800;
}
.public-site-inner table a{
    color:inherit;
    text-decoration:none;
}
.public-site-inner table a:hover{
    color:var(--site-blue);
}
.public-site-inner .pagination,
.public-site-inner .cert-pagination,
.public-site-inner .registration-pagination{
    display:flex;
    justify-content:center;
    gap:6px;
    margin-top:26px;
    flex-wrap:wrap;
}
.public-site-inner .pagination a,
.public-site-inner .cert-pagination a,
.public-site-inner .registration-pagination a{
    min-width:40px;
    min-height:38px;
    display:grid;
    place-items:center;
    padding:7px 10px;
    border:1px solid #dfe5ee;
    border-radius:9px;
    background:#fff;
    color:#475467;
    text-decoration:none;
}
.public-site-inner .pagination a.current,
.public-site-inner .cert-pagination a.current,
.public-site-inner .registration-pagination a.current{
    border-color:var(--site-blue);
    background:var(--site-blue);
    color:#fff;
}
.public-site-inner .pagination a.disabled{
    opacity:.38;
    pointer-events:none;
}
.public-private-title{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:#697386;
}
.public-private-title::before{
    content:"🔒";
    font-size:12px;
}
.public-owner-badge{
    display:inline-flex;
    margin-left:8px;
    padding:3px 8px;
    border-radius:999px;
    background:#eaf1ff;
    color:#2458d7;
    font-size:11px;
    font-weight:900;
}
.member-request-wrap section.panel,
.member-post-write section.panel{
    padding:34px;
}
.member-request-wrap h1,
.member-post-write h1{
    margin:0 0 8px;
    font-size:32px;
    letter-spacing:-.035em;
}
.certificate-screen,
.registration-screen{
    min-width:0;
}
.certificate-toolbar,
.registration-toolbar{
    margin-top:0!important;
}
.certificate-page,
.registration-page{
    box-shadow:0 12px 32px rgba(18,34,70,.05);
}
.site-account-nav{
    z-index:10050!important;
}
.site-account-nav a{
    z-index:10060!important;
}
.site-main-nav{
    z-index:40!important;
}

@media(max-width:760px){
    .public-site-inner{
        width:min(100% - 32px,var(--site-max));
        padding:48px 0 72px;
    }
    .page-hero--board,
    .page-hero--board .page-hero__inner{
        min-height:320px;
    }
    .page-hero--board .page-hero__inner{
        padding-top:98px;
    }
    .public-header,
    .cert-list-head,
    .registration-list-head{
        align-items:flex-start;
        flex-direction:column;
    }
    .public-site-inner section.panel{
        padding:20px;
        border-radius:16px;
    }
    .public-site-inner .toolbar,
    .public-site-inner .cert-search{
        display:grid;
        grid-template-columns:1fr;
    }
    .public-site-inner .form-grid{
        grid-template-columns:1fr;
    }
    .public-site-inner .form-grid .full{
        grid-column:auto;
    }
}

@media print{
    .site-header,
    .page-hero,
    .subnav,
    .site-footer{
        display:none!important;
    }
    body.site-body--board{
        background:#fff!important;
    }
    body.site-body--board > .public-site-main{
        display:block!important;
        width:auto!important;
        margin:0!important;
        padding:0!important;
    }
    .public-site-inner{
        display:block!important;
        width:auto!important;
        margin:0!important;
        padding:0!important;
    }
    .public-site-inner > .certificate-screen,
    .public-site-inner > .registration-screen{
        display:block!important;
        width:auto!important;
        margin:0!important;
    }
}


/* ==========================================================
   SCRA v1.47 board/detail/member-service refinement
   ========================================================== */
.public-site-inner{
    padding-top:62px;
}
.board-actionbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin:0 0 18px;
}
.board-actionbar__copy{
    display:grid;
    gap:3px;
}
.board-actionbar__section{
    color:var(--site-blue);
    font-size:12px;
    font-weight:900;
    letter-spacing:.06em;
}
.board-actionbar__copy strong{
    color:#344054;
    font-size:17px;
    letter-spacing:-.02em;
}
.board-privacy-note{
    display:flex;
    align-items:flex-start;
    gap:14px;
    margin:0 0 18px;
    padding:17px 19px;
    border:1px solid #dbe5fb;
    border-radius:16px;
    background:#f7faff;
}
.board-privacy-note__icon{
    width:38px;
    height:38px;
    flex:0 0 38px;
    display:grid;
    place-items:center;
    border-radius:11px;
    background:#e7efff;
}
.board-privacy-note strong{
    display:block;
    margin:1px 0 3px;
    color:#20345e;
    font-size:15px;
}
.board-privacy-note p{
    margin:0;
    color:#6b7890;
    font-size:13px;
    line-height:1.6;
}
.public-site-inner .panel{
    box-shadow:0 10px 34px rgba(18,34,70,.055);
}
.public-site-inner .toolbar{
    margin-bottom:14px;
}
.public-site-inner .list-summary{
    padding:0 2px 14px;
    border-bottom:1px solid #eef1f5;
}
.public-site-inner .board-list-table tbody tr{
    transition:background .15s ease;
}
.public-site-inner .board-list-table tbody tr:hover{
    background:#fbfcff;
}
.public-site-inner .board-list-table td:nth-child(2) a{
    font-weight:700;
}
.public-site-inner .badge{
    display:inline-flex;
    padding:4px 8px;
    border-radius:999px;
    background:#eef4ff;
    color:#2458d7;
    font-size:11px;
    font-weight:900;
}
.public-site-inner .empty-cell{
    padding:70px 20px!important;
    color:#98a2b3;
    text-align:center;
}
.public-site-inner .pagination a.active{
    border-color:var(--site-blue);
    background:var(--site-blue);
    color:#fff;
}

/* post detail */
.public-post-wrap{
    max-width:1080px!important;
}
.post-back-row{
    margin:0 0 14px;
}
.post-back-row a{
    color:#667085;
    text-decoration:none;
    font-size:14px;
    font-weight:750;
}
.post-back-row a:hover{
    color:var(--site-blue);
}
.public-post-panel{
    padding:0!important;
    overflow:hidden;
}
.post-detail-head{
    padding:34px 36px 28px;
    border-bottom:1px solid #e9edf3;
    background:linear-gradient(
        180deg,
        #fff 0%,
        #fbfcff 100%
    );
}
.post-detail-title{
    min-width:0;
}
.post-detail-kicker{
    display:block;
    margin-bottom:9px;
    color:var(--site-blue);
    font-size:12px;
    font-weight:900;
    letter-spacing:.04em;
}
.post-detail-head h1{
    margin:0 0 15px!important;
    font-size:clamp(26px,3vw,38px);
    line-height:1.34;
    letter-spacing:-.035em;
    word-break:keep-all;
}
.post-detail-meta{
    display:flex;
    align-items:center;
    gap:0;
    flex-wrap:wrap;
    color:#8a94a6;
    font-size:13px;
}
.post-detail-meta span{
    display:inline-flex;
    align-items:center;
}
.post-detail-meta span + span::before{
    content:"";
    width:3px;
    height:3px;
    margin:0 9px;
    border-radius:50%;
    background:#c7ced8;
}
.public-post-panel > .post-youtube,
.public-post-panel > .post-gallery-images,
.public-post-panel > .post-content,
.public-post-panel > .post-downloads,
.public-post-panel > .post-detail-bottom{
    margin-left:36px;
    margin-right:36px;
}
.post-content{
    min-height:210px;
    padding:34px 0 10px;
    color:#344054;
}
.post-downloads{
    margin-top:26px!important;
    padding:18px 20px!important;
    border-radius:14px!important;
    background:#f8fafc!important;
    box-shadow:none!important;
}
.post-downloads__title{
    display:block;
    margin-bottom:8px;
    color:#344054;
    font-size:13px;
}
.post-downloads div + div{
    margin-top:4px;
}
.post-downloads a{
    color:#2458d7;
    text-decoration:none;
    font-size:14px;
}
.post-downloads a:hover{
    text-decoration:underline;
}
.post-detail-bottom{
    margin-top:26px!important;
    margin-bottom:30px;
}

/* special member service lists */
.member-service-label{
    margin-top:9px;
    color:#344054;
    font-size:17px;
    font-weight:850;
    letter-spacing:-.02em;
}
.cert-list-head,
.registration-list-head{
    align-items:center;
    margin-bottom:18px;
}
.cert-list-head .btn,
.registration-list-head .btn{
    min-width:92px;
}
.registration-head-badges,
.cert-head-badges{
    margin-bottom:0;
}
.cert-table tbody tr,
.registration-table tbody tr{
    transition:background .15s ease;
}
.cert-table tbody tr:hover,
.registration-table tbody tr:hover{
    background:#fbfcff!important;
}

/* member/communication section should feel like site UI, not admin UI */
.public-site-inner .registration-list-wrap,
.public-site-inner .cert-list-wrap{
    padding:0;
}
.public-site-inner .registration-note,
.public-site-inner .cert-note{
    margin-top:14px;
    padding:13px 15px;
    border-radius:12px;
    background:#f7f9fc;
}

@media(max-width:760px){
    .board-actionbar{
        align-items:flex-start;
    }
    .board-actionbar__copy strong{
        font-size:15px;
    }
    .post-detail-head{
        padding:26px 22px 22px;
    }
    .public-post-panel > .post-youtube,
    .public-post-panel > .post-gallery-images,
    .public-post-panel > .post-content,
    .public-post-panel > .post-downloads,
    .public-post-panel > .post-detail-bottom{
        margin-left:22px;
        margin-right:22px;
    }
    .post-detail-head h1{
        font-size:25px;
    }
}


/* ==========================================================
   SCRA v1.56
   공개 게시판 / 회원 민원 목록 상단·필터 영역 컴팩트 UI
   ========================================================== */

body.site-body--board .public-site-inner{
    padding-top:38px;
    padding-bottom:84px;
}

body.site-body--board .board-actionbar{
    margin-bottom:14px;
}
body.site-body--board .board-actionbar__copy{
    gap:2px;
}
body.site-body--board .board-actionbar__section{
    font-size:12px;
}
body.site-body--board .board-actionbar__copy strong{
    font-size:18px;
}

body.site-body--board .cert-list-head,
body.site-body--board .registration-list-head{
    align-items:center;
    margin-bottom:14px;
}
body.site-body--board .cert-head-badges,
body.site-body--board .registration-head-badges{
    margin-bottom:0;
}
body.site-body--board .owner-badge,
body.site-body--board .readonly-badge,
body.site-body--board .registration-owner-badge,
body.site-body--board .registration-admin-badge{
    padding:6px 10px;
    font-size:12px;
}
body.site-body--board .member-service-label{
    margin-top:7px;
    font-size:18px;
}

body.site-body--board .public-site-inner section.panel{
    padding:22px 24px;
    border-radius:18px;
}
body.site-body--board .public-site-inner .gallery-board-panel{
    padding:22px 24px;
}

body.site-body--board .public-site-inner input,
body.site-body--board .public-site-inner select,
body.site-body--board .public-site-inner textarea{
    min-height:44px;
    padding:9px 12px;
    border-radius:9px;
}
body.site-body--board .public-site-inner .btn{
    min-height:44px;
    padding:9px 16px;
    border-radius:10px;
}

body.site-body--board .public-site-inner .toolbar,
body.site-body--board .public-site-inner .gallery-toolbar{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 128px 78px !important;
    align-items:center !important;
    gap:8px !important;
    margin:0 0 12px !important;
}
body.site-body--board .public-site-inner .toolbar .grow,
body.site-body--board .public-site-inner .gallery-toolbar .grow{
    width:100% !important;
    min-width:0 !important;
}
body.site-body--board .public-site-inner .toolbar select,
body.site-body--board .public-site-inner .gallery-toolbar select{
    width:128px !important;
}
body.site-body--board .public-site-inner .toolbar .btn,
body.site-body--board .public-site-inner .gallery-toolbar .btn{
    width:78px !important;
    min-width:78px !important;
    padding-left:10px !important;
    padding-right:10px !important;
}

body.site-body--board .public-site-inner .cert-search{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 80px !important;
    align-items:center !important;
    gap:8px !important;
    margin:0 0 10px !important;
}
body.site-body--board .public-site-inner .cert-search .btn{
    width:80px !important;
    min-width:80px !important;
}

body.site-body--board .public-site-inner .registration-search{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 128px 80px !important;
    align-items:center !important;
    gap:8px !important;
    margin:0 0 10px !important;
}
body.site-body--board .public-site-inner .registration-search select{
    width:128px !important;
}
body.site-body--board .public-site-inner .registration-search .btn{
    width:80px !important;
    min-width:80px !important;
}

body.site-body--board .public-site-inner .list-summary{
    margin:0 !important;
    padding:4px 2px 12px !important;
    text-align:right;
    font-size:13px;
}
body.site-body--board .public-site-inner .cert-note,
body.site-body--board .public-site-inner .registration-note{
    margin:10px 0 12px !important;
    padding:11px 14px !important;
    border-radius:10px !important;
    font-size:13px !important;
    line-height:1.55 !important;
}

body.site-body--board .public-site-inner .cert-table th,
body.site-body--board .public-site-inner .cert-table td,
body.site-body--board .public-site-inner .registration-table th,
body.site-body--board .public-site-inner .registration-table td,
body.site-body--board .public-site-inner .board-list-table th,
body.site-body--board .public-site-inner .board-list-table td{
    padding-top:14px;
    padding-bottom:14px;
}

body.site-body--board .gallery-grid{
    margin-top:20px;
}

@media(min-width:1200px){
    body.site-body--board .public-site-inner{
        width:min(var(--site-max),calc(100% - 72px));
    }
}

@media(max-width:760px){
    body.site-body--board .public-site-inner{
        padding-top:28px;
        padding-bottom:68px;
    }
    body.site-body--board .cert-list-head,
    body.site-body--board .registration-list-head{
        align-items:flex-start;
        gap:14px;
        margin-bottom:14px;
    }
    body.site-body--board .public-site-inner section.panel,
    body.site-body--board .public-site-inner .gallery-board-panel{
        padding:18px;
        border-radius:15px;
    }
    body.site-body--board .public-site-inner .toolbar,
    body.site-body--board .public-site-inner .gallery-toolbar,
    body.site-body--board .public-site-inner .cert-search,
    body.site-body--board .public-site-inner .registration-search{
        grid-template-columns:1fr !important;
        gap:8px !important;
    }
    body.site-body--board .public-site-inner .toolbar select,
    body.site-body--board .public-site-inner .gallery-toolbar select,
    body.site-body--board .public-site-inner .toolbar .btn,
    body.site-body--board .public-site-inner .gallery-toolbar .btn,
    body.site-body--board .public-site-inner .cert-search .btn,
    body.site-body--board .public-site-inner .registration-search select,
    body.site-body--board .public-site-inner .registration-search .btn{
        width:100% !important;
        min-width:0 !important;
    }
    body.site-body--board .public-site-inner .list-summary{
        text-align:left;
    }
}


/* ==========================================================
   SCRA v1.58 — Unified Board / Member-Service UI
   ========================================================== */

/* Board hero follows the same rhythm as static pages */
.page-hero--board,
.page-hero--board .page-hero__inner{
    min-height:350px !important;
}
.page-hero--board .page-hero__inner{
    padding-top:114px !important;
}

/* Main content start */
body.site-body--board .public-site-inner{
    padding-top:34px !important;
    padding-bottom:86px !important;
}

/* Title row */
.board-actionbar,
.cert-list-head,
.registration-list-head{
    min-height:58px;
}
.board-actionbar{
    margin-bottom:14px !important;
}
.board-actionbar__copy{
    gap:3px;
}
.board-actionbar__section{
    font-size:12px;
    letter-spacing:.04em;
}
.board-actionbar__copy strong,
.member-service-label{
    color:#243149;
    font-size:20px !important;
    font-weight:850;
    letter-spacing:-.025em;
}
.member-service-label{
    margin-top:6px !important;
}

/* Action buttons */
.public-site-inner .btn{
    min-height:42px !important;
    padding:8px 15px !important;
    border-radius:9px !important;
    box-shadow:none !important;
}
.public-site-inner .btn.primary{
    box-shadow:0 6px 14px rgba(36,88,215,.12) !important;
}

/* Main content card */
.public-site-inner section.panel{
    padding:22px 24px !important;
    border-radius:17px !important;
    border-color:#e4e9f1 !important;
    box-shadow:0 8px 26px rgba(18,34,70,.045) !important;
}

/* General gallery boards:
   card list itself is the content, so remove the unnecessary outer white box */
.public-site-inner .gallery-board-panel{
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}
.public-site-inner .gallery-board-panel .list-summary{
    padding:0 2px 12px !important;
}
.gallery-grid{
    gap:34px 24px !important;
    margin-top:12px !important;
}
.gallery-thumb{
    border-radius:13px !important;
    box-shadow:0 7px 22px rgba(18,34,70,.045);
}
.gallery-card-title{
    margin:13px 0 5px !important;
    font-size:17px !important;
}

/* General board — no filters in v1.57 */
.public-site-inner .list-summary--no-filter{
    margin:0 !important;
    padding:0 2px 12px !important;
    border-bottom:1px solid #edf1f5;
    text-align:right;
    color:#7d8799;
    font-size:13px;
}

/* Member-service search stays, but should be compact */
.public-site-inner .cert-search,
.public-site-inner .registration-search{
    margin-bottom:10px !important;
}
.public-site-inner .cert-search input,
.public-site-inner .registration-search input,
.public-site-inner .registration-search select{
    min-height:42px !important;
    border-radius:9px !important;
}
.public-site-inner .cert-note,
.public-site-inner .registration-note{
    margin:9px 0 12px !important;
    padding:10px 13px !important;
    border:1px solid #edf0f5;
    border-radius:9px !important;
    background:#f8fafc !important;
    color:#727d90;
}

/* Member service headers */
.cert-list-head,
.registration-list-head{
    margin-bottom:13px !important;
}
.owner-badge,
.readonly-badge,
.registration-owner-badge,
.registration-admin-badge{
    padding:5px 9px !important;
    border-radius:999px !important;
    font-size:11.5px !important;
}

/* Tables */
.public-site-inner .cert-table th,
.public-site-inner .cert-table td,
.public-site-inner .registration-table th,
.public-site-inner .registration-table td,
.public-site-inner .board-list-table th,
.public-site-inner .board-list-table td{
    padding:13px 13px !important;
}
.public-site-inner .cert-table th,
.public-site-inner .registration-table th,
.public-site-inner .board-list-table th{
    background:#f8fafc !important;
    color:#6b7688 !important;
    font-size:12.5px !important;
}
.public-site-inner .cert-table tbody tr:hover,
.public-site-inner .registration-table tbody tr:hover,
.public-site-inner .board-list-table tbody tr:hover{
    background:#fafcff !important;
}

/* Privacy/info block */
.board-privacy-note{
    margin-bottom:14px !important;
    padding:14px 16px !important;
    border-radius:13px !important;
}

/* Pagination */
.public-site-inner .pagination,
.public-site-inner .cert-pagination,
.public-site-inner .registration-pagination{
    margin-top:20px !important;
}
.public-site-inner .pagination a,
.public-site-inner .cert-pagination a,
.public-site-inner .registration-pagination a{
    min-width:36px !important;
    min-height:36px !important;
    padding:6px 9px !important;
    border-radius:8px !important;
    font-size:13px;
}

/* Post detail */
.public-post-panel{
    border-radius:17px !important;
}
.post-detail-head{
    padding:28px 30px 24px !important;
}
.public-post-panel > .post-youtube,
.public-post-panel > .post-gallery-images,
.public-post-panel > .post-content,
.public-post-panel > .post-downloads,
.public-post-panel > .post-detail-bottom{
    margin-left:30px !important;
    margin-right:30px !important;
}
.post-content{
    padding-top:28px !important;
}

/* Mobile */
@media(max-width:760px){
    .page-hero--board,
    .page-hero--board .page-hero__inner{
        min-height:300px !important;
    }
    .page-hero--board .page-hero__inner{
        padding-top:92px !important;
    }
    body.site-body--board .public-site-inner{
        padding-top:26px !important;
        padding-bottom:66px !important;
    }
    .board-actionbar,
    .cert-list-head,
    .registration-list-head{
        min-height:0;
    }
    .board-actionbar__copy strong,
    .member-service-label{
        font-size:18px !important;
    }
    .public-site-inner section.panel{
        padding:17px !important;
        border-radius:14px !important;
    }
    .gallery-grid{
        gap:28px !important;
    }
    .post-detail-head{
        padding:23px 20px 20px !important;
    }
    .public-post-panel > .post-youtube,
    .public-post-panel > .post-gallery-images,
    .public-post-panel > .post-content,
    .public-post-panel > .post-downloads,
    .public-post-panel > .post-detail-bottom{
        margin-left:20px !important;
        margin-right:20px !important;
    }
}


/* ==========================================================
   SCRA v1.66 — Public board / member-service typography
   ========================================================== */

body.site-body--board .public-site-inner{
    font-size:16px;
}
body.site-body--board .board-actionbar__section{
    font-size:13px !important;
}
body.site-body--board .board-actionbar__copy strong,
body.site-body--board .member-service-label{
    font-size:21px !important;
}
body.site-body--board .public-site-inner .btn{
    font-size:15px !important;
}
body.site-body--board .public-site-inner input,
body.site-body--board .public-site-inner select,
body.site-body--board .public-site-inner textarea{
    font-size:16px !important;
}
body.site-body--board .public-site-inner .form-grid label{
    font-size:15px !important;
}
body.site-body--board .public-site-inner .list-summary{
    font-size:14px !important;
}
body.site-body--board .public-site-inner .cert-note,
body.site-body--board .public-site-inner .registration-note{
    font-size:14px !important;
    line-height:1.6 !important;
}
body.site-body--board .board-privacy-note strong{
    font-size:16px !important;
}
body.site-body--board .board-privacy-note p{
    font-size:14px !important;
}
body.site-body--board .public-site-inner .board-list-table th,
body.site-body--board .public-site-inner .cert-table th,
body.site-body--board .public-site-inner .registration-table th{
    font-size:14px !important;
}
body.site-body--board .public-site-inner .board-list-table td,
body.site-body--board .public-site-inner .cert-table td,
body.site-body--board .public-site-inner .registration-table td{
    font-size:15.5px !important;
}
body.site-body--board .public-site-inner .badge,
body.site-body--board .owner-badge,
body.site-body--board .readonly-badge,
body.site-body--board .registration-owner-badge,
body.site-body--board .registration-admin-badge{
    font-size:12px !important;
}
body.site-body--board .gallery-card-title{
    font-size:18px !important;
}
body.site-body--board .post-back-row a{
    font-size:15px !important;
}
body.site-body--board .post-detail-kicker{
    font-size:13px !important;
}
body.site-body--board .post-detail-meta{
    font-size:14px !important;
}
body.site-body--board .post-content{
    font-size:16.5px !important;
    line-height:1.82;
}
body.site-body--board .post-downloads__title{
    font-size:14px !important;
}
body.site-body--board .post-downloads a{
    font-size:15px !important;
}
body.site-body--board .pagination a,
body.site-body--board .cert-pagination a,
body.site-body--board .registration-pagination a{
    font-size:14px !important;
}

@media(max-width:760px){
    body.site-body--board .public-site-inner{
        font-size:15px;
    }
    body.site-body--board .board-actionbar__copy strong,
    body.site-body--board .member-service-label{
        font-size:19px !important;
    }
    body.site-body--board .public-site-inner .board-list-table td,
    body.site-body--board .public-site-inner .cert-table td,
    body.site-body--board .public-site-inner .registration-table td{
        font-size:14.5px !important;
    }
    body.site-body--board .post-content{
        font-size:15.5px !important;
    }
}


/* ==========================================================
   SCRA v1.68 — Board / member service mobile final QA
   ========================================================== */
@media(max-width:760px){
    body.site-body--board .public-site-inner{
        width:calc(100% - 24px) !important;
        max-width:100%;
        overflow:hidden;
    }

    /* 검색/액션은 세로 배치, 터치영역 44px 이상 */
    body.site-body--board .toolbar,
    body.site-body--board .board-actionbar,
    body.site-body--board .cert-list-head,
    body.site-body--board .registration-list-head{
        align-items:stretch !important;
        gap:9px !important;
    }
    body.site-body--board .public-site-inner .btn{
        min-height:44px !important;
        padding:9px 13px !important;
    }
    body.site-body--board .public-site-inner input,
    body.site-body--board .public-site-inner select{
        min-height:44px !important;
    }

    /* 표는 좌우 스크롤, 페이지 자체 가로밀림 방지 */
    body.site-body--board .table-wrap,
    body.site-body--board .cert-table-wrap,
    body.site-body--board .registration-table-wrap{
        max-width:100%;
        overflow-x:auto !important;
        overscroll-behavior-x:contain;
        -webkit-overflow-scrolling:touch;
    }
    body.site-body--board .board-list-table,
    body.site-body--board .cert-table,
    body.site-body--board .registration-table{
        min-width:660px;
    }

    /* 갤러리형 게시판 */
    body.site-body--board .gallery-grid{
        grid-template-columns:1fr !important;
        gap:18px !important;
    }
    body.site-body--board .gallery-card{
        max-width:none !important;
    }

    /* 게시글 */
    .public-post-panel{
        border-radius:14px !important;
    }
    .post-detail-head{
        padding:20px 17px 18px !important;
    }
    .public-post-panel > .post-youtube,
    .public-post-panel > .post-gallery-images,
    .public-post-panel > .post-content,
    .public-post-panel > .post-downloads,
    .public-post-panel > .post-detail-bottom{
        margin-left:17px !important;
        margin-right:17px !important;
    }
    body.site-body--board .post-content{
        overflow-wrap:anywhere;
        word-break:normal;
    }
    body.site-body--board .post-content img,
    body.site-body--board .post-content video,
    body.site-body--board .post-content iframe{
        max-width:100%;
        height:auto;
    }
    body.site-body--board .post-content iframe{
        width:100%;
    }
    body.site-body--board .post-downloads a{
        min-height:44px;
        display:flex;
        align-items:center;
    }

    .pagination,
    .pagination-wide,
    .cert-pagination,
    .registration-pagination{
        max-width:100%;
        overflow-x:auto;
        justify-content:flex-start !important;
        padding-bottom:4px;
        scrollbar-width:none;
        -webkit-overflow-scrolling:touch;
    }
    .pagination::-webkit-scrollbar,
    .pagination-wide::-webkit-scrollbar,
    .cert-pagination::-webkit-scrollbar,
    .registration-pagination::-webkit-scrollbar{
        display:none;
    }
    body.site-body--board .pagination a,
    body.site-body--board .cert-pagination a,
    body.site-body--board .registration-pagination a{
        flex:0 0 auto;
        min-width:40px !important;
        min-height:40px !important;
        display:flex;
        align-items:center;
        justify-content:center;
    }
}

@media(max-width:480px){
    body.site-body--board .public-site-inner section.panel{
        padding:14px !important;
    }
    body.site-body--board .board-actionbar__copy strong,
    body.site-body--board .member-service-label{
        font-size:18px !important;
    }
    body.site-body--board .board-list-table,
    body.site-body--board .cert-table,
    body.site-body--board .registration-table{
        min-width:620px;
    }
}


/* ==========================================================
   SCRA v1.71 — Member board UX
   업체명 표기 및 전용 게시판 상단 액션 정리
   ========================================================== */
.member-service-label{
    word-break:keep-all;
}
.cert-list-head > div:last-child,
.registration-list-head > div:last-child{
    align-items:center;
}

/* ==========================================================
   SCRA v1.93 — Mobile board card layout
   ========================================================== */
.board-mobile-thumb{display:none}

@media(max-width:760px){
    body.site-body--board .table-wrap,
    body.site-body--board .event-board-wrap{
        overflow:visible!important;
    }

    body.site-body--board .board-list-table,
    body.site-body--board .event-board-table{
        display:block;
        min-width:0!important;
        width:100%!important;
    }

    body.site-body--board .board-list-table thead,
    body.site-body--board .event-board-table thead{
        display:none;
    }

    body.site-body--board .board-list-table tbody,
    body.site-body--board .event-board-table tbody{
        display:grid;
        gap:12px;
    }

    body.site-body--board .board-list-table tbody tr,
    body.site-body--board .event-board-table tbody tr{
        position:relative;
        display:grid;
        grid-template-columns:auto minmax(0,1fr) auto;
        grid-template-areas:
            "number title title"
            "number author attachment"
            "number date date";
        gap:7px 10px;
        width:100%;
        padding:15px!important;
        border:1px solid #e3e9f2;
        border-radius:14px;
        background:#fff;
        box-shadow:0 6px 20px rgba(18,34,70,.045);
    }

    body.site-body--board .board-list-table tbody td,
    body.site-body--board .event-board-table tbody td{
        display:block;
        width:auto!important;
        padding:0!important;
        border:0!important;
        text-align:left!important;
    }

    body.site-body--board .board-list-table .col-no,
    body.site-body--board .event-board-table .col-no{
        display:block!important;
        grid-area:number;
        min-width:28px;
        color:#7a8699;
        font-size:12px!important;
        font-weight:750;
    }

    body.site-body--board .board-list-table .col-title,
    body.site-body--board .event-board-table .col-title{
        grid-area:title;
        min-width:0;
    }

    body.site-body--board .board-list-table .col-title > a,
    body.site-body--board .board-list-table .col-title > .public-private-title,
    body.site-body--board .event-board-table .col-title > a{
        display:block;
        color:#172033;
        font-size:16px!important;
        font-weight:800!important;
        line-height:1.48;
        overflow-wrap:anywhere;
        word-break:keep-all;
    }

    body.site-body--board .board-mobile-thumb{
        display:block;
        width:100%;
        aspect-ratio:16/9;
        margin:0 0 13px;
        border-radius:10px;
        background:#eef2f7;
        object-fit:cover;
    }

    body.site-body--board .board-list-table .col-author{
        grid-area:author;
        color:#596579;
        font-size:13px!important;
        line-height:1.45;
    }

    body.site-body--board .board-list-table .col-attachment{
        grid-area:attachment;
        justify-self:end;
        color:#718096;
        font-size:12px!important;
    }

    body.site-body--board .board-list-table .col-date,
    body.site-body--board .event-board-table .col-date{
        display:block!important;
        grid-area:date;
        color:#8a94a6;
        font-size:12px!important;
    }

    body.site-body--board .event-board-table .col-status{
        grid-area:author;
        justify-self:start;
    }

    body.site-body--board .event-board-table .col-period{
        display:block!important;
        grid-area:date;
        color:#68758a;
    }

    body.site-body--board .event-board-table .col-date{
        grid-area:attachment;
        justify-self:end;
        align-self:center;
    }

    body.site-body--board .event-period{
        display:flex!important;
        flex-wrap:wrap;
        gap:4px!important;
        font-size:12px!important;
    }

    body.site-body--board .event-period__sep{
        display:inline!important;
    }

    body.site-body--board .board-list-table tbody tr:has(.empty-cell),
    body.site-body--board .event-board-table tbody tr:has(.empty-cell){
        display:block;
        padding:34px 15px!important;
    }

    body.site-body--board .empty-cell{
        text-align:center!important;
    }

    body.site-body--board .pagination,
    body.site-body--board .pagination-wide{
        justify-content:center!important;
        overflow:visible!important;
        gap:6px;
    }

    body.site-body--board .pagination a:nth-child(n+8):not(:last-child),
    body.site-body--board .pagination-wide a:nth-child(n+8):not(:last-child){
        display:none;
    }
}

@media(max-width:420px){
    body.site-body--board .public-site-inner section.panel{
        padding:12px!important;
    }

    body.site-body--board .board-list-table tbody tr,
    body.site-body--board .event-board-table tbody tr{
        padding:14px 13px!important;
    }
}

/* ==========================================================
   SCRA v1.94 — Dedicated certificate boards as mobile cards
   ========================================================== */
@media(max-width:760px){
    body.site-body--board .cert-table,
    body.site-body--board .registration-table{
        display:block;
        width:100%!important;
        min-width:0!important;
    }

    body.site-body--board .cert-table thead,
    body.site-body--board .registration-table thead{
        display:none;
    }

    body.site-body--board .cert-table tbody,
    body.site-body--board .registration-table tbody{
        display:grid;
        gap:12px;
    }

    body.site-body--board .cert-table tbody tr,
    body.site-body--board .registration-table tbody tr{
        display:grid;
        grid-template-columns:auto minmax(0,1fr) auto;
        grid-template-areas:
            "number title title"
            "number author attachment"
            "number date date";
        gap:8px 10px;
        width:100%;
        padding:15px!important;
        border:1px solid #e3e9f2;
        border-radius:14px;
        background:#fff;
        box-shadow:0 6px 20px rgba(18,34,70,.045);
    }

    body.site-body--board .cert-table tbody td,
    body.site-body--board .registration-table tbody td{
        display:block!important;
        width:auto!important;
        padding:0!important;
        border:0!important;
        text-align:left!important;
    }

    body.site-body--board .cert-table .cert-no,
    body.site-body--board .registration-table .registration-no{
        grid-area:number;
        min-width:30px;
        color:#7a8699;
        font-size:12px!important;
    }

    body.site-body--board .cert-table .cert-subject,
    body.site-body--board .registration-table .registration-title{
        grid-area:title;
        min-width:0;
        padding-left:0!important;
    }

    body.site-body--board .cert-table .cert-subject a,
    body.site-body--board .registration-table .registration-title a{
        color:#172033;
        font-size:16px!important;
        font-weight:800;
        line-height:1.48;
        overflow-wrap:anywhere;
        word-break:keep-all;
    }

    body.site-body--board .cert-table .cert-author,
    body.site-body--board .registration-table .registration-author{
        grid-area:author;
        color:#596579;
        font-size:13px!important;
        line-height:1.45;
    }

    body.site-body--board .cert-table .cert-attachment,
    body.site-body--board .registration-table .registration-attachment{
        display:block!important;
        grid-area:attachment;
        justify-self:end;
        color:#65748a;
        font-size:12px!important;
    }

    body.site-body--board .cert-table .cert-date,
    body.site-body--board .registration-table .registration-date{
        display:block!important;
        grid-area:date;
        color:#8a94a6;
        font-size:12px!important;
        white-space:normal;
    }

    body.site-body--board .cert-table tbody tr:has(td[colspan]),
    body.site-body--board .registration-table tbody tr:has(td[colspan]){
        display:block;
        padding:34px 15px!important;
    }

    body.site-body--board .cert-pagination,
    body.site-body--board .registration-pagination{
        justify-content:center!important;
        overflow:visible!important;
    }

    body.site-body--board .cert-pagination a:nth-child(n+8):not(:last-child),
    body.site-body--board .registration-pagination a:nth-child(n+8):not(:last-child){
        display:none;
    }
}

/* SCRA v1.96 — special board list visibility */
.special-list-locked-title{
    color:#4b5565;
    font-weight:700;
    cursor:not-allowed;
}
.cert-locked-row,
.registration-locked-row{
    cursor:default!important;
}
.cert-locked-row:hover,
.registration-locked-row:hover{
    background:inherit!important;
}
.special-list-locked-title::after{content:none!important;display:none!important;}
