.aud-sgm-shell{position:relative;width:100%;background:var(--aud-sgm-bg,#f1efeb);overflow:hidden}.aud-sgm-map{width:100%;min-height:120px;background:var(--aud-sgm-bg,#f1efeb)}.aud-sgm-status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;background:rgba(245,243,239,.94);font:13px/1.45 Arial,sans-serif;color:#3c3935;z-index:5}.aud-sgm-status[hidden]{display:none}.aud-sgm-pin{position:absolute;transform:translate(-50%,-100%);width:var(--aud-pin-size,34px);height:var(--aud-pin-size,34px);display:flex;align-items:center;justify-content:center;pointer-events:auto}.aud-sgm-pin img{display:block;max-width:100%;max-height:100%;width:auto;height:auto}.aud-sgm-pin-dot{width:55%;height:55%;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--aud-pin-color,#8e8277);box-shadow:0 1px 4px rgba(0,0,0,.25)}.aud-sgm-popup{max-width:260px;font:13px/1.4 Arial,sans-serif;color:#222}.aud-sgm-popup strong{display:block;font-size:14px;margin-bottom:5px}.aud-sgm-popup p{margin:0 0 8px}.aud-sgm-popup a{text-decoration:underline}.elementor-editor-active .aud-sgm-map{min-height:180px}

/* v2.0 responsive thumbnail + primary pin action card */
.aud-sgm-action-card{min-width:190px;max-width:250px;font:13px/1.35 Arial,sans-serif;color:#222}.aud-sgm-action-card strong{display:block;margin:0 0 8px;font-size:14px}.aud-sgm-action-buttons{display:flex;flex-direction:column;gap:6px}.aud-sgm-action-buttons a{display:block;padding:7px 9px;border:1px solid rgba(0,0,0,.18);text-decoration:none;color:inherit;background:#fff}.aud-sgm-action-buttons a:hover{text-decoration:underline}@media(max-width:767px){.aud-sgm-shell.aud-sgm-mobile-thumbnail{overflow:hidden}.aud-sgm-shell.aud-sgm-mobile-thumbnail .aud-sgm-map{width:100%!important;height:100%!important;min-height:0!important}}

/* v2.0.7 — consolidated A+UD mobile contact composition.
   One authoritative mobile block; no legacy transparent-header or negative-width rules. */
@media (max-width:767px){
  html.aud-sgm-contact-layout-active,
  body.aud-sgm-contact-layout-active,
  body.aud-sgm-contact-v203{overflow-x:hidden!important}

  /* Header: separate opaque white bar in normal flow. */
  body.aud-sgm-contact-v203 #aud-header,
  body.aud-sgm-contact-v205 #aud-header,
  body.aud-sgm-contact-v205 .elementor-element-535a107,
  body.aud-sgm-contact-v203 .aud-sgm-v203-header{
    position:relative!important;
    inset:auto!important;
    top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;
    width:100%!important;
    margin:0!important;
    z-index:20!important;
    background:#fff!important;
    background-color:#fff!important;
    background-image:none!important;
    box-shadow:none!important;
  }
  body.aud-sgm-contact-v203 #aud-header>.e-con-inner,
  body.aud-sgm-contact-v203 #aud-header::before,
  body.aud-sgm-contact-v203 #aud-header::after,
  body.aud-sgm-contact-v205 #aud-header>.e-con-inner,
  body.aud-sgm-contact-v205 #aud-header::before,
  body.aud-sgm-contact-v205 #aud-header::after{
    background:#fff!important;
    background-color:#fff!important;
    background-image:none!important;
    box-shadow:none!important;
  }

  /* Stage owns the compact composition. */
  body.aud-sgm-contact-v203 #aud-contact-stage,
  body.aud-sgm-contact-v203 .aud-sgm-v203-stage{
    --aud-sgm-mobile-map-w:min(40vw,145px);
    --aud-sgm-mobile-map-top:0px;
    position:relative!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }

  /* Card is the gray base all the way through the submit button. */
  body.aud-sgm-contact-v203 #aud-contact-card,
  body.aud-sgm-contact-v203 .aud-sgm-v203-card{
    position:relative!important;
    display:block!important;
    box-sizing:border-box!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding-right:0!important;
    padding-bottom:18px!important;
    overflow:visible!important;
    z-index:2!important;
    background:#F0EFEF!important;
    background-color:#F0EFEF!important;
  }

  /* Reserve the thumbnail column only for the intro/contact-info widgets.
     The form itself stays ordinary 100% width — no calc() expansion or negative margins. */
  body.aud-sgm-contact-v203 #aud-contact-card>.elementor-widget-heading,
  body.aud-sgm-contact-v203 #aud-contact-card>.elementor-widget-text-editor,
  body.aud-sgm-contact-v203 #aud-contact-card>.elementor-widget-social-icons,
  body.aud-sgm-contact-v203 .aud-sgm-v203-card>.elementor-widget-heading,
  body.aud-sgm-contact-v203 .aud-sgm-v203-card>.elementor-widget-text-editor,
  body.aud-sgm-contact-v203 .aud-sgm-v203-card>.elementor-widget-social-icons{
    box-sizing:border-box!important;
    padding-right:calc(var(--aud-sgm-mobile-map-w) + 14px)!important;
  }

  /* Thumbnail: portrait 4:5, aligned with CONTACT US heading. */
  body.aud-sgm-contact-v203 #aud-contact-map,
  body.aud-sgm-contact-v203 .aud-sgm-v203-map-wrap{
    position:absolute!important;
    top:var(--aud-sgm-mobile-map-top)!important;
    right:0!important;
    left:auto!important;
    width:var(--aud-sgm-mobile-map-w)!important;
    max-width:var(--aud-sgm-mobile-map-w)!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    z-index:8!important;
  }
  body.aud-sgm-contact-v203 #aud-contact-map>.e-con-inner,
  body.aud-sgm-contact-v203 #aud-contact-map .elementor-widget-aud_snazzy_google_maps,
  body.aud-sgm-contact-v203 #aud-contact-map .elementor-widget-container,
  body.aud-sgm-contact-v203 #aud-contact-map .aud-sgm-shell,
  body.aud-sgm-contact-v203 .aud-sgm-v203-map-wrap>.e-con-inner,
  body.aud-sgm-contact-v203 .aud-sgm-v203-map-wrap .elementor-widget-aud_snazzy_google_maps,
  body.aud-sgm-contact-v203 .aud-sgm-v203-map-wrap .elementor-widget-container,
  body.aud-sgm-contact-v203 .aud-sgm-v203-map-wrap .aud-sgm-shell{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
  }
  body.aud-sgm-contact-v203 #aud-contact-map .aud-sgm-shell,
  body.aud-sgm-contact-v203 .aud-sgm-v203-map-wrap .aud-sgm-shell{
    aspect-ratio:4 / 5!important;
    height:auto!important;
    overflow:hidden!important;
  }
  body.aud-sgm-contact-v203 #aud-contact-map .aud-sgm-map,
  body.aud-sgm-contact-v203 .aud-sgm-v203-map-wrap .aud-sgm-map{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
  }

  /* Remove spacer-driven mobile height. */
  body.aud-sgm-contact-v203 #aud-contact-card>.elementor-widget-spacer,
  body.aud-sgm-contact-v203 #aud-contact-map .elementor-widget-spacer,
  body.aud-sgm-contact-v203 .aud-sgm-v203-card>.elementor-widget-spacer,
  body.aud-sgm-contact-v203 .aud-sgm-v203-map-wrap .elementor-widget-spacer{display:none!important}

  /* Form remains contained inside the card. */
  body.aud-sgm-contact-v203 #aud-contact-card .elementor-widget-form,
  body.aud-sgm-contact-v203 .aud-sgm-v203-card .elementor-widget-form{
    position:relative!important;
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    margin:10px 0 0!important;
    padding:0!important;
  }
  body.aud-sgm-contact-v203 #aud-contact-card .elementor-form,
  body.aud-sgm-contact-v203 #aud-contact-card .elementor-form-fields-wrapper,
  body.aud-sgm-contact-v203 #aud-contact-card .elementor-field-type-submit{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
  }
  body.aud-sgm-contact-v203 #aud-contact-card .elementor-widget{margin-bottom:5px!important}
  body.aud-sgm-contact-v203 #aud-contact-card p{margin-top:0!important;margin-bottom:4px!important;line-height:1.3!important}
  body.aud-sgm-contact-v203 #aud-contact-card .elementor-field-group{margin-bottom:7px!important}
  body.aud-sgm-contact-v203 #aud-contact-card .elementor-field-label{margin-bottom:2px!important}
  body.aud-sgm-contact-v203 #aud-contact-card input.elementor-field{min-height:30px!important;height:30px!important;padding-top:4px!important;padding-bottom:4px!important}
  body.aud-sgm-contact-v203 #aud-contact-card textarea.elementor-field{min-height:64px!important;height:64px!important;padding-top:5px!important;padding-bottom:5px!important}
  body.aud-sgm-contact-v203 #aud-contact-card .elementor-button{min-height:30px!important;padding:6px 10px!important}
  body.aud-sgm-contact-v203 #aud-contact-card .elementor-field-type-submit{margin-bottom:0!important;padding-bottom:0!important}

  /* Suppress Google UI controls but preserve attribution/branding. */
  body.aud-sgm-contact-v203 #aud-contact-map .gm-bundled-control,
  body.aud-sgm-contact-v203 #aud-contact-map .gm-fullscreen-control,
  body.aud-sgm-contact-v203 #aud-contact-map button[title*="Zoom"],
  body.aud-sgm-contact-v203 #aud-contact-map button[aria-label*="Zoom"],
  body.aud-sgm-contact-v203 #aud-contact-map button[title*="Full screen"],
  body.aud-sgm-contact-v203 #aud-contact-map button[aria-label*="Full screen"],
  body.aud-sgm-contact-v203 #aud-contact-map button[title*="Street View"],
  body.aud-sgm-contact-v203 #aud-contact-map button[aria-label*="Street View"]{display:none!important}
}

/* v3.0.0 — MapLibre renderer. Kept additive so v2 mobile/layout selectors remain rollback-safe. */
.aud-sgm-map .maplibregl-canvas{outline:none}
.aud-sgm-map .maplibregl-ctrl-attrib{font:9px/1.2 Arial,Helvetica,sans-serif;color:#8f8f8f;background:rgba(255,255,255,.72)}
.aud-sgm-map .maplibregl-ctrl-attrib a{color:#777;text-decoration:none}
.aud-sgm-map .maplibregl-ctrl-group{border-radius:0;box-shadow:0 1px 4px rgba(0,0,0,.18)}
.aud-sgm-map .maplibregl-ctrl-group button{width:28px;height:28px}
/* v3.0.13 — A+UD contact map uses gesture zoom only. Keep other enabled controls,
   but never show the MapLibre +/- buttons on desktop or mobile. */
.aud-sgm-map .maplibregl-ctrl-zoom-in,
.aud-sgm-map .maplibregl-ctrl-zoom-out{display:none!important}

.aud-sgm-marker{width:var(--aud-pin-size,38px);height:var(--aud-pin-size,38px);cursor:pointer;transform-origin:50% 100%;}
.aud-sgm-marker img,.aud-sgm-marker svg{display:block;width:100%;height:100%;object-fit:contain}
.aud-sgm-marker svg{overflow:visible;filter:drop-shadow(0 1px 1px rgba(0,0,0,.18))}
.aud-sgm-popup.maplibregl-popup .maplibregl-popup-content{border-radius:0;padding:12px;box-shadow:0 1px 8px rgba(0,0,0,.2)}
.aud-sgm-popup .aud-sgm-popup{font:13px/1.4 Arial,Helvetica,sans-serif}
.aud-sgm-streetview-ctrl{font:700 12px/1 Arial,Helvetica,sans-serif;color:#555;background:#fff;border:0;width:28px;height:28px;cursor:pointer}
.aud-sgm-streetview-ctrl:hover{background:#f4f4f4}
@media(max-width:767px){
  .aud-sgm-map.aud-sgm-hide-mobile-controls .maplibregl-ctrl-top-left,
  .aud-sgm-map.aud-sgm-hide-mobile-controls .maplibregl-ctrl-top-right,
  .aud-sgm-map.aud-sgm-hide-mobile-controls .maplibregl-ctrl-bottom-left>.maplibregl-ctrl:not(.maplibregl-ctrl-attrib),
  .aud-sgm-map.aud-sgm-hide-mobile-controls .maplibregl-ctrl-bottom-right>.maplibregl-ctrl:not(.maplibregl-ctrl-attrib){display:none!important}
}
