/*
 * Woodstock Pride draft visual system
 * High-contrast, joyful, accessible foundation.
 */
:root {
  --wp-pride-ink: #111111;
  --wp-pride-paper: #fffdf8;
  --wp-pride-pink: #e5007d;
  --wp-pride-red: #e3312d;
  --wp-pride-orange: #f47c20;
  --wp-pride-yellow: #f6c945;
  --wp-pride-green: #178447;
  --wp-pride-blue: #1769aa;
  --wp-pride-violet: #6941a5;
}
body { background: var(--wp-pride-paper); color: var(--wp-pride-ink); }
.wp-site-blocks { overflow-x: clip; }
header.wp-block-template-part { position: relative; z-index: 20; }
header.wp-block-template-part::before {
  content: ""; display:block; height:8px;
  background: linear-gradient(90deg,var(--wp-pride-red) 0 16.66%,var(--wp-pride-orange) 16.66% 33.32%,var(--wp-pride-yellow) 33.32% 49.98%,var(--wp-pride-green) 49.98% 66.64%,var(--wp-pride-blue) 66.64% 83.3%,var(--wp-pride-violet) 83.3%);
}
.wp-block-template-part .wp-block-site-title a { text-decoration:none; font-weight:800; letter-spacing:.04em; }
.wp-block-navigation .wp-block-navigation-item__content { font-weight:700; text-underline-offset:.3em; }
.wp-block-navigation .wp-block-navigation-item__content:hover,
.wp-block-navigation .wp-block-navigation-item__content:focus-visible { text-decoration: underline; text-decoration-thickness: 3px; }
.wp-block-button__link { border-radius:999px; font-weight:800; padding:.8em 1.35em; }
:where(a,button,input,textarea,select):focus-visible { outline:3px solid var(--wp-pride-blue); outline-offset:3px; }
footer.wp-block-template-part { border-top:1px solid rgba(17,17,17,.18); }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } }

.wp-pride-hero { background:var(--wp-pride-paper); }
.wp-pride-hero h1 { font-size:clamp(3.5rem,9vw,7.5rem)!important; line-height:.88; letter-spacing:-.055em; max-width:8ch; margin:.12em 0 .25em; }
.wp-pride-eyebrow { font-weight:900; letter-spacing:.16em; font-size:.82rem; }
.wp-pride-hero figure { transform:rotate(2deg); box-shadow:14px 14px 0 var(--wp-pride-ink); }
.wp-pride-band { background:#f3eee4; }
.wp-pride-band > h2 { max-width:18ch; margin-inline:auto; font-size:clamp(2rem,5vw,4rem); line-height:1; }
.wp-pride-card { background:#fffdf8; border:2px solid #111; padding:28px; box-shadow:7px 7px 0 #111; }
.wp-pride-card:nth-child(1) { border-top:8px solid var(--wp-pride-pink); }
.wp-pride-card:nth-child(2) { border-top:8px solid var(--wp-pride-green); }
.wp-pride-card:nth-child(3) { border-top:8px solid var(--wp-pride-blue); }
.wp-pride-card a { color:inherit; text-underline-offset:.25em; }
.wp-pride-cta { background:var(--wp-pride-yellow); color:#111; }
.wp-pride-cta h2 { font-size:clamp(2.5rem,6vw,5rem); line-height:.95; }
@media (max-width:781px){ .wp-pride-hero { padding-top:56px!important;padding-bottom:56px!important; } .wp-pride-hero h1 { font-size:clamp(3rem,16vw,5rem)!important; } .wp-pride-hero figure{margin-top:32px;box-shadow:8px 8px 0 #111;} .wp-pride-card{margin-bottom:14px;} .wp-block-button__link{min-height:44px;display:inline-flex;align-items:center;} }

/* ICS Calendar */
.ics-calendar { margin-top:32px; color:var(--wp-pride-ink); }
.ics-calendar .ics-calendar-label { font-weight:900; letter-spacing:-.025em; }
.ics-calendar table { border-collapse:separate; border-spacing:0; border:2px solid var(--wp-pride-ink); background:var(--wp-pride-paper); }
.ics-calendar th { background:var(--wp-pride-ink); color:#fff; font-weight:800; }
.ics-calendar th, .ics-calendar td { padding:10px; }
.ics-calendar td { border-color:#d8d2c8; }
.ics-calendar .today { background:#fff3b8; }
.ics-calendar .events .event, .ics-calendar .event { border-left:5px solid var(--wp-pride-pink); padding-left:10px; }
.ics-calendar .event:nth-child(6n+2) { border-left-color:var(--wp-pride-orange); }
.ics-calendar .event:nth-child(6n+3) { border-left-color:var(--wp-pride-green); }
.ics-calendar .event:nth-child(6n+4) { border-left-color:var(--wp-pride-blue); }
.ics-calendar .event:nth-child(6n+5) { border-left-color:var(--wp-pride-violet); }
.ics-calendar .event .title, .ics-calendar .event-title { font-weight:800; }
.ics-calendar a { color:inherit; text-decoration-thickness:2px; text-underline-offset:.2em; }
.ics-calendar a:hover { text-decoration-thickness:3px; }
.ics-calendar button, .ics-calendar a { min-height:44px; }
.ics-calendar button:focus-visible, .ics-calendar a:focus-visible { outline:3px solid var(--wp-pride-blue); outline-offset:3px; }

@media (max-width:781px) {
 .ics-calendar table { font-size:.9rem; }
 .ics-calendar th, .ics-calendar td { padding:6px; }
 .ics-calendar .event { padding-left:7px; }
}

/* Legacy Simple Calendar polish */
.simcal-calendar { margin-top:32px; }
.simcal-default-calendar-list { border-top:3px solid var(--wp-pride-ink); }
.simcal-event { padding-block:12px; }
.simcal-event-title { font-weight:800; }
.simcal-calendar a { text-underline-offset:.2em; }


/* Public documents */
.wp-pride-doc-section { margin-block:48px; }
.wp-pride-doc-section > h2 { border-bottom:3px solid var(--wp-pride-ink); padding-bottom:12px; }
.wp-pride-document-list { display:grid; gap:14px; margin-top:20px; }
.wp-pride-document { border:2px solid var(--wp-pride-ink); padding:20px 22px; background:var(--wp-pride-paper); box-shadow:5px 5px 0 var(--wp-pride-ink); }
.wp-pride-document p { margin:.35rem 0; }
.wp-pride-document .wp-block-file { margin:10px 0 0; }
.wp-pride-document .wp-block-file__button { min-height:44px; display:inline-flex; align-items:center; }

/* Donate */
.wp-pride-donate { background:var(--wp-pride-pink); color:#fff; border-top:8px solid var(--wp-pride-ink); }
.wp-pride-donate h2 { font-size:clamp(2.5rem,6vw,5rem); line-height:.95; }
.wp-pride-donate a { color:inherit; }

/* Basic accessibility and cleanup */
html { scroll-behavior:smooth; }
body { overflow-wrap:break-word; }
.wp-site-blocks a:not(.wp-block-button__link) { text-underline-offset:.18em; }
.wp-site-blocks a:not(.wp-block-button__link):hover { text-decoration-thickness:2px; }
.wp-block-button__link { min-height:44px; padding:.75em 1.25em; }
input:not([type="checkbox"]):not([type="radio"]), select, textarea { min-height:44px; font:inherit; }
textarea { min-height:140px; }
label { font-weight:700; }
.wpcf7-form-control-wrap { display:block; margin-top:.35rem; }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 select, .wpcf7 textarea { width:100%; max-width:42rem; border:2px solid var(--wp-pride-ink); padding:.7rem; background:#fff; color:#111; }
.wpcf7 input[type="submit"] { min-height:44px; border:2px solid #111; background:var(--wp-pride-yellow); color:#111; font-weight:800; padding:.7rem 1.25rem; cursor:pointer; }
.wpcf7-not-valid-tip { font-weight:700; }
:target { scroll-margin-top:2rem; }

@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *, *::before, *::after { scroll-duration:0.01ms!important; animation-duration:0.01ms!important; animation-iteration-count:1!important; transition-duration:0.01ms!important; }
}

/* Keyboard accessibility */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline:3px solid var(--wp-pride-blue); outline-offset:3px; }

