/*
Theme Name: Kingdom Warrior Project
Theme URI: https://kingdomwarriorproject.weebly.com/
Author: Kingdom Warrior Project
Description: A rugged, editorial theme for the Kingdom Warrior Project men's ministry. Dark forge-iron palette, condensed display type, and a forged-together aesthetic. Classic theme, no SSH or build tools required.
Version: 1.4.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kingdom-warrior
*/

:root{
  --iron:#16130f;
  --iron-2:#1f1a14;
  --char:#2a231b;
  --bone:#e8e1d3;
  --bone-dim:#b3a890;
  --ember:#c8581f;
  --ember-hot:#e87a2c;
  --moss:#5a6b4a;
  --rule:rgba(232,225,211,0.14);
  --maxw:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--iron);
  color:var(--bone);
  font-family:'Spectral',Georgia,serif;
  font-size:18px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body::before{
  content:"";position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
a{color:var(--ember-hot)}
img{max-width:100%;height:auto}

/* ---------- NAV ---------- */
header.nav{
  position:fixed;top:0;left:0;right:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:18px clamp(20px,5vw,56px);
  background:linear-gradient(180deg,rgba(22,19,15,0.96),rgba(22,19,15,0));
  transition:background .3s,padding .3s;
}
header.nav.solid{background:rgba(22,19,15,0.97);border-bottom:1px solid var(--rule);padding-top:12px;padding-bottom:12px;}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--bone);}
.brand svg{width:30px;height:30px;flex:none}
.brand .mark{font-family:'Oswald',sans-serif;font-weight:600;letter-spacing:.18em;text-transform:uppercase;font-size:.92rem;line-height:1;}
.brand .mark small{display:block;color:var(--ember);font-size:.62rem;letter-spacing:.32em;margin-top:3px;font-weight:500}

/* WP menu styled to match original nav */
nav.links ul{list-style:none;margin:0;padding:0;display:flex;gap:36px}
nav.links a{
  font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.16em;
  font-size:.78rem;font-weight:500;color:var(--bone-dim);text-decoration:none;
  position:relative;padding:4px 0;transition:color .25s;
}
nav.links a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1.5px;background:var(--ember);transition:width .3s}
nav.links a:hover,nav.links li.current-menu-item a{color:var(--bone)}
nav.links a:hover::after,nav.links li.current-menu-item a::after{width:100%}
.burger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:8px}
.burger span{width:26px;height:2px;background:var(--bone);transition:.3s;display:block}

/* ---------- HERO (wordmark centerpiece) ---------- */
.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:2;padding:120px clamp(20px,5vw,56px) 80px;}
.hero-art{position:relative;width:min(760px,92vw);border:1px solid var(--char);box-shadow:0 40px 120px -40px rgba(0,0,0,.9);overflow:hidden;background:#000}
.hero-art img{width:100%;display:block}
.hero-cta{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;margin-top:42px}
.scroll-cue{margin-top:54px;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.3em;font-size:.66rem;color:var(--bone-dim)}

/* ---------- FORGE BAND (split image + copy) ---------- */
.forge{position:relative;z-index:2;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--iron-2)}
.forge-grid{display:grid;grid-template-columns:1fr 1fr;min-height:78vh}
.forge-img{position:relative;overflow:hidden}
.forge-img img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.forge-img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,var(--iron-2))}
.forge-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,6vw,90px)}
.forge-copy h2{font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;line-height:1;font-size:clamp(2rem,4.5vw,3.4rem);margin:0 0 24px;color:var(--bone)}
.forge-copy p{color:var(--bone-dim);max-width:42ch;margin:0 0 16px}
.forge-copy .em{color:var(--bone);font-style:italic}

/* old hero leftovers kept as no-ops in case of inline content authoring */
.cta-row{display:flex;gap:18px;flex-wrap:wrap;align-items:center;justify-content:center}
.btn{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.14em;font-size:.84rem;font-weight:600;text-decoration:none;padding:16px 32px;display:inline-flex;align-items:center;gap:10px;border:1px solid var(--ember);transition:.28s;cursor:pointer}
.btn-solid{background:var(--ember);color:var(--iron)}
.btn-solid:hover{background:var(--ember-hot);border-color:var(--ember-hot);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--bone);border-color:var(--rule)}
.btn-ghost:hover{border-color:var(--bone);transform:translateY(-2px)}
.btn svg{width:15px;height:15px}

.rv{opacity:0;transform:translateY(28px);animation:rise .9s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes rise{to{opacity:1;transform:none}}
.d1{animation-delay:.05s}.d2{animation-delay:.18s}.d3{animation-delay:.32s}.d4{animation-delay:.46s}.d5{animation-delay:.6s}

/* ---------- SECTIONS ---------- */
section.band{position:relative;z-index:2;padding:clamp(70px,11vw,140px) clamp(20px,5vw,56px)}
.wrap{max-width:var(--maxw);margin:0 auto}
.sec-label{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.32em;font-size:.72rem;color:var(--ember);font-weight:500;margin-bottom:20px;display:flex;align-items:center;gap:14px}
.sec-label .num{color:var(--bone-dim);opacity:.6}
h2{font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;line-height:1;font-size:clamp(2rem,5.5vw,4rem);letter-spacing:-.01em;margin:0 0 28px}

/* page-content (block editor output) styled to theme */
.page-content{max-width:70ch}
.page-content h1,.page-content h2,.page-content h3{font-family:'Oswald',sans-serif;text-transform:uppercase;color:var(--bone)}
.page-content h3{font-size:1.2rem;letter-spacing:.05em;margin:1.6em 0 .4em}
.page-content p{margin:0 0 1.2em;color:var(--bone-dim)}
.page-content strong{color:var(--bone)}
.page-content a{color:var(--ember-hot)}
.page-content blockquote{border-left:2px solid var(--ember);padding-left:24px;font-style:italic;color:var(--bone);margin:1.5em 0}
.page-lead{font-size:clamp(1.4rem,2.8vw,2rem);line-height:1.4;color:var(--bone);max-width:30ch;font-family:'Oswald',sans-serif;text-transform:uppercase;font-weight:300}

.split{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(30px,6vw,90px);align-items:start}
.band.alt{background:var(--iron-2);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.band.topline{border-top:1px solid var(--rule)}

/* ---------- VIDEO ---------- */
.video-frame{position:relative;width:100%;aspect-ratio:16/9;border:1px solid var(--char);box-shadow:0 30px 80px -30px rgba(0,0,0,.8);overflow:hidden;background:#000;margin-bottom:36px}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.film-meta{max-width:60ch;color:var(--bone-dim)}

/* ---------- EVENT / RETREAT ---------- */
.event-card{border:1px solid var(--char);background:var(--iron-2);display:grid;grid-template-columns:auto 1fr auto;gap:clamp(20px,4vw,50px);align-items:center;padding:clamp(28px,4vw,48px);}
.event-card.has-thumb{grid-template-columns:160px auto 1fr auto}
.event-thumb{background-size:cover;background-position:center;border:1px solid var(--char);min-height:140px;align-self:stretch}
.event-date{text-align:center;border-right:1px solid var(--rule);padding-right:clamp(20px,3vw,40px)}
.event-date .mo{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.2em;color:var(--ember);font-size:.85rem;font-weight:600}
.event-date .day{font-family:'Oswald',sans-serif;font-size:3.2rem;font-weight:700;line-height:.95;color:var(--bone)}
.event-date .yr{font-family:'Oswald',sans-serif;font-size:3.4rem;font-weight:700;line-height:.9;color:var(--bone)}
.event-date .dow{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.16em;color:var(--bone-dim);font-size:.72rem;font-weight:500;margin-top:2px}
.event-body h3{font-family:'Oswald',sans-serif;text-transform:uppercase;font-size:1.6rem;font-weight:600;margin:0 0 8px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.recur-badge{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:.6rem;font-weight:600;color:var(--ember);border:1px solid var(--ember);border-radius:2px;padding:4px 9px;white-space:nowrap;letter-spacing:.08em}
.event-body p{color:var(--bone-dim);font-size:1rem;max-width:48ch;margin:0 0 8px}
.event-body p.event-when{color:var(--bone);font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:500;margin-bottom:12px}
.event-body a.trailer{color:var(--ember-hot);text-decoration:none;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:600;display:inline-flex;align-items:center;gap:7px;margin-top:14px;border-bottom:1px solid transparent;transition:.25s}
.event-body a.trailer:hover{border-bottom-color:var(--ember-hot)}
.event-tba{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:var(--bone-dim);font-style:italic;padding:14px 20px;border:1px dashed var(--rule);display:inline-block}
.events-list{display:grid;gap:24px}
.events-empty{border:1px dashed var(--rule);padding:clamp(40px,6vw,80px) clamp(20px,4vw,40px);text-align:center;background:var(--iron-2)}
.events-empty p{color:var(--bone-dim);font-style:italic;max-width:50ch;margin:0 auto}

.event-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 32px;padding:0 0 24px;border-bottom:1px solid var(--rule)}
.event-filter{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:600;color:var(--bone-dim);text-decoration:none;padding:9px 18px;border:1px solid var(--rule);transition:.22s;background:transparent}
.event-filter:hover{color:var(--bone);border-color:var(--bone-dim)}
.event-filter.is-active{color:var(--iron);background:var(--ember);border-color:var(--ember)}

.events-header{margin-bottom:8px}
.events-header.has-image{display:grid;grid-template-columns:1fr minmax(0,420px);gap:clamp(28px,5vw,64px);align-items:start;margin-bottom:24px}
.events-header-text{min-width:0}
.events-header-cat{color:var(--ember);font-weight:500}
.events-header-image{position:relative;border:1px solid var(--char);overflow:hidden;background:var(--iron-2);box-shadow:0 20px 60px -30px rgba(0,0,0,.7)}
.events-header-image img{display:block;width:100%;height:auto;max-height:340px;object-fit:cover}

.event-cats{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.event-cat{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:.62rem;font-weight:500;color:var(--bone-dim);background:rgba(232,225,211,0.06);padding:3px 8px;border-radius:2px}
.ticket-note{margin-top:26px;font-size:.92rem;color:var(--bone-dim);font-style:italic}

/* ---------- CONTACT ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,40px);margin-top:20px}
.leader{border:1px solid var(--char);padding:34px 32px;transition:.3s;background:var(--iron)}
.leader:hover{border-color:var(--ember);transform:translateY(-4px)}
.leader .role{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.22em;font-size:.68rem;color:var(--ember);font-weight:500;margin-bottom:14px}
.leader .name{font-family:'Oswald',sans-serif;font-weight:600;font-size:1.5rem;margin-bottom:18px;color:var(--bone)}
.leader a.mail{color:var(--bone-dim);text-decoration:none;font-size:1rem;display:inline-flex;align-items:center;gap:9px;transition:.25s;word-break:break-all}
.leader a.mail:hover{color:var(--bone)}
.leader a.mail svg{width:16px;height:16px;flex:none;color:var(--ember)}

/* ---------- FOOTER ---------- */
footer.foot{background:var(--iron);border-top:1px solid var(--rule);padding:54px clamp(20px,5vw,56px) 40px;position:relative;z-index:2}
.foot-wrap{max-width:var(--maxw);margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.foot-brand{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.18em;font-size:.85rem;color:var(--bone);font-weight:600}
.foot-brand span{color:var(--ember)}
.foot-tag{font-style:italic;color:var(--bone-dim);font-size:.95rem}
.verse{text-align:center;font-style:italic;color:var(--bone-dim);font-size:.95rem;max-width:var(--maxw);margin:0 auto 30px;padding-bottom:30px;border-bottom:1px solid var(--rule)}
.verse cite{display:block;font-style:normal;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.2em;font-size:.68rem;color:var(--ember);margin-top:10px;font-weight:500}
.foot-badge{text-align:center;margin:0 auto 30px;padding-bottom:30px;border-bottom:1px solid var(--rule);max-width:var(--maxw)}
.foot-badge img{display:inline-block;max-width:160px;height:auto;opacity:.75;transition:opacity .25s}
.foot-badge a:hover img{opacity:1}

/* ---------- RESPONSIVE ---------- */
@media(max-width:860px){
  nav.links{position:fixed;inset:0;background:var(--iron);transform:translateX(100%);transition:transform .4s;z-index:40;display:flex;align-items:center;justify-content:center}
  nav.links.open{transform:none}
  nav.links ul{flex-direction:column;gap:30px;text-align:center}
  nav.links a{font-size:1.3rem}
  .burger{display:flex;z-index:45}
  .burger.x span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .burger.x span:nth-child(2){opacity:0}
  .burger.x span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .split{grid-template-columns:1fr;gap:40px}
  .forge-grid{grid-template-columns:1fr}
  .forge-img{min-height:60vh}
  .forge-img::after{background:linear-gradient(180deg,transparent 55%,var(--iron-2))}
  .event-card{grid-template-columns:1fr}
  .event-card.has-thumb{grid-template-columns:1fr}
  .event-thumb{min-height:200px}
  .events-header.has-image{grid-template-columns:1fr;gap:24px}
  .events-header-image img{max-height:240px}
  .event-date{border-right:none;border-bottom:1px solid var(--rule);padding-right:0;padding-bottom:20px;display:flex;gap:16px;align-items:baseline}
  .contact-grid{grid-template-columns:1fr}
  .foot-wrap{flex-direction:column;text-align:center}
}
