/*
Theme Name: BTS Magazine
Description: Business and technology magazine theme for BTS Magazine.
Version: 1.4.1
Requires at least: 6.0
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: bts-magazine
*/

:root { --ink:#0B1F33; --muted:#41566B; --line:#D5DDE5; --tint:#F2F5F7; --block:#E6ECF2; --accent:#0B5FD9; --sky:#8FC1FF; --pale:#D5E0EB; --head:Archivo,Arial,sans-serif; --mono:'IBM Plex Mono',monospace; }
* { box-sizing:border-box; }
body { margin:0; background:#fff; color:var(--ink); font:400 18px/1.6 'Source Sans 3',Arial,sans-serif; overflow-wrap:break-word; }
img { max-width:100%; height:auto; display:block; }
a { color:inherit; text-decoration:none; }
a:hover { text-decoration:underline; }
h1,h2,h3,h4 { font-family:var(--head); line-height:1.15; }
.wrap { max-width:1200px; margin:0 auto; padding-left:24px; padding-right:24px; }
.narrow { max-width:800px; margin:0 auto; padding-left:24px; padding-right:24px; }
.skip-link { position:absolute; left:-9999px; }
.skip-link:focus { left:12px; top:12px; z-index:10; background:#fff; padding:10px 14px; }
.screen-reader-text { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }

.site-header { border-bottom:1px solid var(--line); background:#fff; }
.site-header .wrap { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 32px; padding-top:16px; padding-bottom:16px; }
.brand { display:flex; align-items:center; gap:12px; }
.brand:hover { text-decoration:none; }
.brand-mark { width:48px; height:48px; background:var(--ink); display:flex; align-items:flex-end; justify-content:center; gap:4px; padding:10px; flex:none; }
.brand-mark i { display:block; width:6px; background:#fff; }
.brand-mark i:nth-child(1) { height:11px; }
.brand-mark i:nth-child(2) { height:19px; }
.brand-mark i:nth-child(3) { height:28px; background:var(--sky); }
.brand-name { display:block; font:800 28px/1 var(--head); letter-spacing:-.5px; }
.brand-sub { display:block; font:500 12px/1.2 var(--mono); letter-spacing:3px; margin-top:4px; }
.main-nav ul { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:0 26px; }
.main-nav a { display:block; padding:10px 0; font-weight:600; font-size:17px; }

.eyebrow { font:500 13px/1.4 var(--mono); letter-spacing:1.3px; text-transform:uppercase; color:var(--accent); }
.meta { font-size:15px; color:var(--muted); }

.hero { background:var(--ink); color:#fff; }
.hero-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr)); gap:36px; align-items:center; padding-top:40px; padding-bottom:40px; }
.home-title { margin:0 0 18px; font:500 14px/1.4 var(--mono); letter-spacing:1px; color:var(--pale); }
.hero .eyebrow { color:var(--sky); }
.hero-post-title { margin:12px 0 14px; font-weight:800; font-size:clamp(32px,4.4vw,52px); line-height:1.06; letter-spacing:-1px; }
.hero p { margin:0 0 24px; font-size:19px; color:var(--pale); }
.button { display:inline-block; padding:12px 22px; background:#fff; color:var(--ink); font-weight:600; }
.button-dark { background:var(--ink); color:#fff; }
.photo-credit { margin:6px 0 0; font-size:13px; color:var(--muted); }
.hero .photo-credit { color:var(--pale); }
.hero-photo img { width:100%; aspect-ratio:16/10; object-fit:cover; }

.columns { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr)); gap:44px; padding-top:44px; padding-bottom:56px; }
.section-head { display:flex; align-items:baseline; justify-content:space-between; gap:16px; border-top:4px solid var(--ink); padding-top:12px; margin-bottom:18px; }
.section-head.alt { border-top-color:var(--accent); }
.section-head h2 { margin:0; font-weight:800; font-size:28px; }
.section-head a { font-weight:600; font-size:17px; color:var(--accent); }
.banner { margin:0 0 22px; }
.banner img { width:100%; aspect-ratio:16/6; object-fit:cover; }
.row { display:flex; gap:18px; align-items:flex-start; margin-bottom:22px; }
.row-media { flex:0 0 132px; display:block; }
.row-media img, .row-media .no-image { width:132px; height:92px; object-fit:cover; }
.row h3 { margin:0 0 6px; font-weight:700; font-size:20px; line-height:1.2; }
.no-image { display:flex; align-items:center; justify-content:center; background:var(--block); font:500 12px/1 var(--mono); color:var(--muted); letter-spacing:1px; }

.more { background:var(--tint); padding:44px 0 56px; }
.more > .wrap > h2, .list-title { margin:0 0 24px; border-top:4px solid var(--ink); padding-top:12px; font-weight:800; font-size:28px; }
.grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr)); gap:26px; }
.card { background:#fff; display:flex; flex-direction:column; min-width:0; }
.card-media img, .card-media .no-image { width:100%; height:190px; object-fit:cover; }
.card-body { padding:16px 18px 20px; }
.card-body .eyebrow { font-size:12px; }
.card h3 { margin:8px 0; font-weight:700; font-size:20px; line-height:1.2; }
.pagination { margin-top:34px; }
.pagination .nav-links { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
.pagination .page-numbers { display:block; min-width:44px; padding:10px 14px; text-align:center; background:#fff; border:1px solid var(--line); font-weight:600; }
.pagination .current { background:var(--ink); border-color:var(--ink); color:#fff; }

.breadcrumb { font-size:15px; color:var(--muted); }
.entry { padding-top:32px; padding-bottom:40px; }
.entry-title { margin:12px 0 14px; font-weight:800; font-size:clamp(32px,4.2vw,46px); line-height:1.08; letter-spacing:-.8px; }
.entry-photo { margin:24px 0 28px; }
.entry-photo img { width:100%; }
.entry-content h2 { margin:34px 0 12px; font-weight:800; font-size:30px; }
.entry-content h3 { margin:26px 0 10px; font-weight:700; font-size:23px; }
.entry-content p { margin:0 0 18px; }
.entry-content ul,.entry-content ol { margin:0 0 18px; padding-left:24px; }
.entry-content a { color:var(--accent); text-decoration:underline; }
.entry-content table { display:block; width:100%; overflow-x:auto; border-collapse:collapse; margin:0 0 22px; font-size:16px; }
.entry-content th,.entry-content td { border:1px solid var(--line); padding:9px 11px; text-align:left; }
.entry-content th { background:var(--tint); }
.entry-content blockquote { margin:0 0 18px; padding:14px 20px; background:var(--tint); }
.entry-content iframe,.entry-content video { max-width:100%; }
.page-band { background:var(--ink); color:#fff; padding:48px 0; }
.page-band .breadcrumb { color:var(--pale); }
.page-band h1 { margin:10px 0 0; font-weight:800; font-size:clamp(36px,4.6vw,52px); line-height:1.06; }
.related { background:var(--tint); padding:40px 0 48px; }
.related h2 { margin:0 0 22px; border-top:4px solid var(--ink); padding-top:12px; font-weight:800; font-size:28px; }
.post-layout { display:flex; flex-wrap:wrap; gap:0 48px; align-items:flex-start; }
.post-main { flex:999 1 620px; min-width:0; }
.post-side { flex:1 1 300px; min-width:0; padding-top:32px; padding-bottom:40px; }
.post-side h2 { margin:0 0 18px; border-top:4px solid var(--ink); padding-top:12px; font-weight:800; font-size:24px; }
.post-side .row { margin-bottom:18px; gap:14px; }
.post-side .row-media { flex:0 0 96px; }
.post-side .row-media img, .post-side .row-media .no-image { width:96px; height:72px; }
.post-side .row h3 { font-size:16px; line-height:1.25; margin-bottom:4px; }
.post-side .meta { font-size:14px; }
.related-layout { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr)); gap:32px; align-items:start; }
.related-lead { background:#fff; }
.related-lead-media img, .related-lead-media .no-image { width:100%; aspect-ratio:16/9; height:auto; object-fit:cover; }
.related-lead-media .no-image { height:280px; }
.related-lead-body { padding:18px 22px 24px; }
.related-lead-body h3 { margin:8px 0 10px; font-weight:800; font-size:26px; line-height:1.15; }
.related-lead-body p { margin:0 0 10px; font-size:17px; color:var(--muted); }
.related-list .row { background:#fff; padding:14px; margin-bottom:14px; }
.related-list .row:last-child { margin-bottom:0; }
@media (min-width:1000px) {
	.post-side { position:sticky; top:24px; max-height:calc(100vh - 48px); overflow-y:auto; scrollbar-width:thin; padding-top:0; margin-top:32px; padding-bottom:0; }
	.admin-bar .post-side { top:56px; max-height:calc(100vh - 80px); }
}
.comments { padding-bottom:40px; }
.comments h2 { font-size:24px; }
.comment-list { padding-left:20px; }
.comment-form input:not([type=submit]):not([type=checkbox]),.comment-form textarea,.search-form input[type=search] { width:100%; padding:10px; border:1px solid var(--muted); font:inherit; }
.comment-form input[type=submit],.search-form input[type=submit] { padding:12px 22px; border:0; background:var(--ink); color:#fff; font:600 17px 'Source Sans 3',Arial,sans-serif; cursor:pointer; }
.search-form { display:flex; gap:8px; }

.site-footer { background:var(--ink); color:#fff; font-size:17px; }
.footer-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:32px; padding-top:44px; padding-bottom:24px; }
.footer-grid p { margin:14px 0 0; color:var(--pale); }
.footer-title { font:500 13px/1.4 var(--mono); letter-spacing:1.5px; color:var(--sky); margin-bottom:10px; }
.footer-grid ul { list-style:none; margin:0; padding:0; }
.footer-grid li { margin-bottom:8px; }
.footer-bottom { padding-bottom:28px; }
.footer-bottom div { border-top:1px solid #3E5C7A; padding-top:16px; font-size:15px; color:var(--pale); }
