/* =========================================
   klab Custom Styles
   ========================================= */

/* ── 검색창 X(clear) 버튼 버건디 색상 ── */

/* 검색 input accent-color (modern browsers) */
.header-item-search-bar input[type="search"],
.header-search-bar input[type="search"] {
    accent-color: #822732;
}

/* Chrome/Edge/Safari 네이티브 clear 버튼을 버건디 X 아이콘으로 교체 */
.header-item-search-bar input[type="search"]::-webkit-search-cancel-button,
.header-search-bar input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
    height: 14px;
    width: 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='%23822732' d='M13 1L1 13M1 1l12 12' stroke='%23822732' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    cursor: pointer;
}

/* ── 검색결과 타이틀 숨김 ── */
.search-archive .entry-hero,
.search .page-title,
.search .entry-hero {
    display: none !important;
}

/* ── 검색결과 컨텐츠 영역만 max-width 1400px ── */
body.search .content-container.site-container {
    max-width: 1400px !important;
}

/* ── 검색결과 리스트 레이아웃 (Kadence beside 그리드 커스텀) ── */
/* 기본값 grid-template-columns:1fr 2fr → 이미지 컬럼 축소(200px)해
   제목·요약·다운로드 영역을 넓히고, 이미지를 세로 가운데 정렬 */
body.search .item-image-style-beside article.loop-entry.has-post-thumbnail:not(.kb-post-no-image) {
    grid-template-columns: 200px 1fr;
    grid-gap: 1.75rem;
    align-items: center;
}

/* 썸네일: 전체 노출(잘림 방지), 세로 중앙 포지션 */
body.search .item-image-style-beside .post-thumbnail img {
    width: 100%;
    height: auto;
    max-height: 200px;
    object-fit: contain;
    object-position: center center;
    border-radius: 4px;
}

/* 검색결과 제목: 15px, 볼드, 버건디 */
body.search .loop-entry .entry-title,
body.search .loop-entry .entry-title a {
    font-size: 15px !important;
    line-height: 1.45 !important;
    font-weight: 700;
    color: #822732;
}

/* 발행자/발행일(메타) 숨김 */
body.search .loop-entry .entry-meta,
body.search .loop-entry .entry-taxonomies,
body.search .loop-entry .posted-on,
body.search .loop-entry .byline {
    display: none !important;
}

body.search .loop-entry .entry-summary {
    font-size: 0.9rem;
    color: #666;
    margin-bottom: 12px;
}

/* 검색결과 액션 버튼 — Download / Read More 모두 상세페이지 전역 버튼 스타일(pill + hover 그림자)로 통일 */
.klab-download-link,
body.search .more-link-wrap .post-more-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: #822732;
    color: #fff !important;
    padding: 14px 32px;
    border-radius: 100px;
    font-family: "Libre Franklin", sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.5px;
    line-height: 1;
    text-transform: none;
    text-decoration: none !important;
    box-shadow: 0 0 0 rgba( 0, 0, 0, 0 );
    transition: box-shadow 0.2s ease, background-color 0.2s ease;
}

.klab-download-link:hover,
.klab-download-link:focus,
body.search .more-link-wrap .post-more-link:hover,
body.search .more-link-wrap .post-more-link:focus {
    background-color: #822732;
    color: #fff !important;
    box-shadow: 3px 3px 0 0 rgba( 0, 0, 0, 0.4 );
}

.klab-download-link .klab-dl-icon,
body.search .more-link-wrap .post-more-link svg {
    flex: 0 0 auto;
    width: 15px;
    height: 15px;
}

/* ── 검색결과 영역 상하 여백 + 항목 간 간격 ── */
body.search .content-container.site-container {
    padding-top: 40px;
    padding-bottom: 64px;
}

body.search article.loop-entry {
    padding: 28px 32px;
    margin-bottom: 18px;
}

@media ( max-width: 767px ) {
    body.search .item-image-style-beside article.loop-entry.has-post-thumbnail:not(.kb-post-no-image) {
        grid-template-columns: 120px 1fr;
        grid-gap: 1rem;
    }
    body.search article.loop-entry {
        padding: 20px;
    }
}

/* ── 헤더 언어 선택기 ── */
.klab-lang-switcher {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.klab-lang-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: none !important;
    border: 1.5px solid #822732;
    border-radius: 4px;
    padding: 5px 9px 5px 8px;
    cursor: pointer;
    color: #822732;
    font-size: 12px;
    font-weight: 700;
    font-family: inherit;
    letter-spacing: 0.06em;
    line-height: 1;
    transition: opacity 0.15s, color 0.2s, border-color 0.2s;
}

/* 메인 페이지(body.home) + 투명 헤더 + 스크롤 전 — 흰색 */
body.home.transparent-header:not(.klab-scrolled) .klab-lang-btn {
    color: #fff !important;
    border-color: rgba( 255, 255, 255, 0.65 ) !important;
}

/* #masthead hover 시 배경이 흰색으로 바뀌므로(커스터마이저 CSS) 버건디로 전환 */
#masthead:hover .klab-lang-btn {
    color: #822732 !important;
    border-color: #822732 !important;
    background-color: transparent !important;
}

/* 스크롤 후 / 서브 페이지 — 버건디 고정 */
body.home.transparent-header.klab-scrolled .klab-lang-btn,
body:not(.home) .klab-lang-btn {
    color: #822732 !important;
    border-color: #822732 !important;
}

body.home.transparent-header.klab-scrolled .klab-lang-btn:hover,
body.home.transparent-header.klab-scrolled .klab-lang-btn:focus,
body:not(.home) .klab-lang-btn:hover,
body:not(.home) .klab-lang-btn:focus {
    color: #822732 !important;
    border-color: #822732 !important;
    opacity: 0.75;
}

.klab-lang-globe,
.klab-lang-chevron {
    flex-shrink: 0;
}

.klab-lang-chevron {
    transition: transform 0.2s ease;
}

.klab-lang-switcher.is-open .klab-lang-chevron {
    transform: rotate( 180deg );
}

.klab-lang-dropdown {
    display: none;
    position: absolute;
    top: calc( 100% + 8px );
    right: 0;
    background: #fff;
    border: 1px solid rgba( 0, 0, 0, 0.1 );
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba( 0, 0, 0, 0.12 );
    min-width: 170px;
    list-style: none;
    margin: 0;
    padding: 6px 0;
    z-index: 10000;
}

.klab-lang-switcher.is-open .klab-lang-dropdown {
    display: block;
}

.klab-lang-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 16px;
    font-size: 13px;
    color: #333;
    text-decoration: none !important;
    white-space: nowrap;
    transition: background 0.12s;
}

a.klab-lang-item:hover {
    background: rgba( 130, 39, 50, 0.06 );
}

.klab-lang-active {
    font-weight: 600;
    color: #822732 !important;
}

.klab-lang-soon {
    opacity: 0.45;
    cursor: default;
}

.klab-lang-item-code {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    min-width: 24px;
    color: #822732;
}

.klab-lang-soon .klab-lang-item-code {
    color: #888;
}

.klab-lang-item-name {
    flex: 1;
}

.klab-lang-badge {
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background: #f0f0f0;
    color: #999;
    padding: 2px 6px;
    border-radius: 3px;
}

/* ── 푸터 컬럼 1: 로고 + 주소 ── */
.klab-footer-brand {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.klab-footer-logo {
    max-width: 140px;
    height: auto;
    display: block;
}

.klab-footer-hq {
    font-size: 0.85rem;
    line-height: 1.7;
    opacity: 0.8;
}

.klab-footer-hq strong {
    display: block;
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 1;
    margin-bottom: 4px;
}

/* ── 푸터 컬럼 4: 카탈로그 이미지 + 다운로드 버튼 ── */
.klab-footer-catalogue {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.klab-cat-img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
}

.klab-cat-btn {
    display: inline-block;
    padding: 10px 18px;
    background-color: #822732;
    color: #fff !important;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    text-align: center;
    text-decoration: none !important;
    border-radius: 3px;
    transition: background-color 0.2s ease;
}

.klab-cat-btn:hover {
    background-color: #6b1f29;
}

/* =========================================
   Technology 지식 베이스
   ========================================= */

.klab-tech-hub {
    margin: 0;
}

/* ── 허브: 상단 히어로 (Troubleshooting 스타일의 회색 밴드) ── */
.klab-tech-hero {
    background: #f5f5f5;
    /* 콘텐츠 컨테이너 폭을 넘어 좌우로 꽉 차게 (full-bleed) */
    width: 100vw;
    margin-left: calc( 50% - 50vw );
    margin-right: calc( 50% - 50vw );
    padding: 56px 24px 48px;
    text-align: center;
}

.klab-tech-hero-inner {
    max-width: 900px;
    margin: 0 auto;
}

.klab-tech-hero-title {
    font-size: 32px;
    font-weight: 400;
    color: #222;
    margin: 0 0 12px;
}

.klab-tech-hero-sub {
    font-size: 15px;
    line-height: 1.6;
    color: #666;
    max-width: 620px;
    margin: 0 auto 28px;
}

/* ── 검색 바 (Troubleshooting 'Find support information' 스타일) ── */
.klab-tech-search {
    display: flex;
    align-items: stretch;
    max-width: 520px;
    margin: 0 auto 30px;
    background: #fff;
    border: 1px solid #d8d8d8;
    border-radius: 6px;
    overflow: hidden;
}

.klab-tech-search-input {
    flex: 1;
    border: none !important;
    background: none !important;
    box-shadow: none !important;
    padding: 13px 18px;
    font-size: 15px;
    color: #333;
    outline: none;
}

.klab-tech-search-input:focus {
    box-shadow: none !important;
    outline: none;
}

.klab-tech-search-btn,
.klab-tech-search-btn:hover,
.klab-tech-search-btn:focus,
.klab-tech-search-btn:active {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    flex: 0 0 52px;
    background: #822732 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    cursor: pointer;
    padding: 0 !important;
}

.klab-tech-browse-label {
    display: block;
    font-size: 17px;
    font-weight: 400;
    color: #333;
    margin-bottom: 14px;
}

.klab-tech-filter {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 18px;
}

/* Browse 태그 = 순수 텍스트 링크. 전역 버튼 스타일(pill/그림자) 완전 차단 — 모든 상태에서 변화 없음 */
.klab-tech-filter-btn,
.klab-tech-filter-btn:hover,
.klab-tech-filter-btn:focus,
.klab-tech-filter-btn:active {
    background: none !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    outline: none !important;
    padding: 2px 0 !important;
    font-size: 14px;
    font-weight: 600;
    color: #822732 !important;
    cursor: pointer;
}

.klab-tech-filter-btn.is-active {
    text-decoration: underline;
    text-underline-offset: 5px;
    text-decoration-thickness: 2px;
}

/* ── 허브: 본문 영역 ── */
.klab-tech-body {
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 40px;
    padding-bottom: 100px;
}

.klab-tech-count {
    font-size: 13px;
    color: #999;
    margin: 0 0 20px;
}

.klab-tech-grid {
    display: grid;
    grid-template-columns: repeat( 3, 1fr );
    gap: 26px;
}

/* ── 결과 없음 ── */
.klab-tech-noresults {
    text-align: center;
    color: #777;
    font-size: 15px;
    padding: 48px 0;
}

.klab-tech-noresults .klab-tech-reset {
    color: #822732;
    font-weight: 600;
    text-decoration: underline;
}

/* ── 페이지네이션 ── */
.klab-tech-pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 44px;
}

.klab-tech-pagination:empty {
    margin-top: 0;
}

.klab-tech-page-btn,
.klab-tech-page-btn:hover,
.klab-tech-page-btn:focus,
.klab-tech-page-btn:active {
    min-width: 40px;
    height: 40px;
    padding: 0 10px !important;
    border: 1px solid #d8d8d8 !important;
    border-radius: 6px !important;
    background: #fff !important;
    color: #555 !important;
    font-size: 14px;
    font-weight: 600;
    box-shadow: none !important;
    transform: none !important;
    cursor: pointer;
    transition: border-color 0.15s ease, color 0.15s ease;
}

.klab-tech-page-btn:hover {
    border-color: #822732 !important;
    color: #822732 !important;
}

.klab-tech-page-btn.is-current,
.klab-tech-page-btn.is-current:hover {
    background: #822732 !important;
    border-color: #822732 !important;
    color: #fff !important;
}

/* ── 카드 (이미지 없이도 깔끔한 문서형 카드) ── */
.klab-tech-card {
    border: 1px solid #e8e8e8;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

.klab-tech-card.is-hidden {
    display: none;
}

.klab-tech-card:hover {
    box-shadow: 0 8px 24px rgba( 0, 0, 0, 0.08 );
    border-color: #e0d3d5;
    transform: translateY( -2px );
}

.klab-tech-card-link {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-decoration: none !important;
    color: inherit;
}

.klab-tech-card-thumb {
    aspect-ratio: 16 / 9;
    background: #f4f4f4;
    overflow: hidden;
}

.klab-tech-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.klab-tech-card-body-in {
    padding: 24px 24px 26px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

/* 이미지 없는 카드: 상단 버건디 액센트 라인 */
.klab-tech-card:not(.has-img) .klab-tech-card-body-in {
    border-top: 3px solid #822732;
}

.klab-tech-card-cat {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #822732;
    margin-bottom: 10px;
}

.klab-tech-card-title {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
    color: #222;
    margin: 0 0 10px;
}

.klab-tech-card-excerpt {
    font-size: 14px;
    line-height: 1.65;
    color: #666;
    margin: 0 0 18px;
    flex: 1;
}

.klab-tech-card-more {
    font-size: 13px;
    font-weight: 700;
    color: #822732;
}

.klab-tech-empty {
    text-align: center;
    color: #888;
    padding: 60px 0;
}

/* ── 제품 페이지: Explore DATA 박스 ── */
.klab-explore-data {
    border: 1px solid #ececec;
    border-left: 4px solid #822732;
    border-radius: 8px;
    padding: 22px 26px;
    background: #fafafa;
}

.klab-explore-title {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #822732;
    margin: 0 0 14px;
}

.klab-explore-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.klab-explore-list li + li {
    border-top: 1px solid #ececec;
}

.klab-explore-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 0;
    text-decoration: none !important;
    color: #333;
    transition: color 0.15s ease;
}

.klab-explore-link:hover {
    color: #822732;
}

.klab-explore-link-title {
    font-size: 14px;
    font-weight: 600;
}

.klab-explore-link-arrow {
    color: #822732;
    font-weight: 700;
    transition: transform 0.15s ease;
}

.klab-explore-link:hover .klab-explore-link-arrow {
    transform: translateX( 4px );
}

/* ── 단일글: 관련 글 + 돌아가기 ── */
.klab-tech-related {
    margin-top: 48px;
    padding-top: 28px;
    border-top: 1px solid #e5e5e5;
}

.klab-tech-related-title {
    font-size: 18px;
    font-weight: 700;
    color: #222;
    margin: 0 0 16px;
}

.klab-tech-related-list {
    list-style: none;
    margin: 0 0 24px;
    padding: 0;
}

.klab-tech-related-list li {
    margin-bottom: 10px;
}

.klab-tech-related-list a {
    font-size: 15px;
    font-weight: 600;
    color: #822732;
    text-decoration: none !important;
}

.klab-tech-related-list a:hover {
    text-decoration: underline !important;
}

.klab-tech-backlink {
    display: inline-block;
    font-size: 14px;
    font-weight: 600;
    color: #555;
    text-decoration: none !important;
}

.klab-tech-backlink:hover {
    color: #822732;
}

/* ── 단일 글 본문 타이포 (본문 15px / 섹션 제목 17px 고정) ── */
body.single-technology .entry-content > p,
body.single-technology .entry-content > .wp-block-list li {
    font-size: 15px !important;
    line-height: 1.75;
}

body.single-technology .entry-content > h2 {
    font-size: 17px !important;
    line-height: 1.4;
    margin-top: 1.8em;
}

body.single-technology .entry-content > h3 {
    font-size: 16px !important;
    line-height: 1.4;
}

/* 본문 내 참고 그림(SVG figure) */
body.single-technology .klab-tech-figure {
    margin: 28px 0;
    text-align: center;
}

body.single-technology .klab-tech-figure svg {
    max-width: 100%;
    height: auto;
}

body.single-technology .klab-tech-figcaption {
    font-size: 13px;
    color: #888;
    margin-top: 10px;
    font-style: italic;
}

/* ── 단일 글 제목: 흰색이라 흰 배경에서 안 보임 → 버건디 + 22px ── */
body.single-technology .entry-header .entry-title,
body.single-technology .entry-header.technology-title .entry-title {
    color: #822732 !important;
    font-size: 22px !important;
    line-height: 1.35 !important;
}

/* ── 흰 콘텐츠 박스 상/하 여백 (콘텐츠가 박스 가장자리에 붙는 문제) ── */
body.single-technology .content-bg.single-entry {
    padding-top: 48px !important;
    padding-bottom: 56px !important;
}

@media ( max-width: 1024px ) {
    .klab-tech-grid {
        grid-template-columns: repeat( 2, 1fr );
    }
}

@media ( max-width: 600px ) {
    .klab-tech-grid {
        grid-template-columns: 1fr;
    }
    .klab-tech-hero {
        padding: 40px 20px 36px;
    }
    .klab-tech-hero-title {
        font-size: 26px;
    }
}

/* =========================================
   관련문헌 (Publications) — [klab_publications]
   ========================================= */
.klab-pubs { max-width: 1400px; margin: 0 auto; }

/* 히어로 — Technology 허브와 동일한 회색 full-bleed 밴드 */
.klab-pubs-hero {
    background: #f5f5f5;
    width: 100vw;
    margin-left: calc( 50% - 50vw );
    margin-right: calc( 50% - 50vw );
    padding: 56px 24px 48px;
    text-align: center;
    margin-bottom: 40px;
}
.klab-pubs-hero-inner { max-width: 900px; margin: 0 auto; }
.klab-pubs-hero-title { font-size: 32px; font-weight: 400; color: #222; margin: 0 0 12px; }
.klab-pubs-hero-sub { font-size: 15px; line-height: 1.6; color: #666; max-width: 620px; margin: 0 auto; }

.klab-pubs-filter {
    border: 1px solid #e3e3e3;
    border-radius: 4px;
    overflow: hidden;
    margin: 0 0 28px;
}
.klab-pubs-frow {
    display: flex;
    border-bottom: 1px solid #ececec;
}
.klab-pubs-frow:last-child { border-bottom: 0; }
.klab-pubs-flabel {
    flex: 0 0 120px;
    background: #f7f4f5;
    color: #822732;
    font-weight: 700;
    font-size: 14px;
    display: flex;
    align-items: center;
    padding: 14px 20px;
    border-right: 1px solid #ececec;
}
.klab-pubs-fopts {
    flex: 1 1 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 22px;
    padding: 14px 22px;
    align-items: center;
}
.klab-pubs-fopts label {
    font-size: 14px;
    color: #333;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    white-space: nowrap;
}
.klab-pubs-fopts input[type="checkbox"] { accent-color: #822732; }
.klab-pubs-search { gap: 10px; }
.klab-pubs-search input[type="text"] {
    flex: 1 1 320px;
    max-width: 420px;
    height: 42px;
    padding: 0 14px;
    border: 1px solid #cfcfcf;
    border-radius: 4px;
    font-size: 14px;
}
.klab-pubs-btn {
    height: 42px;
    padding: 0 26px;
    background: #822732;
    color: #fff;
    border: 0;
    border-radius: 100px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
}
.klab-pubs-btn:hover { box-shadow: 3px 3px 0 0 rgba(0,0,0,.4); }
.klab-pubs-reset { font-size: 13px; color: #822732; text-decoration: underline; }

.klab-pubs-total {
    text-align: center;
    font-size: 16px;
    color: #444;
    margin: 0 0 20px;
}
.klab-pubs-total strong { color: #822732; }

.klab-pubs-list { list-style: decimal; margin: 0; padding: 0 0 0 8px; }
.klab-pubs-item {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas: "title link" "meta link";
    gap: 4px 24px;
    align-items: center;
    padding: 18px 8px 18px 12px;
    border-bottom: 1px solid #ececec;
}
.klab-pubs-title { grid-area: title; font-size: 15px; font-weight: 600; color: #222; line-height: 1.45; }
.klab-pubs-meta  { grid-area: meta; font-size: 13px; color: #777; display: flex; flex-wrap: wrap; gap: 4px 16px; }
.klab-pubs-cat   { color: #822732; font-weight: 600; }
.klab-pubs-link {
    grid-area: link;
    align-self: center;
    display: inline-block;
    padding: 8px 22px;
    background: #822732;
    color: #fff !important;
    border-radius: 100px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}
.klab-pubs-link:hover { box-shadow: 3px 3px 0 0 rgba(0,0,0,.3); }

.klab-pubs-pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    margin: 32px 0 0;
}
.klab-pubs-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    padding: 0 10px;
    border: 1px solid #d8d8d8;
    border-radius: 4px;
    font-size: 14px;
    color: #444;
    text-decoration: none;
}
.klab-pubs-pagination .page-numbers.current {
    background: #822732;
    border-color: #822732;
    color: #fff;
}
.klab-pubs-pagination a.page-numbers:hover { border-color: #822732; color: #822732; }
.klab-pubs-none { text-align: center; padding: 40px 0; color: #777; }

@media (max-width: 767px) {
    .klab-pubs-frow { flex-direction: column; }
    .klab-pubs-flabel { flex-basis: auto; padding: 10px 16px; }
    .klab-pubs-item { grid-template-columns: 1fr; grid-template-areas: "title" "meta" "link"; }
    .klab-pubs-link { justify-self: start; }
}


/* ============================================================
   파트너 포털 (Partner Portal) — /partner
   톤: 버건디 #822732 + 주황 액센트 #f76a0c, 카드 6px + soft shadow + hover lift
   ========================================================== */
.klab-partner-portal{max-width:100%;margin:0;padding:8px 0 64px}
/* 포털 페이지: 테마 페이지 히어로(배경이미지+'파트너' 타이틀) 제거 */
.klab-partner-page .entry-hero,.klab-partner-page .entry-header.page-title{display:none!important}
/* 폭: 컨테이너 1400 강제 + boxed 박스(흰 카드/그림자/패딩) 제거 */
.klab-partner-page .content-container.site-container{max-width:1400px!important;margin-left:auto;margin-right:auto}
.klab-partner-page .entry.single-entry{background:transparent;box-shadow:none}
.klab-partner-page .entry-content-wrap{padding-left:0;padding-right:0}
/* 콘텐츠 영역 안 테마 기본 리스트 마진 제거 (좌측 메뉴·파일 목록 정렬 깨짐 방지) */
.klab-partner-portal ul{list-style:none;margin:0;padding:0}
.klab-partner-portal li{margin:0;padding:0}

.klab-partner-badge{display:inline-block;background:rgba(255,255,255,.18);color:#fff;font-size:11px;font-weight:700;letter-spacing:.02em;padding:2px 9px;border-radius:100px}
.klab-partner-badge-admin{background:#f76a0c}

/* 좌우 레이아웃 */
.klab-portal-layout{display:flex;gap:30px;align-items:flex-start}

/* 좌측 네비 (카드) */
.klab-portal-nav{flex:0 0 240px;background:#fff;border:1px solid #e2e2e2;border-radius:4px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.klab-portal-user{padding:20px 16px;background:#822732;color:#fff;text-align:center}
.klab-portal-uname{display:block;font-weight:700;font-size:17px;line-height:1.3;margin-bottom:8px}
.klab-portal-user .klab-partner-badge{margin-right:5px}
.klab-portal-mi + .klab-portal-mi{border-top:1px solid #eee}
.klab-portal-mi a,.klab-portal-mi.is-soon span{display:block;padding:13px 18px;font-size:14.5px;line-height:1.2;text-decoration:none}
.klab-portal-mi a{color:#333}
.klab-portal-mi a:hover{background:#faf6f7;color:#822732}
.klab-portal-mi.is-active a{background:#faf6f7;color:#822732;font-weight:700;box-shadow:inset 4px 0 0 #822732}
.klab-portal-mi.is-soon span{color:#bbb;cursor:default}
.klab-portal-mi.is-soon em{font-style:normal;font-size:10px;font-weight:700;background:#eee;color:#999;padding:2px 7px;border-radius:100px;margin-left:6px;vertical-align:middle}
.klab-portal-logoutbtn{display:block;text-align:center;padding:14px;background:#822732;color:#fff;font-weight:600;font-size:14px;letter-spacing:.02em;text-decoration:none;transition:background .15s}
.klab-portal-logoutbtn:hover{background:#6e1f29;color:#fff}

/* 우측 콘텐츠 */
.klab-portal-content{flex:1 1 auto;min-width:0}
.klab-portal-title{margin:0 0 22px;font-size:24px;font-weight:700;color:#1a202c;padding-bottom:12px;border-bottom:2px solid #822732}
.klab-portal-prodsel{margin:0 0 24px}
.klab-portal-prodsel label{font-weight:700;color:#444;font-size:14px;margin-right:10px}
.klab-portal-prodsel select{padding:9px 14px;border:1px solid #d6d6d6;border-radius:6px;font-size:15px;min-width:260px;background:#fff}
.klab-portal-soon{color:#777;padding:40px 28px;background:#fafafa;border:1px dashed #ddd;border-radius:8px;text-align:center}

/* 제품 자료 */
.klab-partner-model{margin:0}
.klab-partner-model-name{margin:0 0 6px;font-size:20px;font-weight:700;color:#822732}
.klab-partner-type{margin:0 0 22px}
.klab-partner-type-name{margin:18px 0 10px;font-size:12px;font-weight:700;color:#f76a0c;text-transform:uppercase;letter-spacing:.06em}
.klab-partner-file{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;margin-bottom:10px;background:#fff;border:1px solid #ececec;border-radius:6px;box-shadow:0 2px 6px rgba(0,0,0,.04);transition:box-shadow .15s,transform .15s}
.klab-partner-file:hover{box-shadow:0 8px 18px rgba(0,0,0,.10);transform:translateY(-1px)}
.klab-pf-info{display:flex;flex-direction:column;gap:3px;min-width:0}
.klab-pf-title{font-weight:600;color:#1a202c}
.klab-pf-desc{font-size:13px;color:#777}
.klab-pf-dl{flex:none;display:inline-block;background:#822732;color:#fff;font-size:14px;font-weight:600;padding:9px 26px;border-radius:100px;text-decoration:none;transition:box-shadow .15s}
.klab-pf-dl:hover{box-shadow:3px 3px 0 0 rgba(0,0,0,.4);color:#fff}
.klab-pf-nofile{color:#aaa;font-size:13px}
.klab-partner-empty{color:#777;padding:20px 0}

/* 게스트 로그인 (가운데 카드) */
.klab-partner-guest{max-width:100%}
.klab-login-card{max-width:420px;margin:40px auto;padding:36px 32px;background:#fff;border:1px solid #e2e2e2;border-radius:6px;box-shadow:0 4px 14px rgba(0,0,0,.06);text-align:center}
.klab-login-card h2{color:#822732;margin:0 0 10px}
.klab-login-card>p{color:#555;margin:0 0 18px}
.klab-login-card form{text-align:left}
.klab-login-card .login-username,.klab-login-card .login-password{margin:0 0 14px}
.klab-login-card .login-username label,.klab-login-card .login-password label{display:block;font-weight:600;font-size:14px;margin:0 0 5px}
.klab-login-card input[type=text],.klab-login-card input[type=password]{width:100%;padding:11px 13px;border:1px solid #ccc;border-radius:6px;box-sizing:border-box}
.klab-login-card .login-remember{font-size:13px;color:#555;margin:0 0 14px}
.klab-login-card .login-submit input{width:100%}
.klab-login-lost{margin:18px 0 0;font-size:13px}
.klab-login-lost a{color:#822732}

@media(max-width:782px){.klab-portal-layout{flex-direction:column;gap:18px}.klab-portal-nav{flex:none;width:100%}}
@media(max-width:600px){.klab-partner-file{flex-direction:column;align-items:flex-start;gap:10px}}

/* ----- 파트너 포털: 트러블슈팅 게시판 (4709-2 카드 그리드 톤) ----- */
.klab-ts-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.klab-ts-chip{display:inline-block;padding:5px 15px;border-radius:100px;border:1px solid #d8d8d8;color:#822732;font-size:13px;font-weight:600;text-decoration:none;transition:all .15s}
.klab-ts-chip:hover{background:#faf6f7;color:#822732;border-color:#822732}
.klab-ts-chip.is-active{background:#822732;border-color:#822732;color:#fff}
.klab-ts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.klab-ts-card{background:#fff;border:1px solid #e6e6e6;border-radius:6px;overflow:hidden;box-shadow:0 2px 6px rgba(0,0,0,.04);transition:box-shadow .15s,transform .15s}
.klab-ts-card:hover{box-shadow:0 10px 22px rgba(0,0,0,.10);transform:translateY(-2px)}
.klab-ts-cardlink{display:block;color:inherit;text-decoration:none}
.klab-ts-thumb{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;background:#f6f6f6;padding:12px;box-sizing:border-box}
.klab-ts-thumb-empty{background:repeating-linear-gradient(45deg,#f3f3f3,#f3f3f3 10px,#efefef 10px,#efefef 20px)}
.klab-ts-body{padding:16px 18px}
.klab-ts-prod{font-size:11px;font-weight:700;color:#822732;text-transform:uppercase;letter-spacing:.04em}
.klab-ts-title{margin:6px 0 8px;font-size:16px;font-weight:700;color:#1a202c;line-height:1.35}
.klab-ts-ex{margin:0;font-size:13px;color:#777;line-height:1.5}
.klab-ts-single .klab-ts-back{display:inline-block;margin:0 0 18px;color:#822732;text-decoration:none;font-size:14px;font-weight:600}
.klab-ts-single-prod{font-size:12px;font-weight:700;color:#822732;text-transform:uppercase;letter-spacing:.04em}
.klab-ts-single h3{margin:6px 0 18px;font-size:26px;color:#1a202c;line-height:1.3}
.klab-ts-single-thumb{max-width:440px;margin:0 0 22px}
.klab-ts-single-thumb img{width:100%;height:auto;border-radius:6px}
.klab-ts-content{font-size:15px;line-height:1.75;color:#333}
@media(max-width:980px){.klab-ts-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.klab-ts-grid{grid-template-columns:1fr}}

/* ----- Troubleshooting 단일글: Quick Contact Support 우측 고정 ----- */
.klab-tsq{display:flex;gap:36px;align-items:flex-start}
.klab-tsq-main{flex:1 1 auto;min-width:0}
.klab-tsq-side{flex:0 0 330px;position:sticky;top:100px;background:#f6f4f5;border:1px solid #e6dfe0;border-radius:8px;padding:24px 22px}
.klab-tsq-title{margin:0 0 14px;font-size:18px;font-weight:700;color:#822732}
@media(max-width:960px){.klab-tsq{flex-direction:column}.klab-tsq-side{flex:none;width:100%;position:static}}

/* ============================================================
   모바일 헤더/메뉴 수정 (홈 투명헤더가 모바일에서 일으키는 문제)
   ========================================================== */
@media (max-width: 1024px){
  /* 1) 흰 모바일 헤더에서 로고가 흰색 처리되어 안 보이는 문제 → 버건디 강제 */
  body.mobile-non-transparent-header .kadence-transparent-logo svg,
  body.mobile-non-transparent-header .kadence-transparent-logo svg *,
  body.mobile-non-transparent-header .site-branding .custom-logo svg *{
    fill: #822732 !important;
  }
  body.mobile-non-transparent-header .site-branding img.custom-logo{
    filter: none !important;
    opacity: 1 !important;
  }
}
/* 2) 모바일 메뉴(드로어): 솔리드 흰 배경 + 최상위 z-index (히어로 비침/가림 방지) */
.mobile-drawer .drawer-inner,
.mobile-drawer .drawer-content.mobile-drawer-content{
  background: #ffffff !important;
}
.mobile-drawer{ z-index: 99999 !important; }
.mobile-drawer .drawer-overlay{ background: rgba(0,0,0,0.5) !important; }

/* 홈 모바일 헤더 로고 강제 표시 (transparent-header가 #mobile-header 로고까지 흰색/숨김 처리하는 문제) */
@media (max-width: 1024px){
  body.transparent-header #mobile-header .site-branding img,
  body.transparent-header #mobile-header .site-branding img.custom-logo{
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
  }
  body.transparent-header #mobile-header .site-branding svg,
  body.transparent-header #mobile-header .site-branding svg *{
    fill: #822732 !important;
    color: #822732 !important;
  }
}

/* 모바일 메뉴 드로어: 좌우 꽉차게 + 흰 배경 (사이드패널 폭 제한/어두운 띠 제거) */
@media (max-width: 1024px){
  #mobile-drawer.popup-drawer-layout-sidepanel .drawer-inner{
    width: 100% !important;
    max-width: 100% !important;
  }
  #mobile-drawer .drawer-inner,
  #mobile-drawer .drawer-content,
  #mobile-drawer .mobile-drawer-content{
    background: #ffffff !important;
  }
}

/* 모바일 메뉴 글자색 진하게 (흰 배경에서 안 보이는 문제) */
@media (max-width: 1024px){
  #mobile-drawer .mobile-navigation a,
  #mobile-drawer .mobile-navigation a span,
  #mobile-drawer .mobile-navigation .sub-menu a,
  #mobile-drawer .drawer-sub-toggle{ color:#333333 !important; }
  #mobile-drawer .drawer-sub-toggle svg{ fill:#333333 !important; }
}

/* 모바일 메뉴 서브메뉴 글자크기 통일 (서브/서브-서브 동일) */
@media (max-width: 1024px){
  #mobile-drawer .mobile-navigation .sub-menu a{ font-size: 15px !important; }
  #mobile-drawer .mobile-navigation > ul > li > a{ font-size: 16px !important; }
}
