/*
Theme Name: The Avenal Sun
Theme URI: https://theavenalsun.com
Author: The Avenal Sun
Author URI: https://theavenalsun.com
Description: A newspaper-style theme for The Avenal Sun, a local news site for the City of Avenal, CA. Homepage leads with one big featured story, plus built-in Yard Sale and Business Profile directories.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: avenal-sun
*/

:root{
  --cream:#faf6ec;
  --paper:#fffdf7;
  --ink:#232019;
  --ink-soft:#5a5346;
  --rule:#d8cfb8;
  --red:#a4292c;
  --red-dark:#7c1e20;
  --gold:#c99a3a;
  --green:#4c6b3f;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:Georgia,'Times New Roman',serif;
  line-height:1.6;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--red-dark);text-decoration:none;}
a:hover{text-decoration:underline;}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px;}
.screen-reader-text{position:absolute;left:-9999px;}

/* Top strip */
.topbar{
  background:var(--ink);
  color:var(--cream);
  font-family:Arial,Helvetica,sans-serif;
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:6px 0;
}
.topbar .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;}
.topbar a{color:var(--cream);}

/* Masthead */
header.masthead{
  background:var(--paper);
  border-bottom:4px double var(--ink);
  padding:24px 0 0;
  text-align:center;
}
.kicker{
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  letter-spacing:.25em;
  text-transform:uppercase;
  color:var(--red);
  margin-bottom:6px;
}
.site-branding{display:inline-block;}
.site-logo img{max-height:110px;width:auto;margin:0 auto;}
h1.title,.site-title{
  font-size:56px;
  margin:0;
  letter-spacing:.01em;
  font-weight:400;
}
.site-title a{color:var(--ink);}
.site-description,.subtitle{
  font-style:italic;
  color:var(--ink-soft);
  margin-top:4px;
  font-size:16px;
}

/* Primary nav */
.primary-nav{
  margin-top:18px;
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
}
.primary-nav ul{
  list-style:none;
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:0;
  margin:0;
  padding:0;
  font-family:Arial,Helvetica,sans-serif;
}
.primary-nav li{border-left:1px solid var(--rule);}
.primary-nav li:first-child{border-left:none;}
.primary-nav a{
  display:block;
  padding:12px 18px;
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink);
}
.primary-nav a:hover{color:var(--red-dark);text-decoration:none;}

/* Hero / intro (used on front page above featured story, optional) */
.hero{padding:40px 0 8px;text-align:center;}
.hero h2{font-size:28px;margin:0 0 12px;font-weight:400;}
.hero p{max-width:620px;margin:0 auto 12px;color:var(--ink-soft);font-size:16px;}
.hero .accent{color:var(--red-dark);font-weight:bold;}

/* Featured article (big, homepage focus) */
.featured-article{padding:44px 0 20px;border-top:1px solid var(--rule);}
.featured-article .feature-tag{
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  letter-spacing:.15em;
  text-transform:uppercase;
  background:var(--red);
  color:#fff;
  padding:4px 10px;
  border-radius:2px;
  display:inline-block;
  margin-bottom:14px;
}
.featured-article .thumb{
  margin:0 0 20px;
  border:1px solid var(--rule);
  overflow:hidden;
}
.featured-article h2{
  font-size:40px;
  line-height:1.15;
  margin:0 0 14px;
  font-weight:400;
}
.featured-article h2 a{color:var(--ink);}
.featured-article .excerpt{
  font-size:18px;
  color:var(--ink-soft);
  max-width:760px;
  margin:0 0 16px;
}
.byline{
  font-family:Arial,Helvetica,sans-serif;
  font-size:12.5px;
  color:var(--ink-soft);
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:6px;
}
.read-more{
  font-family:Arial,Helvetica,sans-serif;
  display:inline-block;
  font-size:13px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--red-dark);
  border-bottom:2px solid var(--red-dark);
  padding-bottom:2px;
}

/* Latest news grid */
section.feature{padding:48px 0;border-top:1px solid var(--rule);}
.feature-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:6px;
}
.feature-head h2,.feature-head h1{font-size:26px;margin:0;font-weight:400;}
.feature-tag{
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  letter-spacing:.15em;
  text-transform:uppercase;
  background:var(--ink);
  color:var(--cream);
  padding:4px 10px;
  border-radius:2px;
  white-space:nowrap;
}
.feature-desc{color:var(--ink-soft);max-width:640px;margin:0 0 24px;}
.demo-badge{
  font-family:Arial,Helvetica,sans-serif;
  font-size:10.5px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--gold);
  border:1px solid var(--gold);
  padding:2px 8px;
  border-radius:2px;
  display:inline-block;
  margin-bottom:18px;
}
.view-all{
  font-family:Arial,Helvetica,sans-serif;
  font-size:12.5px;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.post-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:22px;
}
.post-card h3{font-size:18px;margin:10px 0 6px;font-weight:400;}
.post-card h3 a{color:var(--ink);}
.post-card .thumb{border:1px solid var(--rule);overflow:hidden;margin-bottom:0;}
.post-card .byline{margin-top:0;}
.post-card p{font-size:14px;color:var(--ink-soft);margin:0;}

/* Yard sale + business cards (reused from launch demo) */
.grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:18px;
}
.card{background:var(--paper);border:1px solid var(--rule);padding:18px;position:relative;}
.card .pin{
  font-family:Arial,Helvetica,sans-serif;
  font-size:10px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--red-dark);font-weight:bold;margin-bottom:6px;
}
.card h3{margin:0 0 6px;font-size:19px;font-weight:400;}
.card h3 a{color:var(--ink);}
.card .meta{font-family:Arial,Helvetica,sans-serif;font-size:12.5px;color:var(--ink-soft);margin-bottom:10px;}
.card .meta span{display:block;}
.card p.desc{font-size:14px;color:var(--ink);margin:0 0 12px;}
.chips{display:flex;flex-wrap:wrap;gap:6px;}
.chip{
  font-family:Arial,Helvetica,sans-serif;font-size:11px;background:var(--cream);
  border:1px solid var(--rule);padding:3px 8px;border-radius:12px;color:var(--ink-soft);
}

.card .price-tag{
  position:absolute;top:18px;right:18px;
  font-family:Arial,Helvetica,sans-serif;font-weight:bold;font-size:15px;
  background:var(--green);color:#fff;padding:4px 10px;border-radius:2px;
}
.card .condition{
  font-family:Arial,Helvetica,sans-serif;font-size:11px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ink-soft);
}

.biz-card{background:var(--paper);border:1px solid var(--rule);display:flex;gap:16px;padding:18px;}
.biz-logo{
  flex:0 0 56px;width:56px;height:56px;border-radius:50%;
  background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;
  font-family:Arial,Helvetica,sans-serif;font-weight:bold;font-size:20px;overflow:hidden;
}
.biz-logo img{width:100%;height:100%;object-fit:cover;}
.biz-body h3{margin:0 0 2px;font-size:18px;font-weight:400;}
.biz-body h3 a{color:var(--ink);}
.biz-cat{
  font-family:Arial,Helvetica,sans-serif;font-size:11.5px;text-transform:uppercase;
  letter-spacing:.06em;color:var(--red-dark);margin-bottom:8px;
}
.biz-body p{font-size:14px;margin:0 0 10px;color:var(--ink-soft);}
.biz-meta{font-family:Arial,Helvetica,sans-serif;font-size:12.5px;color:var(--ink-soft);display:flex;gap:14px;flex-wrap:wrap;}
.stars{color:var(--gold);letter-spacing:1px;}

/* Advertiser CTA */
.advertiser{background:var(--ink);color:var(--cream);padding:40px 0;text-align:center;}
.advertiser h2{font-family:Georgia,serif;font-size:26px;font-weight:400;margin:0 0 10px;}
.advertiser p{color:#cfc9ba;max-width:560px;margin:0 auto 20px;font-size:15px;}
.advertiser a.btn{
  font-family:Arial,Helvetica,sans-serif;display:inline-block;background:var(--gold);
  color:var(--ink);text-decoration:none;padding:12px 26px;font-size:13px;
  letter-spacing:.06em;text-transform:uppercase;font-weight:bold;
}
.advertiser a.btn:hover{text-decoration:none;background:#b6892f;}

/* Single article */
.site-main{padding:44px 0;}
article.single-post .entry-header{margin-bottom:22px;}
article.single-post .entry-title{font-size:40px;line-height:1.15;margin:0 0 12px;font-weight:400;}
article.single-post .entry-thumb{border:1px solid var(--rule);margin-bottom:24px;}
article.single-post .entry-content{font-size:18px;max-width:760px;}
article.single-post .entry-content p{margin:0 0 20px;}
article.single-post .entry-content h2{font-size:26px;font-weight:400;margin:32px 0 14px;}
article.single-post .entry-content blockquote{
  border-left:3px solid var(--red);margin:24px 0;padding:4px 0 4px 20px;
  font-style:italic;color:var(--ink-soft);
}
.entry-footer{margin-top:32px;padding-top:16px;border-top:1px solid var(--rule);font-family:Arial,Helvetica,sans-serif;font-size:13px;color:var(--ink-soft);}

/* Page */
.page-content{font-size:17px;max-width:760px;}
.page-title{font-size:36px;font-weight:400;margin:0 0 20px;}

/* Pagination */
.pagination{display:flex;justify-content:center;gap:10px;margin-top:32px;font-family:Arial,Helvetica,sans-serif;font-size:13px;}
.pagination a,.pagination span{padding:8px 12px;border:1px solid var(--rule);color:var(--ink);}
.pagination .current{background:var(--ink);color:var(--cream);border-color:var(--ink);}

/* Signup form */
.signup{margin-top:24px;display:flex;justify-content:center;gap:8px;flex-wrap:wrap;}
.signup input[type=email]{
  font-family:Arial,Helvetica,sans-serif;padding:12px 14px;border:1px solid var(--ink);
  background:var(--paper);min-width:260px;font-size:14px;
}
.signup button{
  font-family:Arial,Helvetica,sans-serif;padding:12px 22px;background:var(--red);
  color:#fff;border:1px solid var(--red);font-size:14px;letter-spacing:.05em;
  text-transform:uppercase;cursor:pointer;
}
.signup button:hover{background:var(--red-dark);}

footer.site-footer{text-align:center;padding:30px 0;font-family:Arial,Helvetica,sans-serif;font-size:12px;color:var(--ink-soft);border-top:1px solid var(--rule);}
footer.site-footer a{color:var(--ink-soft);}

.admin-bar header.masthead{margin-top:0;}

@media (max-width:600px){
  h1.title,.site-title{font-size:38px;}
  .featured-article h2{font-size:28px;}
  article.single-post .entry-title{font-size:28px;}
  .biz-card{flex-direction:column;}
}
