/*
Theme Name: Hello Elementor Speed Child
Theme URI: https://localhost/saas
Description: Child theme with performance-focused tweaks for saas site.
Author: Local Dev
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-speed-child
*/

/* Prevent horizontal scrollbars caused by oversized widgets/sections */
body:not(.elementor-editor-active) {
	overflow-x: hidden;
}

.elementor img,
.elementor video,
.elementor iframe,
.elementor svg {
	max-width: 100%;
	height: auto;
}

/* Header template (post-112) had large left margins that overflow on smaller viewports */
@media (max-width: 1200px) {
	.elementor-112 .elementor-element.elementor-element-548f623b,
	.elementor-112 .elementor-element.elementor-element-bd1e19c {
		margin-left: 0 !important;
	}

	.elementor-112 .elementor-element.elementor-element-bd1e19c img {
		width: min(208px, 100%) !important;
		height: auto !important;
	}
}

/* Home page (post-78) had negative margins/fixed button widths causing mobile overflow */
@media (max-width: 1024px) {
	.elementor-78 .elementor-element.elementor-element-4a7f926,
	.elementor-78 .elementor-element.elementor-element-4fd73d8e,
	.elementor-78 .elementor-element.elementor-element-76fd2ca6,
	.elementor-78 .elementor-element.elementor-element-5e2cfe26 {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.elementor-78 .elementor-element.elementor-element-4a7f926 {
		text-align: center !important;
	}

	.elementor-78 .elementor-element.elementor-element-4fd73d8e .ekit_double_button {
		width: 100% !important;
		max-width: 100%;
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
	}

	.elementor-78 .elementor-element.elementor-element-4fd73d8e .ekit_double_button .ekit-double-btn {
		flex: 1 1 180px;
		min-width: 0;
		text-align: center;
	}

	.elementor-78 .elementor-element.elementor-element-774c4aa6,
	.elementor-78 .elementor-element.elementor-element-155a0d7a,
	.elementor-78 .elementor-element.elementor-element-73338bbf {
		--content-width: 100%;
	}
}

@media (max-width: 767px) {
	.elementor-78 .elementor-element.elementor-element-4a7f926 {
		margin: 0 !important;
	}

	.elementor-78 .elementor-element.elementor-element-4a7f926 img {
		width: min(75%, 260px);
		max-width: 100%;
		height: auto;
	}
}

/* Home hero Prime Slider buttons were gated behind reveal/parallax layers and became hard to tap reliably. */
.elementor-78 .elementor-element.elementor-element-0d642e4 .bdt-overlay-default {
	pointer-events: none;
}

.elementor-78 .elementor-element.elementor-element-0d642e4 .bdt-prime-slider-wrapper,
.elementor-78 .elementor-element.elementor-element-0d642e4 .bdt-prime-slider-content,
.elementor-78 .elementor-element.elementor-element-0d642e4 [data-bdt-slideshow-parallax] {
	position: relative;
	z-index: 3;
}

.elementor-78 .elementor-element.elementor-element-0d642e4 .bdt-ps-dragon-button {
	display: inline-flex !important;
	position: relative !important;
	z-index: 5 !important;
	pointer-events: auto !important;
	touch-action: manipulation;
	text-decoration: none !important;
}

.elementor-78 .elementor-element.elementor-element-0d642e4 .bdt-ps-button,
.elementor-78 .elementor-element.elementor-element-0d642e4 .bdt-ps-button * {
	pointer-events: auto !important;
}

.elementor-78 .elementor-element.elementor-element-0d642e4.reveal-effects-active-yes .bdt-ps-dragon-button.reveal-muted,
.elementor-78 .elementor-element.elementor-element-0d642e4.reveal-effects-active-yes .bdt-prime-slider-social-icon.reveal-muted,
.elementor-78 .elementor-element.elementor-element-0d642e4.reveal-effects-active-yes .bdt-dotnav.reveal-muted {
	opacity: 1;
	transform: none;
}

/* Replace the decorative Dragon CTA with a normal button while preserving the popup link. */
.elementor-78 .elementor-element.elementor-element-0d642e4 .bdt-ps-dragon-button .bdt-ps-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 190px !important;
	padding: 14px 28px !important;
	margin-bottom: 0 !important;
	border-radius: 999px !important;
	background: #fe506c !important;
	box-shadow: 0 14px 32px rgba(254, 80, 108, 0.28) !important;
}

.elementor-78 .elementor-element.elementor-element-0d642e4 .bdt-ps-dragon-button .bdt-ps-button:hover,
.elementor-78 .elementor-element.elementor-element-0d642e4 .bdt-ps-dragon-button .bdt-ps-button:focus-visible {
	background: #e94462 !important;
	box-shadow: 0 16px 34px rgba(254, 80, 108, 0.34) !important;
}

.elementor-78 .elementor-element.elementor-element-0d642e4 .bdt-ps-dragon-button .bdt-ps-button-text {
	margin: 0 !important;
	color: #ffffff !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	letter-spacing: 0.02em !important;
	line-height: 1 !important;
}

.elementor-78 .elementor-element.elementor-element-0d642e4 .bdt-ps-dragon-button .bdt-ps-button-wrapper {
	display: none !important;
}

.sas-claim-form-shell {
	--sas-claim-primary: #0b2f5b;
	--sas-claim-primary-hover: #144b8b;
	--sas-claim-border: #dfe5ec;
	--sas-claim-surface: #ffffff;
	--sas-claim-text: #16324f;
	--sas-claim-muted: #5f7288;
	max-width: 960px;
	margin: 0 auto;
	padding: 24px 16px;
}

.sas-claim-form-panel {
	background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
	border: 1px solid var(--sas-claim-border);
	border-radius: 22px;
	box-shadow: 0 18px 50px rgba(11, 47, 91, 0.08);
	overflow: hidden;
}

.sas-claim-form-header,
.sas-claim-form-body,
.sas-claim-form-disclaimer {
	padding-left: clamp(20px, 4vw, 42px);
	padding-right: clamp(20px, 4vw, 42px);
}

.sas-claim-form-header {
	padding-top: clamp(28px, 4vw, 40px);
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(223, 229, 236, 0.9);
}

.sas-claim-form-eyebrow {
	display: inline-block;
	margin-bottom: 12px;
	padding: 7px 12px;
	border-radius: 999px;
	background: rgba(11, 47, 91, 0.08);
	color: var(--sas-claim-primary);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.sas-claim-form-header h2 {
	margin: 0 0 10px;
	color: var(--sas-claim-primary);
	font-size: clamp(30px, 4vw, 42px);
	line-height: 1.1;
}

.sas-claim-form-header p,
.sas-claim-form-disclaimer {
	margin: 0;
	color: var(--sas-claim-muted);
	font-size: 16px;
	line-height: 1.7;
}

.sas-claim-form-body {
	padding-top: 26px;
	padding-bottom: 18px;
}

.sas-claim-form-disclaimer {
	padding-top: 18px;
	padding-bottom: clamp(24px, 4vw, 34px);
	border-top: 1px solid rgba(223, 229, 236, 0.9);
	font-size: 14px;
}

.sas-claim-form-shell .ff-default .ff-el-form-control,
.sas-claim-form-shell .ff-default .iti input.ff-el-form-control,
.sas-claim-form-shell .ff-default select.ff-el-form-control {
	border: 1px solid #dfe5ec;
	border-radius: 8px;
	padding: 12px 14px;
	font-size: 15px;
	line-height: 1.5;
	background: #ffffff;
	color: var(--sas-claim-text);
	box-shadow: none;
}

.sas-claim-form-shell .ff-default .ff-el-form-control:focus,
.sas-claim-form-shell .ff-default .iti input.ff-el-form-control:focus,
.sas-claim-form-shell .ff-default select.ff-el-form-control:focus {
	border-color: #0b2f5b;
	box-shadow: 0 0 0 4px rgba(11, 47, 91, 0.09);
	outline: 0;
}

.sas-claim-form-shell .ff-default textarea.ff-el-form-control {
	min-height: 120px;
}

.sas-claim-form-shell .ff-el-group {
	margin-bottom: 22px;
}

.sas-claim-form-shell .ff-el-group label,
.sas-claim-form-shell .ff-el-input--label label {
	color: var(--sas-claim-text);
	font-size: 14px;
	font-weight: 600;
}

.sas-claim-form-shell .ff-t-cell {
	padding-bottom: 20px;
}

.sas-claim-form-shell .ff-t-container {
	gap: 20px;
}

.sas-claim-form-shell .ff-t-container .ff-t-cell {
	padding-bottom: 0;
}

.sas-claim-form-shell .ff-el-section-break {
	margin: 12px 0 8px;
	padding-top: 8px;
}

.sas-claim-form-shell .ff-el-section-title {
	margin: 0;
	color: var(--sas-claim-primary);
	font-size: 18px;
	font-weight: 700;
}

.sas-claim-form-shell .ff-el-section-break hr {
	margin-top: 14px;
	margin-bottom: 0;
	border: 0;
	border-top: 1px solid rgba(223, 229, 236, 0.95);
}

.sas-claim-form-shell .ff-el-form-check-label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	color: var(--sas-claim-text);
	line-height: 1.6;
}

.sas-claim-form-shell .ff-el-form-check-input {
	margin-top: 4px;
}

.sas-claim-form-shell .ff_file_upload_holder {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 14px;
	padding: 12px 14px;
	border: 1px dashed #c3d0dd;
	border-radius: 12px;
	background: #fbfdff;
}

.sas-claim-form-shell .ff_upload_btn.ff-btn,
.sas-claim-form-shell .ff-btn-submit,
.sas-claim-form-shell .ff-default .ff-btn-submit {
	background: #0b2f5b !important;
	color: #fff !important;
	padding: 14px 28px !important;
	border-radius: 8px !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	border: 0 !important;
	box-shadow: none !important;
}

.sas-claim-form-shell .ff_upload_btn.ff-btn:hover,
.sas-claim-form-shell .ff-btn-submit:hover,
.sas-claim-form-shell .ff-default .ff-btn-submit:hover {
	background: #144b8b !important;
}

.sas-claim-form-shell .ff-btn-submit {
	min-width: 220px;
}

.sas-claim-form-shell .ff-message-success,
.sas-claim-form-shell .ff-message-success p {
	color: #0b2f5b;
}

@media (max-width: 767px) {
	.sas-claim-form-shell {
		padding: 16px 12px;
	}

	.sas-claim-form-shell .ff-t-container {
		display: block;
	}

	.sas-claim-form-shell .ff-t-container .ff-t-cell {
		flex-basis: 100% !important;
		width: 100%;
		padding-bottom: 20px;
	}

	.sas-claim-form-shell .ff-btn-submit {
		width: 100%;
	}
}
