/*
 Theme Name:   Blazing Lotus (Divi Child)
 Description:  Divi child theme for Blazing Lotus Healing House. Scaffolded by Studio Code — safe to edit directly.
 Template:     Divi
 Version:      1.0.0
 Text Domain:  blazing-lotus-child
*/

/* ==========================================================================
   404 — friendly "not found" page
   ========================================================================== */

.lotus-404 {
	position: relative;
	min-height: 640px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	padding: 100px 24px;
	background: linear-gradient(160deg, #edf0ff 0%, #fff2e9 55%, #9ce0e5 100%);
	text-align: center;
}

.lotus-404__glow {
	position: absolute;
	border-radius: 50%;
	filter: blur(2px);
	opacity: 0.55;
	pointer-events: none;
}

.lotus-404__glow--one {
	width: 340px;
	height: 340px;
	top: -90px;
	left: -90px;
	background: radial-gradient(circle, rgba(156, 224, 229, 0.9), transparent 70%);
}

.lotus-404__glow--two {
	width: 420px;
	height: 420px;
	bottom: -140px;
	right: -120px;
	background: radial-gradient(circle, rgba(127, 141, 255, 0.35), transparent 70%);
}

.lotus-404__inner {
	position: relative;
	z-index: 1;
	max-width: 620px;
	margin: 0 auto;
}

.lotus-404__icon {
	width: 92px;
	height: 92px;
	margin: 0 auto 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 46px;
	line-height: 1;
	border-radius: 50%;
	background: #ffffff;
	box-shadow: 0 18px 40px rgba(97, 108, 225, 0.18);
	animation: lotus-404-float 4.5s ease-in-out infinite;
}

.lotus-404__code {
	font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
	font-weight: 600;
	font-size: 120px;
	line-height: 1;
	color: #616ce1;
	letter-spacing: 4px;
	margin: 0 0 8px;
}

.lotus-404__title {
	font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
	font-weight: 600;
	font-size: 40px;
	line-height: 1.2;
	color: #2b2d42;
	margin: 0 0 18px;
}

.lotus-404__text {
	font-family: "DM Sans", Helvetica, Arial, sans-serif;
	font-size: 18px;
	line-height: 1.6;
	color: #2b2d42;
	opacity: 0.85;
	margin: 0 0 40px;
}

.lotus-404__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	align-items: center;
	justify-content: center;
}

.lotus-404__button {
	font-family: "DM Sans", Helvetica, Arial, sans-serif;
	font-weight: 600;
	font-size: 16px;
	line-height: 27.2px;
	display: inline-block;
	padding: 14px 32px;
	border-radius: 100px;
	text-decoration: none;
	transition: 0.3s;
}

.lotus-404__button--primary {
	background: #7f8dff;
	color: #ffffff;
	border: 2px solid #7f8dff;
}

.lotus-404__button--primary:hover {
	background: #616ce1;
	border-color: #616ce1;
	color: #ffffff;
}

.lotus-404__button--secondary {
	background: transparent;
	color: #616ce1;
	border: 2px solid #616ce1;
	padding: 12px 30px;
}

.lotus-404__button--secondary:hover {
	background: #616ce1;
	color: #ffffff;
}

@keyframes lotus-404-float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-10px); }
}

@media (prefers-reduced-motion: reduce) {
	.lotus-404__icon {
		animation: none;
	}
	.lotus-404__button {
		transition: none;
	}
}

@media (max-width: 600px) {
	.lotus-404__code {
		font-size: 88px;
	}
	.lotus-404__title {
		font-size: 30px;
	}
}

/* Nav fit: Divi goes desktop at 981px but the logo + 8 items do not fit until ~1150px.
   Standing fix, not site-specific. Source also has no search icon in the nav. */
#et_top_search, #et_search_icon { display: none !important; }
#top-menu > li { padding-right: 18px; }
#logo { max-width: 190px; }
@media (min-width: 981px) and (max-width: 1150px) {
  #top-menu > li { padding-right: 11px; }
  #top-menu > li > a { font-size: 13px; }
  #logo { max-width: 150px; }
}

/* Card photos: fixed crop. Never use the et_pb_image height field for this -
   Divi applies it to the img with width:100%, which stretches the photo. */
.bl-cardimg .et_pb_image_wrap { display:block; height:288px !important; overflow:hidden; width:100%; }
.bl-cardimg .et_pb_image_wrap img { width:100% !important; height:100% !important; object-fit:cover !important; display:block; }
@media (max-width:980px){ .bl-cardimg .et_pb_image_wrap { height:230px !important; } }
/* Equal-height cards without waiting on Divi JS */
.et_pb_row.et_pb_equal_columns { display:flex; flex-wrap:wrap; align-items:stretch; }
.et_pb_row.et_pb_equal_columns > .et_pb_column { float:none; }
@media (max-width:980px){ .et_pb_row.et_pb_equal_columns { display:block; } }

/* Footer bottom bar: source is copyright + a sister-location pill, no nav, no social */
#footer-bottom { padding-top: 22px; }
#footer-info { float: none !important; width: 100%; text-align: center; font-family: "DM Sans", sans-serif; font-size: 13px; }
.bl-copy { display: inline-block; margin-right: 14px; opacity: .75; }
.bl-sister-pill { display: inline-block; background: #ffffff; color: #616ce1 !important; border-radius: 999px; padding: 6px 16px; font-size: 12px; font-weight: 600; }
.bl-sister-pill:hover { background: #edf0ff; }

#footer-bottom .et-social-icons { display: none !important; }

/* Gravity Forms styled to the Divi palette */
.bl-gform .gform_wrapper .gfield_label { font-family:"DM Sans",sans-serif; font-size:13px; font-weight:600; color:#2b2d42; letter-spacing:.02em; }
.bl-gform .gform_wrapper input[type=text], .bl-gform .gform_wrapper input[type=email], .bl-gform .gform_wrapper input[type=tel], .bl-gform .gform_wrapper textarea { width:100%; border:1px solid #e9e3de; border-radius:12px; padding:12px 16px; font-family:"DM Sans",sans-serif; font-size:15px; background:#ffffff; color:#2b2d42; }
.bl-gform .gform_wrapper input:focus, .bl-gform .gform_wrapper textarea:focus { border-color:#7f8dff; outline:none; }
.bl-gform .gform_wrapper .gform_footer input[type=submit] { background:#616ce1; color:#ffffff; border:0; border-radius:999px; padding:13px 30px; font-family:"DM Sans",sans-serif; font-weight:700; font-size:13px; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.bl-gform .gform_wrapper .gform_footer input[type=submit]:hover { background:#7f8dff; }
.bl-gform .gform_wrapper .gfield_required { color:#dc3a3a; }

/* GF submit button - GF stylesheet loads after the child theme, so force it */
.bl-gform .gform_wrapper .gform_footer input[type=submit],
.bl-gform .gform_wrapper .gform_footer input.gform_button,
.bl-gform .gform_wrapper .gform-footer input[type=submit],
body .bl-gform input.gform_button {
  background:#616ce1 !important; color:#ffffff !important; border:0 !important;
  border-radius:999px !important; padding:14px 32px !important;
  font-family:"DM Sans",sans-serif !important; font-weight:700 !important;
  font-size:13px !important; letter-spacing:.08em !important; text-transform:uppercase !important;
  line-height:1 !important; cursor:pointer !important; width:auto !important;
}
body .bl-gform input.gform_button:hover { background:#7f8dff !important; }
.bl-gform .gform_wrapper .gfield { margin-bottom:20px; }

/* GF 3.x orbital renders the submit as <button>, not <input> */
body .bl-gform button.gform_button,
body .bl-gform .gform-footer button[type=submit],
body .bl-gform .gform_footer button[type=submit] {
  background:#616ce1 !important; color:#ffffff !important; border:0 !important;
  border-radius:999px !important; padding:14px 32px !important;
  font-family:"DM Sans",sans-serif !important; font-weight:700 !important;
  font-size:13px !important; letter-spacing:.08em !important; text-transform:uppercase !important;
  line-height:1 !important; width:auto !important; cursor:pointer !important; box-shadow:none !important;
}
body .bl-gform button.gform_button:hover { background:#7f8dff !important; }

#top-menu li.wr-nav-book > a {
    background: #7f8dff;
    color: #FCF9F8 !important;
    border-radius: 999px;
    padding: 10px 22px !important;
    /* font-family: "DM Sans", sans-serif; */
    font-weight: 700;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    opacity: 1 !important;
    transition: background .2s ease;
}

#top-menu-nav>ul>li>a:hover {
    opacity: 0.7;
    -webkit-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out;
}
