/*
Theme Name: Dayton Council 500 Nonprofit
Theme URI: https://council500.org
Author: Dayton Council 500
Description: Professional nonprofit WordPress theme for Knights of Columbus Dayton Council 500. Includes public homepage, officer directory, programs, events, news, gallery, join page, Bainbridge Hall page, parish partners, social links, and Customizer controls.
Version: 4.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: dc500-nonprofit
Tags: custom-logo, custom-menu, featured-images, block-patterns, wide-blocks, responsive-layout, nonprofit
*/

:root{
  --dc-navy:#0c2340;
  --dc-blue:#143a66;
  --dc-red:#b22234;
  --dc-gold:#d4a017;
  --dc-cream:#f8f5ef;
  --dc-white:#fff;
  --dc-text:#1f2937;
  --dc-muted:#667085;
  --dc-border:#d9dee8;
  --dc-shadow:0 12px 32px rgba(12,35,64,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--dc-cream);color:var(--dc-text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.62}
a{color:var(--dc-blue);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
.container{max-width:1200px;margin:0 auto;padding:0 22px}
.screen-reader-text{position:absolute;left:-9999px}
.skip-link:focus{left:10px;top:10px;background:#fff;color:#000;padding:8px;z-index:9999}
.topbar{background:var(--dc-navy);color:#fff;font-size:14px}
.topbar .container{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:8px;padding-bottom:8px}
.topbar a{color:#fff}
.social-links{display:inline-flex;gap:12px;align-items:center}
.social-links a{font-weight:800}
.site-header{background:#fff;border-bottom:4px solid var(--dc-gold);position:sticky;top:0;z-index:50;box-shadow:0 2px 14px rgba(0,0,0,.06)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:14px 22px}
.brand{display:flex;align-items:center;gap:16px;color:var(--dc-navy)}
.brand img,.custom-logo{width:84px;max-height:84px;object-fit:contain}
.brand-title{font-family:Georgia,"Times New Roman",serif;font-size:26px;line-height:1.04;text-transform:uppercase;font-weight:900;color:var(--dc-navy)}
.brand-title span{display:block;color:var(--dc-red)}
.brand-sub{font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--dc-muted);margin-top:5px}
.menu-toggle{display:none;background:var(--dc-navy);color:#fff;border:0;border-radius:4px;padding:10px 14px;font-weight:900}
.main-nav ul{display:flex;list-style:none;margin:0;padding:0;align-items:center;gap:22px}
.main-nav a{font-weight:900;text-transform:uppercase;font-size:14px;letter-spacing:.04em;color:var(--dc-navy)}
.main-nav .current-menu-item>a{color:var(--dc-red)}
.hero{background:url('assets/images/hero-public.jpg') center/cover no-repeat;min-height:540px;border-bottom:1px solid var(--dc-border)}
.hero-strip{background:rgba(12,35,64,.94);border-top:4px solid var(--dc-gold);color:#fff;padding:24px 0}
.hero-strip .container{display:flex;align-items:center;justify-content:space-between;gap:28px}
.hero-copy h1{font-family:Georgia,"Times New Roman",serif;text-transform:uppercase;font-size:42px;line-height:1.08;margin:0 0 7px;color:#fff}
.hero-copy p{margin:0;color:#e8edf5;font-size:18px}
.btn{display:inline-block;background:var(--dc-gold);color:var(--dc-navy)!important;font-weight:900;text-transform:uppercase;letter-spacing:.05em;padding:13px 22px;border-radius:4px;text-decoration:none}
.btn.dark{background:var(--dc-navy);color:#fff!important;border:1px solid rgba(255,255,255,.25)}
.btn.white{background:#fff;color:var(--dc-navy)!important}
.section{padding:58px 0}
.section.white{background:#fff}
.section.navy{background:var(--dc-navy);color:#fff}
.section.navy .section-title,.section.navy h2,.section.navy h3{color:#fff}
.section-title{font-family:Georgia,"Times New Roman",serif;font-size:34px;line-height:1.12;text-transform:uppercase;color:var(--dc-navy);margin:0}
.section-lead{color:var(--dc-muted);font-size:18px;max-width:780px}
.navy .section-lead{color:#dce7f5}
.rule{height:3px;width:180px;background:linear-gradient(90deg,var(--dc-red),var(--dc-gold));margin:14px 0 28px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.card{background:#fff;border:1px solid var(--dc-border);border-radius:10px;padding:26px;box-shadow:var(--dc-shadow);color:var(--dc-text)}
.card h2,.card h3{font-family:Georgia,"Times New Roman",serif;color:var(--dc-navy);text-transform:uppercase;margin-top:0}
.card.featured{border-top:5px solid var(--dc-gold)}
.card-img{aspect-ratio:16/9;overflow:hidden;border-radius:8px;margin-bottom:16px;background:#e6e8ec}
.card-img img{width:100%;height:100%;object-fit:cover}
.meta{color:var(--dc-red);font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.legacy-ribbon{background:#fff;border-top:1px solid var(--dc-border);border-bottom:1px solid var(--dc-border)}
.legacy-ribbon .container{display:flex;align-items:center;justify-content:space-between;gap:22px}
.legacy-ribbon strong{font-family:Georgia,"Times New Roman",serif;color:var(--dc-navy);font-size:30px;text-transform:uppercase}
.value-card{text-align:center}
.value-icon{width:64px;height:64px;border-radius:50%;background:var(--dc-navy);color:var(--dc-gold);display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:900;margin:0 auto 14px}
.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.stat{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:22px;text-align:center}
.stat strong{font-family:Georgia,serif;color:var(--dc-gold);font-size:34px;display:block}
.event-list,.news-list{list-style:none;margin:0;padding:0}
.event-list li,.news-list li{border-bottom:1px solid var(--dc-border);padding:14px 0}
.event-list li:last-child,.news-list li:last-child{border-bottom:0}
.datebox{float:left;width:62px;height:62px;background:var(--dc-navy);color:#fff;border-radius:5px;margin-right:13px;display:flex;align-items:center;justify-content:center;flex-direction:column;font-weight:900;line-height:1.05;text-transform:uppercase}
.clearfix:after{content:"";display:block;clear:both}
.page-hero{background:linear-gradient(90deg,var(--dc-navy),var(--dc-blue));color:#fff;padding:58px 0;border-bottom:4px solid var(--dc-gold)}
.page-hero h1{font-family:Georgia,"Times New Roman",serif;text-transform:uppercase;font-size:42px;margin:0}
.content-area{padding:54px 0}
.entry{background:#fff;border:1px solid var(--dc-border);border-radius:10px;padding:34px;box-shadow:var(--dc-shadow)}
.entry h1,.entry h2,.entry h3{font-family:Georgia,"Times New Roman",serif;color:var(--dc-navy)}
.post-thumbnail{border-radius:8px;overflow:hidden;margin-bottom:22px}
.post-thumbnail img{width:100%;height:auto}
.officer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.officer-card{text-align:center}
.avatar-placeholder{width:110px;height:110px;border-radius:50%;background:var(--dc-navy);color:var(--dc-gold);display:flex;align-items:center;justify-content:center;font-size:34px;margin:0 auto 14px;font-weight:900}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gallery-grid img{border-radius:8px;box-shadow:var(--dc-shadow);width:100%;height:220px;object-fit:cover}
.partner-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
input,textarea,select{width:100%;border:1px solid var(--dc-border);border-radius:5px;padding:11px;font:inherit}
label{font-weight:800;color:var(--dc-navy)}
button,input[type=submit]{background:var(--dc-gold);border:0;color:var(--dc-navy);font-weight:900;padding:12px 18px;border-radius:4px;text-transform:uppercase}
.footer-cta{background:linear-gradient(90deg,var(--dc-navy),var(--dc-blue));color:#fff;padding:44px 0}
.footer-cta .container{display:flex;align-items:center;justify-content:space-between;gap:26px}
.footer-cta h2{font-family:Georgia,"Times New Roman",serif;text-transform:uppercase;color:var(--dc-gold);margin:0}
.site-footer{background:#06172d;color:#dce7f5;padding:34px 0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px}
.site-footer h3{color:#fff;text-transform:uppercase}
.site-footer a{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.18);margin-top:26px;padding-top:18px;color:#cfd8e6;font-size:14px}
.tribe-events .tribe-events-c-search__button{background:var(--dc-gold)!important;color:var(--dc-navy)!important}
.wp-block-button__link{background:var(--dc-gold);color:var(--dc-navy);font-weight:900}
@media(max-width:940px){
  .topbar .container,.header-inner,.hero-strip .container,.legacy-ribbon .container,.footer-cta .container{flex-direction:column;align-items:flex-start}
  .menu-toggle{display:block}
  .main-nav{display:none;width:100%}
  .main-nav.open{display:block}
  .main-nav ul{flex-direction:column;align-items:flex-start;gap:12px;padding:12px 0}
  .hero{min-height:380px;background-position:left center}
  .hero-copy h1{font-size:31px}
  .grid-2,.grid-3,.grid-4,.officer-grid,.gallery-grid,.partner-list,.footer-grid,.stat-strip{grid-template-columns:1fr}
  .hero-actions{display:flex;gap:10px;flex-wrap:wrap}
}
