/* VITALIZA 11.3 — corrección visual consolidada tras revisión en deploy real. */
:root{--v113-nav-h:86px}
.li-priority.is-primary h3,.lr-action.is-primary h3,.sp-hero h1,.sp-hero .vitaliza-eyebrow{color:#fffaf3!important}
.sp-hero>div>span{color:rgba(255,250,243,.78)!important}
.sp-plan-card small{color:rgba(255,250,243,.72)!important}
.v-bottom-nav{z-index:900!important}
.life-page.is-capturing .v-bottom-nav,.pet-page.is-capturing .v-bottom-nav{display:none!important}
.life-modal{z-index:10000!important;align-items:center!important;padding:12px!important}
.life-modal form{max-height:calc(100dvh - 24px)!important;padding-bottom:calc(24px + env(safe-area-inset-bottom))!important}
.life-form-head{position:sticky;top:-23px;background:var(--vz-paper);z-index:3;padding:22px 0 10px}
.vshare{z-index:11000!important}
@media(min-width:900px){
  .v-bottom-nav{width:min(760px,calc(100vw - 48px))!important;left:50%!important;transform:translateX(-50%)!important;bottom:18px!important}
  .local-home,.local-resolver,.sp-page,.cycle-premium,.life-page,.pet-page,.habits-page{padding-bottom:150px!important}
}
@media(max-width:899px){
  .v-bottom-nav{bottom:max(8px,env(safe-area-inset-bottom))!important;width:calc(100% - 24px)!important}
}
/* Nunca permitir texto oscuro dentro de superficies oscuras. */
[style*="background:#272620"] h1,[style*="background:#272620"] h2,[style*="background:#272620"] h3,
[style*="background: #272620"] h1,[style*="background: #272620"] h2,[style*="background: #272620"] h3{color:#fffaf3!important}


/* Contraste explícito en todas las superficies oscuras vistas en producción. */
.li-account h2,.li-account p,.li-account small,.li-priority.is-primary h3,.li-priority.is-primary p,.li-priority.is-primary small,
.lr-action.is-primary h3,.lr-action.is-primary p,.lr-action.is-primary small,.sp-hero h1,.sp-hero p,.sp-hero>div>span,
.sp-plan-card small,.sp-plan-card b{color:#fffaf3!important}
.li-account p,.sp-hero>div>span,.lr-action.is-primary p{color:rgba(255,250,243,.78)!important}
.li-account a.ghost{color:#fffaf3!important;border-color:rgba(255,250,243,.28)!important}
/* La navegación nunca tapa formularios ni la última tarjeta. */
.life-modal:not([hidden])~.v-bottom-nav{display:none!important}
.pet-page.is-capturing .v-bottom-nav{display:none!important}
/* Estados inválidos nunca se muestran como datos reales. */
.cycle-day:empty,.cycle-next strong:empty,.cycle-next span:empty{display:none!important}

/* Consolidación posterior al recorrido real en Netlify. */
.li-orb img,.vitaliza-brand img,.li-share>div img,.v-sun-button img{display:block;object-fit:contain}
.life-capture,.pet-wizard,.child-wizard{max-height:min(84dvh,780px);overflow:auto;overscroll-behavior:contain;padding-bottom:max(28px,env(safe-area-inset-bottom))}
.life-page.is-capturing,.pets-page.is-capturing,.children-page.is-capturing{overflow:hidden}
.life-page.is-capturing .v-bottom-nav,.pets-page.is-capturing .v-bottom-nav,.children-page.is-capturing .v-bottom-nav{display:none!important}
@media(min-width:900px){
  .v-bottom-nav{bottom:18px;max-width:760px}
  main:has(.v-bottom-nav){padding-bottom:130px!important}
}

/* En escritorio la navegación se vuelve un riel lateral: permanece accesible
   sin tapar botones, tarjetas ni formularios mientras se recorre la página. */
@media(min-width:1280px){
  .v-bottom-nav{
    width:82px!important;max-width:82px!important;height:auto!important;
    left:22px!important;right:auto!important;top:50%!important;bottom:auto!important;
    transform:translateY(-50%)!important;
    grid-template-columns:1fr!important;align-items:center!important;gap:4px!important;
    padding:10px 7px!important;border-radius:30px!important;
  }
  .v-bottom-nav a{min-height:58px!important;padding:6px 3px!important}
  .v-bottom-nav a.v-main{width:auto!important;margin:0!important;align-self:center!important}
  .v-bottom-nav a.v-main span,.v-bottom-nav a.v-main .v-sun-button{
    width:46px!important;height:46px!important;margin:0 auto!important;border-width:3px!important;
  }
  .v-bottom-nav a.v-main img{width:40px!important;height:40px!important}
  .v-bottom-nav a small{font-size:8px!important;text-align:center!important}
  main:has(.v-bottom-nav){padding-bottom:64px!important}
}

/* Ciclo aprovecha el ancho disponible en escritorio y deja de parecer un
   formulario de teléfono flotando en una página vacía. */
@media(min-width:900px){
  .cycle-premium{width:min(1080px,calc(100% - 48px))!important;max-width:1080px!important;margin:0 auto!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:20px!important;align-items:start!important}
  .cycle-premium>.v-premium-head,.cycle-premium>.cycle-recorded,.cycle-premium>.cycle-empty,.cycle-premium>.cycle-update-card{grid-column:1/-1!important}
  .cycle-premium>.cycle-phase{grid-column:1!important;margin:0!important;min-height:280px!important}
  .cycle-premium>.cycle-guidance{grid-column:2!important;margin:0!important;min-height:280px!important}
  .cycle-premium>.cycle-patterns,.cycle-premium>.cycle-patterns-free{grid-column:1!important;margin:0!important}
  .cycle-premium>.cycle-checkin{grid-column:2!important;margin:0!important}
  .cycle-premium>.cycle-update-card{width:100%!important;box-sizing:border-box!important}
}

/* Formularios guiados: pantalla legible, desplazable y sin navegación superpuesta. */
.pet-page.is-capturing,.life-page.is-capturing{height:100dvh!important;overflow:hidden!important;padding-bottom:0!important}
.pet-page.is-capturing .pet-shell{height:100%;overflow:auto;overscroll-behavior:contain;padding-bottom:max(30px,env(safe-area-inset-bottom))}
.pet-page.is-capturing .v-bottom-nav,.life-page.is-capturing .v-bottom-nav{display:none!important}
.life-modal:not([hidden]){position:fixed!important;inset:0!important;display:flex!important;align-items:center!important;justify-content:center!important;background:rgba(38,35,30,.48)!important;backdrop-filter:blur(8px)!important;overflow:auto!important;padding:18px!important}
.life-modal form{width:min(640px,100%)!important;max-height:calc(100dvh - 36px)!important;overflow:auto!important;border-radius:28px!important;box-shadow:0 30px 100px rgba(35,30,24,.28)!important}
@media(max-width:650px){.life-modal:not([hidden]){align-items:stretch!important;padding:0!important}.life-modal form{width:100%!important;min-height:100dvh!important;max-height:100dvh!important;border-radius:0!important;padding-bottom:calc(32px + env(safe-area-inset-bottom))!important}.pet-page.is-capturing .pet-shell{padding:12px 12px calc(28px + env(safe-area-inset-bottom))!important}.pet-wizard{border-radius:24px!important}}
/* La navegación global vive fuera de cada página; :has evita que tape los asistentes. */
body:has(.pet-page.is-capturing) .v-bottom-nav,
body:has(.life-page.is-capturing) .v-bottom-nav,
body:has(.children-page.is-capturing) .v-bottom-nav,
body:has(.life-modal:not([hidden])) .v-bottom-nav{display:none!important}
body:has(.pet-page.is-capturing) .global-app-nav,
body:has(.life-page.is-capturing) .global-app-nav,
body:has(.children-page.is-capturing) .global-app-nav,
body:has(.life-modal:not([hidden])) .global-app-nav{display:none!important}
/* Alternancia editorial visible también en la pantalla de tarjetas compartidas. */
.sc-card.sc-card-dark{background:linear-gradient(145deg,#2b2823,#1f1d19)!important;color:#fffaf3!important;border-color:rgba(255,255,255,.08)!important;box-shadow:0 24px 80px rgba(36,32,29,.22)!important}
.sc-card.sc-card-dark::after{background:rgba(172,83,39,.45)!important}
.sc-card.sc-card-dark .sc-kicker{color:#ffad67!important}
.sc-card.sc-card-dark blockquote{color:#fffaf3!important}
.sc-card.sc-card-dark .sc-card-copy>p{color:rgba(255,250,243,.76)!important}
.sc-card.sc-card-dark footer small{color:rgba(255,250,243,.58)!important}
.sc-card.sc-card-dark footer a{color:#fffaf3!important;border-color:rgba(255,250,243,.3)!important}
.sc-card.sc-card-dark button{background:#fffaf3!important;color:#24201d!important}
.sc-card.sc-card-dark .sc-site{color:rgba(255,250,243,.45)!important}
/* El riel global comparte la misma geometría que la navegación local. */
@media(min-width:1280px){
  .global-app-nav{
    width:82px!important;max-width:82px!important;height:auto!important;min-height:0!important;
    left:22px!important;right:auto!important;top:50%!important;bottom:auto!important;
    transform:translateY(-50%)!important;
    grid-template-columns:1fr!important;align-items:center!important;gap:4px!important;
    padding:10px 7px!important;border:1px solid rgba(242,164,95,.3)!important;border-radius:30px!important;
  }
  .global-app-nav a{min-height:58px!important;padding:6px 3px!important}
  .global-app-nav .global-nav-vita{width:46px!important;height:46px!important;margin:0 auto!important;transform:none!important;border-width:3px!important;box-shadow:0 0 0 5px var(--vitaliza-ink),0 0 24px rgba(217,106,37,.22)!important}
  .global-app-nav .global-nav-vita img{width:40px!important;height:40px!important}
  .global-app-nav a span:last-child{font-size:8px!important;text-align:center!important}
}
/* Una animación con transform convierte a la página en contenedor de los
   elementos fixed. En escritorio eso desplazaba el riel sobre las tarjetas.
   El movimiento de entrada se omite en las vistas con navegación fija. */
@media(min-width:1280px){
  .cycle-premium,.sp-page,.life-page,.pet-page,.habits-page,.local-resolver,.local-home{
    animation:none!important;transform:none!important;
  }
}
