@charset "utf-8";

/* =========================================================
   DS ELECTRIC PRODUCT BOARD
   Clean industrial catalog skin
   ========================================================= */

.dse-item-view,
.dse-item-write,
.dse-item-view *,
.dse-item-write * { box-sizing:border-box; }

.dse-item-view,
.dse-item-write {
    width:100%;
    color:#2d3944;
    font-family:"Noto Sans KR","Malgun Gothic",sans-serif;
    letter-spacing:-.018em;
}

.dse-item-view a,
.dse-item-write a { text-decoration:none; }

/* 상단 배너 경로 */
.dse-item-path-banner {
    display:flex;
    align-items:flex-end;
    padding:0 0 24px;
    box-sizing:border-box;
}
.dse-item-banner-path { text-align:right; }
.dse-item-path-banner .breadcrumb {
    display:inline-flex;
    align-items:center;
    margin:0!important;
    padding:10px 16px!important;
    background:rgba(255,255,255,.85)!important;
    border:1px solid rgba(255,255,255,.65);
    border-radius:6px;
    list-style:none;
}
.dse-item-path-banner .breadcrumb li {
    font-family:"Noto Sans KR",sans-serif;
    font-size:14px;
    line-height:1.5;
    letter-spacing:0;
    color:#52718e;
}
.dse-item-path-banner .breadcrumb li + li::before {
    content:"/";
    padding:0 10px;
    color:#7890a5;
}
.dse-item-path-banner .breadcrumb [aria-current="page"] {
    color:#102f51;
    font-weight:700;
}

/* 공통 제목 */
.dse-item-heading {
    position:relative;
    margin:0 0 38px;
    padding:0 0 19px 20px;
    border-bottom:1px solid #dce4ec;
}
.dse-item-heading::before {
    content:"";
    position:absolute;
    left:0;
    top:3px;
    width:3px;
    height:54px;
    background:#2586d9;
}
.dse-item-heading::after {
    content:"";
    position:absolute;
    right:0;
    bottom:-3px;
    width:5px;
    height:5px;
    background:#2586d9;
}
.dse-item-eyebrow {
    display:block;
    margin:0 0 2px;
    color:#52718e;
    font:700 11px/1.4 "Roboto Condensed",Arial,sans-serif;
    letter-spacing:.18em;
}
.dse-item-heading-row {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
}
.dse-item-heading h1 {
    margin:0;
    color:#102f51;
    font-size:28px;
    font-weight:700;
    line-height:1.35;
    letter-spacing:-.045em;
}
.dse-item-heading p {
    margin:9px 0 0;
    color:#6d7d8b;
    font-size:14px;
    line-height:1.7;
    word-break:keep-all;
}
/* 상세/작성 관리 버튼 */
.dse-item-view-admin {
    display:flex;
    align-items:center;
    gap:7px;
    flex-wrap:wrap;
}
.dse-item-subtle-btn,
.dse-item-outline-btn,
.dse-item-primary-btn {
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:36px;
    padding:0 14px!important;
    border-radius:3px!important;
    font-family:"Noto Sans KR",sans-serif;
    font-size:12px!important;
    font-weight:600!important;
    line-height:34px!important;
    text-decoration:none!important;
    cursor:pointer;
    transition:background-color .18s ease,border-color .18s ease,color .18s ease;
}
button.dse-item-subtle-btn { height:36px; }
.dse-item-subtle-btn {
    border:1px solid #d0d9e0!important;
    background:#fff!important;
    color:#596873!important;
}
.dse-item-subtle-btn:hover,
.dse-item-subtle-btn:focus {
    border-color:#9fb5c5!important;
    color:#1976d2!important;
}
.dse-item-outline-btn {
    border:1px solid #aebdca!important;
    background:#fff!important;
    color:#2f4353!important;
}
.dse-item-outline-btn:hover,
.dse-item-outline-btn:focus {
    border-color:#2586d9!important;
    background:#f7fbff!important;
    color:#1976d2!important;
}
.dse-item-primary-btn {
    border:1px solid #102f51!important;
    background:#102f51!important;
    color:#fff!important;
}
.dse-item-primary-btn:hover,
.dse-item-primary-btn:focus {
    border-color:#2586d9!important;
    background:#2586d9!important;
    color:#fff!important;
}

/* 상세 */
.dse-item-product-hero {
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
    gap:42px;
    align-items:start;
}
.dse-item-gallery { min-width:0; }
.dse-item-main-image {
    display:flex;
    align-items:center;
    justify-content:center;
    height:430px;
    overflow:hidden;
    border:1px solid #dce4ec;
    border-radius:4px;
    background:#f8fafc;
}
.dse-item-main-image img {
    display:block;
    max-width:100%;
    width:100%;
    height:100%;
    padding:30px;
    object-fit:contain;
}
.dse-item-thumbs {
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:10px;
    overflow-x:auto;
    padding-bottom:2px;
}
.dse-item-thumb {
    flex:0 0 70px;
    width:70px;
    height:62px;
    padding:4px;
    border:1px solid #dce4ec;
    border-radius:3px;
    background:#fff;
    cursor:pointer;
}
.dse-item-thumb.is-active { border-color:#2586d9; }
.dse-item-thumb img { width:100%; height:100%; object-fit:contain; }

.dse-item-summary { min-width:0; }
.dse-item-summary-top {
    margin-bottom:18px;
    padding:4px 0 18px;
    border-bottom:2px solid #102f51;
}
.dse-item-summary-kicker {
    display:block;
    margin-bottom:5px;
    color:#2586d9;
    font:700 11px/1.4 "Roboto Condensed",Arial,sans-serif;
    letter-spacing:.16em;
}
.dse-item-summary h2 {
    margin:0;
    color:#102f51;
    font-size:25px;
    font-weight:700;
    line-height:1.4;
    letter-spacing:-.045em;
    word-break:break-word;
}
.dse-item-summary-category {
    display:inline-block;
    margin-top:9px;
    color:#71808c;
    font-size:12px;
}
.dse-item-spec-table { margin:0; padding:0; }
.dse-item-spec-table > div {
    display:grid;
    grid-template-columns:38% minmax(0,62%);
    min-height:44px;
    border-bottom:1px solid #e5ebf0;
}
.dse-item-spec-table dt,
.dse-item-spec-table dd {
    display:flex;
    align-items:center;
    margin:0;
    padding:10px 12px;
    font-size:13px;
    line-height:1.55;
}
.dse-item-spec-table dt {
    background:#f8fafc;
    color:#60717f;
    font-weight:600;
}
.dse-item-spec-table dd {
    color:#263846;
    font-weight:500;
    word-break:break-word;
}
.dse-item-spec-empty {
    padding:34px 12px;
    border-bottom:1px solid #e5ebf0;
    color:#84919b;
    font-size:13px;
    text-align:center;
}
.dse-item-list-link {
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:22px;
    color:#42586a!important;
    font-size:12px;
    font-weight:600;
}
.dse-item-list-link i { color:#2586d9; }
.dse-item-list-link:hover { color:#1976d2!important; }

.dse-item-content-section,
.dse-item-resource-section { margin-top:84px; }
.dse-item-section-title {
    position:relative;
    margin-bottom:34px;
    padding:0 0 15px 17px;
    border-bottom:1px solid #dce4ec;
}
.dse-item-section-title::before {
    content:"";
    position:absolute;
    left:0;
    top:2px;
    width:3px;
    height:42px;
    background:#2586d9;
}
.dse-item-section-title span {
    display:block;
    color:#617a91;
    font:700 10px/1.4 "Roboto Condensed",Arial,sans-serif;
    letter-spacing:.15em;
}
.dse-item-section-title h2 {
    margin:1px 0 0;
    color:#173755;
    font-size:21px;
    font-weight:700;
    line-height:1.4;
    letter-spacing:-.035em;
}
.dse-item-section-title.compact { margin-bottom:18px; }
.dse-item-content-body {
    color:#44535f;
    font-size:14px;
    line-height:1.85;
    word-break:keep-all;
}
.dse-item-content-body img { max-width:100%; height:auto!important; }
.dse-item-content-body table { max-width:100%; }
.dse-item-signature { margin-top:25px; }

.dse-item-download-list,
.dse-item-link-list { margin:0; padding:0; list-style:none; }
.dse-item-download-list li {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:14px 16px;
    border-bottom:1px solid #e4eaef;
}
.dse-item-download-list li:first-child { border-top:1px solid #e4eaef; }
.dse-item-file-copy {
    min-width:0;
    display:flex;
    align-items:center;
    gap:12px;
}
.dse-item-file-copy > i { flex:0 0 auto; color:#7a8f9f; font-size:17px; }
.dse-item-file-copy div { min-width:0; }
.dse-item-file-copy strong {
    display:block;
    overflow:hidden;
    color:#344653;
    font-size:13px;
    font-weight:600;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.dse-item-file-copy span { display:block; margin-top:3px; color:#8a969f; font-size:11px; }
.dse-item-download-btn {
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    height:34px;
    padding:0 12px;
    border:1px solid #b6c5d0;
    border-radius:3px;
    background:#fff;
    color:#222f39!important;
    font-size:11px;
    font-weight:600;
    transition:background-color .18s ease,border-color .18s ease,color .18s ease;
}
.dse-item-download-btn i { color:#2586d9; }
.dse-item-download-btn:hover,
.dse-item-download-btn:focus {
    border-color:#2586d9;
    background:#2586d9;
    color:#fff!important;
}
.dse-item-download-btn:hover i,
.dse-item-download-btn:focus i { color:#fff; }

.dse-item-link-list li {
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px 4px;
    border-bottom:1px solid #e7edf1;
    color:#6d7e8b;
    font-size:13px;
}
.dse-item-link-list li:first-child { border-top:1px solid #e7edf1; }
.dse-item-link-list i { color:#2586d9; }
.dse-item-link-list a { color:#3a5366!important; word-break:break-all; }
.dse-item-link-list a:hover { color:#1976d2!important; }

.dse-item-view-actions {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-top:56px;
    padding-top:20px;
    border-top:1px solid #dce4ec;
}

/* 작성 */
.dse-item-form-stack { display:flex; flex-direction:column; gap:28px; }
.dse-item-form-section {
    border:1px solid #dce4ec;
    border-radius:4px;
    background:#fff;
    overflow:hidden;
}
.dse-item-form-section-head {
    display:flex;
    align-items:flex-start;
    gap:15px;
    padding:20px 22px;
    border-bottom:1px solid #e3e9ee;
    background:#fafbfd;
}
.dse-item-form-section-head > span {
    flex:0 0 32px;
    width:32px;
    padding-top:2px;
    color:#2586d9;
    font:700 12px/1.7 "Roboto Condensed",Arial,sans-serif;
    letter-spacing:.06em;
    border-right:1px solid #bed0df;
}
.dse-item-form-section-head h2 {
    margin:0;
    color:#223d55;
    font-size:17px;
    font-weight:700;
    line-height:1.5;
    letter-spacing:-.03em;
}
.dse-item-form-section-head p {
    margin:4px 0 0;
    color:#7a8893;
    font-size:12px;
    line-height:1.6;
    word-break:keep-all;
}
.dse-item-form-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px 20px;
    padding:22px;
}
.dse-item-field { min-width:0; }
.dse-item-field.full { grid-column:1 / -1; }
.dse-item-field label,
.dse-item-spec-inputs label {
    display:block;
    margin:0 0 7px;
    color:#4a5a66;
    font-size:12px;
    font-weight:600;
}
.dse-item-field label em {
    margin-left:4px;
    color:#2586d9;
    font-size:10px;
    font-style:normal;
    font-weight:700;
}
.dse-item-write input[type="text"],
.dse-item-write input[type="password"],
.dse-item-write input[type="email"],
.dse-item-write select,
.dse-item-write textarea,
.dse-item-spec-inputs input {
    width:100%;
    max-width:none;
    min-height:40px;
    padding:9px 11px;
    border:1px solid #cfd9e1;
    border-radius:3px;
    outline:0;
    background:#fff;
    color:#34444f;
    font-family:"Noto Sans KR",sans-serif;
    font-size:13px;
    line-height:1.5;
    transition:border-color .16s ease, box-shadow .16s ease;
}
.dse-item-write select { height:40px; padding-top:0; padding-bottom:0; }
.dse-item-write input:focus,
.dse-item-write select:focus,
.dse-item-write textarea:focus,
.dse-item-spec-inputs input:focus {
    border-color:#6ba9dc;
    box-shadow:0 0 0 2px rgba(37,134,217,.08);
}
.dse-item-options {
    display:flex;
    align-items:center;
    gap:15px;
    flex-wrap:wrap;
    margin:0 22px 20px;
    padding:11px 13px;
    border-radius:3px;
    background:#f8fafc;
    color:#61717d;
    font-size:12px;
}
.dse-item-options label { margin:0; font-weight:500; }
.dse-item-options input { margin:0 4px 0 0; vertical-align:-2px; }

.dse-item-autosave { position:relative; margin:-8px 22px 20px; }
.dse-item-autosave > button {
    height:32px;
    padding:0 10px;
    border:1px solid #d2dae0;
    border-radius:3px;
    background:#fff;
    color:#667681;
    font-size:11px;
}
#autosave_pop {
    display:none;
    z-index:100;
    position:absolute;
    top:38px;
    left:0;
    width:360px;
    max-width:100%;
    border:1px solid #cbd5dd;
    border-radius:3px;
    background:#fff;
    box-shadow:0 8px 24px rgba(16,47,81,.12);
}
#autosave_pop > strong { display:block; padding:12px 14px; color:#334654; font-size:12px; }
#autosave_pop ul { max-height:180px; margin:0; padding:8px 14px; overflow-y:auto; border-top:1px solid #e5eaee; list-style:none; }
#autosave_pop li { padding:6px 0; border-bottom:1px solid #eef2f5; font-size:11px; }
#autosave_pop li::after { content:""; display:block; clear:both; }
#autosave_pop li a { float:left; max-width:70%; color:#40576a; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#autosave_pop li span { float:right; color:#9aa4ab; }
#autosave_pop .autosave_close { width:100%; height:32px; border:0; border-top:1px solid #e5eaee; background:#fafbfd; color:#6b7a85; font-size:11px; }
.autosave_content { display:none; }
.autosave_del { float:right; margin-left:5px; border:0; background:transparent; color:#a2abb2; }

.dse-item-spec-editor { padding:8px 22px 4px; }
.dse-item-spec-edit-row {
    display:grid;
    grid-template-columns:42px minmax(0,1fr) 30px;
    gap:14px;
    align-items:end;
    padding:14px 0;
    border-bottom:1px solid #e9eef2;
}
.dse-item-spec-edit-row.is-hidden { display:none; }
.dse-item-spec-number {
    align-self:center;
    padding-top:2px;
    color:#2586d9;
    font:700 11px/1.5 "Roboto Condensed",Arial,sans-serif;
    letter-spacing:.08em;
}
.dse-item-spec-inputs {
    display:grid;
    grid-template-columns:minmax(150px,.72fr) minmax(0,1.28fr);
    gap:12px;
}
.dse-item-spec-remove {
    width:30px;
    height:40px;
    border:0;
    background:transparent;
    color:#a0abb3;
    cursor:pointer;
}
.dse-item-spec-remove:hover { color:#d65a62; }
.dse-item-add-spec {
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin:14px 22px 22px;
    height:34px;
    padding:0 12px;
    border:1px solid #b8cad8;
    border-radius:3px;
    background:#fff;
    color:#42647e;
    font-size:11px;
    font-weight:600;
    cursor:pointer;
}
.dse-item-add-spec i { color:#2586d9; }
.dse-item-add-spec:hover { border-color:#2586d9; color:#1976d2; }

.dse-item-editor-wrap { padding:22px; }
.dse-item-editor-wrap #char_count_desc { margin:0 0 8px; color:#86939d; font-size:11px; }
.dse-item-editor-wrap #char_count_wrap { margin-top:7px; color:#87949d; font-size:11px; text-align:right; }
.dse-item-editor-wrap textarea { min-height:240px; resize:vertical; }
.dse-item-editor-wrap .cke_chrome,
.dse-item-editor-wrap .se2_inputarea,
.dse-item-editor-wrap iframe { max-width:100%; }

.dse-item-file-list { padding:8px 22px 18px; }
.dse-item-file-row {
    display:grid;
    grid-template-columns:68px minmax(0,1fr);
    gap:14px;
    padding:14px 0;
    border-bottom:1px solid #e8edf1;
}
.dse-item-file-index {
    padding-top:7px;
    color:#708492;
    font:700 10px/1.5 "Roboto Condensed",Arial,sans-serif;
    letter-spacing:.07em;
}
.dse-item-file-fields { min-width:0; }
.dse-item-file-fields input[type="file"] {
    display:block;
    width:100%;
    min-height:38px;
    padding:7px 9px;
    border:1px solid #cfd9e1;
    border-radius:3px;
    background:#fff;
    color:#5d6c77;
    font-size:12px;
}
.dse-item-file-fields input[type="text"] { margin-top:8px; }
.dse-item-file-delete {
    display:block;
    margin:8px 0 0;
    color:#7b8790;
    font-size:11px;
    font-weight:400;
}
.dse-item-file-delete input { margin:0 4px 0 0; vertical-align:-2px; }
.dse-item-form-secondary { background:#fcfdfe; }
.dse-item-captcha { margin-top:4px; padding:18px 20px; border:1px solid #dce4ec; border-radius:4px; background:#fff; }

.dse-item-submit-bar {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    margin-top:26px;
    padding-top:22px;
    border-top:1px solid #dce4ec;
}
.dse-item-submit-bar button { min-height:38px; }

/* 댓글 스킨이 활성화되는 경우의 최소 정리 */
#bo_vc { margin-top:40px; font-family:"Noto Sans KR",sans-serif; }
#bo_vc article { padding:18px 0; border-bottom:1px solid #e4eaef; }
#bo_vc_w { margin-top:25px; }
.cmt_btn { border:0; background:none; color:#40566a; font-weight:700; }

/* 반응형 */
@media (max-width:1199px) {
    .dse-item-product-hero { gap:30px; }
    .dse-item-main-image { height:390px; }
}

@media (max-width:991px) {
    .dse-item-page-wrap { padding-top:20px; }
    .dse-item-product-hero { grid-template-columns:1fr; gap:28px; }
    .dse-item-main-image { height:480px; }
}

@media (max-width:767px) {
    .dse-item-path-banner { padding-bottom:16px; }
    .dse-item-path-banner .breadcrumb { padding:8px 11px!important; }
    .dse-item-path-banner .breadcrumb li { font-size:11px; }
    .dse-item-path-banner .breadcrumb li + li::before { padding:0 6px; }

    .dse-item-heading { margin-bottom:28px; padding-left:16px; }
    .dse-item-heading::before { height:49px; }
    .dse-item-heading-row { display:block; }
    .dse-item-heading h1 { font-size:24px; }
    .dse-item-heading p { font-size:13px; }

    .dse-item-view-actions { align-items:stretch; flex-direction:column; }
    .dse-item-view-admin { justify-content:flex-end; }

    .dse-item-main-image { height:360px; }
    .dse-item-main-image img { padding:20px; }
    .dse-item-summary h2 { font-size:22px; }
    .dse-item-spec-table dt,
    .dse-item-spec-table dd { padding:9px 10px; font-size:12px; }
    .dse-item-content-section,
    .dse-item-resource-section { margin-top:58px; }
    .dse-item-section-title h2 { font-size:19px; }
    .dse-item-content-body { font-size:13px; line-height:1.8; word-break:normal; }
    .dse-item-download-list li { align-items:flex-start; flex-direction:column; gap:10px; padding:13px 10px; }
    .dse-item-download-btn { align-self:flex-end; }

    .dse-item-form-section-head { padding:17px 16px; }
    .dse-item-form-grid { grid-template-columns:1fr; padding:18px 16px; }
    .dse-item-field.full { grid-column:auto; }
    .dse-item-options { margin:0 16px 16px; }
    .dse-item-autosave { margin:-4px 16px 16px; }
    .dse-item-spec-editor { padding:7px 16px 2px; }
    .dse-item-spec-edit-row { grid-template-columns:31px minmax(0,1fr) 24px; gap:8px; }
    .dse-item-spec-inputs { grid-template-columns:1fr; gap:9px; }
    .dse-item-spec-remove { width:24px; }
    .dse-item-add-spec { margin:13px 16px 18px; }
    .dse-item-editor-wrap { padding:18px 16px; }
    .dse-item-file-list { padding:6px 16px 14px; }
    .dse-item-file-row { grid-template-columns:1fr; gap:5px; }
    .dse-item-file-index { padding-top:0; }
    .dse-item-submit-bar { justify-content:stretch; }
    .dse-item-submit-bar .dse-item-outline-btn,
    .dse-item-submit-bar .dse-item-primary-btn { flex:1 1 0; }
}

@media (max-width:420px) {
    .dse-item-main-image { height:300px; }
}


/* 3D CAD VIEW --------------------------------------------------------- */
.dse-item-media-tabs {
    display:flex;
    align-items:center;
    margin:10px 0 0;
    border:1px solid #dce4ec;
    border-radius:4px;
    background:transparent;
    overflow:hidden;
}
.dse-item-media-tab {
    flex:1 1 0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    height:42px;
    padding:0 14px;
    border:0;
    border-right:1px solid #dce4ec;
    background:transparent;
    color:#2586d9;
    font-family:"Noto Sans KR",sans-serif;
    font-size:12px;
    font-weight:600;
    cursor:pointer;
    transition:background-color .18s ease,color .18s ease;
}
.dse-item-media-tab:last-child { border-right:0; }
.dse-item-media-tab i { color:#2586d9; }
.dse-item-media-tab.is-active { background:#2586d9;color:#fff; }
.dse-item-media-tab.is-active i { color:#fff; }
.dse-item-media-stage { position:relative; }
.dse-item-media-panel { display:none; }
.dse-item-media-panel.is-active { display:flex; }
.dse-item-model-panel {
    position:relative;
    align-items:stretch;
    justify-content:stretch;
    height:470px;
    overflow:hidden;
    border:1px solid #dce4ec;
    border-radius:4px;
    background:#f7f9fb;
}
.dse-cad-viewer {
    position:relative;
    width:100%;
    height:100%;
    min-width:0;
    background:#f7f9fb;
    overflow:hidden;
    outline:none;
    user-select:none;
    -webkit-user-select:none;
    touch-action:none;
}
.dse-cad-viewer:fullscreen { width:100vw;height:100vh;background:#f7f9fb; }
.dse-cad-canvas { display:block;width:100%;height:100%;outline:0; }
.dse-cad-loading {
    position:absolute;
    inset:0;
    z-index:7;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:32px;
    background:#f7f9fb;
    color:#71818f;
    font-family:"Noto Sans KR",sans-serif;
    text-align:center;
    transition:opacity .28s ease,visibility .28s ease;
}
.dse-cad-loading.is-complete { opacity:0;visibility:hidden;pointer-events:none; }
.dse-cad-loading strong {
    margin-top:4px;
    color:#29465f;
    font:700 10px/1.3 "Roboto Condensed",Arial,sans-serif;
    letter-spacing:.13em;
}
.dse-cad-loading > span { font-size:11px;line-height:1.6; }
.dse-cad-spinner {
    width:28px;height:28px;
    border:2px solid #d8e4ec;
    border-top-color:#2586d9;
    border-radius:50%;
    animation:dseCadSpin .8s linear infinite;
}
@keyframes dseCadSpin { to { transform:rotate(360deg); } }
.dse-cad-toolbar {
    position:absolute;
    top:12px;
    right:12px;
    z-index:6;
    display:flex;
    align-items:center;
    gap:5px;
}
.dse-cad-toolbar[hidden] { display:none!important; }
.dse-cad-tool {
    display:flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    padding:0;
    border:1px solid #2586d9;
    border-radius:3px;
    background:#2586d9;
    color:#fff;
    box-shadow:0 2px 8px rgba(22,52,78,.10);
    cursor:pointer;
    transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}
.dse-cad-tool i,
.dse-cad-tool svg {
    color:#fff;
}
.dse-cad-tool:hover,
.dse-cad-tool:focus-visible {
    background:#102f51;
    border-color:#102f51;
    color:#fff;
    outline:0;
}
.dse-cad-tool:hover i,
.dse-cad-tool:focus-visible i,
.dse-cad-tool:hover svg,
.dse-cad-tool:focus-visible svg {
    color:#fff;
}
.dse-item-model-help {
    position:absolute;
    left:50%;
    bottom:14px;
    z-index:5;
    transform:translateX(-50%);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    max-width:calc(100% - 28px);
    padding:8px 13px;
    border:1px solid rgba(16,47,81,.12);
    border-radius:20px;
    background:rgba(255,255,255,.93);
    color:#526b80;
    font-size:13px;
    font-weight:600;
    line-height:1.45;
    white-space:nowrap;
    pointer-events:none;
    box-shadow:0 3px 12px rgba(16,47,81,.07);
}
.dse-item-model-help i { color:#2586d9; font-size:13px; line-height:1; }
.dse-item-model-error {
    position:absolute;
    inset:0;
    z-index:8;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:24px;
    background:#f8fafc;
    color:#71808c;
    font-size:12px;
    text-align:center;
}
.dse-item-model-error[hidden] { display:none!important; }
.dse-item-model-error i { color:#9aaab5;font-size:24px; }
.dse-item-model-progress {
    width:132px;
    height:3px;
    margin-top:7px;
    overflow:hidden;
    background:#dce7ef;
    border-radius:2px;
}
.dse-item-model-progress span {
    display:block;
    width:0;
    height:100%;
    background:#2586d9;
    transition:width .12s linear;
}
.dse-item-summary-3d {
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin:9px 0 0 12px;
    color:#2586d9;
    font:700 10px/1.4 "Roboto Condensed",Arial,sans-serif;
    letter-spacing:.05em;
    text-transform:uppercase;
}
.dse-item-summary-3d i { font-size:11px; }

@media (max-width:767px) {
    .dse-cad-toolbar { top:9px;right:9px; }
    .dse-cad-tool { width:32px;height:32px; }
}

/* 3D upload guide */
.dse-item-3d-guide {
    display:flex;
    align-items:flex-start;
    gap:15px;
    margin:18px 22px 4px;
    padding:16px 17px;
    border:1px solid #cfe0ed;
    border-left:3px solid #2586d9;
    border-radius:3px;
    background:#f7fbfe;
}
.dse-item-3d-guide-icon {
    flex:0 0 34px;
    display:flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    border-radius:50%;
    background:#e9f4fc;
    color:#2586d9;
    font-size:14px;
}
.dse-item-3d-guide strong {
    display:block;
    margin:0 0 4px;
    color:#23445f;
    font-size:13px;
    font-weight:700;
}
.dse-item-3d-guide p {
    margin:0;
    color:#607684;
    font-size:11px;
    line-height:1.65;
    word-break:keep-all;
}
.dse-item-3d-guide span {
    display:block;
    margin-top:5px;
    color:#8495a1;
    font-size:10px;
    line-height:1.55;
}
.dse-item-file-row.is-3d-model {
    margin-left:-10px;
    margin-right:-10px;
    padding-left:10px;
    padding-right:10px;
    border-radius:3px;
    background:#f7fbfe;
}
.dse-item-file-index { position:relative; }
.dse-item-file-label { display:block; }
.dse-item-file-3d-badge {
    display:inline-flex;
    align-items:center;
    gap:4px;
    margin-top:5px;
    padding:3px 6px;
    border:1px solid #b9d8ee;
    border-radius:2px;
    background:#fff;
    color:#2586d9;
    font:700 9px/1.2 "Roboto Condensed",Arial,sans-serif;
    letter-spacing:.05em;
}
.dse-item-file-3d-badge[hidden] { display:none!important; }
.dse-item-file-hint {
    margin-top:6px;
    color:#84939e;
    font-size:10px;
    line-height:1.55;
}
.dse-item-file-hint strong { color:#4f7088; font-weight:600; }

@media (max-width:1199px) {
    .dse-item-model-panel { height:390px; }
}
@media (max-width:991px) {
    .dse-item-model-panel { height:480px; }
}
@media (max-width:767px) {
    .dse-item-media-tab { height:39px; font-size:11px; }
    .dse-item-model-panel { height:360px; }
    .dse-item-model-help { bottom:10px; padding:7px 11px; font-size:12px; line-height:1.4; }
    .dse-item-summary-3d { display:flex; margin:7px 0 0; }
    .dse-item-3d-guide { margin:14px 16px 2px; padding:14px; }
    .dse-item-3d-guide-icon { flex-basis:30px; width:30px; height:30px; }
}
@media (max-width:420px) {
    .dse-item-model-panel { height:300px; }
    .dse-item-model-help { width:calc(100% - 24px); max-width:360px; white-space:normal; text-align:center; }
}

/* =========================================================
   PRODUCT DETAIL LAYOUT REFINEMENT
   - 상단 중복 정보 제거
   - 제품명/분류/설명을 우측 정보 영역으로 통합
   ========================================================= */
.dse-item-view .dse-item-product-hero {
    margin-top:0;
}

.dse-item-view .dse-item-summary {
    min-width:0;
    padding-top:0;
}

.dse-item-view .dse-item-summary-top {
    position:relative;
    margin:0 0 28px;
    padding:0 0 22px 18px;
    border-bottom:1px solid #dce4ec;
}
.dse-item-view .dse-item-summary-top::before {
    content:"";
    position:absolute;
    left:0;
    top:2px;
    width:2px;
    height:48px;
    background:#2586d9;
}
.dse-item-view .dse-item-summary-kicker {
    display:block;
    margin:0 0 7px;
    color:#52718e;
    font:700 11px/1.4 "Roboto Condensed",Arial,sans-serif;
    letter-spacing:.18em;
}
.dse-item-view .dse-item-summary-meta {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 12px;
    margin-top:13px;
}
.dse-item-view .dse-item-summary-category {
    display:inline-flex;
    align-items:center;
    margin:0;
    padding:3px 7px;
    border:1px solid #c7dbea;
    border-radius:2px;
    color:#2586d9;
    font-family:"Noto Sans KR","Malgun Gothic",Arial,sans-serif;
    font-size:11px;
    font-weight:600;
    line-height:1.4;
}
.dse-item-view .dse-item-summary h1 {
    margin:0;
    color:#102f51;
    font-family:"Noto Sans KR","Malgun Gothic",Arial,sans-serif;
    font-size:26px;
    font-weight:700;
    line-height:1.4;
    letter-spacing:-.025em;
    word-break:keep-all;
}
.dse-item-view .dse-item-summary-desc {
    margin:9px 0 0;
    color:#6d7d8b;
    font-size:13px;
    line-height:1.7;
    word-break:keep-all;
}
.dse-item-view .dse-item-summary-3d {
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin:0;
    color:#2586d9;
    font:700 10px/1.4 "Roboto Condensed",Arial,sans-serif;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.dse-item-view .dse-item-spec-head {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    margin:0;
    padding:0 0 10px;
    border-bottom:2px solid #102f51;
}
.dse-item-view .dse-item-spec-head span {
    color:#2586d9;
    font:700 10px/1.4 "Roboto Condensed",Arial,sans-serif;
    letter-spacing:.16em;
}
.dse-item-view .dse-item-spec-head strong {
    color:#526577;
    font-size:12px;
    font-weight:600;
    line-height:1.4;
}

@media (max-width:991px) {
    .dse-item-view .dse-item-summary-top {
        margin-top:2px;
    }
}

@media (max-width:767px) {
    .dse-item-view .dse-item-summary-top {
        margin-bottom:22px;
        padding:0 0 20px 15px;
    }
    .dse-item-view .dse-item-summary-top::before {
        height:44px;
    }
    .dse-item-view .dse-item-summary h1 {
        font-size:23px;
        word-break:keep-all;
    }
    .dse-item-view .dse-item-summary-meta {
        gap:7px 10px;
        margin-top:11px;
    }
    .dse-item-view .dse-item-summary-desc {
        font-size:12px;
    }
}


/* =========================================================
   PRODUCT DETAIL HEADER -> match list-page heading style
   ========================================================= */
.dse-item-view .dse-item-summary-top.dse-item-heading {
    position:relative;
    margin:0 0 28px;
    padding:0 0 19px 20px;
    border-bottom:1px solid #dce4ec;
}
.dse-item-view .dse-item-summary-top.dse-item-heading::before {
    content:"";
    position:absolute;
    left:0;
    top:3px;
    width:3px;
    height:54px;
    background:#2586d9;
}
.dse-item-view .dse-item-summary-top.dse-item-heading::after {
    content:"";
    position:absolute;
    right:0;
    bottom:-3px;
    width:5px;
    height:5px;
    background:#2586d9;
}
.dse-item-view .dse-item-summary-top.dse-item-heading .dse-item-eyebrow {
    display:block;
    margin:0 0 2px;
    color:#52718e;
    font:700 11px/1.4 "Roboto Condensed",Arial,sans-serif;
    letter-spacing:.18em;
}
.dse-item-view .dse-item-summary-top.dse-item-heading h1 {
    margin:0;
    color:#102f51;
    font-family:"Noto Sans KR","Malgun Gothic",Arial,sans-serif;
    font-size:28px;
    font-weight:700;
    line-height:1.35;
    letter-spacing:-.045em;
    word-break:keep-all;
}
.dse-item-view .dse-item-summary-top.dse-item-heading .dse-item-summary-desc {
    margin:9px 0 0;
    color:#6d7d8b;
    font-size:14px;
    line-height:1.7;
    word-break:keep-all;
}
.dse-item-view .dse-item-summary-top.dse-item-heading .dse-item-summary-meta {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 12px;
    margin-top:13px;
}
.dse-item-view .dse-item-summary-top.dse-item-heading .dse-item-summary-category {
    display:inline-flex;
    align-items:center;
    margin:0;
    padding:3px 7px;
    border:1px solid #c7dbea;
    border-radius:2px;
    color:#2586d9;
    font-family:"Noto Sans KR","Malgun Gothic",Arial,sans-serif;
    font-size:11px;
    font-weight:600;
    line-height:1.4;
}
.dse-item-view .dse-item-summary-top.dse-item-heading .dse-item-summary-3d {
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin:0;
    color:#2586d9;
    font:700 10px/1.4 "Roboto Condensed",Arial,sans-serif;
    letter-spacing:.05em;
    text-transform:uppercase;
}
@media (max-width:767px) {
    .dse-item-view .dse-item-summary-top.dse-item-heading {
        margin-bottom:22px;
        padding:0 0 17px 17px;
    }
    .dse-item-view .dse-item-summary-top.dse-item-heading::before {
        top:2px;
        height:48px;
    }
    .dse-item-view .dse-item-summary-top.dse-item-heading h1 {
        font-size:25px;
    }
    .dse-item-view .dse-item-summary-top.dse-item-heading .dse-item-summary-desc {
        font-size:13px;
    }
}

/* =========================================================
   PRODUCT CONTENT SECTION CONTROLS
   - 03/04/05 상세정보 섹션 출력 여부
   ========================================================= */
.dse-item-form-section-head .dse-item-section-display {
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin:2px 0 0 auto;
    padding:7px 10px;
    border:1px solid #cfdbe4;
    border-radius:3px;
    background:#fff;
    color:#526777;
    font-size:11px;
    font-weight:600;
    line-height:1;
    white-space:nowrap;
    cursor:pointer;
}
.dse-item-form-section-head .dse-item-section-display input {
    width:auto;
    min-height:0;
    margin:0;
    padding:0;
    accent-color:#2586d9;
}
.dse-item-form-section-head .dse-item-section-display:has(input:checked) {
    border-color:#9cc7e9;
    color:#173f65;
    background:#f7fbff;
}
.dse-item-section-title-grid {
    margin-bottom:18px;
    padding:0;
}
.dse-item-editor-wrap .dse-item-extra-content {
    display:block;
    width:100%;
    min-height:260px;
    resize:vertical;
}
@media (max-width:767px) {
    .dse-item-form-section-head {
        flex-wrap:wrap;
    }
    .dse-item-form-section-head .dse-item-section-display {
        margin-left:47px;
    }
    .dse-item-section-title-grid {
        grid-template-columns:1fr;
    }
}


/* =========================================================
   DETAIL CATEGORY POSITION
   - 분류 배지를 PRODUCTS 우측으로 이동
   - 이동 후 상단 정보 영역 여백 재정리
   ========================================================= */
.dse-item-view .dse-item-summary-eyebrow-row {
    display:flex;
    align-items:center;
    gap:9px;
    min-height:22px;
    margin:0 0 3px;
}
.dse-item-view .dse-item-summary-top.dse-item-heading .dse-item-summary-eyebrow-row .dse-item-eyebrow {
    flex:0 0 auto;
    margin:0;
}
.dse-item-view .dse-item-summary-top.dse-item-heading .dse-item-summary-eyebrow-row .dse-item-summary-category {
    flex:0 0 auto;
    margin:0;
    padding:2px 7px;
    line-height:1.45;
}
.dse-item-view .dse-item-summary-top.dse-item-heading .dse-item-summary-meta {
    margin-top:10px;
}
@media (max-width:767px) {
    .dse-item-view .dse-item-summary-eyebrow-row {
        gap:8px;
        min-height:21px;
        margin-bottom:3px;
    }
    .dse-item-view .dse-item-summary-top.dse-item-heading .dse-item-summary-eyebrow-row .dse-item-summary-category {
        padding:2px 6px;
        font-size:10px;
    }
}


/* =========================================================
   DETAIL 3D AVAILABILITY NOTE POSITION
   - 3D 안내 문구를 제품 규격표 아래로 이동
   - 이동 후 규격표/목록 링크 사이 여백 정리
   ========================================================= */
.dse-item-view .dse-item-spec-3d-note {
    display:flex;
    align-items:center;
    margin:12px 0 0;
    min-height:18px;
}
.dse-item-view .dse-item-spec-3d-note .dse-item-summary-3d {
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin:0;
    color:#2586d9;
    font:700 10px/1.4 "Roboto Condensed",Arial,sans-serif;
    letter-spacing:.05em;
    text-transform:uppercase;
}
.dse-item-view .dse-item-spec-3d-note + .dse-item-list-link {
    margin-top:14px;
}
@media (max-width:767px) {
    .dse-item-view .dse-item-spec-3d-note {
        margin-top:10px;
    }
    .dse-item-view .dse-item-spec-3d-note + .dse-item-list-link {
        margin-top:12px;
    }
}


/* =========================================================
   DETAIL SPEC ACTIONS / BOTTOM LIST LINK
   - 규격표 하단: 3D 안내(좌) + 외형도 자료실(우)
   - 제품 목록으로 링크를 좌측 제품 이미지 하단선에 맞춤
   ========================================================= */
.dse-item-view .dse-item-summary {
    display:flex;
    flex-direction:column;
    min-height:430px;
}
.dse-item-view .dse-item-spec-actions {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-top:12px;
}
.dse-item-view .dse-item-spec-actions .dse-item-spec-3d-note {
    flex:1 1 auto;
    min-width:0;
    margin:0;
}
.dse-item-view .dse-item-spec-actions .dse-item-summary-3d {
    margin:0;
    min-height:28px;
    align-items:flex-start;
    padding-top:1px;
    line-height:1.15;
}
.dse-item-view .dse-item-spec-actions .dse-item-summary-3d i {
    margin-top:0;
    line-height:1;
}
.dse-item-view .dse-item-drawing-link {
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:28px;
    padding:4px 9px;
    border:1px solid #2586d9;
    border-radius:3px;
    background:#2586d9;
    color:#fff!important;
    font-family:"Noto Sans KR","Malgun Gothic",Arial,sans-serif;
    font-size:13px;
    font-weight:700;
    line-height:1;
    text-decoration:none!important;
    white-space:nowrap;
    transition:background-color .18s ease,border-color .18s ease;
}
.dse-item-view .dse-item-drawing-link i {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:13px;
    height:13px;
    color:#fff;
    font-size:12px;
    line-height:1;
}
.dse-item-view .dse-item-drawing-link span {
    display:inline-block;
    line-height:1;
}
.dse-item-view .dse-item-drawing-link:hover,
.dse-item-view .dse-item-drawing-link:focus {
    border-color:#102f51;
    background:#102f51;
    color:#fff!important;
}
.dse-item-view .dse-item-list-link {
    align-self:flex-start;
    margin-top:auto;
    padding-top:16px;
    color:#42586a!important;
    font-size:14px;
    line-height:1.45;
}
.dse-item-view .dse-item-spec-3d-note + .dse-item-list-link {
    margin-top:auto;
}

@media (max-width:1199px) and (min-width:992px) {
    .dse-item-view .dse-item-summary {
        min-height:390px;
    }
}
@media (max-width:991px) {
    .dse-item-view .dse-item-summary {
        min-height:0;
    }
    .dse-item-view .dse-item-list-link {
        margin-top:20px;
        padding-top:0;
    }
}
@media (max-width:767px) {
    .dse-item-view .dse-item-spec-actions {
        align-items:flex-start;
        gap:12px;
        margin-top:12px;
    }
    .dse-item-view .dse-item-drawing-link {
        min-height:27px;
        padding:4px 8px;
        font-size:12px;
    }
    .dse-item-view .dse-item-list-link {
        font-size:14px;
    }
}

/* =========================================================
   DRAWING ARCHIVE BUTTON / ICON ALIGNMENT - ROOT FIX
   - Font Awesome glyph baseline/pseudo-element dependency removed
   - Inline SVG and text are centered by the same flex axis
   ========================================================= */
.dse-item-view .dse-item-drawing-link {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    min-height:26px;
    padding:3px 8px;
    line-height:1;
}
.dse-item-view .dse-item-drawing-link .dse-item-drawing-icon {
    display:block;
    flex:0 0 13px;
    width:13px;
    height:13px;
    margin:0;
    padding:0;
    color:#fff;
    overflow:visible;
}
.dse-item-view .dse-item-drawing-link .dse-item-drawing-icon path {
    fill:none;
    stroke:currentColor;
    stroke-width:1.35;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.dse-item-view .dse-item-drawing-link span {
    display:block;
    height:auto;
    margin:0;
    padding:0;
    line-height:16px;
}
@media (max-width:767px) {
    .dse-item-view .dse-item-drawing-link {
        min-height:26px;
        padding:3px 8px;
    }
}

/* =========================================================
   PRODUCT ATTACHMENT ROLES
   - 02 목록 대표 + 상세 이미지 1~3
   - 03/04/05 본문 하단 첨부
   - 06 GLB 전용 1개
   ========================================================= */
.dse-item-upload-block {
    margin:22px 22px 0;
    padding-top:20px;
    border-top:1px solid #e2e9ee;
}
.dse-item-upload-block-head {
    margin-bottom:4px;
}
.dse-item-upload-block-head strong {
    display:block;
    color:#1e405c;
    font-size:13px;
    font-weight:700;
}
.dse-item-upload-block-head p {
    margin:4px 0 0;
    color:#7a8c99;
    font-size:11px;
    line-height:1.65;
    word-break:keep-all;
}
.dse-item-file-list-embedded {
    padding:4px 0 2px;
}
.dse-item-file-list-embedded .dse-item-file-row:last-child {
    border-bottom:0;
}
.dse-item-file-limit-warning {
    display:flex;
    align-items:flex-start;
    gap:7px;
    margin:10px 0 4px;
    padding:9px 11px;
    border:1px solid #d7e4ee;
    border-radius:3px;
    background:#f8fbfd;
    color:#607887;
    font-size:11px;
    line-height:1.55;
}
.dse-item-file-limit-warning i {
    flex:0 0 auto;
    margin-top:2px;
    color:#2586d9;
}
.dse-item-section-upload {
    margin-top:22px;
    padding-top:18px;
    border-top:1px solid #e2e9ee;
}
.dse-item-section-upload-title {
    display:flex;
    align-items:baseline;
    gap:9px;
    margin-bottom:2px;
}
.dse-item-section-upload-title strong {
    color:#254761;
    font-size:12px;
    font-weight:700;
}
.dse-item-section-upload-title span {
    color:#8796a1;
    font-size:10px;
}
.dse-item-section-upload .dse-item-file-row {
    padding-bottom:2px;
    border-bottom:0;
}
.dse-item-extra-files-title {
    margin:15px 0 0;
    padding:13px 0 2px;
    border-top:1px solid #e5ebef;
    color:#607887;
    font-size:11px;
    font-weight:700;
}

/* 상세설명 전용 첨부는 각 본문 바로 아래에 표시 */
.dse-item-section-attachment {
    margin-top:22px;
}
.dse-item-section-attachment img {
    display:block;
    width:100%;
    max-width:100%;
    height:auto!important;
    margin:0;
}
.dse-item-section-file-link {
    display:flex;
    align-items:center;
    gap:10px;
    width:100%;
    min-height:44px;
    padding:10px 13px;
    border:1px solid #d4dee6;
    border-radius:3px;
    background:#fff;
    color:#314a5e!important;
    font-size:12px;
    text-decoration:none!important;
}
.dse-item-section-file-link > i {
    flex:0 0 auto;
    color:#2586d9;
    font-size:16px;
}
.dse-item-section-file-link > span {
    min-width:0;
    flex:1 1 auto;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.dse-item-section-file-link > strong {
    flex:0 0 auto;
    color:#2586d9;
    font-size:11px;
    font-weight:700;
}
.dse-item-section-file-link:hover,
.dse-item-section-file-link:focus {
    border-color:#2586d9;
    background:#f7fbfe;
}

@media (max-width:767px) {
    .dse-item-upload-block {
        margin:18px 16px 0;
        padding-top:16px;
    }
    .dse-item-section-upload {
        margin-top:18px;
        padding-top:15px;
    }
    .dse-item-section-upload-title {
        display:block;
    }
    .dse-item-section-upload-title span {
        display:block;
        margin-top:3px;
        line-height:1.5;
    }
    .dse-item-section-attachment {
        margin-top:18px;
    }
}
