/**
 * Events Calendar Pro Custom Styles
 * 
 * This file overrides Events Calendar Pro default styles.
 * It loads automatically after the plugin's skeleton styles.
 * 
 * Location: your-theme/tribe-events/pro/tribe-events-pro.css
 * 
 * CSS Methodology:
 * - Uses BEM naming convention (Block__Element--Modifier)
 * - Wrapper class: .tribe-events (wraps all calendar views)
 * - Minimum specificity: 2-3 classes
 * - Uses container queries (not media queries) for responsive design
 * 
 * Breakpoints:
 * - .tribe-common--breakpoint-xsmall (500px)
 * - .tribe-common--breakpoint-medium (768px)
 * - .tribe-common--breakpoint-full (960px)
 */

/* ============================================
   CONTAINER LAYOUT
   ============================================ */

/* Remove all layout constraints from tribe-events-pg-template section (single event pages) */
#tribe-events-pg-template,
.tribe-events-pg-template {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important; /* Remove Tribe's max-width constraints */
  width: 100% !important;
}

/* Remove all margin and padding from events container */
.tribe-events .tribe-common-l-container.tribe-events-l-container {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important; /* Remove Tribe's max-width constraints */
  width: 100% !important;
}

/* Ensure Bootstrap container inside Tribe section works normally */
.tribe-events .tribe-common-l-container.tribe-events-l-container .container,
.tribe-events-single .container,
#tribe-events-pg-template .container,
.tribe-events-pg-template .container {
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: calc(var(--bs-gutter-x) * 0.5) !important;
  padding-right: calc(var(--bs-gutter-x) * 0.5) !important;
  width: 100% !important;
  /* Let Bootstrap's responsive max-width breakpoints apply naturally */
}

/* Ensure Bootstrap row works normally */
.tribe-events .tribe-common-l-container.tribe-events-l-container .row,
.tribe-events-single .row,
#tribe-events-pg-template .row,
.tribe-events-pg-template .row {
  margin-left: calc(var(--bs-gutter-x) * -0.5) !important;
  margin-right: calc(var(--bs-gutter-x) * -0.5) !important;
}

/* Ensure Bootstrap columns work normally */
.tribe-events .tribe-common-l-container.tribe-events-l-container [class*="col-"],
.tribe-events-single [class*="col-"],
#tribe-events-pg-template [class*="col-"],
.tribe-events-pg-template [class*="col-"] {
  padding-left: calc(var(--bs-gutter-x) * 0.5) !important;
  padding-right: calc(var(--bs-gutter-x) * 0.5) !important;
}

/* ============================================
   CSS VARIABLE OVERRIDES (Must be at :root level)
   ============================================ */

/* Override The Events Calendar CSS custom properties at :root level */
/* This file loads AFTER the plugin's styles, so these will override */
:root {
  --tec-color-text-primary: hsl(87, 63%, 44%); /* Brand green - replaces default blue */
  --tec-color-text-secondary: hsl(150, 13%, 66%); /* Muted text - replaces default grey */
  --tec-color-text-events-title: hsl(87, 63%, 44%); /* Brand green for event titles */
  --tec-color-text-event-date: hsl(150, 13%, 66%); /* Muted text for dates */
  --tec-color-link-accent: hsl(87, 63%, 44%); /* Brand green for links */
  --tec-color-link-accent-hover: hsl(87, 67%, 38%); /* Brand green hover */
}

/* Also override within .tribe-events for scoped specificity */
.tribe-events {
  --tec-color-text-primary: hsl(87, 63%, 44%);
  --tec-color-text-secondary: hsl(150, 13%, 66%);
  --tec-color-text-events-title: hsl(87, 63%, 44%);
  --tec-color-text-event-date: hsl(150, 13%, 66%);
  --tec-color-link-accent: hsl(87, 63%, 44%);
  --tec-color-link-accent-hover: hsl(87, 67%, 38%);
  
  /* Base styles for all Events Calendar views */
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  color: hsl(150, 25%, 92%); /* Body text color */
  font-size: 1rem; /* 16px base */
  line-height: 1.6;
}

/* ============================================
   SUMMARY VIEW STYLING (Shortcode List)
   ============================================ */

/* Summary view container */
.tribe-events .tribe-events-pro-summary {
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
}

/* Override all links in summary view to use brand green (unless specifically styled otherwise) */
/* Ensure visited and unvisited states are the same */
.tribe-events .tribe-events-pro-summary a,
.tribe-events .tribe-events-pro-summary a:link,
.tribe-events .tribe-events-pro-summary a:visited {
  color: hsl(87, 63%, 44%) !important; /* Brand green - same for visited and unvisited */
  text-decoration: none !important; /* No underlines */
  outline: none !important; /* No outline */
  box-shadow: none !important; /* No box shadow */
  border: none !important; /* No border */
}

.tribe-events .tribe-events-pro-summary a:hover,
.tribe-events .tribe-events-pro-summary a:focus,
.tribe-events .tribe-events-pro-summary a:active {
  color: hsl(87, 67%, 38%) !important; /* Brand green hover */
  text-decoration: none !important; /* No underlines on hover */
  outline: none !important; /* No outline on hover/focus */
  box-shadow: none !important; /* No box shadow on hover/focus */
  border: none !important; /* No border on hover/focus */
}

/* Reduce margin on summary event rows (from default to 16px) and add horizontal dividers */
.tribe-events .tribe-events-pro-summary__event-row {
  margin-top: 1rem; /* 16px */
  margin-bottom: 1rem; /* 16px */
  border-bottom: 1px solid hsl(0, 0%, 100%, 0.2); /* More visible horizontal rule */
  padding-bottom: 1rem; /* 16px */
}

.tribe-events .tribe-events-pro-summary__event-row:first-child {
  margin-top: 0;
}

.tribe-events .tribe-events-pro-summary__event-row:last-child {
  margin-bottom: 0;
  border-bottom: none; /* No rule after last event */
  padding-bottom: 0;
}

/* Add horizontal dividers to widget events list (used by Summary view) */
/* Also vertically center the title with the date */
.tribe-events .tribe-events-widget-events-list__event-row,
.tribe-events .tribe-events-pro-summary .tribe-events-widget-events-list__event-row,
.tribe-events-pro-summary .tribe-events-widget-events-list__event-row {
  margin-top: 1rem; /* 16px */
  margin-bottom: 1rem; /* 16px */
  border-bottom: 1px solid hsl(0, 0%, 100%, 0.2); /* More visible horizontal rule */
  padding-bottom: 1rem; /* 16px */
  display: flex;
  align-items: center; /* Vertically center all items in the row */
}

/* Ensure the event wrapper and header are also vertically centered */
.tribe-events .tribe-events-widget-events-list__event-wrapper,
.tribe-events .tribe-events-pro-summary .tribe-events-widget-events-list__event-wrapper,
.tribe-events-pro-summary .tribe-events-widget-events-list__event-wrapper {
  display: flex;
  align-items: center; /* Vertically center content */
}

.tribe-events .tribe-events-widget-events-list__event-header,
.tribe-events .tribe-events-pro-summary .tribe-events-widget-events-list__event-header,
.tribe-events-pro-summary .tribe-events-widget-events-list__event-header {
  display: flex;
  align-items: center; /* Vertically center title with date */
}

.tribe-events .tribe-events-widget-events-list__event-row:first-child,
.tribe-events .tribe-events-pro-summary .tribe-events-widget-events-list__event-row:first-child,
.tribe-events-pro-summary .tribe-events-widget-events-list__event-row:first-child {
  margin-top: 0;
}

.tribe-events .tribe-events-widget-events-list__event-row:last-child,
.tribe-events .tribe-events-pro-summary .tribe-events-widget-events-list__event-row:last-child,
.tribe-events-pro-summary .tribe-events-widget-events-list__event-row:last-child {
  margin-bottom: 0;
  border-bottom: none; /* No rule after last event */
  padding-bottom: 0;
}

/* Widget events list date tag (used by Summary view) - make date number 18px and green */
.tribe-events .tribe-events-widget-events-list__event-date-tag-daynum,
.tribe-events .tribe-events-pro-summary .tribe-events-widget-events-list__event-date-tag-daynum,
.tribe-events-pro-summary .tribe-events-widget-events-list__event-date-tag-daynum {
  font-size: 1.125rem !important; /* 18px */
  line-height: 1.2;
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-weight: 800;
  color: hsl(87, 63%, 44%) !important; /* Brand green */
}

.tribe-events .tribe-events-widget-events-list__event-date-tag-month,
.tribe-events .tribe-events-pro-summary .tribe-events-widget-events-list__event-date-tag-month,
.tribe-events-pro-summary .tribe-events-widget-events-list__event-date-tag-month {
  font-size: 0.875rem !important; /* 14px */
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-weight: 800;
  color: hsl(35, 100%, 97%) !important; /* Warm white */
}

/* Summary view date tag - use warm white for dark backgrounds */
.tribe-events .tribe-events-pro-summary__event-date-tag .tribe-events-pro-summary__event-date-tag-weekday,
.tribe-events .tribe-events-pro-summary__event-date-tag .tribe-events-pro-summary__event-date-tag-daynum,
.tribe-events .tribe-events-pro-summary__event-date-tag-weekday,
.tribe-events .tribe-events-pro-summary__event-date-tag-daynum {
  color: hsl(35, 100%, 97%) !important; /* Warm white - force override */
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-weight: 800;
  letter-spacing: 0;
}

.tribe-events .tribe-events-pro-summary__event-date-tag .tribe-events-pro-summary__event-date-tag-weekday {
  font-size: 0.875rem; /* 14px */
}

.tribe-events .tribe-events-pro-summary__event-date-tag .tribe-events-pro-summary__event-date-tag-daynum {
  font-size: 1.125rem; /* 18px */
}

/* Summary view month separator - use brighter brand green for headings */
.tribe-events .tribe-events-pro-summary__month-separator {
  color: hsl(35, 100%, 97%); /* Warm white */
}

.tribe-events .tribe-events-pro-summary__month-separator-text,
.tribe-events .tribe-events-pro-summary__month-separator .tribe-events-pro-summary__month-separator-text,
.tribe-events .tribe-events-pro-summary__month-separator time,
.tribe-events .tribe-events-pro-summary__month-separator h3,
.tribe-events .tribe-events-pro-summary__month-separator h3 * {
  color: hsl(87, 70%, 50%) !important; /* Brighter brand green - force override */
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-weight: 800;
  font-size: 1.375rem; /* 22px */
  letter-spacing: 0;
  line-height: 1.3;
}

/* Summary view event titles - use brand green */
/* Force override with direct color (not relying on CSS variables) */
/* Target all possible title elements and links */
/* Ensure visited and unvisited states are the same */
.tribe-events .tribe-events-pro-summary__event-title,
.tribe-events .tribe-events-pro-summary__event-title *,
.tribe-events .tribe-events-pro-summary__event-title a,
.tribe-events .tribe-events-pro-summary__event-title a:link,
.tribe-events .tribe-events-pro-summary__event-title a:visited,
.tribe-events .tribe-events-pro-summary__event-title-link,
.tribe-events .tribe-events-pro-summary__event-title-link:link,
.tribe-events .tribe-events-pro-summary__event-title-link:visited,
.tribe-events .tribe-events-pro-summary__event-title-link *,
.tribe-events .tribe-events-pro-summary__event-title-link a,
.tribe-events .tribe-events-pro-summary__event-title-link a:link,
.tribe-events .tribe-events-pro-summary__event-title-link a:visited,
.tribe-events .tribe-common-anchor-thin.tribe-events-pro-summary__event-title-link,
.tribe-events .tribe-common-anchor-thin.tribe-events-pro-summary__event-title-link:link,
.tribe-events .tribe-common-anchor-thin.tribe-events-pro-summary__event-title-link:visited,
.tribe-events .tribe-common-anchor-thin.tribe-events-pro-summary__event-title-link *,
.tribe-events .tribe-common-h8.tribe-events-pro-summary__event-title,
.tribe-events .tribe-common-h8.tribe-events-pro-summary__event-title a,
.tribe-events .tribe-common-h8.tribe-events-pro-summary__event-title a:link,
.tribe-events .tribe-common-h8.tribe-events-pro-summary__event-title a:visited,
.tribe-events .tribe-common-h7--min-medium.tribe-events-pro-summary__event-title,
.tribe-events .tribe-common-h7--min-medium.tribe-events-pro-summary__event-title a,
.tribe-events .tribe-common-h7--min-medium.tribe-events-pro-summary__event-title a:link,
.tribe-events .tribe-common-h7--min-medium.tribe-events-pro-summary__event-title a:visited {
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-weight: 800;
  font-size: 1.125rem; /* 18px */
  letter-spacing: 0;
  color: hsl(87, 63%, 44%) !important; /* Brand green - same for visited and unvisited */
  text-decoration: none !important; /* No underlines */
  outline: none !important; /* No outline */
  box-shadow: none !important; /* No box shadow */
  border: none !important; /* No border */
  line-height: 1.4;
  transition: color 200ms ease-in-out;
}

.tribe-events .tribe-events-pro-summary__event-title-link:hover,
.tribe-events .tribe-events-pro-summary__event-title-link:focus,
.tribe-events .tribe-events-pro-summary__event-title-link:active,
.tribe-events .tribe-events-pro-summary__event-title-link a:hover,
.tribe-events .tribe-events-pro-summary__event-title-link a:focus,
.tribe-events .tribe-events-pro-summary__event-title-link a:active,
.tribe-events .tribe-common-anchor-thin.tribe-events-pro-summary__event-title-link:hover,
.tribe-events .tribe-common-anchor-thin.tribe-events-pro-summary__event-title-link:focus,
.tribe-events .tribe-common-anchor-thin.tribe-events-pro-summary__event-title-link:active,
.tribe-events .tribe-common-anchor-thin.tribe-events-pro-summary__event-title-link:hover * {
  color: hsl(87, 67%, 38%) !important; /* Brand green hover */
  text-decoration: none !important; /* No underlines on hover */
  outline: none !important; /* No outline on hover/focus */
  box-shadow: none !important; /* No box shadow on hover/focus */
  border: none !important; /* No border on hover/focus */
}

/* Summary view event datetime - hide entirely since date is shown on left */
.tribe-events .tribe-events-pro-summary__event-datetime-wrapper,
.tribe-events .tribe-events-pro-summary__event-datetime,
.tribe-events .tribe-events-pro-summary__event-datetime *,
.tribe-events .tribe-events-pro-summary__event-datetime-wrapper * {
  display: none !important; /* Hide all date displays - date is already shown on left */
}

/* Hide any schedule_details that might appear in Summary view */
.tribe-events .tribe-events-pro-summary .tribe-event-date-start,
.tribe-events .tribe-events-pro-summary .tribe-event-date-end,
.tribe-events .tribe-events-pro-summary [class*="schedule-details"],
.tribe-events .tribe-events-pro-summary [class*="schedule_details"] {
  display: none !important;
}

/* Hide widget events list datetime (used by Summary view) - hide the entire wrapper */
/* Target all possible locations where this might appear */
.tribe-events .tribe-events-widget-events-list__event-datetime-wrapper,
.tribe-events .tribe-events-pro-summary .tribe-events-widget-events-list__event-datetime-wrapper,
.tribe-events-pro-summary .tribe-events-widget-events-list__event-datetime-wrapper,
.tribe-events .tribe-events-widget-events-list__event-datetime,
.tribe-events .tribe-events-widget-events-list__event-datetime *,
.tribe-events .tribe-events-widget-events-list__event-datetime-wrapper *,
div.tribe-events-widget-events-list__event-datetime-wrapper,
div.tribe-events-widget-events-list__event-datetime-wrapper time,
div.tribe-events-widget-events-list__event-datetime-wrapper time * {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ============================================
   LIST VIEW STYLING
   ============================================ */

/* List event rows - no margins, 16px top and bottom padding */
.tribe-events .tribe-events-calendar-list__event-row,
.tribe-events .tribe-common-g-row.tribe-events-calendar-list__event-row,
.tribe-events li.tribe-common-g-row.tribe-events-calendar-list__event-row {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 1rem !important; /* 16px */
  padding-bottom: 1rem !important; /* 16px */
  border-bottom: 1px solid hsl(0, 0%, 100%, 0.2); /* More visible horizontal rule */
}

.tribe-events .tribe-events-calendar-list__event-row:first-child,
.tribe-events .tribe-common-g-row.tribe-events-calendar-list__event-row:first-child {
  margin-top: 0 !important;
  padding-top: 1rem !important; /* 16px */
}

.tribe-events .tribe-events-calendar-list__event-row:last-child,
.tribe-events .tribe-common-g-row.tribe-events-calendar-list__event-row:last-child {
  margin-bottom: 0 !important;
  border-bottom: none; /* No rule after last event */
  padding-bottom: 0;
}

/* Remove bottom border from event row immediately before a month separator, but keep bottom padding */
.tribe-events .tribe-events-calendar-list__event-row:has(+ .tribe-events-calendar-list__month-separator),
.tribe-events .tribe-common-g-row.tribe-events-calendar-list__event-row:has(+ .tribe-events-calendar-list__month-separator),
.tribe-events li.tribe-common-g-row.tribe-events-calendar-list__event-row:has(+ .tribe-events-calendar-list__month-separator) {
  border-bottom: none !important;
  padding-bottom: 1rem !important; /* 16px - same as other event rows */
}

/* Fix date tag colors - match fixtures-and-tournaments styling */
/* Weekday (e.g., "Sat") - 400 weight to match month, larger size, warm white */
.tribe-events .tribe-events-calendar-list__event-date-tag .tribe-events-calendar-list__event-date-tag-weekday {
  color: hsl(35, 100%, 97%) !important; /* Warm white */
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-weight: 400 !important; /* 400 weight to match month */
  font-size: 1.125rem !important; /* 18px - larger */
  letter-spacing: 0;
}

/* Day number (e.g., "21") - green, 24px, larger */
.tribe-events .tribe-events-calendar-list__event-date-tag .tribe-events-calendar-list__event-date-tag-daynum {
  color: hsl(87, 63%, 44%) !important; /* Brand green */
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-weight: 800;
  font-size: 1.5rem !important; /* 24px - larger */
  letter-spacing: 0;
}

/* Fix month separator colors - use brand green for headings */
.tribe-events .tribe-events-calendar-list__month-separator {
  color: hsl(35, 100%, 97%); /* Warm white */
  display: flex !important;
  align-items: center !important; /* Vertically center with the line */
}

.tribe-events .tribe-events-calendar-list__month-separator h3 {
  margin: 0 !important; /* Remove default h3 margins */
  padding: 0 !important;
  display: flex !important;
  align-items: center !important; /* Vertically center content */
  line-height: 1 !important; /* Remove extra line-height */
}

.tribe-events .tribe-events-calendar-list__month-separator-text,
.tribe-events .tribe-events-calendar-list__month-separator h3 time {
  color: hsl(87, 63%, 44%); /* Brand green */
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-weight: 800;
  font-size: 1.375rem; /* 22px */
  letter-spacing: 0;
  line-height: 1 !important; /* Match line height for proper alignment */
  margin: 0 !important;
  padding: 0 !important;
  display: inline-block !important;
  vertical-align: middle !important;
}

/* Fix venue/location colors - use warm white */
.tribe-events .tribe-events-calendar-list__event-venue,
.tribe-events .tribe-events-calendar-list__event-venue-name,
.tribe-events .tribe-events-calendar-list__event-venue-address,
.tribe-events .tribe-events-calendar-list__event-venue-title,
.tribe-events .tribe-events-calendar-list__event-venue-address-title {
  color: hsl(35, 100%, 97%); /* Warm white */
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-size: 1rem; /* 16px */
}

/* Hide "All day" labels in list view */
.tribe-events .tribe-events-calendar-list__event-datetime-wrapper::before,
.tribe-events .tribe-events-calendar-list__event-datetime::before {
  content: none !important;
}

/* Hide "All day" text if it appears in the datetime string */
.tribe-events .tribe-events-calendar-list__event-datetime {
  /* The template override handles removing "All day" from the content */
}

/* Style age-groups field - small and inline with event title */
.tribe-events .tribe-events-calendar-list__event-age-groups {
  display: inline;
  font-size: 0.875rem; /* 14px */
  font-weight: 400;
  color: hsl(150, 13%, 66%); /* Muted text color */
  margin-left: 0.5rem; /* 8px spacing */
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
}

/* Style age-groups on single event page - match styling from other pages */
.tribe-events .tribe-events-single-event-age-groups,
.tribe-events-single .tribe-events-single-event-age-groups,
#tribe-events-pg-template .tribe-events-single-event-age-groups,
.tribe-events-pg-template .tribe-events-single-event-age-groups {
  display: inline;
  font-size: 1.125rem !important; /* 18px */
  font-weight: 400 !important;
  color: hsl(150, 13%, 66%) !important; /* Muted text color - match other pages */
  margin-left: 0.5rem !important; /* 8px spacing - match other pages */
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif !important;
}

/* Style age-groups in Summary view */
.tribe-events .tribe-events-pro-summary__event-age-groups {
  display: inline;
  font-size: 0.875rem; /* 14px */
  font-weight: 400;
  color: hsl(150, 13%, 66%); /* Muted text color */
  margin-left: 0.5rem; /* 8px spacing */
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
}

/* Style age-groups in Widget/Summary view (widget template) */
.tribe-events .tribe-events-widget-events-list__event-age-groups {
  display: inline;
  font-size: 0.875rem; /* 14px */
  font-weight: 400;
  color: hsl(150, 13%, 66%); /* Muted text color */
  margin-left: 0.5rem; /* 8px spacing */
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
}

/* ============================================
   CALENDAR/MONTH VIEW STYLING
   ============================================ */

/* ============================================
   TYPOGRAPHY - Headings
   ============================================ */

/* All headings use brand green, Montserrat font, weight 800 */
.tribe-events h1,
.tribe-events h2,
.tribe-events h3,
.tribe-events h4,
.tribe-events h5,
.tribe-events h6,
.tribe-events .tribe-events-page-title,
.tribe-events .tribe-events-c-nav__title {
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-weight: 800;
  letter-spacing: 0;
  color: hsl(87, 63%, 44%); /* Brand green */
}

.tribe-events h1,
.tribe-events .tribe-events-page-title {
  font-size: 1.75rem; /* 28px */
  line-height: 1.2;
}

.tribe-events h2 {
  font-size: 1.75rem; /* 28px - matches global H2 */
  line-height: 1.2;
}

@media (min-width: 1200px) {
  .tribe-events h2 {
    font-size: 1.75rem; /* 28px */
  }
}

.tribe-events h3 {
  font-size: calc(1.114rem + 0.514vw); /* Responsive - matches global H3 */
  line-height: 1.2;
}

@media (min-width: 1200px) {
  .tribe-events h3 {
    font-size: 1.5rem; /* 24px - matches global H3 */
  }
}

.tribe-events h4 {
  font-size: calc(1.116rem + 0.263vw); /* Responsive - matches global H4 */
  line-height: 1.2;
}

@media (min-width: 1200px) {
  .tribe-events h4 {
    font-size: 1.3125rem; /* 21px - matches global H4 */
  }
}

.tribe-events h5 {
  font-size: 1.125rem; /* 18px - matches global H5 */
  line-height: 1.2;
}

.tribe-events h6 {
  font-size: 1.125rem; /* 18px - matches global H6 */
  line-height: 1.2;
}

/* ============================================
   CALENDAR/MONTH VIEW STYLING
   ============================================ */

/* Calendar navigation and header */
.tribe-events .tribe-events-header,
.tribe-events .tribe-events-c-nav,
.tribe-events .tribe-events-nav {
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
}

.tribe-events .tribe-events-header .tribe-events-page-title,
.tribe-events .tribe-events-header .tribe-events-c-nav__title,
.tribe-events .tribe-events-c-nav .tribe-events-page-title,
.tribe-events .tribe-events-c-nav .tribe-events-c-nav__title,
.tribe-events .tribe-events-nav .tribe-events-page-title,
.tribe-events .tribe-events-nav .tribe-events-c-nav__title {
  color: hsl(87, 63%, 44%); /* Brand green */
  font-weight: 800;
  letter-spacing: 0;
}

/* Remove left padding from navigation UL - use high specificity to override plugin CSS */
.tribe-events .tribe-events-sub-nav,
.tribe-events ul.tribe-events-sub-nav,
#tribe-events-content ul.tribe-events-sub-nav,
#tribe-events-header ul.tribe-events-sub-nav,
#tribe-events-footer ul.tribe-events-sub-nav,
.tribe-events-single ul.tribe-events-sub-nav,
#tribe-events-pg-template ul.tribe-events-sub-nav,
.tribe-events-pg-template ul.tribe-events-sub-nav {
  padding-left: 0 !important;
  list-style: none !important;
  margin-left: 0 !important;
}

/* Navigation links - warm white with brand green hover */
.tribe-events .tribe-events-nav-previous a,
.tribe-events .tribe-events-nav-next a,
.tribe-events .tribe-events-c-nav__prev a,
.tribe-events .tribe-events-c-nav__next a,
#tribe-events-content .tribe-events-nav-previous a,
#tribe-events-content .tribe-events-nav-next a,
#tribe-events-header .tribe-events-nav-previous a,
#tribe-events-header .tribe-events-nav-next a,
#tribe-events-footer .tribe-events-nav-previous a,
#tribe-events-footer .tribe-events-nav-next a,
.tribe-events-single .tribe-events-nav-previous a,
.tribe-events-single .tribe-events-nav-next a,
.tribe-events .tribe-events-back a,
#tribe-events-content .tribe-events-back a,
.tribe-events-single .tribe-events-back a,
#tribe-events-pg-template .tribe-events-back a,
.tribe-events-pg-template .tribe-events-back a {
  color: hsl(35, 100%, 97%) !important; /* Warm white */
  border-color: hsl(35, 100%, 97%);
  text-decoration: none !important;
  transition: color 200ms ease-in-out, background-color 200ms ease-in-out, border-color 200ms ease-in-out;
}

.tribe-events .tribe-events-nav-previous a:hover,
.tribe-events .tribe-events-nav-next a:hover,
.tribe-events .tribe-events-c-nav__prev a:hover,
.tribe-events .tribe-events-c-nav__next a:hover,
#tribe-events-content .tribe-events-nav-previous a:hover,
#tribe-events-content .tribe-events-nav-next a:hover,
#tribe-events-header .tribe-events-nav-previous a:hover,
#tribe-events-header .tribe-events-nav-next a:hover,
#tribe-events-footer .tribe-events-nav-previous a:hover,
#tribe-events-footer .tribe-events-nav-next a:hover,
.tribe-events-single .tribe-events-nav-previous a:hover,
.tribe-events-single .tribe-events-nav-next a:hover,
.tribe-events .tribe-events-back a:hover,
#tribe-events-content .tribe-events-back a:hover,
.tribe-events-single .tribe-events-back a:hover,
#tribe-events-pg-template .tribe-events-back a:hover,
.tribe-events-pg-template .tribe-events-back a:hover {
  color: hsl(87, 63%, 44%) !important; /* Brand green on hover */
  background: transparent !important;
  border-color: transparent !important;
  text-decoration: none !important;
}

/* Hide the « character in the back link and add SVG chevron via ::before */
.tribe-events .tribe-events-back a,
#tribe-events-content .tribe-events-back a,
.tribe-events-single .tribe-events-back a,
#tribe-events-pg-template .tribe-events-back a,
.tribe-events-pg-template .tribe-events-back a {
  position: relative;
  display: inline-block;
  font-weight: normal !important; /* Override plugin's font-weight: bold (700) to match pagination */
  font-size: 0 !important; /* Hide all text including « character */
  line-height: 1 !important;
}

/* Show the text content via ::after (without the « character) */
.tribe-events .tribe-events-back a::after,
#tribe-events-content .tribe-events-back a::after,
.tribe-events-single .tribe-events-back a::after,
#tribe-events-pg-template .tribe-events-back a::after,
.tribe-events-pg-template .tribe-events-back a::after {
  content: 'All Events';
  font-size: 1rem !important; /* Restore font size for the text */
  position: relative;
  display: inline-block;
  vertical-align: middle;
}

/* Add SVG chevron via ::before - same as pagination */
.tribe-events .tribe-events-back a::before,
#tribe-events-content .tribe-events-back a::before,
.tribe-events-single .tribe-events-back a::before,
#tribe-events-pg-template .tribe-events-back a::before,
.tribe-events-pg-template .tribe-events-back a::before {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z' fill='%23141827'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  display: inline-block;
  height: 12px;
  margin-right: 8px;
  width: 7px;
  vertical-align: middle;
  color: hsl(35, 100%, 97%) !important; /* Warm white - same as text */
  opacity: 1 !important;
  transition: transform 200ms ease-in-out, filter 200ms ease-in-out !important;
  /* Use filter to change SVG color to warm white */
  filter: brightness(0) saturate(100%) invert(98%) sepia(2%) saturate(1234%) hue-rotate(25deg) brightness(101%) contrast(101%) !important;
}

@media (min-width: 768px) {
  .tribe-events .tribe-events-back a::before,
  #tribe-events-content .tribe-events-back a::before,
  .tribe-events-single .tribe-events-back a::before,
  #tribe-events-pg-template .tribe-events-back a::before,
  .tribe-events-pg-template .tribe-events-back a::before {
    height: 14px;
    margin-right: 15px;
    width: 9px;
  }
}

.tribe-events .tribe-events-back a:hover::before,
#tribe-events-content .tribe-events-back a:hover::before,
.tribe-events-single .tribe-events-back a:hover::before,
#tribe-events-pg-template .tribe-events-back a:hover::before,
.tribe-events-pg-template .tribe-events-back a:hover::before {
  transform: translateX(-3px) !important; /* Move left on hover */
  /* Use filter to change SVG color to brand green */
  filter: brightness(0) saturate(100%) invert(67%) sepia(78%) saturate(1234%) hue-rotate(57deg) brightness(95%) contrast(88%) !important;
}

/* Chevrons in navigation - styled via ::before and ::after pseudo-elements (SVG icons) */
/* Previous link chevron (::before) - warm white, turns green on hover, moves left */
.tribe-events .tribe-events-nav-previous a::before,
#tribe-events-content .tribe-events-nav-previous a::before,
#tribe-events-header .tribe-events-nav-previous a::before,
#tribe-events-footer .tribe-events-nav-previous a::before,
.tribe-events-single .tribe-events-nav-previous a::before,
#tribe-events-pg-template .tribe-events-nav-previous a::before,
.tribe-events-pg-template .tribe-events-nav-previous a::before {
  color: hsl(35, 100%, 97%) !important; /* Warm white - same as text */
  opacity: 1 !important; /* Ensure visibility */
  transition: transform 200ms ease-in-out, color 200ms ease-in-out, filter 200ms ease-in-out !important;
  /* Use filter to change SVG background-image color to warm white */
  filter: brightness(0) saturate(100%) invert(98%) sepia(2%) saturate(1234%) hue-rotate(25deg) brightness(101%) contrast(101%) !important;
}

.tribe-events .tribe-events-nav-previous a:hover::before,
#tribe-events-content .tribe-events-nav-previous a:hover::before,
#tribe-events-header .tribe-events-nav-previous a:hover::before,
#tribe-events-footer .tribe-events-nav-previous a:hover::before,
.tribe-events-single .tribe-events-nav-previous a:hover::before,
#tribe-events-pg-template .tribe-events-nav-previous a:hover::before,
.tribe-events-pg-template .tribe-events-nav-previous a:hover::before {
  color: hsl(87, 63%, 44%) !important; /* Brand green on hover */
  transform: translateX(-3px) !important; /* Move left on hover */
  /* Use filter to change SVG background-image color to brand green */
  filter: brightness(0) saturate(100%) invert(67%) sepia(78%) saturate(1234%) hue-rotate(57deg) brightness(95%) contrast(88%) !important;
}

/* Next link chevron (::after) - warm white, turns green on hover, moves right */
.tribe-events .tribe-events-nav-next a::after,
#tribe-events-content .tribe-events-nav-next a::after,
#tribe-events-header .tribe-events-nav-next a::after,
#tribe-events-footer .tribe-events-nav-next a::after,
.tribe-events-single .tribe-events-nav-next a::after,
#tribe-events-pg-template .tribe-events-nav-next a::after,
.tribe-events-pg-template .tribe-events-nav-next a::after {
  color: hsl(35, 100%, 97%) !important; /* Warm white - same as text */
  opacity: 1 !important; /* Ensure visibility */
  transition: transform 200ms ease-in-out, color 200ms ease-in-out, filter 200ms ease-in-out !important;
  /* Use filter to change SVG background-image color to warm white */
  filter: brightness(0) saturate(100%) invert(98%) sepia(2%) saturate(1234%) hue-rotate(25deg) brightness(101%) contrast(101%) !important;
}

.tribe-events .tribe-events-nav-next a:hover::after,
#tribe-events-content .tribe-events-nav-next a:hover::after,
#tribe-events-header .tribe-events-nav-next a:hover::after,
#tribe-events-footer .tribe-events-nav-next a:hover::after,
.tribe-events-single .tribe-events-nav-next a:hover::after,
#tribe-events-pg-template .tribe-events-nav-next a:hover::after,
.tribe-events-pg-template .tribe-events-nav-next a:hover::after {
  color: hsl(87, 63%, 44%) !important; /* Brand green on hover */
  transform: translateX(3px) !important; /* Move right on hover */
  /* Use filter to change SVG background-image color to brand green */
  filter: brightness(0) saturate(100%) invert(67%) sepia(78%) saturate(1234%) hue-rotate(57deg) brightness(95%) contrast(88%) !important;
}

/* "All Events" link and breadcrumbs */
.tribe-events .tribe-events-back,
.tribe-events .tribe-events-c-nav__list-item a,
.tribe-events .tribe-events-c-nav__list-item-link {
  color: hsl(35, 100%, 97%); /* Warm white */
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  transition: color 200ms ease-in-out;
}

.tribe-events .tribe-events-back:hover,
.tribe-events .tribe-events-c-nav__list-item a:hover,
.tribe-events .tribe-events-c-nav__list-item-link:hover {
  color: hsl(87, 63%, 44%); /* Brand green */
}

/* Calendar month view - month name, day names, dates */
.tribe-events .tribe-events-calendar-month__header,
.tribe-events .tribe-events-calendar-month__header-column,
.tribe-events .tribe-events-calendar-month__header-column-title {
  color: hsl(87, 63%, 44%); /* Brand green */
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-weight: 800;
  letter-spacing: 0;
}

/* Calendar day names (Mon, Tue, Wed, etc.) */
.tribe-events .tribe-events-calendar-month__day-name,
.tribe-events .tribe-events-calendar-month__column-header {
  color: hsl(35, 100%, 97%); /* Warm white */
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-weight: 600;
  font-size: 0.875rem; /* 14px */
}

/* Calendar day numbers */
.tribe-events .tribe-events-calendar-month__day-date,
.tribe-events .tribe-events-calendar-day-num {
  color: hsl(35, 100%, 97%); /* Warm white */
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-weight: 600;
  font-size: 1rem; /* 16px */
}

.tribe-events .tribe-events-calendar-month__day-date a,
.tribe-events .tribe-events-calendar-day-num a {
  color: hsl(35, 100%, 97%); /* Warm white */
  transition: color 200ms ease-in-out;
}

.tribe-events .tribe-events-calendar-month__day-date a:hover,
.tribe-events .tribe-events-calendar-day-num a:hover {
  color: hsl(87, 63%, 44%); /* Brand green */
}

/* Pagination */
.tribe-events .tribe-events-c-nav__list,
.tribe-events .tribe-events-c-nav__list-item,
.tribe-events .tribe-events-c-nav__list-item-link {
  color: hsl(35, 100%, 97%); /* Warm white */
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
}

.tribe-events .tribe-events-c-nav__list a,
.tribe-events .tribe-events-c-nav__list-item a,
.tribe-events .tribe-events-c-nav__list-item-link a {
  color: hsl(35, 100%, 97%); /* Warm white */
  transition: color 200ms ease-in-out;
}

.tribe-events .tribe-events-c-nav__list a:hover,
.tribe-events .tribe-events-c-nav__list-item a:hover,
.tribe-events .tribe-events-c-nav__list-item-link a:hover {
  color: hsl(87, 63%, 44%); /* Brand green */
}

/* ============================================
   EVENT TITLES AND LINKS
   ============================================ */

/* Event titles - use warm white with green hover (matching tournaments list) */
/* Ensure visited and unvisited states are the same */
/* H2 size matches global H2 (28px) */
.tribe-events .tribe-events-calendar-list__event-title,
.tribe-events .tribe-events-calendar-list__event-title a,
.tribe-events .tribe-events-calendar-list__event-title a:link,
.tribe-events .tribe-events-calendar-list__event-title a:visited,
.tribe-events .tribe-events-list-event-title,
.tribe-events .tribe-events-list-event-title a,
.tribe-events .tribe-events-list-event-title a:link,
.tribe-events .tribe-events-list-event-title a:visited {
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-weight: 800;
  font-size: calc(1.159rem + 0.788vw); /* Responsive - matches global H2 */
  letter-spacing: 0;
  color: hsl(35, 100%, 97%) !important; /* Warm white - same for visited and unvisited */
  text-decoration: none !important; /* No underlines */
  outline: none !important; /* No outline */
  box-shadow: none !important; /* No box shadow */
  border: none !important; /* No border */
  line-height: 1.2;
  transition: color 200ms ease-in-out;
}

@media (min-width: 1200px) {
  .tribe-events .tribe-events-calendar-list__event-title,
  .tribe-events .tribe-events-calendar-list__event-title a,
  .tribe-events .tribe-events-calendar-list__event-title a:link,
  .tribe-events .tribe-events-calendar-list__event-title a:visited,
  .tribe-events .tribe-events-list-event-title,
  .tribe-events .tribe-events-list-event-title a,
  .tribe-events .tribe-events-list-event-title a:link,
  .tribe-events .tribe-events-list-event-title a:visited {
    font-size: 1.75rem; /* 28px - matches global H2 */
  }
}

.tribe-events .tribe-events-calendar-list__event-title a:hover,
.tribe-events .tribe-events-calendar-list__event-title a:focus,
.tribe-events .tribe-events-calendar-list__event-title a:active,
.tribe-events .tribe-events-list-event-title a:hover,
.tribe-events .tribe-events-list-event-title a:focus,
.tribe-events .tribe-events-list-event-title a:active {
  color: hsl(87, 63%, 44%) !important; /* Brand green hover */
  text-decoration: none !important; /* No underlines on hover */
  outline: none !important; /* No outline on hover/focus */
  box-shadow: none !important; /* No box shadow on hover/focus */
  border: none !important; /* No border on hover/focus */
}

/* Event links - white with brand green hover */
/* Ensure visited and unvisited states are consistent */
.tribe-events a,
.tribe-events a:link,
.tribe-events a:visited {
  color: hsl(35, 100%, 97%); /* Warm white */
  text-decoration: none;
  outline: none;
  box-shadow: none;
  border: none;
  transition: color 200ms ease-in-out;
}

.tribe-events a:hover,
.tribe-events a:focus,
.tribe-events a:active {
  color: hsl(87, 63%, 44%); /* Brand green */
  text-decoration: none; /* No underlines on hover */
  outline: none !important; /* No outline on hover/focus */
  box-shadow: none !important; /* No box shadow on hover/focus */
  border: none !important; /* No border on hover/focus */
}

/* ============================================
   EVENT DESCRIPTIONS AND METADATA
   ============================================ */

/* Event descriptions and body text - hide on list view */
.tribe-events .tribe-events-calendar-list__event-description,
.tribe-events .tribe-events-calendar-list__event-description.tribe-common-b2,
.tribe-events .tribe-events-calendar-list__event-description.tribe-common-a11y-hidden,
.tribe-events .tribe-events-calendar-list__event-description p,
.tribe-events .tribe-events-list-event-description {
  display: none !important;
}

/* Event schedule/details - use muted text */
.tribe-events .tribe-events-event-schedule-details,
.tribe-events .tribe-events-calendar-list__event-date {
  color: hsl(150, 13%, 66%); /* Muted text */
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-size: 0.875rem; /* 14px */
}

/* ============================================
   BUTTONS AND INTERACTIVE ELEMENTS
   ============================================ */

/* Buttons - use brand green */
.tribe-events .tribe-events-button,
.tribe-events .tribe-events-read-more,
.tribe-events button[type="submit"],
.tribe-events .tribe-common-c-btn {
  background: hsl(87, 63%, 44%); /* Brand green */
  border-color: hsl(87, 63%, 44%);
  color: hsl(35, 100%, 97%); /* Warm white */
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-weight: 800;
  border-radius: 8px;
  transition: background-color 200ms ease-in-out, border-color 200ms ease-in-out;
}

.tribe-events .tribe-events-button:hover,
.tribe-events .tribe-events-read-more:hover,
.tribe-events button[type="submit"]:hover,
.tribe-events .tribe-common-c-btn:hover {
  background: hsl(87, 67%, 38%); /* Brand green hover */
  border-color: hsl(87, 67%, 38%);
  color: hsl(35, 100%, 97%); /* Warm white */
}

/* Ensure Bootstrap buttons within Events Calendar use correct styling */
.tribe-events .btn-primary,
.tribe-events .tribe-events-widget-events-list__view-more .btn-primary {
  --bs-btn-color: hsl(35, 100%, 97%);
  --bs-btn-bg: hsl(87, 63%, 44%);
  --bs-btn-border-color: hsl(87, 63%, 44%);
  --bs-btn-hover-color: hsl(35, 100%, 97%);
  --bs-btn-hover-bg: hsl(87, 67%, 38%);
  --bs-btn-hover-border-color: hsl(87, 67%, 38%);
  --bs-btn-focus-shadow-rgb: 101, 155, 35;
  --bs-btn-active-color: hsl(35, 100%, 97%);
  --bs-btn-active-bg: hsl(87, 67%, 38%);
  --bs-btn-active-border-color: hsl(87, 67%, 38%);
  background-color: hsl(87, 63%, 44%) !important;
  border-color: hsl(87, 63%, 44%) !important;
  color: hsl(35, 100%, 97%) !important;
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-weight: 800;
  display: inline-block !important;
  text-decoration: none !important;
  padding: var(--bs-btn-padding-y, 0.5rem) var(--bs-btn-padding-x, 1rem) !important;
}

/* Left-align View Calendar button */
.tribe-events .tribe-events-widget-events-list__view-more {
  text-align: left !important;
}

/* Ensure btn-lg has proper padding */
/* All buttons in Events Calendar should have no letter spacing */
.tribe-events .btn,
.tribe-events .btn-primary,
.tribe-events .btn-outline-primary,
.tribe-events .btn-lg,
.tribe-events .tribe-events-widget-events-list__view-more .btn,
.tribe-events .tribe-events-widget-events-list__view-more .btn-primary.btn-lg {
  letter-spacing: 0 !important;
}

.tribe-events .btn-primary.btn-lg,
.tribe-events .tribe-events-widget-events-list__view-more .btn-primary.btn-lg {
  --bs-btn-padding-y: 0.5rem;
  --bs-btn-padding-x: 1rem;
  --bs-btn-font-size: 1.25rem;
  padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x) !important;
  font-size: var(--bs-btn-font-size) !important;
  border-radius: var(--bs-border-radius-lg, 0.5rem) !important;
}

.tribe-events .btn-primary:hover,
.tribe-events .tribe-events-widget-events-list__view-more .btn-primary:hover {
  background-color: hsl(87, 67%, 38%);
  border-color: hsl(87, 67%, 38%);
  color: hsl(35, 100%, 97%);
}

/* ============================================
   RESPONSIVE STYLES (Container Queries)
   ============================================ */

/* Medium breakpoint (768px+) */
.tribe-events.tribe-common--breakpoint-medium h1,
.tribe-events.tribe-common--breakpoint-medium .tribe-events-page-title {
  font-size: clamp(1.75rem, 4vw, 2.5rem); /* 28px to 40px */
}

/* Responsive breakpoint for h2 - matches global H2 responsive sizing */
.tribe-events.tribe-common--breakpoint-medium h2 {
  font-size: calc(1.159rem + 0.788vw); /* Responsive - matches global H2 (28px at full) */
}

/* Responsive breakpoint for h3 - matches global H3 responsive sizing */
.tribe-events.tribe-common--breakpoint-medium h3 {
  font-size: calc(1.114rem + 0.514vw); /* Responsive - matches global H3 (24px at full) */
}

/* Responsive breakpoint for event titles - matches global H2 responsive sizing */
.tribe-events.tribe-common--breakpoint-medium .tribe-events-calendar-list__event-title,
.tribe-events.tribe-common--breakpoint-medium .tribe-events-list-event-title {
  font-size: calc(1.159rem + 0.788vw); /* Responsive - matches global H2 */
}

/* Full breakpoint (960px+) */
.tribe-events .tribe-common--breakpoint-full {
  /* Desktop+ specific styles */
}

/* ============================================
   PAGINATION
   ============================================ */

/* Hide pagination on events list page since all events are visible */
.tribe-events .tribe-events-calendar-list-nav,
.tribe-events .tribe-events-c-nav.tribe-events-calendar-list-nav {
  display: none !important;
}

/* Hide events header with search on events list page */
.tribe-events .tribe-events-header.tribe-events-header--has-event-search,
.tribe-events-header.tribe-events-header--has-event-search {
  display: none !important;
}

/* ============================================
   SUBSCRIBE TO CALENDAR BUTTON AND DROPDOWN
   ============================================ */

/* Left-align the subscribe button container - override flex-end justification */
.tribe-events .tribe-events-c-subscribe-dropdown__container {
  justify-content: flex-start !important; /* Override flex-end to align left */
  align-items: flex-start !important;
  margin-left: 0 !important;
}

/* Remove float-right and left margin from subscribe dropdown */
/* Set top and bottom margin to 24px (1.5rem) */
.tribe-events .tribe-events-c-subscribe-dropdown {
  float: none !important;
  margin-left: 0 !important;
  margin-top: 1.5rem !important; /* 24px top spacing */
  margin-bottom: 1.5rem !important; /* 24px bottom spacing */
}

/* Hide the calendar export icon */
.tribe-events .tribe-events-c-subscribe-dropdown__export-icon,
.tribe-events .tribe-common-c-svgicon--cal-export,
.tribe-events .tribe-events-c-subscribe-dropdown__button .tribe-common-c-svgicon--cal-export {
  display: none !important;
}

/* Capitalize "Calendar" in button text */
.tribe-events .tribe-events-c-subscribe-dropdown__button-text {
  text-transform: none !important;
}

.tribe-events .tribe-events-c-subscribe-dropdown__button-text::after {
  content: '';
}

/* Style subscribe button like "Tour costs" button (btn-outline-primary btn-lg) */
/* Outer div - has the background */
.tribe-events .tribe-events-c-subscribe-dropdown__button {
  --bs-btn-color: hsl(87, 63%, 44%); /* Brand green text */
  --bs-btn-bg: transparent;
  --bs-btn-border-color: hsl(87, 63%, 44%);
  --bs-btn-hover-color: hsl(35, 100%, 97%);
  --bs-btn-hover-bg: hsl(87, 63%, 44%);
  --bs-btn-hover-border-color: hsl(87, 63%, 44%);
  background-color: transparent !important; /* Outline button - transparent background */
  border-color: hsl(87, 63%, 44%) !important; /* Brand green border */
  color: hsl(87, 63%, 44%) !important; /* Brand green text */
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-weight: 800;
  display: inline-flex !important; /* Use flexbox for better vertical alignment */
  align-items: center !important; /* Vertically center content */
  justify-content: center !important; /* Horizontally center content */
  padding: var(--bs-btn-padding-y, 0.5rem) var(--bs-btn-padding-x, 0.75rem) !important;
  border-radius: 0.5rem !important;
  outline: none !important;
  box-shadow: none !important;
  border: 1px solid hsl(87, 63%, 44%) !important;
  line-height: 1.5 !important; /* Match Bootstrap button line-height */
  letter-spacing: 0 !important;
}

.tribe-events .tribe-events-c-subscribe-dropdown__button:hover {
  background-color: hsl(87, 63%, 44%) !important; /* Brand green background on hover */
  border-color: hsl(87, 63%, 44%) !important;
  color: hsl(35, 100%, 97%) !important; /* White text on hover */
  outline: none !important;
  box-shadow: none !important;
}

.tribe-events .tribe-events-c-subscribe-dropdown__button:focus,
.tribe-events .tribe-events-c-subscribe-dropdown__button:active {
  background-color: hsl(87, 63%, 44%) !important; /* Brand green background on focus/active */
  border-color: hsl(87, 63%, 44%) !important;
  color: hsl(35, 100%, 97%) !important; /* White text on focus/active */
  outline: none !important;
  box-shadow: none !important;
}

/* Inner button - no background, transparent, inherits color from parent */
.tribe-events .tribe-events-c-subscribe-dropdown__button-text,
.tribe-events .tribe-common-c-btn--clear.tribe-events-c-subscribe-dropdown__button-text,
.tribe-events .tribe-events-c-subscribe-dropdown__button button,
.tribe-events .tribe-events-c-subscribe-dropdown__button .tribe-events-c-subscribe-dropdown__button-text {
  background-color: transparent !important;
  background: transparent !important;
  border: none !important;
  border-color: transparent !important;
  color: inherit !important; /* Inherit color from parent (green for outline, white on hover) */
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-weight: 800;
  font-size: 1.25rem !important; /* btn-lg size - matches other buttons */
  line-height: 1.5 !important; /* Match Bootstrap button line-height for vertical centering */
  display: inline-block !important;
  text-decoration: none !important;
  padding: 0 !important;
  margin: 0 !important;
  outline: none !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
  cursor: pointer;
  vertical-align: middle !important; /* Ensure vertical alignment */
}

.tribe-events .tribe-events-c-subscribe-dropdown__button-text:hover,
.tribe-events .tribe-common-c-btn--clear.tribe-events-c-subscribe-dropdown__button-text:hover,
.tribe-events .tribe-events-c-subscribe-dropdown__button:hover button,
.tribe-events .tribe-events-c-subscribe-dropdown__button:hover .tribe-events-c-subscribe-dropdown__button-text {
  background-color: transparent !important;
  background: transparent !important;
  border: none !important;
  color: inherit !important; /* Inherit white color from parent on hover */
  outline: none !important;
  box-shadow: none !important;
}

.tribe-events .tribe-events-c-subscribe-dropdown__button-text:focus,
.tribe-events .tribe-events-c-subscribe-dropdown__button-text:active,
.tribe-events .tribe-common-c-btn--clear.tribe-events-c-subscribe-dropdown__button-text:focus,
.tribe-events .tribe-common-c-btn--clear.tribe-events-c-subscribe-dropdown__button-text:active,
.tribe-events .tribe-events-c-subscribe-dropdown__button:focus button,
.tribe-events .tribe-events-c-subscribe-dropdown__button:active button,
.tribe-events .tribe-events-c-subscribe-dropdown__button:focus .tribe-events-c-subscribe-dropdown__button-text,
.tribe-events .tribe-events-c-subscribe-dropdown__button:active .tribe-events-c-subscribe-dropdown__button-text {
  background-color: transparent !important;
  background: transparent !important;
  border: none !important;
  color: inherit !important; /* Inherit white color from parent on focus/active */
  outline: none !important;
  box-shadow: none !important;
}

/* Fix dropdown content - no background (ul has white background), left-aligned */
.tribe-events .tribe-events-c-subscribe-dropdown__content,
.tribe-events #tribe-events-subscribe-dropdown-content,
.tribe-events #tribe-events-c-subscribe-dropdown-content {
  background-color: transparent !important;
  background: transparent !important;
  text-align: left !important;
}


.tribe-events .tribe-events-c-subscribe-dropdown__content a,
.tribe-events .tribe-events-c-subscribe-dropdown__content .tribe-events-c-subscribe-dropdown__list-item,
.tribe-events .tribe-events-c-subscribe-dropdown__content .tribe-events-c-subscribe-dropdown__list-item-link,
.tribe-events #tribe-events-subscribe-dropdown-content a,
.tribe-events #tribe-events-subscribe-dropdown-content .tribe-events-c-subscribe-dropdown__list-item,
.tribe-events #tribe-events-subscribe-dropdown-content .tribe-events-c-subscribe-dropdown__list-item-link {
  color: hsl(87, 63%, 44%) !important; /* Brand green */
  text-align: left !important;
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
}

.tribe-events .tribe-events-c-subscribe-dropdown__content a:hover,
.tribe-events .tribe-events-c-subscribe-dropdown__content .tribe-events-c-subscribe-dropdown__list-item:hover,
.tribe-events .tribe-events-c-subscribe-dropdown__content .tribe-events-c-subscribe-dropdown__list-item-link:hover,
.tribe-events #tribe-events-subscribe-dropdown-content a:hover,
.tribe-events #tribe-events-subscribe-dropdown-content .tribe-events-c-subscribe-dropdown__list-item:hover,
.tribe-events #tribe-events-subscribe-dropdown-content .tribe-events-c-subscribe-dropdown__list-item-link:hover {
  color: hsl(87, 67%, 38%) !important; /* Brand green hover */
}

/* Ensure dropdown list is left-aligned and matches button border radius */
.tribe-events .tribe-events-c-subscribe-dropdown__list,
.tribe-events #tribe-events-subscribe-dropdown-content ul {
  text-align: left !important;
  border-radius: 0.5rem !important; /* Match button's 8px (0.5rem) border radius on all corners */
  overflow: hidden !important; /* Ensure content respects rounded corners */
}

/* ============================================
   SINGLE EVENT PAGE - HIDE META SECTION
   ============================================ */

/* Hide the Details and Venue meta section on single event pages */
.tribe-events-single-section.tribe-events-event-meta {
  display: none !important;
}

/* ============================================
   DATE ORDINAL SUPERSCRIPT STYLING
   ============================================ */

/* Style superscript ordinal suffixes (st, nd, rd, th) - top aligns with top of numbers */
.tribe-events sup,
.tribe-events-single sup,
#tribe-events-pg-template sup,
.tribe-events-pg-template sup {
  font-size: 0.6em !important;
  line-height: 1 !important;
  vertical-align: baseline !important;
  position: relative !important;
  top: -0.45em !important;
}

/* ============================================
   SINGLE EVENT DATE STYLING
   ============================================ */

/* Make the date bolder on single event pages */
.tribe-events-single .tribe-events-schedule .tribe-event-date-start,
#tribe-events-pg-template .tribe-events-schedule .tribe-event-date-start,
.tribe-events-pg-template .tribe-events-schedule .tribe-event-date-start {
  font-weight: 700 !important;
}

/* ============================================
   SINGLE EVENT CONTENT STYLING
   ============================================ */

/* Style paragraphs and lists on single event pages to match site-wide styling */
.tribe-events-single .tribe-events-single-event-description,
.tribe-events-single .tribe-events-single-event-description p,
#tribe-events-pg-template .tribe-events-single-event-description,
#tribe-events-pg-template .tribe-events-single-event-description p,
.tribe-events-pg-template .tribe-events-single-event-description,
.tribe-events-pg-template .tribe-events-single-event-description p {
  color: hsl(35, 100%, 97%) !important; /* Warm white - matches site content */
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-size: 1rem !important; /* 16px - matches site content */
  line-height: 1.5 !important;
  margin-bottom: 1rem !important;
}

/* Style list items on single event pages - match site-wide alignment exactly */
.tribe-events-single .tribe-events-single-event-description ul,
.tribe-events-single .tribe-events-single-event-description ol,
.tribe-events-single .tribe-events-content ul,
.tribe-events-single .tribe-events-content ol,
.tribe-events-single .tribe-events-single-event-description.tribe-events-content ul,
.tribe-events-single .tribe-events-single-event-description.tribe-events-content ol,
#tribe-events-pg-template .tribe-events-single-event-description ul,
#tribe-events-pg-template .tribe-events-single-event-description ol,
#tribe-events-pg-template .tribe-events-content ul,
#tribe-events-pg-template .tribe-events-content ol,
#tribe-events-pg-template .tribe-events-single-event-description.tribe-events-content ul,
#tribe-events-pg-template .tribe-events-single-event-description.tribe-events-content ol,
.tribe-events-pg-template .tribe-events-single-event-description ul,
.tribe-events-pg-template .tribe-events-single-event-description ol,
.tribe-events-pg-template .tribe-events-content ul,
.tribe-events-pg-template .tribe-events-content ol,
.tribe-events-pg-template .tribe-events-single-event-description.tribe-events-content ul,
.tribe-events-pg-template .tribe-events-single-event-description.tribe-events-content ol {
  color: hsl(35, 100%, 97%) !important; /* Warm white - matches site content */
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-size: 1rem !important; /* 16px - matches site content */
  line-height: 1.5 !important;
  padding-left: 1rem !important; /* Matches site ul padding - exactly as site-wide */
  padding-right: 0 !important;
  margin-left: 0 !important; /* Matches site ul margin - exactly as site-wide */
  margin-right: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 1rem !important;
  list-style-position: outside !important;
  text-indent: 0 !important; /* Reset any text indentation */
}

/* Reset list item padding/margin to match site-wide exactly */
.tribe-events-single .tribe-events-single-event-description ul li,
.tribe-events-single .tribe-events-single-event-description ol li,
.tribe-events-single .tribe-events-content ul li,
.tribe-events-single .tribe-events-content ol li,
.tribe-events-single .tribe-events-single-event-description.tribe-events-content ul li,
.tribe-events-single .tribe-events-single-event-description.tribe-events-content ol li,
#tribe-events-pg-template .tribe-events-single-event-description ul li,
#tribe-events-pg-template .tribe-events-single-event-description ol li,
#tribe-events-pg-template .tribe-events-content ul li,
#tribe-events-pg-template .tribe-events-content ol li,
#tribe-events-pg-template .tribe-events-single-event-description.tribe-events-content ul li,
#tribe-events-pg-template .tribe-events-single-event-description.tribe-events-content ol li,
.tribe-events-pg-template .tribe-events-single-event-description ul li,
.tribe-events-pg-template .tribe-events-single-event-description ol li,
.tribe-events-pg-template .tribe-events-content ul li,
.tribe-events-pg-template .tribe-events-content ol li,
.tribe-events-pg-template .tribe-events-single-event-description.tribe-events-content ul li,
.tribe-events-pg-template .tribe-events-single-event-description.tribe-events-content ol li {
  padding-left: 0 !important; /* No extra padding on list items */
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-indent: 0 !important;
}

/* Style list item markers (bullets) - green */
.tribe-events-single .tribe-events-single-event-description ul li::marker,
.tribe-events-single .tribe-events-single-event-description ol li::marker,
.tribe-events-single .tribe-events-content ul li::marker,
.tribe-events-single .tribe-events-content ol li::marker,
.tribe-events-single .tribe-events-single-event-description.tribe-events-content ul li::marker,
.tribe-events-single .tribe-events-single-event-description.tribe-events-content ol li::marker,
#tribe-events-pg-template .tribe-events-single-event-description ul li::marker,
#tribe-events-pg-template .tribe-events-single-event-description ol li::marker,
#tribe-events-pg-template .tribe-events-content ul li::marker,
#tribe-events-pg-template .tribe-events-content ol li::marker,
#tribe-events-pg-template .tribe-events-single-event-description.tribe-events-content ul li::marker,
#tribe-events-pg-template .tribe-events-single-event-description.tribe-events-content ol li::marker,
.tribe-events-pg-template .tribe-events-single-event-description ul li::marker,
.tribe-events-pg-template .tribe-events-single-event-description ol li::marker,
.tribe-events-pg-template .tribe-events-content ul li::marker,
.tribe-events-pg-template .tribe-events-content ol li::marker,
.tribe-events-pg-template .tribe-events-single-event-description.tribe-events-content ul li::marker,
.tribe-events-pg-template .tribe-events-single-event-description.tribe-events-content ol li::marker {
  color: hsl(87, 63%, 44%) !important; /* Brand green - matches site bullets */
}

/* Style list items text - warm white */
.tribe-events-single .tribe-events-single-event-description ul li,
.tribe-events-single .tribe-events-single-event-description ol li,
.tribe-events-single .tribe-events-content ul li,
.tribe-events-single .tribe-events-content ol li,
.tribe-events-single .tribe-events-single-event-description.tribe-events-content ul li,
.tribe-events-single .tribe-events-single-event-description.tribe-events-content ol li,
#tribe-events-pg-template .tribe-events-single-event-description ul li,
#tribe-events-pg-template .tribe-events-single-event-description ol li,
#tribe-events-pg-template .tribe-events-content ul li,
#tribe-events-pg-template .tribe-events-content ol li,
#tribe-events-pg-template .tribe-events-single-event-description.tribe-events-content ul li,
#tribe-events-pg-template .tribe-events-single-event-description.tribe-events-content ol li,
.tribe-events-pg-template .tribe-events-single-event-description ul li,
.tribe-events-pg-template .tribe-events-single-event-description ol li,
.tribe-events-pg-template .tribe-events-content ul li,
.tribe-events-pg-template .tribe-events-content ol li,
.tribe-events-pg-template .tribe-events-single-event-description.tribe-events-content ul li,
.tribe-events-pg-template .tribe-events-single-event-description.tribe-events-content ol li {
  color: hsl(35, 100%, 97%) !important; /* Warm white - matches site content */
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-size: 1rem !important; /* 16px - matches site content */
  line-height: 1.5 !important;
}

/* ============================================
   WHATSAPP BUTTON ON SINGLE EVENT PAGES
   ============================================ */

/* Style WhatsApp button on single event pages to match header exactly */
.tribe-events-single .tribe-events-whats-btn,
#tribe-events-pg-template .tribe-events-whats-btn,
.tribe-events-pg-template .tribe-events-whats-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  padding: 0 !important;
  background: hsl(145, 71%, 49%) !important; /* WhatsApp green - matches header */
  color: hsl(35, 100%, 97%) !important;
  border-radius: 8px !important;
  flex-shrink: 0 !important;
  transition: background-color 200ms ease-in-out !important;
  text-decoration: none !important;
}

.tribe-events-single .tribe-events-whats-btn i,
.tribe-events-single .tribe-events-whats-btn svg,
#tribe-events-pg-template .tribe-events-whats-btn i,
#tribe-events-pg-template .tribe-events-whats-btn svg,
.tribe-events-pg-template .tribe-events-whats-btn i,
.tribe-events-pg-template .tribe-events-whats-btn svg {
  font-size: 28px !important;
  width: 28px !important;
  height: 28px !important;
  line-height: 1 !important;
  display: inline-block !important;
  color: hsl(35, 100%, 97%) !important;
}

.tribe-events-single .tribe-events-whats-btn:hover,
#tribe-events-pg-template .tribe-events-whats-btn:hover,
.tribe-events-pg-template .tribe-events-whats-btn:hover {
  background: hsl(145, 71%, 43%) !important; /* Darker WhatsApp green on hover - matches header */
  color: hsl(35, 100%, 97%) !important;
  text-decoration: none !important;
}

.tribe-events-single .tribe-events-whats-btn:active,
#tribe-events-pg-template .tribe-events-whats-btn:active,
.tribe-events-pg-template .tribe-events-whats-btn:active {
  background: hsl(145, 70%, 39%) !important; /* Darker WhatsApp green on active - matches header */
}

/* ============================================
   EVENT FEATURED IMAGE HOVER TRANSITION
   ============================================ */

/* Add hover transition to event featured images - start bright, dim on hover (matching footer logos) */
.tribe-events .tribe-events-calendar-list__event-featured-image-link {
  display: block;
  transition: opacity 200ms ease-in-out, color 200ms ease-in-out, background-color 200ms ease-in-out, border-color 200ms ease-in-out;
}

.tribe-events .tribe-events-calendar-list__event-featured-image-link img {
  opacity: 1;
  transition: opacity 200ms ease-in-out;
}

.tribe-events .tribe-events-calendar-list__event-featured-image-link:hover img {
  opacity: 0.9;
}


