/* Plugin lives inside the theme: keep site header/footer, hide only the page title. */
body.emwa-conf-body .entry-header,
body.emwa-conf-body .page-header,
body.emwa-conf-body #page-header,
body.emwa-conf-body .wpex-page-header,
body.emwa-conf-body .content-area .entry-title,
body.emwa-conf-body .site-main .entry-title,
body.emwa-conf-body .site-content .page-title,
body.emwa-conf-body #content .page-title,
body.emwa-conf-body #content-wrap .page-header {
	display: none !important;
}

.emwa-app {
	font: var(--type-body);
	font-family: var(--font-sans);
	color: var(--text-body);
	background: var(--grey-50);
	display: flex;
	flex-direction: column;
}
.emwa-app,
.emwa-app h1,
.emwa-app h2,
.emwa-app h3,
.emwa-app h4,
.emwa-app p,
.emwa-app a,
.emwa-app button,
.emwa-app input,
.emwa-app select,
.emwa-app textarea,
.emwa-app nav {
	font-family: var(--font-sans) !important;
}
.emwa-app nav {
	background: transparent;
	box-shadow: none;
	width: auto;
}
.emwa-app *,
.emwa-app *::before,
.emwa-app *::after { box-sizing: border-box; }
.emwa-app a { color: var(--text-link); text-decoration: none; }
.emwa-app a:hover { color: var(--text-link-hover); text-decoration: underline; }
.emwa-app h1, .emwa-app h2, .emwa-app h3, .emwa-app h4 {
	margin: 0;
	color: var(--text-heading);
	text-wrap: pretty;
}
.emwa-app h1 { font: var(--type-h1); letter-spacing: var(--tracking-tight); }
.emwa-app h2 { font: var(--type-h2); letter-spacing: var(--tracking-tight); }
.emwa-app h3 { font: var(--type-h3); }
.emwa-app p { margin: 0 0 14px; text-wrap: pretty; }
.emwa-app p:last-child { margin-bottom: 0; }

.emwa-wrap {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--gutter);
}
.emwa-main {
	flex: 1;
	max-width: var(--container-max);
	width: 100%;
	margin: 0 auto;
	padding: 28px 24px 48px;
}
.emwa-main > .emwa-wrap {
	max-width: none;
	padding: 0;
	margin: 0;
}

/* Conference menu */
.emwa-mast {
	position: relative;
	z-index: 45;
	overflow: visible;
	background: var(--white);
	border-bottom: 1px solid var(--border-subtle);
}

.emwa-app-navonly {
	margin: 0 0 24px;
}
.emwa-app-navonly .emwa-subnav-wrap {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

.emwa-util {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 34px;
	border-bottom: 1px solid var(--grey-100);
	font: var(--type-eyebrow);
	letter-spacing: var(--tracking-caps);
	text-transform: uppercase;
	color: var(--text-muted);
}
.emwa-util-right {
	display: flex;
	gap: 20px;
	align-items: center;
	text-transform: none;
	letter-spacing: 0;
	font: var(--type-body-sm);
	color: var(--text-muted);
	font-weight: 400;
}
.emwa-util-right a { color: var(--text-muted); }
.emwa-basket-link { color: var(--text-brand) !important; font-weight: 600; }

.emwa-brand {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 18px 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	flex-wrap: wrap;
}
.emwa-logo { display: block; }
.emwa-brand img,
.emwa-logo img { height: 34px; width: auto; display: block; }

.emwa-sitenav,
.emwa-nav {
	display: flex;
	gap: 22px;
	align-items: center;
	flex-wrap: wrap;
	font: var(--type-label);
	color: var(--text-heading);
}
.emwa-sitenav a,
.emwa-nav a {
	color: var(--text-heading);
	padding-bottom: 2px;
	border-bottom: 2px solid transparent;
}
.emwa-sitenav a:hover,
.emwa-nav a:hover { text-decoration: none; color: var(--brand); }
.emwa-sitenav a.is-on,
.emwa-nav a.is-on {
	color: var(--brand);
	border-bottom-color: var(--brand);
	text-decoration: none;
}
.emwa-sitenav .emwa-btn { border-bottom: 0; }

.emwa-subnav-wrap {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 24px;
	background: var(--white);
	display: flex;
	align-items: center;
	gap: 16px;
}
.emwa-subnav {
	display: flex;
	gap: 24px;
	align-items: center;
	padding: 10px 0;
	font: var(--type-body-sm);
	flex-wrap: wrap;
	flex: 1;
	min-width: 0;
}
.emwa-subnav a {
	color: var(--text-body);
	padding-bottom: 3px;
	border-bottom: 2px solid transparent;
	font-weight: 400;
}
.emwa-subnav a:hover { text-decoration: none; color: var(--brand); }
.emwa-subnav a.is-on {
	color: var(--brand);
	font-weight: 600;
	border-bottom-color: var(--brand);
	text-decoration: none;
}

.emwa-cart {
	position: relative;
	flex: 0 0 auto;
	align-self: stretch;
	display: flex;
	align-items: center;
}
.emwa-cart-toggle {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: var(--radius-sm);
	background: transparent;
	color: var(--text-heading);
	cursor: pointer;
	appearance: none;
	box-shadow: none;
	line-height: 1;
}
.emwa-cart-toggle:focus-visible {
	outline: 2px solid var(--brand);
	outline-offset: 2px;
}
.emwa-cart-toggle:hover,
.emwa-cart.is-open .emwa-cart-toggle {
	color: var(--brand);
	background: var(--brand-subtle);
}
.emwa-cart-ico { display: block; }
.emwa-cart-count {
	position: absolute;
	top: 4px;
	right: 2px;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	border-radius: 8px;
	background: var(--brand);
	color: var(--white);
	font: var(--weight-semibold) 10px / 16px var(--font-sans);
	text-align: center;
}
.emwa-cart-drop {
	position: fixed;
	z-index: 60;
	width: min(380px, calc(100vw - 24px));
	max-height: min(70vh, 560px);
	overflow: auto;
	background: var(--white);
	border: 1px solid var(--border-subtle);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-md);
	padding: 24px;
	border-left: 4px solid var(--brand);
}
.emwa-cart-drop[hidden] { display: none !important; }
.emwa-cart-drop-h {
	font: var(--type-h3);
	color: var(--text-heading);
	margin: 0 0 16px;
}
.emwa-cart-empty {
	margin: 0 0 14px;
	font: var(--type-body-sm);
	color: var(--text-muted);
}
.emwa-cart-lines {
	list-style: none;
	margin: 0 0 4px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.emwa-cart-lines li {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 12px;
	align-items: flex-start;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--border-subtle);
	font: var(--type-body-sm);
}
.emwa-cart-line-copy { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.emwa-cart-line-title {
	color: var(--text-heading);
	font: var(--type-label);
}
.emwa-cart-line-meta {
	color: var(--text-muted);
	font: var(--type-body-sm);
}
.emwa-cart-line-price {
	color: var(--text-heading);
	font: var(--type-body);
	white-space: nowrap;
}
.emwa-cart-total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 16px 0;
	margin-bottom: 4px;
	border-top: 0;
	font: var(--type-h3);
	color: var(--text-heading);
}
.emwa-cart-total strong { font: var(--type-h3); }
.emwa-cart-full {
	display: block;
	margin-top: 12px;
	text-align: center;
	font: var(--type-body-sm);
}

/* Homepage hero */
.emwa-hero {
	position: relative;
	min-height: 440px;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	background: #013b1c;
	color: var(--white);
}
.emwa-hero-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 72% center;
}
.emwa-hero-scrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(100deg, rgba(1, 38, 18, 0.92) 0%, rgba(1, 38, 18, 0.62) 46%, rgba(1, 38, 18, 0.18) 100%);
}
.emwa-hero-inner {
	position: relative;
	z-index: 1;
	width: 100%;
	padding: 72px 24px 52px;
}
.emwa-hero-kicker {
	font: var(--type-eyebrow);
	letter-spacing: var(--tracking-caps);
	text-transform: uppercase;
	color: var(--green-200);
	margin: 0 0 14px;
}
.emwa-hero h1 {
	margin: 0 0 16px;
	color: var(--white) !important;
	max-width: 16ch;
	font: var(--type-h1) !important;
	font-family: var(--font-sans) !important;
	letter-spacing: var(--tracking-tight);
}
.emwa-hero-lead {
	margin: 0 0 28px;
	max-width: 42ch;
	font: var(--type-body);
	color: rgba(255, 255, 255, 0.88);
}
.emwa-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.emwa-hero-note {
	margin: 18px 0 0;
	font: var(--type-body-sm);
	color: rgba(255, 255, 255, 0.72);
}
.emwa-btn-on-dark {
	background: transparent;
	color: var(--white) !important;
	border-color: rgba(255, 255, 255, 0.55);
}
.emwa-btn-on-dark:hover { background: rgba(255, 255, 255, 0.12); border-color: var(--white); }

.emwa-page-banner {
	padding: 16px 0 8px;
	line-height: 0;
}
.emwa-app .emwa-page-banner img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	max-height: none;
	object-fit: unset;
	border-radius: var(--radius-md);
}

/* Compact inner-page title */
.emwa-pagehead-inline { padding: 0 0 18px; }
.emwa-pagehead h1 {
	margin: 0 0 8px;
	max-width: 900px;
}
.emwa-pagehead .emwa-standfirst {
	margin: 0;
	max-width: 58ch;
	color: var(--text-muted);
	font: var(--type-body);
}
.emwa-pagehead .emwa-eyebrow { margin-bottom: 8px; }

.emwa-eyebrow {
	font: var(--type-eyebrow);
	letter-spacing: var(--tracking-caps);
	text-transform: uppercase;
	color: var(--text-brand);
	margin-bottom: 8px;
}

.emwa-crumbbar {
	background: var(--white);
	border-bottom: 1px solid var(--border-subtle);
}
.emwa-crumbbar-inner {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 12px 24px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	flex-wrap: wrap;
}
.emwa-crumbs { font: var(--type-body-sm); color: var(--text-muted); }
.emwa-crumbs span { color: var(--text-body); }
.emwa-crumb-note {
	display: flex;
	gap: 10px;
	align-items: center;
	font: var(--type-body-sm);
	color: var(--text-muted);
}
.emwa-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--sand-500);
	display: inline-block;
	flex-shrink: 0;
}

.emwa-back {
	cursor: pointer;
	background: var(--white);
	border: 1px solid var(--border-subtle);
	border-radius: 6px;
	padding: 8px 14px;
	margin-bottom: 20px;
	font: var(--type-body-sm);
	font-weight: 600;
	color: var(--text-brand) !important;
	display: inline-flex;
	gap: 8px;
	align-items: center;
	box-shadow: var(--shadow-sm);
	text-decoration: none !important;
}
.emwa-back:hover { background: var(--brand-subtle); }

/* Cards */
.emwa-card {
	background: var(--white) !important;
	border-top: 1px solid var(--border-subtle) !important;
	border-right: 1px solid var(--border-subtle) !important;
	border-bottom: 1px solid var(--border-subtle) !important;
	border-left-width: var(--accent-bar-width) !important;
	border-left-style: solid !important;
	border-left-color: var(--brand);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-sm);
	padding: 24px;
	margin-bottom: 16px;
}
.emwa-card-lg { padding: 28px 32px; }
.emwa-card-flush { padding: 0; overflow: hidden; }
.emwa-card h2, .emwa-card h3 { margin-top: 0; color: var(--text-heading); }
.emwa-card h2 { margin-bottom: 12px; }
.emwa-card h3 { margin-bottom: 10px; }
.emwa-home-intro h2 { margin: 0 0 14px; }
.emwa-home-aside .emwa-eyebrow { margin-bottom: 12px; }
.emwa-card emwa-how-muted,
.emwa-card > .emwa-muted { margin: 0 0 20px; }
.emwa-card-accent-sand { border-left-color: var(--sand-500); }
.emwa-card-accent-grey { border-left-color: var(--grey-300); }
.emwa-card-plain { border-left-width: 1px; border-left-color: var(--border-subtle); }

.emwa-price { font-weight: 600; color: var(--text-heading); }
.emwa-muted { color: var(--text-muted); }

/* Home: 2-col */
.emwa-home {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 36px;
	align-items: start;
}
.emwa-home-main,
.emwa-home-aside {
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.emwa-home-aside { gap: 20px; }
.emwa-home .emwa-card { margin-bottom: 0; }
.emwa-home-intro p { margin: 0 0 14px; max-width: 68ch; }
.emwa-home-intro p:last-child { margin-bottom: 0; }

.emwa-type-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}
.emwa-type-tile {
	background: var(--white) !important;
	border-top: 1px solid var(--border-subtle) !important;
	border-right: 1px solid var(--border-subtle) !important;
	border-bottom: 1px solid var(--border-subtle) !important;
	border-left-width: 4px !important;
	border-left-style: solid !important;
	border-left-color: var(--brand);
	border-radius: 10px;
	box-shadow: var(--shadow-sm);
	padding: 22px 24px;
	color: inherit !important;
	text-decoration: none !important;
	display: block;
}
.emwa-type-tile:hover { box-shadow: var(--shadow-md); text-decoration: none !important; }
.emwa-type-tile h3 { margin: 0 0 8px; }
.emwa-type-tile p { margin: 0 0 12px; font: var(--type-body-sm); }
.emwa-type-tile .emwa-price { font: var(--type-body-sm); font-weight: 600; }

.emwa-glance { margin: 0; display: grid; grid-template-columns: 1fr auto; row-gap: 10px; column-gap: 16px; font: var(--type-body-sm); }
.emwa-glance dt { color: var(--text-muted); }
.emwa-glance dd { margin: 0; font-weight: 600; color: var(--text-heading); }

.emwa-page-links { display: flex; flex-direction: column; gap: 10px; font: var(--type-body-sm); }

.emwa-steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin-top: 20px;
}
.emwa-step { border-top: 2px solid var(--brand-border); padding-top: 12px; }
.emwa-step .emwa-eyebrow { color: var(--text-brand); margin-bottom: 6px; }
.emwa-step strong { display: block; color: var(--text-heading); margin-bottom: 4px; font-weight: 600; }
.emwa-step p { margin: 0; font: var(--type-body-sm); }

.emwa-cta {
	background: var(--brand-subtle);
	border: 1px solid var(--brand-border);
	border-radius: 10px;
	padding: 26px 30px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}
.emwa-cta h3 { margin: 0 0 6px; }
.emwa-cta p { margin: 0; max-width: 56ch; }
.emwa-cta > div { max-width: 56ch; }
.emwa-cta-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.emwa-text-btn {
	background: none;
	border: 0;
	padding: 0;
	margin: 0;
	font: inherit;
	color: inherit;
	cursor: pointer;
	text-align: left;
}
.emwa-text-btn:hover { text-decoration: underline; color: var(--text-link-hover); }
.emwa-util .emwa-text-btn,
.emwa-util-right .emwa-text-btn { color: var(--text-muted); }
.emwa-foot .emwa-text-btn { color: var(--grey-300); text-align: left; }
.emwa-foot .emwa-text-btn:hover { color: var(--white); }

.emwa-badge {
	display: inline-flex;
	align-items: center;
	font: var(--type-eyebrow);
	letter-spacing: var(--tracking-caps);
	text-transform: uppercase;
	padding: 3px 8px;
	border-radius: 3px;
	line-height: 1.2;
}
.emwa-badge-warning { background: var(--warning-50); color: var(--warning-500); border: 1px solid var(--warning-500); }
.emwa-badge-brand { background: var(--brand-subtle); color: var(--brand); border: 1px solid var(--brand-border); }
.emwa-badge-neutral { background: var(--grey-100); color: var(--grey-700); border: 1px solid var(--grey-200); }

/* Buttons */
.emwa-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--brand);
	color: var(--white) !important;
	border: 1px solid var(--brand);
	border-radius: var(--radius-sm);
	padding: 0 16px;
	height: var(--control-h-md);
	font-weight: 600;
	font-size: 14px;
	line-height: 1.2;
	cursor: pointer;
	text-decoration: none !important;
	font-family: inherit;
	white-space: nowrap;
}
.emwa-btn:hover { background: var(--brand-hover); border-color: var(--brand-hover); text-decoration: none !important; }
.emwa-btn-lg { height: var(--control-h-lg); padding: 0 22px; font-size: 16px; }
.emwa-btn-sm { height: var(--control-h-sm); padding: 0 14px; font-size: 14px; }
.emwa-btn-secondary { background: var(--white); color: var(--brand) !important; }
.emwa-btn-primary { background: var(--brand); color: var(--white) !important; }
.emwa-btn-secondary:hover { background: var(--brand-subtle); }
.emwa-btn-ghost { background: transparent; color: var(--text-body) !important; border-color: var(--grey-300); }
.emwa-btn-ghost:hover { background: var(--grey-50); }
.emwa-btn:disabled,
.emwa-btn.is-disabled { opacity: 0.45; cursor: not-allowed; pointer-events: none; }
.emwa-btn-block { width: 100%; }
.emwa-btn-text-danger {
	height: auto;
	padding: 0;
	border: 0;
	background: none;
	color: var(--danger-500) !important;
	font: var(--type-body-sm);
	box-shadow: none;
}
.emwa-btn-text-danger:hover { background: none; color: #7a1818 !important; text-decoration: underline !important; }

/* Programme toolbar */
.emwa-prog { display: flex; flex-direction: column; gap: 20px; }
.emwa-prog-toolbar {
	background: var(--white);
	border: 1px solid var(--border-subtle);
	border-radius: 10px;
	box-shadow: var(--shadow-sm);
	padding: 18px 22px;
	display: flex;
	gap: 24px;
	align-items: center;
	flex-wrap: wrap;
	justify-content: space-between;
}
.emwa-chips {
	display: flex;
	gap: 10px;
	align-items: center;
	flex-wrap: wrap;
}
.emwa-chip-label {
	font: var(--type-eyebrow);
	letter-spacing: var(--tracking-caps);
	text-transform: uppercase;
	color: var(--text-muted);
	margin-right: 4px;
}
.emwa-chip {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	border: 1px solid var(--border-subtle);
	border-radius: 999px;
	padding: 5px 12px;
	font: var(--type-body-sm);
	background: var(--white);
	color: var(--text-body) !important;
	text-decoration: none !important;
	cursor: pointer;
}
.emwa-chip:hover { border-color: var(--brand); color: var(--brand) !important; }
.emwa-chip.is-on {
	background: var(--brand-subtle);
	border-color: var(--brand);
	color: var(--brand) !important;
	font-weight: 600;
}
.emwa-chip i {
	width: 10px;
	height: 10px;
	border-radius: 3px;
	display: inline-block;
	flex-shrink: 0;
}
.emwa-view-toggle {
	display: flex;
	gap: 12px;
	align-items: center;
	font: var(--type-body-sm);
	color: var(--text-muted);
}
.emwa-seg {
	display: flex;
	border: 1px solid var(--border-strong);
	border-radius: 6px;
	overflow: hidden;
}
.emwa-seg a,
.emwa-seg button {
	cursor: pointer;
	border: 0;
	border-left: 1px solid var(--border-strong);
	padding: 7px 15px;
	font: var(--type-body-sm);
	font-weight: 600;
	background: var(--white);
	color: var(--text-body);
	text-decoration: none !important;
	font-family: inherit;
}
.emwa-seg a:first-child,
.emwa-seg button:first-child { border-left: 0; }
.emwa-seg a.is-on,
.emwa-seg button.is-on {
	background: var(--brand);
	color: var(--white) !important;
}

.emwa-filters {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin: 0;
}
.emwa-filters select,
.emwa-app input[type=text],
.emwa-app input[type=email],
.emwa-app input[type=tel],
.emwa-app select,
.emwa-app textarea {
	height: 42px;
	border: 1px solid var(--grey-300);
	border-radius: var(--radius-sm);
	padding: 0 12px;
	font: inherit;
	background: var(--white);
	color: var(--text-body);
}
.emwa-app textarea { height: auto; padding: 10px 12px; }
.emwa-app label { display: block; font: var(--type-label); color: var(--text-heading); margin-bottom: 6px; }

/* Day heading with hairline */
.emwa-day {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 14px;
}
.emwa-day h2,
.emwa-day-title {
	font: var(--type-h3);
	margin: 0;
	color: var(--text-heading);
}
.emwa-day-rule {
	flex: 1;
	height: 1px;
	background: var(--border-subtle);
}
.emwa-day-count {
	font: var(--type-body-sm);
	color: var(--text-muted);
	font-weight: 400;
}

.emwa-day-stack { display: flex; flex-direction: column; gap: 12px; }
.emwa-day-block { margin: 0; }
.emwa-day-block + .emwa-day-block { margin-top: 8px; }

/* Session cards: 2-col */
.emwa-session-card {
	background: var(--white);
	border: 1px solid var(--border-subtle);
	border-left: 4px solid var(--brand);
	border-radius: 10px;
	box-shadow: var(--shadow-sm);
	padding: 20px 24px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 200px;
	gap: 24px;
	align-items: start;
	margin-bottom: 0;
}
.emwa-session-card.is-in-basket {
	border-color: var(--brand-border);
	background: var(--white);
}
.emwa-session-card.is-clash {
	border-color: var(--danger-500);
}
.emwa-session-meta {
	display: flex;
	gap: 10px;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: 8px;
}
.emwa-type-eye {
	font: var(--type-eyebrow);
	letter-spacing: var(--tracking-caps);
	text-transform: uppercase;
}
.emwa-session-meta .emwa-time { font: var(--type-body-sm); color: var(--text-muted); }
.emwa-session-card h3 { margin: 0 0 6px; text-wrap: pretty; }
.emwa-session-card h3 a { color: var(--text-heading); }
.emwa-session-card h3 a:hover { color: var(--brand); text-decoration: none; }
.emwa-session-leader {
	font: var(--type-body-sm);
	color: var(--text-muted);
	margin-bottom: 10px;
}
.emwa-session-card .emwa-excerpt {
	margin: 0;
	font: var(--type-body-sm);
	max-width: 74ch;
}
.emwa-session-links {
	display: flex;
	gap: 14px;
	margin-top: 12px;
	font: var(--type-body-sm);
	flex-wrap: wrap;
}
.emwa-session-links .emwa-muted { color: var(--text-muted); }
.emwa-session-cta {
	display: flex;
	flex-direction: column;
	gap: 10px;
	align-items: stretch;
	text-align: right;
}
.emwa-session-cta .emwa-session-price {
	font: var(--type-h3);
	color: var(--text-heading);
}
.emwa-session-cta .emwa-seats { font: var(--type-body-sm); color: var(--text-muted); }
.emwa-session-cta .emwa-inline-form,
.emwa-session-cta .emwa-btn { width: 100%; }
.emwa-state { font: var(--type-body-sm); font-weight: 600; color: var(--text-brand); }
.emwa-state.is-danger { color: var(--danger-500); }

.emwa-tag {
	display: inline-block;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	padding: 3px 8px;
	border-radius: 3px;
}

/* Timetable */
.emwa-tt {
	background: var(--white);
	border: 1px solid var(--border-subtle);
	border-radius: 10px;
	box-shadow: var(--shadow-sm);
	overflow: hidden;
}
.emwa-tt-head,
.emwa-tt-row {
	display: grid;
	grid-template-columns: 120px repeat(4, minmax(0, 1fr));
}
.emwa-tt-head {
	background: var(--grey-100);
	border-bottom: 1px solid var(--border-subtle);
}
.emwa-tt-head > div {
	padding: 12px 16px;
	font: var(--type-eyebrow);
	letter-spacing: var(--tracking-caps);
	text-transform: uppercase;
	color: var(--text-muted);
}
.emwa-tt-head > div + div { border-left: 1px solid var(--border-subtle); }
.emwa-tt-row { border-bottom: 1px solid var(--grey-100); }
.emwa-tt-row:last-child { border-bottom: 0; }
.emwa-tt-day {
	padding: 14px 16px;
	background: var(--grey-25);
}
.emwa-tt-day strong { display: block; color: var(--text-heading); font-weight: 700; }
.emwa-tt-day span { font: var(--type-body-sm); color: var(--text-muted); }
.emwa-tt-cell {
	padding: 10px;
	border-left: 1px solid var(--grey-100);
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.emwa-tt-item {
	text-align: left;
	background: var(--white);
	border: 1px solid var(--border-subtle);
	border-left: 4px solid var(--brand);
	border-radius: 6px;
	padding: 9px 11px;
	display: flex;
	flex-direction: column;
	gap: 5px;
	font: var(--type-body-sm);
	color: var(--text-body);
	text-decoration: none !important;
	transition: box-shadow 180ms cubic-bezier(.2, .6, .2, 1);
}
.emwa-tt-item:hover { box-shadow: var(--shadow-md); }
.emwa-tt-item .emwa-tt-time { color: var(--text-muted); }
.emwa-tt-item .emwa-tt-title { font-weight: 600; color: var(--text-heading); line-height: 1.35; }
.emwa-tt-item .emwa-tt-meta { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.emwa-tt-item.is-in-basket { background: var(--brand-subtle); border-color: var(--brand-border); }
.emwa-tt-item.is-clash { background: var(--danger-50); border-color: var(--danger-500); }
.emwa-tt-legend {
	display: flex;
	gap: 12px;
	align-items: center;
	font: var(--type-body-sm);
	color: var(--text-muted);
	flex-wrap: wrap;
}
.emwa-tt-legend span { display: inline-flex; align-items: center; gap: 6px; }
.emwa-swatch {
	width: 14px;
	height: 14px;
	border-radius: 3px;
	display: inline-block;
	border: 1px solid var(--border-subtle);
}
.emwa-swatch-in { background: var(--brand-subtle); border-color: var(--brand-border); }
.emwa-swatch-clash { background: var(--danger-50); border-color: var(--danger-500); }

.emwa-two {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 32px;
	align-items: start;
}
.emwa-two-session { grid-template-columns: minmax(0, 1fr) 320px; }
.emwa-sticky {
	position: sticky;
	top: calc(var(--emwa-mast-h, 148px) + 12px);
	z-index: 5;
	align-self: start;
}
.emwa-sticky .emwa-inline-form,
.emwa-sticky .emwa-btn { width: 100%; }
.emwa-stack { display: flex; flex-direction: column; gap: 18px; }
.emwa-stack .emwa-card { margin-bottom: 0; }

.emwa-display-price {
	font: var(--type-display);
	font-size: 34px;
	line-height: 1.1;
	color: var(--text-heading);
	margin-bottom: 4px;
}
.emwa-kv { display: flex; flex-direction: column; gap: 10px; font: var(--type-body-sm); }
.emwa-kv-row { display: flex; justify-content: space-between; gap: 12px; }
.emwa-kv-row dt, .emwa-kv-row span:first-child { color: var(--text-muted); }
.emwa-kv-row dd, .emwa-kv-row span:last-child { margin: 0; font-weight: 600; color: var(--text-heading); }

.emwa-table { width: 100%; border-collapse: collapse; font: var(--type-body-sm); }
.emwa-table th,
.emwa-table td { text-align: left; padding: 14px 16px; border-bottom: 1px solid var(--grey-100); vertical-align: top; }
.emwa-table thead th {
	background: var(--grey-100);
	font: var(--type-eyebrow);
	letter-spacing: var(--tracking-caps);
	text-transform: uppercase;
	color: var(--text-muted);
	padding: 12px 16px;
}
.emwa-table thead th:first-child,
.emwa-table td:first-child { padding-left: 28px; }
.emwa-table thead th:last-child,
.emwa-table td:last-child { padding-right: 28px; text-align: right; }
.emwa-table tbody tr:last-child td { border-bottom: 0; }
.emwa-num { text-align: right; font-weight: 600; color: var(--text-heading); }

.emwa-fee-head { padding: 22px 28px 18px; border-bottom: 1px solid var(--border-subtle); }
.emwa-fee-head h2 { margin: 0 0 6px; }
.emwa-fee-head p { margin: 0; color: var(--text-muted); }
.emwa-policies {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}
.emwa-countdown-row {
	display: flex;
	gap: 28px;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 22px 28px;
}
.emwa-countdown { display: flex; gap: 10px; }
.emwa-count-cell {
	background: var(--grey-100);
	border-radius: 6px;
	padding: 10px 16px;
	text-align: center;
	min-width: 64px;
}
.emwa-count-cell .v { font: var(--type-h3); color: var(--text-heading); }
.emwa-count-cell .l {
	font: var(--type-eyebrow);
	letter-spacing: var(--tracking-caps);
	text-transform: uppercase;
	color: var(--text-muted);
}

.emwa-notice {
	max-width: var(--container-max);
	margin: 16px auto 0;
	padding: 12px 24px;
	background: var(--danger-50);
	border: 1px solid var(--danger-500);
	border-radius: var(--radius-sm);
	color: var(--danger-500);
	font: var(--type-body-sm);
}
.emwa-notice.is-ok { background: var(--brand-subtle); border-color: var(--brand); color: var(--green-700); }
.emwa-banner {
	background: var(--brand-subtle);
	border: 1px solid var(--brand-border);
	border-radius: 10px;
	padding: 16px 20px;
	font: var(--type-body-sm);
	display: flex;
	gap: 10px;
	align-items: center;
}

.emwa-check {
	display: flex !important;
	gap: 12px;
	align-items: flex-start;
	border: 1px solid var(--border-strong);
	border-radius: 10px;
	padding: 14px 16px;
	cursor: pointer;
	margin: 0;
	color: var(--text-heading) !important;
	background: var(--white);
	visibility: visible !important;
	opacity: 1 !important;
	position: relative !important;
	width: auto !important;
	height: auto !important;
	clip: auto !important;
	font-size: inherit !important;
}
.emwa-check:has(input:checked) { border-color: var(--brand); background: var(--brand-subtle); }
.emwa-check input { accent-color: var(--brand); margin-top: 2px; flex: 0 0 auto; }
.emwa-checkout-steps { display: flex; gap: 10px; list-style: none; padding: 0; margin: 16px 0 0; align-items: center; font: var(--type-label); color: var(--text-muted); flex-wrap: wrap; }
.emwa-checkout-steps li { display: flex; gap: 10px; align-items: center; }
.emwa-checkout-steps li:not(:last-child)::after {
	content: "";
	width: 28px;
	height: 1px;
	background: var(--border-strong);
	display: block;
}
.emwa-checkout-steps .n {
	width: 22px; height: 22px; border-radius: 50%;
	background: var(--grey-100); color: var(--text-muted);
	border: 1px solid var(--border-strong);
	display: inline-flex; align-items: center; justify-content: center;
	font: var(--type-eyebrow);
}
.emwa-checkout-steps li.is-on .n,
.emwa-checkout-steps li.is-done .n { background: var(--brand); color: #fff; border-color: var(--brand); }
.emwa-checkout-steps li.is-on { color: var(--text-heading); }
.emwa-checkout-steps li.is-done { color: var(--text-brand); }
.emwa-inline-form { display: inline-block; }
.emwa-coupon { margin: 18px 0 0; padding-top: 16px; border-top: 1px solid var(--border-subtle); }
.emwa-coupon h3 { margin: 0 0 8px; font: var(--type-h4); }
.emwa-coupon-applied {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 12px;
	background: var(--brand-subtle, #eef6f0);
	border-radius: 8px;
}
.emwa-coupon-applied .emwa-muted { margin: 4px 0 0; }
.emwa-coupon-code {
	font-weight: 700;
	letter-spacing: .04em;
	color: var(--text-heading);
}
.emwa-coupon-form { display: flex; gap: 8px; flex-wrap: wrap; }
.emwa-coupon-form input[type="text"] {
	flex: 1 1 140px;
	min-width: 0;
	padding: 8px 10px;
	border: 1px solid var(--border-subtle);
	border-radius: 8px;
}
.emwa-empty-basket { margin-top: 16px; }
.emwa-text-btn {
	background: none;
	border: 0;
	padding: 0;
	color: var(--text-muted);
	text-decoration: underline;
	cursor: pointer;
	font: inherit;
}
.emwa-text-btn:hover { color: var(--brand); }
.emwa-cart-coupon {
	margin: 0 0 10px;
	font: var(--type-body-sm);
	color: var(--text-brand);
	font-weight: 600;
}
.emwa-btn-sm { padding: 6px 10px; font-size: 13px; }
.emwa-speaker-code { margin: 18px 0 0; padding-top: 16px; border-top: 1px solid var(--border-subtle); }
.emwa-speaker-code h3 { margin: 0 0 8px; font: var(--type-h4); }
.emwa-speaker-form { display: flex; gap: 8px; flex-wrap: wrap; }
.emwa-speaker-form input[type="text"] {
	flex: 1 1 140px;
	min-width: 0;
	padding: 8px 10px;
	border: 1px solid var(--border-subtle);
	border-radius: 8px;
}
.emwa-pay-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }

.emwa-basket-item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 110px 90px;
	gap: 20px;
	align-items: center;
	padding: 18px 22px;
}
.emwa-basket-item h3 { margin: 0 0 4px; font-weight: 600; font-size: 16px; }
.emwa-summary-total {
	border-top: 1px solid var(--border-subtle);
	padding-top: 16px;
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin: 16px 0 0;
}
.emwa-summary-total strong { font: var(--type-h3); color: var(--text-heading); }
.emwa-summary-total .emwa-total { font: var(--type-h2); color: var(--text-heading); }

/* Footer */
.emwa-foot {
	background: var(--grey-900);
	color: var(--grey-300);
	padding: 52px 24px 28px;
	margin-top: auto;
}
.emwa-foot a { color: var(--grey-300); }
.emwa-foot a:hover { color: var(--white); }
.emwa-foot-grid {
	max-width: var(--container-max);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr;
	gap: 40px;
	align-items: start;
	padding: 0;
}
.emwa-foot-name { font: var(--type-h3); color: var(--white); margin-bottom: 14px; }
.emwa-foot p { margin: 0; font: var(--type-body-sm); color: var(--grey-400); line-height: 1.7; }
.emwa-foot-grid > div { display: flex; flex-direction: column; gap: 10px; font: var(--type-body-sm); }
.emwa-foot-eye { color: var(--white) !important; margin-bottom: 4px; }
.emwa-foot-copy {
	max-width: var(--container-max);
	margin: 28px auto 0;
	padding: 18px 0 0;
	border-top: 1px solid var(--grey-800);
	font: var(--type-body-sm);
	color: var(--grey-500);
}

@media (max-width: 960px) {
	.emwa-home, .emwa-two, .emwa-two-session, .emwa-policies { grid-template-columns: 1fr; }
	.emwa-type-grid { grid-template-columns: 1fr; }
	.emwa-steps { grid-template-columns: 1fr 1fr; }
	.emwa-session-card { grid-template-columns: 1fr; }
	.emwa-session-cta { text-align: left; }
	.emwa-tt { overflow-x: auto; }
	.emwa-tt-head, .emwa-tt-row { min-width: 780px; }
	.emwa-foot-grid { grid-template-columns: 1fr; gap: 28px; }
	.emwa-hero { min-height: 360px; }
	.emwa-hero h1,
	.emwa-pagehead h1 { font-size: 28px; }
	.emwa-basket-item { grid-template-columns: 1fr; text-align: left; }
}
@media (max-width: 640px) {
	.emwa-steps { grid-template-columns: 1fr; }
	.emwa-sitenav { gap: 14px; }
	.emwa-brand { padding: 14px 16px; }
}

/* Stay-on-page dialog */
body.emwa-dialog-open { overflow: hidden; }
.emwa-dialog[hidden] { display: none !important; }
.emwa-dialog {
	position: fixed;
	inset: 0;
	z-index: 80;
	display: grid;
	place-items: center;
	padding: 24px;
}
.emwa-dialog-scrim {
	position: absolute;
	inset: 0;
	z-index: 0;
	background: rgba(23, 25, 26, 0.45);
}
.emwa-dialog-panel {
	position: relative;
	z-index: 2;
	pointer-events: auto;
	width: min(440px, 100%);
	background: var(--white);
	border: 1px solid var(--border-subtle);
	border-radius: 10px;
	box-shadow: var(--shadow-md);
	padding: 28px 28px 24px;
	border-left: 4px solid var(--brand);
}
.emwa-dialog-panel.is-wide {
	width: min(640px, 100%);
	max-height: min(82vh, 760px);
	display: flex;
	flex-direction: column;
	overflow: hidden;
}
.emwa-dialog-panel.is-wide [data-emwa-panel="terms"]:not([hidden]) {
	display: flex;
	flex-direction: column;
	min-height: 0;
	flex: 1;
}
.emwa-terms-body {
	overflow-y: auto;
	margin: 10px 0 16px;
	padding-right: 8px;
	font: var(--type-body-sm);
	line-height: 1.6;
	color: var(--text-body);
}
.emwa-terms-body h3 {
	margin: 18px 0 8px;
	font: var(--type-h4);
	color: var(--text-heading);
}
.emwa-terms-body h3:first-child { margin-top: 0; }
.emwa-terms-body p { margin: 0 0 12px; }
.emwa-terms-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	padding-top: 4px;
}
.emwa-dialog-panel h2 { margin: 0 0 10px; }
.emwa-dialog-x {
	position: absolute;
	top: 12px;
	right: 14px;
	border: 0;
	background: transparent;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
	color: var(--text-muted);
}
.emwa-dialog-form p { margin: 0 0 12px; }
.emwa-dialog-form input[type=text],
.emwa-dialog-form input[type=password],
.emwa-dialog-form input[type=email] {
	width: 100%;
	height: 42px;
	border: 1px solid var(--grey-300);
	border-radius: var(--radius-sm);
	padding: 0 12px;
	font: inherit;
}
.emwa-dialog-err { color: var(--danger-500); font: var(--type-body-sm); }
.emwa-dialog-ok { color: var(--text-brand); font: var(--type-body-sm); }
.emwa-dialog-links { margin: 14px 0 0; }
.admin-bar .emwa-dialog { top: 32px; }

.emwa-test-strip {
	background: #8a5a12;
	color: #fff;
	padding: 10px 24px;
	font: var(--type-body-sm);
	text-align: center;
}
.emwa-test-strip strong { margin-right: 8px; letter-spacing: .04em; text-transform: uppercase; }

.emwa-member-strip {
	background: #013b1c;
	color: var(--white);
	padding: 12px 0;
}
.emwa-member-strip-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}
.emwa-member-strip-copy { max-width: 72ch; }
.emwa-member-strip-copy strong {
	display: block;
	font: var(--type-label);
	color: var(--white);
	margin-bottom: 2px;
}
.emwa-member-strip p {
	margin: 0;
	font: var(--type-body-sm);
	color: rgba(255, 255, 255, 0.82);
}
.emwa-member-strip-actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.emwa-member-strip .emwa-btn-secondary {
	background: rgba(255, 255, 255, 0.12);
	color: var(--white) !important;
	border-color: var(--white);
}
.emwa-member-strip .emwa-btn-secondary:hover { background: rgba(255, 255, 255, 0.22); }
.emwa-access-note {
	background: var(--brand-subtle);
	border: 1px solid var(--brand-border);
	border-radius: 10px;
	padding: 12px 16px;
	font: var(--type-body-sm);
	margin: 0 0 20px;
}
.emwa-prog > .emwa-access-note { margin-bottom: 0; }
.emwa-home-member h2 { margin: 0 0 8px; font-size: 20px; }
.emwa-home-member p { margin: 0 0 16px; }
.emwa-basket-head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	margin: 0;
}
.emwa-basket-head h2 { margin: 0; font: var(--type-h3); color: var(--text-heading); }
.emwa-basket-hold {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	background: var(--brand-subtle);
	border: 1px solid var(--brand-border);
	border-radius: var(--radius-md);
	padding: 16px 20px;
	font: var(--type-body-sm);
	margin: 0;
}
.emwa-basket-hold p { margin: 0; }
.emwa-basket-hold-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--sand-500);
	margin-top: 6px;
	flex: none;
}
.emwa-basket-stack {
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.emwa-basket-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 110px 90px;
	gap: 20px;
	align-items: center;
	padding: 18px 22px;
	background: var(--white);
	border: 1px solid var(--border-subtle);
	border-left: 4px solid var(--brand);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-sm);
}
.emwa-basket-card h3 { margin: 0 0 4px; font: var(--type-label); color: var(--text-heading); }
.emwa-basket-card-kicker {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	margin-bottom: 6px;
}
.emwa-basket-card-kicker .emwa-eyebrow { margin: 0; }
.emwa-basket-row-price { font: var(--type-label); text-align: right; color: var(--text-heading); }
.emwa-basket-row-act {
	text-align: right;
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 6px;
	align-items: flex-end;
	font: var(--type-body-sm);
}
.emwa-basket-row-act .emwa-btn { min-width: 0; }
.emwa-basket-swap { font: var(--type-body-sm); }
.emwa-basket-lock { margin: 8px 0 0; font: var(--type-body-sm); color: var(--text-muted); }
.emwa-basket-empty { padding: 28px 30px; }
.emwa-checkout-wall .emwa-cta-actions { margin-top: 18px; }
.emwa-checkout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 28px 32px;
	align-items: start;
}
.emwa-checkout-main,
.emwa-basket-lines { min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.emwa-checkout-head { margin: 0; }
.emwa-checkout-head .emwa-section-lead { margin: 8px 0 0 !important; max-width: 62ch; }
.emwa-checkout-head h1 { margin: 4px 0 0; font: var(--type-h1); letter-spacing: var(--tracking-tight); color: var(--text-heading); }
.emwa-checkout-form {
	display: flex;
	flex-direction: column;
	gap: 20px;
	color: var(--text-body);
}
.emwa-section {
	margin: 0;
	padding: 24px;
	border: 1px solid var(--border-subtle);
	border-radius: var(--radius-md);
	background: var(--white);
	color: var(--text-body);
	box-shadow: var(--shadow-sm);
	min-width: 0;
}
.emwa-section h2 {
	margin: 0 0 6px !important;
	font: var(--type-h3) !important;
	color: var(--text-heading) !important;
}
.emwa-section-lead {
	margin: 0 0 14px !important;
	font: var(--type-body-sm);
	color: var(--text-muted) !important;
}
.emwa-section-extra { margin-top: 14px; }
.emwa-choice-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}
.emwa-app label.emwa-choice {
	display: flex !important;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
	padding: 14px 16px;
	border: 1px solid var(--border-strong);
	border-radius: 10px;
	background: var(--white) !important;
	color: var(--text-heading) !important;
	cursor: pointer;
	visibility: visible !important;
	opacity: 1 !important;
	position: relative !important;
	width: auto !important;
	height: auto !important;
	clip: auto !important;
	font-size: inherit !important;
	line-height: 1.4;
}
.emwa-app label.emwa-choice:has(input:checked) {
	border-color: var(--brand);
	background: var(--brand-subtle) !important;
	box-shadow: inset 0 0 0 1px var(--brand);
}
.emwa-choice input {
	accent-color: var(--brand);
	margin-top: 3px;
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	opacity: 1 !important;
	position: static !important;
}
.emwa-choice-copy {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}
.emwa-choice-copy strong {
	display: block;
	color: var(--text-heading) !important;
	font-weight: 600;
}
.emwa-choice-kicker {
	font: var(--type-eyebrow);
	letter-spacing: var(--tracking-caps);
	text-transform: uppercase;
	color: var(--text-brand) !important;
}
.emwa-choice-check { grid-column: 1 / -1; }
.emwa-field-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 16px;
}
.emwa-field-span { grid-column: 1 / -1; }
.emwa-app .emwa-field-grid > p > label,
.emwa-app .emwa-section p > label {
	display: block !important;
	margin-bottom: 6px;
	color: var(--text-heading) !important;
	font: var(--type-label);
	visibility: visible !important;
	opacity: 1 !important;
	position: relative !important;
	clip: auto !important;
	height: auto !important;
	width: auto !important;
}
.emwa-section input[type="text"],
.emwa-section input[type="email"],
.emwa-section input[type="tel"],
.emwa-section select,
.emwa-section textarea {
	width: 100%;
	max-width: none;
	color: var(--text-heading);
	background: var(--white);
}
.emwa-section-pay { color: var(--text-body) !important; }
.emwa-invoice-note {
	margin: 14px 0 0 !important;
	padding: 14px 16px;
	background: var(--grey-25, #fafbfa);
	border: 1px solid var(--border-subtle);
	border-radius: 10px;
	font: var(--type-body-sm);
	color: var(--text-body) !important;
	line-height: 1.55;
}
.emwa-invoice-note[hidden] { display: none !important; }
.emwa-section-terms { background: var(--grey-50); }
.emwa-summary-card {
	background: var(--white);
	border: 1px solid var(--border-subtle);
	border-left: 4px solid var(--brand);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-sm);
	padding: 24px;
	color: var(--text-body);
}
.emwa-summary-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 16px;
}
.emwa-summary-head h2 { margin: 0 !important; font: var(--type-h3) !important; color: var(--text-heading); }
.emwa-summary-head a { font: var(--type-body-sm); }
.emwa-summary-lines {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.emwa-summary-lines li {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 0 0 14px;
	border-bottom: 1px solid var(--border-subtle);
	font: var(--type-body-sm);
	color: var(--text-body);
}
.emwa-summary-lines li span { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.emwa-summary-title { font: var(--type-label); color: var(--text-heading); }
.emwa-summary-meta { font: var(--type-body-sm); color: var(--text-muted); }
.emwa-summary-lines li strong { color: var(--text-heading); white-space: nowrap; font: var(--type-body); font-weight: 400; }
.emwa-summary-rows { padding: 16px 0 0; display: flex; flex-direction: column; gap: 8px; }
.emwa-summary-note { margin: 14px 0 0 !important; font: var(--type-body-sm); }
.emwa-summary-links { margin: 12px 0 0 !important; }
.emwa-summary-card .emwa-btn-lg { margin-top: 18px; }
.emwa-app [hidden] { display: none !important; }
@media (max-width: 900px) {
	.emwa-checkout { grid-template-columns: 1fr; }
	.emwa-choice-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
	.emwa-field-grid { grid-template-columns: 1fr; }
	.emwa-basket-card { grid-template-columns: 1fr; }
	.emwa-basket-row-price,
	.emwa-basket-row-act { text-align: left; align-items: flex-start; }
	.emwa-member-strip { padding: 12px 16px; }
}
