/* =========================
   A11Y CORE (WCAG 2.2 AA)
   ========================= */

/* Keyboard focus (2.4.7, 2.4.13) */
:focus-visible{
  outline: 2px solid #111 !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 4px #fff66a33 !important;
}

/* Skip link (2.4.1) */
.skip-link{
  position: absolute; left: -999px; top: 0;
  padding: .5rem .75rem; background: #0B3A4A; color: #fff;
  border-radius: 4px; z-index: 1000;
}
.skip-link:focus{ left: .75rem; top: .75rem; }

/* Links (1.4.1, 1.4.3) */
a{ color:#01ace2; }
a:hover, a:focus{ text-decoration: underline; text-underline-offset: 2px; }

/* Optional helper for dark sections */
.on-dark a{ color:#fff; text-decoration: underline; }

/* Buttons */
.btn-primary, .button-primary{ background:#0B3A4A; border-color:#0B3A4A; color:#fff; }
.btn-primary:hover, .button-primary:focus{ filter: brightness(.93); }

/* Prevent anchored/focused content under sticky header */
[id]:target{ scroll-margin-top: 96px; }
a:focus, button:focus, [role="button"]:focus, [tabindex]:focus{ scroll-margin-top:96px; }

/* Minimum target size (2.5.8) */
a, button, [role="button"]{ min-width:24px; min-height:24px; }
.navbar .nav-link, .ftco-footer-social a{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:32px; min-height:32px;
}

/* Reduced motion (2.3.3) */
@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
}

/* =========================
   HERO SLIDER – DOTS + HEADINGS
   ========================= */

/* Dots: visual parity with old style, a11y focus */
.home-slider .owl-dots{
  position: relative; bottom: 20px;
  display:flex; gap:10px; justify-content:center; align-items:center;
}
.home-slider .owl-dots .owl-dot{ padding:6px; cursor:pointer; }
.home-slider .owl-dots .owl-dot:focus-visible{ outline:none; } /* avoid double rings */
.home-slider .owl-dots .owl-dot span{
  width:12px; height:12px; border-radius:999px; display:inline-block;
  background:#d9d9d9;                   /* inactive center */
  border:2px solid #fff;                /* white ring like before */
  box-shadow:0 0 0 2px rgba(0,0,0,.28); /* subtle outer rim for contrast */
  transition: transform .15s ease, background .15s ease;
}
.home-slider .owl-dots .owl-dot.active span{
  background:#0BB2F2; transform:scale(1.05); /* active = brand blue */
}
.home-slider .owl-dots .owl-dot:focus-visible span{
  box-shadow:0 0 0 3px rgba(255,213,79,.8);
}

/* Force consistent typography across ALL slides */
.home-slider .slider-item .text{ text-align:center !important; }
.home-slider .slider-item .text h2,
.home-slider .slider-item .text h1,
.home-slider .slider-item .text p{
  color:#fff; text-shadow:0 2px 10px rgba(0,0,0,.45);
}

/* Subheading (e.g., “Welcome to Faith Church”) */
.home-slider .slider-item .text h2{
  font-weight:500;
  font-size:clamp(18px, 2.2vw, 22px);
  letter-spacing:.5px;
  margin:0 0 .35rem 0;
  text-transform:none;
  line-height:1.25;
  opacity:.92;
}

/* Main headline – match Slide 1 look everywhere */
.home-slider .slider-item .text h1{
  font-weight:800; text-transform:uppercase; letter-spacing:2px;
  font-size:clamp(28px, 5.6vw, 64px); line-height:1.1; margin:0 0 .6rem 0;
}

/* Supporting sentence */
.home-slider .slider-item .text p{
  font-size:clamp(15px, 2.2vw, 20px); line-height:1.5; color:#e9eef2;
}

/* Hero primary CTA (keeps brand visual) */
.home-slider .slider-item .text .btn.btn-primary{
  background:#0BB2F2; border-color:#0BB2F2; color:#fff;
}
.home-slider .slider-item .text .btn.btn-primary:hover,
.home-slider .slider-item .text .btn.btn-primary:focus-visible{ filter:brightness(.93); }

/* Avoid template inline overrides */
.home-slider .slider-item .text h1[style],
.home-slider .slider-item .text h2[style],
.home-slider .slider-item .text p[style]{
  font-size:inherit !important; text-transform:inherit !important; letter-spacing:inherit !important;
}

/* =========================
   COUNTDOWN – numbers back to white
   ========================= */
#section-counter,
#section-counter .text,
#section-counter span,
#section-counter .number{ color:#fff !important; }
#section-counter .number{ text-shadow:0 2px 8px rgba(0,0,0,.35); }

/* =========================
   SERVICES STRIP – Worship / Connect / God’s Love
   ========================= */
.services-2 .text h4{
  font-size:1.25rem; line-height:1.3; font-weight:600; color:#1a1a1a; margin:0 0 .25rem;
}
.services-2 .text .subheading{
  display:block; color:#1499d6; font-weight:600; letter-spacing:.2px; margin-bottom:12px;
}
.services-2 .text h4 + .subheading::before{
  content:""; display:block; width:36px; height:2px; background:#1499d6; margin:.4rem 0 .5rem 0;
}
.services-2 .text p{ color:#333; line-height:1.7; }
.services-2 .text a{ text-decoration:underline; text-underline-offset:2px; }
.services-2 .text h4, .services-2 .text .subheading, .services-2 .text p{ mix-blend-mode:normal; }

/* =========================
   DAILY SCRIPTURE PANEL (purple)
   ========================= */
.services-block{
  background:#69539b !important; color:#fff; border-radius:16px;
}
.services-block h2, .services-block h3, .services-block h4{
  color:#fff; text-shadow:0 1px 0 rgba(0,0,0,.35);
}
.services-block a{
  color:#bfe3ff; text-decoration:underline; text-underline-offset:2px;
}
.services-block a:hover, .services-block a:focus-visible{ text-decoration-thickness:2px; }

/* Verse bubble from dailyverses.net */
#dailyVersesWrapper .bibleVerse{
  color:#1a1a1a; background:#fff; border-radius:12px; padding:16px;
  box-shadow:0 3px 0 rgba(0,0,0,.18), 0 12px 24px rgba(0,0,0,.12);
}
#dailyVersesWrapper .bibleVerse a{ color:#167caa; text-decoration:underline; text-underline-offset:2px; }

/* =========================
   FOOTER TWEAKS
   ========================= */
.ftco-footer-social a:focus-visible, .ftco-footer-social a:hover{ outline-offset:3px; }


