/*
Theme Name: SBR Community
Description: A modern, editable block theme for Sheffield Business Runners and Walkers, with a ready-made homepage, weekly runs, events and community calls to action.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
Author: SBR
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sbr-theme
Tags: block-patterns, full-site-editing, wide-blocks, one-column, custom-colors
*/

:root {
  --sbr-ink: #0d1220;
  --sbr-paper: #f6f7f2;
  --sbr-white: #ffffff;
  --sbr-accent: #dfff2f;
  --sbr-muted: #667085;
  --sbr-border: rgba(13, 18, 32, 0.14);
  --sbr-radius: 24px;
}

html { scroll-behavior: smooth; }
body { background: var(--sbr-paper); }
a { text-underline-offset: .18em; }

.sbr-site-header {
  position: relative;
  z-index: 10;
  background: var(--sbr-ink);
  color: var(--sbr-white);
  padding: 1rem clamp(1rem, 4vw, 2rem);
}

.sbr-site-header a { color: inherit; text-decoration: none; }
.sbr-site-header .wp-block-site-title { font-weight: 900; letter-spacing: -.03em; }
.sbr-site-header .wp-block-navigation__responsive-container.is-menu-open { color: var(--sbr-ink); }

.sbr-page {
  background: var(--sbr-paper);
  color: var(--sbr-ink);
  overflow: hidden;
}

.sbr-page h1,
.sbr-page h2,
.sbr-page h3 { color: var(--sbr-ink); letter-spacing: -.035em; }
.sbr-page h2 { font-size: clamp(2.1rem, 5vw, 4.5rem); line-height: .98; margin: 0 0 1.25rem; }

.sbr-hero {
  background: radial-gradient(circle at 80% 15%, rgba(223,255,47,.2), transparent 24%), linear-gradient(135deg, #0d1220 0%, #171d2f 100%);
  color: var(--sbr-white);
  min-height: min(720px, 78vh);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(5rem, 10vw, 9rem) 1.5rem;
}

.sbr-hero .sbr-title,
.sbr-hero .sbr-tagline,
.sbr-hero .sbr-eyebrow { color: var(--sbr-white); }

.sbr-title { font-size: clamp(3.6rem, 10vw, 8.5rem); line-height: .88; max-width: 1000px; margin: 0 auto 1.5rem; }
.sbr-eyebrow,
.sbr-kicker,
.sbr-event-meta { font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.sbr-eyebrow,
.sbr-kicker { color: #68720f; }
.sbr-hero .sbr-eyebrow { color: var(--sbr-accent); }
.sbr-tagline { font-size: clamp(1.2rem, 2vw, 1.55rem); margin-bottom: 2rem; }
.sbr-section { padding: clamp(4rem, 8vw, 8rem) 1.5rem; }
.sbr-intro p { max-width: 760px; font-size: clamp(1.15rem, 2vw, 1.45rem); line-height: 1.6; }
.sbr-card-grid,
.sbr-event-grid { gap: 1.25rem; margin-top: 2.25rem; }

.sbr-card,
.sbr-event-card,
.sbr-notice {
  background: var(--sbr-white);
  border: 1px solid var(--sbr-border);
  border-radius: var(--sbr-radius);
  box-shadow: 0 16px 45px rgba(13, 18, 32, .06);
}

.sbr-card,
.sbr-event-card { padding: clamp(1.5rem, 3vw, 2.25rem); }
.sbr-card h3,
.sbr-event-card h3 { font-size: clamp(1.55rem, 2.5vw, 2.2rem); margin-top: 0; }
.sbr-card-time { font-weight: 800; margin: .5rem 0 1rem; }
.sbr-events-wrap { background: #eceee7; }
.sbr-event-card { position: relative; }
.sbr-event-meta { color: #5f6815; margin-bottom: 1rem; }

.sbr-notice {
  padding: clamp(2rem, 5vw, 4rem);
  background: var(--sbr-accent);
  box-shadow: none;
  border-color: rgba(13,18,32,.18);
}

.sbr-cta { background: var(--sbr-ink); color: var(--sbr-white); padding: clamp(4rem, 8vw, 7rem) 1.5rem; }
.sbr-cta h2,
.sbr-cta p { color: var(--sbr-white); }

.sbr-page .wp-block-button__link { border-radius: 999px; padding: .95rem 1.35rem; font-weight: 800; transition: transform .18s ease, box-shadow .18s ease; }
.sbr-page .wp-block-button__link:hover { transform: translateY(-2px); }
.sbr-button-primary .wp-block-button__link,
.sbr-inline-button .wp-block-button__link { background: var(--sbr-accent); color: var(--sbr-ink); }
.sbr-button-secondary .wp-block-button__link { color: inherit; border-color: currentColor; }
.sbr-inline-button .wp-block-button__link { padding: .7rem 1rem; font-size: .92rem; }

.sbr-content-shell { padding: clamp(3rem, 7vw, 7rem) 1.5rem; }
.sbr-content-shell .wp-block-post-title { letter-spacing: -.04em; line-height: 1; }
.sbr-query-grid .wp-block-post-template { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 1.5rem; }
.sbr-query-grid .wp-block-post { background: var(--sbr-white); border: 1px solid var(--sbr-border); border-radius: 20px; padding: 1.5rem; }
.sbr-site-footer { background: #080b13; color: var(--sbr-white); padding: 2.5rem clamp(1rem, 4vw, 2rem); }
.sbr-site-footer a { color: inherit; }

@media (max-width: 781px) {
  .sbr-hero { min-height: 600px; }
  .sbr-card-grid,
  .sbr-event-grid { gap: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .sbr-page .wp-block-button__link { transition: none; }
}
