/*
Theme Name: AIF Print
Theme URI: https://example.com/
Author: OpenAI
Description: Print-inspired editorial magazine theme with category-driven navigation, featured grids, article series support, ad slots, and AI-customizable branding.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
Text Domain: aif-print
*/

:root{
  --aif-primary:#d94b4b;
  --aif-accent:#111111;
  --aif-bg:#f4f4f2;
  --aif-surface:#ffffff;
  --aif-text:#111111;
  --aif-muted:#666666;
  --aif-border:#1f1f1f;
  --aif-heading: "Georgia", "Times New Roman", serif;
  --aif-body: Arial, Helvetica, sans-serif;
  --aif-max: 1120px;
  --aif-gap: 20px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--aif-bg);
  color:var(--aif-text);
  font-family:var(--aif-body);
  line-height:1.55;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.screen-reader-text{position:absolute;left:-9999px}

.site-wrap{min-height:100vh}
.container{max-width:var(--aif-max);margin:0 auto;padding:0 18px}
.thin-container{max-width:980px;margin:0 auto;padding:0 18px}

.utility-bar{
  border-top:1px solid #000;
  border-bottom:1px solid #000;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.03em;
  background:#fafafa;
}
.utility-inner{
  display:flex;justify-content:space-between;align-items:center;
  gap:16px;padding:6px 0;
}
.utility-links a{margin-left:14px}
.utility-links a:hover,.main-nav a:hover{color:var(--aif-primary)}

.site-brand{
  padding:16px 0 8px;
  text-align:center;
  border-bottom:1px solid #000;
}
.site-brand-grid{
  display:grid;
  grid-template-columns:180px 1fr 180px;
  align-items:center;
  gap:10px;
}
.brand-side{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:700;
}
.brand-side .box-btn{
  display:inline-block;
  border:2px solid #000;
  padding:7px 14px;
  background:#fff;
}
.site-title{
  font-family:var(--aif-heading);
  font-size:52px;
  line-height:1;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin:0;
}
.site-tagline{
  font-size:11px;
  color:var(--aif-primary);
  text-transform:uppercase;
  letter-spacing:.1em;
  margin-top:6px;
}

.main-nav-wrap{
  border-bottom:1px solid #000;
  background:#f8f8f6;
  position:sticky;top:0;z-index:30;
}
.main-nav{
  display:flex;align-items:center;justify-content:center;gap:22px;
  padding:10px 0;
  flex-wrap:wrap;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-weight:700;
}
.main-nav .current-cat > a,
.main-nav .current-menu-item > a,
.main-nav .active-link{
  background:#000;color:#fff;padding:2px 8px;
}

.home-banner{
  padding:14px 0 22px;
  text-align:center;
}
.ad-slot{
  border:1px solid #000;
  background:#ececec;
  color:#333;
  font-size:12px;
  text-align:center;
  padding:16px;
}
.ad-slot.small{padding:10px}
.ad-slot code{font-size:11px;white-space:pre-wrap}

.section{padding:18px 0}
.hero-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:var(--aif-gap);
}
.featured-card{
  background:var(--aif-surface);
  border-left:1px solid #000;
  border-right:1px solid #000;
  border-bottom:1px solid #000;
  position:relative;
}
.featured-card .thumb-wrap{
  position:relative;
  aspect-ratio: 1.28 / 1;
  overflow:hidden;
  background:#ddd;
}
.featured-card img{width:100%;height:100%;object-fit:cover}
.featured-card.large .thumb-wrap{aspect-ratio: 1.08 / 1}
.post-title-print{
  font-family:var(--aif-heading);
  font-size:20px;
  line-height:1.1;
  margin:0;
  text-align:center;
  text-transform:none;
  font-weight:700;
}
.print-title-band{
  position:relative;
  display:inline-block;
  background:#fff;
  border:2px solid #000;
  padding:4px 8px;
  margin:-15px auto 0;
  left:50%;
  transform:translateX(-50%);
  max-width:90%;
  z-index:3;
}
.card-body{
  padding:14px 14px 16px;
  text-align:center;
}
.meta-line{
  margin-top:8px;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--aif-muted);
  font-weight:700;
}
.meta-line .cat{color:var(--aif-primary)}
.excerpt{
  color:#333;
  font-size:12px;
  margin-top:8px;
}

.mini-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-top:10px;
}
.mini-card{
  border-left:1px solid #000;
  padding-left:12px;
}
.mini-card:first-child{border-left:none;padding-left:0}
.mini-card .mini-thumb{aspect-ratio:1.4/1;overflow:hidden;background:#ddd;margin-bottom:8px}
.mini-card .mini-thumb img{width:100%;height:100%;object-fit:cover}
.mini-card h4{
  font-family:var(--aif-heading);
  font-size:14px;
  line-height:1.15;
  margin:0 0 6px;
}

.membership-box{
  margin-top:26px;
  border:1px solid #000;
  background:#faf8f4;
  display:grid;
  grid-template-columns:1fr 180px;
  gap:20px;
  align-items:center;
  padding:18px;
}
.membership-box h3{
  margin:0 0 10px;
  font-family:var(--aif-heading);
  font-size:32px;
  line-height:1;
  text-transform:uppercase;
}
.subscribe-btn{
  display:inline-block;
  padding:11px 18px;
  background:var(--aif-primary);
  color:#fff;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
  border:none;
}

.lower-grid{
  display:grid;
  grid-template-columns:220px 1fr 260px;
  gap:20px;
  margin-top:28px;
  align-items:start;
}
.sidebar-box{
  background:#fff;
  border:1px solid #000;
}
.sidebar-title{
  margin:0;
  background:var(--aif-primary);
  color:#fff;
  padding:10px 12px;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-weight:700;
  font-family:var(--aif-body);
}
.rank-list{padding:10px 12px}
.rank-item{
  display:grid;
  grid-template-columns:64px 1fr 24px;
  gap:10px;
  align-items:center;
  padding:10px 0;
  border-bottom:1px solid #ddd;
}
.rank-item:last-child{border-bottom:none}
.rank-item .rank-num{
  font-family:var(--aif-heading);
  font-size:28px;
  color:#bbb;
  text-align:right;
}
.rank-item img{
  width:64px;height:44px;object-fit:cover;
  border:1px solid #000;
}
.rank-item h5{
  margin:0;
  font-family:var(--aif-heading);
  font-size:14px;
  line-height:1.1;
}

.center-feature{
  background:#fff;border:1px solid #000;
}
.center-feature .thumb{aspect-ratio:1.5/1;overflow:hidden;background:#ddd}
.center-feature .thumb img{width:100%;height:100%;object-fit:cover}
.center-feature .body{padding:14px 16px}
.center-feature h3{
  margin:0 0 8px;
  font-family:var(--aif-heading);
  font-size:28px;
  line-height:1.05;
}

.link-list{
  background:#fff;border:1px solid #000;padding:10px 14px
}
.link-item{
  padding:10px 0;border-bottom:1px solid #ddd;
}
.link-item:last-child{border-bottom:none}
.link-item .label{
  font-size:10px;
  color:var(--aif-primary);
  text-transform:uppercase;
  font-weight:700;
  letter-spacing:.06em;
}
.link-item h5{
  margin:4px 0 2px;
  font-family:var(--aif-heading);
  font-size:16px;line-height:1.15;
}
.link-item .date{
  font-size:11px;color:#666;
}

.section-heading{
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  margin:22px 0 16px;
  border-bottom:1px solid #000;
  padding-bottom:10px;
}
.section-heading h2{
  margin:0;
  font-family:var(--aif-heading);
  font-size:34px;
  text-transform:uppercase;
  letter-spacing:.03em;
}

.article-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.article-card{
  background:#fff;border:1px solid #000;
}
.article-card .thumb{aspect-ratio:1.45/1;overflow:hidden;background:#ddd}
.article-card .thumb img{width:100%;height:100%;object-fit:cover}
.article-card .body{padding:12px 14px 16px}
.article-card h3{
  margin:0 0 6px;
  font-family:var(--aif-heading);
  font-size:22px;
  line-height:1.08;
}

.content-wrap{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:30px;
  margin-top:24px;
}
.single-entry{
  background:#fff;border:1px solid #000;padding:24px;
}
.single-entry h1,.page-entry h1{
  font-family:var(--aif-heading);
  font-size:46px;line-height:1.05;margin:0 0 10px;
}
.single-entry .entry-meta,.page-entry .entry-meta{
  font-size:12px;color:#555;text-transform:uppercase;letter-spacing:.05em;
  margin-bottom:16px;
}
.single-entry .featured{margin:0 0 18px}
.single-entry .featured img{width:100%;height:auto;border:1px solid #000}
.single-entry .entry-content p,.page-entry .entry-content p{font-size:18px;line-height:1.75;color:#222}
.single-entry .entry-content h2,.page-entry .entry-content h2{
  font-family:var(--aif-heading);font-size:32px;line-height:1.1;margin-top:28px
}
.single-entry .entry-content blockquote{
  margin:26px 0;padding:16px 20px;border-left:4px solid var(--aif-primary);
  background:#faf8f4;font-family:var(--aif-heading);font-size:24px;line-height:1.3
}
.post-series-box,.related-box,.sidebar-panel,.archive-box{
  background:#fff;border:1px solid #000;padding:18px;margin-top:22px;
}
.post-series-box h3,.related-box h3,.sidebar-panel h3,.archive-box h3{
  margin:0 0 10px;font-family:var(--aif-heading);font-size:24px;line-height:1.1
}
.sidebar-panel + .sidebar-panel{margin-top:20px}
.sidebar-list{list-style:none;padding:0;margin:0}
.sidebar-list li{padding:10px 0;border-bottom:1px solid #ddd}
.sidebar-list li:last-child{border-bottom:none}
.sidebar-list a{font-family:var(--aif-heading);font-size:18px;line-height:1.15}

.archive-head{
  background:#fff;border:1px solid #000;padding:22px;margin:24px 0 18px;
}
.archive-head h1{
  margin:0 0 8px;font-family:var(--aif-heading);font-size:40px;text-transform:uppercase;line-height:1.05
}

.site-footer{
  margin-top:36px;
  border-top:2px solid #000;
  background:#faf8f4;
  padding:26px 0;
}
.footer-grid{
  display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:20px;
}
.footer-grid h3{
  margin:0 0 10px;font-family:var(--aif-heading);font-size:22px;text-transform:uppercase
}
.footer-grid ul{list-style:none;padding:0;margin:0}
.footer-grid li{margin:8px 0}
.copyright{
  margin-top:18px;
  font-size:12px;color:#555;text-transform:uppercase;letter-spacing:.05em;
  border-top:1px solid #ccc;padding-top:12px;
}

@media (max-width: 1100px){
  .site-brand-grid{grid-template-columns:150px 1fr 150px}
  .lower-grid{grid-template-columns:1fr}
  .content-wrap{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 900px){
  .hero-grid{grid-template-columns:1fr}
  .mini-grid,.article-grid{grid-template-columns:1fr 1fr}
  .membership-box{grid-template-columns:1fr}
  .site-title{font-size:40px}
  .main-nav{justify-content:flex-start;overflow:auto;flex-wrap:nowrap;padding-inline:18px}
  .utility-inner,.site-brand-grid{grid-template-columns:1fr;display:block;text-align:center}
  .brand-side{margin:8px 0}
}
@media (max-width: 640px){
  .mini-grid,.article-grid{grid-template-columns:1fr}
  .single-entry,.page-entry{padding:18px}
  .single-entry h1,.page-entry h1{font-size:34px}
  .section-heading h2{font-size:28px}
  .site-title{font-size:32px}
  .footer-grid{grid-template-columns:1fr}
}
