/* ==========================================================================
   DESIGN TOKENS (classic editor + Divi)
   ========================================================================== */
:root {
	/* Fonts */
	--font-primary: 'CenturyGothicStd', 'Open Sans', 'Century Gothic', 'Apple Gothic', AppleGothic, sans-serif;
	--font-heading: 'CenturyGothicStd', 'Open Sans', 'Century Gothic', 'Apple Gothic', AppleGothic, sans-serif;

	/* Font sizes */
	--font-size-small: 14px;
	--font-size-normal: 16px;
	--font-size-medium: 20px;
	--font-size-large: 24px;
	--font-size-xl: 32px;
	--font-size-xxl: 48px;

	/* Line heights */
    --line-height-one: 1.0;
	--line-height-tight: 1.2;
	--line-height-normal: 1.6;
	--line-height-loose: 1.8;

	/* Weights */
	--font-weight-normal: 400;
	--font-weight-medium: 500;
	--font-weight-semibold: 600;
	--font-weight-bold: 700;
	--font-weight-extrabold: 800;

	/* Colors */
	--color-primary: #339999;
	--color-primary-hover: #323232;
	--color-secondary-hover: #2a7f7f;
	--color-text: #2b2b2b;
	--color-background: #e9e7de;
	--color-white: #ffffff;
	--color-light: #f5f5f5;
	--color-dark: #323232;
    --color-background-rgb: 233, 231, 222;

	/* Layout helpers */
	--slider-h-desktop: 560px;
	--slider-h-large: 640px;
	--slider-h-ultra: 720px;
	--text-area-width: 30%;
	--image-area-width: 60%;
    
      /*Artist and Event Hero*/
    
  --content-pad: 1rem;
  --fade: clamp(180px, 26vw, 560px);
  --image-offset: 400px;
  --accent: #339999;
}

/* ==========================================================================
   BASE / RESET (no block editor styles)
   ========================================================================== */
html,
body {
	background-color: var(--color-background);
}

body,
body#page,
body.home,
body.single,
body.page,
body.archive,
body.blog {
	font-family: var(--font-primary);
	font-size: var(--font-size-normal);
	color: var(--color-text);
	line-height: var(--line-height-normal);
	font-weight: normal;
}

h1, h2, h3, h4, h5, h6,
#et-boc .et-l h1,
#et-boc .et-l h2,
#et-boc .et-l h3,
#et-boc .et-l h4,
#et-boc .et-l h5 {
	font-family: var(--font-heading);
	text-transform: uppercase !important;
	color: var(--color-text);
	font-weight: var(--font-weight-normal);
}


figcaption,
.wp-caption-text {
	font-size: var(--font-size-small);
	font-style: italic;
	color: #666;
	text-align: center;
	padding-top: 0.5rem;
}

hr {
	border: 0;
	border-top: 2px solid var(--color-text);
	margin: 2rem 0;
}

/* Divi content headings */
#et-boc .et-l h2,
h2 {
	font-size: var(--font-size-xxl) !important;
	line-height: var(--line-height-one);
	font-weight: var(--font-weight-normal) !important;
	text-transform: uppercase;
}

/* Page titles match the h2 section headings ("Just Announced", "Upcoming Shows")
   at every breakpoint; `.page h1` used to sit at a lone 24px and read as half a
   heading. Sizing lives HERE, beside the h2 ladder and before the media blocks
   below, so the responsive steps override it on source order; `.page h1` further
   down owns only colour and spacing.

   Deliberately WITHOUT !important, unlike the h2 rule above: this theme already
   forces `.et_pb_row { max-width: 1400px !important }`, which silently discards
   the row width set in the Divi builder and cost a real debugging session (see
   CLAUDE.project.md). A size a page author sets on the module must still be able
   to win. Plain specificity suffices: the original 24px rule carried no
   !important and beat Divi's defaults fine. */
.page h1 {
	font-size: var(--font-size-xxl);
	line-height: var(--line-height-one);
}
#et-boc .et-l .just_announced h2 {
	font-size:64px !important;
	line-height:1.0em !important;
}

#et-boc .et-l h3,
.et-db #et-boc .et-l .et_pb_column_1_3 h3,
.et-db #et-boc .et-l .et_pb_column_1_4 h3,
.et-db #et-boc .et-l .et_pb_column_1_5 h3,
.et-db #et-boc .et-l .et_pb_column_1_6 h3,
.et-db #et-boc .et-l .et_pb_column_2_5 h3,
h3 {
	font-size: 32px !important;
	line-height: 1.3em;
	text-transform: uppercase;
}

.et-db #et-boc .et-l .et_pb_column_1_3 h4,
.et-db #et-boc .et-l .et_pb_column_1_4 h4,
.et-db #et-boc .et-l .et_pb_column_1_5 h4,
.et-db #et-boc .et-l .et_pb_column_1_6 h4,
.et-db #et-boc .et-l .et_pb_column_2_5 h4,
h4 {
	font-size: 28px !important;
	line-height: 1.4em;
	text-transform: uppercase;
}

#et-boc .et-l h5,
.et-db #et-boc .et-l .et_pb_column_1_3 h5,
.et-db #et-boc .et-l .et_pb_column_1_4 h5,
.et-db #et-boc .et-l .et_pb_column_1_5 h5,
.et-db #et-boc .et-l .et_pb_column_1_6 h5,
.et-db #et-boc .et-l .et_pb_column_2_5 h5,
h5 {
	font-size: 22px !important;
	line-height: 1.4em;
	text-transform: uppercase;
}

@media (max-width: 980px) {
	
	#et-boc .et-l h2,
	h2 {
		font-size: 44px !important;
		line-height: 1.2em;
	}
	.page h1 {
		font-size: 44px;
		line-height: 1.2em;
	}
	#et-boc .et-l .just_announced h2 {
		font-size:54px !important;
		line-height:1.0em !important;
	}
	#et-boc .et-l h3,
	.et-db #et-boc .et-l .et_pb_column_1_3 h3,
	.et-db #et-boc .et-l .et_pb_column_1_4 h3,
	.et-db #et-boc .et-l .et_pb_column_1_5 h3,
	.et-db #et-boc .et-l .et_pb_column_1_6 h3,
	.et-db #et-boc .et-l .et_pb_column_2_5 h3,
	h3 {
		font-size: 28px !important;
		line-height: 1.3em;
	}

	.et-db #et-boc .et-l .et_pb_column_1_3 h4,
	.et-db #et-boc .et-l .et_pb_column_1_4 h4,
	.et-db #et-boc .et-l .et_pb_column_1_5 h4,
	.et-db #et-boc .et-l .et_pb_column_1_6 h4,
	.et-db #et-boc .et-l .et_pb_column_2_5 h4,
	h4 {
		font-size: 24px !important;
		line-height: 1.4em;
	}

	#et-boc .et-l h5,
	.et-db #et-boc .et-l .et_pb_column_1_3 h5,
	.et-db #et-boc .et-l .et_pb_column_1_4 h5,
	.et-db #et-boc .et-l .et_pb_column_1_5 h5,
	.et-db #et-boc .et-l .et_pb_column_1_6 h5,
	.et-db #et-boc .et-l .et_pb_column_2_5 h5,
	h5 {
		font-size: 22px !important;
		line-height: 1.4em;
	}
}

@media (max-width: 768px) {
	.site-header .col-md-12 {
		padding-left:10px;
		padding-right:10px;
	}
	body,
	body#page,
	body.home,
	body.single,
	body.page,
	body.archive,
	body.blog {
		font-size: var(--font-size-small) !important;
		line-height: 1.7em;
	}

	#et-boc .et-l h2,
	h2 {
		font-size: 36px !important;
		line-height: 1.1em;
	}
	.page h1 {
		font-size: 36px;
		line-height: 1.1em;
	}
	#et-boc .et-l .just_announced h2 {
		font-size:44px !important;
		line-height:1.0em !important;
	}
	#et-boc .et-l h3,
	.et-db #et-boc .et-l .et_pb_column_1_3 h3,
	.et-db #et-boc .et-l .et_pb_column_1_4 h3,
	.et-db #et-boc .et-l .et_pb_column_1_5 h3,
	.et-db #et-boc .et-l .et_pb_column_1_6 h3,
	.et-db #et-boc .et-l .et_pb_column_2_5 h3,
	h3 {
		font-size: 26px !important;
		line-height: 1.3em;
	}

	.et-db #et-boc .et-l .et_pb_column_1_3 h4,
	.et-db #et-boc .et-l .et_pb_column_1_4 h4,
	.et-db #et-boc .et-l .et_pb_column_1_5 h4,
	.et-db #et-boc .et-l .et_pb_column_1_6 h4,
	.et-db #et-boc .et-l .et_pb_column_2_5 h4,
	h4 {
		font-size: 22px !important;
		line-height: 1.4em;
	}

	#et-boc .et-l h5,
	.et-db #et-boc .et-l .et_pb_column_1_3 h5,
	.et-db #et-boc .et-l .et_pb_column_1_4 h5,
	.et-db #et-boc .et-l .et_pb_column_1_5 h5,
	.et-db #et-boc .et-l .et_pb_column_1_6 h5,
	.et-db #et-boc .et-l .et_pb_column_2_5 h5,
	h5 {
		font-size: 20px !important;
		line-height: 1.4em;
	}
}
#et-boc .et-l .headline_inter_bold h2 {
	font-weight:700 !important;
}
/* ==========================================================================
   LINKS & BUTTONS
   ========================================================================== */
a,
.et-db #et-boc .et-l .et_pb_module a {
	color: var(--color-primary-hover);
	transition: .3s;
}

a:hover {
	text-decoration: none;
}

a.default-btn,
a.white-btn,
a.big-white-btn,
a.brown-btn,
a.big-tan-btn,
.et-db #et-boc .et-l .et_pb_button,
.search-menu-item {
	font-family: var(--font-primary) !important;
	font-weight: var(--font-weight-bold) !important;
	text-decoration: none;
	white-space: nowrap;
	border-radius: 0px !important;
	border: 0 !important;
}

/* Variants */
a.default-btn,
.et-db #et-boc .et-l .et_pb_button,
.search-menu-item {
	background: var(--color-primary) !important;
	color: var(--color-dark) !important;
	font-size: 16px !important;
	line-height: 40px !important;
	height: 40px;
	padding: 0 25px !important;
	margin-bottom: 30px !important;
	text-transform: uppercase !important;
	text-align: center;
	display: inline-block;
}

a.default-btn:hover,
.et-db #et-boc .et-l .et_pb_button:hover,
.search-menu-item:hover {
	background: var(--color-primary-hover) !important;
	color: var(--color-white) !important;
	padding: 0 25px !important;
	line-height: 40px !important;
	height: 40px;
	border: 0 !important;
}

.search-menu-item:hover a {
	color: var(--color-background) !important;
}

.et-db #et-boc .et-l .et_pb_button:hover:after {
	display: none;
}

.event-page .tickets-buttons .ticket-button-pair>a:first-child {
	padding: 0 25px !important;
}

.event-page .slider .content h2, .event-page .slider .content p, .artist-page .slider .content p, .artist-page .slider .content h2  {
    color: var(--color-white);
}
.event-details .ticket-list .service-buttons{
  margin-top:25px;
  margin-bottom:25px;  
}
.event-details .ticket-list .service-buttons a {
	margin-right:20px;
}
.event-details .ticket-list h3{
  margin-top:15px;
  }

a.white-btn {
	background: var(--color-white);
	color: #000033;
	font-size: 16px;
	line-height: 40px;
	height: 40px;
	padding: 0 25px;
	margin-bottom: 30px;
}

a.white-btn:hover {
	background: #89E5FB;
}

a.big-white-btn {
	background: var(--color-white);
	color: #000033;
	font-size: 24px;
	line-height: 94px;
	height: 94px;
	padding: 0 100px;
	border-radius: 47px;
}

a.big-white-btn:hover {
	background: #000033;
	color: var(--color-white);
}

a.brown-btn {
	background: var(--color-white);
	color: #000033;
	font-size: 16px;
	line-height: 40px;
	height: 40px;
	padding: 0 25px;
	margin-bottom: 30px;
	border: 4px var(--color-text) solid;
	text-transform: uppercase;
}

a.brown-btn:hover {
	background: var(--color-text);
	color: var(--color-white);
}

a.big-tan-btn {
	background: var(--color-background);
	color: var(--color-text);
	font-size: 20px;
	line-height: 60px;
	height: 40px;
	padding: 0 50px;
	border-radius: 47px;
}

a.big-tan-btn:hover {
	background: var(--color-text);
	color: var(--color-white);
}

.default-btn.prev,
.default-btn.next {
	position: absolute;
	top: 70px;
	font-weight: var(--font-weight-bold);
	font-size: 14px;
}

.default-btn.prev {
	left: 0px;
}

.default-btn.next {
	right: 0px;
}

button {
	text-transform: uppercase;
}

.et_divi_builder #et_builder_outer_content .ds_gravity_forms_for_divi .gform_wrapper input[type=color],
.et_divi_builder #et_builder_outer_content .ds_gravity_forms_for_divi .gform_wrapper input[type=date],
.et_divi_builder #et_builder_outer_content .ds_gravity_forms_for_divi .gform_wrapper input[type=datetime-local],
.et_divi_builder #et_builder_outer_content .ds_gravity_forms_for_divi .gform_wrapper input[type=datetime],
.et_divi_builder #et_builder_outer_content .ds_gravity_forms_for_divi .gform_wrapper input[type=email],
.et_divi_builder #et_builder_outer_content .ds_gravity_forms_for_divi .gform_wrapper input[type=month],
.et_divi_builder #et_builder_outer_content .ds_gravity_forms_for_divi .gform_wrapper input[type=number],
.et_divi_builder #et_builder_outer_content .ds_gravity_forms_for_divi .gform_wrapper input[type=password],
.et_divi_builder #et_builder_outer_content .ds_gravity_forms_for_divi .gform_wrapper input[type=search],
.et_divi_builder #et_builder_outer_content .ds_gravity_forms_for_divi .gform_wrapper input[type=tel],
.et_divi_builder #et_builder_outer_content .ds_gravity_forms_for_divi .gform_wrapper input[type=text],
.et_divi_builder #et_builder_outer_content .ds_gravity_forms_for_divi .gform_wrapper input[type=time],
.et_divi_builder #et_builder_outer_content .ds_gravity_forms_for_divi .gform_wrapper input[type=url],
.et_divi_builder #et_builder_outer_content .ds_gravity_forms_for_divi .gform_wrapper input[type=week],
.et_divi_builder #et_builder_outer_content .ds_gravity_forms_for_divi .gform_wrapper select,
.et_divi_builder #et_builder_outer_content .ds_gravity_forms_for_divi .gform_wrapper textarea {
	color: var(--color-text) !important;
}

button.default-btn.load-more,
button.default-btn.bwg-shows-more {
	background-color: var(--color-white);
	color: var(--color-primary-hover);
	font-weight: var(--font-weight-bold);
	height: 48px;
	padding: 0 20px;
	border: 4px var(--color-primary-hover) solid;
	border-radius: 0px;
	cursor: pointer;
	font-size: 16px;
	margin: 0 auto 30px auto;
	display: table;
	font-family: var(--font-primary);
	margin-top: 50px;
	transition: .3s;
}

button.default-btn.load-more:hover,
button.default-btn.bwg-shows-more:hover {
	background-color: var(--color-primary-hover);
	color: var(--color-background);
	font-weight: var(--font-weight-bold);
	height: 48px;
	padding: 0 20px;
	border: 4px var(--color-primary-hover) solid;
	border-radius: 0px;
	cursor: pointer;
	font-size: 16px;
	margin: 0 auto 30px auto;
	display: table;
	font-family: var(--font-primary);
	margin-top: 50px;
}

.et-db #et-boc .et-l .et_pb_button_module_wrapper .et_pb_button.subscribe_button {
	background: var(--color-white) !important;
	color: var(--color-text) !important;
	font-size: 24px !important;
	line-height: 94px !important;
	height: 94px;
	padding: 0 100px !important;
	margin-bottom: 0px !important;
	text-transform: uppercase !important;
	text-align: center;
	display: inline-block;
}

.et-db #et-boc .et-l .et_pb_button_module_wrapper .et_pb_button.subscribe_button:hover {
	padding: 0 100px !important;
	background: var(--color-primary-hover) !important;
	color: var(--color-white) !important;
}

@media (max-width: 768px) {
	.et-db #et-boc .et-l .et_pb_button_module_wrapper .et_pb_button.subscribe_button {
		font-size: 20px !important;
		line-height: 64px !important;
		height: 64px;
		padding: 0 40px !important;
	}

	.et-db #et-boc .et-l .et_pb_button_module_wrapper .et_pb_button.subscribe_button:hover {
		padding: 0 40px !important;
	}
}
.et-db #et-boc .et-l .section_subscribe .et_pb_heading_2 .et_pb_heading_container h2 {
	padding-bottom:0;	
}

/* ==========================================================================
   TYPOGRAPHY HELPERS
   ========================================================================== */
/* Sizing for this lives beside the h2 ladder near the top of the file.
   The margin/padding below only reach a page title outside the Divi builder:
   on a builder page `.et-db #et-boc .et-l .et_pb_module h1 { margin: 0 }` wins
   on specificity, and the spacing you actually see is the Divi module's own
   (~32px under the About title). Retune it in the builder, not here. */
.page h1 {
	color: var(--color-text);
	margin-bottom: 30px;
	padding-top: 30px;
}

.page.page-id-39 h1 {
	text-align: center;
}

h2.section-title {
	font-size: 72px;
	font-weight: var(--font-weight-normal);
	font-family: var(--font-heading);
	color: var(--color-text);
	text-align: center;
	margin: 0 0 50px 0 !important;
}

h2.section-title::before,
h2.section-title::after {
	content: "";
	flex-grow: 1;
	height: 8px;
	background-color: var(--color-text);
}

h2.section-title::before {
	margin-right: 30px;
}

h2.section-title::after {
	margin-left: 30px;
}

/* ==========================================================================
   SECTIONS & CONTENT
   ========================================================================== */
.event-page  {
    min-height: 0px;
}
.artist-page {
	background-size: cover;
	background-position: center center;
	min-height: 0px;
	border-bottom: 3px solid var(--color-text);
    padding-top: 0px !important;
}

.artist-bio {
	color: var(--color-text);
	padding-top: 50px;
	padding-bottom: 30px;
	border-bottom: 0;
}

.artist-bio h2 {
	color: var(--color-text);
	font-size:80px;
	font-weight: var(--font-weight-normal);
	text-transform: uppercase;
	margin-bottom: 15px;
}

.artist-bio .artist-video-container{width:100%;}

.event-page {
	border-bottom: 3px solid var(--color-text);
}

.artist-page .slider,
.event-page .slider {
    background-color:#000000;
}
.col-md-4.artist_tickets {
	padding-left:0 !important;
}
.artist-page .ticket-list .col-md-4 .ticket-item p,
p.ticket-item-date-time {
	margin-bottom:10px !important;
}
@media (max-width: 1024px) {
	.artist-page,
	.event-page {
		border-bottom: 0px solid var(--color-text);
	}
	.artist-page .slider,
	.event-page .slider {
    	background-color:transparent;
	}
	.artist-page img,
	.event-page img {
    	margin: 0 auto 0px auto;
	}
	.event-page .slider .content h2, .event-page .slider .content p, .artist-page .slider .content p, .artist-page .slider .content h2 {
    	color: var(--color-text);
	}
	.event-page .slider .content p {
		margin-bottom:0;
	}

}

@media (max-width: 768px) {
	.artist-page, .event-page {
		border-bottom: 0px solid var(--color-text);
	}
}
.event-details {
	color: var(--color-text);
}

.event-details a {
	color: var(--color-primary);
}

.event-details a:hover {
	color: var(--color-primary-hover);
}

.event-details .ticket-item a {
	color: var(--color-white);
}

.event-details .ticket-list .col-md-4 {
	padding-left: 0 !important;
}

.event-details h2,
.event-page h1,
.artist-page h1 {
	font-size: 50px;
	font-weight: var(--font-weight-normal);
	text-transform: uppercase;
	margin-bottom: 15px;
	color: var(--color-text);
}

.tickets-list {
	border-top: 1px solid var(--color-text);
}

section.post-listing .content {
	color: var(--color-text);
}

section.post-listing-3cols .event-list-wrapper {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
section.post-listing-3cols .event-list-wrapper.row:before {
	display:none;
}
section.post-listing-3cols .event-list-wrapper .post-item {
	width:32%;
	padding-bottom:24px !important;
    padding-left:0px !important;
    padding-right:0px !important;
}
section.post-listing-3cols .event-list-wrapper .post-item .col-md-4 {
	width:100%;
}

@media (max-width: 1400px) {
	section.post-listing {
    	padding: 40px 0 10px 0 !important;
	}
	section.post-listing-3cols {
    	padding: 10px 0 10px 0 !important;
	}
	section.post-listing-3cols .post-item>.col-md-4 {
		padding-left: 0px !important;
		padding-right: 0px !important;
		display: block;
	}
	section.post-listing-3cols .event-list-wrapper .post-item {
		width:48%
	}
}
@media (max-width: 980px) {
	section.post-listing-3cols .event-list-wrapper .post-item {
		width:100%;
	}
	section.post-listing-3cols .post-item a.image-3cols {
    	width: 100%;
		margin-bottom:0 !important;
	}

}
@media (max-width: 768px) {
	section.post-listing-3cols .post-item a.image-3cols {
	    height: auto !important;
	}
	section.post-listing-3cols .post-item a.image-3cols img {
    	margin-bottom: 15px;
    	position: relative;
    	left: auto;
    	transform: none;
    	object-fit: fill;
    	width: 100%;
    	height: auto !important;
	}
}
section.post-listing .post-item .col-md-6 img {
	width: 100%;
	height: 470px;
	object-fit: cover;
}

section.post-listing-3cols .post-item .content {
	color: var(--color-text);
	max-width: 100%;
	width: auto;
	height:auto;
}

section.post-listing-3cols .post-item .col-md-4 {
	position: relative;
}

section.post-listing-3cols .post-item a.image-3cols {
	height: auto;
}

section.post-listing-3cols .row.columns {
	display: flex;
	flex-flow: row wrap;
}

section.post-listing-3cols .row.columns .post-item {
	width: 33%;
}

section.post-listing-3cols .row.columns .post-item img {
	width: 100%;
	object-fit: cover;
	position: relative;
	left: 0;
	transform: none;
	height: 300px;
}
#et-boc .et-l section.post-listing .post-item div.row {
	margin-bottom:20px;
}

#et-boc .et-l .post-item .col-md-6 h3 {
	font-family: var(--font-primary);
	text-transform:none;
	font-weight: var(--font-weight-normal);
	font-size:28px !important;
	padding-bottom:20px;
	display:none !important;
}
#et-boc .et-l .post-item .col-md-6 h2 {
	padding-bottom:10px;
}
@media (max-width: 768px) {
	#et-boc .et-l section.post-listing .post-item div.row {
		margin-bottom:30px;
	}
	#et-boc .et-l .post-item .col-md-6 h3 {
		font-family: var(--font-primary);
		text-transform:none;
		font-weight: var(--font-weight-normal);
		font-size:22px !important;
		padding-bottom:20px;
	}
}
section.post-listing .content .buy {
    display: block;
}

.image-3cols img {
	max-height: none;
}

section.featured-2cols {
	padding: 50px 0;
	background-color: var(--color-secondary-hover);
}

section.featured-2cols .content {
	background: var(--color-background);
	padding: 30px;
}

section.featured-2cols .content h2 {
	font: bold 48px var(--font-heading);
	margin-bottom: 20px;
	text-transform: uppercase;
	color: var(--color-text);
}

section.featured-2cols .content p {
	font-size: 18px;
	margin-bottom: 20px;
	font-weight: var(--font-weight-medium);
	color: var(--color-text);
}

section.featured-2cols .content .learn-more {
	color: var(--color-primary);
	font-size: 32px;
	font-weight: var(--font-weight-extrabold);
	background: transparent;
	display: block;
	height: auto;
	border-radius: 0;
	padding-left: 0;
}

section.featured-2cols .row {
	display: flex;
}

section.featured-2cols .row .col-md-6 {
	display: flex;
	flex-direction: column;
}

section.featured-2cols .row .col-md-6 img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

section.featured-2cols .row .col-md-6 .content {
	flex-grow: 1;
}

section.featured-2cols .col-md-6>a {
	background: var(--color-white);
	display: block;
	min-height: 300px;
	position: relative;
}

section.beam {
	background-image: url("img/beam.png");
	background-repeat: no-repeat;
	background-size: 100% 50%;
	background-color: var(--color-secondary-hover);
	background-position: center top;
	padding-bottom: 100px;
}

section.beam img {
	margin: auto;
}
.hp_beam img {
	max-height:200px;
}
section.beam .row {
	border-bottom: 2px solid #000;
	padding-top: 100px;
}

section.cta1 {
	background: var(--color-primary);
	height: 240px;
	display: flex;
	align-items: center;
}

section.cta1 h2 {
	font: 800 40px var(--font-heading);
	color: var(--color-background);
}
.our_venues_cards .et_pb_column {
  display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 columns on desktop */
  	grid-auto-rows: 1fr; /* all rows equal height */
	gap: 1rem;
}
.our_venues_cards .dsm_card {
	align-items: center;
  	display: flex;
	margin-bottom:0 !important;
}

@media (max-width: 767px) {
.our_venues_cards .et_pb_column {
  grid-template-columns: repeat(2, 1fr); /* 2 columns by default (mobile) */
  }
}


/* ==========================================================================
   CALENDAR & EVENTS
   ========================================================================== */
.calendar-table th {
	border: 5px solid var(--color-background);
	background: var(--color-primary-hover);
	color: var(--color-background);
	text-align: center;
	width: 14%;
	line-height: 40px;
	font-weight: var(--font-weight-bold);
}

.calendar-table td {
	border: 5px solid var(--color-background);
	margin: 0 10px;
	padding: 10px;
	text-align: center;
	vertical-align: top;
	height: 100px;
	background: rgba(57, 54, 47, .2);
}

.event-calendar {
	margin: 20px 0;
	color: var(--color-text);
	position: relative;
	max-width:1400px;
	margin-left:auto;
	margin-right:auto;
}

.calendar-table .adjacent-month,
.calendar-table .past-day {
	color: rgba(57, 54, 47, .4);
}

/* Fade the event chips in past / adjacent-month cells so finished shows recede. */
.calendar-table .past-day .event-title,
.calendar-table .adjacent-month .event-title {
	opacity: .4;
}

/* Today: gold accent ring + faint tint and a bold date number. */
.calendar-table .today {
	background: rgba(51, 153, 153, .25);
	box-shadow: inset 0 0 0 3px var(--color-primary);
}

.calendar-table .today .day-number {
	color: var(--color-primary-hover);
	font-weight: var(--font-weight-bold);
}

.calendar-table .event-title {
	display: block;
	margin-top: 5px;
	cursor: pointer;
	background: var(--color-primary-hover);
	color: var(--color-background);
	font-size: 14px;
	font-weight: var(--font-weight-bold);
	padding: 5px 10px;
}

.calendar-table .event-title:hover {
	background: var(--color-white);
	color: var(--color-primary);
}

/* Month navigation: prev (left) | month title (centered) | next (right) on a
   3-column grid (1fr auto 1fr) so the title stays optically centered no matter
   how wide the buttons are. The buttons stay real <a> links (server hrefs drive
   the reload + carry ?venues); we override the legacy .default-btn absolute
   positioning + heavy margins so they sit in normal flow as gold nav buttons. */
.event-calendar .calendar-navigation {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 12px;
	margin: 0 0 18px;
}

.event-calendar .calendar-navigation .default-btn.cal-nav-btn {
	position: static;
	top: auto;
	left: auto;
	right: auto;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 40px;
	line-height: 1 !important;
	padding: 0 16px !important;
	margin: 0 !important;
	font-family: var(--font-primary) !important;
	font-size: 13px !important;
	font-weight: var(--font-weight-bold) !important;
	letter-spacing: 0.06em;
	text-transform: uppercase !important;
	white-space: nowrap;
}

.event-calendar .calendar-navigation .default-btn.cal-nav-btn:hover {
	height: 40px;
	line-height: 1 !important;
	padding: 0 16px !important;
}

.event-calendar .calendar-navigation .default-btn.prev.cal-nav-btn {
	justify-self: start;
}

.event-calendar .calendar-navigation .default-btn.next.cal-nav-btn {
	justify-self: end;
}

.event-calendar .calendar-navigation .cal-nav-arrow {
	font-size: 16px;
	line-height: 1;
	font-weight: var(--font-weight-bold);
}

/* Plugin CSS targets `.calendar-navigation span` (font-size:18px); pin our
   button label so it inherits the button's 13px uppercase, not the plugin size. */
.event-calendar .calendar-navigation .cal-nav-label {
	font-size: 13px;
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.06em;
}

.event-calendar .calendar-navigation .cal-nav-title {
	grid-column: 2;
	text-align: center;
	font-size: 22px;
	font-weight: var(--font-weight-bold);
	color: var(--color-primary-hover);
	font-family: var(--font-heading);
	text-transform: uppercase;
	letter-spacing: 0.1em;
}
.event-calendar .event-list .event-title {
	 font-family: var(--font-heading);
    text-transform: uppercase !important;
	font-size: var(--font-size-xl);
	line-height: var(--line-height-one);
}

/* ==========================================================================
   MODALS
   ========================================================================== */
.modal-content {
	position: relative;
	background: var(--color-dark);
	margin: 150px auto;
	padding: 20px;
	max-width: 600px;
	z-index: 10000;
	color: var(--color-white);
	box-shadow: rgb(38 57 77) 0 20px 30px -10px;
}

.modal-content a {
	color: var(--color-white);
	text-decoration: none;
}

.close-modal {
	position: absolute;
	top: 10px;
	right: 10px;
	font-size: 24px;
	cursor: pointer;
	color: var(--color-white);
}

/* ==========================================================================
   CALENDAR VENUE FILTER (BWG-483) — reskin to the EVH reference design
   (gold/slate tokens; white filter card; slate trigger; search + checkbox
   dropdown; gold-soft chips; "N selected" count + Clear all)
   ========================================================================== */
/* Reference tokens, mapped onto the BBP palette + Inter body font. Scoped to
   the calendar so they never leak. */
.event-calendar {
	--evh-slate:       var(--color-primary-hover); /* #323232 */
	--evh-slate-2:     #444444;
	--evh-gold:        var(--color-primary);       /* var(--color-primary) */
	--evh-gold-soft:   #d9eeee;
	--evh-gold-border: #339999;
	--evh-gold-ink:    #1f6363;
	--evh-surface:     var(--color-white);
	--evh-line:        #cccccc;
	--evh-muted:       #8a8c91;
	--evh-font:        var(--font-primary, 'Inter', sans-serif);
}

/* The month nav and the filter are ONE toolbar card: the nav is the top row
   (white, rounded top corners), the filter the bottom row (hairline between,
   rounded bottom corners). Applied only when the filter actually renders
   (fewer than two venues = no filter, and the nav keeps its bare layout).
   Before this (2026-09-01) the filter was a lone white slab under a bare nav:
   66px of card holding one 38px button whenever nothing was selected. */
.event-calendar .calendar-navigation:has(+ .calendar-filter) {
	max-width: 1400px;
	margin: 0 auto;
	padding: 12px 16px;
	background: var(--evh-surface);
	border-radius: 10px 10px 0 0;
}

/* Filter bar: a clean white rounded card, flex row that wraps. */
.calendar-filter {
	max-width: 1400px;
	margin: 0 auto 24px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 12px;
	padding: 12px 16px;
	background: var(--evh-surface);
	border-radius: 10px;
}

/* Bottom row of the toolbar card when the month nav sits above it. */
.event-calendar .calendar-navigation + .calendar-filter {
	border-top: 1px solid var(--evh-line);
	border-radius: 0 0 10px 10px;
}

/* ---- disclosure trigger + dropdown menu -------------------------------- */
.calendar-filter-control {
	position: relative;
	flex: 0 0 auto;
}

.calendar-filter-trigger {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	height: 40px; /* matches the month-nav buttons above it */
	padding: 0 14px 0 16px;
	background: var(--evh-slate);
	border: 0;
	border-radius: 8px;
	font-family: var(--evh-font);
	font-size: 13px;
	font-weight: var(--font-weight-medium);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--evh-gold-soft);
	cursor: pointer;
	line-height: 1;
	transition: background 0.15s ease;
}

.calendar-filter-trigger:hover {
	background: var(--evh-slate-2);
}

.calendar-filter-trigger:focus-visible {
	outline: 2px solid var(--evh-gold);
	outline-offset: 2px;
}

.calendar-filter-trigger-label {
	font-family: var(--evh-font);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 13px;
	font-weight: var(--font-weight-medium);
}

/* The plugin's caret is a text glyph (&#9662;); draw a crisp chevron over it. */
.calendar-filter-caret {
	display: inline-block;
	width: 8px;
	height: 8px;
	font-size: 0;
	line-height: 0;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	opacity: 0.9;
	transition: transform 0.15s ease;
}

.calendar-filter-trigger[aria-expanded="true"] .calendar-filter-caret {
	transform: translateY(2px) rotate(-135deg);
}

.calendar-filter-panel {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	z-index: 50;
	width: 300px;
	max-width: 88vw;
	padding: 8px;
	background: var(--evh-surface);
	border: 1px solid var(--evh-line);
	border-radius: 10px;
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.14);
}

.calendar-filter-panel[hidden] {
	display: none;
}

.calendar-filter-search {
	width: 100%;
	box-sizing: border-box;
	height: 38px;
	padding: 0 12px;
	margin-bottom: 8px;
	border: 1px solid var(--evh-line);
	border-radius: 6px;
	font-family: var(--evh-font);
	font-size: 14px;
	font-weight: var(--font-weight-normal);
	color: var(--color-text);
	background: var(--evh-surface);
}

.calendar-filter-search:focus-visible {
	outline: 2px solid var(--evh-gold);
	outline-offset: 1px;
}

.calendar-filter-list {
	max-height: 300px;
	overflow-y: auto;
}

.calendar-filter-option {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	min-height: 40px;
	padding: 6px 10px;
	border-radius: 6px;
	font-family: var(--evh-font);
	font-size: 14px;
	line-height: 1.25;
	color: var(--color-text);
	cursor: pointer;
	user-select: none;
	transition: background 0.12s ease;
}

.calendar-filter-option:hover {
	background: #f4f1ea;
}

.calendar-filter-option.is-hidden {
	display: none;
}

.calendar-filter-checkbox {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--evh-gold);
	cursor: pointer;
}

.calendar-filter-checkbox:focus-visible {
	outline: 2px solid var(--evh-gold);
	outline-offset: 1px;
}

.calendar-filter-option-label {
	flex: 1 1 auto;
}

/* ---- count badge in the trigger (theme JS in custom.js builds it) -------- */
/* Desktop shows the chips inline, so the badge only appears on phones. */
.calendar-filter-badge {
	display: none;
}

.calendar-filter-badge-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

/* ---- active venue chips ------------------------------------------------- */
.calendar-filter-pills {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

/* Nothing selected: say so, so the row never reads as an empty card. The
   pills container is empty markup until JS or ?venues adds chips. */
.calendar-filter-pills:empty::before {
	content: 'Showing all venues';
	font-family: var(--evh-font);
	font-size: 13px;
	color: var(--evh-muted);
}

.calendar-filter-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 32px;
	padding: 0 6px 0 12px;
	background: var(--evh-gold-soft);
	border: 1px solid var(--evh-gold-border);
	border-radius: 999px;
	font-family: var(--evh-font);
	font-size: 13px;
	font-weight: var(--font-weight-normal);
	color: var(--evh-gold-ink);
	white-space: nowrap;
}

.calendar-filter-pill-label {
	white-space: nowrap;
}

.calendar-filter-pill-remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(160, 120, 40, 0.16);
	color: var(--evh-gold-ink);
	font-size: 14px;
	line-height: 1;
	cursor: pointer;
	transition: background 0.12s ease;
}

.calendar-filter-pill-remove:hover {
	background: rgba(160, 120, 40, 0.32);
}

.calendar-filter-pill-remove:focus-visible {
	outline: 2px solid var(--evh-gold-ink);
	outline-offset: 1px;
}

/* ---- actions (count + clear all), pushed right -------------------------- */
.calendar-filter-actions {
	margin-left: auto;
	display: inline-flex;
	align-items: center;
	gap: 12px;
}

.calendar-filter-actions[hidden] {
	display: none;
}

.calendar-filter-count {
	font-family: var(--evh-font);
	font-size: 13px;
	color: var(--evh-muted);
}

/* Clear all: a small outlined pill, so it reads as an action and not as an
   underlined footnote. */
.calendar-filter-clear-all {
	height: 32px;
	padding: 0 14px;
	border: 1px solid var(--evh-gold-border);
	border-radius: 999px;
	background: none;
	font-family: var(--evh-font);
	font-size: 12px;
	font-weight: var(--font-weight-medium);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--evh-gold-ink);
	text-decoration: none;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
}

.calendar-filter-clear-all:hover {
	background: var(--evh-gold-soft);
	color: var(--evh-gold-ink);
}

.calendar-filter-clear-all:focus-visible {
	outline: 2px solid var(--evh-gold);
	outline-offset: 2px;
}

/* The plugin CSS (bwg-event.css) hides .calendar-navigation AND .calendar-table
   with `display:none !important` below 991px (it swaps in the list view). We keep
   the list-view swap (calendar grid stays hidden on mobile) but RE-SHOW the month
   nav so the header still works on phones — the reference design has a real mobile
   nav. Override needs equal !important + higher specificity to beat the plugin. */
@media (max-width: 991px) {
	.event-calendar .calendar-navigation {
		display: grid !important;
	}
}

/* ---- mobile (<= 640px): match the reference media query ----------------- */
@media (max-width: 640px) {
	/* Nav arrows collapse to icon-only 40px squares; title stays centered. */
	.event-calendar .calendar-navigation .cal-nav-label {
		display: none;
	}
	.event-calendar .calendar-navigation .default-btn.cal-nav-btn {
		width: 40px;
		padding: 0 !important;
		justify-content: center;
	}
	.event-calendar .calendar-navigation .cal-nav-title {
		font-size: 16px;
		letter-spacing: 0.06em;
	}

	/* Toolbar card tightens; trigger goes full width and touch height; the
	   empty-state label drops (the full-width button says enough) and takes its
	   flex gap with it; chips + actions each own a row; option rows hit 44px. */
	.event-calendar .calendar-navigation:has(+ .calendar-filter) {
		padding: 12px;
	}
	.calendar-filter {
		gap: 10px;
		padding: 12px;
	}
	.calendar-filter-control,
	.calendar-filter-trigger {
		width: 100%;
	}
	.calendar-filter-trigger {
		height: 44px;
		justify-content: space-between;
	}
	.calendar-filter-panel {
		width: 100%;
		max-width: 100%;
	}
	.calendar-filter-option {
		min-height: 44px;
	}
	.calendar-filter-pills {
		width: 100%;
	}
	.calendar-filter-pills:empty {
		display: none;
	}
	.calendar-filter-actions {
		margin-left: 0;
		width: 100%;
		justify-content: space-between;
	}

	/* Closed state is ONE button: the selection count rides in the trigger as
	   a gold badge, and custom.js moves the chips + "N selected / Clear all"
	   row inside the panel, where they sit above the search box. */
	.calendar-filter-trigger-label {
		margin-right: auto;
	}
	.calendar-filter-badge {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 24px;
		height: 24px;
		padding: 0 8px;
		margin-right: 4px;
		border-radius: 999px;
		background: var(--evh-gold);
		color: var(--evh-slate);
		font-size: 13px;
		font-weight: var(--font-weight-bold);
		letter-spacing: 0;
		line-height: 1;
	}
	.calendar-filter-badge[hidden] {
		display: none;
	}
	.calendar-filter-panel .calendar-filter-pills {
		padding: 4px 4px 10px;
	}
	.calendar-filter-panel .calendar-filter-actions {
		padding: 0 4px 12px;
		margin-bottom: 10px;
		border-bottom: 1px solid var(--evh-line);
	}
	.calendar-filter-list {
		max-height: 260px;
	}
}

/* ---- empty states ------------------------------------------------------- */
/* Server-rendered empty state (no events at all this month). */
.calendar-empty {
	max-width: 1400px;
	margin: 0 auto;
	padding: 28px 22px;
	text-align: center;
	font-family: var(--evh-font, 'Inter', sans-serif);
	font-size: 16px;
	color: var(--color-primary-hover);
}

/* JS-driven empty state (active filter hides every chip in the visible month). */
/* Empty-state message. Stays in the a11y tree as an aria-live region (no
   `hidden` attribute); JS sets its text and toggles .is-visible. Default =
   hidden, both visually and from layout. */
.calendar-filter-empty {
	display: none;
	max-width: 1400px;
	margin: 16px auto 0;
	padding: 22px;
	text-align: center;
	font-family: var(--evh-font, 'Inter', sans-serif);
	font-size: 15px;
	color: var(--color-primary-hover);
	background: var(--color-light, #e9e7de);
	border-left: 4px solid var(--color-primary);
}

.calendar-filter-empty.is-visible {
	display: block;
}

/* ==========================================================================
   AUTOCOMPLETE
   ========================================================================== */
/* Hide the old jQuery UI autocomplete */
.ui-menu.ui-widget.ui-widget-content.ui-autocomplete.ui-front {
    display: none !important;
    visibility: hidden !important;
}

.ui-menu-item-wrapper {
    display: none !important;
}

#ui-id-1,
[id^="ui-id-"] {
    display: none !important;
}


.ui-autocomplete {
	position: absolute;
	background-color: #001B2F !important;
	border: 0 !important;
	max-height: 200px;
	overflow-y: auto;
	width: auto;
	z-index: 999999 !important;
}

.ui-autocomplete li {
	padding: 5px 10px;
	cursor: pointer;
}

.ui-autocomplete li div {
	color: #00CCFF;
}

.ui-autocomplete li:hover {
	background-color: var(--color-background);
	cursor: pointer;
}

.ui-autocomplete li:hover div {
	color: var(--color-white);
	background-color: var(--color-background);
	border: 0 !important;
}

.ui-autocomplete li div.ui-menu-item-wrapper {
	color: var(--color-white);
}

.ui-autocomplete li div.ui-menu-item-wrapper.ui-state-active {
	background-color: #001B2F;
	border: 0;
}

/* ==========================================================================
   ARTIST & VENUE PAGES
   ========================================================================== */
.artist-single,
.event-item,
.artist-events-bottom,
.col-md-4 h2 {
	color: var(--color-text);
}
.event-calendar .event-item {
	align-items:flex-start;
}
.event-calendar .event-item .event-date {
	margin-top:0;
	line-height: 16px;
    margin-bottom: 6px;
}
.artist-archive {
	padding-top: 30px;
}

.artist-archive h1 {
	color: var(--color-white);
	font-size: 24px;
	margin-bottom: 30px;
}

.artist-archive .artist-thumbnail {
	color: var(--color-white);
	margin-bottom: 15px;
	display: block;
}

.artist-archive h2 {
	color: var(--color-white);
	font-size: 20px;
	margin-bottom: 30px;
}

.single-artist {
	padding-top: 30px;
}

.single-artist h1 {
	color: var(--color-white);
	font-size: 24px;
	margin-bottom: 30px;
}

.single-artist .artist-featured-image {
	color: var(--color-white);
	margin-bottom: 15px;
	display: block;
}

.single-artist p {
	color: var(--color-white);
	font-size: 18px;
	margin-bottom: 30px;
}

.single-artist .artist-website {
	color: var(--color-white);
	margin-bottom: 30px;
}

.single-artist .artist-website h3 {
	color: var(--color-white);
}

.single-artist .artist-website a {
	font-size: 18px;
	color: #00CCFF;
}

.single-artist .artist-socials {
	color: var(--color-white);
	margin-bottom: 30px;
}

.single-artist .artist-socials h3 {
	color: var(--color-white);
	display: inline;
}

.single-artist .artist-socials a {
	font-size: 18px;
	color: #00CCFF;
}

.single-artist .artist-gallery {
	color: var(--color-white);
	margin-bottom: 30px;
}

.single-artist .artist-gallery h3 {
	color: var(--color-white);
	display: inline;
}

.single-artist .gallery-modal {
	position: fixed;
	z-index: 1000;
	padding-top: 60px;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgba(0, 0, 0, .9);
}

.single-artist .gallery-modal .modal-content-container {
	position: relative;
	margin: auto;
	max-width: 90%;
	text-align: center;
}

.single-artist .gallery-modal .modal-content {
	margin: auto;
	display: block;
	max-width: 100%;
	max-height: 80vh;
}

.single-artist .gallery-modal .modal-close {
	position: absolute;
	top: 15px;
	right: 35px;
	color: #fff;
	font-size: 40px;
	font-weight: bold;
	cursor: pointer;
}

.single-artist .gallery-modal .modal-prev,
.single-artist .gallery-modal .modal-next {
	cursor: pointer;
	position: absolute;
	top: 50%;
	padding: 16px;
	color: #fff;
	font-weight: bold;
	font-size: 40px;
	user-select: none;
	transform: translateY(-50%);
}

.single-artist .gallery-modal .modal-prev {
	left: 10px;
}

.single-artist .gallery-modal .modal-next {
	right: 10px;
}

.single-artist .artist-gallery img {
	cursor: pointer;
}

.archive-venue {
	padding-top: 30px;
}

.archive-venue h1 {
	color: var(--color-white);
	font-size: 24px;
	margin-bottom: 30px;
}

.archive-venue .artist-thumbnail {
	color: var(--color-white);
	margin-bottom: 15px;
	display: block;
}

.archive-venue h2 {
	color: var(--color-white);
	font-size: 20px;
	margin-bottom: 30px;
}

.single-venue {
	padding-top: 30px;
}

.single-venue h1 {
	color: var(--color-white);
	font-size: 24px;
	margin-bottom: 30px;
}

.single-venue .artist-featured-image {
	color: var(--color-white);
	margin-bottom: 15px;
	display: block;
}

.single-venue p {
	color: var(--color-white);
	font-size: 18px;
	margin-bottom: 30px;
}

.single-venue .venue-website {
	color: var(--color-white);
	margin-bottom: 30px;
}

.single-venue .venue-website h3 {
	color: var(--color-white);
}

.single-venue .venue-website a {
	font-size: 18px;
	color: #00CCFF;
}

.single-venue .venue-socials {
	color: var(--color-white);
	margin-bottom: 30px;
}

.single-venue .venue-socials h3 {
	color: var(--color-white);
	display: inline;
}

.single-venue .venue-socials a {
	font-size: 18px;
	color: #00CCFF;
}

.venue-page {
	color: var(--color-white);
}

.venue-page h1 {
	font-size: 24px;
	margin-bottom: 15px;
}

.venue-page img {
	margin: 0 auto 30px;
	display: table;
}

.venue-page p {
	font-size: 18px;
	margin-bottom: 15px;
}

.event-date {
	font-weight: bold;
	display: block;
	color: #2A8C8C;
	margin-top: 10px;
}

.event-item {
	border-bottom: 1px solid #2A8C8C;
	padding: 10px 0;
}

.page-content {
	max-width:1400px;
	width:80%;
	margin-left:auto;
	margin-right:auto;
}
@media (max-width: 768px) {

.page-content .container,
.page-content .col-md-12,
.page-content .col-md-6,
.page-content .col-md-4 {
	padding-left:0;
	padding-right:0;
}
}
/* ==========================================================================
   MISC
   ========================================================================== */

/* Align two col form to top */
#et-boc .et-l li.gfield {
	vertical-align: top;
}

#et-boc .et-l li.gfield--type-text.gf_right_half {
	padding-left: 20px !important;
}

@media only screen and (max-width: 641px) {
	#et-boc .et-l li.gfield--type-text.gf_right_half {
		padding-left: 0px !important;
	}
}

/* center the heading and lines */

.pa-heading-line-both h2 {
	display: flex;
	width: 100%;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.pa-heading-line-both h2:before,
.pa-heading-line-both h2:after {
	content: '';
	border-top: 4px solid;
	margin: 0 20px 0 0;
	flex: 1 0 20px;
	color: var(--color-primary-hover);
}

.pa-heading-line-both h2:after {
	margin: 0 0 0 20px;
}


/* ==========================================================================
   SEARCH OVERLAY
   ========================================================================== */
.search-overlay {
	position: fixed;
	inset: 0;
	background: var(--color-primary);
	backdrop-filter: blur(15px);
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: all .4s cubic-bezier(.25, .46, .45, .94);
}

.search-overlay.active {
	opacity: 1;
	visibility: visible;
}

.search-container {
	width: 90%;
	max-width: 700px;
	text-align: center;
	transform: translateY(50px);
	transition: transform .4s cubic-bezier(.25, .46, .45, .94);
}

.search-overlay.active .search-container {
	transform: translateY(0);
}

.search-close {
	position: absolute;
	top: 2rem;
	right: 2rem;
	background: none;
	border: 0;
	color: #fff;
	cursor: pointer;
	font-size: 2rem;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background-color .3s ease, transform .2s ease;
}

.search-close:hover {
	background-color: rgba(255, 255, 255, .1);
	transform: scale(1.1);
}

.search-title {
	color: #fff;
	font-size: 1.8rem;
	font-weight: 300;
	margin-bottom: 2rem;
	letter-spacing: 1px;
}

.search-subtitle {
	color: var(--color-white);
	font-size: 1.1rem;
	font-weight: 400;
	margin-bottom: 2.5rem;
}

.search-form {
	position: relative;
	margin-bottom: 2rem;
}

.search-input {
	width: 100%;
	padding: 1.5rem 2rem;
	font-size: 2rem;
	border: 2px solid transparent;
	border-radius: 12px;
	background: var(--color-white);
	color: var(--color-text);
	text-align: left;
	outline: none;
	transition: all .3s ease;
	box-sizing: border-box;
	font-weight: 300;
	letter-spacing: .5px;
	margin-bottom:0 !important;
}

.search-input::placeholder {
	color: var(--color-text);
	font-weight: 300;
}

.search-input:focus {
	background: var(--color-white);
	border-color: var(--color-white);
	transform: scale(1.02);
}

.search-submit {
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	background: var(--color-primary);
	border: 0;
	color: var(--color-primary-hover);
	padding: .9rem 1.8rem;
	border-radius: 8px;
	cursor: pointer;
	font-size: 1rem;
	font-weight: 700;
	transition: all .3s ease;
	text-transform: uppercase;
	letter-spacing: .5px;
}
.search-submit:hover {
	background: var(--color-primary-hover);
	transform: translateY(-50%) scale(1.05);
	color:var(--color-white);
}
@media (max-width: 768px) {
	.search-submit {
		position: relative;
		transform: translateY(0);
		margin-top: 20px;
		border: 2px solid #e9e7de;
	}
	.search-submit:hover {
		transform: translateY(0) scale(1.05);
	}
}
.search-hints {
	color: rgba(255, 255, 255, .7);
	font-size: 1rem;
	margin-top: 2rem;
}

.search-category {
	display: block;
	margin-bottom: 1rem;
	font-size: .9rem;
	color: var(--color-primary);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.search-hints span {
	display: inline-block;
	margin: .3rem .4rem;
	padding: .5rem 1rem;
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(0, 204, 255, .3);
	border-radius: 20px;
	cursor: pointer;
	transition: all .3s ease;
	font-weight: 300;
}

.search-hints span:hover {
	background: rgba(0, 204, 255, .2);
	border-color: rgba(0, 204, 255, .6);
	transform: translateY(-2px);
	color: #fff;
}

.site-header .search-area-mobile .toggle-search,
.site-header .search-area-mobile button {
	background: transparent;
	border: 0;
	cursor: pointer;
	padding: 0;
}
/* ==========================================================================
   SEARCH RESULTS PAGE
   ========================================================================== */

.search-results-page {
    padding: 50px 0;
    min-height: 500px;
}

/* Search Header */
.search-header {
    margin-bottom: 40px;
    padding-bottom: 20px;
    border-bottom: 2px solid var(--color-text);
}

.search-title {
    color: var(--color-white);
    font-size: 48px;
    margin-bottom: 10px;
}

.search-query {
    color: var(--color-primary-hover);
}

.search-count {
    color: var(--color-text);
    font-size: 18px;
    margin: 0;
}

.search-breakdown {
    color: var(--color-primary-hover);
    margin-left: 15px;
}

/* Search Result Items */
.search-result-item {
    margin-bottom: 30px;
    padding: 30px;
    background: var(--color-dark);  /* Use dark background instead */
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.3);
    border: 1px solid var(--color-primary);
}

.search-result-item.bwg-result {
    border-left: 4px solid var(--color-primary);
}

.result-title {
    margin-bottom: 15px;
}

.result-title a {
    color: var(--color-white);
    text-decoration: none;
    font-size: 28px;
}

.result-title a:hover {
    color: var(--color-primary-hover);
}

.result-content {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.result-image {
    flex-shrink: 0;
}

.result-image img {
    max-width: 200px;
    border-radius: 4px;
}

.result-details {
    flex-grow: 1;
}

.result-description {
    margin-bottom: 15px;
    color: var(--color-white);
    line-height: 1.6;
}

.result-meta {
    font-size: 14px;
    color: #666;
    margin-bottom: 15px;
}

.result-type {
    padding: 4px 8px;
    border-radius: 4px;
    margin-right: 10px;
}

.result-type.bwg-type {
    background: var(--color-primary-hover);
    color: var(--color-white);
}

.result-type.wp-type {
    background: var(--color-background);
    color: var(--color-text);
    border: 1px solid var(--color-primary-hover);
}

.result-date {
    color: var(--color-primary-hover);
    font-weight: bold;
    margin-right: 10px;
}

.result-event-date {
    margin-left: 10px;
    color: var(--color-primary-hover);
    font-weight: bold;
}

.result-artist,
.result-location {
    margin-right: 10px;
    color: var(--color-white);
}

.result-button {
    padding: 8px 16px;
    text-decoration: none;
    border-radius: 4px;
    font-weight: bold;
    display: inline-block;
    transition: all 0.3s ease;
}

.result-button.bwg-button {
    background: var(--color-primary-hover);
    color: var(--color-white);
}

.result-button.bwg-button:hover {
    background: var(--color-primary);
}

.result-button.wp-button {
    background: var(--color-background);
    color: var(--color-text);
    border: 2px solid var(--color-primary-hover);
}

.result-button.wp-button:hover {
    background: var(--color-primary-hover);
    color: var(--color-white);
}

/* Search Pagination */
.search-pagination {
    text-align: center;
    margin-top: 40px;
}

/* No Results Section */
.no-results {
    text-align: center;
    padding: 60px 20px;
}

.no-results-title {
    color: var(--color-text);
    font-size: 48px;
    margin-bottom: 20px;
}

.no-results-message {
    color: var(--color-text);
    font-size: 18px;
    margin-bottom: 30px;
}

.search-again-form {
    max-width: 400px;
    margin: 0 auto;
}

.search-form-wrapper {
    display: flex;
    gap: 10px;
}

.search-again-input {
    flex-grow: 1;
    padding: 12px;
    border: 2px solid var(--color-primary-hover);
    border-radius: 4px;
    font-size: 16px;
    color: var(--color-text);
}

.search-again-button {
    background: var(--color-primary-hover);
    color: var(--color-white);
    border: none;
    padding: 12px 20px;
    border-radius: 4px;
    cursor: pointer;
    font-weight: bold;
    transition: all 0.3s ease;
}

.search-again-button:hover {
    background: var(--color-primary);
}

.popular-searches {
    margin-top: 40px;
}

.popular-searches-title {
    color: var(--color-text);
    margin-bottom: 20px;
}

.popular-searches-links {
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
}

.popular-search-link {
    background: var(--color-background);
    color: var(--color-text);
    padding: 8px 16px;
    text-decoration: none;
    border-radius: 20px;
    border: 2px solid var(--color-primary-hover);
    transition: all 0.3s ease;
}

.popular-search-link:hover {
    background: var(--color-primary-hover);
    color: var(--color-white);
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .search-title {
        font-size: 36px;
    }
    
    .result-content {
        flex-direction: column;
    }
    
    .result-image img {
        max-width: 100%;
    }
    
    .search-form-wrapper {
        flex-direction: column;
    }
    
    .popular-searches-links {
        flex-direction: column;
        align-items: center;
    }
}
/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

/* Mobile ≤ 768px */
@media (max-width: 768px) {
	:root {
		--content-pad: 20px;
	}

	a.big-tan-btn {
		font-size: 20px;
		line-height: 64px;
		height: 64px;
		padding: 0 50px;
	}

	a.default-btn {
		font-size: 14px !important;
		line-height: 36px !important;
		height: 36px;
		margin-bottom: 10px !important;
	}
	a.default-btn:hover {
		font-size: 14px !important;
		line-height: 36px !important;
		height: 36px;
	}
	a.big-white-btn {
		height: 64px;
		line-height: 64px;
		padding: 0 40px;
	}

	h2.section-title {
		font-size: 48px;
		margin: 0 0 15px 0 !important;
	}

	h2.section-title::before,
	h2.section-title::after {
		background-color: transparent;
	}

	
	.site-header .search-area,
	.site-header .subscribe-button {
		display: none !important;
	}

	/* Calendar toolbar spacing on small screens is owned by the CALENDAR VENUE
	   FILTER section above (the nav + filter share one card there). Only the
	   title size lives here. */
	.event-calendar .calendar-navigation .cal-nav-title {
		font-size: 18px;
	}

	section.post-listing,
	section.post-listing-3cols,
	section.featured-2cols {
		padding-bottom: 0px !important;
		padding-top: 0 !important;
	}

	section.post-listing .content h2
	{
		font-size: 32px;
		color: var(--color-text);
	}

	section.featured-2cols .content h2 {
		font: bold 32px;
		margin-bottom: 6px !important;
		color: var(--color-text);
	}

	section.featured-2cols .content p {
		font-size: 16px;
		margin-bottom: 20px;
		font-weight: var(--font-weight-medium);
		color: var(--color-text);
	}

	section.featured-2cols .content .learn-more {
		font-size: 24px !important;
		margin-bottom: 0;
	}

	section.featured-2cols .col-md-6 {
		margin-bottom: 40px;
	}

	section.post-listing .post-item .col-md-6 img {
		height: 300px;
	}

	section.post-listing .post-item .col-md-6.content h2 {
		color: var(--color-text);
	}

	section.post-listing-3cols .row.columns .post-item {
		width: 100%;
	}

	section.cta1 h2 {
		font: 800 32px;
	}

	.event-details .row {
		display: flex;
		flex-direction: column;
	}

	.event-details .row .col-md-6 {
		order: 2;
	}

	.event-details .row .col-md-6~.col-md-6 {
		order: 1;
	}

	.event-details h2 {
		font: bold 48px;
	}

	.footer-imge {
		max-width: 80%;
		height: auto;
		margin: 50px auto 30px;
	}

	section.full-slider .slick-dots {
		display: flex;
	}

	.search-overlay .search-input {
		font-size: 1.5rem;
		padding: 1.2rem 1.5rem;
	}

	.search-close {
		top: 1rem;
		right: 1rem;
		font-size: 1.5rem;
		width: 40px;
		height: 40px;
	}

	.search-hints {
		font-size: .9rem;
	}

	.search-submit {
		padding: .6rem 1.2rem;
		font-size: .9rem;
	}
}

/* Mobile ≤ 480px - also needs the same fix */
@media (max-width: 480px) {
	section.full-slider .item .slider-item-inner {
		height: auto;
		display: flex;
		flex-direction: column;
		padding-bottom: 20px;
		background: transparent;
	}

	section.full-slider .item .slider-item-inner .image-side {
		position: relative;
		width: 100%;
		order: 1;
	}

	section.full-slider .item .slider-item-inner .image-side img {
		height: auto;
		max-height: auto;
		width: 100%;
		max-width: 100%;
		/* Add this to prevent overflow */
		object-position: center center;
		object-fit: cover;
		/* Add this to maintain aspect ratio */
	}

	section.full-slider .item .slider-item-inner .text-side {
		position: relative;
		width: 100%;
		order: 2;
		color: var(--color-text);
		padding: 20px 0px;
		background: transparent;
	}

	section.full-slider .item .slider-item-inner .content {
		width: 100%;
		max-width: none;
		padding: 0;
	}

	section.full-slider .item .slider-item-inner .container {
		width: 100%;
		padding: 0;
		order: 2;
	}

	section.full-slider .item .slider-item-inner h2,
	.event-page .slider .content h2,
	.artist-page .slider .content h2 {
		font-size: 32px !important;
		color: var(--color-text);
	}
	.artist-page .slider .content h2 {
		margin-bottom:0px;
	}

	
	
	section.full-slider .item .slider-item-inner h3 {
		font-size: 18px !important;
		line-height: 22px !important;
		color: var(--color-text);
	}

	section.full-slider .item .slider-item-inner .date {
		font-size: 16px;
		color: var(--color-text);
	}

	.search-container {
		width: 95%;
	}

	.search-overlay .search-input {
		font-size: 1.2rem;
		padding: 1rem 1.2rem;
	}
}

/* Tablet 481–1023px */
@media (min-width: 481px) and (max-width: 1023px) {
	section.full-slider .item .slider-item-inner .date {
		font-weight: var(--font-weight-bold);
		font-size: 22px;
		margin-bottom: 2px;
		color: var(--color-text) !important;
	}

	section.full-slider .item .slider-item-inner h2,
	.artist-page .slider .content h2 {
		font-size: 48px !important;
		margin-bottom: 2px !important;
		color: var(--color-text) !important;
	}
	.event-page .slider .content h2 {
		font-size: 48px !important;
		margin-bottom: 15px !important;
		color: var(--color-text) !important;
	}
	section.full-slider .item .slider-item-inner h3 {
		font-size: 28px !important;
		line-height: 30px !important;
		color: var(--color-text) !important;
	}

	section.full-slider .item .slider-item-inner {
		position: relative;
		background: transparent;
		height: auto;
		display: flex;
		flex-direction: column;
		padding-bottom: 0px;
		overflow: hidden;
		color: var(--color-text) !important;
	}
	section.full-slider .item .slider-item-inner .row {
			width:80%;
	}
	section.full-slider .item .slider-item-inner .text-side {
		color: var(--color-text);
		position: static;
		width: 100%;
		padding: 20px 0px 0 0px;
		order: 2;
	}

	section.full-slider .item .slider-item-inner .content {
		position: static;
		background: none;
		padding: 0;
		margin: 0 auto;
		max-width: 505px;
		width: 90%;
	}

	section.full-slider .item .slider-item-inner .image-side {
		position: relative;
		width: 100%;
		order: 1;
		display: block;
		padding: 0;
		margin: 0;
		border-bottom: 0px solid var(--color-primary-hover);
	}

	section.full-slider .item .slider-item-inner .image-side .row {
		display: block;
		width: 100%;
		height: auto;
	}

	section.full-slider .item .slider-item-inner .col-md-6.slider-img {
		display: block;
		width: 100%;
		padding: 0;
		margin: 0;
	}

	section.full-slider .item .slider-item-inner .image-outer {
		position: relative;
		float: none;
		margin: 0;
		background: none;
		width: 100%;
		display: block;
	}

	section.full-slider .item img,
	section.full-slider .item .slider-item-inner .image-side img {
		position: relative;
		height: auto;
		object-position: center center;
		width: 100%;
		/* This is causing the overflow */
		max-width: 100%;
		/* Add this to prevent overflow */
		display: block;
		margin: 0;
		padding: 0;
		object-fit: cover;
		/* Add this to maintain aspect ratio */
	}

	section.full-slider .item .slider-item-inner .right-gradient,
	section.full-slider .item .slider-item-inner .image-gradient {
		display: none;
	}

	section.full-slider .slick-dots {
		bottom: 0;
		margin-bottom: 25px;
	}

	section.full-slider .slick-dots li {
		margin-left: 15px;
		padding-bottom: 10px;
	}

	section.full-slider .item .slider-item-inner>.container {
		position: relative;
		width: 100%;
		order: 2;
		padding: 20px 0px 0 0px;
		margin: 0;
	}

	section.full-slider .slick-slide {
		height: auto;
	}

	.slick-list {
		height: auto !important;
		padding-bottom: 30px;
	}

	section.full-slider .item .slider-item-inner::after {
		display: none;
	}

	section.full-slider .item .slider-item-inner .buy a {
		margin-bottom: 10px !important;
	}
}

/* Medium ≤ 980px */

@media (max-width: 1023px) {
			section.full-slider .item .slider-item-inner .image-side .row {
			width:100%;
	}
		section.full-slider .item .slider-item-inner .row {
			width:80%;
	}
		section.full-slider .item .slider-item-inner .image-side {
			border-bottom: 0px solid var(--color-primary-hover);
	}
	.site-header .header-right {
		background-color: var(--color-dark);
	}

	.site-header .search-area-mobile {
		display: none !important;
	}

	.site-header .subscribe-button {
		display: none;
	}

	.site-header .search-area {
		display: none;
	}


	.artist-bio h2 {
		font-size: 50px;
	}



	section.post-listing-3cols .row.columns:before,
	section.post-listing-3cols .row.columns:after {
		content: normal;
	}

	section.post-listing-3cols .row.columns {
		gap: 30px 20px;
		display: flex;
		justify-content: space-between;
	}

	section.post-listing-3cols .row.columns .post-item {
		width: 47%;
	}

	section.post-listing-3cols .row.columns .post-item .content,
	section.post-listing-3cols .row.columns .post-item .image-3cols {
		width: 48%;
	}

	section.post-listing-3cols .post-item img {
		max-width: 100%;
	}

	section.post-listing-3cols .row.columns .post-item img {
		height: 200px;
	}

	section.featured-2cols .row {
		display: block;
	}

	.slider-item-inner .col-md-6.first_col_slider_img {
		width: 0%;
	}

	.slider-item-inner .col-md-6.slider-img {
		width: 100%;
	}

	.slider-item-inner .col-md-6.text-wrapper {
		width: 100%;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

}

/* Large ≥ 981px */
@media (min-width: 981px) {
	.site-header .header-items-wrapper {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
	}

	.site-header .header-left {
		display: flex;
		align-items: center;
		gap: 20px;
		flex-shrink: 0;
	}

	.site-header .header-right {
		display: flex;
		align-items: center;
		gap: 20px;
		flex-wrap: nowrap;
		justify-content: flex-end;
	}

	.site-header .nav-menu {
		flex-grow: 1;
		display: flex;
		justify-content: center;
	}

	.site-header .search-area {
		flex-shrink: 0;
		order: 1;
	}

	.site-header .subscribe-button {
		flex-shrink: 0;
		order: 2;
		margin-left: 15px;
	}

	.site-header .search-area-mobile {
		display: none !important;
	}

	section.post-listing-3cols .row.columns .post-item .col-md-4 {
		display: flex;
		flex-direction: column;
		width: 100%;
	}

}

@media (min-width: 1200px) {
	.search-menu-item {
		display: none !important;
	}
}


@media (min-width: 981px) and (max-width: 1430px) {
	.site-header .search-area {
		display: none;
	}

	.site-header .subscribe-button {
		display: none;
	}

	.site-header .header-right {
		display: none;
	}
 }

/* Footer responsive */
@media (min-width: 1px) and (max-width: 980px) {
	footer .footer-items-wrapper {
		border-top: 2;
		border-bottom: 1px solid var(--color-text);
		padding: 50px 0;
		flex-wrap: wrap;
		margin-top: 30px;
	}

	footer .footer-left {
		width: 100%;
		margin-bottom: 30px;
	}

	footer .social-icons {
		margin-top: 20px;
	}

	footer .footer-right {
		width: 50%;
	}
}

/* Large Desktop ≥ 1023.01px */
@media (min-width: 1023.01px) {
	 .event-page .content {
		width: var(--text-area-width);
		 max-width:100%;
	}
	section.full-slider .item .slider-item-inner {
		height: auto;
		display: flex;
	}

	.slider-item-inner .container {
		width: var(--text-area-width);
	}

	.slider-item-inner .image-side {
		width: var(--image-area-width);
	}

	.slider-item-inner .image-side .row {
		display: flex;
		width: 100%;
		height: 100%;
	}

	.slider-item-inner .col-md-6.slider-img {
		display: flex;
		width: 100%;
		padding: 0 !important;
	}

	section.full-slider .item .slider-item-inner .image-outer {
		width: 100%;
		display: flex;
		position: relative;
	}

	section.full-slider .item .slider-item-inner .image-side img {
		height: auto;
		width: 100%;
		object-fit: cover;
		/* Changed from contain to cover */
		object-position: center center;
		/* Changed from left center to center center */
	}

	section.full-slider .item .slider-item-inner .text-side {
		height: auto;
		width: 100%;
		min-width: 400px;
	}
}

/* Hide gradients on smaller screens */
@media (max-width: 1023px) {

	section.full-slider .item .slider-item-inner .right-gradient,
	section.full-slider .item .slider-item-inner .image-gradient {
		display: none;
	}

	section.full-slider .item .slider-item-inner::after {
		display: none;
	}
}

/* Large ≤ 1200px */
@media (max-width: 1200px) {
	.site-header .header-right {
		background-color: var(--color-dark);
	}
}

/* Very Large ≥ 1440px */
@media (min-width: 1440px) {
	section.full-slider .item .slider-item-inner {
		height: auto;
	}

	section.full-slider .item .slider-item-inner .text-side {
		height: auto;
	}

	section.full-slider .item .slider-item-inner .image-side img {
		height: auto;
		width: 100%;
		object-fit: cover;
		object-position: center center;
	}
}

/* Large screens with gradient effects (≤ 1500px) */
@media (max-width: 1500px) {
	section.full-slider .item .slider-item-inner .image-outer {
		z-index: 0;
	}

	section.full-slider .item .slider-item-inner .content {
		padding-right: 30px;
		background: linear-gradient(to right, black 30%, rgba(0, 0, 0, 0) 100%);
	}

	section.full-slider .item .slider-item-inner .image-side img {
		height: auto;
		width: 100%;
		object-fit: cover;
		object-position: center center;
	
	}
}

/* Ultra Wide ≥ 1920px */
@media (min-width: 1920px) {
	section.full-slider .item .slider-item-inner {
		height: auto;
	}

	section.full-slider .item .slider-item-inner .text-side {
		height: auto;
	}

	section.full-slider .item .slider-item-inner .image-side img {
		height: auto;
		
		width: 100%;
		
		object-fit: cover;
		
		object-position: center center;
		
	}
}




/*========================================================================
Menu Support - Improved Version
=======================================================================*/

/* Ensure menu container is properly positioned */
.nav-menu {
	position: relative;
}

.nav-menu .main-menu {
	position: relative;
	display: flex;
	/* This helps with alignment */
	list-style: none;
	margin: 0;
	padding: 0;
}

.nav-menu .main-menu li {
	position: relative;
	display: inline-block;
	margin: 0;
	/* Reset any theme margins */
}

/* Main menu links */
.nav-menu .main-menu>li>a {
	display: block;
	padding: 15px 10px;
	text-decoration: none;
	
}

/* Hide sub-menus by default */
.nav-menu .main-menu .sub-menu {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 220px;
	background-color: rgba(47, 55, 57, 0.95);
	backdrop-filter: blur(10px);
	border: 1px solid rgb(193, 167, 116, .3);
	border-radius: 8px;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.4);
	z-index: 999;
	padding: 8px 0;
	margin: 0;
	list-style: none;
	opacity: 0;
	pointer-events: none;
	/* Prevent flicker */
}

/* Show dropdown on hover - CRITICAL: Multiple selectors for reliability */
.nav-menu .main-menu li:hover>.sub-menu,
.nav-menu .main-menu li.sfHover>.sub-menu,
.nav-menu .main-menu li:focus-within>.sub-menu {
	display: block;
	opacity: 1;
	pointer-events: auto;
}

/* Style dropdown items */
.nav-menu .main-menu .sub-menu li {
	display: block;
	width: 100%;
	margin: 0;
	float: none;
	
}

.nav-menu .main-menu .sub-menu a {
	display: block;
	padding:10px 50px;
	text-decoration: none;
	white-space: nowrap;
	
}

.nav-menu .main-menu .sub-menu a:hover,
.nav-menu .main-menu .sub-menu a:focus {
	background-color: rgb(193, 167, 116, .2);
	color: var(--color-secondary-hover);
	
}

/* Remove border from last item */
.nav-menu .main-menu .sub-menu li:last-child a {
	border-bottom: none;
}

/* Arrow indicator for parent items */
.nav-menu .main-menu .menu-item-has-children>a::after {
	content: ' ▼';
	font-size: 10px;
	margin-left: 8px;
	transition: transform 0.2s ease;
	display: inline-block;
}

.nav-menu .main-menu .menu-item-has-children:hover>a::after {
	transform: rotate(180deg);
}

/* Third-level dropdowns (if needed) */
.nav-menu .main-menu .sub-menu .menu-item-has-children>a::after {
	content: ' ▶';
	float: right;
	transform: none;
	margin-left: 0;
}

.nav-menu .main-menu .sub-menu .sub-menu {
	top: 0;
	left: 100%;
	margin-left: 1px;
}

/* Focus styles for accessibility */


/* ===== HOVER CAPABILITY DETECTION ===== */
/* Devices that CAN hover (laptops, desktops, tablets with mouse/trackpad) */
@media (hover: hover) {

	.nav-menu .main-menu li:hover>.sub-menu,
	.nav-menu .main-menu li.sfHover>.sub-menu {
		display: block !important;
		opacity: 1 !important;
		pointer-events: auto !important;
	}
}

/* Devices that CANNOT hover (pure touch devices like phones) */
@media (hover: none) and (pointer: coarse) {

	.nav-menu .main-menu li:hover>.sub-menu,
	.nav-menu .main-menu li.sfHover>.sub-menu {
		display: none !important;
		opacity: 0 !important;
		pointer-events: none !important;
	}
}

/* ===== MOBILE EXPANDED MENU LAYOUT ===== */
/* Small screens - show all menu items in simple expanded list */
@media (max-width: 1430px) {
	.nav-menu .main-menu {
		flex-direction: column;
		display: block;
		/* Stack vertically on mobile */
	}

	.nav-menu .main-menu li {
		display: block !important;
		width: 100%;
	}

	/* Mobile: Show sub-menus as expanded list (no dropdowns) */
	.nav-menu .main-menu .sub-menu {
		position: static;
		border: none;
		border-radius: 0;
		box-shadow: none;
		backdrop-filter: none;
		margin: 0;
		padding: 0;
		transform: none;
		opacity: 1;
		pointer-events: auto;
		display: block !important;
		min-width: auto;
		list-style: none;
	}

	/* Remove arrows on mobile since everything is expanded */
	.nav-menu .main-menu .menu-item-has-children>a::after {
		display: none !important;
	}

	/* Parent menu items on mobile */
	.nav-menu .main-menu>li>a {
		padding: 0px 0px;
		font-weight: 600;	
	}

	.nav-menu .main-menu .sub-menu a:hover,
	.nav-menu .main-menu .sub-menu a:focus {
		background-color: rgba(0, 204, 255, .3);
		color: var(--color-primary-hover);
	}

	/* Remove any borders from last items for cleaner look */
	.nav-menu .main-menu li:last-child>a,
	.nav-menu .main-menu .sub-menu li:last-child a {
		border-bottom: none;
	}
	.nav-menu .main-menu li ul.sub-menu {
		padding-top:12px;
	}
	.nav-menu .main-menu .sub-menu a {
    	padding: 0;
	}
	.nav-menu .main-menu li ul.sub-menu li {
		padding-bottom:12px;
	}
	.nav-menu .main-menu li ul.sub-menu li:last-of-type {
		padding-bottom:0px;
	}
}


/* Ensure dropdowns work even with theme conflicts */
.nav-menu ul.main-menu li:hover ul.sub-menu,
.nav-menu ul.main-menu li.menu-item:hover ul.sub-menu,
.nav-menu .main-menu .menu-item:hover .sub-menu {
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
	.nav-menu .main-menu .sub-menu {
		background-color: #000;
		border: 2px solid #fff;
	}

	.nav-menu .main-menu .sub-menu a {
		color: #fff;
		border-bottom-color: #666;
	}
}

/* Print styles */
@media print {
	.nav-menu .main-menu .sub-menu {
		display: none !important;
	}
}

.mobile-logo-image{margin-top:25px;}
/* ==========================================================================
  MENU FIXES 
   ========================================================================== */

/* Fix 1: Stop sub-menu items from turning green when on parent page */
#menu-main-menu .current-menu-item .sub-menu a {
  color: rgba(233, 231, 222, 0.9) !important;
}

/* Fix 2 & 3: Remove hover/focus effects and prevent shifting on mobile/tablet only */
@media (max-width: 1200px) {
	
	/* Remove hover/focus effects on sub-menu items only */
	.nav-menu .main-menu .sub-menu a:hover,
	.nav-menu .main-menu .sub-menu a:focus,
	.nav-menu .main-menu .sub-menu a:active {
		background-color: transparent !important;
		color: var(--color-secondary-hover) !important;
	}
	
	/* Remove touch highlights */
	.nav-menu .main-menu .sub-menu a {
		-webkit-tap-highlight-color: transparent !important;
	}
}

/* ==========================================================================
   MOBILE MENU CLICK FIX
   ========================================================================== */

@media (max-width: 1200px) {
    /* Ensure submenu links are clickable on mobile */
    .nav-menu .main-menu .sub-menu a {
        pointer-events: auto !important;
        position: relative !important;
        display: block !important;
        color: var(--color-white);
        background: transparent !important;
        border: none !important;
        text-decoration: none !important;
        -webkit-tap-highlight-color: transparent !important;
        user-select: none !important;
    }
    
    /* Remove ALL hover effects on mobile for sub-menu items */
    .nav-menu .main-menu .sub-menu a:hover,
    .nav-menu .main-menu .sub-menu a:focus,
    .nav-menu .main-menu .sub-menu a:active,
    .nav-menu .main-menu .sub-menu a:visited {
        background-color: transparent !important;
        color: var(--color-white);
        transform: none !important;
        transition: none !important;
    }
    
    /* Ensure submenu container is properly positioned */
    .nav-menu .main-menu .sub-menu {
        position: static !important;
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        z-index: 9999 !important;
    }
    
    /* Make sure parent menu items don't block clicks */
    .nav-menu .main-menu .menu-item-has-children {
        pointer-events: auto !important;
    }
    
    /* Remove any overlays or pseudo-elements that might block clicks */
    .nav-menu .main-menu .sub-menu::before,
    .nav-menu .main-menu .sub-menu::after,
    .nav-menu .main-menu .sub-menu a::before,
    .nav-menu .main-menu .sub-menu a::after {
        display: none !important;
    }
}


/*
 comments!
 comments!
 co
 co
 comments!
le-skin.css | wc -l
Every 2.0s: lsof | grep style-skin.css | wc -l
lsof | grep style-skin.css | wc -l
lsof | grep style-skin.css | wc -l

*/
.search-again-form input {
	max-width:70%;
}

/* Search Drop Down from Plugin */
.wilbur-autocomplete {
	position: absolute;
    top: calc(100% + 10px);
    left: 0;
    right: 0;
	background: rgba(47, 55, 57, 0.95);
    backdrop-filter: blur(10px);
    border: 1px solid rgb(193, 167, 116, .3);
    border-radius: 12px;
    max-height: 300px;
    overflow-y: auto;
    z-index: 10001;
    display: none;
    box-shadow: 0 8px 30px rgba(0,0,0,0.5);
}
.searching_wrapper {
	padding: 20px; 
	text-align: center; 
	color: rgba(255,255,255,0.8);
}
.searching_wrapper .search_searching {
	margin-bottom: 10px;
}
.autocomplete-item {
	padding: 12px 16px;
	border-bottom: 1px solid rgba(255,255,255,0.1);
	cursor: pointer;
	color: rgba(255,255,255,0.9);
	transition: all 0.2s ease;
	display: flex;
	align-items: center;
	gap: 12px;
	background-color: transparent;
}
.autocomplete-item img {
	width: 35px; 
	height: 35px; 
	object-fit: cover; 
	border-radius: 4px; 
	flex-shrink: 0
}
.searching_item {
	flex: 1; 
	min-width: 0;
}
.searching_item_title {
	font-weight: bold; 
	margin-bottom: 4px; 
	font-size: 14px;
}
.searching_item_title_bg {
	background-color: rgb(193, 167, 116, .4); 
	border-radius: 2px; 
	padding: 1px 2px;
}
.searching_result_desc {
	font-size: 12px; 
	color: rgba(255,255,255,0.6); 
	margin-bottom: 2px;
}
.searching_result_type {
	font-size: 11px; 
	color: var(--color-primary); 
	text-transform: uppercase;
}
.searching_view_all_results {
	padding: 12px 16px;
    cursor: pointer;
	color: var(--color-primary); 
    text-align: center;
    font-weight: bold;
    border-top: 1px solid rgb(193, 167, 116, .3);
    background: rgb(193, 167, 116, .1);

}
.searching_no_results_wrapper {
	padding: 20px; 
	text-align: center; 
	color: rgba(255,255,255,0.8);
}
.searching_no_results_title {
	margin-bottom: 10px;
}
.searching_no_results_try_diff {
	font-size: 12px; 
	color: var(--color-primary); 
}
/* End Search Drop Down from Plugin */

/* ==========================================================================
   [shows_page] faceted filter drawer (BWG-491)
   Off-canvas right drawer + toggle pills, reusing the calendar-filter tokens.
   ========================================================================== */
.bwg-shows {
	/* Reference tokens mapped onto the BBP palette. Mirrors .event-calendar so the
	   fixed-position drawer (a DOM child of .bwg-shows, outside .event-calendar)
	   still resolves them. */
	--evh-slate:       var(--color-primary-hover);
	--evh-slate-2:     #444444;
	--evh-gold:        var(--color-primary);
	--evh-gold-soft:   #d9eeee;
	--evh-gold-border: #339999;
	--evh-gold-ink:    #1f6363;
	--evh-surface:     var(--color-white);
	--evh-line:        #cccccc;
	--evh-muted:       #8a8c91;
	--evh-font:        var(--font-primary, 'Inter', sans-serif);
	max-width: 1400px;
	margin: 0 auto;
	padding-top: 50px;
}

/* ---- title (flanking-bars heading) ------------------------------------- */
.bwg-shows-title.section-title {
	display: flex;
	align-items: center;
	margin: 0 0 24px 0 !important;
}

/* ---- context row (BWG-492): location control + search, under the title -- */
.bwg-shows-context {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0 0 22px;
}

.bwg-shows-location,
.bwg-shows-search {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 40px;
	padding: 0 16px;
	background: transparent;
	border: 1px solid var(--evh-line);
	border-radius: 999px;
	font-family: var(--evh-font);
	font-size: 14px;
	font-weight: var(--font-weight-medium);
	color: var(--color-text);
	line-height: 1;
	cursor: pointer;
	transition: border-color 0.15s ease, color 0.15s ease, background-color 0.15s ease;
}

.bwg-shows-location svg,
.bwg-shows-search svg {
	display: block;
	color: var(--evh-gold);
	transition: color 0.15s ease;
}

.bwg-shows-location:hover,
.bwg-shows-search:hover {
	border-color: var(--evh-gold);
	background: var(--evh-gold-soft);
	color: var(--evh-gold-ink);
}

.bwg-shows-location:hover svg,
.bwg-shows-search:hover svg {
	color: var(--evh-gold-ink);
}

.bwg-shows-location:focus-visible,
.bwg-shows-search:focus-visible {
	outline: 2px solid var(--evh-gold);
	outline-offset: 2px;
}

.bwg-shows-location-label {
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.01em;
}

/* Down caret drawn in CSS (no extra SVG); rotates when the drawer is open. */
.bwg-shows-caret {
	width: 8px;
	height: 8px;
	margin-left: 2px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	transition: transform 0.2s ease;
}

.bwg-shows-location[aria-expanded="true"] .bwg-shows-caret {
	transform: translateY(1px) rotate(-135deg);
}

.bwg-shows-search[hidden] {
	display: none;
}

@media (max-width: 640px) {
	.bwg-shows-context {
		flex-direction: column;
		align-items: stretch;
	}
	.bwg-shows-location,
	.bwg-shows-search {
		justify-content: center;
	}
	/* Roomier tap targets inside the drawer on phones. */
	.bwg-shows-pill {
		min-height: 42px;
	}
}

/* Visually-hidden live region (screen-reader result-count announcements). */
.bwg-shows-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

/* ---- bar (below the title): result count + Clear + FILTER trigger ------- */
.bwg-shows-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 28px;
}

.bwg-shows-count {
	font-family: var(--evh-font);
	font-size: 14px;
	letter-spacing: 0.02em;
	color: var(--evh-muted);
}

.bwg-shows-filter-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 40px;
	padding: 0 18px;
	background: transparent;
	border: 1px solid var(--evh-line);
	border-radius: 8px;
	font-family: var(--evh-font);
	font-size: 13px;
	font-weight: var(--font-weight-medium);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--color-text);
	line-height: 1;
	cursor: pointer;
	transition: border-color 0.15s ease, color 0.15s ease;
}

.bwg-shows-filter-btn:hover {
	border-color: var(--evh-gold);
	color: var(--evh-gold-ink);
}

.bwg-shows-filter-btn:focus-visible {
	outline: 2px solid var(--evh-gold);
	outline-offset: 2px;
}

.bwg-shows-filter-btn svg {
	display: block;
}

.bwg-shows-filter-btn.is-active {
	border-color: var(--evh-gold);
	background: var(--evh-gold-soft);
	color: var(--evh-gold-ink);
}

.bwg-shows-filter-n {
	font-weight: var(--font-weight-bold);
}

.bwg-shows-bar-actions {
	display: inline-flex;
	align-items: center;
	gap: 14px;
}

.bwg-shows-clear-all {
	border: 0;
	background: none;
	padding: 4px 2px;
	font-family: var(--evh-font);
	font-size: 13px;
	font-weight: var(--font-weight-medium);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--evh-muted);
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
	transition: color 0.15s ease;
}

.bwg-shows-clear-all:hover {
	color: var(--color-text);
}

.bwg-shows-clear-all:focus-visible {
	outline: 2px solid var(--evh-gold);
	outline-offset: 2px;
}

.bwg-shows-clear-all[hidden] {
	display: none;
}

/* ---- backdrop + drawer shell ------------------------------------------- */
.bwg-shows-backdrop {
	position: fixed;
	inset: 0;
	z-index: 9998;
	background: rgba(20, 22, 24, 0.55);
	opacity: 0;
	transition: opacity 0.28s ease;
}

.bwg-shows-backdrop.is-open {
	opacity: 1;
}

.bwg-shows-backdrop[hidden] {
	display: none;
}

body.bwg-shows-lock {
	overflow: hidden;
}

/* Subtle dim on the results while a live (auto) filter request is in flight. */
.bwg-shows-loading {
	opacity: 0.5;
	transition: opacity 0.15s ease;
}

.bwg-shows-drawer {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 9999;
	width: 420px;
	max-width: 92vw;
	height: 100%;
	background: var(--evh-surface);
	box-shadow: -8px 0 40px rgba(0, 0, 0, 0.25);
	transform: translateX(100%);
	transition: transform 0.28s ease;
}

.bwg-shows-drawer.is-open {
	transform: translateX(0);
}

.bwg-shows-drawer[hidden] {
	display: none;
}

.bwg-shows-form {
	display: flex;
	flex-direction: column;
	height: 100%;
}

/* ---- header ------------------------------------------------------------- */
.bwg-shows-drawer-head {
	position: relative;
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 18px 20px;
	border-bottom: 1px solid var(--evh-line);
}

.bwg-shows-drawer-title {
	margin: 0;
	font-family: var(--evh-font);
	/* !important beats the theme's global `h2 { font-size:NNpx !important }`. */
	font-size: 15px !important;
	line-height: 1.2 !important;
	font-weight: var(--font-weight-semibold);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-text);
}

.bwg-shows-close {
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 0;
	border-radius: 6px;
	background: none;
	font-size: 28px;
	line-height: 1;
	color: var(--color-text);
	cursor: pointer;
}

.bwg-shows-close:hover {
	color: var(--evh-gold-ink);
}

.bwg-shows-close:focus-visible {
	outline: 2px solid var(--evh-gold);
	outline-offset: 2px;
}

/* ---- scrollable body ---------------------------------------------------- */
.bwg-shows-drawer-body {
	flex: 1 1 auto;
	overflow-y: auto;
	padding: 8px 20px 20px;
}

.bwg-shows-section {
	padding: 16px 0;
	border-bottom: 1px solid var(--evh-line);
}

.bwg-shows-section:last-child {
	border-bottom: 0;
}

.bwg-shows-section-title {
	margin: 0 0 12px;
	font-family: var(--evh-font);
	/* !important beats the theme's global `h3 { font-size:32px !important }`. */
	font-size: 13px !important;
	line-height: 1.2 !important;
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--color-text);
}

.bwg-shows-subtitle {
	margin: 14px 0 8px;
	font-family: var(--evh-font);
	font-size: 12px;
	font-weight: var(--font-weight-medium);
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--evh-muted);
}

.bwg-shows-subtitle:first-of-type {
	margin-top: 0;
}

/* ---- venue disclosure (collapsed by default; region is the primary filter) */
.bwg-shows-venue-details {
	margin-top: 16px;
}

.bwg-shows-venue-summary {
	list-style: none;
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 6px 0;
	font-family: var(--evh-font);
	font-size: 12px;
	font-weight: var(--font-weight-medium);
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--evh-muted);
	cursor: pointer;
}

.bwg-shows-venue-summary::-webkit-details-marker {
	display: none;
}

/* Chevron: points right when collapsed, down when open. */
.bwg-shows-venue-summary::before {
	content: '';
	width: 7px;
	height: 7px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(-45deg);
	transition: transform 0.15s ease;
}

.bwg-shows-venue-details[open] > .bwg-shows-venue-summary {
	color: var(--color-text);
}

.bwg-shows-venue-details[open] > .bwg-shows-venue-summary::before {
	transform: rotate(45deg);
}

.bwg-shows-venue-summary:hover {
	color: var(--color-text);
}

.bwg-shows-venue-summary:focus-visible {
	outline: 2px solid var(--evh-gold);
	outline-offset: 2px;
	border-radius: 3px;
}

.bwg-shows-venue-wrap {
	margin-top: 10px;
}

.bwg-shows-none {
	margin: 0;
	font-family: var(--evh-font);
	font-size: 13px;
	font-style: italic;
	color: var(--evh-muted);
}

/* ---- toggle pills ------------------------------------------------------- */
.bwg-shows-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.bwg-shows-pill {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 0 16px;
	background: var(--evh-surface);
	border: 1px solid var(--evh-line);
	border-radius: 999px;
	font-family: var(--evh-font);
	font-size: 13px;
	font-weight: var(--font-weight-medium);
	color: var(--color-text);
	cursor: pointer;
	user-select: none;
	transition: border-color 0.12s ease, background 0.12s ease, color 0.12s ease;
}

.bwg-shows-pill:hover {
	border-color: var(--evh-gold);
}

.bwg-shows-pill:focus-within {
	outline: 2px solid var(--evh-gold);
	outline-offset: 2px;
}

.bwg-shows-pill-input {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	opacity: 0;
}

.bwg-shows-pill:has(.bwg-shows-pill-input:checked) {
	background: var(--evh-gold);
	border-color: var(--evh-gold);
	color: var(--color-text);
}

.bwg-shows-pill-toggle[aria-expanded="true"] {
	background: var(--evh-gold-soft);
	border-color: var(--evh-gold-border);
	color: var(--evh-gold-ink);
}

/* ---- custom date range -------------------------------------------------- */
.bwg-shows-custom {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 12px;
}

.bwg-shows-custom[hidden] {
	display: none;
}

.bwg-shows-date-field {
	display: flex;
	flex-direction: column;
	gap: 5px;
	font-family: var(--evh-font);
	font-size: 12px;
	font-weight: var(--font-weight-medium);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--evh-muted);
}

.bwg-shows-date-field input {
	height: 38px;
	padding: 0 10px;
	border: 1px solid var(--evh-line);
	border-radius: 8px;
	font-family: var(--evh-font);
	font-size: 14px;
	color: var(--color-text);
	background: var(--evh-surface);
}

.bwg-shows-date-field input:focus-visible {
	outline: 2px solid var(--evh-gold);
	outline-offset: 1px;
}

/* ---- active-selection chips (BWG-502) ---------------------------------- */
.bwg-shows-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 22px;
}

.bwg-shows-chips[hidden] {
	display: none;
}

.bwg-shows-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 30px;
	padding: 0 6px 0 12px;
	background: var(--evh-gold-soft);
	border: 1px solid var(--evh-gold-border);
	border-radius: 999px;
	font-family: var(--evh-font);
	font-size: 13px;
	color: var(--evh-gold-ink);
}

.bwg-shows-chip-label {
	line-height: 1;
}

.bwg-shows-chip-x {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	font-size: 16px;
	line-height: 1;
	color: var(--evh-gold-ink);
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.bwg-shows-chip-x:hover {
	background: rgba(111, 86, 31, 0.15);
}

.bwg-shows-chip-x:focus-visible {
	outline: 2px solid var(--evh-gold-ink);
	outline-offset: 1px;
}

/* ---- sticky footer ------------------------------------------------------ */
.bwg-shows-drawer-foot {
	flex: 0 0 auto;
	padding: 16px 20px 20px;
	border-top: 1px solid var(--evh-line);
	background: var(--evh-surface);
}

.bwg-shows-apply {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	height: 48px;
	border: 0;
	border-radius: 8px;
	background: var(--evh-gold);
	font-family: var(--evh-font);
	font-size: 14px;
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-text);
	cursor: pointer;
	transition: filter 0.15s ease;
}

.bwg-shows-apply:hover {
	filter: brightness(0.94);
}

.bwg-shows-apply:focus-visible {
	outline: 2px solid var(--color-text);
	outline-offset: 2px;
}

.bwg-shows-apply[disabled] {
	cursor: default;
	opacity: 0.85;
}

/* Spinner shown only while Apply is in flight (aria-busy). */
.bwg-shows-spinner {
	display: none;
	width: 16px;
	height: 16px;
	border: 2px solid rgba(0, 0, 0, 0.25);
	border-top-color: var(--color-text);
	border-radius: 50%;
	animation: bwg-shows-spin 0.6s linear infinite;
}

.bwg-shows-apply.is-loading .bwg-shows-spinner {
	display: block;
}

@keyframes bwg-shows-spin {
	to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
	.bwg-shows-spinner {
		animation-duration: 1.4s;
	}
}

.bwg-shows-clear {
	display: block;
	width: 100%;
	margin-top: 10px;
	padding: 8px;
	border: 0;
	background: none;
	font-family: var(--evh-font);
	font-size: 13px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--evh-muted);
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.bwg-shows-clear:hover {
	color: var(--color-text);
}

/* ---- empty state -------------------------------------------------------- */
.bwg-shows-empty {
	padding: 40px 0;
	text-align: center;
	font-family: var(--evh-font);
	font-size: 16px;
	color: var(--evh-muted);
}

.bwg-shows-empty[hidden] {
	display: none;
}

/* ---- mobile: full-width drawer ----------------------------------------- */
@media (max-width: 600px) {
	.bwg-shows-drawer {
		width: 100%;
		max-width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.bwg-shows-drawer,
	.bwg-shows-backdrop,
	.bwg-shows-venue-summary::before,
	.bwg-shows-loading {
		transition: none;
	}
}