/* Keep the canonical desktop list and hover color inheritance. */
.elementor-element-e2be337 .dillon-town-link { color:inherit; font:inherit; text-decoration:none; }
.elementor-element-e2be337 .dillon-town-link:hover { color:#bf3220; }
.elementor-element-e2be337 .dillon-town-link:focus-visible { outline:3px solid #c43322; outline-offset:4px; }

/* Keep the original paired rows, names, links and map bindings. On phones,
   six compact rows replace the eleven-item single column; the final lone
   town keeps a full row so its complete name never needs truncation.
   ID-level specificity beats captured span geometry without editing it. */
@media(max-width:760px) {
  body:not(.elementor-editor-active) .elementor-element-e2be337:not(#_) ul:not(.dillon-location-cards) {
    gap:0!important;
  }
  body:not(.elementor-editor-active) .elementor-element-e2be337:not(#_) ul:not(.dillon-location-cards) > li {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:12px!important;
    row-gap:0!important;
  }
  body:not(.elementor-editor-active) .elementor-element-e2be337:not(#_) ul:not(.dillon-location-cards) > li > span {
    width:auto!important;
    min-width:0!important;
    min-height:44px!important;
    margin:0!important;
    padding:0!important;
    font-size:14px!important;
    line-height:20px!important;
  }
  body:not(.elementor-editor-active) .elementor-element-e2be337:not(#_) ul:not(.dillon-location-cards) > li > span:only-child {
    grid-column:1 / -1;
  }
  body:not(.elementor-editor-active) .elementor-element-e2be337:not(#_) ul:not(.dillon-location-cards) > li > span::before {
    flex:0 0 auto;
    margin-inline-end:6px!important;
    font-size:14px!important;
  }
  body:not(.elementor-editor-active) .elementor-element-e2be337:not(#_) ul:not(.dillon-location-cards) .dillon-town-link {
    display:flex;
    flex:1 1 auto;
    align-items:center;
    min-width:0;
    min-height:44px;
    white-space:normal;
  }
}

/* Render marker exists ONLY in the Locations overview and locations:directory.
   Historical captured span rules use ID-level specificity and negative margins;
   scoped !important resets keep those rules out of the card hit areas. */
.elementor-element-e2be337 ul.dillon-location-cards {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;
  list-style:none; margin:0; padding:0; border:0;
}
.elementor-element-e2be337 .dillon-location-cards > .dillon-location-card {
  display:block; min-width:0; margin:0; padding:0; border:0;
}
.elementor-element-e2be337 .dillon-location-cards > li > span {
  display:block!important; position:static!important; width:100%!important;
  min-width:0!important; max-width:none!important; margin:0!important; padding:0!important;
  border:0!important; border-radius:16px!important; color:#16263c!important;
  font:600 14px/1.5 "DM Sans",sans-serif!important;
  letter-spacing:0!important; text-transform:none!important;
}
.elementor-element-e2be337 .dillon-location-cards > li > span::before { content:none!important; }
.elementor-element-e2be337 .dillon-location-cards .dillon-town-link {
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  box-sizing:border-box; width:100%; height:100%; min-height:68px; padding:16px 18px;
  border:1px solid #d9dfe4; border-radius:16px; background:#fff; color:#16263c;
  text-decoration:none; transition:border-color 160ms ease,box-shadow 160ms ease,color 160ms ease;
}
.elementor-element-e2be337 .dillon-location-cards .dillon-town-link::after {
  content:""; flex:0 0 14px; width:14px; height:14px; background:#c43322;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 13 13 3M3 3h10v10' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E") center/contain no-repeat;
}
.elementor-element-e2be337 .dillon-location-cards .dillon-town-link:hover,
.elementor-element-e2be337 .dillon-location-cards .dillon-town-link:focus-visible,
.elementor-element-e2be337 .dillon-location-cards > li > span.is-active .dillon-town-link {
  border-color:#c43322; color:#bf3220; box-shadow:0 3px 12px rgb(22 38 60 / 8%);
}
.elementor-element-e2be337 .dillon-location-cards .dillon-town-link:focus-visible {
  outline:3px solid #c43322; outline-offset:3px;
}
@media(max-width:420px) {
  .elementor-element-e2be337 ul.dillon-location-cards { grid-template-columns:minmax(0,1fr); }
}
@media(prefers-reduced-motion:reduce) {
  .elementor-element-e2be337 .dillon-location-cards .dillon-town-link { transition:none; }
}
