/*
 * Street Angels Homepage — Palette Override
 * ──────────────────────────────────────────
 * Scope  : index.html only (.street-angels-home on <body>)
 * Purpose: Replace Wandau mint (#94ffc4) with Street Angels palette.
 * Source : Every #94ffc4 occurrence in css/style.css (35 total)
 *          has a counterpart override below.
 *
 * DO NOT EDIT: css/style.css, scss/style.scss, or any vendor file.
 * These rules extend—never replace—the shared stylesheet.
 *
 * Palette
 * ───────
 * Primary red     : #8D0204  — CTA fills, hero controls, newsletter bg
 * Secondary red   : #9F1C20  — Hover/active states on red elements
 * Accent yellow   : #F8C23A  — Links, badges, decorative SVG, submit btns
 * Dark yellow     : #D08A24  — Hover state on yellow elements
 * Warm white      : #FFFFFA  — Surface backgrounds
 * Dark text       : #0B0B0B  — Body copy, icons on light surfaces
 * Pure white      : #FFFFFF  — Text on red, icon on red, borders on red
 */

/* ── 1. CUSTOM PROPERTIES ─────────────────────────────────────────────── */
.street-angels-home {
  --sa-primary:       #8D0204;
  --sa-primary-hover: #9F1C20;
  --sa-accent:        #F8C23A;
  --sa-accent-hover:  #D08A24;
  --sa-surface:       #FFFFFA;
  --sa-ink:           #0B0B0B;
  --sa-white:         #FFFFFF;
}


/* ── 2. GLOBAL FORM SUBMIT BUTTONS ────────────────────────────────────── */
/* Replaces: input[type="submit"] and button[type="submit"] mint fills.    */
/* Yellow with dark text passes WCAG AA at ≈11:1.                          */
.street-angels-home input[type="submit"],
.street-angels-home button[type="submit"] {
  background: var(--sa-accent);
  color: var(--sa-ink);
}
.street-angels-home input[type="submit"]:hover,
.street-angels-home button[type="submit"]:hover {
  background: var(--sa-accent-hover);
  color: var(--sa-ink);
}


/* ── 3. ACCORDION CHEVRON CIRCLE ──────────────────────────────────────── */
.street-angels-home .accordion dt a:before {
  background: var(--sa-accent);
}


/* ── 4. SIDE WIDGET ───────────────────────────────────────────────────── */
/* Widget section headings (e.g. "Opening Hours") */
.street-angels-home .side-widget .inner .widget-title {
  color: var(--sa-accent);
}
/* Mobile nav hover links inside side widget */
.street-angels-home .side-widget .display-mobile .custom-menu ul li a:hover,
.street-angels-home .side-widget .display-mobile .site-menu ul li a:hover {
  color: var(--sa-accent);
}


/* ── 5. NAVBAR ────────────────────────────────────────────────────────── */
/* Language and nav menu underline indicators on hover */
.street-angels-home .navbar .custom-menu ul li a:after,
.street-angels-home .navbar .custom-menu ul li a:hover:before,
.street-angels-home .navbar .site-menu ul li a:after,
.street-angels-home .navbar .site-menu ul li a:hover:before {
  background: var(--sa-accent);
}

/* "GET A TICKET" primary CTA — red fill, white text */
.street-angels-home .navbar .navbar-button a {
  background: var(--sa-primary);
  color: var(--sa-white);
}
.street-angels-home .navbar .navbar-button a:hover {
  background: var(--sa-primary-hover);
  color: var(--sa-white);
  text-decoration: none;
}

/* Light navbar variant hover (used on pages with page-header) */
.street-angels-home .navbar.light .navbar-button a:hover {
  border-color: var(--sa-primary-hover);
}


/* ── 6. HERO SLIDER ───────────────────────────────────────────────────── */
/* Animated SVG morph blob behind headline text */
.street-angels-home .slider .slider-texts .svg-morph path {
  fill: var(--sa-accent);
}

/* Previous / Next navigation circles */
.street-angels-home .slider .slider-nav .button-prev,
.street-angels-home .slider .slider-nav .button-next {
  background: var(--sa-primary);
  color: var(--sa-white);
}
.street-angels-home .slider .slider-nav .button-prev:hover,
.street-angels-home .slider .slider-nav .button-next:hover {
  background: var(--sa-primary-hover);
  color: var(--sa-white);
}


/* ── 7. PAGE HEADER SVG MORPH ─────────────────────────────────────────── */
/* index.html has no .page-header; included so this scope is complete      */
/* and harmless (no element matches on the homepage).                      */
.street-angels-home .page-header .inner .svg-morph path {
  fill: var(--sa-accent);
}


/* ── 8. CUSTOM LINK (animated underline) ─────────────────────────────── */
.street-angels-home .custom-link:after,
.street-angels-home .custom-link:hover:before {
  background: var(--sa-accent);
}


/* ── 9. CUSTOM BUTTON (primary CTA block) ────────────────────────────── */
/* Red fill, white text — WCAG contrast ≈12:1 */
.street-angels-home .custom-button {
  background: var(--sa-primary);
  color: var(--sa-white);
}
/* Hover offset border: white is visible on red */
.street-angels-home .custom-button:hover:before {
  border-color: var(--sa-white);
}

/* .cta-box.dark variant (not on index.html; scoped harmless) */
.street-angels-home .cta-box.dark .custom-button:hover {
  background: var(--sa-accent);
  color: var(--sa-ink);
}
.street-angels-home .cta-box.dark .custom-button:hover:before {
  border-color: var(--sa-ink);
}


/* ── 10. SIDE CONTENT BADGE ───────────────────────────────────────────── */
/* Small pill badge in side-content sections (not on index.html; safe)    */
.street-angels-home .side-content small {
  background: var(--sa-accent);
  color: var(--sa-ink);
}


/* ── 11. COUNTER ODOMETER DECORATIVE CIRCLE ──────────────────────────── */
/* Not on index.html; scoped harmless */
.street-angels-home .counter-box .odometer:after {
  background: var(--sa-accent);
}


/* ── 12. EXHIBITION BOX INFO BADGE ───────────────────────────────────── */
/* "50% off exhibitions" pill on event card hover */
.street-angels-home .exhibition-box figure .info span {
  background: var(--sa-accent);
  color: var(--sa-ink);
}


/* ── 13. IMAGE ICON BOX — "3 Steps" SECTION ──────────────────────────── */
/* Icon square background — red, icon PNGs are dark/neutral */
.street-angels-home .image-icon-box .icon {
  background: var(--sa-primary);
}
/* "Learn More" underline indicators */
.street-angels-home .image-icon-box .content-box a:after,
.street-angels-home .image-icon-box .content-box a:hover:before {
  background: var(--sa-accent);
}


/* ── 14. NOTE BOX (not on index.html; scoped harmless) ───────────────── */
.street-angels-home .note-box {
  background: var(--sa-primary);
  color: var(--sa-white);
}


/* ── 15. RECENT NEWS DATE TAGS ───────────────────────────────────────── */
/* Small date badge ("Dec 26, 2020") — yellow with dark text ≈11:1        */
.street-angels-home .recent-news .content-box small {
  background: var(--sa-accent);
  color: var(--sa-ink);
}


/* ── 16. NEWSLETTER SECTION ───────────────────────────────────────────── */
/*
 * The outer <section> background is set via data-background="#8D0204"
 * in index.html (processed by scripts.js as an inline style).
 * This rule sets the .newsletter-box inner element, which has its own
 * background: #94ffc4 in style.css and would otherwise remain mint.
 */
.street-angels-home .newsletter-box {
  background: var(--sa-primary);
}

/* ── Text readability on red background ── */
.street-angels-home .newsletter-box .form .titles h6,
.street-angels-home .newsletter-box .form .titles h2 {
  color: var(--sa-white);
}

/* Supporting text at reduced opacity, still ≥4.5:1 against red */
.street-angels-home .newsletter-box .form small {
  color: rgba(255, 255, 255, 0.88);
}

/* Privacy link: accent yellow on red — WCAG ≈7.5:1 */
.street-angels-home .newsletter-box .form small a {
  color: var(--sa-accent);
  text-decoration: underline;
}
.street-angels-home .newsletter-box .form small a:hover,
.street-angels-home .newsletter-box .form small a:focus-visible {
  color: var(--sa-accent-hover);
  text-decoration: underline;
}

/* Email input container: warm white surface */
.street-angels-home .newsletter-box .form .inner {
  background: var(--sa-surface);
}
/* Email field text remains dark */
.street-angels-home .newsletter-box .form input[type="email"] {
  color: var(--sa-ink);
}

/* Submit button — yellow with dark text (overrides more-specific style.css rule) */
.street-angels-home .newsletter-box .form input[type="submit"] {
  background: var(--sa-accent);
  color: var(--sa-ink);
}
.street-angels-home .newsletter-box .form input[type="submit"]:hover {
  background: var(--sa-accent-hover);
  color: var(--sa-ink);
}


/* ── 17. BLOG POST (not on index.html; scoped harmless) ──────────────── */
.street-angels-home .blog-post .content-box small {
  background: var(--sa-accent);
  color: var(--sa-ink);
}
.street-angels-home .blog-post .content-box blockquote {
  border-left-color: var(--sa-accent);
}


/* ── 18. GOOGLE MAPS placeholder (not on index.html; scoped harmless) ── */
.street-angels-home .google-maps {
  background: var(--sa-primary);
}


/* ═══════════════════════════════════════════════════════════════════════ */
/*  KEYBOARD FOCUS RESTORATION                                            */
/*  The shared stylesheet applies * { outline: none !important } globally.*/
/*  These rules restore visible, WCAG-compliant focus indicators for      */
/*  index.html only, using :focus-visible to avoid mouse-click outlines.  */
/* ═══════════════════════════════════════════════════════════════════════ */

/*
 * Default: 3px yellow outline.
 * Visible on white, warm-white, dark, and red backgrounds.
 * Yellow (#F8C23A) on white  ≈ 1.7:1 — falls short for white bg, but
 * yellow outline has sufficient size (3px) and is further distinguished
 * by contrast with dark text around the focused element.
 * For elements on white, we add a contrasting shadow ring below.
 */
.street-angels-home a:focus-visible,
.street-angels-home button:focus-visible,
.street-angels-home input:focus-visible,
.street-angels-home select:focus-visible,
.street-angels-home textarea:focus-visible,
.street-angels-home [tabindex]:focus-visible {
  outline: 3px solid var(--sa-accent) !important;
  outline-offset: 3px;
  /* Dark shadow ring ensures the yellow outline reads against white */
  box-shadow: 0 0 0 5px rgba(11, 11, 11, 0.25);
}

/*
 * White outline on red/dark-background interactive controls.
 * White (#FFFFFF) on red (#8D0204) ≈ 12:1 — passes WCAG AAA.
 */
.street-angels-home .custom-button:focus-visible,
.street-angels-home .navbar .navbar-button a:focus-visible,
.street-angels-home .slider .slider-nav .button-prev:focus-visible,
.street-angels-home .slider .slider-nav .button-next:focus-visible,
.street-angels-home .play-btn:focus-visible {
  outline: 3px solid var(--sa-white) !important;
  outline-offset: 3px;
  box-shadow: none;
}

/*
 * Dark outline on yellow-background submit buttons.
 * Dark (#0B0B0B) on yellow (#F8C23A) ≈ 11:1 — passes WCAG AAA.
 */
.street-angels-home input[type="submit"]:focus-visible,
.street-angels-home button[type="submit"]:focus-visible {
  outline: 3px solid var(--sa-ink) !important;
  outline-offset: 3px;
  box-shadow: none;
}

/*
 * NOTE: The hamburger (.hamburger-menu) and search (.search-button)
 * are <div> elements with no tabindex and receive no keyboard focus
 * by default. This is a pre-existing template limitation outside the
 * scope of Phase 1 (color only).
 * The Swiper prev/next (.button-prev, .button-next) are also <div>
 * elements and are not keyboard-reachable. Pre-existing limitation.
 */

/* ── LONG-FORM CONTENT (content integration) ─────────────────────────── */
/* Match hero H1 typography for secondary slides (single-H1 accessibility) */
.street-angels-home .slider .slider-texts .swiper-slide h2.slider-heading {
  font-size: 126px;
  font-weight: 400;
  font-family: 'Cinzel', serif;
  line-height: 1;
  margin-bottom: 30px;
  color: inherit;
}

/* Readable hero type over dark community photography */
.street-angels-home .slider .slider-texts .swiper-slide h1,
.street-angels-home .slider .slider-texts .swiper-slide h2.slider-heading {
  color: var(--sa-black);
}

.street-angels-home .slider .slider-texts .swiper-slide p {
  color: var(--sa-black);
  border-left-color: var(--sa-accent);
  opacity: 0.95;
}

@media (max-width: 1199px) {
  .street-angels-home .slider .slider-texts .swiper-slide h2.slider-heading {
    font-size: 5vw;
  }
}

@media (max-width: 767px) {
  .street-angels-home .slider .slider-texts .swiper-slide h2.slider-heading {
    font-size: 42px;
  }
}

.street-angels-home .sa-prose {
  max-width: 72ch;
  margin: 2.5rem auto 0;
  color: var(--sa-ink);
}

.street-angels-home .sa-prose p {
  margin: 0 0 1.25rem;
  line-height: 1.75;
  font-size: 1.05rem;
}

.street-angels-home .sa-prose p:last-child {
  margin-bottom: 0;
}

.street-angels-home .sa-prose-label {
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sa-primary);
  margin: 0 0 1rem;
}

.street-angels-home .sa-prose h3 {
  margin: 2rem 0 1rem;
  color: var(--sa-ink);
}

.street-angels-home .sa-prose-on-primary {
  color: var(--sa-white);
  max-width: 72ch;
  margin: 2rem auto 0;
  padding-bottom: 3rem;
}

.street-angels-home .sa-prose-on-primary p {
  color: var(--sa-white);
}

.street-angels-home .sa-cta-statement {
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin: 0.75rem 0;
  color: var(--sa-accent);
}

@media (max-width: 767px) {
  .street-angels-home .sa-prose,
  .street-angels-home .sa-prose-on-primary {
    max-width: 100%;
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }

  .street-angels-home .sa-prose p,
  .street-angels-home .sa-prose-on-primary p {
    font-size: 1rem;
  }

  .street-angels-home .sa-cta-statement {
    font-size: 1.15rem;
  }
}
