/*--------------------------------------------------------------
WHITE-LABEL CUSTOM STYLES
Variables loaded via functions.php for centralized brand colors and spacing
--------------------------------------------------------------*/

/*--------------------------------------------------------------
This is your custom stylesheet.

Add your own styles here to make theme updates easier.
To override any styles from other stylesheets, simply copy them into here and edit away.

Make sure to respect the media queries! Otherwise you may
accidentally add desktop styles to the mobile layout.
https://www.w3schools.com/css/css_rwd_mediaqueries.asp
--------------------------------------------------------------*/

/* BuddyPanel: force panel background to brand white variable */
.buddypanel,
.buddypanel .side-panel-inner,
.buddypanel .side-panel-menu-container {
  background-color: var(--fa-background-white) !important;
}

/* BuddyPanel: active/selected menu item background */
.buddypanel .current-menu-item > .bb-menu-item {
  background-color: var(--fa-primary-blue) !important;
}
.buddypanel .current-menu-ancestor > .bb-menu-item,
.buddypanel .current-menu-parent > .bb-menu-item {
  background-color: var(--fa-primary-blue-light) !important;
}

/* BuddyPanel: active/selected menu icon color on blue background */
.buddypanel .current-menu-item > .bb-menu-item i {
  color: var(--fa-text-white) !important;
}
.buddypanel .current-menu-ancestor > .bb-menu-item i,
.buddypanel .current-menu-parent > .bb-menu-item i {
  color: var(--fa-primary-blue) !important;
}

/* Marketplace archive code 
.elementor-grid-1 .elementor-grid {
    display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  column-gap: 20px !important;
  row-gap: 20px !important;}

  
.elementor-widget-loop-grid .elementor-loop-container.elementor-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
*/


.firstarive-event-swiper {
  position: relative;    /* Create a new containing block for the absolute arrows */
  width: 100%;           /* Ensure it spans the card width */
  box-sizing: border-box;
}

/* 1) Make sure each slider container clips its slides */
.firstarive-event-swiper,
.tribe-events-pro-photo__event-featured-image {
  position: relative;   /* for absolute children */
  overflow: hidden;     /* hide any overflowing slides */
}

/* 2) Ensure slides/images size themselves inside the card */
.firstarive-event-swiper .swiper-slide img {
  display: block;
  width: 100%;
  height: auto;
}

/* 3) Position navigation arrows inside each slider */
.firstarive-event-swiper .swiper-button-prev,
.firstarive-event-swiper .swiper-button-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
}

.firstarive-event-swiper .swiper-button-prev {
  left: 8px;
}
.firstarive-event-swiper .swiper-button-next {
  right: 8px;
}

/* 4) EVENT ARCHIVE & WIDGET CSS ADJUSTMENTS */

/* Grid for top row */
.event-card-meta-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.5em;
  font-size: 0.9em;
  padding: 0.75em 0;
}

.event-card-content {
  display: flex;
  flex-direction: column;
  gap: 0.75em;
}

.event-card-date-row {
  display: flex;
  gap: 0.5em;
  align-items: center;
  font-size: 0.9em;
}

.event-card-author {
  display: flex;
  align-items: center;
  gap: 0.5em;
}

.event-card-author img {
  border-radius: 50%;
}

.event-card-rsvp {
  margin-top: auto;
}

.swiper-wrapper {
  height:250px;
}

.tribe-events-pro-photo__event-featured-image {
  width: 100%;
  height: 250px;
  object-fit: cover;
  display: block;
}

/*SUBMISSION FORM ADJUSTMENTS*/ 
/*BACKGROUND FIX*/
body.wp_router_page-template-default,
body.single-wp_router_page-template-default {
  height: auto !important;
  min-height: 100vh !important;
  overflow-y: auto !important;
}
/* 1) Hide the side info panel completely */
.acf-gallery .acf-gallery-side {
  display: none !important;
}

/* 2) Prevent the gallery main from shifting over */
.acf-gallery .acf-gallery-main {
  right: 0 !important;
  width: 100% !important;
}
.acf-field-gallery {
  padding: 0 !important;
}

/* 3) Remove any extra padding added when it thinks it’s “open” */
.acf-gallery.ui-resizable.open {
  padding-right: 0 !important;
}

.tribe-section-header h3 {
  color:var(--fa-primary-blue) !important;
}



/* Events calendar latest past list background */
.tribe-events-calendar-latest-past {
  background-color: var(--fa-background-white) !important;
  padding: var(--fa-spacing-md) !important;
  border-radius: var(--fa-border-radius) !important;
}

/* EVENTS ARCHIVE FILTER FIX - ARROWS SHOWN ABOVE FILTER ERROR */
/* 1) Base slider container: create a stacking context at z-index: 1 */
.firstarive-event-swiper {
  position: relative;   /* you already have this */
  z-index: 1 !important; 
}

/* 2) Keep slides themselves at the base of that context */
.firstarive-event-swiper .swiper-slide img {
  position: relative;
  z-index: 1;
}

/* 3) Put arrows & pagination above the slides */
.firstarive-event-swiper .swiper-button-prev,
.firstarive-event-swiper .swiper-button-next,
.firstarive-event-swiper .swiper-pagination {
  z-index: 2 !important;
}

/* 4) Ensure your filter panel floats above everything on mobile */
.tribe-filterbar-panel {    /* adjust this selector to whatever your filter panel’s wrapper is */
  position: relative; 
  z-index: 999 !important;
}

/*Upload image module buttons*/
.activity-list .comment-item .activity-meta .buddyboss_edit_activity_cancel, .activity-list .comment-item .activity-meta .buddyboss_edit_activity_comment, .activity-list .comment-item .activity-meta .buddyboss_edit_activity_comment.action-save, .buddypress .buddypress-wrap .comment-reply-link, .buddypress .buddypress-wrap .generic-button a, .buddypress .buddypress-wrap a.bp-title-button, .buddypress .buddypress-wrap a.button, .buddypress .buddypress-wrap button, .buddypress .buddypress-wrap input[type=button], .buddypress .buddypress-wrap input[type=reset], .buddypress .buddypress-wrap input[type=submit], .buddypress .buddypress-wrap ul.button-nav:not(.button-tabs) li a, .button, button, input[type=button], input[type=submit] {
  color:var(--fa-primary-blue);
}

.acf-gallery-sort {
  display: none;
}

/*Events submission form form padding*/
#tribe-events-pg-template, .tribe-events-pg-template {
  padding: 2rem 0;
}

/* Hide the entire “Recurring Meetup” row */
tr.recurrence-row.tribe-datetime-block {
  display: none !important;
}

/* (Optional) also hide the “Schedule multiple meetups” button and hidden checkbox */
#tribe-add-recurrence,
#tribe-recurrence-active, 
div.acf-field.acf-field-image.acf-field-686884f433944,
button#settings_form_toggle {
  display: none !important;
}

#tribe-events-pg-template > div > h2.Community-Meetup-Headings {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--fa-text-dark) !important;
  margin-bottom: 1rem;
}

/*CSS Adjustments for Add to Gallery*/
/* Target only on post ID 2232 (your Community Submission page) */
body.fa-event-submission-page [id^="__wp-uploader-id-"] > .media-frame-tab-panel > .media-frame-content > div > .attachments-wrapper,
body.fa-event-submission-page [id^="__wp-uploader-id-"] > .media-frame-tab-panel > .media-frame-content > div > .media-toolbar,
body.fa-event-submission-page [id^="__wp-uploader-id-"] > div.media-frame-tab-panel > div.media-frame-content > div > div.uploader-inline,
body.fa-marketplace-submit-page [id^="__wp-uploader-id-"] > .media-frame-tab-panel > .media-frame-content > div > .attachments-wrapper,
body.fa-marketplace-submit-page [id^="__wp-uploader-id-"] > .media-frame-tab-panel > .media-frame-content > div > .media-toolbar,
body.fa-marketplace-submit-page [id^="__wp-uploader-id-"] > div.media-frame-tab-panel > div.media-frame-content > div > div.uploader-inline
 {
  right: 0 !important;
}



body.fa-event-submission-page [id^="__wp-uploader-id-"] > .media-frame-tab-panel > .media-frame-content > div > .media-sidebar,
body.fa-event-submission-page [id^="__wp-uploader-id-"] > div.media-frame-tab-panel > div.media-frame-router > div > a > span.is-closed,
body.fa-marketplace-submit-page [id^="__wp-uploader-id-"] > .media-frame-tab-panel > .media-frame-content > div > .media-sidebar,
body.fa-marketplace-submit-page [id^="__wp-uploader-id-"] > div.media-frame-tab-panel > div.media-frame-router > div > a > span.is-closed {
  display: none !important;
}
body.fa-event-submission-page [id^="__wp-uploader-id-"] > .media-frame-tab-panel > .media-frame-content > div > .media-toolbar,
body.fa-marketplace-submit-page [id^="__wp-uploader-id-"] > .media-frame-tab-panel > .media-frame-content > div > .media-toolbar
 {
  padding: 1rem !important;
}

body.fa-event-submission-page [id^="__wp-uploader-id-"] > .media-frame-tab-panel > .media-frame-content > div > .attachments-wrapper,
body.fa-marketplace-submit-page [id^="__wp-uploader-id-"] > .media-frame-tab-panel > .media-frame-content > div > .attachments-wrapper {
  padding: 2.5rem !important;
}



/* CSS STYLE ADJUSTMENTS FOR THEME*/
@media only screen and (max-width: 768px) {
form.marketplace-search-form {
  flex-wrap: wrap;
}
}
/*SUBMIT marketplace LISTING PAG*/
body.fa-marketplace-submit-page h2 {
padding-top: 2rem;
}
/*TEXT on dark BG*/
/*ActivityFeedHeading*/ #post-13 > header > h1,
/*Bar for activity filter*/ .activity-head-bar, 
/*ActivityBar Icon*/ .subnav-filters-opener,
/*Members Directory H1, NAV items*/ body.directory.members h1.entry-title,
body.directory.members .component-navigation.members-nav li a,
body.directory.members .component-navigation.members-nav .bb-component-nav-item-point, 
.tribe-events button.tribe-events-c-top-bar__datepicker-button,
.tribe-events-c-nav__prev,
.tribe-events-c-nav__next,
.tribe-events-c-nav__today,
.tribe-events-c-nav__prev-label,
.tribe-events-c-nav__next-label,
body.fa-marketplace-submit-page h2 {
  color:var(--fa-text-white) !important;
}

/* Events calendar top bar buttons */
.tribe-events-c-top-bar__today-button {
  background-color: var(--fa-background-white) !important;
  color: var(--fa-text-dark) !important;
  border-radius: var(--fa-border-radius-sm);
}

.tribe-events-c-top-bar__datepicker-time span {
  display: inline-block;
  padding: var(--fa-spacing-sm) var(--fa-spacing-md);
  color: var(--fa-primary-blue);
  border-radius: var(--fa-border-radius-sm);
}

.tribe-events-c-top-bar__nav-link {
  background-color: var(--fa-background-white) !important;
  padding: var(--fa-spacing-sm) !important;
  border-radius: var(--fa-border-radius-sm);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.tribe-events-c-top-bar__nav-link svg {
  width: 100%;
  height: 100%;
}

.tribe-events-c-top-bar__datepicker-separator {
  color: var(--fa-primary-blue) !important;
}

.tribe-events-c-nav__next[disabled] .tribe-events-c-nav__next-label,
.tribe-events-c-nav__prev[disabled] .tribe-events-c-nav__prev-label {
  color: var(--fa-primary-blue) !important;
}

.tribe-events-c-subscribe-dropdown__button-text {
  padding: var(--fa-spacing-sm) !important;
}

.tribe-events-c-events-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  background-color: var(--fa-background-light) !important;
  border-radius: var(--fa-border-radius);
  padding: var(--fa-spacing-sm);
  gap: var(--fa-spacing-sm);
}

.tribe-events-c-search__input-group {
  display: flex;
  gap: var(--fa-spacing-sm);
  width: 100%;
}

.tribe-events-c-search__input-control {
  flex: 1 1 0;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}

.tribe-events-c-search__input-control .tribe-events-c-search__input {
  height: 100%;
  min-height: var(--fa-field-height);
}

.tribe-events-c-top-bar__nav-link-icon-svg path,
.tribe-events-c-top-bar__datepicker-button-icon-svg path,
.tribe-events-c-top-bar__nav-link-icon-svg {
  fill: var(--fa-text-dark) !important;
  stroke: none;
}

.tribe-events-c-top-bar__nav-link[disabled],
.tribe-events-c-top-bar__nav-link--next[disabled] {
  opacity: 0.4;
}

@media (max-width: 1024px) {
  .tribe-events-c-events-bar {
    background-color: var(--fa-background-light) !important;
    border-radius: var(--fa-border-radius);
    padding: var(--fa-spacing-sm);
    gap: var(--fa-spacing-sm);
  }

  .tribe-events-c-events-bar__search-button,
  .tribe-events-c-events-bar__filter-button,
  .tribe-events-c-view-selector__button {
    background-color: var(--fa-background-white) !important;
    border: 1px solid var(--fa-border-light) !important;
    border-radius: var(--fa-border-radius);
    padding: var(--fa-spacing-sm);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
  }

  .tribe-events-c-events-bar__views {
    margin-top: 0;
  }

  .tribe-events-c-view-selector__button span,
  .tribe-events-c-events-bar__filter-button-text,
  .tribe-events-c-events-bar__search-button-text {
    display: inline;
  }

  .tribe-events-c-events-bar__search-button svg path,
  .tribe-events-c-events-bar__filter-button svg path,
  .tribe-events-c-view-selector__button svg path {
    fill: var(--fa-text-dark) !important;
  }

  .tribe-events-c-events-bar__search-button svg,
  .tribe-events-c-events-bar__filter-button svg,
  .tribe-events-c-view-selector__button svg {
    width: 1em;
    height: 1em;
  }

  .tribe-events-c-events-bar__search-container {
    order: 0;
    width: auto;
    margin-top: 0;
    background-color: var(--fa-background-white) !important;
    border-radius: var(--fa-border-radius);
    padding: var(--fa-spacing-sm);
  }

  .tribe-events-c-search__input-group {
    flex-direction: row;
    width: auto;
  }

  .tribe-events-c-search__input-control {
    width: auto;
  }

  .tribe-events-c-search__button {
    width: auto;
    margin-top: 0;
  }

  .tribe-filter-bar-c-filter {
    margin-bottom: var(--fa-spacing-sm);
  }

  .tribe-filter-bar-c-filter__toggle {
    background-color: var(--fa-background-light) !important;
    border: none !important;
    padding: var(--fa-spacing-sm) !important;
    border-radius: var(--fa-border-radius-sm);
    color: var(--fa-text-dark) !important;
    width: 100%;
    justify-content: space-between;
  }

  .tribe-filter-bar-c-filter__toggle-text {
    margin-right: var(--fa-spacing-sm);
  }

  .tribe-filter-bar-c-filter__toggle-icon svg path {
    stroke: var(--fa-text-dark) !important;
  }
}

@media (max-width: 768px) {
  .tribe-events-c-events-bar {
    background-color: transparent !important;
    padding: var(--fa-spacing-sm) 0;
    gap: var(--fa-spacing-xs);
    border: none !important;
  }

  .tribe-events-c-events-bar__search-button,
  .tribe-events-c-events-bar__filter-button,
  .tribe-events-c-view-selector__button {
    background-color: var(--fa-background-white) !important;
    border: 1px solid var(--fa-border-light) !important;
    border-radius: var(--fa-border-radius);
    padding: var(--fa-spacing-sm);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
  }

  .tribe-events-c-events-bar__views {
    margin-top: var(--fa-spacing-xs);
  }

  .tribe-events-c-events-bar__search-container {
    background-color: var(--fa-background-white) !important;
    border-radius: var(--fa-border-radius);
    padding: var(--fa-spacing-sm);
    width: 100%;
    margin-top: var(--fa-spacing-sm);
  }

  .tribe-events-c-view-selector__button span,
  .tribe-events-c-events-bar__filter-button-text,
  .tribe-events-c-events-bar__search-button-text {
    display: none;
  }

  .tribe-events-c-events-bar__search-button svg path,
  .tribe-events-c-events-bar__filter-button svg path,
  .tribe-events-c-view-selector__button svg path {
    fill: var(--fa-text-dark) !important;
  }

  .tribe-events-c-events-bar__search-button svg,
  .tribe-events-c-events-bar__filter-button svg,
  .tribe-events-c-view-selector__button svg {
    width: 20px;
    height: 20px;
  }
}

@media (max-width: 768px) {
  .tribe-filter-bar-c-filter {
    margin-bottom: var(--fa-spacing-sm);
  }

  .tribe-filter-bar-c-filter__toggle {
    background-color: var(--fa-background-light) !important;
    border: none !important;
    padding: var(--fa-spacing-sm) !important;
    border-radius: var(--fa-border-radius-sm);
    color: var(--fa-text-dark) !important;
    width: 100%;
    justify-content: space-between;
  }

  .tribe-filter-bar-c-filter__toggle-text {
    margin-right: var(--fa-spacing-sm);
  }

  .tribe-filter-bar-c-filter__toggle-icon svg path {
    stroke: var(--fa-text-dark) !important;
  }
}

/* Activity filter trigger styling */
.subnav-filters-opener,
.activity-head-bar .bb-subnav-filters-container .subnav-filters-opener {
  background-color: var(--fa-background-white) !important;
  color: var(--fa-text-dark) !important;
}

.subnav-filters-opener .selected {
  color: var(--fa-text-dark) !important;
  padding: var(--fa-spacing-xs) !important;
}
/*Icons on dark BG*/
/*EVENTS CALENDAR FILTER ICONS*/
.tribe-events-c-events-bar__search-button-icon-svg path,
.tribe-events-c-search__input-control-icon-svg path,
.tribe-events-c-view-selector__button-icon-svg path,
.tribe-events-c-view-selector__list-item-icon-svg path,
.tribe-events-c-events-bar__filter-button-icon path, 
.tribe-events-c-nav__prev-icon-svg path,
.tribe-events-c-nav__next-icon-svg path{
  fill: var(--fa-text-white) !important;
}

/*Pink Text Correction - Classes
.delete-all .bb-icon-l .bb-icon-angle-right
*/

/* styles for the BuddyBoss event feed */
.bp-event-feed-thumb {
  margin-bottom: 0.75em;
  text-align: center;
}
.bp-event-feed-thumb img {
  max-width: 100%;
  height: auto;
  border-radius: 4px;
}

/*Price box CSS*/
.mepr-price-box {
    display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
flex: 1 0 0;
background-color: var(--fa-text-white) !important;
border: 1px solid var(--fa-border-light);
}
.mepr-price-box-title {
    display: flex; 
padding: 16px;
justify-content: center;
align-items: center;
flex: 1 0 0;
border-radius: 8px;
background: var(--SecondaryNav2, linear-gradient(90deg, var(--Primary-Color-500, var(--fa-primary-blue)) 0%, var(--Secondary-Color-500, var(--fa-accent-coral)) 100%));
color: var(--fa-text-white) !important;
font-weight: 600 !important;
font-size: 1.25rem;

}


/*
HIDING ACCESS/ other adjustments to TO FORM AREAS ON THE COMMUNITY SUBMISSION FORM  
*/
div#tribe-community-events.tribe-community-events.form, .acf-gallery-main, .tribe-section {
  border-radius: 1rem;
}

/* Community Events payment options: white cards on dark background */
.tribe-section-container,
.tribe-community-tickets-payment-options,
.tribe-community-tickets-payment-options td,
.tribe-community-tickets-payment-options th,
.tribe-community-tickets-payment-options .note {
  background-color: var(--fa-background-white) !important;
  color: var(--fa-text-dark) !important;
}

.tribe-section-container {
  border-radius: var(--fa-border-radius) !important;
  padding: 1rem !important;
  overflow: hidden;
}

.tribe-community-tickets-payment-options {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

/* Loop grid wrap fix (community get-togethers section) */
.elementor-element-4c6d216a .elementor-loop-container.elementor-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

@media (max-width: 1024px) {
  .elementor-element-4c6d216a .elementor-loop-container.elementor-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .elementor-element-4c6d216a .elementor-loop-container.elementor-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/*View Submitted meetups button*/
.tribe-button.tribe-button-secondary, #tribe-virtual-events > thead > tr > td > div:nth-child(1) > button, #ticket_form_toggle, 
.tribe-button.submit, .button-primary  {
  background-color: var(--fa-primary-blue) !important;
}

.my-events-header .tribe-button.tribe-button-secondary {
  background-color: var(--fa-primary-blue) !important;
  border: 1px solid var(--fa-primary-blue) !important;
  color: var(--fa-text-white) !important;
  border-radius: var(--fa-border-radius-sm) !important;
  padding: var(--fa-spacing-sm) var(--fa-spacing-md) !important;
  font-weight: var(--fa-font-weight-semibold) !important;
  font-family: var(--bb-body-font-family, inherit) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

.my-events-header .tribe-button.tribe-button-secondary:hover,
.my-events-header .tribe-button.tribe-button-secondary:focus {
  background-color: var(--fa-accent-coral) !important;
  border-color: var(--fa-accent-coral) !important;
  color: var(--fa-primary-blue-dark) !important;
}

.ticket_bottom_buttons .button-primary,
.ticket_bottom_buttons .button-secondary,
.ticket_bottom_buttons .tribe-validation-submit {
  font-family: var(--bb-body-font-family, inherit) !important;
  font-weight: var(--fa-font-weight-semibold) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

.tribe-button.submit.events-community-submit,
.tribe-button.submit.events-community-submit.fa-disabled-submit {
  font-family: var(--bb-body-font-family, inherit) !important;
  font-weight: var(--fa-font-weight-semibold) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

.bp-feedback.bp-messages,
.bp-feedback.bp-info,
.bp-feedback.bp-messages.info {
  background-color: var(--fa-background-white) !important;
  border-color: var(--fa-border-light) !important;
  color: var(--fa-text-dark) !important;
}

/* === BuddyBoss hover card buttons (Message/Connect/Profile) === */
.bb-profile-card .bb-card-footer .bb-card-action-primary .card-button {
  background-color: var(--fa-primary-blue) !important;
  border: 1px solid var(--fa-primary-blue) !important;
  color: var(--fa-text-white) !important;
  border-radius: var(--fa-border-radius-sm) !important;
  font-family: var(--bb-body-font-family, inherit) !important;
  font-weight: var(--fa-font-weight-semibold) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

.bb-profile-card .bb-card-footer .bb-card-action-primary .card-button:hover,
.bb-profile-card .bb-card-footer .bb-card-action-primary .card-button:focus {
  background-color: var(--fa-accent-coral) !important;
  border-color: var(--fa-accent-coral) !important;
  color: var(--fa-primary-blue-dark) !important;
}

.bb-profile-card .bb-card-footer .bb-card-action-outline .card-button,
.bb-profile-card .bb-card-footer .bb-card-action-outline .card-button-profile {
  background-color: var(--fa-background-white) !important;
  border: 1px solid var(--fa-border-light) !important;
  color: var(--fa-text-dark) !important;
  border-radius: var(--fa-border-radius-sm) !important;
  font-family: var(--bb-body-font-family, inherit) !important;
  font-weight: var(--fa-font-weight-semibold) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

.bb-profile-card .bb-card-footer .bb-card-action-connect .friendship-button a {
  background-color: var(--fa-primary-blue) !important;
  border: 1px solid var(--fa-primary-blue) !important;
  color: var(--fa-text-white) !important;
  border-radius: var(--fa-border-radius-sm) !important;
  font-family: var(--bb-body-font-family, inherit) !important;
  font-weight: var(--fa-font-weight-semibold) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  display: inline-flex;
  align-items: center;
  gap: var(--fa-spacing-xs);
  padding: var(--fa-spacing-sm) var(--fa-spacing-md);
}

.bb-profile-card .bb-card-footer .bb-card-action-connect .friendship-button a:hover,
.bb-profile-card .bb-card-footer .bb-card-action-connect .friendship-button a:focus {
  background-color: var(--fa-accent-coral) !important;
  border-color: var(--fa-accent-coral) !important;
  color: var(--fa-primary-blue-dark) !important;
}

.bb-profile-card .bb-card-footer .bb-card-action-message .card-button i,
.bb-profile-card .bb-card-footer .bb-card-action-connect .friendship-button a i {
  color: var(--fa-text-white) !important;
}

#tribe-community-events label {
  color: var(--fa-primary-blue) !important;
}

/*
RSVP BUTTON.
  */

  .tribe-community-events #rsvp_form_toggle,
  tr.tribe-events-virtual-display,
  tr.tribe-events-virtual-show,
  label[for="tribe-events-virtual-rsvp-email-link"],
#tribe-events-virtual-rsvp-email-link,
.tribe-events-virtual-type-of-event,
tr.tribe-linked-type-venue-website,
/* hide the entire tfoot inside the Venue Details section on the community-edit page */
body.tribe_community_edit 
  #event_tribe_venue 
  .tribe-section-content 
  tfoot
   {
  display: none !important
}
.event-terms-description {
  width:100% !important;
}

/* 
Image Upload tag */
.tribe-section-image-uploader {
  display: none;
}

/*Ticket Capacity (multi-ticket)*/
.input_block.ticket_form_right {
  display: none;
}

/* Ensure the ticket sale price controls remain visible */
body.tribe_community_edit .ticket_sale_price_wrapper,
body.tribe_community_submit .ticket_sale_price_wrapper {
  display: block !important;
}

/*SKU class*/
.accordion-header.tribe_advanced_meta {
  display: none;
}

/*Attendee Collection class*/
.accordion-header.tribe_attendee-collection_meta {
  display: none;
}

/*Organizer*/
.tribe-section.tribe-section-organizer.ui-sortable {
  display: none;
}

/*Event Website*/
.tribe-section.tribe-section-website {
  display: none;
}

/*Virtual Event - Search Video/Meeting Link & Find button*/
.tribe-events-virtual-video-sources-wrap {
  display: none;
}
.tribe-events-virtual-video-source-autodetect__button-wrapper {
  display: none;
}
/*RSVP Atendees only Virtual checkbox*/
#tribe-events-virtual-show-to-rsvp-attendees {
  display: none !important;
}

/* Also hide the label and tooltip wrapper around it */
label[for="tribe-events-virtual-show-to-rsvp-attendees"],
label[for="tribe-events-virtual-show-to-rsvp-attendees"] + .tribe-tooltip {
  display: none !important;
}


/* Fix BuddyBoss + Elementor layout vertical scroll lock ONLY on the event edit page */
body.tribe_community_edit #page.site,
body.tribe_community_edit .site-content,
body.tribe_community_edit .site-container,
body.tribe_community_edit .buddyboss-wrapper,
body.tribe_community_edit .elementor-section,
body.tribe_community_edit form[data-datepicker_format] {
  height: auto;
  overflow: visible;
  max-height: none;
}

/*MOBILE NonSticky Secondary Header*/
/* Mobile-specific behavior */
@media only screen and (max-width: 768px) {
  #masthead.site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 99 !important;
    transition: none !important;
  }

  .secondary-nav-wrapper {
    position: relative !important;
    top: 0 !important;
  }

  /* Push body content below fixed header */
  body {
    padding-top: calc(var(--masthead-height, 56px)) !important;
  }
}
/*BLUE BUTTON FIXES*/
/*SignupRecordButton*/
button#mpvr-open-recorder {
  margin-top: 1rem !important;
}
/*DEFAULT*/
button.avatar-crop-submit, 
input#bp-browse-button.button, 
button.button.avatar-webcam-capture, 
button.button.avatar-webcam-save,
input#profile-group-edit-submit,
.mepr-price-box-button a, .mepr-submit,
button#mpvr-open-recorder, 
#secondary .tribe-events-widget-events-list__view-more > a,
a.count-more,
/*AtendeeButtons*/
#tribe-events-pg-template a.button,
#tribe-events-pg-template .elementor-button,
#tribe-events-pg-template button,
#tribe-events-pg-template input[type="button"],
#tribe-events-pg-template input[type="submit"], 
body.fa-attendee-dashboard button[type="submit"][style*="margin-left: 1rem"],
#wp-submit,
button.glsr-button,
.blue-button-adj,
body.woocommerce-checkout button.wc-block-components-checkout-place-order-button,
.page-template-template-edit-listing-php .acf-form-submit .acf-button.button-primary 
{
  color:var(--fa-text-white) !important;
  background-color:var(--fa-primary-blue) !important;
}
/*HOVER*/
button.avatar-crop-submit:hover, input#bp-browse-button.button:hover,
button.button.avatar-webcam-capture:hover, 
button.button.avatar-webcam-save:hover,
input#profile-group-edit-submit:hover,
.mepr-price-box-button a:hover, .mepr-submit:hover, button#mpvr-open-recorder:hover,
#secondary .tribe-events-widget-events-list__view-more > a:hover,
a.count-more:hover,
/*AtendeeButtons*/
#tribe-events-pg-template a.button:hover,
#tribe-events-pg-template .elementor-button:hover,
#tribe-events-pg-template button:hover,
#tribe-events-pg-template input[type="button"]:hover,
#tribe-events-pg-template input[type="submit"]:hover,
body.fa-attendee-dashboard button[type="submit"][style*="margin-left: 1rem"]:hover,
/*Login page button*/
#wp-submit:hover,
button.glsr-button:hover,
blue-button-adj:hover,
body.woocommerce-checkout button.wc-block-components-checkout-place-order-button:hover 
 {
  color:var(--fa-text-dark) !important;
  background-color:var(--fa-accent-coral) !important;
  border: 1px solid var(--fa-accent-coral-dark) !important;
}

/* === Submit Listing primary button === */
.page-template-template-submit-listing .acf-form-submit .acf-button.button-primary {
  background-color: var(--fa-primary-blue) !important;
  border: 1px solid var(--fa-primary-blue) !important;
  color: var(--fa-text-white) !important;
  border-radius: var(--fa-border-radius-sm) !important;
  font-family: var(--bb-body-font-family, inherit) !important;
  font-weight: var(--fa-font-weight-semibold) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  padding: var(--fa-spacing-sm) var(--fa-spacing-md) !important;
}

.page-template-template-submit-listing .acf-form-submit .acf-button.button-primary:hover,
.page-template-template-submit-listing .acf-form-submit .acf-button.button-primary:focus {
  background-color: var(--fa-accent-coral) !important;
  border-color: var(--fa-accent-coral) !important;
  color: var(--fa-primary-blue-dark) !important;
}

/* === Header signup button (primary style) === */
.bb-header-buttons .button.signup {
  background-color: var(--fa-primary-blue) !important;
  border: 1px solid var(--fa-primary-blue) !important;
  color: var(--fa-text-white) !important;
  border-radius: var(--fa-border-radius-sm) !important;
  font-family: var(--bb-body-font-family, inherit) !important;
  font-weight: var(--fa-font-weight-semibold) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  padding: var(--fa-spacing-xs) var(--fa-spacing-md) !important;
}

.bb-header-buttons .button.signup:hover,
.bb-header-buttons .button.signup:focus {
  background-color: var(--fa-accent-coral) !important;
  border-color: var(--fa-accent-coral) !important;
  color: var(--fa-primary-blue-dark) !important;
}

/* === My RSVPs content card === */
.fa-card {
  background-color: var(--fa-background-white) !important;
  border: 1px solid var(--fa-border-light) !important;
  border-radius: var(--fa-border-radius) !important;
  padding: var(--fa-spacing-lg) !important;
}

/*Site reviews star review tooltip*/
/* 1) Make the star container the positioning context */
span.glsr-star-rating--stars {
  position: relative !important;
}

/* 2) Override the tooltip for every state (.s0, .s1, .s2, etc.) */
span.glsr-star-rating--stars::after {
  /* move it below the stars – swap to bottom:100% for above */
  top: 100% !important;
  bottom: auto !important;
  left: 50% !important;
  transform: translateX(-50%) translateY(5px) !important;
}


/*elipse menu*/
#object-nav > ul > li.hideshow.menu-item-has-children1 > a > i {
  color: var(--fa-text-white) !important;
}
    /*Reviews Tab*/
    #item-body-content > div.bp-profile-reviews {
    background: var(--bb-content-background-color);
    border: 1px solid var(--bb-content-border-color);
    border-radius: var(--bb-block-radius);
    margin-bottom: 0px;
    padding: 20px 20px;
}
  div.glsr-review-title > h4.glsr-tag-value {
    margin:0;
  }

  .glsr-review {
    padding: 16px 0px;
    background-color: var(--fa-text-white);
  }
  .glsr-reviews {
    background-color:var(--bb-content-border-color);
    gap:1px;
  }
  /*Mobile Subnav Profile page*/
  @media (max-width: 768px) {
  /* target the dropdown that opens under #object-nav */
  #object-nav ul.bb_more_dropdown .bb-single-nav-item-point {
    /* your new text color */
    color:var(--fa-primary-blue);
  }
  /* if you also want to change the background of each item */
  #object-nav ul.bb_more_dropdown li.bp-personal-tab a {
    border: 1px solid var(--bb-content-border-color);
  }}
  @media (max-width: 768px) {
  /* turn the dropdown into a flex column and set a gap */
  #object-nav ul.bb_more_dropdown {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;  /* controls the spacing between items */
  }
}
/* Desktop Subnav Profile page */
@media (min-width: 769px) {
  /* text color like mobile */
  #object-nav ul.sub-menu.bb_more_dropdown.active.open .bb-single-nav-item-point,
  ul.sub-menu.bb_more_dropdown.active.open .bb-single-nav-item-point {
    color: var(--fa-primary-blue);
  }

  /* item borders like mobile */
  #object-nav ul.sub-menu.bb_more_dropdown.active.open li.bp-personal-tab a,
  ul.sub-menu.bb_more_dropdown.active.open li.bp-personal-tab a {
    border: 1px solid var(--bb-content-border-color);
  }

  /* flex-column layout with gap */
  #object-nav ul.sub-menu.bb_more_dropdown.active.open,
  ul.sub-menu.bb_more_dropdown.active.open {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;  /* controls spacing between items */
  }
}
/*PROFILE*/


/*Edit PROFILE*/

/* ONDARK HEADINGS */
/*EditListingPage */
.page-template-template-edit-listing-php .edit-listing-form {
  --bb-headings-color: var(--fa-text-white) !important;
}
body.profile-edit header.profile-header > h1.entry-title.bb-profile-title,
body.settings.my-account header.entry-header.settings-header > h1.entry-title.settings-title,
body.user-registration-page.user-registration-account 
  h1.entry-title,
  body.notifications h1.entry-title.flex-1 {
  /* your custom rules here */
  font-size: 2rem;
  color: var(--fa-text-white);
  /* etc. */
}

body.buddypress .profile-header h1.entry-title {
  color: var(--fa-text-white) !important;
}

header.entry-header,
body.buddypress article.page>.entry-header .entry-title {
  color: var(--fa-text-white);
}

.fa-text-white {
  color: var(--fa-text-white) !important;
}

.fa-bg-white {
  background-color: var(--fa-background-white) !important;
}

.fa-gradient-primary {
  background: var(--fa-gradient-primary) !important;
}

.fa-gradient-accent {
  background: var(--fa-gradient-accent) !important;
}

.fa-text-white [class*="tec-events-elementor-event-widget"],
.fa-text-white .tec-events-elementor-event-widget__datetime-wrapper,
.fa-text-white .tec-events-elementor-event-widget__datetime,
.fa-text-white .tec-events-elementor-event-widget__datetime span {
  color: var(--fa-text-white) !important;
}

.elementor-widget-heading.fa-text-white .elementor-heading-title,
.fa-text-white.elementor-widget-heading .elementor-heading-title {
  color: var(--fa-text-white) !important;
}

/* === Events calendar top bar dropdown caret spacing === */
.tribe-events-c-top-bar__datepicker-button-icon-svg {
  margin-left: var(--fa-spacing-xs) !important;
  margin-right: var(--fa-spacing-xs) !important;
}

/* === Events calendar view selector tabs === */
.tribe-events-c-top-bar__datepicker-button,
.tribe-events-c-top-bar__nav-link {
  border-radius: var(--fa-border-radius-sm) !important;
}

/* === Month navigation buttons (square arrow icons) === */
.tribe-events-c-nav__next,
.tribe-events-c-nav__prev {
  border-radius: var(--fa-border-radius-sm) !important;
  padding: var(--fa-spacing-xs) var(--fa-spacing-sm) !important;
}

/* === Month navigation arrow icons === */
.tribe-events-c-nav__next-icon-svg,
.tribe-events-c-nav__prev-icon-svg {
  margin-left: var(--fa-spacing-xs) !important;
  margin-right: var(--fa-spacing-xs) !important;
  color: var(--fa-primary-blue-dark) !important;
}

/* === Active state arrow fills === */
.tribe-events-c-nav__next-icon-svg path,
.tribe-events-c-nav__prev-icon-svg path {
  fill: var(--fa-text-white) !important;
}

/* === Disabled state styling === */
.tribe-events-c-nav__next:disabled,
.tribe-events-c-nav__prev:disabled {
  opacity: 0.7 !important;
}

/* === Disabled state arrow fills === */
.tribe-events-c-nav__next:disabled .tribe-events-c-nav__next-icon-svg path,
.tribe-events-c-nav__prev:disabled .tribe-events-c-nav__prev-icon-svg path {
  fill: var(--fa-primary-blue-dark) !important;
}

/* === Events card swiper image sizing === */
.firstarive-event-swiper .tribe-events-pro-photo__event-featured-image {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  border-radius: var(--fa-border-radius-sm) !important;
}


/* Edit Profile subnav buttons */
body.buddypress #subnav.bp-navs.bp-subnavs ul.subnav li.bp-personal-sub-tab a,
body.buddypress #subnav.bb-subnav-plain ul.subnav li.bp-personal-sub-tab a,
body.buddypress #subnav.bb-subnav-private ul.subnav li.bp-personal-sub-tab a {
  background: var(--fa-gradient-accent) !important;
  color: var(--fa-text-dark) !important;
  border: 1px solid var(--fa-border-light) !important;
  border-radius: var(--fa-border-radius-sm) !important;
  padding: var(--fa-spacing-sm) var(--fa-spacing-md) !important;
  font-weight: var(--fa-font-weight-semibold) !important;
}

body.buddypress #subnav.bp-navs.bp-subnavs ul.subnav li.bp-personal-sub-tab.current a,
body.buddypress #subnav.bp-navs.bp-subnavs ul.subnav li.bp-personal-sub-tab.selected a,
body.buddypress #subnav.bb-subnav-plain ul.subnav li.bp-personal-sub-tab.current a,
body.buddypress #subnav.bb-subnav-plain ul.subnav li.bp-personal-sub-tab.selected a,
body.buddypress #subnav.bb-subnav-private ul.subnav li.bp-personal-sub-tab.current a,
body.buddypress #subnav.bb-subnav-private ul.subnav li.bp-personal-sub-tab.selected a {
  background: var(--fa-accent-coral) !important;
  color: var(--fa-primary-blue-dark) !important;
  border-color: transparent !important;
}

body.buddypress #subnav.bp-navs.bp-subnavs ul.subnav li.bp-personal-sub-tab a:hover,
body.buddypress #subnav.bp-navs.bp-subnavs ul.subnav li.bp-personal-sub-tab a:focus,
body.buddypress #subnav.bb-subnav-plain ul.subnav li.bp-personal-sub-tab a:hover,
body.buddypress #subnav.bb-subnav-plain ul.subnav li.bp-personal-sub-tab a:focus,
body.buddypress #subnav.bb-subnav-private ul.subnav li.bp-personal-sub-tab a:hover,
body.buddypress #subnav.bb-subnav-private ul.subnav li.bp-personal-sub-tab a:focus {
  background: var(--fa-accent-coral) !important;
  color: var(--fa-primary-blue-dark) !important;
}

#subnav.bp-navs.bp-subnavs ul.subnav li.bp-personal-sub-tab a:before,
#subnav.bb-subnav-plain ul.subnav li.bp-personal-sub-tab a:before,
#subnav.bb-subnav-private ul.subnav li.bp-personal-sub-tab a:before {
  color: var(--fa-text-dark) !important;
  transition: color 0.2s ease;
}

#subnav.bp-navs.bp-subnavs ul.subnav li.bp-personal-sub-tab.current a:before,
#subnav.bp-navs.bp-subnavs ul.subnav li.bp-personal-sub-tab.selected a:before,
#subnav.bb-subnav-plain ul.subnav li.bp-personal-sub-tab.current a:before,
#subnav.bb-subnav-plain ul.subnav li.bp-personal-sub-tab.selected a:before,
#subnav.bb-subnav-private ul.subnav li.bp-personal-sub-tab.current a:before,
#subnav.bb-subnav-private ul.subnav li.bp-personal-sub-tab.selected a:before {
  color: var(--fa-text-white) !important;
}

#subnav.bp-navs.bp-subnavs ul.subnav li.bp-personal-sub-tab a:hover:before,
#subnav.bp-navs.bp-subnavs ul.subnav li.bp-personal-sub-tab a:focus:before,
#subnav.bb-subnav-plain ul.subnav li.bp-personal-sub-tab a:hover:before,
#subnav.bb-subnav-plain ul.subnav li.bp-personal-sub-tab a:focus:before,
#subnav.bb-subnav-private ul.subnav li.bp-personal-sub-tab a:hover:before,
#subnav.bb-subnav-private ul.subnav li.bp-personal-sub-tab a:focus:before {
  color: var(--fa-primary-blue) !important;
}

/* Messaging page – keep the Inbox tab styled like a heading */
body.buddypress #subnav ul.subnav li#inbox-personal-li.bp-personal-sub-tab a {
  background: transparent !important;
  color: var(--fa-text-dark) !important;
  border: none !important;
  font-weight: var(--fa-font-weight-bold) !important;
  cursor: default !important;
  pointer-events: none; /* optional: prevent clicking */
}


body.buddypress #subnav.bb-subnav-plain ul.subnav li.bp-personal-sub-tab[data-bp-user-scope="compose-action"] a,
body.buddypress #subnav.bb-subnav-plain ul.subnav li.bp-personal-sub-tab[data-bp-user-scope="compose"] a {
  background: transparent !important;
  border: none !important;
  color: var(--fa-text-dark) !important;
  box-shadow: none !important;
}

body.buddypress #subnav.bb-subnav-plain ul.subnav li.bp-personal-sub-tab[data-bp-user-scope="compose-action"] a:before,
body.buddypress #subnav.bb-subnav-plain ul.subnav li.bp-personal-sub-tab[data-bp-user-scope="compose"] a:before {
  display: none !important;
}

body.buddypress #compose-action-personal-li > a {
  display: none !important;
}

div.bp-profile-content {
  background-color: var(--fa-background-white) !important;
}

/* Manage Group admin subnav buttons */
body.groups #subnav ul.subnav li.bp-groups-admin-tab a {
  background: var(--fa-gradient-accent) !important;
  color: var(--fa-text-dark) !important;
  border: 1px solid var(--fa-border-light) !important;
  border-radius: var(--fa-border-radius-sm) !important;
  padding: var(--fa-spacing-sm) var(--fa-spacing-md) !important;
  font-weight: var(--fa-font-weight-semibold) !important;
}

body.groups #subnav ul.subnav li.bp-groups-admin-tab.current a,
body.groups #subnav ul.subnav li.bp-groups-admin-tab.selected a {
  background: var(--fa-accent-coral) !important;
  color: var(--fa-primary-blue-dark) !important;
  border-color: transparent !important;
}

body.groups #subnav ul.subnav li.bp-groups-admin-tab a:hover,
body.groups #subnav ul.subnav li.bp-groups-admin-tab a:focus {
  background: var(--fa-accent-coral) !important;
  color: var(--fa-primary-blue-dark) !important;
}

/* === Resources page nav (Elementor menu) --- add `fa-resources-nav` class to the widget === */
.fa-resources-nav .e-n-menu-title-container {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background: transparent !important;
  border: none !important;
  color: var(--fa-text-white) !important;
  padding: var(--fa-spacing-xs) var(--fa-spacing-sm) !important;
  font-weight: var(--fa-font-weight-semibold) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

.fa-resources-nav .e-n-menu-title-container::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  border-radius: var(--fa-border-radius-sm);
  background: transparent;
  transition: background 0.2s ease;
}

.fa-resources-nav .e-n-menu-title.e-current .e-n-menu-title-container::after,
.fa-resources-nav .e-n-menu-title-container:hover::after,
.fa-resources-nav .e-n-menu-title-container:focus::after {
  background: var(--fa-accent-coral) !important;
}

@media (max-width: 768px) {
  .fa-resources-nav .e-n-menu-wrapper ul {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--fa-spacing-xs) !important;
  }
}
/*Atendee Details*/
.welcome-panel-column-container,
table.wp-list-table .widefat .striped .attendees .tribe-attendees,
#event-tickets__attendees-admin-form
  > .tribe-scrollable-table
  > table
  thead,
#event-tickets__attendees-admin-form
  > .tribe-scrollable-table
  > table
  tfoot {
  background-color: var(--fa-text-white);
} 

/*MY EVENTS LIST PAGE adjustments*/
        #tribe-community-events-list thead, #tribe-events-pg-template > div > div.tribe-community-events-list.tribe-community-no-items {
          background-color: var(--fa-text-white) !important;
        }
        #tribe-events-pg-template > div > h2,
        body.fa-my-events-page h1.entry-title,
        body.fa-my-events-page .bp-pagination.bottom .pag-count.bottom .pag-data,
        .search-results-header .entry-title,
        body.single-item.groups .item-entry.item-entry-header {
          color: var(--fa-text-white) !important;}

        /*Add New Button & Other buttons on dark*/
          #tribe-events-pg-template > div > a, #members-list > li > div > div.list-wrap-inner > div.member-buttons-wrap > div,
          li.bp-groups-admin-tab > a,
          .woocommerce-account nav.woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link a,
          .search_filters.item-list-tabs .component-navigation.search-nav > li > a 
        {
          border-radius: 8px;
        border: 1px solid var(--fa-accent-yellow);
        background: linear-gradient(270deg, var(--Accent-50, var(--fa-accent-yellow-light)) 8.91%, var(--Primary-Color-50, var(--fa-border-light)) 91.09%);
        color:var(--fa-text-dark);
        }

.search_filters.item-list-tabs .component-navigation.search-nav > li > a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  font-weight: 600;
  text-decoration: none;
  transition: filter 0.2s ease, border-color 0.2s ease, background 0.2s ease;
  width: 100%;
  justify-content: space-between;
}

.search_filters.item-list-tabs .component-navigation.search-nav > li > a .count {
  margin-left: 4px;
  background: transparent;
  color: inherit;
}

.search_filters.item-list-tabs .component-navigation.search-nav {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

.search_filters.item-list-tabs .component-navigation.search-nav > li {
  width: 100%;
  list-style: none;
}

        /*On dark Buttons, Selected*/
        .woocommerce-account nav.woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link.is-active a,
.woocommerce-account nav.woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link a[aria-current="page"] {
  background-color: var(--fa-accent-coral) !important;
  color:var(--fa-text-dark) !important;
  background: none;
  border: none;
}

.search_filters.item-list-tabs .component-navigation.search-nav > li.active > a,
.search_filters.item-list-tabs .component-navigation.search-nav > li.current > a,
.search_filters.item-list-tabs .component-navigation.search-nav > li.selected > a {
  background-color: var(--fa-accent-coral) !important;
  color:var(--fa-text-dark) !important;
  background: none;
  border: none;
  filter: none;
}

/*wOOCOMACCOUNT BUTTONS NAV SPACING*/
.woocommerce-account nav.woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link {
  margin: 0 0 10px;
}


          #tribe-events-pg-template > div > a:hover,
          .search_filters.item-list-tabs .component-navigation.search-nav > li > a:hover,
          .search_filters.item-list-tabs .component-navigation.search-nav > li > a:focus,
          .search_filters.item-list-tabs .component-navigation.search-nav > li > a:active
        {
          filter: brightness(1.2);
        color:var(--fa-text-dark);
        border: 1px solid var(--fa-text-white);
        font-weight: 600;
        text-decoration: none;
        }
        /*Inbox Messages Header*/
        .bp-personal-sub-tab[data-bp-user-scope="inbox"] > a {
  background: var(--fa-background-white) !important;
  border: none !important;
}

        /*Active Selected SubNav*/
        div.my-events-display-options.ce-top a.tribe-button.tribe-button-small.tribe-upcoming.tribe-button-secondary,
          #tribe-events-pg-template > div > div.tribe-nav.tribe-nav-top > div.my-events-display-options.ce-top > a.tribe-button.tribe-button-small.tribe-past.tribe-button-secondary {
          background-color: transparent !important;
          color: var(--fa-text-white);
          border-bottom: 2px solid var(--fa-accent-coral);
          border-left:0;
          border-right:0;
          border-top:0;
          border-radius: 0;
          padding: 0 0px 10px 0px !important;
          font-weight: 700;
        }

        /*SubNav*/
        #tribe-events-pg-template > div > div.tribe-nav.tribe-nav-top > div.my-events-display-options.ce-top > a.tribe-button.tribe-button-small.tribe-upcoming.tribe-button-tertiary,
        #tribe-events-pg-template > div > div.tribe-nav.tribe-nav-top > div.my-events-display-options.ce-top > a.tribe-button.tribe-button-small.tribe-past.tribe-button-tertiary,
        body.fa-my-events-page .groups-type-navs .component-navigation.groups-nav > li > a {
          background-color: transparent !important;
          color: var(--fa-text-white);
          border-left:0;
          border-right:0;
          border-top:0;
          border-bottom: 0;
          border-radius: 0;
          padding: 0 0px 10px 0px !important;
        }
        #tribe-events-pg-template > div > div.tribe-nav.tribe-nav-top > div.table-menu-wrapper.ce-top {
          display: none;
        }
        #tribe-events-pg-template > div > div.tribe-nav.tribe-nav-top > div.my-events-display-options.ce-top {
          display: flex;
          gap: 32px;
        }

/*SALES REPORT PAGE*/

  /*Header*/
  #tribe-events-report > div.tabbed-view-wrap.wrap > h1, #topics-filter > div.tablenav.top > div.tablenav-pages.no-pages > span.displaying-num {
    color: var(--fa-text-white) !important;
  }

  /*Event Details & gateway Area*/
  #tribe-order-summary > div > div, #topics-filter > div.tribe-scrollable-table > table > thead, #topics-filter > div.tribe-scrollable-table > table > tfoot {
    background-color: var(--fa-text-white) !important;
    border-radius: 8px;
    border-width: 0px;
  }
  #tribe-order-summary > div {
    border-width: 0px;
  }  

  #purchaser > a, #order > a, #email > a, #purchased > a, #date > a, #gateway > a, #gateway_order_id > a, #status > a, #total > a {
    color: var(--fa-text-dark) !important;
  }
  #topics-filter > div.tribe-scrollable-table > table > tfoot {
  display:none;
  }
  #topics-filter > div.tablenav.bottom {
    display: none;
  }
  #topics-filter > .tablenav.top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem; /* optional spacing */
}

.tablenav.top > .attendees-actions,
.tablenav.top > .attendees-filter,
.tablenav.top > .tablenav-pages.no-pages {
  width: auto !important;
  flex-shrink: 0;
}

/*MARKETPLACE MY ITEMS PAGE*/
.my-listings {
  background-color: var(--fa-text-white);
  padding: 2rem !important;
  margin-top: 2rem !important;
  border-radius: 8px;
}

.my-listings a {
  color: var(--fa-text-dark) !important;
}

.my-listings a:hover {
  color: var(--fa-primary-blue) !important;
  font-weight: 6oo !important;
}

.my-listings__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.my-listings__item {
  display: flex;
  align-items: flex-start;
  margin-bottom: 2rem;
}
.my-listings__thumb {
  margin-right: 1rem;
}
.my-listings__thumb img {
  display: block;
  width: 150px;
border-radius: 8px;
  height:100px;
  object-fit:cover;
}
.my-listings__info {
  flex: 1;
}
.my-listings__title {
  margin: 0 0 0.5rem;
  font-size: 1.25rem;
}
.my-listings__sold {
  color: #c00;
  font-weight: bold;
  margin-left: 0.5rem;
}
.my-listings__actions a {
  text-decoration: none;
  font-size: 0.9rem;
}
.my-listings__notice {
  color: green;
}

@media only screen and (max-width: 768px) {
#item-body > div > div > div > div > div.bp-profile-content > div > div > div > video {
  width: 100%;
  height: auto;
  border-radius: 8px;
}}

/*Profile Video*/
body.xprofile.bp-user.my-profile.profile.public
  .group-separator-block
  .bp-widget.details > video {
  border-radius: 8px          !important;
  width: 50% !important;
}

.my-event-requests-dashboard button {
  color: var(--fa-text-white) !important;
}

/*Submit Marketplace Items Form*/


#acf-form > div.acf-fields.acf-form-fields.-top {
  background-color: var(--fa-text-white) !important;
  padding: 2rem !important;
  border-radius: 8px;
}

#acf-form > div.acf-form-submit {
  margin-top: 2rem !important;
}

#acf-form > div.acf-form-submit > button {
  color:var(--fa-text-white) !important;
}

#acf-field_68438788de0ea > div.acf-gallery-main > div.acf-gallery-toolbar > ul > li:nth-child(1) > a {
  color:var(--fa-text-white) !important;
}

/*Resource Page Adjustments*/
/* 1) All buttons in the live‐places wrapper */
.fa-live-places-wrapper button {
  color:     var(--fa-text-white);        /* default text color */
  transition: color 0.2s, border-color 0.2s;
}

/* 2) Hover state */
.fa-live-places-wrapper button:hover {
  color:     var(--fa-text-dark);     /* new text color on hover */
  border-color:var(--fa-accent-coral);
  background-color:var(--fa-accent-coral);
  cursor:    pointer;
}

/*Non logged in signup button*/
#header-aside > div > div > a.button.small.signup {
  color: var(--fa-text-white) !important;
}

#header-aside > div > div > a.button.small.signup:hover {
  color:var(--fa-text-dark) !important;
}

/*Hide entry footer on profile page for admins*/
.entry-footer {
  display: none !important;
}

/*Category selections*/
.category-radio {
  display: none !important;
}

.event-categories-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.category-box {
  border: 2px solid var(--fa-border-gray);
  padding: 1rem;
  border-radius: 10px;
  background: var(--fa-background-light);
  text-align: center;
  width: 160px;
  cursor: pointer;
  transition: 0.2s ease;
}

.category-box .icon {
  font-size: 2rem !important;
  margin-bottom: 0.5rem;
}

.category-box .icon i {
  font-size: 2.5rem !important;
  display: inline-block;
  line-height: 1;
}

.category-box h4 {
  margin: 0;
  font-size: 1rem;
}

.category-box p {
  font-size: 0.85rem;
  color: var(--fa-text-gray);
  margin-top: 0.25rem;
}

input[type="radio"]:checked + .category-box {
  border-color: var(--fa-primary-blue);
  background-color: var(--fa-background-blue-light);
  box-shadow: 0 0 0 2px var(--fa-primary-blue);
}

/*Category Shortcode Icon CSS*/
.fa-event-cat-icon i,
.fa-event-cat-icon svg {
  font-size: 1.5em; /* Adjust size as needed */
  line-height: 1;
  vertical-align: middle;
}
.fa-event-cat-icon-with-label {
  display: inline-flex;
  align-items: center;
  gap: 0.4em; /* Space between icon and label */
  font-size: 1rem;
}

.fa-event-cat-icon-with-label i,
.fa-event-cat-icon-with-label svg {
  font-size: 1.4em;
  line-height: 1;
  vertical-align: middle;
}

/*Events archive Category Icon CSS*/
/* Style for category icon-only display */
.tribe-event-category.icon-only {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  font-size: 1.4rem;
  line-height: 1;
}

.tribe-event-category.icon-only i {
  display: inline-block;
}

/*EVENTS ARCHIVE CSS*/
/* Event card adjustments */
body.post-type-archive-tribe_events .tribe-event-tickets .tribe-events-button--reserve {
  /* Your styles here */
  background-color: var(--fa-primary-blue);
  color: var(--fa-text-white);
  padding:8px 16px;
  border-radius:8px;
}

.fa-event-card-inner .tribe-event-author {
  margin-bottom: 12px; /* Adjust as needed */
}

.fa-event-card-inner .tribe-event-tickets {
  margin-top: 12px; /* Add vertical spacing above the button */
}
.tribe-events-pro-photo__event-details {
  display:flex;
  flex-direction:column;
}


/* 1a. Nav arrows */
.swiper-button-prev::after,
.swiper-button-next::after {
  /* if your arrows are text-based or font-icons */
  color: #fff !important;
  /* remove any shadow so they’re crisp on dark backgrounds */
  text-shadow: none !important;}

  /* 1b. Pagination bullets (“ellipses”) */
.swiper-pagination-bullet {
  background-color: #fff !important;
  opacity: 0.6;    /* non-active bullets */
}

.swiper-pagination-bullet-active {
  opacity: 1;      /* active bullet */
}


/* top row: cost • location • category */
.tribe-event-info-row{
  display:flex;
  align-items:center;
  gap:0px;
  flex-wrap:wrap;          /* WRAP */
  justify-content:space-between;/* let flex take care of spacing */
  margin-bottom: .5rem;
  font-size:.9rem;
}

/* tidy the icon + label inline */
.tribe-event-category.with-label .fa-event-cat-icon-with-label{
  display:inline-flex; align-items:center; gap:.35em; line-height:1;
}
.tribe-event-category.with-label .fa-label{
  max-width:14ch; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.tribe-event-category i{ display:inline-block; vertical-align:middle; }



.tribe-event-info-row .tribe-events-pro-photo__event-cost {
  margin-top: 0 !important;
  margin-bottom: 0; /* just in case */
}

.tribe-events-pro-photo__event-title, 
.tribe-events-pro-photo__event-excerpt,
.tribe-event-author
{
  width:100%;
  flex-wrap:wrap;
}

.tribe-common-l-container.tribe-events-l-container {
  padding: 0 !important;
}

.fa-event-card-inner {
  padding: 8px !important;
  background: var(--fa-background-white); /* Optional */
  border-radius: 6px; /* Optional */
}
.tribe-event-date-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: 0.5rem;
}

.tribe-events-pro-photo__event-featured-image {
  border-radius:16px;
}

/*Site Reviews CSS*/
/*Star badge*/
/* ========== Star Rating Badge ========== */
.bb-user-review-badge {
  display: inline-block;
  margin: 0 !important;
  font-size: 1rem !important; /* Default size */
  color: var(--fa-accent-coral) !important;  /* FApink yellow */
  text-decoration: none;
  line-height: 1;
  vertical-align: middle;
}

.bb-user-review-badge:hover {
  text-decoration: underline;
}

/* OPTIONAL: Adjust star size on mobile */
@media (max-width: 480px) {
  .bb-user-review-badge {
    font-size: 0.75rem;
  }
}

/*Event type radio buttons*/
/* Hide the radio buttons completely */
input[type="radio"].event-type-radio-btn {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* Style the visual boxes */
label.event-type-box {
  display: inline-block;
  padding: 1rem;
  border: 2px solid var(--fa-border-gray);
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-align: center;
  min-width: 120px;
}

label.event-type-box .icon {
  font-size: 1.6rem;
  margin-bottom: 0.3rem;
  display: block;
}

/* Selected state */
input[type="radio"].event-type-radio-btn:checked + label.event-type-box {
  border-color: #0073aa;
  background-color: #f0f8ff;
  box-shadow: 0 0 0 2px #0073aa44;
}

/* Text inside the label */
label.event-type-box h4 {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
}
.event-type-field-container {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;

}
.event-type-field-title {
  width:100%;
}

#tribe-virtual-events > tbody > tr:nth-child(7) {
  display: none !important;
}

/*Order complete*/
.tribe-common.event-tickets .tribe-tickets__commerce-order {
  background-color: var(--fa-text-white);
  border-radius: 8px;
  padding: 16px;
}
/*Tickets Checkout*/
.tribe-common.event-tickets .tribe-tickets__commerce-checkout {
  background-color: var(--fa-text-white);
  border-radius: 8px;
  padding: 16px;
}



/* Align our custom Group Filter with the existing BuddyBoss filter controls */
/* Flex the wrapper */
.members-type-navs {
  width: 100%;
  display: block;
  margin-bottom: 15px;
}

.members-directory-container {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 10px;
  flex-direction: column; /* Forces nav to be on top */
}

#group-filter-form,
.bp-secondary-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}
#group-filter-form select {
  height: 40px;
  padding: 0 12px;
  font-size: 14px;
  border: 1px solid var(--fa-border-gray);
  border-radius: 4px;
}

/* Hide the “Venue Name Already Exists” inline warning */
div.tribe-tribe_venue-error {
  display: none !important;
}

/* Hide Organizer column */
th.tribe-dependent.column-header.column-header-organizer,
td.tribe-dependent.tribe-list-column.tribe-list-column-organizer,
/* Hide Recurring column */
th.tribe-dependent.column-header.column-header-recurring,
td.tribe-dependent.tribe-list-column.tribe-list-column-recurring {
    display: none !important;
}

/* Change "Reservations" header to "Ticket Pricing Details" */
#tribetickets .tribe-section-header h3 {
    font-size: 0; /* Hide original text but keep element */
}

#tribetickets .tribe-section-header h3:before {
    content: "Ticket Pricing Details";
    font-size: 1rem; /* Reset font size for the new text */
    color: var(--fa-primary-blue); /* Match your blue heading color */
    font-weight: 600;
}

/* Hide "Add new ticket" button text (keep button functionality) */
button#ticket_form_toggle {
    font-size: 0; /* Hide text but keep button */
}

/* Hide "New ticket" subheading */
h4#ticket_title_add, 
h4#ticket_title_edit {
    display: none !important;
}

/* hide “Sign up” (menu-item-7279) and another menu item */
@media (min-width: 768px) {
  /* using the ID */
  #menu-item-7279,
  /* or using the generated class */
  .menu-item-7279,
  /* add your other item here, e.g. #menu-item-1234 or .menu-item-1234 */
  #menu-item-7278,
  .menu-item-7278 {
    display: none !important;
  }
}

/* Hide the Ticket Name field & its label */
#ticket_form_main label[for="ticket_name"],
#ticket_form_main #ticket_name {
  display: none !important;
}

/* Hide the Ticket Description field & its label */
#ticket_form_main label[for="ticket_description"],
#ticket_form_main #ticket_description {
  display: none !important;
}

/* Hide the “Show description on frontend” checkbox */
#ticket_form_main #tribe_tickets_show_description {
  display: none !important;
}
/* Hide the first two input_block wrappers (Ticket Name & Ticket Description) */
#ticket_form_main > div.input_block:nth-of-type(1),
#ticket_form_main > div.input_block:nth-of-type(2) {
  display: none !important;
}

/*Kaylas loading modal for event templates*/
.loading-modal {
  background-color: var(--fa-text-white);
  border: 2px solid var(--fa-primary-blue);
  width:350px;
  height:350px;
  overlay:auto;
}

/*All icons color change*/
:root {
      --fa-primary-color: var(--fa-accent-coral);
      --fa-secondary-color: #263384;
    }
    
    .fad:after, .fa-duotone:after {
    color: #263384 !important;
    opacity: .8 !important;
}

/* Hide the MP “Info” tab on the profile nav */
li#mepr-bp-info-personal-li { display: none !important; }

/* Hide the same link in the admin-bar dropdown */
#wp-admin-bar-mp-info { display: none !important; }


/* ------------------------------------------------
   Hide specific membership tier price boxes on membership page
   NOTE: This is now handled dynamically in functions.php using
   WL_MEMBERSHIP_TIER_2 and WL_MEMBERSHIP_TIER_3 constants.
   This ensures it works across white-label deployments.
   ------------------------------------------------ */
/* REMOVED - Now handled by dynamic CSS in functions.php */



/* ===== Global Select2 vertical-centering (site-wide, inside forms) ===== */
:root {
  /* Match this to your normal input height. BuddyBoss is usually 40–44px. */
  --fa-field-h: 42px;
  --fa-pad-x: 12px;
}

/* Single-select */
form .select2-container .select2-selection--single {
  height: var(--fa-field-h) !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box;
  padding: 0 calc(var(--fa-pad-x) + 18px) 0 var(--fa-pad-x) !important; /* space for caret */
}

/* Rendered text */
form .select2-container .select2-selection__rendered {
  line-height: 1.2 !important;  /* don’t rely on line-height for centering */
  padding-left: 0 !important;
}

/* Caret (arrow) */
form .select2-container .select2-selection__arrow {
  height: var(--fa-field-h) !important;
  top: 0 !important;
  right: var(--fa-pad-x) !important;
  display: flex !important;
  align-items: center !important;
  transform: none !important;
}

/* Clear icon alignment (when clearable) */
form .select2-container .select2-selection__clear {
  align-self: center;
}

/* Multi-select (in case you use it anywhere) */
form .select2-container .select2-selection--multiple {
  min-height: var(--fa-field-h) !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box;
  padding: 2px var(--fa-pad-x) !important;
}
form .select2-container .select2-selection--multiple .select2-selection__rendered {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

/* Optional: guard against centered parents (Elementor/BuddyBoss rows) */
form .select2-container {
  margin-left: 0 !important;
  margin-right: auto !important;   /* keeps it left even if parent is centered */
}
/* When Select2 sits in a table cell, keep the control inline and left-aligned */
table td .select2-container { display: inline-block; }

.tribe-event-actions {
  display:flex;
  gap: 1rem;
  flex-wrap:wrap;
  justify-content: space-between;
}

/* BuddyBoss profile content should inherit page background */
.bp-profile-content {
  background-color: transparent !important;
}




body.fa-event-submission-page #tribe-community-events {
  background-color: var(--fa-text-white) !important;
  padding: 2rem !important;
  border-radius: 1rem;
}

/* Mobile sticky header */
@media (max-width: 768px) {
  #masthead {
    position: sticky;
    top: calc(env(safe-area-inset-top, 0px) + var(--adminbar, 0px));
    z-index: 1000;
  }
}
/* If the admin bar is visible, set a CSS var */
body.admin-bar { --adminbar: 46px; }      /* 32px on desktop, ~46px on mobile */
@media (min-width: 783px) {
  body.admin-bar { --adminbar: 32px; }
}

/*Dropzone css*/

.fa-dz-wrap { 
  margin: .5rem 0 1rem; 
}

#fa-dropzone,
#fa-dropzone-events {
  border: 1px solid var(--fa-border-light);
  padding: 1rem;
  border-radius: .5rem;
  background: var(--fa-background-blue-light);
  align-items:center;
  justify-content:center;
}
.dz-message {
  color:var(--fa-text-dark);
  font-weight: 700;
}

#fa-dropzone-marketplace .dz-preview .dz-remove,
#fa-dropzone-events .dz-preview .dz-remove {
  cursor: pointer;
}

/* Make DZ thumbnails square and cover-fill */
#fa-dropzone,
#fa-dropzone-marketplace,
#fa-dropzone-events {
  --dz-size: 140px; /* tweak as you like */
}

#fa-dropzone .dz-preview .dz-image,
#fa-dropzone-marketplace .dz-preview .dz-image,
#fa-dropzone-events .dz-preview .dz-image {
  width: var(--dz-size);
  height: var(--dz-size);
  border-radius: 8px;
  overflow: hidden;
  background: var(--fa-background-white);
  box-shadow: 0 1px 2px rgba(0,0,0,.06);
}

#fa-dropzone .dz-preview .dz-image img,
#fa-dropzone-marketplace .dz-preview .dz-image img,
#fa-dropzone-events .dz-preview .dz-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;     /* ⬅️ key line */
  object-position: center;
  display: block;
}

/*WOOCOM Checkout button*/
button.wc-block-components-button .wp-element-button .wc-block-components-checkout-place-order-button .contained {
  color: var(--fa-text-white);
}
/* Target the cart page outer container */
body.woocommerce-cart .wc-block-cart {
  background: var(--fa-background-light);   /* example */
  padding: 20px;         /* add some spacing if you want */
  border-radius: 8px;    /* optional */
}

/*Custom community form RSVP toggles*/
/* Free vs Paid gates (Community form) */
body.fa-event-free  .tribe-community-events #rsvp_form_toggle,
body.fa-event-free  .tribe-community-events .tribe-tickets-rsvp,
body.fa-event-free  #tribe-tickets-rsvp,
body.fa-event-free  .tribe-tickets__rsvp,
body.fa-event-free  .tribe-tickets__form { display:block !important; }

/* Hide TEC ticket controls on Community submission/edit forms */
body.tribe_community_edit .tribe-ticket-control-wrap,
body.tribe_community_submit .tribe-ticket-control-wrap {
  display: none !important;
}

/* If you also want tickets UI hidden while Free, you can hide its section here if needed
   (uncomment/adjust selectors that apply in your install) */
/* body.fa-event-free #tribetickets { display:none !important; } */

/*Configure payments button header area on add events*/
.my-events-header {
  justify-content: flex-start !important;
}
.my-events {
  flex-grow: 1 !important;
}

fieldset.fa-paidfree,
.tribe-fa-controls {
  padding: 0 !important;
  border: none !important;
}
.mepr-price-box-foot {
  width:100% !important;
}
/* When Free is selected, hide any PayPal/ticketing config nags */
  body.fa-event-free .fa-payment-setup-notice,
  body.fa-event-free .tec-tickets__commerce__notice,
  body.fa-event-free .tec-tickets__commerce__not-configured,
  body.fa-event-free .tec-tickets__commerce__paypal,
  body.fa-event-free .tribe-tickets__admin__not-configured,
  body.fa-event-free .tribe-tickets__admin__paypal-notice {
    display: none !important;
  }

  /* Put in child theme style.css or Customizer > Additional CSS */

/* 1) Show a star before labels that are required */
.tribe-community-events label:has(.req)::before,
.tribe-community-events label:has(+ input.required)::before,
.tribe-community-events label:has(~ input.required)::before,
.tribe-community-events label:has(+ select.required)::before,
.tribe-community-events label:has(~ select.required)::before,
.tribe-community-events label:has(+ textarea.required)::before,
.tribe-community-events label:has(~ textarea.required)::before,
.tribe-events-community label:has(.req)::before,
.tribe-events-community label:has(+ input.required)::before,
.tribe-events-community label:has(~ input.required)::before,
.tribe-events-community label:has(+ select.required)::before,
.tribe-events-community label:has(~ select.required)::before,
.tribe-events-community label:has(+ textarea.required)::before,
.tribe-events-community label:has(~ textarea.required)::before {
  content: "*";
  color: var(--fa-text-error);
  font-weight: 600;
  margin-right: .25rem;
  display: inline-block;
}

/* 2) (Optional) Hide the literal "(required)" text but keep it for screen readers */
.tribe-community-events label .req,
.tribe-events-community label .req {
  border: 0 !important;
  clip: rect(1px,1px,1px,1px) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  margin: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

/*Attendee new dashboard CSS*/
.fa-am__tablewrap {
  background-color: var(--fa-text-white);
}

/* Hide the secondary gradient bar on Attendees pages */
.is-attendees-dashboard .secondary-nav-wrapper {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* If Elementor injected an overlay or spacer for sticky, kill those too just in case */
.is-attendees-dashboard .secondary-nav-wrapper::before,
.is-attendees-dashboard .secondary-nav-wrapper .elementor-background-overlay {
  display: none !important;
  content: none !important;
}

/* Optional: if you see extra gap where that bar used to be, remove it */
.is-attendees-dashboard .secondary-nav-wrapper + * {
  margin-top: 0 !important;
}

.fa-rsvp-item {
    background-color: var(--fa-text-white);
  }

 button.fa-rsvp-cancel:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  color: #000000;
}

button.fa-rsvp-cancel:not(:disabled) {
  color: var(--fa-text-white); /* example: make enabled text red */
  cursor: pointer;
  font-weight: 600;
}

button.fa-rsvp-cancel:not(:disabled):hover{
  color: #080420; /* example: make enabled text red */
  cursor: pointer;
  font-weight: 600;
}

/* FirstArive chatbot input row alignment */
.mwai-chat.mwai-messages-theme .mwai-input {
  display: flex !important;
  align-items: center !important;
  flex-direction: row !important;
  gap: 0.5rem;
}

.mwai-chat.mwai-messages-theme .mwai-input .mwai-input-text {
  display: flex !important;
  align-items: center;
  flex: 1 1 auto;
  flex-wrap: nowrap;
  width: auto !important;
  margin-bottom: 0 !important;
  padding-right: 0.75rem;
}

.mwai-chat.mwai-messages-theme .mwai-input .mwai-input-text textarea {
  flex: 1 1 auto;
  width: auto !important;
  min-height: 47px !important;
}

.mwai-chat.mwai-messages-theme .mwai-input .mwai-input-text .mwai-file-upload,
.mwai-chat.mwai-messages-theme .mwai-input .mwai-input-text .mwai-microphone {
  flex: 0 0 auto;
}

.mwai-chat.mwai-messages-theme .mwai-input .mwai-input-submit {
  position: static !important;
  transform: none !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
}

@media (max-width: 768px) {
  .mwai-chat.mwai-messages-theme .mwai-input {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.75rem;
  }

  .mwai-chat.mwai-messages-theme .mwai-input .mwai-input-text {
    width: 100% !important;
  }

  .mwai-chat.mwai-messages-theme .mwai-input .mwai-input-submit {
    align-self: stretch !important;
  }
}
.marketplace-template {
    background: var(--fa-primary-blue-dark);
    padding: var(--fa-spacing-lg) 3vw;
}

.marketplace-inner {
    background: transparent;
}

.marketplace-search {
    padding: 2rem 0 4rem;
}

.marketplace-search__header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 1.5rem;
}

.marketplace-search__header h1 {
    font-size: var(--fa-font-size-xl);
    color: var(--fa-text-white);
}

.taxonomy-filter {
    position: relative;
    width: min(420px, 100%);
}

.taxonomy-filter__toggle {
    width: 100%;
    border: 1px solid var(--fa-border-light);
    border-radius: var(--fa-border-radius);
    background: var(--fa-background-white);
    color: var(--fa-primary-blue-dark);
    padding: 0.6rem 0.9rem;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    text-align: left;
    cursor: pointer;
    font-weight: var(--fa-font-weight-semibold);
}

.taxonomy-filter__toggle-label {
    font-size: var(--fa-font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--fa-text-muted, rgba(19, 30, 66, 0.65));
}

.taxonomy-filter__current {
    font-size: var(--fa-font-size-base);
    color: var(--fa-primary-blue-dark);
}

.taxonomy-filter__panel {
    position: absolute;
    top: calc(100% + 0.5rem);
    right: 0;
    width: min(480px, 90vw);
    background: var(--fa-background-white);
    border: 1px solid var(--fa-border-light);
    border-radius: var(--fa-border-radius);
    box-shadow: 0 10px 30px rgba(10, 14, 29, 0.15);
    padding: 1rem;
    z-index: 20;
}

.taxonomy-filter__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 0.75rem;
}

.taxonomy-card {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.75rem;
    border: 1px solid var(--fa-border-light);
    border-radius: var(--fa-border-radius-sm);
    background: var(--fa-background-50, #f6f8fc);
    color: var(--fa-primary-blue-dark);
    text-decoration: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.taxonomy-card__icon i {
    font-size: 1.25rem;
    color: var(--fa-primary-blue);
}

.taxonomy-card__label {
    font-size: var(--fa-font-size-sm);
    font-weight: var(--fa-font-weight-semibold);
}

.taxonomy-card:is(:hover, :focus) {
    border-color: var(--fa-primary-blue);
    box-shadow: 0 6px 16px rgba(15, 32, 74, 0.12);
    transform: translateY(-2px);
}

.taxonomy-card.is-active {
    border-color: var(--fa-primary-blue);
    background: rgba(24, 71, 191, 0.08);
}

@media (max-width: 640px) {
    .taxonomy-filter {
        width: 100%;
    }

    .taxonomy-filter__toggle {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }

    .taxonomy-filter__panel {
        position: static;
        width: 100%;
        margin-top: 0.75rem;
    }
}

.marketplace-search__card {
    padding: 1.5rem;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    background: var(--fa-background-white);
}

.marketplace-search-form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}

.marketplace-search-form input,
.marketplace-search-form select {
    padding: 0.75rem;
    border: 1px solid #d9dce7;
    border-radius: 6px;
    min-width: 200px;
}

.marketplace-search-form button {
    padding: 0.75rem 1.5rem;
    border: 1px solid var(--fa-primary-blue);
    border-radius: var(--fa-border-radius-sm);
    color: var(--fa-primary-blue);
    background: transparent;
}

.marketplace-search__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1.5rem;
}

.market-card {
    border: 1px solid var(--fa-border-light);
    border-radius: var(--fa-border-radius);
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.market-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.market-card__header .market-card__icon i {
    font-size: 1.2rem;
    color: var(--fa-primary-blue);
}

.market-card__image {
    position: relative;
    overflow: hidden;
    border-radius: 6px;
}

.market-card__slider {
    width: 100%;
}

.market-card__slider .swiper-wrapper,
.market-card__slider .swiper-slide {
    width: 100% !important;
}

.market-card__slider img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
}

.market-card__meta {
    display: flex;
    justify-content: space-between;
    font-weight: 600;
}

.market-card__footer {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.market-card__author {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.market-card__avatar img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
}

.market-card__footer a {
    color: var(--fa-primary-blue);
    font-weight: var(--fa-font-weight-semibold);
}

.market-card__icon {
    color: var(--fa-primary-blue);
    font-size: 1.1rem;
}

@media (min-width: 1024px) {
    .marketplace-search__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Group creation flow - keep UI on white background */
body.groups.create,
body.groups.create #buddypress,
body.groups.create .buddypress-wrap,
body.groups.create .bp-single-plain-nav,
body.groups.create #group-create-body,
body.groups.create form#create-group-form {
    background: var(--fa-background-white) !important;
}

body.groups.create .bp-navs.group-create-links,
body.groups.create .group-create-buttons {
    background: var(--fa-background-white) !important;
    border: 1px solid var(--fa-border-light) !important;
    border-radius: var(--fa-border-radius-sm) !important;
}

/* Group creation flow - brand palette + emphasis */
body.groups.create h2.bp-subhead,
body.groups.create h3.creation-step-name,
body.groups.create legend,
body.groups.create label,
body.groups.create .group-setting-label {
    color: var(--fa-primary-blue-dark) !important;
}

body.groups.create .group-settings-selections hr,
body.groups.create .group-settings-selections > fieldset {
    border-color: var(--fa-border-light) !important;
}

/* Step tabs */
body.groups.create .group-create-buttons li a,
body.groups.create .group-create-buttons li span {
    color: var(--fa-primary-blue-dark) !important;
    padding: var(--fa-spacing-xs) var(--fa-spacing-sm) !important;
}

body.groups.create .group-create-buttons li.current a,
body.groups.create .group-create-buttons li.current span {
    background: var(--fa-primary-blue) !important;
    color: var(--fa-text-white) !important;
    border-color: var(--fa-primary-blue) !important;
}

/* Radios - use brand accent */
body.groups.create input[type="radio"].bs-styled-radio {
    accent-color: var(--fa-accent-coral) !important;
}

/* Prev/Next buttons */
body.groups.create #group-creation-previous,
body.groups.create #group-creation-next {
    background: var(--fa-button-bg) !important;
    color: var(--fa-button-text) !important;
    border: 1px solid var(--fa-button-bg) !important;
    border-radius: var(--fa-border-radius-sm) !important;
    font-weight: var(--fa-font-weight-semibold) !important;
}

body.groups.create #group-creation-previous:hover,
body.groups.create #group-creation-next:hover {
    background: var(--fa-button-hover-bg) !important;
    color: var(--fa-button-hover-text) !important;
    border-color: var(--fa-button-hover-border) !important;
}

/* Step 5 invite buttons + finish button */
body.groups.create #send_group_invite_button,
body.groups.create #bp_invites_reset,
body.groups.create #group-creation-finish {
    background: var(--fa-button-bg) !important;
    color: var(--fa-button-text) !important;
    border: 1px solid var(--fa-button-bg) !important;
    border-radius: var(--fa-border-radius-sm) !important;
    font-weight: var(--fa-font-weight-semibold) !important;
}

body.groups.create #send_group_invite_button:hover,
body.groups.create #bp_invites_reset:hover,
body.groups.create #group-creation-finish:hover {
    background: var(--fa-button-hover-bg) !important;
    color: var(--fa-button-hover-text) !important;
    border-color: var(--fa-button-hover-border) !important;
}

/* Item category icon + label spacing */
.fa-item-cat-icon {
    display: inline-flex !important;
    align-items: center !important;
    gap: var(--fa-spacing-xs) !important;
}

.fa-item-cat-icon .fa-item-cat-label {
    margin-left: 0 !important;
}

/* Global BuddyBoss blue → brand variables */
body.buddypress input[type="radio"],
body.buddypress input[type="checkbox"] {
    accent-color: var(--fa-primary-blue) !important;
}

/* BuddyBoss styled radios (uses pseudo elements) → brand coral */
body.groups .bs-styled-radio + label:before,
body.groups .bs-styled-radio + .bb-radio-label:before {
    border-color: var(--fa-primary-blue) !important;
}

body.groups .bs-styled-radio:checked + label:before,
body.groups .bs-styled-radio:checked + .bb-radio-label:before {
    background: var(--fa-accent-coral) !important;
    border-color: var(--fa-primary-blue) !important;
    box-shadow: 0 0 0 2px var(--fa-primary-blue) inset !important;
}

/* Primary actions (catch default BuddyBoss blue) (TEMP DISABLE)
body.buddypress a.button.primary,
body.buddypress button.primary,
body.buddypress .button.primary,
body.buddypress a.button.bp-primary-action,
body.buddypress .bp-primary-action button,
body.buddypress .generic-button a.button,
body.buddypress .generic-button button {
    background: var(--fa-primary-blue) !important;
    color: var(--fa-text-white) !important;
    border-color: var(--fa-primary-blue) !important;
}
*/

body.buddypress a.button.primary:hover,
body.buddypress button.primary:hover,
body.buddypress .button.primary:hover,
body.buddypress a.button.bp-primary-action:hover,
body.buddypress .bp-primary-action button:hover,
body.buddypress .generic-button a.button:hover,
body.buddypress .generic-button button:hover {
    background: var(--fa-accent-coral) !important;
    color: var(--fa-primary-blue-dark) !important;
    border-color: var(--fa-accent-coral-dark) !important;
}

/* Force BuddyBoss core button set to brand palette (temporary disable)
#buddypress .comment-reply-link,
#buddypress .generic-button a,
#buddypress .standard-form button:not(.search-form_reset),
#buddypress a.button,
#buddypress input[type=button],
#buddypress input[type=reset],
#buddypress input[type=submit],
#buddypress ul.button-nav li a,
.bb-card-footer .generic-button a,
a.bp-title-button {
    background-color: var(--fa-primary-blue) !important;
    border: 1px solid var(--fa-primary-blue) !important;
    color: var(--fa-text-white) !important;
}

#buddypress .comment-reply-link:hover,
#buddypress .generic-button a:hover,
#buddypress .standard-form button:not(.search-form_reset):hover,
#buddypress a.button:hover,
#buddypress input[type=button]:hover,
#buddypress input[type=reset]:hover,
#buddypress input[type=submit]:hover,
#buddypress ul.button-nav li a:hover,
.bb-card-footer .generic-button a:hover,
a.bp-title-button:hover {
    background-color: var(--fa-accent-coral) !important;
    border-color: var(--fa-accent-coral-dark) !important;
    color: var(--fa-primary-blue-dark) !important;
}
*/

/* Live places (resource map) buttons → brand primary */
.fa-live-places-controls button,
.fa-live-places-geolocate,
.fa-view-map-button,
.fa-live-places-wrapper button {
    background: var(--fa-button-bg) !important;
    color: var(--fa-button-text) !important;
    border: 1px solid var(--fa-button-bg) !important;
    border-radius: var(--fa-border-radius-sm) !important;
    font-weight: var(--fa-font-weight-semibold) !important;
    padding: var(--fa-spacing-xs) var(--fa-spacing-md) !important;
}

.fa-live-places-controls button:hover,
.fa-live-places-geolocate:hover,
.fa-view-map-button:hover,
.fa-live-places-wrapper button:hover {
    background: var(--fa-button-hover-bg) !important;
    color: var(--fa-button-hover-text) !important;
    border-color: var(--fa-button-hover-border) !important;
}

/* Extra specificity to beat inline/parent rules on live places buttons */
.fa-live-places-wrapper .fa-live-places-controls .fa-live-places-location-button,
.fa-live-places-wrapper .fa-live-places-controls .fa-live-places-geolocate,
.fa-live-places-wrapper .fa-view-map-button {
    background-color: var(--fa-button-bg) !important;
    border: 1px solid var(--fa-button-bg) !important;
    color: var(--fa-button-text) !important;
    border-radius: var(--fa-border-radius-sm) !important;
}

.fa-live-places-wrapper .fa-live-places-controls .fa-live-places-location-button:hover,
.fa-live-places-wrapper .fa-live-places-controls .fa-live-places-geolocate:hover,
.fa-live-places-wrapper .fa-view-map-button:hover {
    background-color: var(--fa-button-hover-bg) !important;
    border-color: var(--fa-button-hover-border) !important;
    color: var(--fa-button-hover-text) !important;
}

/* Activity stream like/comment buttons - transparent */
.buddypress .activity-list .generic-button a,
.buddypress .activity-meta .button,
.buddypress .activity-meta a.button {
    background: transparent !important;
    border: none !important;
    color: var(--fa-primary-blue) !important;
    box-shadow: none !important;
}

.buddypress .activity-list .generic-button a:hover,
.buddypress .activity-meta .button:hover,
.buddypress .activity-meta a.button:hover {
    background: transparent !important;
    color: var(--fa-accent-coral) !important;
    border: none !important;
    box-shadow: none !important;
}

/* Meetup participation requests filter buttons */
.requests-filter .filter-btn {
    background: var(--fa-background-white) !important;
    color: var(--fa-primary-blue) !important;
    border: 1px solid var(--fa-primary-blue) !important;
    border-radius: var(--fa-border-radius-sm) !important;
    padding: var(--fa-spacing-xs) var(--fa-spacing-md) !important;
    font-weight: var(--fa-font-weight-semibold) !important;
}

.requests-filter .filter-btn.active,
.requests-filter .filter-btn:hover {
    background: var(--fa-primary-blue) !important;
    color: var(--fa-text-white) !important;
    border-color: var(--fa-primary-blue) !important;
}

/* Meetup participation approve/deny buttons - use primary button vars */
.request-actions {
    display: inline-flex;
    gap: var(--fa-spacing-xs);
    align-items: center;
    flex-wrap: wrap;
}

.request-actions .approve-request,
.request-actions .deny-request {
    background: var(--fa-button-bg) !important;
    color: var(--fa-button-text) !important;
    border: 1px solid var(--fa-button-bg) !important;
    border-radius: var(--fa-border-radius-sm) !important;
    font-weight: var(--fa-font-weight-semibold) !important;
    font-family: var(--bb-body-font-family, inherit) !important;
    padding: var(--fa-spacing-xs) var(--fa-spacing-md) !important;
    cursor: pointer;
}

.request-actions .approve-request:hover,
.request-actions .deny-request:hover {
    background: var(--fa-button-hover-bg) !important;
    color: var(--fa-button-hover-text) !important;
    border-color: var(--fa-button-hover-border) !important;
}

/* Ticket quantity +/- buttons - circular primary buttons */
.tribe-tickets__tickets-item-quantity-remove,
.tribe-tickets__tickets-item-quantity-add {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    align-self: center;
    border-radius: 50% !important;
    background: var(--fa-button-bg) !important;
    color: var(--fa-button-text) !important;
    border: 1px solid var(--fa-button-bg) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    line-height: 1 !important;
    font-size: 20px !important;
    font-weight: var(--fa-font-weight-semibold) !important;
    font-family: var(--bb-body-font-family, inherit) !important;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.tribe-tickets__tickets-item-quantity-remove:hover,
.tribe-tickets__tickets-item-quantity-add:hover {
    background: var(--fa-button-hover-bg) !important;
    color: var(--fa-button-hover-text) !important;
    border-color: var(--fa-button-hover-border) !important;
}

.tribe-tickets__tickets-item-quantity-remove:focus,
.tribe-tickets__tickets-item-quantity-add:focus {
    outline: 2px solid var(--fa-button-hover-border, var(--fa-primary-blue)) !important;
    outline-offset: 2px;
}

/* Registration page heading text on dark background */
body.register #primary h1.entry-title,
body.register .entry-header .entry-title {
    color: var(--fa-text-white) !important;
}

/* Hide video introduction field on registration pages */
body.register .mepr_mepr_video_introduction {
    display: none !important;
}

/* Hide video recorder UI when video requirement is disabled */
body.fa-video-required-off .mpvr-recorder-container {
    display: none !important;
}

/* Signup cards - match primary buttons (radius + hover text color) */
body.register .mepr-price-menu .mepr-price-box .mepr-price-box-button a,
body.register .mepr-price-menu .mepr-price-box-foot a,
.mepr-price-menu.minimal_horizontal .mepr-price-box .mepr-price-box-button a,
.mepr-price-menu.minimal_vertical .mepr-price-box .mepr-price-box-button a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    border-radius: var(--fa-border-radius-sm, 8px) !important;
    background: var(--fa-button-bg) !important;
    color: var(--fa-button-text) !important;
    border: 1px solid var(--fa-button-bg) !important;
    font-weight: var(--fa-font-weight-semibold) !important;
    font-family: var(--bb-body-font-family, inherit) !important;
    padding: var(--fa-spacing-sm) var(--fa-spacing-lg) !important;
    text-decoration: none !important;
    box-shadow: none !important;
    line-height: 1.1 !important;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

body.register .mepr-price-menu .mepr-price-box .mepr-price-box-button a:hover,
body.register .mepr-price-menu .mepr-price-box .mepr-price-box-button a:focus,
body.register .mepr-price-menu .mepr-price-box-foot a:hover,
body.register .mepr-price-menu .mepr-price-box-foot a:focus,
.mepr-price-menu.minimal_horizontal .mepr-price-box .mepr-price-box-button a:hover,
.mepr-price-menu.minimal_horizontal .mepr-price-box .mepr-price-box-button a:focus,
.mepr-price-menu.minimal_vertical .mepr-price-box .mepr-price-box-button a:hover,
.mepr-price-menu.minimal_vertical .mepr-price-box .mepr-price-box-button a:focus {
    background: var(--fa-button-hover-bg) !important;
    color: var(--fa-button-hover-text) !important; /* dark blue text */
    border-color: var(--fa-button-hover-border) !important;
}

/* AI chatbot buttons (shortcuts + send) → brand primary */
.mwai-chat .mwai-shortcut,
.mwai-chat .mwai-shortcut button,
.mwai-chat .mwai-input-submit,
.mwai-chat .mwai-input-submit button {
    background: var(--fa-button-bg) !important;
    color: var(--fa-button-text) !important;
    border: 1px solid var(--fa-button-bg) !important;
    border-radius: var(--fa-border-radius-sm) !important;
    font-weight: var(--fa-font-weight-semibold) !important;
    padding: var(--fa-spacing-xs) var(--fa-spacing-md) !important;
}

.mwai-chat .mwai-shortcut:hover,
.mwai-chat .mwai-shortcut button:hover,
.mwai-chat .mwai-input-submit:hover,
.mwai-chat .mwai-input-submit button:hover {
    background: var(--fa-button-hover-bg) !important;
    color: var(--fa-button-hover-text) !important;
    border-color: var(--fa-button-hover-border) !important;
}

/* Hide BuddyBoss login/logout menu items on desktop & tablet */
@media (min-width: 768px) {
    .bp-login-nav,
    .bp-register-nav {
        display: none !important;
    }
}

/* Prevent long strings in event description from overflowing */
.single .elementor-widget-theme-post-content,
.single .elementor-widget-theme-post-content p {
  overflow-wrap: break-word;
  word-break: break-word;
  hyphens: auto;
}

/* Event cards: prevent overflow and clamp excerpt to 2 lines */
.fa-event-card-inner .tribe-events-pro-photo__event-excerpt {
  overflow-wrap: break-word;
  word-break: break-word;
  hyphens: auto;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Subscribe to calendar button (use brand gradient on dark bg) */
.tribe-common-c-btn-border.tribe-events-c-subscribe-dropdown__button {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.tribe-events-c-subscribe-dropdown__button-text {
  display: inline-flex !important;
  align-items: center !important;
  gap: var(--fa-spacing-xs, 6px);
  background: var(--fa-gradient-accent, linear-gradient(90deg, var(--fa-accent-yellow, #f6c344) 0%, var(--fa-accent-coral, #f47c6e) 100%)) !important;
  color: var(--fa-primary-blue-dark, #0f214a) !important;
  border: 1px solid transparent !important;
  border-radius: var(--fa-border-radius-sm, 8px) !important;
  padding: var(--fa-spacing-sm, 8px) var(--fa-spacing-lg, 20px) !important;
  font-weight: var(--fa-font-weight-semibold, 600) !important;
  font-family: var(--bb-body-font-family, inherit) !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease;
}

.tribe-events-c-subscribe-dropdown__button-text:hover,
.tribe-events-c-subscribe-dropdown__button-text:focus {
  opacity: 0.9;
  color: var(--fa-primary-blue-dark, #0f214a) !important;
}

.tribe-events-c-subscribe-dropdown__button-icon path {
  fill: var(--fa-primary-blue-dark, #0f214a) !important;
}

/* Force FA primary button styling for this specific Elementor button (HOMEPAGE)*/
.elementor .elementor-element-1e768439 .elementor-button {
  background: var(--fa-button-bg) !important;
  color: var(--fa-button-text) !important;
  border-color: var(--fa-button-bg) !important;
}
.elementor .elementor-element-1e768439 .elementor-button:hover {
  background: var(--fa-button-hover-bg) !important;
  color: var(--fa-button-hover-text) !important;
  border-color: var(--fa-button-hover-border) !important;
}

/* Elementor primary button utility (add class "fa-primary-btn" or reuse "blue-button-adj" on the widget) */
.elementor .fa-primary-btn .elementor-button,
.elementor .fa-primary-btn .elementor-button-link,
.elementor .blue-button-adj .elementor-button,
.elementor .blue-button-adj .elementor-button-link {
  background: var(--fa-button-bg) !important;
  color: var(--fa-button-text) !important;
  border-color: var(--fa-button-bg) !important;
}
.elementor .fa-primary-btn .elementor-button:hover,
.elementor .fa-primary-btn .elementor-button-link:hover,
.elementor .blue-button-adj .elementor-button:hover,
.elementor .blue-button-adj .elementor-button-link:hover {
  background: var(--fa-button-hover-bg) !important;
  color: var(--fa-button-hover-text) !important;
  border-color: var(--fa-button-hover-border) !important;
}

/* Elementor loop cards: clamp post excerpt to 2 lines (HOME) */
.elementor .elementor-widget-theme-post-excerpt p {
  line-clamp: 2; /* standards syntax */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Hide duplicate ticket button on Community Add/Edit event pages */
body.path-events-community .ticket_duplicate,
body.path-events-community-add .ticket_duplicate,
body.path-events-community-edit .ticket_duplicate,
.ticket_duplicate {
  display: none !important;
}

/* BuddyBoss profile search form submit button (use FA primary) /members/ */
.bps-form .submit-wrapper input[type="submit"],
.bps-form input[type="submit"].submit {
  background: var(--fa-button-bg) !important;
  color: var(--fa-button-text) !important;
  border: 1px solid var(--fa-button-bg) !important;
  border-radius: var(--fa-border-radius-sm, 4px) !important;
  padding: var(--fa-spacing-sm, 8px) var(--fa-spacing-lg, 32px) !important;
  font-weight: var(--fa-font-weight-semibold, 600) !important;
  font-family: var(--bb-body-font-family, inherit) !important;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.bps-form .submit-wrapper input[type="submit"]:hover,
.bps-form input[type="submit"].submit:hover {
  background: var(--fa-button-hover-bg) !important;
  color: var(--fa-button-hover-text) !important;
  border-color: var(--fa-button-hover-border) !important;
}

/* Community tickets panel: allow container to grow to content (mobile) */
#tribetickets.tribe-section-tickets {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  overflow: visible !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
}
#tribetickets .tribe-section-content {
  overflow: visible !important;
  height: auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  padding: 0 !important;
  position: static !important;
}
#tribetickets .tribe-section-content::after {
  content: "";
  display: block;
  clear: both;
}
#tribetickets .eventtable {
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  height: auto !important;
  min-height: 0 !important;
  float: none !important;
  position: static !important;
}
#tribetickets .ticket_list_container,
#tribetickets .tribe-ticket-list-table,
#tribetickets .eventtable.ticket_list {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
}
#tribetickets table,
#tribetickets table * {
  height: auto !important;
  min-height: 0 !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
}

/* Hide unused ticket intro/warnings in Community tickets block */
#tribetickets .ticket_table_intro,
#tribetickets .ticket_table_intro__warnings {
  display: none !important;
}

.fa-resource-icon i,
.fa-resource-icon svg {
  font-size: 1.5rem !important;
  line-height: 1 !important;
}

/* ── Event: conditional street address visibility ───────────────────────────
   Default: hide street address (privacy-first, matches previous global rule).
   Show only when the organizer explicitly opts in via the event form.        */
.tribe-street-address {
  display: none;
}
body.fa-show-full-address .tribe-street-address {
  display: block;
}
