/*
Theme Name: Public Headlines Magazine
Author: Public Headlines
Description: Standalone editorial magazine theme for Public Headlines. Feature-led homepage, category navigation, responsive layouts, and built-in demo content installer.
Version: 1.4.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: public-headlines-magazine
*/
:root{--ink:#171717;--muted:#6d6d6d;--line:#dedbd5;--paper:#f7f5f0;--white:#fff;--accent:#b21f24;--max:1240px;--serif:Georgia,'Times New Roman',serif;--sans:Inter,Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}img{max-width:100%;height:auto;display:block}.container{width:min(calc(100% - 32px),var(--max));margin:auto}.site-header{background:var(--white);border-bottom:1px solid var(--line);position:relative;z-index:10}.topbar{border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.topbar .container{display:flex;justify-content:space-between;padding:7px 0}.masthead{padding:24px 0 18px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.custom-logo-link{display:inline-block}.custom-logo{max-height:76px;width:auto}.brand{font-family:var(--serif);font-weight:700;font-size:clamp(36px,5vw,66px);letter-spacing:-2px;line-height:.9}.tagline{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin-top:9px}.datebox{text-align:right;color:var(--muted);font-size:13px}.primary-nav{border-top:1px solid var(--line);min-height:48px}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:16px}.menu-toggle{display:none;border:0;background:none;font-size:26px}.main-menu{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0}.main-menu li{margin:0}.main-menu a{display:block;padding:14px 15px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.6px}.main-menu a:hover,.main-menu .current-menu-item>a{background:var(--ink);color:var(--white)}.search-link{font-size:13px;font-weight:700;text-transform:uppercase}.hero{padding:28px 0}.hero-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px}.hero-main,.story-card{background:var(--white);border:1px solid var(--line)}.hero-main{position:relative;min-height:480px;overflow:hidden}.hero-main img{width:100%;height:100%;min-height:480px;object-fit:cover}.hero-main .overlay{position:absolute;inset:auto 0 0;padding:70px 36px 30px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.9))}.kicker{font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent)}.overlay .kicker{color:#fff}.hero-main h1{font-family:var(--serif);font-size:clamp(30px,4vw,54px);line-height:1.02;margin:8px 0}.meta{font-size:12px;color:var(--muted)}.overlay .meta{color:#ddd}.side-stories{display:grid;gap:18px}.story-card{display:grid;grid-template-columns:40% 60%;overflow:hidden}.story-card img{height:100%;min-height:150px;object-fit:cover}.story-card .story-body{padding:17px}.story-card h2{font-family:var(--serif);font-size:23px;line-height:1.08;margin:6px 0 10px}.section{padding:20px 0 34px}.section-head{display:flex;align-items:end;justify-content:space-between;border-top:3px solid var(--ink);padding-top:9px;margin-bottom:18px}.section-head h2{font-family:var(--serif);font-size:30px;margin:0}.section-head a{font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:800}.feature-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.lead-card{background:#fff;border:1px solid var(--line)}.lead-card img{width:100%;aspect-ratio:16/8;object-fit:cover}.lead-card .body{padding:20px}.lead-card h2{font-family:var(--serif);font-size:34px;line-height:1.05;margin:7px 0}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.plain-card{background:#fff;border:1px solid var(--line)}.plain-card img{aspect-ratio:16/9;object-fit:cover}.plain-card .body{padding:15px}.plain-card h3{font-family:var(--serif);font-size:23px;line-height:1.1;margin:6px 0}.three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.post-card{background:#fff;border-bottom:2px solid var(--ink)}.post-card img{aspect-ratio:16/9;object-fit:cover}.post-card .body{padding:14px}.post-card h3{font-family:var(--serif);font-size:21px;line-height:1.1;margin:5px 0}.content-wrap{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:34px;padding:30px 0}.archive-title{font-family:var(--serif);font-size:44px;margin:0 0 20px}.article{background:#fff;padding:34px;border:1px solid var(--line)}.article-title{font-family:var(--serif);font-size:clamp(36px,5vw,64px);line-height:1;margin:8px 0 15px}.article .featured{margin:25px -34px}.article .entry-content{font-family:var(--serif);font-size:19px;line-height:1.8}.article .entry-content p{margin:0 0 1.2em}.article .entry-content h2,.article .entry-content h3{font-family:var(--sans)}.sidebar-box{background:#fff;border:1px solid var(--line);padding:18px;margin-bottom:18px}.sidebar-box h3{margin:0 0 12px;font-size:13px;text-transform:uppercase;letter-spacing:1px;border-bottom:2px solid var(--ink);padding-bottom:8px}.sidebar-box ul{padding-left:18px;margin:0}.site-footer{background:#171717;color:#eee;margin-top:30px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px;padding:42px 0}.footer-brand{font-family:var(--serif);font-size:34px}.footer-grid h3{font-size:12px;text-transform:uppercase;letter-spacing:1px}.footer-grid ul{list-style:none;padding:0;margin:0}.footer-grid li{margin:6px 0;color:#bbb}.copyright{border-top:1px solid #444;padding:14px 0;font-size:12px;color:#aaa}.pagination{display:flex;gap:8px;margin-top:25px}.pagination a,.pagination span{padding:8px 12px;border:1px solid var(--line);background:#fff}.widget-area{min-width:0}@media(max-width:900px){.hero-grid,.feature-grid,.content-wrap{grid-template-columns:1fr}.side-stories{grid-template-columns:1fr 1fr}.datebox{display:none}.footer-grid{grid-template-columns:1fr 1fr}.main-menu{display:none}.menu-toggle{display:block}.nav-inner{padding:8px 0}.primary-nav.is-open .main-menu{display:block;width:100%}.primary-nav.is-open .main-menu a{border-top:1px solid var(--line)}.primary-nav.is-open .nav-inner{display:block}.search-link{position:absolute;right:16px;top:9px}}@media(max-width:600px){.container{width:min(calc(100% - 20px),var(--max))}.topbar .container{padding:7px 0}.topbar .container span:first-child{display:none}.masthead{padding:18px 0}.brand{font-size:42px}.hero-main,.hero-main img{min-height:360px}.hero-main .overlay{padding:55px 20px 22px}.hero-main h1{font-size:34px}.side-stories,.three-grid,.grid-2{grid-template-columns:1fr}.story-card{grid-template-columns:38% 62%}.story-card h2{font-size:19px}.article{padding:20px}.article .featured{margin:20px -20px}.article .entry-content{font-size:18px}.footer-grid{grid-template-columns:1fr}.section-head h2{font-size:25px}}
.media-placeholder{height:100%;min-height:480px;background:linear-gradient(135deg,#ddd,#aaa)}
.hero-deck{max-width:760px;margin:8px 0 12px;font-size:15px;line-height:1.5;color:#eee}
.story-card p{font-size:13px;line-height:1.45;margin:6px 0 9px;color:#555}
.editor-note{background:#ebe7df;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.editor-note-inner{display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:24px;padding:22px 0}.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.7px}.editor-note p{margin:0;font-family:var(--serif);font-size:20px;line-height:1.35}.editor-note a{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;white-space:nowrap}
.latest{padding:8px 0 45px}.latest-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;border-top:1px solid var(--line)}.latest-item{display:grid;grid-template-columns:70px 1fr;gap:15px;padding:18px 0;border-bottom:1px solid var(--line)}.latest-date{font-family:var(--serif);font-size:22px;font-weight:700}.latest-item h3{font-family:var(--serif);font-size:22px;line-height:1.12;margin:4px 0}.latest-item p{font-size:13px;color:#555;margin:5px 0 0;line-height:1.45}
@media(max-width:900px){.editor-note-inner{grid-template-columns:1fr;gap:8px}.latest-grid{grid-template-columns:1fr}.editor-note a{margin-top:4px}}


/* Accessibility and resilient media states */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen-reader-text:focus{position:fixed!important;z-index:99999;top:10px;left:10px;width:auto;height:auto;margin:0;padding:10px 14px;clip:auto;white-space:normal;background:#fff;color:#111;border:2px solid #111}.card-placeholder{aspect-ratio:16/9;background:linear-gradient(135deg,#ddd,#aaa)}.hero-main:focus-within,.story-card:focus-within,.post-card:focus-within,.lead-card:focus-within{outline:2px solid var(--accent);outline-offset:2px}.main-menu a:focus-visible,.search-link:focus-visible,.menu-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}

.ph-ad{width:min(calc(100% - 32px),var(--max));margin:16px auto;padding:8px;text-align:center;background:#fff;border:1px solid var(--line);overflow:hidden}.ph-ad-label{display:block;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:5px}.ph-ad img{margin:auto}.ph-ad iframe{max-width:100%}.ph-ad-sidebar{width:100%;margin:0 0 18px}.ph-ad-footer{margin-bottom:0}.ph-ad-content{margin:0 auto 20px}

.ph-ad-article_intro,.ph-ad-article_middle,.ph-ad-article_end{width:100%;max-width:100%;margin:24px 0;padding:10px 0;border-left:0;border-right:0}
.ph-ad-article_intro img,.ph-ad-article_middle img,.ph-ad-article_end img{max-width:100%;height:auto}
@media (max-width:700px){.ph-ad-article_intro,.ph-ad-article_middle,.ph-ad-article_end{margin:18px 0;padding:8px 0}}

.home-columns{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:34px;align-items:start;padding:30px 0 10px}
.home-main{min-width:0}.home-main .section{padding:0 0 34px}
.home-sidebar{min-width:0;position:sticky;top:20px}
.home-sidebar .ph-ad{width:100%;margin:0 0 18px}
.home-sidebar .ph-ad img{width:100%;height:auto}
.ph-ad-content{margin-top:18px;margin-bottom:0}
@media(max-width:900px){.home-columns{grid-template-columns:1fr}.home-sidebar{position:static}.home-sidebar .ph-ad{max-width:600px;margin-left:auto;margin-right:auto}}

/* v1.8: publication masthead with logo and top banner advertisement side-by-side */
.masthead{align-items:center;grid-template-columns:minmax(250px,1fr) minmax(320px,468px) auto;display:grid;gap:28px;padding:28px 0 22px}
.masthead-brand{min-width:0}.masthead-ad-wrap{min-width:0}.masthead-ad-wrap .ph-ad{width:100%;max-width:468px;margin:0 auto;padding:5px}.masthead-ad-wrap .ph-ad-label{margin-bottom:3px}.masthead-ad-wrap .ph-ad img{width:100%;height:auto;max-height:90px;object-fit:contain}.masthead-ad-wrap .ph-ad iframe{width:100%;max-width:468px}
.custom-logo-link{display:block}.custom-logo{max-height:108px;width:auto;max-width:100%;object-fit:contain}.brand{font-size:clamp(48px,5.8vw,78px)}
@media(max-width:1100px){.masthead{grid-template-columns:minmax(230px,1fr) minmax(280px,420px)}.datebox{display:none}.custom-logo{max-height:96px}}
@media(max-width:900px){.masthead{grid-template-columns:1fr;padding:22px 0 18px;gap:14px}.masthead-ad-wrap{order:2}.masthead-ad-wrap .ph-ad{max-width:728px}.masthead-brand{order:1}.custom-logo{max-height:92px}.datebox{display:none}}
@media(max-width:600px){.masthead{padding:18px 0}.brand{font-size:48px}.custom-logo{max-height:78px}.masthead-ad-wrap .ph-ad{padding:4px}.masthead-ad-wrap .ph-ad img{max-height:70px}}
