
/* CSV79 — Reparación de regresiones móviles y coherencia visual
   Capa final deliberadamente específica. No modifica el módulo de precios CSV77. */

:root{
  --csv79-navy:#082b4d;
  --csv79-navy-deep:#06172b;
  --csv79-gold:#d5a11e;
  --csv79-alert-bg:#fff7df;
  --csv79-alert-ink:#493100;
}

/* REGLA DEFINITIVA DE PÍLDORAS
   Blanca = texto azul. Azul = texto blanco. */
.csv-pill--light,
.csv-pill--light:visited{
  color:var(--csv79-navy)!important;
  -webkit-text-fill-color:var(--csv79-navy)!important;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 48%,#e9f0f6 100%)!important;
  border-color:rgba(213,161,30,.72)!important;
  text-shadow:0 1px 0 rgba(255,255,255,.95)!important;
}
.csv-pill--light :is(span,strong,b,em,small,i,svg,path,use){
  color:var(--csv79-navy)!important;
  -webkit-text-fill-color:var(--csv79-navy)!important;
  stroke:currentColor!important;
}
.csv-pill--navy,
.csv-pill--navy:visited,
a.btn.alt.csv-pill--navy,
a.btn.dark.csv-pill--navy{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:linear-gradient(180deg,#276aa8 0%,#124f87 46%,#082b4d 100%)!important;
  border-color:rgba(213,161,30,.72)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.48)!important;
}
.csv-pill--navy :is(span,strong,b,em,small,i,svg,path,use){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  stroke:currentColor!important;
}

/* Aviso operacional visible */
.csv-service-alert{
  position:relative;
  z-index:15;
  background:linear-gradient(180deg,#fffaf0,#fff2cb);
  border-top:1px solid rgba(213,161,30,.55);
  border-bottom:1px solid rgba(213,161,30,.68);
  color:var(--csv79-alert-ink);
}
.csv-service-alert .wrap{
  padding:14px 0;
  display:flex;
  align-items:center;
  gap:12px;
}
.csv-service-alert__icon{
  flex:0 0 36px;width:36px;height:36px;border-radius:50%;
  display:grid;place-items:center;
  background:#f5b400;color:#2f2200;font-weight:950;font-size:1.15rem;
  box-shadow:0 5px 14px rgba(111,77,0,.18);
}
.csv-service-alert__copy{min-width:0;line-height:1.35;font-size:.94rem}
.csv-service-alert__copy strong{display:block;color:#382700;margin-bottom:2px}
.csv-service-alert__copy a{font-weight:900;text-decoration:underline;text-underline-offset:2px}

/* HOME: imagen corporativa completa, sin franja vacía */
body .hero-card.csv-brand-plaque .csv-logo-stage{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  min-height:0!important;
  background:#efe5d2!important;
  overflow:hidden!important;
}
body .hero-card.csv-brand-plaque .csv-logo-stage > .csv-logo-main{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important;
  margin:0!important;
}

/* NUESTRA HISTORIA: anula alturas/resizes históricos */
body.csv69-story-page .hero{
  min-height:0!important;
  height:auto!important;
  display:block!important;
  overflow:hidden!important;
  padding:58px 0 52px!important;
}
body.csv69-story-page .hero > .wrap.hero-grid{
  min-height:0!important;
  height:auto!important;
  align-items:center!important;
}
body.csv69-story-page .hero-mark{
  width:min(100%,420px)!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  padding:14px!important;
  margin:0 auto!important;
  transform:none!important;
  overflow:hidden!important;
}
body.csv69-story-page .hero-mark > img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important;
}
body.csv69-story-page main,
body.csv69-story-page main>section{
  min-height:0!important;
}

/* Movilidad: píldora blanca legible y botones de teléfono con etiqueta */
body.movilidad-asistencia .traveler-actions .csv-pill--light{
  color:var(--csv79-navy)!important;
  -webkit-text-fill-color:var(--csv79-navy)!important;
}
body.movilidad-asistencia .utility-strip .csv-object--call{
  width:auto!important;
  min-width:150px!important;
  padding:.75rem 1rem!important;
  gap:9px!important;
}
body.movilidad-asistencia .utility-strip .csv-object--call .csv-call-premium-icon{
  width:46px!important;height:46px!important;
}

/* WhatsApp flotante: evita tapar el último control útil */
.floatbar{bottom:max(18px,env(safe-area-inset-bottom))!important}
@media(max-width:700px){
  .floatbar{right:14px!important}
}

/* Evita huecos heredados por min-height en móvil, salvo componentes que realmente lo requieren */
@media(max-width:700px){
  body.csv69-story-page .hero,
  body.csv69-story-page .hero-grid,
  body.csv69-story-page .hero-mark,
  body.csv69-story-page main>section{
    min-height:0!important;
  }
  body.csv69-story-page .hero-grid{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
  body.csv69-story-page .hero-mark{
    max-width:330px!important;
  }
  body.csv69-story-page .hero h1{
    font-size:clamp(2.5rem,12vw,3.5rem)!important;
  }
  .csv-service-alert .wrap{padding:11px 0;align-items:flex-start}
  .csv-service-alert__copy{font-size:.88rem}
}

/* Header: la capa JS añade csv79-header-up al detectar subida. */
header,.site-header,.header{
  will-change:transform;
}
body.csv79-header-up header,
body.csv79-header-up .site-header,
body.csv79-header-up .header{
  transform:translateY(0)!important;
}
