/*
Theme Name: Cobalt Publisher Shield
Theme URI: https://openai.com/
Author: OpenAI
Author URI: https://openai.com/
Description: Hardened WordPress publishing theme focused on SEO clarity, strong readability, and safer AdSense-ready layout structure while keeping the cleaner original homepage flow.
Version: 1.0.1
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 8.0
Text Domain: cobalt-publisher-shield
Tags: blog, news, magazine, two-columns, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

:root {
  --bg: #f6f8fb;
  --surface: #ffffff;
  --surface-alt: #eef2f7;
  --text: #182230;
  --muted: #667085;
  --border: #e5eaf1;
  --accent: #1a73e8;
  --accent-2: #1a73e8;
  --maxw: 1240px;
  --radius: 20px;
  --shadow: 0 14px 40px rgba(15, 23, 42, .07);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; color:var(--text); background:var(--bg); line-height:1.75; }
a { color: var(--accent); text-decoration:none; }
a:hover { text-decoration:underline; }
img { max-width:100%; height:auto; display:block; }
.container { width:min(100% - 32px, var(--maxw)); margin:0 auto; }
.site-topbar { background:#101828; color:#e7eef9; font-size:.92rem; }
.topbar-row { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:42px; }
.topbar-right .category-pills { margin:0; }
.site-header { border-bottom:1px solid var(--border); background:rgba(255,255,255,.88); position:sticky; top:0; z-index:30; backdrop-filter:saturate(180%) blur(14px); }
.header-row { display:flex; align-items:center; gap:20px; padding:16px 0; }
.branding { flex:1; min-width:0; }
.site-title { font-size:1.65rem; font-weight:800; margin:0; letter-spacing:-.03em; }
.site-description { color:var(--muted); font-size:.95rem; margin-top:4px; }
.logo-link { display:flex; align-items:center; gap:12px; color:inherit; text-decoration:none; }
.logo-link img { max-height:52px; width:auto; }

/* PRIMARY NAV */
.primary-nav { display:flex; align-items:center; gap:16px; }
.primary-nav .primary-menu,
.primary-nav .menu {
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  gap:22px;
  flex-wrap:wrap;
  align-items:center;
}
.primary-nav .menu-item {
  position:relative;
  list-style:none;
}
.primary-nav a { color:var(--text); font-weight:700; text-decoration:none; }
.primary-nav a:hover { color:var(--accent); text-decoration:none; }

/* top menu accordion */
.primary-nav .menu-item-has-children {
  display:flex;
  align-items:center;
  gap:8px;
}
.primary-nav .menu-item-has-children > a {
  display:inline-flex;
  align-items:center;
  min-width:0;
}
.primary-nav .submenu-toggle {
  width:32px;
  height:32px;
  border:1px solid var(--border);
  background:#fff;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  padding:0;
  transition:all .2s ease;
  flex:0 0 32px;
}
.primary-nav .submenu-toggle:hover {
  border-color:var(--accent);
}
.primary-nav .submenu-toggle span {
  width:10px;
  height:10px;
  border-right:2px solid var(--text);
  border-bottom:2px solid var(--text);
  transform:rotate(45deg);
  margin-top:-3px;
  transition:transform .2s ease, margin-top .2s ease;
}
.primary-nav .menu-item.is-open > .submenu-toggle span {
  transform:rotate(-135deg);
  margin-top:3px;
}
.primary-nav .sub-menu {
  list-style:none;
  margin:12px 0 0;
  padding:14px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:16px;
  box-shadow:0 18px 40px rgba(16,24,40,.08);
  min-width:240px;
  display:none;
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  z-index:50;
}
.primary-nav .sub-menu li + li { margin-top:10px; }
.primary-nav .sub-menu a {
  display:block;
  font-weight:600;
  color:var(--text);
  text-decoration:none;
}
.primary-nav .sub-menu a:hover {
  color:var(--accent);
  text-decoration:none;
}
.primary-nav .menu-item.is-open > .sub-menu { display:block; }

.header-tools { display:flex; gap:12px; align-items:center; }
.menu-toggle { display:none; }
.search-form { display:flex; align-items:center; gap:8px; }
.search-field { border:1px solid var(--border); background:#fff; border-radius:999px; min-width:220px; padding:11px 14px; }
.search-submit, .menu-toggle-btn, .btn-primary { border:0; background:linear-gradient(135deg, var(--accent), var(--accent-2)); color:#fff; border-radius:999px; padding:12px 18px; cursor:pointer; font-weight:700; box-shadow:0 10px 20px rgba(26,115,232,.18); }
.btn-primary { display:inline-flex; align-items:center; justify-content:center; }
.top-ad, .below-header-ad, .before-content-ad, .mid-content-ad, .after-content-ad, .sidebar-ad { margin:18px auto; }
.widgetized-ad { border:1px dashed var(--border); background:var(--surface-alt); min-height:90px; border-radius:14px; display:flex; align-items:center; justify-content:center; color:var(--muted); text-align:center; padding:12px; }
.site-main { padding:30px 0 52px; }
.content-grid { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:30px; }
.no-sidebar .content-grid { grid-template-columns:minmax(0,1fr); }
.card, .archive-header { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden; }
.hero-grid { display:grid; grid-template-columns:1.65fr 1fr; gap:22px; margin-bottom:28px; }
.hero-main-premium .entry-title { font-size:clamp(2rem, 3vw, 2.95rem); }
.hero-side-stack { display:grid; gap:16px; }
.post-card { display:flex; flex-direction:column; }
.post-card-horizontal { flex-direction:row; min-height:132px; }
.post-card-horizontal .post-thumb { width:38%; min-width:38%; }
.post-card-horizontal .post-thumb img { height:100%; object-fit:cover; }
.post-thumb img { aspect-ratio:16/9; object-fit:cover; }
.post-body { padding:18px; }
.post-meta, .entry-meta { color:var(--muted); font-size:.92rem; display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.entry-title { margin:10px 0 12px; line-height:1.18; letter-spacing:-.03em; }
.entry-title a { color:inherit; text-decoration:none; }
.entry-title a:hover { color:var(--accent); }
.excerpt { color:#475467; }
.grid-posts { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:20px; }
.niche-variant .grid-posts { grid-template-columns:repeat(2, minmax(0,1fr)); }
.block-section { margin:0 0 28px; }
.section-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.section-header h2 { margin:0; font-size:1.4rem; letter-spacing:-.03em; }
.meta-badge { display:inline-flex; align-items:center; width:max-content; padding:6px 10px; border-radius:999px; background:rgba(26,115,232,.10); color:var(--accent); font-size:.8rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.meta-badge.small { font-size:.74rem; padding:5px 8px; }
.trending-strip { padding:20px; }
.trending-grid { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:14px; }
.trend-item { background:var(--surface-alt); border-radius:16px; padding:16px; }
.trend-item h3 { margin:8px 0 0; font-size:1rem; line-height:1.35; }
.trend-kicker { color:var(--muted); font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.category-pills { display:flex; flex-wrap:wrap; gap:10px; margin-top:8px; }
.category-pill { display:inline-flex; align-items:center; padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); color:inherit; text-decoration:none; font-size:.84rem; }
.sidebar .category-pill { background:var(--surface-alt); border-color:var(--border); color:var(--text); }
.archive-header { margin-bottom:22px; }
.archive-header-inner { padding:24px; }
.archive-title, .page-title { font-size:clamp(1.85rem, 3vw, 2.5rem); margin:10px 0 8px; }
.breadcrumbs { font-size:.92rem; color:var(--muted); margin-bottom:18px; }
.breadcrumbs a { color:var(--muted); }
.breadcrumbs .sep { margin:0 6px; }
.single-article { background:#fff; border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden; }
.single-header { padding:28px 28px 0; }
.single-deck { color:#475467; font-size:1.06rem; max-width:72ch; }
.single-content { padding:28px; }
.typography-rich h2, .typography-rich h3, .typography-rich h4 { line-height:1.25; margin-top:1.8em; letter-spacing:-.02em; }
.typography-rich p, .typography-rich ul, .typography-rich ol, .typography-rich blockquote { margin-bottom:1.2em; }
.typography-rich ul, .typography-rich ol { padding-left:1.2rem; }
.typography-rich blockquote { border-left:4px solid var(--accent); background:var(--surface-alt); padding:14px 16px; border-radius:10px; }
.single-thumbnail img { width:auto; max-width:400px; height:auto; max-height:400px; display:block; margin:0 auto; }
.related-posts { margin-top:28px; }
.related-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:18px; }
.sidebar .widget { background:#fff; border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); padding:20px; margin-bottom:20px; }
.sidebar .widget-title { margin-top:0; font-size:1.05rem; }
.home-cta { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:28px; margin-top:28px; }
.home-cta-copy h2 { margin:10px 0 10px; font-size:clamp(1.5rem, 2.6vw, 2.2rem); }
.footer-columns { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:20px; }
.site-footer { background:#0f172a; color:#e5e7eb; padding:42px 0; margin-top:36px; }
.site-footer a { color:#fff; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.12); margin-top:24px; padding-top:18px; color:#cbd5e1; font-size:.95rem; display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap; }
.pagination { display:flex; justify-content:center; gap:10px; margin-top:28px; }
.pagination .page-numbers { padding:10px 14px; border:1px solid var(--border); border-radius:12px; background:#fff; }
.pagination .current { background:var(--accent); color:#fff; border-color:var(--accent); }
.author-box { display:flex; gap:16px; padding:20px; margin-top:24px; }
.author-avatar img { border-radius:50%; }
.table-of-contents { border:1px solid var(--border); border-radius:14px; background:var(--surface-alt); padding:16px 18px; margin:0 0 24px; }
.table-of-contents h2 { margin:0 0 10px; font-size:1rem; }
.error-state { text-align:center; padding:48px 24px; }
.visually-hidden { position:absolute!important; clip:rect(1px,1px,1px,1px); padding:0!important; border:0!important; height:1px!important; width:1px!important; overflow:hidden; }

@media (max-width: 1140px) {
  .content-grid { grid-template-columns:minmax(0,1fr); }
  .grid-posts, .related-grid, .footer-columns, .trending-grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width: 782px) {
  .topbar-row, .home-cta, .footer-bottom, .header-row { flex-direction:column; align-items:flex-start; }
  .primary-nav { display:none; position:absolute; top:100%; left:0; right:0; background:#fff; border-bottom:1px solid var(--border); padding:16px; }
  .primary-nav.open { display:block; }
  .primary-nav .primary-menu,
  .primary-nav .menu { flex-direction:column; gap:14px; align-items:stretch; }
  .menu-toggle { display:block; }
  .hero-grid, .grid-posts, .related-grid, .footer-columns, .trending-grid { grid-template-columns:1fr; }
  .post-card-horizontal { flex-direction:column; }
  .post-card-horizontal .post-thumb { width:100%; }
  .search-field { min-width:0; width:100%; }
  .single-header, .single-content, .archive-header-inner { padding-left:18px; padding-right:18px; }

  .primary-nav .menu-item-has-children {
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
  }
  .primary-nav .sub-menu {
    position:static;
    min-width:100%;
    margin-top:10px;
    box-shadow:none;
    border-radius:12px;
  }
}

/* Hardening layer */
.ad-slot-reserved{border:1px dashed var(--border);background:var(--surface-alt);min-height:280px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:var(--muted);text-align:center;padding:12px;width:100%}
.ad-slot-reserved.is-leaderboard{min-height:100px}
.ad-slot-reserved.is-rectangle{min-height:280px}
.ad-slot-reserved.is-in-article{min-height:280px}
.archive-header .archive-description{color:#475467;max-width:70ch}
.archive-stats{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}
.archive-stat{padding:9px 12px;border-radius:999px;background:var(--surface-alt);font-size:.88rem;color:var(--muted);border:1px solid var(--border)}
.single-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px}
.single-rail{display:grid;gap:18px;align-content:start}
.rail-card{background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 10px 24px rgba(15,23,42,.05);padding:18px}
.rail-card h2{margin:0 0 10px;font-size:1rem}
.rail-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.rail-list li{padding:10px 0;border-top:1px solid var(--border)}.rail-list li:first-child{border-top:0;padding-top:0}
.typography-rich table{width:100%;border-collapse:collapse;font-size:.96rem}.typography-rich th,.typography-rich td{border:1px solid var(--border);padding:10px 12px;text-align:left}.typography-rich figure{margin:1.5em 0}.typography-rich figcaption{font-size:.9rem;color:var(--muted);margin-top:8px}.typography-rich a{text-decoration:underline;text-underline-offset:2px}
.home-cta{background:linear-gradient(135deg,#0f172a,#1b2b4b);color:#fff}.home-cta .meta-badge{background:rgba(255,255,255,.12);color:#fff}
.site-footer{background:#0f172a;color:#e5e7eb}.site-footer a{color:#fff}
@media (max-width: 980px){.single-layout{grid-template-columns:1fr}}

/* Sidebar category accordion */
.category-accordion{display:grid;gap:12px}
.category-accordion-item{border:1px solid var(--border);border-radius:16px;background:var(--surface);overflow:hidden;transition:box-shadow .2s ease,border-color .2s ease}
.category-accordion-item:hover{border-color:#d7deea;box-shadow:0 10px 24px rgba(15,23,42,.05)}
.category-accordion-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:transparent;border:0;cursor:pointer;text-align:left;color:var(--text);font:inherit}
.category-accordion-toggle:hover{background:var(--surface-alt)}
.category-accordion-title-wrap{display:flex;flex-direction:column;gap:2px;min-width:0}
.category-accordion-title{font-weight:800;line-height:1.25}
.category-accordion-meta{font-size:.82rem;color:var(--muted)}
.category-accordion-icon{width:34px;height:34px;border-radius:999px;background:var(--surface-alt);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid var(--border);transition:transform .2s ease,background .2s ease}
.category-accordion-icon::before{content:'+';font-size:1.2rem;line-height:1;color:var(--accent);font-weight:700}
.category-accordion-item.is-open .category-accordion-icon{transform:rotate(45deg);background:rgba(26,115,232,.08)}
.category-accordion-panel{display:none;padding:0 16px 16px}
.category-accordion-item.is-open .category-accordion-panel{display:block}
.category-accordion-posts{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.category-accordion-post{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:start;padding:10px;border-radius:14px;background:var(--surface-alt);border:1px solid transparent}
.category-accordion-post:hover{border-color:var(--border)}
.category-accordion-post-thumb img{width:72px;height:72px;object-fit:cover;border-radius:12px}
.category-accordion-post-thumb.placeholder{width:72px;height:72px;border-radius:12px;background:linear-gradient(135deg,#eef2f7,#e5eaf1)}
.category-accordion-post-title{display:block;color:var(--text);font-weight:700;line-height:1.35;text-decoration:none}
.category-accordion-post-title:hover{color:var(--accent)}
.category-accordion-post-date{display:block;font-size:.8rem;color:var(--muted);margin-top:4px}

/* Single content width update */
.no-rail-layout{display:block}
.single-article-wide{max-width:980px;margin:0 auto}
.single-article-wide .single-header,.single-article-wide .single-content{padding-left:40px;padding-right:40px}
.single-article-wide .single-content{font-size:1.04rem;line-height:1.8}
.single-article-wide .single-content> *{max-width:100%}
.single-article-wide .single-content img{margin:28px auto;display:block}
@media (max-width: 980px){.single-article-wide{max-width:100%}.single-article-wide .single-header,.single-article-wide .single-content{padding-left:22px;padding-right:22px}}