/* Nearest centre finder ([dsh_nearest_centre] / Elementor "Nearest Centre Finder"). */
.dsh-near { margin: 0 0 30px; padding: clamp(18px, 3vw, 26px); border: 1px solid #d6e6fb; border-radius: 22px; background: linear-gradient(135deg, #f1f8ff, #fff 60%, #f3fbf7); box-shadow: 0 16px 36px -28px #13295899; }
.dsh-near-head { display: flex; align-items: center; gap: 16px; }
.dsh-near-head > div { flex: 1; min-width: 0; }
.dsh-near-icon { flex: none; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: linear-gradient(135deg, #ffd6e4, #ffc1d5); color: #d6336c; }
.dsh-near-icon svg { width: 26px; height: 26px; }
body.dsh-site .dsh-near .dsh-near-head h2 { margin: 0 0 4px; color: #0f2a44; font: 800 20px/1.25 var(--dsh-font, inherit); }
body.dsh-site .dsh-near .dsh-near-head p { margin: 0; color: #4f6480; font-size: 14px; line-height: 1.55; }
.dsh-near-btn { position: relative; flex: none; display: inline-flex; align-items: center; gap: 10px; min-height: 46px; padding: 0 20px; border: 0; border-radius: 12px; background: linear-gradient(105deg, #2b7cf0, #0758e8); color: #fff !important; font: 700 14.5px/1 var(--dsh-body, inherit); cursor: pointer; box-shadow: 0 10px 22px -8px #0758e899; transition: transform .2s; }
.dsh-near-btn:hover { transform: translateY(-2px); }
.dsh-near-btn:focus-visible { outline: 3px solid #7fb0ff; outline-offset: 2px; }
.dsh-near-pulse { width: 9px; height: 9px; border-radius: 50%; background: #5ef0a0; box-shadow: 0 0 0 0 #5ef0a0aa; animation: dsh-near-pulse 1.8s infinite; }
.dsh-near.is-busy .dsh-near-btn { opacity: .75; pointer-events: none; }
.dsh-near.is-found .dsh-near-btn { background: #fff; color: #0758e8 !important; box-shadow: inset 0 0 0 1px #cfdcec; }
.dsh-near-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 18px; margin-top: 16px; padding-top: 14px; border-top: 1px dashed #d6e6fb; }
body.dsh-site .dsh-near .dsh-near-status { flex: 1 1 260px; margin: 0; color: #4f6480; font-size: 14px; line-height: 1.5; }
body.dsh-site .dsh-near.is-failed .dsh-near-status { color: #9a3412; }
.dsh-near-city { display: inline-flex; align-items: center; gap: 10px; color: #0f2a44; font-size: 14px; font-weight: 700; }
.dsh-near-city select { min-height: 42px; padding: 0 34px 0 12px; border: 1px solid #cfdcec; border-radius: 10px; background: #fff; color: #0f2a44; font: 600 14px/1 var(--dsh-body, inherit); }
.dsh-near-city select:focus-visible { outline: 3px solid #7fb0ff; outline-offset: 2px; }
body.dsh-site .dsh-near-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 18px 0 0; padding: 0; list-style: none; }
body.dsh-site .dsh-near .dsh-near-list > li { margin: 0; padding: 16px; border: 1px solid #e2ebf5; border-radius: 16px; background: #fff; }
body.dsh-site .dsh-near .dsh-near-list > li::before { content: none; }
.dsh-near-card.is-nearest { border-color: #9fd9bd !important; box-shadow: 0 14px 30px -24px #0d8a5299; }
.dsh-near-tag { display: inline-block; margin-bottom: 6px; padding: 3px 9px; border-radius: 999px; background: #eef5ff; color: #0758e8; font-size: 11.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.is-nearest .dsh-near-tag { background: #dcf7ea; color: #0b7a47; }
body.dsh-site .dsh-near .dsh-near-card h3 { display: grid; gap: 2px; margin: 0 0 6px; color: #0f2a44; font: 800 17px/1.3 var(--dsh-font, inherit); }
.dsh-near-card h3 small { color: #0b7a47; font-size: 13px; font-weight: 700; }
body.dsh-site .dsh-near .dsh-near-card p { margin: 0 0 12px; color: #4f6480; font-size: 13.5px; line-height: 1.55; }
.dsh-near-actions { display: flex; flex-wrap: wrap; gap: 8px; }
body.dsh-site .dsh-near .dsh-near-actions a { padding: 7px 12px; border: 1px solid #cfdcec; border-radius: 10px; color: #0f2a44 !important; font-size: 13px; font-weight: 700; text-decoration: none !important; }
body.dsh-site .dsh-near .dsh-near-actions .dsh-near-go { border-color: transparent; background: #0758e8; color: #fff !important; }
@keyframes dsh-near-pulse { 70% { box-shadow: 0 0 0 9px #5ef0a000; } 100% { box-shadow: 0 0 0 0 #5ef0a000; } }
@media (max-width: 1024px) { body.dsh-site .dsh-near-list { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 767px) {
  .dsh-near-head { flex-wrap: wrap; }
  .dsh-near-head > div { flex-basis: calc(100% - 68px); }
  .dsh-near-btn { width: 100%; justify-content: center; }
  .dsh-near-city { width: 100%; justify-content: space-between; }
  .dsh-near-city select { flex: 1; }
}
@media (prefers-reduced-motion: reduce) { .dsh-near-pulse { animation: none; } .dsh-near-btn { transition: none; } }
.dsh-near-city span { white-space: nowrap; }
