/* ==========================================================================
   EventBuilder frontend – scoped to .eventbuilder / .skg-eventbuilder
   Neutral defaults inherit the site template. Tokens: --eb-*
   ========================================================================== */

.eventbuilder,
.skg-eventbuilder {
	--skg-header-offset: 0px;
	--skg-public-header-offset: 0px;
	--skg-header-gap: 20px;

	--eb-primary: var(--bs-primary, #0d6efd);
	--eb-primary-contrast: #fff;
	--eb-secondary: #6c757d;
	--eb-accent: var(--eb-primary);
	--eb-background: transparent;
	--eb-surface: #fff;
	--eb-surface-alt: #f8f9fa;
	--eb-text: inherit;
	--eb-text-muted: #6c757d;
	--eb-border: #dee2e6;
	--eb-border-width: 1px;
	--eb-success: #198754;
	--eb-warning: #997404;
	--eb-danger: #dc3545;
	--eb-info: #0dcaf0;
	--eb-radius-sm: 2px;
	--eb-radius: 4px;
	--eb-radius-lg: 6px;
	--eb-shadow: none;
	--eb-font-body: inherit;
	--eb-font-heading: inherit;
	--eb-content-width: 74rem;
	--eb-spacing-unit: 0.25rem;

	--skg-brown: var(--eb-primary);
	--skg-brown-dark: var(--eb-primary);
	--skg-gold: var(--eb-text-muted);
	--skg-bg: var(--eb-background);
	--skg-surface: var(--eb-surface);
	--skg-surface-alt: var(--eb-surface-alt);
	--skg-text: var(--eb-text);
	--skg-text-muted: var(--eb-text-muted);
	--skg-border: var(--eb-border);
	--skg-success: var(--eb-success);
	--skg-accent: var(--eb-accent);
	--skg-accent-dark: var(--eb-primary);
	--skg-line: var(--eb-border);
	--skg-card: var(--eb-surface);
	--skg-ink: var(--eb-text);
	--skg-muted: var(--eb-text-muted);

	background: var(--eb-background);
	color: var(--eb-text);
	font-family: var(--eb-font-body);
}

.eventbuilder h1,
.eventbuilder h2,
.eventbuilder h3,
.skg-eventbuilder h1,
.skg-eventbuilder h2,
.skg-eventbuilder h3 {
	font-family: var(--eb-font-heading);
}

.eventbuilder :focus-visible,
.skg-eventbuilder :focus-visible {
	outline: 2px solid var(--eb-primary);
	outline-offset: 2px;
}

/* --------------------------------------------------------------------------
   Thankyou page
   -------------------------------------------------------------------------- */
.skg-eventbuilder:not(.skg-eventbuilder--wizard):not(.skg-eventbuilder--customer):not(.skg-public-event) {
	--skg-accent: #0d6efd;
	--skg-accent-dark: #0b5ed7;
}

.skg-thankyou {
	background: var(--eb-surface, #fff);
	border: var(--eb-border-width, 1px) solid var(--eb-border, #dee2e6);
	border-radius: var(--eb-radius, 4px);
	color: inherit;
	margin: 0.35rem 0 1.5rem;
	padding: 1.25rem;
}

.skg-thankyou h1 {
	color: inherit;
	font-size: 1.75rem;
	line-height: 1.3;
	margin: 0 0 0.75rem;
}

.skg-thankyou p {
	color: inherit;
	font-size: 1.05rem;
	max-width: 38rem;
}

.skg-thankyou .skg-eyebrow {
	color: inherit;
	font-size: 0.875rem;
	font-weight: 600;
	margin: 0 0 0.75rem;
}

.skg-status-badge {
	align-items: center;
	border: 1px solid transparent;
	border-radius: 0.35rem;
	display: inline-flex;
	font-size: 0.8125rem;
	font-weight: 600;
	gap: 0.35rem;
	line-height: 1.2;
	padding: 0.35rem 0.65rem;
	white-space: nowrap;
}
.skg-status-new { background: #e8eef8; border-color: #c5d0e8; color: #2c3e6b; }
.skg-status-progress { background: #e7f1fb; border-color: #b7d3ea; color: #1e4f7a; }
.skg-status-waiting { background: #f8f0e0; border-color: #e6d3a4; color: #6b4e12; }
.skg-status-done { background: #e6f4ea; border-color: #b7dec4; color: #1e5c34; }
.skg-status-locked { background: #dceee9; border-color: #a8d0c6; color: #145a4e; }
.skg-status-urgent { background: #f8e8e8; border-color: #e0b4b4; color: #7a2424; }
.skg-status-inactive { background: #eceeef; border-color: #cfd3d6; color: #4a5056; }

/* ==========================================================================
   CUSTOMER PORTAL ? .skg-eventbuilder--customer
   ========================================================================== */
.skg-eventbuilder--customer {
	--skg-customer-surface: #fff;
	--skg-customer-surface-alt: #f8f9fa;
	--skg-customer-text: inherit;
	--skg-customer-muted: #6c757d;
	--skg-customer-brown: #0d6efd;
	--skg-customer-brown-dark: #0b5ed7;
	--skg-customer-border: #dee2e6;
	--skg-customer-success: #49664c;
	--skg-customer-warning: #9a6a22;
	--skg-customer-danger: #9a3d34;
	--skg-customer-info: #3d5a73;
	--skg-accent: var(--skg-customer-brown);
	--skg-accent-dark: var(--skg-customer-brown-dark);
	box-sizing: border-box;
	color: var(--skg-customer-text);
	font-size: 1.05rem;
	line-height: 1.55;
	margin-inline: auto;
	max-width: var(--eb-content-width, 72rem);
	padding: 0.75rem 0 5.5rem;
	width: 100%;
}

.skg-eventbuilder--customer *,
.skg-eventbuilder--customer *::before,
.skg-eventbuilder--customer *::after {
	box-sizing: border-box;
}

.skg-eventbuilder--customer h1,
.skg-eventbuilder--customer h2,
.skg-eventbuilder--customer h3,
.skg-eventbuilder--customer p,
.skg-eventbuilder--customer li,
.skg-eventbuilder--customer dt,
.skg-eventbuilder--customer dd,
.skg-eventbuilder--customer label,
.skg-eventbuilder--customer strong {
	color: inherit;
}

.skg-eventbuilder--customer .text-muted,
.skg-eventbuilder--customer .skg-customer-muted {
	color: var(--skg-customer-muted) !important;
}

.skg-eventbuilder--customer .skg-customer-break {
	overflow-wrap: anywhere;
	word-break: break-word;
}

/* Header */
.skg-eventbuilder--customer .skg-customer-header {
	background: var(--skg-customer-surface);
	border: 1px solid var(--skg-customer-border);
	border-radius: var(--eb-radius, 4px);
	margin: 0 0 0.85rem;
	padding: 1rem 1.1rem;
	scroll-margin-top: calc(var(--skg-public-header-offset, 0px) + 16px);
}

.skg-eventbuilder--customer .skg-customer-kicker {
	color: var(--skg-customer-brown);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0;
	margin: 0 0 0.45rem;
	text-transform: none;
}

.skg-eventbuilder--customer .skg-customer-header-main {
	align-items: flex-start;
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem 0.85rem;
	justify-content: space-between;
}

.skg-eventbuilder--customer .skg-customer-reference {
	color: var(--skg-customer-text);
	font-size: 1.5rem;
	font-weight: 650;
	letter-spacing: 0;
	line-height: 1.25;
	margin: 0;
	max-width: 100%;
	overflow-wrap: anywhere;
}

.skg-eventbuilder--customer .skg-customer-event-type {
	color: var(--skg-customer-muted);
	font-size: 1rem;
	margin: 0.55rem 0 0;
}

.skg-eventbuilder--customer .skg-status-badge {
	flex: 0 0 auto;
	margin-top: 0.15rem;
}

/* Notices */
.skg-eventbuilder--customer .skg-customer-notice {
	align-items: stretch;
	background: var(--skg-customer-surface-alt);
	border: 1px solid var(--skg-customer-border);
	border-radius: var(--eb-radius, 4px);
	display: flex;
	gap: 0;
	margin: 0 0 0.85rem;
	max-width: 48rem;
	overflow: hidden;
}

.skg-eventbuilder--customer .skg-customer-notice-accent {
	display: block;
	flex: 0 0 5px;
	width: 5px;
}

.skg-eventbuilder--customer .skg-customer-notice-body {
	padding: 0.8rem 0.95rem;
}

.skg-eventbuilder--customer .skg-customer-notice-body p {
	font-size: 1rem;
	line-height: 1.45;
	margin: 0;
}

.skg-eventbuilder--customer .skg-customer-notice--info {
	background: #eef3f7;
	border-color: rgba(61, 90, 115, 0.22);
}
.skg-eventbuilder--customer .skg-customer-notice--info .skg-customer-notice-accent { background: var(--skg-customer-info); }
.skg-eventbuilder--customer .skg-customer-notice--info .skg-customer-notice-body { color: #243747; }

.skg-eventbuilder--customer .skg-customer-notice--success {
	background: #e8f1e9;
	border-color: rgba(73, 102, 76, 0.28);
}
.skg-eventbuilder--customer .skg-customer-notice--success .skg-customer-notice-accent { background: var(--skg-customer-success); }
.skg-eventbuilder--customer .skg-customer-notice--success .skg-customer-notice-body { color: #243528; }

.skg-eventbuilder--customer .skg-customer-notice--warning {
	background: #f8f0e2;
	border-color: rgba(154, 106, 34, 0.28);
}
.skg-eventbuilder--customer .skg-customer-notice--warning .skg-customer-notice-accent { background: var(--skg-customer-warning); }
.skg-eventbuilder--customer .skg-customer-notice--warning .skg-customer-notice-body { color: #4a3514; }

.skg-eventbuilder--customer .skg-customer-notice--danger {
	background: #f7e9e8;
	border-color: rgba(154, 61, 52, 0.28);
}
.skg-eventbuilder--customer .skg-customer-notice--danger .skg-customer-notice-accent { background: var(--skg-customer-danger); }
.skg-eventbuilder--customer .skg-customer-notice--danger .skg-customer-notice-body { color: #4a201c; }

/* Panels */
.skg-eventbuilder--customer .skg-customer-panel {
	background: var(--skg-customer-surface);
	border: 1px solid var(--skg-customer-border);
	border-radius: var(--eb-radius, 4px);
	margin: 0 0 0.85rem;
	padding: 1rem 1.1rem;
	scroll-margin-top: calc(var(--skg-public-header-offset, 0px) + 72px);
	width: 100%;
}

.skg-eventbuilder--customer .skg-customer-error {
	text-align: center;
}

.skg-eventbuilder--customer .skg-customer-error h1 {
	font-size: clamp(1.5rem, 5vw, 2rem);
	line-height: 1.3;
	margin: 0 0 0.65rem;
}

.skg-eventbuilder--customer .skg-customer-section-title {
	color: var(--skg-customer-text);
	font-size: clamp(1.2rem, 3.8vw, 1.55rem);
	font-weight: 650;
	letter-spacing: 0;
	line-height: 1.3;
	margin: 0 0 0.85rem;
}

.skg-eventbuilder--customer .skg-customer-section-head {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem 0.75rem;
	justify-content: space-between;
	margin-bottom: 0.65rem;
}

.skg-eventbuilder--customer .skg-customer-section-head .skg-customer-section-title {
	margin-bottom: 0;
}

.skg-eventbuilder--customer .skg-customer-version-badge {
	background: var(--skg-customer-surface-alt);
	border: 1px solid var(--skg-customer-border);
	border-radius: 999px;
	color: var(--skg-customer-muted);
	font-size: 0.85rem;
	font-weight: 600;
	padding: 0.28rem 0.7rem;
}

.skg-eventbuilder--customer .skg-customer-footnote {
	font-size: 0.9rem;
	margin: 0.75rem 0 0;
}

.skg-eventbuilder--customer .skg-customer-label {
	color: var(--skg-customer-muted);
	display: block;
	font-size: 0.88rem;
	margin-bottom: 0.2rem;
}

/* Details */
.skg-eventbuilder--customer .skg-customer-details {
	display: grid;
	gap: 0;
	margin: 0;
}

.skg-eventbuilder--customer .skg-customer-details > div {
	border-bottom: 1px solid var(--skg-customer-border);
	padding: 0.7rem 0;
}

.skg-eventbuilder--customer .skg-customer-details > div:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.skg-eventbuilder--customer .skg-customer-details > div:first-child {
	padding-top: 0;
}

.skg-eventbuilder--customer .skg-customer-details dt {
	color: var(--skg-customer-muted);
	font-size: 0.9rem;
	font-weight: 600;
	margin: 0 0 0.2rem;
}

.skg-eventbuilder--customer .skg-customer-details dd {
	color: var(--skg-customer-text);
	font-size: 1.05rem;
	font-weight: 550;
	line-height: 1.45;
	margin: 0;
}

/* Nav */
.skg-eventbuilder--customer .skg-customer-nav {
	-webkit-overflow-scrolling: touch;
	background: var(--skg-customer-surface);
	border: 1px solid var(--skg-customer-border);
	border-radius: var(--eb-radius, 4px);
	display: flex;
	gap: 0.35rem;
	margin: 0 0 0.85rem;
	overflow-x: auto;
	padding: 0.45rem;
	position: sticky;
	scrollbar-width: thin;
	top: calc(var(--skg-public-header-offset, 0px) + 8px);
	z-index: 5;
}

.skg-eventbuilder--customer .skg-customer-nav-link {
	background: transparent;
	border: 1px solid transparent;
	border-radius: 8px;
	color: var(--skg-customer-muted);
	flex: 0 0 auto;
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.2;
	min-height: 44px;
	padding: 0.65rem 0.85rem;
	text-decoration: none;
	white-space: nowrap;
}

.skg-eventbuilder--customer .skg-customer-nav-link:hover,
.skg-eventbuilder--customer .skg-customer-nav-link:focus-visible {
	background: var(--skg-customer-surface-alt);
	color: var(--skg-customer-text);
	outline: 2px solid var(--skg-customer-brown);
	outline-offset: 1px;
}

.skg-eventbuilder--customer .skg-customer-nav-link.is-active,
.skg-eventbuilder--customer .skg-customer-nav-link[aria-current="true"] {
	background: #e7f1ff;
	border-color: var(--skg-customer-brown);
	color: var(--skg-customer-brown-dark);
}

/* Layout */
.skg-eventbuilder--customer .skg-customer-layout {
	display: grid;
	gap: 0;
	grid-template-columns: minmax(0, 1fr);
}

.skg-eventbuilder--customer .skg-customer-main,
.skg-eventbuilder--customer .skg-customer-aside {
	min-width: 0;
}

/* Lines / packages */
.skg-eventbuilder--customer .skg-customer-package-lead {
	margin-bottom: 0.85rem;
}

.skg-eventbuilder--customer .skg-customer-lines {
	display: grid;
	gap: 0.65rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.skg-eventbuilder--customer .skg-customer-line {
	background: var(--skg-customer-surface-alt);
	border: 1px solid var(--skg-customer-border);
	border-radius: 8px;
	display: grid;
	gap: 0.45rem;
	padding: 0.8rem 0.9rem;
}

.skg-eventbuilder--customer .skg-customer-line-body {
	display: grid;
	gap: 0.2rem;
	min-width: 0;
}

.skg-eventbuilder--customer .skg-customer-line-body strong {
	font-size: 1.05rem;
	line-height: 1.35;
}

.skg-eventbuilder--customer .skg-customer-line-price {
	color: var(--skg-customer-text);
	font-size: 1.05rem;
	font-weight: 700;
}

.skg-eventbuilder--customer .skg-customer-estimate {
	align-items: flex-start;
	background: var(--skg-customer-surface-alt);
	border: 1px solid var(--skg-customer-border);
	border-radius: 8px;
	display: grid;
	gap: 0.35rem;
	padding: 0.9rem 1rem;
}

.skg-eventbuilder--customer .skg-customer-estimate span {
	color: var(--skg-customer-muted);
	font-size: 0.92rem;
	font-weight: 600;
}

.skg-eventbuilder--customer .skg-customer-estimate strong {
	font-size: clamp(1.35rem, 4vw, 1.7rem);
	font-weight: 700;
	line-height: 1.25;
}

/* Messages */
.skg-eventbuilder--customer .skg-customer-messages {
	display: grid;
	gap: 0.75rem;
	margin: 0 0 1.1rem;
}

.skg-eventbuilder--customer .skg-customer-message {
	background: #fff;
	border: 1px solid var(--skg-customer-border);
	border-left: 4px solid var(--skg-customer-brown);
	border-radius: 8px;
	padding: 0.85rem 0.95rem;
	width: 100%;
}

.skg-eventbuilder--customer .skg-customer-message--admin,
.skg-eventbuilder--customer .skg-customer-message--system {
	background: #f3f6f4;
	border-left-color: var(--skg-customer-success);
}

.skg-eventbuilder--customer .skg-customer-message--customer {
	background: #fffaf3;
	border-left-color: var(--skg-customer-brown);
}

.skg-eventbuilder--customer .skg-customer-message-meta {
	align-items: baseline;
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.75rem;
	justify-content: space-between;
	margin-bottom: 0.45rem;
}

.skg-eventbuilder--customer .skg-customer-message-meta strong {
	font-size: 0.98rem;
}

.skg-eventbuilder--customer .skg-customer-message-meta time {
	color: var(--skg-customer-muted);
	font-size: 0.88rem;
}

.skg-eventbuilder--customer .skg-customer-message-body {
	font-size: 1.05rem;
	line-height: 1.5;
}

/* Forms / actions */
.skg-eventbuilder--customer .skg-customer-form {
	margin-top: 0.35rem;
}

.skg-eventbuilder--customer .skg-customer-field {
	margin-bottom: 0.85rem;
}

.skg-eventbuilder--customer .form-label {
	color: var(--skg-customer-text);
	font-weight: 600;
	margin-bottom: 0.35rem;
}

.skg-eventbuilder--customer .form-control {
	background: #fff;
	border-color: rgba(42, 33, 27, 0.22);
	color: var(--skg-customer-text);
	font-size: 1.05rem;
	min-height: 44px;
	width: 100%;
}

.skg-eventbuilder--customer textarea.form-control {
	min-height: 8rem;
}

.skg-eventbuilder--customer .skg-customer-check {
	align-items: flex-start;
	display: flex;
	gap: 0.55rem;
	margin: 0 0 0.95rem;
	padding: 0.75rem 0.85rem;
	background: var(--skg-customer-surface-alt);
	border: 1px solid var(--skg-customer-border);
	border-radius: 8px;
}

.skg-eventbuilder--customer .skg-customer-check .form-check-input {
	float: none;
	flex: 0 0 auto;
	height: 1.2rem;
	margin: 0.15rem 0 0;
	width: 1.2rem;
}

.skg-eventbuilder--customer .skg-customer-check .form-check-label {
	color: var(--skg-customer-text);
	font-size: 1rem;
	line-height: 1.45;
}

.skg-eventbuilder--customer .skg-customer-btn {
	font-size: 1.05rem;
	font-weight: 600;
	min-height: 48px;
	padding: 0.75rem 1.1rem;
	width: 100%;
}

.skg-eventbuilder--customer .btn-success {
	background: var(--skg-customer-success);
	border-color: var(--skg-customer-success);
}

.skg-eventbuilder--customer .btn-success:hover,
.skg-eventbuilder--customer .btn-success:focus {
	background: #3b5340;
	border-color: #3b5340;
}

.skg-eventbuilder--customer .skg-customer-copy-row {
	align-items: flex-start;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.65rem;
}

.skg-eventbuilder--customer .skg-customer-copy {
	min-height: 40px;
}

.skg-eventbuilder--customer .skg-customer-instructions {
	background: var(--skg-customer-surface-alt);
	border: 1px solid var(--skg-customer-border);
	border-radius: 8px;
	margin-top: 0.85rem;
	padding: 0.85rem 0.95rem;
}

.skg-eventbuilder--customer .skg-customer-instructions strong {
	display: block;
	margin-bottom: 0.4rem;
}

.skg-eventbuilder--customer .skg-customer-contact-name {
	margin: 0 0 0.35rem;
}

.skg-eventbuilder--customer .skg-customer-aside .skg-customer-panel:last-child {
	margin-bottom: 0;
}

/* Desktop */
@media (min-width: 992px) {
	.skg-eventbuilder--customer {
		padding-top: 1rem;
	}

	.skg-eventbuilder--customer .skg-customer-header {
		padding: 1.15rem 1.35rem;
	}

	.skg-eventbuilder--customer .skg-customer-panel {
		padding: 1.15rem 1.35rem;
		scroll-margin-top: calc(var(--skg-public-header-offset, 0px) + 88px);
	}

	.skg-eventbuilder--customer .skg-customer-details {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 1.5rem;
	}

	.skg-eventbuilder--customer .skg-customer-details--compact {
		grid-template-columns: 1fr;
	}

	.skg-eventbuilder--customer .skg-customer-details > div {
		border-bottom: 1px solid var(--skg-customer-border);
	}

	.skg-eventbuilder--customer .skg-customer-layout {
		align-items: start;
		display: grid;
		gap: 1rem;
		grid-template-columns: minmax(0, 1.7fr) minmax(16rem, 0.9fr);
	}

	.skg-eventbuilder--customer .skg-customer-line {
		align-items: start;
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.skg-eventbuilder--customer .skg-customer-estimate {
		align-items: center;
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.skg-eventbuilder--customer .skg-customer-btn {
		width: auto;
		min-width: 14rem;
	}

	.skg-eventbuilder--customer .skg-customer-nav {
		flex-wrap: wrap;
		overflow: visible;
	}
}

/* Narrow phones */
@media (max-width: 430px) {
	.skg-eventbuilder--customer {
		font-size: 1.02rem;
		padding-left: 0;
		padding-right: 0;
	}

	.skg-eventbuilder--customer .skg-customer-reference {
		font-size: 1.55rem;
	}

	.skg-eventbuilder--customer .skg-customer-section-title {
		font-size: 1.25rem;
	}

	.skg-eventbuilder--customer .skg-customer-header,
	.skg-eventbuilder--customer .skg-customer-panel,
	.skg-eventbuilder--customer .skg-customer-notice,
	.skg-eventbuilder--customer .skg-customer-nav {
		border-radius: 8px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.skg-eventbuilder--customer * {
		scroll-behavior: auto !important;
	}
}

/* ==========================================================================
   1) VARIABLES ? wizard
   ========================================================================== */
.skg-eventbuilder--wizard {
	--skg-bg: var(--eb-background);
	--skg-surface: var(--eb-surface);
	--skg-surface-alt: var(--eb-surface-alt);
	--skg-text: var(--eb-text);
	--skg-text-muted: var(--eb-text-muted);
	--skg-brown: var(--eb-primary);
	--skg-brown-dark: var(--eb-primary);
	--skg-gold: var(--eb-text-muted);
	--skg-border: var(--eb-border);
	--skg-success: var(--eb-success);
	--skg-ink: var(--skg-text);
	--skg-muted: var(--skg-text-muted);
	--skg-accent: var(--skg-brown);
	--skg-accent-dark: var(--skg-brown-dark);
	--skg-line: var(--skg-border);
	--skg-card: var(--skg-surface);
	color: var(--skg-text);
	max-width: var(--eb-content-width, 74rem);
	margin-inline: auto;
	padding-bottom: 5rem;
}

/* ==========================================================================
   2) LAYOUT
   ========================================================================== */
.skg-eventbuilder--wizard .skg-wizard-layout {
	align-items: start;
	display: grid;
	gap: 1.5rem;
	grid-template-columns: minmax(0, 1fr);
}

.skg-eventbuilder--wizard .skg-wizard-layout[data-has-sidebar="1"] {
	grid-template-columns: minmax(0, 1fr) minmax(15rem, 18.5rem);
}

.skg-eventbuilder--wizard .skg-wizard-main {
	min-width: 0;
}

/* ==========================================================================
   3) HERO
   ========================================================================== */
.skg-eventbuilder--wizard .skg-hero {
	background: transparent;
	border-radius: 0;
	box-shadow: none;
	color: inherit;
	margin: 0 0 1.25rem;
	padding: 0.35rem 0 0.25rem;
	scroll-margin-top: calc(var(--skg-public-header-offset, var(--skg-header-offset)) + 24px);
}

.skg-eventbuilder--wizard .skg-hero-grid {
	align-items: stretch;
	display: grid;
	gap: 1.5rem;
	grid-template-columns: minmax(0, 1fr);
}

.skg-eventbuilder--wizard .skg-hero--with-side .skg-hero-grid {
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.9fr);
}

.skg-eventbuilder--wizard .skg-hero-copy {
	max-width: 42rem;
	padding: 0.35rem 0;
}

.skg-eventbuilder--wizard .skg-hero--single .skg-hero-copy {
	max-width: 46rem;
}

.skg-eventbuilder--wizard .skg-hero-logo {
	margin: 0 0 0.85rem;
}

.skg-eventbuilder--wizard .skg-hero-logo img {
	display: block;
	height: auto;
	max-height: 3.5rem;
	max-width: min(220px, 55vw);
	object-fit: contain;
	width: auto;
}

.skg-eventbuilder--wizard .skg-eyebrow {
	color: var(--skg-gold);
	margin: 0 0 0.75rem;
}

.skg-eventbuilder--wizard .skg-hero-accent {
	display: none;
}

.skg-eventbuilder--wizard .skg-hero h1 {
	color: inherit;
	font-size: 1.75rem;
	font-weight: 600;
	line-height: 1.25;
	margin: 0 0 0.85rem;
}

.skg-eventbuilder--wizard .skg-hero p,
.skg-eventbuilder--wizard .skg-hero-intro {
	color: inherit;
	font-size: 1.08rem;
	line-height: 1.55;
	margin: 0;
	max-width: 650px;
}

.skg-eventbuilder--wizard .skg-hero-visual {
	display: flex;
	min-width: 0;
}

.skg-eventbuilder--wizard .skg-hero-side-image {
	border: 1px solid var(--skg-border);
	border-radius: var(--eb-radius, 4px);
	margin: 0;
	overflow: hidden;
	width: 100%;
}

.skg-eventbuilder--wizard .skg-hero-side-image img {
	aspect-ratio: 4 / 3;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.skg-eventbuilder--wizard .skg-hero-side-text {
	background: var(--skg-surface-alt);
	border: 1px solid var(--skg-border);
	border-radius: 0.25rem;
	color: inherit;
	padding: 1.25rem;
	width: 100%;
}

.skg-eventbuilder--wizard .skg-hero-side-eyebrow {
	color: var(--skg-gold);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0;
	margin: 0 0 0.5rem;
	text-transform: none;
}

.skg-eventbuilder--wizard .skg-hero-side-text h2 {
	color: inherit;
	font-weight: 600;
	margin: 0 0 0.55rem;
}

.skg-eventbuilder--wizard .skg-hero-side-body {
	color: inherit;
	font-size: 0.98rem;
	line-height: 1.5;
}

/* ==========================================================================
   4) PROGRESS
   ========================================================================== */
.skg-eventbuilder--wizard .skg-progress {
	background: #fff;
	border: 0;
	border-bottom: 1px solid var(--skg-border);
	border-radius: 0;
	box-shadow: none;
	margin: 0 0 1.15rem;
	padding: 0.65rem 0 0.85rem;
	position: sticky;
	top: calc(var(--skg-public-header-offset, var(--skg-header-offset)) + 8px);
	z-index: 6;
	scroll-margin-top: calc(var(--skg-public-header-offset, var(--skg-header-offset)) + 24px);
}

.skg-eventbuilder--wizard .skg-progress-mobile { display: none; }

.skg-eventbuilder--wizard .skg-progress-list {
	align-items: start;
	display: grid;
	gap: 0.25rem;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	position: relative;
}

.skg-eventbuilder--wizard .skg-progress-list::before {
	background: var(--skg-border);
	content: "";
	height: 1px;
	left: 6%;
	position: absolute;
	right: 6%;
	top: 0.95rem;
	z-index: 0;
}

.skg-eventbuilder--wizard .skg-progress-item {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 0;
	color: var(--skg-text-muted);
	cursor: pointer;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding: 0 0.2rem;
	position: relative;
	text-align: center;
	z-index: 1;
}

.skg-eventbuilder--wizard .skg-progress-marker {
	align-items: center;
	background: #fff;
	border: 1px solid var(--skg-border);
	border-radius: 999px;
	display: inline-flex;
	height: 1.7rem;
	justify-content: center;
	position: relative;
	width: 1.7rem;
}

.skg-eventbuilder--wizard .skg-progress-num {
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1;
}

.skg-eventbuilder--wizard .skg-progress-check {
	display: none;
	font-size: 0.72rem;
	line-height: 1;
}

.skg-eventbuilder--wizard .skg-progress-item em {
	color: inherit;
	font-size: 0.72rem;
	font-style: normal;
	line-height: 1.2;
}

.skg-eventbuilder--wizard .skg-progress-item.is-active {
	color: var(--skg-brown);
}

.skg-eventbuilder--wizard .skg-progress-item.is-active .skg-progress-marker {
	background: var(--skg-brown);
	border-color: var(--skg-brown);
	color: #fff;
}

.skg-eventbuilder--wizard .skg-progress-item.is-complete {
	color: var(--skg-brown);
}

.skg-eventbuilder--wizard .skg-progress-item.is-complete .skg-progress-marker {
	background: #e7f1ff;
	border-color: var(--skg-brown);
	color: var(--skg-brown);
}

.skg-eventbuilder--wizard .skg-progress-item.is-complete .skg-progress-num { display: none; }
.skg-eventbuilder--wizard .skg-progress-item.is-complete .skg-progress-check { display: inline; }

.skg-eventbuilder--wizard .skg-progress-item:focus-visible {
	outline: 2px solid var(--skg-gold);
	outline-offset: 3px;
}

.skg-eventbuilder--wizard .skg-progress-track {
	background: var(--skg-border);
	border-radius: 2px;
	height: 3px;
	margin-top: 0.65rem;
	overflow: hidden;
}

.skg-eventbuilder--wizard .skg-progress-fill {
	background: var(--skg-brown);
	height: 100%;
}

/* ==========================================================================
   5) STEP SURFACE
   ========================================================================== */
.skg-eventbuilder--wizard .skg-wizard {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
	scroll-margin-top: calc(var(--skg-header-offset) + var(--skg-header-gap));
}

.skg-eventbuilder--wizard .skg-step {
	background: var(--skg-surface);
	border: 1px solid var(--skg-border);
	border-radius: 0.25rem;
	box-shadow: none;
	color: var(--skg-text);
	display: block;
	padding: 1.25rem;
	scroll-margin-top: calc(var(--skg-public-header-offset, var(--skg-header-offset)) + 24px);
}

html.skg-js .skg-eventbuilder--wizard .skg-step { display: none; }
html.skg-js .skg-eventbuilder--wizard .skg-step.is-active { display: block; }

html:not(.skg-js) .skg-eventbuilder--wizard .skg-progress,
html:not(.skg-js) .skg-eventbuilder--wizard .skg-next,
html:not(.skg-js) .skg-eventbuilder--wizard .skg-prev {
	display: none;
}

.skg-eventbuilder--wizard .skg-step-heading {
	margin-bottom: 1.35rem;
	padding-bottom: 0;
}

.skg-eventbuilder--wizard .skg-step-heading p {
	color: var(--skg-brown);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0;
	margin: 0 0 0.4rem;
	text-transform: none;
}

.skg-eventbuilder--wizard .skg-step-heading h2 {
	color: var(--skg-text);
	font-size: clamp(1.5rem, 3vw, 2.2rem);
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.25;
	margin: 0;
}

.skg-eventbuilder--wizard .skg-step-heading span {
	color: var(--skg-text-muted);
	display: block;
	margin-top: 0.45rem;
	max-width: 40rem;
}

.skg-eventbuilder--wizard .skg-step-heading::after {
	background: var(--skg-gold);
	content: "";
	display: block;
	height: 2px;
	margin-top: 0.95rem;
	max-width: 3.25rem;
	opacity: 0.75;
}

.skg-eventbuilder--wizard .skg-step-heading,
.skg-eventbuilder--wizard .skg-step-heading h2,
.skg-eventbuilder--wizard #skgPackages,
.skg-eventbuilder--wizard .skg-product-group {
	scroll-margin-top: calc(var(--skg-public-header-offset, var(--skg-header-offset)) + 24px);
}

/* ==========================================================================
   6) EVENT TYPES
   ========================================================================== */
.skg-eventbuilder--wizard .skg-event-type-list {
	display: grid;
	gap: 0.9rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.skg-eventbuilder--wizard .skg-direct-booking-panel {
	background: var(--eb-surface, #fff);
	border: 1px solid var(--skg-border);
	border-radius: var(--eb-radius, 4px);
	box-shadow: var(--eb-shadow, none);
	margin: 0 0 2rem;
	padding: 1.25rem;
}

.skg-eventbuilder--wizard .skg-direct-booking-hero {
	align-items: start;
	display: grid;
	gap: clamp(1.35rem, 3vw, 2rem);
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
}

.skg-eventbuilder--wizard .skg-direct-booking-media {
	background: var(--skg-surface-alt);
	border-radius: var(--eb-radius, 4px);
	margin: 0;
	overflow: hidden;
}

.skg-eventbuilder--wizard .skg-direct-booking-media img {
	aspect-ratio: 16 / 10;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.skg-eventbuilder--wizard .skg-direct-booking-copy {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.skg-eventbuilder--wizard .skg-direct-booking-kicker {
	color: var(--skg-gold);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0;
	margin: 0 0 0.65rem;
	text-transform: none;
}

.skg-eventbuilder--wizard .skg-direct-booking-title {
	font-family: inherit;
	font-size: clamp(1.85rem, 2.6vw, 2.55rem);
	font-weight: 600;
	line-height: 1.12;
	margin: 0 0 1.15rem;
}

.skg-eventbuilder--wizard .skg-direct-booking-short {
	color: var(--skg-text-muted, #5a5248);
	font-size: 1.06rem;
	line-height: 1.6;
	margin: 0 0 1.35rem;
}

.skg-eventbuilder--wizard .skg-direct-booking-long {
	color: var(--skg-text, #2a2622);
	font-size: 1rem;
	line-height: 1.65;
	margin: 0 0 1.5rem;
}

.skg-eventbuilder--wizard .skg-direct-booking-long p:last-child {
	margin-bottom: 0;
}

.skg-eventbuilder--wizard .skg-direct-booking-meta {
	align-items: stretch;
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
	margin: 0 0 1.65rem;
}

.skg-eventbuilder--wizard .skg-direct-booking-meta-item {
	background: var(--skg-surface);
	border: 1px solid var(--skg-border);
	border-radius: var(--eb-radius, 4px);
	color: var(--skg-brown-dark);
	font-size: 0.98rem;
	font-weight: 600;
	line-height: 1.35;
	padding: 0.85rem 1rem;
}

.skg-eventbuilder--wizard .skg-direct-booking-meta-price {
	color: var(--skg-brown);
}

.skg-eventbuilder--wizard .skg-menu-accordion {
	background: #fff;
	border: 1px solid var(--skg-border);
	border-radius: var(--eb-radius, 4px);
	margin: 0 0 0.35rem;
	overflow: hidden;
}

.skg-eventbuilder--wizard .skg-menu-accordion:hover {
	border-color: var(--skg-border);
	box-shadow: none;
}

.skg-eventbuilder--wizard .skg-menu-accordion[open] {
	border-color: var(--skg-brown);
	box-shadow: none;
}

.skg-eventbuilder--wizard .skg-menu-accordion-summary {
	align-items: center;
	cursor: pointer;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	list-style: none;
	min-height: 3.75rem;
	padding: 1rem 1.15rem;
}

.skg-eventbuilder--wizard .skg-menu-accordion-summary::-webkit-details-marker {
	display: none;
}

.skg-eventbuilder--wizard .skg-menu-accordion-summary:hover {
	background: #f8f9fa;
}

.skg-eventbuilder--wizard .skg-menu-accordion-summary:focus-visible {
	outline: 2px solid var(--skg-gold);
	outline-offset: 2px;
}

.skg-eventbuilder--wizard .skg-menu-accordion-copy {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 0.2rem;
	min-width: 0;
}

.skg-eventbuilder--wizard .skg-menu-accordion-title {
	color: var(--skg-text);
	font-family: inherit;
	font-size: 1.15rem;
	font-weight: 600;
	line-height: 1.25;
}

.skg-eventbuilder--wizard .skg-menu-accordion-subtitle {
	color: var(--skg-text-muted);
	font-size: 0.92rem;
	line-height: 1.4;
}

.skg-eventbuilder--wizard .skg-menu-accordion-action {
	color: var(--skg-brown);
	flex: 0 0 auto;
	font-size: 0.9rem;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.3;
	text-align: right;
	white-space: nowrap;
}

.skg-eventbuilder--wizard .skg-menu-accordion-panel {
	display: grid;
	grid-template-rows: 0fr;
}

.skg-eventbuilder--wizard .skg-menu-accordion[open] .skg-menu-accordion-panel {
	grid-template-rows: 1fr;
}

.skg-eventbuilder--wizard .skg-menu-accordion-body {
	border-top: 1px solid var(--skg-border);
	min-height: 0;
	overflow: hidden;
	padding: 0 1.15rem;
}

.skg-eventbuilder--wizard .skg-menu-accordion[open] .skg-menu-accordion-body {
	padding: 1rem 1.15rem 1.25rem;
}

.skg-eventbuilder--wizard .skg-menu-accordion-body h2,
.skg-eventbuilder--wizard .skg-menu-accordion-body h3,
.skg-eventbuilder--wizard .skg-menu-accordion-body h4 {
	font-family: inherit;
	font-size: 1.08rem;
	margin: 1rem 0 0.4rem;
}

.skg-eventbuilder--wizard .skg-menu-accordion-body h2:first-child,
.skg-eventbuilder--wizard .skg-menu-accordion-body h3:first-child,
.skg-eventbuilder--wizard .skg-menu-accordion-body h4:first-child {
	margin-top: 0;
}

.skg-eventbuilder--wizard .skg-menu-accordion-body p,
.skg-eventbuilder--wizard .skg-menu-accordion-body ul,
.skg-eventbuilder--wizard .skg-menu-accordion-body ol {
	margin: 0 0 0.75rem;
}

.skg-eventbuilder--wizard .skg-step[data-step="1"] .skg-actions {
	margin-top: 1.75rem;
}

.skg-eventbuilder--wizard .skg-deep-link-error {
	margin-bottom: 1.25rem;
}

@media (max-width: 900px) {
	.skg-eventbuilder--wizard .skg-direct-booking-hero {
		grid-template-columns: 1fr;
	}

	.skg-eventbuilder--wizard .skg-menu-accordion-summary {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.75rem;
		min-height: 4.25rem;
		padding: 1.1rem 1.15rem;
	}

	.skg-eventbuilder--wizard .skg-menu-accordion-action {
		text-align: left;
	}
}

@media (prefers-reduced-motion: reduce) {
	.skg-eventbuilder--wizard .skg-menu-accordion,
	.skg-eventbuilder--wizard .skg-menu-accordion-summary,
	.skg-eventbuilder--wizard .skg-menu-accordion-panel {
	}
}

.skg-eventbuilder--wizard .skg-event-type-item { min-width: 0; }

.skg-eventbuilder--wizard .skg-choice-card {
	align-items: stretch;
	background: var(--eb-surface, #fff);
	border: 1px solid var(--skg-border);
	border-radius: var(--eb-radius, 4px);
	box-shadow: none;
	cursor: pointer;
	display: grid;
	gap: 0;
	grid-template-columns: 8.5rem minmax(0, 1fr);
	height: auto;
	margin: 0;
	min-height: 8.5rem;
	overflow: hidden;
	position: relative;
}

.skg-eventbuilder--wizard .skg-choice-card:hover {
	background: #f8f9fa;
	border-color: var(--skg-brown);
	box-shadow: none;
	transform: none;
}

.skg-eventbuilder--wizard .btn-check:checked + .skg-choice-card {
	background: #f8f9fa;
	border-color: var(--skg-brown);
	box-shadow: inset 0 0 0 1px var(--skg-brown);
}

.skg-eventbuilder--wizard .skg-choice-media {
	background: var(--skg-surface-alt);
	display: block;
	min-height: 100%;
	overflow: hidden;
	position: relative;
}

.skg-eventbuilder--wizard .skg-choice-media img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.skg-eventbuilder--wizard .skg-choice-fallback {
	align-items: center;
	background: #f8f9fa;
	color: inherit;
	display: flex;
	font-size: 2rem;
	font-weight: 600;
	height: 100%;
	justify-content: center;
	min-height: 8.5rem;
}

.skg-eventbuilder--wizard .skg-choice-body {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	justify-content: center;
	min-width: 0;
	padding: 0.95rem 1rem 1rem;
}

.skg-eventbuilder--wizard .skg-choice-card strong {
	color: var(--skg-text);
	font-size: 1.15rem;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
}

.skg-eventbuilder--wizard .skg-choice-desc {
	color: var(--skg-text-muted);
	font-size: 0.94rem;
	line-height: 1.45;
}

.skg-eventbuilder--wizard .skg-choice-action { margin-top: 0.35rem; }

.skg-eventbuilder--wizard .skg-choice-action-btn,
.skg-eventbuilder--wizard .skg-package-action-btn {
	background: var(--skg-brown);
	border-radius: 5px;
	color: #fff;
	display: inline-block;
	font-size: 0.88rem;
	font-weight: 600;
	line-height: 1.2;
	padding: 0.55rem 0.9rem;
}

.skg-eventbuilder--wizard .btn-check:checked + .skg-choice-card .skg-choice-action-btn,
.skg-eventbuilder--wizard .btn-check:checked + .skg-package-card .skg-package-action-btn {
	background: var(--skg-brown-dark);
}

.skg-eventbuilder--wizard .skg-choice-mark {
	align-items: center;
	background: var(--skg-brown);
	border-radius: 999px;
	color: #fff;
	display: none;
	font-size: 0.8rem;
	height: 1.5rem;
	justify-content: center;
	position: absolute;
	right: 0.7rem;
	top: 0.7rem;
	width: 1.5rem;
}

.skg-eventbuilder--wizard .btn-check:checked + .skg-choice-card .skg-choice-mark,
.skg-eventbuilder--wizard .btn-check:checked + .skg-package-card .skg-choice-mark {
	display: inline-flex;
}

.skg-eventbuilder--wizard .btn-check:focus-visible + .skg-choice-card,
.skg-eventbuilder--wizard .btn-check:focus-visible + .skg-package-card,
.skg-eventbuilder--wizard .btn-check:focus-visible + .skg-addon-card {
	outline: 2px solid var(--skg-brown);
	outline-offset: 2px;
}

/* ==========================================================================
   7) FORMS
   ========================================================================== */
.skg-eventbuilder--wizard .skg-form-doc {
	display: grid;
	gap: 1.5rem;
	max-width: 46rem;
}

.skg-eventbuilder--wizard .skg-form-section {
	display: grid;
	gap: 0.85rem;
}

.skg-eventbuilder--wizard .skg-form-section-title {
	color: var(--skg-brown-dark);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0;
	margin: 0;
	text-transform: none;
}

.skg-eventbuilder--wizard .skg-form-row {
	display: grid;
	gap: 0.9rem;
}

.skg-eventbuilder--wizard .skg-form-row--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.skg-eventbuilder--wizard .skg-form-row--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.skg-eventbuilder--wizard .skg-field .form-label {
	color: var(--skg-text);
	font-size: 0.92rem;
	font-weight: 600;
	margin-bottom: 0.35rem;
}

.skg-eventbuilder--wizard .skg-field-error {
	color: #8a1c1c;
	font-size: 0.85rem;
	margin-top: 0.35rem;
}

.skg-eventbuilder--wizard .form-control.is-invalid,
.skg-eventbuilder--wizard .form-control[aria-invalid="true"] {
	border-color: #8a1c1c;
	box-shadow: 0 0 0 1px rgba(138, 28, 28, 0.15);
}

.skg-eventbuilder--wizard .skg-strength-summary {
	background: rgba(255, 255, 255, 0.55);
	border: 1px solid var(--skg-border);
	border-radius: 8px;
	display: grid;
	gap: 0.75rem;
	padding: 0.9rem 1rem;
}

.skg-eventbuilder--wizard .skg-strength-summary-block ul {
	margin: 0.35rem 0 0;
	padding-left: 1.1rem;
}

.skg-eventbuilder--wizard .skg-fieldset {
	border: 0;
	margin: 0;
	min-width: 0;
	padding: 0;
}

.skg-eventbuilder--wizard .skg-company-lookup-result {
	background: rgba(255, 255, 255, 0.65);
	border: 1px solid var(--skg-border);
	border-radius: 8px;
	padding: 0.75rem 0.9rem;
}

.skg-eventbuilder--wizard .form-control,
.skg-eventbuilder--wizard .form-select {
	background-color: #fff;
	border: 1px solid var(--skg-border);
	border-radius: 6px;
	box-shadow: none;
	color: var(--skg-text);
	font-size: 1rem;
	line-height: 1.4;
	min-height: 50px;
	padding: 0.6rem 0.85rem;
}

.skg-eventbuilder--wizard select.form-select,
.skg-eventbuilder--wizard .form-select {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%2353361f' d='M4.5 6l3.5 3.5L11.5 6'/%3E%3C/svg%3E");
	background-position: right 0.8rem center;
	background-repeat: no-repeat;
	background-size: 1rem;
	padding-right: 2.4rem;
}

.skg-eventbuilder--wizard .form-control:focus,
.skg-eventbuilder--wizard .form-select:focus {
	border-color: var(--skg-brown);
	box-shadow: none;
	outline: 2px solid rgba(13, 110, 253, 0.35);
	outline-offset: 1px;
}

.skg-eventbuilder--wizard textarea.form-control { min-height: 6.25rem; }

.skg-eventbuilder--wizard .skg-total-display,
.skg-eventbuilder--wizard .skg-field--computed .form-control {
	background: var(--skg-surface-alt);
	border-color: transparent;
	font-weight: 700;
}

.skg-eventbuilder--wizard .skg-privacy-note {
	color: var(--skg-text-muted);
	font-size: 0.9rem;
	margin: 0;
}

.skg-eventbuilder--wizard .skg-notice-banner {
	background: #fff3cd;
	border: 1px solid var(--skg-brown);
	border-radius: 8px;
	color: var(--skg-brown-dark);
	margin-bottom: 1rem;
	padding: 0.75rem 0.95rem;
}

.skg-eventbuilder--wizard .skg-empty {
	background: var(--skg-surface);
	border: 1px solid var(--skg-border);
	border-radius: 8px;
	color: var(--skg-text-muted);
	padding: 1.25rem;
	text-align: center;
}

.skg-eventbuilder--wizard .skg-disclaimer {
	color: var(--skg-text-muted);
	font-size: 0.95rem;
	margin: 0;
}

/* ==========================================================================
   8) PACKAGES
   ========================================================================== */
.skg-eventbuilder--wizard .skg-compare-wrap { margin: 0 0 1.15rem; }

.skg-eventbuilder--wizard .skg-compare-toggle {
	background: none;
	border: 0;
	border-bottom: 1px solid var(--skg-brown);
	color: var(--skg-brown);
	cursor: pointer;
	font-size: 0.95rem;
	font-weight: 600;
	padding: 0.1rem 0;
}

.skg-eventbuilder--wizard .skg-compare-table {
	border-collapse: collapse;
	font-size: 0.92rem;
	margin-top: 0.85rem;
	width: 100%;
}

.skg-eventbuilder--wizard .skg-compare-table th,
.skg-eventbuilder--wizard .skg-compare-table td {
	border-bottom: 1px solid var(--skg-border);
	padding: 0.7rem 0.55rem;
	text-align: left;
	vertical-align: top;
}

.skg-eventbuilder--wizard .skg-compare-table thead th {
	border-bottom-color: var(--skg-brown);
	font-weight: 600;
}

.skg-eventbuilder--wizard .skg-compare-table ul {
	margin: 0;
	padding-left: 1.1rem;
}

.skg-eventbuilder--wizard .skg-compare-col[hidden],
.skg-eventbuilder--wizard .skg-compare-table td[hidden],
.skg-eventbuilder--wizard .skg-compare-table th[hidden] {
	display: none !important;
}

.skg-eventbuilder--wizard .skg-package-list {
	display: grid;
	gap: 1rem;
	grid-template-columns: 1fr;
}

@media (min-width: 900px) {
	.skg-eventbuilder--wizard .skg-package-list.skg-packages-three {
		grid-template-columns: 1.35fr 1fr 1fr;
	}

	.skg-eventbuilder--wizard .skg-package-list.skg-packages-three .skg-package-option.is-featured {
		grid-column: 1;
		grid-row: 1 / span 2;
	}

	.skg-eventbuilder--wizard .skg-package-list:not(.skg-packages-three):not(.is-seafood-grid) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Seafood cards need more width for strength rows + sidebar; two columns from 1200px. */
@media (min-width: 1200px) {
	.skg-eventbuilder--wizard .skg-package-list.is-seafood-grid:not(.skg-packages-three) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.skg-eventbuilder--wizard .skg-package-option[hidden] { display: none !important; }

.skg-eventbuilder--wizard .skg-package-card {
	align-items: flex-start;
	background: #fff;
	border: 1px solid var(--skg-border);
	border-radius: var(--eb-radius, 4px);
	box-shadow: none;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	height: 100%;
	margin: 0;
	padding: 1.2rem 1.2rem 1.15rem;
	position: relative;
	transform: none;
	width: 100%;
}

.skg-eventbuilder--wizard .skg-package-option.is-featured .skg-package-card {
	background: #fff;
	min-height: 100%;
	padding: 1.45rem 1.4rem 1.3rem;
}

.skg-eventbuilder--wizard .skg-package-card:hover {
	border-color: var(--skg-brown);
	box-shadow: none;
	transform: none;
}

.skg-eventbuilder--wizard .btn-check:checked + .skg-package-card {
	border-color: var(--skg-brown);
	box-shadow: inset 3px 0 0 var(--skg-brown);
}

.skg-eventbuilder--wizard .skg-package-badge {
	background: none;
	border-radius: 0;
	color: var(--skg-gold);
	display: block;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0;
	padding: 0;
	text-transform: none;
}

.skg-eventbuilder--wizard .skg-package-title {
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1.25;
}

.skg-eventbuilder--wizard .skg-package-option.is-featured .skg-package-title {
	font-size: 1.7rem;
}

.skg-eventbuilder--wizard .skg-package-desc {
	color: var(--skg-text-muted);
	display: block;
	font-size: 0.96rem;
	line-height: 1.5;
}

.skg-eventbuilder--wizard .skg-package-price {
	color: var(--skg-brown-dark);
	display: block;
	font-size: 1.15rem;
	font-weight: 700;
	margin-top: 0.2rem;
}

.skg-eventbuilder--wizard .skg-package-note,
.skg-eventbuilder--wizard .skg-package-meta {
	color: var(--skg-text-muted);
	display: block;
	font-size: 0.88rem;
}

.skg-eventbuilder--wizard .skg-package-includes-label {
	color: var(--skg-text);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0;
	margin-top: 0.35rem;
	text-transform: none;
}

.skg-eventbuilder--wizard .skg-package-includes {
	margin: 0.15rem 0 0;
	padding-left: 1.15rem;
}

.skg-eventbuilder--wizard .skg-package-action {
	margin-top: auto;
	padding-top: 0.75rem;
}

/* ==========================================================================
   9) ADD-ONS
   ========================================================================== */
.skg-eventbuilder--wizard .skg-addon-group {
	background: #fff;
	border: 1px solid var(--skg-border);
	border-radius: var(--eb-radius, 4px);
	margin-bottom: 0.75rem;
	overflow: hidden;
}

.skg-eventbuilder--wizard .skg-group-toggle {
	align-items: center;
	background: var(--skg-surface-alt);
	border: 0;
	color: inherit;
	cursor: pointer;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	padding: 0.95rem 1.05rem;
	text-align: left;
	width: 100%;
}

.skg-eventbuilder--wizard .skg-group-toggle:focus-visible {
	outline: 2px solid var(--skg-brown);
	outline-offset: -2px;
}

.skg-eventbuilder--wizard .skg-group-heading {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	min-width: 0;
}

.skg-eventbuilder--wizard .skg-group-title {
	font-size: 1.05rem;
	font-weight: 700;
}

.skg-eventbuilder--wizard .skg-group-hint {
	color: var(--skg-text-muted);
	font-size: 0.86rem;
}

.skg-eventbuilder--wizard .skg-group-meta {
	align-items: center;
	display: flex;
	flex-shrink: 0;
	gap: 0.75rem;
}

.skg-eventbuilder--wizard .skg-group-count {
	color: var(--skg-brown-dark);
	font-size: 0.82rem;
	font-weight: 600;
}

.skg-eventbuilder--wizard .skg-group-chevron {
	border-right: 2px solid var(--skg-brown);
	border-bottom: 2px solid var(--skg-brown);
	display: inline-block;
	height: 0.55rem;
	transform: rotate(45deg);
	width: 0.55rem;
}

.skg-eventbuilder--wizard .skg-product-group.is-open .skg-group-chevron {
	transform: rotate(-135deg);
	translate: 0 0.15rem;
}

.skg-eventbuilder--wizard .skg-group-panel {
	border-top: 1px solid var(--skg-border);
	padding: 0.15rem 0.35rem 0.35rem;
}

.skg-eventbuilder--wizard .skg-required-mark { color: var(--skg-brown); font-weight: 700; }

.skg-eventbuilder--wizard .skg-product {
	border-bottom: 1px solid rgba(42, 33, 27, 0.1);
	padding: 0.35rem 0.45rem;
}

.skg-eventbuilder--wizard .skg-product:last-child { border-bottom: 0; }

.skg-eventbuilder--wizard .skg-addon-card {
	align-items: flex-start;
	background: transparent;
	border: 0;
	border-left: 3px solid transparent;
	border-radius: 0;
	box-shadow: none;
	cursor: pointer;
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem 1rem;
	height: auto;
	justify-content: space-between;
	margin: 0;
	padding: 0.65rem 0.55rem 0.65rem 0.7rem;
}

.skg-eventbuilder--wizard .skg-addon-card:hover {
	background: #f8f9fa;
	border-left-color: var(--skg-brown);
	box-shadow: none;
	transform: none;
}

.skg-eventbuilder--wizard .btn-check:checked + .skg-addon-card {
	background: #e7f1ff;
	border-left-color: var(--skg-brown);
	box-shadow: none;
}

.skg-eventbuilder--wizard .skg-product-main {
	display: flex;
	flex: 1 1 15rem;
	flex-direction: column;
	gap: 0.2rem;
	min-width: 0;
}

.skg-eventbuilder--wizard .skg-addon-card strong { font-size: 1.02rem; font-weight: 600; }

.skg-eventbuilder--wizard .skg-product-desc {
	color: var(--skg-text-muted);
	font-size: 0.9rem;
	line-height: 1.45;
}

.skg-eventbuilder--wizard .skg-guest-info {
	color: var(--skg-text-muted);
	display: block;
	font-size: 0.8rem;
	font-style: normal;
}

.skg-eventbuilder--wizard .skg-product-side {
	align-items: flex-end;
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	min-width: 7rem;
	text-align: right;
}

.skg-eventbuilder--wizard .skg-product-price {
	color: var(--skg-brown-dark);
	font-size: 0.95rem;
	font-weight: 700;
}

.skg-eventbuilder--wizard .skg-product-action {
	color: var(--skg-brown);
	font-size: 0.88rem;
	font-weight: 700;
}

.skg-eventbuilder--wizard .skg-product-rel {
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0;
	margin: 0.25rem 0 0.15rem 0.7rem;
	text-transform: none;
}

.skg-eventbuilder--wizard .skg-product-rel-included { color: var(--skg-success); }
.skg-eventbuilder--wizard .skg-product-rel-required { color: var(--skg-brown-dark); }
.skg-eventbuilder--wizard .skg-product-rel-optional { color: var(--skg-text-muted); }

.skg-eventbuilder--wizard .skg-product.is-included .skg-addon-card {
	border-left-color: rgba(73, 102, 76, 0.55);
}

.skg-eventbuilder--wizard .skg-variant-list {
	background: transparent;
	border: 0;
	border-left: 1px solid var(--skg-border);
	border-radius: 0;
	margin: 0.2rem 0 0.45rem 0.85rem;
	padding: 0.1rem 0 0.1rem 0.9rem;
}

.skg-eventbuilder--wizard .skg-variant-title {
	color: var(--skg-text-muted);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0;
	margin: 0 0 0.25rem;
	text-transform: none;
}

.skg-eventbuilder--wizard .skg-variant-option {
	align-items: flex-start;
	border-bottom: 1px solid rgba(42, 33, 27, 0.1);
	cursor: pointer;
	display: flex;
	gap: 0.6rem;
	padding: 0.5rem 0;
}

.skg-eventbuilder--wizard .skg-variant-option:last-child { border-bottom: 0; }
.skg-eventbuilder--wizard .skg-variant-option span { display: flex; flex-direction: column; gap: 0.15rem; }
.skg-eventbuilder--wizard .skg-variant-option em { color: var(--skg-text-muted); font-size: 0.86rem; font-style: normal; }
.skg-eventbuilder--wizard .skg-variant-option small { color: var(--skg-brown-dark); font-size: 0.84rem; }

.skg-eventbuilder--wizard .skg-quantity-row {
	align-items: center;
	display: flex;
	gap: 0.55rem;
	margin: 0.35rem 0 0.45rem 0.85rem;
}

.skg-eventbuilder--wizard .skg-quantity-input { max-width: 5.5rem; }

.skg-eventbuilder--wizard .skg-guest-warning {
	background: #fff3cd;
	border: 1px solid var(--skg-brown);
	border-radius: 6px;
	color: var(--skg-brown-dark);
	font-size: 0.85rem;
	margin: 0.4rem 0.55rem;
	padding: 0.5rem 0.7rem;
}

/* ==========================================================================
   10) SUMMARY / SIDEBAR
   ========================================================================== */
.skg-eventbuilder--wizard .skg-sidebar {
	position: sticky;
	top: calc(var(--skg-header-offset) + 5.25rem);
}

.skg-eventbuilder--wizard .skg-sidebar-inner {
	background: var(--skg-surface);
	border: 1px solid var(--skg-border);
	border-radius: 0.25rem;
	box-shadow: none;
	padding: 1.1rem 1.15rem;
}

.skg-eventbuilder--wizard .skg-sidebar-title {
	color: var(--skg-brown-dark);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0;
	margin: 0 0 0.85rem;
	text-transform: none;
}

.skg-eventbuilder--wizard .skg-sidebar-list {
	display: grid;
	gap: 0.65rem;
	margin: 0 0 1rem;
}

.skg-eventbuilder--wizard .skg-sidebar-list > div {
	display: grid;
	gap: 0.1rem;
}

.skg-eventbuilder--wizard .skg-sidebar-list dt {
	color: var(--skg-text-muted);
	font-size: 0.78rem;
	font-weight: 600;
	margin: 0;
}

.skg-eventbuilder--wizard .skg-sidebar-list dd {
	color: var(--skg-text);
	font-size: 0.95rem;
	font-weight: 600;
	margin: 0;
}

.skg-eventbuilder--wizard .skg-sidebar-price {
	border-top: 1px solid var(--skg-border);
	display: flex;
	justify-content: space-between;
	margin-bottom: 0.85rem;
	padding-top: 0.75rem;
}

.skg-eventbuilder--wizard .skg-sidebar-price span {
	color: var(--skg-text-muted);
	font-size: 0.82rem;
}

.skg-eventbuilder--wizard .skg-sidebar-price strong {
	color: var(--skg-brown-dark);
	font-size: 1.05rem;
}

.skg-eventbuilder--wizard .skg-sidebar-link {
	background: none;
	border: 0;
	border-bottom: 1px solid var(--skg-brown);
	color: var(--skg-brown);
	cursor: pointer;
	font-size: 0.9rem;
	font-weight: 600;
	padding: 0.1rem 0;
}

.skg-eventbuilder--wizard .skg-mobile-bar {
	align-items: center;
	background: var(--skg-surface);
	border-top: 1px solid var(--skg-border);
	bottom: 0;
	box-shadow: none;
	display: none;
	gap: 0.75rem;
	justify-content: space-between;
	left: 0;
	padding: 0.7rem 0.9rem calc(0.7rem + env(safe-area-inset-bottom, 0px));
	position: fixed;
	right: 0;
	z-index: 8;
}

.skg-eventbuilder--wizard .skg-mobile-bar-text {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	min-width: 0;
}

.skg-eventbuilder--wizard .skg-mobile-bar-text span {
	color: var(--skg-text-muted);
	font-size: 0.8rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.skg-eventbuilder--wizard .skg-mobile-bar-btn {
	background: var(--skg-brown);
	border: 0;
	border-radius: 5px;
	color: #fff;
	font-size: 0.88rem;
	font-weight: 600;
	padding: 0.55rem 0.85rem;
	white-space: nowrap;
}

.skg-eventbuilder--wizard .skg-summary-drawer {
	background: var(--skg-surface);
	border: 1px solid var(--skg-border);
	border-radius: var(--eb-radius-lg, 6px) var(--eb-radius-lg, 6px) 0 0;
	bottom: 0;
	box-shadow: none;
	color: var(--skg-text);
	margin: 0;
	max-height: 75vh;
	max-width: 100%;
	padding: 0;
	position: fixed;
	width: min(100%, 32rem);
}

.skg-eventbuilder--wizard .skg-summary-drawer::backdrop {
	background: rgba(0, 0, 0, 0.35);
}

.skg-eventbuilder--wizard .skg-summary-drawer-head {
	align-items: center;
	border-bottom: 1px solid var(--skg-border);
	display: flex;
	justify-content: space-between;
	padding: 0.85rem 1rem;
}

.skg-eventbuilder--wizard .skg-summary-drawer-close {
	background: none;
	border: 0;
	color: var(--skg-text);
	cursor: pointer;
	font-size: 1.4rem;
	line-height: 1;
}

.skg-eventbuilder--wizard .skg-summary-drawer-body {
	overflow: auto;
	padding: 1rem;
}

.skg-eventbuilder--wizard .skg-summary-layout {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: minmax(0, 1.4fr) minmax(15rem, 0.85fr);
}

.skg-eventbuilder--wizard .skg-summary-box {
	background: #fff;
	border: 1px solid var(--skg-border);
	border-radius: var(--eb-radius, 4px);
	box-shadow: none;
	padding: 1.15rem 1.2rem;
}

.skg-eventbuilder--wizard .skg-summary-box #skgSummary {
	display: grid;
	gap: 0;
}

.skg-eventbuilder--wizard .skg-summary-box #skgSummary .skg-summary-heading {
	border-bottom: 1px solid var(--skg-border);
	color: var(--skg-brown);
	display: block;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0;
	margin-top: 0.95rem;
	padding-bottom: 0.3rem;
	text-transform: none;
}

.skg-eventbuilder--wizard .skg-summary-box #skgSummary .skg-summary-heading:first-child { margin-top: 0; }

.skg-eventbuilder--wizard .skg-summary-box #skgSummary div {
	align-items: flex-start;
	border-bottom: 1px solid rgba(42, 33, 27, 0.08);
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	padding: 0.55rem 0;
}

.skg-eventbuilder--wizard .skg-summary-box #skgSummary span { color: var(--skg-text-muted); }
.skg-eventbuilder--wizard .skg-summary-box #skgSummary strong { color: var(--skg-text); font-weight: 600; text-align: right; }

.skg-eventbuilder--wizard .skg-estimate {
	align-items: baseline;
	background: #fff;
	border: 1px solid var(--skg-border);
	border-radius: var(--eb-radius, 4px);
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	margin: 0 0 0.85rem;
	padding: 1rem 1.1rem;
}

.skg-eventbuilder--wizard .skg-estimate span {
	color: var(--skg-text-muted);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
}

.skg-eventbuilder--wizard .skg-estimate strong {
	color: var(--skg-brown-dark);
	font-size: clamp(1.4rem, 2.8vw, 1.85rem);
	font-weight: 700;
}

.skg-eventbuilder--wizard .skg-actions--summary {
	border-top: 0;
	flex-direction: column;
	margin-top: 1rem;
	padding-top: 0;
}

/* ==========================================================================
   11) BUTTONS
   ========================================================================== */
.skg-eventbuilder--wizard .btn {
	border-radius: 5px;
	box-shadow: none !important;
	font-weight: 600;
	min-height: 44px;
	padding: 0.65rem 1.25rem;
}

.skg-eventbuilder--wizard .btn-primary {
	background: var(--skg-brown);
	border: 1px solid var(--skg-brown);
	color: #fff;
}

.skg-eventbuilder--wizard .btn-primary:hover,
.skg-eventbuilder--wizard .btn-primary:focus {
	background: var(--skg-brown-dark);
	border-color: var(--skg-brown-dark);
	color: #fff;
}

.skg-eventbuilder--wizard .btn-outline-secondary {
	background: transparent;
	border: 1px solid var(--skg-border);
	color: var(--skg-text);
}

.skg-eventbuilder--wizard .btn-outline-secondary:hover,
.skg-eventbuilder--wizard .btn-outline-secondary:focus {
	background: var(--skg-surface-alt);
	border-color: var(--skg-border);
	color: var(--skg-text);
}

.skg-eventbuilder--wizard .btn:focus-visible {
	outline: 2px solid var(--skg-brown);
	outline-offset: 2px;
}

.skg-eventbuilder--wizard .skg-actions {
	align-items: center;
	display: flex;
	gap: 0.75rem;
	justify-content: flex-end;
	margin-top: 1.5rem;
	padding-top: 0.25rem;
}

/* ==========================================================================
   12) RESPONSIVE
   ========================================================================== */
@media (max-width: 1100px) {
	.skg-eventbuilder--wizard .skg-wizard-layout[data-has-sidebar="1"] {
		grid-template-columns: minmax(0, 1fr);
	}

	.skg-eventbuilder--wizard .skg-sidebar { display: none; }
}

@media (max-width: 900px) {
	.skg-eventbuilder--wizard .skg-hero--with-side .skg-hero-grid {
		grid-template-columns: 1fr;
	}

	.skg-eventbuilder--wizard .skg-event-type-list {
		grid-template-columns: 1fr;
	}

	.skg-eventbuilder--wizard .skg-summary-layout {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {
	.skg-eventbuilder--wizard {
		padding-bottom: 6.5rem;
	}

	.skg-eventbuilder--wizard .skg-progress-mobile {
		display: block;
		padding: 0 0.1rem;
	}

	.skg-eventbuilder--wizard .skg-progress-mobile-meta {
		color: var(--skg-text-muted);
		display: block;
		font-size: 0.78rem;
		letter-spacing: 0;
		text-transform: none;
	}

	.skg-eventbuilder--wizard .skg-progress-mobile-title {
		color: #fff;
		display: block;
		font-size: 1.05rem;
		font-weight: 600;
		margin-top: 0.15rem;
	}

	.skg-eventbuilder--wizard .skg-progress-list {
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		height: 1px;
		margin: -1px;
		overflow: hidden;
		position: absolute;
		white-space: nowrap;
		width: 1px;
	}

	.skg-eventbuilder--wizard .skg-choice-card {
		grid-template-columns: 6.5rem minmax(0, 1fr);
		min-height: 7rem;
	}

	.skg-eventbuilder--wizard .skg-form-row--2,
	.skg-eventbuilder--wizard .skg-form-row--3 {
		grid-template-columns: 1fr;
	}

	.skg-eventbuilder--wizard .skg-actions {
		align-items: stretch;
		flex-direction: column-reverse;
	}

	.skg-eventbuilder--wizard .skg-actions .btn { width: 100%; }

	.skg-eventbuilder--wizard .skg-mobile-bar[data-visible="1"] {
		display: flex;
	}

	.skg-eventbuilder--wizard .skg-product-side {
		align-items: flex-start;
		flex-direction: row;
		justify-content: space-between;
		min-width: 0;
		text-align: left;
		width: 100%;
	}

	.skg-eventbuilder--wizard .skg-summary-box #skgSummary div,
	.skg-eventbuilder--wizard .skg-estimate {
		display: block;
	}

	.skg-eventbuilder--wizard .skg-summary-box #skgSummary strong {
		display: block;
		margin-top: 0.15rem;
		text-align: left;
	}

	.skg-eventbuilder--wizard .skg-compare-scroll {
		-webkit-overflow-scrolling: touch;
		overflow-x: auto;
	}
}

@media (max-width: 430px) {
	.skg-eventbuilder--wizard .skg-step {
		border-radius: var(--eb-radius, 4px);
		padding: 1.05rem 0.9rem;
	}

	.skg-eventbuilder--wizard .skg-hero h1 {
		font-size: 1.85rem;
	}

	.skg-eventbuilder--wizard .skg-hero-logo img {
		max-height: 2.75rem;
	}

	.skg-eventbuilder--wizard .skg-choice-card {
		grid-template-columns: 1fr;
	}

	.skg-eventbuilder--wizard .skg-choice-media,
	.skg-eventbuilder--wizard .skg-choice-fallback {
		min-height: 9rem;
	}
}

/* ==========================================================================
   13) ACCESSIBILITY
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
	.skg-eventbuilder--wizard * {
		scroll-behavior: auto !important;
	}
}

/* --------------------------------------------------------------------------
   Quantity mix (portion-based booking)
   -------------------------------------------------------------------------- */
.skg-eventbuilder--wizard .skg-quantity-mix {
	background: var(--eb-surface-alt, #f8f9fa);
	border: 1px solid var(--eb-border, #dee2e6);
	border-radius: var(--eb-radius, 4px);
	margin: 0 0 1.1rem;
	padding: 1rem 1.1rem;
}

.skg-eventbuilder--wizard .skg-mix-mode {
	border: 0;
	margin: 0 0 0.85rem;
	padding: 0;
}

.skg-eventbuilder--wizard .skg-mix-mode legend {
	font-size: 1.05rem;
	font-weight: 700;
	margin-bottom: 0.55rem;
}

.skg-eventbuilder--wizard .skg-mix-option {
	align-items: flex-start;
	background: var(--eb-surface, #fff);
	border: 1px solid var(--eb-border, #dee2e6);
	border-radius: var(--eb-radius, 4px);
	cursor: pointer;
	display: flex;
	gap: 0.65rem;
	margin: 0 0 0.5rem;
	padding: 0.75rem 0.85rem;
}

.skg-eventbuilder--wizard .skg-mix-option:has(input:checked) {
	border-color: var(--skg-brown);
	box-shadow: inset 0 0 0 1px var(--skg-brown);
}

.skg-eventbuilder--wizard .skg-mix-option strong {
	display: block;
}

.skg-eventbuilder--wizard .skg-mix-option em {
	color: var(--eb-text-muted, #6c757d);
	display: block;
	font-style: normal;
	font-size: 0.9rem;
	margin-top: 0.15rem;
}

.skg-eventbuilder--wizard .skg-mix-uniform-qty {
	margin-top: 0.75rem;
	max-width: 16rem;
}

.skg-eventbuilder--wizard .skg-mix-live {
	color: var(--eb-text-muted, #6c757d);
	font-size: 0.92rem;
	margin-top: 0.75rem;
}

.skg-eventbuilder--wizard .skg-mix-warn {
	color: #8a3b2d;
}

.skg-eventbuilder--wizard .skg-mix-hint {
	color: #6b635a;
	display: block;
	margin-top: 0.25rem;
}

.skg-eventbuilder--wizard .skg-package-qty-wrap {
	border-top: 1px solid rgba(90, 64, 42, 0.12);
	margin-top: 0.65rem;
	padding: 0.75rem 0.85rem 0.85rem;
}

.skg-eventbuilder--wizard .skg-package-qty-wrap label {
	display: block;
	font-size: 0.85rem;
	font-weight: 600;
	margin-bottom: 0.35rem;
}

.skg-eventbuilder--wizard .skg-qty-stepper {
	align-items: center;
	display: flex;
	gap: 0.4rem;
	max-width: 12rem;
}

.skg-eventbuilder--wizard .skg-qty-stepper .skg-package-qty {
	text-align: center;
}

.skg-eventbuilder--wizard .skg-qty-btn {
	background: #fff;
	border: 1px solid rgba(90, 64, 42, 0.22);
	border-radius: 8px;
	font-size: 1.1rem;
	font-weight: 700;
	height: 2.4rem;
	line-height: 1;
	min-width: 2.4rem;
}

.skg-eventbuilder--wizard .skg-package-list.is-seafood-grid {
	align-items: start;
	grid-template-columns: 1fr;
}

.skg-eventbuilder--wizard .skg-package-list.is-seafood-grid .skg-package-option.is-featured {
	grid-column: auto;
	grid-row: auto;
}

.skg-eventbuilder--wizard .skg-package-option.is-quantity-mix .skg-package-card {
	container-name: skg-seafood-card;
	container-type: inline-size;
	cursor: pointer;
	height: auto;
	min-height: 0;
	overflow: visible;
	pointer-events: auto;
}

.skg-eventbuilder--wizard .skg-package-option.is-quantity-mix .skg-package-action,
.skg-eventbuilder--wizard .skg-package-option.is-quantity-mix .skg-package-select-btn {
	margin-top: 0.75rem;
}

.skg-eventbuilder--wizard.is-mix-mixed .skg-package-option.is-quantity-mix .skg-package-card {
	cursor: default;
}

.skg-eventbuilder--wizard.is-mix-mixed .skg-package-option.is-quantity-mix .skg-package-select-btn,
.skg-eventbuilder--wizard.is-mix-mixed .skg-package-option.is-quantity-mix .skg-choice-mark {
	display: none;
}

.skg-eventbuilder--wizard .skg-package-option.is-quantity-mix.is-selected .skg-package-card,
.skg-eventbuilder--wizard .skg-package-option.is-quantity-mix.is-allocated .skg-package-card {
	border-color: var(--skg-brown);
	box-shadow: inset 3px 0 0 var(--skg-brown);
}

.skg-eventbuilder--wizard .skg-package-select-btn {
	align-self: stretch;
	background: var(--skg-brown);
	border: 0;
	border-radius: 8px;
	color: #fff;
	cursor: pointer;
	font-weight: 600;
	margin-top: 0.75rem;
	min-height: 44px;
	padding: 0.65rem 1rem;
}

.skg-eventbuilder--wizard .skg-package-select-btn:focus-visible {
	outline: 2px solid var(--skg-brown);
	outline-offset: 2px;
}

.skg-eventbuilder--wizard .skg-package-option.is-selected .skg-package-select-btn {
	background: #2f5d3a;
}

.skg-eventbuilder--wizard .skg-strength-alloc {
	border-top: 1px solid rgba(90, 64, 42, 0.14);
	margin-top: 0.85rem;
	padding-top: 0.85rem;
	width: 100%;
}

.skg-eventbuilder--wizard .skg-strength-alloc-title {
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0;
	margin: 0 0 0.75rem;
	text-transform: none;
}

/*
 * Strength rows: reserved stepper column + readable label.
 * Avoid minmax(0, 1fr) on the label ? it collapsed text behind the controls
 * when package cards were narrow beside the summary sidebar.
 */
.skg-eventbuilder--wizard .skg-strength-row,
.skg-eventbuilder--wizard .skg-seafood-strength-row {
	align-items: center;
	display: grid;
	gap: 0.75rem;
	grid-template-columns: minmax(5.75rem, 1fr) auto;
	margin-bottom: 0.65rem;
	min-width: 0;
}

.skg-eventbuilder--wizard .skg-strength-label,
.skg-eventbuilder--wizard .skg-seafood-strength-label {
	color: var(--skg-text);
	display: block;
	font-weight: 600;
	line-height: 1.3;
	margin: 0;
	min-width: 0;
	overflow: visible;
	white-space: normal;
	word-break: normal;
	overflow-wrap: break-word;
}

.skg-eventbuilder--wizard .skg-seafood-strength-label-text {
	display: inline;
}

.skg-eventbuilder--wizard .skg-strength-row .skg-qty-stepper,
.skg-eventbuilder--wizard .skg-seafood-qty-stepper {
	align-items: stretch;
	display: grid;
	flex-shrink: 0;
	gap: 0.4rem;
	grid-template-columns: 44px minmax(64px, 88px) 44px;
	justify-self: end;
	max-width: none;
	width: auto;
}

.skg-eventbuilder--wizard .skg-seafood-qty-stepper .skg-qty-btn {
	align-items: center;
	display: inline-flex;
	height: 44px;
	justify-content: center;
	min-height: 44px;
	min-width: 44px;
	padding: 0;
	width: 44px;
}

.skg-eventbuilder--wizard .skg-seafood-qty-stepper .skg-qty-btn:focus-visible {
	outline: 2px solid var(--skg-brown);
	outline-offset: 2px;
}

.skg-eventbuilder--wizard .skg-seafood-qty-stepper .skg-strength-qty {
	box-sizing: border-box;
	height: 44px;
	margin: 0;
	max-width: none;
	min-height: 44px;
	min-width: 0;
	padding-left: 0.35rem;
	padding-right: 0.35rem;
	scroll-margin-top: calc(var(--skg-public-header-offset, var(--skg-header-offset)) + 24px);
	text-align: center;
	width: 100%;
}

.skg-eventbuilder--wizard .skg-seafood-qty-stepper .skg-strength-qty::-webkit-outer-spin-button,
.skg-eventbuilder--wizard .skg-seafood-qty-stepper .skg-strength-qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.skg-eventbuilder--wizard .skg-seafood-qty-stepper .skg-strength-qty {
	-moz-appearance: textfield;
	appearance: textfield;
}

.skg-eventbuilder--wizard .skg-package-portion-total,
.skg-eventbuilder--wizard .skg-package-line-total {
	display: block;
	font-weight: 600;
	margin-top: 0.45rem;
}

.skg-eventbuilder--wizard .skg-mix-live {
	margin: 0.85rem 0 1.1rem;
	padding: 0.85rem 1rem;
	border-radius: var(--eb-radius, 4px);
	background: rgba(255, 255, 255, 0.78);
	border: 1px solid rgba(90, 64, 42, 0.14);
}

.skg-eventbuilder--wizard .skg-mix-ok {
	color: #2f5d3a;
	font-weight: 600;
}

.skg-eventbuilder--wizard .skg-mix-warn {
	color: #8a3b1d;
}

/* Narrow Seafood cards: label above stepper (container-based when supported). */
@supports (container-type: inline-size) {
	@container skg-seafood-card (max-width: 22rem) {
		.skg-eventbuilder--wizard .skg-strength-row,
		.skg-eventbuilder--wizard .skg-seafood-strength-row {
			align-items: stretch;
			gap: 0.4rem;
			grid-template-columns: 1fr;
		}

		.skg-eventbuilder--wizard .skg-strength-row .skg-qty-stepper,
		.skg-eventbuilder--wizard .skg-seafood-qty-stepper {
			grid-template-columns: 44px minmax(70px, 1fr) 44px;
			justify-self: stretch;
			width: 100%;
		}
	}
}

@media (max-width: 575.98px) {
	.skg-eventbuilder--wizard .skg-qty-stepper:not(.skg-seafood-qty-stepper) {
		max-width: none;
	}

	.skg-eventbuilder--wizard .skg-qty-btn,
	.skg-eventbuilder--wizard .skg-qty-stepper:not(.skg-seafood-qty-stepper) .skg-package-qty {
		flex: 1 1 auto;
	}

	.skg-eventbuilder--wizard .skg-strength-row,
	.skg-eventbuilder--wizard .skg-seafood-strength-row {
		align-items: stretch;
		gap: 0.4rem;
		grid-template-columns: 1fr;
	}

	.skg-eventbuilder--wizard .skg-strength-row .skg-qty-stepper,
	.skg-eventbuilder--wizard .skg-seafood-qty-stepper {
		grid-template-columns: 44px minmax(70px, 1fr) 44px;
		justify-self: stretch;
		width: 100%;
	}
}

/* Bookable occasions & sittings */
.skg-eventbuilder--wizard .skg-occasion-list {
	display: grid;
	gap: 0.85rem;
}

.skg-eventbuilder--wizard .skg-occasion-card {
	display: block;
	width: 100%;
	text-align: left;
	padding: 1.05rem 1.15rem;
	min-height: 4.5rem;
	border: 1px solid var(--skg-border);
	border-radius: 0.75rem;
	background: #fff;
	color: inherit;
	cursor: pointer;
}

.skg-eventbuilder--wizard .skg-occasion-card:hover,
.skg-eventbuilder--wizard .skg-occasion-card:focus-visible {
	border-color: var(--skg-brown);
	box-shadow: none;
	transform: none;
	outline: none;
}

.skg-eventbuilder--wizard .skg-occasion-card.is-selected {
	border-color: var(--skg-brown);
	box-shadow: none;
}

.skg-eventbuilder--wizard .skg-occasion-date {
	display: block;
	font-size: 1.15rem;
	font-weight: 700;
	margin-bottom: 0.35rem;
	letter-spacing: 0;
}

.skg-eventbuilder--wizard .skg-occasion-meta,
.skg-eventbuilder--wizard .skg-occasion-info {
	display: block;
	color: var(--skg-text-muted);
	margin: 0 0 0.45rem;
	line-height: 1.45;
}

.skg-eventbuilder--wizard .skg-occasion-action {
	display: inline-block;
	margin-top: 0.25rem;
	font-weight: 600;
	color: var(--skg-brown);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.skg-eventbuilder--wizard .skg-sitting-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr));
	gap: 0.75rem;
}

.skg-eventbuilder--wizard .skg-sitting-btn {
	min-width: 0;
	min-height: 4.25rem;
	padding: 0.85rem 0.95rem;
	border: 1px solid var(--skg-border);
	border-radius: 0.7rem;
	background: #f8f9fa;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	align-items: flex-start;
}

.skg-eventbuilder--wizard .skg-sitting-btn strong {
	font-size: 1.08rem;
	letter-spacing: 0;
}

.skg-eventbuilder--wizard .skg-sitting-btn span {
	font-size: 0.85rem;
	color: var(--skg-text-muted);
}

.skg-eventbuilder--wizard .skg-sitting-btn.is-selected {
	border-color: var(--skg-brown);
	background: #e7f1ff;
	box-shadow: none;
}

.skg-eventbuilder--wizard .skg-sitting-btn.is-disabled,
.skg-eventbuilder--wizard .skg-sitting-btn:disabled {
	opacity: 0.55;
	cursor: not-allowed;
	background: rgba(45, 42, 36, 0.04);
}

/* Fest/event uses the same light wizard styles as other event types. */
.skg-eventbuilder--wizard[data-wizard-profile="fest_event"] .skg-fest-step-heading h2,
.skg-eventbuilder--wizard[data-wizard-profile="fest_event"] .skg-fest-modules .skg-profile-content-title {
	font-family: inherit;
}

.skg-eventbuilder--wizard .skg-dependency-hint {
	color: var(--skg-text-muted);
	font-size: 0.86rem;
	margin: 0.35rem 0 0;
}

.skg-eventbuilder--wizard .skg-product.is-dependency-locked {
	opacity: 0.72;
}

@media (min-width: 1101px) {
	.skg-eventbuilder--wizard[data-wizard-profile="fest_event"] .skg-wizard-layout[data-has-sidebar="1"] {
		align-items: start;
		display: grid;
		gap: 1.25rem;
		grid-template-columns: minmax(0, 72%) minmax(240px, 28%);
	}
}
