/* === RESET & BASE === */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font-body);font-size:15px;line-height:1.7;color:var(--color-text);background:var(--color-bg)}
img{max-width:100%;height:auto;display:block}
a{color:var(--color-primary);text-decoration:none;transition:color .2s}
a:hover{color:var(--color-primary-hover)}
ul,ol{list-style:none}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.3;color:var(--color-text)}
h1{font-size:2rem}
h2{font-size:1.5rem}
h3{font-size:1.25rem}
h4{font-size:1.05rem}
p{margin-bottom:1rem}
button{cursor:pointer;border:none;background:none;font-family:inherit}
input,textarea,select{font-family:inherit;font-size:inherit}

/* === CONTAINER === */
.stb-container{max-width:var(--container-width);margin:0 auto;padding:0 24px}

/* === LAYOUT (main + sidebar) === */
.stb-layout{display:grid;grid-template-columns:1fr var(--sidebar-width);gap:32px}
.stb-main{min-width:0}
.stb-sidebar{min-width:0;position:static}

/* === GRIDS === */
.stb-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.stb-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}

/* === CARD BASE === */
.stb-card{background:var(--color-card-bg);border-radius:var(--radius);overflow:hidden;transition:box-shadow .3s}
.stb-card:hover{box-shadow:0 4px 20px rgba(0,0,0,.08)}
.stb-card-img{position:relative;overflow:hidden}
.stb-card-img img{width:100%;height:auto;object-fit:cover;transition:transform .4s}
.stb-card:hover .stb-card-img img{transform:scale(1.05)}
.stb-card-body{padding:16px}
.stb-card-title{font-size:1.05rem;font-weight:600;line-height:1.4;margin-bottom:8px}
.stb-card-title a{color:var(--color-text)}
.stb-card-title a:hover{color:var(--color-primary)}
.stb-card-excerpt{font-size:.875rem;color:var(--color-text-secondary);line-height:1.6;margin-bottom:8px}
.stb-card-meta{font-size:.75rem;color:var(--color-text-light);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.stb-card-meta a{color:var(--color-text-light)}
.stb-card-meta a:hover{color:var(--color-primary)}

/* === CATEGORY BADGE === */
.stb-badge{display:inline-block;padding:3px 10px;border-radius:3px;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#fff;line-height:1.4}

/* === SIDEBAR WIDGETS === */
.stb-widget{margin-bottom:24px}
.stb-widget-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding-bottom:10px;margin-bottom:16px;border-bottom:3px solid var(--color-text);color:var(--color-text)}

/* === SIDEBAR TABS === */
.stb-tabs .stb-tab-nav{display:flex;border-bottom:2px solid var(--color-border);margin-bottom:16px}
.stb-tabs .stb-tab-nav li{flex:1}
.stb-tabs .stb-tab-nav a{display:block;text-align:center;padding:10px 8px;font-size:.82rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .2s,border-color .2s}
.stb-tabs .stb-tab-nav a.stb-tab-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}
.stb-tab-content{display:none}
.stb-tab-content.stb-tab-active{display:block}

/* === SIDEBAR TAB POSTS === */
.stb-tab-post{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--color-border)}
.stb-tab-post:last-child{border-bottom:none}
.stb-tab-post-thumb{flex-shrink:0;width:94px;height:70px;border-radius:var(--radius-sm);overflow:hidden}
.stb-tab-post-thumb img{width:100%;height:100%;object-fit:cover}
.stb-tab-post-body{flex:1;min-width:0}
.stb-tab-post-meta{font-size:.7rem;color:var(--color-text-light);margin-bottom:4px}
.stb-tab-post-meta a{color:var(--color-text-light)}
.stb-tab-post-meta a:hover{color:var(--color-primary)}
.stb-tab-post-title{font-size:.85rem;font-weight:600;line-height:1.35}
.stb-tab-post-title a{color:var(--color-text)}
.stb-tab-post-title a:hover{color:var(--color-primary)}

/* === CATEGORY LIST (sidebar) === */
.stb-cat-list li{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--color-border);font-size:.88rem}
.stb-cat-list li:last-child{border-bottom:none}
.stb-cat-list a{color:var(--color-text);font-weight:500}
.stb-cat-list a:hover{color:var(--color-primary)}
.stb-cat-count{font-size:.75rem;color:var(--color-text-light);background:#f4f4f4;padding:2px 8px;border-radius:10px}

/* === BREADCRUMBS === */
.stb-breadcrumbs{font-size:.8rem;color:var(--color-text-secondary);padding:8px 0}
.stb-breadcrumbs a{color:var(--color-text-secondary)}
.stb-breadcrumbs a:hover{color:var(--color-primary)}
.stb-sep{margin:0 6px;color:var(--color-text-light)}

/* === ARCHIVE HEADER === */
.stb-archive-header{background:#f8f9fa;padding:20px 0;margin-bottom:5px}
.stb-archive-header h1{font-size:1.5rem;font-weight:700;margin-bottom:4px}

/* === PAGINATION === */
.stb-pagination{margin-top:32px;display:flex;justify-content:center;gap:6px;flex-wrap:wrap}
.stb-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;color:var(--color-text);transition:all .2s}
.stb-pagination .page-numbers:hover{border-color:var(--color-primary);color:var(--color-primary)}
.stb-pagination .page-numbers.current{background:var(--color-primary);border-color:var(--color-primary);color:#fff}

/* === BACK TO TOP === */
.stb-back-to-top{position:fixed;bottom:24px;right:24px;width:44px;height:44px;border-radius:50%;background:var(--color-primary);color:#fff;font-size:1.2rem;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .3s;z-index:999;box-shadow:0 2px 10px rgba(0,0,0,.15)}
.stb-back-to-top.visible{opacity:1;visibility:visible}
.stb-back-to-top:hover{background:var(--color-primary-hover);transform:translateY(-2px)}

/* === SEARCH OVERLAY === */
.stb-search-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .3s}
.stb-search-overlay.active{opacity:1;visibility:visible}
.stb-search-overlay form{display:flex;width:90%;max-width:600px;gap:0}
.stb-search-overlay input[type="search"]{flex:1;padding:16px 20px;font-size:1.1rem;border:none;border-radius:var(--radius) 0 0 var(--radius);outline:none}
.stb-search-overlay button[type="submit"]{padding:16px 24px;background:var(--color-primary);color:#fff;font-weight:600;border-radius:0 var(--radius) var(--radius) 0;font-size:.95rem;transition:background .2s}
.stb-search-overlay button[type="submit"]:hover{background:var(--color-primary-hover)}
.stb-search-close{position:absolute;top:32px;right:32px;color:#fff;font-size:2.5rem;line-height:1;background:none;border:none}

/* === SECTION === */
.stb-section{padding:32px 0}

/* === RESPONSIVE === */
@media(max-width:1024px){
    .stb-layout{grid-template-columns:1fr var(--sidebar-width);gap:24px}
    .stb-grid-3{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
    .stb-layout{grid-template-columns:1fr;gap:0}
    .stb-sidebar{margin-top:32px}
    .stb-grid-2{grid-template-columns:1fr}
    .stb-grid-3{grid-template-columns:1fr}
    .stb-container{padding:0 16px}
    h1{font-size:1.5rem}
    h2{font-size:1.25rem}
}
@media(max-width:480px){
    body{font-size:14px}
    .stb-card-body{padding:12px}
    .stb-section{padding:24px 0}
}
