/*
Theme Name: Lincoln Constituent Service
Theme URI: https://dcijr4ltc.com/
Author: David C. Ireland, Jr.
Description: A lightweight, mobile-first constituent-service WordPress theme for a Lincoln Town Councilor website.
Version: 0.1.6
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: lincoln-constituent-service
License: GPL-2.0-or-later
*/

:root{
  --lcs-bg:#ffffff;
  --lcs-text:#18212b;
  --lcs-muted:#5d6773;
  --lcs-border:#dfe4e8;
  --lcs-panel:#f6f8f9;
  --lcs-accent:#184f3a;
  --lcs-accent-2:#17324d;
  --lcs-danger:#9f2f2f;
  --lcs-radius:16px;
  --lcs-shadow:0 8px 24px rgba(20,32,44,.06);
  --lcs-max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--lcs-bg);color:var(--lcs-text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.6}
a{color:var(--lcs-accent-2);text-decoration-thickness:.08em;text-underline-offset:.15em}
img{max-width:100%;height:auto}
.container{width:min(calc(100% - 32px),var(--lcs-max));margin-inline:auto}
.site-header{border-bottom:1px solid var(--lcs-border);background:#fff;position:sticky;top:0;z-index:20}
.header-inner{display:flex;align-items:center;gap:24px;min-height:72px}
.brand{display:flex;flex-direction:column;text-decoration:none;color:var(--lcs-text);min-width:0}
.brand strong{font-size:1rem;line-height:1.2}
.brand span{font-size:.8rem;color:var(--lcs-muted)}
.primary-nav{margin-left:auto}
.primary-nav ul{display:flex;gap:8px;align-items:center;list-style:none;margin:0;padding:0}
.primary-nav a{display:block;padding:10px 12px;border-radius:10px;text-decoration:none;color:var(--lcs-text);font-weight:600}
.primary-nav a:hover,.primary-nav .current-menu-item>a{background:var(--lcs-panel)}
.menu-toggle{display:none;margin-left:auto;border:1px solid var(--lcs-border);background:#fff;border-radius:10px;padding:10px 12px;font-weight:700}
.hero{padding:64px 0 44px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:32px;align-items:center}
.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:.78rem;color:var(--lcs-accent)}
h1,h2,h3{line-height:1.15;margin-top:0}
h1{font-size:clamp(2.2rem,5vw,4.6rem);margin-bottom:18px;letter-spacing:-.035em}
h2{font-size:clamp(1.55rem,3vw,2.35rem);letter-spacing:-.02em}
.lede{font-size:clamp(1.05rem,2vw,1.3rem);color:var(--lcs-muted);max-width:760px}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.button,.wp-element-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 18px;border-radius:12px;text-decoration:none;font-weight:800;border:1px solid transparent;cursor:pointer}
.button.primary,.wp-element-button{background:var(--lcs-accent);color:#fff}
.button.secondary{border-color:var(--lcs-border);color:var(--lcs-text);background:#fff}
.notice{border:1px solid var(--lcs-border);background:var(--lcs-panel);border-radius:var(--lcs-radius);padding:18px}
.section{padding:42px 0}
.section.compact{padding:28px 0}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}
.section-head p{margin:0;color:var(--lcs-muted)}
.grid{display:grid;gap:18px}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{border:1px solid var(--lcs-border);border-radius:var(--lcs-radius);padding:20px;background:#fff;box-shadow:var(--lcs-shadow)}
.card h3{font-size:1.15rem;margin-bottom:8px}
.card p{color:var(--lcs-muted);margin-bottom:0}
.kicker{font-size:.8rem;color:var(--lcs-muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.feature-link{display:block;color:inherit;text-decoration:none}
.feature-link:hover{border-color:#c8d2d8}
.poll-shell{border:1px solid var(--lcs-border);background:linear-gradient(180deg,#fff,var(--lcs-panel));border-radius:var(--lcs-radius);padding:22px}
.main-content{padding:38px 0 56px}
.content-wrap{width:min(calc(100% - 32px),900px);margin-inline:auto}
.entry-title{font-size:clamp(2rem,4vw,3.4rem);margin-bottom:10px}
.entry-meta{color:var(--lcs-muted);font-size:.9rem;margin-bottom:24px}
.entry-content>*:first-child{margin-top:0}
.entry-content table{width:100%;border-collapse:collapse}
.entry-content th,.entry-content td{padding:10px;border-bottom:1px solid var(--lcs-border);text-align:left}
.site-footer{border-top:1px solid var(--lcs-border);margin-top:40px;padding:32px 0 48px;color:var(--lcs-muted);font-size:.9rem}
.footer-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center}.footer-rights{white-space:nowrap;text-align:right}
.badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:var(--lcs-panel);border:1px solid var(--lcs-border);font-size:.78rem;font-weight:700}
.archive-list{display:grid;gap:14px}
.archive-item{border:1px solid var(--lcs-border);border-radius:14px;padding:18px}
.archive-item h2{font-size:1.25rem;margin-bottom:8px}
@media (max-width:900px){
  .hero-grid,.grid-3,.grid-4{grid-template-columns:1fr 1fr}
  .hero-grid{grid-template-columns:1fr}
  .primary-nav{display:none;position:absolute;left:16px;right:16px;top:72px;background:#fff;border:1px solid var(--lcs-border);border-radius:14px;padding:10px;box-shadow:var(--lcs-shadow)}
  .primary-nav.open{display:block}
  .primary-nav ul{display:block}
  .primary-nav a{padding:12px}
  .menu-toggle{display:block}
}
@media (max-width:620px){
  .container,.content-wrap{width:min(calc(100% - 24px),var(--lcs-max))}
  .hero{padding:42px 0 28px}
  .grid-3,.grid-4{grid-template-columns:1fr}
  .section{padding:30px 0}
  .actions{display:grid;grid-template-columns:1fr}
  .button{width:100%}
  .footer-grid{grid-template-columns:1fr}.footer-rights{white-space:normal;text-align:left}
}
@media print{
  .site-header,.site-footer,.menu-toggle,.actions{display:none!important}
  body{font-size:11pt}
  .card,.notice,.poll-shell{box-shadow:none}
}


/* v0.1.3 homepage layout refinement */
.hero-grid{
  grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
  align-items:start;
}
.hero-copy{
  text-align:right;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
}
.hero-copy .lede{
  text-align:right;
  max-width:700px;
}
.hero-side{
  padding-top:18px;
}
.poll-panel{
  border:1px solid var(--lcs-border);
  background:linear-gradient(180deg,#fff,var(--lcs-panel));
  border-radius:var(--lcs-radius);
  padding:22px;
}
.poll-panel .section-head{
  margin-bottom:14px;
}
.poll-panel h2{
  margin-bottom:0;
}
.poll-panel .poll-shell{
  border:none;
  background:transparent;
  padding:0;
  margin-top:6px;
}
.poll-panel .poll-archive-link{
  margin-top:14px;
  text-align:right;
}
.poll-panel .poll-archive-link a{
  font-weight:700;
  text-decoration:none;
}
@media (max-width:900px){
  .hero-copy{
    text-align:left;
    align-items:flex-start;
  }
  .hero-copy .lede{
    text-align:left;
  }
  .hero-side{
    padding-top:0;
  }
}

/* v0.1.6 upcoming meetings banner */
.home-meeting-banner{margin-bottom:28px}
@media(max-width:620px){.home-meeting-banner{margin-bottom:20px}}
