/*
 * 31 Palma Drive - homepage tweaks (31palmadrive.in, page id 15402)
 *
 * Loaded only on the homepage.
 *
 * Elementor's own rules are `.elementor-15402 .elementor-element.elementor-element-XXX`
 * (specificity 0,3,0). The leading `body` here makes these win regardless of
 * stylesheet order. Elementor drives container layout through CSS custom
 * properties, so the layout fixes set those rather than the properties.
 *
 * Templates: 15402 = homepage, 15831 = footer.
 * Site palette (taken from the page): #E9A020 gold, #000000, #FFFFFF.
 */

:root {
	--pd-gold: #E9A020;
	--pd-gold-dark: #C9861A;
	--pd-ink: #131313;
	--pd-line: #E6E6E6;
}

/* -------------------------------------------------------------------------
 * 1. Overview section polish ("Experience Luxurious Living...")
 *
 * 15e46ac  section        f42711d  left column   5ba16dd  heading
 * ea3715a  body copy      36b68c6  form card     15274df  form widget
 * ---------------------------------------------------------------------- */

body .elementor-15402 .elementor-element.elementor-element-15e46ac {
	--padding-top: 70px;
	--padding-bottom: 70px;
	--align-items: center;
	--gap: 60px;
	--column-gap: 60px;
	--row-gap: 40px;
}

/* Heading: tighter leading, plus a gold rule to anchor it. */
body .elementor-15402 .elementor-element.elementor-element-5ba16dd .elementor-heading-title {
	line-height: 1.18;
	letter-spacing: .01em;
}

body .elementor-15402 .elementor-element.elementor-element-5ba16dd {
	position: relative;
	padding-bottom: 26px;
}

body .elementor-15402 .elementor-element.elementor-element-5ba16dd::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 6px;
	width: 76px;
	height: 3px;
	border-radius: 3px;
	background: var(--pd-gold);
}

/* The site centres this heading at 767px, so the rule has to follow it. */
@media (max-width: 767px) {
	body .elementor-15402 .elementor-element.elementor-element-5ba16dd::after {
		left: 50%;
		transform: translateX(-50%);
	}
}

/*
 * Body copy was `text-align: justify`, which stretched word gaps into rivers
 * of white space on the narrower column. Left-aligned reads far better, with
 * a little more line-height and a comfortable measure.
 */
body .elementor-15402 .elementor-element.elementor-element-ea3715a,
body .elementor-15402 .elementor-element.elementor-element-ea3715a p {
	text-align: left;
	font-size: 15.5px;
	line-height: 1.85;
	color: #2B2B2B;
}

body .elementor-15402 .elementor-element.elementor-element-ea3715a p + p {
	margin-top: 16px;
}

/* Form card: soften the hard 1px box into a raised card. */
body .elementor-15402 .elementor-element.elementor-element-36b68c6 {
	border-color: var(--pd-line);
	border-radius: 16px;
	background-color: #fff;
	box-shadow: 0 18px 44px rgba(0, 0, 0, .09);
	--padding-top: 34px;
	--padding-bottom: 34px;
	--padding-left: 30px;
	--padding-right: 30px;
}

body .elementor-15402 .elementor-element.elementor-element-15274df {
	width: 100%;
	max-width: 100%;
	--container-widget-width: 100%;
}

/* Fields: consistent height, softer borders, visible focus. */
body .elementor-15402 .elementor-element.elementor-element-15274df .ekit-form form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .elementor-15402 .elementor-element.elementor-element-15274df .ekit-form form select {
	border-color: var(--pd-line);
	border-radius: 10px;
	transition: border-color .2s ease, box-shadow .2s ease;
}

body .elementor-15402 .elementor-element.elementor-element-15274df .ekit-form form input:not([type="submit"]):focus,
body .elementor-15402 .elementor-element.elementor-element-15274df .ekit-form form select:focus {
	border-color: var(--pd-gold);
	box-shadow: 0 0 0 3px rgba(233, 160, 32, .18);
	outline: none;
}

/*
 * Submit was only 58% wide while every field above it is 100%. Full width and
 * a little more presence.
 *
 * Colour is deliberately left alone: a site-wide rule
 *   input.wpcf7-submit.has-spinner { background:#000 !important }
 * makes every submit button on the site black. Recolouring just this one would
 * read as a bug rather than a design, so the gold stays on the heading rule
 * and the floating CTAs.
 */
body .elementor-15402 .elementor-element.elementor-element-15274df .ekit-form form input[type="submit"] {
	width: 100%;
	height: 52px;
	line-height: 52px;
	font-weight: 700;
	letter-spacing: .04em;
	border-radius: 10px;
}

/* Consent line sat centred while everything else is flush left. */
body .elementor-15402 .elementor-element.elementor-element-15274df .ekit-form form > p {
	text-align: left;
}

@media (max-width: 1024px) {
	body .elementor-15402 .elementor-element.elementor-element-15e46ac {
		--padding-top: 46px;
		--padding-bottom: 46px;
		--column-gap: 32px;
	}
}

/* -------------------------------------------------------------------------
 * 3. Remove the sticky WhatsApp icon
 *
 * Injected sitewide as custom HTML; the wrapper holds only that button.
 * ---------------------------------------------------------------------- */

.sticky-cta-wrap {
	display: none !important;
}

/* -------------------------------------------------------------------------
 * 4. Download Brochure (bottom-left) + Enquire Now (bottom-right)
 *
 * Brand gold with white text, matching the site's existing Enquire Now
 * buttons, and using the same Font Awesome icon as those buttons.
 * ---------------------------------------------------------------------- */

.pd-cta-dock {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 99990;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 22px;
	pointer-events: none; /* only the buttons catch clicks */
}

.pd-cta-dock .pd-cta {
	pointer-events: auto;
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin: 0;
	padding: 13px 26px;
	border: 0;
	border-radius: 999px;
	background: var(--pd-gold);
	color: #fff;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: .02em;
	text-decoration: none;
	cursor: pointer;
	box-shadow: 0 6px 22px rgba(0, 0, 0, .25);
	transition: background .25s ease, transform .25s ease, box-shadow .25s ease;
}

/* Enquire = logo gold (default above). Brochure = brand black, for contrast. */
.pd-cta-dock .pd-cta--brochure {
	background: var(--pd-ink);
}

.pd-cta-dock .pd-cta:hover,
.pd-cta-dock .pd-cta:focus-visible {
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 10px 26px rgba(0, 0, 0, .3);
}

.pd-cta-dock .pd-cta--enquire:hover,
.pd-cta-dock .pd-cta--enquire:focus-visible {
	background: var(--pd-gold-dark);
}

.pd-cta-dock .pd-cta--brochure:hover,
.pd-cta-dock .pd-cta--brochure:focus-visible {
	background: #000;
}

.pd-cta-dock .pd-cta:focus-visible {
	outline: 3px solid var(--pd-gold);
	outline-offset: 2px;
}

.pd-cta-dock .pd-cta i {
	font-size: 17px;
	line-height: 1;
	flex: none;
}

.pd-cta-dock .pd-cta .pd-ico {
	width: 17px;
	height: 17px;
	flex: none;
	object-fit: contain;
	display: block;
}

/*
 * The dock floats over the page, the same way the Ekam reference does. An
 * earlier version padded the footer's copyright bar to clear it, but that bar
 * is only `padding: 0 0 8px` tall by design, so the clearance inflated it into
 * a large empty strip. No padding here - the pills simply sit over the very
 * bottom of the page.
 */

/* -------------------------------------------------------------------------
 * 4b. Phones: swap the two-pill dock for the Ekam-style floating bar
 *
 * A white rounded bar carrying "Enquire Now" (gold) on the left and "Brochure"
 * (black) on the right, with a raised gold chat button nestled in a white notch
 * at the top-centre. The desktop dock is hidden below 767px and this bar takes
 * over; above 767px this bar stays hidden.
 * ---------------------------------------------------------------------- */

.pd-mdock {
	display: none;
}

@media (max-width: 767px) {
	.pd-cta-dock {
		display: none !important;
	}

	.pd-mdock {
		display: block;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 99990;
		padding: 22px 12px calc(12px + env(safe-area-inset-bottom, 0px));
		pointer-events: none; /* only the bar/buttons catch clicks */
	}
}

.pd-mdock__bar {
	pointer-events: auto;
	position: relative;
	display: flex;
	align-items: stretch;
	gap: 8px;
	max-width: 460px;
	margin: 0 auto;
	padding: 11px 14px;
	background: #fff;
	border-radius: 22px;
	box-shadow: 0 12px 34px rgba(0, 0, 0, .2), 0 2px 8px rgba(0, 0, 0, .08);
}

.pd-mdock__btn {
	flex: 1 1 0;
	min-width: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 10px;
	border: 0;
	border-radius: 999px;
	color: #fff;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: .01em;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	transition: background .2s ease, transform .12s ease;
}

.pd-mdock__btn i {
	font-size: 15px;
	flex: none;
}

.pd-mdock__btn .pd-mdock__ico {
	width: 16px;
	height: 16px;
	flex: none;
	object-fit: contain;
	display: block;
}

.pd-mdock__btn span {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.pd-mdock__btn:active {
	transform: translateY(1px);
}

.pd-mdock__btn--enquire {
	background: var(--pd-gold);
}

.pd-mdock__btn--enquire:active {
	background: var(--pd-gold-dark);
}

.pd-mdock__btn--brochure {
	background: var(--pd-ink);
}

/* Reserves the centre gap so neither pill sits under the raised chat button. */
.pd-mdock__mid {
	flex: 0 0 54px;
	align-self: stretch;
	position: relative;
}

/* White circle behind the gold chat button, so it reads as a notch in the bar. */
.pd-mdock__mid::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	width: 66px;
	height: 66px;
	background: #fff;
	border-radius: 999px;
	transform: translate(-50%, -58%);
}

.pd-mdock__chat {
	position: absolute;
	left: 50%;
	top: 0;
	transform: translate(-50%, -58%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: var(--pd-gold);
	color: #fff;
	cursor: pointer;
	box-shadow: 0 6px 16px rgba(233, 160, 32, .5);
	transition: background .2s ease, transform .12s ease;
}

.pd-mdock__chat i {
	font-size: 22px;
	line-height: 1;
}

.pd-mdock__chat .pd-mdock__ico {
	width: 26px;
	height: 26px;
	object-fit: contain;
	display: block;
}

.pd-mdock__chat:active {
	transform: translate(-50%, -58%) scale(.95);
	background: var(--pd-gold-dark);
}

/* Very small phones: keep both labels on one line. */
@media (max-width: 360px) {
	.pd-mdock__btn {
		font-size: 12.5px;
		gap: 6px;
		padding: 12px 6px;
	}

	.pd-mdock__mid {
		flex-basis: 48px;
	}
}

/* -------------------------------------------------------------------------
 * 5. "Configuration & Floor Plans" alignment
 *
 * The section is full-width, so the heading sat hard against the left edge
 * while the two cards (35% each, centred) lined up with nothing. Heading,
 * divider and the card row now share one centred content box, and the cards
 * divide it evenly - card 1's left edge meets the heading, card 2 ends at
 * the same right edge.
 * ---------------------------------------------------------------------- */

body .elementor-15402 .elementor-element.elementor-element-359a2919 > .elementor-element {
	width: 100%;
	max-width: 1200px;
	margin-inline: auto;
}

body .elementor-15402 .elementor-element.elementor-element-585f1ecb {
	--justify-content: space-between;
	--align-items: stretch;
	--gap: 30px;
	--row-gap: 30px;
	--column-gap: 30px;
}

body .elementor-15402 .elementor-element.elementor-element-2d398119,
body .elementor-15402 .elementor-element.elementor-element-53784337,
body .elementor-15402 .elementor-element.elementor-element-2d398119.e-con,
body .elementor-15402 .elementor-element.elementor-element-53784337.e-con {
	--width: auto;
	--flex-basis: 0;
	--flex-grow: 1;
	--flex-shrink: 1;
}

@media (max-width: 767px) {
	body .elementor-15402 .elementor-element.elementor-element-2d398119,
	body .elementor-15402 .elementor-element.elementor-element-53784337,
	body .elementor-15402 .elementor-element.elementor-element-2d398119.e-con,
	body .elementor-15402 .elementor-element.elementor-element-53784337.e-con {
		--flex-basis: 100%;
	}
}

/* -------------------------------------------------------------------------
 * 7. "WE'D LOVE TO Hear From You" alignment
 *
 * The submit button was width:58% while every field above it is 100%, so it
 * stopped well short of the field edges. The form widget itself was 93.919%
 * wide, so it did not line up with its column either.
 * ---------------------------------------------------------------------- */

body .elementor-15402 .elementor-element.elementor-element-0a6a28b {
	width: 100%;
	max-width: 100%;
	--container-widget-width: 100%;
}

body .elementor-15402 .elementor-element.elementor-element-0a6a28b .ekit-form form input[type="submit"] {
	width: 100%;
}

body .elementor-15402 .elementor-element.elementor-element-0a6a28b .ekit-form form > p {
	text-align: left;
}

/* -------------------------------------------------------------------------
 * 6. Remove "Quick Links" from the footer
 *
 * 28a5ad48 = heading, 112a18f9 = the link list (all pointed at a popup
 * rather than real pages).
 * ---------------------------------------------------------------------- */

body .elementor-15831 .elementor-element.elementor-element-28a5ad48,
body .elementor-15831 .elementor-element.elementor-element-112a18f9 {
	display: none !important;
}

/* -------------------------------------------------------------------------
 * 8. Footer polish
 *
 * 727375cb  footer body      3eaa94b5  the three-column row
 * 760f8282  QR code          67c261b   RERA registration text
 * 26a6c811  site address     4d6de83e  bottom bar
 *
 * The columns were 16.343% / 42.236% / auto with flex-grow:0, so they sat
 * ragged, off-centre and on different baselines - with Quick Links gone that
 * was the only thing left in the row and it showed. Equal columns, vertically
 * centred, one consistent text alignment.
 * ---------------------------------------------------------------------- */

body .elementor-15831 .elementor-element.elementor-element-727375cb {
	--padding-top: 56px;
	--padding-bottom: 40px;
}

body .elementor-15831 .elementor-element.elementor-element-3eaa94b5 {
	--flex-direction: row;
	--flex-wrap: wrap;
	--align-items: center;
	--justify-content: center;
	--gap: 34px 48px;
	--row-gap: 34px;
	--column-gap: 48px;
	width: 100%;
	max-width: 1140px;
	margin-inline: auto;
}

body .elementor-15831 .elementor-element.elementor-element-760f8282,
body .elementor-15831 .elementor-element.elementor-element-67c261b,
body .elementor-15831 .elementor-element.elementor-element-26a6c811,
body .elementor-15831 .elementor-element.elementor-element-760f8282.e-con,
body .elementor-15831 .elementor-element.elementor-element-67c261b.e-con,
body .elementor-15831 .elementor-element.elementor-element-26a6c811.e-con {
	--width: auto;
	--flex-basis: 240px;
	--flex-grow: 1;
	--flex-shrink: 1;
	--align-items: center;
	--justify-content: center;
	--text-align: center;
}

/* One text alignment across all three columns - the RERA paragraph was left
   aligned while the address beside it was centred. */
body .elementor-15831 .elementor-element.elementor-element-e9060ca,
body .elementor-15831 .elementor-element.elementor-element-e9060ca .elementor-widget-container,
body .elementor-15831 .elementor-element.elementor-element-31c654be,
body .elementor-15831 .elementor-element.elementor-element-31c654be .elementor-widget-container {
	text-align: center;
}

body .elementor-15831 .elementor-element.elementor-element-e9060ca,
body .elementor-15831 .elementor-element.elementor-element-31c654be {
	line-height: 1.75;
	max-width: 34ch;
	margin-inline: auto;
}

body .elementor-15831 .elementor-element.elementor-element-760f8282 img {
	display: block;
	margin-inline: auto;
	border-radius: 6px;
}

body .elementor-15831 .elementor-element.elementor-element-5d30ca26 .elementor-heading-title {
	margin-bottom: 10px;
	letter-spacing: .02em;
}

/*
 * Hairline between the footer body and the bottom bar, plus room to breathe.
 * The bar ships as `padding: 0 0 8px`, which renders only ~20px tall - the
 * copyright line ends up cramped against the edge of the page. Symmetric
 * padding gives it a proper bar height without the oversized strip an earlier
 * version produced.
 */
body .elementor-15831 .elementor-element.elementor-element-4d6de83e {
	border-top: 1px solid rgba(255, 255, 255, .1);
	padding-top: 22px;
	padding-bottom: 22px;
}

@media (max-width: 767px) {
	body .elementor-15831 .elementor-element.elementor-element-4d6de83e {
		padding-top: 18px;
		padding-bottom: 18px;
	}
}

body .elementor-15831 .elementor-element.elementor-element-4d6de83e .elementor-container {
	align-items: center;
}

/*
 * The two bottom-bar lines sat ~7px apart. Three things caused it: the left
 * column carries `margin-top:5px` and the right `padding-bottom:5px`, and the
 * copyright is wrapped in a <p> (with its own margins) while "Designed by..."
 * is bare text. Normalising all three puts them on one line.
 */
body .elementor-15831 .elementor-element.elementor-element-2d76083c > .elementor-element-populated,
body .elementor-15831 .elementor-element.elementor-element-3d7ff2e2 > .elementor-element-populated {
	margin: 0;
	padding: 0;
}

body .elementor-15831 .elementor-element.elementor-element-4d6de83e .elementor-widget-wrap {
	align-content: center;
	align-items: center;
}

body .elementor-15831 .elementor-element.elementor-element-385dc74,
body .elementor-15831 .elementor-element.elementor-element-2c63a13e {
	margin-top: 0;
	margin-bottom: 0;
	font-size: 13px;
	line-height: 20px;
}

body .elementor-15831 .elementor-element.elementor-element-385dc74 p,
body .elementor-15831 .elementor-element.elementor-element-2c63a13e p {
	margin: 0;
	line-height: inherit;
}

body .elementor-15831 .elementor-element.elementor-element-2c63a13e {
	text-align: right;
}

@media (max-width: 1024px) {
	body .elementor-15831 .elementor-element.elementor-element-4d6de83e .elementor-container {
		flex-direction: column;
		gap: 6px;
		text-align: center;
	}

	body .elementor-15831 .elementor-element.elementor-element-2c63a13e {
		text-align: center;
	}
}

@media (max-width: 767px) {
	body .elementor-15831 .elementor-element.elementor-element-727375cb {
		--padding-top: 40px;
		--padding-bottom: 28px;
	}

	body .elementor-15831 .elementor-element.elementor-element-3eaa94b5 {
		--gap: 26px;
		--row-gap: 26px;
	}
}

/* -------------------------------------------------------------------------
 * 9. Mobile
 *
 * The site carries its own mobile-only "Enquire now" bar (65e1f6d9, hidden on
 * desktop and tablet). With the floating dock in place that produced two
 * Enquire Now CTAs stacked on top of each other, so the older bar goes.
 * ---------------------------------------------------------------------- */

body .elementor-15831 .elementor-element.elementor-element-65e1f6d9 {
	display: none !important;
}

/* -------------------------------------------------------------------------
 * 10. Configuration & Floor Plans - locked / blurred plans
 *
 * The two cards (2d398119 "3 BHK - Type 1", 53784337 "3 BHK - Type 2") ship as
 * heading + carpet area + "Download Plan". The script drops a blurred floor
 * plan at the top of each card with a lock and a "Get Quotes" button over it;
 * submitting the enquiry form clears the blur (and is remembered, so returning
 * visitors keep their plans). Same idea as the Ekam reference.
 * ---------------------------------------------------------------------- */

.pd-fp {
	position: relative;
	width: 100%;
	margin: 0 0 20px;
	border-radius: 14px;
	overflow: hidden;
	background: #eceff1;
	box-shadow: 0 10px 28px rgba(0, 0, 0, .08);
}

.pd-fp__link {
	display: block;
	pointer-events: none; /* click-to-open enabled only once unlocked */
	cursor: default;
}

.pd-fp__img {
	display: block;
	width: 100%;
	height: auto;
	/* Desaturate + lighten while locked so all four plans read as the same
	 * neutral background regardless of each plan's own tint (pink vs green). */
	filter: blur(11px) grayscale(1) brightness(1.06);
	transform: scale(1.06); /* hides the soft blurred edges */
	transition: filter .45s ease, transform .45s ease;
}

.pd-fp__overlay {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 16px;
	padding: 16px;
	cursor: pointer;
	background: rgba(255, 255, 255, .04);
	transition: opacity .4s ease, visibility .4s ease;
}

/* Maroon house-with-padlock graphic, matching the reference exactly. */
.pd-fp__lock {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 88px;
	height: 88px;
}

.pd-fp__lockimg {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	filter: drop-shadow(0 6px 14px rgba(0, 0, 0, .22));
}

/* White "Get Quotes" button with navy label, per the reference. */
.pd-fp__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 11px 26px;
	border: 0;
	border-radius: 5px;
	background: #fff;
	color: #163a58;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .01em;
	cursor: pointer;
	box-shadow: 0 8px 20px rgba(0, 0, 0, .22);
	transition: background .2s ease, color .2s ease, transform .2s ease;
}

.pd-fp__cta:hover,
.pd-fp__cta:focus-visible {
	background: #fff;
	color: #0e2540;
	transform: translateY(-2px);
	outline: none;
}

/* Unlocked: reveal the plan, drop the overlay, allow click-to-open full size. */
.pd-fp.is-unlocked .pd-fp__img {
	filter: none;
	transform: none;
}

.pd-fp.is-unlocked .pd-fp__overlay {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.pd-fp.is-unlocked .pd-fp__link {
	pointer-events: auto;
	cursor: zoom-in;
}

/* -------------------------------------------------------------------------
 * 11. "Enquire Now" buttons - one consistent brand gold + hover
 *
 * Every Enquire Now button already ships as background-color:#E9A020; this
 * pins them all to the same gold and gives them one shared hover (darker gold),
 * so they behave identically across the header, sections and footer.
 * ---------------------------------------------------------------------- */

body .elementor-element-3fb30f5 .elementor-button,
body .elementor-element-500ab324 .elementor-button,
body .elementor-element-aa93f19 .elementor-button,
body .elementor-element-726f99a9 .elementor-button,
body .elementor-element-775e546 .elementor-button,
body .elementor-element-23f64cd4 .elementor-button,
body .elementor-element-54ef96f8 .elementor-button {
	background-color: var(--pd-gold);
	color: #fff;
	fill: #fff;
}

body .elementor-element-3fb30f5 .elementor-button:hover,
body .elementor-element-3fb30f5 .elementor-button:focus-visible,
body .elementor-element-500ab324 .elementor-button:hover,
body .elementor-element-500ab324 .elementor-button:focus-visible,
body .elementor-element-aa93f19 .elementor-button:hover,
body .elementor-element-aa93f19 .elementor-button:focus-visible,
body .elementor-element-726f99a9 .elementor-button:hover,
body .elementor-element-726f99a9 .elementor-button:focus-visible,
body .elementor-element-775e546 .elementor-button:hover,
body .elementor-element-775e546 .elementor-button:focus-visible,
body .elementor-element-23f64cd4 .elementor-button:hover,
body .elementor-element-23f64cd4 .elementor-button:focus-visible,
body .elementor-element-54ef96f8 .elementor-button:hover,
body .elementor-element-54ef96f8 .elementor-button:focus-visible {
	background-color: var(--pd-gold-dark);
	color: #fff;
	fill: #fff;
}

/* -------------------------------------------------------------------------
 * 12. Overview section rebuilt as content-left / form-right
 *
 * The script hides the original image sub-layouts (.pd-ov-hidden) and inserts
 * .pd-ov: the heading on top, then the welcome copy on the left and the real
 * enquiry form on the right - matching the reference.
 * ---------------------------------------------------------------------- */

.elementor-element-4249381d .pd-ov-hidden {
	display: none !important;
}

.pd-ov {
	width: 100%;
}

.pd-ov__row {
	display: flex;
	align-items: flex-start;
	gap: 56px;
}

/* Left column: heading (left-aligned, gold rule) with the description beneath. */
.pd-ov__text {
	flex: 1 1 0;
	min-width: 0;
}

.pd-ov__text .elementor-widget-heading {
	margin: 0;
}

.pd-ov__text .elementor-heading-title {
	text-align: left;
	line-height: 1.15;
}

.pd-ov__text .elementor-widget-heading::after {
	content: "";
	display: block;
	width: 76px;
	height: 3px;
	margin-top: 22px;
	border-radius: 3px;
	background: var(--pd-gold);
}

.pd-ov__desc {
	margin-top: 26px;
}

.pd-ov__desc p {
	font-size: 15.5px;
	line-height: 1.85;
	color: #2b2b2b;
}

.pd-ov__desc p + p {
	margin-top: 14px;
}

/* Form card - white, raised, matching the reference. */
.pd-ov__form {
	flex: 1 1 0;
	min-width: 0;
	background: #fff;
	border: 1px solid var(--pd-line);
	border-radius: 16px;
	box-shadow: 0 18px 44px rgba(0, 0, 0, .09);
	padding: 34px 30px;
}

.pd-ov__form .wpcf7 {
	margin: 0;
}

.pd-ov__form p {
	margin: 0 0 18px;
}

/* Each field wrap on its own line (CF7 wraps fields in inline spans). */
.pd-ov__form .wpcf7-form-control-wrap {
	display: block;
}

/*
 * Fields matched to the reference form (element 15274df): 57px tall, 16px
 * black placeholder text, light border, generous spacing.
 */
.pd-ov__form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.pd-ov__form select,
.pd-ov__form textarea {
	width: 100%;
	height: 57px;
	margin-bottom: 18px;
	padding: 0 20px;
	border: 1px solid var(--pd-line);
	border-radius: 10px;
	background: #fff;
	font-family: inherit;
	font-size: 16px;
	color: #000;
	transition: border-color .2s ease, box-shadow .2s ease;
}

.pd-ov__form textarea {
	height: auto;
	padding: 14px 20px;
}

.pd-ov__form input::placeholder,
.pd-ov__form textarea::placeholder {
	color: #000;
	opacity: 1;
	font-size: 16px;
}

.pd-ov__form select {
	color: #000;
}

.pd-ov__form input:not([type="submit"]):focus,
.pd-ov__form select:focus,
.pd-ov__form textarea:focus {
	border-color: var(--pd-gold);
	box-shadow: 0 0 0 3px rgba(233, 160, 32, .18);
	outline: none;
}

/* Privacy-policy consent line: checkbox beside its label, flush left. */
.pd-ov__form .wpcf7-list-item {
	margin: 0;
}

.pd-ov__form .wpcf7-acceptance .wpcf7-list-item-label {
	font-size: 13px;
	color: #6b6b6b;
}

/* Submit - full width, brand black, normal case (matches the reference). */
.pd-ov__form input[type="submit"] {
	width: 100%;
	height: 54px;
	margin-top: 8px;
	border: 0;
	border-radius: 10px;
	background: #000;
	color: #fff;
	font-weight: 700;
	font-size: 16px;
	letter-spacing: .02em;
	cursor: pointer;
	transition: background .2s ease;
}

.pd-ov__form input[type="submit"]:hover {
	background: #1a1a1a;
}

.pd-ov__form .wpcf7-spinner {
	margin: 0 0 0 8px;
}

/* Stack the two columns below the desktop breakpoint. */
@media (max-width: 1024px) {
	.pd-ov__row {
		flex-direction: column;
		align-items: stretch;
		gap: 26px;
	}

	.pd-ov__text .elementor-heading-title {
		text-align: center;
	}

	.pd-ov__text .elementor-widget-heading::after {
		margin-left: auto;
		margin-right: auto;
	}

	.pd-ov__desc {
		text-align: center;
	}
}

@media (max-width: 767px) {
	.pd-ov__form {
		padding: 24px 20px;
	}
}

/* -------------------------------------------------------------------------
 * 13. Configuration section: 2 BHK / 3 BHK toggle + remove "Download Plan"
 *
 * The script injects the tabs above the cards and a 2 BHK "available on
 * request" panel. 3 BHK is active by default (the two existing cards). The
 * original per-card "Download Plan" buttons (79e5151c, 45191751) are removed -
 * the locked plan's "Get Quotes" now drives the enquiry.
 * ---------------------------------------------------------------------- */

body .elementor-15402 .elementor-element.elementor-element-79e5151c,
body .elementor-15402 .elementor-element.elementor-element-45191751 {
	display: none !important;
}

.pd-cfg-tabs {
	display: flex;
	justify-content: flex-end;
	gap: 12px;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto 26px;
}

.pd-cfg-tab {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 20px;
	border: 1px solid #163a58;
	border-radius: 999px;
	background: #fff;
	color: #163a58;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	transition: background .2s ease, color .2s ease;
}

.pd-cfg-tab__ico {
	width: 18px;
	height: 18px;
	flex: none;
}

.pd-cfg-tab.is-active {
	background: #163a58;
	color: #fff;
}

.pd-cfg-hidden {
	display: none !important;
}

/* 2 BHK panel - same two-card row as 3 BHK, only the plan images differ. */
.pd-cfg-2bhk {
	display: flex;
	justify-content: space-between;
	gap: 30px;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

.pd-cfg-2bhk[hidden] {
	display: none;
}

.pd-cfg-2bhk__item {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	padding: 22px;
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .06);
}

/* The plan frame carries its own bottom margin already; keep the label tidy. */
.pd-cfg-2bhk__item .pd-fp {
	margin-bottom: 0;
}

.pd-cfg-2bhk__label {
	margin: 18px 0 0;
	text-align: center;
	font-family: "Cinzel", serif;
	font-size: 24px;
	font-weight: 400;
	color: #1a1a1a;
}

@media (max-width: 767px) {
	.pd-cfg-tabs {
		justify-content: center;
	}

	.pd-cfg-2bhk {
		flex-direction: column;
	}
}

/* -------------------------------------------------------------------------
 * 14. "WE'D LOVE TO Hear From You" section polish (3e35b22c)
 *
 * Black section; the two columns are heading (513d063) left and the CF7 form
 * (0a6a28b) right. Problems fixed: submit was black-on-black (invisible), the
 * left column looked empty, fields were harsh and the consent text was low
 * contrast. The script adds a supporting line under the heading.
 * ---------------------------------------------------------------------- */

body .elementor-15402 .elementor-element.elementor-element-3e35b22c {
	--padding-top: 76px;
	--padding-bottom: 76px;
}

/* Both columns equal height, so the image fills the left with no empty space. */
body .elementor-15402 .elementor-element.elementor-element-5510d000 {
	--align-items: stretch;
	--gap: 50px;
	--column-gap: 50px;
}

/* Left column holds just the image, stretched to the column height. */
body .elementor-15402 .elementor-element.elementor-element-6fa70bd8 {
	--display: flex;
	--flex-direction: column;
	--align-items: stretch;
	--justify-content: stretch;
}

/* Right column stacks the heading + description above the form (it ships as a
 * flex row, which otherwise sits the form beside the heading). */
body .elementor-15402 .elementor-element.elementor-element-38cd301d {
	--display: flex;
	--flex-direction: column;
	--align-items: stretch;
	--justify-content: flex-start;
}

body .elementor-15402 .elementor-element-513d063 .elementor-heading-title {
	line-height: 1.16;
}

/* Heading + description sit at the top of the right column, above the form. */
body .elementor-15402 .elementor-element-513d063.pd-contact-head {
	margin: 0 0 38px;
	text-align: left;
}

body .elementor-15402 .pd-contact-head .elementor-heading-title {
	text-align: left;
	letter-spacing: .01em;
}

.pd-contact-sub {
	margin: 24px 0 0;
	max-width: 46ch;
	color: #d7d7d7;
	font-size: 16px;
	line-height: 1.8;
}

.pd-contact-head .pd-contact-sub {
	margin: 26px 0 0;
	text-align: left;
}

.pd-contact-head .pd-contact-sub::before {
	margin-left: 0;
	margin-right: 0;
}

.pd-contact-sub::before {
	content: "";
	display: block;
	width: 76px;
	height: 3px;
	margin-bottom: 22px;
	border-radius: 3px;
	background: var(--pd-gold);
}

/* Tower render fills the left column height (no empty space below). */
.pd-contact-img {
	display: block;
	flex: 1 1 auto;
	width: 100%;
	height: 100%;
	min-height: 420px;
	object-fit: cover;
	margin: 0;
	border-radius: 14px;
	box-shadow: 0 20px 48px rgba(0, 0, 0, .4);
}

/* Form: a solid white card, like the reference. */
body .elementor-15402 .elementor-element-0a6a28b .ekit-form {
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 20px 48px rgba(0, 0, 0, .28);
	padding: 36px 34px;
}

/* Heading inside the form card. */
.pd-formhead {
	margin: 0 0 26px;
	color: #163a58;
	font-size: 19px;
	font-weight: 600;
	line-height: 1.45;
}

/* Fields: soft grey fill, borderless, rounded - clean and modern. */
body .elementor-15402 .elementor-element-0a6a28b .ekit-form form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .elementor-15402 .elementor-element-0a6a28b .ekit-form form select {
	height: 56px;
	padding: 0 20px;
	border: 1px solid transparent;
	border-radius: 8px;
	background: #ebeced;
	color: #333;
	font-size: 15px;
	transition: border-color .2s ease, background .2s ease;
}

body .elementor-15402 .elementor-element-0a6a28b .ekit-form form input::placeholder {
	color: #8a8a8a;
	font-size: 15px;
}

body .elementor-15402 .elementor-element-0a6a28b .ekit-form form input:not([type="submit"]):focus,
body .elementor-15402 .elementor-element-0a6a28b .ekit-form form select:focus {
	border-color: #163a58;
	background: #fff;
	outline: none;
}

/* Consent line on its own row, so Submit drops below it (reference layout). */
body .elementor-15402 .elementor-element-0a6a28b .ekit-form form .wpcf7-form-control-wrap[name="privacy-policy"] {
	display: block;
	margin: 6px 0 22px;
}

body .elementor-15402 .elementor-element-0a6a28b .wpcf7-list-item-label,
body .elementor-15402 .elementor-element-0a6a28b .ekit-form form > p {
	color: #6b6b6b;
}

body .elementor-15402 .elementor-element-0a6a28b .ekit-form input[type="checkbox"] {
	accent-color: #163a58;
	width: 16px;
	height: 16px;
}

body .elementor-15402 .elementor-element-0a6a28b .ekit-form a {
	color: #163a58;
	text-decoration: underline;
}

/* Submit: navy, auto-width, left-aligned, text vertically centred. */
body .elementor-15402 .elementor-element-0a6a28b .ekit-form form input[type="submit"] {
	width: auto !important;
	min-width: 170px;
	height: 56px !important;
	padding: 0 48px !important;
	line-height: normal !important;
	border: 0 !important;
	border-radius: 8px;
	background: #163a58 !important;
	color: #fff !important;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .02em;
	text-align: center;
	vertical-align: middle;
	cursor: pointer;
	transition: background .2s ease;
}

body .elementor-15402 .elementor-element-0a6a28b .ekit-form form input[type="submit"]:hover {
	background: #0e2540 !important;
}

@media (max-width: 1024px) {
	.pd-contact-sub {
		margin-inline: auto;
	}

	.pd-contact-sub::before {
		margin-inline: auto;
	}

	.pd-contact-img {
		margin-inline: auto;
	}
}

/* -------------------------------------------------------------------------
 * 15. Mobile fixes
 *
 * a) Overview section (4249381d) sat tight under the hero banner - give it
 *    breathing room above the "Experience Luxurious Living" heading.
 * b) The ElementsKit back-to-top button (46df64a, mobile only) is fixed at the
 *    bottom-right and was hidden behind the floating CTA bar - lift it clear
 *    and raise it above the dock.
 * ---------------------------------------------------------------------- */

@media (max-width: 767px) {
	body .elementor-15402 .elementor-element.elementor-element-4249381d {
		--padding-top: 46px;
	}

	.ekit-back-to-top-container {
		position: fixed !important;
		right: 16px !important;
		bottom: 98px !important;
		z-index: 99995 !important;
		width: auto !important;
	}

	.ekit-back-to-top-container .ekit-btt__button {
		opacity: 1 !important;
		position: relative;
	}

	/* The Font Awesome arrow does not render (subset issue), so draw an up
	 * chevron with CSS instead. */
	.ekit-back-to-top-container .ekit-btt__button i {
		display: none !important;
	}

	.ekit-back-to-top-container .ekit-btt__button::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		width: 11px;
		height: 11px;
		border-top: 3px solid #fff;
		border-left: 3px solid #fff;
		transform: translate(-50%, -30%) rotate(45deg);
	}
}

/* -------------------------------------------------------------------------
 * 16. "Enquire Now" button icons
 *
 * The buttons ship with icon-font glyphs (`icon icon-book1` on the header
 * button, `fas fa-arrow-alt-circle-right` on the rest). Neither font resolves
 * on this site, so the browser renders a tofu box. Hide the broken glyph and
 * draw a chevron with CSS instead - it inherits the button's text colour, so
 * it works on the gold buttons and anywhere else they appear.
 * ---------------------------------------------------------------------- */

body .elementor-element-3fb30f5 .elementor-button-icon i,
body .elementor-element-500ab324 .elementor-button-icon i,
body .elementor-element-aa93f19 .elementor-button-icon i,
body .elementor-element-726f99a9 .elementor-button-icon i,
body .elementor-element-775e546 .elementor-button-icon i,
body .elementor-element-23f64cd4 .elementor-button-icon i,
body .elementor-element-54ef96f8 .elementor-button-icon i {
	display: none !important;
}

body .elementor-element-3fb30f5 .elementor-button-icon::after,
body .elementor-element-500ab324 .elementor-button-icon::after,
body .elementor-element-aa93f19 .elementor-button-icon::after,
body .elementor-element-726f99a9 .elementor-button-icon::after,
body .elementor-element-775e546 .elementor-button-icon::after,
body .elementor-element-23f64cd4 .elementor-button-icon::after,
body .elementor-element-54ef96f8 .elementor-button-icon::after {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-left: 1px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: translateY(-1px) rotate(45deg);
}

/* -------------------------------------------------------------------------
 * 17. "A Celebration of Space" branding
 *
 * The Drive Series logo file was replaced with a 4x-resolution version to fix
 * the blur, so the image's natural size grew and it rendered far too large.
 * Cap the DISPLAY width back to roughly what it was before - the file stays
 * high-resolution, so it renders sharp at the smaller size.
 *
 * The Bhandari Associates logo is added beneath it by the script.
 * ---------------------------------------------------------------------- */

body .elementor-15402 .elementor-element-74d77f2 img {
	width: auto;
	/* The crisp "What drives you?" lockup is near-square (was a wide crop),
	   so it needs more width than the old logo to keep the tagline legible. */
	max-width: 200px;
	height: auto;
	margin-inline: auto;
}

.pd-bhandari {
	width: 100%;
	margin: 18px 0 0;
	text-align: center;
}

.pd-bhandari img {
	display: inline-block;
	width: auto;
	max-width: 150px;
	height: auto;
}

@media (max-width: 767px) {
	body .elementor-15402 .elementor-element-74d77f2 img {
		max-width: 170px;
	}

	.pd-bhandari img {
		max-width: 130px;
	}
}

/* -------------------------------------------------------------------------
 * 18. Bhandari Associates logo in the header
 *
 * Sits immediately after the 31 Palma Drive logo, separated by a hairline.
 * Injected into both the desktop and mobile headers; each copy inherits its
 * own header's visibility, so exactly one is ever on screen.
 * ---------------------------------------------------------------------- */

.pd-bhandari-head {
	display: flex;
	align-items: center;
	flex: none;
	margin-left: 16px;
	padding-left: 16px;
	border-left: 1px solid rgba(0, 0, 0, .15);
}

.pd-bhandari-head img {
	display: block;
	width: auto;
	max-width: 118px;
	max-height: 40px;
	height: auto;
}

/*
 * The logo widget usually sits in a flex row with the nav; make sure the pair
 * stays on one line and does not get pushed onto a second row.
 */
.pd-bhandari-head,
.pd-bhandari-head img {
	min-width: 0;
}

@media (max-width: 1024px) {
	.pd-bhandari-head {
		margin-left: 12px;
		padding-left: 12px;
	}

	.pd-bhandari-head img {
		max-width: 96px;
		max-height: 34px;
	}
}

@media (max-width: 767px) {
	.pd-bhandari-head {
		margin-left: 10px;
		padding-left: 10px;
	}

	.pd-bhandari-head img {
		max-width: 84px;
		max-height: 30px;
	}
}

@media (max-width: 400px) {
	.pd-bhandari-head img {
		max-width: 68px;
		max-height: 26px;
	}
}

/*
 * The header logo sits in a column container, so the injected Bhandari mark
 * dropped onto a second line. Lay the pair out in a row instead.
 */
body .elementor-element.elementor-element-2702b056,
body .elementor-element.elementor-element-67ec7f50 {
	--display: flex;
	--flex-direction: row;
	--align-items: center;
	--justify-content: flex-start;
	--flex-wrap: nowrap;
}

body .elementor-element-2702b056,
body .elementor-element-67ec7f50 {
	display: flex !important;
	flex-direction: row !important;
	align-items: center;
	flex-wrap: nowrap;
}

/* keep the 31 Palma Drive logo from being squashed by the added mark */
body .elementor-element-52a9883f,
body .elementor-element-6d294d89 {
	flex: 0 1 auto;
	width: auto;
}

/* shrink the logo widget to its content so the pair sits snugly together */
body .elementor-element-52a9883f,
body .elementor-element-6d294d89 {
	flex: 0 0 auto;
	width: auto !important;
	max-width: max-content;
}

/* the container's own flex gap was adding extra space before the divider */
body .elementor-element.elementor-element-2702b056,
body .elementor-element.elementor-element-67ec7f50 {
	--gap: 0px;
	--column-gap: 0px;
	--row-gap: 0px;
}

body .elementor-element-2702b056,
body .elementor-element-67ec7f50 {
	gap: 0 !important;
	justify-content: flex-start !important;
}

/*
 * The logo column is a fixed 22.4% width and the logo <img> inside it is only
 * 59% of that, so ~40% of the column was empty - that was the gap before the
 * divider. Give the logo a real width and let the column size to its content.
 */
body .elementor-15825 .elementor-element.elementor-element-2702b056,
body .elementor-15825 .elementor-element.elementor-element-67ec7f50 {
	--width: auto;
}

body .elementor-15825 .elementor-element.elementor-element-52a9883f img,
body .elementor-15825 .elementor-element.elementor-element-6d294d89 img {
	width: 160px !important;
	max-width: 100%;
	height: auto;
}

@media (max-width: 767px) {
	body .elementor-15825 .elementor-element.elementor-element-52a9883f img,
	body .elementor-15825 .elementor-element.elementor-element-6d294d89 img {
		width: 120px !important;
	}
}

/* -------------------------------------------------------------------------
 * 19. Header logo pair - matched heights
 *
 * The two marks have very different proportions (31 Palma Drive is 3.31:1,
 * Bhandari is 1.86:1), so they are matched on HEIGHT with width left auto.
 * Forcing equal widths would distort one of them. Same treatment on desktop
 * and mobile, always side by side.
 * ---------------------------------------------------------------------- */

body .elementor-15825 .elementor-element.elementor-element-52a9883f img,
body .elementor-15825 .elementor-element.elementor-element-6d294d89 img,
.pd-bhandari-head img {
	height: 62px !important;
	width: auto !important;
	max-width: none !important;
	max-height: none !important;
	display: block;
}

.pd-bhandari-head {
	margin-left: 18px;
	padding-left: 18px;
}

@media (max-width: 1024px) {
	body .elementor-15825 .elementor-element.elementor-element-52a9883f img,
	body .elementor-15825 .elementor-element.elementor-element-6d294d89 img,
	.pd-bhandari-head img {
		height: 54px !important;
	}
}

@media (max-width: 767px) {
	body .elementor-15825 .elementor-element.elementor-element-52a9883f img,
	body .elementor-15825 .elementor-element.elementor-element-6d294d89 img,
	.pd-bhandari-head img {
		height: 44px !important;
	}

	.pd-bhandari-head {
		margin-left: 12px;
		padding-left: 12px;
	}
}

@media (max-width: 400px) {
	body .elementor-15825 .elementor-element.elementor-element-52a9883f img,
	body .elementor-15825 .elementor-element.elementor-element-6d294d89 img,
	.pd-bhandari-head img {
		height: 36px !important;
	}

	.pd-bhandari-head {
		margin-left: 9px;
		padding-left: 9px;
	}
}

/* -------------------------------------------------------------------------
 * 20. Bigger logos WITHOUT a taller header
 *
 * The logo is the tallest thing in the header, so enlarging it pushed the bar
 * down. Trim the header wrapper's vertical padding by the same amount the
 * logos grew, and the bar keeps its original height (81px desktop / 43px
 * mobile). Mobile has only ~9px of padding to give back, so the logo there is
 * capped at what actually fits.
 * ---------------------------------------------------------------------- */

body .elementor-15825 .elementor-element.elementor-element-1606ec77 {
	--padding-top: 2px;
	--padding-bottom: 2px;
}

@media (max-width: 767px) {
	body .elementor-15825 .elementor-element.elementor-element-1606ec77 {
		--padding-top: 0px;
		--padding-bottom: 0px;
	}

	/* mobile bar is only ~43px tall - reclaim the inner padding too */
	body .elementor-15825 .elementor-element.elementor-element-21009937,
	body .elementor-15825 .elementor-element.elementor-element-44f26ebf {
		--padding-top: 1px;
		--padding-bottom: 1px;
	}

	body .elementor-15825 .elementor-element.elementor-element-52a9883f img,
	body .elementor-15825 .elementor-element.elementor-element-6d294d89 img,
	.pd-bhandari-head img {
		height: 41px !important;
	}
}

@media (max-width: 400px) {
	body .elementor-15825 .elementor-element.elementor-element-52a9883f img,
	body .elementor-15825 .elementor-element.elementor-element-6d294d89 img,
	.pd-bhandari-head img {
		height: 34px !important;
	}
}

/* -------------------------------------------------------------------------
 * 21. Keep the header on one line
 *
 * The logo pair takes more width than the original single logo, which was
 * squeezing the nav and wrapping "ENQUIRE NOW" onto two lines. Stop the CTA
 * from breaking, and let the logo block shrink before the nav does.
 * ---------------------------------------------------------------------- */

body .elementor-15825 .elementor-element-3fb30f5 .elementor-button,
body .elementor-15825 .elementor-element-500ab324 .elementor-button {
	white-space: nowrap;
}

body .elementor-15825 .elementor-element-3fb30f5,
body .elementor-15825 .elementor-element-500ab324 {
	flex: 0 0 auto;
}

/* the logo block must never shrink below its content, or the two marks
   overlap each other */
body .elementor-15825 .elementor-element.elementor-element-2702b056,
body .elementor-15825 .elementor-element.elementor-element-67ec7f50 {
	flex: 0 0 auto !important;
	min-width: max-content;
	overflow: visible;
}

/* tighten the divider spacing so the pair costs less width */
.pd-bhandari-head {
	margin-left: 14px;
	padding-left: 14px;
}

/* between 768-1100px the nav is tightest - ease the logos down a touch */
@media (min-width: 768px) and (max-width: 1100px) {
	body .elementor-15825 .elementor-element.elementor-element-52a9883f img,
	body .elementor-15825 .elementor-element.elementor-element-6d294d89 img,
	.pd-bhandari-head img {
		height: 46px !important;
	}
}

/*
 * 1101-1400px: nav + CTA leave just enough room, so ease the logos down a
 * step here to keep the "Enquire Now" button off the right edge.
 */
@media (min-width: 1101px) and (max-width: 1400px) {
	body .elementor-15825 .elementor-element.elementor-element-52a9883f img,
	body .elementor-15825 .elementor-element.elementor-element-6d294d89 img,
	.pd-bhandari-head img {
		height: 52px !important;
	}
}

/* -------------------------------------------------------------------------
 * 17. Mobile hero fix
 *
 * The homepage has two hero containers: 7a03f1bd (desktop) and 4c5143ac
 * (mobile-only). After the runtime image swap the mobile banner could collapse
 * to zero height on phones. The site already shows this container as flex at
 * <=767px and hides it >=768px, so forcing full-width / auto-height here only
 * affects the phone view and cannot disturb desktop.
 * ---------------------------------------------------------------------- */
@media (max-width: 767px) {
	body .elementor-15402 .elementor-element.elementor-element-4c5143ac {
		display: flex !important;
	}

	body .elementor-15402 .elementor-element.elementor-element-b0f90f2,
	body .elementor-15402 .elementor-element.elementor-element-b0f90f2 .elementor-widget-container,
	body .elementor-15402 .elementor-element.elementor-element-b0f90f2 img {
		width: 100% !important;
		height: auto !important;
		min-height: 1px;
		display: block;
	}
}

/* -------------------------------------------------------------------------
 * 18. Typography
 *
 * Headings + sub-headings -> Cinzel; descriptions + normal text -> Montserrat.
 * Both families are already loaded site-wide via Google Fonts, so no @import
 * is needed. Elementor's global typography vars are repointed too, so widgets
 * that follow the globals change as well.
 *
 * The Montserrat block comes first and the Cinzel block second, and the Cinzel
 * selectors also cover a heading's inline children (span/b/strong) so nothing
 * inside a heading falls back to Montserrat.
 * ---------------------------------------------------------------------- */

body.page-id-15402,
body .elementor-15402 {
	--e-global-typography-primary-font-family: "Cinzel";
	--e-global-typography-secondary-font-family: "Cinzel";
	--e-global-typography-text-font-family: "Montserrat";
	--e-global-typography-accent-font-family: "Montserrat";
}

/* Descriptions + all normal text -> Montserrat. */
body .elementor-15402,
body .elementor-15402 p,
body .elementor-15402 li,
body .elementor-15402 a,
body .elementor-15402 button,
body .elementor-15402 input,
body .elementor-15402 select,
body .elementor-15402 textarea,
body .elementor-15402 .elementor-widget-text-editor,
body .elementor-15402 .elementor-widget-text-editor *,
body .elementor-15402 .elementor-button,
body .elementor-15402 .elementor-icon-list-text,
body .elementor-15402 .elementor-nav-menu a,
body .elementor-15402 .wpcf7-form,
body .elementor-15402 .pd-cta,
body .elementor-15402 .pd-mdock,
body .elementor-15402 .pd-ov__desc,
body .elementor-15402 .pd-contact-sub {
	font-family: "Montserrat", sans-serif !important;
}

/* Headings + sub-headings -> Cinzel (incl. inline children of a heading). */
body .elementor-15402 h1,
body .elementor-15402 h2,
body .elementor-15402 h3,
body .elementor-15402 h4,
body .elementor-15402 h5,
body .elementor-15402 h6,
body .elementor-15402 .elementor-heading-title,
body .elementor-15402 .elementor-heading-title * {
	font-family: "Cinzel", serif !important;
}
