
/* CSV110 · UX, navegación y rendimiento */

/* Menu is fixed and immovable while open. */
@media(max-width:900px){
  body.csv110-nav-ready>header{
    position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;
    z-index:10000!important;transform:translate3d(0,0,0)!important;
    transition:transform .13s ease-out!important;will-change:transform!important;
  }
  body.csv110-nav-ready>header.csv110-hidden{transform:translate3d(0,-115%,0)!important}
  body.csv110-nav-ready>header.csv110-visible,
  body.menu-open.csv110-nav-ready>header{transform:translate3d(0,0,0)!important;pointer-events:auto!important}
  .csv110-header-spacer{display:block!important;width:100%!important}
  body.csv110-page-locked{
    position:fixed!important;left:0!important;right:0!important;width:100%!important;
    overflow:hidden!important;touch-action:none!important;
  }
  body.menu-open>header .menu.open{
    position:fixed!important;
    top:calc(var(--csv-header-h,82px) + env(safe-area-inset-top,0px))!important;
    left:12px!important;right:12px!important;
    max-height:calc(100dvh - var(--csv-header-h,82px) - 24px - env(safe-area-inset-bottom,0px))!important;
    overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;
    z-index:10020!important;
  }
}
@media(min-width:901px){.csv110-header-spacer{display:none!important;height:0!important}}

/* One selected station is enough; these two utilities replace the repeated 4-card block. */
.csv110-station-tools{
  display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:22px;
}
.csv110-station-tools>a{
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 15px;border-radius:999px;font-weight:850
}

/* Contact actions: premium but compact, not giant banners. */
.csv99-contact-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;
}
.csv99-contact-action{
  min-height:118px!important;padding:18px!important;border-radius:22px!important;
  display:flex!important;flex-direction:column!important;justify-content:center!important;
}
.csv99-contact-action strong{font-size:1rem!important}
.csv99-contact-action span{font-size:.82rem!important;margin-top:4px!important}
@media(max-width:900px){.csv99-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:520px){
  .csv99-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .csv99-contact-action{min-height:92px!important;padding:14px!important;border-radius:18px!important}
}

/* PWA invitation: strict landscape composition, no overlaps or clipped signature. */
@media(orientation:landscape) and (max-height:620px){
  .csv-pwa-install{
    padding:8px 12px!important;align-items:center!important;overflow:auto!important;
  }
  .csv-pwa-install__card{
    width:min(860px,calc(100vw - 24px))!important;
    max-height:calc(100dvh - 16px)!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:130px minmax(0,1fr)!important;
    grid-template-areas:
      "seal eyebrow"
      "seal title"
      "seal text"
      "seal guide"
      "seal actions"
      "seal signature"!important;
    gap:4px 22px!important;
    padding:16px 20px!important;
    overflow:auto!important;
    border-radius:22px!important;
  }
  .csv-pwa-install__seal{grid-area:seal!important;width:112px!important;height:112px!important;margin:auto!important}
  .csv-pwa-install__eyebrow{grid-area:eyebrow!important;text-align:left!important;margin:0!important;font-size:9.5px!important}
  .csv-pwa-install__title{grid-area:title!important;text-align:left!important;margin:0!important;font-size:23px!important}
  .csv-pwa-install__text{grid-area:text!important;text-align:left!important;margin:2px 0 7px!important;max-width:none!important;font-size:12.5px!important;line-height:1.35!important}
  .csv-pwa-install__guide{grid-area:guide!important;margin:0 0 6px!important;padding:8px 10px!important}
  .csv-pwa-install__actions{grid-area:actions!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
  .csv-pwa-install__button{min-height:40px!important;padding:7px 12px!important;font-size:11.5px!important}
  .csv-pwa-install__signature{grid-area:signature!important;text-align:left!important;margin:5px 0 0!important;font-size:9.5px!important}
  .csv-pwa-install__close{top:10px!important;right:10px!important;width:34px!important;height:34px!important}
}
