/* VITALIZA 14.6 — cierre de superposiciones, dock estable e instalación no invasiva. */
:root{
  --vz146-dock-height:76px;
  --vz146-dock-gap:16px;
  --vz146-safe-bottom:env(safe-area-inset-bottom,0px);
  --vz146-page-clearance:calc(var(--vz146-dock-height) + var(--vz146-dock-gap) + var(--vz146-safe-bottom) + 34px);
}

/* Cinco destinos, Hoy exactamente en la columna central y nunca un rail lateral. */
.v-bottom-nav.v-bottom-nav-vitaliza,
.vz13-page .v-bottom-nav-vitaliza,
.vz14-page .v-bottom-nav-vitaliza{
  position:fixed!important;
  inset:auto auto max(10px,var(--vz146-safe-bottom)) 50%!important;
  top:auto!important;
  left:50%!important;
  right:auto!important;
  bottom:max(10px,var(--vz146-safe-bottom))!important;
  transform:translateX(-50%)!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  flex-direction:row!important;
  align-items:stretch!important;
  gap:5px!important;
  width:min(680px,calc(100vw - 24px))!important;
  max-width:680px!important;
  min-height:var(--vz146-dock-height)!important;
  padding:7px!important;
  margin:0!important;
  border-radius:25px!important;
  z-index:9999!important;
}
.v-bottom-nav-vitaliza a,
.vz13-page .v-bottom-nav-vitaliza a,
.vz14-page .v-bottom-nav-vitaliza a{
  width:auto!important;
  min-width:0!important;
  min-height:60px!important;
  flex:none!important;
  padding:7px 4px!important;
}
.v-bottom-nav-vitaliza a:nth-child(3){grid-column:3}
.v-bottom-nav-vitaliza .v-nav-glyph svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.v-bottom-nav-vitaliza small{font-size:9px!important;line-height:1.05!important;text-align:center!important}

/* Ninguna vista puede terminar debajo del dock o del reproductor. */
#app{padding-bottom:var(--vz146-page-clearance)!important}
#app>main,
#app main.vz13-page,
#app main.vz14-page,
#app main.more-page,
#app main.notif-page,
#app main.life-page,
#app main.journal-page,
#app main.kitchen-page,
#app main.sub-new,
#app main[class*="-page"]{
  padding-bottom:var(--vz146-page-clearance)!important;
  box-sizing:border-box!important;
}
body.vitaliza-ambient-playing{
  --vz146-page-clearance:calc(var(--vz146-dock-height) + 104px + var(--vz146-safe-bottom));
}
.v-global-ambient-player{
  bottom:calc(var(--vz146-dock-height) + 22px + var(--vz146-safe-bottom))!important;
  z-index:9998!important;
}

/* La invitación automática forma parte de Inicio: no tapa contenido ni el dock. */
.vitaliza-install-banner.is-inline{
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  bottom:auto!important;
  transform:translateY(10px) scale(.99)!important;
  width:100%!important;
  max-width:none!important;
  margin:14px 0 18px!important;
  z-index:3!important;
  box-shadow:0 12px 34px rgba(57,38,25,.10)!important;
}
.vitaliza-install-banner.is-inline.is-visible{
  transform:none!important;
}
.vitaliza-install-banner.is-explicit{
  bottom:calc(var(--vz146-dock-height) + 22px + var(--vz146-safe-bottom))!important;
}
body.vitaliza-ambient-playing .vitaliza-install-banner.is-explicit{
  bottom:calc(var(--vz146-dock-height) + 94px + var(--vz146-safe-bottom))!important;
}

@media(max-width:620px){
  :root{--vz146-dock-height:68px;--vz146-dock-gap:10px}
  .v-bottom-nav.v-bottom-nav-vitaliza,
  .vz13-page .v-bottom-nav-vitaliza,
  .vz14-page .v-bottom-nav-vitaliza{
    width:calc(100vw - 12px)!important;
    min-height:var(--vz146-dock-height)!important;
    padding:6px!important;
    bottom:max(6px,var(--vz146-safe-bottom))!important;
  }
  .v-bottom-nav-vitaliza a,
  .vz13-page .v-bottom-nav-vitaliza a,
  .vz14-page .v-bottom-nav-vitaliza a{min-height:54px!important;padding:6px 2px!important}
  .v-bottom-nav-vitaliza small{font-size:8px!important}
  .v-global-ambient-player{bottom:calc(var(--vz146-dock-height) + 14px + var(--vz146-safe-bottom))!important}
  .vitaliza-install-banner.is-inline{grid-template-columns:38px minmax(0,1fr) auto!important;padding:10px!important}
  .vitaliza-install-banner.is-inline .vitaliza-install-icon{width:38px!important;height:38px!important}
  .vitaliza-install-banner.is-inline .vitaliza-install-copy span{display:none!important}
  .vitaliza-install-banner.is-inline .vitaliza-install-action{grid-column:auto!important;width:auto!important;padding:0 11px!important}
}

/* Los mensajes de confirmación nunca quedan debajo del dock fijo. */
.toast,
[data-toast],
.vz-toast {
  bottom: calc(var(--vz146-dock-height, 72px) + env(safe-area-inset-bottom, 0px) + 14px) !important;
  z-index: 10050 !important;
}

/* Clima nunca desaparece: conexión guiada, cambio de ciudad y estado de error accionable. */
.vz146-weather-setup>div>p{margin:7px 0 0;color:rgba(37,31,28,.72);font-size:12px;line-height:1.5}
.vz146-weather-change{background:rgba(255,255,255,.72)!important;color:var(--vz14-ink)!important;border:1px solid rgba(37,31,28,.10)!important}
.vz146-weather-city-panel[hidden]{display:none!important}
.vz146-weather-city-panel{margin-top:12px;padding-top:12px;border-top:1px solid rgba(37,31,28,.10)}
.vz146-weather-city-form label>span{display:block;margin-bottom:7px;font-size:11px;font-weight:900;color:var(--vz14-ink)}
.vz146-weather-city-form label>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.vz146-weather-city-form input{width:100%;min-width:0;border:1px solid rgba(37,31,28,.14);border-radius:13px;background:rgba(255,255,255,.78);padding:10px 12px;font:700 12px/1.2 inherit;color:var(--vz14-ink);outline:none}
.vz146-weather-city-form input:focus{border-color:rgba(177,87,41,.55);box-shadow:0 0 0 3px rgba(177,87,41,.10)}
.vz146-weather-city-form button{border:0;border-radius:13px;padding:9px 13px;background:var(--vz14-ink);color:#fff;font:850 10px/1 inherit;cursor:pointer}
.vz146-weather-results{display:grid;gap:6px;margin-top:9px}
.vz146-weather-results button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:1px solid rgba(37,31,28,.10);border-radius:13px;background:rgba(255,255,255,.66);padding:10px 12px;text-align:left;cursor:pointer;color:var(--vz14-ink)}
.vz146-weather-results button:hover,.vz146-weather-results button:focus-visible{background:#fff;border-color:rgba(177,87,41,.34)}
.vz146-weather-results strong{font:850 12px/1.25 inherit}.vz146-weather-results span{font:650 10px/1.25 inherit;color:rgba(37,31,28,.62);text-align:right}
@media(max-width:560px){.vz146-weather-city-form label>div{grid-template-columns:1fr}.vz146-weather-city-form button{min-height:40px}.vz146-weather-results button{align-items:flex-start;flex-direction:column;gap:3px}.vz146-weather-results span{text-align:left}}
