/* optimized service media: gif->mp4 */
img.attachment-large[src$='.mp4'],
video.attachment-large,
video.attachment-full,
video.size-large,
video.size-full {
  max-width: 100%;
  height: auto;
  display: inline-block;
  vertical-align: middle;
  object-fit: cover;
}

/* Responsive padding for the footer banner ("Ready for your luxurious...") */
@media (max-width: 1024px) {
  .elementor-221 .elementor-element.elementor-element-effa159 {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  
  /* Ensure spacing at the bottom of each service card */
  .make-column-clickable-elementor {
    padding-bottom: 30px !important;
  }

  /* Fix spacing and padding for dashed treatment cards on tablet */
  .treatment-dashed-card {
    margin-bottom: 30px !important;
    padding: 30px !important;
    --margin-bottom: 30px !important;
    --padding-top: 30px !important;
    --padding-bottom: 30px !important;
    --padding-left: 30px !important;
    --padding-right: 30px !important;
  }
}

/* Fix spacing and padding for dashed treatment cards on mobile */
/* Fix spacing and padding for dashed treatment cards on mobile */
@media (max-width: 767px) {
  body .treatment-dashed-card {
    margin-top: 0px !important;
    margin-bottom: 25px !important;
    padding: 20px !important;
    --margin-top: 0px !important;
    --margin-bottom: 25px !important;
    --padding-top: 20px !important;
    --padding-bottom: 20px !important;
    --padding-left: 20px !important;
    --padding-right: 20px !important;
  }

  /* Reset all container gaps to 0px on mobile to prevent uneven double-spacing */
  body .elementor-element.e-con:has(.treatment-dashed-card),
  body .e-con-inner:has(> .treatment-dashed-card) {
    gap: 0px !important;
    row-gap: 0px !important;
    --gap: 0px !important;
    --row-gap: 0px !important;
  }

  /* Hide empty placeholder columns that act as horizontal spacers on desktop ONLY inside card sections to prevent huge gaps on mobile */
  body .e-con-inner:has(> .treatment-dashed-card) > .e-child:not(.treatment-dashed-card) {
    display: none !important;
  }
}




/* Fix for columns where GIFs were converted to MP4 videos, restoring borders and heights */
.elementor-element-57ce8dc video,
.elementor-element-632f2af video,
.elementor-element-939e797 video,
.elementor-element-576658d video,
.elementor-element-60ecd0b video,
.elementor-element-3734206 video,
.elementor-element-504d701 video,
.elementor-element-f818e82 video,
.elementor-element-216f06a video,
.elementor-element-c3250af video {
  width: 100% !important;
  height: 300px !important;
  border-style: solid !important;
  border-color: #CEAE80 !important;
  border-width: 1px !important;
  object-fit: cover !important;
}

/* Ensure videos inside treatment-dashed-card containers match image styling and do not overflow */
.treatment-dashed-card .elementor-widget-image video {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  border: 1px solid #CEAE80 !important;
  object-fit: cover !important;
  display: block;
  margin: 0 auto;
}

/* Fix text overlay/overlap issues in treatment-dashed-card containers */
.treatment-dashed-card .elementor-widget-image {
  margin-bottom: 15px !important;
}

.treatment-dashed-card .elementor-widget-heading {
  margin-top: 0px !important;
  padding-top: 0px !important;
}


