/*
Theme Name: Kadence Child
Theme URI: https://yourwebsite.com
Description: Child theme for Kadence
Author: Your Name
Author URI: https://yourwebsite.com
Template: kadence
Version: 1.0.0
*/

/* =Theme customization starts here
------------------------------------------------------- */

/*** Responsive Styles Large Desktop And Above ***/
@media all and (min-width: 1405px) {
}
/*** Responsive Styles Standard Desktop Only ***/
@media all and (min-width: 1100px) and (max-width: 1405px) {
}
/*** Responsive Styles Tablet And Below ***/
@media all and (max-width: 980px) {
}
/*** Responsive Styles Tablet Only ***/
@media all and (min-width: 768px) and (max-width: 980px) {
}
/*** Responsive Styles Smartphone Only ***/
@media all and (max-width: 767px) {
}
/*** Responsive Styles Smartphone Portrait ***/
@media all and (max-width: 479px) {
}

/* ------------- 1. general styles ------------- */

h1, h2, h3, h4, h5, h6 {overflow-wrap: normal;}

sup {
    position: relative;
    top: -0.5em;
    font-size: 12px;
    margin-right: 2px;
}

 p {
    margin-bottom: 0px;
}

/* Remove required text line for gravity form Asterisk: * */
p.gform_required_legend {
    display: none;
}
.site-container, .site-header-row-layout-contained, .site-footer-row-layout-contained, .entry-hero-layout-contained, .alignfull>.wp-block-cover__inner-container, .alignwide>.wp-block-cover__inner-container {
    margin: 0 auto;
    padding: 0;
}
/* Footer */
.widget_nav_menu a:hover {
    text-decoration: none!important;
}
.widget_pages a, .widget_nav_menu a {
    display: block;
    padding: 0.1em 0;
    text-decoration: none;
}
@media screen and (max-width: 1024px) {
    .footer-widget-area.content-tablet-align-center {
        text-align: left;
    }
}

.collapse-sub-navigation ul.menu li a:hover {
    text-decoration: none !important;
}

/* Menu Navigation - dropdown Mobile */
.kadence-svg-iconset svg {
    height: 1.2em;
    width: 1.2em;
}
.site-branding a.brand {
    gap: 0;
}
.site-title-wrap {
    display: none;
}
/* Breadcrumbs */
.kadence-breadcrumbs {
    margin: 0em 0;
}
.kadence-breadcrumbs a {
    text-decoration: none;
}
.kadence-breadcrumbs a:hover {
    text-decoration: underline;
}
.site-header-item .header-account-in-wrap .header-account-button .header-account-label,
.site-header-item .header-account-in-wrap .header-account-button .header-account-username {
    display: inline-block;
    max-width: 18ch; /* 18 characters */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* -------- Header ------ */
@media screen and (max-width: 1242px) {
.site-bottom-header-wrap .site-header-row-container-inner {
    padding: 0!important;
}
.site-header-row-layout-fullwidth>.site-header-row-container-inner>.site-container {
    padding: 0 var(--global-content-boxed-padding)!important;
}
.header-search-bar form {
    width: 200px;
}
.site-branding a.brand img.svg-logo-image {
    width: 290px;
}
.site-header-item .header-account-in-wrap .header-account-button .header-account-username {
   display: none;
}
.site-header-item .header-account-in-wrap .header-account-button {
    padding: 0.6em 1em 0.6em 0.8em !important;
}
.main-navigation .primary-menu-container > ul li.menu-item > a {
    font-size: 18px;
}
.header-social-wrap {
    display: none;
}
}
/* ------------- a. Gravity contact form ------------- */

div#gform_wrapper_3 {
    background-color: var(--pmpro--color--base);
    border: 1px solid var(--pmpro--color--border--variation);
    box-shadow: var(--pmpro--box-shadow);
    display: flex;
    flex-direction: column;
    margin: var(--pmpro--base--spacing--medium) 0;
    overflow: hidden;
    padding: 30px;
}

.gform_wrapper ul.gform_fields li {
    list-style: none;
}
.gform_wrapper ul.gform_fields {
    padding-left: 0 !important;
}
.gform_wrapper .hidden_label label {
    display: none;
}

/*
 * Gravity Forms 2.5+ (Orbital / gravity-theme): hidden and administrative-only
 * fields still render full .gfield grid rows, which creates large vertical gaps.
 * Collapse the wrapper; hidden inputs remain in the DOM and still submit.
 */
.gform_wrapper .gfield.gfield--type-hidden,
.gform_wrapper .gfield.gfield_visibility_administrative {
	display: none !important;
}

.gform_wrapper.gravity-theme .gfield_label {
	margin-bottom: 8px !important;
	padding: 0;
}

.gform_wrapper.gravity-theme .field_description_above .gfield_description {
	padding-top: 0;
	padding-bottom: 10px;
}

.gform_wrapper.gravity-theme .ginput_product_price,
.gform_wrapper.gravity-theme .ginput_shipping_price {
	color: var(--global-palette2);
	font-weight: 700;
	font-size: 19px !important;
	border: 0 !important;
}

/* SPONSORS PAGE */
.acld-sponsors-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 24px;
  margin: 0;
}
.sponsor-box {
  border: 1px solid #dddddd;
  border-radius: 0px;
  padding: 20px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: all 0.3s ease;
  min-height: 300px;
}
.sponsor-box:hover {
  background: #fff;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}
.sponsor-logo {
  text-align: center;
  margin-bottom: 12px;
}
.sponsor-logo img {
  max-height: 80px;
  width: auto;
  object-fit: contain;
  margin: 0 auto;
}
.sponsor-title {
    font-size: 20px;
    margin: 10px 0 6px;
    color: inherit;
    text-transform: uppercase;
    font-weight: bold;
    /* text-transform: uppercase; */
    font-family: var(--global-heading-font-family);
    line-height: 1.1;
    text-align: center;
    color: var(--global-palette3);
}
.sponsor-desc {
  font-size: 15px;
  line-height: 1.5em;
  color: inherit; /* Inherit color from theme */
  flex-grow: 1;
}
.sponsor-link {
  margin-top: 12px;
}
.sponsor-link a {
color: inherit;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: opacity 0.3s ease;
    font-weight: 600;
    font-size: 18px;
    letter-spacing: 0em;
    font-family: 'League Spartan', sans-serif;
    text-transform: uppercase;
}
.sponsor-link a:hover {
  opacity: 0.75;
}
.sponsor-link .kb-svg-icon-wrap {
  display: inline-flex;
  width: 18px;
  height: 18px;
  stroke-width: 2px;
}

.header-navigation .header-menu-container ul ul li.menu-item > a {
    padding-top: 1.2em!important;
    padding-bottom: 0.9em;
}
.header-account-style-icon_name .header-account-username {
padding: 3px 5px 1px 5px;
}

.nav--toggle-sub .dropdown-nav-toggle {
    font-size: 1em;
}
.header-search-bar form input.search-field {
    border-radius: 0px;
}
.box-hero p {
        margin-top: 5px;
}
a.social-button.header-social-item.social-link-youtube .kadence-svg-iconset svg {
    height: 1.4em;
    width: 1.4em;
}
a.social-button.header-social-item.social-link-youtube {
    margin-left: 3px;
}
.nav--toggle-sub .dropdown-nav-toggle .kadence-svg-iconset.svg-baseline svg {
    top: 0em!important;
}
.kadence-svg-iconset.svg-baseline svg {
    top: 0;
}
.position-height {
    min-height:30px;
}
/* ==========================
   HERO BOX STYLING
   ========================== */

.gotb-hero-box {
  display: block;
  padding: 1.5rem 1.5rem 1.3rem;
  border-radius: 0px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  text-decoration: none;
  max-width: 500px;
}

.gotb-hero-box:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 30px rgba(0,0,0,0.15);
}

/* --- Title --- */
.hero-box-title {
  font-size: 22px;
  text-transform: uppercase;
  font-family: var(--global-heading-font-family, inherit);
  font-style: normal;
  font-weight: 600;
  line-height: 1.3;
  margin-bottom: 0.1rem;
}
p.hero-box-subtitle {
    margin: 0;
}
/* --- Subtitle --- */
.hero-box-subtitle {
  font-size: 22px;
  text-transform: uppercase;
  font-family: var(--global-heading-font-family, inherit);
  font-style: normal;
  font-weight: 500;
  line-height: 1.3;
  margin-bottom: 0rem;
}

/* --- Content --- */
.hero-box-content {
  font-size: 16px;
  line-height: 1.3em;
  margin-bottom: 0rem;
}
.hero-box-content p {
    margin: 5px 0 0;
}

.hero-box-content a {
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: opacity 0.2s ease;
}

.hero-box-content a:hover {
  opacity: 0.8;
}

/* --- Image --- */
.hero-box-image img {
  max-width: 200px;
  margin-bottom: 0.4rem;
  margin-top:-1rem;
}

/* --- Link wrapper --- */
.gotb-hero-box-link {
  display: inline-block;
  text-decoration: none;
}

/* ==========================
   RESPONSIVE ADJUSTMENTS
   ========================== */

@media (max-width: 1024px) {
  .gotb-hero-box {
    padding: 1.8rem;
    max-width: 400px;
  }
  .hero-box-title {
    font-size: 21px;
  }

  .hero-box-subtitle {
    font-size: 21px;
  }

  .hero-box-content {
    font-size: 15px;
  }
}

@media (max-width: 767px) {
  .gotb-hero-box {
    padding: 1.5rem;
  }

  .hero-box-title {
    font-size: 18px;
  }

  .hero-box-subtitle {
    font-size: 16px;
  }

  .hero-box-content {
    font-size: 15px;
  }
}

.collapse-sub-navigation ul.menu li a {
    text-decoration: none;
    width: 100%;
padding-top: .9em!important;
    padding-bottom: .9em!important;
    border-bottom: 1px solid #ffffff45!important; 
    font-style: normal;
    font-weight: 600;
    font-size: 21px;
    line-height: 1.1;
    font-family: var(--global-primary-nav-font-family);
    text-transform: uppercase;
}
.collapse-sub-navigation ul.menu li a:active {
   color: #ffffff45!important; 
}
.collapse-sub-navigation ul.menu .drawer-nav-drop-wrap .drawer-sub-toggle {
    border-left: 0px!important; 
    border-bottom: 1px solid #ffffff45!important; 
}

/* Single event: date/time is in sidebar (acld-sidebar-when); hide duplicate in main column (block + classic). Leave .tribe-events-cost visible. */
.single-tribe_events #tribe-events-content .tribe-events-schedule .tribe-events-schedule__datetime,
.single-tribe_events #tribe-events-content .tribe-events-schedule > h2 {
	display: none;
}

/*
 * On mobile, TEC still styles .tribe-events-schedule with border/background even when the
 * date/time block above is hidden — remove the empty box frame in the main column (#primary).
 */
@media (max-width: 768px) {
	.single-tribe_events #primary .tribe-events-schedule,
	.single-tribe_events .acld-education__content .tribe-events-schedule,
	.single-tribe_events .tribe-events-single-event-description .tribe-events-schedule {
		border: none !important;
		background: transparent !important;
		box-shadow: none !important;
		padding: 0 !important;
		margin: 0 !important;
		min-height: 0 !important;
	}

	.single-tribe_events #primary .tribe-events-schedule:empty,
	.single-tribe_events .acld-education__content .tribe-events-schedule:empty,
	.single-tribe_events .tribe-events-single-event-description .tribe-events-schedule:empty {
		display: none !important;
	}
}

/* Events Calendar – hide Add to Calendar in main content only; sidebar placement is handled separately. */
.single-tribe_events #primary .tribe-events-c-subscribe-dropdown__container,
.acld-education__section--about .tribe-events-c-subscribe-dropdown__container {
	display: none !important;
}
/*
 * Collapse the main-content subscribe wrapper when it would otherwise be an empty box.
 * Do not hide this ancestor when RSVP or Event Tickets content lives inside the same node;
 * a broad :has(subscribe) rule hid registration UI along with Add to Calendar.
 */
.single-tribe_events #primary .tribe-events.tribe-common:has(.tribe-events-c-subscribe-dropdown__container):not(:has(.tribe-block__rsvp)):not(:has(.event-tickets)):not(:has(.tribe-tickets)) {
	display: none !important;
}
.single-tribe_events .tribe-block.tribe-block__event-price {
	display: none !important;
}

/* Event tickets – tickets form container */
.event-tickets .tribe-tickets__tickets-form {
	background-color: var(--pmpro--color--base, #fff);
	border-radius: 0;
	margin: var(--pmpro--base--spacing--medium, 1rem) 0;
	max-width: 100%;
	overflow: hidden;
	padding: var(--tec-spacer-3) var(--tec-spacer-3) var(--tec-spacer-4);
	width: 100%;
	font-size: 0.95rem;
	flex-direction: row;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	position: relative;
}

/* Event tickets – tickets title */
.event-tickets .tribe-tickets__tickets-title {
	color: #962a80;
	margin: 0 0 var(--tec-spacer-1);
}

/* Event tickets – RSVP wrapper */
.event-tickets .tribe-tickets__rsvp-wrapper {
	background-color: var(--tec-color-background);
	border: 1px solid var(--pmpro--color--border--variation, #ddd);
	border-radius: 0;
	margin-top: var(--tec-spacer-6);
	max-width: 100% !important;
	overflow: hidden;
	position: relative;
	transition: all 0.3s ease;
	width: 100%;
}

/* Event tickets – match Kadence button styling (Get Tickets, Going, RSVP submit) */
.single-tribe_events .tribe-tickets__buy,
.single-tribe_events .tribe-common-c-btn,
.single-tribe_events .tribe-block__rsvp__status-button,
.single-tribe_events .tribe-block__rsvp__submit-button,
.single-tribe_events .tribe-tickets__rsvp-form-button,
.single-tribe_events .tribe-tickets__rsvp-actions-button-going {
	font-style: normal;
	font-weight: 600;
	font-size: 18px;
	letter-spacing: 0em;
	font-family: 'League Spartan', sans-serif;
	text-transform: uppercase;
	border-radius: 0;
	padding: 9px 17px 5px 17px;
	margin: 8px 0;
	color: var(--global-palette9);
	background: var(--global-palette2);
	border: 2px solid var(--global-palette2);
	box-shadow: 0 0 0 -7px rgba(0, 0, 0, 0);
}
.single-tribe_events .tribe-tickets__buy:hover,
.single-tribe_events .tribe-tickets__buy:focus,
.single-tribe_events .tribe-common-c-btn:hover,
.single-tribe_events .tribe-common-c-btn:focus,
.single-tribe_events .tribe-block__rsvp__status-button:hover,
.single-tribe_events .tribe-block__rsvp__status-button:focus,
.single-tribe_events .tribe-block__rsvp__submit-button:hover,
.single-tribe_events .tribe-block__rsvp__submit-button:focus,
.single-tribe_events .tribe-tickets__rsvp-form-button:hover,
.single-tribe_events .tribe-tickets__rsvp-form-button:focus,
.single-tribe_events .tribe-tickets__rsvp-actions-button-going:hover,
.single-tribe_events .tribe-tickets__rsvp-actions-button-going:focus {
	color: var(--global-palette9);
	background: var(--global-palette2);
	border-color: var(--global-palette2);
}
.single-tribe_events .tribe-block__rsvp__status-button.tribe-active {
	color: var(--global-palette9);
	background: var(--global-palette2);
	border-color: var(--global-palette2);
}
.single-tribe_events .tribe-block__rsvp__status-button.tribe-inactive {
	color: var(--global-palette6);
	background: #fff;
	border-color: var(--tec-color-border-default, #e1e3e6);
}
.single-tribe_events .tribe-block__rsvp__status-button.tribe-inactive:hover,
.single-tribe_events .tribe-block__rsvp__status-button.tribe-inactive:focus {
	color: var(--global-palette9);
	background: var(--global-palette2);
	border-color: var(--global-palette2);
}

/* Event list/archive – Get Tickets link matches Kadence button */
.post-type-archive-tribe_events .tribe-events-c-small-cta__link,
.tribe-events-list .tribe-events-c-small-cta__link {
	font-style: normal;
	font-weight: 600;
	font-size: 18px;
	letter-spacing: 0em;
	font-family: 'League Spartan', sans-serif;
	text-transform: uppercase;
	border-radius: 0;
	padding: 9px 17px 5px 17px;
	margin: 8px 0;
	color: var(--global-palette9);
	background: var(--global-palette2);
	border: 2px solid var(--global-palette2);
	box-shadow: 0 0 0 -7px rgba(0, 0, 0, 0);
	display: inline-block;
	text-decoration: none;
}
.post-type-archive-tribe_events .tribe-events-c-small-cta__link:hover,
.post-type-archive-tribe_events .tribe-events-c-small-cta__link:focus,
.tribe-events-list .tribe-events-c-small-cta__link:hover,
.tribe-events-list .tribe-events-c-small-cta__link:focus {
	color: var(--global-palette9);
	background: var(--global-palette2);
	border-color: var(--global-palette2);
	text-decoration: none;
}

/* Events Calendar – widget “view all”, back link, prev/next nav */
.tribe-events-adv-list-widget .tribe-events-widget-link a,
.tribe-events-back a,
.tribe-events-list-widget .tribe-events-widget-link a,
ul.tribe-events-sub-nav a {
	font-size: 15px;
	font-weight: 700;
	text-transform: uppercase;
}

/* Events Calendar Pro – Photo view: hide price on event cards */
.tribe-events-pro-photo__event-cost {
	display: none;
}

.tribe-events-pro-photo__event-datetime.tribe-common-b2 {
	font-weight: 500 !important;
}

.tribe-events-pro .tribe-events-pro-photo__event-date-tag-month {
	color: #962a80 !important;
	font-size: var(--tec-font-size-1) !important;
	font-weight: 700 !important;
}

.tribe-events-pro .tribe-events-pro-photo__event-date-tag-datetime {
	display: flex;
	flex-direction: column;
	text-align: center;
	background: #f0f0f0;
	padding: 5px 0 0px;
	border-radius: 1px;
}

.tribe-events .tribe-events-calendar-list__event-date-tag-datetime {
	display: flex;
	flex-direction: column;
	text-align: center;
	background: #f0f0f0;
	padding: 5px 0 0px;
	border-radius: 1px;
}

.tribe-events-pro .tribe-events-pro-photo__event-title.tribe-common-h6 {
	font-size: 22px !important;
	line-height: 1.2 !important;
	text-transform: uppercase !important;
}

/* Photo view: card frame (matches PMPro-style venue cards), 3 columns desktop, uniform thumbnails */
.tribe-events-pro .tribe-events-pro-photo__event > article {
	margin-inline: auto;
	max-width: 100%;
	background-color: var(--pmpro--color--base, #fff);
	border: 1px solid var(--pmpro--color--border--variation, #ddd);
	box-shadow: var(--pmpro--box-shadow, 0 1px 3px rgba(0, 0, 0, 0.08));
	display: flex;
	flex-direction: column;
	height: 100%;
	box-sizing: border-box;
}

.tribe-events-pro .tribe-events-pro-photo__event-featured-image-wrapper {
	position: relative;
	width: 100%;
	flex: none;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	margin-bottom: var(--tec-spacer-2, 12px);
}

.tribe-events-pro .acld-education-photo-category-badge {
	position: absolute;
	top: 0.5rem;
	left: 0.5rem;
	z-index: 2;
	max-width: calc(100% - 1rem);
	padding: 0.3rem 0.5rem;
	font-size: 0.6875rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--global-palette3, #1a1a1a);
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
	pointer-events: none;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Category links to term archive; must receive clicks over the image link */
.tribe-events-pro a.acld-education-photo-category-badge {
	pointer-events: auto;
	text-decoration: none;
	color: inherit;
}

.tribe-events-pro a.acld-education-photo-category-badge:hover,
.tribe-events-pro a.acld-education-photo-category-badge:focus {
	text-decoration: underline;
}

.tribe-events-pro .acld-education-photo-price-badge {
	position: absolute;
	bottom: 0.5rem;
	right: 0.5rem;
	z-index: 2;
	padding: 0.35rem 0.55rem;
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--global-palette9, #fff);
	background: var(--global-palette2, #1a1a1a);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
	pointer-events: none;
}

.tribe-events-pro .tribe-events-pro-photo__event-featured-image-link {
	display: block;
	height: 100%;
	line-height: 0;
}

.tribe-events-pro .tribe-events-pro-photo__event-featured-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.tribe-events-pro .tribe-events-pro-photo__event-details-wrapper {
	display: flex;
	padding: 0.2rem 0.5rem 1.2rem;
}

/* Photo “grid” option uses a padding-top box; use the wrapper aspect-ratio instead so sizing stays consistent */
.tribe-events-pro.tribe-events-pro-photo--grid .tribe-events-pro-photo__event .tribe-events-pro-photo__event-featured-image-link {
	margin-inline: auto;
	max-width: none !important;
	padding-top: 0 !important;
	position: relative !important;
	width: 100% !important;
	height: 100% !important;
}

.tribe-events-pro.tribe-events-pro-photo--grid .tribe-events-pro-photo__event .tribe-events-pro-photo__event-featured-image {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
}

@media screen and (min-width: 768px) {
	.tribe-events-pro .tribe-events-pro-photo > ul.tribe-common-g-row > li.tribe-events-pro-photo__event.tribe-common-g-col {
		flex: 0 0 33.333333% !important;
		width: 33.333333% !important;
		max-width: 33.333333% !important;
	}
}

/* Photo view: horizontal and vertical gaps between cards */
.tribe-events-pro .tribe-events-pro-photo > ul.tribe-common-g-row {
	margin-left: -16px;
	margin-right: -16px;
}
.tribe-events-pro .tribe-events-pro-photo > ul.tribe-common-g-row > li.tribe-events-pro-photo__event.tribe-common-g-col {
	padding-left: 16px;
	padding-right: 16px;
	margin-bottom: 33px;
}

/* Venue block – venue name heading */
.tribe-block__venue .tribe-block__venue__meta .tribe-block__venue__name h3 {
	font-size: 22px;
	font-weight: 500;
	font-family: var(--global-heading-font-family, inherit);
	line-height: 1.3;
	text-transform: uppercase;
	margin: 0 0 0.5rem;
	text-align: left;
}

.tribe-block__venue .tribe-block__venue__meta .tribe-block__venue__address,
.tribe-block__venue .tribe-block__venue__meta .tribe-block__venue__phone,
.tribe-block__venue .tribe-block__venue__meta .tribe-block__venue__website {
	letter-spacing: normal;
	margin-top: 0.25rem;
	font-size: 1.2rem;
	font-weight: 500;
	font-family: var(--global-heading-font-family);
	line-height: 1.3;
}

/* Venue block – layout and styling at tablet and up */
@media screen and (min-width: 768px) {
	.tribe-block__venue {
		flex-direction: row;
		padding: var(--tec-spacer-5);
		width: 100%;
		padding: 20px;
		font-size: 0.95rem;
		background-color: var(--pmpro--color--base, #fff);
		border: 1px solid var(--pmpro--color--border--variation, #ddd);
		box-shadow: var(--pmpro--box-shadow, 0 1px 3px rgba(0, 0, 0, 0.08));
		display: flex;
		margin: var(--pmpro--base--spacing--medium, 1rem) 0;
		overflow: hidden;
		border-radius: 0px;
		max-width: 100%;
	}
}

/*
 * Single event sidebar: below 768px the rule above does not run, so the venue block
 * lost the same card treatment as .acld-profile (When). Match that box on small screens only.
 */
@media screen and (max-width: 767px) {
	body.single-tribe_events #secondary .acld-education__venue-block .tribe-block__venue,
	body.single-tribe_events #secondary .tribe-block__venue {
		background-color: var(--pmpro--color--base, #fff);
		border: 1px solid var(--pmpro--color--border--variation, #ddd);
		box-shadow: var(--pmpro--box-shadow, 0 1px 3px rgba(0, 0, 0, 0.08));
		margin: var(--pmpro--base--spacing--medium, 1rem) 0;
		overflow: hidden;
		border-radius: 0;
	}
}

/* Events Calendar – h3 reset (remove 16px/1.8 override) */
#tribe-events-pg-template .tribe-events-content h3,
.tribe-events-after-html h3,
.tribe-events-before-html h3 {
	font-size:32px;
	line-height: 1.2;
}

/* Events Calendar – h2 styling */
#tribe-events-pg-template .tribe-events-content h2,
.tribe-events-after-html h2,
.tribe-events-before-html h2 {
	font-size: 36px;
	line-height: 1.1;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0em;
	text-transform: capitalize;
}

#tribe-events-pg-template .tribe-events-content ul {
	margin-top: 12px;
}

#tribe-events-pg-template .tribe-events-content ul li,
.tribe-events-after-html ol li,
.tribe-events-after-html ul li,
.tribe-events-before-html ol li,
.tribe-events-before-html ul li {
	margin: 0 0 4px;
}

/* Events Calendar */
a.tribe-events-calendar-list__event-title-link.tribe-common-anchor-thin:hover {
    text-decoration: underline;
}
#primary .tribe-events .tribe-events-calendar-list__event-title-link {
    text-transform: uppercase;
    font-weight: 700;
}
select, input[type=text], input[type=email], input[type=url], input[type=password], input[type=search], input[type=number], input[type=tel], input[type=range], input[type=date], input[type=month], input[type=week], input[type=time], input[type=datetime], input[type=datetime-local], input[type=color], textarea {
    -webkit-appearance: none;
    border: 1px solid #dddddd!important;
    border-radius: 0px!important;
}
span.tec_series_marker__title {
    font-style: normal;
    font-weight: 500;
    font-size: 19px;
    letter-spacing: 0em;
    font-family: 'League Spartan', sans-serif;
    text-transform: capitalize;
    color: var(--global-palette2);
}
.tribe-events .tribe-events-calendar-series-archive__link {
    color:  var(--global-palette2)!important;
    margin-right: 2px;
}
.tribe-events .tribe-events-calendar-series-archive__container {
    margin-left: 10px!important;
}
time.tribe-events-calendar-list__event-datetime {
    font-size: 20px;
    font-weight: 500;
    font-family: var(--global-heading-font-family, inherit);
    line-height: 1.3;
}
@media screen and (max-width: 767px) {
	time.tribe-events-calendar-list__event-datetime {
		font-size: 16px;
	}
}
.tribe-common--breakpoint-medium.tribe-common .tribe-common-h6 {
	font-size: 22px;
	line-height: 1.2;
}

.tribe-common--breakpoint-medium.tribe-common .tribe-common-h4--min-medium {
	font-size: 2rem;
	margin-top: 5px;
	font-weight: 700;
	font-family: var(--global-heading-font-family);
	line-height: 1.1;
	text-transform: Capitalize;
	color: var(--global-palette2) !important;
}

.tribe-common--breakpoint-medium.tribe-common .tribe-common-b2 {
	font-size: 1.1rem !important;
	margin-top: 3px;
	font-weight: 700;
	font-family: var(--global-heading-font-family);
	line-height: var(--tec-line-height-0);
	color: var(--global-palette2) !important;
}
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-search {
	gap: 20px;
}

#primary .tribe-events .tribe-events-c-search__button,
#primary .tribe-events button.tribe-events-c-search__button {
	color: #5c5c5c !important;
	background-color: #f0f0f0 !important;
	border-radius: 0px;
}

#primary .tribe-events .tribe-common-b2, #primary .tribe-events .tribe-common-b3 {
    color: #000000!important;
}
.tribe-events-calendar-list__month-separator {
	font-weight: 600;
	font-family: var(--global-heading-font-family, inherit);
	text-transform: uppercase;
	font-size: 30px;
	color: #962a80 !important;
}
.tribe-events-calendar-list__month-separator-text.tribe-common-h7.tribe-common-h6--min-medium.tribe-common-h--alt {
	font-weight: 700;
	font-family: var(--global-heading-font-family);
	line-height: 1.1;
	text-transform: uppercase;
	color: var(--global-palette2) !important;
	font-size: var(--tec-font-size-7);
}
#primary .tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__day-date-link {
    color: var(--global-palette2)!important;
    font-weight: 700;
    background: #962a8012;
    padding: 5px;
}
.tribe-events-calendar-month__calendar-event-datetime {
        font-size: 15px;
    font-weight: 500;
    font-family: var(--global-heading-font-family, inherit);
    line-height: 1.3;
}
.tribe-events .tribe-events-calendar-list__event-row {
	flex-wrap: nowrap;
	margin-bottom: var(--tec-spacer-5);
	margin-top: var(--tec-spacer-7);
	background-color: var(--pmpro--color--base, #fff);
	border: 1px solid var(--pmpro--color--border--variation, #ddd);
	box-shadow: var(--pmpro--box-shadow, 0 1px 3px rgba(0, 0, 0, 0.08));
	padding: 20px 20px 20px 0;
}
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-row {
	margin: var(--tec-spacer-7) var(--tec-spacer-8) !important;
}

/* List view: price + category tags (same ACLD data as Photo view badges) */
.tribe-events .acld-education-list-tags {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0.5rem;
	margin-top: 0.15rem;
	margin-bottom: 1.1rem;
}

/* Shared footprint so category + price pills match; content centers */
.tribe-events .acld-education-list-category-badge,
.tribe-events .acld-education-list-price-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-width: 2.75rem;
	min-height: 1.35rem;
	padding: 0.45rem 0.65rem;
	font-size: 0.8125rem;
	font-weight: 700;
	line-height: 1.15;
	text-align: center;
	margin-bottom: 20px;
}

.tribe-events .acld-education-list-category-badge {
	max-width: 100%;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--global-palette3, #1a1a1a);
	background: rgba(255, 255, 255, 0.95);
	border: 1px solid rgba(0, 0, 0, 0.1);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tribe-events a.acld-education-list-category-badge {
	text-decoration: none;
	color: inherit;
}

.tribe-events a.acld-education-list-category-badge:hover,
.tribe-events a.acld-education-list-category-badge:focus {
	text-decoration: underline;
}

.tribe-events .acld-education-list-price-badge {
	color: var(--global-palette9, #fff);
	background: var(--global-palette2, #1a1a1a);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

/* List view: hide venue line on event cards */
.tribe-events .tribe-events-calendar-list__event-venue.tribe-common-b2 {
	display: none;
}
#primary .tribe-events .tribe-events-calendar-list__event-date-tag-weekday {
	color: var(--global-palette5);
	color: #962a80 !important;
	font-size: var(--tec-font-size-1) !important;
	font-weight: 700 !important;
}
.tribe-events-calendar-list__event-date-tag-daynum.tribe-common-h5.tribe-common-h4--min-medium {
	color: var(--global-palette2) !important;
}
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month {
    margin: 0;
    background: #fff;
    padding: 20px;
}
.tribe-events.tribe-common .tribe-events-calendar-month__day {
    border-color: #dddddd!important;
}
#primary .tribe-events .tribe-events-calendar-month__calendar-event-title-link, .tribe-events .tribe-events-calendar-month__calendar-event-tooltip-title-link {
    text-transform: uppercase;
    font-size: 18px;
    font-weight: 700;
    line-height: normal;
}
.tribe-common button {
    padding: 8px 20px 4px;
}
.tribe-common .tribe-common-c-btn,
.tribe-common .tribe-common-c-btn:focus,
.tribe-common .tribe-common-c-btn:hover,
.tribe-common a.tribe-common-c-btn,
.tribe-common a.tribe-common-c-btn:focus,
.tribe-common a.tribe-common-c-btn:hover,
.tribe-common button.tribe-common-c-btn,
.tribe-common button.tribe-common-c-btn:focus,
.tribe-common button.tribe-common-c-btn:hover {
	padding: 8px 20px;
	border-radius: 0;
}


/* MEMBERSHIP PROS */
.pmpro_section_title, .pmpro_card_title {
    font-weight: 600!important;
}
.pmpro_font-x-large {
    font-size: 40px!important;
    line-height: 1.4;
}
    
.pmpro_btn {    
    padding: 12px 20px 9px!important;
    font-size: 18px!important;
    text-transform: uppercase!important;
    font-weight: 600!important;
}
.pmpro_btn:hover { 
    background-color: #ffffff!important;
    border-color: #872573!important;
    color: #872573!important;
    box-shadow: none!important;
}
.pmpro .pmpro_form_field-password-toggle .pmpro_btn.pmpro_btn-plain:hover,
.pmpro .pmpro_form_field-password-toggle .pmpro_btn.pmpro_btn-plain:focus,
.pmpro .pmpro_form_field-password-toggle .pmpro_btn.pmpro_btn-plain:active {
    background-color: #ffffff!important;
    border-color: #872573!important;
    color: #872573!important;
}
.pmpro_section #loginform .login-submit .button {
        font-size: 18px;
        text-transform: uppercase!important;
}

/* PMPro high-contrast: login / checkout password row uses grid (label | toggle) which
   collapses the label to one character per line on narrow widths — stack vertically */
@media screen and (max-width: 767px) {
	.pmpro .pmpro_section #loginform .login-password,
	.pmpro #pmpro_user_fields .pmpro_form_field-password:has(.pmpro_form_field-password-toggle) {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: calc(var(--pmpro--base--spacing--small, 12px) / 2) !important;
		grid-template-columns: unset !important;
		grid-template-rows: unset !important;
		grid-template-areas: none !important;
	}

	.pmpro .pmpro_section #loginform .login-password label,
	.pmpro #pmpro_user_fields .pmpro_form_field-password:has(.pmpro_form_field-password-toggle) label {
		grid-area: unset !important;
		justify-content: flex-start !important;
		white-space: normal !important;
	}

	.pmpro .pmpro_section #loginform .login-password input,
	.pmpro #pmpro_user_fields .pmpro_form_field-password:has(.pmpro_form_field-password-toggle) input {
		grid-area: unset !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.pmpro .pmpro_section #loginform .login-password .pmpro_form_field-password-toggle,
	.pmpro #pmpro_user_fields .pmpro_form_field-password .pmpro_form_field-password-toggle {
		grid-area: unset !important;
		justify-self: unset !important;
		align-self: flex-start !important;
	}
}

.volunteer-modal {
  display: none;
  position: fixed;
  z-index: 9999;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.7);
  justify-content: center;
  align-items: center;
}
.volunteer-modal.active {
  display: flex;
}
.volunteer-modal .modal-content {
  background: #fff;
  max-width: 600px;
  width: 90%;
  border-radius: 8px;
  min-height: 0;
  max-height: calc(100vh - 2rem);
  max-height: calc(100dvh - 2rem);
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: contain;
  box-shadow: 0 10px 30px rgba(0,0,0,0.3);
}
@media (max-width: 768px) {
  .volunteer-modal .modal-content {
    width: 90%;
    padding: 0;
  }
}
#menu-members-portal a {
    width: 249px;
    padding-top: 0.8em;
    padding-bottom: 0.5em;
    font-style: normal;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.1;
    font-family: var(--global-primary-nav-font-family);
    text-transform: capitalize;
}
/* Sidebar 1: Member account layout (left sidebar, 2fr 6fr grid) – NOT applied to events */
@media screen and (min-width: 768px) {
    .has-sidebar:not(.single-tribe_events):not(.post-type-archive-tribe_events) .content-container {
        grid-gap: 2em !important;
    }
}
@media screen and (min-width: 1025px) {
    .has-sidebar:not(.single-tribe_events):not(.post-type-archive-tribe_events) .content-container {
        grid-template-columns: 2fr 6fr !important;
        width: 100%;
        max-width: 2000px;
    }
    .has-left-sidebar #secondary {
        padding: 20px;
    }
    .has-left-sidebar #main {
        max-width: 1600px;
    }
}

/* Sidebar 2: Events layout (right sidebar, smaller, different grid) – no member-style grid */
@media screen and (min-width: 1025px) {
    body.tax-tribe_events_cat .content-container.site-container {
        width: 100%;
        max-width: 1600px;
    }
    /* Right sidebar: content | sidebar (sidebar fixed width, not proportional) */
    .single-tribe_events.has-sidebar:not(.has-left-sidebar) .content-container,
    .post-type-archive-tribe_events.has-sidebar:not(.has-left-sidebar) .content-container {
        grid-template-columns: 5fr 3fr !important;
        grid-gap: var(--global-lg-spacing);
        width: 100%;
        max-width: 1300px;
    }
    .single-tribe_events.has-sidebar:not(.has-left-sidebar) #secondary,
    .post-type-archive-tribe_events.has-sidebar:not(.has-left-sidebar) #secondary {
        background: transparent;
        padding: 1rem 1.25rem;
        font-size: 0.95em;
    }
    /* Left sidebar: sidebar | content */
    .single-tribe_events.has-sidebar.has-left-sidebar .content-container,
    .post-type-archive-tribe_events.has-sidebar.has-left-sidebar .content-container {
        grid-template-columns: minmax(200px, 260px) 1fr !important;
        width: 100%;
        max-width: 1400px;
    }
    .single-tribe_events.has-sidebar #secondary,
    .post-type-archive-tribe_events.has-sidebar #secondary {
        padding: 1rem 1.25rem;
        font-size: 0.95em;
    }

    /* Sticky sidebar on single events (grid: sidebar must not stretch full row height) */
    body.single-tribe_events.has-sidebar #wrapper {
        overflow: visible;
    }
    .single-tribe_events.has-sidebar #secondary {
        align-self: start;
        position: sticky;
        top: 1.5rem;
        margin-bottom: var(--global-xl-spacing, 3rem);
        /* Let single-event sidebars grow naturally instead of creating an inner scroll area. */
        max-height: none;
        overflow: visible;
    }
    body.admin-bar.single-tribe_events.has-sidebar #secondary {
        top: calc(1.5rem + var(--wp-admin--admin-bar--height, 32px));
        max-height: none;
    }
}

.single-tribe_events .content-area {
	margin-top: 1.5rem;
}

#primary #tribe-events-pg-template {
    max-width: none;
    padding: 60px 0px 0px;
}

.tribe-events-day #tribe-events-footer {
	border-top: 0;
}

.single-tribe_events #inner-wrap .tribe_events-title h1 {
	font-style: normal;
	color: var(--global-palette9);
	max-width: 1300px;
	margin-top: 10px;
}

/* Hero title area: no forced min height (content defines height) */
#inner-wrap .entry-hero.tribe_events-hero-section .entry-header {
	min-height: 0;
}

.tribe_events-hero-section .entry-hero-container-inner {
	padding-top: 2.2rem;
	padding-bottom: 0.8rem;
}

.tribe_events-hero-section .tribe_events-title .kadence-breadcrumbs {
	margin-bottom: 0.5rem;
}

.tribe_events-hero-section .tribe_events-title h1 {
	margin-bottom: 1.5rem;
}

/* Sidebar "When" / "Schedule" blocks – desktop only, right of image */
.acld-sidebar-event-tickets,
.acld-sidebar-when,
.acld-sidebar-schedule {
	margin-bottom: 2rem;
}

#secondary .acld-sidebar-event-tickets .tribe-tickets__tickets-form,
#secondary .acld-sidebar-event-tickets .tribe-tickets__rsvp-wrapper {
	margin-top: 0;
	margin-bottom: 0;
}

#secondary .acld-sidebar-event-tickets .tribe-tickets__tickets-title {
	margin: 0 0 0.75rem;
	color: #878787;
	font-size: 1rem;
	font-weight: 600;
	font-family: var(--global-heading-font-family);
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 2px;
}

/* Tighter gap when Add to Calendar is moved into the sidebar */
#secondary .acld-sidebar-when + .tribe-events-c-subscribe-dropdown__container {
	margin-top: -1.5rem;
}

.acld-sidebar-when .acld-profile--when {
	display: block;
}

.acld-sidebar-when__date {
	font-size: 1.5rem;
	font-weight: 700;
	font-family: var(--global-heading-font-family);
	line-height: 1.2;
	color: #962a81;
	text-transform: uppercase;
}

.acld-sidebar-when__time {
	margin-top: 0.25rem;
	font-size: 1.4rem;
	font-weight: 500;
	font-family: var(--global-heading-font-family);
	line-height: 1.5;
}

/* Sidebar acld-profile base (When, Instructor) – for all single events */
.single-tribe_events #secondary .acld-profile,
.post-type-archive-tribe_events #secondary .acld-profile {
	width: 100%;
	padding: 20px;
	font-size: 0.95rem;
	background-color: var(--pmpro--color--base, #fff);
	border: 1px solid var(--pmpro--color--border--variation, #ddd);
	box-shadow: var(--pmpro--box-shadow, 0 1px 3px rgba(0, 0, 0, 0.08));
	margin: var(--pmpro--base--spacing--medium, 1rem) 0;
	overflow: hidden;
}

.single-tribe_events #secondary .acld-profile-instructor-title,
.post-type-archive-tribe_events #secondary .acld-profile-instructor-title {
	margin: 0 0 0.75rem;
	color: var(--global-palette3, #1a202c);
}

/* When / Schedule / Where – labels above sidebar boxes (matches Instructor section title pattern) */
.single-tribe_events #secondary .acld-education__when-heading {
	margin: 0 0 0.35rem;
	color: #878787;
	font-size: 1rem;
	font-weight: 600;
	font-family: var(--global-heading-font-family);
}

.single-tribe_events #secondary .acld-education__schedule-heading,
.single-tribe_events #secondary .acld-education__venue-heading,
.single-tribe_events #secondary .acld-education__calendar-heading {
	margin: 0 0 0.75rem;
	color: #878787;
	font-size: 1rem;
	font-weight: 600;
	font-family: var(--global-heading-font-family);
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 2px;
}

.single-tribe_events #secondary .acld-profile--calendar {
	display: grid;
	gap: 0.75rem;
}

.single-tribe_events #secondary .acld-sidebar-subscribe__link {
	display: block;
	padding: 0.9rem 1rem;
	border: 1px solid #1f1f1f;
	color: #000;
	font-family: var(--global-heading-font-family);
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
	text-transform: uppercase;
}

.single-tribe_events #secondary .acld-sidebar-subscribe__link:hover {
	color: var(--global-palette2, #952a80);
	border-color: var(--global-palette2, #952a80);
}

@media (max-width: 1024px) {
    .single-tribe_events.has-sidebar .content-container,
    .post-type-archive-tribe_events.has-sidebar .content-container {
        grid-template-columns: 1fr !important;
    }

	/* Sidebar moved after featured image via acld_tribe_events_sidebar_after_featured_image (education-init.php) */
	body.single-tribe_events #secondary.primary-sidebar.acld-sidebar--below-featured-image {
		width: 100%;
		max-width: none;
		margin-left: 0;
		margin-right: 0;
		box-sizing: border-box;
	}

	/*
	 * Single events only: Kadence sidebar background (often brand/purple on tablet) fills the
	 * stacked column — neutralize so cards/widgets read on a normal content background.
	 * Does not target other templates (body class required).
	 */
	body.single-tribe_events #secondary.primary-sidebar {
		background-color: transparent !important;
		background-image: none !important;
		border-left: none !important;
		border-right: none !important;
		box-shadow: none !important;
	}
	body.single-tribe_events #secondary.primary-sidebar .sidebar-inner-wrap {
		background-color: transparent !important;
		background-image: none !important;
		padding-top: 0.75rem;
		padding-bottom: 0.75rem;
	}
}

/* Subscribe dropdown in sidebar – placed below the venue/Where box */
#secondary .tribe-events-c-subscribe-dropdown__container {
	margin-bottom: 1.5rem;
	display: flex !important;
	justify-content: center;
	align-items: center;
}

/* Make Add to Calendar button more visible, bigger, centered */
#secondary .tribe-events-c-subscribe-dropdown__container .tribe-events-c-subscribe-dropdown {
	width: 100%;
	display: flex;
	justify-content: center;
}

#secondary .tribe-events-c-subscribe-dropdown__container .tribe-events-c-subscribe-dropdown__button,
#secondary .tribe-events-c-subscribe-dropdown__container .tribe-common-c-btn-border.tribe-events-c-subscribe-dropdown__button {
	min-width: 100%;
	padding: 12px 20px 9px;
	font-size: 1.1rem;
	font-weight: 700;
	background-color: var(--tec-color-accent-primary, var(--global-palette2, #952a80));
	color: #fff !important;
	border: 2px solid var(--tec-color-accent-primary, var(--global-palette2, #952a80));
	border-radius: 0;
	text-align: center;
	justify-content: center;
}

#secondary .tribe-events-c-subscribe-dropdown__container .tribe-events-c-subscribe-dropdown__button button,
#secondary .tribe-events-c-subscribe-dropdown__container .tribe-common-c-btn-border.tribe-events-c-subscribe-dropdown__button button {
	color: #fff !important;
	font-size: 1.1rem;
}

.single-tribe_events .tribe-events-c-subscribe-dropdown,
.tribe-events .tribe-events-c-subscribe-dropdown {
	font-size: var(--tec-font-size-2);
	margin: 0 0 30px;
}

/* Dropdown content – open under button, bigger, more visible */
#secondary .tribe-events-c-subscribe-dropdown__container .tribe-events-c-subscribe-dropdown {
	position: relative;
	flex-direction: column;
}

#secondary .tribe-events-c-subscribe-dropdown__content {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	min-width: 100%;
	padding: 0 0 0.6rem;
	font-size: 1rem;
	background: var(--pmpro--color--base, #fff);
	border: 1px solid var(--pmpro--color--border--variation, #ddd);
	box-shadow: var(--pmpro--box-shadow, 0 2px 8px rgba(0, 0, 0, 0.15));
	z-index: 100;
	margin-top: 2px;
}

#secondary .tribe-events-c-subscribe-dropdown__list-item-link {
	padding: 10px 20px;
	font-size: 1rem;
	color: #000 !important;
	font-weight: 700;
}

#secondary .tribe-events-c-subscribe-dropdown__list-item-link:hover {
	color: var(--global-palette2, #952a80) !important;
}

.single-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__list,
.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__list {
	background-color: var(--tec-color-background);
	border: 0px;
	border-radius: 0px;
	box-shadow: var(--tec-box-shadow-default);
	margin: 0rem !important;
	list-style: none;
	padding: 0px;
	transform: translateY(var(--tec-spacer-1));
	width: auto;
	z-index: var(--tec-z-index-dropdown);
}

li.menu-item.menu-item-type-post_type.menu-item-object-page.current-menu-item {
    Text-decoration: underline;
}

/* Events category filter pills */
.acld-events-category-pills {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1rem;
    width: 100%;
}

.acld-events-category-pills__label {
    color: var(--global-palette3, #1f2937);
    flex: 0 0 auto;
}

.acld-events-category-pills__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.acld-events-category-pills__link {
    align-items: center;
    background: #fff;
    border: 1px solid var(--global-palette7, #d1d5db);
    border-radius: 999px;
    color: var(--global-palette3, #1f2937);
    display: inline-flex;
    justify-content: center;
    line-height: 1.2;
    min-height: 2.5rem;
    padding: 0.55rem 1rem;
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.acld-events-category-pills__link:hover,
.acld-events-category-pills__link:focus-visible {
    background: var(--global-palette9, #f5f5f5);
    border-color: var(--global-palette3, #1f2937);
    box-shadow: 0 0 0 2px rgba(31, 41, 55, 0.08);
    color: var(--global-palette3, #1f2937);
    outline: none;
}

.acld-events-category-pills__link--active {
    background: var(--global-palette3, #1f2937);
    border-color: var(--global-palette3, #1f2937);
    color: #fff;
}

.acld-events-category-pills__link--active:hover,
.acld-events-category-pills__link--active:focus-visible {
    background: var(--global-palette3, #1f2937);
    border-color: var(--global-palette3, #1f2937);
    color: #fff;
}

@media (max-width: 767px) {
    .acld-events-category-pills {
        align-items: flex-start;
    }

    .acld-events-category-pills__label {
        width: 100%;
    }
}

/* ───────────────────────────────
   MEMBERSHIP TABLE - STACK ON MOBILE
   Targets .pmpro_card_content.membership-table-stack (Get Involved page)
───────────────────────────────── */
@media (max-width: 768px) {
  /* Force block layout - !important overrides Kadence/PMPro conflicts */
  .pmpro_card_content.membership-table-stack table,
  .pmpro_card_content.membership-table-stack thead,
  .pmpro_card_content.membership-table-stack tbody,
  .pmpro_card_content.membership-table-stack th,
  .pmpro_card_content.membership-table-stack td,
  .pmpro_card_content.membership-table-stack tr,
  .membership-table-stack table,
  .membership-table-stack thead,
  .membership-table-stack tbody,
  .membership-table-stack th,
  .membership-table-stack td,
  .membership-table-stack tr,
  table.membership-table-stack,
  table.membership-table-stack thead,
  table.membership-table-stack tbody,
  table.membership-table-stack th,
  table.membership-table-stack td,
  table.membership-table-stack tr {
    display: block !important;
  }

  /* Hide header row - thead tr, or tbody first row when it has th (Kadence may put header in tbody) */
  .pmpro_card_content.membership-table-stack thead tr,
  .pmpro_card_content.membership-table-stack tbody tr:first-child:has(th),
  .membership-table-stack thead tr,
  .membership-table-stack tbody tr:first-child:has(th),
  table.membership-table-stack thead tr,
  table.membership-table-stack tbody tr:first-child:has(th) {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
    overflow: hidden !important;
    height: 1px !important;
    width: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    border: 0 !important;
  }

  /* Each data row becomes a card (skip header row - first row with th) */
  .pmpro_card_content.membership-table-stack tbody tr:not(:first-child),
  .pmpro_card_content.membership-table-stack tbody tr:first-child:not(:has(th)),
  .membership-table-stack tbody tr:not(:first-child),
  .membership-table-stack tbody tr:first-child:not(:has(th)),
  table.membership-table-stack tbody tr:not(:first-child),
  table.membership-table-stack tbody tr:first-child:not(:has(th)) {
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 8px;
    margin-bottom: 1.25rem;
    padding: 1.25rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    background: #fff;
  }

  .pmpro_card_content.membership-table-stack tbody tr:last-child:not(:has(th)),
  .membership-table-stack tbody tr:last-child:not(:has(th)),
  table.membership-table-stack tbody tr:last-child:not(:has(th)) {
    margin-bottom: 0;
  }

  /* Cell layout with labels (data rows only - rows with td) */
  .pmpro_card_content.membership-table-stack tbody tr:not(:first-child) td,
  .pmpro_card_content.membership-table-stack tbody tr:first-child:not(:has(th)) td,
  .membership-table-stack tbody tr:not(:first-child) td,
  .membership-table-stack tbody tr:first-child:not(:has(th)) td,
  table.membership-table-stack tbody tr:not(:first-child) td,
  table.membership-table-stack tbody tr:first-child:not(:has(th)) td {
    border: none;
    padding: 0.75rem 0 0;
  }

  .pmpro_card_content.membership-table-stack tbody tr:not(:first-child) td:first-of-type,
  .pmpro_card_content.membership-table-stack tbody tr:first-child:not(:has(th)) td:first-of-type,
  .membership-table-stack tbody tr:not(:first-child) td:first-of-type,
  .membership-table-stack tbody tr:first-child:not(:has(th)) td:first-of-type,
  table.membership-table-stack tbody tr:not(:first-child) td:first-of-type,
  table.membership-table-stack tbody tr:first-child:not(:has(th)) td:first-of-type {
    padding-top: 0;
  }

  .pmpro_card_content.membership-table-stack tbody tr:not(:first-child) td::before,
  .pmpro_card_content.membership-table-stack tbody tr:first-child:not(:has(th)) td::before,
  .membership-table-stack tbody tr:not(:first-child) td::before,
  .membership-table-stack tbody tr:first-child:not(:has(th)) td::before,
  table.membership-table-stack tbody tr:not(:first-child) td::before,
  table.membership-table-stack tbody tr:first-child:not(:has(th)) td::before {
    font-weight: 600;
    display: block !important;
    margin-bottom: 0.35rem;
    font-size: 0.8em;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--global-palette6, #555);
  }

  .pmpro_card_content.membership-table-stack tbody tr td:nth-of-type(1)::before,
  .membership-table-stack tbody tr td:nth-of-type(1)::before,
  table.membership-table-stack tbody tr td:nth-of-type(1)::before {
    content: "Membership";
  }
  .pmpro_card_content.membership-table-stack tbody tr td:nth-of-type(2)::before,
  .membership-table-stack tbody tr td:nth-of-type(2)::before,
  table.membership-table-stack tbody tr td:nth-of-type(2)::before {
    content: "Price";
  }
  .pmpro_card_content.membership-table-stack tbody tr td:nth-of-type(3)::before,
  .membership-table-stack tbody tr td:nth-of-type(3)::before,
  table.membership-table-stack tbody tr td:nth-of-type(3)::before {
    content: "Join Now";
  }

  /* Full-width Select button */
  .pmpro_card_content.membership-table-stack tbody td:nth-of-type(3) .kb-button,
  .membership-table-stack tbody td:nth-of-type(3) .kb-button,
  table.membership-table-stack tbody td:nth-of-type(3) .kb-button {
    display: block !important;
    text-align: center;
    width: 100%;
  }

  /* Keep heading and text readable */
  .pmpro_card_content.membership-table-stack tbody td h3,
  .membership-table-stack tbody td h3,
  table.membership-table-stack tbody td h3 {
    margin-top: 0;
    margin-bottom: 0.25rem;
  }
  .pmpro_card_content.membership-table-stack tbody td p,
  .membership-table-stack tbody td p,
  table.membership-table-stack tbody td p {
    margin-bottom: 0.25rem;
  }
}

/* ───────────────────────────────
    GLOBAL REUSABLE POPUP
───────────────────────────────── */
.acld-popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s ease;
    z-index: 9999;
}

.acld-popup-overlay.active {
    opacity: 1;
    pointer-events: all;
}

.acld-popup-box {
    background: #fff;
    padding: 22px 26px;
    border-radius: 14px;
    max-width: 360px;
    width: 90%;
    text-align: center;
    box-shadow: 0 12px 32px rgba(0,0,0,0.12);
    transform: scale(0.8);
    opacity: 0;
    transition: transform .25s ease, opacity .25s ease;
}

.acld-popup-overlay.active .acld-popup-box {
    transform: scale(1);
    opacity: 1;
}

.acld-popup-message {
    font-size: 1.05rem;
    margin-bottom: 20px;
    line-height: 1.4;
}

.acld-popup-close {
    background: #333;
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 8px;
    cursor: pointer;
    font-size: .9rem;
}

.acld-popup-close:hover {
    background: #000;
}
section.wc-block-order-confirmation-additional-fields-wrapper {
    padding-top: 50px;
}

.woocommerce div.product .product_title {
    font-size: 40px;
    font-weight: 500;
}

.entry-header.member-resources-title.title-align-inherit.title-tablet-align-inherit.title-mobile-align-inherit {
    padding-top: 20px;
}
