.location-float { cursor: pointer; border: 0; }
.waze-float,.whatsapp-float,.scroll-top { position:fixed; right:22px; z-index:10010; display:grid; width:52px; height:52px; place-items:center; border-radius:50%; box-sizing:border-box; text-decoration:none; font-size:22px; box-shadow:0 12px 30px rgba(4,29,52,.2); }
.waze-float { top:50%; background:#fff; color:#079ccc; transform:translateY(-50%); }
.whatsapp-float { top:calc(50% - 66px); background:#25d366; color:#fff; }
.scroll-top { right:25px; bottom:24px; border:0; background:#062c4d; color:#fff; cursor:pointer; }
.location-quick-menu {
  position: fixed;
  z-index: 10020;
  top: 50%;
  right: 92px;
  width: min(290px, calc(100vw - 110px));
  padding: 0 14px 14px;
  overflow: hidden;
  border: 1px solid #d9e2e9;
  border-top: 4px solid #f4b63f;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(4,29,52,.18);
  transform: translateY(-50%);
  backdrop-filter: blur(16px);
}
.location-quick-menu[hidden] { display: none !important; }
.location-quick-menu__head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0 -14px 12px; padding:14px; border-bottom:1px solid #e4ebf0; background:#062c4d; color:#fff; }
.location-quick-menu__head span small,.location-quick-menu__head span strong { display:block; }
.location-quick-menu__head span small { margin-bottom:3px; color:#f4b63f; font-size:9px; letter-spacing:.14em; }
.location-quick-menu__head span strong { font-size:14px; }
.location-quick-menu__head button { display:grid; width:30px; height:30px; place-items:center; border:1px solid rgba(255,255,255,.18); border-radius:7px; background:transparent; color:#fff; cursor:pointer; }
.location-quick-menu__address { margin:0 0 10px; padding:0 4px 11px; border-bottom:1px solid #e4ebf0; color:#526575; font-size:11px; line-height:1.55; }
.location-quick-menu__address i { margin-right:7px; color:#d99b22; }
.location-quick-menu > a,
.location-quick-menu__route { display:flex; width:100%; gap:11px; align-items:center; margin-top:7px; padding:11px; border:1px solid #dbe4eb; border-radius:8px; background:#fff; color:#062c4d; text-align:left; text-decoration:none; cursor:pointer; transition:background-color .2s ease,border-color .2s ease; box-sizing:border-box; font-family:inherit; }
.location-quick-menu > a:hover,
.location-quick-menu__route:hover { border-color:#8aa2b5; background:#f4f7f9; }
.location-quick-menu > a > i,
.location-quick-menu__route > i { display:grid; width:34px; height:34px; flex:0 0 34px; place-items:center; border-radius:7px; background:#edf3f7; color:#0a628f; font-size:15px; }
.location-quick-menu #quickWaze > i { color:#079ccc; background:rgba(7,156,204,.1); }
.location-quick-menu__route > i { color:#9a7100; background:rgba(255,193,7,.14); }
.location-quick-menu > a > i:last-child,.location-quick-menu__route > i:last-child { width:auto; height:auto; flex:0 0 auto; margin-left:auto; border-radius:0; background:transparent; color:#8193a0; font-size:10px; }
.location-quick-menu strong,.location-quick-menu small { display:block; }
.location-quick-menu strong { font-size:12px; }
.location-quick-menu small { margin-top:2px; color:#64748b; font-size:10px; }
@media (max-width:560px) {
  .location-quick-menu { right:70px; width:min(265px,calc(100vw - 88px)); }
  .waze-float,.whatsapp-float,.scroll-top { right:12px; width:46px; height:46px; font-size:19px; }
  .whatsapp-float { top:calc(50% - 58px); }
  .scroll-top { right:14px; bottom:14px; }
}

/* Botonera lateral SESA — iconografía vectorial, sin destellos. */
:root{--dock-icon-color:#111827}
.sesa-control-source{display:none!important}
.botonera-wrapper{position:fixed;right:clamp(8px,1.4vw,16px);top:50%;z-index:10010;transform:translateY(-50%);transition:transform .55s cubic-bezier(.22,1.5,.36,1)}
.botonera{display:flex;flex-direction:column;align-items:center;gap:clamp(8px,1.1vw,11px);padding:clamp(9px,1vw,12px) clamp(7px,.8vw,9px);border:1px solid rgba(6,44,77,.12);border-radius:999px;background:rgba(255,255,255,.9);box-shadow:0 10px 26px rgba(6,44,77,.14);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.botonera .btn{position:relative!important;inset:auto!important;display:flex!important;width:clamp(38px,3.25vw,46px)!important;height:clamp(38px,3.25vw,46px)!important;margin:0!important;padding:0!important;align-items:center;justify-content:center;border:1px solid rgba(17,24,39,.10)!important;border-radius:50%!important;background:#fff!important;color:var(--dock-icon-color)!important;box-shadow:0 4px 12px rgba(6,44,77,.10)!important;cursor:pointer;text-decoration:none;overflow:visible;transform:none!important;transition:color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.botonera .btn:hover,.botonera .btn:focus-visible{transform:translateY(-2px) scale(1.04)!important;border-color:currentColor!important;box-shadow:0 7px 16px rgba(6,44,77,.14)!important;outline:none}
.botonera .btn:active{transform:scale(.97)!important}
.botonera .btn svg{display:block;width:clamp(18px,1.6vw,22px);height:clamp(18px,1.6vw,22px);color:inherit;transition:none}
.botonera .btn-whatsapp:hover,.botonera .btn-whatsapp:focus-visible{color:#25d366!important}
.botonera .btn-soporte:hover,.botonera .btn-soporte:focus-visible{color:#0b67f0!important}
.botonera .btn-ubicacion:hover,.botonera .btn-ubicacion:focus-visible{color:#ef4444!important}
.botonera .tooltip{position:absolute;right:calc(100% + 10px);top:50%;padding:7px 10px;border-radius:7px;background:#111827;color:#fff;font:600 clamp(10px,.85vw,12px)/1.25 Inter,system-ui,sans-serif;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(6px,-50%);transition:opacity .18s ease,transform .18s ease;box-shadow:0 6px 18px rgba(0,0,0,.16)}
.botonera .tooltip::after{position:absolute;left:100%;top:50%;border:5px solid transparent;border-left-color:#111827;content:'';transform:translateY(-50%)}
.botonera .btn:hover .tooltip,.botonera .btn:focus-visible .tooltip,.botonera .btn.is-tooltip-visible .tooltip{opacity:1;transform:translate(0,-50%)}
@media(max-width:640px){.botonera-wrapper{right:clamp(6px,2vw,10px)}.botonera{gap:8px;padding:9px 7px}.botonera .tooltip{display:none}.location-quick-menu{right:58px}}
@media(prefers-reduced-motion:reduce){.botonera-wrapper,.botonera .btn,.botonera .tooltip{transition:none!important}}
