@import url("/wp-content/themes/sher-site/sher-widgets/dillon-service-area-map/leaflet.css");
.dillon-town-label { column-gap:0!important; }
.elementor-element-211de12 { isolation:isolate; overflow:hidden; }
.elementor-element-10dc593 { position:absolute;inset:0;width:100%;height:100%; }
.sher-widget-dillon-service-area-map, .dillon-live-map { width:100%; height:100%; }
.dillon-live-map { font-family:"DM Sans",sans-serif; }
.dillon-live-map .leaflet-container { font-family:"DM Sans",sans-serif; }
.dillon-live-map .leaflet-control-zoom a { color:#000;background:#fff; }
.dillon-live-map .leaflet-control-zoom a { position:relative; }
.dillon-live-map .leaflet-control-zoom a > svg { position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none; }
.dillon-live-map .leaflet-control-attribution { font-family:"DM Sans",sans-serif; }
.dillon-live-map .dh-map-pin { background:transparent;border:0;z-index:400!important; }
.dillon-live-map .dh-map-pin-dot { display:block;width:14px;height:14px;border-radius:50%;background:transparent;border:1.7px solid #c43322;box-shadow:0 0 0 2px #fff,0 4px 10px #14356e50;transition:transform .15s ease,box-shadow .15s ease; }
.dillon-live-map .dh-map-pin.is-active { z-index:500!important; }
.dillon-live-map .dh-map-pin.is-active .dh-map-pin-dot { transform:scale(1.45);border-color:#14356e;box-shadow:0 0 0 2px #fff,0 0 0 6px rgba(20,53,110,.22),0 4px 10px #14356e50; }
.dillon-live-map .dh-map-tooltip { background:#14356e;color:#fdfdfb;border:0;border-radius:2px;padding:6px 11px;font-family:"DM Sans",sans-serif;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 6px 16px #14356e50; }
.dillon-live-map .dh-map-tooltip:before { border-top-color:#14356e; }
.dillon-live-map .leaflet-popup-content-wrapper { border-radius:0;box-shadow:0 9px 26px #14356e50; }
.dillon-live-map .leaflet-popup-content { margin:11px 15px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;font-weight:700;color:#14356e; }
.dillon-live-map .leaflet-popup-tip { border-radius:0; }
@media(max-width:760px){
  .dillon-live-map .leaflet-control-zoom a { width:44px;height:44px;line-height:44px; }
  .dillon-live-map .leaflet-popup-close-button { width:44px;height:44px;line-height:44px; }
  .dillon-live-map :is(.leaflet-popup-content,.dh-map-tooltip,.leaflet-control-attribution) { font-size:18.6667px;line-height:1.5;letter-spacing:normal; }
  .dillon-live-map .leaflet-control-attribution { max-width:100%;overflow-wrap:anywhere; }
  .dillon-live-map .leaflet-control-attribution a { display:inline-flex;align-items:center;min-height:44px; }
  .dillon-live-map .dh-map-pin { width:44px!important;height:44px!important;margin-left:-22px!important;margin-top:-22px!important;display:flex;align-items:center;justify-content:center; }
  .dillon-live-map .dh-map-pin-dot { flex:none; }
}

/* dillon:map-cta-color:start */
/* Only the existing map action and its copied aliases. Match primary-button
   colors; retain buttons.css's transition, lift and keyboard-focus outline.
   The #_ specificity anchor matches the captured theme's selector convention,
   with two extra classes so its important navy hover cannot win in any order. */
body .elementor-element.elementor-element-ed51cd9:not(#_).shc-role-button,
body .elementor-element.dillon-area-availability:not(#_).shc-role-button {
  background-color:#c43322!important;
}
body .elementor-element.elementor-element-ed51cd9:not(#_).shc-role-button:hover,
body .elementor-element.dillon-area-availability:not(#_).shc-role-button:hover {
  background-color:#8f2417!important;
}

/* Shared map widget only: retain desktop and phone town-list geometry.
   Full-width tablet rows leave room for the longest name and its arrow.
   Important layout values override captured ID-specific span/row rules;
   typography, colors, links, labels and pin bindings remain untouched. */
@media(min-width:761px) and (max-width:1024px) {
  .elementor-element-e2be337 ul:not(.dillon-location-cards) > li {
    display:flex!important;
    flex-direction:column!important;
    row-gap:12px!important;
  }
  .elementor-element-e2be337 ul:not(.dillon-location-cards) > li > span {
    width:100%!important;
    flex:0 0 auto!important;
  }
  .elementor-element-e2be337 ul:not(.dillon-location-cards) .dillon-town-link {
    white-space:nowrap;
  }
}
/* Attribution stays visible and linked; do not enlarge it with popup text or
   apply the 44px zoom-button target height to its inline credit links. */
@media(max-width:760px) {
  .dillon-live-map .leaflet-control-attribution {
    max-width:100%;
    font-size:10px;
    line-height:1.5;
    white-space:nowrap;
    overflow-wrap:normal;
  }
  .dillon-live-map .leaflet-control-attribution a {
    display:inline;
    min-height:0;
  }
}
/* dillon:map-cta-color:end */
