.elementor-512 .elementor-element.elementor-element-cff9a74{--display:flex;--min-height:350px;--justify-content:center;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-512 .elementor-element.elementor-element-cff9a74:not(.elementor-motion-effects-element-type-background), .elementor-512 .elementor-element.elementor-element-cff9a74 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://mahodadhiassets.com/wp-content/uploads/2025/11/home-construction-banner.jpg");}.elementor-512 .elementor-element.elementor-element-dfcef28{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-512 .elementor-element.elementor-element-7f7e71b{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-512 .elementor-element.elementor-element-2511a4c{text-align:left;}.elementor-512 .elementor-element.elementor-element-2511a4c .elementor-heading-title{font-family:"Helvetica", Sans-serif;font-size:35px;font-weight:500;line-height:1.3;color:#FFFFFF;}.elementor-512 .elementor-element.elementor-element-394e18d{--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;}.elementor-512 .elementor-element.elementor-element-fc85d90{--display:flex;--padding-top:40px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}.elementor-512 .elementor-element.elementor-element-b344b71{--display:flex;--border-radius:20px 20px 20px 20px;--padding-top:35px;--padding-bottom:35px;--padding-left:35px;--padding-right:35px;}.elementor-512 .elementor-element.elementor-element-b344b71:not(.elementor-motion-effects-element-type-background), .elementor-512 .elementor-element.elementor-element-b344b71 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(90deg, var( --e-global-color-bcb0c06 ) 0%, var( --e-global-color-6459d49 ) 100%);}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-512 .elementor-element.elementor-element-4185763{text-align:center;font-family:"Helvetica", Sans-serif;font-size:20px;font-weight:500;color:#FFFFFF;}.elementor-512 .elementor-element.elementor-element-b303a39{--display:flex;}.elementor-512 .elementor-element.elementor-element-7270790{background-color:#FBFBFB;padding:50px 50px 0px 50px;border-style:solid;border-width:1px 1px 1px 1px;border-color:#DCDCDC;border-radius:10px 10px 10px 10px;}@media(max-width:767px){.elementor-512 .elementor-element.elementor-element-cff9a74{--min-height:250px;}.elementor-512 .elementor-element.elementor-element-2511a4c .elementor-heading-title{font-size:25px;}.elementor-512 .elementor-element.elementor-element-b344b71{--padding-top:16px;--padding-bottom:16px;--padding-left:16px;--padding-right:16px;}.elementor-512 .elementor-element.elementor-element-4185763{font-size:14px;}}@media(min-width:768px){.elementor-512 .elementor-element.elementor-element-7f7e71b{--width:50%;}}@media(max-width:1024px) and (min-width:768px){.elementor-512 .elementor-element.elementor-element-7f7e71b{--width:80%;}}/* Start custom CSS for shortcode, class: .elementor-element-7270790 *//* ------- Parent container ensure full width ------- */
.cost-estimator-form {
  box-sizing: border-box;
  width: 100%;
}

/* Force the .form-row to be a flex row (desktop) */
.cost-estimator-form .form-row {
  display: flex !important;
  flex-wrap: wrap;
  gap: 16px;
  align-items: stretch;
  margin-bottom: 12px;
  justify-content: flex-start;
}

/* TARGET: standard CF7 wrapper (most common) */
.cost-estimator-form .form-row > .wpcf7-form-control-wrap,
.cost-estimator-form .form-row > p,
.cost-estimator-form .form-row > div,
.cost-estimator-form .form-row > span {
  box-sizing: border-box;
  /* three equal columns with gap compensation */
  flex: 0 0 calc(33.333% - 10.666px) !important;
  max-width: calc(33.333% - 10.666px) !important;
  min-width: 180px;
}

/* If Elementor injects additional wrappers inside the shortcode widget */
.elementor-widget-shortcode .cost-estimator-form .form-row > * {
  flex: 0 0 calc(33.333% - 10.666px) !important;
  max-width: calc(33.333% - 10.666px) !important;
}

/* Ensure input/select/textarea fill their wrapper */
.cost-estimator-form input[type="text"],
.cost-estimator-form input[type="email"],
.cost-estimator-form input[type="tel"],
.cost-estimator-form input[type="number"],
.cost-estimator-form select,
.cost-estimator-form textarea,
.cost-estimator-form .wpcf7-form-control {
  width: 100% !important;
  box-sizing: border-box;
  padding: 10px 12px;
  border-radius: 6px;
  border: 1px solid #ddd;
  font-size: 14px;
}

/* If a theme forces width:100% on .wpcf7-form-control-wrap, override it */
.cost-estimator-form .wpcf7-form-control-wrap {
  width: auto !important;
}

/* Submit button row: make it align in the grid if wrapped in form-row */
.cost-estimator-form .form-row .wpcf7-submit,
.cost-estimator-form .wpcf7-submit {
  padding: 10px 18px;
  border-radius: 6px;
  cursor: pointer;
}



/* ---------- Responsive breakpoints ---------- */
@media (max-width: 980px) {
  .cost-estimator-form .form-row > .wpcf7-form-control-wrap,
  .cost-estimator-form .form-row > p,
  .pricing-table .pricing-card,
  .elementor-widget-shortcode .cost-estimator-form .form-row > * {
    flex: 0 0 calc(50% - 12px) !important;
    max-width: calc(50% - 12px) !important;
    min-width: 160px;
  }
}

@media (max-width: 560px) {
  .cost-estimator-form .form-row {
    gap: 12px;
  }
  .cost-estimator-form .form-row > .wpcf7-form-control-wrap,
  .cost-estimator-form .form-row > p,
  .cost-estimator-form .form-row > div,
  .pricing-table .pricing-card,
  .elementor-widget-shortcode .cost-estimator-form .form-row > * {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    min-width: 0;
  }
}


/* Remove border / style CF7 acceptance checkbox */
.cost-estimator-form .wpcf7-form-control-wrap.acceptance-611 .wpcf7-acceptance input[type="checkbox"] {
    border: none !important;
    width: auto; /* small checkbox */
    height: auto; /* adjust height */
    margin-right: 8px; /* space between checkbox and label */
    vertical-align: middle; /* align with label text */
}

/* Optional: style the label text nicely */
.cost-estimator-form .wpcf7-form-control-wrap.acceptance-611 .wpcf7-list-item-label {
    font-size: 14px;
    line-height: 1.5;
    vertical-align: middle;
}
[type=button], [type=submit], button {
    background-color: transparent;
    border: 1px solid #010a75 !important;
    border-radius: 3px;
    color: #010a75;
}
[type=button]:hover, 
[type=submit]:hover, 
button:hover {
    background-color: #010a75;
    border-color: #010a75;
    color: black;
    color:white;
}
.wpcf7 form .wpcf7-response-output {
    margin: 2em 0.5em 1em;
    padding: 0.2em 1em;
    border: 2px solid #010a75;}
a {
    background-color: transparent;
    color: #010a75;
    text-decoration: none;
}

/* ---------- Estimation result (3 columns too) ---------- */
.pricing-table {
   display: flex;
   flex-wrap: wrap;
   gap: 20px;
   margin-top: 20px;
   }
   .pricing-table .pricing-card {
   flex: 0 0 calc(33.333% - 13.333px) !important;
   max-width: calc(33.333% - 13.333px) !important;
   min-width: 220px;
   box-sizing: border-box;
   padding: 18px;
   border-radius: 10px;
   background: #ffffff;
   border: 1px solid #eee;
   }
   .accordion h4 {
   margin: 4px 0;
   cursor: pointer;
   border-radius: 6px;
   font-size: 18px;
   font-weight: 600;
   }
   .accordion h4.active {
   background: #eaeaea;
   }
   .accordion-content {
   display: none;
   padding: 8px 12px;
   background: #fff;
   border-left: 3px solid #0073e6;
   margin-bottom: 4px;
   font-size: 15px;
   line-height: 1.5;
   }
   
.small-text{font-size:10px;}/* End custom CSS */