/* QuickSmiles static site: the few rules the Elementor runtime used to add at run time.
   Everything else is the site's own captured Elementor / theme / page CSS. */

/* background video container (Elementor injects this markup via JS; site.js does it now) */
.elementor-background-video-container{height:100%;width:100%;top:0;left:0;position:absolute;overflow:hidden;z-index:0;direction:ltr;transition:opacity 1s;pointer-events:none}
.elementor-background-video-container.elementor-loading{opacity:0}
.elementor-background-video-hosted{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;min-width:100%;min-height:100%;max-width:none;object-fit:cover;object-position:center}
.e-con[data-settings*="background_video_link"]{position:relative}
.e-con[data-settings*="background_video_link"]>*:not(.elementor-background-video-container){position:relative;z-index:1}

/* YouTube widget iframe fills the Elementor video wrapper */
.elementor-widget-video .elementor-wrapper{position:relative}
.elementor-widget-video .elementor-video{position:relative}
.elementor-widget-video .elementor-video iframe{display:block;width:100%;aspect-ratio:16/9;border:0}
.elementor-widget-video .elementor-fit-aspect-ratio .elementor-video iframe{position:absolute;top:0;left:0;width:100%;height:100%}

/* WordPress-only chrome that no longer exists */
#wpadminbar,.ymc-filter-preloader{display:none!important}

/* ---- go-live audit fixes (2026-11-09) ---- */

/* Footer menu row: WordPress laid it out as four 25% columns with an EMPTY first column, so the three
   menus sat right of the centered logo and address. Drop the spacer and center the three menus. */
@media (min-width: 1025px) {
  .elementor-element-8bd1bab { display: none !important; }
  .elementor-element-9f9974f > .elementor-container { justify-content: center; }
  .elementor-element-9f9974f .elementor-column.footer-services { width: 285px; flex: 0 0 285px; }
}

/* iOS Safari zooms the page when a field under 16px gets focus. The forms used 15px. */
@media (max-width: 1024px) {
  .elementor-form .elementor-field-textual,
  .elementor-form select,
  .elementor-form textarea { font-size: 16px !important; }
}

/* Long strings (URLs in the privacy policy, long headings) must wrap instead of widening the page. */
.elementor-widget-text-editor a { overflow-wrap: anywhere; }
.elementor-heading-title { overflow-wrap: break-word; }

/* Landing-page buttons are nowrap; on phones a long label ("Book Your Free Smile Scan") ran past the edge. */
@media (max-width: 480px) {
  a.btn-primary, a.btn { white-space: normal !important; max-width: 100%; }
}

/* Footer menus on tablet: three equal columns (WordPress wrapped the third under the first two). */
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-element-9f9974f .elementor-column.footer-services { width: 33.3333%; flex: 0 0 33.3333%; }
}
