/*
Theme Name: SOG-Knives.net Blog
Theme URI: https://www.sog-knives.net/
Author: SOG-Knives.net
Description: Blog theme matching the SOG-Knives.net storefront redesign (Bootstrap 5.3.8, SOG red #BD0000, charcoal #212120, paper #F9F9F9). Same top bar, header, red nav strip and footer as the store.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: sog-knives
*/

:root{
	--sog-red:#BD0000; --sog-red-dark:#8f0000; --sog-ink:#212120; --sog-paper:#F9F9F9; --sog-steel:#CBCBCB;
	--bs-link-color:#BD0000; --bs-link-color-rgb:189,0,0; --bs-link-hover-color:#8f0000; --bs-link-hover-color-rgb:143,0,0;
	--bs-body-font-family:Tahoma, "Segoe UI", Roboto, Arial, sans-serif;
	--bs-body-color:#212120; --bs-body-bg:#F9F9F9;
}
.font-display{font-family:Oswald, Impact, "Arial Narrow", sans-serif; letter-spacing:.02em; text-transform:uppercase;}
.btn-sog{--bs-btn-bg:#BD0000;--bs-btn-border-color:#BD0000;--bs-btn-color:#fff;--bs-btn-hover-bg:#8f0000;--bs-btn-hover-border-color:#8f0000;--bs-btn-hover-color:#fff;--bs-btn-active-bg:#7a0000;--bs-btn-active-border-color:#7a0000;}
.btn-outline-sog{--bs-btn-color:#BD0000;--bs-btn-border-color:#BD0000;--bs-btn-hover-bg:#BD0000;--bs-btn-hover-border-color:#BD0000;--bs-btn-hover-color:#fff;}

/* top utility bar */
.topbar{background:var(--sog-ink); color:#ddd; font-size:.8rem;}
.topbar a{color:#fff; text-decoration:none;}
.topbar .newsflash{min-width:0;}

/* header + logo */
.site-header{background:#fff; border-bottom:3px solid var(--sog-red);}
.brand{display:inline-flex; align-items:stretch; text-decoration:none; line-height:1;}
.brand-mark{background:var(--sog-red); color:#fff; font-family:Oswald, Impact, sans-serif; font-weight:700; font-size:2.3rem; padding:.35rem .9rem .35rem .7rem; clip-path:polygon(0 0,100% 0,86% 100%,0 100%); display:flex; align-items:center;}
.brand-text{display:flex; flex-direction:column; justify-content:center; padding-left:.35rem;}
.brand-name{font-family:Oswald, Impact, sans-serif; font-weight:700; font-size:1.65rem; color:var(--sog-ink); text-transform:uppercase; letter-spacing:.04em;}
.brand-name span{color:var(--sog-red);}
.brand-tag{font-size:.68rem; color:#666; text-transform:uppercase; letter-spacing:.14em; margin-top:.2rem;}
.search-box .form-control{border-color:var(--sog-ink); border-right:0;}
.search-box .form-control:focus{box-shadow:none; border-color:var(--sog-red);}
.search-box .btn{border-color:var(--sog-ink);}
.header-phone{font-size:1.15rem; font-weight:700; color:var(--sog-ink); text-decoration:none; white-space:nowrap;}

/* red nav strip */
.mainnav{background:var(--sog-red);}
.mainnav .nav-link{white-space:nowrap; color:#fff; font-family:Oswald, Impact, sans-serif; text-transform:uppercase; letter-spacing:.04em; padding:.55rem .9rem;}
.mainnav .nav-link:hover{background:var(--sog-red-dark); color:#fff;}

/* category sidebar */
.cat-panel{background:#fff; border:1px solid #e3e3e3; border-top:3px solid var(--sog-ink);}
.cat-panel h2{font-size:1rem; background:var(--sog-ink); color:#fff; margin:0; padding:.6rem .85rem;}
.cat-list a{display:block; padding:.42rem .85rem; color:var(--sog-ink); text-decoration:none; border-bottom:1px dashed #e0e0e0; font-size:.88rem;}
.cat-list a:hover{background:var(--sog-paper); color:var(--sog-red); padding-left:1.05rem;}
.cat-list a i{color:var(--sog-red); font-size:.7rem;}
@media (min-width:992px){ .cat-sticky{position:sticky; top:1rem;} }

/* footer */
.site-footer{background:var(--sog-ink); color:#bbb; font-size:.85rem;}
.site-footer h3{font-size:.95rem; color:#fff;}
.site-footer a{color:#fff; text-decoration:none;}
.site-footer a:hover{color:#ff6b6b;}
.site-footer .bottom{border-top:1px solid #3a3a39; font-size:.78rem;}
.anet-seal{position:fixed; right:8px; bottom:50px; z-index:1030;}
@media (max-width:767.98px){ .anet-seal{position:static; text-align:center; padding:.5rem 0 1rem; background:var(--sog-ink);} }
@media (max-width:575.98px){ .brand-mark{font-size:1.7rem;} .brand-name{font-size:1.2rem;} .brand-tag{font-size:.58rem; letter-spacing:.08em;} .intro h1{font-size:1.3rem;} }

/* ===== Blog ===== */
.blog-hero{background:var(--sog-ink); color:#ddd; border-left:6px solid var(--sog-red);}
.blog-hero .eyebrow{color:#ff6b6b; font-size:.75rem; letter-spacing:.15em;}
.blog-hero h1{font-size:1.7rem; color:#fff; margin:0;}
.blog-hero h1 span{color:#ff2a2a;}
.blog-hero p{font-size:.9rem; margin:.35rem 0 0;}
.post-card{background:#fff; border:1px solid #e3e3e3; border-radius:.35rem; overflow:hidden; transition:box-shadow .15s, transform .15s; height:100%; display:flex; flex-direction:column;}
.post-card:hover{box-shadow:0 .4rem 1.1rem rgba(0,0,0,.12); transform:translateY(-2px);}
.post-card .thumb{display:block; aspect-ratio:1/1; background:#fff; border-bottom:1px solid #eee; overflow:hidden;}
.post-card .thumb img{width:100%; height:100%; object-fit:cover; transition:transform .25s;}
.post-card:hover .thumb img{transform:scale(1.04);}
.post-card .thumb.no-img{display:flex; align-items:center; justify-content:center; background:var(--sog-ink);}
.post-card .thumb.no-img span{font-family:Oswald,Impact,sans-serif; font-weight:700; color:#fff; font-size:2.4rem; background:var(--sog-red); padding:.2rem .8rem; clip-path:polygon(0 0,100% 0,86% 100%,0 100%);}
.post-card .body{padding:.8rem .9rem 1rem; display:flex; flex-direction:column; flex:1;}
.post-cat{font-size:.68rem; text-transform:uppercase; letter-spacing:.12em; font-weight:700;}
.post-cat a{color:var(--sog-red); text-decoration:none;}
.post-card h2{font-size:1rem; font-weight:700; line-height:1.3; margin:.3rem 0 .4rem;}
.post-card h2 a{color:var(--sog-ink); text-decoration:none;}
.post-card h2 a:hover{color:var(--sog-red);}
.post-card .excerpt{font-size:.82rem; color:#555; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; margin-bottom:.6rem;}
.post-card .excerpt p{margin:0;}
.post-meta{font-size:.75rem; color:#777;}
.post-meta i{color:var(--sog-red);}
.post-card .more{margin-top:auto; font-size:.8rem; font-weight:700; text-decoration:none;}
.sticky .post-card{border-top:3px solid var(--sog-red);}

/* single post */
.post-single{background:#fff; border:1px solid #e3e3e3; border-radius:.35rem;}
.post-single .entry-title{font-size:1.7rem; line-height:1.15;}
.post-single .featured img{width:100%; height:auto; max-height:640px; object-fit:contain; background:#fff; border:1px solid #eee; border-radius:.3rem;}
.entry-content{font-size:1rem; line-height:1.65;}
.entry-content img{max-width:100%; height:auto;}
.entry-content h2,.entry-content h3,.entry-content h4{font-family:Oswald,Impact,"Arial Narrow",sans-serif; text-transform:uppercase; letter-spacing:.02em; margin-top:1.4rem;}
.entry-content blockquote{border-left:4px solid var(--sog-red); background:var(--sog-paper); padding:.6rem 1rem; margin:1rem 0;}
.entry-content iframe,.entry-content video{max-width:100%;}
.entry-content .wp-block-embed__wrapper,.entry-content .video-wrap{position:relative;}
.tag-list a{display:inline-block; font-size:.75rem; background:var(--sog-paper); border:1px solid #ddd; color:var(--sog-ink); padding:.15rem .55rem; border-radius:2rem; margin:0 .25rem .35rem 0; text-decoration:none;}
.tag-list a:hover{border-color:var(--sog-red); color:var(--sog-red);}
.shop-cta{background:var(--sog-ink); color:#ddd; border-left:6px solid var(--sog-red);}
.shop-cta h2{color:#fff; font-size:1.2rem;}
.post-nav a{display:block; background:#fff; border:1px solid #e3e3e3; border-radius:.35rem; padding:.6rem .8rem; text-decoration:none; color:var(--sog-ink); height:100%;}
.post-nav a:hover{border-color:var(--sog-red); color:var(--sog-red);}
.post-nav small{display:block; color:#777; font-size:.7rem; text-transform:uppercase; letter-spacing:.12em;}
.alignleft{float:left; margin:.3rem 1rem .6rem 0;} .alignright{float:right; margin:.3rem 0 .6rem 1rem;} .aligncenter{display:block; margin:0 auto 1rem;}
.wp-caption{max-width:100%;} .wp-caption-text,.wp-element-caption{font-size:.8rem; color:#666; text-align:center;}
.screen-reader-text{position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px);}

/* sidebar widgets */
.widget{background:#fff; border:1px solid #e3e3e3; border-top:3px solid var(--sog-ink); margin-bottom:1rem;}
.widget-title{font-family:Oswald,Impact,sans-serif; text-transform:uppercase; letter-spacing:.02em; font-size:1rem; background:var(--sog-ink); color:#fff; margin:0; padding:.6rem .85rem;}
.widget > ul,.widget > div > ul,.widget .menu,.widget .wp-block-latest-posts,.widget .wp-block-categories,.widget .wp-block-archives{list-style:none; margin:0; padding:0;}
.widget li{padding:.42rem .85rem; border-bottom:1px dashed #e0e0e0; font-size:.86rem;}
.widget li:last-child{border-bottom:0;}
.widget li a{color:var(--sog-ink); text-decoration:none;}
.widget li a:hover{color:var(--sog-red);}
.widget li ul{list-style:none; padding-left:.8rem; margin:.3rem 0 0;}
.widget .textwidget,.widget form,.widget select,.widget .tagcloud,.widget .wp-block-tag-cloud,.widget p{padding:.7rem .85rem; margin:0;}
.widget select{width:calc(100% - 1.7rem); margin:.7rem .85rem; padding:.35rem;}
.widget .tagcloud a,.widget .wp-block-tag-cloud a{font-size:.75rem!important; display:inline-block; background:var(--sog-paper); border:1px solid #ddd; color:var(--sog-ink); padding:.15rem .5rem; border-radius:2rem; margin:0 .2rem .3rem 0; text-decoration:none;}
.widget .tagcloud a:hover,.widget .wp-block-tag-cloud a:hover{border-color:var(--sog-red); color:var(--sog-red);}
.widget img{max-width:100%; height:auto;}
.widget .search-form{display:flex;}
.search-form .search-field{flex:1; min-width:0;}

/* pagination (core + WP-Paginate) */
.pagination,.wp-paginate{display:flex; flex-wrap:wrap; gap:.3rem; justify-content:center; list-style:none; padding:0; margin:1.5rem 0 0;}
.pagination .page-numbers,.wp-paginate a,.wp-paginate span.current,.wp-paginate span.gap{display:inline-block; min-width:2.3rem; text-align:center; padding:.4rem .7rem; border:1px solid #ddd; background:#fff; color:var(--sog-ink); text-decoration:none; border-radius:.25rem; font-weight:700; font-size:.85rem;}
.pagination .page-numbers.current,.wp-paginate .current{background:var(--sog-red)!important; border-color:var(--sog-red)!important; color:#fff!important;}
.pagination a.page-numbers:hover,.wp-paginate a:hover{border-color:var(--sog-red); color:var(--sog-red); background:#fff;}
.wp-paginate .title{display:none;}
.wp-paginate li{margin:0; padding:0; border:0;}

/* comments */
.comments-area{background:#fff; border:1px solid #e3e3e3; border-radius:.35rem;}
.comment-list{list-style:none; padding:0;}
.comment-list .children{list-style:none; padding-left:1.5rem;}
.comment-body{border-bottom:1px dashed #e0e0e0; padding:.8rem 0;}
.comment-author img{border-radius:50%; margin-right:.5rem;}
.comment-meta{font-size:.75rem;}
.comment-form label{display:block; font-weight:700; font-size:.85rem;}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{width:100%; border:1px solid #ccc; border-radius:.25rem; padding:.45rem .6rem;}
.comment-form .submit{background:var(--sog-red); border:0; color:#fff; padding:.5rem 1.2rem; border-radius:.25rem; font-weight:700;}
.comment-form .submit:hover{background:var(--sog-red-dark);}

/* block-based widgets (WordPress 5.8+ widget editor) */
.widget_block > *:not(.wp-block-group),.widget_block .wp-block-group__inner-container > *:not(h2):not(h3){margin:0;}
.widget_block h2,.widget_block h3,.widget_block .wp-block-heading{font-family:Oswald,Impact,sans-serif; text-transform:uppercase; letter-spacing:.02em; font-size:1rem!important; font-weight:500; background:var(--sog-ink); color:#fff; margin:0!important; padding:.6rem .85rem;}
.widget_block ul{list-style:none; margin:0; padding:0;}
.widget_block .no-comments,.widget_block .wp-block-latest-comments{padding:.6rem .85rem; margin:0; font-size:.86rem;}
.wp-block-search{padding:.7rem .85rem;}
.wp-block-search__label{font-weight:700; font-size:.85rem; margin-bottom:.3rem;}
.wp-block-search__inside-wrapper{display:flex;}
.wp-block-search__input{flex:1; min-width:0; border:1px solid var(--sog-ink); border-right:0; border-radius:.25rem 0 0 .25rem; padding:.35rem .6rem;}
.wp-block-search__button{background:var(--sog-red); color:#fff; border:1px solid var(--sog-red); border-radius:0 .25rem .25rem 0; padding:.35rem .8rem; margin:0;}
.wp-block-search__button:hover{background:var(--sog-red-dark);}
