
/* Spanair V50 · Core unificado */
html,body{max-width:100%!important;overflow-x:hidden!important}
body.sp-kayak-enabled{padding-top:84px!important}

/* El menú lateral siempre debe venir del CSS oficial /assets/spanair-kayak-menu.css */
.sp-kayak-sidebar .sp-kayak-nav,
.sp-kayak-sidebar .sp-kayak-nav a,
.sp-kayak-sidebar .sp-kayak-link,
.sp-kayak-sidebar .sp-kayak-title,
.sp-kayak-sidebar .sp-kayak-ico,
.sp-kayak-sidebar .sp-kayak-arrow{
  text-decoration:none!important;
}

/* En páginas legales/comerciales, los nav internos no deben afectar al menú global */
.nav-wrap nav{display:flex;gap:10px;flex-wrap:wrap}
.nav-wrap nav a{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:0 16px;border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.15);
  backdrop-filter:blur(10px);
  color:#fff;font-size:13px;font-weight:900;
}
.nav-wrap nav a:hover,.nav-wrap nav a.active{
  background:linear-gradient(135deg,#f47920,#ff9a52);
  border-color:transparent;
  box-shadow:0 16px 30px rgba(244,121,32,.24);
  transform:translateY(-2px);
}

.page-shell{width:100%!important;max-width:100%!important;overflow:hidden!important}
.topbar,.nav-wrap,.hero-strip,.landing-main,.landing-column,.side-stack,.panel,.side-card,.metric,.note{
  min-width:0!important;max-width:100%!important;
}
.panel p,.panel li,.panel h2,.panel h3,.panel a,.note,.side-card span,.metric span{
  white-space:normal!important;overflow-wrap:break-word!important;word-break:normal!important;
}

/* Tablas legales responsive */
.table-wrap{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
.cookie-table{max-width:100%!important}

@media(max-width:760px){
  .topbar,.nav-wrap,.hero-strip,.landing-main{
    width:calc(100% - 22px)!important;
    max-width:calc(100% - 22px)!important;
    margin-left:auto!important;margin-right:auto!important;
  }
  .hero-strip,.landing-main{display:block!important}
  .hero-strip{padding:22px 18px!important;border-radius:24px!important}
  .hero-strip h1{font-size:32px!important;line-height:1!important}
  .panel{padding:20px 16px!important;overflow:hidden!important}
  .panel h2{font-size:26px!important;line-height:1.05!important}
  .side-stack{margin-top:14px!important}
  .nav-wrap nav{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .nav-wrap nav a{width:100%!important;min-width:0!important;white-space:normal!important;text-align:center!important;font-size:12px!important;padding:0 10px!important}
  .cookie-table,.cookie-table thead,.cookie-table tbody,.cookie-table tr,.cookie-table th,.cookie-table td{
    display:block!important;width:100%!important;max-width:100%!important;white-space:normal!important;
  }
  .cookie-table thead{display:none!important}
  .cookie-table tr{
    margin:0 0 12px!important;padding:12px!important;border-radius:16px!important;
    background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.12)!important;
  }
  .cookie-table td{
    display:grid!important;grid-template-columns:92px 1fr!important;gap:10px!important;
    padding:7px 0!important;border:0!important;border-radius:0!important;background:transparent!important;
    font-size:13px!important;line-height:1.5!important;
  }
  .cookie-table td:nth-child(1)::before{content:"Nombre"!important}
  .cookie-table td:nth-child(2)::before{content:"Proveedor"!important}
  .cookie-table td:nth-child(3)::before{content:"Finalidad"!important}
  .cookie-table td:nth-child(4)::before{content:"Duración"!important}
  .cookie-table td:nth-child(5)::before{content:"Tipo"!important}
  .cookie-table td::before{color:#fff!important;font-weight:900!important;font-size:11px!important;text-transform:uppercase!important}
}
@media(max-width:430px){.nav-wrap nav{grid-template-columns:1fr!important}.hero-strip h1{font-size:29px!important}}
