/*
 * Dallas Media Company — Blog (native posts + sidebar).
 * Blog index (home.html), single post (single.html), archives (archive.html),
 * and the native sidebar template part (Search, Categories, Recent Posts, Tags).
 */

/* ── HERO ── */
.bl-hero { padding: 96px 60px 56px; background: radial-gradient(ellipse 60% 80% at 80% 20%, rgba(30,95,191,0.2) 0%, transparent 60%), var(--navy); position: relative; overflow: hidden; border-bottom: 1px solid rgba(0,212,255,0.08); }
.bl-hero-inner { max-width: 1280px; margin: 0 auto; }
.bl-hero-inner > * { margin-top: 0 !important; }
.bl-eyebrow { display: inline-flex; align-items: center; gap: 10px; font-size: 11px; letter-spacing: 4px; text-transform: uppercase; color: var(--cyan); margin: 0 0 24px; }
.bl-eyebrow::before { content: ''; display: block; width: 32px; height: 1px; background: var(--cyan); }
.bl-hero h1 { font-family: 'Bebas Neue', sans-serif !important; font-size: clamp(52px, 7vw, 96px) !important; line-height: 0.92 !important; letter-spacing: 2px; color: var(--white); margin: 0 0 20px; }
.bl-hero h1 em { font-style: normal; -webkit-text-stroke: 1.5px var(--cyan); color: transparent; }
.bl-hero-sub { font-size: 16px; line-height: 1.7; color: var(--gray); max-width: 560px; margin: 0 0 28px; }
.bl-hero-stats { display: flex; gap: 32px; flex-wrap: wrap; padding-top: 24px; border-top: 1px solid rgba(0,212,255,0.1); margin: 0; }
.bl-hero-stats p { font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--gray); margin: 0; }
.bl-hero-stats b { display: block; font-family: 'Bebas Neue', sans-serif; font-size: 32px; color: var(--cyan); letter-spacing: 1px; font-weight: 400; margin-bottom: 2px; }

/* ── BODY: main + sidebar layout ── */
.bl-body { padding: 64px 60px 100px; background: var(--navy); }
.bl-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 48px; max-width: 1280px; margin: 0 auto; align-items: start; }
.bl-main { min-width: 0; }
.bl-main > * { margin-top: 0 !important; }
.bl-main-head { margin: 0 0 28px; }
.bl-main-head > * { margin: 0 !important; }
.bl-main-head h2 { font-family: 'Bebas Neue', sans-serif !important; font-size: clamp(28px, 3vw, 40px) !important; line-height: 1 !important; letter-spacing: 1px; color: var(--white); }

/* ── POST CARDS (Query Loop) ── */
.bl-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; list-style: none; padding: 0; margin: 0; }
.bl-grid > li { background: var(--navy2); border: 1px solid rgba(0,212,255,0.08); display: flex; flex-direction: column; transition: border-color 0.25s, transform 0.25s; margin: 0; overflow: hidden; }
.bl-grid > li:hover { border-color: rgba(0,212,255,0.4); transform: translateY(-4px); }
.bl-grid > li > * { margin-top: 0 !important; }
.bl-grid .wp-block-post-featured-image { margin: 0; aspect-ratio: 16/9; overflow: hidden; }
.bl-grid .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.bl-card-body { padding: 24px 26px 28px; display: flex; flex-direction: column; flex: 1; gap: 12px; }
.bl-card-body > * { margin: 0 !important; }
.bl-card-body .wp-block-post-terms { font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--cyan); }
.bl-card-body .wp-block-post-terms a { color: var(--cyan); text-decoration: none; }
.bl-card-body .wp-block-post-title { font-family: 'Bebas Neue', sans-serif; font-size: 22px; line-height: 1.15; letter-spacing: 0.5px; }
.bl-card-body .wp-block-post-title a { color: var(--white); text-decoration: none; }
.bl-card-body .wp-block-post-title a:hover { color: var(--cyan); }
.bl-card-body .wp-block-post-excerpt { font-size: 13.5px; line-height: 1.6; color: var(--gray); flex: 1; }
.bl-card-body .wp-block-post-excerpt p { margin: 0; font-size: 13.5px; line-height: 1.6; color: var(--gray); }
.bl-card-body .wp-block-post-excerpt__more-text, .bl-card-body .wp-block-post-excerpt__more-link { display: none; }
.bl-card-meta { display: flex; align-items: center; gap: 8px; padding-top: 14px; border-top: 1px solid rgba(0,212,255,0.08); font-size: 11px; color: var(--gray); }
.bl-card-meta .wp-block-post-author-name, .bl-card-meta .wp-block-post-date { font-size: 11px; color: var(--gray); }
.bl-card-meta .wp-block-post-author-name { color: var(--white); }

/* Pagination */
.bl-pagination { margin-top: 48px; }
.bl-pagination .wp-block-query-pagination-numbers, .wp-block-query-pagination { justify-content: center; gap: 8px; }
.bl-pagination a, .bl-pagination .page-numbers { color: var(--gray); text-decoration: none; border: 1px solid rgba(0,212,255,0.2); padding: 10px 16px; font-size: 12px; letter-spacing: 1px; transition: all 0.2s; }
.bl-pagination a:hover { color: var(--cyan); border-color: var(--cyan); }
.bl-pagination .current { color: var(--cyan); border-color: var(--cyan); background: rgba(0,212,255,0.08); }

/* ── NATIVE SIDEBAR ── */
.bl-sidebar { display: flex; flex-direction: column; gap: 24px; position: sticky; top: 88px; }
.bl-sidebar > * { margin: 0 !important; }
.bl-widget { background: var(--navy2); border: 1px solid rgba(0,212,255,0.1); padding: 24px; }
.bl-widget > * { margin-top: 0 !important; }
.bl-widget-title { font-family: 'Bebas Neue', sans-serif !important; font-size: 20px !important; letter-spacing: 1px; color: var(--white); margin: 0 0 16px !important; padding-bottom: 12px; border-bottom: 1px solid rgba(0,212,255,0.12); }
/* Search */
.bl-sidebar .wp-block-search__inside-wrapper { gap: 8px; }
.bl-sidebar .wp-block-search__input { background: rgba(255,255,255,0.05); border: 1px solid rgba(0,212,255,0.18); color: var(--white); padding: 12px 14px; border-radius: 0; font-family: 'DM Sans', sans-serif; }
.bl-sidebar .wp-block-search__input::placeholder { color: var(--gray); }
.bl-sidebar .wp-block-search__input:focus { border-color: var(--cyan); outline: none; }
.bl-sidebar .wp-block-search__button { background: var(--cyan); color: var(--navy); border: none; border-radius: 0; padding: 0 18px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; font-size: 12px; cursor: pointer; }
.bl-sidebar .wp-block-search__button:hover { background: var(--white); }
/* Lists (categories, recent posts) */
.bl-widget ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.bl-widget ul li { font-size: 14px; line-height: 1.4; color: var(--gray); }
.bl-widget ul li a { color: var(--gray); text-decoration: none; transition: color 0.2s; }
.bl-widget ul li a:hover { color: var(--cyan); }
.bl-widget .wp-block-categories li { display: flex; justify-content: space-between; gap: 10px; }
.bl-widget .wp-block-latest-posts__post-date { display: block; font-size: 11px; color: rgba(136,153,187,0.7); margin-top: 2px; }
/* Tag cloud */
.bl-widget .wp-block-tag-cloud { display: flex; flex-wrap: wrap; gap: 8px; }
.bl-widget .wp-block-tag-cloud a { font-size: 11px !important; letter-spacing: 1px; text-transform: uppercase; color: var(--gray); border: 1px solid rgba(0,212,255,0.2); padding: 6px 12px; text-decoration: none; transition: all 0.2s; }
.bl-widget .wp-block-tag-cloud a:hover { color: var(--cyan); border-color: var(--cyan); background: rgba(0,212,255,0.06); }
/* Sidebar CTA card */
.bl-widget-cta { background: linear-gradient(135deg, #071428, #0d2650); text-align: center; }
.bl-widget-cta p { font-size: 13px; line-height: 1.6; color: var(--gray); margin: 0 0 16px !important; }
.bl-widget-cta .wp-block-buttons { justify-content: center; }

/* ── SINGLE POST ── */
.bl-single { padding: 56px 60px 100px; background: var(--navy); }
.bl-article { min-width: 0; }
.bl-article > * { margin-top: 0 !important; }
.bl-article .wp-block-post-featured-image { margin: 0 0 32px; }
.bl-article .wp-block-post-featured-image img { width: 100%; max-height: 460px; object-fit: cover; }
.bl-article .wp-block-post-terms { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--cyan); margin: 0 0 16px; }
.bl-article .wp-block-post-terms a { color: var(--cyan); text-decoration: none; }
.bl-article .wp-block-post-title { font-family: 'Bebas Neue', sans-serif !important; font-size: clamp(38px, 5vw, 64px) !important; line-height: 1 !important; letter-spacing: 1px; color: var(--white); margin: 0 0 20px; }
.bl-article-meta { display: flex; align-items: center; gap: 12px; font-size: 12px; color: var(--gray); margin: 0 0 32px; padding-bottom: 24px; border-bottom: 1px solid rgba(0,212,255,0.12); }
.bl-article-meta .wp-block-post-author-name { color: var(--white); }
.bl-article .wp-block-post-content { color: var(--gray); }
.bl-article .wp-block-post-content > * { margin-top: 0; margin-bottom: 22px; }
.bl-article .wp-block-post-content h2 { font-family: 'Bebas Neue', sans-serif; font-size: 30px; letter-spacing: 1px; color: var(--white); margin: 36px 0 14px; }
.bl-article .wp-block-post-content p { font-size: 16px; line-height: 1.8; color: var(--gray); }
.bl-article .wp-block-post-content a { color: var(--cyan); }
.bl-post-nav { display: flex; justify-content: space-between; gap: 16px; margin-top: 40px; padding-top: 24px; border-top: 1px solid rgba(0,212,255,0.12); font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; }
.bl-post-nav a { color: var(--cyan); text-decoration: none; }
.bl-post-nav a:hover { color: var(--white); }

/* ── ARCHIVE header ── */
.bl-archive-hero { padding: 96px 60px 48px; background: var(--navy); border-bottom: 1px solid rgba(0,212,255,0.08); }
.bl-archive-inner { max-width: 1280px; margin: 0 auto; }
.bl-archive-inner > * { margin: 0 !important; }
.bl-archive-inner .wp-block-query-title { font-family: 'Bebas Neue', sans-serif; font-size: clamp(40px, 5vw, 72px); line-height: 1; letter-spacing: 1px; color: var(--white); }
.bl-archive-inner .wp-block-term-description { font-size: 15px; line-height: 1.7; color: var(--gray); max-width: 600px; margin-top: 16px !important; }

/* ════════════════════════════════════════════
   SINGLE POST — editorial (centered, no sidebar)
════════════════════════════════════════════ */
.bl-post-hero { padding: 52px 60px 40px; background: radial-gradient(ellipse 70% 80% at 50% 0%, rgba(30,95,191,0.16) 0%, transparent 60%), var(--navy); text-align: center; }
.bl-post-hero-inner { max-width: 840px; margin: 0 auto; }
.bl-post-hero-inner > * { margin-top: 0 !important; }
.bl-post-crumb { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--gray); margin: 0 0 24px; }
.bl-post-crumb a { color: var(--gray); text-decoration: none; }
.bl-post-crumb a:hover { color: var(--cyan); }
.bl-post-crumb .sep { margin: 0 10px; color: rgba(136,153,187,0.5); }
.bl-post-hero .wp-block-post-terms { display: inline-block; width: max-content; margin: 0 auto 22px !important; font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--cyan); background: rgba(0,212,255,0.12); border: 1px solid rgba(0,212,255,0.35); padding: 6px 14px; font-weight: 600; }
.bl-post-hero .wp-block-post-terms a { color: var(--cyan); text-decoration: none; }
.bl-post-hero .wp-block-post-title { font-family: 'Bebas Neue', sans-serif !important; font-size: clamp(40px, 5.5vw, 76px) !important; line-height: 1 !important; letter-spacing: 1px; color: var(--white); margin: 0 0 24px; }
.bl-post-dek { font-size: 18px; line-height: 1.6; color: var(--gray); max-width: 680px; margin: 0 auto 28px !important; }
.bl-post-meta { display: flex; align-items: center; justify-content: center; gap: 12px; font-size: 13px; color: var(--gray); flex-wrap: wrap; }
.bl-post-meta > * { margin: 0 !important; }
.bl-post-meta .wp-block-post-author-name { color: var(--white); }
.bl-post-meta .wp-block-post-date { color: var(--gray); }

/* Featured media */
.bl-post-media { padding: 0 60px; background: var(--navy); }
.bl-post-media-inner { max-width: 1080px; margin: 0 auto; aspect-ratio: 16/8; background: linear-gradient(135deg,#071428,#1d4ea3,#2e7de6); position: relative; overflow: hidden; border: 1px solid rgba(0,212,255,0.12); }
.bl-post-media-inner .wp-block-post-featured-image { position: absolute; inset: 0; margin: 0; }
.bl-post-media-inner .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }

/* Lead media via [dmc_post_media]: video, gallery, or featured-image fallback */
.bl-post-media-inner .bl-media { position: absolute; inset: 0; width: 100%; height: 100%; }
.bl-post-media-inner .bl-media-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bl-post-media-inner .bl-media-video { display: block; }
.bl-post-media-inner .bl-media-video iframe,
.bl-post-media-inner .bl-media-video video,
.bl-post-media-inner .bl-media-video embed { position: absolute; inset: 0; width: 100% !important; height: 100% !important; display: block; border: 0; }
/* When the lead media is a photo gallery, break out of the fixed 16:8 frame */
.bl-post-media:has(.bl-media-gallery) .bl-post-media-inner { aspect-ratio: auto; background: none; border: none; overflow: visible; position: static; }
.bl-post-media-inner .bl-media-gallery { position: static; }
.bl-media-gallery .gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 0; }
.bl-media-gallery .gallery-item { margin: 0 !important; width: auto !important; padding: 0 !important; float: none !important; }
.bl-media-gallery .gallery-icon { margin: 0 !important; }
.bl-media-gallery .gallery-item img { width: 100% !important; height: 100% !important; aspect-ratio: 4/3; object-fit: cover; border: 1px solid rgba(0,212,255,0.2) !important; display: block; }
.bl-media-gallery .gallery-item a { cursor: zoom-in; display: block; height: 100%; }
.bl-media-gallery .gallery-caption { display: none !important; }
.bl-media-gallery br { display: none; }
@media (max-width: 782px) { .bl-media-gallery .gallery { grid-template-columns: repeat(2, 1fr); } }

/* Reading column */
.bl-post-body { padding: 56px 60px 72px; background: var(--navy); }
.bl-post-content { max-width: 760px; margin: 0 auto; }
.bl-post-content > * { margin-top: 0 !important; }
.bl-post-content .wp-block-post-content > * { margin: 0 0 24px; }
.bl-post-content .wp-block-post-content h2 { font-family: 'Bebas Neue', sans-serif; font-size: 32px; letter-spacing: 1px; color: var(--white); margin: 40px 0 14px; line-height: 1.1; }
.bl-post-content .wp-block-post-content h3 { font-family: 'DM Sans', sans-serif; font-size: 14px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--cyan); margin: 28px 0 10px; font-weight: 500; }
.bl-post-content .wp-block-post-content p { font-size: 17px; line-height: 1.85; color: #c5cfe6; }
.bl-post-content .wp-block-post-content a { color: var(--cyan); }
.bl-post-content .wp-block-post-content ul, .bl-post-content .wp-block-post-content ol { padding-left: 22px; color: #c5cfe6; }
.bl-post-content .wp-block-post-content li { font-size: 17px; line-height: 1.7; margin-bottom: 8px; }
.bl-post-content .wp-block-post-content blockquote { border-left: 2px solid var(--cyan); padding: 4px 0 4px 24px; margin: 0 0 24px; font-style: italic; color: var(--white); }
.bl-post-content .wp-block-post-content img { max-width: 100%; height: auto; }

/* Tags + nav (under the article) */
.bl-post-foot { max-width: 760px; margin: 0 auto; }
.bl-post-foot > * { margin-top: 0 !important; }
.bl-post-tags { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; padding-top: 28px; margin-top: 32px; border-top: 1px solid rgba(0,212,255,0.12); }
.bl-post-tags .bl-tags-label { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--gray); margin: 0 6px 0 0; }
.bl-post-tags .wp-block-post-terms { display: flex; flex-wrap: wrap; gap: 8px; }
.bl-post-tags .wp-block-post-terms a { font-size: 11px; letter-spacing: 1px; text-transform: uppercase; color: var(--gray); border: 1px solid rgba(0,212,255,0.2); padding: 6px 12px; text-decoration: none; transition: all 0.2s; }
.bl-post-tags .wp-block-post-terms a:hover { color: var(--cyan); border-color: var(--cyan); background: rgba(0,212,255,0.06); }
.bl-post-nav { display: flex; justify-content: space-between; gap: 16px; margin-top: 32px; padding-top: 24px; border-top: 1px solid rgba(0,212,255,0.12); font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; }
.bl-post-nav a { color: var(--cyan); text-decoration: none; }
.bl-post-nav a:hover { color: var(--white); }

/* Related posts */
.bl-related { padding: 72px 60px; background: var(--navy2); border-top: 1px solid rgba(0,212,255,0.08); }
.bl-related-head { max-width: 1280px; margin: 0 auto 32px; }
.bl-related-head > * { margin: 0 !important; }
.bl-related-head h2 { font-family: 'Bebas Neue', sans-serif !important; font-size: clamp(30px, 3.5vw, 48px) !important; line-height: 1 !important; letter-spacing: 1px; color: var(--white); }
.bl-related .bl-grid { max-width: 1280px; margin: 0 auto; }

/* ════════════════════════════════════════════
   MAGAZINE INDEX (blog home — no sidebar)
════════════════════════════════════════════ */
.bl-hero-stats b + br { display: none; }

/* Featured article */
.bl-featured { padding: 56px 60px; background: var(--navy); }
.bl-featured-loop { list-style: none; padding: 0; margin: 0 auto; max-width: 1280px; }
.bl-featured-loop > li { background: linear-gradient(180deg, rgba(13,38,80,0.5), rgba(7,20,40,0.7)); border: 1px solid rgba(0,212,255,0.15); display: grid; grid-template-columns: 1.2fr 1fr; gap: 0; transition: border-color 0.3s; margin: 0; overflow: hidden; }
.bl-featured-loop > li:hover { border-color: rgba(0,212,255,0.4); }
.bl-featured-img { position: relative; min-height: 420px; background: linear-gradient(135deg,#071428,#1d4ea3,#2e7de6); overflow: hidden; }
.bl-featured-img::before { content: 'FEATURED'; position: absolute; top: 20px; left: 20px; font-family: 'Bebas Neue', sans-serif; font-size: 14px; letter-spacing: 3px; color: var(--navy); background: var(--cyan); padding: 6px 12px; z-index: 1; }
.bl-featured-img .wp-block-post-featured-image { position: absolute; inset: 0; margin: 0; }
.bl-featured-img .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.bl-featured-body { padding: 56px 48px; display: flex; flex-direction: column; justify-content: center; }
.bl-featured-body > * { margin: 0 !important; }
.bl-featured-body .wp-block-post-terms { display: inline-block; width: max-content; font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase; padding: 5px 12px; margin: 0 0 18px !important; font-weight: 600; color: var(--cyan); background: rgba(0,212,255,0.12); border: 1px solid rgba(0,212,255,0.35); }
.bl-featured-body .wp-block-post-terms a { color: var(--cyan); text-decoration: none; }
.bl-featured-body .wp-block-post-title { font-family: 'Bebas Neue', sans-serif; font-size: clamp(30px, 3.2vw, 46px); line-height: 1.05; letter-spacing: 1px; margin: 0 0 18px !important; }
.bl-featured-body .wp-block-post-title a { color: var(--white); text-decoration: none; }
.bl-featured-body .wp-block-post-title a:hover { color: var(--cyan); }
.bl-featured-body .wp-block-post-excerpt p { font-size: 15px; line-height: 1.7; color: var(--gray); margin: 0 0 24px; }
.bl-featured-body .wp-block-post-excerpt__more-text, .bl-featured-body .wp-block-post-excerpt__more-link { display: none; }
.bl-featured-meta { display: flex; align-items: center; gap: 12px; font-size: 12px; color: var(--gray); margin: 0 0 12px !important; }
.bl-featured-meta .wp-block-post-author-name { color: var(--white); }
.bl-featured-body .wp-block-read-more { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; letter-spacing: 2px; text-transform: uppercase; color: var(--cyan); text-decoration: none; padding: 16px 0 0; border-top: 1px solid rgba(0,212,255,0.12); margin-top: 8px !important; }
.bl-featured-body .wp-block-read-more:hover { color: var(--white); }

/* Category filter strip */
.bl-filter-strip { background: var(--navy2); border-top: 1px solid rgba(0,212,255,0.08); border-bottom: 1px solid rgba(0,212,255,0.08); padding: 0; }
.bl-filter-bar { display: flex; overflow-x: auto; max-width: 1280px; margin: 0 auto; scrollbar-width: none; }
.bl-filter-bar::-webkit-scrollbar { display: none; }
.bl-filter-bar .bl-filter-btn { flex-shrink: 0; padding: 20px 28px; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--gray); border-bottom: 2px solid transparent; transition: all 0.2s; white-space: nowrap; text-decoration: none; margin: 0; }
.bl-filter-bar .bl-filter-btn:hover { color: var(--white); }
.bl-filter-bar .bl-filter-btn.active { color: var(--cyan); border-bottom-color: var(--cyan); }

/* Latest + per-category section shells */
.bl-latest { padding: 64px 60px; background: var(--navy); }
.bl-cat-section { padding: 64px 60px; background: var(--navy); border-top: 1px solid rgba(0,212,255,0.05); }
.bl-cat-section.alt { background: var(--navy2); }
.bl-section-head, .bl-cat-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin: 0 auto 36px; max-width: 1280px; }
.bl-section-head > *, .bl-cat-head > * { margin-top: 0 !important; }
.bl-cat-head .bl-cat-head-text { max-width: 560px; }
.bl-cat-head .bl-cat-head-text > * { margin-top: 0 !important; }
.bl-cat-head h2 { font-family: 'Bebas Neue', sans-serif !important; font-size: clamp(34px, 4vw, 52px) !important; line-height: 1 !important; letter-spacing: 1px; color: var(--white); margin: 0 0 8px; }
.bl-cat-head p { font-size: 14px; line-height: 1.6; color: var(--gray); margin: 0; }
.bl-cat-head .view-all { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--cyan); text-decoration: none; border: 1px solid rgba(0,212,255,0.3); padding: 12px 18px; transition: all 0.2s; white-space: nowrap; margin: 0; }
.bl-cat-head .view-all:hover { background: var(--cyan); color: var(--navy); }

/* Gradient thumb placeholder for index cards (shows featured image if set) */
.bl-card-thumb { aspect-ratio: 16/9; position: relative; overflow: hidden; background: linear-gradient(135deg,#071428,#1d4ea3); }
.bl-grid > li:nth-child(3n+2) .bl-card-thumb { background: linear-gradient(135deg,#0a1a30,#1e5fbf); }
.bl-grid > li:nth-child(3n+3) .bl-card-thumb { background: linear-gradient(135deg,#040d1a,#235ec9); }
.bl-card-thumb .wp-block-post-featured-image { position: absolute; inset: 0; margin: 0; }
.bl-card-thumb .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }

/* Newsletter */
.bl-news { padding: 80px 60px; background: linear-gradient(135deg, #071428 0%, #0d2650 100%); position: relative; overflow: hidden; }
.bl-news-inner { position: relative; z-index: 1; max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.bl-news-left > * { margin-top: 0 !important; }
.bl-news-left h2 { font-family: 'Bebas Neue', sans-serif !important; font-size: clamp(40px, 5vw, 64px) !important; line-height: 1 !important; letter-spacing: 1px; color: var(--white); margin: 0 0 20px; }
.bl-news-left h2 em { font-style: normal; -webkit-text-stroke: 1.5px var(--cyan); color: transparent; }
.bl-news-left p { font-size: 15px; line-height: 1.7; color: var(--gray); margin: 0; }
.bl-news-card { background: rgba(4,13,26,0.6); border: 1px solid rgba(0,212,255,0.2); padding: 40px 36px; }
.bl-news-card > * { margin-top: 0 !important; }
.bl-news-card .lbl { font-size: 10px; letter-spacing: 3px; text-transform: uppercase; color: var(--cyan); margin: 0 0 10px; }
.bl-news-card h3 { font-family: 'Bebas Neue', sans-serif !important; font-size: 30px !important; line-height: 1; letter-spacing: 1px; color: var(--white); margin: 0 0 20px; }
.bl-news-card .fluentform .ff-el-group { margin-bottom: 12px; }
.bl-news-card .fluentform label { display: none; }
.bl-news-card .fluentform input[type=text], .bl-news-card .fluentform input[type=email] { padding: 16px 18px !important; background: rgba(255,255,255,0.05) !important; border: 1px solid rgba(0,212,255,0.2) !important; color: var(--white) !important; font-family: 'DM Sans', sans-serif !important; font-size: 14px !important; border-radius: 0 !important; box-shadow: none !important; height: auto !important; }
.bl-news-card .fluentform input::placeholder { color: var(--gray) !important; opacity: 1; }
.bl-news-card .fluentform input:focus { border-color: var(--cyan) !important; }
.bl-news-card .fluentform .ff-btn-submit { width: 100%; padding: 18px !important; background: var(--cyan) !important; border: none !important; color: var(--navy) !important; font-family: 'DM Sans', sans-serif !important; font-size: 13px !important; letter-spacing: 2px !important; text-transform: uppercase !important; font-weight: 600 !important; border-radius: 0 !important; cursor: pointer; }
.bl-news-card .fluentform .ff-btn-submit:hover { background: var(--white) !important; }
.bl-news-card .fluentform .ff-message-success { color: var(--white); border: 1px solid rgba(0,212,255,0.3); background: rgba(0,212,255,0.08); padding: 16px; }

/* Bottom CTA */
.bl-cta { padding: 80px 60px; background: var(--navy); }
.bl-cta-inner { max-width: 1100px; margin: 0 auto; background: var(--navy2); border: 1px solid rgba(0,212,255,0.15); padding: 64px 56px; display: grid; grid-template-columns: 1.5fr 1fr; gap: 48px; align-items: center; }
.bl-cta-left > * { margin-top: 0 !important; }
.bl-cta-left h2 { font-family: 'Bebas Neue', sans-serif !important; font-size: clamp(38px, 4.5vw, 56px) !important; line-height: 1 !important; letter-spacing: 1px; color: var(--white); margin: 0 0 16px; }
.bl-cta-left h2 em { font-style: normal; -webkit-text-stroke: 1.5px var(--cyan); color: transparent; }
.bl-cta-left p { font-size: 15px; line-height: 1.7; color: var(--gray); margin: 0; }
.bl-cta-right { display: flex; flex-direction: column; gap: 12px; }
.bl-cta-right > * { margin: 0 !important; }
.bl-cta-right .wp-block-button, .bl-cta-right .wp-block-button__link { width: 100%; text-align: center; }
.bl-cta-right .note { font-size: 12px; color: var(--gray); text-align: center; margin-top: 4px !important; }

@media (max-width: 1100px) {
  .bl-hero { padding: 84px 24px 40px; }
  .bl-body, .bl-single { padding: 40px 24px 64px; }
  .bl-layout { grid-template-columns: 1fr; gap: 40px; }
  .bl-sidebar { position: static; }
  .bl-archive-hero { padding: 84px 24px 36px; }
  .bl-featured { padding: 40px 24px; }
  .bl-featured-loop > li { grid-template-columns: 1fr; }
  .bl-featured-img { min-height: 0; aspect-ratio: 16/9; }
  .bl-featured-body { padding: 32px 24px; }
  .bl-latest, .bl-cat-section, .bl-news, .bl-cta { padding: 48px 24px; }
  .bl-section-head, .bl-cat-head { flex-direction: column; align-items: flex-start; }
  .bl-news-inner { grid-template-columns: 1fr; gap: 32px; }
  .bl-cta-inner { grid-template-columns: 1fr; padding: 40px 28px; gap: 28px; }
  .bl-post-hero { padding: 40px 24px 32px; }
  .bl-post-media { padding: 0 24px; }
  .bl-post-media-inner { aspect-ratio: 16/10; }
  .bl-post-body { padding: 40px 24px 56px; }
  .bl-post-content .wp-block-post-content p, .bl-post-content .wp-block-post-content li { font-size: 16px; }
  .bl-related { padding: 48px 24px; }
}

/* Category archive: browse-categories chip row */
.bl-cat-chips{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px;}
.bl-cat-chips li{margin:0;}
.bl-cat-chips a{display:inline-block;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--cyan);border:1px solid rgba(0,212,255,0.4);border-radius:999px;padding:6px 14px;text-decoration:none;transition:background .2s,color .2s;}
.bl-cat-chips a:hover{background:var(--cyan);color:var(--navy);}
