/* ==========================================================================
   Te Popo Gardens - Live Music Landing Page Styles
   Theme: Altitude Pro Genesis Child Theme
   Event: Live Music at Te Popo · Saturday 24 October 2026
   ========================================================================== */

/* Google Fonts Import */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400&family=Playfair+Display:ital,wght@0,600;0,700;1,400;1,600&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');

/* Scope container overrides */
.live-music-page .site-inner {
	background: #fbfbf7;
	margin-top: 0;
	max-width: 100%;
	padding: 0;
}

.live-music-page.full-width-content .content {
	padding: 0;
}

.live-music-page .entry {
	margin-bottom: 0;
}

/* Master Design Tokens */
.live-music {
	--lm-forest-deep: #0a170e;
	--lm-forest-dark: #122316;
	--lm-forest-mid: #1d3624;
	--lm-forest-light: #2e5338;
	
	--lm-gold-bright: #ffb13b;
	--lm-gold-warm: #f39c12;
	--lm-gold-deep: #d37e0e;
	
	--lm-fire-orange: #e65100;
	--lm-braai-red: #c0392b;
	--lm-earth-wood: #5a3825;
	
	--lm-bg-light: #fbfbf7;
	--lm-bg-card: #ffffff;
	--lm-bg-tint: #f3f3eb;
	--lm-border: #e3e2d5;
	
	--lm-text-main: #1d251f;
	--lm-text-muted: #526356;
	--lm-text-light: #e6eee8;
	--lm-text-white: #ffffff;
	
	--lm-radius-sm: 8px;
	--lm-radius-md: 14px;
	--lm-radius-lg: 20px;
	--lm-radius-full: 9999px;
	
	--lm-shadow-subtle: 0 4px 20px rgba(10, 23, 14, 0.06);
	--lm-shadow-card: 0 12px 36px rgba(10, 23, 14, 0.09);
	--lm-shadow-elevate: 0 20px 48px rgba(10, 23, 14, 0.16);
	
	--lm-font-sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	--lm-font-heading: 'Montserrat', 'Playfair Display', Georgia, serif;
	
	background: var(--lm-bg-light);
	color: var(--lm-text-main);
	font-family: var(--lm-font-sans);
	font-size: 17px;
	line-height: 1.65;
	overflow-x: hidden;
	scroll-behavior: smooth;
}

.live-music * {
	box-sizing: border-box;
}

.live-music a {
	color: var(--lm-forest-mid);
	text-decoration: none;
	transition: color 0.2s ease, opacity 0.2s ease;
}

.live-music a:hover {
	color: var(--lm-gold-warm);
}

.live-music-wrap {
	margin: 0 auto;
	max-width: 1180px;
	padding-left: 28px;
	padding-right: 28px;
	width: 100%;
}

/* Typography Helpers */
.live-music-kicker {
	color: var(--lm-gold-deep);
	display: inline-block;
	font-family: var(--lm-font-heading);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 2.2px;
	margin-bottom: 12px;
	text-transform: uppercase;
}

.live-music-kicker--gold {
	color: var(--lm-gold-bright);
}

.live-music-h2 {
	color: var(--lm-forest-deep);
	font-family: var(--lm-font-heading);
	font-size: 38px;
	font-weight: 700;
	letter-spacing: -0.5px;
	line-height: 1.22;
	margin: 0 0 16px;
}

.live-music-h2--light {
	color: var(--lm-text-white);
}

.live-music-subtext {
	color: var(--lm-text-muted);
	font-size: 19px;
	line-height: 1.5;
	margin: 0;
	max-width: 680px;
}

.live-music-section {
	padding: 96px 0;
	position: relative;
}

.live-music-section-header {
	margin-bottom: 56px;
	text-align: center;
}

.live-music-section-header .live-music-subtext {
	margin-left: auto;
	margin-right: auto;
}

/* Buttons */
.live-music-btn {
	align-items: center;
	border: 2px solid transparent;
	border-radius: var(--lm-radius-full);
	cursor: pointer;
	display: inline-flex;
	font-family: var(--lm-font-heading);
	font-size: 16px;
	font-weight: 700;
	gap: 10px;
	justify-content: center;
	letter-spacing: 0.5px;
	padding: 16px 36px;
	text-align: center;
	text-transform: uppercase;
	transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

.live-music-btn--primary {
	background: linear-gradient(135deg, #f59e0b 0%, #ea580c 100%);
	box-shadow: 0 8px 24px rgba(234, 88, 12, 0.35);
	color: #ffffff !important;
}

.live-music-btn--primary:hover {
	box-shadow: 0 12px 32px rgba(234, 88, 12, 0.5);
	transform: translateY(-2px);
}

.live-music-btn--secondary {
	background: rgba(255, 255, 255, 0.12);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-color: rgba(255, 255, 255, 0.35);
	color: #ffffff !important;
}

.live-music-btn--secondary:hover {
	background: rgba(255, 255, 255, 0.22);
	border-color: #ffffff;
	transform: translateY(-2px);
}

.live-music-btn--outline {
	background: transparent;
	border-color: var(--lm-gold-bright);
	color: var(--lm-gold-bright) !important;
}

.live-music-btn--outline:hover {
	background: var(--lm-gold-bright);
	color: var(--lm-forest-deep) !important;
	transform: translateY(-2px);
}

.live-music-btn--full {
	width: 100%;
}

.live-music-btn--large {
	font-size: 18px;
	padding: 20px 44px;
}

/* ==========================================================================
   1. HERO SECTION
   ========================================================================== */
.live-music-hero {
	background-color: var(--lm-forest-deep);
	background-image: var(--hero-bg);
	background-position: center center;
	background-size: cover;
	min-height: 840px;
	position: relative;
}

.live-music-hero__backdrop {
	background: 
		radial-gradient(ellipse at 80% 90%, rgba(230, 81, 0, 0.25) 0%, transparent 55%),
		radial-gradient(ellipse at 20% 20%, rgba(20, 50, 25, 0.4) 0%, transparent 60%),
		linear-gradient(180deg, rgba(10, 23, 14, 0.72) 0%, rgba(12, 28, 18, 0.85) 60%, rgba(10, 23, 14, 0.98) 100%);
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}

.live-music-hero__content {
	padding: 170px 28px 90px;
	position: relative;
	text-align: center;
	z-index: 2;
}

.live-music-hero__badge-row {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin-bottom: 24px;
}

.live-music-pill {
	align-items: center;
	border-radius: var(--lm-radius-full);
	display: inline-flex;
	font-size: 13px;
	font-weight: 700;
	gap: 8px;
	letter-spacing: 0.8px;
	padding: 8px 18px;
	text-transform: uppercase;
}

.live-music-pill--gold {
	background: rgba(245, 158, 11, 0.18);
	border: 1px solid rgba(245, 158, 11, 0.45);
	color: #fef08a;
}

.live-music-pill__dot {
	background: #facc15;
	border-radius: 50%;
	box-shadow: 0 0 10px #facc15;
	display: inline-block;
	height: 8px;
	width: 8px;
}

.live-music-pill--glass {
	background: rgba(255, 255, 255, 0.08);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid rgba(255, 255, 255, 0.2);
	color: #e2e8f0;
}

.live-music-hero__title {
	color: #ffffff;
	font-family: var(--lm-font-heading);
	font-size: 64px;
	font-weight: 800;
	letter-spacing: -1px;
	line-height: 1.08;
	margin: 0 auto 16px;
	max-width: 900px;
	text-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
}

.live-music-hero__subtitle {
	color: #fde68a;
	font-family: var(--lm-font-heading);
	font-size: 26px;
	font-weight: 500;
	letter-spacing: -0.2px;
	line-height: 1.35;
	margin: 0 auto 36px;
	max-width: 760px;
}

/* Quick specs bar */
.live-music-hero__quick-specs {
	background: rgba(18, 35, 22, 0.7);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: var(--lm-radius-md);
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
	display: inline-flex;
	flex-wrap: wrap;
	gap: 20px;
	justify-content: center;
	margin: 0 auto 36px;
	padding: 18px 32px;
}

.live-music-spec-item {
	align-items: center;
	display: flex;
	gap: 12px;
	text-align: left;
}

.live-music-spec-icon {
	font-size: 24px;
}

.live-music-spec-label {
	color: #94a3b8;
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.live-music-spec-val {
	color: #ffffff;
	font-size: 16px;
	font-weight: 600;
}

.live-music-spec-divider {
	background: rgba(255, 255, 255, 0.15);
	height: 38px;
	width: 1px;
}

.live-music-hero__intro {
	color: #e2e8f0;
	font-size: 20px;
	line-height: 1.55;
	margin: 0 auto 40px;
	max-width: 820px;
}

.live-music-hero__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	justify-content: center;
	margin-bottom: 24px;
}

.live-music-hero__notice {
	color: #fde047;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 600;
	margin: 0;
}

.live-music-notice-dot {
	background: #facc15;
	border-radius: 50%;
	display: inline-block;
	height: 6px;
	width: 6px;
}

/* ==========================================================================
   2. STORY SECTION
   ========================================================================== */
.live-music-story {
	background: #ffffff;
	border-bottom: 1px solid var(--lm-border);
}

.live-music-split-grid {
	align-items: start;
	display: grid;
	gap: 60px;
	grid-template-columns: 1fr 1.15fr;
}

.live-music-accent-line {
	background: linear-gradient(90deg, var(--lm-gold-warm), transparent);
	height: 4px;
	margin-top: 24px;
	width: 80px;
}

.live-music-lead-p {
	color: var(--lm-forest-deep);
	font-size: 21px;
	font-weight: 600;
	line-height: 1.5;
	margin-top: 0;
}

.live-music-story__body p {
	color: var(--lm-text-muted);
	font-size: 18px;
	line-height: 1.7;
	margin-bottom: 20px;
}

.live-music-story__quote {
	background: var(--lm-bg-tint);
	border-left: 4px solid var(--lm-gold-warm);
	border-radius: 0 var(--lm-radius-sm) var(--lm-radius-sm) 0;
	color: var(--lm-forest-deep);
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 21px;
	font-style: italic;
	line-height: 1.5;
	margin: 28px 0 0;
	padding: 20px 24px;
}

/* ==========================================================================
   3. 4 FEATURED PHOTOS: WHAT'S HAPPENING ON THE NIGHT
   ========================================================================== */
.live-music-highlights {
	background: var(--lm-bg-light);
}

.live-music-photo-grid {
	display: grid;
	gap: 28px;
	grid-template-columns: repeat(4, 1fr);
	margin-bottom: 48px;
}

.live-music-photo-card {
	background: #ffffff;
	border: 1px solid var(--lm-border);
	border-radius: var(--lm-radius-md);
	box-shadow: var(--lm-shadow-card);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.live-music-photo-card:hover {
	box-shadow: var(--lm-shadow-elevate);
	transform: translateY(-8px);
}

.live-music-photo-card__media {
	aspect-ratio: 4 / 5;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.live-music-photo-card__media img {
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
	width: 100%;
}

.live-music-photo-card:hover .live-music-photo-card__media img {
	transform: scale(1.05);
}

.live-music-photo-card__badge {
	background: rgba(10, 23, 14, 0.85);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border-radius: var(--lm-radius-full);
	bottom: 14px;
	color: #fef08a;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.8px;
	padding: 5px 14px;
	position: absolute;
	right: 14px;
	text-transform: uppercase;
}

.live-music-photo-card__badge--fire {
	background: rgba(192, 57, 43, 0.9);
	color: #ffffff;
}

.live-music-photo-card__badge--forest {
	background: rgba(29, 54, 36, 0.9);
	color: #a7f3d0;
}

.live-music-photo-card__content {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	padding: 24px 20px;
}

.live-music-photo-card__icon {
	font-size: 26px;
	margin-bottom: 10px;
}

.live-music-photo-card__title {
	color: var(--lm-forest-deep);
	font-family: var(--lm-font-heading);
	font-size: 19px;
	font-weight: 700;
	line-height: 1.3;
	margin: 0 0 10px;
}

.live-music-photo-card__desc {
	color: var(--lm-text-muted);
	font-size: 15px;
	line-height: 1.55;
	margin: 0;
}

/* Quick Checklist */
.live-music-highlights-summary {
	background: #ffffff;
	border: 1px solid var(--lm-border);
	border-radius: var(--lm-radius-md);
	box-shadow: var(--lm-shadow-subtle);
	margin: 0 auto;
	max-width: 860px;
	padding: 32px 36px;
}

.live-music-highlights-summary__title {
	color: var(--lm-forest-deep);
	font-family: var(--lm-font-heading);
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 18px;
	text-transform: uppercase;
	letter-spacing: 0.8px;
}

.live-music-highlights-list {
	display: grid;
	gap: 14px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.live-music-highlights-list li {
	align-items: center;
	color: var(--lm-text-main);
	display: flex;
	font-size: 17px;
	gap: 12px;
}

.live-music-check {
	align-items: center;
	background: #ecfdf5;
	border: 1px solid #10b981;
	border-radius: 50%;
	color: #059669;
	display: inline-flex;
	font-size: 12px;
	font-weight: 900;
	height: 22px;
	justify-content: center;
	width: 22px;
	flex-shrink: 0;
}

/* ==========================================================================
   4. THE DETAILS GRID
   ========================================================================== */
.live-music-details {
	background: #ffffff;
	border-top: 1px solid var(--lm-border);
	border-bottom: 1px solid var(--lm-border);
}

.live-music-details-grid {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(5, 1fr);
	margin-bottom: 40px;
}

.live-music-detail-box {
	background: var(--lm-bg-light);
	border: 1px solid var(--lm-border);
	border-radius: var(--lm-radius-md);
	padding: 28px 22px;
	text-align: center;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.live-music-detail-box:hover {
	box-shadow: var(--lm-shadow-card);
	transform: translateY(-4px);
}

.live-music-detail-box--highlight {
	background: #fefce8;
	border-color: #fde047;
	box-shadow: 0 8px 24px rgba(234, 179, 8, 0.15);
}

.live-music-detail-box__icon {
	font-size: 32px;
	margin-bottom: 12px;
}

.live-music-detail-box__title {
	color: var(--lm-text-muted);
	font-family: var(--lm-font-heading);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 1.2px;
	margin: 0 0 8px;
	text-transform: uppercase;
}

.live-music-detail-box__val {
	color: var(--lm-forest-deep);
	font-family: var(--lm-font-heading);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.25;
	margin: 0 0 6px;
}

.live-music-detail-box__note {
	color: var(--lm-text-muted);
	font-size: 14px;
	line-height: 1.4;
	margin: 0;
}

.live-music-details-cta {
	text-align: center;
}

/* ==========================================================================
   5. ACCOMMODATION SPOTLIGHT: WHY NOT STAY THE NIGHT?
   ========================================================================== */
.live-music-stay {
	background: var(--lm-forest-deep);
	color: #ffffff;
}

.live-music-stay__card {
	align-items: center;
	background: var(--lm-forest-dark);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: var(--lm-radius-lg);
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.4);
	display: grid;
	gap: 48px;
	grid-template-columns: 1.1fr 1fr;
	overflow: hidden;
	padding: 56px 48px;
}

.live-music-stay__p {
	color: #cbd5e1;
	font-size: 18px;
	line-height: 1.65;
	margin-bottom: 16px;
}

.live-music-stay__badge-list {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 24px 0 32px;
}

.live-music-stay__badge-list span {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: var(--lm-radius-full);
	color: #fef08a;
	font-size: 13px;
	font-weight: 600;
	padding: 6px 16px;
}

.live-music-stay__notice {
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	padding-top: 24px;
}

.live-music-stay__notice p {
	color: #94a3b8;
	font-size: 15px;
	line-height: 1.5;
	margin-bottom: 20px;
}

.live-music-stay__notice a {
	color: var(--lm-gold-bright);
	text-decoration: underline;
}

.live-music-stay__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.live-music-btn--stay {
	background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
	border-color: #f59e0b;
	box-shadow: 0 8px 24px rgba(217, 119, 6, 0.35);
	color: #ffffff !important;
}

.live-music-btn--stay:hover {
	background: linear-gradient(135deg, #fbbf24 0%, #b45309 100%);
	box-shadow: 0 12px 30px rgba(217, 119, 6, 0.5);
	transform: translateY(-2px);
}

.live-music-stay__visuals {
	display: grid;
	gap: 20px;
	grid-template-columns: 1fr 1fr;
}

.live-music-stay__figure {
	border-radius: var(--lm-radius-md);
	margin: 0;
	overflow: hidden;
	position: relative;
}

.live-music-stay__figure img {
	aspect-ratio: 4 / 3;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
	transition: transform 0.4s ease;
}

.live-music-stay__figure:hover img {
	transform: scale(1.06);
}

.live-music-stay__figure figcaption {
	background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.85) 100%);
	bottom: 0;
	color: #ffffff;
	font-size: 12px;
	font-weight: 600;
	left: 0;
	padding: 24px 14px 10px;
	position: absolute;
	width: 100%;
}

/* ==========================================================================
   6. SECOND CTA BANNER
   ========================================================================== */
.live-music-banner {
	background: 
		radial-gradient(ellipse at 50% 50%, rgba(230, 81, 0, 0.28) 0%, transparent 70%),
		linear-gradient(135deg, #102115 0%, #0d1a11 100%);
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	padding: 80px 0;
	text-align: center;
}

.live-music-banner__content {
	max-width: 800px;
}

.live-music-banner__title {
	color: #ffffff;
	font-family: var(--lm-font-heading);
	font-size: 44px;
	font-weight: 800;
	line-height: 1.15;
	margin: 0 0 16px;
}

.live-music-banner__subtitle {
	color: #fde68a;
	font-size: 22px;
	line-height: 1.4;
	margin: 0 0 12px;
}

.live-music-banner__meta {
	color: #cbd5e1;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.5px;
	margin: 0 0 32px;
}

/* ==========================================================================
   7. INTERACTIVE BOOKING SECTION & CONFIRMATION
   ========================================================================== */
.live-music-booking-section {
	background: #ffffff;
}

.live-music-booking-grid {
	align-items: start;
	display: grid;
	gap: 56px;
	grid-template-columns: 1fr 1.15fr;
}

.live-music-booking-perks {
	display: grid;
	gap: 18px;
	margin: 32px 0;
}

.live-music-perk-item {
	align-items: flex-start;
	display: flex;
	gap: 14px;
}

.live-music-perk-item__icon {
	background: var(--lm-bg-tint);
	border: 1px solid var(--lm-border);
	border-radius: var(--lm-radius-sm);
	font-size: 20px;
	height: 42px;
	justify-content: center;
	display: flex;
	align-items: center;
	width: 42px;
	flex-shrink: 0;
}

.live-music-perk-item strong {
	color: var(--lm-forest-deep);
	display: block;
	font-size: 16px;
	margin-bottom: 2px;
}

.live-music-perk-item p {
	color: var(--lm-text-muted);
	font-size: 14px;
	line-height: 1.45;
	margin: 0;
}

.live-music-booking-help {
	background: var(--lm-bg-tint);
	border-radius: var(--lm-radius-md);
	padding: 20px 24px;
}

.live-music-booking-help p {
	font-size: 15px;
	margin: 0 0 4px;
}

.live-music-booking-help a {
	color: var(--lm-forest-light);
	font-weight: 700;
	text-decoration: underline;
}

/* Booking Card Container */
.live-music-booking-card {
	background: #ffffff;
	border: 1px solid var(--lm-border);
	border-radius: var(--lm-radius-lg);
	box-shadow: var(--lm-shadow-card);
	overflow: hidden;
	padding: 40px 36px;
	position: relative;
}

.live-music-booking-card__header {
	align-items: center;
	border-bottom: 1px solid var(--lm-border);
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: space-between;
	margin-bottom: 28px;
	padding-bottom: 20px;
}

.live-music-booking-card__title {
	color: var(--lm-forest-deep);
	font-family: var(--lm-font-heading);
	font-size: 24px;
	font-weight: 700;
	margin: 0;
}

.live-music-booking-price-badge {
	align-items: baseline;
	background: #fef3c7;
	border: 1px solid #fde68a;
	border-radius: var(--lm-radius-full);
	display: inline-flex;
	gap: 6px;
	padding: 8px 18px;
}

.live-music-price-num {
	color: #b45309;
	font-family: var(--lm-font-heading);
	font-size: 22px;
	font-weight: 800;
}

.live-music-price-unit {
	color: #92400e;
	font-size: 13px;
	font-weight: 700;
}

/* On-site Instructions & Steps */
.live-music-onsite-instructions {
	margin-bottom: 32px;
}

.live-music-onsite-lead {
	color: var(--lm-forest-deep);
	font-size: 16px;
	line-height: 1.6;
	margin: 0 0 24px;
}

.live-music-onsite-steps {
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin-bottom: 28px;
}

.live-music-step-row {
	align-items: flex-start;
	background: var(--lm-bg-light);
	border: 1px solid var(--lm-border);
	border-radius: var(--lm-radius-md);
	display: flex;
	gap: 16px;
	padding: 18px 20px;
}

.live-music-step-number {
	align-items: center;
	background: linear-gradient(135deg, var(--lm-gold-warm) 0%, var(--lm-fire-orange) 100%);
	border-radius: 50%;
	box-shadow: 0 4px 12px rgba(234, 88, 12, 0.3);
	color: #ffffff;
	display: inline-flex;
	font-family: var(--lm-font-heading);
	font-size: 16px;
	font-weight: 800;
	height: 36px;
	justify-content: center;
	width: 36px;
	flex-shrink: 0;
}

.live-music-step-text strong {
	color: var(--lm-forest-deep);
	display: block;
	font-size: 16px;
	margin-bottom: 4px;
}

.live-music-step-text p {
	color: var(--lm-text-muted);
	font-size: 14px;
	line-height: 1.5;
	margin: 0;
}

/* RSVP Action Buttons */
.live-music-rsvp-actions {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.live-music-btn--dark {
	background: var(--lm-forest-mid);
	border-color: var(--lm-forest-mid);
	color: #ffffff !important;
}

.live-music-btn--dark:hover {
	background: var(--lm-forest-deep);
	border-color: var(--lm-forest-deep);
	transform: translateY(-2px);
}

.live-music-btn--dark-outline {
	background: #ffffff;
	border-color: var(--lm-forest-mid);
	color: var(--lm-forest-mid) !important;
}

.live-music-btn--dark-outline:hover {
	background: var(--lm-forest-mid);
	color: #ffffff !important;
	transform: translateY(-2px);
}

/* Arrival Notice Box (User's Confirmation Message) */
.live-music-arrival-notice {
	background: #f0fdf4;
	border: 1.5px solid #bbf7d0;
	border-radius: var(--lm-radius-md);
	padding: 24px 28px;
}

.live-music-arrival-notice__header {
	align-items: center;
	display: flex;
	gap: 10px;
	margin-bottom: 12px;
}

.live-music-arrival-notice__icon {
	font-size: 24px;
}

.live-music-arrival-notice__title {
	color: #166534;
	font-family: var(--lm-font-heading);
	font-size: 18px;
	font-weight: 700;
	margin: 0;
}

.live-music-arrival-notice__body p {
	color: #166534;
	font-size: 15px;
	line-height: 1.6;
	margin: 0 0 10px;
}

.live-music-arrival-notice__lead {
	font-weight: 700;
}

.live-music-arrival-notice__signoff {
	font-family: var(--lm-font-heading);
	font-weight: 700;
	margin-top: 14px !important;
}

.live-music-arrival-notice__actions {
	border-top: 1px solid #dcfce7;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 18px;
	padding-top: 16px;
}

/* ==========================================================================
   8. FREQUENTLY ASKED QUESTIONS ACCORDION
   ========================================================================== */
.live-music-faq {
	background: var(--lm-bg-light);
	border-top: 1px solid var(--lm-border);
}

.live-music-faq-accordion {
	margin: 0 auto;
	max-width: 820px;
}

.live-music-faq-item {
	background: #ffffff;
	border: 1px solid var(--lm-border);
	border-radius: var(--lm-radius-md);
	box-shadow: var(--lm-shadow-subtle);
	margin-bottom: 16px;
	overflow: hidden;
	transition: border-color 0.2s ease;
}

.live-music-faq-item.is-open {
	border-color: var(--lm-gold-warm);
}

.live-music-faq-question {
	align-items: center;
	background: none;
	border: none;
	color: var(--lm-forest-deep);
	cursor: pointer;
	display: flex;
	font-family: var(--lm-font-heading);
	font-size: 18px;
	font-weight: 700;
	justify-content: space-between;
	padding: 22px 28px;
	text-align: left;
	width: 100%;
}

.live-music-faq-toggle {
	color: var(--lm-gold-deep);
	font-size: 24px;
	font-weight: 400;
	line-height: 1;
	transition: transform 0.25s ease;
}

.live-music-faq-item.is-open .live-music-faq-toggle {
	transform: rotate(45deg);
}

.live-music-faq-answer {
	border-top: 1px solid var(--lm-border);
	display: none;
	padding: 20px 28px 26px;
}

.live-music-faq-item.is-open .live-music-faq-answer {
	display: block;
}

.live-music-faq-answer p {
	color: var(--lm-text-muted);
	font-size: 16px;
	line-height: 1.65;
	margin: 0;
}

.live-music-faq-answer a {
	color: var(--lm-forest-mid);
	font-weight: 700;
	text-decoration: underline;
}

/* ==========================================================================
   9. HAVE A QUESTION / CONTACT SECTION
   ========================================================================== */
.live-music-contact {
	background: var(--lm-forest-deep);
	padding: 80px 0 100px;
}

.live-music-contact__box {
	background: var(--lm-forest-dark);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--lm-radius-lg);
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);
	margin: 0 auto;
	max-width: 920px;
	padding: 56px 44px;
	text-align: center;
}

.live-music-contact__sub {
	color: #cbd5e1;
	font-size: 18px;
	margin: 0 auto 36px;
	max-width: 600px;
}

.live-music-contact__cards {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(3, 1fr);
	margin-bottom: 36px;
}

.live-music-contact__card {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--lm-radius-md);
	padding: 24px 18px;
}

.live-music-contact__card-icon {
	display: block;
	font-size: 28px;
	margin-bottom: 10px;
}

.live-music-contact__card strong {
	color: #ffffff;
	display: block;
	font-family: var(--lm-font-heading);
	font-size: 15px;
	margin-bottom: 6px;
	text-transform: uppercase;
	letter-spacing: 0.6px;
}

.live-music-contact__card p {
	color: #cbd5e1;
	font-size: 15px;
	margin: 0;
}

.live-music-contact__card a {
	color: var(--lm-gold-bright);
	font-weight: 700;
}

.live-music-contact__closing {
	color: #e2e8f0;
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 20px;
	font-style: italic;
	margin-bottom: 32px;
}

.live-music-contact__btn-row {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: center;
	text-align: center;
}

/* ==========================================================================
   10. RESPONSIVE BREAKPOINTS
   ========================================================================== */
@media only screen and (max-width: 1080px) {
	.live-music-hero__title {
		font-size: 50px;
	}

	.live-music-photo-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.live-music-details-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.live-music-stay__card {
		grid-template-columns: 1fr;
		padding: 40px 32px;
	}

	.live-music-booking-grid {
		grid-template-columns: 1fr;
	}
}

@media only screen and (max-width: 768px) {
	.live-music-section {
		padding: 68px 0;
	}

	.live-music-hero__content {
		padding: 140px 20px 60px;
	}

	.live-music-hero__title {
		font-size: 38px;
	}

	.live-music-hero__subtitle {
		font-size: 20px;
	}

	.live-music-hero__quick-specs {
		flex-direction: column;
		gap: 16px;
		width: 100%;
	}

	.live-music-spec-divider {
		display: none;
	}

	.live-music-split-grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.live-music-h2 {
		font-size: 30px;
	}

	.live-music-photo-grid {
		grid-template-columns: 1fr;
	}

	.live-music-details-grid {
		grid-template-columns: 1fr;
	}

	.live-music-banner__title {
		font-size: 32px;
	}

	.live-music-form__row {
		grid-template-columns: 1fr;
	}

	.live-music-contact__cards {
		grid-template-columns: 1fr;
	}

	.live-music-stay__visuals {
		grid-template-columns: 1fr;
	}

	.live-music-booking-card {
		padding: 28px 20px;
	}
}
