/* --- SHAVYSTAYS LUXURY CONTACT PAGE STYLES (PAGE ID 30) --- */

/* Continuous Canonical Champagne-Blush Gradient Background */
body.page-id-30,
body.page-id-30 #page,
body.page-id-30 #content,
body.page-id-30 .elementor-30 {
	background-color: var(--shavy-secondary-surface-solid, #FFF8F5) !important;
	background-image: var(--shavy-secondary-surface) !important;
	background-attachment: fixed !important;
	color: #1E293B !important;
	font-family: var(--gva-font-body, 'Plus Jakarta Sans', 'Urbanist', -apple-system, sans-serif) !important;
}

/* Hide obsolete Boliin breadcrumb header section if present */
body.page-id-30 .elementor-element-f65563a {
	display: none !important;
}

/* Main Contact Section Spacing */
body.page-id-30 .elementor-element-ce6dba8 {
	padding: 60px 0 0 0 !important;
	margin: 0 !important;
	background: transparent !important;
}

body.page-id-30 .elementor-element-ce6dba8 .elementor-container {
	max-width: 1180px !important;
	margin: 0 auto !important;
	padding: 0 24px !important;
	display: flex !important;
	align-items: flex-start !important;
	gap: 48px !important;
}

/* Columns Spacing (Eliminate 100px bottom padding gap) */
body.page-id-30 .elementor-element-f62713a {
	width: 58% !important;
	max-width: 58% !important;
	flex: 0 0 58% !important;
	padding: 0 !important;
	margin: 0 !important;
}

body.page-id-30 .elementor-element-3b6d25a {
	width: 42% !important;
	max-width: 42% !important;
	flex: 0 0 42% !important;
	padding: 0 !important;
	margin: 0 !important; /* Zero overlap! */
}

/* Left Column Heading Block (Widget d8d863d) */
body.page-id-30 .gsc-heading {
	margin-bottom: 24px !important;
}

body.page-id-30 .gsc-heading .sub-title {
	margin-bottom: 8px !important;
}

body.page-id-30 .gsc-heading .sub-title .tagline {
	color: #E00C5D !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 2.5px !important;
	text-transform: uppercase !important;
}

body.page-id-30 .gsc-heading .title {
	font-family: var(--gva-font-heading, "Playfair Display", Georgia, serif) !important;
	font-size: 38px !important;
	font-weight: 700 !important;
	color: #1E293B !important;
	line-height: 1.25 !important;
	margin: 0 0 12px 0 !important;
	letter-spacing: -0.5px !important;
}

body.page-id-30 .shavy-contact-intro-desc {
	font-size: 15px !important;
	color: #64748B !important;
	line-height: 1.6 !important;
	margin: 0 0 28px 0 !important;
}

/* Contact Form 7 Styling - White Surface, Visible Neutral Border & Refined Shadow */
body.page-id-30 .wpcf7-form {
	display: flex !important;
	flex-direction: column !important;
	gap: 20px !important;
}

body.page-id-30 .shavy-form-row {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 20px !important;
}

body.page-id-30 .shavy-form-group {
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
}

body.page-id-30 .shavy-form-group--full {
	grid-column: span 2 !important;
}

body.page-id-30 .shavy-form-label {
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #334155 !important;
	letter-spacing: 0.5px !important;
}

body.page-id-30 .shavy-form-label .required {
	color: #E00C5D !important;
}

body.page-id-30 .wpcf7-form-control-wrap {
	display: flex !important;
	flex-direction: column !important;
	position: relative !important;
	width: 100% !important;
}

body.page-id-30 .wpcf7 input[type="text"],
body.page-id-30 .wpcf7 input[type="email"],
body.page-id-30 .wpcf7 input[type="tel"],
body.page-id-30 .wpcf7 textarea {
	width: 100% !important;
	background: #FFFFFF !important;
	border: 1px solid rgba(30, 41, 59, 0.16) !important;
	border-radius: 11px !important;
	padding: 14px 16px !important;
	font-size: 14px !important;
	color: #1E293B !important;
	font-family: inherit !important;
	box-shadow: 0 6px 18px rgba(24, 35, 56, 0.04) !important;
	box-sizing: border-box !important;
	transition: border-color 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease !important;
}

body.page-id-30 .wpcf7 input[type="text"]::placeholder,
body.page-id-30 .wpcf7 input[type="email"]::placeholder,
body.page-id-30 .wpcf7 input[type="tel"]::placeholder,
body.page-id-30 .wpcf7 textarea::placeholder {
	color: #667085 !important;
	opacity: 1 !important;
}

/* Hover State */
body.page-id-30 .wpcf7 input[type="text"]:hover,
body.page-id-30 .wpcf7 input[type="email"]:hover,
body.page-id-30 .wpcf7 input[type="tel"]:hover,
body.page-id-30 .wpcf7 textarea:hover {
	border-color: rgba(30, 41, 59, 0.28) !important;
}

/* Focus State */
body.page-id-30 .wpcf7 input[type="text"]:focus,
body.page-id-30 .wpcf7 input[type="email"]:focus,
body.page-id-30 .wpcf7 input[type="tel"]:focus,
body.page-id-30 .wpcf7 textarea:focus,
body.page-id-30 .wpcf7 input[type="text"]:focus-visible,
body.page-id-30 .wpcf7 input[type="email"]:focus-visible,
body.page-id-30 .wpcf7 input[type="tel"]:focus-visible,
body.page-id-30 .wpcf7 textarea:focus-visible {
	outline: none !important;
	background: #FFFFFF !important;
	border-color: #E00C5D !important;
	box-shadow: 0 0 0 3px rgba(224, 12, 93, 0.10) !important;
}

/* Invalid Field State */
body.page-id-30 .wpcf7 input.wpcf7-not-valid,
body.page-id-30 .wpcf7 textarea.wpcf7-not-valid {
	border-color: #E00C5D !important;
	box-shadow: 0 0 0 3px rgba(224, 12, 93, 0.08) !important;
}

/* Browser Autofill Fix */
body.page-id-30 .wpcf7 input:-webkit-autofill,
body.page-id-30 .wpcf7 input:-webkit-autofill:hover,
body.page-id-30 .wpcf7 input:-webkit-autofill:focus,
body.page-id-30 .wpcf7 textarea:-webkit-autofill,
body.page-id-30 .wpcf7 textarea:-webkit-autofill:hover,
body.page-id-30 .wpcf7 textarea:-webkit-autofill:focus {
	-webkit-box-shadow: 0 0 0 1000px #FFFFFF inset !important;
	-webkit-text-fill-color: #1E293B !important;
	transition: background-color 5000s ease-in-out 0s !important;
}

body.page-id-30 .wpcf7 textarea {
	height: 160px !important;
	resize: vertical !important;
}

body.page-id-30 .wpcf7 input[type="submit"],
body.page-id-30 .wpcf7 .wpcf7-submit {
	background: #E00C5D !important;
	color: #FFFFFF !important;
	border: none !important;
	border-radius: 10px !important;
	padding: 16px 36px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: 1.5px !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease !important;
	box-shadow: 0 4px 14px rgba(224, 12, 93, 0.25) !important;
	display: inline-block !important;
}

body.page-id-30 .wpcf7 input[type="submit"]:hover,
body.page-id-30 .wpcf7 .wpcf7-submit:hover {
	background: #C00A4E !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 20px rgba(224, 12, 93, 0.35) !important;
}

/* CF7 Validation Tip & Status Messages Positioning */
body.page-id-30 .wpcf7-not-valid-tip {
	color: #E00C5D !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	margin-top: 6px !important;
	display: block !important;
	position: static !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

body.page-id-30 .wpcf7-response-output {
	margin: 20px 0 0 0 !important;
	padding: 12px 16px !important;
	border-radius: 8px !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
}

/* Right Column Contact Card (Preserve Crisp White Card over Gradient) */
body.page-id-30 .shavy-contact-card {
	background: #FFFFFF !important;
	border: 1px solid rgba(224, 12, 93, 0.14) !important;
	border-top: 3px solid #E00C5D !important;
	border-radius: 16px !important;
	padding: 36px 32px !important;
	box-shadow: 0 10px 30px rgba(30, 41, 59, 0.06) !important;
	box-sizing: border-box !important;
}

body.page-id-30 .shavy-contact-card__heading {
	font-family: var(--gva-font-heading, "Playfair Display", Georgia, serif) !important;
	font-size: 26px !important;
	font-weight: 700 !important;
	color: #1E293B !important;
	margin: 0 0 8px 0 !important;
}

body.page-id-30 .shavy-contact-card__sub {
	font-size: 14px !important;
	color: #64748B !important;
	line-height: 1.55 !important;
	margin: 0 0 28px 0 !important;
	padding-bottom: 20px !important;
	border-bottom: 1px solid rgba(226, 232, 240, 0.8) !important;
}

body.page-id-30 .shavy-contact-card__rows {
	display: flex !important;
	flex-direction: column !important;
	gap: 22px !important;
	margin-bottom: 30px !important;
}

body.page-id-30 .shavy-contact-row {
	display: flex !important;
	align-items: flex-start !important;
	gap: 16px !important;
}

body.page-id-30 .shavy-contact-row__icon {
	width: 44px !important;
	height: 44px !important;
	border-radius: 50% !important;
	background: rgba(224, 12, 93, 0.08) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: #E00C5D !important;
	flex-shrink: 0 !important;
}

body.page-id-30 .shavy-contact-row__content {
	display: flex !important;
	flex-direction: column !important;
	gap: 2px !important;
}

body.page-id-30 .shavy-contact-row__label {
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 1.5px !important;
	text-transform: uppercase !important;
	color: #94A3B8 !important;
}

body.page-id-30 .shavy-contact-row__value {
	font-size: 15px !important;
	font-weight: 600 !important;
	color: #1E293B !important;
	line-height: 1.4 !important;
}

body.page-id-30 .shavy-contact-row__value a {
	color: #1E293B !important;
	text-decoration: none !important;
	transition: color 0.2s ease !important;
}

body.page-id-30 .shavy-contact-row__value a:hover {
	color: #E00C5D !important;
}

/* Secondary Action: WhatsApp Button */
body.page-id-30 .shavy-contact-card__whatsapp-btn {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	width: 100% !important;
	background: rgba(224, 12, 93, 0.05) !important;
	border: 1px solid rgba(224, 12, 93, 0.28) !important;
	border-radius: 10px !important;
	padding: 14px 20px !important;
	color: #E00C5D !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: 1.4px !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	transition: background-color 0.25s ease, border-color 0.25s ease, transform 0.25s ease !important;
	box-sizing: border-box !important;
}

body.page-id-30 .shavy-contact-card__whatsapp-btn:hover {
	background: rgba(224, 12, 93, 0.1) !important;
	border-color: #E00C5D !important;
	transform: translateY(-1px) !important;
}

/* Map Section (Refined Tight Gap ~52px & Contained White Frame) */
body.page-id-30 .elementor-element-e408315 {
	margin-top: 52px !important;
	padding: 0 0 60px 0 !important;
	background: transparent !important;
}

body.page-id-30 .elementor-element-e408315 .elementor-container {
	max-width: 1180px !important;
	margin: 0 auto !important;
	padding: 0 24px !important;
}

body.page-id-30 .elementor-widget-google_maps {
	border-radius: 16px !important;
	overflow: hidden !important;
	background: #FFFFFF !important;
	box-shadow: 0 8px 24px rgba(30, 41, 59, 0.05) !important;
	border: 1px solid rgba(224, 12, 93, 0.12) !important;
}

body.page-id-30 .elementor-widget-google_maps iframe {
	height: 380px !important;
	border: none !important;
	display: block !important;
	width: 100% !important;
}

/* Responsive */
@media (max-width: 991px) {
	body.page-id-30 .elementor-element-ce6dba8 .elementor-container {
		flex-direction: column !important;
		gap: 40px !important;
	}
	body.page-id-30 .elementor-element-f62713a,
	body.page-id-30 .elementor-element-3b6d25a {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
	}
}

@media (max-width: 640px) {
	body.page-id-30 .shavy-form-row {
		grid-template-columns: 1fr !important;
	}
	body.page-id-30 .shavy-form-group--full {
		grid-column: span 1 !important;
	}
	body.page-id-30 .gsc-heading .title {
		font-size: 30px !important;
	}
	body.page-id-30 .shavy-contact-card {
		padding: 28px 20px !important;
	}
	body.page-id-30 .elementor-widget-google_maps iframe {
		height: 300px !important;
	}
}
