body,
button,
input,
select,
textarea,
.woocommerce,
.woocommerce-page,
.woocommerce *,
.bwf-event-list,
.bwf-event-list *,
.bwf-session-details,
.bwf-session-details *,
.bwf-session-when-where,
.bwf-session-when-where *,
.bwf-featured-authors,
.bwf-featured-authors *,
.bwf-plan,
.bwf-plan *,
.bwf-waitlist,
.bwf-waitlist *,
.bwf-cart-guidance,
.bwf-cart-guidance *,
.bwf-cart-warnings,
.bwf-cart-warnings * {
	font-family: var(--e-global-typography-text-font-family), Montserrat, sans-serif !important;
}

:root {
	--bwf-blue: #001A70;
	--bwf-pink: #D986BA;
	--bwf-white: #F9F1E3;
	--bwf-orange: #DC582A;
	--bwf-mustard: #D69A2D;
	--woocommerce: var(--bwf-blue);
	--wc-primary: var(--bwf-blue);
	--wc-primary-text: var(--bwf-white);
	--wc-secondary: var(--bwf-mustard);
	--wc-secondary-text: var(--bwf-blue);
	--wc-highlight: var(--bwf-orange);
	--wc-highlight-text: var(--bwf-white);
	--wc-orange: var(--bwf-orange);
	--wc-blue: var(--bwf-blue);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price,
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price,
.woocommerce-variation-price .price,
.woocommerce-variation-price,
.woocommerce .price,
.woocommerce span.price,
.woocommerce p.price {
	color: var(--bwf-orange) !important;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	margin-top: 1rem;
}

.woocommerce div.product .stock,
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product .stock {
	color: var(--bwf-orange) !important;
}

.bwf-ticket-price-label {
	font-size: 0.82em;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
}

.bwf-price-separator {
	color: var(--bwf-blue);
	opacity: 0.65;
}

.bwf-free-event-note {
	margin: 0.75rem 0 1rem;
	padding: 0.75rem 1rem;
	background: var(--bwf-white);
	border-left: 4px solid var(--bwf-orange);
	color: var(--bwf-blue);
	font-weight: 600;
}

.bwf-external-booking {
	margin: 1rem 0;
}

.bwf-external-booking__note {
	margin: 0 0 0.85rem;
	color: var(--bwf-blue);
	font-weight: 600;
}

.bwf-external-booking__note p {
	margin: 0 0 0.6rem;
}

.bwf-external-booking__note p:last-child {
	margin-bottom: 0;
}

.bwf-external-booking__button {
	display: inline-block;
	padding: 0.65rem 1.35rem;
	background: var(--bwf-orange);
	clip-path: polygon(0.55rem 0, 100% 0, calc(100% - 0.55rem) 100%, 0 100%);
	color: var(--bwf-white) !important;
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1.25;
	text-decoration: none !important;
	text-transform: uppercase;
}

.bwf-external-booking__button:hover,
.bwf-external-booking__button:focus {
	background: var(--bwf-blue);
	color: var(--bwf-mustard) !important;
}

.bwf-waitlist {
	margin: 1.5rem 0;
	padding: 1.25rem;
	background: var(--bwf-white);
	border-left: 5px solid var(--bwf-orange);
	color: var(--bwf-blue);
}

.bwf-waitlist__title {
	margin: 0 0 0.35rem;
	color: var(--bwf-blue);
	font-size: 1.25rem;
	font-weight: 800;
}

.bwf-waitlist__intro {
	margin: 0 0 1rem;
	color: #191919;
	font-weight: 600;
}

.bwf-waitlist__empty,
.bwf-waitlist__session {
	margin: 0 0 1rem;
}

.bwf-waitlist__notice {
	margin: 0 0 1rem;
	padding: 0.85rem 1rem;
	font-weight: 700;
}

.bwf-waitlist__notice p {
	margin: 0;
}

.bwf-waitlist__notice--success {
	background: #e8f3df;
	color: #205018;
}

.bwf-waitlist__notice--error {
	background: #fbe6e1;
	color: #8a1f11;
}

.bwf-waitlist__form {
	display: grid;
	gap: 1rem;
}

.bwf-waitlist__form p {
	margin: 0;
}

.bwf-waitlist__fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.85rem 1rem;
}

.bwf-waitlist label {
	display: block;
	margin-bottom: 0.3rem;
	color: var(--bwf-blue);
	font-weight: 800;
}

.bwf-waitlist input[type="text"],
.bwf-waitlist input[type="email"],
.bwf-waitlist input[type="tel"],
.bwf-waitlist input[type="number"],
.bwf-waitlist select {
	width: 100%;
	min-height: 2.75rem;
	border: 1px solid rgba(0, 26, 112, 0.35);
	background: #fff;
	color: #191919;
}

.bwf-waitlist__checkbox {
	display: flex !important;
	gap: 0.55rem;
	align-items: flex-start;
	font-weight: 600 !important;
	line-height: 1.45;
}

.bwf-waitlist__checkbox input {
	margin-top: 0.25rem;
}

.bwf-waitlist__actions button {
	display: inline-block;
	padding: 0.75rem 1.5rem;
	border: 0;
	background: var(--bwf-orange);
	clip-path: polygon(0.55rem 0, 100% 0, calc(100% - 0.55rem) 100%, 0 100%);
	color: var(--bwf-white);
	font-size: 0.82rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	cursor: pointer;
}

.bwf-waitlist__actions button:hover,
.bwf-waitlist__actions button:focus {
	background: var(--bwf-blue);
	color: var(--bwf-white);
}

.woocommerce .bwf-ticket-product-notice .bwf-ticket-status,
.bwf-ticket-product-notice .bwf-ticket-status {
	display: inline-block;
	margin: 0.35rem 0;
	padding: 0.45rem 1.15rem;
	border: 0;
	border-radius: 0;
	background: var(--bwf-orange) !important;
	clip-path: polygon(0.55rem 0, 100% 0, calc(100% - 0.55rem) 100%, 0 100%);
	color: var(--bwf-white) !important;
	font-weight: 800;
	line-height: 1.25;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.woocommerce .bwf-ticket-status,
.bwf-ticket-status {
	display: inline-block;
	margin: 0.35rem 0;
	color: var(--bwf-orange) !important;
	font-weight: 700;
	line-height: 1.25;
}

.bwf-ticket-status *,
.bwf-event-list__status {
	color: inherit !important;
}

.bwf-ticket-product-notice {
	margin: 0.75rem 0 1rem;
	padding: 0 0 0 1rem;
}

.bwf-ticket-product-notice .bwf-ticket-status {
	font-size: 0.82rem;
	color: var(--bwf-white) !important;
}

.bwf-cart-guidance,
.bwf-cart-warnings {
	margin: 1rem 0;
	padding: 1rem;
	border: 1px solid #d7d2c8;
	border-radius: 4px;
	background: #fffaf0;
	color: #202020;
}

.bwf-cart-warnings {
	border-color: #b42318;
	background: #fff4f2;
}

.bwf-cart-warnings__heading {
	display: block;
	margin: 0 0 0.35rem;
	color: #b42318;
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.bwf-cart-guidance p,
.bwf-cart-warnings p {
	margin: 0 0 0.75rem;
}

.bwf-cart-guidance p:last-child,
.bwf-cart-warnings p:last-child {
	margin-bottom: 0;
}

.bwf-cart-warnings__clashes {
	display: grid;
	gap: 0.35rem;
	margin: 0.25rem 0 0;
	padding-left: 1.2rem;
}

.bwf-cart-warnings__clashes li {
	margin: 0;
}

.bwf-ticket-status-sold_out,
.bwf-ticket-status-sales_closed,
.bwf-ticket-status-not_open,
.bwf-ticket-status-launch_not_open,
.bwf-ticket-status-access_code_required {
	font-weight: 700;
}

body.bwf-ticket-product-blocked.single-product form.cart,
body.bwf-ticket-product-blocked.single-product .cart,
body.bwf-ticket-product-blocked.single-product .variations_form,
body.bwf-ticket-product-blocked.single-product .single_variation_wrap,
body.bwf-ticket-product-blocked.single-product .quantity,
body.bwf-ticket-product-blocked.single-product .single_add_to_cart_button {
	display: none !important;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order,
.woocommerce .checkout-button,
.woocommerce-page .checkout-button {
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--bwf-orange) !important;
	color: var(--bwf-white) !important;
	font-weight: 800 !important;
	letter-spacing: 0.04em;
	line-height: 1.2 !important;
	text-decoration: none !important;
	text-transform: uppercase;
}

.woocommerce a.button:hover,
.woocommerce a.button:focus,
.woocommerce button.button:hover,
.woocommerce button.button:focus,
.woocommerce input.button:hover,
.woocommerce input.button:focus,
.woocommerce #respond input#submit:hover,
.woocommerce #respond input#submit:focus,
.woocommerce a.button.alt:hover,
.woocommerce a.button.alt:focus,
.woocommerce button.button.alt:hover,
.woocommerce button.button.alt:focus,
.woocommerce input.button.alt:hover,
.woocommerce input.button.alt:focus,
.woocommerce #payment #place_order:hover,
.woocommerce #payment #place_order:focus,
.woocommerce-page #payment #place_order:hover,
.woocommerce-page #payment #place_order:focus,
.woocommerce .checkout-button:hover,
.woocommerce .checkout-button:focus,
.woocommerce-page .checkout-button:hover,
.woocommerce-page .checkout-button:focus {
	background: var(--bwf-blue) !important;
	color: var(--bwf-mustard) !important;
}

.woocommerce a.button.disabled,
.woocommerce a.button:disabled,
.woocommerce a.button:disabled[disabled],
.woocommerce button.button.disabled,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled],
.woocommerce input.button.disabled,
.woocommerce input.button:disabled,
.woocommerce input.button:disabled[disabled] {
	background: #d7d2c8 !important;
	color: #5f5f5f !important;
}

.bwf-onsale {
	padding: 10px;
}

.bwf-account-program-link a {
	font-weight: 700;
}

.woocommerce-account {
	--e-global-color-text: #191919;
	--e-global-color-primary: var(--bwf-blue);
	--e-global-color-accent: #e7357a;
}

.woocommerce-account,
.woocommerce-account .entry-content,
.woocommerce-account .elementor-widget-container,
.woocommerce-account .woocommerce {
	color: #191919 !important;
}

.woocommerce-account .woocommerce,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-content p,
.woocommerce-account .woocommerce-MyAccount-content strong,
.woocommerce-account .woocommerce-MyAccount-content mark,
.woocommerce-account .woocommerce-MyAccount-content address,
.woocommerce-account .woocommerce-MyAccount-content legend,
.woocommerce-account .woocommerce-MyAccount-content label,
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-details,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info {
	color: #191919 !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message {
	background: #f6f4f1;
	border-top-color: var(--bwf-blue);
}

.woocommerce-account table,
.woocommerce-account table th,
.woocommerce-account table td,
.woocommerce-account .woocommerce-orders-table,
.woocommerce-account .woocommerce-orders-table th,
.woocommerce-account .woocommerce-orders-table td,
.woocommerce-account .woocommerce-table,
.woocommerce-account .woocommerce-table th,
.woocommerce-account .woocommerce-table td {
	color: #191919 !important;
}

.woocommerce-account table a,
.woocommerce-account .woocommerce-orders-table a,
.woocommerce-account .woocommerce-table a,
.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-button) {
	color: #e7357a !important;
}

.woocommerce-account .woocommerce-MyAccount-content a.button,
.woocommerce-account .woocommerce-MyAccount-content a.woocommerce-button,
.woocommerce-account .woocommerce-MyAccount-content button.button,
.woocommerce-account .woocommerce-MyAccount-content input.button {
	background: var(--bwf-orange) !important;
	color: var(--bwf-white) !important;
}

.woocommerce-account .woocommerce-MyAccount-content a.button:hover,
.woocommerce-account .woocommerce-MyAccount-content a.button:focus,
.woocommerce-account .woocommerce-MyAccount-content a.woocommerce-button:hover,
.woocommerce-account .woocommerce-MyAccount-content a.woocommerce-button:focus,
.woocommerce-account .woocommerce-MyAccount-content button.button:hover,
.woocommerce-account .woocommerce-MyAccount-content button.button:focus,
.woocommerce-account .woocommerce-MyAccount-content input.button:hover,
.woocommerce-account .woocommerce-MyAccount-content input.button:focus {
	background: var(--bwf-blue) !important;
	color: var(--bwf-mustard) !important;
}

.woocommerce-account table th,
.woocommerce-account .woocommerce-orders-table th,
.woocommerce-account .woocommerce-table th {
	background: var(--bwf-white);
	font-weight: 700;
}

.woocommerce-account table td,
.woocommerce-account .woocommerce-orders-table td,
.woocommerce-account .woocommerce-table td {
	background: var(--bwf-white);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin: 0 0 0.35rem;
	padding: 0;
	list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
	color: #e7357a !important;
}

.bwf-event-list {
	display: grid;
	gap: 0.75rem;
	margin: 1rem 0;
	padding: 0;
	list-style: none;
}

.bwf-event-list__item {
	display: grid;
	gap: 0.25rem;
	padding: 0.75rem 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}

.bwf-event-list__title {
	font-weight: 700;
}

.bwf-event-list__time,
.bwf-event-list__role,
.bwf-event-list__status,
.bwf-event-list__venue,
.bwf-event-list__when-where,
.bwf-event-list__subtitle,
.bwf-event-list__participants {
	font-size: 0.95em;
}

.bwf-event-list__subtitle {
	font-style: italic;
}

.bwf-event-list__separator {
	margin: 0 0.35rem;
}

.bwf-event-list__participants {
	display: grid;
	gap: 0.15rem;
}

.bwf-event-list__status {
	font-weight: 700;
}

.bwf-session-details {
	display: grid;
	gap: 0.5rem;
	margin: 1rem 0;
}

.bwf-session-details__row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	align-items: baseline;
}

.bwf-session-details dt {
	margin: 0;
	font-weight: 700;
	text-transform: uppercase;
}

.bwf-session-details dd {
	margin: 0;
}

.bwf-session-when-where__separator {
	margin: 0 0.35rem;
}

.bwf-program {
	--bwf-program-border: #f9f3e4;
	--bwf-program-card-bg: #f9f1e3;
	--bwf-program-card-alt-bg: #f9f1e3;
	--bwf-program-header-pink: #f3d8e8;
	--bwf-program-gold: #d69a2c;
	--bwf-program-gold-venue-1: #e6c184;
	--bwf-program-gold-venue-2: #f0d9b1;
	--bwf-program-gold-venue-3: #f5e3c5;
	--bwf-program-orange: #dd572b;
	--bwf-program-orange-venue-1: #eba178;
	--bwf-program-orange-venue-2: #f2c8aa;
	--bwf-program-orange-venue-3: #f7d9c0;
	--bwf-program-pink: #d884b8;
	--bwf-program-pink-venue-1: #e9bace;
	--bwf-program-pink-venue-2: #f0d5d9;
	--bwf-program-pink-venue-3: #f4e0dd;
	--bwf-program-special-blue: #001A70;
	--bwf-program-special-label: #f2e0b8;
	--bwf-program-cell-min-height: 9rem;
	color: #191919;
	margin: 2rem 0;
}

.bwf-program__nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
	margin: 0 0 2.5rem;
}

.bwf-program__nav-link,
.bwf-program-card__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.7rem 1.2rem;
	background: var(--bwf-blue);
	color: #fff !important;
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1;
	text-decoration: none !important;
	text-transform: uppercase;
}

.bwf-program-card--colour-blue .bwf-program-card__button,
.bwf-program-card--special-evening .bwf-program-card__button {
	background: var(--bwf-orange);
	color: var(--bwf-white) !important;
}

.bwf-program__day {
	margin: 0 0 4rem;
	scroll-margin-top: 7rem;
}

.bwf-program__day-title {
	margin: 0 0 1.25rem;
	color: #fff;
	font-size: clamp(1.7rem, 3vw, 2.5rem);
	font-weight: 400;
	letter-spacing: 0.08em;
	text-align: center;
	text-transform: uppercase;
}

.bwf-program-grid {
	display: grid;
	gap: 0;
	border: 10px solid var(--bwf-program-border);
}

.bwf-program-grid__venues {
	display: grid;
	grid-template-columns: repeat(var(--bwf-program-columns), minmax(0, 1fr));
	margin-left: 2.2rem;
	background: var(--bwf-program-border);
	color: #191919;
}

.bwf-program-grid__venue {
	padding: 0.75rem;
	background: var(--bwf-program-header-pink);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-align: center;
	text-transform: uppercase;
	border-right: 5px solid var(--bwf-program-border);
}

.bwf-program-grid__venue:last-child {
	border-right: 0;
}

.bwf-program-grid__row {
	display: grid;
	grid-template-columns: 2.2rem 1fr;
	border-bottom: 5px solid var(--bwf-program-border);
}

.bwf-program-grid__row:last-child {
	border-bottom: 0;
}

.bwf-program-grid__time {
	display: flex;
	align-self: stretch;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	gap: 0.35rem;
	min-height: 100%;
	padding: 0.5rem 0.25rem;
	background: var(--bwf-program-gold);
	color: #fff;
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
	writing-mode: vertical-rl;
	transform: rotate(180deg);
}

.bwf-program-grid__time-date {
	color: #191919;
	font-weight: 500;
}

.bwf-program-grid__time-range {
	color: #fff;
	font-weight: 600;
}

.bwf-program-grid__items {
	display: grid;
	grid-template-columns: repeat(var(--bwf-program-columns), minmax(0, 1fr));
	background: var(--bwf-program-border);
}

.bwf-program-grid__items--wide {
	grid-template-columns: 1fr;
}

.bwf-program-grid__cell {
	min-height: var(--bwf-program-cell-min-height);
	border-right: 5px solid var(--bwf-program-border);
	background: var(--bwf-program-card-alt-bg);
}

.bwf-program-grid__cell:last-child {
	border-right: 0;
}

.bwf-program-card {
	display: grid;
	gap: 0.45rem;
	height: 100%;
	min-height: var(--bwf-program-cell-min-height);
	padding: 1rem;
	background: transparent;
	color: #191919;
	align-content: start;
}

.bwf-program-grid__row--slot-gold .bwf-program-grid__time {
	background: var(--bwf-program-gold);
}

.bwf-program-grid__row--slot-gold {
	background: var(--bwf-program-gold);
}

.bwf-program-grid__row--slot-gold .bwf-program-grid__cell--venue-1 {
	background: var(--bwf-program-gold-venue-1);
}

.bwf-program-grid__row--slot-gold .bwf-program-grid__cell--venue-2 {
	background: var(--bwf-program-gold-venue-2);
}

.bwf-program-grid__row--slot-gold .bwf-program-grid__cell--venue-3 {
	background: var(--bwf-program-gold-venue-3);
}

.bwf-program-grid__row--slot-orange .bwf-program-grid__time {
	background: var(--bwf-program-orange);
}

.bwf-program-grid__row--slot-orange {
	background: var(--bwf-program-orange);
}

.bwf-program-grid__row--slot-orange .bwf-program-grid__cell--venue-1 {
	background: var(--bwf-program-orange-venue-1);
}

.bwf-program-grid__row--slot-orange .bwf-program-grid__cell--venue-2 {
	background: var(--bwf-program-orange-venue-2);
}

.bwf-program-grid__row--slot-orange .bwf-program-grid__cell--venue-3 {
	background: var(--bwf-program-orange-venue-3);
}

.bwf-program-grid__row--slot-pink .bwf-program-grid__time {
	background: var(--bwf-program-pink);
}

.bwf-program-grid__row--slot-pink {
	background: var(--bwf-program-pink);
}

.bwf-program-grid__row--slot-pink .bwf-program-grid__cell--venue-1 {
	background: var(--bwf-program-pink-venue-1);
}

.bwf-program-grid__row--slot-pink .bwf-program-grid__cell--venue-2 {
	background: var(--bwf-program-pink-venue-2);
}

.bwf-program-grid__row--slot-pink .bwf-program-grid__cell--venue-3 {
	background: var(--bwf-program-pink-venue-3);
}

.bwf-program-grid__row--slot-default .bwf-program-grid__cell {
	background: var(--bwf-program-card-bg);
}

.bwf-program-grid__row--special-wide .bwf-program-grid__time,
.bwf-program-grid__row--special-wide .bwf-program-grid__cell--wide {
	background: var(--bwf-program-orange);
}

.bwf-program-grid__row--special-wide {
	background: var(--bwf-program-orange);
}

.bwf-program-grid__row--featured-wide .bwf-program-grid__time,
.bwf-program-grid__row--featured-wide .bwf-program-grid__cell--wide {
	background: var(--bwf-program-special-blue);
}

.bwf-program-grid__row--featured-wide {
	background: var(--bwf-program-special-blue);
}

.bwf-program-grid__row--special-wide .bwf-program-grid__cell {
	min-height: 0;
	border-right: 0;
}

.bwf-program-grid__row--featured-wide .bwf-program-grid__cell,
.bwf-program-grid__row--special-wide .bwf-program-grid__cell {
	min-height: 0;
	border-right: 0;
}

.bwf-program-grid__row--featured-wide .bwf-program-card,
.bwf-program-grid__row--special-wide .bwf-program-card {
	min-height: 0;
	padding: 0.9rem 1.1rem;
}

.bwf-program-grid__row--featured-wide .bwf-program-grid__time-date {
	color: var(--bwf-mustard) !important;
}

.bwf-program-grid__row--featured-wide .bwf-program-grid__time-range {
	color: var(--bwf-white) !important;
}

.bwf-program-grid__row--special-wide .bwf-program-grid__time-date {
	color: var(--bwf-blue) !important;
}

.bwf-program-grid__row--special-wide .bwf-program-grid__time-range {
	color: var(--bwf-white) !important;
}

.bwf-program-card--special {
	background: var(--bwf-program-orange);
	color: #fff;
}

.bwf-program-card--special a,
.bwf-program-card--special .bwf-program-card__title,
.bwf-program-card--special .bwf-program-card__meta a {
	color: #fff;
}

.bwf-program-card--special .bwf-program-card__subtitle,
.bwf-program-card--workshop .bwf-program-card__subtitle {
	display: block;
	padding: 0;
	background: transparent;
	color: inherit;
	font-style: italic;
	font-weight: 600;
	text-transform: none;
}

.bwf-program-card--special-evening {
	background: var(--bwf-program-special-blue);
	color: var(--bwf-white);
}

.bwf-program-card--special-evening .bwf-program-card__title {
	color: var(--bwf-program-pink);
}

.bwf-program-card--special-evening .bwf-program-card__subtitle,
.bwf-program-card--special-evening .bwf-program-card__people,
.bwf-program-card--special-evening .bwf-program-card__meta {
	color: var(--bwf-white);
}

.bwf-program-card--special-evening .bwf-program-card__people strong {
	color: var(--bwf-program-gold);
}

.bwf-program-card--special-evening .bwf-program-card__meta {
	color: var(--bwf-white);
}

.bwf-program-card--colour-blue {
	background: var(--bwf-program-special-blue) !important;
	color: var(--bwf-white);
}

.bwf-program-card--colour-orange {
	background: var(--bwf-program-orange) !important;
	color: #fff;
}

.bwf-program-card--colour-gold {
	background: var(--bwf-program-gold-venue-1) !important;
	color: #191919;
}

.bwf-program-card--colour-pink {
	background: var(--bwf-program-pink-venue-1) !important;
	color: #191919;
}

.bwf-program-card--colour-cream {
	background: var(--bwf-program-card-bg) !important;
	color: #191919;
}

.bwf-program-card--featured-wide {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: minmax(12rem, 0.9fr) minmax(0, 1.6fr);
	gap: clamp(1rem, 2vw, 1.5rem);
	min-height: 0;
	align-items: stretch;
}

.bwf-program-card--layout-special_wide.bwf-program-card--has-image {
	display: grid;
	grid-template-columns: minmax(12rem, 0.9fr) minmax(0, 1.6fr);
	gap: clamp(1rem, 2vw, 1.5rem);
	align-items: stretch;
}

.bwf-program-card--featured-wide:not(.bwf-program-card--has-image) {
	grid-template-columns: 1fr;
}

.bwf-program-card--featured-wide .bwf-program-card__content,
.bwf-program-card--layout-special_wide.bwf-program-card--has-image .bwf-program-card__content {
	display: grid;
	gap: 0.45rem;
	align-content: center;
}

.bwf-program-card a {
	text-decoration: none;
}

.bwf-program-card a:hover,
.bwf-program-card a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 0.16em;
}

.bwf-program-grid .bwf-program-card a:not(.bwf-program-card__button) {
	color: #191919;
}

.bwf-program-grid .bwf-program-card--colour-blue a:not(.bwf-program-card__button),
.bwf-program-grid .bwf-program-card--colour-orange a:not(.bwf-program-card__button),
.bwf-program-grid .bwf-program-card--special-evening a:not(.bwf-program-card__button) {
	color: #fff;
}

.bwf-program-grid .bwf-program-card--special-evening,
.bwf-program-grid .bwf-program-card--colour-blue {
	color: var(--bwf-white);
}

.bwf-program-grid .bwf-program-card--special-evening .bwf-program-card__title,
.bwf-program-grid .bwf-program-card--colour-blue .bwf-program-card__title {
	color: var(--bwf-program-pink);
}

.bwf-program-grid .bwf-program-card--special-evening .bwf-program-card__subtitle,
.bwf-program-grid .bwf-program-card--special-evening .bwf-program-card__people,
.bwf-program-grid .bwf-program-card--special-evening .bwf-program-card__meta,
.bwf-program-grid .bwf-program-card--colour-blue .bwf-program-card__subtitle,
.bwf-program-grid .bwf-program-card--colour-blue .bwf-program-card__people,
.bwf-program-grid .bwf-program-card--colour-blue .bwf-program-card__meta {
	color: var(--bwf-white);
}

.bwf-program-grid .bwf-program-card--special-evening .bwf-program-card__date,
.bwf-program-grid .bwf-program-card--colour-blue .bwf-program-card__date {
	color: var(--bwf-mustard);
}

.bwf-program-card__title {
	color: #191919;
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.15;
	text-decoration: none;
}

.bwf-program-card__prefix {
	align-self: start;
	background: var(--bwf-blue);
	color: #fff;
	display: inline-flex;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	line-height: 1;
	margin-bottom: 0.1rem;
	padding: 0.32rem 0.42rem;
	text-transform: uppercase;
	width: fit-content;
}

.bwf-program-card__prefix--workshop {
	background: var(--bwf-pink);
	color: var(--bwf-white);
}

.bwf-program-card__prefix--special-event {
	background: var(--bwf-mustard);
	color: var(--bwf-white);
}

.bwf-program-card__prefix--free-event {
	background: var(--bwf-orange);
	color: var(--bwf-white);
}

.bwf-program-card__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 0.28rem;
	align-items: center;
	margin-bottom: 0.1rem;
}

.bwf-program-card__badge {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	padding: 0.32rem 0.46rem;
	color: var(--bwf-white);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	line-height: 1;
	text-transform: uppercase;
}

.bwf-program-card__badge--sold-out {
	background: #191919;
}

.bwf-program-card__badge--selling-fast {
	background: var(--bwf-orange);
}

.bwf-program-card--colour-blue .bwf-program-card__prefix,
.bwf-program-card--colour-orange .bwf-program-card__prefix,
.bwf-program-card--special-evening .bwf-program-card__prefix {
	background: #fff;
	color: var(--bwf-blue);
}

.bwf-program-card--colour-blue .bwf-program-card__prefix--workshop,
.bwf-program-card--colour-orange .bwf-program-card__prefix--workshop,
.bwf-program-card--special-evening .bwf-program-card__prefix--workshop {
	background: var(--bwf-pink);
	color: var(--bwf-white);
}

.bwf-program-card--colour-blue .bwf-program-card__prefix--special-event,
.bwf-program-card--colour-orange .bwf-program-card__prefix--special-event,
.bwf-program-card--special-evening .bwf-program-card__prefix--special-event {
	background: var(--bwf-mustard);
	color: var(--bwf-white);
}

.bwf-program-card--colour-blue .bwf-program-card__prefix--free-event,
.bwf-program-card--colour-orange .bwf-program-card__prefix--free-event,
.bwf-program-card--special-evening .bwf-program-card__prefix--free-event {
	background: var(--bwf-orange);
	color: var(--bwf-white);
}

.bwf-program-card--colour-orange .bwf-program-card__badge--selling-fast {
	background: var(--bwf-blue);
	color: var(--bwf-white);
}

.bwf-program-card--colour-blue .bwf-program-card__badge--selling-fast,
.bwf-program-card--special-evening .bwf-program-card__badge--selling-fast {
	background: var(--bwf-orange);
	color: var(--bwf-white);
}

.bwf-program-card--colour-blue .bwf-program-card__badge--sold-out,
.bwf-program-card--colour-orange .bwf-program-card__badge--sold-out,
.bwf-program-card--special-evening .bwf-program-card__badge--sold-out {
	background: var(--bwf-white);
	color: var(--bwf-blue);
}

.bwf-program-card__image {
	display: block;
	margin-bottom: 0.35rem;
}

.bwf-program-card--featured-wide .bwf-program-card__image {
	margin-bottom: 0;
	min-height: 12rem;
}

.bwf-program-card--layout-special_wide.bwf-program-card--has-image .bwf-program-card__image {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 0;
	min-height: 12rem;
}

.bwf-program-card__image img {
	display: block;
	width: 100%;
	height: auto;
}

.bwf-program-card--featured-wide .bwf-program-card__image img {
	height: 100%;
	min-height: 12rem;
	object-fit: cover;
}

.bwf-program-card--layout-special_wide.bwf-program-card--has-image .bwf-program-card__image img {
	width: 100%;
	height: 100%;
	min-height: 12rem;
	object-fit: contain;
}

.bwf-program-card__subtitle {
	font-style: italic;
	line-height: 1.25;
}

.bwf-program-card__people,
.bwf-program-card__meta {
	font-size: 0.84rem;
	line-height: 1.3;
}

.bwf-program-card__meta {
	display: grid;
	gap: 0.18rem;
}

.bwf-program-card__where,
.bwf-program-card__when {
	display: block;
}

.bwf-program-card__date {
	font-weight: 600;
}

.bwf-program-card__time::before {
	content: " | ";
}

.bwf-program-card__where strong,
.bwf-program-card__when strong,
.bwf-program-card__people strong {
	text-transform: uppercase;
}

.bwf-program-card__people .bwf-person-name,
.bwf-plan-card__people .bwf-person-name {
	font-size: calc(1em + 2pt);
	font-weight: 600;
}

.bwf-program-card--colour-blue .bwf-program-card__date,
.bwf-program-card--special-evening .bwf-program-card__date {
	color: var(--bwf-mustard);
}

.bwf-program-card--colour-blue .bwf-program-card__time,
.bwf-program-card--special-evening .bwf-program-card__time {
	color: #fff;
}

.bwf-program-card__meta a {
	color: inherit;
	font-weight: 700;
}

.bwf-program-card__status {
	display: inline-block;
	justify-self: start;
	margin: 0.35rem 0;
	padding: 0.35rem 0.55rem;
	border: 1px solid rgba(0, 26, 112, 0.22);
	background: var(--bwf-white);
	color: var(--bwf-blue) !important;
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1.25;
}

.bwf-program-card__button {
	justify-self: start;
	margin-top: 0.35rem;
	font-size: 0.7rem;
}

.bwf-program-card-group {
	margin-top: 2rem;
}

.bwf-program-card-group__title {
	margin: 0 0 1rem;
	padding: 0.75rem 1rem;
	background: var(--bwf-program-header-pink);
	color: #191919;
	font-size: 1.35rem;
	letter-spacing: 0.18em;
	text-align: center;
	text-transform: uppercase;
}

.bwf-program-card-group--special .bwf-program-card-group__title {
	background: var(--bwf-program-pink);
	color: #fff;
}

.bwf-program-card-group__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 5px;
	padding: 10px;
	background: var(--bwf-program-border);
}

.bwf-program-empty {
	color: var(--bwf-blue);
	font-weight: 700;
}

.bwf-special-events {
	display: grid;
	gap: clamp(1.5rem, 3vw, 2.5rem);
	margin: 1.5rem 0;
}

.bwf-special-events__day-title {
	margin: 0 0 1rem;
	padding: 0.75rem 1rem;
	background: var(--bwf-program-header-pink);
	color: #191919;
	font-size: 1.35rem;
	letter-spacing: 0.18em;
	text-align: center;
	text-transform: uppercase;
}

.bwf-special-events__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.5rem, 3vw, 2.5rem);
	padding: 10px;
	background: var(--bwf-program-border);
}

.bwf-special-events .bwf-program-card {
	min-height: 100%;
	background: var(--bwf-white) !important;
	color: #191919;
}

.bwf-special-events .bwf-program-card a:not(.bwf-program-card__button),
.bwf-special-events .bwf-program-card__title,
.bwf-special-events .bwf-program-card__subtitle,
.bwf-special-events .bwf-program-card__people,
.bwf-special-events .bwf-program-card__meta,
.bwf-special-events .bwf-program-card__date,
.bwf-special-events .bwf-program-card__time {
	color: #191919 !important;
}

.bwf-special-events .bwf-program-card__people strong,
.bwf-special-events .bwf-program-card__where strong,
.bwf-special-events .bwf-program-card__when strong {
	color: var(--bwf-blue) !important;
}

.bwf-special-events .bwf-program-card--featured-wide,
.bwf-special-events .bwf-program-card--layout-special_wide.bwf-program-card--has-image {
	grid-column: auto;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.7rem;
	align-items: start;
	align-content: start;
}

.bwf-special-events .bwf-program-card--featured-wide .bwf-program-card__content,
.bwf-special-events .bwf-program-card--layout-special_wide.bwf-program-card--has-image .bwf-program-card__content {
	align-content: start;
}

.bwf-special-events .bwf-program-card__image,
.bwf-special-events .bwf-program-card--featured-wide .bwf-program-card__image,
.bwf-special-events .bwf-program-card--layout-special_wide.bwf-program-card--has-image .bwf-program-card__image {
	display: block;
	margin-bottom: 0;
	min-height: 0;
}

.bwf-special-events .bwf-program-card__image img,
.bwf-special-events .bwf-program-card--featured-wide .bwf-program-card__image img,
.bwf-special-events .bwf-program-card--layout-special_wide.bwf-program-card--has-image .bwf-program-card__image img {
	display: block;
	width: 100%;
	height: auto;
	min-height: 0;
	object-fit: contain;
}

.bwf-plan {
	margin: 1.5rem 0;
	padding-bottom: 7rem;
	color: #191919;
}

.bwf-plan-intro {
	max-width: 62rem;
	margin: 0 0 1rem;
	color: #191919;
	font-size: clamp(1rem, 1.4vw, 1.12rem);
	font-weight: 500;
	line-height: 1.5;
}

.bwf-plan-intro p {
	margin: 0 0 0.75rem;
}

.bwf-plan-intro p:last-child {
	margin-bottom: 0;
}

.bwf-plan-shortcuts {
	display: flex;
	justify-content: flex-end;
	margin: 0 0 0.75rem;
}

.bwf-plan-shortcuts a {
	display: inline-flex;
	gap: 0.45rem;
	align-items: center;
	padding: 0.55rem 0.8rem;
	background: var(--bwf-orange);
	color: var(--bwf-white);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
}

.bwf-plan-shortcuts a:hover,
.bwf-plan-shortcuts a:focus-visible {
	background: var(--bwf-blue);
	color: var(--bwf-mustard);
}

.bwf-plan-shortcuts__count {
	display: inline-grid;
	place-items: center;
	min-width: 1.45rem;
	min-height: 1.45rem;
	padding: 0 0.35rem;
	background: var(--bwf-white);
	color: var(--bwf-blue);
	font-size: 0.72rem;
	line-height: 1;
}

.bwf-plan-filters {
	display: grid;
	grid-template-columns: repeat(5, minmax(10rem, 1fr)) auto;
	gap: 0.75rem;
	align-items: end;
	margin: 0 0 1.5rem;
	padding: 1rem;
	background: var(--bwf-blue);
	border: 1px solid var(--bwf-blue);
}

.bwf-plan-filters--initial {
	grid-template-columns: repeat(4, minmax(10rem, 1fr)) auto;
}

.bwf-plan-filters__note {
	grid-column: 1 / -1;
	margin: 0;
	color: var(--bwf-white);
	font-size: 0.92rem;
	font-weight: 600;
}

.bwf-plan-filters label {
	display: grid;
	gap: 0.3rem;
	margin: 0;
}

.bwf-plan-filters span {
	color: var(--bwf-white);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.bwf-plan-filters select {
	width: 100%;
	min-height: 2.5rem;
	border: 1px solid var(--bwf-white);
	background: var(--bwf-white);
	color: #191919;
	font-size: 0.92rem;
}

.bwf-plan-filters__actions {
	display: flex;
	gap: 0.75rem;
	align-items: center;
}

.bwf-plan-filters button,
.bwf-plan-filters__actions a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.5rem;
	padding: 0.55rem 0.85rem;
	border: 0;
	background: var(--bwf-orange);
	color: var(--bwf-white);
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	cursor: pointer;
}

.bwf-plan-filters__actions a {
	background: var(--bwf-white);
	color: var(--bwf-blue);
}

.bwf-plan-filters button:hover,
.bwf-plan-filters button:focus-visible {
	background: var(--bwf-mustard);
	color: var(--bwf-blue);
}

.bwf-plan-filters__actions a:hover,
.bwf-plan-filters__actions a:focus-visible {
	background: var(--bwf-pink);
	color: var(--bwf-blue);
}

.bwf-plan-journey {
	position: relative;
	top: auto;
	z-index: 1;
	display: grid;
	gap: 0.75rem;
	margin: 0 0 1.5rem;
	padding: 1rem;
	border: 3px solid var(--bwf-orange);
	background: #fff;
	color: #191919;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.bwf-plan-journey__header {
	display: grid;
	gap: 0.25rem;
}

.bwf-plan-journey__header h2 {
	margin: 0;
	color: var(--bwf-blue);
	font-size: 1.25rem;
}

.bwf-plan-journey__header p {
	margin: 0;
	color: var(--bwf-orange);
	font-size: 0.9rem;
	font-weight: 700;
}

.bwf-plan-journey__empty {
	color: var(--bwf-blue);
	font-weight: 700;
}

.bwf-plan-journey__warning {
	padding: 0.75rem 0.9rem;
	background: var(--bwf-orange);
	color: var(--bwf-white);
	font-size: 0.9rem;
	font-weight: 800;
	line-height: 1.3;
}

.bwf-plan-journey__list {
	display: grid;
	gap: 0.5rem;
	max-height: 13rem;
	margin: 0;
	padding-left: 1.25rem;
	overflow: auto;
}

.bwf-plan-journey__list:empty {
	display: none;
}

.bwf-plan-journey__list li {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.15rem 0.75rem;
	align-items: start;
}

.bwf-plan-journey__item--clash {
	padding: 0.4rem;
	background: rgba(220, 88, 42, 0.1);
}

.bwf-plan-journey__list a {
	color: var(--bwf-blue);
	font-weight: 800;
}

.bwf-plan-journey__list span {
	grid-column: 1;
	font-size: 0.84rem;
}

.bwf-plan-journey__clash {
	display: inline-block;
	justify-self: start;
	padding: 0.2rem 0.4rem;
	background: var(--bwf-orange);
	color: var(--bwf-white);
	font-size: 0.68rem !important;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
}

.bwf-plan-journey__list button {
	grid-column: 2;
	grid-row: 1 / span 2;
	align-self: center;
	padding: 0.35rem 0.55rem;
	border: 0;
	background: var(--bwf-orange);
	color: var(--bwf-white);
	font-size: 0.68rem;
	font-weight: 800;
	text-transform: uppercase;
	cursor: pointer;
}

.bwf-plan-journey__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.bwf-plan-journey__actions button {
	padding: 0.55rem 0.75rem;
	border: 0;
	background: var(--bwf-blue);
	color: var(--bwf-white);
	font-size: 0.75rem;
	font-weight: 800;
	text-transform: uppercase;
	cursor: pointer;
}

.bwf-plan-journey__actions button:nth-child(2) {
	background: var(--bwf-mustard);
	color: #191919;
}

.bwf-plan-journey__actions button:nth-child(3) {
	background: var(--bwf-orange);
}

.bwf-plan-journey__actions button:disabled {
	cursor: not-allowed;
	opacity: 0.45;
}

.bwf-plan-journey__feedback {
	min-height: 1.1em;
	color: var(--bwf-blue);
	font-size: 0.84rem;
	font-weight: 700;
}

.bwf-plan-ticket-bar {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 90;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1rem;
	align-items: center;
	margin: 0;
	padding: 1rem max(1rem, calc((100vw - 1160px) / 2));
	background: var(--bwf-blue);
	color: var(--bwf-white);
	box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.16);
}

.bwf-plan-ticket-bar--bottom {
	position: static;
	margin: 1.5rem 0 0;
	box-shadow: none;
}

.bwf-plan-ticket-bar--top {
	grid-template-columns: 1fr;
	justify-items: end;
}

.bwf-plan-ticket-bar h2 {
	margin: 0 0 0.25rem;
	color: inherit;
	font-size: 1.15rem;
	font-weight: 800;
	line-height: 1.1;
}

.bwf-plan-ticket-bar p {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.35;
}

.bwf-plan-ticket-bar button {
	justify-self: end;
	padding: 0.75rem 1rem;
	border: 0;
	background: var(--bwf-orange);
	color: var(--bwf-white);
	font-size: 0.76rem;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
	cursor: pointer;
}

.bwf-plan-ticket-bar button:hover,
.bwf-plan-ticket-bar button:focus-visible {
	background: var(--bwf-pink);
	color: var(--bwf-blue);
}

.bwf-plan-ticket-bar button:disabled {
	cursor: wait;
	opacity: 0.65;
}

.bwf-plan-ticket-bar__feedback {
	grid-column: 1 / -1;
	color: var(--bwf-mustard);
	font-size: 0.86rem;
	font-weight: 800;
}

.bwf-plan-ticket-bar__feedback--error {
	color: var(--bwf-white);
}

.bwf-plan-ticket-bar__feedback a {
	color: var(--bwf-white);
	font-weight: 800;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.bwf-plan-day {
	margin: 0 0 2rem;
}

.bwf-plan-day__title {
	margin: 0;
	padding: 0.75rem 1rem;
	background: var(--bwf-pink);
	color: #fff;
	font-size: clamp(1.25rem, 2vw, 1.8rem);
	font-weight: 700;
	text-align: center;
}

.bwf-plan-table-wrap {
	overflow-x: auto;
	border: 5px solid var(--bwf-program-border);
	background: var(--bwf-program-border);
}

.bwf-plan-table {
	display: grid;
	min-width: max(58rem, calc(8rem + (var(--bwf-plan-columns) * 15rem)));
	gap: 3px;
}

.bwf-plan-table__head,
.bwf-plan-table__row {
	display: grid;
	grid-template-columns: 8rem repeat(var(--bwf-plan-columns), minmax(14rem, 1fr));
	gap: 3px;
}

.bwf-plan-table__heading,
.bwf-plan-table__time,
.bwf-plan-table__cell {
	padding: 0.75rem;
	background: var(--bwf-white);
}

.bwf-plan-table__heading {
	background: var(--bwf-program-header-pink);
	color: #191919;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.bwf-plan-table__heading--time,
.bwf-plan-table__time {
	color: var(--bwf-blue);
	font-weight: 800;
}

.bwf-plan-table__cell {
	min-height: 8rem;
}

.bwf-plan-card {
	display: grid;
	gap: 0.25rem;
	align-content: start;
}

.bwf-plan-card__select {
	display: inline-flex;
	gap: 0.4rem;
	align-items: center;
	justify-self: start;
	margin: 0 0 0.25rem;
	color: var(--bwf-blue);
	font-size: 0.76rem;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
}

.bwf-plan-card__select input {
	width: 1rem;
	height: 1rem;
	margin: 0;
	accent-color: var(--bwf-orange);
}

.bwf-plan-card + .bwf-plan-card {
	margin-top: 0.75rem;
	padding-top: 0.75rem;
	border-top: 1px solid rgba(0, 26, 112, 0.18);
}

.bwf-plan-card__prefix {
	justify-self: start;
	padding: 0.25rem 0.45rem;
	background: var(--bwf-orange);
	color: var(--bwf-white);
	font-size: 0.68rem;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.bwf-plan-card--workshop .bwf-plan-card__prefix {
	background: var(--bwf-pink);
}

.bwf-plan-card__title {
	color: var(--bwf-blue);
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
}

.bwf-plan-card__subtitle {
	font-size: 0.88rem;
	font-style: italic;
	line-height: 1.25;
}

.bwf-plan-card__people {
	font-size: 0.78rem;
	line-height: 1.3;
}

.bwf-plan-card__people strong {
	text-transform: uppercase;
}

.bwf-plan-card__tickets {
	display: grid;
	gap: 0.4rem;
	margin-top: 0.45rem;
}

.bwf-plan-card__ticket {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 4.5rem;
	gap: 0.5rem;
	align-items: center;
	max-width: 18rem;
	padding: 0.45rem;
	background: rgba(255, 255, 255, 0.55);
	border: 1px solid rgba(0, 26, 112, 0.18);
}

.bwf-plan-card__ticket span {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem;
	align-items: baseline;
	min-width: 0;
	color: var(--bwf-blue);
	font-size: 0.76rem;
	line-height: 1.15;
}

.bwf-plan-card__ticket strong {
	font-weight: 800;
}

.bwf-plan-card__ticket em {
	font-style: normal;
	font-weight: 600;
	white-space: nowrap;
}

.bwf-plan-card__ticket input {
	width: 100%;
	min-height: 2rem;
	padding: 0.2rem 0.35rem;
	border: 2px solid var(--bwf-blue);
	background: var(--bwf-white);
	color: var(--bwf-blue);
	font-weight: 800;
	text-align: left;
}

.bwf-plan-card__ticket-hint {
	color: var(--bwf-orange);
	font-size: 0.72rem;
	font-weight: 800;
	line-height: 1.2;
}

.bwf-plan-card__ticket-note {
	justify-self: start;
	margin-top: 0.45rem;
	padding: 0.35rem 0.55rem;
	background: var(--bwf-orange);
	color: var(--bwf-white);
	font-size: 0.72rem;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
}

.bwf-plan-card__button {
	justify-self: start;
	margin-top: 0.35rem;
	padding: 0.55rem 0.75rem;
	background: var(--bwf-blue);
	color: var(--bwf-white);
	font-size: 0.68rem;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
}

.bwf-plan-card__button:hover,
.bwf-plan-card__button:focus-visible {
	color: var(--bwf-mustard);
	text-decoration: none;
}

@media (max-width: 700px) {
	.bwf-plan-ticket-bar {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 0.6rem;
		padding: 0.55rem 0.75rem;
		min-height: 0;
	}

	.bwf-plan-ticket-bar--top {
		grid-template-columns: 1fr;
	}

	.bwf-plan-ticket-bar h2 {
		margin: 0;
		font-size: 0.95rem;
	}

	.bwf-plan-ticket-bar p {
		display: none;
	}

	.bwf-plan-ticket-bar button {
		justify-self: end;
		padding: 0.65rem 0.75rem;
		font-size: 0.68rem;
		white-space: nowrap;
	}

	.bwf-plan-ticket-bar__feedback {
		grid-column: 1 / -1;
		margin-top: 0;
	}
}

@media (max-width: 1024px) {
	.bwf-program-grid__venues {
		display: none;
	}

	.bwf-program-grid,
	.bwf-program-grid__row,
	.bwf-program-grid__items,
	.bwf-program-grid__cell {
		display: block;
		border: 0;
	}

	.bwf-program-grid__time {
		display: block;
		padding: 0.75rem 1rem;
		writing-mode: initial;
		transform: none;
	}

	.bwf-program-grid__cell {
		min-height: 0;
	}

	.bwf-program-card {
		min-height: 0;
		margin-bottom: 1px;
	}

	.bwf-program-card--featured-wide,
	.bwf-program-card--layout-special_wide.bwf-program-card--has-image {
		display: grid;
		grid-template-columns: 1fr;
	}

	.bwf-program-card-group__grid {
		grid-template-columns: 1fr;
	}

	.bwf-special-events__grid {
		grid-template-columns: 1fr;
	}

	.bwf-special-events .bwf-program-card--featured-wide,
	.bwf-special-events .bwf-program-card--layout-special_wide.bwf-program-card--has-image {
		grid-template-columns: 1fr;
	}

	.bwf-plan-filters {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bwf-plan-filters__actions {
		grid-column: 1 / -1;
	}
}

@media (max-width: 640px) {
	.bwf-waitlist__fields {
		grid-template-columns: 1fr;
	}

	.bwf-plan-filters {
		grid-template-columns: 1fr;
	}

	.bwf-plan-table {
		min-width: 48rem;
	}

	.bwf-plan-table__head,
	.bwf-plan-table__row {
		grid-template-columns: 6.75rem repeat(var(--bwf-plan-columns), minmax(12rem, 1fr));
	}
}

.bwf-featured-authors {
	--bwf-featured-authors-gap: clamp(1rem, 2vw, 1.5rem);
	--bwf-featured-authors-column: calc((100% - (3 * var(--bwf-featured-authors-gap))) / 4);
	margin: 1.5rem 0;
	overflow: hidden;
}

.bwf-featured-authors__track {
	display: grid;
	grid-auto-columns: var(--bwf-featured-authors-column);
	grid-auto-flow: column;
	gap: var(--bwf-featured-authors-gap);
	padding: 0;
	will-change: transform;
}

.bwf-featured-authors::-webkit-scrollbar {
	display: none;
}

.bwf-featured-authors__item {
	position: relative;
	display: block;
	color: inherit;
	text-decoration: none;
	scroll-snap-align: start;
}

.bwf-featured-authors__media {
	display: block;
	box-sizing: border-box;
	height: clamp(18rem, 32vw, 25rem);
	padding: 10px;
	overflow: hidden;
	background: var(--bwf-white);
}

.bwf-featured-authors__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.bwf-featured-authors--fit-cover .bwf-featured-authors__image {
	object-fit: cover;
}

.bwf-featured-authors__item--fit-cover .bwf-featured-authors__image {
	height: 100% !important;
	object-fit: cover;
}

.bwf-featured-authors__item--fit-contain .bwf-featured-authors__image {
	height: 100% !important;
	max-height: 100%;
	object-fit: contain;
}

.bwf-featured-authors__name {
	position: absolute;
	right: 20px;
	bottom: 20px;
	z-index: 2;
	display: block;
	max-width: calc(100% - 40px);
	padding: 8px 11px;
	background: var(--bwf-blue);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	text-align: right;
	white-space: normal;
	overflow-wrap: anywhere;
}

@media (max-width: 1024px) {
	.bwf-featured-authors {
		--bwf-featured-authors-column: calc((100% - (2 * var(--bwf-featured-authors-gap))) / 3);
	}

	.bwf-featured-authors__media {
		height: clamp(16rem, 42vw, 22rem);
	}
}

@media (max-width: 767px) {
	.bwf-featured-authors {
		--bwf-featured-authors-column: calc((100% - var(--bwf-featured-authors-gap)) / 2);
	}

	.bwf-featured-authors__media {
		height: clamp(14rem, 66vw, 20rem);
	}
}

.bwf-dont-miss {
	margin: clamp(2rem, 4vw, 3.25rem) 0;
}

.bwf-dont-miss__title {
	margin: 0 0 1rem;
	color: var(--bwf-blue);
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	font-weight: 500;
	line-height: 1.1;
}

.bwf-dont-miss__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 5px;
	background: var(--bwf-program-border);
}

.bwf-dont-miss .bwf-program-card {
	min-height: 13rem;
	color: var(--bwf-white);
}

.bwf-dont-miss .bwf-program-card a:not(.bwf-program-card__button),
.bwf-dont-miss .bwf-program-card__title,
.bwf-dont-miss .bwf-program-card__subtitle,
.bwf-dont-miss .bwf-program-card__people,
.bwf-dont-miss .bwf-program-card__meta,
.bwf-dont-miss .bwf-program-card__date {
	color: var(--bwf-white);
}

.bwf-dont-miss .bwf-program-card__image {
	margin-bottom: 0.7rem;
	background: var(--bwf-blue);
}

.bwf-dont-miss .bwf-program-card__image img {
	width: 100%;
	height: auto;
	object-fit: initial;
}

.bwf-dont-miss .bwf-program-card--featured-wide,
.bwf-dont-miss .bwf-program-card--layout-special_wide,
.bwf-dont-miss .bwf-program-card--layout-special-wide {
	grid-template-columns: 1fr;
}

@media (max-width: 900px) {
	.bwf-dont-miss__grid {
		grid-template-columns: 1fr;
	}
}

/* Keep Elementor's side-cart actions reachable on short screens. */
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__container {
	z-index: 10001 !important;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__main {
	height: 100vh !important;
	height: 100dvh !important;
	max-height: 100vh !important;
	max-height: 100dvh !important;
	overflow: hidden !important;
}

.elementor-widget-woocommerce-menu-cart .widget_shopping_cart_content {
	display: flex !important;
	flex: 1 1 auto;
	flex-direction: column;
	min-height: 0;
	overflow: hidden;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__products {
	flex: 1 1 auto;
	min-height: 0;
	max-height: none !important;
	overflow-x: hidden;
	overflow-y: auto !important;
	overscroll-behavior: contain;
	scrollbar-gutter: stable;
	-webkit-overflow-scrolling: touch;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__subtotal,
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons {
	flex: 0 0 auto;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons {
	padding-bottom: max(0.75rem, env(safe-area-inset-bottom));
}
