/*
Theme Name: US News Theme
Theme URI: https://example.com/us-news
Author: US News Theme
Description: Premium American digital news and editorial theme. Mobile-first, lightweight, Google News and AdSense ready.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: us-news
Tags: news, blog, two-columns, right-sidebar, custom-logo, custom-menu, featured-images, translation-ready, accessibility-ready
*/

:root{
  --usn-bg:#ffffff;
  --usn-ink:#111418;
  --usn-ink-2:#3a3f45;
  --usn-muted:#6b7280;
  --usn-rule:#e5e7eb;
  --usn-accent:#0b1f3a;      /* deep navy */
  --usn-accent-2:#a0141b;    /* deep red */
  --usn-max:1240px;
  --usn-gap:24px;
  --usn-radius:2px;
  --usn-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --usn-serif: Georgia, "Times New Roman", serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--usn-bg);color:var(--usn-ink);
  font-family:var(--usn-font);font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--usn-accent);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:var(--usn-serif);line-height:1.2;color:var(--usn-ink);margin:0 0 .4em}
h1{font-size:2rem}
h2{font-size:1.5rem}
h3{font-size:1.2rem}
:focus-visible{outline:3px solid var(--usn-accent-2);outline-offset:2px}

.usn-container{max-width:var(--usn-max);margin:0 auto;padding:0 16px}
.usn-skip{position:absolute;left:-9999px}
.usn-skip:focus{left:8px;top:8px;z-index:9999;background:#fff;padding:8px 12px;border:2px solid var(--usn-accent)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* Header */
.usn-header{border-bottom:1px solid var(--usn-rule);background:#fff}
.usn-header__inner{display:flex;align-items:center;gap:16px;min-height:64px}
.usn-brand{display:flex;align-items:center;gap:10px;font-family:var(--usn-serif);font-weight:700;font-size:1.4rem;color:var(--usn-ink)}
.usn-brand img{max-height:44px;width:auto}
.usn-nav{margin-left:auto;display:none}
.usn-nav ul{display:flex;gap:20px;list-style:none;margin:0;padding:0}
.usn-nav a{color:var(--usn-ink);font-weight:600;font-size:.95rem}
.usn-actions{display:flex;align-items:center;gap:8px}
.usn-toggle{background:none;border:1px solid var(--usn-rule);border-radius:var(--usn-radius);padding:8px 10px;cursor:pointer;font-size:1rem}
.usn-nav--open{display:block;width:100%}
.usn-nav--open ul{flex-direction:column;padding:12px 0;border-top:1px solid var(--usn-rule)}

/* Breaking ticker */
.usn-ticker{background:var(--usn-accent-2);color:#fff;font-size:.85rem}
.usn-ticker__inner{display:flex;gap:12px;align-items:center;padding:6px 16px;overflow:hidden}
.usn-ticker__label{font-weight:700;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.usn-ticker a{color:#fff;text-decoration:none;white-space:nowrap}

/* Layout */
.usn-main{padding:28px 0}
.usn-layout{display:grid;grid-template-columns:1fr;gap:32px}
.usn-layout--sidebar{grid-template-columns:1fr}
@media(min-width:1024px){
  .usn-layout--sidebar{grid-template-columns:minmax(0,1fr) 320px}
  .usn-nav{display:block}
  .usn-toggle--menu{display:none}
}

/* Cards */
.usn-grid{display:grid;gap:var(--usn-gap)}
.usn-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.usn-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.usn-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.usn-grid--3,.usn-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.usn-grid--2,.usn-grid--3,.usn-grid--4{grid-template-columns:1fr}}

.card{border-bottom:1px solid var(--usn-rule);padding-bottom:18px;margin-bottom:18px}
.card__media img{width:100%;aspect-ratio:16/9;object-fit:cover;background:#f3f4f6}
.card__cat{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--usn-accent-2);margin:10px 0 6px}
.card__title{font-size:1.15rem;margin:0 0 6px}
.card__title a{color:var(--usn-ink)}
.card__meta{font-size:.8rem;color:var(--usn-muted)}
.card--hero .card__title{font-size:2rem}
.card--hero .card__media img{aspect-ratio:16/9}
.card--list{display:flex;gap:14px;align-items:flex-start}
.card--list .card__media{flex:0 0 120px}
.card--list .card__media img{aspect-ratio:1/1}
.card--compact{border-bottom:1px solid var(--usn-rule);padding-bottom:12px;margin-bottom:12px}
.card--compact .card__title{font-size:1rem}

/* Section */
.usn-section{margin-bottom:36px}
.usn-section__head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:2px solid var(--usn-ink);margin-bottom:18px;padding-bottom:6px}
.usn-section__title{font-size:1.25rem;margin:0;text-transform:uppercase;letter-spacing:.04em}
.usn-section--alt{background:#fafafa;padding:24px 16px;border-radius:var(--usn-radius)}

/* Single */
.article{max-width:760px}
.article__headline{font-size:2.2rem;margin-bottom:.3em}
.article__deck{font-size:1.2rem;color:var(--usn-ink-2);font-family:var(--usn-serif);margin:0 0 1em}
.article__meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.85rem;color:var(--usn-muted);border-top:1px solid var(--usn-rule);border-bottom:1px solid var(--usn-rule);padding:10px 0;margin-bottom:20px}
.article__body{font-size:1.08rem;line-height:1.75}
.article__body p{margin:0 0 1.15em}
.article__body h2,.article__body h3{margin-top:1.6em}
.article__body blockquote{border-left:4px solid var(--usn-accent);margin:1.5em 0;padding:.4em 1em;color:var(--usn-ink-2);font-family:var(--usn-serif);font-size:1.1rem}
.article__body figure{margin:1.5em 0}
.article__body figcaption{font-size:.8rem;color:var(--usn-muted);margin-top:6px}
.article__share{display:flex;gap:10px;margin:20px 0}
.article__share a{border:1px solid var(--usn-rule);padding:6px 10px;border-radius:var(--usn-radius);font-size:.85rem}

.author-box{border-top:1px solid var(--usn-rule);margin-top:36px;padding-top:20px;display:flex;gap:16px}
.author-box img{border-radius:50%;width:64px;height:64px;object-fit:cover}

/* Ads */
.usn-ad{margin:24px 0;text-align:center;overflow:hidden}
.usn-ad__label{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:var(--usn-muted);margin-bottom:4px}
.hide-desktop,.hide-tablet,.hide-mobile{display:block}
@media(min-width:1024px){.hide-desktop{display:none!important}}
@media(min-width:600px) and (max-width:1023px){.hide-tablet{display:none!important}}
@media(max-width:599px){.hide-mobile{display:none!important}}

/* Footer */
.usn-footer{background:var(--usn-ink);color:#cfd3d8;margin-top:40px;padding:32px 0}
.usn-footer a{color:#fff}
.usn-footer__grid{display:grid;gap:24px;grid-template-columns:1fr}
@media(min-width:768px){.usn-footer__grid{grid-template-columns:2fr 1fr 1fr}}

/* Header extras */
.usn-header--sticky{position:sticky;top:0;z-index:100}
.admin-bar .usn-header--sticky{top:32px}
@media(max-width:782px){.admin-bar .usn-header--sticky{top:46px}}
.usn-date{display:none;font-size:.8rem;color:var(--usn-muted);white-space:nowrap}
@media(min-width:1024px){.usn-date{display:inline}}
.usn-nav li{position:relative}
.usn-nav .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:200px;background:#fff;border:1px solid var(--usn-rule);padding:8px 12px;flex-direction:column;gap:8px;z-index:50}
.usn-nav li:hover>.sub-menu,.usn-nav li:focus-within>.sub-menu{display:flex}
.usn-nav--open .sub-menu{display:flex;position:static;border:0;padding-left:16px}

/* Breadcrumbs, post nav, misc */
.usn-breadcrumbs ol{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-wrap:wrap;gap:6px;font-size:.8rem;color:var(--usn-muted)}
.usn-breadcrumbs li+li::before{content:"›";margin-right:6px}
.usn-postnav{display:flex;justify-content:space-between;gap:16px;margin:28px 0;font-weight:600}
.usn-tags a{font-size:.8rem}
.usn-pagelinks{margin:1em 0;font-weight:600}
.pagination .nav-links,.nav-links{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}
.page-numbers{padding:6px 12px;border:1px solid var(--usn-rule)}
.page-numbers.current{background:var(--usn-accent);color:#fff;border-color:var(--usn-accent)}
.widget{margin-bottom:28px}
.widget-title{font-size:1rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid var(--usn-ink);padding-bottom:6px}
.widget ul{list-style:none;padding:0;margin:0}
.widget li{padding:6px 0;border-bottom:1px solid var(--usn-rule)}
.usn-footer .widget-title{color:#fff;border-color:#fff}
.usn-comments{margin-top:36px}
.comment-list{list-style:none;padding:0}
.comment-list .children{list-style:none;padding-left:24px}
.search-form{display:flex;gap:8px;margin:12px 0 24px}
.search-form input[type=search]{flex:1;padding:8px;border:1px solid var(--usn-rule)}
input,textarea,select,button{font:inherit}

/* Mobile sticky ad (AD13) */
@media(max-width:599px){
  .usn-ad--ad13{position:fixed;left:0;right:0;bottom:0;margin:0;z-index:90;background:#fff;box-shadow:0 -2px 8px rgba(0,0,0,.12);min-height:0!important;max-height:120px}
  body:has(.usn-ad--ad13){padding-bottom:110px}
}

/* WordPress core classes */
.alignleft{float:left;margin:0 1.5em 1em 0}
.alignright{float:right;margin:0 0 1em 1.5em}
.aligncenter{display:block;margin-left:auto;margin-right:auto}
.alignwide{max-width:none}
.wp-caption{max-width:100%}
.wp-caption-text,.gallery-caption{font-size:.8rem;color:var(--usn-muted)}
.sticky .card__title::before{content:"★ ";color:var(--usn-accent-2)}
.bypostauthor>.comment-body{border-left:3px solid var(--usn-accent);padding-left:10px}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.usn-header__inner{flex-wrap:wrap}
