/* End custom CSS */

.elementor-widget-container .premium-global-badge-{{ID}} .premium-badge-container {
	background-color: var(--e-global-color-primary);
}

.elementor-widget-container .premium-global-badge-{{ID}} .premium-badge-text {
	color: var(--e-global-color-secondary);
}

.elementor-widget-container .premium-global-badge-{{ID}} .premium-badge-icon {
	color: var(--e-global-color-secondary);
	fill: var(--e-global-color-secondary);
}

.elementor-9625 .elementor-element.elementor-element-29542cf {
	--display: flex;
	--flex-direction: row;
	--container-widget-width: initial;
	--container-widget-height: 100%;
	--container-widget-flex-grow: 1;
	--container-widget-align-self: stretch;
	--flex-wrap-mobile: wrap;
	--gap: 0px 0px;
	--row-gap: 0px;
	--column-gap: 0px;
	border-style: solid;
	--border-style: solid;
	border-width: 0px 0px 0px 0px;
	--border-top-width: 0px;
	--border-right-width: 0px;
	--border-bottom-width: 0px;
	--border-left-width: 0px;
}

.elementor-widget-html .premium-global-badge-{{ID}} .premium-badge-container {
	background-color: var(--e-global-color-primary);
}

.elementor-widget-html .premium-global-badge-{{ID}} .premium-badge-text {
	color: var(--e-global-color-secondary);
}

.elementor-widget-html .premium-global-badge-{{ID}} .premium-badge-icon {
	color: var(--e-global-color-secondary);
	fill: var(--e-global-color-secondary);
}

.elementor-9625 .elementor-element.elementor-element-33151c0 {
	--display: flex;
	--flex-direction: row;
	--container-widget-width: initial;
	--container-widget-height: 100%;
	--container-widget-flex-grow: 1;
	--container-widget-align-self: stretch;
	--flex-wrap-mobile: wrap;
	--gap: 0px 0px;
	--row-gap: 0px;
	--column-gap: 0px;
	border-style: solid;
	--border-style: solid;
	border-width: 0px 0px 0px 0px;
	--border-top-width: 0px;
	--border-right-width: 0px;
	--border-bottom-width: 0px;
	--border-left-width: 0px;
}

.elementor-9625 .elementor-element.elementor-element-33151c0:not(.elementor-motion-effects-element-type-background), .elementor-9625 .elementor-element.elementor-element-33151c0 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	background-color: #000;
}

.elementor-9625 .elementor-element.elementor-element-7fb64b1b {
	--display: flex;
	--flex-direction: column;
	--container-widget-width: 100%;
	--container-widget-height: initial;
	--container-widget-flex-grow: 0;
	--container-widget-align-self: initial;
	--flex-wrap-mobile: wrap;
}

.elementor-widget-text-editor .premium-global-badge-{{ID}} .premium-badge-container {
	background-color: var(--e-global-color-primary);
}

.elementor-widget-text-editor .premium-global-badge-{{ID}} .premium-badge-text {
	color: var(--e-global-color-secondary);
}

.elementor-widget-text-editor .premium-global-badge-{{ID}} .premium-badge-icon {
	color: var(--e-global-color-secondary);
	fill: var(--e-global-color-secondary);
}

.elementor-widget-text-editor {
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
	font-weight: var(--e-global-typography-text-font-weight);
	color: var(--e-global-color-text);
}

.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap {
	background-color: var(--e-global-color-primary);
}

.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap {
	color: var(--e-global-color-primary);
	border-color: var(--e-global-color-primary);
}

.elementor-9625 .elementor-element.elementor-element-1f162736 {
	text-align: center;
	font-family: "Roboto", Sans-serif;
	font-weight: 400;
	color: #000;
}

.elementor-widget-button .elementor-button {
	background-color: var(--e-global-color-accent);
	font-family: var(--e-global-typography-accent-font-family), Sans-serif;
	font-weight: var(--e-global-typography-accent-font-weight);
}

.elementor-widget-button .premium-global-badge-{{ID}} .premium-badge-container {
	background-color: var(--e-global-color-primary);
}

.elementor-widget-button .premium-global-badge-{{ID}} .premium-badge-text {
	color: var(--e-global-color-secondary);
}

.elementor-widget-button .premium-global-badge-{{ID}} .premium-badge-icon {
	color: var(--e-global-color-secondary);
	fill: var(--e-global-color-secondary);
}

.elementor-9625 .elementor-element.elementor-element-f93d30e .elementor-button {
	background-color: #8bb2db;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: inline-flex;
	font-family: "Roboto", Sans-serif;
	font-size: 14px;
	font-weight: 500;
	text-transform: uppercase;
	text-decoration: none;
	fill: #000;
	color: #000;
	border-radius: 0px 0px 0px 0px;
}

.elementor-9625 .elementor-element.elementor-element-f93d30e > .elementor-widget-container {
	margin: -2% -2% 0% -2%;
	padding: 0px 0px 0px 0px;
}

.elementor-9625 .elementor-element.elementor-element-f93d30e {
	z-index: 9;
}

.elementor-9625 .elementor-element.elementor-element-f93d30e .elementor-button-content-wrapper {
	flex-direction: row-reverse;
}

@media (max-width:1200px) {
	.elementor-9625 .elementor-element.elementor-element-f93d30e .elementor-button {
		font-size: 16px;
	}
}

@media (max-width:1024px) {
	.elementor-9625 .elementor-element.elementor-element-f93d30e .elementor-button {
		font-size: 14px;
	}
}

@media (max-width:880px) {
	.elementor-9625 .elementor-element.elementor-element-f93d30e .elementor-button {
		font-size: 10px;
	}
}

@media (max-width:767px) {
	.elementor-9625 .elementor-element.elementor-element-1f162736.elementor-element {
		--align-self: center;
	}
	
	.elementor-9625 .elementor-element.elementor-element-1f162736 {
		text-align: center;
	}
	
	.elementor-9625 .elementor-element.elementor-element-f93d30e .elementor-button {
		font-size: 14px;
	}
}

@media (min-width:768px) {
	.elementor-9625 .elementor-element.elementor-element-7fb64b1b {
		--width: 100%;
	}
}

/* Start custom CSS for html, class: .elementor-element-30d2692 */

/* Upcoming Events – Elementor Safe */

/* Main row - flex container with info on left, price+button on right */
#upcoming-events-root .coach-brief-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 24px;
	flex-wrap: wrap;
}

/* Left/middle: Event title, details, description, learn more */
#upcoming-events-root .coach-brief-info {
	flex: 1 1 60%;
	/* Takes most of the space */
	min-width: 0;
}

#upcoming-events-root .coach-brief-info h4 {
	margin: 0 0 12px 0;
	font-size: 1.5em;
	line-height: 1.2;
}

#upcoming-events-root .coach-brief-info .event-details {
	margin: 0;
	line-height: 1.6;
	color: #333;
}

#upcoming-events-root .coach-brief-info .event-details p {
	margin: 0 0 12px 0;
}

/* Right column: Large price + Register button stacked vertically */
#upcoming-events-root .coach-brief-price-action {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	min-width: 160px;
	gap: 16px;
}

/* Large price styling (matches example: big bold $ + unit below) */
#upcoming-events-root .price-block {
	margin: 0;
	font-size: 32px;
	/* Adjust as needed – big like $150 */
	font-weight: 700;
	line-height: 1;
	color: #000;
}

#upcoming-events-root .price-block .price-unit {
	margin: 4px 0 0;
	color: #555;
	font-weight: 400;
}

/* Learn More link */
.learn-more-link {
	color: #1976d2;
	text-decoration: none;
	font-weight: bold;
}

.learn-more-link:hover {
	text-decoration: underline;
}

/* Register button – your slanted black style */
#upcoming-events-root .button.button-primary.full {
	background-color: transparent;
	background-image: linear-gradient(180deg, #000 0%, #000 100%);
	font-family: "Roboto", Sans-serif;
	font-size: 14px;
	font-weight: 500;
	text-transform: uppercase;
	text-decoration: none;
	color: #fff !important;
	border: none;
	border-radius: 0;
	clip-path: polygon(0% 0%, 86% 0%, 100% 100%, 0% 100%);
	padding: 12px 30px;
	cursor: pointer;
	transition: all .3s ease;
	white-space: nowrap;
	width: 100%;
	/* Fill the right column */
	max-width: 180px;
}

#upcoming-events-root .button.button-primary.full:hover {
	background-image: linear-gradient(180deg, #1a1a1a 0%, #1a1a1a 100%);
	transform: scale(1.05);
	box-shadow: 0 4px 12px rgba(0, 0, 0, .3);
}

#upcoming-events-root .button.button-primary.full:active {
	transform: scale(.98);
}

/* Alternate backgrounds */
#upcoming-events-root .coach-brief-exp:nth-child(odd) {
	background-color: rgba(139, 178, 219, .57);
}

#upcoming-events-root .coach-brief-exp:nth-child(even) {
	background-color: #fff;
}

/* Card container styling */
#upcoming-events-root .coach-brief-exp {
	padding: 24px;
	margin-bottom: 20px;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
}

/* View More functionality */
.hidden-event {
	display: none !important;
}

.view-more-btn:hover {
	background: #222 !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, .2);
}

.view-more-btn:active {
	transform: translateY(0);
}

/* Mobile adjustments */
@media (max-width: 768px) {
	#upcoming-events-root .coach-brief-row {
		flex-direction: column;
		gap: 20px;
	}
	
	#upcoming-events-root .coach-brief-price-action {
		align-items: center;
		width: 100%;
	}
	
	#upcoming-events-root .coach-brief-price-action .button.button-primary.full {
		max-width: none;
		/* Full width on mobile */
		width: 100%;
		padding: 14px 20px;
	}
	
	#upcoming-events-root .coach-brief-exp {
		padding: 20px;
		margin-bottom: 24px;
	}
}

/* Schedule Overview styling */
#upcoming-events-root .schedule-overview {
	font-size: 1.05em;
	font-weight: 600;
	color: #333;
	margin: 8px 0 16px 0;
	line-height: 1.4;
	padding-left: 0;
}

/* Optional: accent bar on left for visual pop */
#upcoming-events-root .schedule-overview {
	border-left: 3px solid #1976d2;
	padding-left: 12px;
}

/* Mobile tweak */
@media (max-width: 768px) {
	#upcoming-events-root .schedule-overview {
		font-size: 1em;
		margin: 6px 0 12px;
	}
}
