/* AeroVuela visual layer: presentation only. The flight-booker component,
   its IDs, events and scripts remain untouched. */
:root{--av-primary:#5c469c;--av-accent:#ea0074;--av-blue:#003b98;--av-cyan:#4fc3f4;--av-ink:#292929}
body{background:#fff;color:var(--av-ink)}
.header-vtb{position:relative;z-index:20;background:#fff}
.header-vtb .navbar-brand img{width:104px!important;height:auto!important;max-height:72px;object-fit:contain}
.navbar-tb.cMenu{background:#fff;border-top:1px solid #f0f0f0}
.navbar-tb.cMenu .desktop{font-weight:600;letter-spacing:.05px}
.navbar-tb.cMenu .link-active{color:var(--av-accent)!important}
.navbar-tb.cMenu .ni-button a{background:var(--av-accent);color:#fff;box-shadow:0 5px 16px rgba(234,0,116,.18)}
.c-box-home{position:relative;overflow:visible!important;padding-top:26px!important;padding-bottom:58px!important;background:linear-gradient(135deg,#4fc3f4 0%,#5c469c 53%,#ea0074 100%);}
.c-box-home:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 18%,rgba(255,255,255,.22),transparent 30%),radial-gradient(circle at 88% 5%,rgba(255,255,255,.15),transparent 25%);pointer-events:none}
.c-box-home .container{position:relative;z-index:2}
.c-title-home h1{font-size:clamp(30px,4vw,48px)!important;font-weight:700;letter-spacing:-1px}
.c-title-home h2{font-size:clamp(18px,2vw,27px)!important;font-weight:500}
.c-box-home .booker{position:relative;z-index:5}
.c-banner-more{background:#fff;border-bottom:1px solid #eee}
.c-banner-more .icon{color:var(--av-accent)}
.c-banner-more .a-link{color:var(--av-blue)}
.titles-home{color:#252525;font-weight:700!important}
.c-banners .c-figure img,.c-banners .carousel img{min-height:220px;object-fit:cover}
.c-banners .item,.c-banners .carousel-inner{border-radius:18px;overflow:hidden}
.c-footer{background:#2e2350!important}
.c-footer a:hover{color:#fff!important;opacity:.9}
@media(max-width:767px){
 .header-vtb .navbar-brand img{width:84px!important}
 .c-box-home{padding-top:18px!important;padding-bottom:35px!important}
 .c-title-home{text-align:center!important}
 .c-title-home h1{font-size:30px!important}
 .c-title-home h2{font-size:18px!important}
}


/* v3: hero search placement and offer cards */
.c-box-home.av-hero-search {
  position: relative;
  overflow: visible !important;
  min-height: 430px;
  padding: 58px 0 72px !important;
  background-image: linear-gradient(180deg, rgba(20,35,78,.08), rgba(20,35,78,.28)), url("../images/aerovuela-hero.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.c-box-home.av-hero-search:before { content:none !important; }
.av-flight-booker-wrap {
  position: relative;
  z-index: 5;
  margin: 20px auto 0;
  max-width: 1120px;
  padding: 18px 18px 8px;
  background: rgba(255,255,255,.96);
  border-radius: 18px;
  box-shadow: 0 18px 45px rgba(20,25,50,.24);
}
.av-flight-booker-wrap .booker { z-index: 6; }
.av-offers-section { position: relative; }
.av-offer-grid { margin-top: 22px; }
.av-offer-card {
  display:block;
  position:relative;
  overflow:hidden;
  border-radius:18px;
  box-shadow:0 8px 25px rgba(28,36,65,.12);
  background:#eee;
}
.av-offer-card img {
  display:block;
  width:100%;
  aspect-ratio: 1004 / 600;
  object-fit:cover;
  transition:transform .35s ease;
}
.av-offer-card:hover img { transform:scale(1.025); }
@media (max-width:767px){
  .c-box-home.av-hero-search { min-height: 520px; padding: 28px 0 42px !important; background-position:center; }
  .av-flight-booker-wrap { margin-top: 8px; padding: 12px 8px 4px; border-radius:14px; }
  .av-offer-card img { aspect-ratio: 1.5 / 1; }
}

/* v4 - header/nav/hero alignment requested */
:root{--av-footer:#003b98}

/* Header like the supplied reference: compact top contact bar */
.header-vtb{background:#fff!important;box-shadow:0 2px 12px rgba(0,0,0,.08)!important;position:relative;z-index:30}
.header-vtb>nav:first-child{min-height:58px!important;height:58px!important}
.header-vtb>nav:first-child .container{height:58px;align-items:center}
.header-vtb .navbar-brand{display:flex;align-items:center;height:58px}
.header-vtb .navbar-brand .logo-tb{width:112px!important;height:auto!important;max-height:46px!important}
.header-vtb .navbar-collapse{align-items:center}
.header-vtb .navbar-nav{align-items:center;margin-top:0!important;margin-bottom:0!important}
.header-vtb .nav-link,.header-vtb .btn{font-size:14px!important;color:#17243b!important}
.header-vtb .nav-phone{min-height:38px!important;padding-top:7px!important;padding-bottom:7px!important}

/* Secondary menu: keep all navigation controls visible and aligned */
.header-vtb .cMenu{display:block!important;background:#fff!important;border-top:1px solid #f3f3f3!important;border-bottom:1px solid #e9e9e9!important;height:68px!important;padding:0!important}
.header-vtb .cMenu>.container{height:68px;display:flex;align-items:center}
.header-vtb .cMenu .d-flex{height:100%;align-items:center;padding-bottom:0!important}
.header-vtb .cMenu .nav-first{height:100%;align-items:center;gap:4px!important}
.header-vtb .cMenu .nav-first .list-group-item{margin:0 10px!important;display:flex;align-items:center;height:100%}
.header-vtb .cMenu .desktop{display:flex!important;align-items:center;height:100%;position:relative;color:#17243b!important;font-size:15px!important;font-weight:500!important;text-decoration:none!important;white-space:nowrap}
.header-vtb .cMenu .desktop .nav-icon-flights,
.header-vtb .cMenu .desktop .nav-icon-hotel,
.header-vtb .cMenu .desktop .nav-icon-packages,
.header-vtb .cMenu .desktop .nav-icon-disney{margin-right:7px!important}
.header-vtb .cMenu .desktop.link-active{color:#e50072!important}
.header-vtb .cMenu .desktop.link-active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#e50072;border-radius:3px 3px 0 0}
.header-vtb .cMenu .ni-button{margin-top:0!important;display:flex;align-items:center;height:100%}
.header-vtb .cMenu .ni-button a{display:flex;align-items:center;background:#ec008c!important;color:#fff!important;border-radius:24px!important;padding:9px 18px!important;box-shadow:0 5px 16px rgba(236,0,140,.20)!important;text-decoration:none!important;white-space:nowrap}
.header-vtb .cMenu .navbar-tb__menu-contact{height:100%;align-items:center;gap:0}
.header-vtb .cMenu .navbar-tb__menu-contact .list-group-item{padding:0 10px!important;display:flex;align-items:center}
.header-vtb .cMenu .navbar-tb__menu-contact a{font-size:13px;color:#4a5568;text-decoration:none;white-space:nowrap}

/* Hero: image begins directly below the secondary menu; search card floats over it */
.c-box-home.av-hero-search{
  min-height:500px!important;
  padding:0 0 78px!important;
  margin:0!important;
  overflow:visible!important;
  background-image:linear-gradient(180deg,rgba(8,36,82,.03),rgba(8,36,82,.16)),url("../images/aerovuela-hero.webp")!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
.c-box-home.av-hero-search .container{height:100%;position:relative;z-index:3}
.av-flight-booker-wrap{
  position:relative!important;
  z-index:10!important;
  top:38px!important;
  margin:0 auto!important;
  max-width:1120px!important;
  padding:17px 18px 8px!important;
  background:rgba(255,255,255,.97)!important;
  border:1px solid rgba(0,0,0,.06)!important;
  border-radius:18px!important;
  box-shadow:0 9px 28px rgba(0,0,0,.20)!important;
}

/* Keep the visual content below the hero from colliding with the floating search */
.c-box-home.av-hero-search + recent-research{display:block;position:relative;z-index:2;background:#fff}

/* Footer requested */
.c-footer{background:#003b98!important;background-color:#003b98!important}
.c-footer-links{background:#003b98!important}
.c-footer a,.c-footer .text-white{color:#fff!important}

@media(max-width:767px){
  .header-vtb>nav:first-child,.header-vtb>nav:first-child .container{height:56px!important;min-height:56px!important}
  .header-vtb .navbar-brand .logo-tb{width:92px!important;max-height:40px!important}
  .header-vtb .cMenu{height:52px!important}
  .header-vtb .cMenu>.container{height:52px}
  .header-vtb .cMenu .nav-first .list-group-item{margin:0 5px!important}
  .header-vtb .cMenu .desktop{font-size:13px!important}
  .header-vtb .cMenu .navbar-tb__menu-contact{display:none!important}
  .header-vtb .cMenu .ni-button a{padding:7px 12px!important}
  .c-box-home.av-hero-search{min-height:570px!important;padding-bottom:40px!important;background-position:center!important}
  .av-flight-booker-wrap{top:18px!important;margin:0 10px!important;padding:10px 8px 5px!important;border-radius:14px!important}
}


/* v5: menu + search composition based on the supplied reference screenshots */
.header-vtb .cMenu{height:72px!important;padding:0!important;border-top:0!important;border-bottom:1px solid #edf0f4!important;box-shadow:0 1px 5px rgba(18,32,56,.04)!important}
.header-vtb .cMenu>.container{height:72px!important}
.header-vtb .cMenu .d-flex{height:72px!important;padding:0!important}
.header-vtb .cMenu .av-main-menu{gap:0!important;align-items:stretch!important}
.header-vtb .cMenu .av-menu-item{position:relative!important;margin:0 7px!important;padding:0 9px!important;display:flex!important;align-items:center!important;height:72px!important}
.header-vtb .cMenu .av-menu-item .desktop{height:72px!important;display:flex!important;align-items:center!important;gap:7px!important;color:#14213a!important;font-size:15px!important;font-weight:500!important}
.header-vtb .cMenu .av-menu-item .desktop i{flex:0 0 auto!important}
.header-vtb .cMenu .av-menu-item.av-active .desktop{color:#1769e0!important}
.header-vtb .cMenu .av-menu-item.av-active .desktop:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#1769e0;border-radius:3px 3px 0 0}
.header-vtb .cMenu .av-badge-item small{position:absolute;top:5px;left:50%;transform:translateX(-50%);font-size:11px;line-height:1;color:#19a23a;font-weight:700;white-space:nowrap;pointer-events:none}
.header-vtb .cMenu .av-badge-item .desktop{padding-top:7px!important}
.header-vtb .cMenu .av-chevron{font-size:17px;line-height:1;margin-left:1px;transform:translateY(-1px)}
.header-vtb .cMenu .icon-sell{font-size:18px!important;color:#14213a}
.header-vtb .cMenu .nav-icon-flights{background-image:url(../images/icon-flights-blue.svg)!important}
.header-vtb .cMenu .nav-icon-hotel{background-image:url(../images/icon-hotel-blue.svg)!important}
.header-vtb .cMenu .nav-icon-packages{background-image:url(../images/icon-packages-blue.svg)!important}
.header-vtb .cMenu .nav-icon-disney{background-image:url(../images/icon-disney-blue.svg)!important}
/* ===== Iconos grises por defecto ===== */
.header-vtb .cMenu .nav-icon-hotel,
.header-vtb .cMenu .nav-icon-packages,
.header-vtb .cMenu .nav-icon-disney,
.header-vtb .cMenu .icon-sell {
    filter: grayscale(1) brightness(.75) opacity(.75) !important;
}

/* El avión se queda azul (sin filtro) */
.header-vtb .cMenu .nav-icon-flights {
    filter: none !important;
}

/* Hero begins immediately below the menu; the search card sits near its top. */
.c-box-home.av-hero-search{min-height:500px!important;padding:0 0 70px!important;background-position:center center!important}
.av-flight-booker-wrap{top:18px!important;margin:0 auto!important;max-width:1250px!important;padding:18px 20px 8px!important;border-radius:16px!important;background:#fff!important;box-shadow:0 8px 24px rgba(16,32,55,.22)!important}
.av-flight-booker-wrap .booker{margin:0!important}
/* Presentation-only tuning for the existing flight-booker controls. */
.av-flight-booker-wrap .c-box.c-flights{border:0!important;background:transparent!important}
.av-flight-booker-wrap .c-box.c-flights .btn-primary,
.av-flight-booker-wrap .c-box.c-flights .btn-blue{background:#1769e0!important;border-radius:8px!important;min-height:52px!important;font-weight:700!important}
.av-flight-booker-wrap .c-box.c-flights input,
.av-flight-booker-wrap .c-box.c-flights .form-control{border-radius:8px!important}
.av-flight-booker-wrap .c-box.c-flights .nav-link.active,
.av-flight-booker-wrap .c-box.c-flights .active{color:#1769e0}

.av-offers-section{padding-top:0!important;margin-top:30px!important}
.av-offers-section .titles-home{font-size:28px!important;line-height:1.2!important;color:#10233f!important}
.av-offers-subtitle{font-size:16px!important;margin-top:14px!important;margin-bottom:26px!important}
.av-travel-grid{margin-top:0!important}
.av-travel-grid .av-offer-card{border-radius:12px!important;box-shadow:none!important}
.av-travel-grid .av-offer-card img{aspect-ratio: 1.62 / 1!important;border-radius:12px!important}
.av-travel-grid h4{font-size:18px!important;font-weight:700!important;color:#13233a!important;margin:9px 4px 0!important}
.c-footer,.c-footer-links{background:#003b98!important}

@media(max-width:767px){
 .header-vtb .cMenu{height:56px!important}
 .header-vtb .cMenu>.container,.header-vtb .cMenu .d-flex{height:56px!important}
 .header-vtb .cMenu .av-menu-item{height:56px!important;margin:0 2px!important;padding:0 5px!important}
 .header-vtb .cMenu .av-menu-item .desktop{height:56px!important;font-size:12px!important;gap:4px!important}
 .header-vtb .cMenu .av-badge-item small{display:none!important}
 .header-vtb .cMenu .navbar-tb__menu-contact{display:none!important}
 .c-box-home.av-hero-search{min-height:620px!important}
 .av-flight-booker-wrap{top:12px!important;margin:0 8px!important;padding:10px 7px 4px!important}
 .av-offers-section .titles-home{font-size:22px!important}
 .av-travel-grid h4{font-size:16px!important}
}

/* v6 — buscador unido al menú + logo horizontal propio */
.header-vtb .navbar-brand .logo-tb{
  width:210px!important;
  height:auto!important;
  max-height:none!important;
  display:block!important;
}
.header-vtb .navbar-brand{
  width:220px!important;
  height:58px!important;
  display:flex!important;
  align-items:center!important;
}

/* El hero comienza justo debajo del menú y el buscador nace de su borde inferior. */
.header-vtb .cMenu{position:relative!important;z-index:40!important}
.c-box-home.av-hero-search{
  position:relative!important;
  margin-top:0!important;
  padding-top:0!important;
  overflow:visible!important;
}
.av-flight-booker-wrap{
  position:relative!important;
  z-index:50!important;
  top:-1px!important;
  margin:0 auto!important;
  transform:translateY(0)!important;
  border-radius:0 0 16px 16px!important;
  border-top:0!important;
  box-shadow:0 9px 24px rgba(16,32,55,.22)!important;
}
/* Reduce the visual gap so the card reads as an extension of the menu. */
.c-box-home.av-hero-search .container,
.c-box-home.av-hero-search .row,
.c-box-home.av-hero-search .col-12{margin-top:0!important}

@media(min-width:768px){
  .header-vtb .cMenu{margin-bottom:0!important}
  .av-flight-booker-wrap{max-width:1250px!important}
}
@media(max-width:767px){
  .header-vtb .navbar-brand{width:150px!important}
  .header-vtb .navbar-brand .logo-tb{width:145px!important}
  .av-flight-booker-wrap{top:0!important;border-radius:0 0 14px 14px!important}
}

/* v7 — secciones de descuentos + FAQ y responsive móvil */
.av-instant-discount{max-width:1250px!important}
.av-discount-card{
  min-height:260px;
  border-radius:18px;
  overflow:hidden;
  position:relative;
  display:flex;
  align-items:center;
  background:
    linear-gradient(90deg,rgba(12,31,69,.90) 0%,rgba(12,31,69,.76) 42%,rgba(12,31,69,.20) 100%),
    url('../images/aerovuela-hero.webp') center/cover no-repeat;
  box-shadow:0 8px 24px rgba(16,32,55,.12);
}
.av-discount-copy{padding:42px 56px;max-width:650px;color:#fff}
.av-discount-copy h2{margin:0 0 12px;font:700 30px/1.2 Poppins,Arial,sans-serif;color:#fff}
.av-discount-copy p{margin:0 0 22px;font-size:16px;line-height:1.55;color:#fff}
.av-discount-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.av-discount-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 24px;border-radius:8px;background:#1769e0;color:#fff!important;font-weight:700;text-decoration:none!important}
.av-discount-link{color:#fff!important;font-weight:600;text-decoration:underline!important}
.av-faq{max-width:1250px!important}
.av-faq>h2{font:700 30px/1.2 Poppins,Arial,sans-serif;color:#10233f;margin:0 0 22px}
.av-faq-list{border-top:1px solid #e2e7ef}
.av-faq details{border-bottom:1px solid #e2e7ef;background:#fff}
.av-faq summary{cursor:pointer;list-style:none;position:relative;padding:20px 54px 20px 4px;font-size:17px;font-weight:600;color:#14213a}
.av-faq summary::-webkit-details-marker{display:none}
.av-faq summary:after{content:'+';position:absolute;right:8px;top:15px;font-size:25px;font-weight:400;color:#1769e0}
.av-faq details[open] summary:after{content:'−'}
.av-faq details p{margin:0;padding:0 54px 20px 4px;color:#526074;font-size:15px;line-height:1.65}

/* Search card: visual-only refinement while preserving the existing component/logic. */
.av-flight-booker-wrap{width:100%;box-sizing:border-box}
.av-flight-booker-wrap flight-booker{display:block;width:100%}
.av-flight-booker-wrap input,.av-flight-booker-wrap select,.av-flight-booker-wrap button{max-width:100%}

@media(max-width:767px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  .header-vtb>nav:first-child .container{padding-left:12px!important;padding-right:12px!important}
  .header-vtb .navbar-brand{width:150px!important;min-width:0!important}
  .header-vtb .navbar-brand .logo-tb{width:142px!important;max-width:100%!important}
  .header-vtb .cMenu{overflow-x:auto!important;overflow-y:hidden!important}
  .header-vtb .cMenu>.container{min-width:0!important;width:max-content!important;margin:0 auto!important;padding:0 8px!important}
  .header-vtb .cMenu .av-main-menu{width:max-content!important;max-width:none!important}
  .header-vtb .cMenu .av-menu-item{flex:0 0 auto!important}
  .c-box-home.av-hero-search{min-height:650px!important;background-position:center top!important}
  .av-flight-booker-wrap{width:calc(100% - 16px)!important;margin:0 8px!important;padding:10px 8px 8px!important;box-sizing:border-box!important;overflow:visible!important}
  .av-flight-booker-wrap flight-booker{width:100%!important;min-width:0!important}
  .av-flight-booker-wrap .row{margin-left:0!important;margin-right:0!important}
  .av-flight-booker-wrap [class*="col-"]{max-width:100%!important}
  .av-flight-booker-wrap input,.av-flight-booker-wrap select,.av-flight-booker-wrap .form-control{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
  .av-flight-booker-wrap .btn{max-width:100%!important}
  .av-discount-card{min-height:330px;border-radius:14px;background-position:center}
  .av-discount-copy{padding:30px 24px;max-width:100%}
  .av-discount-copy h2,.av-faq>h2{font-size:23px}
  .av-discount-copy p{font-size:15px}
  .av-faq{margin-top:38px!important;margin-bottom:38px!important}
  .av-faq summary{font-size:15px;padding:17px 42px 17px 0}
  .av-faq details p{font-size:14px;padding:0 36px 17px 0}
}


/* v8 — refinamiento visual del buscador + bloques inferiores inspirado en la referencia.
   No modifica el componente flight-booker ni su lógica; únicamente su presentación. */
:root{
  --tb-pink:#e50072;
  --tb-blue:#1769e0;
  --tb-ink:#17243b;
  --tb-muted:#657084;
  --tb-border:#d9dee7;
}

/* ===== BUSCADOR DE VUELOS ===== */
.av-flight-booker-wrap{
  max-width:1220px!important;
  padding:22px 24px 20px!important;
  background:#fff!important;
  border:1px solid #eef1f5!important;
  border-radius:0 0 14px 14px!important;
  box-shadow:0 10px 28px rgba(20,34,58,.18)!important;
  font-family:Roboto,Arial,sans-serif!important;
}
.av-flight-booker-wrap flight-booker,
.av-flight-booker-wrap flight-booker *{
  box-sizing:border-box;
}
.av-flight-booker-wrap flight-booker{
  color:var(--tb-ink)!important;
  font-family:Roboto,Arial,sans-serif!important;
}
/* El selector cubre las variantes habituales del componente sin tocar eventos ni nombres de campos. */
.av-flight-booker-wrap flight-booker .form-check,
.av-flight-booker-wrap flight-booker .custom-control,
.av-flight-booker-wrap flight-booker .radio,
.av-flight-booker-wrap flight-booker [role="radio"]{
  display:inline-flex!important;
  align-items:center!important;
  min-height:34px!important;
  margin:0 24px 12px 0!important;
  padding-left:0!important;
}
.av-flight-booker-wrap flight-booker .form-check label,
.av-flight-booker-wrap flight-booker .custom-control label,
.av-flight-booker-wrap flight-booker .radio label,
.av-flight-booker-wrap flight-booker [role="radio"]{
  color:#27354b!important;
  font:500 14px/1.3 Roboto,Arial,sans-serif!important;
}
.av-flight-booker-wrap flight-booker input[type="radio"]{
  accent-color:var(--tb-pink)!important;
  width:17px!important;
  height:17px!important;
  margin:0 8px 0 0!important;
}
.av-flight-booker-wrap flight-booker .form-control,
.av-flight-booker-wrap flight-booker input[type="text"],
.av-flight-booker-wrap flight-booker input[type="date"],
.av-flight-booker-wrap flight-booker select{
  height:50px!important;
  min-height:50px!important;
  border:1px solid var(--tb-border)!important;
  border-radius:6px!important;
  background:#fff!important;
  color:#24334a!important;
  font:400 14px/1.2 Roboto,Arial,sans-serif!important;
  padding:0 14px!important;
  box-shadow:none!important;
}
.av-flight-booker-wrap flight-booker input::placeholder{color:#7b8493!important;opacity:1!important}
.av-flight-booker-wrap flight-booker .form-control:focus,
.av-flight-booker-wrap flight-booker input:focus,
.av-flight-booker-wrap flight-booker select:focus{
  border-color:#8baeea!important;
  box-shadow:0 0 0 2px rgba(23,105,224,.10)!important;
  outline:none!important;
}
.av-flight-booker-wrap flight-booker label{
  color:#465267!important;
  font:500 13px/1.25 Roboto,Arial,sans-serif!important;
}
.av-flight-booker-wrap flight-booker .btn-primary,
.av-flight-booker-wrap flight-booker .btn-blue,
.av-flight-booker-wrap flight-booker button[type="submit"]{
  min-height:50px!important;
  border:0!important;
  border-radius:6px!important;
  background:var(--tb-pink)!important;
  color:#fff!important;
  padding:0 26px!important;
  font:700 15px/1 Roboto,Arial,sans-serif!important;
  box-shadow:none!important;
  transition:background .18s ease,transform .18s ease!important;
}
.av-flight-booker-wrap flight-booker .btn-primary:hover,
.av-flight-booker-wrap flight-booker .btn-blue:hover,
.av-flight-booker-wrap flight-booker button[type="submit"]:hover{
  background:#c90063!important;
  color:#fff!important;
  transform:translateY(-1px);
}
/* Mantener el bloque Solo ida / Ida y regreso arriba, alineado como selector de tipo de vuelo. */
.av-flight-booker-wrap flight-booker .form-check-inline,
.av-flight-booker-wrap flight-booker .custom-control-inline{
  display:inline-flex!important;
  vertical-align:middle!important;
}
/* Separación y orden visual de las filas del buscador. */
.av-flight-booker-wrap flight-booker .row{row-gap:10px!important}
.av-flight-booker-wrap flight-booker .row+ .row{margin-top:2px!important}
.av-flight-booker-wrap flight-booker .input-group{height:50px!important}
.av-flight-booker-wrap flight-booker .input-group .form-control{height:50px!important}
.av-flight-booker-wrap flight-booker .dropdown-menu{
  border:1px solid #e1e5ec!important;
  border-radius:7px!important;
  box-shadow:0 10px 28px rgba(24,39,64,.16)!important;
}

/* ===== DESCUENTOS ===== */
.av-instant-discount{
  max-width:1220px!important;
  margin-top:52px!important;
  margin-bottom:56px!important;
}
.av-discount-card{
  min-height:230px!important;
  border-radius:14px!important;
  border:1px solid #e5e8ee!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  position:relative!important;
  background:linear-gradient(100deg,#f6f8fc 0%,#f9fafc 62%,#eef5ff 100%)!important;
  box-shadow:none!important;
}
.av-discount-card:after{
  content:"";
  position:absolute;
  width:260px;height:260px;
  right:-65px;top:-80px;
  border-radius:50%;
  background:rgba(23,105,224,.07);
  pointer-events:none;
}
.av-discount-copy{
  position:relative;z-index:1;
  padding:38px 52px!important;
  max-width:720px!important;
  color:var(--tb-ink)!important;
}
.av-discount-copy h2{
  margin:0 0 10px!important;
  color:var(--tb-ink)!important;
  font:700 30px/1.2 Poppins,Arial,sans-serif!important;
}
.av-discount-copy p{
  margin:0 0 20px!important;
  color:#596579!important;
  font:400 16px/1.55 Roboto,Arial,sans-serif!important;
}
.av-discount-actions{gap:12px!important}
.av-discount-btn{
  min-height:44px!important;
  padding:0 24px!important;
  border-radius:5px!important;
  background:var(--tb-pink)!important;
  color:#fff!important;
  font:700 14px/1 Roboto,Arial,sans-serif!important;
  text-decoration:none!important;
}
.av-discount-btn:hover{background:#c90063!important}
.av-discount-link{
  color:var(--tb-blue)!important;
  font:600 14px/1 Roboto,Arial,sans-serif!important;
  text-decoration:none!important;
  padding:12px 10px!important;
}
.av-discount-link:hover{text-decoration:underline!important}

/* ===== PREGUNTAS FRECUENTES ===== */
.av-faq{
  max-width:1220px!important;
  margin-top:0!important;
  margin-bottom:58px!important;
  padding-top:4px!important;
}
.av-faq>h2{
  margin:0 0 24px!important;
  color:var(--tb-ink)!important;
  font:700 30px/1.2 Poppins,Arial,sans-serif!important;
}
.av-faq-list{
  border-top:1px solid #dfe4eb!important;
}
.av-faq details{
  background:#fff!important;
  border-bottom:1px solid #dfe4eb!important;
}
.av-faq summary{
  min-height:62px;
  display:flex!important;
  align-items:center!important;
  cursor:pointer!important;
  position:relative!important;
  padding:18px 54px 18px 2px!important;
  color:#26354b!important;
  font:600 16px/1.35 Roboto,Arial,sans-serif!important;
}
.av-faq summary:after{
  content:'+'!important;
  position:absolute!important;
  right:8px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  color:var(--tb-blue)!important;
  font:400 25px/1 Arial,sans-serif!important;
}
.av-faq details[open] summary:after{content:'−'!important}
.av-faq details p{
  margin:0!important;
  padding:0 54px 20px 2px!important;
  color:#5d6879!important;
  font:400 14px/1.65 Roboto,Arial,sans-serif!important;
}

@media(max-width:767px){
  .av-flight-booker-wrap{
    width:calc(100% - 16px)!important;
    max-width:none!important;
    margin:0 8px!important;
    padding:16px 12px 12px!important;
    border-radius:0 0 12px 12px!important;
  }
  .av-flight-booker-wrap flight-booker .form-check,
  .av-flight-booker-wrap flight-booker .custom-control,
  .av-flight-booker-wrap flight-booker .radio,
  .av-flight-booker-wrap flight-booker [role="radio"]{
    margin-right:16px!important;
  }
  .av-flight-booker-wrap flight-booker .form-control,
  .av-flight-booker-wrap flight-booker input[type="text"],
  .av-flight-booker-wrap flight-booker input[type="date"],
  .av-flight-booker-wrap flight-booker select,
  .av-flight-booker-wrap flight-booker .btn-primary,
  .av-flight-booker-wrap flight-booker .btn-blue,
  .av-flight-booker-wrap flight-booker button[type="submit"]{
    width:100%!important;
    max-width:100%!important;
  }
  .av-instant-discount{margin-top:34px!important;margin-bottom:40px!important}
  .av-discount-card{min-height:0!important;border-radius:12px!important}
  .av-discount-copy{padding:30px 24px!important}
  .av-discount-copy h2,.av-faq>h2{font-size:23px!important}
  .av-discount-copy p{font-size:15px!important}
  .av-faq{margin-bottom:42px!important}
  .av-faq summary{min-height:58px;padding:16px 40px 16px 0!important;font-size:15px!important}
  .av-faq details p{padding:0 36px 18px 0!important;font-size:14px!important}
}

/* ============================================================
   v9 — afinación final del buscador y responsive
   Basado en la estructura visual observada en TiquetesBaratos:
   selector de viaje abajo, campos compactos y CTA magenta.
   Solo presentación; no modifica la lógica del componente.
   ============================================================ */

/* El componente completo se convierte en una composición vertical controlada. */
.av-flight-booker-wrap{
  width:100%!important;
  max-width:1220px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:18px 22px 20px!important;
  border-radius:0 0 14px 14px!important;
}
.av-flight-booker-wrap flight-booker{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  overflow:visible!important;
}
.av-flight-booker-wrap flight-booker *{box-sizing:border-box!important}

/* Tipografía: la referencia usa una apariencia limpia y compacta. */
.av-flight-booker-wrap flight-booker,
.av-flight-booker-wrap flight-booker input,
.av-flight-booker-wrap flight-booker button,
.av-flight-booker-wrap flight-booker select,
.av-flight-booker-wrap flight-booker label{
  font-family:Roboto,Arial,sans-serif!important;
}

/* Campos tipo tarjeta: borde fino, esquinas suaves y altura uniforme. */
.av-flight-booker-wrap flight-booker .form-control,
.av-flight-booker-wrap flight-booker input[type="text"],
.av-flight-booker-wrap flight-booker input[type="date"],
.av-flight-booker-wrap flight-booker select,
.av-flight-booker-wrap flight-booker .input-group{
  min-height:52px!important;
  height:52px!important;
}
.av-flight-booker-wrap flight-booker .form-control,
.av-flight-booker-wrap flight-booker input[type="text"],
.av-flight-booker-wrap flight-booker input[type="date"],
.av-flight-booker-wrap flight-booker select{
  border:1px solid #cfd5df!important;
  border-radius:4px!important;
  padding:0 14px!important;
  color:#263449!important;
  background:#fff!important;
  font-size:14px!important;
  font-weight:400!important;
  box-shadow:none!important;
  transition:border-color .18s ease,box-shadow .18s ease!important;
}
.av-flight-booker-wrap flight-booker .form-control:hover,
.av-flight-booker-wrap flight-booker input:hover,
.av-flight-booker-wrap flight-booker select:hover{
  border-color:#9da8b8!important;
}
.av-flight-booker-wrap flight-booker .form-control:focus,
.av-flight-booker-wrap flight-booker input:focus,
.av-flight-booker-wrap flight-booker select:focus{
  border-color:#1769e0!important;
  box-shadow:0 0 0 2px rgba(23,105,224,.09)!important;
}
.av-flight-booker-wrap flight-booker input::placeholder{color:#6d7787!important;font-weight:400!important}

/* Labels sobre los campos. */
.av-flight-booker-wrap flight-booker label{
  color:#4b5667!important;
  font-size:12px!important;
  font-weight:500!important;
  margin-bottom:6px!important;
}

/* CTA Buscar: magenta, compacto y con microinteracción. */
.av-flight-booker-wrap flight-booker .btn-primary,
.av-flight-booker-wrap flight-booker .btn-blue,
.av-flight-booker-wrap flight-booker button[type="submit"]{
  position:relative!important;
  min-height:52px!important;
  height:52px!important;
  min-width:132px!important;
  padding:0 28px!important;
  border:0!important;
  border-radius:5px!important;
  background:#e50072!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:700!important;
  letter-spacing:.05px!important;
  box-shadow:0 5px 12px rgba(229,0,114,.20)!important;
  overflow:hidden!important;
  transform:translateZ(0);
  transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease!important;
}
.av-flight-booker-wrap flight-booker .btn-primary:before,
.av-flight-booker-wrap flight-booker .btn-blue:before,
.av-flight-booker-wrap flight-booker button[type="submit"]:before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:-65%;
  width:42%;
  transform:skewX(-20deg);
  background:rgba(255,255,255,.20);
  transition:left .48s ease;
  pointer-events:none;
}
.av-flight-booker-wrap flight-booker .btn-primary:hover,
.av-flight-booker-wrap flight-booker .btn-blue:hover,
.av-flight-booker-wrap flight-booker button[type="submit"]:hover{
  background:#cf0067!important;
  transform:translateY(-1px)!important;
  box-shadow:0 8px 18px rgba(229,0,114,.28)!important;
}
.av-flight-booker-wrap flight-booker .btn-primary:hover:before,
.av-flight-booker-wrap flight-booker .btn-blue:hover:before,
.av-flight-booker-wrap flight-booker button[type="submit"]:hover:before{left:125%}
.av-flight-booker-wrap flight-booker .btn-primary:active,
.av-flight-booker-wrap flight-booker .btn-blue:active,
.av-flight-booker-wrap flight-booker button[type="submit"]:active{transform:translateY(0)!important;box-shadow:0 3px 8px rgba(229,0,114,.22)!important}

/* Selector de tipo de viaje: lo colocamos visualmente DEBAJO de los campos.
   Se fuerza el flujo con flex cuando el componente expone filas Bootstrap. */
.av-flight-booker-wrap flight-booker > .row,
.av-flight-booker-wrap flight-booker > form > .row,
.av-flight-booker-wrap flight-booker .container > .row{
  width:100%!important;
}

/* Variante habitual del componente: el grupo de radios queda como última fila. */
.av-flight-booker-wrap flight-booker .form-check,
.av-flight-booker-wrap flight-booker .custom-control,
.av-flight-booker-wrap flight-booker .radio,
.av-flight-booker-wrap flight-booker [role="radio"]{
  min-height:30px!important;
  margin:0 26px 0 0!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
}
.av-flight-booker-wrap flight-booker .form-check label,
.av-flight-booker-wrap flight-booker .custom-control label,
.av-flight-booker-wrap flight-booker .radio label,
.av-flight-booker-wrap flight-booker [role="radio"] label{
  margin:0!important;
  color:#263449!important;
  font-size:14px!important;
  font-weight:400!important;
}
.av-flight-booker-wrap flight-booker input[type="radio"]{
  width:17px!important;height:17px!important;
  margin:0 7px 0 0!important;
  accent-color:#e50072!important;
}

/* Si el componente usa tabs para el tipo de vuelo, se presentan como radios inferiores. */
.av-flight-booker-wrap flight-booker .nav-tabs,
.av-flight-booker-wrap flight-booker .nav-pills{
  border:0!important;
  gap:26px!important;
}
.av-flight-booker-wrap flight-booker .nav-tabs .nav-link,
.av-flight-booker-wrap flight-booker .nav-pills .nav-link{
  border:0!important;
  background:transparent!important;
  color:#263449!important;
  padding:5px 0!important;
  font:400 14px/1.3 Roboto,Arial,sans-serif!important;
  border-radius:0!important;
}
.av-flight-booker-wrap flight-booker .nav-tabs .nav-link.active,
.av-flight-booker-wrap flight-booker .nav-pills .nav-link.active{
  color:#17243b!important;
  font-weight:500!important;
}

/* ===== DESCUENTO: estilo de bloque real, no tarjeta genérica ===== */
.av-instant-discount{
  width:calc(100% - 32px)!important;
  max-width:1220px!important;
  margin:58px auto 52px!important;
}
.av-discount-card{
  min-height:220px!important;
  display:flex!important;
  align-items:center!important;
  border:0!important;
  border-radius:0!important;
  background:#f5f7fa!important;
  box-shadow:none!important;
  position:relative!important;
  overflow:hidden!important;
}
.av-discount-card:before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:6px;
  background:#e50072;
}
.av-discount-card:after{
  width:310px!important;height:310px!important;
  right:-95px!important;top:-115px!important;
  background:rgba(23,105,224,.055)!important;
}
.av-discount-copy{
  padding:36px 48px!important;
  max-width:780px!important;
}
.av-discount-copy h2{
  color:#17243b!important;
  margin:0 0 9px!important;
  font:700 29px/1.2 Poppins,Arial,sans-serif!important;
}
.av-discount-copy p{
  color:#566275!important;
  margin:0 0 20px!important;
  font:400 15px/1.6 Roboto,Arial,sans-serif!important;
}
.av-discount-actions{display:flex!important;align-items:center!important;gap:10px!important}
.av-discount-btn{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-height:42px!important;
  padding:0 23px!important;
  border-radius:4px!important;
  background:#e50072!important;
  color:#fff!important;
  font:700 14px/1 Roboto,Arial,sans-serif!important;
  text-decoration:none!important;
  box-shadow:0 4px 10px rgba(229,0,114,.18)!important;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.av-discount-btn:hover{background:#cf0067!important;color:#fff!important;transform:translateY(-1px)!important;box-shadow:0 7px 15px rgba(229,0,114,.24)!important}
.av-discount-link{padding:10px 12px!important;color:#1769e0!important;font:500 14px/1 Roboto,Arial,sans-serif!important;text-decoration:none!important}

/* ===== FAQ: estructura plana y limpia ===== */
.av-faq{
  width:calc(100% - 32px)!important;
  max-width:1220px!important;
  margin:0 auto 64px!important;
  padding:0!important;
}
.av-faq>h2{
  margin:0 0 22px!important;
  color:#17243b!important;
  font:700 29px/1.2 Poppins,Arial,sans-serif!important;
}
.av-faq-list{border-top:1px solid #dfe3e9!important}
.av-faq details{background:#fff!important;border-bottom:1px solid #dfe3e9!important}
.av-faq summary{
  min-height:60px!important;
  display:flex!important;align-items:center!important;
  padding:18px 52px 18px 0!important;
  color:#263449!important;
  font:500 15px/1.35 Roboto,Arial,sans-serif!important;
}
.av-faq summary:after{right:8px!important;top:50%!important;transform:translateY(-50%)!important;color:#1769e0!important;font-size:23px!important}
.av-faq details p{padding:0 52px 20px 0!important;color:#626d7d!important;font:400 14px/1.65 Roboto,Arial,sans-serif!important}

/* ===== MOBILE: nada puede salir del viewport ===== */
html,body,#app,.header-vtb,.header-vtb>nav,.c-box-home.av-hero-search{
  max-width:100%!important;
}
html,body{
  width:100%!important;
  overflow-x:hidden!important;
}
#app{width:100%!important;overflow-x:hidden!important}
.header-vtb{width:100%!important;overflow:visible!important}
.header-vtb .navbar>.container,
.header-vtb .container{max-width:100%!important}
.header-mobile{width:100%!important;max-width:100%!important;overflow:hidden!important}
.header-mobile .navbar-nav,
.header-mobile .list-group,
.header-mobile .nav-first{
  max-width:100%!important;
}

@media(max-width:767px){
  .header-vtb>nav:first-child{height:56px!important;min-height:56px!important}
  .header-vtb>nav:first-child .container{width:100%!important;max-width:100%!important;padding-left:10px!important;padding-right:10px!important}
  .header-vtb .navbar-brand{flex:0 0 auto!important;max-width:105px!important;overflow:hidden!important}
  .header-vtb .navbar-brand .logo-tb{width:88px!important;max-width:88px!important}
  .header-mobile{display:flex!important;align-items:center!important;width:100%!important;height:50px!important;min-height:50px!important;padding:0!important}
  .header-mobile .container{width:100%!important;max-width:100%!important;overflow:hidden!important;padding-left:8px!important;padding-right:8px!important}
  .header-mobile .nav-first,
  .header-mobile .list-group{width:max-content!important;max-width:none!important;overflow:visible!important}
  .header-mobile .list-group-item{flex:0 0 auto!important}

  .c-box-home.av-hero-search{
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    padding:0 0 38px!important;
    overflow:visible!important;
  }
  .c-box-home.av-hero-search>.container{
    width:100%!important;max-width:100%!important;padding:0!important;margin:0!important;
  }
  .av-flight-booker-wrap{
    width:calc(100% - 20px)!important;
    max-width:none!important;
    margin:0 10px!important;
    top:0!important;
    padding:15px 12px 14px!important;
    border-radius:0 0 10px 10px!important;
    overflow:visible!important;
  }
  .av-flight-booker-wrap flight-booker{width:100%!important;min-width:0!important}
  .av-flight-booker-wrap flight-booker .row{width:100%!important;margin-left:0!important;margin-right:0!important}
  .av-flight-booker-wrap flight-booker [class*="col-"]{min-width:0!important;max-width:100%!important;padding-left:5px!important;padding-right:5px!important}
  .av-flight-booker-wrap flight-booker .form-control,
  .av-flight-booker-wrap flight-booker input[type="text"],
  .av-flight-booker-wrap flight-booker input[type="date"],
  .av-flight-booker-wrap flight-booker select{
    width:100%!important;max-width:100%!important;min-width:0!important;height:48px!important;min-height:48px!important;
  }
  .av-flight-booker-wrap flight-booker .btn-primary,
  .av-flight-booker-wrap flight-booker .btn-blue,
  .av-flight-booker-wrap flight-booker button[type="submit"]{
    width:100%!important;min-width:0!important;height:48px!important;min-height:48px!important;
  }
  .av-flight-booker-wrap flight-booker .form-check,
  .av-flight-booker-wrap flight-booker .custom-control,
  .av-flight-booker-wrap flight-booker .radio,
  .av-flight-booker-wrap flight-booker [role="radio"]{margin-right:18px!important;margin-bottom:0!important}

  .av-instant-discount{width:calc(100% - 24px)!important;margin:36px auto 40px!important}
  .av-discount-card{min-height:0!important;border-radius:8px!important}
  .av-discount-card:before{width:4px}
  .av-discount-copy{padding:28px 22px!important}
  .av-discount-copy h2{font-size:22px!important}
  .av-discount-copy p{font-size:14px!important;margin-bottom:18px!important}
  .av-discount-actions{flex-wrap:wrap!important}

  .av-faq{width:calc(100% - 24px)!important;margin:0 auto 42px!important}
  .av-faq>h2{font-size:22px!important;margin-bottom:17px!important}
  .av-faq summary{min-height:56px!important;padding:16px 38px 16px 0!important;font-size:14px!important}
  .av-faq details p{padding:0 34px 17px 0!important;font-size:13.5px!important}
}

@media(max-width:380px){
  .header-vtb .navbar-brand .logo-tb{width:78px!important;max-width:78px!important}
  .header-mobile{height:48px!important;min-height:48px!important}
  .av-flight-booker-wrap{width:calc(100% - 12px)!important;margin:0 6px!important;padding-left:8px!important;padding-right:8px!important}
  .av-discount-copy{padding-left:18px!important;padding-right:18px!important}
}

/* v10 — buscador: campos tipo celda, texto destacado, CTA compacto y selector de vuelo inferior */
.av-flight-booker-wrap{
  font-family:Roboto,Arial,sans-serif!important;
  padding:18px 22px 12px!important;
  background:#fff!important;
  border:1px solid #e2e5ea!important;
  box-shadow:0 8px 25px rgba(25,38,60,.16)!important;
}
.av-flight-booker-wrap flight-booker,
.av-flight-booker-wrap flight-booker *{box-sizing:border-box!important}
.av-flight-booker-wrap flight-booker .form-group,
.av-flight-booker-wrap flight-booker .input-group,
.av-flight-booker-wrap flight-booker .form-control-wrap{margin-bottom:0!important}
.av-flight-booker-wrap flight-booker input.form-control,
.av-flight-booker-wrap flight-booker select.form-control,
.av-flight-booker-wrap flight-booker .form-control,
.av-flight-booker-wrap flight-booker input[type="text"],
.av-flight-booker-wrap flight-booker input[type="date"],
.av-flight-booker-wrap flight-booker select{
  height:58px!important;
  min-height:58px!important;
  border:1px solid #d6dbe3!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#1d2738!important;
  font-family:Roboto,Arial,sans-serif!important;
  font-size:17px!important;
  font-weight:700!important;
  line-height:1.2!important;
  padding:15px 14px!important;
  box-shadow:inset 0 1px 1px rgba(20,30,45,.03)!important;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
.av-flight-booker-wrap flight-booker input.form-control::placeholder,
.av-flight-booker-wrap flight-booker input::placeholder{color:#596579!important;opacity:1!important;font-weight:700!important}
.av-flight-booker-wrap flight-booker input.form-control:focus,
.av-flight-booker-wrap flight-booker select.form-control:focus,
.av-flight-booker-wrap flight-booker .form-control:focus{
  border-color:#1769e0!important;
  box-shadow:0 0 0 3px rgba(23,105,224,.10)!important;
  outline:0!important;
}
.av-flight-booker-wrap flight-booker label{font-size:13px!important;font-weight:500!important;color:#657184!important;margin-bottom:6px!important}
.av-flight-booker-wrap flight-booker .btn-primary,
.av-flight-booker-wrap flight-booker .btn-blue,
.av-flight-booker-wrap flight-booker button[type="submit"]{
  position:relative!important;
  overflow:hidden!important;
  height:46px!important;
  min-height:46px!important;
  width:auto!important;
  min-width:118px!important;
  padding:0 23px!important;
  border:0!important;
  border-radius:24px!important;
  background:#e50072!important;
  color:#fff!important;
  font:700 15px/46px Roboto,Arial,sans-serif!important;
  box-shadow:0 5px 12px rgba(229,0,114,.22)!important;
  transition:background-color .22s ease,transform .18s ease,box-shadow .22s ease!important;
}
.av-flight-booker-wrap flight-booker .btn-primary:before,
.av-flight-booker-wrap flight-booker .btn-blue:before,
.av-flight-booker-wrap flight-booker button[type="submit"]:before{
  content:"";position:absolute;top:0;left:-80%;width:55%;height:100%;
  transform:skewX(-20deg);background:rgba(255,255,255,.25);transition:left .45s ease;pointer-events:none;
}
.av-flight-booker-wrap flight-booker .btn-primary:hover,
.av-flight-booker-wrap flight-booker .btn-blue:hover,
.av-flight-booker-wrap flight-booker button[type="submit"]:hover{
  background:#c90063!important;transform:translateY(-1px)!important;box-shadow:0 7px 16px rgba(229,0,114,.30)!important;
}
.av-flight-booker-wrap flight-booker .btn-primary:hover:before,
.av-flight-booker-wrap flight-booker .btn-blue:hover:before,
.av-flight-booker-wrap flight-booker button[type="submit"]:hover:before{left:125%}
.av-flight-booker-wrap flight-booker .btn-primary:active,
.av-flight-booker-wrap flight-booker .btn-blue:active,
.av-flight-booker-wrap flight-booker button[type="submit"]:active{transform:translateY(1px)!important;box-shadow:0 2px 7px rgba(229,0,114,.25)!important}
.av-flight-booker-wrap .av-flight-type-bottom{
  order:99!important;width:100%!important;display:flex!important;align-items:center!important;
  gap:16px!important;margin:10px 0 0!important;padding:10px 2px 2px!important;
  border-top:1px solid #edf0f4!important;
}
.av-flight-booker-wrap .av-flight-type-bottom label{font-size:13px!important;color:#4e596a!important;font-weight:500!important;margin:0!important}
.av-flight-booker-wrap .av-flight-type-bottom input[type=radio]{accent-color:#1769e0!important;width:16px!important;height:16px!important;margin-right:6px!important}

/* Logo slightly larger without changing the brand asset */
.header-vtb .navbar-brand{width:245px!important}
.header-vtb .navbar-brand .logo-tb{width:232px!important;max-width:232px!important}

/* Mobile: the menu itself scrolls inside the viewport, never the body */
@media(max-width:767px){
  html,body,#app{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  .header-vtb{width:100vw!important;max-width:100vw!important;overflow:hidden!important}
  .header-vtb .navbar-brand{width:auto!important;max-width:135px!important}
  .header-vtb .navbar-brand .logo-tb{width:128px!important;max-width:128px!important}
  .header-vtb .cMenu{width:100%!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important}
  .header-vtb .cMenu::-webkit-scrollbar{display:none!important}
  .header-vtb .cMenu>.container{width:100%!important;max-width:100%!important;min-width:0!important;padding:0 7px!important}
  .header-vtb .cMenu .d-flex{width:max-content!important;max-width:none!important;min-width:max-content!important}
  .header-vtb .cMenu .av-main-menu{width:max-content!important;min-width:max-content!important;flex-wrap:nowrap!important}
  .header-vtb .cMenu .av-menu-item{flex:0 0 auto!important}
  .av-flight-booker-wrap{width:calc(100% - 12px)!important;margin:0 6px!important;padding:14px 9px 9px!important}
  .av-flight-booker-wrap flight-booker input.form-control,
  .av-flight-booker-wrap flight-booker select.form-control,
  .av-flight-booker-wrap flight-booker .form-control,
  .av-flight-booker-wrap flight-booker input[type=text],
  .av-flight-booker-wrap flight-booker input[type=date],
  .av-flight-booker-wrap flight-booker select{height:52px!important;min-height:52px!important;font-size:16px!important}
  .av-flight-booker-wrap flight-booker .btn-primary,
  .av-flight-booker-wrap flight-booker .btn-blue,
  .av-flight-booker-wrap flight-booker button[type=submit]{width:auto!important;min-width:112px!important;height:44px!important;min-height:44px!important;line-height:44px!important;font-size:14px!important;padding:0 19px!important}
  .av-flight-booker-wrap .av-flight-type-bottom{flex-wrap:wrap!important;gap:10px 16px!important}
  .av-instant-discount,.av-faq{position:relative!important;z-index:1!important;display:block!important;visibility:visible!important;opacity:1!important;overflow:visible!important}
}


/* V12 AUTHORITATIVE FLIGHT BOOKER OVERRIDES */
/* This block intentionally targets the REAL controls by ID, rather than
   relying on generic Bootstrap/component classes that can be overridden. */
.av-flight-booker-wrap{position:relative!important;z-index:20!important;background:#fff!important;}
.av-flight-booker-wrap flight-booker{display:block!important;width:100%!important;}
.av-flight-booker-wrap flight-booker input#origin,
.av-flight-booker-wrap flight-booker input#destination,
.av-flight-booker-wrap flight-booker input#calendar-checkIn-flight,
.av-flight-booker-wrap flight-booker input#passengers{
  height:56px!important;min-height:56px!important;width:100%!important;
  box-sizing:border-box!important;background:#fff!important;
  border:1px solid #cfd4dc!important;border-radius:8px!important;
  color:#202b3c!important;font:700 17px/56px Roboto,Arial,sans-serif!important;
  padding:0 15px!important;box-shadow:none!important;outline:none!important;
  transition:border-color .18s ease,box-shadow .18s ease!important;
}
.av-flight-booker-wrap flight-booker input#origin:hover,
.av-flight-booker-wrap flight-booker input#destination:hover,
.av-flight-booker-wrap flight-booker input#calendar-checkIn-flight:hover,
.av-flight-booker-wrap flight-booker input#passengers:hover{border-color:#aeb7c5!important;}
.av-flight-booker-wrap flight-booker input#origin:focus,
.av-flight-booker-wrap flight-booker input#destination:focus,
.av-flight-booker-wrap flight-booker input#calendar-checkIn-flight:focus,
.av-flight-booker-wrap flight-booker input#passengers:focus{
  border-color:#1769e0!important;box-shadow:0 0 0 3px rgba(23,105,224,.10)!important;
}
.av-flight-booker-wrap flight-booker input#origin::placeholder,
.av-flight-booker-wrap flight-booker input#destination::placeholder,
.av-flight-booker-wrap flight-booker input#calendar-checkIn-flight::placeholder,
.av-flight-booker-wrap flight-booker input#passengers::placeholder{
  color:#273449!important;opacity:1!important;font-weight:700!important;font-size:17px!important;
}
/* Search button: target the real ID first. */
.av-flight-booker-wrap flight-booker #searchButton{
  position:relative!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:118px!important;min-width:118px!important;height:44px!important;min-height:44px!important;
  padding:0 18px!important;border:0!important;border-radius:22px!important;
  background:#e50072!important;color:#fff!important;font:700 14px/44px Roboto,Arial,sans-serif!important;
  box-shadow:0 4px 10px rgba(229,0,114,.22)!important;overflow:hidden!important;
  cursor:pointer!important;transform:translateY(0)!important;
  transition:background-color .22s ease,transform .18s ease,box-shadow .22s ease!important;
}
.av-flight-booker-wrap flight-booker #searchButton:before{
  content:"";position:absolute;top:-20%;left:-75%;width:45%;height:140%;
  background:rgba(255,255,255,.30);transform:skewX(-22deg);transition:left .5s ease;pointer-events:none!important;
}
.av-flight-booker-wrap flight-booker #searchButton:hover{
  background:#c90063!important;transform:translateY(-2px)!important;box-shadow:0 7px 16px rgba(201,0,99,.30)!important;
}
.av-flight-booker-wrap flight-booker #searchButton:hover:before{left:130%;}
.av-flight-booker-wrap flight-booker #searchButton:active{transform:translateY(0)!important;box-shadow:0 2px 6px rgba(201,0,99,.24)!important;}
/* Keep labels visually restrained; the value inside the cell is the prominent text. */
.av-flight-booker-wrap flight-booker label{font-family:Roboto,Arial,sans-serif!important;color:#5b6675!important;font-size:12px!important;font-weight:500!important;}
/* A dedicated bottom trip-type rail is created by JS in index.html. */
.av-trip-type-rail{
  width:100%!important;display:flex!important;align-items:center!important;gap:22px!important;
  margin:10px 0 0!important;padding:9px 2px 0!important;border-top:1px solid #eceff3!important;
  color:#4b5665!important;font:400 14px/20px Roboto,Arial,sans-serif!important;
}
.av-trip-type-rail .av-trip-title{font-weight:700!important;color:#343f50!important;margin-right:2px!important;}
.av-trip-type-rail label{display:inline-flex!important;align-items:center!important;gap:7px!important;margin:0!important;color:#343f50!important;font-size:14px!important;font-weight:400!important;cursor:pointer!important;}
.av-trip-type-rail input[type=radio]{appearance:none!important;-webkit-appearance:none!important;width:17px!important;height:17px!important;margin:0!important;border:1.5px solid #8d97a6!important;border-radius:50%!important;background:#fff!important;position:relative!important;}
.av-trip-type-rail input[type=radio]:checked{border-color:#1769e0!important;}
.av-trip-type-rail input[type=radio]:checked:after{content:"";position:absolute;inset:3px;border-radius:50%;background:#1769e0!important;}
@media(max-width:767px){
 .av-flight-booker-wrap{width:calc(100% - 12px)!important;margin:0 6px!important;padding:12px 9px 8px!important;overflow:visible!important;}
 .av-flight-booker-wrap flight-booker input#origin,.av-flight-booker-wrap flight-booker input#destination,
 .av-flight-booker-wrap flight-booker input#calendar-checkIn-flight,.av-flight-booker-wrap flight-booker input#passengers{
   height:52px!important;min-height:52px!important;font-size:16px!important;line-height:52px!important;
 }
 .av-flight-booker-wrap flight-booker #searchButton{width:112px!important;min-width:112px!important;height:42px!important;min-height:42px!important;line-height:42px!important;font-size:14px!important;}
 .av-trip-type-rail{flex-wrap:wrap!important;gap:10px 18px!important;padding-top:10px!important;}
 .av-trip-type-rail .av-trip-title{width:100%!important;}
}

/* ================================================================
   AEROVUELA - TiquetesBaratos-style Flight Booker
   v15.1
   Visual-only overrides. FlightBooker logic/markup is untouched.
   ================================================================ */

:root{
  --tb-blue:#1769e0;
  --tb-blue-dark:#1258bf;
  --tb-text:#1f2d3d;
  --tb-muted:#697586;
  --tb-border:#d9dee7;
  --tb-surface:#fff;
}

/* Header stays above the hero, while the search card visually bridges the
   lower edge of the navigation and the hero, like the reference site. */
.header-vtb{position:relative!important;z-index:100!important}
.header-vtb .cMenu{position:relative!important;z-index:101!important}
.c-box-home.av-hero-search{position:relative!important;z-index:10!important;overflow:visible!important;padding-top:0!important}

/* Main white search surface */
.av-flight-booker-wrap{
  position:relative!important;
  z-index:120!important;
  width:calc(100% - 32px)!important;
  max-width:1240px!important;
  margin:-1px auto 0!important;
  padding:20px 24px 16px!important;
  box-sizing:border-box!important;
  background:#fff!important;
  border:1px solid #e5e8ee!important;
  border-top:0!important;
  border-radius:0 0 14px 14px!important;
  box-shadow:0 8px 22px rgba(21,35,55,.16)!important;
}

.av-flight-booker-wrap .card,
.av-flight-booker-wrap .card-body,
.av-flight-booker-wrap .c-box,
.av-flight-booker-wrap .c-flights{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

.av-flight-booker-wrap .c-booker{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  box-sizing:border-box!important;
}

/* Desktop layout: trip type row, then five compact fields + search. */
@media(min-width:992px){
  .av-flight-booker-wrap .c-booker>.row{
    display:grid!important;
    grid-template-columns:minmax(215px,2.45fr) minmax(215px,2.45fr) minmax(145px,1.55fr) minmax(155px,1.55fr) 116px!important;
    grid-template-rows:auto auto!important;
    column-gap:10px!important;
    row-gap:10px!important;
    align-items:end!important;
    margin:0!important;
  }

  .av-flight-booker-wrap .c-booker>.row>.mb-0{
    grid-column:1 / -1!important;
    grid-row:1!important;
    display:flex!important;
    align-items:center!important;
    gap:22px!important;
    min-height:27px!important;
    margin:0!important;
    padding:0 0 3px!important;
    border:0!important;
  }

  .av-flight-booker-wrap .c-booker>.row>.mb-0:before{
    content:none!important;
  }

  .av-flight-booker-wrap .c-booker>.row>.mb-2.mb-md-0.position-relative.col-12.col-lg-3.pe-md-2,
  .av-flight-booker-wrap .c-booker>.row>.mb-2.mb-md-0.col-12.col-lg-3.px-md-2,
  .av-flight-booker-wrap .c-booker>.row>.mb-2.mb-md-0.col-12.col-lg-2.px-md-2.c-lg-input-1,
  .av-flight-booker-wrap .c-booker>.row>.mb-2.mb-md-0.col-12.col-lg-2.px-md-2.c-lg-input-2{
    grid-row:2!important;
    min-width:0!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-end!important;
  }

  .av-flight-booker-wrap .c-booker>.row>.position-relative.col-12.col-lg-3{grid-column:1!important}
  .av-flight-booker-wrap .c-booker>.row>.col-12.col-lg-3{grid-column:2!important}
  .av-flight-booker-wrap .c-booker>.row>.c-lg-input-1{grid-column:3!important}
  .av-flight-booker-wrap .c-booker>.row>.c-lg-input-2{grid-column:4!important}
  .av-flight-booker-wrap .c-booker>.row>.col-12.col-lg-2.d-flex.align-items-center.ps-md-1.pe-md-3.pt-md-4.pt-lg-0{
    grid-column:5!important;
    grid-row:2!important;
    width:auto!important;
    max-width:none!important;
    padding:0!important;
    margin:0!important;
    align-self:end!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:flex-end!important;
  }
}

/* Radio buttons / flight type */
.av-flight-booker-wrap .form-check-inline{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  margin:0 18px 0 0!important;
  padding:0!important;
  min-height:25px!important;
}
.av-flight-booker-wrap .form-check-label{
  position:static!important;
  color:var(--tb-text)!important;
  font:400 14px/20px Roboto,Arial,sans-serif!important;
  cursor:pointer!important;
}
.av-flight-booker-wrap .custom-radio label{
  display:block!important;
  width:18px!important;
  height:18px!important;
  padding:0!important;
  box-sizing:border-box!important;
  border:1.5px solid #8b95a4!important;
  border-radius:50%!important;
  background:#fff!important;
}
.av-flight-booker-wrap .custom-radio label:before{
  width:8px!important;
  height:8px!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  background:transparent!important;
}
.av-flight-booker-wrap .custom-radio input[type=radio]:checked+label{
  border-color:var(--tb-blue)!important;
  background:#fff!important;
}
.av-flight-booker-wrap .custom-radio input[type=radio]:checked+label:before{
  background:var(--tb-blue)!important;
}

/* Labels */
.av-flight-booker-wrap .c-booker label:not(.form-check-label):not(.flight-item-families__item-form-label){
  display:block!important;
  height:18px!important;
  margin:0 0 5px!important;
  padding:0!important;
  color:#596678!important;
  font:500 12px/18px Roboto,Arial,sans-serif!important;
  text-align:left!important;
}

/* Reference-style input cells */
.av-flight-booker-wrap .c-booker .input-group{
  width:100%!important;
  height:54px!important;
  min-height:54px!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  margin:0!important;
  padding:0 12px!important;
  background:#fff!important;
  border:1px solid var(--tb-border)!important;
  border-radius:7px!important;
  box-shadow:none!important;
  transition:border-color .18s ease,box-shadow .18s ease!important;
}
.av-flight-booker-wrap .c-booker .input-group:focus-within{
  border-color:var(--tb-blue)!important;
  box-shadow:0 0 0 2px rgba(23,105,224,.09)!important;
}
.av-flight-booker-wrap .c-booker .input-group-text{
  width:28px!important;
  min-width:28px!important;
  height:32px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  margin:0 7px 0 0!important;
  background:transparent!important;
  border:0!important;
}
.av-flight-booker-wrap .c-booker .input-group-text i{
  margin:0!important;
  font-size:19px!important;
  color:#697586!important;
}
.av-flight-booker-wrap .c-booker .input-booker{
  flex:1 1 auto!important;
  width:1px!important;
  min-width:0!important;
  height:32px!important;
  min-height:32px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--tb-text)!important;
  font:600 16px/32px Roboto,Arial,sans-serif!important;
}
.av-flight-booker-wrap .c-booker .input-booker::placeholder{
  color:#657184!important;
  opacity:1!important;
  font-weight:500!important;
}
.av-flight-booker-wrap .c-booker #calendar-checkIn-flight,
.av-flight-booker-wrap .c-booker #passengers{
  font-size:15px!important;
  font-weight:600!important;
}

/* Search button */
.av-flight-booker-wrap .c-booker #searchButton{
  width:116px!important;
  min-width:116px!important;
  height:44px!important;
  min-height:44px!important;
  margin:0 0 5px!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:7px!important;
  background:var(--tb-blue)!important;
  color:#fff!important;
  font:700 14px/44px Roboto,Arial,sans-serif!important;
  box-shadow:0 3px 8px rgba(23,105,224,.22)!important;
  transform:none!important;
  transition:background .18s ease,box-shadow .18s ease!important;
}
.av-flight-booker-wrap .c-booker #searchButton:hover{
  background:var(--tb-blue-dark)!important;
  box-shadow:0 5px 12px rgba(23,105,224,.28)!important;
  transform:none!important;
}
.av-flight-booker-wrap .c-booker #searchButton:active{
  background:#0e4ca8!important;
  transform:none!important;
}

/* Autocomplete and passenger popovers must remain above the card/hero. */
.av-flight-booker-wrap .autocomplete,
.av-flight-booker-wrap .search-paxes{
  z-index:1000!important;
}
.av-flight-booker-wrap .search-paxes{
  border:1px solid #e0e5ec!important;
  border-radius:8px!important;
  box-shadow:0 10px 28px rgba(16,32,55,.18)!important;
  overflow:hidden!important;
}

/* Tablet/mobile: same visual language, stacked controls. */
@media(max-width:991px){
  .av-flight-booker-wrap{
    width:calc(100% - 24px)!important;
    margin:0 auto!important;
    padding:16px!important;
    border-radius:12px!important;
  }
  .av-flight-booker-wrap .c-booker>.row{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:0!important;
    margin:0!important;
  }
  .av-flight-booker-wrap .c-booker>.row>.mb-0{
    order:0!important;
    flex:0 0 100%!important;
    margin:0 0 12px!important;
    padding:0!important;
    border:0!important;
  }
  .av-flight-booker-wrap .c-booker>.row>[class*="col-"]{
    flex:0 0 100%!important;
    max-width:100%!important;
    margin:0 0 10px!important;
    padding:0!important;
  }
  .av-flight-booker-wrap .c-booker>.row>.col-12.col-lg-2.d-flex.align-items-center.ps-md-1.pe-md-3.pt-md-4.pt-lg-0{
    justify-content:center!important;
    margin-top:2px!important;
  }
  .av-flight-booker-wrap .c-booker #searchButton{
    margin:0!important;
  }
}

@media(max-width:767px){
  .c-box-home.av-hero-search{padding-top:0!important}
  .av-flight-booker-wrap{
    width:calc(100% - 12px)!important;
    padding:12px 10px 10px!important;
    border-radius:0 0 12px 12px!important;
  }
  .av-flight-booker-wrap .c-booker .input-group{
    height:52px!important;
    min-height:52px!important;
  }
  .av-flight-booker-wrap .c-booker .input-booker{
    font-size:15px!important;
    line-height:30px!important;
  }
  .av-flight-booker-wrap .form-check-inline{
    margin-right:15px!important;
  }
  .av-flight-booker-wrap .c-booker #searchButton{
    width:100%!important;
    min-width:0!important;
    height:44px!important;
  }
}
