/* ============================================
   TMF Events — Þjónusta Grid & Home Calendar
   ============================================ */

/* --- Events Grid (Þjónusta page) --- */
.tmf-events-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
	margin-top: 1.75rem;
}

@media (min-width: 768px) {
	.tmf-events-grid {
		grid-template-columns: 1fr 1fr;
	}
}

.tmf-event-card {
	background: #fff;
	border-radius: var(--tmf-radius-xl);
	border: 1px solid var(--tmf-border);
	overflow: hidden;
	transition: box-shadow 0.3s, border-color 0.3s;
}

.tmf-event-card:hover {
	border-color: transparent;
	box-shadow: var(--tmf-shadow-xl);
}

.tmf-event-card-accent {
	height: 4px;
	width: 100%;
	background: var(--tmf-accent);
}

.tmf-event-card-inner {
	display: flex;
	flex-direction: column;
}

@media (min-width: 640px) {
	.tmf-event-card-inner {
		flex-direction: row;
	}
}

.tmf-event-card-image {
	flex-shrink: 0;
	overflow: hidden;
}

@media (min-width: 640px) {
	.tmf-event-card-image {
		width: 12rem;
	}
}

.tmf-event-card-img {
	width: 100%;
	height: 10rem;
	object-fit: cover;
	transition: transform 0.5s;
}

@media (min-width: 640px) {
	.tmf-event-card-img {
		height: 100%;
	}
}

.tmf-event-card:hover .tmf-event-card-img {
	transform: scale(1.05);
}

.tmf-event-card-body {
	flex: 1;
	padding: 1.5rem 1.75rem;
	display: flex;
	flex-direction: column;
}

.tmf-event-card-title {
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--tmf-primary);
	margin: 0 0 0.5rem;
	line-height: 1.3;
}

.tmf-event-card-title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s;
}

.tmf-event-card:hover .tmf-event-card-title a {
	color: var(--tmf-accent);
}

.tmf-event-card-desc {
	color: var(--tmf-text-tertiary);
	font-size: 0.9375rem;
	line-height: 1.6;
	margin: 0 0 1rem;
}

.tmf-event-card-meta {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.5rem 1.25rem;
	font-size: 0.8125rem;
	color: var(--tmf-text-tertiary);
	margin-bottom: 1.25rem;
}

.tmf-event-meta-item {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.tmf-event-meta-item svg {
	color: var(--tmf-accent);
	flex-shrink: 0;
}

.tmf-event-card-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: auto;
	padding-top: 1rem;
	border-top: 1px solid var(--tmf-border);
}

.tmf-event-card-price {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--tmf-accent);
}

.tmf-event-card-btn {
	display: inline-flex;
	align-items: center;
	padding: 0.375rem 1.25rem;
	background: var(--tmf-accent);
	color: #fff;
	border-radius: var(--tmf-radius-lg);
	font-size: 1.175rem;
	font-weight: 700;
	text-decoration: none;
	transition: background-color 0.2s;
}

.tmf-event-card-btn:hover {
	background: var(--tmf-accent-hover);
	color: #fff;
}

.tmf-no-events {
	text-align: center;
	color: var(--tmf-text-tertiary);
	padding: 2rem 0;
}

/* --- Home Page Event Calendar --- */
.tmf-event-calendar {
	padding: 4rem 0 5rem;
	background: #fff;
}

.tmf-event-calendar > * {
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

.tmf-cal-title {
	font-size: clamp(1.75rem, 1.25rem + 2vw, 2.5rem);
	font-weight: 600;
	color: var(--tmf-primary);
	margin-bottom: 2.5rem;
}

.tmf-cal-title-accent {
	color: var(--tmf-accent);
}

.tmf-cal-layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.5rem;
}

@media (min-width: 1024px) {
	.tmf-cal-layout {
		grid-template-columns: 4fr 8fr;
	}
}

/* Calendar sidebar */
.tmf-cal-sidebar {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.tmf-cal-nav {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.tmf-cal-nav-btn {
	background: none;
	border: none;
	color: var(--tmf-accent);
	cursor: pointer;
	padding: 0.25rem;
	border-radius: var(--tmf-radius-md);
	transition: color 0.2s;
}

.tmf-cal-nav-btn:hover {
	color: var(--tmf-accent-hover);
}

.tmf-cal-nav-btn:focus-visible {
	outline: 2px solid var(--tmf-accent);
	outline-offset: 2px;
}

.tmf-cal-month-label {
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--tmf-primary);
	user-select: none;
}

/* Calendar grid */
.tmf-cal-grid {
	border: 1px solid var(--tmf-border);
	border-radius: var(--tmf-radius-xl);
	overflow: hidden;
}

.tmf-cal-header {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	background: var(--tmf-light-bg);
}

.tmf-cal-header span {
	padding: 0.625rem 0;
	text-align: center;
	font-size: 0.6875rem;
	font-weight: 600;
	color: var(--tmf-text-tertiary);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.tmf-cal-days {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
}

.tmf-cal-day {
	border-top: 1px solid var(--tmf-border);
	padding: 0.75rem 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.375rem;
	font-size: 0.8125rem;
	background: none;
	border-left: none;
	border-right: none;
	border-bottom: none;
	cursor: default;
	color: rgba(22, 35, 42, 0.35);
	transition: background-color 0.15s;
}

.tmf-cal-day--empty {
	cursor: default;
}

.tmf-cal-day--has-events {
	color: var(--tmf-primary);
	font-weight: 600;
	cursor: pointer;
}

.tmf-cal-day--has-events:hover {
	background: var(--tmf-light-bg);
}

.tmf-cal-day--today {
	color: var(--tmf-accent);
	font-weight: 600;
}

.tmf-cal-day--selected {
	background: rgba(255, 91, 4, 0.1);
	color: var(--tmf-accent);
}

.tmf-cal-day:focus-visible {
	outline: 2px solid var(--tmf-accent);
	outline-offset: -2px;
}

.tmf-cal-dots {
	display: flex;
	gap: 0.125rem;
}

.tmf-cal-dot {
	width: 0.375rem;
	height: 0.375rem;
	border-radius: 50%;
}

/* Filters */
.tmf-cal-filters-label {
	font-size: 0.6875rem;
	font-weight: 600;
	color: var(--tmf-text-tertiary);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin-bottom: 0.75rem;
}

.tmf-cal-filter-btns {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.tmf-cal-filter-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	padding: 0.375rem 0.75rem;
	border-radius: 9999px;
	font-size: 0.75rem;
	font-weight: 500;
	border: none;
	cursor: pointer;
	transition: all 0.15s;
	background: var(--tmf-light-bg);
	color: var(--tmf-text-secondary);
}

.tmf-cal-filter-btn:hover {
	color: var(--tmf-primary);
}

.tmf-cal-filter-btn:focus-visible {
	outline: 2px solid var(--tmf-accent);
	outline-offset: 1px;
}

.tmf-cal-filter-btn.is-active {
	color: #fff;
	font-weight: 600;
}

.tmf-cal-filter-dot {
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
}

/* Event list */
.tmf-cal-events {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.tmf-cal-search input {
	width: 100%;
	border: 1px solid var(--tmf-border);
	border-radius: var(--tmf-radius-lg);
	padding: 0.75rem 1rem;
	font-size: 0.875rem;
	color: var(--tmf-primary);
	font-family: inherit;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.tmf-cal-search input::placeholder {
	color: rgba(22, 35, 42, 0.35);
}

.tmf-cal-search input:focus {
	outline: none;
	border-color: var(--tmf-accent);
	box-shadow: 0 0 0 2px rgba(255, 91, 4, 0.15);
}

/* Event list card */
.tmf-cal-event-item {
	display: flex;
	border: 1px solid var(--tmf-border);
	border-radius: var(--tmf-radius-xl);
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: box-shadow 0.2s, border-color 0.2s;
}

.tmf-cal-event-item:hover {
	box-shadow: var(--tmf-shadow-md);
	border-color: rgba(255, 91, 4, 0.2);
}

.tmf-cal-event-accent {
	width: 4px;
	flex-shrink: 0;
}

.tmf-cal-event-body {
	flex: 1;
	padding: 1.25rem 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

@media (min-width: 640px) {
	.tmf-cal-event-body {
		flex-direction: row;
		gap: 1rem;
	}
}

.tmf-cal-event-content {
	flex: 1;
	min-width: 0;
}

.tmf-cal-event-title {
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--tmf-primary);
	margin: 0 0 0.25rem;
	line-height: 1.3;
	transition: color 0.2s;
}

.tmf-cal-event-item:hover .tmf-cal-event-title {
	color: var(--tmf-accent);
}

.tmf-cal-event-cat {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	font-size: 0.875rem;
	font-weight: 700;
	margin-bottom: 0.5rem;
}

.tmf-cal-event-cat-dot {
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
}

.tmf-cal-event-excerpt {
	font-size: 0.875rem;
	color: var(--tmf-text-tertiary);
	line-height: 1.65;
	margin: 0 0 0.75rem;
}

.tmf-cal-event-details {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1rem;
	font-size: 0.75rem;
	color: var(--tmf-text-tertiary);
}

.tmf-cal-event-details span {
	display: flex;
	align-items: center;
	gap: 0.25rem;
}

.tmf-cal-event-date-badge {
	flex-shrink: 0;
	text-align: right;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 0.5rem;
}

@media (min-width: 640px) {
	.tmf-cal-event-date-badge {
		flex-direction: column;
		align-items: flex-end;
		padding-left: 1rem;
		border-left: 1px solid var(--tmf-border);
		min-width: 70px;
		gap: 0;
	}
}

.tmf-cal-event-date-day {
	font-size: 1.875rem;
	font-weight: 700;
	color: var(--tmf-accent);
	line-height: 1;
}

.tmf-cal-event-date-month {
	font-size: 0.8125rem;
	font-weight: 700;
	color: var(--tmf-accent);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.tmf-cal-empty {
	text-align: center;
	padding: 4rem 0;
	color: rgba(22, 35, 42, 0.4);
}

.tmf-cal-date-chip {
	font-size: 0.875rem;
	color: rgba(22, 35, 42, 0.6);
}

.tmf-cal-date-chip strong {
	color: var(--tmf-primary);
}

.tmf-cal-date-chip button {
	background: none;
	border: none;
	color: var(--tmf-accent);
	font-size: 0.75rem;
	font-weight: 500;
	cursor: pointer;
	margin-left: 0.5rem;
}

.tmf-cal-date-chip button:hover {
	text-decoration: underline;
}

/* ============================================
   TMF Single Event Page
   ============================================ */

/* Reset TEC default styles */
.tribe-events-ajax-loading,
.tmf-single-event .tribe-events-schedule,
.tmf-single-event .tribe-events-back,
.tmf-single-event #tribe-events-header,
.tmf-single-event #tribe-events-footer {
	display: none !important;
}

/* --- Hero --- */
.tmf-event-hero {
	background: var(--tmf-dark-teal, #0C464C);
	padding: 3rem 0 3.5rem;
}

@media (min-width: 768px) {
	.tmf-event-hero {
		padding: 4rem 0 4rem;
	}
}

.tmf-event-hero-inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 1.5rem;
}

.tmf-event-hero .tmf-breadcrumb {
	margin-bottom: 1.5rem;
}

.tmf-event-hero .tmf-breadcrumb,
.tmf-event-hero .tmf-breadcrumb a {
	font-size: 0.875rem;
	color: rgba(255, 255, 255, 0.6);
	text-decoration: none;
}

.tmf-event-hero .tmf-breadcrumb a:hover {
	color: #fff;
}

.tmf-event-hero .tmf-breadcrumb-sep {
	margin: 0 0.5rem;
	opacity: 0.4;
}

.tmf-event-hero .tmf-accent-bar {
	width: 3rem;
	height: 0.25rem;
	background: var(--tmf-accent, #FF5B04);
	border-radius: 9999px;
	margin-bottom: 1.5rem;
}

.tmf-event-hero-cat {
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--tmf-accent, #FF5B04);
	background: rgba(255, 91, 4, 0.15);
	padding: 0.25rem 0.75rem;
	border-radius: 9999px;
	margin-bottom: 1rem;
}

.tmf-event-hero-title {
	color: #fff;
	font-size: clamp(1.75rem, 1.25rem + 2vw, 2.75rem);
	font-weight: 600;
	line-height: 1.2;
	margin: 0 0 1.25rem;
}

.tmf-event-hero-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem;
}

.tmf-event-hero-meta-item {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.9375rem;
	color: rgba(255, 255, 255, 0.7);
}

.tmf-event-hero-meta-item svg {
	color: var(--tmf-accent, #FF5B04);
	flex-shrink: 0;
}

/* --- Body --- */
.tmf-event-body {
	background: #fff;
	padding: 3rem 0 4rem;
}

.tmf-event-body-inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 1.5rem;
}

.tmf-event-layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.5rem;
}

@media (min-width: 1024px) {
	.tmf-event-layout {
		grid-template-columns: 1fr 22rem;
		gap: 3.5rem;
	}
}

/* --- Content column --- */
.tmf-event-featured-image {
	margin-bottom: 2rem;
	border-radius: var(--tmf-radius-xl, 0.75rem);
	overflow: hidden;
}

.tmf-event-featured-image img {
	width: 100%;
	height: auto;
	display: block;
}

.tmf-event-description {
	font-size: 1rem;
	line-height: 1.8;
	color: var(--tmf-text-secondary, #49555D);
}

.tmf-event-description p {
	margin-bottom: 1.25rem;
}

.tmf-event-description strong {
	color: var(--tmf-primary, #16232A);
}

.tmf-event-description a {
	color: var(--tmf-accent, #FF5B04);
	text-decoration: none;
}

.tmf-event-description a:hover {
	text-decoration: underline;
}

.tmf-event-description h2,
.tmf-event-description h3 {
	color: var(--tmf-primary, #16232A);
	margin-top: 2rem;
	margin-bottom: 0.75rem;
}

/* --- Sidebar --- */
.tmf-event-sidebar {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.tmf-event-detail-card {
	background: var(--tmf-light-bg, #F5F7F8);
	border: 1px solid var(--tmf-border, #DEE9EC);
	border-radius: var(--tmf-radius-xl, 0.75rem);
	padding: 1.25rem 1.5rem;
}

.tmf-event-detail-card-title {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.6875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--tmf-text-tertiary, #5C6970);
	margin: 0 0 0.75rem;
}

.tmf-event-detail-card-title svg {
	color: var(--tmf-accent, #FF5B04);
	flex-shrink: 0;
}

.tmf-event-detail-value {
	font-size: 1rem;
	font-weight: 600;
	color: var(--tmf-primary, #16232A);
	margin: 0 0 0.25rem;
	line-height: 1.4;
}

.tmf-event-detail-price {
	font-size: 1.25rem;
	color: var(--tmf-accent, #FF5B04);
}

.tmf-event-detail-sub {
	font-size: 0.875rem;
	color: var(--tmf-text-tertiary, #5C6970);
	margin: 0;
	line-height: 1.5;
}

.tmf-event-detail-link {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	font-size: 0.8125rem;
	font-weight: 500;
	color: var(--tmf-accent, #FF5B04);
	text-decoration: none;
	margin-top: 0.5rem;
}

.tmf-event-detail-link:hover {
	text-decoration: underline;
}

.tmf-event-sidebar-cta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.875rem 1.5rem;
	background: var(--tmf-accent, #FF5B04);
	color: #fff;
	border-radius: var(--tmf-radius-lg, 0.5rem);
	font-size: 0.9375rem;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.2s;
}

.tmf-event-sidebar-cta:hover {
	background: var(--tmf-accent-hover, #e04f00);
	color: #fff;
}

/* --- Navigation --- */
.tmf-event-nav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid var(--tmf-border, #DEE9EC);
}

.tmf-event-nav a {
	text-decoration: none;
	display: block;
}

.tmf-event-nav-next {
	text-align: right;
}

.tmf-event-nav-label {
	display: block;
	font-size: 0.6875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--tmf-text-tertiary, #5C6970);
	margin-bottom: 0.25rem;
}

.tmf-event-nav-title {
	display: block;
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--tmf-primary, #16232A);
	transition: color 0.2s;
}

.tmf-event-nav a:hover .tmf-event-nav-title {
	color: var(--tmf-accent, #FF5B04);
}

/* --- Hide TEC default chrome --- */
.tmf-single-event .tribe-events-single-section,
.tmf-single-event .tribe-events-cal-links,
.tmf-single-event .tribe-events-c-subscribe-dropdown__container {
	display: none !important;
}

/* --- Reduced motion --- */
@media (prefers-reduced-motion: reduce) {
	.tmf-event-sidebar-cta,
	.tmf-event-nav-title {
		transition: none;
	}
}

@media (max-width: 767px) {
	.tmf-event-nav {
		grid-template-columns: 1fr;
	}
	.tmf-event-nav-next {
		text-align: left;
	}
}

/* ============================================
   Event Tickets — TMF Theme Override
   ============================================ */

/* Wrapper card */
.tribe-common .tribe-tickets__tickets-wrapper,
.tribe-tickets__tickets-wrapper.tribe-common {
	background: var(--tmf-light-bg, #F5F7F8) !important;
	border: 1px solid var(--tmf-border, #DEE9EC) !important;
	border-radius: var(--tmf-radius-xl, 0.75rem) !important;
	padding: 1.75rem !important;
	margin-top: 2rem;
	max-width: 42rem;
}

/* Title */
.tribe-common .tribe-tickets__tickets-title {
	font-family: inherit !important;
	font-size: 1.125rem !important;
	font-weight: 600 !important;
	color: var(--tmf-primary, #16232A) !important;
	margin: 0 0 1.25rem !important;
	padding: 0 0 0.875rem !important;
	border: none !important;
	border-bottom: 1px solid var(--tmf-border, #DEE9EC) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

/* Notice bar */
.tribe-tickets__notice {
	background: rgba(255, 91, 4, 0.05) !important;
	border-left: 3px solid var(--tmf-accent, #FF5B04) !important;
	border-radius: var(--tmf-radius-lg, 0.5rem) !important;
	padding: 0.75rem 1rem !important;
	margin-bottom: 1.25rem !important;
}

.tribe-tickets-notice__content {
	font-size: 0.8125rem !important;
	color: var(--tmf-text-secondary, #49555D) !important;
	line-height: 1.6 !important;
}

/* Ticket item row — CSS Grid for consistent layout */
.tribe-common .tribe-tickets__tickets-item {
	background: #fff !important;
	border: 1px solid var(--tmf-border, #DEE9EC) !important;
	border-radius: var(--tmf-radius-lg, 0.5rem) !important;
	padding: 1.25rem 1.5rem !important;
	margin-bottom: 0.75rem !important;
	display: grid !important;
	grid-template-columns: 1fr auto auto !important;
	grid-template-rows: auto !important;
	align-items: center !important;
	gap: 0.75rem 1.5rem !important;
}

/* Title + description container — always in first column */
.tribe-common .tribe-tickets__tickets-item-content-title-container {
	grid-column: 1 / 2;
	grid-row: 1 / 2;
	min-width: 0;
}

/* Ticket name */
.tribe-common .tribe-tickets__tickets-item-content-title {
	font-family: inherit !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	color: var(--tmf-primary, #16232A) !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	line-height: 1.4 !important;
}

/* Extra info (price + availability) — second column */
.tribe-common .tribe-tickets__tickets-item-extra {
	grid-column: 2 / 3;
	grid-row: 1 / 2;
	text-align: right;
	white-space: nowrap;
}

/* Price */
.tribe-common .tribe-tickets__tickets-item-extra-price {
	font-size: 1.125rem !important;
	font-weight: 700 !important;
	color: var(--tmf-accent, #FF5B04) !important;
	font-family: inherit !important;
}

.tribe-common .tribe-tickets__tickets-sale-price {
	color: var(--tmf-accent, #FF5B04) !important;
}

/* Availability */
.tribe-common .tribe-tickets__tickets-item-extra-available {
	font-size: 0.75rem !important;
	color: var(--tmf-text-tertiary, #5C6970) !important;
	font-family: inherit !important;
	margin-top: 0.125rem;
}

/* Quantity controls — third column */
.tribe-common .tribe-tickets__tickets-item-quantity {
	grid-column: 3 / 4;
	grid-row: 1 / 2;
	display: flex !important;
	align-items: center !important;
	gap: 0 !important;
}

/* Description (if toggled open) spans full width below */
.tribe-common .tribe-tickets__tickets-item-details-content,
.tribe-common .tribe-tickets__tickets-item-content-description {
	grid-column: 1 / -1;
	font-size: 0.875rem !important;
	color: var(--tmf-text-tertiary, #5C6970) !important;
	line-height: 1.6 !important;
	font-family: inherit !important;
}

/* Opt-out spans full width */
.tribe-common .tribe-tickets__tickets-item-optout {
	grid-column: 1 / -1;
}

/* Mobile: stack vertically */
@media (max-width: 520px) {
	.tribe-common .tribe-tickets__tickets-item {
		grid-template-columns: 1fr !important;
		gap: 0.5rem !important;
	}

	.tribe-common .tribe-tickets__tickets-item-content-title-container,
	.tribe-common .tribe-tickets__tickets-item-extra,
	.tribe-common .tribe-tickets__tickets-item-quantity {
		grid-column: 1 / -1 !important;
		grid-row: auto !important;
	}

	.tribe-common .tribe-tickets__tickets-item-extra {
		text-align: left;
	}
}

.tribe-common .tribe-tickets__tickets-item-quantity-remove,
.tribe-common .tribe-tickets__tickets-item-quantity-add {
	width: 2.25rem !important;
	height: 2.25rem !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	border: 1px solid var(--tmf-border, #DEE9EC) !important;
	border-radius: var(--tmf-radius-lg, 0.5rem) !important;
	background: #fff !important;
	color: var(--tmf-primary, #16232A) !important;
	font-size: 1.125rem !important;
	cursor: pointer;
	transition: border-color 0.2s, background-color 0.2s;
	padding: 0 !important;
	line-height: 1 !important;
}

.tribe-common .tribe-tickets__tickets-item-quantity-remove:hover,
.tribe-common .tribe-tickets__tickets-item-quantity-add:hover {
	border-color: var(--tmf-accent, #FF5B04) !important;
	background: rgba(255, 91, 4, 0.05) !important;
	color: var(--tmf-accent, #FF5B04) !important;
}

.tribe-common .tribe-tickets__tickets-item-quantity-number-input {
	width: 3rem !important;
	text-align: center !important;
	border: 1px solid var(--tmf-border, #DEE9EC) !important;
	border-radius: var(--tmf-radius-lg, 0.5rem) !important;
	margin: 0 0.25rem !important;
	padding: 0.375rem !important;
	font-family: inherit !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	color: var(--tmf-primary, #16232A) !important;
	-moz-appearance: textfield;
}

.tribe-common .tribe-tickets__tickets-item-quantity-number-input::-webkit-inner-spin-button,
.tribe-common .tribe-tickets__tickets-item-quantity-number-input::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.tribe-common .tribe-tickets__tickets-item-quantity-number-input:focus {
	outline: none !important;
	border-color: var(--tmf-accent, #FF5B04) !important;
	box-shadow: 0 0 0 2px rgba(255, 91, 4, 0.15) !important;
}

/* Footer */
.tribe-common .tribe-tickets__tickets-footer {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: wrap !important;
	gap: 1rem 1.5rem !important;
	padding-top: 1.25rem !important;
	margin-top: 0.5rem !important;
	border-top: 1px solid var(--tmf-border, #DEE9EC) !important;
}

.tribe-common .tribe-tickets__tickets-footer-quantity,
.tribe-common .tribe-tickets__tickets-footer-total {
	font-size: 0.875rem !important;
	color: var(--tmf-text-secondary, #49555D) !important;
	font-family: inherit !important;
}

.tribe-common .tribe-tickets__tickets-footer-quantity-number,
.tribe-common .tribe-tickets__tickets-footer-total-wrap {
	font-weight: 700 !important;
	color: var(--tmf-primary, #16232A) !important;
}

/* Buy button */
.tribe-common .tribe-tickets__tickets-buy,
.tribe-common .tribe-common-c-btn.tribe-tickets__tickets-buy {
	background: var(--tmf-accent, #FF5B04) !important;
	color: #fff !important;
	border: none !important;
	border-radius: var(--tmf-radius-lg, 0.5rem) !important;
	padding: 0.875rem 2rem !important;
	font-family: inherit !important;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	cursor: pointer;
	transition: background-color 0.2s;
	text-transform: none !important;
	letter-spacing: 0 !important;
	width: 100%;
	display: block !important;
	text-align: center;
}

.tribe-common .tribe-tickets__tickets-buy:hover {
	background: var(--tmf-accent-hover, #e04f00) !important;
	color: #fff !important;
}

.tribe-common .tribe-tickets__tickets-buy:disabled,
.tribe-common .tribe-tickets__tickets-buy[aria-disabled="true"] {
	background: var(--tmf-accent, #FF5B04) !important;
	color: #fff !important;
	opacity: 0.45 !important;
	cursor: not-allowed;
}

.tribe-common .tribe-tickets__tickets-buy:focus-visible {
	outline: 2px solid var(--tmf-accent, #FF5B04) !important;
	outline-offset: 2px !important;
}

/* Loader dots */
.tribe-tickets-loader__dots .tribe-common-c-svgicon--dot {
	fill: var(--tmf-accent, #FF5B04) !important;
}

/* --- Reduced motion --- */
@media (prefers-reduced-motion: reduce) {
	.tribe-tickets__tickets-item-quantity-remove,
	.tribe-tickets__tickets-item-quantity-add,
	.tribe-tickets__tickets-buy {
		transition: none !important;
	}
}

/* ============================================
   Attendee Registration Modal
   ============================================ */

/* Constrain modal width */
.tribe-dialog .tribe-dialog__content,
.tribe-dialog .tribe-modal__content {
	max-width: 640px !important;
	width: 90vw !important;
	margin: auto !important;
	border-radius: 0.75rem !important;
	overflow: visible !important;
	padding-top: 0.25rem !important;
}

/* Modal dialog wrapper */
.tribe-modal__wrapper--ar,
.tribe-dialog__wrapper {
	font-family: 'Funnel Sans', sans-serif !important;
}

/* Modal title */
.tribe-modal--ar__title,
.tribe-dialog__title {
	font-family: inherit !important;
	font-size: 1.125rem !important;
	font-weight: 600 !important;
	color: var(--tmf-primary, #16232A) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	padding: 1rem 1.25rem !important;
	margin: 0 !important;
	border-bottom: 1px solid var(--tmf-border, #DEE9EC) !important;
}

/* Ticket items inside modal — compact left-aligned layout */
.tribe-modal__wrapper--ar .tribe-tickets__item,
.tribe-dialog__wrapper .tribe-tickets__item {
	background: var(--tmf-light-bg, #F5F7F8) !important;
	border: 1px solid var(--tmf-border, #DEE9EC) !important;
	border-radius: 0.5rem !important;
	padding: 0.75rem 1rem !important;
	margin: 0.5rem 1.25rem !important;
	display: flex !important;
	align-items: center !important;
	gap: 0.75rem !important;
	justify-content: flex-start !important;
}

/* Ticket name in modal — don't let it push right */
.tribe-modal__wrapper--ar .tribe-tickets__item .tribe-ticket__heading,
.tribe-modal__wrapper--ar .tribe-tickets__item .tribe-tickets__tickets-item-content-title,
.tribe-dialog__wrapper .tribe-tickets__item .tribe-ticket__heading {
	font-family: inherit !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	color: var(--tmf-primary, #16232A) !important;
	flex: 0 1 auto !important;
	text-align: left !important;
}

/* Price in ticket row */
.tribe-modal__wrapper--ar .tribe-tickets__item .tribe-amount,
.tribe-modal__wrapper--ar .tribe-tickets__item .tribe-tickets__sale_price,
.tribe-dialog__wrapper .tribe-tickets__item .tribe-amount {
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	color: var(--tmf-accent, #FF5B04) !important;
	white-space: nowrap !important;
}

/* Quantity & subtotal in ticket row */
.tribe-modal__wrapper--ar .tribe-tickets__item .tribe-tickets__item__quantity,
.tribe-dialog__wrapper .tribe-tickets__item .tribe-tickets__item__quantity {
	margin-left: auto !important;
	display: flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
}

/* Quantity/Total summary row */
.tribe-modal__wrapper--ar .tribe-tickets__footer,
.tribe-dialog__wrapper .tribe-tickets__footer {
	font-family: inherit !important;
	padding: 0.5rem 1.25rem !important;
	border-top: 1px solid var(--tmf-border, #DEE9EC) !important;
	font-size: 0.8125rem !important;
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
}

/* Attendee fields section */
.tribe-tickets__item__attendee__fields {
	padding: 0.75rem 1.25rem 1.25rem !important;
}

/* Ticket name heading inside attendee section */
.tribe-tickets__item__attendee__fields__container > h3,
.tribe-tickets__item__attendee__fields .tribe-common-h5,
.tribe-tickets__attendee__title {
	font-family: inherit !important;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	color: var(--tmf-primary, #16232A) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	margin: 0.75rem 0 0.5rem !important;
	padding: 0 !important;
	border-bottom: 1px solid var(--tmf-border, #DEE9EC) !important;
	padding-bottom: 0.5rem !important;
}

/* Attendee item container */
.tribe-common .tribe-tickets__attendee-tickets-item {
	padding: 0.75rem 1.25rem 0.5rem !important;
	border-left: none !important;
}

/* Override blue left border on focus */
.tribe-common .tribe-tickets__attendee-tickets-item--has-focus {
	border-left: 3px solid var(--tmf-accent, #FF5B04) !important;
}

/* "Attendee 1" heading */
.tribe-common .tribe-tickets__attendee-tickets-item-title {
	font-family: inherit !important;
	font-size: 0.8125rem !important;
	font-weight: 600 !important;
	color: var(--tmf-primary, #16232A) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	margin: 0 0 0.75rem !important;
	padding: 0.5rem 0.75rem !important;
	background: var(--tmf-light-bg, #F5F7F8) !important;
	border-radius: 0.375rem !important;
	display: inline-block !important;
}

/* Form fields — stack label above input */
.tribe-common .tribe-tickets__form-field {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.125rem !important;
	margin-bottom: 0.75rem !important;
	padding: 0 !important;
	min-height: 0 !important;
	line-height: normal !important;
}

/* Reset plugin's .tribe-common-b1 / b2 line-height & padding on field wrappers */
.tribe-common .tribe-tickets__form-field.tribe-common-b1,
.tribe-common .tribe-tickets__form-field.tribe-common-b2--min-medium {
	line-height: normal !important;
	padding: 0 !important;
	margin: 0 0 0.75rem !important;
}

/* Field labels */
.tribe-common .tribe-tickets__form-field-label {
	font-family: inherit !important;
	font-size: 0.75rem !important;
	font-weight: 600 !important;
	color: var(--tmf-text-secondary, #49555D) !important;
	width: auto !important;
	text-align: left !important;
	padding: 0 !important;
	margin: 0 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.03em !important;
	flex: 0 0 auto !important;
}

/* Required asterisk */
.tribe-common .tribe-tickets__form-field .tribe-required {
	color: var(--tmf-accent, #FF5B04) !important;
}

/* Input wrapper — no extra spacing */
.tribe-common .tribe-tickets__form-field-input-wrapper {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Kill any plugin margin/padding between label and input */
.tribe-common .tribe-tickets__form-field > * {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* Aggressively collapse label spacing */
.tribe-common .tribe-tickets__form-field > .tribe-tickets__form-field-label {
	padding: 0 !important;
	margin: 0 !important;
	line-height: 1.2 !important;
	display: block !important;
}

/* Aggressively collapse input wrapper spacing */
.tribe-common .tribe-tickets__form-field > .tribe-tickets__form-field-input-wrapper {
	padding: 0 !important;
	margin: 0 !important;
}

/* Collapse any inner spacing on the input itself */
.tribe-common .tribe-tickets__form-field-input-wrapper > .tribe-tickets__form-field-input,
.tribe-common .tribe-tickets__form-field-input-wrapper > .tribe-common-form-control-text__input {
	margin: 0 !important;
}

/* Form inputs */
.tribe-common .tribe-tickets__form-field-input,
.tribe-common .tribe-tickets__form-field .tribe-common-form-control-text__input {
	width: 100% !important;
	border: 1px solid var(--tmf-border, #DEE9EC) !important;
	border-radius: 0.375rem !important;
	padding: 0.5rem 0.75rem !important;
	font-family: inherit !important;
	font-size: 0.875rem !important;
	color: var(--tmf-primary, #16232A) !important;
	background: #fff !important;
	box-sizing: border-box !important;
	transition: border-color 0.2s, box-shadow 0.2s;
}

/* Focus state — orange, thin outline */
.tribe-common .tribe-tickets__form-field-input:focus,
.tribe-common .tribe-tickets__form-field .tribe-common-form-control-text__input:focus {
	outline: 1px solid var(--tmf-accent, #FF5B04) !important;
	outline-offset: -1px !important;
	border: 1px solid var(--tmf-accent, #FF5B04) !important;
	box-shadow: 0 0 0 2px rgba(255, 91, 4, 0.15) !important;
}

.tribe-common .tribe-tickets__form-field-input::placeholder {
	color: rgba(22, 35, 42, 0.35);
}

/* Field descriptions */
.tribe-common .tribe-tickets__form-field-description {
	font-size: 0.6875rem !important;
	color: var(--tmf-text-tertiary, #5C6970) !important;
	font-family: inherit !important;
	margin-top: 0.125rem !important;
}

/* Footer with Checkout button */
.tribe-tickets__item__attendee__fields__footer,
.tribe-tickets__attendee-tickets-footer {
	padding: 1rem 1.25rem !important;
	border-top: 1px solid var(--tmf-border, #DEE9EC) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.75rem !important;
}

/* "Checkout Now" button */
.tribe-common .tribe-tickets__attendee-tickets-footer-checkout-button,
.tribe-common .tribe-tickets__attendee-tickets-submit,
.tribe-common .tribe-tickets__attendee__fields__footer_checkout-button,
.tribe-common .tribe-tickets__item__attendee__fields__footer .tribe-common-c-btn {
	background: var(--tmf-accent, #FF5B04) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 0.5rem !important;
	padding: 0.75rem 2rem !important;
	font-family: inherit !important;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	cursor: pointer;
	transition: background-color 0.2s;
	text-transform: none !important;
	letter-spacing: 0 !important;
	width: 100%;
	text-align: center;
}

.tribe-common .tribe-tickets__attendee-tickets-footer-checkout-button:hover,
.tribe-common .tribe-tickets__attendee-tickets-submit:hover,
.tribe-common .tribe-tickets__attendee__fields__footer_checkout-button:hover,
.tribe-common .tribe-tickets__item__attendee__fields__footer .tribe-common-c-btn:hover {
	background: var(--tmf-accent-hover, #e04f00) !important;
	color: #fff !important;
}

.tribe-common .tribe-tickets__attendee-tickets-footer-checkout-button:focus-visible,
.tribe-common .tribe-tickets__attendee-tickets-submit:focus-visible {
	outline: 2px solid var(--tmf-accent, #FF5B04) !important;
	outline-offset: 2px !important;
}

/* "Save and View Cart" link button */
.tribe-tickets__attendee__fields__footer_cart-button,
.tribe-tickets__attendee-tickets-footer-cart-button {
	font-family: inherit !important;
	font-size: 0.8125rem !important;
	color: var(--tmf-accent, #FF5B04) !important;
	text-decoration: none !important;
	font-weight: 500 !important;
}

.tribe-tickets__attendee__fields__footer_cart-button:hover,
.tribe-tickets__attendee-tickets-footer-cart-button:hover {
	text-decoration: underline !important;
}

/* "or" divider */
.tribe-block__tickets__item__attendee__fields__footer__divider,
.tribe-tickets__attendee-tickets-footer-divider {
	font-family: inherit !important;
	font-size: 0.75rem !important;
	color: var(--tmf-text-tertiary, #5C6970) !important;
}

/* Validation error notice */
.tribe-tickets__validation-notice,
.tribe-tickets__notice--error {
	background: #FFF5F5 !important;
	border-left: 3px solid #E53E3E !important;
	border-radius: 0.375rem !important;
	padding: 0.5rem 0.75rem !important;
	margin: 0.5rem 1.25rem !important;
	font-family: inherit !important;
	font-size: 0.8125rem !important;
}

/* Modal typography overrides */
.tribe-modal__wrapper--ar .tribe-common-h3,
.tribe-modal__wrapper--ar .tribe-common-h4--min-medium,
.tribe-modal__wrapper--ar .tribe-common-h5,
.tribe-modal__wrapper--ar .tribe-common-h6,
.tribe-modal__wrapper--ar .tribe-common-h8,
.tribe-dialog__wrapper .tribe-common-h5 {
	font-family: inherit !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

.tribe-modal__wrapper--ar .tribe-common-b1,
.tribe-modal__wrapper--ar .tribe-common-b2,
.tribe-dialog__wrapper .tribe-common-b1,
.tribe-dialog__wrapper .tribe-common-b2 {
	font-family: inherit !important;
}

/* Modal responsive */
@media (max-width: 520px) {
	.tribe-dialog .tribe-dialog__content,
	.tribe-dialog .tribe-modal__content {
		width: 95vw !important;
	}

	.tribe-modal__wrapper--ar .tribe-tickets__item,
	.tribe-dialog__wrapper .tribe-tickets__item {
		flex-wrap: wrap !important;
		margin: 0.5rem 0.75rem !important;
	}

	.tribe-tickets__item__attendee__fields {
		padding: 0.5rem 0.75rem 0.75rem !important;
	}

	.tribe-tickets__item__attendee__fields__form {
		grid-template-columns: 1fr !important;
	}

	.tribe-tickets__item__attendee__fields__footer,
	.tribe-tickets__attendee-tickets-footer {
		padding: 0.75rem !important;
		flex-direction: column !important;
	}
}

/* ============================================
   Tickets Commerce — Checkout Page (/midasala)
   ============================================ */

/* Checkout content wrapper from page template */
.tmf-checkout-content {
	background: #fff;
	padding: 3rem 0 4rem;
}

.tmf-checkout-content > * {
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

/* Main checkout section */
.tribe-tickets__commerce-checkout {
	max-width: 48rem;
	margin-left: auto !important;
	margin-right: auto !important;
	font-family: 'Funnel Sans', sans-serif;
}

/* Override TEC spacer variables that cause tight padding */
.tribe-common.event-tickets {
	--tec-spacer-0: 0;
	--tec-spacer-1: 0.5rem;
	--tec-spacer-2: 0.75rem;
	--tec-spacer-3: 1rem;
	--tec-spacer-4: 1.25rem;
	--tec-spacer-5: 1.5rem;
	--tec-spacer-6: 2rem;
	--tec-spacer-7: 2.5rem;
	--tec-spacer-8: 3rem;
	--tec-spacer-9: 3.5rem;
	font-family: 'Funnel Sans', sans-serif !important;
}

/* --- Header: "Purchase Tickets" + "back to event" --- */
.tribe-common .tribe-tickets__commerce-checkout-header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	margin-bottom: 2rem !important;
	padding-bottom: 1.25rem !important;
	border-bottom: 1px solid var(--tmf-border, #DEE9EC) !important;
}

.tribe-common .tribe-tickets__commerce-checkout-header-title {
	font-family: inherit !important;
	font-size: 1.375rem !important;
	font-weight: 600 !important;
	color: var(--tmf-primary, #16232A) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	margin: 0 !important;
}

/* "back to event" link */
.tribe-tickets__commerce-checkout-header a {
	font-size: 0.8125rem;
	font-weight: 500;
	color: var(--tmf-accent, #FF5B04) !important;
	text-decoration: none;
	transition: color 0.2s;
}

.tribe-tickets__commerce-checkout-header a:hover {
	text-decoration: underline;
}

/* --- Cart section card --- */
.tribe-tickets__commerce-checkout-cart {
	background: var(--tmf-light-bg, #F5F7F8) !important;
	border: 1px solid var(--tmf-border, #DEE9EC) !important;
	border-radius: var(--tmf-radius-xl, 0.75rem) !important;
	padding: 1.5rem 1.75rem !important;
	margin-bottom: 1.5rem !important;
}

/* Cart header (event title) */
.tribe-common .tribe-tickets__commerce-checkout-cart-header {
	margin-bottom: 1.25rem !important;
	padding-bottom: 0.875rem !important;
	border-bottom: 1px solid var(--tmf-border, #DEE9EC) !important;
}

.tribe-common .tribe-tickets__commerce-checkout-cart-header-title,
.tribe-common .tribe-tickets__commerce-checkout-cart-header h4 {
	font-family: inherit !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	color: var(--tmf-primary, #16232A) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	margin: 0 !important;
}

/* Cart items container */
.tribe-tickets__commerce-checkout-cart-items {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

/* Individual cart item row */
.tribe-common .tribe-tickets__commerce-checkout-cart-item {
	background: #fff !important;
	border: 1px solid var(--tmf-border, #DEE9EC) !important;
	border-radius: var(--tmf-radius-lg, 0.5rem) !important;
	padding: 1rem 1.25rem !important;
	display: flex !important;
	align-items: center !important;
	gap: 1.5rem !important;
	margin: 0 !important;
}

/* Ticket name */
.tribe-common .tribe-tickets__commerce-checkout-cart-item-details {
	flex: 1 !important;
	min-width: 0;
	padding-right: 1rem !important;
	font-family: inherit !important;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	color: var(--tmf-primary, #16232A) !important;
}

/* Price column */
.tribe-common .tribe-tickets__commerce-checkout-cart-item-price {
	font-family: inherit !important;
	font-size: 0.9375rem !important;
	color: var(--tmf-text-secondary, #49555D) !important;
	white-space: nowrap;
	text-align: center !important;
}

/* Quantity column */
.tribe-common .tribe-tickets__commerce-checkout-cart-item-quantity {
	font-family: inherit !important;
	font-size: 0.9375rem !important;
	font-weight: 700 !important;
	color: var(--tmf-primary, #16232A) !important;
	white-space: nowrap;
	text-align: center !important;
}

/* Sub-total column */
.tribe-common .tribe-tickets__commerce-checkout-cart-item-subtotal {
	font-family: inherit !important;
	font-size: 0.9375rem !important;
	font-weight: 700 !important;
	color: var(--tmf-primary, #16232A) !important;
	white-space: nowrap;
	text-align: right !important;
}

/* --- Coupon code area --- */
.tribe-tickets__commerce-checkout-cart [class*="coupon"],
.tribe-tickets__commerce-checkout [class*="coupon"] {
	background: #fff !important;
	border: 1px solid var(--tmf-border, #DEE9EC) !important;
	border-radius: var(--tmf-radius-lg, 0.5rem) !important;
	padding: 0.875rem 1.25rem !important;
	margin-top: 0.75rem;
}

.tribe-tickets__commerce-checkout [class*="coupon"] a {
	color: var(--tmf-accent, #FF5B04) !important;
	text-decoration: none;
	font-size: 0.875rem;
	font-weight: 500;
}

.tribe-tickets__commerce-checkout [class*="coupon"] a:hover {
	text-decoration: underline;
}

.tribe-tickets__commerce-checkout [class*="coupon"] input[type="text"] {
	border: 1px solid var(--tmf-border, #DEE9EC) !important;
	border-radius: var(--tmf-radius-lg, 0.5rem) !important;
	padding: 0.5rem 0.75rem !important;
	font-family: inherit !important;
	font-size: 0.875rem !important;
	color: var(--tmf-primary, #16232A) !important;
}

.tribe-tickets__commerce-checkout [class*="coupon"] input[type="text"]:focus {
	outline: none !important;
	border-color: var(--tmf-accent, #FF5B04) !important;
	box-shadow: 0 0 0 2px rgba(255, 91, 4, 0.15) !important;
}

/* --- Cart footer totals --- */
.tribe-common .tribe-tickets__commerce-checkout-cart-footer {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 2rem !important;
	padding: 1.25rem 0 0 !important;
	margin-top: 1rem !important;
	border-top: 1px solid var(--tmf-border, #DEE9EC) !important;
	font-family: inherit !important;
}

.tribe-common .tribe-tickets__commerce-checkout-cart-footer-quantity-label,
.tribe-common .tribe-tickets__commerce-checkout-cart-footer-total-label {
	font-size: 0.8125rem !important;
	color: var(--tmf-text-tertiary, #5C6970) !important;
	font-family: inherit !important;
}

.tribe-common .tribe-tickets__commerce-checkout-cart-footer-quantity-number {
	font-weight: 700 !important;
	color: var(--tmf-primary, #16232A) !important;
	font-size: 0.9375rem !important;
}

.tribe-common .tribe-tickets__commerce-checkout-cart-footer-total-wrap {
	font-weight: 700 !important;
	font-size: 1.25rem !important;
	color: var(--tmf-accent, #FF5B04) !important;
}

/* --- Empty cart state --- */
.tribe-tickets__commerce-checkout-cart-empty {
	text-align: center;
	padding: 4rem 1.5rem !important;
	background: var(--tmf-light-bg, #F5F7F8);
	border: 1px solid var(--tmf-border, #DEE9EC);
	border-radius: var(--tmf-radius-xl, 0.75rem);
}

.tribe-tickets__commerce-checkout-cart-empty-title {
	font-family: inherit !important;
	font-size: 1.25rem !important;
	font-weight: 600 !important;
	color: var(--tmf-primary, #16232A) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	margin-bottom: 0.5rem !important;
}

/* --- Purchaser info card --- */
.tribe-tickets__commerce-checkout-purchaser-info-wrapper {
	background: var(--tmf-light-bg, #F5F7F8) !important;
	border: 1px solid var(--tmf-border, #DEE9EC) !important;
	border-radius: var(--tmf-radius-xl, 0.75rem) !important;
	padding: 1.5rem 1.75rem !important;
	margin-bottom: 1.5rem !important;
}

.tribe-common .tribe-tickets__commerce-checkout-purchaser-info-title,
.tribe-common .tribe-tickets__commerce-checkout-purchaser-info-wrapper h5,
.tribe-common .tribe-tickets__commerce-checkout-purchaser-info-wrapper h4 {
	font-family: inherit !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	color: var(--tmf-primary, #16232A) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	margin: 0 0 1.25rem !important;
	padding: 0 0 0.875rem !important;
	border-bottom: 1px solid var(--tmf-border, #DEE9EC);
}

/* Form field rows */
.tribe-common .tribe-tickets__commerce-checkout-purchaser-info-wrapper .tribe-tickets__form-field,
.tribe-common .tribe-tickets__commerce-checkout-purchaser-info-field {
	margin-bottom: 1.25rem !important;
}

/* Form field labels */
.tribe-common .tribe-tickets__commerce-checkout-purchaser-info-wrapper label {
	font-family: inherit !important;
	font-size: 0.8125rem !important;
	font-weight: 600 !important;
	color: var(--tmf-primary, #16232A) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	margin-bottom: 0.5rem !important;
	display: block;
}

/* Form inputs */
.tribe-common .tribe-tickets__commerce-checkout-purchaser-info-wrapper input[type="text"],
.tribe-common .tribe-tickets__commerce-checkout-purchaser-info-wrapper input[type="email"],
.tribe-common .tribe-tickets__commerce-checkout-purchaser-info-wrapper .tribe-common-form-control-text__input {
	width: 100% !important;
	border: 1px solid var(--tmf-border, #DEE9EC) !important;
	border-radius: var(--tmf-radius-lg, 0.5rem) !important;
	padding: 0.75rem 1rem !important;
	font-family: inherit !important;
	font-size: 0.9375rem !important;
	color: var(--tmf-primary, #16232A) !important;
	background: #fff !important;
	transition: border-color 0.2s, box-shadow 0.2s;
	box-sizing: border-box !important;
}

.tribe-common .tribe-tickets__commerce-checkout-purchaser-info-wrapper input::placeholder {
	color: rgba(22, 35, 42, 0.35);
}

.tribe-common .tribe-tickets__commerce-checkout-purchaser-info-wrapper input:focus {
	outline: none !important;
	border-color: var(--tmf-accent, #FF5B04) !important;
	box-shadow: 0 0 0 2px rgba(255, 91, 4, 0.15) !important;
}

/* Field descriptions / helper text */
.tribe-common .tribe-tickets__commerce-checkout-purchaser-info-wrapper .tribe-tickets__form-field-description,
.tribe-common .tribe-tickets__commerce-checkout-purchaser-info-wrapper .tribe-common-b3 {
	font-size: 0.75rem !important;
	color: var(--tmf-text-tertiary, #5C6970) !important;
	margin-top: 0.375rem !important;
	font-family: inherit !important;
}

/* --- Gateways section --- */
.tribe-tickets__commerce-checkout-gateways {
	margin-bottom: 1.5rem;
}

.tribe-tickets__commerce-checkout-section-header {
	font-family: inherit !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	color: var(--tmf-primary, #16232A) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

/* Stripe payment element */
.tribe-tickets__commerce-checkout .StripeElement,
.tribe-tickets__commerce-checkout [data-js="tec-tc-gateway-stripe-card-element"] {
	border: 1px solid var(--tmf-border, #DEE9EC) !important;
	border-radius: var(--tmf-radius-lg, 0.5rem) !important;
	padding: 0.75rem 1rem !important;
	background: #fff !important;
}

/* --- Submit / pay button --- */
.tribe-common .tribe-tickets__commerce-checkout .tribe-common-c-btn,
.tribe-common .tribe-tickets__commerce-checkout-form-submit-button {
	background: var(--tmf-accent, #FF5B04) !important;
	color: #fff !important;
	border: none !important;
	border-radius: var(--tmf-radius-lg, 0.5rem) !important;
	padding: 0.875rem 2.5rem !important;
	font-family: inherit !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	cursor: pointer;
	transition: background-color 0.2s;
	text-transform: none !important;
	letter-spacing: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: auto !important;
}

.tribe-common .tribe-tickets__commerce-checkout .tribe-common-c-btn:hover,
.tribe-common .tribe-tickets__commerce-checkout-form-submit-button:hover {
	background: var(--tmf-accent-hover, #e04f00) !important;
}

.tribe-common .tribe-tickets__commerce-checkout .tribe-common-c-btn:focus-visible,
.tribe-common .tribe-tickets__commerce-checkout-form-submit-button:focus-visible {
	outline: 2px solid var(--tmf-accent, #FF5B04) !important;
	outline-offset: 2px !important;
}

.tribe-common .tribe-tickets__commerce-checkout .tribe-common-c-btn:disabled {
	opacity: 0.5 !important;
	cursor: not-allowed;
}

/* --- Checkout footer --- */
.tribe-tickets__commerce-checkout-footer {
	padding-top: 1.5rem;
	margin-top: 1rem;
}

/* --- Error notice --- */
.tribe-tickets__commerce-checkout-notice {
	background: #FFF5F5 !important;
	border-left: 3px solid #E53E3E !important;
	border-radius: var(--tmf-radius-lg, 0.5rem) !important;
	padding: 1rem 1.25rem !important;
	margin-bottom: 1.5rem !important;
	display: none;
}

.tribe-tickets__commerce-checkout-notice--visible {
	display: block !important;
}

.tribe-tickets__commerce-checkout-notice-content {
	font-family: inherit !important;
	font-size: 0.875rem !important;
	color: var(--tmf-primary, #16232A) !important;
}

/* Must-login notice */
.tribe-tickets__commerce-checkout .tribe-tickets__notice {
	background: rgba(255, 91, 4, 0.05) !important;
	border-left: 3px solid var(--tmf-accent, #FF5B04) !important;
	border-radius: var(--tmf-radius-lg, 0.5rem) !important;
	padding: 1rem 1.25rem !important;
}

/* Edit link */
.tec-tickets__commerce-checkout-purchaser-info-edit-link {
	color: var(--tmf-accent, #FF5B04) !important;
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	text-decoration: none !important;
}

.tec-tickets__commerce-checkout-purchaser-info-edit-link:hover {
	text-decoration: underline !important;
}

/* --- Override TEC common typography --- */
.tribe-common .tribe-tickets__commerce-checkout .tribe-common-h2,
.tribe-common .tribe-tickets__commerce-checkout .tribe-common-h4,
.tribe-common .tribe-tickets__commerce-checkout .tribe-common-h5 {
	font-family: inherit !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

.tribe-common .tribe-tickets__commerce-checkout .tribe-common-b1,
.tribe-common .tribe-tickets__commerce-checkout .tribe-common-b2,
.tribe-common .tribe-tickets__commerce-checkout .tribe-common-b3 {
	font-family: inherit !important;
}

/* Loader */
.tribe-tickets__commerce-checkout .tribe-tickets-loader__dots .tribe-common-c-svgicon--dot {
	fill: var(--tmf-accent, #FF5B04) !important;
}

/* --- Checkout reduced motion --- */
@media (prefers-reduced-motion: reduce) {
	.tribe-tickets__commerce-checkout .tribe-common-c-btn,
	.tribe-tickets__commerce-checkout-form-submit-button,
	.tribe-tickets__commerce-checkout-purchaser-info-wrapper input {
		transition: none !important;
	}
}

/* --- Checkout responsive --- */
@media (max-width: 640px) {
	.tmf-checkout-content {
		padding: 2rem 0 3rem;
	}

	.tribe-tickets__commerce-checkout-cart {
		padding: 1rem 1.25rem !important;
	}

	.tribe-common .tribe-tickets__commerce-checkout-cart-item {
		flex-wrap: wrap !important;
		gap: 0.75rem !important;
		padding: 0.875rem 1rem !important;
	}

	.tribe-tickets__commerce-checkout-purchaser-info-wrapper {
		padding: 1rem 1.25rem !important;
	}

	.tribe-common .tribe-tickets__commerce-checkout-cart-footer {
		flex-direction: column !important;
		gap: 0.75rem !important;
		align-items: flex-end !important;
	}
}

.tribe-tickets__commerce-checkout-header-links {
	display: none !important;
}

.tribe-common-b2 tribe-tickets__form tec-tickets-commerce-checkout-cart__coupons {
    display: none !important;
} 
.tec-tickets-commerce-checkout-cart__coupons {
	display: none !important;
}
/* ============================================
   Order Success / Completion Page
   ============================================ */

.tmf-order-success {
	max-width: 640px;
	margin: 3rem auto 4rem !important;
	padding: 0 1.5rem;
}

.tmf-order-success-inner {
	background: var(--tmf-white, #fff);
	border: 1px solid var(--tmf-border, #E8EDEF);
	border-radius: var(--tmf-radius-2xl, 1rem);
	padding: 2.5rem 2rem;
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
	text-align: center;
}

/* Hide the default WP page title "Order Completed" above the order card */
.tmf-order-success .tribe-tickets__commerce-order > h2,
.tmf-order-success .tribe-tickets__commerce-order > .tribe-common-h2 {
	display: none !important;
}

/* Hide via JS — CSS alone can't target a preceding sibling */

/* Header */
.tmf-order-success .tribe-tickets__commerce-order-header {
	margin-bottom: 0.5rem;
}

.tmf-order-success .tribe-tickets__commerce-order-header h3,
.tmf-order-success .tribe-tickets__commerce-order-header .tribe-common-h3 {
	font-family: var(--tmf-font, 'Funnel Sans', sans-serif) !important;
	font-size: 1.5rem !important;
	font-weight: 700 !important;
	color: var(--tmf-primary, #16232A) !important;
	margin: 0 !important;
}

/* Description */
.tmf-order-success .tribe-tickets__commerce-order-description {
	margin-bottom: 2rem;
}

.tmf-order-success .tribe-tickets__commerce-order-description p,
.tmf-order-success .tribe-tickets__commerce-order-description {
	font-size: 0.9375rem !important;
	color: var(--tmf-text-secondary, #5A6872) !important;
	line-height: 1.6 !important;
}

/* Order details table */
.tmf-order-success .tribe-tickets__commerce-order-details {
	background: var(--tmf-light-bg, #F5F7F8);
	border-radius: var(--tmf-radius-xl, 0.75rem);
	padding: 1.25rem 1.5rem;
	margin-bottom: 2rem;
	text-align: left;
}

.tmf-order-success .tribe-tickets__commerce-order-details-row {
	display: flex;
	justify-content: space-between;
	padding: 0.625rem 0;
	border-bottom: 1px solid var(--tmf-border, #E8EDEF);
	font-size: 0.875rem;
}

.tmf-order-success .tribe-tickets__commerce-order-details-row:last-child {
	border-bottom: none;
	font-weight: 600;
}

.tmf-order-success .tribe-tickets__commerce-order-details-col1 {
	color: var(--tmf-text-secondary, #5A6872);
	font-weight: 500;
}

.tmf-order-success .tribe-tickets__commerce-order-details-col2 {
	color: var(--tmf-primary, #16232A);
	font-weight: 600;
	word-break: break-all;
	text-align: right;
	max-width: 60%;
}

/* Attendees / Tickets section */
.tmf-order-success .tribe-common-h4 {
	font-family: var(--tmf-font, 'Funnel Sans', sans-serif) !important;
	font-size: 1.1rem !important;
	font-weight: 600 !important;
	color: var(--tmf-primary, #16232A) !important;
	margin-bottom: 1rem !important;
	text-align: left;
}

.tmf-order-success .tribe-tickets__attendees-list-item {
	background: var(--tmf-light-bg, #F5F7F8) !important;
	border: 1px solid var(--tmf-border, #E8EDEF) !important;
	border-radius: var(--tmf-radius-lg, 0.5rem) !important;
	padding: 1rem 1.25rem !important;
	margin-bottom: 0.75rem;
	text-align: left;
}

.tmf-order-success .tribe-tickets__attendees-list-item-ticket-name {
	font-weight: 600;
	color: var(--tmf-primary, #16232A);
}

/* PDF / Apple Wallet buttons */
.tmf-order-success .tribe-tickets__attendees-list-item-actions {
	display: flex;
	gap: 0.75rem;
	margin-top: 0.75rem;
	flex-wrap: wrap;
}

.tmf-order-success .tribe-tickets__attendees-list-item-action-pdf-ticket,
.tmf-order-success .tribe-tickets__attendees-list-item-actions a {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	padding: 0.5rem 1rem;
	border-radius: var(--tmf-radius-lg, 0.5rem);
	font-size: 0.8125rem;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.2s, transform 0.2s;
}

.tmf-order-success .tribe-tickets__attendees-list-item-action-pdf-ticket {
	background: var(--tmf-accent, #FF5B04) !important;
	color: white !important;
	border: none;
}

.tmf-order-success .tribe-tickets__attendees-list-item-action-pdf-ticket:hover {
	background: #e65200 !important;
	transform: translateY(-1px);
}

/* Footer links */
.tmf-order-footer-links {
	display: flex;
	justify-content: center;
	gap: 1.5rem;
	margin-top: 2rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--tmf-border, #E8EDEF);
}

.tmf-order-link {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none !important;
	color: var(--tmf-secondary, #006F8B) !important;
	transition: color 0.2s;
}

.tmf-order-link:hover {
	color: var(--tmf-accent, #FF5B04) !important;
}

.tmf-order-link svg {
	flex-shrink: 0;
}

/* Hide default ugly footer links */
.tmf-order-success .tribe-tickets__commerce-order-footer-links {
	display: none !important;
}

/* Responsive */
@media (max-width: 480px) {
	.tmf-order-success-inner {
		padding: 2rem 1.25rem;
	}

	.tmf-order-success .tribe-tickets__commerce-order-details {
		padding: 1rem;
	}

	.tmf-order-success .tribe-tickets__commerce-order-details-row {
		flex-direction: column;
		gap: 0.25rem;
	}

	.tmf-order-success .tribe-tickets__commerce-order-details-col2 {
		text-align: left;
		max-width: 100%;
	}

	.tmf-order-footer-links {
		flex-direction: column;
		align-items: center;
		gap: 0.75rem;
	}
}
