.elementor-325 .elementor-element.elementor-element-f89ad73{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--overlay-opacity:0.7;--padding-top:200px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-325 .elementor-element.elementor-element-f89ad73:not(.elementor-motion-effects-element-type-background), .elementor-325 .elementor-element.elementor-element-f89ad73 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-text );background-image:url("https://glennwoodpool.com/wp-content/uploads/2026/03/p-1-scaled.png");background-position:center center;}.elementor-325 .elementor-element.elementor-element-f89ad73::before, .elementor-325 .elementor-element.elementor-element-f89ad73 > .elementor-background-video-container::before, .elementor-325 .elementor-element.elementor-element-f89ad73 > .e-con-inner > .elementor-background-video-container::before, .elementor-325 .elementor-element.elementor-element-f89ad73 > .elementor-background-slideshow::before, .elementor-325 .elementor-element.elementor-element-f89ad73 > .e-con-inner > .elementor-background-slideshow::before, .elementor-325 .elementor-element.elementor-element-f89ad73 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-text );--background-overlay:'';}.elementor-325 .elementor-element.elementor-element-8ea16d3{text-align:center;}.elementor-325 .elementor-element.elementor-element-8ea16d3 .elementor-heading-title{color:var( --e-global-color-fe0580a );}.elementor-325 .elementor-element.elementor-element-55d8108{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-325 .elementor-element.elementor-element-8ea16d3 .elementor-heading-title{font-size:50px;}}@media(max-width:767px){.elementor-325 .elementor-element.elementor-element-8ea16d3 .elementor-heading-title{font-size:32px;}}/* Start custom CSS for shortcode, class: .elementor-element-9637b08 *//* 1. HIDE STRAY HEADER TEXT */
.elementor-325 .elementor-element.elementor-element-9637b08 .elementor-field-subgroup, 
.elementor-325 .elementor-element.elementor-element-9637b08 .elementor-field-type-html {
    display: none !important;
}

/* 2. FIX "REQUIRED" MARK POSITIONING */
/* Forces the asterisk (*) to stay on the same line as the label */
.elementor-325 .elementor-element.elementor-element-9637b08 .elementor-field-label {
    display: flex !important;
    align-items: center;
    flex-wrap: nowrap;
    gap: 5px;
}

.elementor-325 .elementor-element.elementor-element-9637b08 .elementor-mark-required {
    display: inline-block !important;
    vertical-align: middle;
    color: #e03131; /* Professional red for asterisk */
}

/* 3. FULL WIDTH UPLOAD AREA */
/* Targets the specific class and ensures it fills 100% of the container */
.elementor-325 .elementor-element.elementor-element-9637b08 .sp-testimonial-input-field-img {
    width: 100% !important;
    max-width: 100% !important; /* Removes any width limits */
    box-sizing: border-box;
    background-color: #f8fbff !important;
    border: 2px dashed #cbdcf0 !important;
    border-radius: 16px !important;
    padding: 40px 20px !important;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    cursor: pointer;
}

/* 4. HIDE BROWSER BUTTON & ADD TEXT */
.elementor-325 .elementor-element.elementor-element-9637b08 .sp-testimonial-input-field-img input[type="file"] {
    opacity: 0 !important;
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 2;
    cursor: pointer;
}

.elementor-325 .elementor-element.elementor-element-9637b08 .sp-testimonial-input-field-img::before {
    content: 'Click or Drag a Photo Here';
    font-weight: 600;
    color: #4a5e7d;
    font-size: 16px;
    margin-bottom: 5px;
}

/* 5. OVERALL FORM SPACING */
.elementor-325 .elementor-element.elementor-element-9637b08 {
    padding: 50px;
    background: #ffffff;
    border-radius: 20px;
}

.elementor-325 .elementor-element.elementor-element-9637b08 .elementor-field-group {
    width: 100% !important; /* Ensures all rows take full width */
    margin-bottom: 30px;
}

/* 6. INPUT FIELD REFINEMENT */
.elementor-325 .elementor-element.elementor-element-9637b08 .elementor-field:not([type="file"]) {
    width: 100%;
    border-radius: 12px !important;
    padding: 18px 20px !important;
    border: 1px solid #e2e8f0 !important;
}/* End custom CSS */