.umwqb-launcher{display:none!important}
@media(max-width:760px){
.umwqb-launcher{appearance:none!important;-webkit-appearance:none!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:13px!important;width:100%!important;max-width:none!important;min-height:72px!important;padding:12px 14px!important;box-sizing:border-box!important;border:1px solid rgba(167,123,50,.34)!important;border-radius:16px!important;background:linear-gradient(135deg,rgba(255,255,255,.84),rgba(247,242,232,.68))!important;-webkit-backdrop-filter:blur(12px) saturate(120%)!important;backdrop-filter:blur(12px) saturate(120%)!important;color:#17202b!important;text-align:left!important;text-decoration:none!important;text-transform:none!important;letter-spacing:0!important;box-shadow:0 10px 28px rgba(42,32,20,.10),inset 0 1px 0 rgba(255,255,255,.8)!important;cursor:pointer!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important}
.umwqb-launcher:hover,.umwqb-launcher:focus-visible{transform:translateY(-1px)!important;border-color:rgba(167,123,50,.58)!important;box-shadow:0 13px 32px rgba(42,32,20,.14),inset 0 1px 0 rgba(255,255,255,.9)!important;filter:none!important}
.umwqb-launcher-icon{display:grid!important;place-items:center!important;flex:0 0 44px!important;width:44px!important;height:44px!important;border-radius:13px!important;background:color-mix(in srgb,var(--umwqb-launch-accent,#a77b32) 16%,rgba(255,255,255,.82))!important;border:1px solid color-mix(in srgb,var(--umwqb-launch-accent,#a77b32) 32%,transparent)!important;color:#8b611d!important;font:700 21px/1 Georgia,serif!important}
.umwqb-launcher-copy{display:flex!important;flex:1!important;min-width:0!important;flex-direction:column!important;gap:4px!important}
.umwqb-launcher-copy strong{display:block!important;color:#17202b!important;font:700 16px/1.15 Arial,sans-serif!important}
.umwqb-launcher-copy small{display:block!important;color:#746b60!important;font:500 12px/1.25 Arial,sans-serif!important}
.umwqb-launcher-arrow{display:grid!important;place-items:center!important;flex:0 0 30px!important;width:30px!important;height:30px!important;color:#8b611d!important;font:400 28px/1 Arial,sans-serif!important}
.umwqb-overlay[hidden]{display:none!important}.umwqb-overlay{position:fixed!important;inset:0!important;z-index:2147483000!important;background:rgba(18,18,18,.48)!important;-webkit-backdrop-filter:blur(6px)!important;backdrop-filter:blur(6px)!important;overscroll-behavior:contain!important}.umwqb-overlay-shell{position:absolute!important;inset:0!important;overflow:auto!important;background:#f7f2e8!important;-webkit-overflow-scrolling:touch!important}.umwqb-overlay-bar{position:sticky!important;top:0!important;z-index:50!important;display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:64px!important;padding:8px 14px!important;background:rgba(255,253,249,.92)!important;-webkit-backdrop-filter:blur(14px) saturate(120%)!important;backdrop-filter:blur(14px) saturate(120%)!important;border-bottom:1px solid rgba(231,220,203,.82)!important;box-sizing:border-box!important}.umwqb-overlay-brand{display:flex!important;align-items:center!important;min-width:0!important}.umwqb-overlay-logo{display:block!important;width:auto!important;height:auto!important;max-width:190px!important;max-height:46px!important;object-fit:contain!important}.umwqb-overlay-name{color:#17202b!important;font:700 21px/1.1 Georgia,serif!important}.umwqb-overlay-close{appearance:none!important;width:42px!important;height:42px!important;flex:0 0 42px!important;padding:0!important;border:1px solid rgba(167,123,50,.16)!important;border-radius:50%!important;background:rgba(243,234,219,.78)!important;color:#17202b!important;font:400 28px/1 Arial,sans-serif!important;cursor:pointer!important}.umwqb-overlay-content{min-height:calc(100dvh - 64px)!important;background:#f7f2e8!important}.umwqb-overlay-content>.umwqb{min-height:calc(100dvh - 64px)!important}.umwqb-overlay-content>.umwqb>.umw-head{display:none!important}.umwqb-overlay-loading,.umwqb-overlay-error{padding:48px 20px!important;text-align:center!important;color:#62594e!important;font:600 15px/1.5 Arial,sans-serif!important}html.umwqb-overlay-open,body.umwqb-overlay-open{overflow:hidden!important}
}

/* v0.3.18 mobile header alignment polish */
@media(max-width:760px){
.umwqb-overlay-bar{position:sticky!important;justify-content:center!important;padding-left:66px!important;padding-right:66px!important}
.umwqb-overlay-brand{justify-content:center!important;width:100%!important;text-align:center!important}
.umwqb-overlay-logo{margin:0 auto!important}
.umwqb-overlay-name{display:block!important;width:100%!important;text-align:center!important}
.umwqb-overlay-close{position:absolute!important;right:14px!important;top:50%!important;transform:translateY(-50%)!important}
}

/* v0.3.19 — unified mobile header actions */
@media(max-width:760px){
/* Let the quote shortcode occupy the entire Elementor header row. */
.elementor-widget-shortcode:has(.umwqb-launcher),
.elementor-widget-shortcode:has(.umwqb-launcher)>.elementor-widget-container,
.elementor-shortcode:has(.umwqb-launcher){width:100%!important;max-width:none!important;align-self:stretch!important}
.elementor-shortcode:has(.umwqb-launcher){display:block!important}
.umwqb-launcher{width:100%!important;max-width:none!important;margin:0!important}

/* Existing Elementor appointment trigger — keep its popup action, replace only presentation. */
.um-appointment-launcher{width:100%!important;max-width:none!important;align-self:stretch!important}
.um-appointment-launcher>.elementor-widget-container{width:100%!important}
.um-appointment-launcher .elementor-button{
appearance:none!important;-webkit-appearance:none!important;position:relative!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:13px!important;width:100%!important;max-width:none!important;min-height:72px!important;padding:12px 52px 12px 71px!important;box-sizing:border-box!important;border:1px solid rgba(167,123,50,.34)!important;border-radius:16px!important;background:linear-gradient(135deg,rgba(255,255,255,.84),rgba(247,242,232,.68))!important;-webkit-backdrop-filter:blur(12px) saturate(120%)!important;backdrop-filter:blur(12px) saturate(120%)!important;color:#17202b!important;text-align:left!important;text-decoration:none!important;text-transform:none!important;letter-spacing:0!important;box-shadow:0 10px 28px rgba(42,32,20,.10),inset 0 1px 0 rgba(255,255,255,.8)!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important
}
.um-appointment-launcher .elementor-button:hover,
.um-appointment-launcher .elementor-button:focus-visible{transform:translateY(-1px)!important;border-color:rgba(167,123,50,.58)!important;box-shadow:0 13px 32px rgba(42,32,20,.14),inset 0 1px 0 rgba(255,255,255,.9)!important;filter:none!important}
.um-appointment-launcher .elementor-button:before{content:"\1F4C5"!important;position:absolute!important;left:14px!important;top:50%!important;transform:translateY(-50%)!important;display:grid!important;place-items:center!important;width:44px!important;height:44px!important;border-radius:13px!important;background:rgba(167,123,50,.10)!important;border:1px solid rgba(167,123,50,.30)!important;color:#8b611d!important;font:400 20px/1 Arial,sans-serif!important}
.um-appointment-launcher .elementor-button:after{content:"\203A"!important;position:absolute!important;right:16px!important;top:50%!important;transform:translateY(-50%)!important;color:#8b611d!important;font:400 28px/1 Arial,sans-serif!important}
.um-appointment-launcher .elementor-button-content-wrapper{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:4px!important;width:100%!important}
.um-appointment-launcher .elementor-button-text{display:block!important;color:#17202b!important;font:700 16px/1.15 Arial,sans-serif!important;text-align:left!important}
.um-appointment-launcher .elementor-button-content-wrapper:after{content:"Schedule a visit with our team"!important;display:block!important;color:#746b60!important;font:500 12px/1.25 Arial,sans-serif!important;text-align:left!important}
}


/* v0.3.20 — CTA pixel alignment + tighter grouping */
@media(max-width:760px){
.um-appointment-launcher,.elementor-widget-shortcode:has(.umwqb-launcher){margin-top:0!important;margin-bottom:10px!important}
.elementor-widget-shortcode:has(.umwqb-launcher){margin-bottom:0!important}
.um-appointment-launcher .elementor-button,.umwqb-launcher{min-height:72px!important;height:72px!important;border-radius:16px!important}
.um-appointment-launcher .elementor-button{padding:12px 52px 12px 71px!important}
.umwqb-launcher{padding:12px 14px!important;gap:13px!important}
 .um-appointment-launcher .elementor-button:before{content:""!important;position:absolute!important;left:14px!important;top:50%!important;transform:translateY(-50%)!important;display:block!important;width:44px!important;height:44px!important;box-sizing:border-box!important;border-radius:13px!important;border:1px solid rgba(167,123,50,.30)!important;background-color:rgba(167,123,50,.10)!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%238b611d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:21px 21px!important;-webkit-mask:none!important;mask:none!important}
.um-appointment-launcher .elementor-button:after,.umwqb-launcher-arrow{right:16px!important;font-size:28px!important;line-height:1!important}
.um-appointment-launcher .elementor-button-content-wrapper,.umwqb-launcher-copy{gap:4px!important}
.um-appointment-launcher .elementor-button-text,.umwqb-launcher-copy strong{font:700 16px/1.15 Arial,sans-serif!important}
.um-appointment-launcher .elementor-button-content-wrapper:after,.umwqb-launcher-copy small{font:500 12px/1.25 Arial,sans-serif!important}
}

/* v0.3.24 CTA alignment polish */
@media (max-width:767px){
  .umwqb-launcher{position:relative!important;padding:12px 52px 12px 14px!important}
  .umwqb-launcher-arrow{position:absolute!important;right:16px!important;top:50%!important;transform:translateY(-50%)!important;display:grid!important;place-items:center!important;width:30px!important;height:30px!important;margin:0!important}
  .um-appointment-launcher .elementor-button:after{right:16px!important;width:30px!important;height:30px!important;display:grid!important;place-items:center!important;margin:0!important}
}

/* v0.3.24 — eliminate residual desktop flash and normalize actual Elementor wrapper gap */
.um-appointment-launcher,.elementor-widget-shortcode:has(.umwqb-launcher){display:none!important}
@media(max-width:760px){
  .um-appointment-launcher,.elementor-widget-shortcode:has(.umwqb-launcher){display:block!important;margin:0!important}
  .um-appointment-launcher>.elementor-widget-container,
  .elementor-widget-shortcode:has(.umwqb-launcher)>.elementor-widget-container,
  .elementor-shortcode:has(.umwqb-launcher){margin:0!important}
  .e-con:has(.um-appointment-launcher):has(.umwqb-launcher),
  .elementor-container:has(.um-appointment-launcher):has(.umwqb-launcher){gap:10px!important;row-gap:10px!important}
}


/* v0.3.29 — stabilize Call / Location utility icons against theme SVG rules */
@media(max-width:760px){
.um-mobile-call .elementor-button-icon,.um-mobile-location .elementor-button-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:15px!important;height:15px!important;min-width:15px!important;max-width:15px!important;flex:0 0 15px!important;font-size:14px!important;line-height:1!important;color:#846F3E!important}
.um-mobile-call .elementor-button-icon svg,.um-mobile-location .elementor-button-icon svg{display:block!important;width:15px!important;height:15px!important;min-width:15px!important;max-width:15px!important;max-height:15px!important;fill:currentColor!important;color:#846F3E!important}
.um-mobile-call .elementor-button-icon i,.um-mobile-location .elementor-button-icon i{font-size:14px!important;line-height:1!important;color:#846F3E!important}
}

/* v0.3.32 responsive quote modal */
@media(min-width:768px){
 .umwqb-overlay{display:grid!important;place-items:center!important;padding:28px!important;background:rgba(18,18,18,.48)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
 .umwqb-overlay[hidden]{display:none!important}
 .umwqb-overlay-shell{position:relative!important;inset:auto!important;width:min(1160px,94vw)!important;height:min(820px,88vh)!important;max-height:88vh!important;border-radius:20px!important;overflow:hidden!important;background:#fffdf9!important;box-shadow:0 28px 80px rgba(0,0,0,.28)!important;border:1px solid rgba(229,201,143,.62)!important}
 .umwqb-overlay-bar{min-height:76px!important;padding:10px 24px!important}
 .umwqb-overlay-logo{max-width:240px!important;max-height:52px!important}
 .umwqb-overlay-name{font-size:28px!important}
 .umwqb-overlay-close{width:48px!important;height:48px!important;flex-basis:48px!important;font-size:30px!important}
 .umwqb-overlay-content{height:calc(100% - 76px)!important;min-height:0!important;overflow:auto!important;background:#fffdf9!important}
 .umwqb-overlay-content>.umwqb{min-height:0!important;max-width:none!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
}
