#formSubmittingOverlay {
    /* Default visible state; JS/CSS toggles via aria-hidden */
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 2147483647; /* sit above everything */
    background: rgba(255,255,255,0.92);
    align-items: center;
    justify-content: center;
    display: flex;
    transition: opacity 0.2s;
}
#formSubmittingOverlay[aria-hidden="true"] {
    display: none !important;
}
#formSubmittingOverlay .modal-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.18);
    padding: 2.2em 2.5em 1.7em 2.5em;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 260px;
    max-width: 90vw;
}
#formSubmittingOverlay .spinner {
    width: 42px;
    height: 42px;
    border: 4px solid rgba(0,0,0,0.1);
    border-top-color: #333;
    border-radius: 50%;
    animation: formspin 0.8s linear infinite;
    margin-bottom: 12px;
}
#formSubmittingOverlay .modal-message{color:#222; font-weight:600; text-align:center}
#formSubmittingOverlay .please-wait{opacity:0.8; font-weight:500}
@keyframes formspin { to { transform: rotate(360deg); } }
img:is([sizes="auto" i], [sizes^="auto," i]) {
    contain-intrinsic-size: 3000px 1500px
}

/* Contact Form Response Messages */
.wpcf7-response-output {
    margin: 15px 0;
    padding: 15px;
    border-radius: 5px;
    font-size: 14px;
    line-height: 1.5;
    display: block !important;
}

.wpcf7-response-output[aria-hidden="true"] {
    display: none !important;
}

.wpcf7-mail-sent-ok {
    background-color: #d4edda;
    border: 1px solid #c3e6cb;
    color: #155724;
}

.wpcf7-validation-errors {
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
    color: #721c24;
}

.wpcf7-validation-errors ul {
    margin: 10px 0 0 0;
    padding-left: 20px;
}

.wpcf7-validation-errors li {
    margin: 5px 0;
}

/* Invalid Field Styles */
.wpcf7-not-valid {
    border: 2px solid #dc3545 !important;
    background-color: #fff5f5 !important;
    box-shadow: 0 0 5px rgba(220, 53, 69, 0.3) !important;
}

/* Debug Styles */
.debug-info {
    background: #fff3cd;
    border: 1px solid #ffeaa7;
    padding: 10px;
    border-radius: 4px;
    margin: 10px 0;
    font-size: 12px;
}

/* Form Loading State */
.wpcf7-form input[type="submit"]:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    background-color: #6c757d !important;
}

/* Form Field Validation */
.wpcf7-form-control.wpcf7-not-valid {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25) !important;
}

.wpcf7-form-control.wpcf7-not-valid:focus {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25) !important;
}

img.wp-smiley,
img.emoji {
    display: inline !important;
    border: none !important;
    box-shadow: none !important;
    height: 1em !important;
    width: 1em !important;
    margin: 0 0.07em !important;
    vertical-align: -0.1em !important;
    background: none !important;
    padding: 0 !important;
}

:root {
    --wp--preset--aspect-ratio--square: 1;
    --wp--preset--aspect-ratio--4-3: 4/3;
    --wp--preset--aspect-ratio--3-4: 3/4;
    --wp--preset--aspect-ratio--3-2: 3/2;
    --wp--preset--aspect-ratio--2-3: 2/3;
    --wp--preset--aspect-ratio--16-9: 16/9;
    --wp--preset--aspect-ratio--9-16: 9/16;
    --wp--preset--color--black: #000000;
    --wp--preset--color--cyan-bluish-gray: #abb8c3;
    --wp--preset--color--white: #ffffff;
    --wp--preset--color--pale-pink: #f78da7;
    --wp--preset--color--vivid-red: #cf2e2e;
    --wp--preset--color--luminous-vivid-orange: #ff6900;
    --wp--preset--color--luminous-vivid-amber: #fcb900;
    --wp--preset--color--light-green-cyan: #7bdcb5;
    --wp--preset--color--vivid-green-cyan: #00d084;
    --wp--preset--color--pale-cyan-blue: #8ed1fc;
    --wp--preset--color--vivid-cyan-blue: #0693e3;
    --wp--preset--color--vivid-purple: #9b51e0;
    --wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg, rgba(6, 147, 227, 1) 0%, rgb(155, 81, 224) 100%);
    --wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg, rgb(122, 220, 180) 0%, rgb(0, 208, 130) 100%);
    --wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg, rgba(252, 185, 0, 1) 0%, rgba(255, 105, 0, 1) 100%);
    --wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg, rgba(255, 105, 0, 1) 0%, rgb(207, 46, 46) 100%);
    --wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg, rgb(238, 238, 238) 0%, rgb(169, 184, 195) 100%);
    --wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg, rgb(74, 234, 220) 0%, rgb(151, 120, 209) 20%, rgb(207, 42, 186) 40%, rgb(238, 44, 130) 60%, rgb(251, 105, 98) 80%, rgb(254, 248, 76) 100%);
    --wp--preset--gradient--blush-light-purple: linear-gradient(135deg, rgb(255, 206, 236) 0%, rgb(152, 150, 240) 100%);
    --wp--preset--gradient--blush-bordeaux: linear-gradient(135deg, rgb(254, 205, 165) 0%, rgb(254, 45, 45) 50%, rgb(107, 0, 62) 100%);
    --wp--preset--gradient--luminous-dusk: linear-gradient(135deg, rgb(255, 203, 112) 0%, rgb(199, 81, 192) 50%, rgb(65, 88, 208) 100%);
    --wp--preset--gradient--pale-ocean: linear-gradient(135deg, rgb(255, 245, 203) 0%, rgb(182, 227, 212) 50%, rgb(51, 167, 181) 100%);
    --wp--preset--gradient--electric-grass: linear-gradient(135deg, rgb(202, 248, 128) 0%, rgb(113, 206, 126) 100%);
    --wp--preset--gradient--midnight: linear-gradient(135deg, rgb(2, 3, 129) 0%, rgb(40, 116, 252) 100%);
    --wp--preset--font-size--small: 13px;
    --wp--preset--font-size--medium: 20px;
    --wp--preset--font-size--large: 36px;
    --wp--preset--font-size--x-large: 42px;
    --wp--preset--spacing--20: 0.44rem;
    --wp--preset--spacing--30: 0.67rem;
    --wp--preset--spacing--40: 1rem;
    --wp--preset--spacing--50: 1.5rem;
    --wp--preset--spacing--60: 2.25rem;
    --wp--preset--spacing--70: 3.38rem;
    --wp--preset--spacing--80: 5.06rem;
    --wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);
    --wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);
    --wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);
    --wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);
    --wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);
}

:root {
    --wp--style--global--content-size: 800px;
    --wp--style--global--wide-size: 1200px;
}

:where(body) {
    margin: 0;
}

.wp-site-blocks>.alignleft {
    float: left;
    margin-right: 2em;
}

.wp-site-blocks>.alignright {
    float: right;
    margin-left: 2em;
}

.wp-site-blocks>.aligncenter {
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
}

:where(.wp-site-blocks)>* {
    margin-block-start: 24px;
    margin-block-end: 0;
}

:where(.wp-site-blocks)> :first-child {
    margin-block-start: 0;
}

:where(.wp-site-blocks)> :last-child {
    margin-block-end: 0;
}

:root {
    --wp--style--block-gap: 24px;
}

:root :where(.is-layout-flow)> :first-child {
    margin-block-start: 0;
}

:root :where(.is-layout-flow)> :last-child {
    margin-block-end: 0;
}

:root :where(.is-layout-flow)>* {
    margin-block-start: 24px;
    margin-block-end: 0;
}

:root :where(.is-layout-constrained)> :first-child {
    margin-block-start: 0;
}

:root :where(.is-layout-constrained)> :last-child {
    margin-block-end: 0;
}

:root :where(.is-layout-constrained)>* {
    margin-block-start: 24px;
    margin-block-end: 0;
}

:root :where(.is-layout-flex) {
    gap: 24px;
}

:root :where(.is-layout-grid) {
    gap: 24px;
}

.is-layout-flow>.alignleft {
    float: left;
    margin-inline-start: 0;
    margin-inline-end: 2em;
}

.is-layout-flow>.alignright {
    float: right;
    margin-inline-start: 2em;
    margin-inline-end: 0;
}

.is-layout-flow>.aligncenter {
    margin-left: auto !important;
    margin-right: auto !important;
}

.is-layout-constrained>.alignleft {
    float: left;
    margin-inline-start: 0;
    margin-inline-end: 2em;
}

.is-layout-constrained>.alignright {
    float: right;
    margin-inline-start: 2em;
    margin-inline-end: 0;
}

.is-layout-constrained>.aligncenter {
    margin-left: auto !important;
    margin-right: auto !important;
}

.is-layout-constrained> :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: var(--wp--style--global--content-size);
    margin-left: auto !important;
    margin-right: auto !important;
}

.is-layout-constrained>.alignwide {
    max-width: var(--wp--style--global--wide-size);
}

body .is-layout-flex {
    display: flex;
}

.is-layout-flex {
    flex-wrap: wrap;
    align-items: center;
}

.is-layout-flex> :is(*, div) {
    margin: 0;
}

body .is-layout-grid {
    display: grid;
}

.is-layout-grid> :is(*, div) {
    margin: 0;
}

body {
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
}

a:where(:not(.wp-element-button)) {
    text-decoration: underline;
}

:root :where(.wp-element-button, .wp-block-button__link) {
    background-color: #32373c;
    border-width: 0;
    color: #fff;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    padding: calc(0.667em + 2px) calc(1.333em + 2px);
    text-decoration: none;
}

.has-black-color {
    color: var(--wp--preset--color--black) !important;
}

.has-cyan-bluish-gray-color {
    color: var(--wp--preset--color--cyan-bluish-gray) !important;
}

.has-white-color {
    color: var(--wp--preset--color--white) !important;
}

.has-pale-pink-color {
    color: var(--wp--preset--color--pale-pink) !important;
}

.has-vivid-red-color {
    color: var(--wp--preset--color--vivid-red) !important;
}

.has-luminous-vivid-orange-color {
    color: var(--wp--preset--color--luminous-vivid-orange) !important;
}

.has-luminous-vivid-amber-color {
    color: var(--wp--preset--color--luminous-vivid-amber) !important;
}

.has-light-green-cyan-color {
    color: var(--wp--preset--color--light-green-cyan) !important;
}

.has-vivid-green-cyan-color {
    color: var(--wp--preset--color--vivid-green-cyan) !important;
}

.has-pale-cyan-blue-color {
    color: var(--wp--preset--color--pale-cyan-blue) !important;
}

.has-vivid-cyan-blue-color {
    color: var(--wp--preset--color--vivid-cyan-blue) !important;
}

.has-vivid-purple-color {
    color: var(--wp--preset--color--vivid-purple) !important;
}

.has-black-background-color {
    background-color: var(--wp--preset--color--black) !important;
}

.has-cyan-bluish-gray-background-color {
    background-color: var(--wp--preset--color--cyan-bluish-gray) !important;
}

.has-white-background-color {
    background-color: var(--wp--preset--color--white) !important;
}

.has-pale-pink-background-color {
    background-color: var(--wp--preset--color--pale-pink) !important;
}

.has-vivid-red-background-color {
    background-color: var(--wp--preset--color--vivid-red) !important;
}

.has-luminous-vivid-orange-background-color {
    background-color: var(--wp--preset--color--luminous-vivid-orange) !important;
}

.has-luminous-vivid-amber-background-color {
    background-color: var(--wp--preset--color--luminous-vivid-amber) !important;
}

.has-light-green-cyan-background-color {
    background-color: var(--wp--preset--color--light-green-cyan) !important;
}

.has-vivid-green-cyan-background-color {
    background-color: var(--wp--preset--color--vivid-green-cyan) !important;
}

.has-pale-cyan-blue-background-color {
    background-color: var(--wp--preset--color--pale-cyan-blue) !important;
}

.has-vivid-cyan-blue-background-color {
    background-color: var(--wp--preset--color--vivid-cyan-blue) !important;
}

.has-vivid-purple-background-color {
    background-color: var(--wp--preset--color--vivid-purple) !important;
}

.has-black-border-color {
    border-color: var(--wp--preset--color--black) !important;
}

.has-cyan-bluish-gray-border-color {
    border-color: var(--wp--preset--color--cyan-bluish-gray) !important;
}

.has-white-border-color {
    border-color: var(--wp--preset--color--white) !important;
}

.has-pale-pink-border-color {
    border-color: var(--wp--preset--color--pale-pink) !important;
}

.has-vivid-red-border-color {
    border-color: var(--wp--preset--color--vivid-red) !important;
}

.has-luminous-vivid-orange-border-color {
    border-color: var(--wp--preset--color--luminous-vivid-orange) !important;
}

.has-luminous-vivid-amber-border-color {
    border-color: var(--wp--preset--color--luminous-vivid-amber) !important;
}

.has-light-green-cyan-border-color {
    border-color: var(--wp--preset--color--light-green-cyan) !important;
}

.has-vivid-green-cyan-border-color {
    border-color: var(--wp--preset--color--vivid-green-cyan) !important;
}

.has-pale-cyan-blue-border-color {
    border-color: var(--wp--preset--color--pale-cyan-blue) !important;
}

.has-vivid-cyan-blue-border-color {
    border-color: var(--wp--preset--color--vivid-cyan-blue) !important;
}

.has-vivid-purple-border-color {
    border-color: var(--wp--preset--color--vivid-purple) !important;
}

.has-vivid-cyan-blue-to-vivid-purple-gradient-background {
    background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;
}

.has-light-green-cyan-to-vivid-green-cyan-gradient-background {
    background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;
}

.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background {
    background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;
}

.has-luminous-vivid-orange-to-vivid-red-gradient-background {
    background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;
}

.has-very-light-gray-to-cyan-bluish-gray-gradient-background {
    background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;
}

.has-cool-to-warm-spectrum-gradient-background {
    background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;
}

.has-blush-light-purple-gradient-background {
    background: var(--wp--preset--gradient--blush-light-purple) !important;
}

.has-blush-bordeaux-gradient-background {
    background: var(--wp--preset--gradient--blush-bordeaux) !important;
}

.has-luminous-dusk-gradient-background {
    background: var(--wp--preset--gradient--luminous-dusk) !important;
}

.has-pale-ocean-gradient-background {
    background: var(--wp--preset--gradient--pale-ocean) !important;
}

.has-electric-grass-gradient-background {
    background: var(--wp--preset--gradient--electric-grass) !important;
}

.has-midnight-gradient-background {
    background: var(--wp--preset--gradient--midnight) !important;
}

.has-small-font-size {
    font-size: var(--wp--preset--font-size--small) !important;
}

.has-medium-font-size {
    font-size: var(--wp--preset--font-size--medium) !important;
}

.has-large-font-size {
    font-size: var(--wp--preset--font-size--large) !important;
}

.has-x-large-font-size {
    font-size: var(--wp--preset--font-size--x-large) !important;
}

:root :where(.wp-block-pullquote) {
    font-size: 1.5em;
    line-height: 1.6;
}


.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload),
		.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) * {
			background-image: none !important;
		}

		@media screen and (max-height: 1024px) {

			.e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload),
			.e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload) * {
				background-image: none !important;
			}
		}

		@media screen and (max-height: 640px) {

			.e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload),
			.e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload) * {
				background-image: none !important;
			}
		}

/* Fix for body text that should not be italicized */
/* Override italic styling for description/body text elements */
.elementor-16 .elementor-element.elementor-element-1321c95,
.elementor-16 .elementor-element.elementor-element-e85d2e5,
.elementor-16 .elementor-element.elementor-element-9839dd7,
.elementor-16 .elementor-element.elementor-element-db112cc,
.elementor-16 .elementor-element.elementor-element-a56c857 {
    font-style: normal !important;
}

/* Keep these elements italic as they appear to be emphasis/quote text */
.elementor-16 .elementor-element.elementor-element-335d69a,
.elementor-16 .elementor-element.elementor-element-bde7a82,
.elementor-16 .elementor-element.elementor-element-4f13242 {
    font-style: italic !important;
}

/* Fix chimney services section - make descriptions normal (not italic) */
.elementor-16 .elementor-element.elementor-element-b3c84f2 {
    font-style: normal !important;
}

/* Keep only the service titles in italic tags italicized */
.elementor-16 .elementor-element.elementor-element-b3c84f2 i {
    font-style: italic !important;
}

/* Fix mobile spacing issues */
@media (max-width: 767px) {
    /* Reduce excessive padding on mobile */
    .elementor-16 .elementor-element.elementor-element-0465f12,
    .elementor-16 .elementor-element.elementor-element-d8d4586,
    .elementor-16 .elementor-element.elementor-element-d810499,
    .elementor-16 .elementor-element.elementor-element-4455017,
    .elementor-16 .elementor-element.elementor-element-4d66817,
    .elementor-16 .elementor-element.elementor-element-67028d5,
    .elementor-16 .elementor-element.elementor-element-2e58a58 {
        --padding-top: 30px !important;
        --padding-bottom: 30px !important;
        --padding-left: 15px !important;
        --padding-right: 15px !important;
    }
    
    /* Reduce spacing between sections */
    .elementor-16 .elementor-element.elementor-element-cd275c5,
    .elementor-16 .elementor-element.elementor-element-d3ced9d,
    .elementor-16 .elementor-element.elementor-element-b90863f,
    .elementor-16 .elementor-element.elementor-element-44cc1d2,
    .elementor-16 .elementor-element.elementor-element-73ea371 {
        --padding-top: 20px !important;
        --padding-bottom: 20px !important;
        --padding-left: 15px !important;
        --padding-right: 15px !important;
    }
    
    /* Fix margin issues on mobile */
    .elementor-16 .elementor-element.elementor-element-71b3386,
    .elementor-16 .elementor-element.elementor-element-b3c84f2 {
        margin: 10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px !important;
    }
}

/* Contact form background - light gray - Multiple selectors for maximum coverage */
.elementor-16 .elementor-element.elementor-element-cf2f96e,
.elementor-16 .elementor-element.elementor-element-cf2f96e:not(.elementor-motion-effects-element-type-background), 
.elementor-16 .elementor-element.elementor-element-cf2f96e > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-16 .elementor-element.elementor-element-cf2f96e.e-con,
.elementor-16 .elementor-element.elementor-element-cf2f96e.e-con-full,
.elementor-16 .elementor-element.elementor-element-cf2f96e.e-flex,
.elementor-16 .elementor-element.elementor-element-cf2f96e.e-child,
div[data-id="cf2f96e"],
.elementor-element[data-id="cf2f96e"] {
    background-color: #f5f5f5 !important;
    background: #f5f5f5 !important;
}

/* Force background on contact form container with even higher specificity */
body .elementor-16 .elementor-element.elementor-element-cf2f96e {
    background-color: #f5f5f5 !important;
    background: #f5f5f5 !important;
}

/* Target the parent container as well */
.elementor-16 .elementor-element.elementor-element-2e58a58 .elementor-element.elementor-element-cf2f96e {
    background-color: #e0e0e0 !important;
    background: #e0e0e0 !important;
}

/* Contact form white box styling - single clean box */
.elementor-16 .elementor-element.elementor-element-7685878.custom_form,
#contact_custom_form {
    background-color: white !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
    border: none !important;
}

/* Remove any background from inner elements to avoid double-box effect */
.elementor-16 .elementor-element.elementor-element-7685878 .elementor-shortcode,
.elementor-16 .elementor-element.elementor-element-7685878 .wpcf7 {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}

/* Ensure form fields have proper styling */
.elementor-16 .elementor-element.elementor-element-7685878 .wpcf7-form-control {
    background-color: white !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    padding: 8px 12px !important;
}

/* Restore the red submit button */
.elementor-16 .elementor-element.elementor-element-7685878 .wpcf7-form-control.wpcf7-submit,
.elementor-16 .elementor-element.elementor-element-7685878 input[type="submit"] {
    background-color: #900C3F !important;
    color: white !important;
    border: none !important;
    padding: 12px 30px !important;
    border-radius: 5px !important;
    cursor: pointer !important;
    font-weight: bold !important;
    font-size: 16px !important;
    transition: background-color 0.3s ease !important;
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Hover effect for submit button */
.elementor-16 .elementor-element.elementor-element-7685878 .wpcf7-form-control.wpcf7-submit:hover,
.elementor-16 .elementor-element.elementor-element-7685878 input[type="submit"]:hover {
    background-color: #7a0a35 !important;
}

/* Footer background - dark gray */
.elementor-147 .elementor-element.elementor-element-1e14006:not(.elementor-motion-effects-element-type-background), 
.elementor-147 .elementor-element.elementor-element-1e14006 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-147 .elementor-element.elementor-element-86d5d35:not(.elementor-motion-effects-element-type-background), 
.elementor-147 .elementor-element.elementor-element-86d5d35 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background-color: #333333 !important;
}

/* Submitting overlay */
#formSubmittingOverlay {
    position: fixed; inset: 0; background: rgba(0,0,0,0.55);
    display: none; z-index: 9999;
    display: flex; align-items: center; justify-content: center;
}
#formSubmittingOverlay .modal-card {
    background: #fff;
    color: #333;
    padding: 32px 36px 28px 36px;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.18);
    min-width: 260px;
    max-width: 90vw;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
}
#formSubmittingOverlay .spinner {
    width: 38px;
    height: 38px;
    border: 4px solid #e0e0e0;
    border-top: 4px solid #900C3F;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-bottom: 8px;
}
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
#test-overlay {
    display: none;
}
#test-overlay:target {
    display: flex !important;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.92);
    z-index: 2147483646;
}
#formSubmittingOverlay .modal-message {
    font-size: 1.1rem;
    font-weight: 500;
    color: #222;
    margin-bottom: 0.2em;
}
#formSubmittingOverlay .please-wait {
    font-size: 1rem;
    color: #900C3F;
    font-weight: 400;
    letter-spacing: 0.02em;
}

/* Additional responsive improvements */
@media (max-width: 1024px) {
    /* Better tablet spacing */
    .elementor-16 .elementor-element.elementor-element-0465f12,
    .elementor-16 .elementor-element.elementor-element-d8d4586,
    .elementor-16 .elementor-element.elementor-element-d810499,
    .elementor-16 .elementor-element.elementor-element-67028d5,
    .elementor-16 .elementor-element.elementor-element-2e58a58 {
        --padding-left: 15px !important;
        --padding-right: 15px !important;
    }
}

/* Ensure proper responsive behavior for all screen sizes */
@media (min-width: 768px) and (max-width: 1024px) {
    /* Tablet specific adjustments */
    .elementor-16 .elementor-element.elementor-element-cf2f96e {
        --padding-top: 30px !important;
        --padding-bottom: 30px !important;
        --padding-left: 30px !important;
        --padding-right: 30px !important;
    }
}

/* Compact header: reduce navbar height so it doesn't overlap the slideshow */
/* Keep changes targeted and conservative to avoid layout regressions */
.elementor-location-header .e-con-inner {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}
.elementor-location-header .elementor-widget-theme-site-logo img,
.elementor-location-header .elementor-widget-image img {
    max-height: 72px !important;
    width: auto !important;
    height: auto !important;
}
.elementor-location-header .elementor-nav-menu--main {
    line-height: 1.15 !important; /* slightly more breathing room for nav items */
}

/* Adjust top offset so the slideshow clears the header */
#top { padding-top: 86px; }
@media (max-width: 1024px) { #top { padding-top: 78px; } }
@media (max-width: 767px) { #top { padding-top: 68px; } }
@media (max-width: 1024px) { #top { padding-top: 62px; } }
@media (max-width: 767px) { #top { padding-top: 56px; } }

/* Mobile: ensure headings are larger than body text */
@media (max-width: 767px) {
  h1, .elementor-heading-title { font-size: 26px !important; line-height: 1.2 !important; }
  h2 { font-size: 22px !important; line-height: 1.3 !important; }
  h3, .elementor-slide-heading { font-size: 20px !important; line-height: 1.3 !important; }
}