/* Blanding Smart Board */
.bl-board-container .bl-form-group{margin:20px 0}
.bl-board-container .bl-form-group>label{display:block;margin-bottom:8px;font-weight:600}
.bl-board-container .bl-form-group input:not([type=checkbox]):not([type=radio]):not([type=file]),.bl-board-container .bl-form-group textarea,.bl-board-container .bl-form-group select{display:block;width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid #cdd4e0;border-radius:7px;background:#fff;color:#222c3e;font-size:16px}
.bl-board-container .bl-form-group textarea{resize:vertical;min-height:220px}
.bl-board-container .bl-form-group input[type=file]{width:100%;font-size:14px}
.bl-board-container .bl-write-form h2{margin-bottom:22px}
.bl-board-container .bl-btn-submit-post{cursor:pointer;margin-right:16px}
.bl-board-container .bl-form-options{display:flex;flex-wrap:wrap;gap:14px;margin:20px 0}
.bl-board-container {
    max-width: 1000px;
    margin: 30px auto;
    font-family: -apple-system, BlinkMacSystemFont, "Pretendard", "Segoe UI", sans-serif;
    color: #1e293b;
}

/* Header & Categories */
.bl-board-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    flex-wrap: wrap;
    gap: 12px;
}
.bl-board-categories {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}
.bl-cat-pill {
    padding: 6px 14px;
    border-radius: 999px;
    background: #f1f5f9;
    color: #475569 !important;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
    transition: all 0.2s ease;
}
.bl-cat-pill.is-active, .bl-cat-pill:hover {
    background: #0f172a;
    color: #fff !important;
}
.bl-search-form {
    display: flex;
    gap: 6px;
}
.bl-search-form input {
    padding: 8px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    font-size: 13px;
}
.bl-search-form button {
    padding: 8px 14px;
    background: #334155;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 13px;
    cursor: pointer;
}

/* Table Skin */
.bl-board-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border-top: 2px solid #0f172a;
}
.bl-board-table th {
    background: #f8fafc;
    padding: 12px 14px;
    font-size: 13px;
    font-weight: 700;
    color: #475569;
    border-bottom: 1px solid #e2e8f0;
    text-align: center;
}
.bl-board-table td {
    padding: 14px;
    font-size: 14px;
    border-bottom: 1px solid #f1f5f9;
    text-align: center;
}
.bl-board-table td.bl-col-title {
    text-align: left;
}
.bl-title-link {
    color: #0f172a !important;
    text-decoration: none !important;
    font-weight: 600;
}
.bl-title-link:hover {
    color: #2563eb !important;
}
.bl-badge-notice {
    background: #ef4444;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    padding: 2px 6px;
    border-radius: 4px;
}
.bl-badge-status {
    font-size: 11px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 4px;
    margin-right: 6px;
}
.status-complete { background: #dcfce7; color: #15803d; }
.status-pending { background: #fef3c7; color: #b45309; }
.bl-comment-count { color: #2563eb; font-size: 12px; font-weight: 700; }

/* Gallery Skin */
.bl-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
}
.bl-gallery-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.04);
    transition: transform 0.2s ease;
}
.bl-gallery-card:hover { transform: translateY(-4px); }
.bl-card-link { text-decoration: none !important; color: inherit; }
.bl-card-thumb img { width: 100%; height: 180px; object-fit: cover; }
.bl-card-info { padding: 14px; }
.bl-card-title { margin: 0 0 8px 0; font-size: 15px; font-weight: 700; color: #0f172a; }
.bl-card-meta { display: flex; justify-content: space-between; font-size: 12px; color: #94a3b8; }

/* FAQ Accordion Skin */
.bl-faq-accordion { border-top: 2px solid #0f172a; }
.bl-faq-item { border-bottom: 1px solid #e2e8f0; }
.bl-faq-question {
    display: flex;
    align-items: center;
    padding: 16px;
    cursor: pointer;
    background: #fff;
}
.bl-faq-q-badge {
    background: #2563eb;
    color: #fff;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 800;
    margin-right: 12px;
}
.bl-faq-question h4 { margin: 0; font-size: 15px; font-weight: 700; flex: 1; }
.bl-faq-arrow { font-size: 12px; color: #94a3b8; transition: transform 0.2s; }
.bl-faq-item.is-open .bl-faq-arrow { transform: rotate(180deg); }
.bl-faq-answer {
    display: flex;
    padding: 16px 20px 20px 20px;
    background: #f8fafc;
    border-top: 1px solid #f1f5f9;
}
.bl-faq-a-badge {
    background: #10b981;
    color: #fff;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 800;
    margin-right: 12px;
}
.bl-faq-text { font-size: 14px; line-height: 1.6; color: #334155; }

/* Footer & Write */
.bl-board-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 24px;
}
.bl-btn-write {
    background: #2563eb;
    color: #fff !important;
    padding: 10px 20px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none !important;
}

/* Single Post View */
.bl-single-post { background: #fff; padding: 30px; border: 1px solid #e2e8f0; border-radius: 10px; }
.bl-post-header { border-bottom: 2px solid #0f172a; padding-bottom: 16px; margin-bottom: 24px; }
.bl-post-header h2 { margin: 0 0 10px 0; font-size: 24px; color: #0f172a; }
.bl-post-meta { display: flex; gap: 16px; font-size: 13px; color: #64748b; }
.bl-post-body { font-size: 15px; line-height: 1.8; color: #334155; min-height: 150px; margin-bottom: 30px; }
.bl-post-like-center { text-align: center; margin: 30px 0; }
.bl-btn-like {
    background: #f1f5f9;
    border: 1px solid #cbd5e1;
    padding: 12px 24px;
    font-size: 15px;
    font-weight: 700;
    border-radius: 999px;
    cursor: pointer;
    transition: all 0.2s ease;
}
.bl-btn-like:hover { background: #fee2e2; border-color: #ef4444; color: #dc2626; }

/* Comments */
.bl-comments-section { border-top: 1px solid #e2e8f0; padding-top: 24px; margin-top: 30px; }
.bl-comment-item { padding: 14px; background: #f8fafc; border-radius: 8px; margin-bottom: 12px; }
.bl-comment-item.is-admin-reply { background: #eff6ff; border-left: 4px solid #2563eb; }
.bl-badge-admin-reply { background: #2563eb; color: #fff; font-size: 11px; font-weight: 800; padding: 2px 6px; border-radius: 4px; margin: 0 6px; }
.bl-comment-form textarea { width: 100%; padding: 10px; border: 1px solid #cbd5e1; border-radius: 6px; margin-top: 10px; box-sizing: border-box; }
.bl-btn-comment-submit { margin-top: 8px; background: #0f172a; color: #fff; padding: 10px 18px; border: none; border-radius: 6px; font-weight: 700; cursor: pointer; }
.bl-post-footer-nav { margin-top: 30px; border-top: 1px solid #f1f5f9; padding-top: 16px; }
.bl-btn-back { color: #64748b; text-decoration: none; font-weight: 600; font-size: 14px; }
/* Shared board styles: three treatments across five layout skins. */
.bl-board-container{--bb-accent:#286c58;--bb-bg:#fff;--bb-line:#dce5df;--bb-text:#203a32;max-width:1120px;margin:40px auto;color:var(--bb-text);font-family:inherit;background:var(--bb-bg);border:1px solid var(--bb-line);padding:32px;border-radius:8px;font-size:15px;line-height:1.7}.bl-board-container.tone-sage{--bb-bg:#eff6f0;--bb-line:#c5d9cb;--bb-accent:#356649}.bl-board-container.tone-editorial{--bb-bg:#faf8f3;--bb-line:#d9d4c9;--bb-accent:#675844;border-radius:0}.bl-board-container button,.bl-board-container input,.bl-board-container select,.bl-board-container textarea{font:inherit}.bl-board-container .bl-btn-write,.bl-board-container .bl-btn-submit-post,.bl-board-container .bl-btn-comment-submit,.bl-board-container .bl-search-form button{background:var(--bb-accent);color:#fff;border:0;border-radius:4px;padding:10px 18px}.bl-board-container .bl-faq-question{width:100%;border:0;text-align:left;background:transparent;color:var(--bb-text);cursor:pointer}.bl-board-container :focus-visible{outline:2px solid var(--bb-accent);outline-offset:4px}.bl-board-container .blbw-thumb-placeholder{display:grid;place-items:center;height:200px;background:#e4eee7;font-size:54px;color:#426e55}.blbw-files{list-style:none;padding:0;border-top:1px solid var(--bb-line)}.blbw-files a{display:flex;justify-content:space-between;gap:16px;padding:14px 0}.blbw-files small{white-space:nowrap;color:#64766a}.bl-board-container .bl-no-posts{padding:44px 16px!important;color:#68786c}.bl-board-container .bl-board-table{width:100%}.bl-board-container .bl-card-title,.bl-board-container .bl-webzine-content h3{font-size:20px;line-height:1.5}.bl-board-container .bl-faq-question h4{font-size:17px;line-height:1.6;margin:0}.bl-board-container .bl-post-body{overflow-wrap:anywhere}.bl-board-container .bl-post-body img{max-width:100%;height:auto}@media(max-width:640px){.bl-board-container{margin:24px 12px;padding:20px 16px}.bl-board-container .bl-board-header{flex-direction:column;align-items:stretch}.bl-board-container .bl-search-form{display:flex;width:100%}.bl-board-container .bl-search-form input{min-width:0;flex:1}.bl-board-container .bl-gallery-grid{grid-template-columns:1fr}.bl-board-container .bl-col-author,.bl-board-container .bl-col-views{display:none}.blbw-files a{display:block}.blbw-files small{display:block}}

.blbw-page-content>p{margin:14px 24px;line-height:1.8}.bl-board-container .bl-faq-q-badge,.bl-board-container .bl-faq-a-badge{background:var(--bb-accent);flex-shrink:0}.bl-board-container .bl-faq-answer{background:var(--bb-bg)}.bl-board-container .bl-faq-question{padding:18px 12px}.bl-board-container .bl-faq-question h4{font-weight:600}.blbw-page-content a{color:#286c58}

/* -------------------------------------------------------------
 * Blanding Board v2.8.0 Additions: Latest Widget, Card Skin & Lightbox
 * ------------------------------------------------------------- */
.bl-latest-posts-widget { background:#fff; border:1px solid #e2e8f0; border-radius:12px; padding:18px 20px; margin-bottom:24px; box-shadow:0 2px 8px rgba(0,0,0,0.03); }
.bl-latest-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; border-bottom:1.5px solid #f1f5f9; padding-bottom:10px; }
.bl-latest-title { font-size:16px; font-weight:800; color:#1e293b; margin:0; }
.bl-latest-more { font-size:12px; font-weight:700; color:#64748b; text-decoration:none; }
.bl-latest-more:hover { color:#2563eb; }
.bl-latest-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.bl-latest-item { display:flex; justify-content:space-between; align-items:center; font-size:14px; padding:6px 8px; border-radius:6px; transition:background 0.15s; }
.bl-latest-item:hover { background:#f8fafc; }
.bl-latest-link { display:flex; align-items:center; gap:6px; color:#334155; text-decoration:none; font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; flex:1; margin-right:12px; }
.bl-latest-link:hover { color:#2563eb; }
.bl-latest-item-title { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bl-latest-comment-cnt { font-size:11.5px; font-weight:700; color:#2563eb; }
.bl-badge-new { display:inline-block; font-size:10px; font-weight:800; color:#fff; background:#ef4444; padding:1px 5px; border-radius:4px; margin-left:4px; line-height:1.3; }
.bl-latest-date { font-size:12px; color:#94a3b8; white-space:nowrap; }
.bl-latest-empty { padding:16px; text-align:center; font-size:13px; color:#94a3b8; }

/* Card Feed Skin */
.bl-card-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:20px; margin-top:20px; }
.bl-feed-card { background:#fff; border:1px solid #e2e8f0; border-radius:14px; overflow:hidden; transition:transform 0.2s, box-shadow 0.2s; display:flex; flex-direction:column; }
.bl-feed-card:hover { transform:translateY(-3px); box-shadow:0 10px 25px rgba(0,0,0,0.06); border-color:#cbd5e1; }
.bl-feed-card-link { text-decoration:none; color:inherit; display:flex; flex-direction:column; height:100%; }
.bl-feed-card-thumb { position:relative; width:100%; aspect-ratio:16/10; overflow:hidden; background:#f1f5f9; }
.bl-feed-card-thumb img { width:100%; height:100%; object-fit:cover; transition:transform 0.3s; }
.bl-feed-card:hover .bl-feed-card-thumb img { transform:scale(1.04); }
.bl-feed-thumb-fallback { width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%); color:#fff; font-size:14px; font-weight:800; letter-spacing:1px; }
.bl-feed-badge { position:absolute; top:10px; left:10px; background:rgba(15,23,42,0.75); color:#fff; font-size:11px; font-weight:700; padding:3px 8px; border-radius:6px; backdrop-filter:blur(4px); }
.bl-feed-card-body { padding:16px; display:flex; flex-direction:column; flex:1; }
.bl-feed-card-title { font-size:16px; font-weight:700; color:#1e293b; margin:0 0 8px; line-height:1.4; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.bl-feed-card-snippet { font-size:13px; color:#64748b; line-height:1.5; margin:0 0 16px; flex:1; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.bl-feed-card-footer { display:flex; justify-content:space-between; align-items:center; border-top:1px solid #f1f5f9; padding-top:12px; font-size:12px; color:#94a3b8; }
.bl-feed-author-wrap { display:flex; align-items:center; gap:6px; color:#475569; font-weight:600; }
.bl-feed-avatar { width:20px; height:20px; border-radius:50%; background:#e2e8f0; color:#334155; display:inline-flex; align-items:center; justify-content:center; font-size:10px; font-weight:800; }
.bl-feed-stats { display:flex; gap:10px; font-weight:600; }

/* Social Share Bar */
.bl-post-share-bar { display:flex; align-items:center; gap:10px; margin:24px 0 32px; padding:14px 18px; background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; }
.bl-share-label { font-size:13px; font-weight:700; color:#475569; margin-right:4px; }
.bl-btn-share { display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:700; color:#334155; background:#fff; border:1px solid #cbd5e1; padding:7px 14px; border-radius:6px; cursor:pointer; transition:all 0.15s; }
.bl-btn-share:hover { background:#f1f5f9; border-color:#94a3b8; }

/* Image Lightbox */
.bl-lightbox-overlay { position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.85); z-index:999999; display:none; align-items:center; justify-content:center; padding:20px; }
.bl-lightbox-content { position:relative; max-width:90vw; max-height:90vh; }
.bl-lightbox-content img { max-width:100%; max-height:90vh; border-radius:8px; box-shadow:0 10px 40px rgba(0,0,0,0.5); object-fit:contain; }
.bl-lightbox-close { position:absolute; top:-36px; right:0; background:none; border:none; color:#fff; font-size:32px; cursor:pointer; line-height:1; }


/* --- v3.0.0 Skins: Review, Downloads, Notice, Admin Hero --- */
.bl-review-header-summary{display:flex;align-items:center;justify-content:center;background:#fbfcfb;border:1px solid #e2e8e4;border-radius:8px;padding:24px;margin-bottom:28px;text-align:center}
.bl-review-score-box{display:flex;flex-direction:column;align-items:center;gap:6px}
.bl-review-big-score{font-size:36px;font-weight:800;color:#285a40;line-height:1}
.bl-stars-display{color:#f59e0b;font-size:20px;letter-spacing:2px}
.bl-review-count{font-size:13px;color:#6b7280}

.bl-review-list{display:grid;gap:16px}
.bl-review-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;transition:box-shadow .2s}
.bl-review-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.05)}
.bl-review-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.bl-review-author-info{display:flex;align-items:center;gap:10px;font-size:13px}
.bl-review-stars{color:#f59e0b;font-weight:700}
.bl-verified-badge{background:#e6f4ea;color:#137333;font-size:11px;font-weight:600;padding:2px 8px;border-radius:12px}
.bl-review-date{color:#9ca3af}
.bl-review-author{font-size:13px;color:#4b5563;font-weight:500}
.bl-review-title{margin:0 0 10px;font-size:16px;font-weight:700}
.bl-review-title a{color:#1f2937;text-decoration:none}
.bl-review-title a:hover{text-decoration:underline}
.bl-review-body{display:flex;gap:16px}
.bl-review-thumb{width:90px;height:90px;flex-shrink:0;border-radius:6px;overflow:hidden}
.bl-review-thumb img{width:100%;height:100%;object-fit:cover}
.bl-review-snippet{margin:0;font-size:14px;color:#4b5563;line-height:1.6}

/* Downloads Skin */
.bl-downloads-table{width:100%;border-top:2px solid #285a40;display:grid}
.bl-downloads-header-row{display:grid;grid-template-columns:80px minmax(0,1fr) 100px 110px;padding:12px 14px;background:#f9fafb;font-size:13px;font-weight:700;color:#374151;border-bottom:1px solid #e5e7eb}
.bl-download-row{display:grid;grid-template-columns:80px minmax(0,1fr) 100px 110px;padding:16px 14px;align-items:center;border-bottom:1px solid #e5e7eb;font-size:14px}
.bl-download-row:hover{background:#fbfcfb}
.bl-file-badge{background:#e0f2fe;color:#0369a1;font-size:11px;font-weight:700;padding:3px 8px;border-radius:4px}
.bl-file-count-badge{display:inline-block;margin-left:8px;font-size:11px;color:#6b7280;background:#f3f4f6;padding:2px 6px;border-radius:4px}
.bl-dl-title-link{color:#1f2937;font-weight:600;text-decoration:none}
.bl-dl-title-link:hover{color:#285a40;text-decoration:underline}
.bl-btn-dl-direct{display:inline-block;padding:6px 12px;background:#285a40;color:#fff;border-radius:4px;font-size:12px;font-weight:600;text-decoration:none;text-align:center}
.bl-btn-dl-direct:hover{background:#1e4330;color:#fff}

/* Notice Skin */
.bl-notice-table{width:100%;border-top:2px solid #111827}
.bl-notice-header-row{display:grid;grid-template-columns:80px minmax(0,1fr) 110px 80px;padding:12px 14px;background:#f3f4f6;font-size:13px;font-weight:700;color:#111827;border-bottom:1px solid #d1d5db}
.bl-notice-row{display:grid;grid-template-columns:80px minmax(0,1fr) 110px 80px;padding:16px 14px;align-items:center;border-bottom:1px solid #e5e7eb;font-size:14px}
.bl-notice-row a{color:#111827;font-weight:500;text-decoration:none}
.bl-notice-row a:hover{text-decoration:underline}
.bl-notice-row.is-sticky-notice{background:#fff9f8;font-weight:700}
.bl-notice-row.is-sticky-notice a{color:#b91c1c;font-weight:700}
.bl-badge-pinned{background:#fee2e2;color:#b91c1c;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:700}
.bl-badge-normal{background:#f3f4f6;color:#4b5563;padding:3px 8px;border-radius:4px;font-size:11px}

/* Admin Dashboard Hero & Skins Guide */
.bl-admin-hero{background:linear-gradient(135deg,#285a40 0%,#193828 100%);color:#fff;padding:32px;border-radius:10px;margin:20px 0 24px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.bl-hero-badge{display:inline-block;background:rgba(255,255,255,.2);padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600;margin-bottom:8px}
.bl-admin-hero h1{color:#fff;margin:0 0 10px;font-size:24px}
.bl-admin-hero p{margin:0;font-size:14px;opacity:.9;max-width:640px;line-height:1.6}
.bl-hero-setup-btn{background:#fff!important;color:#285a40!important;border:none!important;font-size:15px!important;font-weight:700!important;padding:12px 24px!important;height:auto!important;border-radius:6px!important;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.2)!important}
.bl-hero-setup-btn:hover{background:#f0fdf4!important}
.bl-admin-skin-pill{display:inline-block;padding:2px 8px;background:#f3f4f6;border-radius:4px;font-size:12px}
.bl-skin-guide-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.bl-skin-guide-card h3{margin:0 0 8px;font-size:15px;color:#111827}
.bl-skin-guide-card p{margin:0 0 12px;font-size:13px;color:#6b7280;line-height:1.5}
.bl-skin-guide-card code{display:block;background:#f3f4f6;padding:6px 8px;border-radius:4px;font-size:12px;color:#285a40}
