/* ==========================================================================
   Tour booking form — steps + "Your booking" summary
   Left: 1 Select a date, 2 Choose tickets, 3 Add extras. Right: sticky summary card.
   Scoped to the tour booking section (hotel booking keeps its own design).
   ========================================================================== */
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section:not(.ttbm_booking_section--hotel) {
	--bk-ink: #1B2430; --bk-muted: #4A5565; --bk-line: #DDE2E8; --bk-accent: var(--color_theme, #0F766E); --bk-accent-ink: color-mix(in srgb, var(--color_theme, #0F766E) 72%, #000); --bk-accent-soft: color-mix(in srgb, var(--color_theme, #0F766E) 12%, #fff);
	color: var(--bk-ink);
}

/* ---- Heading ---- */
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm-ticket-section-heading { margin: 0 0 28px; text-align: left; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm-ticket-section-heading__eyebrow { display: inline-block; padding: 4px 12px; border-radius: 999px; background: var(--bk-accent-soft); color: var(--bk-accent-ink); font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm-ticket-section-title { margin: 12px 0 0; font-size: 34px; line-height: 1.2; font-weight: 700; color: var(--bk-ink); }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm-ticket-section-heading__sub { margin: 8px 0 0; font-size: 17px; line-height: 1.5; color: var(--bk-muted); }

/* ---- Two-column layout ---- */
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section:not(.ttbm_booking_section--hotel) .ttbm_registration_area {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 24px 28px;
	align-items: start;
	counter-reset: bk-step;
	background: transparent;
	padding: 0;
	border: 0;
	box-shadow: none;
}
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_registration_area > .ttbm_booking_panel:has(> form),
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_registration_area > .ttbm_booking_panel > form { display: contents; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_registration_area > .ttbm_booking_panel:not(:has(> form)) { grid-column: 1 / -1; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_registration_area > .ttbm_date_time_select { grid-column: 1; grid-row: 1; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_registration_area .ttbm_ticket_area { grid-column: 1; grid-row: 2; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_registration_area .ttbm_book_now_area { grid-column: 2; grid-row: 1 / span 2; }

/* ---- Step cards ---- */
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_date_time_select,
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area.ttbm_enhanced_ticket_area {
	padding: 24px;
	background: #fff;
	border: 1px solid var(--bk-line);
	border-radius: 20px;
	box-shadow: none;
	box-sizing: border-box;
}
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_date_time_select .ttbm-date-select__label-text,
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area > h2.ttbm_ticket_list_title,
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .ttbm_extra_service_area > h2.extra_service_title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 16px;
	padding: 0;
	border: 0;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--bk-ink);
	text-transform: none;
}
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_date_time_select .ttbm-date-select__label-text::before,
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area > h2.ttbm_ticket_list_title::before,
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .ttbm_extra_service_area > h2.extra_service_title::before {
	counter-increment: bk-step;
	content: counter(bk-step);
	flex: none;
	width: 32px;
	height: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--bk-accent);
	color: #fff;
	font-size: 16px;
	font-weight: 700;
}
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .ttbm_extra_service_area { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--bk-line); }

/* ---- Date field ---- */
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm-date-select__control { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 16px; border: 1px solid #AEB6C1; border-radius: 12px; background: #fff; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm-date-select__control input#ttbm_select_date { flex: 1 1 auto; min-width: 0; min-height: 48px; border: 0; background: transparent; box-shadow: none; font-size: 17px; font-weight: 600; color: var(--bk-ink); padding: 0; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm-date-select__control:focus-within { border-color: var(--bk-accent); box-shadow: 0 0 0 2px var(--bk-accent); }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm-date-select__icon { color: var(--bk-accent-ink); display: inline-flex; }

/* ---- Ticket and extra rows (tables become cards) ---- */
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area table.ttbm_enhanced_table,
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area table.ttbm_enhanced_table tbody { display: block; width: 100%; background: transparent; border: 0; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area table.ttbm_enhanced_table thead { display: none; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area tr.ttbm_hidden_inputs { display: none; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area tr.ttbm_attendee_form_row,
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area tr.ttbm_attendee_form_row td { display: block; padding: 0; border: 0; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area tr.ttbm_ticket_row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	column-gap: 20px;
	row-gap: 4px;
	align-items: center;
	padding: 18px 0;
	margin: 0;
	background: transparent !important;
	border: 0;
	border-top: 1px solid #EEF1F4;
	box-shadow: none;
}
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area tr.ttbm_ticket_row:first-child { border-top: 0; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area tr.ttbm_ticket_row > td { display: block; padding: 0; border: 0; background: transparent; width: auto; min-width: 0; text-align: left; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area tr.ttbm_ticket_row > td.ttbm-person-info { grid-column: 1; grid-row: 1; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area tr.ttbm_ticket_row > td.ttbm-ticket-badge-col { grid-column: 1; grid-row: 2; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area tr.ttbm_ticket_row > td.ttbm-ticket-badge-col:not(:has(.ttbm_discount_badge)) { display: none; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area tr.ttbm_ticket_row > td.ttbm-availability-info { grid-column: 1; grid-row: 3; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area tr.ttbm_ticket_row > td.ttbm-regular-price { grid-column: 2; grid-row: 1 / span 3; text-align: right; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area tr.ttbm_ticket_row > td.ttbm-select-quantity { grid-column: 3; grid-row: 1 / span 3; }

:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .ttbm_ticket_name,
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area p.extra_service_title { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 19px; font-weight: 700; color: var(--bk-ink); }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .ttbm_ticket_icon { color: var(--bk-accent-ink); font-size: 20px; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .ttbm_ticket_description { margin: 4px 0 0; font-size: 14px; line-height: 1.5; color: var(--bk-muted); }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .ttbm_discount_badge { display: inline-block; padding: 2px 10px; border-radius: 999px; background: #DCF5E5; color: #14532D; font-size: 12px; font-weight: 700; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .ttbm_sale_price { font-size: 24px; font-weight: 700; color: var(--bk-ink); }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .ttbm_price_container { display: flex; flex-direction: column; align-items: flex-end; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .ttbm_price_meta { display: flex; justify-content: flex-end; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .ttbm_regular_price { font-size: 14px; color: var(--bk-muted); }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .ttbm_stock_left,
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .ttbm_capacity_info { display: none; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .ttbm_remaining_count { display: flex; gap: 4px; font-size: 14px; color: var(--bk-muted); }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .ttbm_available_number { font-weight: 700; color: var(--bk-ink); }
/* extras: the stock line is noise */
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_extra_service_area tr.ttbm_ticket_row > td.ttbm-availability-info { display: none; }

/* ---- Quantity stepper ---- */
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .qtyIncDec { display: inline-flex; align-items: center; gap: 6px; width: auto; border: 0; background: transparent; box-shadow: none; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .qtyIncDec .decQty,
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .qtyIncDec .incQty {
	position: relative;
	width: 44px;
	height: 44px;
	min-width: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border-radius: 50%;
	font-size: 0;
	cursor: pointer;
	box-shadow: none;
}
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .qtyIncDec .decQty { background: #fff; border: 2px solid var(--bk-line); color: var(--bk-ink); }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .qtyIncDec .incQty { background: var(--bk-accent); border: 2px solid var(--bk-accent); color: #fff; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .qtyIncDec .decQty::before,
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .qtyIncDec .incQty::before { content: none; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .qtyIncDec .qty-btn-icon { display: none; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .qtyIncDec .decQty::after { content: "\2212"; font-size: 24px; line-height: 1; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .qtyIncDec .incQty::after { content: "+"; font-size: 24px; line-height: 1; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .qtyIncDec label { display: block; width: 44px; margin: 0; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .qtyIncDec input.inputIncDec { width: 44px; height: 44px; padding: 0; border: 0; background: transparent; box-shadow: none; text-align: center; font-size: 20px; font-weight: 700; color: var(--bk-ink); }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .qtyIncDec .decQty:focus-visible,
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .qtyIncDec .incQty:focus-visible { outline: 3px solid var(--bk-accent); outline-offset: 2px; }

/* ---- "Your booking" summary card ---- */
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_booking_panel .ttbm_book_now_area.ttbm_book_now_bar,
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_book_now_area.ttbm_book_now_bar {
	position: sticky;
	top: 24px;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	flex-wrap: nowrap;
	gap: 16px;
	margin: 0;
	padding: 24px;
	background: #fff;
	border: 1px solid var(--bk-line);
	border-radius: 20px;
	box-shadow: none;
	box-sizing: border-box;
}
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_summary_title { margin: 0; padding: 0; font-size: 22px; font-weight: 700; line-height: 1.3; color: var(--bk-ink); }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_book_now_area .ttbm_order_summary { display: flex; flex-direction: column; align-items: stretch; gap: 14px; flex: none; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_summary_lines { display: flex; flex-direction: column; gap: 10px; padding-top: 14px; border-top: 1px solid #EEF1F4; min-height: 44px; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_summary_lines:empty::before { content: attr(data-empty); font-size: 15px; color: var(--bk-muted); }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_summary_line { display: flex; justify-content: space-between; gap: 12px; font-size: 16px; color: var(--bk-ink); }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_book_now_area .ttbm_summary_values { display: flex; flex-direction: column; gap: 8px; padding-top: 14px; border-top: 1px solid #EEF1F4; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_book_now_area .ttbm_summary_item { display: flex; flex-direction: row; align-items: baseline; justify-content: space-between; gap: 8px; padding: 0; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_book_now_area .ttbm_summary_divider { display: none; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_book_now_area .ttbm_summary_label { font-size: 15px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--bk-muted); }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_book_now_area .ttbm_summary_item b { font-size: 18px; font-weight: 700; color: var(--bk-ink); }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_book_now_area .ttbm_summary_item:last-child b { font-size: 30px; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_book_now_area .ttbm_book_now_actions { display: flex; flex-direction: column; align-items: stretch; gap: 10px; margin: 0; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_book_now_area .ttbm_book_now { width: 100%; min-height: 56px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; border: 0; border-radius: 14px; background: var(--bk-accent); color: #fff; font-size: 18px; font-weight: 700; box-shadow: none; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_book_now_area .ttbm_book_now:hover { background: var(--bk-accent-ink); color: #fff; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_book_now_area .ttbm_book_now.mpDisabled,
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_book_now_area .ttbm_book_now[disabled] { background: #E3E8EC; color: var(--bk-muted); cursor: not-allowed; opacity: 1; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_book_now_area .ttbm_book_now:focus-visible { outline: 3px solid var(--bk-accent); outline-offset: 2px; }

/* ---- Narrow screens: one column, summary under the steps ---- */
@media (max-width: 900px) {
	:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section:not(.ttbm_booking_section--hotel) .ttbm_registration_area { grid-template-columns: minmax(0, 1fr); }
	:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_registration_area .ttbm_book_now_area { grid-column: 1; grid-row: auto; position: static; }
	:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm-ticket-section-title { font-size: 28px; }
	:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area tr.ttbm_ticket_row { grid-template-columns: minmax(0, 1fr) auto; }
	:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area tr.ttbm_ticket_row > td.ttbm-regular-price { grid-column: 2; grid-row: 1 / span 2; }
	:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area tr.ttbm_ticket_row > td.ttbm-select-quantity { grid-column: 1 / -1; grid-row: auto; margin-top: 10px; }
}

/* ==========================================================================
   Round 2 — beat theme colour / spacing rules that were winning
   (purple prices and buttons, letter-spaced grey headings, un-carded date step)
   ========================================================================== */
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_registration_area > .ttbm_date_time_select,
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_registration_area .ttbm_ticket_area.ttbm_enhanced_ticket_area {
	padding: 24px !important;
	margin: 0 !important;
	background: #fff !important;
	border: 1px solid #DDE2E8 !important;
	border-radius: 20px !important;
	box-shadow: none !important;
	width: 100% !important;
	max-width: none !important;
	box-sizing: border-box !important;
}
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_date_time_select .ttbm_select_date_area,
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_date_time_select .ttbm-date-time-toolbar,
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_date_time_select .date-picker { display: block !important; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm-date-select__control { width: 100% !important; box-sizing: border-box !important; background: #fff !important; border: 1px solid #AEB6C1 !important; border-radius: 12px !important; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm-date-select__icon { background: color-mix(in srgb, var(--color_theme, #0F766E) 12%, #fff) !important; color: color-mix(in srgb, var(--color_theme, #0F766E) 72%, #000) !important; border-radius: 10px; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm-date-select__control input#ttbm_select_date { color: #1B2430 !important; }

/* Step headings */
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_date_time_select .ttbm-date-select__label-text,
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area > h2.ttbm_ticket_list_title,
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .ttbm_extra_service_area > h2.extra_service_title {
	margin: 0 0 16px !important;
	padding: 0 !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	line-height: 1.3 !important;
	color: #1B2430 !important;
}
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_date_time_select .ttbm-date-select__label-text::before,
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area > h2.ttbm_ticket_list_title::before,
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .ttbm_extra_service_area > h2.extra_service_title::before { background: var(--color_theme, #0F766E) !important; }

/* Rows: align the cells */
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area tr.ttbm_ticket_row { row-gap: 6px !important; padding: 18px 0 !important; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area tr.ttbm_ticket_row > td.ttbm-person-info { align-self: end; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area tr.ttbm_ticket_row > td.ttbm-ticket-badge-col,
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area tr.ttbm_ticket_row > td.ttbm-availability-info { align-self: start; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area tr.ttbm_ticket_row > td.ttbm-regular-price,
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area tr.ttbm_ticket_row > td.ttbm-select-quantity { align-self: center; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .person-info { display: block !important; padding: 0 !important; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .ttbm_ticket_name_text,
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area p.extra_service_title { color: #1B2430 !important; font-size: 19px !important; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .ttbm_ticket_icon { background: color-mix(in srgb, var(--color_theme, #0F766E) 12%, #fff) !important; color: color-mix(in srgb, var(--color_theme, #0F766E) 72%, #000) !important; border-radius: 10px; }

/* Prices in ink, not the theme colour */
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .ttbm_sale_price,
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .ttbm_sale_price * { color: #1B2430 !important; font-size: 24px !important; font-weight: 700 !important; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .ttbm_regular_price,
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .ttbm_regular_price * { color: #4A5565 !important; font-size: 14px !important; font-weight: 400 !important; }

/* Stepper buttons: clear circles */
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .qtyIncDec .decQty,
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .qtyIncDec .incQty { width: 44px !important; height: 44px !important; border-radius: 50% !important; opacity: 1 !important; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .qtyIncDec .decQty { background: #fff !important; border: 2px solid #AEB6C1 !important; color: #1B2430 !important; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .qtyIncDec .incQty { background: var(--color_theme, #0F766E) !important; border: 2px solid var(--color_theme, #0F766E) !important; color: #fff !important; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .qtyIncDec .decQty::after,
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .qtyIncDec .incQty::after { color: inherit !important; font-size: 24px !important; opacity: 1 !important; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_ticket_area .qtyIncDec input.inputIncDec { color: #1B2430 !important; font-size: 20px !important; font-weight: 700 !important; }

/* Summary card */
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_book_now_area .ttbm_summary_values { width: 100% !important; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_book_now_area .ttbm_summary_item { width: 100% !important; justify-content: space-between !important; text-align: left !important; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_book_now_area .ttbm_summary_label { color: #4A5565 !important; font-size: 15px !important; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_book_now_area .ttbm_book_now { background: var(--color_theme, #0F766E) !important; border: 0 !important; color: #fff !important; width: 100% !important; border-radius: 14px !important; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_book_now_area .ttbm_book_now:hover { background: color-mix(in srgb, var(--color_theme, #0F766E) 72%, #000) !important; }
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_book_now_area .ttbm_book_now.mpDisabled,
:is(#ttbm_content, .ttbm_reg_shortcode) .ttbm_booking_section .ttbm_book_now_area .ttbm_book_now[disabled] { background: #E3E8EC !important; color: #4A5565 !important; }
