/* VITALIZA 14.7.5 — cierre de rutas, responsive y accesibilidad. */

/* Filas de opciones: envolver antes que cortar contenido. */
.vz14-choice-row,
.vz14-tabs,
.vz143-sound-buttons,
.pv-section-nav,
.lib-cats,
.lib-collections {
  flex-wrap: wrap;
  overflow-x: visible;
  white-space: normal;
}
.vz14-choice-row > *,
.vz14-tabs > *,
.vz143-sound-buttons > *,
.pv-section-nav > * { min-width: 0; }

/* Compras / heladera / despensa / freezer. */
.vz1473-tabs{display:flex;gap:8px;align-items:center}.vz1473-tabs a{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.vz1473-inventory-form{display:grid!important;grid-template-columns:minmax(180px,1.5fr) minmax(92px,.5fr) minmax(100px,.55fr) minmax(150px,.8fr) auto!important;align-items:end!important;gap:10px!important}
.vz1473-inventory-form label{display:grid;gap:6px;min-width:0;color:var(--color-text-secondary,#756c62);font-size:11px;font-weight:800;letter-spacing:.04em}
.vz1473-inventory-form input,.vz1473-inventory-form select{width:100%;min-width:0;min-height:46px;box-sizing:border-box;border:1px solid var(--color-border,#ded4c8);border-radius:15px;background:#fffdf8;padding:10px 12px;color:var(--color-text-primary,#292722);font:inherit}
.vz1473-inventory-form button{min-height:46px}
.vz1473-inventory-list{display:grid;gap:10px}.vz1473-inventory-card{display:flex!important;align-items:center!important;justify-content:space-between;gap:16px;padding:16px 18px!important;border-radius:20px;background:#fffdf8;border:1px solid rgba(41,39,34,.10)}
.vz1473-inventory-copy{min-width:0}.vz1473-inventory-copy small{display:block;color:#a55325;font-size:9px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.vz1473-inventory-copy h3{margin:5px 0 3px;overflow-wrap:anywhere}.vz1473-inventory-copy p{margin:0;color:#756c62}.vz1473-inventory-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.vz1473-inventory-actions button{min-height:42px}
.vz1473-expiry{display:inline-flex;margin-top:9px;padding:6px 10px;border-radius:999px;background:#ece8df;color:#625b52;font-size:11px;font-weight:850}.vz1473-expiry.urgent,.vz1473-expiry.expired{background:#f8ddd6;color:#8c3325}.vz1473-expiry.soon{background:#fff0c9;color:#73520c}.vz1473-expiry.later{background:#e4efdf;color:#3f6036}
.vz1473-expiring{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:18px;margin:0 0 16px;padding:18px;border-radius:22px;background:linear-gradient(135deg,#fff0d7,#fffaf2);border:1px solid rgba(217,106,37,.15)}.vz1473-expiring small{color:#9f4d1c;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.vz1473-expiring p{margin:6px 0 0;color:#6b6258}.vz1473-expiring ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}.vz1473-expiring li{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.62)}.vz1473-expiring li b{overflow-wrap:anywhere}.vz1473-expiring li span{flex:0 0 auto;color:#8c4a20;font-size:11px;font-weight:850}.vz1473-limit-note{margin:14px 0 0;color:#81776d;font-size:11px}

/* La barra fija nunca debe cubrir el final del contenido. */
@media (max-width: 860px){
  .vz13-page,.vz14-page,.lib-page,.lib-reader,.osp,.ob-page,.authx{padding-bottom:max(128px,calc(112px + env(safe-area-inset-bottom)))!important;box-sizing:border-box}
  .vz13-wrap,.vz14-wrap,.lib-content,.reader-content{padding-bottom:max(42px,env(safe-area-inset-bottom))!important}
  .v-bottom-nav-vitaliza{bottom:max(10px,env(safe-area-inset-bottom))!important}
  .vz1473-inventory-form{grid-template-columns:1fr 1fr!important}.vz1473-inventory-form label:first-of-type{grid-column:1/-1}.vz1473-inventory-form button{grid-column:1/-1;width:100%}
  .vz1473-inventory-card{align-items:flex-start!important;flex-direction:column}.vz1473-inventory-actions{width:100%;justify-content:flex-start}.vz1473-expiring{grid-template-columns:1fr}
}
@media (max-width: 380px){
  .vz1473-inventory-form{grid-template-columns:1fr!important}.vz1473-inventory-form label,.vz1473-inventory-form label:first-of-type,.vz1473-inventory-form button{grid-column:1!important}
  .vz1473-tabs{display:grid!important;grid-template-columns:1fr 1fr}.vz1473-tabs a{width:100%;box-sizing:border-box}
}

/* Foco visible y objetivos táctiles. */
:where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:3px solid rgba(224,105,32,.42)!important;outline-offset:3px!important}
:where(button,a[role="button"],.vz14-tabs a,.v-bottom-nav-vitaliza a){min-height:44px}

/* Contenido horizontal operable y evidente cuando no puede envolver. */
[data-horizontal-scroll]{scrollbar-width:thin;scroll-snap-type:x proximity;padding-bottom:8px}
[data-horizontal-scroll]>*{scroll-snap-align:start}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Accesos explícitos entre Mi día, Mi semana y áreas conectadas. */
.vz1473-section-links,.vz1473-day-week{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.vz1473-section-links a,.vz1473-day-week a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 13px;border-radius:999px;border:1px solid rgba(41,39,34,.13);background:#fffaf2;color:#70401f;text-decoration:none;font-weight:800}
.vz1473-day-week{justify-content:flex-start;margin:0 0 18px}.vz1473-day-week a.active{background:#2d2925;color:#fff;border-color:#2d2925}
@media(max-width:560px){.vz14-section>header{align-items:flex-start!important}.vz1473-section-links{justify-content:flex-start;width:100%}.vz1473-section-links a{flex:1 1 130px}}

/* Mi semana monta un contenedor técnico antes de la pantalla. Ese nivel también
   debe participar del viewport reservado para el dock móvil. */
@media(max-width:1279px){
  #app>[data-planner-mount]{
    width:100%;
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  #app>[data-planner-mount]>.planner-page{
    width:100%;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
    scroll-padding-bottom:32px;
    padding-bottom:max(34px,env(safe-area-inset-bottom,0px))!important;
    box-sizing:border-box!important;
  }
  #app>[data-planner-mount]>.planner-page>.v-bottom-nav-vitaliza,
  #app>[data-planner-mount]>.planner-page>.v-global-ambient-player{position:fixed!important}
}
