/* Lagless blog additions: built on top of style.css + blog.css */
html.page-blog body,
html.page-blog-article body{background:#1E1E1E;color:var(--text);} 
.blog-shell{background:radial-gradient(circle at top right,rgba(255,213,0,.07),transparent 34%),#1E1E1E;}
.blog-nav-spacer{height:0}
.blog-page-hero{position:relative;min-height:520px;padding:185px 0 72px;background:#111 url('../assets/hero-ftb.svg') center/cover no-repeat;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.06)}
.blog-page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,10,.92) 0%,rgba(10,10,10,.68) 42%,rgba(10,10,10,.25) 100%),linear-gradient(0deg,#1E1E1E 0%,rgba(30,30,30,0) 42%)}
.blog-page-hero .container{position:relative;z-index:2}.blog-kicker{color:var(--yellow);font-weight:900;text-transform:uppercase;font-style:italic;font-size:14px;letter-spacing:.06em;margin-bottom:14px}.blog-page-hero h1{max-width:760px;margin-bottom:18px}.blog-page-hero p{max-width:590px;font-size:18px;line-height:1.65;color:#ddd}.blog-meta{display:flex;gap:18px;flex-wrap:wrap;color:#B7B7B7;font-size:13px;text-transform:uppercase;font-weight:700}.blog-meta i{color:var(--yellow);margin-right:6px}.blog-searchbar{max-width:680px;display:flex;height:54px;background:rgba(49,49,49,.72);border:1px solid rgba(255,255,255,.12);margin-top:24px}.blog-searchbar input{flex:1;background:transparent;border:0;color:#fff;padding:0 20px;font-family:inherit}.blog-searchbar button{width:60px;background:transparent;border:0;color:#fff;font-size:18px}.blog-tags{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:16px}.blog-tags span,.blog-tags a{font-size:12px;color:#B7B7B7;background:rgba(255,255,255,.06);padding:7px 13px;border-radius:4px}.blog-tags strong{font-size:13px;color:#fff}.blog-main{padding:58px 0 72px}.blog-layout{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:34px}.blog-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.blog-section-head h2{font-size:22px;line-height:30px;padding:0}.blog-featured{background:rgba(49,49,49,.26);border:1px solid rgba(255,255,255,.07);overflow:hidden;margin-bottom:42px}.blog-featured-img,.blog-card-img,.blog-list-img,.related-img{background:#111 center/cover no-repeat;position:relative}.blog-featured-img{height:330px;background-image:url('../assets/hero-ftb.svg')}.blog-featured-body{padding:26px 30px 30px}.blog-date{font-size:12px;color:#888;text-transform:uppercase;font-weight:700;margin-bottom:9px}.blog-featured h2{font-size:32px;line-height:38px;margin-bottom:10px}.blog-featured p{font-size:15px;line-height:1.7;color:#B7B7B7}.read-link{display:inline-flex;gap:8px;align-items:center;color:var(--yellow);text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.05em}.blog-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.blog-card{background:rgba(49,49,49,.26);border:1px solid rgba(255,255,255,.07);overflow:hidden}.blog-card-img{height:154px}.img-server{background-image:linear-gradient(135deg,#071927,#162f43)}.img-ddos{background-image:radial-gradient(circle,#6422a8,#1a0f2a 70%)}.img-code{background-image:linear-gradient(135deg,#07131d,#0d2621)}.img-castle{background-image:url('../assets/minecraft-castle.svg')}.blog-card-body{padding:18px}.blog-card h3{font-size:17px;line-height:22px;margin-bottom:10px}.blog-card p{font-size:13px;line-height:1.55;color:#B7B7B7}.blog-sidebar-card{background:rgba(49,49,49,.24);border:1px solid rgba(255,255,255,.07);padding:22px;margin-bottom:18px}.blog-sidebar-card h4{font-size:16px;color:var(--yellow);padding-bottom:12px}.blog-cat-list li{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.06);padding:10px 0}.blog-cat-list li:last-child{border-bottom:0}.blog-cat-list a{color:#fff;font-size:14px}.blog-cat-list span{color:#fff;font-weight:900}.blog-help-icon{font-size:54px;color:var(--yellow);margin-bottom:12px}.blog-newsletter{display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:center;background:rgba(49,49,49,.25);border:1px solid rgba(255,255,255,.08);padding:24px 30px;margin-top:44px}.blog-newsletter h2{font-size:24px;line-height:30px;padding:0}.blog-newsletter form{display:flex;gap:0}.blog-newsletter input{flex:1;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);height:48px;color:#fff;padding:0 18px}.blog-newsletter button{background:var(--yellow);border:0;height:48px;padding:0 25px;font-weight:900;text-transform:uppercase;color:#111}.blog-list-panel{background:rgba(49,49,49,.18);border:1px solid rgba(255,255,255,.07);padding:22px}.blog-list-item{display:grid;grid-template-columns:260px 1fr;gap:26px;padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid rgba(255,255,255,.06)}.blog-list-item:last-child{border-bottom:0;margin-bottom:0}.blog-list-img{height:160px;border:1px solid rgba(255,255,255,.06)}.blog-list-item h2{font-size:26px;line-height:32px}.blog-pagination{display:flex;gap:8px;justify-content:center;margin-top:24px}.blog-pagination a{min-width:38px;height:38px;line-height:36px;text-align:center;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);color:#fff}.blog-pagination .active{background:var(--yellow);color:#111}.article-hero{position:relative;min-height:580px;padding:180px 0 70px;background:#111 url('../assets/hero-ftb.svg') center/cover no-repeat;border-bottom:1px solid rgba(255,255,255,.08)}.article-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,8,.94),rgba(8,8,8,.55) 50%,rgba(8,8,8,.12)),linear-gradient(0deg,#1E1E1E,rgba(30,30,30,0) 45%)}.article-hero .container{position:relative;z-index:1}.article-hero h1{max-width:760px;font-size:58px;line-height:62px;margin:12px 0 18px}.article-hero p{max-width:620px;font-size:17px;line-height:1.65;color:#ddd}.article-wrap{padding:52px 0 80px}.article-grid{display:grid;grid-template-columns:80px minmax(0,780px) 270px;gap:30px;align-items:start}.share-rail{position:sticky;top:24px}.share-rail h5{font-size:12px;color:#777;margin-bottom:8px}.share-rail a{display:block;width:42px;height:42px;line-height:42px;text-align:center;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);color:#fff;margin-bottom:6px}.article-content{background:transparent}.article-content p{font-size:16px;line-height:1.85;color:#d4d4d4}.article-content .lead:first-letter{float:left;font-size:86px;line-height:.8;color:var(--yellow);font-weight:900;margin-right:12px}.article-content h2{font-size:28px;line-height:34px;margin:34px 0 12px;padding:0}.article-image{border:1px solid rgba(255,255,255,.08);border-radius:4px;overflow:hidden;margin:22px 0;background:#111}.article-image img{width:100%;display:block}.quote-box{background:rgba(49,49,49,.32);border:1px solid rgba(255,255,255,.08);border-left:4px solid var(--yellow);padding:26px 30px;margin:26px 0}.quote-box p{font-size:22px;font-style:italic;color:#fff;line-height:1.55;padding:0}.quote-box small{color:var(--yellow);font-weight:900}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:24px 0 34px;position:relative}.timeline:before{content:"";position:absolute;top:33px;left:12%;right:12%;height:2px;background:var(--yellow)}.timeline-item{text-align:center;position:relative}.timeline-icon{width:66px;height:66px;border:2px solid var(--yellow);border-radius:50%;background:#252525;margin:0 auto 12px;line-height:62px;color:#fff;font-size:22px;position:relative;z-index:1}.timeline-item strong{display:block;color:#fff}.feature-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0 24px}.feature-mini{background:rgba(49,49,49,.24);border:1px solid rgba(255,255,255,.07);padding:20px;text-align:center}.feature-mini i{font-size:30px;color:var(--yellow);margin-bottom:12px}.feature-mini h4{font-size:14px;line-height:20px}.feature-mini p{font-size:12px;line-height:1.55;padding:0}.compare-table{width:100%;margin:18px 0 26px;background:rgba(49,49,49,.22);border:1px solid rgba(255,255,255,.08)}.compare-table th{background:#111;color:var(--yellow);text-transform:uppercase;font-size:12px;text-align:left;padding:12px}.compare-table td{border-top:1px solid rgba(255,255,255,.06);padding:12px;color:#ddd}.author-box{display:grid;grid-template-columns:82px 1fr 160px;gap:22px;align-items:center;background:rgba(49,49,49,.25);border:1px solid rgba(255,255,255,.08);padding:24px;margin:34px 0}.author-logo{width:70px;height:70px;border:2px solid var(--yellow);display:flex;align-items:center;justify-content:center;font-size:32px;color:var(--yellow);font-weight:900}.article-side{position:sticky;top:24px}.toc{background:rgba(49,49,49,.24);border:1px solid rgba(255,255,255,.08);padding:22px}.toc h4{font-size:18px;margin-bottom:12px}.toc a{display:block;color:#ddd;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05)}.related-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:16px}.related-card{background:rgba(49,49,49,.24);border:1px solid rgba(255,255,255,.08);overflow:hidden}.related-img{height:150px}.related-card div:last-child{padding:17px}.related-card h3{font-size:18px;line-height:24px}.blog-breadcrumb{color:#aaa;font-size:13px;margin-bottom:25px}.blog-breadcrumb a{color:#aaa}.blog-breadcrumb .current{color:var(--yellow)}
@media(max-width:992px){.blog-layout,.article-grid{grid-template-columns:1fr}.share-rail,.article-side{position:static}.share-rail a{display:inline-block}.blog-card-grid,.feature-row,.related-row{grid-template-columns:1fr 1fr}.blog-newsletter{grid-template-columns:1fr}.article-hero h1{font-size:42px;line-height:48px}}
@media(max-width:768px){.blog-list-item{grid-template-columns:1fr}.blog-card-grid,.feature-row,.related-row,.timeline{grid-template-columns:1fr}.timeline:before{display:none}.article-hero h1,.blog-page-hero h1{font-size:34px;line-height:40px}.author-box{grid-template-columns:1fr}.blog-page-hero{padding-top:150px}.article-hero{padding-top:150px}.blog-newsletter form{display:block}.blog-newsletter button,.blog-newsletter input{width:100%}}

/* ============================================================
 *  Overrides + fixes
 * ============================================================ */

/* Constrain every inline image inside the WP-rendered article body so a
   featured/inline image with explicit width attributes can never escape
   the article column. */
.article-content img,
.article-content figure,
.article-content .wp-block-image,
.article-content .wp-block-image img,
.article-content figure img{max-width:100%!important;width:auto;height:auto;display:block}
.article-content figure,
.article-content .wp-block-image{margin:22px 0}
.article-content .alignfull,
.article-content .alignwide{max-width:100%!important;width:100%!important;margin-left:0!important;margin-right:0!important}

/* Featured/list/related/card image tiles - lock to the cover sizing so a
   tall source image doesn't overflow the container height. The default
   `background:#111 url(...) center/cover` was being lost in some browsers
   when the inline `background-image` overrode the shorthand. */
.blog-featured-img,
.blog-card-img,
.blog-list-img,
.related-img{background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
.article-hero{background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}

/* ── Newsletter strip - matches the kb-newsletter design used on the
   knowledge-base pages: rounded icon + title + tagline on left, input +
   button + small note on right. Stacks below 900px. ── */
.blog-newsletter{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:32px!important;background:rgba(20,20,20,0.5)!important;border:1px solid rgba(255,255,255,0.05)!important;padding:20px 28px!important;margin-top:24px!important;grid-template-columns:none!important}
.blog-newsletter-left{display:flex;align-items:center;gap:18px;min-width:0}
.blog-newsletter-icon{width:54px;height:54px;border:1.5px solid rgba(255,255,255,0.18);display:flex;align-items:center;justify-content:center;color:#fff;font-size:22px;flex-shrink:0;border-radius:5px}
.blog-newsletter-text h2{font-size:16px!important;font-weight:900!important;font-style:italic!important;text-transform:uppercase!important;letter-spacing:0.04em!important;color:#fff!important;margin:0!important;line-height:1.2!important;padding:0!important}
.blog-newsletter-text p{color:#b7b7b7!important;font-size:13px!important;line-height:1.4!important;margin:6px 0 0!important;padding:0!important}
.blog-newsletter-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}
.blog-newsletter form{display:flex!important;gap:6px!important;min-width:0!important;height:auto!important}
.blog-newsletter input{background:#2b2b2b!important;border:1px solid rgba(255,255,255,0.08)!important;padding:12px 16px!important;color:#fff!important;font-size:13px!important;min-width:240px!important;border-radius:5px!important;height:auto!important;flex:none!important}
.blog-newsletter button{background:var(--yellow)!important;color:#111!important;border:0!important;font-weight:900!important;font-style:italic!important;text-transform:uppercase!important;letter-spacing:0.06em!important;padding:12px 22px!important;font-size:13px!important;cursor:pointer!important;border-radius:5px!important;height:auto!important;line-height:1!important}
.blog-newsletter-note{color:#777!important;font-size:11px!important;margin:0!important;font-style:normal!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important;padding:0!important}
@media(max-width:900px){.blog-newsletter{flex-direction:column!important;align-items:flex-start!important;gap:18px!important}.blog-newsletter-right{align-items:stretch;width:100%}.blog-newsletter form{flex-direction:column}.blog-newsletter input{min-width:0!important;width:100%!important}.blog-newsletter button{width:100%!important}.blog-newsletter-note{text-align:left}}

/* ── Author box: swap the "L" letter for the actual LagLess icon ── */
.author-box .author-logo{width:64px!important;height:64px!important;border:0!important;background:transparent!important;padding:0!important;color:transparent!important;font-size:0!important;overflow:hidden}
.author-box .author-logo img{width:100%;height:100%;display:block;object-fit:contain}
