/*
Theme Name: Key West Radio Show
Theme URI: https://keywestradioshow.com/
Author: Larry Sheffer / OpenAI
Description: Editable Key West Radio Show theme with rolling homepage photography, automatic Act/Venue directories, and a dynamic music calendar powered by existing ACF fields and custom post types.
Version: 1.8.0
Text Domain: kwrs
*/

:root{
  --kwrs-bg:#0d1321;
  --kwrs-panel:#131d2e;
  --kwrs-text:#f7f7f2;
  --kwrs-muted:#b9c2cf;
  --kwrs-accent:#e3b23c;
  --kwrs-border:#2b3850;
  --kwrs-content:#ffffff;
  --kwrs-content-text:#172033;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--kwrs-content);color:var(--kwrs-content-text);line-height:1.6}
a{color:inherit}
img{max-width:100%;height:auto}
.kwrs-wrap{width:min(1180px,92%);margin:0 auto}
.site-header{background:var(--kwrs-bg);color:var(--kwrs-text);border-bottom:1px solid var(--kwrs-border)}
.site-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:78px}
.site-branding a{text-decoration:none;color:var(--kwrs-text);font-weight:800;font-size:1.35rem;letter-spacing:.02em}
.site-nav ul{display:flex;gap:18px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.site-nav a{text-decoration:none;color:var(--kwrs-text);font-weight:650;font-size:.95rem}
.site-nav a:hover,.site-nav a:focus{color:var(--kwrs-accent)}
.kwrs-announcement{background:var(--kwrs-accent);color:#111;padding:10px 16px;text-align:center;font-weight:700}
.kwrs-hero{position:relative;background:var(--kwrs-bg);color:var(--kwrs-text);overflow:hidden}
.kwrs-slider{position:relative;min-height:520px;background:#111827}
.kwrs-slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;background-size:cover;background-position:center}
.kwrs-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,8,18,.78),rgba(3,8,18,.30),rgba(3,8,18,.55))}
.kwrs-slide.is-active{opacity:1}
.kwrs-hero-content{position:relative;z-index:3;min-height:520px;display:flex;align-items:center;padding:64px 0}
.kwrs-hero-copy{max-width:700px}
.kwrs-hero h1{font-size:clamp(2.2rem,5vw,4.8rem);line-height:1.02;margin:0 0 18px}
.kwrs-hero p{font-size:clamp(1.05rem,2vw,1.35rem);color:#edf1f5;max-width:58ch}
.kwrs-slider-controls{position:absolute;z-index:4;right:4%;bottom:26px;display:flex;gap:8px}
.kwrs-slider-controls button{width:46px;height:46px;border:1px solid rgba(255,255,255,.55);background:rgba(0,0,0,.35);color:#fff;border-radius:50%;font-size:1.2rem;cursor:pointer}
.kwrs-slider-controls button:hover,.kwrs-slider-controls button:focus{background:rgba(0,0,0,.65)}
.kwrs-section{padding:56px 0}
.kwrs-section.alt{background:#f3f5f8}
.kwrs-section h2{font-size:clamp(1.7rem,3vw,2.5rem);margin-top:0}
.kwrs-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.kwrs-card{border:1px solid #dde2ea;border-radius:12px;background:#fff;overflow:hidden}
.kwrs-card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.kwrs-card-body{padding:18px}
.kwrs-card h3{margin:0 0 8px}
.kwrs-card a{text-decoration:none}
.kwrs-card a:hover{text-decoration:underline}
.kwrs-directory-header,.kwrs-page-header{background:var(--kwrs-bg);color:var(--kwrs-text);padding:50px 0}
.kwrs-directory-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:42px 0}
.kwrs-directory-item{border:1px solid #dde2ea;border-radius:10px;padding:18px;background:#fff}
.kwrs-directory-item h2{font-size:1.25rem;margin:0 0 6px}
.kwrs-calendar{padding:36px 0}
.kwrs-day{margin:0 0 38px}
.kwrs-day h2{border-bottom:3px solid var(--kwrs-accent);padding-bottom:9px;margin-bottom:0}
.kwrs-show{display:grid;grid-template-columns:160px minmax(0,1fr) minmax(0,1fr);gap:20px;padding:15px 10px;border-bottom:1px solid #e2e6ec;align-items:center}
.kwrs-time{font-weight:800}
.kwrs-act a,.kwrs-venue a{font-weight:700;text-decoration:none}
.kwrs-act a:hover,.kwrs-venue a:hover{text-decoration:underline}
.kwrs-profile{padding:42px 0}
.kwrs-profile-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:34px}
.kwrs-meta{border:1px solid #dde2ea;border-radius:10px;padding:20px;background:#f8fafc}
.kwrs-meta dl{margin:0}.kwrs-meta dt{font-weight:800}.kwrs-meta dd{margin:0 0 14px}
.kwrs-upcoming{margin-top:34px}
.kwrs-upcoming-row{display:grid;grid-template-columns:160px 1fr 1fr;gap:18px;padding:12px 0;border-bottom:1px solid #e6e9ee}
.site-footer{background:var(--kwrs-bg);color:var(--kwrs-muted);padding:38px 0;margin-top:56px}
.site-footer a{color:var(--kwrs-text)}
.entry-content{padding:38px 0}
@media(max-width:800px){
  .site-header-inner{align-items:flex-start;flex-direction:column;padding:18px 0}
  .kwrs-slider,.kwrs-hero-content{min-height:430px}
  .kwrs-card-grid,.kwrs-directory-list,.kwrs-profile-grid{grid-template-columns:1fr}
  .kwrs-show,.kwrs-upcoming-row{grid-template-columns:1fr;gap:4px}
}
