/* Katrina's /locations smart closest-location + embedded directions — 2026-10-18 */
body[data-route="/locations"] .kd-nearest-panel{
  width:min(1320px,100%);
  margin:0 auto 18px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:20px 22px;
  border:1px solid rgba(243,170,34,.34);
  border-radius:20px;
  background:
    radial-gradient(circle at 100% 0%,rgba(243,170,34,.10),transparent 38%),
    linear-gradient(145deg,#18100b,#100b08);
  color:#fff;
  box-shadow:0 18px 46px rgba(0,0,0,.22)
}
body[data-route="/locations"] .kd-nearest-copy{display:grid;gap:4px}
body[data-route="/locations"] .kd-nearest-eyebrow{
  color:#f3aa22;
  font:900 .66rem/1 Montserrat,sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase
}
body[data-route="/locations"] .kd-nearest-title{
  font:900 clamp(1.45rem,2.4vw,2.25rem)/1.08 'Playfair Display',Georgia,serif;
  letter-spacing:-.02em
}
body[data-route="/locations"] .kd-nearest-status{
  color:#c9bbaa;
  font:600 .82rem/1.45 Montserrat,sans-serif
}
body[data-route="/locations"] .kd-nearest-status.good{color:#bfe28a}
body[data-route="/locations"] .kd-nearest-status.bad{color:#ffb4b4}
body[data-route="/locations"] .kd-nearest-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
body[data-route="/locations"] .kd-locate-btn,
body[data-route="/locations"] .kd-route-btn,
body[data-route="/locations"] .kd-clear-route{
  min-height:42px;
  border-radius:999px;
  padding:0 16px;
  border:1px solid transparent;
  font:900 .73rem/1 Montserrat,sans-serif;
  letter-spacing:.02em;
  cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease
}
body[data-route="/locations"] .kd-locate-btn{
  background:linear-gradient(135deg,#f3aa22,#d98909);
  color:#17100b;
  box-shadow:0 9px 24px rgba(243,170,34,.22)
}
body[data-route="/locations"] .kd-locate-btn:hover,
body[data-route="/locations"] .kd-route-btn:hover{transform:translateY(-1px)}
body[data-route="/locations"] .kd-locate-btn:disabled,
body[data-route="/locations"] .kd-route-btn:disabled{opacity:.55;cursor:wait;transform:none}
body[data-route="/locations"] .kd-privacy-note{
  grid-column:1/-1;
  margin-top:-8px;
  color:#8f8174;
  font:500 .68rem/1.4 Montserrat,sans-serif
}
body[data-route="/locations"] .location-experience.kd-closest{
  border-color:rgba(243,170,34,.82)!important;
  box-shadow:0 0 0 1px rgba(243,170,34,.28),0 24px 74px rgba(0,0,0,.34),0 0 36px rgba(243,170,34,.10)
}
body[data-route="/locations"] .kd-closest-badge{
  position:absolute;
  top:12px;
  left:12px;
  z-index:9;
  display:none;
  align-items:center;
  gap:6px;
  min-height:30px;
  padding:0 11px;
  border-radius:999px;
  background:linear-gradient(135deg,#f3aa22,#e48e08);
  color:#17100b;
  box-shadow:0 8px 24px rgba(0,0,0,.25);
  font:950 .66rem/1 Montserrat,sans-serif;
  letter-spacing:.05em;
  text-transform:uppercase
}
body[data-route="/locations"] .location-experience.kd-closest .kd-closest-badge{display:inline-flex}
body[data-route="/locations"] .kd-card-distance{
  margin-top:8px;
  display:none;
  color:#f3d693;
  font:800 .74rem/1.4 Montserrat,sans-serif
}
body[data-route="/locations"] .kd-card-distance.visible{display:block}
body[data-route="/locations"] .location-map-panel{display:flex;flex-direction:column}
body[data-route="/locations"] .location-map-panel>iframe{flex:1 1 auto;min-height:352px}
body[data-route="/locations"] .kd-map-controls{
  position:relative;
  z-index:6;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:11px 13px;
  border-top:1px solid rgba(255,255,255,.10);
  border-bottom:1px solid rgba(255,255,255,.10);
  background:#0f0c09;
  color:#fff
}
body[data-route="/locations"] .kd-map-copy{display:grid;gap:2px;min-width:0}
body[data-route="/locations"] .kd-map-copy strong{
  font:900 .78rem/1.2 Montserrat,sans-serif;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis
}
body[data-route="/locations"] .kd-map-copy span{
  color:#a99b8e;
  font:600 .68rem/1.25 Montserrat,sans-serif
}
body[data-route="/locations"] .kd-route-btn{
  flex:0 0 auto;
  border-color:rgba(243,170,34,.42);
  background:rgba(243,170,34,.10);
  color:#ffd36e
}
body[data-route="/locations"] .kd-route-btn.active{
  border-color:#70b601;
  background:rgba(112,182,1,.13);
  color:#c9f28c
}
body[data-route="/locations"] .kd-route-map{
  display:none;
  width:100%;
  min-height:352px;
  background:#17110c
}
body[data-route="/locations"] .kd-route-map.active{display:block}
body[data-route="/locations"] .location-map-panel.kd-routing>iframe{display:none!important}
body[data-route="/locations"] .location-map-panel.kd-routing>.map-chrome{display:none}
body[data-route="/locations"] .kd-route-summary{
  display:none;
  grid-template-columns:repeat(3,minmax(0,1fr)) auto;
  gap:8px;
  align-items:center;
  padding:12px 13px;
  background:#0d0a08;
  border-top:1px solid rgba(255,255,255,.09);
  color:#fff
}
body[data-route="/locations"] .kd-route-summary.active{display:grid}
body[data-route="/locations"] .kd-route-metric{
  display:grid;
  gap:2px;
  padding:8px 10px;
  border-radius:10px;
  background:rgba(255,255,255,.045)
}
body[data-route="/locations"] .kd-route-metric span{
  color:#8f8174;
  font:800 .58rem/1 Montserrat,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase
}
body[data-route="/locations"] .kd-route-metric b{color:#fff;font:900 .82rem/1.2 Montserrat,sans-serif}
body[data-route="/locations"] .kd-clear-route{
  min-height:36px;
  padding:0 12px;
  border-color:rgba(255,255,255,.14);
  background:rgba(255,255,255,.05);
  color:#d8cec4
}
body[data-route="/locations"] .kd-directions-list{
  display:none;
  max-height:230px;
  overflow:auto;
  border-top:1px solid rgba(255,255,255,.08);
  background:#0a0807
}
body[data-route="/locations"] .kd-directions-list.active{display:block}
body[data-route="/locations"] .kd-direction-step{
  display:grid;
  grid-template-columns:28px minmax(0,1fr) auto;
  gap:9px;
  align-items:start;
  padding:10px 13px;
  border-bottom:1px solid rgba(255,255,255,.055);
  color:#d7ccc1
}
body[data-route="/locations"] .kd-direction-step:last-child{border-bottom:0}
body[data-route="/locations"] .kd-step-icon{
  width:28px;height:28px;display:grid;place-items:center;
  border-radius:50%;
  background:rgba(243,170,34,.12);
  color:#f3aa22;
  font:900 .78rem/1 Montserrat,sans-serif
}
body[data-route="/locations"] .kd-step-text{font:650 .74rem/1.4 Montserrat,sans-serif}
body[data-route="/locations"] .kd-step-distance{
  color:#8f8174;
  white-space:nowrap;
  font:700 .66rem/1.3 Montserrat,sans-serif
}
body[data-route="/locations"] .kd-routing-error{
  display:none;
  padding:12px 13px;
  border-top:1px solid rgba(229,30,42,.24);
  background:#1b0d0d;
  color:#ffb6b6;
  font:700 .72rem/1.45 Montserrat,sans-serif
}
body[data-route="/locations"] .kd-routing-error.active{display:block}
body[data-route="/locations"] .leaflet-container{font-family:Montserrat,system-ui,sans-serif}
body[data-route="/locations"] .leaflet-control-attribution{font-size:9px}
body[data-route="/locations"] .kd-user-dot{
  width:18px!important;height:18px!important;margin-left:-9px!important;margin-top:-9px!important;
  border:3px solid #fff;border-radius:50%;background:#1976d2;box-shadow:0 0 0 5px rgba(25,118,210,.20)
}
body[data-route="/locations"] .kd-dest-dot{
  width:22px!important;height:22px!important;margin-left:-11px!important;margin-top:-11px!important;
  border:3px solid #fff;border-radius:50%;background:#e51e2a;box-shadow:0 0 0 5px rgba(229,30,42,.18)
}
body[data-route="/locations"] .location-experience.second .kd-dest-dot{background:#70b601;box-shadow:0 0 0 5px rgba(112,182,1,.18)}
@media(max-width:900px){
  body[data-route="/locations"] .kd-nearest-panel{grid-template-columns:1fr}
  body[data-route="/locations"] .kd-nearest-actions{justify-content:flex-start}
  body[data-route="/locations"] .location-map-panel>iframe,
  body[data-route="/locations"] .kd-route-map{min-height:320px}
}
@media(max-width:600px){
  body[data-route="/locations"] .kd-nearest-panel{padding:17px 16px;border-radius:17px}
  body[data-route="/locations"] .kd-nearest-actions{display:grid;grid-template-columns:1fr;width:100%}
  body[data-route="/locations"] .kd-locate-btn{width:100%}
  body[data-route="/locations"] .kd-map-controls{align-items:flex-start;flex-direction:column}
  body[data-route="/locations"] .kd-route-btn{width:100%}
  body[data-route="/locations"] .kd-route-summary{grid-template-columns:1fr 1fr}
  body[data-route="/locations"] .kd-clear-route{grid-column:1/-1;width:100%}
  body[data-route="/locations"] .location-map-panel>iframe,
  body[data-route="/locations"] .kd-route-map{min-height:285px}
  body[data-route="/locations"] .kd-direction-step{grid-template-columns:26px minmax(0,1fr)}
  body[data-route="/locations"] .kd-step-distance{grid-column:2}
}
/* /locations map identity badges: top-right placement */
body[data-route="/locations"] .location-map-panel>.map-chrome{
  left:auto!important;
  right:16px!important;
  top:16px!important;
}
@media(max-width:600px){
  body[data-route="/locations"] .location-map-panel>.map-chrome{
    right:10px!important;
    top:10px!important;
  }
}

/* Branded driving-directions scrollbar */
body[data-route="/locations"] .kd-directions-list{
  scrollbar-width:thin;
  scrollbar-color:#f3aa22 #0d0a08;
  scrollbar-gutter:stable;
}
body[data-route="/locations"] .kd-directions-list::-webkit-scrollbar{width:10px;height:10px}
body[data-route="/locations"] .kd-directions-list::-webkit-scrollbar-track{
  background:#0d0a08;
  border-left:1px solid rgba(243,170,34,.08);
}
body[data-route="/locations"] .kd-directions-list::-webkit-scrollbar-thumb{
  min-height:44px;
  border:2px solid #0d0a08;
  border-radius:999px;
  background:linear-gradient(180deg,#ffd36e 0%,#f3aa22 48%,#d98909 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);
}
body[data-route="/locations"] .kd-directions-list::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg,#ff5a62 0%,#e51e2a 100%);
}
body[data-route="/locations"] .kd-directions-list::-webkit-scrollbar-corner{background:#0d0a08}
