/*
Theme Name: Gazette News 247
Theme URI: https://gazettenews247.com
Author: Sopetech
Author URI: https://gazettenews247.com
Description: A registered-newspaper themed WordPress theme for Gazette News 247 — built for news content plus a dedicated legal & public notice publication service.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: gazette247
*/

:root{
  --navy:#16233F;
  --navy-deep:#0E1830;
  --gold:#A67C3D;
  --gold-light:#C79B5C;
  --paper:#F6F1E4;
  --paper-dark:#EDE6D3;
  --wine:#7A1E2B;
  --ink:#211D17;
  --ink-soft:#5B564A;
  --line:rgba(33,29,23,0.16);
  --radius:2px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Inter',sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,.display{
  font-family:'Fraunces',serif;
  font-weight:600;
  color:var(--navy);
  margin:0 0 .4em;
  letter-spacing:-0.01em;
}
.mono{font-family:'IBM Plex Mono',monospace;}
a{color:var(--navy);text-decoration:none;}
a:hover{color:var(--wine);}
img{max-width:100%;height:auto;display:block;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
section{position:relative;}
ul.plain{list-style:none;margin:0;padding:0;}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--line);}
.admin-bar .site-header{top:32px;}
@media screen and (max-width:782px){ .admin-bar .site-header{top:46px;} }

.nav-top{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;max-width:1180px;margin:0 auto;gap:24px;}
.nav-top-right{display:flex;align-items:center;gap:14px;flex-shrink:0;}
.brand{display:flex;align-items:center;gap:10px;}
.brand-mark{width:34px;height:34px;border-radius:50%;background:var(--navy);color:var(--paper);display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-weight:700;font-size:16px;border:1px solid var(--gold);flex-shrink:0;}
.brand-name{font-family:'Fraunces',serif;font-weight:600;font-size:17px;color:var(--navy);}
.brand-name span{color:var(--wine);} /* used if a nav-menu or plugin nests a span inside the site title */
.brand a{display:flex;align-items:center;gap:10px;}

.nav-bottom{border-top:1px solid var(--line);}
.primary-menu{display:flex;flex-wrap:wrap;gap:4px 30px;font-size:13.5px;font-weight:500;color:var(--ink-soft);list-style:none;padding:12px 32px;margin:0 auto;max-width:1180px;}
.primary-menu a{color:var(--ink-soft);display:inline-block;padding:4px 0;}
.primary-menu a:hover, .primary-menu .current-menu-item > a{color:var(--navy);}

.header-cta{background:var(--gold);color:var(--navy-deep);padding:10px 20px;border-radius:var(--radius);font-size:13.5px;font-weight:600;flex-shrink:0;white-space:nowrap;}
.header-cta:hover{background:var(--gold-light);color:var(--navy-deep);}
.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:var(--radius);padding:8px 12px;font-family:'IBM Plex Mono',monospace;font-size:12px;cursor:pointer;color:var(--navy);}

@media (max-width:860px){
  .nav-bottom{display:none;}
  .nav-bottom.open{display:block;}
  .primary-menu{flex-direction:column;gap:0;padding:8px 32px 16px;}
  .primary-menu a{display:block;padding:12px 0;border-top:1px solid var(--line);}
  .header-cta{padding:9px 14px;font-size:12.5px;}
  .menu-toggle{display:block;}
}

/* ---------- Eyebrow / section head (shared) ---------- */
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--wine);margin-bottom:14px;display:flex;align-items:center;gap:10px;}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--wine);display:inline-block;}
.section-head{max-width:640px;margin-bottom:44px;}
.section-head h2{font-size:30px;line-height:1.2;}
.section-head p{color:var(--ink-soft);margin-top:12px;font-size:15.5px;}

/* ---------- Homepage: featured + grid ---------- */
.home-hero{padding:56px 0 20px;}
.featured-post{display:grid;grid-template-columns:1.1fr 0.9fr;gap:44px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:56px;margin-bottom:56px;}
.featured-post .cat-tag{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--wine);}
.featured-post h1{font-size:36px;line-height:1.15;margin:14px 0 16px;}
.featured-post .excerpt{color:var(--ink-soft);font-size:15.5px;margin-bottom:18px;}
.featured-post .meta{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--ink-soft);}
.featured-post .thumb{border:1px solid var(--line);overflow:hidden;box-shadow:0 30px 60px -30px rgba(22,35,63,.35);}
.featured-post .thumb img{transition:transform .5s ease;}
.featured-post .thumb:hover img{transform:scale(1.03);}

.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);isolation:isolate;}
.article-card{background:var(--paper);padding:26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s;overflow:hidden;}
.article-card:hover{background:var(--paper-dark);}
.article-card .thumb{margin-bottom:16px;border:1px solid var(--line);aspect-ratio:16/10;overflow:hidden;background:var(--paper-dark);}
.article-card .thumb img{width:100%;height:100%;object-fit:cover;}
.article-card .cat-tag{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);}
.article-card h3{font-size:18px;margin:10px 0 8px;line-height:1.3;}
.article-card h3 a{color:var(--navy);}
.article-card .excerpt{font-size:13.5px;color:var(--ink-soft);margin-bottom:10px;}
.article-card .meta{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ink-soft);}

.section-strip{padding:60px 0;isolation:isolate;}

/* ---------- Sidebar ---------- */
.content-layout{display:grid;grid-template-columns:1fr 300px;gap:56px;padding:48px 0 90px;align-items:start;}
.widget{border:1px solid var(--line);padding:24px;margin-bottom:26px;background:var(--paper-dark);}
.widget h4{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--wine);margin-bottom:16px;}
.widget ul{list-style:none;margin:0;padding:0;}
.widget li{padding:9px 0;border-bottom:1px solid var(--line);font-size:13.8px;}
.widget li:last-child{border-bottom:none;}
.widget_search input[type="search"]{width:100%;padding:10px 12px;border:1px solid var(--line);background:var(--paper);font-family:'Inter',sans-serif;font-size:13.5px;}
.widget_search input[type="submit"]{margin-top:8px;width:100%;background:var(--navy);color:var(--paper);border:none;padding:10px;font-weight:600;cursor:pointer;}

/* ---------- Single post ---------- */
.single-article{padding:52px 0 40px;}
.single-article .cat-tag{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--wine);}
.single-article h1{font-size:38px;line-height:1.16;margin:14px 0 18px;max-width:820px;}
.single-article .byline{font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--ink-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin-bottom:28px;display:flex;gap:22px;flex-wrap:wrap;}
.single-article .featured-image{border:1px solid var(--line);margin-bottom:32px;}
.entry-content{font-family:'Fraunces',serif;font-size:18px;line-height:1.8;color:var(--ink);max-width:760px;}
.entry-content p{margin:0 0 22px;}
.entry-content h2, .entry-content h3{font-family:'Fraunces',serif;margin-top:1.4em;}
.entry-content blockquote{border-left:3px solid var(--gold);padding-left:20px;margin:28px 0;font-style:italic;color:var(--ink-soft);}
.entry-content img{margin:28px 0;border:1px solid var(--line);}
.entry-content a{border-bottom:1px solid var(--gold);}
.tag-list{margin-top:34px;display:flex;gap:10px;flex-wrap:wrap;}
.tag-list a{font-family:'IBM Plex Mono',monospace;font-size:11.5px;border:1px solid var(--line);padding:6px 12px;color:var(--ink-soft);}
.tag-list a:hover{border-color:var(--gold);color:var(--navy);}

/* ---------- Archive ---------- */
.archive-header{padding:50px 0 10px;border-bottom:1px solid var(--line);margin-bottom:10px;}
.archive-header .eyebrow{margin-bottom:10px;}
.archive-header h1{font-size:32px;}
.archive-list{display:flex;flex-direction:column;}
.archive-row{display:grid;grid-template-columns:150px 1fr;gap:24px;padding:26px 0;border-bottom:1px solid var(--line);}
.archive-row .thumb{border:1px solid var(--line);aspect-ratio:4/3;overflow:hidden;background:var(--paper-dark);}
.archive-row .thumb img{width:100%;height:100%;object-fit:cover;}
.archive-row h3{font-size:19px;margin-bottom:6px;}
.archive-row .excerpt{font-size:13.8px;color:var(--ink-soft);}
.archive-row .meta{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ink-soft);margin-top:8px;}

/* ---------- Pagination ---------- */
.pagination{display:flex;gap:8px;margin-top:40px;flex-wrap:wrap;}
.pagination a, .pagination span{font-family:'IBM Plex Mono',monospace;font-size:12.5px;border:1px solid var(--line);padding:8px 14px;color:var(--ink-soft);}
.pagination .current{background:var(--navy);color:var(--paper);border-color:var(--navy);}
.pagination a:hover{border-color:var(--gold);color:var(--navy);}

/* ---------- Page (generic) ---------- */
.page-content{padding:60px 0 100px;}
.page-content .entry-content{max-width:820px;}
.page-content h1{font-size:34px;margin-bottom:26px;}

/* ---------- Comments ---------- */
.comments-area{max-width:760px;margin-top:50px;padding-top:40px;border-top:1px solid var(--line);}
.comment-list{list-style:none;margin:0 0 30px;padding:0;}
.comment-list li{border-bottom:1px solid var(--line);padding:18px 0;font-size:14px;}
.comment-form input, .comment-form textarea{width:100%;padding:10px 12px;border:1px solid var(--line);background:var(--paper-dark);font-family:'Inter',sans-serif;margin-bottom:14px;}
.comment-form input[type="submit"]{width:auto;background:var(--navy);color:var(--paper);border:none;padding:11px 26px;font-weight:600;cursor:pointer;}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy-deep);color:rgba(246,241,228,0.7);padding:56px 0 30px;margin-top:60px;}
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px;margin-bottom:42px;}
.footer-grid h5{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-light);margin-bottom:16px;}
.footer-grid a{display:block;font-size:13.5px;padding:5px 0;color:rgba(246,241,228,0.68);}
.footer-grid a:hover{color:var(--paper);}
.footer-grid p{font-size:13px;max-width:280px;opacity:.7;color:rgba(246,241,228,0.7);}
.footer-bottom{border-top:1px solid rgba(246,241,228,0.14);padding-top:22px;display:flex;justify-content:space-between;font-size:12px;flex-wrap:wrap;gap:10px;}
.site-footer .brand-name{color:var(--paper);}
.site-footer .brand-name span{color:var(--gold-light);}

/* ---------- 404 ---------- */
.error-404{padding:110px 0;text-align:center;}
.error-404 .code{font-family:'IBM Plex Mono',monospace;color:var(--wine);font-size:14px;letter-spacing:.1em;}
.error-404 h1{font-size:42px;margin:14px 0 20px;}

/* ---------- Buttons (shared) ---------- */
.cta-btn{background:var(--navy);color:var(--paper);padding:11px 22px;border-radius:var(--radius);font-size:14px;font-weight:600;letter-spacing:.01em;border:1px solid var(--navy);transition:background .2s,color .2s;display:inline-block;}
.cta-btn:hover{background:var(--navy-deep);color:var(--paper);}
.cta-btn.gold{background:var(--gold);border-color:var(--gold);color:var(--navy-deep);}
.cta-btn.gold:hover{background:var(--gold-light);color:var(--navy-deep);}
.cta-btn.outline{background:transparent;color:var(--navy);border:1px solid var(--navy);}
.cta-btn.outline:hover{background:var(--navy);color:var(--paper);}

@media (max-width:900px){
  .featured-post{grid-template-columns:1fr;}
  .news-grid{grid-template-columns:1fr 1fr;}
  .content-layout{grid-template-columns:1fr;}
  .archive-row{grid-template-columns:100px 1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:600px){
  .news-grid{grid-template-columns:1fr;}
}
