/* Event Landing Pages — reproduces the Avada-built landing page layout.
   Colours and fonts come from Avada's global custom properties:
   color2/color5 gold #c2b067, color6 body text #a4abbf, color7 #272732, color8 #101015. */

.sm-event-landing #main { padding-top: 0; padding-bottom: 0; }
.sm-event-landing #main .fusion-row { max-width: 100%; }
.sm-event-landing #content.full-width { width: 100%; float: none; }
/* Bleed to the viewport edge past Avada's 100%-width side padding, as its own containers do. */
.el-hero, .el-head, .el-main, .el-register { margin-left: calc(-1 * var(--hundredp_padding-fallback_to_zero, 30px)); margin-right: calc(-1 * var(--hundredp_padding-fallback_to_zero, 30px)); }
.el-page { --el-gold: var(--awb-color2); --el-gap: 46px; }
.el-page [hidden] { display: none !important; }
.el-page .post-content p { margin: 0 0 20px; }

.el-inner { max-width: 1200px; margin: 0 auto; padding: 0 30px; }

/* ---- Hero ---- */
.el-hero { height: 600px; background: var(--awb-color8) center center / cover no-repeat; }

/* ---- Headline section (cloud background) ---- */
.el-head {
	position: relative;
	padding-top: 31px;
	background-color: var(--awb-color8);
	background-image: linear-gradient(rgba(164, 171, 191, .2), rgba(164, 171, 191, .2)), url(img/cloud-background.jpg);
	background-blend-mode: overlay, normal;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}
.el-head-inner { padding-top: 40px; padding-bottom: 60px; padding-left: 15%; padding-right: 15%; }

.el-page .post-content .el-eyebrow {
	margin: 30px 0 0;
	font-family: var(--awb-typography2-font-family);
	font-size: 20px;
	line-height: 30px;
	font-weight: 400;
	letter-spacing: 2px;
	text-transform: uppercase;
	text-align: center;
	color: var(--awb-color5);
}
.el-page .post-content .el-title {
	margin: 0;
	font-family: var(--awb-typography1-font-family);
	font-size: clamp(39px, 10vw, 55px);
	line-height: 1.3;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: capitalize;
	text-align: center;
}
.el-page .post-content .el-title span { display: block; margin: 0; }
.el-title-1 { color: var(--awb-color1); }
.el-title-2 { color: var(--el-gold); }
.el-page .post-content .el-tagline { margin: 0; text-align: center; color: var(--el-gold); }
.el-sep { width: 300px; max-width: 100%; margin: 0 auto 30px; border-top: 3px solid var(--el-gold); }

/* ---- Gold banners ---- */
.el-banner {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 30px;
	background: var(--el-gold);
	border: 1px solid #d3d3d3;
	font-family: var(--awb-typography1-font-family);
	font-size: 16px;
	line-height: 24px;
	color: #fff;
}
.el-banner > div { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: center; padding: 22px 20px; }
.el-banner-details > div { text-align: center; }
.el-banner-details span { display: block; }
.el-banner strong { font-weight: 700; color: #fff; }

/* ---- Buttons ---- */
.el-btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 15px 80px; padding: 0 0 50px; margin-top: 60px; }
.el-head-btns .el-btns { margin-top: -30px; padding-bottom: 56px; }
.el-page .fusion-button { justify-content: center; }
.el-page .fusion-button-span-yes { width: 100%; }
.el-mobile-ctas { display: none; }

/* ---- Main section ---- */
.el-main { border-top: 4px solid var(--awb-color5); padding: 17px 0 36px; }
.el-page .post-content .el-h2 {
	margin: 20px 0 30px;
	font-family: var(--awb-typography1-font-family);
	font-size: clamp(32px, 8.7vw, 45px);
	line-height: 1.5;
	font-weight: 500;
	letter-spacing: 2px;
	text-transform: capitalize;
	text-align: center;
	color: var(--awb-color1);
}
.el-page .post-content .el-about-heading { margin-bottom: 80px; }
.el-page .post-content .el-eyebrow + .el-h2 { margin-top: 20px; }

.el-about-wrap { display: flex; flex-direction: column; }
.el-about { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--el-gap); align-items: start; margin-bottom: 58px; }
.el-about-img img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; margin-bottom: 20px; }
.el-page .post-content .el-about-text p, .el-page .post-content .el-intro p { margin: 0 0 20px; }
.el-page .post-content .el-about-text p:last-child, .el-page .post-content .el-intro p:last-child { margin-bottom: 0; }
.el-intro { margin: 0 30px 20px; text-align: center; }
.el-page .post-content .el-intro p { margin-bottom: 28px; }
.el-page strong { color: inherit; }

/* ---- Tickets & WhatsApp boxes ---- */
.el-tickets { display: grid; grid-template-columns: 1fr 1fr; gap: var(--el-gap); margin-bottom: 30px; }
.el-box { display: flex; flex-direction: column; border: 4px solid var(--el-gold); text-align: center; }
.el-box-body { flex: 1 1 auto; }
.el-box .fusion-button { margin-top: auto; }
.el-page .post-content .el-price { margin: 0 0 20px; font-size: 50px; line-height: 90px; font-weight: 700; color: var(--el-gold); }
.el-page .post-content .el-price-note { margin: 0 0 20px; font-weight: 700; }
.el-page .post-content .el-final { margin: 0 0 50px; font-weight: 700; color: #a90038; }
.el-page .post-content .el-wa-heading { margin: 30px 0 20px; font-size: 30px; line-height: 1.8; font-weight: 700; color: var(--el-gold); }
.el-page .post-content .el-wa-text { margin: 0 20px 20px; }

/* ---- Gallery (masonry, Load More reveals the rest) ---- */
.el-gallery { columns: 4; column-gap: 20px; margin: 0 0 20px; }
.el-gallery-item { display: block; margin: 0 0 20px; break-inside: avoid; }
.el-gallery-item img { display: block; width: 100%; height: auto; }
.el-load-more { margin: 0; text-align: center; }
.el-load-more + .el-btns { margin-top: 60px; }

/* ---- Reviews ---- */
.el-reviews { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--el-gap); }
.el-review { padding: 10px; border: 2px solid var(--el-gold); border-radius: 5px; }
.el-stars { display: block; width: 100px; height: auto; margin: 0 0 20px; }
.el-page .post-content .el-review p { margin: 0; }

/* ---- Register interest ---- */
.el-register { border-top: 4px solid var(--awb-color5); margin-bottom: 60px; }
.el-register .fusion-menu-anchor { display: block; height: 1px; margin-bottom: 90px; }
.el-register-grid { display: grid; grid-template-columns: 1fr 2fr; gap: var(--el-gap); align-items: start; }
.el-register-copy { padding-top: 40px; }
.el-page .post-content .el-register-heading { margin: 0 0 20px; line-height: 50px; text-align: left; }
.el-register-form { padding: 30px; background: var(--awb-color7); border-radius: 5px; }

/* ---- Tablet ---- */
@media (max-width: 1024px) {
	.el-head-inner { padding-left: 30px; padding-right: 30px; }
	.el-gallery { columns: 3; }
	.el-reviews { grid-template-columns: 1fr; }
	.el-register-grid { grid-template-columns: 1fr; }
	.el-register-heading { line-height: 1.3; }
}

/* ---- Phone ---- */
@media (max-width: 640px) {
	.el-page .post-content .el-title span + span { margin-top: 20px; }
	.el-main { padding-top: 50px; }
	.el-main > .el-inner { padding-left: 10px; padding-right: 10px; }
	.el-banner > div { flex-basis: 50%; }
	.el-banner-top > div { text-align: center; }
	.el-btns { flex-direction: column; gap: 0; margin-top: 0; padding: 30px 0 40px; }
	.el-head-btns .el-btns { margin-top: -30px; }
	.el-btns .fusion-button { width: 100%; }
	.el-btns .fusion-button + .fusion-button { margin-top: 30px; }
	.el-about { grid-template-columns: 1fr; gap: 0; }
	.el-intro { order: -1; margin: 0 20px 30px; }
	.el-tickets { grid-template-columns: 1fr; gap: 20px; }
	.el-gallery { columns: 2; column-gap: 10px; }
	.el-gallery-item { margin-bottom: 10px; }
	.el-mobile-ctas { display: block; padding: 0 20px 40px; }
	.el-mobile-ctas .fusion-button + .fusion-button { margin-top: 30px; }
	.el-register-form { padding: 30px 0; }
}
