/**
 * Lifespring Church 2026.1 - Complete Visual Redesign
 * Modern, clean design system loaded LAST to override all legacy styles
 * Preserves all functionality while completely transforming the look
 */

/* ============================================
   CSS VARIABLES - Design Tokens
   NOTE: these intentionally mirror/extend modern-variables.css
   so there is a single source of truth for colors, radii & shadows.
   ============================================ */
:root {
  /* Alias brand colors to core tokens from modern-variables.css */
  --primary: var(--color-primary);
  --primary-light: var(--color-primary-light);
  --primary-dark: var(--color-primary-dark);

  /* Accent system built on secondary + accent from modern-variables.css */
  --accent: #e8913a;
  --accent-light: #f5a855;
  --accent-dark: #c47520;

  /* Semantic + neutral aliases */
  --success: var(--color-success);
  --white: var(--color-white);
  --off-white: #f7f8fc;
  --gray-50: var(--color-gray-50);
  --gray-100: var(--color-gray-100);
  --gray-200: var(--color-gray-200);
  --gray-300: var(--color-gray-300);
  --gray-400: var(--color-gray-400);
  --gray-500: var(--color-gray-500);
  --gray-600: var(--color-gray-600);
  --gray-700: var(--color-gray-700);
  --gray-800: var(--color-gray-800);
  --gray-900: #0f1319;

  /* Typography */
  --font-sans: var(--font-primary);
  --font-heading: 'Montserrat', var(--font-primary);
  --font-accent: 'Satisfy', cursive;

  /* Shadows & radii extend core tokens */
  --shadow-sm: var(--shadow-sm);
  --shadow-md: var(--shadow-md);
  --shadow-lg: var(--shadow-lg);
  --shadow-xl: var(--shadow-xl);

  --radius-sm: 0.375rem;
  --radius-md: 0.75rem;
  --radius-lg: 1.25rem;
  --radius-xl: 1.75rem;

  --transition: var(--transition-base);
}

/* ============================================
   GOOGLE FONTS IMPORT
   ============================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Montserrat:wght@600;700;800&family=Dancing+Script:wght@700&display=swap');

/* ============================================
   GLOBAL RESET & BASE
   ============================================ */
html {
  scroll-behavior: smooth;
  margin: 0;
  padding: 0;
  font-size: 18px;
}

/* Homepage hero: eliminate top band — match dark video */
body.home,
body.page-template-template-home {
  margin: 0 !important;
  padding: 0 !important;
  background: #000 !important;
}

/* ============================================
   GLOBAL DARK WRAPPERS
   Nuclear override — every legacy wrapper that
   style.css / bootstrap set to white
   ============================================ */

/* The TwentySixteen .site div + all common content wrappers */
.site,
#page,
.body_content,
.content-area,
#primary,
.site-main,
#main,
.site-content,
#content,
.inner-conwrp,
.innerpgcon_wrp {
  background: transparent !important;
}

/* article elements (modern-enhancements.css sets these white) */
article {
  background: transparent !important;
}

/* Bootstrap img-thumbnail is white by default */
.img-thumbnail {
  background-color: transparent !important;
  border-color: rgba(255,255,255,0.1) !important;
}

/* Dark-themed inner pages — body background */
body.page-template-template-about,
body.page-template-template-governing_board,
body.page-template-template-inner-page,
body.single-governing_board,
body.single-about_belief,
body.single-ru_events {
  background: #07111f !important;
}

/* ============================================
   INNER PAGE CONTENT AREA (template-inner-page.php)
   ============================================ */
.inner-page-content,
.innerpgcon_wrp {
  background: #07111f !important;
  padding: 64px 0 !important;
}

.innerpgcon {
  max-width: 860px !important;
  margin: 0 auto !important;
}

.innerpgcon p {
  color: #b8cfe0 !important;
  font-size: 1.0625rem !important;
  line-height: 1.9 !important;
  margin-bottom: 1.5rem !important;
  letter-spacing: 0.01em !important;
}

.innerpgcon li {
  color: #b8cfe0 !important;
  font-size: 1.0625rem !important;
  line-height: 1.9 !important;
  margin-bottom: 0.5rem !important;
}

.innerpgcon ul,
.innerpgcon ol {
  padding-left: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.innerpgcon strong {
  color: #ffffff !important;
  font-weight: 600 !important;
}

.innerpgcon em {
  color: #d4e6f4 !important;
  font-style: italic !important;
}

.innerpgcon blockquote {
  border-left: 3px solid #e8913a !important;
  margin: 2rem 0 !important;
  padding: 1.125rem 1.5rem !important;
  background: rgba(255,255,255,0.04) !important;
  border-radius: 0 10px 10px 0 !important;
  font-style: italic !important;
}

.innerpgcon blockquote p {
  color: #d4e6f4 !important;
  margin-bottom: 0 !important;
}

.innerpgcon h1,
.innerpgcon h2,
.innerpgcon h3,
.innerpgcon h4 {
  color: #ffffff !important;
  margin-top: 2.5rem !important;
  margin-bottom: 0.875rem !important;
  padding-bottom: 0.5rem !important;
  position: relative !important;
}

.innerpgcon h2::after,
.innerpgcon h3::after {
  content: '' !important;
  display: block !important;
  width: 2.5rem !important;
  height: 2px !important;
  background: linear-gradient(90deg, #e8913a, #f5a855) !important;
  border-radius: 2px !important;
  margin: 0.5rem auto 0 !important;
}

.innerpgcon a {
  color: #f5a855 !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(245,168,85,0.35) !important;
  text-underline-offset: 3px !important;
  transition: color 0.2s ease, text-decoration-color 0.2s ease !important;
}

.innerpgcon a:hover {
  color: #e8913a !important;
  text-decoration-color: #e8913a !important;
}

.innerpgcon img {
  border-radius: 12px !important;
  max-width: 100% !important;
}

/* ============================================
   BELIEF SINGLE PAGE
   ============================================ */
.belief-hero {
  position: relative !important;
  min-height: 420px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  background-color: #0a1528 !important;
}

.belief-hero::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background-image: var(--belief-bg) !important;
  background-size: cover !important;
  background-position: center !important;
  filter: blur(12px) !important;
  transform: scale(1.08) !important;
  opacity: 0.15 !important;
}

.belief-hero-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(8,18,40,0.6) 0%, rgba(8,18,40,0.92) 100%) !important;
}

.belief-hero-inner {
  position: relative !important;
  z-index: 2 !important;
  text-align: center !important;
  padding: 140px 0 72px !important;
}

.belief-hero-title {
  font-family: var(--font-heading) !important;
  font-size: clamp(2.2rem, 5vw, 3.5rem) !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  letter-spacing: -0.025em !important;
  margin: 10px 0 20px !important;
  text-shadow: 0 4px 24px rgba(0,0,0,0.5) !important;
}

.belief-body-sec {
  background: #07111f !important;
  padding: 64px 0 !important;
}

.belief-body-content {
  max-width: 820px !important;
  margin: 0 auto !important;
}

.belief-feature-img {
  width: 100% !important;
  max-height: 380px !important;
  object-fit: cover !important;
  border-radius: 14px !important;
  margin-bottom: 40px !important;
}

.belief-body-text p {
  color: #b8cfe0 !important;
  font-size: 1.0625rem !important;
  line-height: 1.9 !important;
  margin-bottom: 1.5rem !important;
  letter-spacing: 0.01em !important;
}

.belief-body-text li {
  color: #b8cfe0 !important;
  font-size: 1.0625rem !important;
  line-height: 1.9 !important;
  margin-bottom: 0.5rem !important;
}

.belief-body-text ul,
.belief-body-text ol {
  padding-left: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.belief-body-text strong {
  color: #ffffff !important;
  font-weight: 600 !important;
}

.belief-body-text em {
  color: #d4e6f4 !important;
  font-style: italic !important;
}

.belief-body-text blockquote {
  border-left: 3px solid #e8913a !important;
  margin: 2rem 0 !important;
  padding: 1.125rem 1.5rem !important;
  background: rgba(255,255,255,0.04) !important;
  border-radius: 0 10px 10px 0 !important;
  font-style: italic !important;
}

.belief-body-text blockquote p {
  color: #d4e6f4 !important;
  margin-bottom: 0 !important;
}

.belief-body-text h2,
.belief-body-text h3,
.belief-body-text h4 {
  color: #ffffff !important;
  margin-top: 2.5rem !important;
  margin-bottom: 0.875rem !important;
  padding-bottom: 0.5rem !important;
  position: relative !important;
}

.belief-body-text h2::after,
.belief-body-text h3::after {
  content: '' !important;
  display: block !important;
  width: 2.5rem !important;
  height: 2px !important;
  background: linear-gradient(90deg, #e8913a, #f5a855) !important;
  border-radius: 2px !important;
  margin: 0.5rem auto 0 !important;
}

/* ============================================
   ENTRY CONTENT (blog posts, general WP pages)
   ============================================ */
.entry-content p,
.page-content p,
.post-content p {
  color: #b8cfe0 !important;
  font-size: 1.0625rem !important;
  line-height: 1.9 !important;
  margin-bottom: 1.5rem !important;
  letter-spacing: 0.01em !important;
}

.entry-content h2,
.entry-content h3,
.entry-content h4,
.page-content h2,
.page-content h3,
.page-content h4 {
  color: #ffffff !important;
  margin-top: 2.25rem !important;
  margin-bottom: 0.875rem !important;
}

.entry-content strong,
.page-content strong {
  color: #ffffff !important;
  font-weight: 600 !important;
}

.entry-content a,
.page-content a {
  color: #f5a855 !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(245,168,85,0.35) !important;
  text-underline-offset: 3px !important;
}

.entry-content a:hover,
.page-content a:hover {
  color: #e8913a !important;
  text-decoration-color: #e8913a !important;
}

/* ---- Horizontal rule — content dividers ---- */
.innerpgcon hr,
.belief-body-text hr,
.entry-content hr,
.page-content hr {
  border: none !important;
  border-top: 1px solid rgba(255,255,255,0.1) !important;
  margin: 2.5rem auto !important;
  width: 60% !important;
}

body {
  font-family: var(--font-sans) !important;
  color: var(--gray-700) !important;
  background: #07111f !important;
  font-size: 1rem !important;
  line-height: 1.7 !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden !important;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading) !important;
  color: var(--gray-800) !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.02em;
}

h1 { font-size: 3rem !important; }
h2 { font-size: 2.25rem !important; }
h3 { font-size: 1.75rem !important; }
h4 { font-size: 1.25rem !important; }

p {
  font-size: 1rem !important;
  line-height: 1.85 !important;
  color: var(--gray-600) !important;
  margin-bottom: 1.25rem !important;
}

a {
  color: var(--primary-light) !important;
  text-decoration: none !important;
  transition: var(--transition) !important;
}

a:hover {
  color: var(--accent) !important;
}

img {
  max-width: 100%;
  height: auto;
}

/* ============================================
   HEADER - #master-header
   ============================================ */
#master-header {
  padding: 10px 0 !important;
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: var(--z-sticky);
  transition: var(--transition) !important;
}

#master-header.fixed {
  padding: 6px 0 !important;
}

/* All pages at top: fully transparent — page content provides visual context */
#master-header:not(.fixed) {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
  border-top: none !important;
}

/* Scrolled: frosted solid background */
#master-header.fixed {
  background: rgba(10, 18, 38, 0.88) !important;
  backdrop-filter: blur(14px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(150%) !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.30) !important;
}

/* Text-shadow for legibility over any background */
#master-header:not(.fixed) .mnu_sec .navbar-nav > li > a,
#master-header:not(.fixed) .mobnav-toggle {
  text-shadow: 0 1px 10px rgba(0,0,0,0.6) !important;
}

/* ── Header flex row: logo | nav items | hamburger ── */
.mnu_wrp {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  padding: 14px 0 !important;
}

/* Logo: static so it's a real flex child (not absolutely placed) */
.logo_sec {
  position: static !important;
  float: none !important;
  flex: 0 0 auto !important;
  top: auto !important;
  transform: none !important;
  margin-right: 24px !important;
}

/* Nav section fills remaining space, items right-aligned */
.mnu_sec {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  padding: 0 !important;
  float: none !important;
}

#master-header.fixed .mnu_wrp {
  padding: 10px 0 !important;
}

/* Strip Bootstrap navbar chrome so flex can take over */
.mnu_sec .navbar {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  min-height: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.mnu_sec .container-fluid {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Hide Bootstrap's own toggle — we use .mobnav-toggle instead */
.mnu_sec .navbar-header {
  display: none !important;
}

/* Collapse is always visible on desktop, flex-row */
.mnu_sec .navbar-collapse {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: 100% !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
}

/* Single-row, no-wrap menu list */
.mnu_sec .navbar-nav {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

.mnu_sec .navbar-nav > li {
  display: flex !important;
  align-items: center !important;
  float: none !important;
}

/* Hamburger: static flex child, right end */
.mobnav-toggle {
  position: static !important;
  float: none !important;
  flex: 0 0 auto !important;
  top: auto !important;
  transform: none !important;
  display: flex !important;
  align-items: center !important;
  margin-left: 16px !important;
}

.logo > img {
  height: 62px !important;
  width: auto !important;
  transition: var(--transition);
}

#master-header.fixed .logo > img {
  height: 48px !important;
}

/* Navigation — light text over dark transparent header (all pages) */
.mnu_sec .navbar-nav > li > a,
.mobnav-toggle {
  color: rgba(255, 255, 255, 0.92) !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.3) !important;
  font-family: var(--font-sans) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: -0.01em !important;
  padding: 10px 14px !important;
  transition: var(--transition) !important;
  position: relative;
  border-radius: 9999px !important;
}

/* Pill hover/active */
.mnu_sec .navbar-nav > li > a:hover,
.mnu_sec .navbar-nav > li > a:focus {
  background: rgba(255,255,255,0.14) !important;
  color: rgba(255,255,255,0.98) !important;
}

.mnu_sec .navbar-nav > li.current-menu-item > a,
.mnu_sec .navbar-nav > li.current_page_item > a,
.mnu_sec .navbar-nav > li.current-menu-ancestor > a {
  background: rgba(255,255,255,0.22) !important;
  color: rgba(255,255,255,1) !important;
  box-shadow: none !important;
}

/* Remove all dropdown indicators — anchor pseudo, li pseudo, Bootstrap caret */
.mnu_sec .navbar-nav > li > a::after,
.mnu_sec .navbar-nav > li > a::before,
.mnu_sec .navbar-nav > li::after,
.mnu_sec .navbar-nav > li::before {
  content: none !important;
  display: none !important;
}

.mnu_sec .navbar-nav > li .caret {
  display: none !important;
}

/* Transparent header on all pages — subtle pill hover/active for all nav items */
#master-header:not(.fixed) .mnu_sec .navbar-nav > li > a:hover,
#master-header:not(.fixed) .mnu_sec .navbar-nav > li > a:focus {
  background: rgba(255,255,255,0.14) !important;
  color: rgba(255,255,255,0.95) !important;
}

#master-header:not(.fixed) .mnu_sec .navbar-nav > li.current-menu-item > a,
#master-header:not(.fixed) .mnu_sec .navbar-nav > li.current_page_item > a,
#master-header:not(.fixed) .mnu_sec .navbar-nav > li.current-menu-ancestor > a {
  background: rgba(255,255,255,0.22) !important;
  color: rgba(255,255,255,0.98) !important;
  box-shadow: none !important;
}

/* Dropdown menus — dark frosted glass on all pages (header is always transparent at top) */
.mnu_sec .navbar-nav > li > .sub-menu {
  background: rgba(8, 18, 38, 0.82) !important;
  backdrop-filter: blur(18px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(140%) !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  padding: 8px !important;
  min-width: 200px !important;
  margin-top: 10px !important;
}

.mnu_sec .navbar-nav > li > .sub-menu::before {
  display: none !important;
}

.mnu_sec .navbar-nav > li > .sub-menu > li {
  border: none !important;
}

.mnu_sec .navbar-nav > li > .sub-menu > li > a {
  display: block !important;
  color: rgba(255, 255, 255, 0.85) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  padding: 10px 14px !important;
  border-radius: 8px !important;
  transition: var(--transition) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  background: transparent !important;
}

.mnu_sec .navbar-nav > li > .sub-menu > li:hover > a {
  background: rgba(255, 255, 255, 0.12) !important;
  color: #ffffff !important;
  padding-left: 18px !important;
}

/* Mobile toggle */
.mobnav-toggle {
  font-size: 24px !important;
}

.mobnav-toggle:hover {
  color: rgba(255, 255, 255, 0.98) !important;
}

/* ============================================
  MOBILE NAVIGATION (2026)
  ============================================ */
.mobnav-toggle {
  width: 40px !important;
  height: 40px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
  background: rgba(255,255,255,0.05) !important;
  color: #ffffff !important;
  font-size: 20px !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease !important;
}

.mobnav-toggle:hover {
  background: rgba(224,123,39,0.18) !important;
  border-color: rgba(224,123,39,0.36) !important;
  transform: translateY(-1px) !important;
}

.mobnav-overlay {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(4,10,22,0.55) !important;
  z-index: 1100 !important;
}

body.mobnav-open {
  overflow: hidden !important;
}

.mobnav-drawer {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  width: min(88vw, 360px) !important;
  height: 100dvh !important;
  z-index: 1200 !important;
  display: flex !important;
  flex-direction: column !important;
  background: linear-gradient(180deg, #0b1322 0%, #070f1c 100%) !important;
  border-left: 1px solid rgba(255,255,255,0.08) !important;
  box-shadow: -16px 0 36px rgba(0,0,0,0.45) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  backdrop-filter: blur(10px) !important;
  transform: translateX(104%) !important;
  transition: transform 0.35s ease !important;
}

body.mobnav-open .mobnav-drawer {
  transform: translateX(0) !important;
}

/* Show desktop nav by default; mobile drawer hidden by default */
.mobnav-toggle,
.mobnav-overlay,
.mobnav-drawer {
  display: none !important;
}

.mobnav-header {
  background: rgba(255,255,255,0.03) !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  padding: 16px 14px !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
}

.mobnav-close {
  width: 34px !important;
  height: 34px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  background: rgba(255,255,255,0.07) !important;
  color: #ffffff !important;
  font-size: 18px !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease !important;
}

.mobnav-close:hover {
  background: rgba(224,123,39,0.20) !important;
  border-color: rgba(224,123,39,0.38) !important;
  transform: translateY(-1px) !important;
}

.mobnav-menu-wrap {
  overflow-y: auto !important;
  padding: 10px 0 18px !important;
}

.mobnav-menu-wrap .menu,
.mobnav-menu {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.mobnav-menu > li {
  border-bottom: 1px solid rgba(224,123,39,0.12) !important;
}

.mobnav-menu li > a {
  display: block !important;
  position: relative !important;
  padding: 18px 22px !important;
  color: #d4dde8 !important;
  font-family: var(--font-sans) !important;
  font-weight: 600 !important;
  font-size: 17px !important;
  letter-spacing: -0.01em !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background 0.2s ease, color 0.2s ease, padding-left 0.2s ease !important;
}

.mobnav-menu li > a:hover,
.mobnav-menu li.current-menu-item > a {
  background: rgba(255,255,255,0.06) !important;
  color: #ffffff !important;
  padding-left: 26px !important;
}

.mobnav-menu li.current-menu-item > a {
  box-shadow: inset 3px 0 0 var(--accent, #e07b27) !important;
}

.mobnav-menu .menu-item-has-children > a {
  padding-right: 46px !important;
}

.mobnav-menu .menu-item-has-children > a::after {
  content: "\f078" !important;
  font-family: "FontAwesome" !important;
  position: absolute !important;
  right: 18px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-size: 13px !important;
  color: rgba(255,255,255,0.7) !important;
  transition: transform 0.2s ease, color 0.2s ease !important;
}

.mobnav-menu .menu-item-has-children.is-open > a::after {
  transform: translateY(-50%) rotate(180deg) !important;
  color: var(--accent, #e07b27) !important;
}

.mobnav-menu .sub-menu {
  display: none !important;
  margin: 0 !important;
  padding: 8px 0 10px !important;
  background: rgba(255,255,255,0.02) !important;
}

.mobnav-menu .menu-item-has-children.is-open > .sub-menu {
  display: block !important;
}

.mobnav-menu .sub-menu li > a {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #b9c5d4 !important;
  padding: 8px 22px 8px 36px !important;
}

.mobnav-menu .sub-menu li > a:hover {
  color: #ffffff !important;
  background: rgba(224,123,39,0.10) !important;
}

/* ============================================
   HERO BANNER
   ============================================ */
.home_banner {
  position: relative !important;
  overflow: hidden !important;
}

/* Always show video, never show mob_img fallback */
#videoplayer {
  display: block !important;
  opacity: 1 !important;
}
.mob_img {
  display: none !important;
}

/* Hide MediaElement.js player controls on the home banner */
.home_banner .mejs__controls,
.home_banner .mejs__overlay-button,
.home_banner .mejs__overlay-loading {
  display: none !important;
}

/* Homepage: hero flush to top/bottom — no band above or below video */
.home_banner,
body.home .home_banner,
body.page-template-template-home .home_banner {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding: 0 !important;
}

.home_banner .video {
  position: relative !important;
}

.home_banner video {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  min-height: 100vh !important;
}

.banner_cap {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(
    to top,
    rgba(0,0,0,0.70) 0%,
    rgba(0,0,0,0.25) 50%,
    transparent 100%
  ) !important;
  padding: 0 !important;
}

.banner_cap .container {
  text-align: center !important;
  padding-top: 80px !important;
}

/* Hero headline wrapper */
.hero-headline {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0 !important;
}

/* "We are all about" — Inter Light, spaced */
.hero-eyebrow {
  display: block !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 300 !important;
  font-size: clamp(1.15rem, 2.6vw, 1.65rem) !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.82) !important;
  text-shadow: 0 1px 12px rgba(0,0,0,0.5) !important;
  margin-bottom: 4px !important;
}

/* "People" — Dancing Script Bold */
.hero-title {
  font-family: 'Dancing Script', cursive !important;
  font-weight: 700 !important;
  /* font-size: clamp(6.5rem, 17vw, 13rem) !important; */
  line-height: 1 !important;
  color: #ffffff !important;
  text-shadow: 0 4px 32px rgba(0,0,0,0.55), 0 1px 6px rgba(0,0,0,0.35) !important;
  margin: 0 !important;
  letter-spacing: -0.01em !important;
}

.banner_capbtn {
  margin-top: 36px !important;
  display: flex !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
}

/* Both hero CTAs — frosted glass outline */
.banner_capbtn .btn1 {
  background: rgba(255,255,255,0.10) !important;
  border-color: rgba(255,255,255,0.55) !important;
  color: #fff !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  box-shadow: none !important;
}

.banner_capbtn .btn1:hover,
.banner_capbtn .btn1:focus {
  background: rgba(255,255,255,0.22) !important;
  border-color: rgba(255,255,255,0.9) !important;
  color: #fff !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 28px rgba(255,255,255,0.12) !important;
}

/* ============================================
   BUTTONS - Complete Redesign
   ============================================ */
.btn1 {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  color: var(--white) !important;
  border: 2px solid rgba(255,255,255,0.8) !important;
  border-radius: 9999px !important;
  padding: 15px 40px !important;
  font-family: var(--font-sans) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  transition: all 0.28s cubic-bezier(0.4,0,0.2,1) !important;
  text-decoration: none !important;
  cursor: pointer;
}

.btn1:hover,
.btn1:focus {
  background: var(--white) !important;
  color: var(--primary-dark) !important;
  border-color: var(--white) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.2) !important;
}

.btn_grn,
.button,
input[type="submit"],
.wpcf7-submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent-dark) 100%) !important;
  color: var(--white) !important;
  border: none !important;
  border-radius: var(--radius-xl) !important;
  padding: 14px 36px !important;
  font-family: var(--font-sans) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  transition: var(--transition) !important;
  cursor: pointer !important;
  box-shadow: 0 4px 15px rgba(232, 145, 58, 0.35) !important;
}

.btn_grn:hover,
.button:hover,
input[type="submit"]:hover,
.wpcf7-submit:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 25px rgba(232, 145, 58, 0.45) !important;
  background: linear-gradient(135deg, var(--accent-light) 0%, var(--accent) 100%) !important;
  color: var(--white) !important;
}

/* Calendar specific buttons */
.calendar-tab .button {
  background: var(--gray-100) !important;
  color: var(--gray-600) !important;
  padding: 10px 20px !important;
  border-radius: var(--radius-md) !important;
  font-size: 13px !important;
  box-shadow: none !important;
}

.calendar-tab .button.active,
.calendar-tab .button:hover {
  background: var(--primary) !important;
  color: var(--white) !important;
  box-shadow: var(--shadow-sm) !important;
}

/* ============================================
   GATHER WITH US SECTION (.wl_sec)
   ============================================ */
.wl_sec {
  padding: 110px 0 !important;
  background: #07111f !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Ambient glow behind content */
.wl_sec::before {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 700px !important;
  height: 700px !important;
  background: radial-gradient(ellipse, rgba(232,145,58,0.12) 0%, transparent 70%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* Title */
.wl_sec h2,
.wl_sec .title1 {
  font-family: var(--font-heading) !important;
  font-size: clamp(2.4rem, 5vw, 1.5rem) !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  text-align: center !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  position: relative !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
}

.wl_sec h2::after,
.wl_sec .title1::after {
  display: none !important;
}

/* "JOIN US" eyebrow above title + thin accent rule below */
.wl_sec h2::before,
.wl_sec .title1::before {
  content: 'JOIN US' !important;
  display: block !important;
  font-family: var(--font-sans) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.35em !important;
  color: var(--accent) !important;
  text-transform: uppercase !important;
  margin-bottom: 14px !important;
}

/* Accent rule sits after the title text via container pseudo */
.wl_sec .gather::before {
  content: '' !important;
  display: block !important;
  width: 48px !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--accent), var(--primary-light)) !important;
  border-radius: 4px !important;
  margin: 18px auto 48px !important;
}

/* Gather content wrapper */
.wl_sec .gather {
  max-width: 900px !important;
  margin: 0 auto !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
}

.wl_sec .container {
  position: relative !important;
  z-index: 1 !important;
}

.wl_sec .gather > p {
  color: rgba(255,255,255,0.65) !important;
  font-size: 1.05rem !important;
  line-height: 1.8 !important;
  max-width: 560px !important;
  margin: 0 auto 48px !important;
}

/* Service time cards grid */
.wl_sec .gather ul {
  display: flex !important;
  gap: 24px !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 56px !important;
}

.wl_sec .gather ul li {
  flex: 1 1 220px !important;
  max-width: 280px !important;
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  border-radius: 20px !important;
  padding: 36px 32px !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  transition: var(--transition) !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Accent top edge on card */
.wl_sec .gather ul li::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--accent), var(--primary-light)) !important;
  border-radius: 20px 20px 0 0 !important;
}

.wl_sec .gather ul li:hover {
  background: rgba(255,255,255,0.09) !important;
  border-color: rgba(255,255,255,0.18) !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 20px 50px rgba(0,0,0,0.35) !important;
}

/* Language label inside card */
.wl_sec .gather ul li h3 {
  font-family: var(--font-sans) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  color: var(--accent) !important;
  margin-bottom: 14px !important;
}

/* Day / time text */
.wl_sec .gather ul li p {
  color: rgba(255,255,255,0.92) !important;
  font-size: 1.05rem !important;
  line-height: 1.7 !important;
  font-weight: 400 !important;
}

/* Address card — sits below service time cards, slightly wider */
.gather-address-card {
  flex: 0 0 auto !important;
  width: clamp(260px, 40%, 500px) !important;
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  border-radius: 20px !important;
  padding: 36px 32px !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  transition: var(--transition) !important;
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

.gather-address-card::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--primary-light), var(--accent)) !important;
  border-radius: 20px 20px 0 0 !important;
}

.gather-address-card:hover {
  background: rgba(255,255,255,0.09) !important;
  border-color: rgba(255,255,255,0.18) !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 20px 50px rgba(0,0,0,0.35) !important;
}

.gather-address-card h3 {
  font-family: var(--font-sans) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  color: var(--accent) !important;
  margin-bottom: 14px !important;
}

.gather-address-card h3 .fa {
  margin-right: 6px !important;
}

.gather-address-card p {
  color: rgba(255,255,255,0.92) !important;
  font-size: 1.05rem !important;
  line-height: 1.7 !important;
  font-weight: 400 !important;
  margin-bottom: 20px !important;
}

.gather-directions-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: var(--accent) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-decoration: none !important;
  border: 1px solid rgba(232,145,58,0.45) !important;
  border-radius: 9999px !important;
  padding: 8px 20px !important;
  transition: var(--transition) !important;
}

.gather-directions-btn:hover {
  background: rgba(232,145,58,0.15) !important;
  border-color: var(--accent) !important;
  color: var(--accent) !important;
  transform: none !important;
}

/* Service cards + address card: unified flex row */
.wl_sec .cards-row {
  display: flex !important;
  gap: 24px !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  margin-bottom: 56px !important;
}

/* Address card wrapper sits below service cards, centred */
.gather-address-wrap {
  display: flex !important;
  justify-content: center !important;
  margin-bottom: 56px !important;
}

/* Plan Your Visit button */
.wl_sec .drs,
.wl_sec .gather .drs {
  margin-top: 0 !important;
  text-align: center !important;
}

.wl_sec .drs a,
.wl_sec .gather .drs a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: var(--accent) !important;
  color: #fff !important;
  border-radius: 9999px !important;
  padding: 16px 44px !important;
  font-family: var(--font-sans) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  transition: all 0.28s cubic-bezier(0.4,0,0.2,1) !important;
  text-decoration: none !important;
  box-shadow: 0 8px 30px rgba(232,145,58,0.40) !important;
}

.wl_sec .drs a:hover,
.wl_sec .gather .drs a:hover {
  background: var(--accent-light) !important;
  color: #fff !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 14px 40px rgba(232,145,58,0.55) !important;
}

/* ============================================
   LOCATION SECTION
   ============================================ */
.evnt_placesec {
  background: var(--off-white) !important;
  padding: 50px 0 !important;
  text-align: center !important;
}

.evnt_placesec p {
  font-size: 20px !important;
  font-weight: 500 !important;
  color: var(--gray-700) !important;
  margin-bottom: 20px !important;
}

.evnt_placesec .btn1 {
  background: var(--primary-light) !important;
  color: var(--white) !important;
  border-color: var(--primary-light) !important;
  padding: 12px 28px !important;
}

.evnt_placesec .btn1:hover {
  background: var(--primary-dark) !important;
  border-color: var(--primary-dark) !important;
}

/* ============================================
   EVENTS SLIDER — Swiper.js (.grw_sec / .events-swiper-section)
   ============================================ */

/* Section wrapper */
.grw_sec.events-swiper-section {
  position: relative !important;
  background: #050e1f !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  width: 100% !important;
  line-height: 0 !important; /* prevent inline-block gap */
  font-size: 0 !important;
}

/* Swiper container — 16:9 ratio matched to 1600×900 images */
.events-swiper {
  width: 100% !important;
  height: min(56.25vw, 580px) !important;
  overflow: hidden !important;
  line-height: 0 !important;
}

/* Each slide fills the container height */
.events-swiper .swiper-slide {
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  height: 100% !important;
}

.events-swiper .swiper-slide a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  position: relative !important;
  text-decoration: none !important;
  line-height: 0 !important;
}

/* Slide image */
.events-swiper .swiper-slide img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  transition: transform 0.8s ease !important;
}

.events-swiper .swiper-slide:hover img {
  transform: scale(1.04) !important;
}

/* Dark gradient overlay — dark at bottom, transparent at top */
.events-swiper .swiper-slide a::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.05) 0%,
    rgba(0, 0, 0, 0.15) 40%,
    rgba(0, 0, 0, 0.75) 100%
  ) !important;
  pointer-events: none !important;
}

/* Caption block */
.swiper-slide-caption {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 2rem 2.5rem !important;
  z-index: 2 !important;
  font-size: 1rem !important; /* reset parent font-size: 0 */
  line-height: 1.4 !important;
  transform: translateY(6px) !important;
  transition: transform 0.4s ease !important;
}

.events-swiper .swiper-slide:hover .swiper-slide-caption {
  transform: translateY(0) !important;
}

.slide-label {
  display: inline-block !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #f97316 !important;
  background: rgba(249, 115, 22, 0.15) !important;
  border: 1px solid rgba(249, 115, 22, 0.4) !important;
  padding: 0.25em 0.75em !important;
  border-radius: 999px !important;
  margin-bottom: 0.5rem !important;
}

.slide-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: clamp(1.2rem, 3vw, 2rem) !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 !important;
  line-height: 1.25 !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.55) !important;
}

/* Navigation arrows — frosted glass circles */
.events-swiper .swiper-button-prev,
.events-swiper .swiper-button-next {
  width: 46px !important;
  height: 46px !important;
  background: rgba(255, 255, 255, 0.12) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  border-radius: 50% !important;
  color: #ffffff !important;
  transition: background 0.25s ease, transform 0.2s ease !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}

.events-swiper .swiper-button-prev:hover,
.events-swiper .swiper-button-next:hover {
  background: rgba(249, 115, 22, 0.55) !important;
  transform: translateY(-50%) scale(1.08) !important;
}

.events-swiper .swiper-button-prev::after,
.events-swiper .swiper-button-next::after {
  font-size: 1rem !important;
  font-weight: 700 !important;
}

.events-swiper .swiper-button-prev {
  left: 1.2rem !important;
}

.events-swiper .swiper-button-next {
  right: 1.2rem !important;
}

/* Pagination dots */
.events-swiper .swiper-pagination {
  bottom: 1rem !important;
}

.events-swiper .swiper-pagination-bullet {
  width: 8px !important;
  height: 8px !important;
  background: rgba(255, 255, 255, 0.5) !important;
  opacity: 1 !important;
  transition: background 0.2s ease, transform 0.2s ease !important;
}

.events-swiper .swiper-pagination-bullet-active {
  background: #f97316 !important;
  transform: scale(1.3) !important;
}

@media (max-width: 768px) {
  .events-swiper {
    height: 200px !important;
  }
  .swiper-slide-caption {
    padding: 1rem 1.2rem !important;
  }
  .slide-title {
    font-size: 1rem !important;
  }
}

/* ============================================
   UPCOMING EVENTS — redesigned two-column layout
   ============================================ */

/* Section */
.upco_confrc {
  position: relative !important;
  overflow: hidden !important;
  background: #0a1628 !important;
  padding: 80px 0 !important;
}

/* Faded background photo */
.upco-bg {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
}
.upco-bg img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  opacity: 0.12 !important;
  display: block !important;
}

/* Two-column inner layout */
.upco-inner {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: stretch !important;
  gap: 60px !important;
}

/* ---- Left: events list ---- */
.upco-events-col {
  flex: 1 1 0 !important;
  min-width: 0 !important;
}

.upco-eyebrow {
  display: inline-block !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #f97316 !important;
  margin-bottom: 0.75rem !important;
}

.upco-heading {
  font-family: 'Montserrat', sans-serif !important;
  font-size: clamp(1.6rem, 3vw, 2.4rem) !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 0 1.8rem !important;
  line-height: 1.2 !important;
}

.upco-event-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

/* Individual event card */
.upco-event-card {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-left: 3px solid #f97316 !important;
  border-radius: 10px !important;
  padding: 16px 20px !important;
  text-decoration: none !important;
  transition: background 0.25s ease, transform 0.2s ease, border-color 0.25s ease !important;
}
.upco-event-card:hover {
  background: rgba(249, 115, 22, 0.1) !important;
  border-left-color: #fb923c !important;
  transform: translateX(4px) !important;
  text-decoration: none !important;
}

.upco-event-body {
  flex: 1 !important;
  min-width: 0 !important;
}

.upco-event-name {
  font-family: 'Inter', sans-serif !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  margin: 0 0 4px !important;
  line-height: 1.4 !important;
}

.upco-event-sub {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 400 !important;
  color: rgba(255, 255, 255, 0.55) !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}

.upco-event-arrow {
  color: #f97316 !important;
  font-size: 0.9rem !important;
  flex-shrink: 0 !important;
  opacity: 0.7 !important;
  transition: opacity 0.2s ease, transform 0.2s ease !important;
}
.upco-event-card:hover .upco-event-arrow {
  opacity: 1 !important;
  transform: translateX(3px) !important;
}

/* ---- Right: form panel ---- */
.upco-form-col {
  flex: 0 0 420px !important;
  min-width: 0 !important;
}

/* Make form column a flex container; sticky so it tracks viewport on desktop */
.upco-form-col {
  display: flex !important;
  flex-direction: column !important;
  position: sticky !important;
  top: 80px !important;
}

.upcoming_from {
  flex: 1 !important;
  box-sizing: border-box !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 16px !important;
  padding: 36px 32px !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.35) !important;
}

.upco-form-heading {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 0 8px !important;
}

.upco-form-sub {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.9rem !important;
  color: rgba(255, 255, 255, 0.55) !important;
  margin: 0 0 24px !important;
  line-height: 1.5 !important;
}

/* Form fields */
.upcoming_from .wpcf7-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  margin: 0 !important;
}

.upcoming_from .fstname,
.upcoming_from .wpcf7-form > p {
  width: 100% !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
}

.upcoming_from input.wpcf7-text,
.upcoming_from input.wpcf7-email,
.upcoming_from input[type="text"],
.upcoming_from input[type="email"],
.upcoming_from input[type="tel"],
.upcoming_from .wpcf7-form-control.wpcf7-text {
  background: rgba(255, 255, 255, 0.07) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 8px !important;
  color: #ffffff !important;
  width: 100% !important;
  height: 48px !important;
  padding: 10px 14px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 400 !important;
  transition: border-color 0.2s ease, background 0.2s ease !important;
  box-sizing: border-box !important;
}

.upcoming_from input.wpcf7-text:focus,
.upcoming_from input[type="text"]:focus,
.upcoming_from input[type="email"]:focus,
.upcoming_from input[type="tel"]:focus {
  border-color: #f97316 !important;
  background: rgba(255, 255, 255, 0.11) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.2) !important;
}

.upcoming_from input::placeholder { color: rgba(255,255,255,0.35) !important; opacity: 1 !important; }
.upcoming_from input::-webkit-input-placeholder { color: rgba(255,255,255,0.35) !important; }
.upcoming_from input::-moz-placeholder { color: rgba(255,255,255,0.35) !important; }

.upcoming_from .wpcf7-submit,
.upcoming_from input[type="submit"] {
  background: linear-gradient(135deg, #f97316 0%, #ea580c 100%) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 8px !important;
  height: 48px !important;
  padding: 10px 24px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  cursor: pointer !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
  box-shadow: 0 4px 16px rgba(249, 115, 22, 0.35) !important;
  width: 100% !important;
}

.upcoming_from .wpcf7-submit:hover,
.upcoming_from input[type="submit"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 24px rgba(249, 115, 22, 0.5) !important;
}

.upcoming_from .wpcf7-form-control-wrap {
  display: block !important;
  width: 100% !important;
}

.upcoming_from .wpcf7-response-output {
  border-radius: 8px !important;
  font-size: 0.85rem !important;
  margin: 12px 0 0 !important;
  border-color: rgba(249, 115, 22, 0.5) !important;
  color: rgba(255,255,255,0.8) !important;
}

/* Feedback messages */
.upco-msg {
  border-radius: 8px !important;
  padding: 12px 16px !important;
  font-size: 0.88rem !important;
  margin-top: 12px !important;
  align-items: center !important;
  gap: 8px !important;
}
.upco-msg--success {
  background: rgba(34, 197, 94, 0.15) !important;
  border: 1px solid rgba(34, 197, 94, 0.35) !important;
  color: #86efac !important;
}
.upco-msg--error {
  background: rgba(239, 68, 68, 0.15) !important;
  border: 1px solid rgba(239, 68, 68, 0.35) !important;
  color: #fca5a5 !important;
}

/* CF7 validation — highlight field, hide inline error text, show as tooltip */
.upcoming_from .wpcf7-form-control-wrap {
  position: relative !important;
  display: block !important;
  width: 100% !important;
}

/* Hide the "The field is required." text */
.upcoming_from .wpcf7-not-valid-tip {
  position: absolute !important;
  bottom: calc(100% + 6px) !important;
  left: 0 !important;
  background: #dc2626 !important;
  color: #ffffff !important;
  font-size: 0.75rem !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 500 !important;
  padding: 4px 10px !important;
  border-radius: 6px !important;
  white-space: nowrap !important;
  pointer-events: none !important;
  opacity: 0 !important;
  transform: translateY(4px) !important;
  transition: opacity 0.2s ease, transform 0.2s ease !important;
  z-index: 10 !important;
  /* arrow pointing down */
  box-shadow: 0 2px 8px rgba(0,0,0,0.3) !important;
}
.upcoming_from .wpcf7-not-valid-tip::after {
  content: '' !important;
  position: absolute !important;
  top: 100% !important;
  left: 14px !important;
  border: 5px solid transparent !important;
  border-top-color: #dc2626 !important;
}

/* Show tooltip on hover of the field wrapper */
.upcoming_from .wpcf7-form-control-wrap:hover .wpcf7-not-valid-tip {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Red border + glow on invalid field */
.upcoming_from input.wpcf7-not-valid {
  border-color: #ef4444 !important;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.25) !important;
  background: rgba(239, 68, 68, 0.07) !important;
}

/* Hide CF7's injected <br> tags — they become flex items and create gaps */
.upcoming_from .wpcf7-form br {
  display: none !important;
}

/* Hide the default CF7 response output since we use custom banners */
.upcoming_from .wpcf7-response-output {
  display: none !important;
}

/* Hide CF7 spinner — it becomes a flex row after the submit button causing dead space */
.upcoming_from .wpcf7-spinner {
  display: none !important;
}

/* Remove any default bottom margin CF7 adds to its outer wrapper */
.upcoming_from .wpcf7 {
  margin-bottom: 0 !important;
}

/* Stop form card stretching to match events column — height = content only */
.upco-form-col {
  align-self: flex-start !important;
}

/* Mobile: stack columns vertically, disable sticky */
@media (max-width: 900px) {
  .upco-inner {
    flex-direction: column !important;
    gap: 40px !important;
  }
  .upco-form-col {
    flex: 1 1 auto !important;
    width: 100% !important;
    align-self: auto !important;
    position: relative !important;
    top: auto !important;
  }
  .upco_confrc {
    padding: 60px 0 !important;
  }
}

/* Small phone polish */
@media (max-width: 480px) {
  .upco_confrc {
    padding: 48px 0 !important;
  }
  .upcoming_from {
    padding: 28px 20px !important;
  }
  .upco-form-col {
    align-self: auto !important;
  }
}

/* ============================================================
   UPCOMING-EVENTS PAGE — card image fixes + match home Ministries
   ============================================================ */

/* Card shell — same lift/shadow rhythm as .ministry-card */
.event-list-container article.et_pb_post {
  border-radius: 16px !important;
  overflow: hidden !important;
  margin-bottom: 24px !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12) !important;
  transition: transform 0.35s ease, box-shadow 0.35s ease !important;
}

.event-list-container article.et_pb_post:has(.event-link:hover) {
  transform: translateY(-6px) !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2) !important;
}

/* Clip outer link — match ministry card radius */
.event-list-container article .event-link {
  border-radius: 16px !important;
  overflow: hidden !important;
  display: block !important;
  position: relative !important;
  text-decoration: none !important;
}

/* Disable plugin orange full-card hover wash (ruahevents.css) */
.event-list-container article .event-link::after {
  border-radius: 16px !important;
  background: transparent !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.event-list-container article .event-link:hover::after {
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Make the background image fill the card properly */
.event-list-container article .imageholder {
  width: 100% !important;
  min-height: 250px !important;
  background-size: cover !important;
  background-position: center !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  position: relative !important;
}

/* Dark overlay — default matches ministry resting gradient feel */
.event-list-container article .imageholder::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.35) 0%,
    rgba(0, 0, 0, 0.60) 55%,
    rgba(0, 0, 0, 0.88) 100%
  ) !important;
  border-radius: 16px !important;
  pointer-events: none !important;
  transition: background 0.3s ease !important;
}

/* Hover overlay — same as .ministry-card:hover .ministry-card-overlay */
.event-list-container article.et_pb_post:has(.event-link:hover) .imageholder::after {
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.0) 10%,
    rgba(0, 0, 0, 0.6) 55%,
    rgba(0, 0, 0, 0.92) 100%
  ) !important;
}

/* Title — match .ministry-card-title */
.event-list-container article .imageholder .entry-title {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 2 !important;
  margin: 0 !important;
  text-align: center !important;
  padding: 0 24px 24px !important;
  font-family: var(--font-heading) !important;
  font-size: clamp(1rem, 1.5vw, 1.3rem) !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: #ffffff !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
}

/* Learn more — after title (same line stack as .ministry-card-cta); show on card hover */
.event-list-container article .imageholder .entry-title::after {
  content: 'Learn more \2192' !important;
  display: block !important;
  margin-top: 8px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #f97316 !important;
  text-shadow: none !important;
  opacity: 0 !important;
  transform: translateY(6px) !important;
  transition: opacity 0.3s ease, transform 0.3s ease !important;
}

.event-list-container article .event-link:hover .entry-title::after {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* ----- Upcoming Events: centre the last (partial) row on desktop -----
   Cards are chunked into Bootstrap .row blocks of three .col-md-4 columns.
   Turning each row into a centred flex container leaves full rows untouched
   (3 × 33.33% = 100%) while a final row of one or two cards is centred.
   Scoped to the upcoming-events template and to the md breakpoint, where the
   columns sit side by side. */
@media (min-width: 992px) {
  body[class*="template-upcoming-event"] .event-list-container .row {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
  }
}

/* ============================================
   WHAT'S HAPPENING THIS WEEK — dark theme
   ============================================ */

.clndr_wrp_sec {
  position: relative !important;
  padding: 72px 0 80px !important;
  background: #111827 !important;
  overflow: hidden !important;
}

/* Subtle top gradient accent */
.clndr_wrp_sec::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, transparent, #f97316, transparent) !important;
}

/* ---- Section header row ---- */
.event-search-filter {
  margin-bottom: 36px !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
}

/* Search/filter surface */
.event-search-filter .container {
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 14px !important;
  padding: 16px 18px !important;
  box-shadow: 0 10px 28px rgba(2, 8, 20, 0.28) !important;
}

.event-search-filter .vforms {
  margin: 0 !important;
}

.event-filter-kicker {
  display: inline-block !important;
  margin: 0 0 12px !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--accent, #e07b27) !important;
}

.event-search-filter .row {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  margin-left: -8px !important;
  margin-right: -8px !important;
}

.event-search-filter .row > [class*='col-'] {
  padding-left: 8px !important;
  padding-right: 8px !important;
}

.event-search-filter h2 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: clamp(1.4rem, 2.5vw, 2rem) !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 !important;
  line-height: 1.2 !important;
  position: relative !important;
  padding-bottom: 0 !important;
}
.event-search-filter h2::before {
  content: "THIS WEEK" !important;
  display: block !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  color: #f97316 !important;
  margin-bottom: 6px !important;
}

/* List / Weekly toggle pills */
.calendar-tab {
  display: flex !important;
  gap: 8px !important;
  justify-content: flex-end !important;
  align-items: center !important;
}

/* Search input with icon button */
.event-search-filter .srch_box {
  position: relative !important;
  width: 100% !important;
  height: 46px !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,0.06) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.03) !important;
  overflow: hidden !important;
}

.event-search-filter .srch_box .form-control {
  width: 100% !important;
  height: 100% !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: transparent !important;
  color: #e2eaf4 !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  padding: 0 54px 0 18px !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
}

.event-search-filter .srch_box .form-control::placeholder {
  color: rgba(255,255,255,0.55) !important;
}

.event-search-filter .srch_box .form-control:focus {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.event-search-filter .srch_box:focus-within {
  border-color: var(--accent, #e07b27) !important;
  box-shadow: 0 0 0 3px rgba(224,123,39,0.15) !important;
  background: rgba(255,255,255,0.08) !important;
}

.event-search-filter .srch_box .srchbtn {
  position: absolute !important;
  top: 50% !important;
  right: 7px !important;
  transform: translateY(-50%) !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  border: none !important;
  background: var(--accent, #e07b27) !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.event-search-filter .srch_box .srchbtn:hover {
  transform: translateY(-50%) scale(1.04) !important;
  box-shadow: 0 4px 12px rgba(224,123,39,0.35) !important;
}

/* Category select */
.event-search-filter select[name='cat'] {
  width: 100% !important;
  height: 44px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  background: rgba(255,255,255,0.06) !important;
  color: #e2eaf4 !important;
  font-size: 0.9rem !important;
  padding: 0 40px 0 16px !important;
  outline: none !important;
  box-shadow: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(255,255,255,0.6) 50%),
    linear-gradient(135deg, rgba(255,255,255,0.6) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) 18px,
    calc(100% - 13px) 18px;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}

.event-search-filter select[name='cat']:focus {
  border-color: var(--accent, #e07b27) !important;
  box-shadow: 0 0 0 3px rgba(224,123,39,0.15) !important;
  background-color: rgba(255,255,255,0.08) !important;
}

.event-search-filter select[name='cat'] option {
  color: #0f172a !important;
}
.calendar-tab .button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 8px 18px !important;
  border-radius: 999px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border: 1.5px solid rgba(255,255,255,0.15) !important;
  background: rgba(255,255,255,0.06) !important;
  color: rgba(255,255,255,0.6) !important;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
  cursor: pointer !important;
}
.calendar-tab .button.active,
.calendar-tab .button:hover {
  background: #f97316 !important;
  color: #ffffff !important;
  border-color: #f97316 !important;
}

/* ---- Event row cards ---- */
.cal-event-row {
  display: flex !important;
  align-items: flex-start !important;
  gap: 16px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-left: 3px solid rgba(249,115,22,0.4) !important;
  border-radius: 12px !important;
  padding: 16px 20px !important;
  margin-bottom: 10px !important;
  text-decoration: none !important;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease !important;
}
.cal-event-row:hover {
  background: rgba(249,115,22,0.08) !important;
  border-left-color: #f97316 !important;
  transform: translateX(4px) !important;
  text-decoration: none !important;
}

/* Date badge */
.cal-event-date-badge {
  flex-shrink: 0 !important;
  width: 52px !important;
  height: 58px !important;
  background: linear-gradient(135deg, #f97316, #ea580c) !important;
  border-radius: 10px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  box-shadow: 0 4px 12px rgba(249,115,22,0.35) !important;
}
.cal-event-day {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1.4rem !important;
  font-weight: 800 !important;
  color: #ffffff !important;
}
.cal-event-mon {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.65rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.85) !important;
  margin-top: 2px !important;
}

/* Event info — flex + gap keeps spacing even between title / time / date */
.cal-event-info {
  flex: 1 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.375rem !important;
}
.cal-event-info p {
  margin: 0 !important;
  padding: 0 !important;
}
.cal-event-title {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.97rem !important;
  font-weight: 600 !important;
  color: #f1f5f9 !important;
  line-height: 1.35 !important;
}
.cal-event-time {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 400 !important;
  color: rgba(255,255,255,0.45) !important;
  line-height: 1.4 !important;
}
.cal-event-time .fa {
  margin-right: 0.4rem !important;
  opacity: 0.85 !important;
  vertical-align: -0.06em !important;
}
.cal-event-dow {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,0.3) !important;
  line-height: 1.4 !important;
}

/* Arrow — self-centered so it doesn't pin to the top of the card */
.cal-event-arrow {
  flex-shrink: 0 !important;
  align-self: center !important;
  width: 32px !important;
  height: 32px !important;
  background: rgba(255,255,255,0.08) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: rgba(255,255,255,0.4) !important;
  font-size: 0.75rem !important;
  transition: background 0.2s ease, color 0.2s ease !important;
}
.cal-event-row:hover .cal-event-arrow {
  background: #f97316 !important;
  color: #ffffff !important;
}

/* ---- Weekly day-picker tabs ---- */
.weekly-tab {
  display: flex !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  margin-bottom: 18px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  overflow-x: auto !important;
  padding: 2px 0 10px !important;
  scroll-snap-type: x proximity !important;
}

.weekly-tab::-webkit-scrollbar {
  height: 6px !important;
}

.weekly-tab::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,0.2) !important;
  border-radius: 999px !important;
}

.weekly-tab .col-md-1 {
  flex: 0 0 auto !important;
  width: auto !important;
  padding: 0 !important;
  scroll-snap-align: start !important;
}
.weekly-tab .col-md-1 a {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 76px !important;
  min-width: 78px !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,0.05) !important;
  border: 1.5px solid rgba(255,255,255,0.1) !important;
  color: rgba(255,255,255,0.5) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  transition: background 0.22s ease, color 0.22s ease, border-color 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease !important;
  text-decoration: none !important;
  position: relative !important;
  overflow: hidden !important;
}
.weekly-tab .col-md-1 a span {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  color: #e2eaf4 !important;
  margin-bottom: 4px !important;
  line-height: 1 !important;
}
.weekly-tab .col-md-1 a.active,
.weekly-tab .col-md-1 a:hover {
  background: linear-gradient(135deg, #f97316, #ea580c) !important;
  border-color: #f97316 !important;
  color: #ffffff !important;
  box-shadow: 0 8px 20px rgba(249,115,22,0.35) !important;
  transform: translateY(-2px) !important;
}
.weekly-tab .col-md-1 a.active span,
.weekly-tab .col-md-1 a:hover span {
  color: #ffffff !important;
}

/* Weekly tab content area */
.weekly-tab-content-all {
  min-height: 140px !important;
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 14px !important;
  padding: 16px !important;
}

.weekly-tab-content .cal-event-row:last-child {
  margin-bottom: 0 !important;
}

/* ---- No events state ---- */
.no-event-box,
.no_event_box {
  text-align: center !important;
  padding: 40px 20px !important;
  color: rgba(255,255,255,0.35) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.9rem !important;
}

/* ---- Fix: prevent Bootstrap .row negative margins being clipped by .clndr_wrp_sec overflow:hidden ---- */
/* At fixed-width breakpoints (768px, 992px, 1200px) the standard -15px row margins cause the row to
   extend slightly beyond the container's right edge, which gets clipped by the section's overflow:hidden.
   Zeroing the row margins here (and the matching col padding) keeps everything inside bounds. */
.event-calendar.shortcode .container > .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.event-calendar.shortcode .container > .row > .col-md-12 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ---- Download buttons ---- */
.calendar-download-button-groups {
  margin-top: 20px !important;
  display: flex !important;
  justify-content: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}
.calendar-download-button-groups .button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  background: transparent !important;
  border: 1.5px solid rgba(255,255,255,0.15) !important;
  color: rgba(255,255,255,0.5) !important;
  border-radius: 8px !important;
  padding: 9px 18px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.8rem !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
}
.calendar-download-button-groups .button:hover {
  background: rgba(255,255,255,0.1) !important;
  border-color: rgba(255,255,255,0.3) !important;
  color: #ffffff !important;
}

/* ---- Full Calendar CTA ---- */
.full_calbtn {
  margin-top: 36px !important;
}
.full_calbtn a.btn_grn,
#lstv2.btn_grn {
  display: inline-block !important;
  background: linear-gradient(135deg, #f97316, #ea580c) !important;
  color: #ffffff !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  padding: 14px 36px !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  box-shadow: 0 4px 16px rgba(249,115,22,0.35) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.full_calbtn a.btn_grn:hover,
#lstv2.btn_grn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 24px rgba(249,115,22,0.5) !important;
  color: #ffffff !important;
}

/* Mobile */
@media (max-width: 768px) {
  .event-search-filter .container {
    padding: 14px !important;
  }

  .event-filter-kicker {
    margin-bottom: 10px !important;
  }

  .event-search-filter .row > [class*='col-'] {
    width: 100% !important;
    margin-bottom: 10px !important;
  }

  .event-search-filter .row > [class*='col-']:last-child {
    margin-bottom: 0 !important;
  }

  .calendar-tab {
    justify-content: flex-start !important;
    margin-top: 12px !important;
    width: 100% !important;
  }

  .calendar-tab .button {
    flex: 1 1 0 !important;
    justify-content: center !important;
  }
  .weekly-tab {
    gap: 8px !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    overflow-x: visible !important;
    padding-bottom: 0 !important;
    scroll-snap-type: none !important;
    max-width: 640px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .weekly-tab .col-md-1 {
    flex: 0 0 calc((100% - 48px) / 7) !important;
    width: calc((100% - 48px) / 7) !important;
    max-width: none !important;
  }

  .weekly-tab .col-md-1 a {
    min-height: 68px !important;
    min-width: 0 !important;
    width: 100% !important;
    padding: 8px 10px !important;
    font-size: 0.62rem !important;
  }
  .weekly-tab .col-md-1 a span {
    font-size: 1.05rem !important;
  }
  .weekly-tab-content-all {
    padding: 12px !important;
  }
}

@media (max-width: 540px) {
  .weekly-tab .col-md-1 {
    flex: 0 0 calc(25% - 8px) !important;
    width: calc(25% - 8px) !important;
  }
}

@media (max-width: 420px) {
  .weekly-tab .col-md-1 {
    flex: 0 0 calc(33.333% - 8px) !important;
    width: calc(33.333% - 8px) !important;
  }
}

/* ============================================
   MINISTRIES (.glry_sec)
   ============================================ */

.glry_sec {
  padding: 80px 0 !important;
  background: #0f172a !important;
}

.glry_sec .glry {
  padding-top: 0 !important;
}

/* Section header */
.ministry-header {
  text-align: center !important;
  margin-bottom: 48px !important;
}
.ministry-heading {
  font-family: 'Montserrat', sans-serif !important;
  font-size: clamp(1.8rem, 3vw, 2.6rem) !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}

/* Flexbox grid — centres last row automatically */
.ministry-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 24px !important;
}

.ministry-card {
  flex: 0 0 calc(33.333% - 16px) !important;
  max-width: calc(33.333% - 16px) !important;
}

/* Card */
.ministry-card {
  position: relative !important;
  display: block !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  text-decoration: none !important;
  aspect-ratio: 4 / 3 !important;
  background: #1e293b !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.12) !important;
  transition: transform 0.35s ease, box-shadow 0.35s ease !important;
}
.ministry-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.2) !important;
  text-decoration: none !important;
}

/* Background image — inline style wins over these gradients (no !important here) */
.ministry-card-img {
  position: absolute !important;
  inset: 0 !important;
  background-size: cover !important;
  background-position: center !important;
  transition: transform 0.5s ease !important;
}
.ministry-card:hover .ministry-card-img {
  transform: scale(1.06) !important;
}

/* Distinct gradient fallback per card — no !important so inline bg-image wins */
.ministry-card:nth-child(1) .ministry-card-img { background: linear-gradient(135deg, #1e3a8a, #0f172a); }
.ministry-card:nth-child(2) .ministry-card-img { background: linear-gradient(135deg, #7c3aed, #2e1065); }
.ministry-card:nth-child(3) .ministry-card-img { background: linear-gradient(135deg, #0e7490, #042f2e); }
.ministry-card:nth-child(4) .ministry-card-img { background: linear-gradient(135deg, #be123c, #4c0519); }
.ministry-card:nth-child(5) .ministry-card-img { background: linear-gradient(135deg, #c2410c, #431407); }
.ministry-card:nth-child(6) .ministry-card-img { background: linear-gradient(135deg, #15803d, #052e16); }
.ministry-card:nth-child(7) .ministry-card-img { background: linear-gradient(135deg, #b45309, #431407); }
.ministry-card:nth-child(8) .ministry-card-img { background: linear-gradient(135deg, #4338ca, #1e1b4b); }

/* Gradient overlay */
.ministry-card-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.35) 0%,
    rgba(0,0,0,0.60) 55%,
    rgba(0,0,0,0.88) 100%
  ) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  padding: 24px !important;
  transition: background 0.3s ease !important;
}
.ministry-card:hover .ministry-card-overlay {
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.0) 10%,
    rgba(0,0,0,0.6) 55%,
    rgba(0,0,0,0.92) 100%
  ) !important;
}

/* Title */
.ministry-card-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: clamp(1rem, 1.5vw, 1.3rem) !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 0 8px !important;
  line-height: 1.3 !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.4) !important;
}

/* CTA */
.ministry-card-cta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #f97316 !important;
  opacity: 0 !important;
  transform: translateY(6px) !important;
  transition: opacity 0.3s ease, transform 0.3s ease !important;
}
.ministry-card:hover .ministry-card-cta {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Responsive */
@media (max-width: 900px) {
  .ministry-card {
    flex: 0 0 calc(50% - 12px) !important;
    max-width: calc(50% - 12px) !important;
  }
}
@media (max-width: 540px) {
  .ministry-card {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
  .ministry-grid {
    gap: 16px !important;
  }
  .glry_sec {
    padding: 56px 0 !important;
  }
}

/* ============================================================
   INDIVIDUAL MINISTRY PAGE  (single-minis_tries.php)
   ============================================================ */

/* ---- Body wrapper ---- */
.min-body-wrap {
  background: #07111f !important;
  padding: 72px 0 60px !important;
}

/* ---- Two-column content row ---- */
.min-content-row {
  display: flex !important;
  align-items: flex-start !important;
  gap: 56px !important;
}

/* Single-column when no image */
.min-content-row:not(.has-image) .min-text-col {
  max-width: 780px !important;
  margin: 0 auto !important;
}

/* ---- Image column ---- */
.min-image-col {
  flex: 0 0 400px !important;
  width: 400px !important;
}

.min-image-frame {
  position: relative !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55) !important;
}

.min-image-frame img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  border-radius: 18px !important;
}

/* Decorative orange accent bar on bottom-left corner */
.min-image-accent {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 60px !important;
  height: 4px !important;
  background: linear-gradient(90deg, #e8913a, #f2c97e) !important;
  border-radius: 0 4px 0 0 !important;
}

/* ---- Text column ---- */
.min-text-col {
  flex: 1 1 0 !important;
  min-width: 0 !important;
}

/* ---- Prose styling inside individual ministry ---- */
.min-prose p {
  font-size: 1.0625rem !important;
  line-height: 1.85 !important;
  color: #b8cfe0 !important;
  margin-bottom: 1.2rem !important;
  letter-spacing: 0.01em !important;
}

.min-prose h2,
.min-prose h3,
.min-prose h4 {
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 1.6rem 0 0.6rem !important;
  line-height: 1.25 !important;
  position: relative !important;
}

.min-prose h2 { font-size: clamp(1.45rem, 2.5vw, 1.9rem) !important; }
.min-prose h3 { font-size: clamp(1.2rem, 2vw, 1.5rem) !important; }
.min-prose h4 { font-size: 1.1rem !important; }

.min-prose h2::after,
.min-prose h3::after {
  content: '' !important;
  display: block !important;
  width: 36px !important;
  height: 3px !important;
  background: linear-gradient(90deg, #e8913a, #f2c97e) !important;
  border-radius: 3px !important;
  margin: 0.45rem 0 0 !important;
}

.min-prose ul,
.min-prose ol {
  color: #b8cfe0 !important;
  font-size: 1.0625rem !important;
  line-height: 1.8 !important;
  padding-left: 1.5rem !important;
  margin-bottom: 1.2rem !important;
}

.min-prose ul li::marker { color: #e8913a !important; }

.min-prose strong {
  color: #dce9f5 !important;
  font-weight: 700 !important;
}

.min-prose a {
  color: #e8913a !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(232,145,58,0.35) !important;
  transition: border-color 0.2s ease, color 0.2s ease !important;
}

.min-prose a:hover {
  color: #f2c97e !important;
  border-bottom-color: #f2c97e !important;
}

.min-prose blockquote {
  border-left: 3px solid #e8913a !important;
  background: rgba(232,145,58,0.07) !important;
  border-radius: 0 10px 10px 0 !important;
  margin: 1.25rem 0 !important;
  padding: 1rem 1.25rem !important;
  color: #dce9f5 !important;
  font-style: italic !important;
  font-size: 1.05rem !important;
}

.min-prose hr {
  border: none !important;
  border-top: 1px solid rgba(255,255,255,0.1) !important;
  margin: 2rem 0 !important;
}

/* ---- Related ministries section ---- */
.min-related-sec {
  background: #07111f !important;
  border-top: 1px solid rgba(255,255,255,0.07) !important;
  padding: 60px 0 80px !important;
}

.min-related-header {
  text-align: center !important;
  margin-bottom: 40px !important;
}

.min-eyebrow {
  display: inline-block !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #e8913a !important;
  margin-bottom: 0.55rem !important;
}

.min-section-heading {
  font-size: clamp(1.5rem, 2.8vw, 2.1rem) !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  margin: 0 !important;
  line-height: 1.2 !important;
  position: relative !important;
}

.min-section-heading::after {
  content: '' !important;
  display: block !important;
  width: 40px !important;
  height: 3px !important;
  background: linear-gradient(90deg, #e8913a, #f2c97e) !important;
  border-radius: 3px !important;
  margin: 0.5rem auto 0 !important;
}

/* ---- Ministry card grid ---- */
.min-related-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}

.min-card {
  display: flex !important;
  flex-direction: column !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  text-decoration: none !important;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease !important;
}

.min-card:hover {
  transform: translateY(-5px) !important;
  border-color: rgba(232,145,58,0.35) !important;
  box-shadow: 0 18px 48px rgba(0,0,0,0.45) !important;
  text-decoration: none !important;
}

.min-card-thumb {
  position: relative !important;
  overflow: hidden !important;
  aspect-ratio: 16 / 9 !important;
  background: #0d1f33 !important;
}

.min-card-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.35s ease !important;
}

.min-card:hover .min-card-img {
  transform: scale(1.05) !important;
}

.min-card-img-placeholder {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 2rem !important;
  color: rgba(232,145,58,0.4) !important;
}

.min-card-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, transparent 40%, rgba(7,17,31,0.75) 100%) !important;
  transition: opacity 0.25s ease !important;
}

.min-card:hover .min-card-overlay {
  opacity: 0.6 !important;
}

.min-card-body {
  padding: 16px 18px 18px !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

.min-card-title {
  font-size: 0.975rem !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 !important;
  line-height: 1.35 !important;
}

.min-card-cta {
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  color: #e8913a !important;
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  margin-top: auto !important;
  transition: gap 0.2s ease !important;
}

.min-card:hover .min-card-cta {
  gap: 9px !important;
}

/* ---- Responsive ---- */
@media (max-width: 991px) {
  .min-content-row {
    flex-direction: column !important;
    gap: 36px !important;
  }
  .min-image-col {
    flex: none !important;
    width: 100% !important;
  }
  .min-image-frame img {
    max-height: 380px !important;
    object-fit: cover !important;
  }
  .min-related-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 599px) {
  .min-body-wrap {
    padding: 48px 0 40px !important;
  }
  .min-related-sec {
    padding: 44px 0 56px !important;
  }
  .min-related-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }
  .min-card-body {
    padding: 12px 14px 14px !important;
  }
}

@media (max-width: 399px) {
  .min-related-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ============================================
   PULL-QUOTE / VERSE SECTION (.flry_cont)
   ============================================ */

.text-center.flry_cont {
  position: relative !important;
  padding: 90px 0 80px !important;
  background: #0a1628 !important;
  overflow: hidden !important;
  text-align: center !important;
}

/* Ambient glow background */
.text-center.flry_cont::before {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 600px !important;
  height: 300px !important;
  background: radial-gradient(ellipse, rgba(249,115,22,0.12) 0%, transparent 70%) !important;
  pointer-events: none !important;
}

/* Decorative opening quote mark */
.text-center.flry_cont .text-center::before {
  content: '\201C' !important;
  display: block !important;
  font-family: 'Georgia', serif !important;
  font-size: 7rem !important;
  line-height: 0.6 !important;
  color: rgba(249, 115, 22, 0.25) !important;
  margin-bottom: 24px !important;
}

/* The quote text from the_content() */
.text-center.flry_cont p {
  font-family: 'Dancing Script', cursive !important;
  font-size: clamp(1.5rem, 1vw, 2.4rem) !important;
  font-weight: 700 !important;
  font-style: normal !important;
  line-height: 1.5 !important;
  color: #ffffff !important;
  max-width: 800px !important;
  margin: 0 auto 0 !important;
  text-shadow: 0 2px 20px rgba(0,0,0,0.4) !important;
}

/* Down-arrow icon */
.text-center.flry_cont .fa-angle-double-down {
  display: block !important;
  margin-top: 36px !important;
  font-size: 1.4rem !important;
  color: rgba(249, 115, 22, 0.6) !important;
  animation: flry-bounce 2s ease-in-out infinite !important;
}

@keyframes flry-bounce {
  0%, 100% { transform: translateY(0);   opacity: 0.6; }
  50%       { transform: translateY(8px); opacity: 1;   }
}

/* ============================================
   WATCH & LISTEN / VIDEO / PODCAST PAGES
   ============================================ */
.audio_item,
.video_item,
.sermon_item,
.wl_item {
  background: rgba(255,255,255,0.04) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-md) !important;
  overflow: hidden !important;
  transition: var(--transition) !important;
  margin-bottom: 30px !important;
}

.audio_item:hover,
.video_item:hover,
.sermon_item:hover,
.wl_item:hover {
  transform: translateY(-8px) !important;
  box-shadow: var(--shadow-xl) !important;
}

/* ============================================
   ABOUT PAGE
   ============================================ */
.about_sec,
.abt_sec {
  padding: 80px 0 !important;
}

.about_sec h2,
.abt_sec h2 {
  position: relative !important;
  padding-bottom: 20px !important;
  margin-bottom: 30px !important;
}

.about_sec h2::after,
.abt_sec h2::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 60px !important;
  height: 4px !important;
  background: linear-gradient(135deg, var(--primary-light), var(--accent)) !important;
  border-radius: 4px !important;
}

/* ============================================
   BLOG & SINGLE POSTS
   ============================================ */
.blog_item,
.post_item {
  background: rgba(255,255,255,0.04) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-md) !important;
  overflow: hidden !important;
  transition: var(--transition) !important;
  margin-bottom: 30px !important;
}

.blog_item:hover,
.post_item:hover {
  transform: translateY(-6px) !important;
  box-shadow: var(--shadow-xl) !important;
}

.blog_item img,
.post_item img {
  transition: transform 0.5s ease !important;
}

.blog_item:hover img,
.post_item:hover img {
  transform: scale(1.06) !important;
}

/* ============================================
   TEAM / GOVERNING BOARD
   ============================================ */
.team_member,
.governing_board_item,
.gb_item {
  background: rgba(255,255,255,0.04) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-md) !important;
  overflow: hidden !important;
  transition: var(--transition) !important;
  text-align: center !important;
  padding: 30px 20px !important;
  margin-bottom: 30px !important;
}

.team_member:hover,
.governing_board_item:hover,
.gb_item:hover {
  transform: translateY(-8px) !important;
  box-shadow: var(--shadow-xl) !important;
}

.team_member img,
.governing_board_item img,
.gb_item img {
  border-radius: 50% !important;
  width: 140px !important;
  height: 140px !important;
  object-fit: cover !important;
  border: 4px solid var(--gray-100) !important;
  transition: var(--transition) !important;
  margin: 0 auto 20px !important;
}

.team_member:hover img,
.governing_board_item:hover img,
.gb_item:hover img {
  border-color: var(--accent) !important;
}

/* ============================================
   MINISTRIES
   ============================================ */
.ministry_item,
.min_item {
  background: rgba(255,255,255,0.04) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-md) !important;
  overflow: hidden !important;
  transition: var(--transition) !important;
  margin-bottom: 30px !important;
}

.ministry_item:hover,
.min_item:hover {
  transform: translateY(-6px) !important;
  box-shadow: var(--shadow-xl) !important;
}

/* ============================================
   INNER PAGE BANNERS
   ============================================ */
.inner_banner {
  position: relative !important;
  min-height: 480px !important;
  display: flex !important;
  margin-top: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  padding-top: 0 !important;
  background-color: #0a1528 !important;
}

/* Banner photo — full-cover behind transparent header */
.inner_banner > img.img-responsive {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  z-index: 0 !important;
  margin: 0 !important;
}

/* Dark gradient overlay */
.inner_banner::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: linear-gradient(
    to bottom,
    rgba(5, 12, 28, 0.45) 0%,
    rgba(8, 18, 40, 0.75) 55%,
    rgba(8, 18, 40, 0.92) 100%
  ) !important;
}

/* Content wrapper */
.inner_banner .banner_cot {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  padding-top: 140px !important;
  padding-bottom: 72px !important;
}

/* Modern inner-banner content block */
.inner-banner-content {
  text-align: center !important;
}

.inner-banner-eyebrow {
  display: inline-block !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.28em !important;
  color: #e8913a !important;
  margin-bottom: 14px !important;
  opacity: 0.9 !important;
}

.inner-banner-title {
  font-family: var(--font-heading) !important;
  font-size: clamp(2.4rem, 6vw, 4rem) !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  letter-spacing: -0.025em !important;
  line-height: 1.1 !important;
  margin: 0 0 24px !important;
  text-shadow: 0 4px 32px rgba(0,0,0,0.5) !important;
}

.inner-banner-divider {
  width: 52px !important;
  height: 3px !important;
  background: linear-gradient(90deg, #e8913a, #f5c36a) !important;
  border-radius: 3px !important;
  margin: 0 auto !important;
}

/* Fallback for templates still using h2.title1 */
.inner_banner h1,
.inner_banner h2,
.inner_banner .banner_title,
.inner_banner .title1 {
  position: relative !important;
  z-index: 2 !important;
  color: #ffffff !important;
  text-align: center !important;
  font-size: clamp(2.4rem, 6vw, 4rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
  text-shadow: 0 4px 32px rgba(0,0,0,0.5) !important;
  margin: 0 !important;
}

/* ============================================
   FORMS - Contact & CF7
   ============================================ */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form input[type="number"],
.wpcf7-form textarea,
.wpcf7-form select,
.body_content input[type="text"],
.body_content input[type="email"],
.body_content textarea {
  border: 2px solid var(--gray-200) !important;
  border-radius: var(--radius-md) !important;
  padding: 14px 18px !important;
  font-family: var(--font-sans) !important;
  font-size: 15px !important;
  color: var(--gray-700) !important;
  background: var(--white) !important;
  transition: var(--transition) !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.wpcf7-form input:focus,
.wpcf7-form textarea:focus,
.body_content input:focus,
.body_content textarea:focus {
  border-color: var(--primary-light) !important;
  box-shadow: 0 0 0 4px rgba(44, 90, 160, 0.1) !important;
  outline: none !important;
}

.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder {
  color: var(--gray-400) !important;
}

/* ============================================
   FOOTER — Modern 4-column redesign
   ============================================ */
footer.min-footer {
  background: linear-gradient(180deg, #0d1520 0%, #07090f 100%) !important;
  padding: 0 !important;
  position: relative !important;
}

/* Subtle top accent line */
footer.min-footer::before {
  content: '' !important;
  display: block !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent 0%, #e8913a 35%, #f5c36a 50%, #e8913a 65%, transparent 100%) !important;
}

/* Force light text on all descendants */
footer.min-footer,
footer.min-footer * {
  color: #8fa3b4 !important;
}

/* Main content area */
.ftr-main {
  padding: 64px 0 52px !important;
}

/* 4-column grid */
.ftr-grid {
  display: grid !important;
  grid-template-columns: 1.5fr 1fr 1.3fr 1fr !important;
  gap: 52px !important;
  align-items: start !important;
}

/* ----- Brand column ----- */
.ftr-logo-wrap {
  margin-bottom: 18px !important;
}

.ftr-logo-wrap img {
  max-width: 150px !important;
  height: auto !important;
  filter: brightness(0) invert(1) !important;
  opacity: 0.88 !important;
}

.ftr-logo-text {
  font-family: var(--font-heading) !important;
  font-size: 1.85rem !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  line-height: 1.15 !important;
  display: block !important;
  letter-spacing: -0.01em !important;
}

.ftr-logo-sub {
  display: block !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.25em !important;
  color: #e8913a !important;
  margin-top: 2px !important;
}

.ftr-tagline {
  font-size: 0.875rem !important;
  line-height: 1.75 !important;
  color: #5a7080 !important;
  margin: 0 !important;
}

/* ----- Column headings ----- */
footer.min-footer .ftr-col h3 {
  color: #ffffff !important;
  font-family: var(--font-heading) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.14em !important;
  margin-bottom: 22px !important;
  padding-bottom: 12px !important;
  position: relative !important;
}

footer.min-footer .ftr-col h3::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 28px !important;
  height: 2px !important;
  background: #e8913a !important;
  border-radius: 2px !important;
}

/* ----- Quick links list ----- */
.ftr-links-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.ftr-links-list li {
  margin-bottom: 9px !important;
  padding: 0 !important;
}

.ftr-links-list li a {
  color: #6a8496 !important;
  font-size: 0.9rem !important;
  text-decoration: none !important;
  transition: color 0.2s ease, padding-left 0.2s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
}

.ftr-links-list li a::before {
  content: '›' !important;
  color: #e8913a !important;
  font-size: 1.1rem !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
}

.ftr-links-list li a:hover {
  color: #f5a855 !important;
  padding-left: 3px !important;
}

/* ----- Prayer line column ----- */
footer.min-footer .ftr-col p {
  font-size: 0.875rem !important;
  line-height: 1.75 !important;
  color: #5a7080 !important;
  margin-bottom: 20px !important;
}

.ftr-phone-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  background: rgba(232, 145, 58, 0.1) !important;
  border: 1px solid rgba(232, 145, 58, 0.28) !important;
  color: #f5a855 !important;
  padding: 10px 20px !important;
  border-radius: 50px !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  transition: all 0.25s ease !important;
  text-decoration: none !important;
}

.ftr-phone-link:hover {
  background: rgba(232, 145, 58, 0.22) !important;
  border-color: rgba(232, 145, 58, 0.55) !important;
  color: #ffffff !important;
}

/* ----- Social icons ----- */
.ftr-social-icons {
  display: flex !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin-top: 4px !important;
}

.ftr-soc-icon {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.09) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 17px !important;
  color: #8fa3b4 !important;
  transition: all 0.25s ease !important;
  text-decoration: none !important;
}

.ftr-soc-icon:hover {
  background: #e8913a !important;
  border-color: #e8913a !important;
  color: #ffffff !important;
  transform: translateY(-3px) !important;
}

/* ----- Connect column: normalise the social_media widget output -----
   When the "social_media" widget area is populated (as on the remote), WP
   renders the widget markup instead of the .ftr-social-icons fallback. The
   rules below turn whatever that markup is (lists, plain image links, etc.)
   into a tidy horizontal row, matching the fallback's look. */
.ftr-connect .widget,
.ftr-connect .textwidget,
.ftr-connect .custom-html-widget,
.ftr-connect ul,
.ftr-connect p {
  margin: 0 !important;
  padding: 0 !important;
}

/* Lay any wrapper out as a horizontal, wrapping row. */
.ftr-connect .widget,
.ftr-connect .textwidget,
.ftr-connect .custom-html-widget,
.ftr-connect ul {
  list-style: none !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
}

.ftr-connect li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Strip default link underline/borders and lay each link out as an icon. */
.ftr-connect a,
.ftr-connect a:hover,
.ftr-connect a:focus {
  text-decoration: none !important;
  border: 0 !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Forced line breaks inside the widget would stack the icons — hide them. */
.ftr-connect br {
  display: none !important;
}

/* Image-based icons: constrain size, neutral tone, lift on hover. */
.ftr-connect img {
  width: 30px !important;
  height: 30px !important;
  object-fit: contain !important;
  display: block !important;
  filter: grayscale(100%) opacity(0.78);
  transition: filter 0.25s ease, transform 0.25s ease !important;
}

.ftr-connect a:hover img {
  filter: none;
  transform: translateY(-3px);
}

/* Font-icon based widgets (but not the already-styled fallback) get the same
   circular treatment as .ftr-soc-icon. */
.ftr-connect a:not(.ftr-soc-icon) > i.fa {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.09) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 17px !important;
  color: #8fa3b4 !important;
  transition: all 0.25s ease !important;
}

.ftr-connect a:not(.ftr-soc-icon):hover > i.fa {
  background: #e8913a !important;
  border-color: #e8913a !important;
  color: #ffffff !important;
  transform: translateY(-3px) !important;
}

/* ----- Bottom bar ----- */
.btm-footer {
  background: rgba(0, 0, 0, 0.35) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
  padding: 18px 0 !important;
  margin-top: 0 !important;
}

.btm-footer,
.btm-footer * {
  color: #3d5060 !important;
  font-size: 0.82rem !important;
}

.ftr_cpyr p {
  margin: 0 !important;
}

/* Keep copyright centered across all breakpoints */
.btm-footer .ftr_btm {
  display: flex !important;
  justify-content: center !important;
}

.btm-footer .ftr_cpyr,
.btm-footer .ftr_cpyr p {
  width: 100% !important;
  text-align: center !important;
}

/* ============================================
   BODY CONTENT AREA
   ============================================ */
.body_content {
  padding: 0 !important;
  overflow-x: hidden !important;
  max-width: 100% !important;
}

/* Hero/banner at top — no top-padding so banner is flush with viewport (header overlays) */
body.home .body_content,
body.page-template-template-home .body_content,
.body_content:has(.inner_banner) {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.body_content .container {
  animation: fadeInUp 0.5s ease-out;
}

/* ============================================
   LOADING OVERLAY
   ============================================ */
#dvLoading {
  background: rgba(255,255,255,0.9) !important;
  backdrop-filter: blur(10px) !important;
}

/* ============================================
   UPCOMING EVENTS POPUP (#corner-popup)
   Dark theme: matches hero, upco_confrc, and site sections
   ============================================ */
#corner-popup {
  position: fixed !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  background: #1a202c !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: var(--radius-xl) !important;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.05) !important;
  padding: 1rem 1.25rem !important;
  min-width: 300px !important;
  max-width: 400px !important;
}

#corner-popup .corner-close,
#corner-popup .corner-close.close-change1 {
  position: absolute !important;
  top: 0.5rem !important;
  right: 0.5rem !important;
  bottom: auto !important;
  left: auto !important;
  width: 32px !important;
  height: 32px !important;
  margin: 0 !important;
  z-index: 10 !important;
  cursor: pointer !important;
  background: rgba(255, 255, 255, 0.1) !important;
  border-radius: 50% !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
  transition: var(--transition) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
}

#corner-popup .corner-close:before,
#corner-popup .corner-close:after {
  left: 14px !important;
  top: 9px !important;
  height: 12px !important;
  width: 4px !important;
}

#corner-popup .corner-close:hover {
  background: rgba(255, 255, 255, 0.2) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
}

#corner-popup .corner-close:before,
#corner-popup .corner-close:after {
  background-color: #ffffff !important;
}

#corner-popup .corner-head {
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.25rem !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: #ffffff !important;
  margin: 0 0 0.75rem 0 !important;
  padding-right: 2.5rem !important;
  border-bottom: none !important;
}

#corner-popup .corner-text {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 1.0625rem !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  color: rgba(255, 255, 255, 0.85) !important;
  margin: 0 !important;
  padding: 0 !important;
}

#corner-popup .corner-text a,
#corner-popup .corner-text a.cookie-more {
  display: block !important;
  color: #ffffff !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 1.0625rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: var(--transition) !important;
  padding: 0.5rem 0.75rem !important;
  margin-bottom: 0.5rem !important;
  border-radius: var(--radius-md) !important;
  border-left: 3px solid #e8913a !important;
  background: rgba(255, 255, 255, 0.05) !important;
}

#corner-popup .corner-text a:last-of-type {
  margin-bottom: 0 !important;
}

#corner-popup .corner-text a:hover,
#corner-popup .corner-text a.cookie-more:hover {
  color: #f5a855 !important;
  background: rgba(232, 145, 58, 0.15) !important;
  border-left-color: #f5a855 !important;
}

#corner-popup .corner-container-2 {
  padding: 0 !important;
  margin: 0 !important;
  bottom: auto !important;
}

#corner-popup .corner-btn-close {
  display: none !important;
}

#corner-popup .corner-btn {
  display: none !important;
}

/* ============================================================
   DONATION PAGE
   ============================================================ */

/* ---- Shared helpers ---- */
.don-eyebrow {
  display: inline-block !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #e8913a !important;
  margin-bottom: 0.6rem !important;
}

.don-heading {
  font-size: clamp(1.6rem, 3vw, 2.25rem) !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  line-height: 1.2 !important;
  margin: 0 0 1.25rem !important;
  position: relative !important;
}

.don-heading::after {
  content: '' !important;
  display: block !important;
  width: 42px !important;
  height: 3px !important;
  background: linear-gradient(90deg, #e8913a, #f2c97e) !important;
  border-radius: 3px !important;
  margin-top: 0.55rem !important;
}

/* ---- Why We Give section ---- */
.don-why-sec {
  padding: 80px 0 60px !important;
  background: #07111f !important;
}

.don-why-inner {
  display: flex !important;
  align-items: flex-start !important;
  gap: 56px !important;
}

.don-why-text {
  flex: 1 1 0 !important;
  min-width: 0 !important;
}

.don-why-text p {
  font-size: 1.0625rem !important;
  line-height: 1.85 !important;
  color: #b8cfe0 !important;
  margin-bottom: 1.1rem !important;
  letter-spacing: 0.01em !important;
}

.don-lead {
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  color: #dce9f5 !important;
  margin-bottom: 1.1rem !important;
}

.don-ref {
  font-style: italic !important;
  opacity: 0.75 !important;
}

.don-quote-block {
  background: rgba(232, 145, 58, 0.08) !important;
  border-left: 3px solid #e8913a !important;
  border-radius: 0 10px 10px 0 !important;
  padding: 0.9rem 1.2rem !important;
  color: #dce9f5 !important;
  font-style: italic !important;
  font-size: 1.0625rem !important;
  margin-top: 0.5rem !important;
  margin-bottom: 0 !important;
}

.don-quote-icon {
  color: #e8913a !important;
  margin-right: 0.5rem !important;
  opacity: 0.7 !important;
}

/* Verse card (right column) */
.don-verse-card {
  width: 300px !important;
  flex-shrink: 0 !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.09) !important;
  border-radius: 16px !important;
  padding: 36px 28px !important;
  text-align: center !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  position: sticky !important;
  top: 100px !important;
}

.don-verse-icon {
  width: 52px !important;
  height: 52px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #e8913a 0%, #c96a15 100%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 1.25rem !important;
  font-size: 1.15rem !important;
  color: #ffffff !important;
}

.don-verse-text {
  font-size: 1rem !important;
  font-style: italic !important;
  line-height: 1.75 !important;
  color: #c8ddef !important;
  margin: 0 0 1rem !important;
  padding: 0 !important;
  border: none !important;
}

.don-verse-ref {
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #e8913a !important;
}

/* ---- Bank Details section ---- */
.don-bank-sec {
  padding: 60px 0 80px !important;
  background: #07111f !important;
  border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
}

.don-bank-header {
  text-align: center !important;
  margin-bottom: 44px !important;
}

.don-bank-header .don-heading::after {
  margin: 0.55rem auto 0 !important;
}

.don-bank-sub {
  font-size: 1rem !important;
  color: #8fa9bf !important;
  line-height: 1.7 !important;
  max-width: 520px !important;
  margin: 0 auto !important;
}

.don-bank-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
}

.don-bank-card {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.09) !important;
  border-radius: 16px !important;
  padding: 32px 28px !important;
  transition: border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease !important;
}

.don-bank-card:hover {
  border-color: rgba(232, 145, 58, 0.35) !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35) !important;
}

.don-bank-card-icon {
  width: 48px !important;
  height: 48px !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, rgba(232,145,58,0.2) 0%, rgba(232,145,58,0.05) 100%) !important;
  border: 1px solid rgba(232, 145, 58, 0.25) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.1rem !important;
  color: #e8913a !important;
  margin-bottom: 1.1rem !important;
}

.don-bank-card-title {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 0 0.4rem !important;
  line-height: 1.3 !important;
}

.don-bank-card-desc {
  font-size: 0.875rem !important;
  color: #8fa9bf !important;
  line-height: 1.6 !important;
  margin: 0 0 1rem !important;
}

.don-bank-detail-list {
  list-style: none !important;
  margin: 1rem 0 0 !important;
  padding: 0 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.07) !important;
}

.don-bank-detail-list li {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 0.55rem 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
}

.don-bank-detail-list li:last-child {
  border-bottom: none !important;
}

.don-detail-label {
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #6a8499 !important;
  flex-shrink: 0 !important;
}

.don-detail-value {
  font-size: 0.9rem !important;
  color: #c8ddef !important;
  font-weight: 500 !important;
  text-align: right !important;
}

.don-detail-mono {
  font-family: 'Courier New', Courier, monospace !important;
  letter-spacing: 0.08em !important;
  color: #e8d5b0 !important;
}

/* ---- Responsive ---- */
@media (max-width: 991px) {
  .don-why-inner {
    flex-direction: column !important;
    gap: 36px !important;
  }
  .don-verse-card {
    width: 100% !important;
    position: static !important;
  }
  .don-bank-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 599px) {
  .don-why-sec,
  .don-bank-sec {
    padding: 48px 0 !important;
  }
  .don-bank-grid {
    grid-template-columns: 1fr !important;
  }
  .don-bank-card {
    padding: 24px 20px !important;
  }
}

/* ============================================================
   CATEGORY ARCHIVE  (category.php)
   ============================================================ */

/* ---- Hero ---- */
.cat-hero {
  position: relative !important;
  background: linear-gradient(160deg, #0d1a2e 0%, #07111f 60%, #0a1628 100%) !important;
  padding: 80px 0 72px !important;
  overflow: hidden !important;
  border-bottom: 1px solid rgba(255,255,255,0.07) !important;
}

/* Subtle radial glow */
.cat-hero::before {
  content: '' !important;
  position: absolute !important;
  top: -80px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 700px !important;
  height: 360px !important;
  background: radial-gradient(ellipse at center, rgba(232,145,58,0.12) 0%, transparent 70%) !important;
  pointer-events: none !important;
}

.cat-hero-inner {
  position: relative !important;
  z-index: 1 !important;
  text-align: center !important;
  max-width: 700px !important;
  margin: 0 auto !important;
}

.cat-hero-eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #e8913a !important;
  margin-bottom: 0.75rem !important;
}

.cat-hero-title {
  font-size: clamp(2rem, 5vw, 3.25rem) !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  line-height: 1.15 !important;
  margin: 0 0 1rem !important;
  letter-spacing: -0.02em !important;
}

.cat-hero-title::after {
  content: '' !important;
  display: block !important;
  width: 48px !important;
  height: 3px !important;
  background: linear-gradient(90deg, #e8913a, #f2c97e) !important;
  border-radius: 3px !important;
  margin: 0.6rem auto 0 !important;
}

.cat-hero-desc {
  font-size: 1.05rem !important;
  line-height: 1.75 !important;
  color: #8fa9bf !important;
  margin: 0 0 1.25rem !important;
}

.cat-hero-count {
  display: inline-flex !important;
  align-items: center !important;
  background: rgba(232,145,58,0.12) !important;
  border: 1px solid rgba(232,145,58,0.28) !important;
  color: #e8913a !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  border-radius: 100px !important;
  padding: 4px 14px !important;
}

/* ---- Archive wrapper ---- */
.cat-archive-wrap {
  background: #07111f !important;
  padding: 56px 0 80px !important;
  overflow-x: hidden !important;
}

/* ---- Card grid ---- */
.cat-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 28px !important;
  margin-bottom: 52px !important;
}

/* ---- Individual card ---- */
.cat-card {
  display: flex !important;
  flex-direction: column !important;
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cat-card:hover {
  transform: translateY(-5px) !important;
  border-color: rgba(232,145,58,0.3) !important;
  box-shadow: 0 20px 50px rgba(0,0,0,0.45) !important;
}

/* ---- Thumbnail ---- */
.cat-card-thumb-link {
  display: block !important;
  text-decoration: none !important;
}

.cat-card-thumb {
  position: relative !important;
  overflow: hidden !important;
  aspect-ratio: 16 / 9 !important;
  background: #0d1f33 !important;
}

.cat-card-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.4s ease !important;
}

.cat-card:hover .cat-card-img {
  transform: scale(1.06) !important;
}

.cat-card-img-placeholder {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 2.5rem !important;
  color: rgba(232,145,58,0.25) !important;
}

.cat-card-thumb-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, transparent 45%, rgba(7,17,31,0.65) 100%) !important;
}

/* ---- Card body ---- */
.cat-card-body {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  padding: 22px 22px 20px !important;
  gap: 0 !important;
}

.cat-card-badge {
  display: inline-block !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #e8913a !important;
  background: rgba(232,145,58,0.1) !important;
  border: 1px solid rgba(232,145,58,0.22) !important;
  border-radius: 100px !important;
  padding: 3px 10px !important;
  margin-bottom: 12px !important;
  text-decoration: none !important;
  transition: background 0.2s ease !important;
  width: fit-content !important;
}

.cat-card-badge:hover {
  background: rgba(232,145,58,0.2) !important;
  color: #e8913a !important;
}

.cat-card-title {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  margin: 0 0 10px !important;
}

.cat-card-title a {
  color: #ffffff !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.cat-card-title a:hover {
  color: #e8913a !important;
}

.cat-card-excerpt {
  font-size: 0.875rem !important;
  line-height: 1.7 !important;
  color: #7a9aad !important;
  margin: 0 0 16px !important;
  flex: 1 !important;
}

.cat-card-meta {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  font-size: 0.75rem !important;
  color: #4e6a7a !important;
  margin-bottom: 14px !important;
  flex-wrap: wrap !important;
}

.cat-meta-date,
.cat-meta-read {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
}

.cat-card-cta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  color: #e8913a !important;
  text-decoration: none !important;
  margin-top: auto !important;
  transition: gap 0.2s ease, color 0.2s ease !important;
}

.cat-card:hover .cat-card-cta {
  gap: 11px !important;
  color: #f2c97e !important;
}

/* ---- Pagination ---- */
.cat-pagination-wrap {
  display: flex !important;
  justify-content: center !important;
  margin-top: 8px !important;
}

.cat-pagination-wrap .nav-links {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
}

.cat-pagination-wrap .page-numbers {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  color: #8fa9bf !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}

.cat-pagination-wrap .page-numbers:hover {
  background: rgba(232,145,58,0.12) !important;
  border-color: rgba(232,145,58,0.3) !important;
  color: #e8913a !important;
}

.cat-pagination-wrap .page-numbers.current {
  background: linear-gradient(135deg, #e8913a, #c96a15) !important;
  border-color: transparent !important;
  color: #ffffff !important;
  box-shadow: 0 4px 16px rgba(224,123,39,0.35) !important;
}

.cat-pagination-wrap .page-numbers.prev,
.cat-pagination-wrap .page-numbers.next {
  width: auto !important;
  padding: 0 18px !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.04em !important;
}

.cat-pagination-wrap .page-numbers.dots {
  background: none !important;
  border-color: transparent !important;
  color: #3d5060 !important;
  cursor: default !important;
}

/* ---- Empty state ---- */
.cat-empty {
  text-align: center !important;
  padding: 64px 0 32px !important;
}

.cat-empty-icon {
  font-size: 3rem !important;
  color: rgba(232,145,58,0.3) !important;
  margin-bottom: 1.5rem !important;
}

.cat-empty-title {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 0 0.75rem !important;
}

.cat-empty-desc {
  font-size: 1rem !important;
  color: #7a9aad !important;
  margin: 0 0 1.75rem !important;
}

.cat-empty-btn {
  display: inline-flex !important;
  align-items: center !important;
  background: linear-gradient(135deg, #e8913a, #c96a15) !important;
  color: #ffffff !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  padding: 12px 28px !important;
  border-radius: 100px !important;
  text-decoration: none !important;
  transition: box-shadow 0.2s ease, transform 0.2s ease !important;
  box-shadow: 0 4px 16px rgba(224,123,39,0.3) !important;
}

.cat-empty-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(224,123,39,0.4) !important;
  color: #ffffff !important;
}

/* ---- Responsive ---- */
@media (max-width: 991px) {
  .cat-hero {
    padding: 60px 0 52px !important;
  }
  .cat-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }
}

@media (max-width: 599px) {
  .cat-hero {
    padding: 44px 0 40px !important;
  }
  .cat-archive-wrap {
    padding: 36px 0 56px !important;
  }
  .cat-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .cat-card-body {
    padding: 18px 16px 16px !important;
  }
  .cat-pagination-wrap .page-numbers {
    width: 36px !important;
    height: 36px !important;
    font-size: 0.8rem !important;
  }
}

/* ============================================
   SEARCH
   ============================================ */
.search-form {
  display: flex !important;
  gap: 10px !important;
}

.search-form input[type="search"] {
  flex: 1 !important;
}

/* ============================================
   404 PAGE
   ============================================ */
.error-404 {
  text-align: center !important;
  padding: 100px 0 !important;
}

/* ============================================
   PAGINATION
   ============================================ */
.pagination,
.nav-links {
  display: flex !important;
  gap: 8px !important;
  justify-content: center !important;
  padding: 40px 0 !important;
}

.pagination a,
.nav-links a,
.page-numbers {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 40px !important;
  border-radius: var(--radius-sm) !important;
  background: var(--gray-50) !important;
  color: var(--gray-600) !important;
  font-weight: 600 !important;
  transition: var(--transition) !important;
}

.pagination a:hover,
.nav-links a:hover,
.page-numbers:hover,
.page-numbers.current {
  background: var(--primary) !important;
  color: var(--white) !important;
}

/* ============================================
   ANIMATIONS
   ============================================ */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ============================================
   ACCESSIBILITY
   ============================================ */
*:focus-visible {
  outline: 3px solid var(--primary-light) !important;
  outline-offset: 2px !important;
}

.skip-link {
  position: absolute !important;
  top: -100px !important;
  background: var(--primary) !important;
  color: var(--white) !important;
  padding: 10px 20px !important;
  z-index: 10000 !important;
}

.skip-link:focus {
  top: 0 !important;
}

/* ============================================
   RESPONSIVE - TABLET
   ============================================ */
@media (max-width: 1024px) {
  h1 { font-size: 2.5rem !important; }
  h2 { font-size: 2rem !important; }
  
  .wl_sec h2,
  .title1 {
    font-size: 2rem !important;
  }
  
  .inner-banner-title,
  .inner_banner h1,
  .inner_banner h2 {
    font-size: 2.6rem !important;
  }
}

/* ============================================
  RESPONSIVE — MOBILE NAV (max 991px)
  ============================================ */
@media (max-width: 991px) {
  .mnu_wrp {
    justify-content: space-between !important;
    width: 100% !important;
  }

  .logo_sec {
    margin-right: 0 !important;
  }

  .mnu_sec {
    display: none !important;
  }

  .mobnav-toggle {
    display: inline-flex !important;
    margin-left: auto !important;
  }

  body.mobnav-open .mobnav-overlay {
    display: block !important;
  }

  .mobnav-drawer {
    display: flex !important;
  }
}

/* ============================================
   RESPONSIVE — TABLET (max 768px)
   ============================================ */
@media (max-width: 768px) {

  /* ---- Header ---- */
  .mnu_wrp {
    padding: 10px 16px !important;
  }
  .logo_sec img,
  .logo_sec a img {
    max-height: 48px !important;
    width: auto !important;
  }
  /* ---- Hero ---- */
  .home_banner {
    min-height: 100svh !important;
  }
  /* Hide video controls on mobile */
  .home_banner video::-webkit-media-controls {
    display: none !important;
  }
  .home_banner video::-webkit-media-controls-enclosure {
    display: none !important;
  }
  .home_banner video::-webkit-media-controls-panel {
    display: none !important;
  }
  /* Same overlay as desktop — dark at bottom, fades to transparent at top */
  .banner_cap {
    align-items: flex-start !important;
    padding-top: 30vh !important;
    background: linear-gradient(
      to top,
      rgba(0,0,0,0.70) 0%,
      rgba(0,0,0,0.25) 50%,
      transparent 100%
    ) !important;
  }
  .banner_cap .container {
    padding-top: 0 !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  .hero-headline {
    padding: 0 !important;
  }
  /* Bigger, more impactful text */
  .hero-eyebrow {
    font-size: 0.9rem !important;
    letter-spacing: 0.22em !important;
    text-shadow: 0 1px 8px rgba(0,0,0,0.7) !important;
  }
  .hero-title {
    font-size: clamp(4rem, 18vw, 6rem) !important;
    letter-spacing: -0.01em !important;
    margin-bottom: 4px !important;
  }
  /* Buttons — tappable, prominent, stacked */
  .banner_capbtn {
    flex-direction: column !important;
    align-items: center !important;
    gap: 14px !important;
    margin-top: 28px !important;
  }
  .banner_capbtn .btn1 {
    width: 88% !important;
    max-width: 320px !important;
    text-align: center !important;
    justify-content: center !important;
    font-size: 0.92rem !important;
    padding: 14px 24px !important;
    letter-spacing: 0.06em !important;
  }

  /* ---- Gather with us ---- */
  .wl_sec {
    padding: 50px 0 !important;
  }
  .wl_sec h2,
  .wl_sec .title1 {
    font-size: 1.75rem !important;
  }
  .wl_sec .gather ul {
    flex-direction: column !important;
    align-items: center !important;
  }
  .wl_sec .gather ul li {
    width: 100% !important;
    max-width: 340px !important;
  }
  .gather-address-wrap {
    padding: 0 16px !important;
  }
  .gather-address-card {
    width: 100% !important;
    max-width: 340px !important;
  }

  /* ---- Pull-quote ---- */
  .text-center.flry_cont {
    padding: 60px 0 50px !important;
  }
  .text-center.flry_cont::before {
    width: 320px !important;
    height: 200px !important;
  }
  .text-center.flry_cont .text-center::before {
    font-size: 4rem !important;
    margin-bottom: 16px !important;
  }
  .text-center.flry_cont p {
    padding: 0 24px !important;
    font-size: clamp(1.3rem, 5.5vw, 1.9rem) !important;
  }

  /* ---- What's happening this week ---- */
  .clndr_wrp_sec {
    padding: 48px 0 56px !important;
  }
  .event-search-filter .row {
    flex-direction: column !important;
    gap: 14px !important;
  }
  .event-search-filter h2 {
    font-size: 1.5rem !important;
    color: #ffffff !important;
  }
  .calendar-tab {
    justify-content: flex-start !important;
  }
  .cal-event-row {
    gap: 12px !important;
    padding: 14px 16px !important;
  }
  .cal-event-date-badge {
    width: 44px !important;
    height: 50px !important;
  }
  .cal-event-day {
    font-size: 1.2rem !important;
  }
  .cal-event-title {
    font-size: 0.9rem !important;
  }
  .calendar-download-button-groups {
    flex-direction: column !important;
  }
  .calendar-download-button-groups .button {
    width: 100% !important;
    justify-content: center !important;
  }
}

/* ============================================
   RESPONSIVE — MOBILE (max 480px)
   ============================================ */
@media (max-width: 480px) {

  /* ---- Header ---- */
  .logo_sec img,
  .logo_sec a img {
    max-height: 40px !important;
  }

  /* ---- Hero ---- */
  .hero-title {
    font-size: clamp(2.8rem, 18vw, 4.5rem) !important;
  }
  .banner_capbtn .btn1 {
    width: 90% !important;
    max-width: 100% !important;
  }

  /* ---- Upcoming Events ---- */
  .upco_confrc {
    padding: 48px 0 !important;
  }
  .upco-heading {
    font-size: 1.5rem !important;
  }
  .upco-event-card {
    padding: 14px 16px !important;
  }
  .upcoming_from {
    padding: 24px 20px !important;
  }

  /* ---- Weekly tab pills — wrap to 2 rows ---- */
  .weekly-tab {
    gap: 4px !important;
  }
  .weekly-tab .col-md-1 a {
    min-width: 40px !important;
    padding: 7px 8px !important;
    font-size: 0.62rem !important;
  }
  .weekly-tab .col-md-1 a span {
    font-size: 1.1rem !important;
  }
}

/* ============================================
   RESPONSIVE — LEGACY MOBILE
   ============================================ */
@media (max-width: 767px) {
  html { font-size: 16px; }

  h1 { font-size: 2rem !important; }
  h2 { font-size: 1.75rem !important; }
  h3 { font-size: 1.4rem !important; }

  .inner_banner {
    min-height: 320px !important;
  }
  .inner_banner .banner_cot {
    padding-top: 110px !important;
    padding-bottom: 48px !important;
  }
  .inner-banner-title,
  .inner_banner h1,
  .inner_banner h2,
  .inner_banner .title1 {
    font-size: 1.8rem !important;
  }

  .body_content {
    padding: 0 !important;
  }

  .ftr-main {
    padding: 44px 0 36px !important;
  }

  .ftr-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 36px 40px !important;
  }

  .ftr-brand {
    grid-column: 1 / -1 !important;
  }

  /* Disable hover transforms on touch */
  .blog_item:hover,
  .event_item:hover,
  .team_member:hover,
  .audio_item:hover,
  .video_item:hover,
  .ministry_item:hover,
  .cal-event-row:hover,
  .upco-event-card:hover {
    transform: none !important;
  }
}

/* ============================================
   FOOTER — MOBILE SINGLE COLUMN
   ============================================ */
@media (max-width: 540px) {
  .ftr-main {
    padding: 36px 0 28px !important;
  }

  .ftr-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .ftr-brand {
    grid-column: auto !important;
  }

  .ftr-logo-text {
    font-size: 1.6rem !important;
  }

  .ftr-tagline {
    font-size: 0.83rem !important;
  }

  footer.min-footer .ftr-col h3 {
    font-size: 0.75rem !important;
    margin-bottom: 16px !important;
  }
}

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

/* ============================================
   ABOUT PAGES
   ============================================ */

/* ----- Shared section chrome ----- */
.abt-intro-sec,
.abt-mvv-sec,
.abt-beliefs-sec,
.abt-leadership-sec,
.abt-campuses-sec {
  padding: 80px 0 !important;
}

.abt-intro-sec {
  background: #0d1a2e !important;
  text-align: center !important;
}

.abt-intro-text {
  font-size: 1.25rem !important;
  font-weight: 500 !important;
  color: #e2eaf4 !important;
  max-width: 780px !important;
  margin: 0 auto 16px !important;
  line-height: 1.75 !important;
}

.abt-intro-sub {
  font-size: 1rem !important;
  color: #7a95ad !important;
  max-width: 680px !important;
  margin: 0 auto !important;
  line-height: 1.75 !important;
}

/* Section header (eyebrow + heading) */
.abt-sec-header {
  text-align: center !important;
  margin-bottom: 48px !important;
}

.abt-eyebrow {
  display: inline-block !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.2em !important;
  color: #e8913a !important;
  margin-bottom: 10px !important;
}

.abt-sec-header h2 {
  font-size: 2.25rem !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  margin: 0 !important;
  position: relative !important;
  display: inline-block !important;
  padding-bottom: 16px !important;
}

.abt-sec-header h2::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 48px !important;
  height: 3px !important;
  background: linear-gradient(90deg, #e8913a, #f5c36a) !important;
  border-radius: 3px !important;
}

/* ----- Mission / Vision / Values ----- */
.abt-mvv-sec {
  background: #07111f !important;
}

.abt-mvv-nav {
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-bottom: 40px !important;
}

.abt-mvv-tab {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 12px 26px !important;
  border: 2px solid rgba(255,255,255,0.15) !important;
  border-radius: 50px !important;
  background: transparent !important;
  color: #8fa3b4 !important;
  font-family: var(--font-heading) !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
}

.abt-mvv-tab:hover {
  border-color: #e8913a !important;
  color: #e8913a !important;
}

.abt-mvv-tab.active {
  background: #e8913a !important;
  border-color: #e8913a !important;
  color: #fff !important;
}

.abt-mvv-tab-icon {
  width: 22px !important;
  height: 22px !important;
  object-fit: contain !important;
  filter: none !important;
}

.abt-mvv-tab.active .abt-mvv-tab-icon {
  filter: brightness(0) invert(1) !important;
}

.abt-mvv-tab-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: currentColor !important;
  flex-shrink: 0 !important;
}

.abt-mvv-panels {
  max-width: 820px !important;
  margin: 0 auto !important;
}

.abt-mvv-panel {
  display: none !important;
  animation: fadeInUp 0.35s ease !important;
}

.abt-mvv-panel.active {
  display: block !important;
}

.abt-mvv-panel h3 {
  font-size: 1.75rem !important;
  color: #ffffff !important;
  margin-bottom: 18px !important;
  font-weight: 800 !important;
}

.abt-mvv-panel p,
.abt-mvv-panel li {
  font-size: 1rem !important;
  color: #8fa3b4 !important;
  line-height: 1.8 !important;
}

/* ----- Beliefs ----- */
.abt-beliefs-sec {
  background: #0d1a2e !important;
}

.abt-beliefs-wrap {
  max-width: 900px !important;
  margin: 0 auto !important;
}

.abt-belief-nav {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 8px !important;
  margin-bottom: 36px !important;
}

.abt-belief-pill {
  padding: 9px 22px !important;
  border: 2px solid rgba(255,255,255,0.15) !important;
  border-radius: 50px !important;
  background: transparent !important;
  color: #8fa3b4 !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.22s ease !important;
}

.abt-belief-pill:hover {
  border-color: #e8913a !important;
  color: #e8913a !important;
}

.abt-belief-pill.active {
  background: #e8913a !important;
  border-color: #e8913a !important;
  color: #fff !important;
}

.abt-belief-panels {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 40px rgba(0,0,0,0.3) !important;
  overflow: hidden !important;
}

.abt-belief-panel {
  display: none !important;
  padding: 40px 48px !important;
  animation: fadeInUp 0.35s ease !important;
}

.abt-belief-panel.active {
  display: block !important;
}

.abt-belief-img {
  width: 100% !important;
  max-height: 320px !important;
  object-fit: cover !important;
  border-radius: 10px !important;
  margin-bottom: 28px !important;
}

.abt-belief-body p,
.abt-belief-body li {
  font-size: 1rem !important;
  color: #8fa3b4 !important;
  line-height: 1.8 !important;
}

/* ----- Leadership grid ----- */
.abt-leadership-sec {
  background: #0d1a2e !important;
}

.abt-leadership-sec .abt-sec-header .abt-eyebrow {
  color: #f5a855 !important;
}

.abt-leadership-sec .abt-sec-header h2 {
  color: #fff !important;
}

.abt-leadership-intro {
  text-align: center !important;
  max-width: 640px !important;
  margin: 0 auto 44px !important;
}

.abt-leadership-intro p {
  color: #8fa3b4 !important;
  font-size: 1rem !important;
  line-height: 1.8 !important;
  margin: 0 !important;
  text-align: center !important;
}

.gov-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)) !important;
  gap: 28px !important;
}

.gov-card {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  text-decoration: none !important;
  display: flex !important;
  flex-direction: column !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
}

.gov-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 20px 48px rgba(0,0,0,0.35) !important;
  border-color: rgba(232,145,58,0.4) !important;
}

.gov-card-photo {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  background-size: cover !important;
  background-position: center top !important;
  background-color: #1e3050 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.gov-card-initials {
  font-size: 2.5rem !important;
  font-weight: 800 !important;
  color: rgba(255,255,255,0.3) !important;
  font-family: var(--font-heading) !important;
}

.gov-card-info {
  padding: 20px 22px 22px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

.gov-card-name {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}

.gov-card-role {
  font-size: 0.83rem !important;
  color: #8fa3b4 !important;
  margin: 0 !important;
  line-height: 1.5 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.gov-card-link {
  margin-top: 10px !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  color: #e8913a !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  transition: gap 0.2s ease !important;
}

.gov-card:hover .gov-card-link {
  gap: 10px !important;
}

/* ----- Campuses ----- */
.abt-campuses-sec {
  background: #07111f !important;
}

.abt-campuses-body {
  max-width: 860px !important;
  margin: 0 auto !important;
}

.abt-campuses-body p,
.abt-campuses-body li {
  font-size: 1rem !important;
  color: #8fa3b4 !important;
  line-height: 1.8 !important;
}

.abt-campuses-body h2,
.abt-campuses-body h3,
.abt-campuses-body h4 {
  color: #ffffff !important;
}

/* ============================================
   PROFILE PAGE (single-governing_board)
   ============================================ */

.gov-profile-hero {
  position: relative !important;
  background: #0d1a2e !important;
  padding: 100px 0 60px !important;
  overflow: hidden !important;
}

/* Blurred background photo */
.gov-profile-hero::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background-image: var(--profile-bg) !important;
  background-size: cover !important;
  background-position: center top !important;
  filter: blur(18px) !important;
  transform: scale(1.08) !important;
  opacity: 0.18 !important;
}

.gov-profile-hero-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(13,26,46,0.75) 0%, rgba(13,26,46,0.95) 100%) !important;
}

.gov-profile-hero-inner {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: center !important;
  gap: 40px !important;
}

.gov-profile-avatar {
  flex-shrink: 0 !important;
  width: 160px !important;
  height: 160px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  border: 4px solid rgba(232,145,58,0.6) !important;
  background: #1e3050 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.gov-profile-avatar img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
}

.gov-profile-initials {
  font-size: 3rem !important;
  font-weight: 800 !important;
  color: rgba(255,255,255,0.35) !important;
  font-family: var(--font-heading) !important;
}

.gov-profile-name {
  font-size: 2.25rem !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  margin: 0 0 10px !important;
  line-height: 1.2 !important;
}

.gov-profile-role {
  font-size: 1.05rem !important;
  color: #f5a855 !important;
  margin: 0 !important;
  font-weight: 500 !important;
}

.gov-profile-body {
  padding: 64px 0 !important;
  background: #07111f !important;
}

.gov-profile-content {
  max-width: 780px !important;
  margin: 0 auto !important;
}

.gov-profile-content p,
.gov-profile-content li {
  font-size: 1.05rem !important;
  color: #8fa3b4 !important;
  line-height: 1.85 !important;
  margin-bottom: 20px !important;
}

.gov-profile-content h2,
.gov-profile-content h3,
.gov-profile-content h4 {
  color: #ffffff !important;
}

/* Next / Prev nav */
.gov-profile-nav {
  background: #0d1a2e !important;
  border-top: 1px solid rgba(255,255,255,0.07) !important;
  padding: 24px 0 !important;
}

.gov-profile-nav-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
}

.gov-profile-nav-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-decoration: none !important;
  color: #8fa3b4 !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
  transition: color 0.2s ease !important;
  max-width: 240px !important;
}

.gov-profile-nav-link span {
  display: flex !important;
  flex-direction: column !important;
}

.gov-profile-nav-link em {
  font-style: normal !important;
  font-size: 0.72rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: #8fa3b4 !important;
  font-weight: 600 !important;
}

.gov-profile-nav-link:hover {
  color: #e8913a !important;
}

.gov-profile-nav-prev { text-align: left !important; }
.gov-profile-nav-next { text-align: right !important; }

.gov-profile-nav-all {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #e8913a !important;
  color: #fff !important;
  padding: 10px 22px !important;
  border-radius: 50px !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: background 0.2s ease !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

.gov-profile-nav-all:hover {
  background: #c47520 !important;
  color: #fff !important;
}

/* ============================================
   ABOUT — RESPONSIVE
   ============================================ */
@media (max-width: 768px) {
  .abt-intro-sec,
  .abt-mvv-sec,
  .abt-beliefs-sec,
  .abt-leadership-sec,
  .abt-campuses-sec {
    padding: 52px 0 !important;
  }

  .abt-sec-header {
    margin-bottom: 32px !important;
  }

  .abt-sec-header h2 {
    font-size: 1.75rem !important;
  }

  .abt-intro-text {
    font-size: 1.05rem !important;
  }

  .abt-belief-panel {
    padding: 28px 24px !important;
  }

  .gov-grid {
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)) !important;
    gap: 16px !important;
  }

  .gov-profile-hero-inner {
    flex-direction: column !important;
    text-align: center !important;
    gap: 24px !important;
  }

  .gov-profile-avatar {
    width: 120px !important;
    height: 120px !important;
  }

  .gov-profile-name {
    font-size: 1.75rem !important;
  }

  .gov-profile-nav-all {
    padding: 9px 16px !important;
    font-size: 0.8rem !important;
  }

  .gov-profile-nav-link {
    font-size: 0.82rem !important;
    max-width: 180px !important;
  }
}

@media (max-width: 480px) {
  .gov-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  .abt-mvv-tab {
    padding: 10px 18px !important;
    font-size: 0.82rem !important;
  }
}

/* ============================================
   GET INVOLVED / NEXT STEPS PAGE
   ============================================ */

body.page-template-template-get-involved,
body.single-get_involed {
  background: #07111f !important;
}

/* Intro / Form section */
.gi-intro-sec {
  background: #0a1528 !important;
  padding: 72px 0 !important;
}

/* Form wrapper — two column: heading left, form right */
.gi-form-wrap {
  display: grid !important;
  grid-template-columns: 1fr 1.6fr !important;
  gap: 64px !important;
  align-items: start !important;
  max-width: 980px !important;
  margin: 0 auto !important;
}

.gi-form-heading .abt-eyebrow {
  display: block !important;
  margin-bottom: 10px !important;
}

.gi-form-heading h2 {
  font-size: 2rem !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  margin: 0 0 16px !important;
  line-height: 1.2 !important;
}

.gi-form-heading p {
  color: #7a95ad !important;
  font-size: 0.95rem !important;
  line-height: 1.75 !important;
  margin: 0 !important;
}

/* Form panel */
.gi-form-body {
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(255,255,255,0.07) !important;
  border-radius: 18px !important;
  padding: 40px !important;
}

/* ---- Page prose in panel (FAQ, blocks) — overrides global p color meant for light BG ---- */
.gi-form-body p {
  color: #b8cfe0 !important;
  font-size: 1.0625rem !important;
  line-height: 1.9 !important;
  margin-bottom: 1.5rem !important;
  letter-spacing: 0.01em !important;
}

.gi-form-body li {
  color: #b8cfe0 !important;
  font-size: 1.0625rem !important;
  line-height: 1.9 !important;
  margin-bottom: 0.5rem !important;
}

.gi-form-body ul,
.gi-form-body ol {
  padding-left: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.gi-form-body strong {
  color: #ffffff !important;
  font-weight: 600 !important;
}

.gi-form-body em {
  color: #d4e6f4 !important;
  font-style: italic !important;
}

.gi-form-body blockquote {
  border-left: 3px solid #e8913a !important;
  margin: 2rem 0 !important;
  padding: 1.125rem 1.5rem !important;
  background: rgba(255,255,255,0.04) !important;
  border-radius: 0 10px 10px 0 !important;
  font-style: italic !important;
}

.gi-form-body blockquote p {
  color: #d4e6f4 !important;
  margin-bottom: 0 !important;
}

.gi-form-body h2,
.gi-form-body h3,
.gi-form-body h4 {
  color: #ffffff !important;
  margin-top: 2.25rem !important;
  margin-bottom: 0.875rem !important;
  padding-bottom: 0.5rem !important;
  position: relative !important;
}

.gi-form-body h2:first-child,
.gi-form-body h3:first-child,
.gi-form-body h4:first-child {
  margin-top: 0 !important;
}

.gi-form-body h2::after,
.gi-form-body h3::after {
  content: '' !important;
  display: block !important;
  width: 2.5rem !important;
  height: 2px !important;
  background: linear-gradient(90deg, #e8913a, #f5a855) !important;
  border-radius: 2px !important;
  margin: 0.5rem 0 0 !important;
}

.gi-form-body a:not(.wpcf7-submit) {
  color: #f5a855 !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(245,168,85,0.35) !important;
  text-underline-offset: 3px !important;
  transition: color 0.2s ease, text-decoration-color 0.2s ease !important;
}

.gi-form-body a:not(.wpcf7-submit):hover {
  color: #e8913a !important;
  text-decoration-color: #e8913a !important;
}

/* Dark CF7 inputs scoped to gi-form-body */
.gi-form-body .wpcf7-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

.gi-form-body .wpcf7-form p {
  display: block !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  font-size: 0.95rem !important;
  line-height: 1.55 !important;
  color: rgba(226, 234, 244, 0.92) !important;
  letter-spacing: 0 !important;
}

.gi-form-body .wpcf7-form br {
  display: none !important;
}

.gi-form-body .wpcf7-form-control-wrap {
  display: block !important;
  width: 100% !important;
  position: relative !important;
}

.gi-form-body .wpcf7-form input[type="text"],
.gi-form-body .wpcf7-form input[type="email"],
.gi-form-body .wpcf7-form input[type="tel"],
.gi-form-body .wpcf7-form input[type="number"],
.gi-form-body .wpcf7-form textarea,
.gi-form-body .wpcf7-form select {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 10px !important;
  color: #e2eaf4 !important;
  font-size: 0.95rem !important;
  padding: 14px 18px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  outline: none !important;
  font-family: var(--font-sans) !important;
}

.gi-form-body .wpcf7-form input::placeholder,
.gi-form-body .wpcf7-form textarea::placeholder {
  color: rgba(255,255,255,0.3) !important;
}

.gi-form-body .wpcf7-form input:focus,
.gi-form-body .wpcf7-form textarea:focus {
  border-color: rgba(232,145,58,0.55) !important;
  box-shadow: 0 0 0 3px rgba(232,145,58,0.12) !important;
  background: rgba(255,255,255,0.09) !important;
}

.gi-form-body .wpcf7-form textarea {
  min-height: 130px !important;
  resize: vertical !important;
}

/* Submit button */
.gi-form-body .wpcf7-submit,
.gi-form-body input[type="submit"] {
  background: linear-gradient(135deg, #f2993f 0%, #c96a15 100%) !important;
  border: none !important;
  border-radius: 50px !important;
  color: #ffffff !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  min-height: 48px !important;
  padding: 14px 30px !important;
  cursor: pointer !important;
  transition: transform 0.22s ease, box-shadow 0.22s ease, filter 0.22s ease !important;
  width: auto !important;
  min-width: 150px !important;
  max-width: 100% !important;
  letter-spacing: 0.025em !important;
  box-shadow: 0 4px 18px rgba(224,123,39,0.35) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.gi-form-body .wpcf7-submit:hover,
.gi-form-body input[type="submit"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(224,123,39,0.45) !important;
}

.gi-form-body .wpcf7-submit:focus,
.gi-form-body input[type="submit"]:focus {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(232,145,58,0.2), 0 6px 20px rgba(224,123,39,0.35) !important;
}

.gi-form-body .wpcf7-submit:active,
.gi-form-body input[type="submit"]:active {
  transform: translateY(0) !important;
  filter: brightness(0.98) !important;
}

.gi-form-body .wpcf7-submit[disabled],
.gi-form-body input[type="submit"][disabled],
.gi-form-body .wpcf7 form.submitting .wpcf7-submit {
  opacity: 0.75 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Validation */
.gi-form-body .wpcf7-not-valid {
  border-color: #ef4444 !important;
  box-shadow: 0 0 0 3px rgba(239,68,68,0.18) !important;
  background: rgba(239, 68, 68, 0.06) !important;
}

.gi-form-body .wpcf7-form .wpcf7-not-valid::placeholder {
  color: rgba(252, 165, 165, 0.75) !important;
}

.gi-form-body .wpcf7-not-valid-tip {
  position: absolute !important;
  left: 0 !important;
  bottom: calc(100% + 8px) !important;
  z-index: 6 !important;
  display: inline-flex !important;
  align-items: center !important;
  max-width: min(260px, calc(100vw - 48px)) !important;
  background: #dc2626 !important;
  color: #ffffff !important;
  font-size: 0.74rem !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  padding: 6px 10px !important;
  border-radius: 8px !important;
  white-space: normal !important;
  margin-top: 0 !important;
  opacity: 0 !important;
  transform: translateY(4px) !important;
  pointer-events: none !important;
  transition: opacity 0.18s ease, transform 0.18s ease !important;
}

.gi-form-body .wpcf7-not-valid-tip::after {
  content: "" !important;
  position: absolute !important;
  top: 100% !important;
  left: 12px !important;
  border-width: 6px !important;
  border-style: solid !important;
  border-color: #dc2626 transparent transparent transparent !important;
}

.gi-form-body .wpcf7-form-control-wrap:hover .wpcf7-not-valid-tip,
.gi-form-body .wpcf7-form-control-wrap:focus-within .wpcf7-not-valid-tip {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

.gi-form-body .wpcf7-response-output {
  border-radius: 10px !important;
  padding: 12px 18px !important;
  font-size: 0.85rem !important;
  margin: 10px 0 0 !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  color: #e2eaf4 !important;
  background: rgba(255,255,255,0.05) !important;
  text-align: center !important;
}

.gi-form-body .wpcf7 form.sent .wpcf7-response-output {
  border-color: rgba(34, 197, 94, 0.55) !important;
  background: rgba(34, 197, 94, 0.14) !important;
  color: #86efac !important;
}

.gi-form-body .wpcf7 form.invalid .wpcf7-response-output,
.gi-form-body .wpcf7 form.failed .wpcf7-response-output,
.gi-form-body .wpcf7 form.aborted .wpcf7-response-output,
.gi-form-body .wpcf7 form.spam .wpcf7-response-output {
  border-color: rgba(248, 113, 113, 0.55) !important;
  background: rgba(248, 113, 113, 0.14) !important;
  color: #fca5a5 !important;
}

/* Page-scoped CF7 lock for /get-involved + get_involed singles (beats legacy global CF7 rules) */
body.page-template-template-get-involved .wpcf7-form .wpcf7-submit,
body.page-template-template-get-involved .wpcf7-form input[type="submit"],
body.page-template-template-get-involved .wpcf7-form input.wpcf7-submit,
body.page-template-template-get-involved .wpcf7-form input.wpcf7-submit.btn,
body.page-template-template-get-involved .wpcf7-form input.wpcf7-submit.btn-primary,
body.single-get_involed .wpcf7-form .wpcf7-submit,
body.single-get_involed .wpcf7-form input[type="submit"],
body.single-get_involed .wpcf7-form input.wpcf7-submit,
body.single-get_involed .wpcf7-form input.wpcf7-submit.btn,
body.single-get_involed .wpcf7-form input.wpcf7-submit.btn-primary {
  background: linear-gradient(135deg, #f2993f 0%, #c96a15 100%) !important;
  border: none !important;
  border-radius: 50px !important;
  color: #ffffff !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  min-height: 48px !important;
  padding: 14px 30px !important;
  letter-spacing: 0.025em !important;
  box-shadow: 0 4px 18px rgba(224,123,39,0.35) !important;
}

body.page-template-template-get-involved .wpcf7-form .wpcf7-submit:hover,
body.page-template-template-get-involved .wpcf7-form input[type="submit"]:hover,
body.page-template-template-get-involved .wpcf7-form input.wpcf7-submit:hover,
body.page-template-template-get-involved .wpcf7-form input.wpcf7-submit.btn:hover,
body.page-template-template-get-involved .wpcf7-form input.wpcf7-submit.btn-primary:hover,
body.single-get_involed .wpcf7-form .wpcf7-submit:hover,
body.single-get_involed .wpcf7-form input[type="submit"]:hover,
body.single-get_involed .wpcf7-form input.wpcf7-submit:hover,
body.single-get_involed .wpcf7-form input.wpcf7-submit.btn:hover,
body.single-get_involed .wpcf7-form input.wpcf7-submit.btn-primary:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(224,123,39,0.45) !important;
}

body.page-template-template-get-involved .wpcf7-form .wpcf7-submit:focus,
body.page-template-template-get-involved .wpcf7-form input[type="submit"]:focus,
body.page-template-template-get-involved .wpcf7-form input.wpcf7-submit:focus,
body.page-template-template-get-involved .wpcf7-form input.wpcf7-submit.btn:focus,
body.page-template-template-get-involved .wpcf7-form input.wpcf7-submit.btn-primary:focus,
body.single-get_involed .wpcf7-form .wpcf7-submit:focus,
body.single-get_involed .wpcf7-form input[type="submit"]:focus,
body.single-get_involed .wpcf7-form input.wpcf7-submit:focus,
body.single-get_involed .wpcf7-form input.wpcf7-submit.btn:focus,
body.single-get_involed .wpcf7-form input.wpcf7-submit.btn-primary:focus {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(232,145,58,0.2), 0 6px 20px rgba(224,123,39,0.35) !important;
}

body.page-template-template-get-involved .wpcf7-form .wpcf7-submit:active,
body.page-template-template-get-involved .wpcf7-form input[type="submit"]:active,
body.page-template-template-get-involved .wpcf7-form input.wpcf7-submit:active,
body.page-template-template-get-involved .wpcf7-form input.wpcf7-submit.btn:active,
body.page-template-template-get-involved .wpcf7-form input.wpcf7-submit.btn-primary:active,
body.single-get_involed .wpcf7-form .wpcf7-submit:active,
body.single-get_involed .wpcf7-form input[type="submit"]:active,
body.single-get_involed .wpcf7-form input.wpcf7-submit:active,
body.single-get_involed .wpcf7-form input.wpcf7-submit.btn:active,
body.single-get_involed .wpcf7-form input.wpcf7-submit.btn-primary:active {
  transform: translateY(0) !important;
  filter: brightness(0.98) !important;
}

body.page-template-template-get-involved .wpcf7-form .wpcf7-submit[disabled],
body.page-template-template-get-involved .wpcf7-form input[type="submit"][disabled],
body.page-template-template-get-involved .wpcf7-form input.wpcf7-submit[disabled],
body.page-template-template-get-involved .wpcf7-form input.wpcf7-submit.btn[disabled],
body.page-template-template-get-involved .wpcf7-form input.wpcf7-submit.btn-primary[disabled],
body.page-template-template-get-involved .wpcf7 form.submitting .wpcf7-submit,
body.single-get_involed .wpcf7-form .wpcf7-submit[disabled],
body.single-get_involed .wpcf7-form input[type="submit"][disabled],
body.single-get_involed .wpcf7-form input.wpcf7-submit[disabled],
body.single-get_involed .wpcf7-form input.wpcf7-submit.btn[disabled],
body.single-get_involed .wpcf7-form input.wpcf7-submit.btn-primary[disabled],
body.single-get_involed .wpcf7 form.submitting .wpcf7-submit {
  opacity: 0.75 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
}

body.page-template-template-get-involved .wpcf7 .wpcf7-not-valid,
body.single-get_involed .wpcf7 .wpcf7-not-valid {
  border-color: #ef4444 !important;
  box-shadow: 0 0 0 3px rgba(239,68,68,0.18) !important;
  background: rgba(239, 68, 68, 0.06) !important;
}

body.page-template-template-get-involved .wpcf7 .wpcf7-not-valid-tip,
body.single-get_involed .wpcf7 .wpcf7-not-valid-tip {
  position: absolute !important;
  left: 0 !important;
  bottom: calc(100% + 8px) !important;
  z-index: 6 !important;
  display: inline-flex !important;
  align-items: center !important;
  max-width: min(260px, calc(100vw - 48px)) !important;
  background: #dc2626 !important;
  color: #ffffff !important;
  font-size: 0.74rem !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  padding: 6px 10px !important;
  border-radius: 8px !important;
  white-space: normal !important;
  margin-top: 0 !important;
  opacity: 0 !important;
  transform: translateY(4px) !important;
  pointer-events: none !important;
  transition: opacity 0.18s ease, transform 0.18s ease !important;
}

body.page-template-template-get-involved .wpcf7 .wpcf7-not-valid-tip::after,
body.single-get_involed .wpcf7 .wpcf7-not-valid-tip::after {
  content: "" !important;
  position: absolute !important;
  top: 100% !important;
  left: 12px !important;
  border-width: 6px !important;
  border-style: solid !important;
  border-color: #dc2626 transparent transparent transparent !important;
}

body.page-template-template-get-involved .wpcf7 .wpcf7-form-control-wrap:hover .wpcf7-not-valid-tip,
body.page-template-template-get-involved .wpcf7 .wpcf7-form-control-wrap:focus-within .wpcf7-not-valid-tip,
body.single-get_involed .wpcf7 .wpcf7-form-control-wrap:hover .wpcf7-not-valid-tip,
body.single-get_involed .wpcf7 .wpcf7-form-control-wrap:focus-within .wpcf7-not-valid-tip {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

body.page-template-template-get-involved .wpcf7 div.wpcf7-response-output,
body.single-get_involed .wpcf7 div.wpcf7-response-output {
  border-radius: 10px !important;
  padding: 12px 18px !important;
  font-size: 0.85rem !important;
  margin: 10px 0 0 !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  color: #e2eaf4 !important;
  background: rgba(255,255,255,0.05) !important;
  text-align: center !important;
}

body.page-template-template-get-involved .wpcf7 form.sent div.wpcf7-response-output,
body.single-get_involed .wpcf7 form.sent div.wpcf7-response-output {
  border-color: rgba(34, 197, 94, 0.55) !important;
  background: rgba(34, 197, 94, 0.14) !important;
  color: #86efac !important;
}

body.page-template-template-get-involved .wpcf7 form.invalid div.wpcf7-response-output,
body.page-template-template-get-involved .wpcf7 form.failed div.wpcf7-response-output,
body.page-template-template-get-involved .wpcf7 form.aborted div.wpcf7-response-output,
body.page-template-template-get-involved .wpcf7 form.spam div.wpcf7-response-output,
body.single-get_involed .wpcf7 form.invalid div.wpcf7-response-output,
body.single-get_involed .wpcf7 form.failed div.wpcf7-response-output,
body.single-get_involed .wpcf7 form.aborted div.wpcf7-response-output,
body.single-get_involed .wpcf7 form.spam div.wpcf7-response-output {
  border-color: rgba(248, 113, 113, 0.55) !important;
  background: rgba(248, 113, 113, 0.14) !important;
  color: #fca5a5 !important;
}

/* Mobile */
@media (max-width: 768px) {
  .gi-form-wrap {
    grid-template-columns: 1fr !important;
    gap: 36px !important;
  }

  .gi-form-body {
    padding: 28px 20px !important;
  }

  .gi-form-body .wpcf7-submit,
  .gi-form-body input[type="submit"] {
    width: 100% !important;
    min-width: 0 !important;
  }

  body.page-template-template-get-involved .wpcf7-form .wpcf7-submit,
  body.page-template-template-get-involved .wpcf7-form input[type="submit"],
  body.page-template-template-get-involved .wpcf7-form input.wpcf7-submit,
  body.page-template-template-get-involved .wpcf7-form input.wpcf7-submit.btn,
  body.page-template-template-get-involved .wpcf7-form input.wpcf7-submit.btn-primary,
  body.single-get_involed .wpcf7-form .wpcf7-submit,
  body.single-get_involed .wpcf7-form input[type="submit"],
  body.single-get_involed .wpcf7-form input.wpcf7-submit,
  body.single-get_involed .wpcf7-form input.wpcf7-submit.btn,
  body.single-get_involed .wpcf7-form input.wpcf7-submit.btn-primary,
  body.single-get_involed .gi-single-text .wpcf7-form input[type="submit"] {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* Steps section container */
.gi-steps-sec {
  background: #07111f !important;
  padding: 0 !important;
}

/* Individual step row */
.gi-step {
  position: relative !important;
  padding: 80px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.05) !important;
}

.gi-step:last-child {
  border-bottom: none !important;
}

.gi-step:nth-child(even) {
  background: rgba(255,255,255,0.02) !important;
}

/* Step number + vertical track on the left */
.gi-step-track {
  position: absolute !important;
  left: 24px !important;
  top: 0 !important;
  bottom: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  z-index: 1 !important;
}

.gi-step-number {
  font-family: var(--font-heading) !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.1em !important;
  color: #e8913a !important;
  background: #0d1a2e !important;
  border: 2px solid rgba(232,145,58,0.35) !important;
  border-radius: 50% !important;
  width: 44px !important;
  height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 80px !important;
  flex-shrink: 0 !important;
  position: relative !important;
  z-index: 2 !important;
}

.gi-step-line {
  flex: 1 !important;
  width: 2px !important;
  background: linear-gradient(to bottom, rgba(232,145,58,0.3), transparent) !important;
  margin-top: 8px !important;
}

/* Inner two-column layout */
.gi-step-inner {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 64px !important;
  align-items: center !important;
  padding-left: 80px !important;
  min-width: 0 !important;
}

.gi-step--reverse .gi-step-inner {
  direction: rtl !important;
}

.gi-step--reverse .gi-step-inner > * {
  direction: ltr !important;
}

/* Grid columns must shrink on narrow viewports (avoids long-title overflow) */
.gi-step-visual {
  min-width: 0 !important;
}

.gi-step-body {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: break-word !important;
}

/* Image panel */
.gi-step-img {
  aspect-ratio: 4/3 !important;
  border-radius: 16px !important;
  background-size: cover !important;
  background-position: center !important;
  background-color: #1e3050 !important;
  position: relative !important;
  overflow: hidden !important;
}

.gi-step-img::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(135deg, rgba(8,18,40,0.3), transparent) !important;
  border-radius: 16px !important;
}

.gi-step-img--placeholder {
  background: linear-gradient(135deg, #0d1a2e, #1a2f50) !important;
}

.gi-step-icon-badge {
  position: absolute !important;
  bottom: 16px !important;
  right: 16px !important;
  z-index: 2 !important;
  width: 52px !important;
  height: 52px !important;
  background: rgba(8,18,40,0.7) !important;
  backdrop-filter: blur(10px) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(232,145,58,0.4) !important;
  padding: 10px !important;
}

.gi-step-icon-badge img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  filter: brightness(0) invert(1) !important;
  opacity: 0.85 !important;
}

.gi-step-icon-only {
  aspect-ratio: 4/3 !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #0d1a2e, #1a2f50) !important;
  border: 1px solid rgba(255,255,255,0.07) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.gi-step-icon-only img {
  width: 80px !important;
  height: 80px !important;
  object-fit: contain !important;
  filter: brightness(0) invert(1) !important;
  opacity: 0.5 !important;
}

/* Content panel */
.gi-step-label {
  display: inline-block !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.2em !important;
  color: #e8913a !important;
  margin-bottom: 12px !important;
}

.gi-step-title {
  font-size: clamp(1.5rem, 3vw, 2.25rem) !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  line-height: 1.15 !important;
  margin: 0 0 20px !important;
  letter-spacing: -0.02em !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

.gi-step-content {
  overflow-wrap: break-word !important;
}

.gi-step-content p,
.gi-step-content li {
  color: #b8cfe0 !important;
  font-size: 1.0625rem !important;
  line-height: 1.9 !important;
  letter-spacing: 0.01em !important;
}

.gi-step-content h3,
.gi-step-content h4 {
  color: #ffffff !important;
}

.gi-step-cta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 28px !important;
  padding: 12px 28px !important;
  background: transparent !important;
  border: 2px solid rgba(232,145,58,0.5) !important;
  border-radius: 50px !important;
  color: #f5a855 !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
}

.gi-step-cta:hover {
  background: #e8913a !important;
  border-color: #e8913a !important;
  color: #ffffff !important;
  gap: 12px !important;
}

/* ============================================
   GET INVOLVED — SINGLE POST
   ============================================ */
.gi-single-hero {
  position: relative !important;
  min-height: 440px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  background: #0a1528 !important;
}

.gi-single-hero::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background-image: var(--gi-bg) !important;
  background-size: cover !important;
  background-position: center !important;
  filter: blur(14px) !important;
  transform: scale(1.08) !important;
  opacity: 0.12 !important;
}

.gi-single-hero-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(8,18,40,0.55) 0%, rgba(8,18,40,0.92) 100%) !important;
}

.gi-single-hero-inner {
  position: relative !important;
  z-index: 2 !important;
  text-align: center !important;
  padding: 140px 0 72px !important;
}

.gi-single-icon {
  width: 72px !important;
  height: 72px !important;
  margin: 0 auto 20px !important;
  background: rgba(232,145,58,0.12) !important;
  border: 2px solid rgba(232,145,58,0.35) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 14px !important;
}

.gi-single-icon img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  filter: brightness(0) invert(1) !important;
  opacity: 0.8 !important;
}

.gi-single-title {
  font-family: var(--font-heading) !important;
  font-size: clamp(2rem, 5vw, 3.5rem) !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  letter-spacing: -0.025em !important;
  margin: 10px 0 20px !important;
  text-shadow: 0 4px 24px rgba(0,0,0,0.5) !important;
}

.gi-single-body {
  background: #07111f !important;
  padding: 64px 0 !important;
}

.gi-single-content {
  max-width: 820px !important;
  margin: 0 auto !important;
}

.gi-single-img {
  width: 100% !important;
  max-height: 420px !important;
  object-fit: cover !important;
  border-radius: 14px !important;
  margin-bottom: 40px !important;
}

.gi-single-text p,
.gi-single-text li {
  color: #8fa3b4 !important;
  font-size: 1.05rem !important;
  line-height: 1.85 !important;
}

.gi-single-text h2,
.gi-single-text h3,
.gi-single-text h4 {
  color: #ffffff !important;
}

/* ============================================
   GET INVOLVED — RESPONSIVE
   ============================================ */
@media (max-width: 900px) {
  .gi-step-inner {
    grid-template-columns: 1fr !important;
    gap: 36px !important;
    padding-left: 64px !important;
  }

  .gi-step--reverse .gi-step-inner {
    direction: ltr !important;
  }

  .gi-step-track {
    left: 16px !important;
  }

  .gi-step-number {
    margin-top: 80px !important;
  }
}

@media (max-width: 540px) {
  .gi-step {
    padding: 56px 0 !important;
  }

  .gi-step-inner {
    padding-left: 44px !important;
  }

  .gi-step-title {
    font-size: clamp(1.25rem, 5.5vw, 1.75rem) !important;
  }

  .gi-step-track {
    left: 8px !important;
  }

  .gi-step-number {
    width: 36px !important;
    height: 36px !important;
    font-size: 0.65rem !important;
    margin-top: 56px !important;
  }
}

/* ============================================
   VIDEO PAGE  (/videos)
   ============================================ */

/* Search bar */
.vid-search-bar {
  background: #0a1528 !important;
  padding: 28px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.07) !important;
  position: sticky !important;
  top: 70px !important;
  z-index: 100 !important;
}

.vid-search-inner {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

.vid-search-input-wrap {
  position: relative !important;
  flex: 1 1 260px !important;
  min-width: 200px !important;
}

.vid-search-icon {
  position: absolute !important;
  left: 16px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: rgba(255,255,255,0.35) !important;
  font-size: 0.85rem !important;
  pointer-events: none !important;
}

.vid-search-input {
  width: 100% !important;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 50px !important;
  padding: 11px 20px 11px 42px !important;
  color: #e2eaf4 !important;
  font-size: 0.9rem !important;
  outline: none !important;
  transition: border-color 0.25s, box-shadow 0.25s !important;
}

.vid-search-input::placeholder { color: rgba(255,255,255,0.3) !important; }

.vid-search-input:focus {
  border-color: var(--accent, #e07b27) !important;
  box-shadow: 0 0 0 3px rgba(224,123,39,0.15) !important;
}

.vid-search-select {
  flex: 0 1 200px !important;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 50px !important;
  padding: 11px 20px !important;
  color: #e2eaf4 !important;
  font-size: 0.9rem !important;
  outline: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23e2eaf4' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  padding-right: 40px !important;
  cursor: pointer !important;
}

.vid-search-select:focus {
  border-color: var(--accent, #e07b27) !important;
  box-shadow: 0 0 0 3px rgba(224,123,39,0.15) !important;
}

.vid-search-select option {
  background: #0d1a2e !important;
  color: #e2eaf4 !important;
}

.vid-search-btn {
  background: linear-gradient(135deg, #e07b27, #c96a15) !important;
  border: none !important;
  border-radius: 50px !important;
  color: #fff !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em !important;
  padding: 11px 26px !important;
  cursor: pointer !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
  white-space: nowrap !important;
  box-shadow: 0 4px 14px rgba(224,123,39,0.35) !important;
}

.vid-search-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(224,123,39,0.45) !important;
}

.vid-reset-btn {
  background: rgba(255,255,255,0.07) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 50px !important;
  color: #a0b4c8 !important;
  font-size: 0.875rem !important;
  padding: 11px 20px !important;
  cursor: pointer !important;
  transition: background 0.2s, color 0.2s !important;
  white-space: nowrap !important;
}

.vid-reset-btn:hover {
  background: rgba(255,255,255,0.12) !important;
  color: #fff !important;
}

/* Sections */
.vid-section {
  padding: 60px 0 !important;
  background: #07111f !important;
}

.vid-section--alt {
  background: #0a1528 !important;
}

.vid-section-header {
  margin-bottom: 32px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

.vid-section-label {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--accent, #e07b27) !important;
}

.vid-section-title {
  font-size: clamp(1.4rem, 2.5vw, 2rem) !important;
  font-weight: 800 !important;
  color: #fff !important;
  margin: 0 !important;
}

/* Grids */
.vid-grid--3 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
}

/* Card */
.vid-card {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.07) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s !important;
}

.vid-card:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(224,123,39,0.3) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.45) !important;
}

/* Thumbnail */
.vid-card-media {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  background: #0a1528 !important;
  overflow: hidden !important;
}

.vid-card-media iframe {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: none !important;
}

.vid-thumb {
  position: absolute !important;
  inset: 0 !important;
  background-size: cover !important;
  background-position: center !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: transform 0.35s !important;
}

.vid-thumb::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to top, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.15) 60%, transparent 100%) !important;
  transition: background 0.3s !important;
}

.vid-thumb:hover { transform: scale(1.04) !important; }

.vid-thumb:hover::after {
  background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.3) 60%, rgba(0,0,0,0.1) 100%) !important;
}

.vid-thumb--no-img {
  background: linear-gradient(135deg, #0d1a2e 0%, #1a2d4a 100%) !important;
}

/* Play button */
.vid-play-btn {
  position: relative !important;
  z-index: 2 !important;
  width: 52px !important;
  height: 52px !important;
  border-radius: 50% !important;
  background: rgba(224,123,39,0.92) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  font-size: 1rem !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.5) !important;
  transition: transform 0.2s, background 0.2s !important;
}

.vid-thumb:hover .vid-play-btn {
  transform: scale(1.15) !important;
  background: #e07b27 !important;
}

.vid-play-btn--lg {
  width: 72px !important;
  height: 72px !important;
  font-size: 1.4rem !important;
}

/* ----- Hover overlay with Play / Watch-in-YouTube buttons ----- */
.vid-overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 3 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  padding: 12px !important;
  background: linear-gradient(180deg, rgba(7,17,33,0.45) 0%, rgba(7,17,33,0.72) 100%) !important;
  opacity: 0 !important;
  transition: opacity 0.25s ease !important;
}

.vid-thumb:hover .vid-overlay,
.vid-thumb:focus-within .vid-overlay {
  opacity: 1 !important;
}

/* Hide the centred play badge while the overlay buttons are shown. */
.vid-thumb:hover .vid-play-btn,
.vid-thumb:focus-within .vid-play-btn {
  opacity: 0 !important;
}

.vid-ov-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 240px !important;
  padding: 11px 20px !important;
  border: none !important;
  border-radius: 50px !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  cursor: pointer !important;
  color: #ffffff !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.35) !important;
  transform: translateY(6px) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, opacity 0.2s ease !important;
}

.vid-thumb:hover .vid-ov-btn,
.vid-thumb:focus-within .vid-ov-btn {
  transform: translateY(0) !important;
}

.vid-ov-play {
  background: linear-gradient(135deg, var(--accent, #e8913a) 0%, var(--accent-dark, #c47520) 100%) !important;
}

.vid-ov-yt {
  background: #ff0000 !important;
}

.vid-ov-btn:hover,
.vid-ov-btn:focus {
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 22px rgba(0,0,0,0.45) !important;
}

.vid-ov-yt:hover,
.vid-ov-yt:focus {
  background: #e60000 !important;
}

/* Touch devices have no hover — keep the buttons visible. */
@media (hover: none) {
  .vid-overlay { opacity: 1 !important; }
  .vid-ov-btn { transform: translateY(0) !important; }
  .vid-thumb .vid-play-btn { opacity: 0 !important; }
}

/* ----- Popup video player (modal) ----- */
.vid-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 100000 !important;
  display: none !important;
}

.vid-modal.is-open {
  display: block !important;
}

.vid-modal-backdrop {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(2, 8, 18, 0.88) !important;
  backdrop-filter: blur(3px) !important;
}

.vid-modal-dialog {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: min(92vw, 980px) !important;
}

.vid-modal-frame {
  position: relative !important;
  width: 100% !important;
  padding-top: 56.25% !important; /* 16:9 */
  background: #000 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 24px 70px rgba(0,0,0,0.6) !important;
}

.vid-modal-frame iframe {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
}

.vid-modal-close {
  position: absolute !important;
  top: -48px !important;
  right: 0 !important;
  width: 42px !important;
  height: 42px !important;
  border: none !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,0.14) !important;
  color: #ffffff !important;
  font-size: 26px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition: background 0.2s ease, transform 0.2s ease !important;
}

.vid-modal-close:hover {
  background: var(--accent, #e8913a) !important;
  transform: rotate(90deg) !important;
}

body.vid-modal-open {
  overflow: hidden !important;
}

@media (max-width: 600px) {
  .vid-modal-close { top: -44px !important; }
  .vid-ov-btn { max-width: 200px !important; font-size: 0.72rem !important; padding: 9px 14px !important; }
}

/* Card info */
.vid-card-info {
  padding: 16px 18px 20px !important;
}

.vid-card-badge {
  display: inline-block !important;
  background: rgba(224,123,39,0.15) !important;
  border: 1px solid rgba(224,123,39,0.35) !important;
  color: var(--accent, #e07b27) !important;
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  border-radius: 50px !important;
  padding: 3px 10px !important;
  margin-bottom: 8px !important;
}

.vid-card-title {
  font-size: 0.975rem !important;
  font-weight: 700 !important;
  color: #e2eaf4 !important;
  margin: 0 0 8px !important;
  line-height: 1.4 !important;
}

.vid-card-title--lg {
  font-size: 1.4rem !important;
}

.vid-card-excerpt {
  font-size: 0.82rem !important;
  color: #7a95ad !important;
  margin: 0 !important;
  line-height: 1.55 !important;
}

/* Featured card */
.vid-featured-wrap {
  max-width: 840px !important;
}

.vid-card--featured .vid-card-media {
  aspect-ratio: 16 / 8 !important;
}

.vid-card-info--featured {
  padding: 20px 24px 24px !important;
}

/* Search results reuse grid styles */
/* Search results container */
#search_list {
  padding: 40px 0 60px !important;
  background: #07111f !important;
}

.vid-results-grid.vid-grid--3 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
}

/* Loading pulse */
.vid-results-grid.vid-loading {
  opacity: 0.4 !important;
  pointer-events: none !important;
  transition: opacity 0.2s !important;
}

/* No results message */
.vid-no-results {
  grid-column: 1 / -1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  padding: 60px 20px !important;
  color: #7a95ad !important;
  text-align: center !important;
}

.vid-no-results .fa {
  font-size: 2.5rem !important;
  opacity: 0.35 !important;
  color: var(--accent, #e07b27) !important;
}

.vid-no-results p {
  font-size: 1rem !important;
  color: #7a95ad !important;
  margin: 0 !important;
}

.vid-no-results strong {
  color: #e2eaf4 !important;
}

/* Search results responsive */
@media (max-width: 900px) {
  .vid-results-grid.vid-grid--3 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 540px) {
  .vid-results-grid.vid-grid--3 {
    grid-template-columns: 1fr !important;
  }
}

/* Responsive */
@media (max-width: 900px) {
  .vid-grid--3 {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .vid-featured-wrap {
    max-width: 100% !important;
  }

  .vid-search-bar {
    position: static !important;
  }
}

@media (max-width: 540px) {
  .vid-grid--3 {
    grid-template-columns: 1fr !important;
  }

  .vid-search-inner {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .vid-search-input-wrap { flex: none !important; width: 100% !important; }
  .vid-search-select     { flex: none !important; width: 100% !important; }
  .vid-search-btn,
  .vid-reset-btn         { width: 100% !important; text-align: center !important; }

  .vid-play-btn--lg {
    width: 56px !important;
    height: 56px !important;
    font-size: 1.1rem !important;
  }
}

/* ============================================
   BLOG PAGE  (/blogs)
   ============================================ */

/* Search bar — reuses vid-search-* styles; only layout overrides needed */
.blg-search-bar {
  background: #0a1528 !important;
  padding: 28px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.07) !important;
}

.blg-search-inner {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

/* Pagination */
.blg-pagination {
  margin-top: 48px !important;
  display: flex !important;
  justify-content: center !important;
}

.blg-pagination .nav-links {
  display: flex !important;
  gap: 6px !important;
  align-items: center !important;
}

.blg-pagination .page-numbers {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  color: #a0b4c8 !important;
  text-decoration: none !important;
  transition: background 0.2s, color 0.2s !important;
}

.blg-pagination .page-numbers.current,
.blg-pagination .page-numbers:hover {
  background: var(--accent, #e07b27) !important;
  border-color: var(--accent, #e07b27) !important;
  color: #fff !important;
}

.blg-pagination .page-numbers.dots {
  background: transparent !important;
  border-color: transparent !important;
  pointer-events: none !important;
}

/* No results */
.blg-no-results {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 60px 20px !important;
  color: #7a95ad !important;
  text-align: center !important;
}

.blg-no-results .fa {
  font-size: 2.5rem !important;
  opacity: 0.35 !important;
  color: var(--accent, #e07b27) !important;
}

.blg-no-results p {
  font-size: 1rem !important;
  color: #7a95ad !important;
  margin: 0 !important;
}

.blg-no-results strong { color: #e2eaf4 !important; }

/* Sections */
.blg-section {
  padding: 60px 0 !important;
  background: #07111f !important;
}

.blg-section--alt {
  background: #0a1528 !important;
}

.blg-section-header {
  margin-bottom: 32px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

.blg-section-label {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--accent, #e07b27) !important;
}

.blg-section-title {
  font-size: clamp(1.4rem, 2.5vw, 2rem) !important;
  font-weight: 800 !important;
  color: #fff !important;
  margin: 0 !important;
}

/* Grids */
.blg-grid--3 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 28px !important;
}

/* Featured grid: first card spans 2 columns on first row */
.blg-grid--featured {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 28px !important;
}

.blg-grid--featured .blg-card--featured {
  grid-column: span 2 !important;
}

/* Card */
.blg-card {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.07) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s !important;
}

.blg-card:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(224,123,39,0.3) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.45) !important;
}

/* Card image */
.blg-card-img-wrap {
  position: relative !important;
  display: block !important;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  background: #0a1528 !important;
  text-decoration: none !important;
}

.blg-card--featured .blg-card-img-wrap {
  aspect-ratio: 16 / 7 !important;
}

.blg-card-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.4s !important;
}

.blg-card-img--placeholder {
  background: linear-gradient(135deg, #0d1a2e 0%, #1a2d4a 100%) !important;
  width: 100% !important;
  height: 100% !important;
}

.blg-card:hover .blg-card-img {
  transform: scale(1.05) !important;
}

/* Category badge on image */
.blg-card-cat {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  background: rgba(224,123,39,0.92) !important;
  color: #fff !important;
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border-radius: 50px !important;
  padding: 4px 12px !important;
  z-index: 2 !important;
}

/* Card body */
.blg-card-body {
  padding: 20px 22px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  flex: 1 !important;
}

.blg-card-meta {
  display: flex !important;
  gap: 16px !important;
  align-items: center !important;
  flex-wrap: wrap !important;
}

.blg-card-date,
.blg-card-read {
  font-size: 0.75rem !important;
  color: #5a7a94 !important;
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
}

.blg-card-title {
  font-size: 1rem !important;
  font-weight: 700 !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}

.blg-card--featured .blg-card-title {
  font-size: 1.25rem !important;
}

.blg-card-title a {
  color: #e2eaf4 !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}

.blg-card-title a:hover {
  color: var(--accent, #e07b27) !important;
}

.blg-card-excerpt {
  font-size: 0.85rem !important;
  color: #7a95ad !important;
  margin: 0 !important;
  line-height: 1.6 !important;
  flex: 1 !important;
}

.blg-card-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  color: var(--accent, #e07b27) !important;
  text-decoration: none !important;
  margin-top: auto !important;
  transition: gap 0.2s !important;
}

.blg-card-link:hover {
  gap: 10px !important;
  color: var(--accent, #e07b27) !important;
}

/* -----------------------------------------------
   SINGLE BLOG POST
   ----------------------------------------------- */

/* Hero */
.blg-hero {
  position: relative !important;
  min-height: 480px !important;
  display: flex !important;
  align-items: flex-end !important;
  /* overflow visible so AddToAny (and similar) menus position correctly; clip blur on ::before */
  overflow: visible !important;
}

.blg-hero::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background-image: var(--blg-hero-img) !important;
  background-size: cover !important;
  background-position: center !important;
  filter: blur(4px) brightness(0.45) !important;
  /* transform: scale(0.97) !important; */
  z-index: 0 !important;
  /* Keep scaled blur inside hero bounds without clipping share dropdowns */
  clip-path: inset(0) !important;
}

.blg-hero-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to top, rgba(7,17,31,0.95) 0%, rgba(7,17,31,0.5) 60%, rgba(7,17,31,0.15) 100%) !important;
  z-index: 1 !important;
  padding-bottom: 43.5% !important;
}

.blg-hero-content {
  position: relative !important;
  z-index: 2 !important;
  padding-top: 140px !important;
  padding-bottom: 56px !important;
  max-width: 780px !important;
}

.blg-hero-cat {
  display: inline-block !important;
  background: rgba(224,123,39,0.18) !important;
  border: 1px solid rgba(224,123,39,0.4) !important;
  color: var(--accent, #e07b27) !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  border-radius: 50px !important;
  padding: 4px 14px !important;
  margin-bottom: 14px !important;
  text-decoration: none !important;
}

.blg-hero-title {
  font-size: clamp(1.8rem, 4vw, 3rem) !important;
  font-weight: 800 !important;
  color: #fff !important;
  line-height: 1.2 !important;
  margin: 0 0 18px !important;
  text-shadow: 0 2px 20px rgba(0,0,0,0.6) !important;
}

.blg-hero-meta {
  display: flex !important;
  gap: 20px !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  margin-bottom: 20px !important;
}

.blg-hero-meta span {
  font-size: 0.82rem !important;
  color: rgba(255,255,255,0.6) !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

/* Body section */
.blg-body-sec {
  background: #07111f !important;
  padding: 60px 0 80px !important;
}

/* Single post: hero + body share the same dark fill — default 60px top padding reads as a large
   empty band under the hero overlay. Tighten only when body follows hero directly. */
.blg-hero + .blg-body-sec {
  padding-top: 24px !important;
}

.blg-body-wrap {
  max-width: 780px !important;
  margin: 0 auto !important;
}

.blg-body-img {
  width: 100% !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  margin-bottom: 40px !important;
  aspect-ratio: 16 / 7 !important;
}

.blg-body-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.blg-body-content {
  color: #c4d4e0 !important;
  font-size: 1.05rem !important;
  line-height: 1.85 !important;
}

.blg-body-content h2,
.blg-body-content h3,
.blg-body-content h4 {
  color: #ffffff !important;
  margin-top: 2em !important;
  margin-bottom: 0.6em !important;
}

.blg-body-content p { margin-bottom: 1.25em !important; }

.blg-body-content a {
  color: var(--accent, #e07b27) !important;
  text-decoration: underline !important;
}

.blg-body-content blockquote {
  border-left: 4px solid var(--accent, #e07b27) !important;
  background: rgba(255,255,255,0.04) !important;
  border-radius: 0 12px 12px 0 !important;
  margin: 1.5em 0 !important;
  padding: 18px 24px !important;
  color: #e2eaf4 !important;
  font-style: italic !important;
}

.blg-body-content img {
  max-width: 100% !important;
  border-radius: 12px !important;
  display: block !important;
  margin: 1.5em auto !important;
}

/* -----------------------------------------------
   SINGLE POST — VIEWS IN HERO META
   ----------------------------------------------- */

.blg-hero-views {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

/* -----------------------------------------------
   SINGLE POST — PREV / NEXT BAR
   ----------------------------------------------- */

.blg-post-nav {
  background: #0a1528 !important;
  border-top: 1px solid rgba(255,255,255,0.07) !important;
  border-bottom: 1px solid rgba(255,255,255,0.07) !important;
  padding: 20px 0 !important;
}

.blg-post-nav-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
}

.blg-post-nav-item {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  text-decoration: none !important;
  max-width: 38% !important;
  transition: opacity 0.2s !important;
}

.blg-post-nav-item:hover { opacity: 0.75 !important; }

.blg-post-nav-item--empty {
  flex: 0 0 38% !important;
}

.blg-post-nav-dir {
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.4) !important;
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
}

.blg-post-nav-item--next .blg-post-nav-dir {
  justify-content: flex-end !important;
}

.blg-post-nav-title {
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  color: #e2eaf4 !important;
  line-height: 1.35 !important;
}

.blg-post-nav-item--next .blg-post-nav-title {
  text-align: right !important;
}

.blg-post-nav-all {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 4px !important;
  text-decoration: none !important;
  color: var(--accent, #e07b27) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  flex-shrink: 0 !important;
  transition: opacity 0.2s !important;
}

.blg-post-nav-all:hover { opacity: 0.75 !important; }

.blg-post-nav-all .fa {
  font-size: 1.2rem !important;
  color: var(--accent, #e07b27) !important;
}

/* -----------------------------------------------
   SINGLE POST — COMMENTS (dark theme)
   ----------------------------------------------- */

/* ==============================================
   BLOG — COMMENTS SECTION  (.blg-cmt-section)
   ============================================== */

/* Article footer: share row + comments (replaces old .blg-comments-wrap) */
.blg-post-footer {
  margin-top: 56px !important;
  padding-top: 40px !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
}

/* Share toolbar (AddToAny) — horizontal row; divider below only when comments follow */
.blg-share-bar {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 14px 20px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.blg-post-footer:has(.blg-cmt-section) .blg-share-bar {
  margin-bottom: 24px !important;
  padding-bottom: 20px !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}

.blg-share-bar-label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.45) !important;
  flex-shrink: 0 !important;
}

.blg-share-bar-label .fa {
  font-size: 0.85rem !important;
  color: var(--accent, #e07b27) !important;
}

.blg-share-bar-widgets {
  display: flex !important;
  align-items: center !important;
  flex: 1 !important;
  min-width: 0 !important;
}

.blg-share-bar-widgets .addtoany_share_save_container,
.blg-share-bar-widgets .a2a_kit {
  display: inline-flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px 10px !important;
  line-height: 1 !important;
  margin: 0 !important;
}

.blg-share-bar-widgets .a2a_kit > a,
.blg-share-bar-widgets a.addtoany_share_save,
.blg-share-bar-widgets a.a2a_dd {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  vertical-align: middle !important;
}

.blg-share-bar-widgets .a2a_kit img {
  width: 28px !important;
  height: 28px !important;
  border-radius: 8px !important;
  margin: 0 !important;
  display: block !important;
}

.blg-share-bar-widgets .a2a_count {
  font-size: 0.75rem !important;
  color: rgba(255,255,255,0.5) !important;
  line-height: 1 !important;
  height: auto !important;
  width: auto !important;
}

/* #comments inside .blg-post-footer — avoid double top rule */
.blg-post-footer .blg-cmt-section {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: none !important;
}

.blg-cmt-section {
  margin-top: 56px;
  padding-top: 40px;
  border-top: 1px solid rgba(255,255,255,0.08);
}

/* After successful comment submit (moderation or published) */
.blg-cmt-notice--success {
  display: flex !important;
  gap: 14px !important;
  align-items: flex-start !important;
  margin: 0 0 28px !important;
  padding: 16px 18px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(34, 197, 94, 0.45) !important;
  background: rgba(34, 197, 94, 0.1) !important;
  color: #c4e8d4 !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2) !important;
}

.blg-cmt-notice-icon {
  flex-shrink: 0 !important;
  font-size: 1.35rem !important;
  color: #4ade80 !important;
  line-height: 1 !important;
  margin-top: 2px !important;
}

.blg-cmt-notice-body {
  min-width: 0 !important;
}

.blg-cmt-notice-title {
  display: block !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: #ecfdf5 !important;
  margin: 0 0 6px !important;
}

.blg-cmt-notice-text {
  margin: 0 !important;
  font-size: 0.88rem !important;
  line-height: 1.55 !important;
  color: rgba(236, 253, 245, 0.88) !important;
}

/* Section headings */
.blg-cmt-heading {
  font-size: 1.25rem;
  font-weight: 700;
  color: #fff;
  margin: 0 0 28px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.blg-cmt-heading .fa { color: var(--accent, #e07b27); font-size: 1.15rem; }
.blg-cmt-heading--form { margin-top: 48px; }

/* Closed notice */
.blg-cmt-closed {
  font-size: 0.88rem;
  color: rgba(255,255,255,0.35);
  display: flex;
  align-items: center;
  gap: 8px;
}

/* ---- Comment list ---- */
.blg-cmt-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 8px !important;
}

.blg-cmt-list .children {
  list-style: none !important;
  padding: 0 0 0 24px !important;
  margin: 0 !important;
}

/* Individual comment card */
.blg-cmt-item {
  margin-bottom: 16px !important;
  list-style: none !important;
}

.blg-cmt-card {
  display: flex;
  gap: 16px;
  padding: 20px 22px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 14px;
  transition: border-color 0.2s;
}

.blg-cmt-card:hover { border-color: rgba(255,255,255,0.13); }

/* Avatar */
.blg-cmt-avatar { flex-shrink: 0; }

.blg-cmt-avatar-img {
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  display: block !important;
  border: 2px solid rgba(255,255,255,0.10) !important;
}

/* Body */
.blg-cmt-body { flex: 1; min-width: 0; }

.blg-cmt-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 16px;
  margin-bottom: 10px;
}

.blg-cmt-author {
  font-size: 0.92rem;
  font-weight: 700;
  color: #e2eaf4;
}

.blg-cmt-time {
  font-size: 0.75rem;
  color: rgba(255,255,255,0.35);
  display: flex;
  align-items: center;
  gap: 5px;
}

.blg-cmt-pending {
  font-size: 0.8rem;
  color: var(--accent, #e07b27);
  margin: 0 0 8px;
  display: flex;
  align-items: center;
  gap: 5px;
}

.blg-cmt-text p {
  font-size: 0.92rem;
  color: #a0b4c8;
  line-height: 1.72;
  margin: 0 0 6px;
}

.blg-cmt-reply { margin-top: 10px; }

.blg-cmt-reply a,
.comment-reply-link {
  font-size: 0.75rem !important;
  color: var(--accent, #e07b27) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  opacity: 0.85;
}

.blg-cmt-reply a:hover,
.comment-reply-link:hover { opacity: 1; text-decoration: underline !important; }

/* ---- Comment Form ---- */
.blg-cmt-form {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
  align-items: start !important;
}

/* Full-width fields (comment textarea, URL) */
.blg-cmt-field--full {
  grid-column: 1 / -1 !important;
}

/* Standard field wrapper */
.blg-cmt-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

/* Labels */
.blg-cmt-label {
  display: block !important;
  font-size: 0.73rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.45) !important;
}

.blg-cmt-label .required { color: var(--accent, #e07b27); margin-left: 2px; }

/* Inputs & textarea */
.blg-cmt-input,
.blg-cmt-textarea {
  width: 100% !important;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 10px !important;
  padding: 12px 16px !important;
  color: #e2eaf4 !important;
  font-size: 0.9rem !important;
  font-family: inherit !important;
  outline: none !important;
  transition: border-color 0.25s, box-shadow 0.25s !important;
  box-sizing: border-box !important;
  -webkit-appearance: none !important;
}

.blg-cmt-input::placeholder,
.blg-cmt-textarea::placeholder { color: rgba(255,255,255,0.22) !important; }

.blg-cmt-input:focus,
.blg-cmt-textarea:focus {
  border-color: var(--accent, #e07b27) !important;
  box-shadow: 0 0 0 3px rgba(224,123,39,0.14) !important;
  background: rgba(255,255,255,0.08) !important;
}

.blg-cmt-textarea {
  resize: vertical !important;
  min-height: 140px !important;
  line-height: 1.65 !important;
}

/* Comment textarea lives under .body_content (header wrapper). Plain .blg-cmt-textarea ties
   .body_content textarea on specificity so dark theme wins; text/email use .body_content input[type=*]
   and stay light — match them here so typed text stays visible (incl. focus / WebKit). */
.body_content .blg-cmt-form textarea.blg-cmt-textarea,
.body_content .blg-cmt-form #comment {
  color: #1a2332 !important;
  background: #ffffff !important;
  -webkit-text-fill-color: #1a2332 !important;
  caret-color: #1a2332 !important;
}

.body_content .blg-cmt-form textarea.blg-cmt-textarea::placeholder,
.body_content .blg-cmt-form #comment::placeholder {
  color: rgba(26, 35, 50, 0.45) !important;
  -webkit-text-fill-color: rgba(26, 35, 50, 0.45) !important;
}

.body_content .blg-cmt-form textarea.blg-cmt-textarea:focus,
.body_content .blg-cmt-form #comment:focus {
  color: #1a2332 !important;
  background: #ffffff !important;
  border-color: var(--accent, #e07b27) !important;
  box-shadow: 0 0 0 3px rgba(224, 123, 39, 0.18) !important;
  outline: none !important;
  -webkit-text-fill-color: #1a2332 !important;
  caret-color: #1a2332 !important;
}

/* Checkbox row */
.blg-cmt-check-row {
  grid-column: 1 / -1 !important;
}

.blg-cmt-check-label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  cursor: pointer !important;
  user-select: none !important;
}

/* Hide native checkbox */
.blg-cmt-check {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
}

/* Custom checkbox box */
.blg-cmt-check-mark {
  flex-shrink: 0 !important;
  width: 18px !important;
  height: 18px !important;
  border: 1.5px solid rgba(255,255,255,0.25) !important;
  border-radius: 4px !important;
  background: rgba(255,255,255,0.05) !important;
  margin-top: 2px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.2s, border-color 0.2s !important;
  position: relative !important;
}

.blg-cmt-check:checked + .blg-cmt-check-mark {
  background: var(--accent, #e07b27) !important;
  border-color: var(--accent, #e07b27) !important;
}

.blg-cmt-check:checked + .blg-cmt-check-mark::after {
  content: '' !important;
  display: block !important;
  width: 5px !important;
  height: 9px !important;
  border: 2px solid #fff !important;
  border-top: none !important;
  border-left: none !important;
  transform: rotate(45deg) translate(-1px, -1px) !important;
}

.blg-cmt-check-text {
  font-size: 0.8rem !important;
  color: rgba(255,255,255,0.40) !important;
  line-height: 1.5 !important;
}

/* Submit row */
.blg-cmt-submit-row {
  grid-column: 1 / -1 !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin-top: 4px !important;
}

/* Submit button */
.blg-cmt-submit {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: linear-gradient(135deg, #e07b27, #c96a15) !important;
  border: none !important;
  border-radius: 50px !important;
  color: #fff !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  padding: 13px 32px !important;
  cursor: pointer !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
  box-shadow: 0 4px 14px rgba(224,123,39,0.32) !important;
  white-space: nowrap !important;
}

.blg-cmt-submit:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 7px 22px rgba(224,123,39,0.48) !important;
}

/* Cancel reply link */
#cancel-comment-reply-link {
  font-size: 0.8rem !important;
  color: rgba(255,255,255,0.35) !important;
  text-decoration: none !important;
}

#cancel-comment-reply-link:hover { color: rgba(255,255,255,0.65) !important; }

/* Comments navigation */
.comment-navigation .nav-previous a,
.comment-navigation .nav-next a {
  font-size: 0.82rem !important;
  color: var(--accent, #e07b27) !important;
  text-decoration: none !important;
}

/* ---- Responsive ---- */
@media (max-width: 600px) {
  .blg-cmt-form {
    grid-template-columns: 1fr !important;
  }

  .blg-cmt-field--full,
  .blg-cmt-check-row,
  .blg-cmt-submit-row {
    grid-column: 1 !important;
  }

  .blg-cmt-card {
    flex-direction: column !important;
    gap: 12px !important;
    padding: 16px !important;
  }

  .blg-cmt-list .children {
    padding-left: 12px !important;
  }

  .blg-cmt-submit {
    width: 100% !important;
    justify-content: center !important;
  }
}

/* Responsive */
@media (max-width: 600px) {
  .blg-post-nav-item {
    max-width: 42% !important;
  }

  .blg-post-nav-title {
    font-size: 0.8rem !important;
  }
}

/* Responsive */
@media (max-width: 900px) {
  .blg-grid--3,
  .blg-grid--featured {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .blg-grid--featured .blg-card--featured {
    grid-column: span 2 !important;
  }
}

@media (max-width: 540px) {
  .blg-grid--3,
  .blg-grid--featured {
    grid-template-columns: 1fr !important;
  }

  .blg-grid--featured .blg-card--featured {
    grid-column: span 1 !important;
  }

  .blg-hero-content {
    padding-top: 110px !important;
    padding-bottom: 40px !important;
  }

  .blg-body-sec {
    padding: 40px 0 60px !important;
  }

  .blg-hero + .blg-body-sec {
    padding-top: 20px !important;
  }

  .blg-search-inner {
    flex-direction: column !important;
    align-items: stretch !important;
  }
}

/* ============================================
   CONTACT PAGE
   ============================================ */

.cnt-section {
  background: #07111f !important;
  padding: 72px 0 80px !important;
}

/* Two-column grid */
.cnt-grid {
  display: grid !important;
  grid-template-columns: 1fr 1.4fr !important;
  gap: 64px !important;
  align-items: start !important;
}

/* Eyebrow / heading shared styles */
.cnt-eyebrow {
  display: block !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--accent, #e07b27) !important;
  margin-bottom: 10px !important;
}

.cnt-heading {
  font-size: clamp(1.6rem, 3vw, 2.4rem) !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  margin: 0 0 16px !important;
  line-height: 1.15 !important;
}

.cnt-divider {
  width: 48px !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--accent, #e07b27), transparent) !important;
  border-radius: 2px !important;
  margin-bottom: 24px !important;
}

/* Left info panel */
.cnt-info {}

.cnt-body {
  color: #8fa3b4 !important;
  font-size: 0.95rem !important;
  line-height: 1.75 !important;
  margin-bottom: 32px !important;
}

.cnt-body p { margin-bottom: 0.75em !important; }

/* Contact details list */
.cnt-details {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 32px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

.cnt-detail-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
}

.cnt-detail-icon {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: rgba(224,123,39,0.12) !important;
  border: 1px solid rgba(224,123,39,0.25) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  color: var(--accent, #e07b27) !important;
  font-size: 0.85rem !important;
}

.cnt-detail-text {
  color: #c4d4e0 !important;
  font-size: 0.9rem !important;
  line-height: 1.5 !important;
  padding-top: 7px !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}

.cnt-detail-text strong {
  color: #ffffff !important;
  font-weight: 600 !important;
}

.cnt-detail-text a {
  color: #c4d4e0 !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}

.cnt-detail-text a:hover {
  color: var(--accent, #e07b27) !important;
}

a.cnt-detail-text:hover {
  color: var(--accent, #e07b27) !important;
}

/* Social buttons */
.cnt-social {
  display: flex !important;
  gap: 10px !important;
}

.cnt-social-btn {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #a0b4c8 !important;
  font-size: 0.95rem !important;
  text-decoration: none !important;
  transition: background 0.2s, color 0.2s, border-color 0.2s !important;
}

.cnt-social-btn:hover {
  background: var(--accent, #e07b27) !important;
  border-color: var(--accent, #e07b27) !important;
  color: #fff !important;
}

/* Right: form panel */
.cnt-form-panel {
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 20px !important;
  padding: 40px 44px !important;
}

.cnt-form-header {
  margin-bottom: 28px !important;
}

.cnt-form-eyebrow {
  display: block !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--accent, #e07b27) !important;
  margin-bottom: 6px !important;
}

.cnt-form-title {
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin: 0 !important;
}

/* CF7 inputs inside form panel (+ get_involed singles: form in post content) */
.cnt-form-body .wpcf7-form,
body.single-get_involed .gi-single-text .wpcf7-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

/* CF7 wraps each field in a <p> — reset its box model, keep it visible */
.cnt-form-body .wpcf7-form p,
body.single-get_involed .gi-single-text .wpcf7-form p {
  display: block !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
}

/* Hide orphan <br> tags CF7 sometimes injects */
.cnt-form-body .wpcf7-form br,
body.single-get_involed .gi-single-text .wpcf7-form br {
  display: none !important;
}

.cnt-form-body .wpcf7-form .wpcf7-form-control-wrap,
body.single-get_involed .gi-single-text .wpcf7-form .wpcf7-form-control-wrap {
  display: block !important;
  width: 100% !important;
  position: relative !important;
}

.cnt-form-body .wpcf7-form input[type="text"],
.cnt-form-body .wpcf7-form input[type="email"],
.cnt-form-body .wpcf7-form input[type="tel"],
.cnt-form-body .wpcf7-form input[type="url"],
.cnt-form-body .wpcf7-form select,
.cnt-form-body .wpcf7-form textarea,
body.single-get_involed .gi-single-text .wpcf7-form input[type="text"],
body.single-get_involed .gi-single-text .wpcf7-form input[type="email"],
body.single-get_involed .gi-single-text .wpcf7-form input[type="tel"],
body.single-get_involed .gi-single-text .wpcf7-form input[type="url"],
body.single-get_involed .gi-single-text .wpcf7-form select,
body.single-get_involed .gi-single-text .wpcf7-form textarea {
  width: 100% !important;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 10px !important;
  padding: 13px 18px !important;
  color: #e2eaf4 !important;
  font-size: 0.9rem !important;
  outline: none !important;
  transition: border-color 0.25s, box-shadow 0.25s !important;
  box-sizing: border-box !important;
}

.cnt-form-body .wpcf7-form input::placeholder,
.cnt-form-body .wpcf7-form textarea::placeholder,
body.single-get_involed .gi-single-text .wpcf7-form input::placeholder,
body.single-get_involed .gi-single-text .wpcf7-form textarea::placeholder {
  color: rgba(255,255,255,0.3) !important;
}

.cnt-form-body .wpcf7-form input:focus,
.cnt-form-body .wpcf7-form textarea:focus,
body.single-get_involed .gi-single-text .wpcf7-form input:focus,
body.single-get_involed .gi-single-text .wpcf7-form textarea:focus {
  border-color: var(--accent, #e07b27) !important;
  box-shadow: 0 0 0 3px rgba(224,123,39,0.15) !important;
}

/* Match rows="10" on the message field (line-height × 10 + vertical padding) */
.cnt-form-body .wpcf7-form textarea,
body.single-get_involed .gi-single-text .wpcf7-form textarea {
  min-height: calc(1.5em * 10 + 26px) !important;
  resize: vertical !important;
}

.cnt-form-body .wpcf7-form input[type="submit"],
body.single-get_involed .gi-single-text .wpcf7-form input[type="submit"] {
  background: linear-gradient(135deg, #e07b27, #c96a15) !important;
  border: none !important;
  border-radius: 50px !important;
  color: #fff !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  padding: 14px 36px !important;
  cursor: pointer !important;
  width: 100% !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
  box-shadow: 0 4px 18px rgba(224,123,39,0.35) !important;
}

.cnt-form-body .wpcf7-form input[type="submit"]:hover,
body.single-get_involed .gi-single-text .wpcf7-form input[type="submit"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(224,123,39,0.45) !important;
}

.cnt-form-body .wpcf7-not-valid-tip,
body.single-get_involed .gi-single-text .wpcf7-not-valid-tip {
  position: absolute !important;
  left: 0 !important;
  bottom: calc(100% + 8px) !important;
  z-index: 6 !important;
  display: inline-block !important;
  background: #dc2626 !important;
  color: #fff !important;
  font-size: 0.74rem !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  border-radius: 8px !important;
  padding: 7px 10px !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.32) !important;
  white-space: nowrap !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(4px) !important;
  transition: opacity 0.18s ease, transform 0.18s ease !important;
}

.cnt-form-body .wpcf7-not-valid-tip::after,
body.single-get_involed .gi-single-text .wpcf7-not-valid-tip::after {
  content: "" !important;
  position: absolute !important;
  top: 100% !important;
  left: 12px !important;
  border: 6px solid transparent !important;
  border-top-color: #dc2626 !important;
}

.cnt-form-body .wpcf7-form-control-wrap:hover .wpcf7-not-valid-tip,
.cnt-form-body .wpcf7-form-control-wrap:focus-within .wpcf7-not-valid-tip,
body.single-get_involed .gi-single-text .wpcf7-form-control-wrap:hover .wpcf7-not-valid-tip,
body.single-get_involed .gi-single-text .wpcf7-form-control-wrap:focus-within .wpcf7-not-valid-tip {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

.cnt-form-body .wpcf7-form .wpcf7-not-valid,
body.single-get_involed .gi-single-text .wpcf7-form .wpcf7-not-valid {
  border-color: #ef4444 !important;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.18) !important;
  background: rgba(239, 68, 68, 0.06) !important;
}

.cnt-form-body .wpcf7-form .wpcf7-not-valid::placeholder,
body.single-get_involed .gi-single-text .wpcf7-form .wpcf7-not-valid::placeholder {
  color: rgba(252, 165, 165, 0.75) !important;
}

.cnt-form-body .wpcf7-response-output,
body.single-get_involed .gi-single-text .wpcf7-response-output {
  border-radius: 10px !important;
  padding: 12px 18px !important;
  font-size: 0.85rem !important;
  margin-top: 8px !important;
  border-color: rgba(255,255,255,0.12) !important;
  background: rgba(255,255,255,0.04) !important;
  color: #c4d4e0 !important;
}

/* CF7 state colors on Contact page */
.cnt-form-body .wpcf7 form.sent .wpcf7-response-output,
body.single-get_involed .gi-single-text .wpcf7 form.sent .wpcf7-response-output {
  border-color: rgba(34, 197, 94, 0.55) !important;
  background: rgba(34, 197, 94, 0.14) !important;
  color: #86efac !important;
}

.cnt-form-body .wpcf7 form.invalid .wpcf7-response-output,
.cnt-form-body .wpcf7 form.failed .wpcf7-response-output,
.cnt-form-body .wpcf7 form.aborted .wpcf7-response-output,
.cnt-form-body .wpcf7 form.spam .wpcf7-response-output,
body.single-get_involed .gi-single-text .wpcf7 form.invalid .wpcf7-response-output,
body.single-get_involed .gi-single-text .wpcf7 form.failed .wpcf7-response-output,
body.single-get_involed .gi-single-text .wpcf7 form.aborted .wpcf7-response-output,
body.single-get_involed .gi-single-text .wpcf7 form.spam .wpcf7-response-output {
  border-color: rgba(248, 113, 113, 0.55) !important;
  background: rgba(248, 113, 113, 0.14) !important;
  color: #fca5a5 !important;
}

/* Map section */
.cnt-map-section {
  background: #0a1528 !important;
  padding: 56px 0 72px !important;
}

.cnt-map-header {
  margin-bottom: 28px !important;
}

.cnt-map-wrap {
  position: relative !important;
  overflow: hidden !important;
  line-height: 0 !important;
  /*border: 1px solid rgba(255,255,255,0.12) !important;*/
  border-top: 2px solid rgba(224,123,39,0.35) !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 36px rgba(2, 8, 20, 0.35) !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  isolation: isolate !important;
}

.cnt-map-wrap iframe {
  display: block !important;
  width: 100% !important;
  height: clamp(320px, 55vw, 520px) !important;
  filter: grayscale(20%) brightness(0.9) !important;
  border-radius: inherit !important;
  clip-path: none !important;
  border: 0 !important;
}

.cnt-map-card {
  position: absolute !important;
  top: 18px !important;
  left: 18px !important;
  z-index: 3 !important;
  background: rgba(10, 21, 40, 0.84) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;
  max-width: 340px !important;
  box-shadow: 0 10px 26px rgba(2, 8, 20, 0.35) !important;
  backdrop-filter: blur(6px) !important;
}

.cnt-map-card-eyebrow {
  display: block !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--accent, #e07b27) !important;
  margin-bottom: 6px !important;
}

.cnt-map-card-title {
  margin: 0 0 10px !important;
  font-size: 1rem !important;
  line-height: 1.35 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
}

.cnt-map-card-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  color: #c4d4e0 !important;
  text-decoration: none !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
}

.cnt-map-card-link:hover {
  color: var(--accent, #e07b27) !important;
}

/* Responsive */
@media (max-width: 900px) {
  .cnt-grid {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }

  .cnt-form-panel {
    padding: 32px 28px !important;
  }

  .cnt-map-card {
    max-width: 300px !important;
  }
}

@media (max-width: 540px) {
  .cnt-section {
    padding: 48px 0 60px !important;
  }

  .cnt-form-panel {
    padding: 28px 20px !important;
  }

  .cnt-map-section {
    padding: 44px 0 56px !important;
  }

  .cnt-map-wrap {
    border-radius: 14px !important;
  }

  .cnt-map-wrap iframe {
    height: 360px !important;
  }

  .cnt-map-card {
    top: 12px !important;
    bottom: auto !important;
    left: 12px !important;
    right: 12px !important;
    max-width: none !important;
    padding: 12px 13px !important;
  }

  .cnt-map-card-title {
    font-size: 0.92rem !important;
  }
}

/* ============================================
   SINGLE EVENT PAGE  (ru_events)
   ============================================ */

/* ----- Hero ----- */
.evt-hero {
  position: relative;
  min-height: 480px;
  display: flex;
  align-items: flex-end;
  background-image: var(--evt-hero-img, none);
  background-size: cover;
  background-position: center top;
  background-color: #0e1624;
  overflow: hidden;
}

.evt-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(10,14,26,0.35) 0%,
    rgba(10,14,26,0.65) 55%,
    rgba(10,14,26,0.92) 100%
  );
}

.evt-hero-content {
  position: relative;
  z-index: 2;
  padding-bottom: 54px;
  padding-top: 120px;
  color: #fff;
}

.evt-hero-cat {
  display: inline-block;
  background: var(--accent, #e8913a);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 5px 14px;
  border-radius: 50px;
  text-decoration: none;
  margin-bottom: 14px;
}

.evt-hero-cat:hover { background: var(--accent-dark, #c47520); }

.evt-hero-title {
  font-family: var(--font-heading, 'Montserrat', sans-serif);
  font-size: clamp(1.8rem, 4.5vw, 3rem);
  font-weight: 800;
  line-height: 1.18;
  color: #fff;
  margin: 0 0 18px;
  max-width: 820px;
}

.evt-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 18px 32px;
  font-size: 0.9rem;
  color: rgba(255,255,255,0.82);
}

.evt-hero-meta span { display: flex; align-items: center; gap: 7px; }
.evt-hero-meta .fa { color: var(--accent, #e8913a); font-size: 1rem; }

/* ----- Breadcrumb ----- */
.evt-breadcrumb {
  background: rgba(255,255,255,0.04);
  border-bottom: 1px solid rgba(255,255,255,0.08);
  padding: 10px 0;
  font-size: 0.82rem;
  color: rgba(255,255,255,0.5);
}

.evt-breadcrumb nav { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 6px; }
.evt-breadcrumb a { color: var(--accent, #e8913a); text-decoration: none; }
.evt-breadcrumb a:hover { text-decoration: underline; }
.evt-bc-sep { color: rgba(255,255,255,0.25); font-size: 0.75rem; }

/* ----- Body section ----- */
.evt-body-sec {
  padding: 60px 0 80px;
  background: #07111f;
}

.evt-body-grid {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 48px;
  align-items: start;
}

/* ----- Main content ----- */
.evt-featured-img {
  margin-bottom: 32px;
  border-radius: var(--radius-lg, 1.25rem);
  overflow: hidden;
  box-shadow: 0 6px 30px rgba(0,0,0,0.30);
}

.evt-featured-img img {
  width: 100%;
  height: auto;
  display: block;
}

.evt-content {
  font-size: 1.02rem;
  line-height: 1.78;
  color: #c4d4e0;
}

.evt-content h2,
.evt-content h3,
.evt-content h4 { color: #ffffff; margin-top: 2em; margin-bottom: 0.5em; }
.evt-content p   { margin-bottom: 1.25em; }
.evt-content a   { color: var(--accent, #e8913a); text-decoration: underline; }
.evt-content img { max-width: 100%; border-radius: var(--radius-md, 0.75rem); display: block; margin: 1.5em auto; }
.evt-content blockquote {
  border-left: 4px solid var(--accent, #e8913a);
  background: rgba(255,255,255,0.04);
  border-radius: 0 12px 12px 0;
  margin: 1.5em 0;
  padding: 16px 22px;
  color: #e2eaf4;
  font-style: italic;
}

/* ----- Sidebar ----- */
.evt-sidebar { display: flex; flex-direction: column; gap: 28px; }

/* Details card */
.evt-details-card {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: var(--radius-lg, 1.25rem);
  padding: 28px 24px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.25);
  backdrop-filter: blur(8px);
}

.evt-details-title {
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
  margin: 0 0 20px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.evt-details-title .fa { color: var(--accent, #e8913a); }

.evt-detail-row {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255,255,255,0.07);
}

.evt-detail-row:last-of-type { border-bottom: none; }

.evt-detail-icon {
  width: 36px;
  height: 36px;
  min-width: 36px;
  background: rgba(232,145,58,0.15);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--accent, #e8913a);
  font-size: 0.95rem;
  margin-top: 2px;
}

.evt-detail-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.evt-detail-text strong {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.45);
}

.evt-detail-text span {
  font-size: 0.92rem;
  color: #c4d4e0;
  line-height: 1.5;
}

/* Action buttons */
.evt-detail-actions {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.evt-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 18px;
  border-radius: 50px;
  font-size: 0.85rem;
  font-weight: 700;
  text-decoration: none;
  text-align: center;
  transition: transform 0.18s, box-shadow 0.18s;
  letter-spacing: 0.02em;
}

.evt-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0,0,0,0.14); }

.evt-btn--cal {
  background: linear-gradient(135deg, var(--accent, #e8913a), #c47520);
  color: #fff;
}

.evt-btn--dir {
  background: rgba(255,255,255,0.07);
  color: #c4d4e0;
  border: 1.5px solid rgba(255,255,255,0.18);
}

.evt-btn--dir:hover { border-color: var(--accent, #e8913a); color: var(--accent, #e8913a); background: rgba(232,145,58,0.08); }

/* RSVP card */
.evt-rsvp-card {
  background: linear-gradient(135deg, #0e1624 0%, #1a2538 100%);
  border-radius: var(--radius-lg, 1.25rem);
  padding: 28px 24px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.18);
}

.evt-rsvp-title {
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
  margin: 0 0 20px;
  display: flex;
  align-items: center;
  gap: 8px;
}

h3.evt-rsvp-title  {
  font-size: 1.5rem !important;
}

.evt-rsvp-title .fa { color: var(--accent, #e8913a); }

/* CF7 inside RSVP card */
.evt-rsvp-body .wpcf7-form p {
  display: block !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
}

.evt-rsvp-body .wpcf7-form br { display: none !important; }

.evt-rsvp-body .wpcf7-form-control-wrap {
  display: block !important;
  width: 100% !important;
  position: relative !important;
}

.evt-rsvp-body .wpcf7-form input[type="text"],
.evt-rsvp-body .wpcf7-form input[type="email"],
.evt-rsvp-body .wpcf7-form input[type="tel"],
.evt-rsvp-body .wpcf7-form input[type="number"],
.evt-rsvp-body .wpcf7-form select,
.evt-rsvp-body .wpcf7-form textarea {
  width: 100% !important;
  background: rgba(255,255,255,0.07) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 10px !important;
  padding: 11px 16px !important;
  color: #e2eaf4 !important;
  font-size: 0.88rem !important;
  outline: none !important;
  transition: border-color 0.25s, box-shadow 0.25s !important;
  box-sizing: border-box !important;
}

.evt-rsvp-body .wpcf7-form input::placeholder,
.evt-rsvp-body .wpcf7-form textarea::placeholder {
  color: rgba(255,255,255,0.3) !important;
}

.evt-rsvp-body .wpcf7-form input:focus,
.evt-rsvp-body .wpcf7-form textarea:focus {
  border-color: var(--accent, #e8913a) !important;
  box-shadow: 0 0 0 3px rgba(232,145,58,0.18) !important;
}

.evt-rsvp-body .wpcf7-form textarea {
  min-height: calc(1.5em * 5 + 22px) !important;
  resize: vertical !important;
}

.evt-rsvp-body .wpcf7-form input[type="submit"] {
  background: linear-gradient(135deg, var(--accent, #e8913a), #c47520) !important;
  border: none !important;
  border-radius: 50px !important;
  color: #fff !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  padding: 12px 32px !important;
  cursor: pointer !important;
  transition: transform 0.18s, box-shadow 0.18s !important;
  width: auto !important;
}

.evt-rsvp-body .wpcf7-form input[type="submit"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(232,145,58,0.35) !important;
}

/* RSVP validation UX: highlight fields + tooltip validation tip */
.evt-rsvp-body .wpcf7-not-valid-tip {
  position: absolute !important;
  left: 0 !important;
  bottom: calc(100% + 8px) !important;
  z-index: 6 !important;
  display: inline-block !important;
  background: #dc2626 !important;
  color: #fff !important;
  font-size: 0.74rem !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  border-radius: 8px !important;
  padding: 7px 10px !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.32) !important;
  white-space: nowrap !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(4px) !important;
  transition: opacity 0.18s ease, transform 0.18s ease !important;
}

.evt-rsvp-body .wpcf7-not-valid-tip::after {
  content: "" !important;
  position: absolute !important;
  top: 100% !important;
  left: 12px !important;
  border: 6px solid transparent !important;
  border-top-color: #dc2626 !important;
}

.evt-rsvp-body .wpcf7-form-control-wrap:hover .wpcf7-not-valid-tip,
.evt-rsvp-body .wpcf7-form-control-wrap:focus-within .wpcf7-not-valid-tip {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

.evt-rsvp-body .wpcf7-form .wpcf7-not-valid {
  border-color: #ef4444 !important;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.18) !important;
  background: rgba(239, 68, 68, 0.06) !important;
}

.evt-rsvp-body .wpcf7-form .wpcf7-not-valid::placeholder {
  color: rgba(252, 165, 165, 0.75) !important;
}

/* RSVP response output colors */
.evt-rsvp-body .wpcf7-response-output {
  border-radius: 10px !important;
  padding: 12px 18px !important;
  font-size: 0.9rem !important;
  margin-top: 10px !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  background: rgba(255,255,255,0.04) !important;
  color: #c4d4e0 !important;
  text-align: center !important;
}

.evt-rsvp-body .wpcf7 form.sent .wpcf7-response-output {
  border-color: rgba(34, 197, 94, 0.55) !important;
  background: rgba(34, 197, 94, 0.14) !important;
  color: #86efac !important;
}

.evt-rsvp-body .wpcf7 form.invalid .wpcf7-response-output,
.evt-rsvp-body .wpcf7 form.failed .wpcf7-response-output,
.evt-rsvp-body .wpcf7 form.aborted .wpcf7-response-output,
.evt-rsvp-body .wpcf7 form.spam .wpcf7-response-output {
  border-color: rgba(248, 113, 113, 0.55) !important;
  background: rgba(248, 113, 113, 0.14) !important;
  color: #fca5a5 !important;
}

/* ----- Responsive ----- */
@media (max-width: 1024px) {
  .evt-body-grid {
    grid-template-columns: 1fr 300px;
    gap: 32px;
  }
}

@media (max-width: 768px) {
  .evt-hero { min-height: 360px; }
  .evt-hero-title { font-size: 1.7rem; }

  .evt-body-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .evt-sidebar { order: -1; }

  .evt-detail-actions { flex-direction: row; flex-wrap: wrap; }
  .evt-btn { flex: 1 1 140px; }
}

@media (max-width: 480px) {
  .evt-hero { min-height: 280px; }
  .evt-hero-title { font-size: 1.4rem; }
  .evt-hero-meta { gap: 10px 18px; font-size: 0.82rem; }
  .evt-details-card,
  .evt-rsvp-card { padding: 20px 16px; }
}

/* ============================================
   PRINT
   ============================================ */
@media print {
  #master-header,
  footer.min-footer,
  .mobnav-toggle,
  .mobnav-overlay,
  .mobnav-drawer,
  #dvLoading,
  .btn1,
  .btn_grn,
  .button {
    display: none !important;
  }
  
  body {
    font-size: 12pt !important;
    color: #000 !important;
  }
}

/* ============================================================
   reCAPTCHA polish — center, spacing & responsive fit (2026)
   The widget itself is a Google iframe (dark theme is forced via PHP);
   these rules only handle placement so it sits well in dark forms.
   ============================================================ */
.wpcf7-form .wpcf7-form-control-wrap.recaptcha {
  display: flex;
  justify-content: center;
  margin: 22px 0 8px;
}

.wpcf7-form .g-recaptcha {
  display: inline-block;
  line-height: 0;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
}

/* Home "Register Your Interest" and Contact forms — the widget is forced to
   the rectangular (normal) size via PHP; scale it down here so it reads as a
   narrower rectangle. transform-origin keeps it centred, and the negative
   bottom margin reclaims the empty space the scaled-down box leaves behind. */
.page-template-template-home .wpcf7-form .g-recaptcha,
.home .wpcf7-form .g-recaptcha,
.page-template-contact-template .wpcf7-form .g-recaptcha,
.page-contact .wpcf7-form .g-recaptcha {
  transform: scale(0.78);
  transform-origin: center top;
  margin-bottom: -16px;
}

/* Comment-form reCAPTCHA (recaptcha-in-wp-comments-form) */
.google-recaptcha-container {
  display: flex;
  justify-content: center;
  margin: 18px 0;
}

/* The v2 widget is a fixed ~304px iframe; scale it down on very
   narrow screens so it never overflows the form column. */
@media (max-width: 360px) {
  .wpcf7-form .wpcf7-form-control-wrap.recaptcha,
  .google-recaptcha-container {
    transform: scale(0.85);
    transform-origin: center top;
  }
}
