/*
Theme Name: GeoSignalHQ
Theme URI: https://geosignalhq.com/
Author: GeoSignalHQ
Description: A clean, responsive news theme with a dense editorial homepage.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: geosignalhq
*/
:root{--ink:#14243a;--blue:#155eef;--muted:#667085;--line:#e5e7eb;--paper:#fff;--wash:#f3f5f8;--red:#c62828}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--wash);color:#1d2939;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55}
a{color:inherit;text-decoration:none}
a:hover{color:var(--blue)}
img{max-width:100%;height:auto;display:block}
.site-header{background:#10233f;color:#fff}
.topline{background:#0b1930;color:#d9e2f2;font-size:12px}
.wrap{width:min(1240px,calc(100% - 32px));margin-inline:auto}
.topline-inner{display:flex;justify-content:space-between;gap:16px;padding:8px 0}
.brand-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand-mark{display:grid;place-items:center;background:#155eef;color:#fff;border-radius:8px;width:46px;height:46px;font-weight:800;font-size:23px}
.site-title{font-weight:800;font-size:30px;line-height:1.1;letter-spacing:-.7px;color:#fff}
.site-description{font-size:12px;color:#c7d2e4;margin-top:5px}
.header-search{display:flex;max-width:300px;width:100%}
.header-search input{min-width:0;width:100%;border:1px solid #52637b;background:#fff;color:#14243a;border-radius:5px 0 0 5px;padding:10px 12px}
.header-search button{border:0;background:#155eef;color:#fff;padding:0 14px;border-radius:0 5px 5px 0;cursor:pointer}
.primary-nav{border-top:1px solid #33445d}
.primary-nav .menu,.primary-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0}
.primary-nav a{display:block;padding:13px 16px;color:#fff;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.3px}
.primary-nav a:hover,.primary-nav .current-menu-item>a{background:#155eef;color:#fff}
.mobile-nav-label{display:none}
.main-area{padding:26px 0 42px}
.breaking{display:flex;align-items:stretch;background:#fff;border:1px solid var(--line);margin-bottom:22px;min-height:42px}
.breaking-label{background:var(--red);color:#fff;padding:10px 14px;font-size:12px;font-weight:800;text-transform:uppercase;white-space:nowrap}
.breaking-text{padding:9px 14px;font-size:13px;font-weight:700}
.section-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--ink);margin:0 0 16px;padding:0 0 8px}
.section-heading h2{margin:0;font-size:19px;line-height:1.25;text-transform:uppercase;letter-spacing:.25px;color:var(--ink)}
.section-heading a{font-size:12px;color:var(--blue);font-weight:700;text-transform:uppercase}
.lead-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,1fr);gap:18px;margin-bottom:28px}
.lead-card,.story-card,.list-story,.sidebar-box,.category-block{background:#fff;border:1px solid var(--line);min-width:0}
.lead-card{position:relative;overflow:hidden}
.lead-card .thumb{display:block;aspect-ratio:16/9;max-height:360px;overflow:hidden;background:#dbe3ee}
.lead-card .thumb img{display:block;width:100%;height:100%;max-height:360px;object-fit:cover}
.lead-copy{display:block;padding:18px 20px 20px;background:#fff;position:relative;z-index:1}
.kicker{display:inline-block;color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;margin-bottom:7px}
.lead-copy h1{display:block;font-size:clamp(25px,3vw,38px);line-height:1.12;letter-spacing:-.8px;margin:0 0 10px;color:#101828}
.lead-copy p{margin:0;color:#596579;font-size:15px}
.byline{color:var(--muted);font-size:12px;margin-top:12px}
.lead-side{display:grid;grid-template-rows:1fr 1fr;gap:18px}
.side-feature{display:grid;grid-template-columns:42% 1fr;background:#fff;border:1px solid var(--line);min-height:0}
.side-feature .thumb{overflow:hidden;background:#dbe3ee;min-height:135px}
.side-feature .thumb img{height:100%;width:100%;object-fit:cover}
.side-feature .story-copy{padding:13px}
.side-feature h3{font-size:17px;line-height:1.22;margin:0 0 8px;color:#101828}
.story-card .thumb{aspect-ratio:16/9;overflow:hidden;background:#dbe3ee}
.story-card .thumb img{width:100%;height:100%;object-fit:cover}
.story-copy{padding:13px 14px 15px}
.story-copy h3{font-size:17px;line-height:1.28;margin:0 0 8px;color:#101828}
.story-copy p{font-size:13px;color:#667085;margin:0}
.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}
.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:30px}
.news-grid .story-card{height:100%}
.category-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.category-block{padding:16px;margin-bottom:22px}
.category-block .section-heading{margin-bottom:10px}
.category-list{display:grid;gap:0}
.list-story{display:grid;grid-template-columns:104px minmax(0,1fr);gap:12px;border:0;border-bottom:1px solid var(--line);padding:12px 0}
.list-story:last-child{border-bottom:0}
.list-story .thumb{aspect-ratio:4/3;background:#dbe3ee;overflow:hidden}
.list-story .thumb img{height:100%;width:100%;object-fit:cover}
.list-story h3{font-size:14px;line-height:1.3;margin:0 0 5px;color:#101828}
.list-story .byline{margin:0;font-size:11px}
.sidebar-box{padding:16px;margin-bottom:20px}
.sidebar-box h2{font-size:17px;margin:0 0 12px;border-bottom:2px solid var(--ink);padding-bottom:8px;text-transform:uppercase}
.trending-item{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}
.trending-item:last-child{border-bottom:0}
.trending-number{font-size:22px;font-weight:800;color:#b7c2d2}
.trending-item h3{font-size:14px;line-height:1.3;margin:0}
.sidebar-note{color:var(--muted);font-size:13px}
.archive-header{background:#fff;padding:22px;border:1px solid var(--line);margin-bottom:20px}
.archive-header h1{font-size:30px;margin:0 0 6px;color:var(--ink)}
.archive-header p{margin:0;color:var(--muted)}
.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pagination{display:flex;gap:7px;margin:26px 0;flex-wrap:wrap}
.pagination .page-numbers{padding:8px 12px;background:#fff;border:1px solid var(--line);font-weight:700}
.pagination .current{background:var(--blue);color:#fff}
.article{background:#fff;border:1px solid var(--line);padding:clamp(18px,4vw,38px);max-width:900px;margin:0 auto}
.article h1{font-size:clamp(30px,4vw,46px);line-height:1.12;letter-spacing:-.8px;color:#101828;margin:4px 0 14px}
.article .article-image{margin:20px 0}
.article .article-image img{width:100%;max-height:540px;object-fit:cover}
.article-content{font-size:18px;line-height:1.8}
.article-content h2,.article-content h3{line-height:1.3;color:var(--ink)}
.article-content a{color:var(--blue);text-decoration:underline}
.site-footer{background:#0b1930;color:#d5deeb;padding:32px 0}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.footer-title{font-weight:800;font-size:20px;color:#fff}
.footer-links{display:flex;gap:16px;flex-wrap:wrap;font-size:13px}
.site-footer small{color:#9baac0}
.empty-state{background:#fff;border:1px solid var(--line);padding:24px}
.wp-block-image img{height:auto}
@media(max-width:900px){
 .lead-grid{grid-template-columns:1fr}
 .lead-side{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}
 .content-layout{grid-template-columns:minmax(0,1fr) 260px;gap:16px}
 .news-grid,.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .category-sections{grid-template-columns:1fr}
}
@media(max-width:680px){
 .wrap{width:min(100% - 22px,1240px)}
 .topline-inner{font-size:11px}
 .brand-row{padding:16px 0;align-items:flex-start}
 .site-title{font-size:24px}
 .site-description{max-width:220px}
 .brand-mark{width:40px;height:40px;font-size:20px}
 .header-search{max-width:42px}
 .header-search input{display:none}
 .header-search button{height:40px;width:42px;border-radius:5px;font-size:0}
 .header-search button:after{content:"⌕";font-size:22px}
 .primary-nav .menu,.primary-nav ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
 .primary-nav a{text-align:center;padding:11px 5px;font-size:11px}
 .main-area{padding-top:16px}
 .breaking{display:block}
 .breaking-label{display:block}
 .breaking-text{padding:10px 12px}
 .lead-side{grid-template-columns:1fr}
 .side-feature{grid-template-columns:38% 1fr}
 .side-feature .thumb{min-height:110px}
 .side-feature h3{font-size:15px}
 .content-layout{grid-template-columns:1fr}
 .news-grid,.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .story-copy{padding:10px}
 .story-copy h3{font-size:15px}
 .story-copy p{display:none}
 .sidebar{display:grid;grid-template-columns:1fr}
 .category-block{padding:12px}
 .list-story{grid-template-columns:86px 1fr;gap:10px}
 .list-story h3{font-size:13px}
 .archive-header h1{font-size:25px}
}
@media(max-width:420px){
 .news-grid,.archive-grid{grid-template-columns:1fr}
 .story-card{display:grid;grid-template-columns:38% 1fr}
 .story-card .thumb{height:100%;min-height:120px;aspect-ratio:auto}
 .story-card .story-copy{align-self:center}
 .story-card .story-copy p{display:none}
 .lead-copy{padding:15px}
 .lead-copy h1{font-size:26px}
}

/* GeoSignalHQ homepage featured-story visibility and image sizing */
.lead-card .thumb img { max-width: 100%; }
.lead-copy h1 a { color: #101828; }
.lead-copy h1 a:hover { color: var(--blue); }
.lead-copy p { display: block; }
.story-copy h3 a:hover, .side-feature h3 a:hover { color: var(--blue); }
@media (min-width: 901px) {
  .lead-card .thumb { max-height: 360px; }
  .lead-card .thumb img { max-height: 360px; }
}

/* GeoSignalHQ editorial homepage: recurring three-column category sections */
.editorial-section{margin:24px 0 38px}
.editorial-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1.08fr) minmax(0,.85fr);gap:20px;align-items:start}
.editorial-lead,.editorial-small,.editorial-headlines{min-width:0}
.editorial-lead .thumb{display:block;aspect-ratio:16/10;overflow:hidden;background:#dbe3ee}
.editorial-lead .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.editorial-lead-copy{padding:12px 0}
.editorial-lead h3{font-size:clamp(23px,2.2vw,34px);line-height:1.15;margin:0 0 10px}
.editorial-lead p{font-size:14px;line-height:1.5;margin:0 0 10px}
.editorial-illustrated{display:flex;flex-direction:column;gap:14px}
.editorial-small{display:grid;grid-template-columns:43% minmax(0,1fr);gap:10px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.editorial-small .thumb{display:block;aspect-ratio:4/3;overflow:hidden;background:#dbe3ee}
.editorial-small .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.editorial-small h3{font-size:15px;line-height:1.3;margin:0 0 7px}
.editorial-headlines{border-left:1px solid var(--line);padding-left:17px}
.editorial-headlines>h3{font-size:15px;text-transform:uppercase;margin:0 0 8px}
.editorial-headline{padding:10px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.editorial-headline time{font-size:11px;color:#64748b}
.editorial-headline a{font-size:14px;line-height:1.32;font-weight:700}
.editorial-grid a:hover{color:var(--blue)}
@media(max-width:900px){.editorial-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.editorial-headlines{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:12px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.editorial-headlines>h3{grid-column:1/-1}}
@media(max-width:600px){.editorial-grid{grid-template-columns:1fr}.editorial-headlines{grid-column:auto;grid-template-columns:1fr}.editorial-small{grid-template-columns:38% minmax(0,1fr)}.editorial-lead h3{font-size:26px}}
