/**
 * Radikal — theme-specific layout for parts not covered by the base CSS
 * (posts grid, featured lead, footer, off-canvas menu, cards).
 */

/* ---- page layout ---- */
.main.ts-contain{max-width:1240px;margin:0 auto;padding:0 20px;}
.row.main-row{display:flex;gap:40px;align-items:flex-start;margin:30px 0 50px;}
.row.main-row .col-8{flex:1 1 auto;min-width:0;}
.row.main-row .col-4.sidebar{flex:0 0 340px;width:340px;}
.row.error-404-row{display:block;}

@media (max-width:1024px){
	.row.main-row{flex-direction:column;}
	.row.main-row .col-4.sidebar{flex-basis:auto;width:100%;}
}

/* ---- posts grid ---- */
.posts-grid.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 30px;}
@media (max-width:560px){.posts-grid.grid-2{grid-template-columns:1fr;}}
.grid-post .media{display:block;margin-bottom:14px;border-radius:6px;overflow:hidden;}
.grid-post .media img,.feat-post .media img,.featured-image img{width:100%;height:auto;display:block;}
.grid-post .post-title{font-size:19px;line-height:1.3;margin:6px 0 8px;}
.grid-post .post-title a,.feat-post .post-title a,.is-title a{color:inherit;text-decoration:none;}
.grid-post .post-title a:hover,.is-title a:hover{color:#e0232e;}
.post-excerpt{color:#5b6069;font-size:14px;line-height:1.55;margin:0 0 10px;}
.post-meta .category,.post-meta-items .category{font-size:12px;font-weight:700;text-transform:uppercase;color:#e0232e;text-decoration:none;letter-spacing:.03em;}
.post-meta-items{font-size:12px;color:#8a8f98;display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.post-meta-items .meta-item{position:relative;}

/* ---- featured lead ---- */
.feat-post{border-bottom:1px solid #ececec;padding-bottom:26px;margin-bottom:30px;}
.feat-post .post-title.l-size{font-size:clamp(26px,3.4vw,40px);line-height:1.12;margin:0 0 12px;font-weight:800;}
.feat-post .media{display:block;margin:16px 0;border-radius:8px;overflow:hidden;}
.feat-post .more-link{display:inline-block;margin-top:12px;padding:11px 22px;background:#e0232e;color:#fff;border-radius:7px;font-weight:700;font-size:14px;text-decoration:none;}
.feat-post .more-link:hover{background:#c11d27;}
.block-head .heading{font-size:15px;text-transform:uppercase;letter-spacing:.04em;font-weight:800;border-bottom:2px solid #111;display:inline-block;padding-bottom:8px;margin:0 0 22px;}

/* ---- single ---- */
.single-title{font-size:clamp(28px,4vw,44px);line-height:1.1;margin:8px 0 16px;font-weight:800;}
.byline-block{display:flex;align-items:center;gap:8px;font-size:13px;color:#6b7280;flex-wrap:wrap;margin-bottom:20px;}
.byline-block .avatar{border-radius:50%;}
.byline-block .author-name a,.byline-block strong{color:#111;}
.byline-block .by{color:#8a8f98;}
.featured-image{margin:18px 0 26px;border-radius:8px;overflow:hidden;}
.post-content{font-size:17px;line-height:1.7;color:#23272e;}
.post-content p{margin:0 0 1.3em;}
.post-tags{margin-top:26px;font-size:13px;}

/* ---- sidebar ---- */
.main-sidebar .widget{margin-bottom:34px;}
.widget-title.heading{font-size:15px;text-transform:uppercase;letter-spacing:.04em;font-weight:800;border-bottom:2px solid #111;padding-bottom:8px;margin:0 0 18px;}
.posts-list{list-style:none;margin:0;padding:0;}
.posts-list .small-post{display:flex;gap:12px;margin-bottom:16px;}
.posts-list .small-post .media{flex:0 0 84px;border-radius:5px;overflow:hidden;}
.posts-list .small-post .post-title{font-size:15px;line-height:1.3;margin:0 0 4px;}
.cats-list{list-style:none;margin:0;padding:0;}
.cats-list li{padding:7px 0;border-bottom:1px solid #eee;}
.cats-list a{color:#23272e;text-decoration:none;}
.cats-list a:hover{color:#e0232e;}

/* ---- footer ---- */
.the-footer{background:#0e1622;color:#aab0b8;padding:44px 0 30px;margin-top:40px;}
.the-footer .footer-inner{max-width:1240px;margin:0 auto;padding:0 20px;}
.the-footer .footer-brand{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.12);flex-wrap:wrap;}
.the-footer .footer-logo img{height:40px;width:auto;display:block;}
.the-footer .spc-social-block{display:flex;gap:10px;}
.the-footer .spc-social-block a{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#cfd4da;border:1px solid rgba(255,255,255,.18);text-decoration:none;transition:.2s;}
.the-footer .spc-social-block a:hover{background:#e0232e;color:#fff;border-color:#e0232e;}
.the-footer .footer-copyright{padding-top:18px;font-size:13px;color:#8b9199;}
.the-footer .footer-widgets{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding-bottom:26px;}
.the-footer .footer-widget .widget-title{color:#fff;border-color:rgba(255,255,255,.2);}
.the-footer a{color:#c7ccd3;}

/* ---- off-canvas mobile menu ---- */
.off-canvas-menu{position:fixed;top:0;left:0;bottom:0;width:300px;max-width:85vw;background:#fff;
	box-shadow:0 0 40px rgba(0,0,0,.25);z-index:9999;transform:translateX(-102%);transition:transform .3s ease;
	overflow-y:auto;padding:60px 22px 30px;}
body.off-canvas-open .off-canvas-menu{transform:none;}
body.off-canvas-open::after{content:"";position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:9998;}
.off-canvas-close{position:absolute;top:14px;right:16px;background:none;border:0;font-size:30px;line-height:1;color:#111;cursor:pointer;}
.off-canvas-menu .menu{list-style:none;margin:0;padding:0;}
.off-canvas-menu .menu>li{border-bottom:1px solid #eee;}
.off-canvas-menu .menu a{display:block;padding:12px 4px;color:#1a1a1a;text-decoration:none;font-weight:600;}
.off-canvas-menu .sub-menu{list-style:none;margin:0;padding:0 0 0 14px;display:none;}
.off-canvas-menu .submenu-open>.sub-menu{display:block;}
.off-canvas-menu .sub-menu a{font-weight:400;font-size:14px;padding:8px 4px;}

/* pagination */
.pagination,.post-nav{margin:30px 0;}
.pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap;}
.pagination a,.pagination .current{padding:8px 14px;border:1px solid #e2e2e2;border-radius:6px;text-decoration:none;color:#23272e;}
.pagination .current{background:#e0232e;color:#fff;border-color:#e0232e;}

/* comments */
.comments-area{margin-top:40px;padding-top:24px;border-top:1px solid #ececec;}
.comment-list{list-style:none;margin:0 0 30px;padding:0;}
.comment-form textarea,.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url]{width:100%;padding:11px 13px;border:1px solid #dcdee2;border-radius:7px;margin-bottom:12px;font:inherit;}
.comment-form input[type=submit],.ts-btn-a{background:#e0232e;color:#fff;border:0;padding:12px 24px;border-radius:7px;font-weight:700;cursor:pointer;}
