/* ===================================================================
   LBEx 2026 mockup layout
   Adapted from Andrea's HTML/CSS mockup (ticket #222590 msg #224408).
   Single-page anchored layout. LFS-family amber/navy palette.
   Her forest green → navy, her maroon → amber, her cream/sand kept.
   =================================================================== */

:root {
	--lbex-navy:      #164473;
	--lbex-navy-deep: #0f2f50;
	--lbex-amber:     #B8893E;
	--lbex-amber-soft:#D2A86A;
	--lbex-amber-dark:#8a6529;
	--lbex-cream:     #f7f3ea;
	--lbex-sand:      #e7dcc8;
	--lbex-ink:       #1d2521;
	--lbex-muted:     #60706a;
	--lbex-white:     #ffffff;
	--lbex-radius:    24px;
}

/* Page reset for LBEx */
body.lbex-page {
	background: var(--lbex-cream) !important;
	color: var(--lbex-ink) !important;
	font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
	line-height: 1.6;
}

body.lbex-page h1,
body.lbex-page h2,
body.lbex-page h3,
body.lbex-page h4,
body.lbex-page p,
body.lbex-page span,
body.lbex-page a,
body.lbex-page li,
body.lbex-page strong {
	font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
	text-transform: none !important;
	letter-spacing: normal !important;
}

body.lbex-page h1,
body.lbex-page h2,
body.lbex-page h3,
body.lbex-page h4 {
	color: var(--lbex-navy-deep) !important;
	text-align: left !important;
	font-weight: 700 !important;
	line-height: 1.1 !important;
	margin: 0 0 16px;
}

body.lbex-page p {
	color: var(--lbex-ink);
	margin: 0 0 14px;
}

body.lbex-page #pagecell {
	max-width: none !important;
	margin: 0 !important;
	background: transparent !important;
}

body.lbex-page #content_container {
	max-width: none !important;
	margin-top: 0 !important;
	padding: 0 !important;
}

body.lbex-page #content {
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100%;
}

body.lbex-page #content > section.standard {
	padding: 0 !important;
	background: transparent !important;
}

/* Kill master.css absolute nav positioning */
body.lbex-page nav,
body.lbex-page .lbex-nav,
body.lbex-page .lbex-footer nav {
	position: static !important;
	top: auto !important;
	right: auto !important;
	left: auto !important;
	width: auto !important;
	text-align: left !important;
	z-index: auto !important;
	transition: none !important;
	padding: 0 !important;
}

body.lbex-page .lbex-nav a,
body.lbex-page .lbex-footer a {
	font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

/* Suppress master.css #content ul rules */
body.lbex-page #content ul.lbex-bullet-list,
body.lbex-page #content .lbex-panel ul,
body.lbex-page #content .lbex-card ul {
	list-style: none !important;
	padding-left: 0 !important;
	margin: 0 !important;
}

body.lbex-page #content ul.lbex-bullet-list li,
body.lbex-page #content .lbex-panel ul li,
body.lbex-page #content .lbex-card ul li {
	position: relative !important;
	padding-left: 22px !important;
	padding-right: 0 !important;
	margin: 0 0 8px 0 !important;
	text-indent: 0 !important;
	color: var(--lbex-muted);
	background: none !important;
	list-style: none !important;
}

body.lbex-page #content ul.lbex-bullet-list li:before,
body.lbex-page #content .lbex-panel ul li:before,
body.lbex-page #content .lbex-card ul li:before {
	content: "" !important;
	position: absolute !important;
	left: 4px !important;
	top: 9px !important;
	width: 8px !important;
	height: 8px !important;
	min-width: 8px !important;
	max-width: 8px !important;
	border-radius: 999px !important;
	background: var(--lbex-amber) !important;
	display: block !important;
	font-family: inherit !important;
	color: transparent !important;
	margin: 0 !important;
}

body.lbex-page header {
	background: var(--lbex-navy-deep) !important;
	box-shadow: none !important;
	height: auto !important;
	border: 0 !important;
	position: static !important;
}

body.lbex-page header::before { display: none !important; }

body.lbex-page header,
body.lbex-page #header_container {
	padding: 0 !important;
}

body.lbex-page #header_container {
	max-width: none;
	height: auto !important;
	display: block !important;
}

/* Topbar */
.lbex-topbar {
	background: var(--lbex-navy-deep);
	color: var(--lbex-white);
	padding: 12px 6vw;
	font-size: 14px;
	letter-spacing: 0.02em;
	display: flex;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
}

.lbex-topbar div { color: var(--lbex-white); }

/* Sticky nav */
.lbex-nav-wrap {
	background: var(--lbex-white);
	padding: 18px 6vw;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	box-shadow: 0 2px 12px rgba(0,0,0,.06);
	position: sticky;
	top: 0;
	z-index: 50;
}

.lbex-brand {
	font-weight: 800;
	color: var(--lbex-navy-deep);
	font-size: 20px;
	line-height: 1.1;
	text-decoration: none;
}

.lbex-brand-accent {
	color: var(--lbex-amber);
	font-size: 14px;
	font-weight: 600;
	display: block;
	margin-top: 2px;
}

.lbex-nav {
	display: none;
	gap: 22px;
	align-items: center;
	flex-wrap: wrap;
	font-size: 14px;
	color: var(--lbex-muted);
}

@media (min-width: 880px) {
	.lbex-nav { display: inline-flex; }
}

.lbex-nav a {
	color: var(--lbex-muted);
	text-decoration: none;
}

.lbex-nav a:hover { color: var(--lbex-navy-deep); }

.lbex-button {
	display: inline-block;
	background: var(--lbex-amber);
	color: var(--lbex-white) !important;
	padding: 13px 20px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 14px;
	text-decoration: none;
	box-shadow: 0 8px 20px rgba(184,137,62,.22);
	border: 0;
}

.lbex-button:hover { background: var(--lbex-amber-dark); color: var(--lbex-white) !important; }

.lbex-button.secondary {
	background: var(--lbex-navy);
	box-shadow: 0 8px 20px rgba(22,68,115,.22);
	border: 2px solid var(--lbex-amber);
	padding: 11px 18px;
}

.lbex-button.secondary:hover { background: var(--lbex-navy-deep); }

.lbex-button.light {
	background: var(--lbex-white);
	color: var(--lbex-navy-deep) !important;
	box-shadow: none;
}

.lbex-button.light:hover { background: var(--lbex-cream); color: var(--lbex-navy-deep) !important; }

/* Hero */
body.lbex-page .lbex-hero {
	padding: 90px 6vw 70px !important;
	background: linear-gradient(135deg, rgba(22,68,115,0.96), rgba(15,47,80,0.94)) !important;
	color: var(--lbex-white);
}

body.lbex-page .lbex-hero h1,
body.lbex-page .lbex-hero h2,
body.lbex-page .lbex-hero h3 { color: var(--lbex-white) !important; }
body.lbex-page .lbex-hero p,
body.lbex-page .lbex-hero .lbex-hero-sub { color: rgba(255,255,255,0.88) !important; }

.lbex-hero-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
	max-width: 1180px;
	margin: 0 auto;
	align-items: center;
}

@media (min-width: 880px) {
	.lbex-hero-grid { grid-template-columns: 1.2fr 0.8fr; gap: 50px; }
}

.lbex-eyebrow {
	text-transform: uppercase !important;
	letter-spacing: 0.14em !important;
	font-size: 13px;
	font-weight: 700;
	color: var(--lbex-amber-soft) !important;
	margin-bottom: 14px;
	display: block;
}

.lbex-hero h1 {
	font-size: clamp(36px, 5vw, 56px);
	line-height: 1.05;
	margin: 0 0 18px;
	letter-spacing: -0.02em !important;
}

.lbex-hero-sub {
	font-size: 18px;
	max-width: 720px;
	margin-bottom: 28px;
}

.lbex-hero-card {
	background: rgba(255,255,255,0.10);
	border: 1px solid rgba(255,255,255,0.22);
	border-radius: 28px;
	padding: 30px;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

body.lbex-page .lbex-hero-card h3 {
	color: var(--lbex-white) !important;
	margin: 0 0 12px;
	font-size: 22px;
}

body.lbex-page .lbex-hero-card p {
	color: rgba(255,255,255,0.92) !important;
	margin: 0;
	font-size: 15px;
}

.lbex-hero-actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 24px;
}

/* Section base */
body.lbex-page .lbex-section {
	padding: 72px 6vw !important;
}

.lbex-container {
	max-width: 1180px;
	margin: 0 auto;
}

.lbex-section-heading { max-width: 820px; margin-bottom: 32px; }

.lbex-section h2 {
	font-size: clamp(28px, 3.6vw, 44px);
	line-height: 1.1;
	margin: 0 0 14px;
	letter-spacing: -0.02em !important;
}

.lbex-lead {
	font-size: 18px;
	color: var(--lbex-muted) !important;
	margin: 0;
}

/* Cards grid */
.lbex-cards {
	display: grid;
	gap: 20px;
	grid-template-columns: 1fr;
}

@media (min-width: 720px) { .lbex-cards { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) { .lbex-cards { grid-template-columns: repeat(3, 1fr); } }

.lbex-card {
	background: var(--lbex-white);
	border-radius: 22px;
	padding: 28px;
	box-shadow: 0 10px 30px rgba(0,0,0,0.06);
	border: 1px solid rgba(15,47,80,0.08);
}

.lbex-card h3 {
	margin: 0 0 10px;
	font-size: 20px;
	color: var(--lbex-navy-deep) !important;
}

.lbex-card p {
	color: var(--lbex-muted);
	font-size: 15px;
	margin: 0;
}

/* Dark section (Booth Holders) */
.lbex-section.lbex-dark {
	background: var(--lbex-navy-deep);
	color: var(--lbex-white);
}

body.lbex-page .lbex-section.lbex-dark h2,
body.lbex-page .lbex-section.lbex-dark h3,
body.lbex-page .lbex-section.lbex-dark h4 { color: var(--lbex-white) !important; }
body.lbex-page .lbex-section.lbex-dark p,
body.lbex-page .lbex-section.lbex-dark .lbex-lead,
body.lbex-page .lbex-section.lbex-dark li { color: rgba(255,255,255,0.85) !important; }
body.lbex-page #content .lbex-section.lbex-dark .lbex-bullet-list li:before { background: var(--lbex-amber-soft) !important; }

.lbex-split {
	display: grid;
	gap: 36px;
	grid-template-columns: 1fr;
	align-items: center;
}

@media (min-width: 880px) { .lbex-split { grid-template-columns: 1fr 1fr; gap: 42px; } }

.lbex-panel {
	background: rgba(255,255,255,0.08);
	border: 1px solid rgba(255,255,255,0.16);
	border-radius: 28px;
	padding: 32px;
}

.lbex-panel h3 { margin: 0 0 14px; }
.lbex-section.lbex-dark .lbex-panel { background: rgba(255,255,255,0.08); }

.lbex-section:not(.lbex-dark) .lbex-panel {
	background: var(--lbex-sand);
	border: 1px solid rgba(15,47,80,0.06);
	color: var(--lbex-ink);
}

.lbex-section:not(.lbex-dark) .lbex-panel h3 { color: var(--lbex-navy-deep) !important; }
.lbex-section:not(.lbex-dark) .lbex-panel li { color: var(--lbex-ink); }

/* Pricing tiers */
.lbex-pricing {
	display: grid;
	gap: 20px;
	grid-template-columns: 1fr;
}

@media (min-width: 880px) { .lbex-pricing { grid-template-columns: repeat(3, 1fr); align-items: stretch; } }

.lbex-price-card {
	background: var(--lbex-white);
	border-radius: 22px;
	padding: 30px;
	border: 2px solid transparent;
	box-shadow: 0 10px 30px rgba(0,0,0,0.06);
	display: flex;
	flex-direction: column;
}

.lbex-price-card.featured {
	border-color: var(--lbex-amber);
	transform: translateY(-6px);
}

.lbex-price-card h3 {
	margin: 0 0 6px;
	color: var(--lbex-navy-deep) !important;
}

.lbex-price-label {
	font-size: 28px;
	color: var(--lbex-amber) !important;
	font-weight: 800;
	margin: 8px 0 12px !important;
}

.lbex-price-card p {
	color: var(--lbex-muted);
	margin: 0 0 14px;
	font-size: 15px;
}

@media (max-width: 879px) {
	.lbex-price-card.featured { transform: none; }
}

/* Sand-bg section (Event Experience) */
.lbex-section.lbex-sand-bg { background: var(--lbex-sand); }
.lbex-section.lbex-sand-bg .lbex-lead { color: var(--lbex-muted) !important; }

.lbex-timeline {
	display: grid;
	gap: 14px;
}

.lbex-timeline-item {
	background: var(--lbex-white);
	padding: 22px 24px;
	border-radius: 18px;
	border-left: 6px solid var(--lbex-amber);
}

.lbex-timeline-item strong {
	color: var(--lbex-navy-deep);
	margin-right: 4px;
}

/* CTA band (replaces her maroon block) */
body.lbex-page .lbex-cta-band {
	background: var(--lbex-amber) !important;
	color: var(--lbex-white);
	text-align: center;
	padding: 64px 6vw !important;
}

body.lbex-page .lbex-cta-band h2 { color: var(--lbex-white) !important; text-align: center !important; }

body.lbex-page .lbex-cta-band p {
	max-width: 760px;
	margin: 0 auto 24px;
	font-size: 18px;
	color: rgba(255,255,255,0.94) !important;
	text-align: center !important;
}

/* Footer */
body.lbex-page .lbex-footer {
	background: var(--lbex-ink) !important;
	color: rgba(255,255,255,0.78);
	padding: 40px 6vw !important;
	font-size: 14px;
}

body.lbex-page footer {
	background: transparent !important;
	padding: 0 !important;
}

body.lbex-page .footer-social-block,
body.lbex-page #copyright,
body.lbex-page #footer_social,
body.lbex-page #back-top-wrapper { display: none !important; }

.lbex-footer-grid {
	max-width: 1180px;
	margin: 0 auto;
	display: grid;
	gap: 24px;
	grid-template-columns: 1fr;
}

@media (min-width: 640px) { .lbex-footer-grid { grid-template-columns: 1fr 1fr; } }

.lbex-footer strong { color: var(--lbex-white); }
.lbex-footer a { color: rgba(255,255,255,0.78); text-decoration: underline; }
.lbex-footer a:hover { color: var(--lbex-white); }

/* Eventbrite embed placeholders (light + dark variants) */
.lbex-embed-placeholder {
	background: rgba(184, 137, 62, 0.07);
	border: 1px dashed var(--lbex-amber);
	border-radius: var(--lbex-radius);
	padding: 28px 24px;
	margin: 32px 0 0;
	text-align: center;
}
.lbex-embed-placeholder p { color: var(--lbex-ink); margin: 0 0 12px; }
.lbex-embed-placeholder p:last-child { margin-bottom: 0; }
.lbex-embed-label {
	font-size: 11px;
	font-weight: 700 !important;
	letter-spacing: 1.5px;
	text-transform: uppercase !important;
	color: var(--lbex-amber-dark) !important;
}
.lbex-embed-placeholder-dark {
	background: rgba(184, 137, 62, 0.14);
	border-color: var(--lbex-amber-soft);
}
.lbex-embed-placeholder-dark p { color: var(--lbex-cream); }
.lbex-embed-placeholder-dark .lbex-embed-label { color: var(--lbex-amber-soft) !important; }

/* Eventbrite widget container (live embed) */
.lbex-eventbrite-widget {
	background: var(--lbex-white);
	border-radius: var(--lbex-radius);
	padding: 16px;
	margin: 32px 0 0;
	overflow: hidden;
}
.lbex-eventbrite-widget iframe { display: block; width: 100% !important; }

/* Compact hero for interior pages (Attend / Get a Booth) */
body.lbex-page .lbex-hero-compact {
	padding: 80px 24px 64px !important;
	background: linear-gradient(180deg, var(--lbex-cream) 0%, var(--lbex-sand) 100%);
}
body.lbex-page .lbex-hero-compact .lbex-container { max-width: 980px; margin: 0 auto; text-align: center; }
body.lbex-page .lbex-hero-compact h1 { font-size: clamp(2rem, 4vw, 3rem) !important; text-align: center !important; margin: 12px 0 16px; }
body.lbex-page .lbex-hero-compact .lbex-hero-sub { font-size: 1.2rem; color: var(--lbex-ink); max-width: 760px; margin: 0 auto; }
body.lbex-page .lbex-hero-compact .lbex-eyebrow { display: inline-block; }

/* Tighter section heading variant */
.lbex-section-heading-tight { margin-top: 24px; }

/* Centered CTA inside a section */
.lbex-section-cta { text-align: center; margin-top: 32px; }

/* Prose container for long-form copy (booth page) */
.lbex-prose { max-width: 820px; margin: 0 auto; }
body.lbex-page .lbex-prose h2 { margin-top: 36px; }
body.lbex-page .lbex-prose h2:first-child { margin-top: 0; }
body.lbex-page .lbex-prose p { font-size: 1.05rem; line-height: 1.7; }
body.lbex-page .lbex-dark .lbex-prose h2,
body.lbex-page .lbex-dark .lbex-prose h3 { color: var(--lbex-cream) !important; }
body.lbex-page .lbex-dark .lbex-prose p,
body.lbex-page .lbex-dark .lbex-prose li,
body.lbex-page .lbex-dark .lbex-prose strong { color: var(--lbex-cream); }

/* Tier list for pricing approach */
.lbex-tier-list { margin: 24px 0; display: grid; gap: 14px; }
.lbex-tier {
	background: rgba(247, 243, 234, 0.08);
	border-left: 4px solid var(--lbex-amber);
	border-radius: 8px;
	padding: 16px 20px;
}
body.lbex-page .lbex-tier { color: var(--lbex-cream); font-size: 1.05rem; }
body.lbex-page .lbex-tier strong { color: var(--lbex-amber-soft); }

/* Tighter bullet spacing variant */
.lbex-bullet-tight li { margin-bottom: 4px !important; }

/* Numbered list with framed items (Why Attend page) */
.lbex-numbered-list {
	list-style: none;
	counter-reset: lbex-counter;
	padding: 0;
	margin: 24px 0;
	display: grid;
	gap: 18px;
}
.lbex-numbered-list > li {
	counter-increment: lbex-counter;
	background: rgba(255, 255, 255, 0.55);
	border-left: 4px solid var(--lbex-amber);
	border-radius: 12px;
	padding: 20px 24px 16px;
	position: relative;
	padding-left: 64px;
}
.lbex-numbered-list > li::before {
	content: counter(lbex-counter);
	position: absolute;
	left: 16px;
	top: 18px;
	font-size: 1.4rem;
	font-weight: 800;
	color: var(--lbex-amber-dark);
	width: 32px;
	text-align: center;
}
body.lbex-page .lbex-numbered-list > li strong { color: var(--lbex-navy-deep); font-size: 1.1rem; display: block; margin-bottom: 6px; }
body.lbex-page .lbex-numbered-list > li p { margin: 0; }

.lbex-prose-closer { font-size: 1.15rem; font-style: italic; color: var(--lbex-navy-deep); margin-top: 28px; }
