.mdv-event-os,
.mdv-event-os * {
	box-sizing: border-box;
}

.mdv-event-os {
	--mdv-rira-red: var(--mdv-club-primary, #b40d1a);
	--mdv-rira-dark-red: var(--mdv-club-secondary, #7b0000);
	--mdv-rira-gold: var(--mdv-club-highlight, #f2b400);
	--mdv-rira-cream: var(--mdv-club-bg-soft, #f7eee3);
	--mdv-rira-text: var(--mdv-club-text, #4a1a1a);
	color: var(--mdv-rira-text);
}

.mdv-event-list {
	display: grid;
	gap: 16px;
}

.mdv-event-card {
	display: grid;
	grid-template-columns: minmax(96px, 128px) 1fr;
	gap: 18px;
	padding: 18px;
	border: 1px solid var(--mdv-club-border, rgba(180, 13, 26, 0.28));
	border-radius: 8px;
	background: linear-gradient(180deg, var(--mdv-club-card-bg, #ffffff) 0%, var(--mdv-rira-cream) 100%);
	box-shadow: 0 8px 24px var(--mdv-club-shadow, rgba(123, 0, 0, 0.18));
}

.mdv-event-card__date {
	display: grid;
	align-content: start;
	gap: 4px;
	font-weight: 700;
	color: var(--mdv-rira-dark-red);
}

.mdv-event-card__date small,
.mdv-event-card__meta {
	color: #56616f;
}

.mdv-event-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 10px;
}

.mdv-event-card__meta span {
	padding: 3px 8px;
	border-radius: 999px;
	background: var(--mdv-club-bg-soft, #f7eee3);
	color: var(--mdv-rira-dark-red);
	font-size: 0.9rem;
}

.mdv-event-card h3 {
	margin: 0 0 8px;
	font-size: 1.2rem;
	line-height: 1.25;
}

.mdv-event-card p {
	margin: 0;
}

.mdv-event-card__button {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	margin-top: 14px;
	padding: 8px 12px;
	border-radius: 6px;
	background: var(--mdv-rira-dark-red);
	color: var(--mdv-club-card-bg, #ffffff);
	font-weight: 700;
	text-decoration: none;
}

.mdv-event-button,
.mdv-event-button-primary,
.mdv-event-button-secondary,
.mdv-event-button-danger,
.mdv-event-button-ghost,
.mdv-event-action-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 8px 12px;
	border: 1px solid var(--mdv-club-primary, #b40d1a);
	border-radius: var(--mdv-club-radius, 8px);
	font-weight: 700;
	text-decoration: none;
}

.mdv-event-button-primary,
.mdv-event-action-button {
	background: var(--mdv-club-button, #b40d1a);
	color: var(--mdv-club-button-text, #ffffff);
}

.mdv-event-button-secondary {
	background: transparent;
	color: var(--mdv-club-primary, #b40d1a);
}

.mdv-event-button-ghost {
	border-color: var(--mdv-club-border, rgba(180, 13, 26, 0.28));
	background: var(--mdv-club-bg-soft, #f7eee3);
	color: var(--mdv-club-secondary, #7b0000);
}

.mdv-event-button-danger {
	border-color: var(--mdv-club-accent-dark, #590000);
	background: var(--mdv-club-card-bg, #ffffff);
	color: var(--mdv-club-accent-dark, #590000);
}

.mdv-event-detail,
.mdv-ticket-types {
	display: grid;
	gap: 16px;
}

.mdv-event-detail__hero {
	display: grid;
	grid-template-columns: 1fr minmax(180px, 280px);
	gap: 20px;
	align-items: stretch;
	padding: 24px;
	border-radius: 10px;
	background: linear-gradient(135deg, var(--mdv-rira-dark-red), var(--mdv-rira-red));
	color: var(--mdv-club-card-bg, #ffffff);
	box-shadow: 0 12px 30px var(--mdv-club-shadow, rgba(123, 0, 0, 0.18));
}

.mdv-event-detail__hero h2,
.mdv-event-detail__hero p {
	margin: 0;
	color: var(--mdv-club-card-bg, #ffffff);
}

.mdv-event-detail__hero h2 {
	font-size: 2rem;
	line-height: 1.12;
}

.mdv-event-detail__hero-meta {
	display: grid;
	align-content: center;
	gap: 6px;
	padding: 16px;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.12);
}

.mdv-event-detail__hero .mdv-event-card__meta span {
	background: var(--mdv-rira-gold);
	color: #3a2300;
}

.mdv-event-detail__info-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 12px;
}

.mdv-event-info-card {
	display: grid;
	gap: 6px;
	padding: 16px;
	border: 1px solid var(--mdv-club-border, rgba(180, 13, 26, 0.28));
	border-radius: 8px;
	background: var(--mdv-club-card-bg, #ffffff);
	box-shadow: 0 5px 16px var(--mdv-club-shadow, rgba(123, 0, 0, 0.18));
}

.mdv-event-info-card span {
	color: var(--mdv-rira-dark-red);
	font-weight: 700;
}

.mdv-event-info-card strong {
	font-size: 1.05rem;
}

.mdv-event-detail__notice,
.mdv-form-intro {
	padding: 14px 16px;
	border-left: 4px solid var(--mdv-rira-gold);
	border-radius: 8px;
	background: var(--mdv-rira-cream);
}

.mdv-event-detail__section {
	display: grid;
	gap: 12px;
}

.mdv-event-detail__content {
	max-width: 760px;
}

.mdv-event-detail__facts {
	display: grid;
	grid-template-columns: minmax(140px, 220px) 1fr;
	gap: 8px 16px;
	margin: 0;
	padding: 18px;
	border: 1px solid var(--mdv-club-border, rgba(180, 13, 26, 0.28));
	border-radius: 8px;
	background: var(--mdv-club-card-bg, #ffffff);
	box-shadow: 0 5px 16px var(--mdv-club-shadow, rgba(123, 0, 0, 0.18));
}

.mdv-event-detail__facts dt {
	font-weight: 700;
	color: #17202a;
}

.mdv-event-detail__facts dd {
	margin: 0;
	color: #334155;
}

.mdv-ticket-types {
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.mdv-ticket-type {
	padding: 18px;
	border: 1px solid var(--mdv-club-border, rgba(180, 13, 26, 0.28));
	border-radius: 8px;
	background: var(--mdv-club-card-bg, #ffffff);
	box-shadow: 0 5px 16px var(--mdv-club-shadow, rgba(123, 0, 0, 0.18));
}

.mdv-ticket-type h3 {
	margin: 0 0 8px;
	font-size: 1.1rem;
	color: var(--mdv-rira-dark-red);
}

.mdv-ticket-type__proof {
	font-weight: 700;
	color: #7a3f00;
}

.mdv-ticket-form {
	display: grid;
	gap: 18px;
	padding: 18px;
	border: 1px solid var(--mdv-club-border, rgba(180, 13, 26, 0.28));
	border-radius: 8px;
	background: var(--mdv-club-card-bg, #ffffff);
	box-shadow: 0 5px 16px var(--mdv-club-shadow, rgba(123, 0, 0, 0.18));
}

.mdv-ticket-form__customer {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.mdv-ticket-form__capacity {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 8px;
	padding: 12px 14px;
	border: 1px solid var(--mdv-club-border, rgba(180, 13, 26, 0.28));
	border-radius: 8px;
	background: var(--mdv-club-bg-soft, #f7eee3);
	color: var(--mdv-rira-dark-red);
	font-weight: 800;
}

.mdv-ticket-form label,
.mdv-ticket-quantity {
	display: grid;
	gap: 6px;
	font-weight: 600;
}

.mdv-ticket-form input {
	width: 100%;
	min-height: 42px;
	border: 1px solid var(--mdv-club-border, rgba(180, 13, 26, 0.28));
	border-radius: 6px;
	padding: 9px 11px;
	font: inherit;
}

.mdv-ticket-form__types {
	display: grid;
	gap: 12px;
}

.mdv-ticket-type-row {
	display: grid;
	grid-template-columns: 1fr minmax(96px, 140px);
	gap: 14px;
	align-items: center;
	padding: 14px;
	border: 1px solid var(--mdv-club-border, rgba(180, 13, 26, 0.28));
	border-radius: 8px;
	background: #f8fafc;
}

.mdv-ticket-type-row p {
	margin: 6px 0 0;
}

.mdv-ticket-quantity input {
	text-align: center;
}

.mdv-ticket-form button {
	min-height: 46px;
	border: 0;
	border-radius: 6px;
	background: var(--mdv-rira-red);
	color: var(--mdv-club-card-bg, #ffffff);
	font-weight: 700;
	cursor: pointer;
}

.mdv-paypal-checkout {
	display: grid;
	gap: 10px;
	padding: 14px;
	border: 1px solid var(--mdv-club-border, rgba(180, 13, 26, 0.28));
	border-radius: 8px;
	background: #fffaf2;
}

.mdv-paypal-message {
	min-height: 22px;
	color: var(--mdv-rira-dark-red);
	font-weight: 700;
}

.mdv-ticket-summary {
	margin: 0 0 14px;
	padding: 12px 14px;
	border-radius: 6px;
	font-weight: 700;
}

.mdv-ticket-success {
	background: #e9f8ef;
	color: #0f6b35;
}

.mdv-ticket-error {
	background: #fff0f0;
	color: #9b1c1c;
}

.mdv-rsvp-form,
.mdv-helper-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	padding: 18px;
	border: 1px solid var(--mdv-club-border, rgba(180, 13, 26, 0.28));
	border-radius: 8px;
	background: var(--mdv-club-card-bg, #ffffff);
	box-shadow: 0 5px 16px var(--mdv-club-shadow, rgba(123, 0, 0, 0.18));
}

.mdv-rsvp-form label,
.mdv-helper-form label {
	display: grid;
	gap: 6px;
	font-weight: 600;
}

.mdv-rsvp-form input,
.mdv-rsvp-form select,
.mdv-rsvp-form textarea,
.mdv-helper-form input,
.mdv-helper-form select,
.mdv-helper-form textarea {
	width: 100%;
	min-height: 42px;
	border: 1px solid var(--mdv-club-border, rgba(180, 13, 26, 0.28));
	border-radius: 6px;
	padding: 9px 11px;
	font: inherit;
}

.mdv-form-wide,
.mdv-rsvp-form button,
.mdv-helper-form button {
	grid-column: 1 / -1;
}

.mdv-rsvp-form button,
.mdv-helper-form button {
	min-height: 46px;
	border: 0;
	border-radius: 6px;
	background: var(--mdv-rira-red);
	color: var(--mdv-club-card-bg, #ffffff);
	font-weight: 700;
	cursor: pointer;
}

.mdv-form-notice {
	margin: 0 0 14px;
	padding: 12px 14px;
	border-radius: 6px;
	font-weight: 700;
}

.mdv-checkin-screen {
	display: grid;
	gap: 16px;
	max-width: 720px;
	margin: 0 auto;
}

.mdv-checkin-search,
.mdv-checkin-card {
	display: grid;
	gap: 14px;
	padding: 18px;
	border: 1px solid var(--mdv-club-border, rgba(180, 13, 26, 0.28));
	border-radius: 8px;
	background: var(--mdv-club-card-bg, #ffffff);
}

.mdv-checkin-search label {
	display: grid;
	gap: 6px;
	font-weight: 600;
}

.mdv-checkin-search input {
	width: 100%;
	min-height: 46px;
	border: 1px solid var(--mdv-club-border, rgba(180, 13, 26, 0.28));
	border-radius: 6px;
	padding: 10px 12px;
	font: inherit;
}

.mdv-checkin-status {
	padding: 14px 16px;
	border-radius: 6px;
	font-weight: 800;
}

.mdv-checkin-status-valid {
	background: #e9f8ef;
	color: #0f6b35;
}

.mdv-checkin-status-reserved {
	background: #fff8df;
	color: #7a3f00;
}

.mdv-checkin-status-used {
	background: #eef2f7;
	color: #334155;
}

.mdv-checkin-status-invalid {
	background: #fff0f0;
	color: #9b1c1c;
}

.mdv-checkin-actions {
	display: grid;
	gap: 10px;
}

.mdv-checkin-button {
	min-height: 48px;
	border: 0;
	border-radius: 6px;
	background: var(--mdv-rira-dark-red);
	color: var(--mdv-club-card-bg, #ffffff);
	font: inherit;
	font-weight: 800;
	cursor: pointer;
}

.mdv-floorplan {
	display: grid;
	gap: 14px;
	margin: 18px 0;
}

.mdv-floorplan__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px;
}

.mdv-floorplan__head h3 {
	margin: 0;
	color: var(--mdv-rira-dark-red);
	font-size: 22px;
}

.mdv-floorplan-canvas {
	position: relative;
	overflow: hidden;
	width: 100%;
	aspect-ratio: 14 / 9;
	min-height: 360px;
	border: 1px solid var(--mdv-club-border, rgba(180, 13, 26, 0.28));
	border-radius: 8px;
	background: #fffdf7;
	background-position: center;
	background-size: cover;
}

.mdv-floorplan-object,
.mdv-floorplan-table {
	position: absolute;
	display: grid;
	place-items: center;
	box-sizing: border-box;
	border-radius: 6px;
	text-align: center;
	font: inherit;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.15;
}

.mdv-floorplan-object {
	border: 1px solid rgba(36, 33, 29, 0.16);
	color: #ffffff;
}

.mdv-floorplan-table {
	border: 2px solid rgba(36, 33, 29, 0.18);
	background: #fff8df;
	color: #24211d;
	cursor: pointer;
}

.mdv-floorplan-table:disabled {
	cursor: not-allowed;
	opacity: 0.78;
}

.mdv-floorplan-table span {
	font-size: 11px;
	font-weight: 700;
}

.mdv-floorplan-status-available {
	background: #fff8df;
	border-color: #d8b55a;
}

.mdv-floorplan-status-reserved {
	background: #ffe4c2;
	border-color: #d6812c;
}

.mdv-floorplan-status-booked {
	background: #ffd6d6;
	border-color: #b40d1a;
}

.mdv-floorplan-status-blocked {
	background: #e6e8eb;
	border-color: #8b929b;
}

.mdv-floorplan-status-selected {
	background: #dff5e7;
	border-color: #21804b;
	box-shadow: 0 0 0 3px rgba(33, 128, 75, 0.18);
}

.mdv-floorplan__legend {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 14px;
	align-items: center;
	font-weight: 700;
}

.mdv-floorplan-dot {
	display: inline-block;
	width: 14px;
	height: 14px;
	border: 2px solid transparent;
	border-radius: 50%;
}

.mdv-floorplan__info {
	padding: 12px 14px;
	border: 1px solid var(--mdv-club-border, rgba(180, 13, 26, 0.28));
	border-radius: 8px;
	background: var(--mdv-club-bg-soft, #f7eee3);
	font-weight: 800;
}

@media (max-width: 680px) {
	.mdv-event-card,
	.mdv-rsvp-form,
	.mdv-helper-form,
	.mdv-event-detail__facts,
	.mdv-ticket-form__customer,
	.mdv-ticket-type-row {
		grid-template-columns: 1fr;
	}

	.mdv-event-detail__hero {
		grid-template-columns: 1fr;
		padding: 18px;
	}

	.mdv-floorplan-canvas {
		min-height: 280px;
	}

	.mdv-floorplan-table {
		font-size: 10px;
	}
}

.mdv-ticket-free-note {
	margin: 1rem 0;
	padding: 0.9rem 1rem;
	border: 1px solid rgba(180, 0, 0, 0.25);
	border-radius: 12px;
	background: #fbf6ef;
	color: #5a1515;
	font-weight: 700;
}

.mdv-ticket-free-submit {
	margin: 0.5rem 0 1rem;
}

/* 0.6.0 neutral design-token foundation for Kadence/Gutenberg outputs */
.mdv-event-os {
	font-family: var(--mdv-event-font-body, inherit);
	color: var(--mdv-event-text, var(--mdv-club-text, #1f2937));
	max-width: min(100%, var(--mdv-event-content-width, 1180px));
	margin-top: var(--mdv-event-module-my, 24px);
	margin-bottom: var(--mdv-event-module-my, 24px);
}
.mdv-event-os h1,
.mdv-event-os h2,
.mdv-event-os h3,
.mdv-event-os h4 {
	font-family: var(--mdv-event-font-heading, var(--mdv-event-font-body, inherit));
	color: var(--mdv-event-secondary, var(--mdv-club-secondary, #0b2545));
}
.mdv-event-os .mdv-event-card,
.mdv-event-os .mdv-event-detail,
.mdv-event-os .mdv-ticket-form,
.mdv-event-os .mdv-ticket-types,
.mdv-event-os .mdv-event-floorplan {
	border-radius: var(--mdv-event-radius-card, var(--mdv-club-radius, 18px));
	border: var(--mdv-event-border-width, 1px) solid var(--mdv-event-border, var(--mdv-club-border, #dbe4ef));
	background: var(--mdv-event-card-bg, var(--mdv-club-card-bg, #fff));
}
.mdv-event-os button,
.mdv-event-os .button,
.mdv-event-os input[type="submit"] {
	border-radius: var(--mdv-event-radius-button, var(--mdv-club-radius, 14px));
	background: var(--mdv-event-primary, var(--mdv-club-button, #123c69));
	color: var(--mdv-club-button-text, #fff);
	padding: var(--mdv-event-button-py, 14px) var(--mdv-event-button-px, 22px);
}
.mdv-event-os input,
.mdv-event-os select,
.mdv-event-os textarea {
	border-radius: var(--mdv-event-radius-input, 12px);
	border-color: var(--mdv-event-border, var(--mdv-club-border, #dbe4ef));
}
.mdv-event-os-block {
	width: 100%;
}
