.site-header {
  position: relative;
  z-index: 1000;
  background: #000;
}

.header-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 14px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.branding {
  display: flex;
  align-items: center;
  gap: 14px;
  text-decoration: none;
}

.branding img {
  display: block;
  max-height: 78px;
  width: auto;
}

.main-nav ul {
  display: flex;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.hero {
  padding-top: 56px;
}

/* ==========================================
   ROAD VILLAINS – THE EVENTS CALENDAR STYLES
   ========================================== */

/* Global event colors */
:root {
  --rv-black: #000000;
  --rv-panel: #0d0d0d;
  --rv-panel-2: #151515;
  --rv-border: #2a2a2a;
  --rv-text: #ffffff;
  --rv-muted: #b3b3b3;
  --rv-red: #b30000;
  --rv-red-bright: #e00000;
}

/* Main event area */
.tribe-events,
.tribe-common,
.tribe-events-view,
.tribe-common-l-container {
  background: transparent !important;
  color: var(--rv-text) !important;
}

/* Event cards / containers */
.tribe-events .tribe-events-calendar-list__event,
.tribe-events .tribe-events-calendar-month__calendar-event,
.tribe-events .tribe-events-calendar-day__event,
.tribe-common .tribe-common-c-svgicon,
.tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container,
.tribe-events-single,
.tribe-events-view .tribe-common-g-row {
  color: var(--rv-text) !important;
}

/* Generic panels */
.tribe-common .tribe-common-c-btn-border,
.tribe-events .tribe-events-c-top-bar,
.tribe-events .tribe-events-header,
.tribe-events .tribe-events-calendar-month,
.tribe-events .tribe-events-calendar-list,
.tribe-events .tribe-events-calendar-day,
.tribe-events .tribe-events-calendar-week,
.tribe-events-single,
.single-tribe_events .tribe-events-single {
  background: transparent !important;
  color: var(--rv-text) !important;
}

/* Top bar and filters */
.tribe-events .tribe-events-c-top-bar,
.tribe-events .tribe-events-header__top-bar {
  background: var(--rv-panel) !important;
  border: 1px solid var(--rv-border) !important;
  border-radius: 8px !important;
  padding: 14px !important;
  box-shadow: 0 0 18px rgba(0,0,0,.45) !important;
}

/* Search field and filter controls */
.tribe-events .tribe-events-c-search__input,
.tribe-events .tribe-events-c-search__button,
.tribe-events .tribe-events-c-top-bar input,
.tribe-events .tribe-events-c-top-bar select,
.tribe-events .tribe-events-c-top-bar button,
.tribe-common input,
.tribe-common select,
.tribe-common button {
  background: #161616 !important;
  color: var(--rv-text) !important;
  border: 1px solid #3a3a3a !important;
  border-radius: 6px !important;
}

.tribe-events .tribe-events-c-search__input::placeholder,
.tribe-common input::placeholder {
  color: #9a9a9a !important;
}

/* Buttons */
.tribe-events .tribe-common-c-btn,
.tribe-events .tribe-common-c-btn-border,
.tribe-common .tribe-common-c-btn,
.tribe-common .tribe-common-c-btn-border,
.tribe-events a.tribe-common-c-btn,
.tribe-events button,
.tribe-events input[type="button"],
.tribe-events input[type="submit"] {
  background: var(--rv-red) !important;
  color: #fff !important;
  border: 1px solid #8f0000 !important;
  border-radius: 6px !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}

.tribe-events .tribe-common-c-btn:hover,
.tribe-events .tribe-common-c-btn-border:hover,
.tribe-common .tribe-common-c-btn:hover,
.tribe-common .tribe-common-c-btn-border:hover,
.tribe-events a.tribe-common-c-btn:hover,
.tribe-events button:hover,
.tribe-events input[type="button"]:hover,
.tribe-events input[type="submit"]:hover {
  background: var(--rv-red-bright) !important;
  border-color: var(--rv-red-bright) !important;
  color: #fff !important;
}

/* Links */
.tribe-events a,
.tribe-common a {
  color: #ffffff !important;
}

.tribe-events a:hover,
.tribe-common a:hover {
  color: #ff4d4d !important;
}

/* Event list view cards */
.tribe-events .tribe-events-calendar-list__event {
  background: var(--rv-panel) !important;
  border: 1px solid var(--rv-border) !important;
  border-radius: 10px !important;
  padding: 18px !important;
  margin-bottom: 18px !important;
  box-shadow: 0 0 18px rgba(0,0,0,.35) !important;
}

/* List view image */
.tribe-events .tribe-events-calendar-list__event-featured-image-wrapper img,
.tribe-events .tribe-events-calendar-list__event-featured-image-link img {
  border-radius: 8px !important;
  border: 1px solid #222 !important;
}

/* Titles */
.tribe-events .tribe-events-calendar-list__event-title,
.tribe-events .tribe-events-calendar-day__event-title,
.tribe-events .tribe-events-calendar-month__calendar-event-title,
.tribe-events-single-event-title,
.single-tribe_events .tribe-events-single-event-title {
  color: #ffffff !important;
  text-transform: uppercase !important;
  letter-spacing: .03em !important;
}

/* Meta text */
.tribe-events .tribe-events-calendar-list__event-datetime,
.tribe-events .tribe-event-date-start,
.tribe-events .tribe-event-date-end,
.tribe-events .tribe-events-calendar-list__event-venue,
.tribe-events .tribe-events-calendar-list__event-cost,
.tribe-events .tribe-events-single-event-description,
.tribe-events .tribe-events-schedule,
.tribe-events .tribe-events-event-meta,
.tribe-events .tribe-events-meta-group,
.tribe-events .tribe-events-single-section-title {
  color: var(--rv-text) !important;
}

/* Month view cells */
.tribe-events .tribe-events-calendar-month__day {
  background: #0f0f0f !important;
  border: 1px solid #1f1f1f !important;
}

.tribe-events .tribe-events-calendar-month__day--past {
  background: #0a0a0a !important;
}

.tribe-events .tribe-events-calendar-month__day--current {
  box-shadow: inset 0 0 0 2px rgba(179,0,0,.45) !important;
}

/* Month view event pill */
.tribe-events .tribe-events-calendar-month__calendar-event {
  background: var(--rv-red) !important;
  border-radius: 4px !important;
  padding: 4px 6px !important;
}

.tribe-events .tribe-events-calendar-month__calendar-event a {
  color: #fff !important;
}

/* Day number */
.tribe-events .tribe-events-calendar-month__day-date {
  color: #ffffff !important;
}

/* View switcher */
.tribe-events .tribe-events-c-view-selector__button,
.tribe-events .tribe-events-c-view-selector__list-item a {
  background: #161616 !important;
  color: #fff !important;
  border: 1px solid #333 !important;
}

.tribe-events .tribe-events-c-view-selector__button:hover,
.tribe-events .tribe-events-c-view-selector__list-item a:hover {
  border-color: var(--rv-red) !important;
}

/* Single event page */
.single-tribe_events .tribe-events-single {
  background: var(--rv-panel) !important;
  border: 1px solid var(--rv-border) !important;
  border-radius: 10px !important;
  padding: 26px !important;
  box-shadow: 0 0 20px rgba(0,0,0,.4) !important;
}

.single-tribe_events .tribe-events-event-image img,
.single-tribe_events .tribe-events-single-event-image img {
  border-radius: 10px !important;
  border: 1px solid #222 !important;
}

/* Meta box on single event */
.single-tribe_events .tribe-events-event-meta,
.single-tribe_events .tribe-events-meta-group {
  background: #121212 !important;
  border: 1px solid #2b2b2b !important;
  border-radius: 8px !important;
  padding: 16px !important;
}

/* Venue / organizer links */
.tribe-events-meta-group a,
.tribe-events-event-meta a {
  color: #ffcccc !important;
}

/* Prev / next event nav */
.tribe-events .tribe-events-c-nav__prev a,
.tribe-events .tribe-events-c-nav__next a,
.single-tribe_events .tribe-events-sub-nav a {
  color: #ffffff !important;
  background: #141414 !important;
  border: 1px solid #2b2b2b !important;
  border-radius: 6px !important;
  padding: 10px 14px !important;
  display: inline-block !important;
}

.tribe-events .tribe-events-c-nav__prev a:hover,
.tribe-events .tribe-events-c-nav__next a:hover,
.single-tribe_events .tribe-events-sub-nav a:hover {
  border-color: var(--rv-red) !important;
  color: #ff4d4d !important;
}

/* Featured / cost badges */
.tribe-events .tribe-events-calendar-list__event-cost,
.tribe-events .tribe-events-calendar-list__event-featured-text,
.tribe-events .tribe-events-calendar-month__calendar-event-featured-text {
  background: #1b1b1b !important;
  color: #fff !important;
  border: 1px solid #333 !important;
  border-radius: 4px !important;
  padding: 4px 8px !important;
}

/* Tooltip / popover */
.tribe-events .tribe-events-c-tooltip,
.tribe-common .tribe-common-c-tooltip {
  background: #101010 !important;
  color: #ffffff !important;
  border: 1px solid #2b2b2b !important;
  box-shadow: 0 0 20px rgba(0,0,0,.45) !important;
}

/* Notices */
.tribe-common .tribe-common-b2,
.tribe-events-notices,
.tribe-events .tribe-events-notices {
  color: #fff !important;
}

/* Calendar headings */
.tribe-events .tribe-events-header__events-bar,
.tribe-events .tribe-events-calendar-month__header-column-title {
  color: #ffffff !important;
}

/* Remove bright default backgrounds some themes add */
.tribe-events *,
.tribe-common * {
  border-color: inherit;
}

/* Mobile */
@media (max-width: 768px) {
  .single-tribe_events .tribe-events-single,
  .tribe-events .tribe-events-calendar-list__event,
  .tribe-events .tribe-events-c-top-bar,
  .tribe-events .tribe-events-header__top-bar {
    padding: 16px !important;
  }
}

/* Optional smoky red glow */
.tribe-events .tribe-events-calendar-list__event:hover,
.single-tribe_events .tribe-events-single:hover {
  box-shadow: 0 0 24px rgba(179, 0, 0, 0.18) !important;
}

/* Optional poster-style event title */
.tribe-events .tribe-events-calendar-list__event-title,
.tribe-events-single-event-title {
  text-shadow: 0 1px 0 #000, 0 0 10px rgba(179,0,0,.18);
}

/* ROAD VILLAINS – stronger WPForms styling */

/* Main wrapper */
div.wpforms-container,
.wpforms-container-full,
form.wpforms-form {
    background: #0d0d0d !important;
    border: 1px solid #232323 !important;
    border-radius: 8px !important;
    padding: 24px !important;
    box-shadow: 0 0 18px rgba(0,0,0,.65) !important;
    color: #ffffff !important;
}

/* Labels and helper text */
.wpforms-form label,
.wpforms-container label,
.wpforms-field-label,
.wpforms-field-sublabel,
.wpforms-description,
.wpforms-page-indicator,
.wpforms-pagebreak-center,
.wpforms-pagebreak-left,
.wpforms-pagebreak-right {
    color: #ffffff !important;
}

/* Inputs */
.wpforms-form input[type="text"],
.wpforms-form input[type="email"],
.wpforms-form input[type="tel"],
.wpforms-form input[type="number"],
.wpforms-form input[type="url"],
.wpforms-form input[type="password"],
.wpforms-form textarea,
.wpforms-form select,
.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container input[type="tel"],
.wpforms-container input[type="number"],
.wpforms-container input[type="url"],
.wpforms-container input[type="password"],
.wpforms-container textarea,
.wpforms-container select {
    width: 100% !important;
    background: #161616 !important;
    color: #ffffff !important;
    border: 1px solid #3a3a3a !important;
    border-radius: 6px !important;
    padding: 12px 14px !important;
    box-sizing: border-box !important;
}

/* Placeholder */
.wpforms-form input::placeholder,
.wpforms-form textarea::placeholder,
.wpforms-container input::placeholder,
.wpforms-container textarea::placeholder {
    color: #9a9a9a !important;
    opacity: 1 !important;
}

/* Focus state */
.wpforms-form input:focus,
.wpforms-form textarea:focus,
.wpforms-form select:focus,
.wpforms-container input:focus,
.wpforms-container textarea:focus,
.wpforms-container select:focus {
    border-color: #b30000 !important;
    box-shadow: 0 0 0 2px rgba(179,0,0,.25) !important;
    outline: none !important;
}

/* Checkbox / radio */
.wpforms-form input[type="checkbox"],
.wpforms-form input[type="radio"],
.wpforms-container input[type="checkbox"],
.wpforms-container input[type="radio"] {
    accent-color: #b30000 !important;
}

/* Submit button */
.wpforms-form button[type="submit"],
.wpforms-form input[type="submit"],
.wpforms-container button[type="submit"],
.wpforms-container input[type="submit"],
.wpforms-submit,
.wpforms-submit-container button {
    background: #b30000 !important;
    color: #ffffff !important;
    border: 1px solid #8f0000 !important;
    border-radius: 6px !important;
    padding: 12px 22px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    cursor: pointer !important;
    box-shadow: none !important;
}

/* Submit hover */
.wpforms-form button[type="submit"]:hover,
.wpforms-form input[type="submit"]:hover,
.wpforms-container button[type="submit"]:hover,
.wpforms-container input[type="submit"]:hover,
.wpforms-submit:hover,
.wpforms-submit-container button:hover {
    background: #d10000 !important;
    border-color: #d10000 !important;
    color: #ffffff !important;
}

/* Errors */
.wpforms-error,
label.wpforms-error,
em.wpforms-error {
    color: #ff5c5c !important;
}

.wpforms-has-error input,
.wpforms-has-error textarea,
.wpforms-has-error select {
    border-color: #ff3b3b !important;
}

/* Confirmation message */
.wpforms-confirmation-container,
.wpforms-confirmation-scroll {
    background: #111111 !important;
    color: #ffffff !important;
    border: 1px solid #b30000 !important;
    border-radius: 6px !important;
    padding: 18px !important;
}

/* Multi-column spacing */
.wpforms-field-row,
.wpforms-one-half,
.wpforms-one-third,
.wpforms-two-thirds {
    margin-bottom: 14px !important;
}

/* File upload */
.wpforms-form input[type="file"],
.wpforms-container input[type="file"] {
    background: #161616 !important;
    color: #ffffff !important;
    border: 1px dashed #444 !important;
    padding: 12px !important;
}

/* Mobile */
@media (max-width: 768px) {
    div.wpforms-container,
    .wpforms-container-full,
    form.wpforms-form {
        padding: 16px !important;
    }
}

/* Subtle red glow on form hover */
.wpforms-container:hover {
    box-shadow: 0 0 25px rgba(179, 0, 0, 0.3);
}

/* Header text inside forms */
.wpforms-title {
    color: #ff1a1a;
    text-transform: uppercase;
    letter-spacing: 2px;
}

/* ==========================================
   ROAD VILLAINS – RESPONSIVE HEADER / MENU FIX
   Desktop + Tablet + Mobile
   ========================================== */

/* Never allow the site to scroll sideways */
html, body {
  overflow-x: hidden;
}

.site,
.site-header,
.header-inner,
.main-navigation,
.menu-toggle,
.site-branding {
  max-width: 100%;
  box-sizing: border-box;
}

/* Make all header pieces size safely */
.site-header *,
.main-navigation *,
.site-branding * {
  box-sizing: border-box;
}

/* Header row */
.site-header,
header.site-header {
  position: relative;
  z-index: 9999;
}

/* Main header container */
.site-header .header-inner,
.site-header .container,
.site-header .site-header-inner,
.site-header .wrap,
header .container,
header .wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

/* Branding/logo area */
.site-branding,
.custom-logo-link,
.site-header .logo,
.site-header .site-logo {
  display: flex;
  align-items: center;
  min-width: 0;
}

.custom-logo,
.site-branding img,
.custom-logo-link img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Desktop menu */
.main-navigation ul,
.primary-menu,
#primary-menu,
.menu {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.main-navigation li,
.primary-menu li,
#primary-menu li,
.menu li {
  margin: 0;
  padding: 0;
}

.main-navigation a,
.primary-menu a,
#primary-menu a,
.menu a {
  display: block;
  padding: 10px 14px;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
}

/* Tablet fixes */
@media (max-width: 1024px) {
  .site-header .header-inner,
  .site-header .container,
  .site-header .site-header-inner,
  .site-header .wrap,
  header .container,
  header .wrap {
    align-items: center;
    gap: 12px;
  }

  .main-navigation a,
  .primary-menu a,
  #primary-menu a,
  .menu a {
    padding: 9px 12px;
    font-size: 15px;
  }
}

/* Mobile + smaller tablet */
@media (max-width: 768px) {
  /* Keep logo and toggle on one row */
  .site-header .header-inner,
  .site-header .container,
  .site-header .site-header-inner,
  .site-header .wrap,
  header .container,
  header .wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
  }

  .site-branding,
  .custom-logo-link {
    flex: 1 1 auto;
    min-width: 0;
  }

  /* Limit logo size on mobile */
  .custom-logo,
  .site-branding img,
  .custom-logo-link img {
    max-height: 56px;
    width: auto;
  }

  /* Mobile toggle button */
  .menu-toggle,
  button.menu-toggle,
  .mobile-menu-toggle,
  .ast-mobile-menu-trigger,
  .ast-menu-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 8px 12px;
    margin: 0;
    border: 1px solid #8f0000;
    border-radius: 6px;
    background: #b30000;
    color: #ffffff;
    cursor: pointer;
    z-index: 10001;
  }

  /* Force menu under header, not on top of it */
  .main-navigation,
  .site-header .main-navigation,
  .ast-builder-menu-mobile,
  .mobile-menu-wrap,
  .site-header nav {
    width: 100%;
  }

  /* Hidden mobile menu panel until opened by theme/plugin */
  .main-navigation ul,
  .primary-menu,
  #primary-menu,
  .menu,
  .ast-nav-menu,
  .ast-header-break-point .main-header-menu {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    margin-top: 12px;
    padding: 10px 0;
    background: #111111;
    border: 1px solid #2b2b2b;
    border-radius: 8px;
    overflow: hidden;
  }

  /* Full-width stacked menu items */
  .main-navigation li,
  .primary-menu li,
  #primary-menu li,
  .menu li,
  .ast-nav-menu li {
    width: 100%;
    border-bottom: 1px solid #222222;
  }

  .main-navigation li:last-child,
  .primary-menu li:last-child,
  #primary-menu li:last-child,
  .menu li:last-child,
  .ast-nav-menu li:last-child {
    border-bottom: none;
  }

  .main-navigation a,
  .primary-menu a,
  #primary-menu a,
  .menu a,
  .ast-nav-menu a {
    width: 100%;
    padding: 14px 16px;
    white-space: normal;
    word-break: break-word;
    line-height: 1.35;
  }

  /* Prevent dropdown submenus from floating over content */
  .main-navigation .sub-menu,
  .primary-menu .sub-menu,
  #primary-menu .sub-menu,
  .menu .sub-menu {
    position: static !important;
    width: 100% !important;
    box-shadow: none !important;
    border-top: 1px solid #222 !important;
    background: #161616 !important;
  }

  /* Page content should not sit under header */
  .site-content,
  #content,
  main.site-main {
    overflow-x: hidden;
  }
}

/* Very small phones */
@media (max-width: 480px) {
  .custom-logo,
  .site-branding img,
  .custom-logo-link img {
    max-height: 48px;
  }

  .main-navigation a,
  .primary-menu a,
  #primary-menu a,
  .menu a,
  .ast-nav-menu a {
    padding: 13px 14px;
    font-size: 15px;
  }

  .menu-toggle,
  button.menu-toggle,
  .mobile-menu-toggle,
  .ast-mobile-menu-trigger,
  .ast-menu-toggle {
    min-width: 42px;
    min-height: 42px;
    padding: 8px 10px;
  }
}