/* =========================================================
   compat.css — STUB (sin reglas activas)
   Motivo: compat quedó vacío; todo se migró a brand-2026.css / components.css.
   Nota: mantenido por compatibilidad / hotfix rápido si alguna vez hace falta.
   ========================================================= */

/* DISABLED: afectaba registro (ma-registro-conductor) */
/* MA HOTFIX (driver panel con mapa): #msg como toast; NO afecta registro */
body.role-driver #map ~ #msg:empty{ display:none !important; }
body.role-driver #map ~ #msg{
  position: fixed;
  top: 64px;
  left: 12px;
  right: 12px;
  z-index: var(--z-toast, 200);
  background: #fff3cd;
  border: 1px solid #ffeeba;
  color: #856404;
  padding: 10px 12px;
  border-radius: 10px;
  box-shadow: 0 6px 20px rgba(0,0,0,.15);
}

/* ================================
   MA_B2_AVAIL_TOGGLE_CSS01 (2026-02-21)
   Scope: SOLO conductor (body.role-driver)
   ================================ */
body.role-driver .maAvail{
  margin: 10px 0;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  background: rgba(255,255,255,.04);
}

body.role-driver .maAvail__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
}

body.role-driver .maAvail__title{
  font-weight: 700;
  font-size: 14px;
  line-height: 1.1;
}

body.role-driver .maAvail__hint{
  font-size: 12px;
  opacity: .85;
  margin-top: 2px;
}

/* switch */
body.role-driver .maSwitch{
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  user-select:none;
}

body.role-driver .maSwitch input{
  position:absolute;
  opacity:0;
  width:1px;
  height:1px;
}

body.role-driver .maSwitch__track{
  width: 52px;
  height: 30px;
  border-radius: 999px;
  background: rgba(0,0,0,.08);
  border: 1px solid rgba(0,0,0,.18);
  position: relative;
  transition: background .15s ease, border-color .15s ease;
}

body.role-driver .maSwitch__track::after{
  content:"";
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  position:absolute;
  top: 2px;
  left: 2px;
  transition: left .15s ease;
}

body.role-driver .maSwitch input:checked + .maSwitch__track{
  background: rgba(0, 200, 120, .35);
  border-color: rgba(0, 200, 120, .45);
}

body.role-driver .maSwitch input:checked + .maSwitch__track::after{
  left: 26px;
}
/* /MA_B2_AVAIL_TOGGLE_CSS01 */

/* === MA UI CORE PACK (safe-area + stable vh + touch + layers) === */
:root{
  /* DS_DEFAULTS (mobile-first) */
  --ds-max: 560px;
  --ds-pad: 14px;

  --vh: 1vh;
  --sat: env(safe-area-inset-top, 0px);
  --sar: env(safe-area-inset-right, 0px);
  --sab: env(safe-area-inset-bottom, 0px);
  --sal: env(safe-area-inset-left, 0px);

  --z-map: 1;
  --z-mapbtn: 60;
  --z-dock: 55;
  --z-menu-btn: 520;
  --ma-topbar-h: 64px;
  --z-overlay: 80;
  --z-sheet: 90;
  --z-toast: 200;

  --z-fab: 240;
  --z-sponsor: 260;
  --z-menu-overlay: 380;

  --z-menu: 400;
}

html, body{ height: 100%; }

.full-viewport, .app-viewport, #app{
  min-height: calc(var(--vh, 1vh) * 100);
}

#sheet.sheet{
  max-height: calc((var(--vh, 1vh) * 100) - 12px);
  padding-bottom: calc(12px + var(--sab));
}

.bottom-bar, .footer-fixed, .sheet-actions, .actions-fixed{
  padding-left: calc(12px + var(--sal));
  padding-right: calc(12px + var(--sar));
  padding-bottom: calc(12px + var(--sab));
}

button, .btn, a.btn, input, select{
  min-height: 44px;
}


/* MA SPONSOR CANONICAL (CLEAN06)
   - Un solo slot: #sponsorsFooter
   - Banner footer limpio y pro
   - Sin hacks por rol
*/
#sponsorsFooter.ma-sponsors-footer{
  display:none;
}

/* Tarjeta banner */
/* MA SPONSOR MEDIA (IMG01) - imagen opcional dentro del card */
#sponsorsFooter .ma-sponsor-media{
  display:flex;
  align-items:center;
  justify-content:center;
  width: 64px;
  min-width: 64px;
  height: 64px;
  margin-right: 10px;
  overflow:hidden;
  border-radius: 12px;
  background: rgba(0,0,0,.03);
}
#sponsorsFooter .ma-sponsor-img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  display:block;
}
#sponsorsFooter .ma-sponsor-card{
  display:flex;
  align-items:center;
  gap: 0;
}
#sponsorsFooter .ma-sponsor-text{
  flex: 1 1 auto;
  min-width: 0;
}
#sponsorsFooter .ma-sponsor-title,
#sponsorsFooter .ma-sponsor-msg{
  overflow:hidden;
  text-overflow: ellipsis;
}
#sponsorsFooter .ma-sponsor-card{
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  padding: 10px 12px;
  font-size: 14px;
  line-height: 1.25;
  box-shadow: 0 6px 20px rgba(0,0,0,.08);
}

/* MA SPONSOR SAFEFOOTER01 - reservar espacio inferior para overlays (ma-suggestwrap) */
body.role-passenger, body.role-driver {
  padding-bottom: calc(var(--ma-suggestwrap-h, 0px) + var(--sab, 0px) + 12px);
}

/* MA SPONSOR SAFEFOOTER03_OVERLAY01
   Sponsor como overlay (encima de todo), pero sin tapar sheet-actions/bottom-bar.
   Variables:
   --ma-suggestwrap-h (ya existente)
   --ma-sponsor-h (se setea desde vh.js)
*/
#sponsorsFooter.ma-sponsors-footer.is-active{
  display: block !important;
  position: fixed !important;
  left: 0;
  right: 0;
  bottom: calc(var(--ma-suggestwrap-h, 0px) + var(--sab, 0px) + 8px);
  z-index: var(--z-sponsor, 260); /* por encima de --z-toast(200) y --z-sheet(90) */
}

/* Evitar que tape botones/acciones (sheet/bottom bar) */
.sheet__actions, .sheet-actions, .actions-fixed, .bottom-bar, .footer-fixed{
  padding-bottom: calc(12px + var(--sab, 0px) + var(--ma-sponsor-h, 0px) + var(--ma-suggestwrap-h, 0px));
}


/* MA SPONSOR SAFEFOOTER05_PADDINGWIN01 - ganar a #sheet .sheet__actions */
#sheet .sheet__actions{
  padding-bottom: calc(12px + var(--sab, 0px) + var(--ma-sponsor-h, 0px) + var(--ma-suggestwrap-h, 0px));
}

/* PATCH: BUTTONS_WRAP_RESPONSIVE01
   Objetivo: botoneras adaptables en móvil (wrap + gap + stack).
   Nota: NO toca colores. NO duplica min-height (ya existe arriba).
*/

/* Contenedores típicos de acciones: deben envolver y espaciar */
.actions, .sheet__actions, .sheet-actions, .actions-fixed, .bottom-bar, .footer-fixed,
.item-actions, .trip-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

/* En móvil muy chico: botones a 100% para que no se aplasten */
@media (max-width: 420px){
  .actions > button, .actions > a,
  .sheet__actions > button, .sheet__actions > a,
  .sheet-actions > button, .sheet-actions > a,
  .item-actions > button, .item-actions > a,
  .trip-card__actions > button, .trip-card__actions > a,
  .actions-fixed > button, .actions-fixed > a,
  .bottom-bar > button, .bottom-bar > a,
  .footer-fixed > button, .footer-fixed > a {
    width: 100%;
  }
}

/* Links que parecen botón: caja clickeable y centrada */
.actions a, .sheet__actions a, .sheet-actions a, .item-actions a, .trip-card__actions a,
.actions-fixed a, .bottom-bar a, .footer-fixed a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}


/* PATCH: ZLAYERS_UNIFY01 - unifica z-layers + tamaños core (dock/menu-btn/topbar) */

/* PATCH: DS_DEFAULTS_COMPAT01
   - Added mobile-first defaults for --ds-max/--ds-pad (responsive.css overrides on desktop)
*/


/* PATCH: VH_FALLBACK_COMPAT02
   Motivo: fallback si vh.js no ejecuta (autoradio/Safari). Usa var(--vh,1vh).
*/
