/* Página do voo — split com scroll independente + extras abaixo */

.rioair-voo-page{
  --rv-navy:#0A254F;
  --rv-navy-2:#081a38;
  --rv-yellow:#f5c518;
  --rv-orange:#FF8310;
  --rv-text:#0A254F;
  --rv-muted:#5a6b85;
  --rv-split-h:calc(100dvh - var(--wp-admin--admin-bar--height, 0px));
  font-family:"Montserrat",Sans-serif;
  width:100%;
  max-width:100%;
}
.elementor-element:has(.rioair-voo-page),
.elementor-element:has(.rioair-voo-page) .elementor-widget-container,
.elementor-widget-shortcode:has(.rioair-voo-page){
  overflow:visible!important;
}
.rioair-voo-page *,
.rioair-voo-page *::before,
.rioair-voo-page *::after{box-sizing:border-box}

.rioair-voo{
  display:grid;
  grid-template-columns:minmax(0, 1.12fr) minmax(340px, .88fr);
  min-height:var(--rv-split-h);
  color:var(--rv-text);
  overflow:visible;
}

.rioair-voo__content,
.rioair-voo__aside{
  min-width:0;
}

.rioair-voo__content{
  background:linear-gradient(165deg, #071a38 0%, var(--rv-navy) 42%, var(--rv-navy-2) 100%);
  color:#fff;
  padding:28px 32px 40px;
}
.rioair-voo__aside{
  background:linear-gradient(180deg, #fff 0%, #f7f9fc 100%);
  color:var(--rv-text);
  padding:28px 28px 40px;
}

@media (min-width:961px){
  .rioair-voo__content{
    position:sticky;
    top:var(--wp-admin--admin-bar--height, 0px);
    max-height:var(--rv-split-h);
    overflow-y:auto;
    overscroll-behavior-y:auto;
  }
  .rioair-voo__aside{
    max-height:var(--rv-split-h);
    overflow-y:auto;
    overscroll-behavior-y:auto;
  }
  .rioair-voo__content,
  .rioair-voo__aside{
    scrollbar-width:thin;
    scrollbar-color:rgba(10,37,79,.28) transparent;
  }
  .rioair-voo__content::-webkit-scrollbar,
  .rioair-voo__aside::-webkit-scrollbar{width:8px}
  .rioair-voo__content::-webkit-scrollbar-thumb,
  .rioair-voo__aside::-webkit-scrollbar-thumb{
    background:rgba(10,37,79,.28);
    border-radius:8px;
  }
  .rioair-voo__content::-webkit-scrollbar-track,
  .rioair-voo__aside::-webkit-scrollbar-track{background:transparent}
}

.rioair-voo__crumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-bottom:18px;
  font-size:13px;
  font-weight:600;
  color:rgba(255,255,255,.72);
}
.rioair-voo__crumb a{
  color:#fff!important;
  text-decoration:none!important;
  opacity:.88;
  transition:opacity .2s ease;
}
.rioair-voo__crumb a:hover{opacity:1}
.rioair-voo__crumb .sep{opacity:.45;font-weight:400}
.rioair-voo__crumb .is-current{color:#fff;font-weight:800}

.rioair-voo__media{margin:4px 0 28px}
.rioair-voo__stage{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  background:#061326;
  aspect-ratio:16/10;
  box-shadow:0 22px 44px rgba(0,0,0,.35);
}
.rioair-voo__hero,
.rioair-voo__embed{
  width:100%;
  height:100%;
  display:none;
}
.rioair-voo__hero.is-active,
.rioair-voo__embed.is-active{display:block}
.rioair-voo__hero{
  object-fit:cover;
  transition:filter .25s ease;
}
.rioair-voo__stage:hover .rioair-voo__hero.is-active{
  filter:brightness(.86);
}
.rioair-voo__embed iframe,
.rioair-voo__embed video{
  width:100%;
  height:100%;
  border:0;
  display:block;
}
.rioair-voo__thumbs{
  display:flex;
  flex-wrap:nowrap;
  gap:10px;
  margin-top:12px;
  overflow-x:auto;
  padding-bottom:6px;
}
.rioair-voo__thumb{
  appearance:none;
  border:2px solid transparent;
  padding:0;
  width:88px;
  height:62px;
  border-radius:10px;
  overflow:hidden;
  cursor:pointer;
  background:#122445;
  color:#fff;
  font-size:11px;
  font-weight:700;
  font-family:inherit;
  flex-shrink:0;
  transition:border-color .2s ease, filter .2s ease;
}
.rioair-voo__thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:filter .2s ease;
}
.rioair-voo__thumb:hover{
  border-color:rgba(255,255,255,.55);
}
.rioair-voo__thumb:hover img{filter:brightness(.82)}
.rioair-voo__thumb.is-active{
  border-color:var(--rv-yellow);
}

.rioair-voo__itinerary h3{
  margin:0 0 16px;
  font-size:18px;
  font-weight:800;
  color:#fff;
  display:flex;
  align-items:center;
  gap:10px;
}
.rioair-voo__itinerary-ico{
  width:34px;
  height:34px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(245,197,24,.18);
  color:var(--rv-yellow);
  flex-shrink:0;
}
.rioair-voo__itinerary-ico svg{width:18px;height:18px}
.rioair-voo__stops{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.rioair-voo__itinerary li{
  display:flex;
  align-items:center;
  gap:12px;
  padding:11px 14px;
  border-radius:12px;
  background:rgba(255,255,255,.06);
  position:relative;
  cursor:default;
  transition:background .22s ease;
}
.rioair-voo__itinerary li:hover{
  background:rgba(255,255,255,.14);
}
.rioair-voo__itinerary .num{
  width:28px;
  height:28px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg, #ffd84a, #e0a800);
  color:#0A254F;
  font-size:12px;
  font-weight:800;
  flex-shrink:0;
}
.rioair-voo__itinerary .name{
  font-size:14px;
  font-weight:600;
}

.rioair-voo__badge{
  display:inline-block;
  padding:4px 10px;
  border-radius:999px;
  color:#fff;
  font-size:11px;
  font-weight:800;
  margin-bottom:10px;
}
.rioair-badge--verde{background:#22c55e!important;background-color:#22c55e!important}
.rioair-badge--azul{background:#3b82f6!important;background-color:#3b82f6!important}
.rioair-badge--amarelo{background:#eab308!important;background-color:#eab308!important;color:#1a1a1a!important}
.rioair-badge--ciano{background:#38bdf8!important;background-color:#38bdf8!important;color:#0A254F!important}
.rioair-badge--laranja{background:#f97316!important;background-color:#f97316!important}
.rioair-badge--navy{background:#1e4d8c!important;background-color:#1e4d8c!important}
.rioair-voo__name{
  margin:0 0 12px;
  font-size:28px;
  font-weight:800;
  line-height:1.15;
  color:var(--rv-navy);
}
.rioair-voo__alert{
  margin:0 0 14px;
  padding:10px 12px;
  border-radius:10px;
  background:#fff7d6;
  color:#7a5b00;
  font-size:13px;
  font-weight:600;
}
.rioair-voo__meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 16px;
  color:var(--rv-navy);
  font-size:14px;
  font-weight:700;
}
.rioair-voo__meta > span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  background:#fff;
  border:1px solid #dce4ef;
  border-radius:10px;
  color:var(--rv-navy);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.rioair-voo__meta > span:hover{
  transform:translateY(-2px);
  border-color:#c5d4e8;
  box-shadow:0 8px 16px rgba(10,37,79,.08);
}
.rioair-voo__meta svg{
  flex-shrink:0;
  color:var(--rv-navy);
}
.rioair-stars{
  display:inline-flex;
  align-items:center;
  gap:3px;
}
.rioair-star{
  position:relative;
  width:18px;
  height:18px;
  display:inline-block;
  flex-shrink:0;
}
.rioair-star svg{
  display:block;
  width:18px;
  height:18px;
  fill:#d5dbe6;
}
.rioair-star__fill{
  position:absolute;
  left:0;
  top:0;
  width:0;
  height:100%;
  overflow:hidden;
}
.rioair-star.is-full .rioair-star__fill{width:100%}
.rioair-star.is-half .rioair-star__fill{width:50%}
.rioair-star .rioair-star__fill svg{fill:#f5c518}
.rioair-stars__num{
  margin-left:6px;
  color:var(--rv-navy);
  font-weight:800;
}
.rioair-voo__desc{
  margin:0 0 14px;
  color:#334155;
  font-size:14px;
  line-height:1.6;
}
.rioair-voo__calc{
  margin-top:4px;
  padding:18px 16px;
  background:#eeeeee;
  border:1px solid #d8d8d8;
  border-radius:14px;
}
.rioair-voo__calc .rioair-calc{
  margin:0;
  box-shadow:none;
  padding:0;
  max-width:none;
  background:transparent;
}
.rioair-voo__calc .rioair-calc__field:first-child{display:none}

.rioair-voo-extras{
  background:#d7e4f4;
}
.rioair-band{
  width:100%;
  padding:56px 20px;
}
.rioair-band__inner{
  max-width:1120px;
  margin:0 auto;
}
.rioair-band--mist{background:#d7e4f4}
.rioair-band--navy{
  background:linear-gradient(180deg, #0A254F 0%, #081a38 100%);
  color:#fff;
}
.rioair-band--sand{background:#f3eee6}
.rioair-band--ice{background:#eef2f7}
.rioair-block__title{
  margin:0 0 8px;
  text-align:center;
  color:var(--rv-navy);
  font-size:24px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.rioair-band--navy .rioair-block__title{color:#fff}
.rioair-block__title::after{
  content:"";
  display:block;
  width:56px;
  height:3px;
  margin:12px auto 28px;
  border-radius:2px;
  background:linear-gradient(90deg, var(--rv-orange), var(--rv-navy));
}
.rioair-band--navy .rioair-block__title::after{
  background:linear-gradient(90deg, var(--rv-yellow), var(--rv-orange));
}
.rioair-info__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
}
.rioair-info__card{
  padding:22px 18px 18px;
  border:1px solid rgba(10,37,79,.08);
  border-radius:14px;
  background:#fff;
  text-align:center;
  transition:background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.rioair-info__card:hover{
  background:#f8fbff;
  border-color:rgba(10,37,79,.22);
  box-shadow:0 8px 20px rgba(10,37,79,.08);
}
.rioair-info__icon{
  display:inline-flex;
  width:46px;
  height:46px;
  align-items:center;
  justify-content:center;
  margin-bottom:8px;
  color:#0A254F;
}
.rioair-info__icon svg{width:32px;height:32px}
.rioair-info__card h4{
  margin:0 0 6px;
  color:var(--rv-navy);
  font-size:15px;
  font-weight:800;
}
.rioair-info__card p{
  margin:0;
  color:#4b5d78;
  font-size:13px;
  line-height:1.45;
}
.rioair-outras__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:22px;
}
.rioair-outras__kicker{
  display:flex;
  align-items:flex-start;
  gap:12px;
  text-align:left;
}
.rioair-outras__kicker-ico{
  width:40px;
  height:40px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--rv-orange);
  color:#fff;
  flex-shrink:0;
}
.rioair-outras__kicker-ico svg{width:22px;height:22px}
.rioair-outras__kicker h3{
  margin:0 0 4px;
  color:#fff;
  font-size:26px;
  font-weight:800;
  letter-spacing:0;
  text-transform:none;
}
.rioair-outras__kicker p{
  margin:0;
  color:rgba(255,255,255,.7);
  font-size:14px;
  font-weight:500;
}
.rioair-outras__nav{display:flex;gap:10px}
.rioair-voo-page .rioair-outras__arrow{
  width:48px;
  height:48px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#FF8310;
  color:#fff;
  box-shadow:none;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:background .2s ease;
}
.rioair-voo-page .rioair-outras__arrow svg{
  width:26px;
  height:26px;
  display:block;
}
.rioair-voo-page .rioair-outras__arrow:hover,
.rioair-voo-page .rioair-outras__arrow:focus,
.rioair-voo-page .rioair-outras__arrow:active{
  background:#e6760e;
  color:#fff;
  border:0;
  box-shadow:none;
}
.rioair-outras__track{
  display:flex;
  gap:18px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  padding-bottom:4px;
}
.rioair-outras__track::-webkit-scrollbar{display:none}
.rioair-outras__card{
  flex:0 0 calc((100% - 36px) / 3);
  max-width:calc((100% - 36px) / 3);
  scroll-snap-align:start;
  display:flex;
  flex-direction:column;
  background:#152a4d;
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  overflow:hidden;
  text-decoration:none!important;
  color:#fff!important;
  min-height:100%;
  box-shadow:0 16px 32px rgba(0,0,0,.28);
  transition:border-color .2s ease, box-shadow .2s ease;
}
.rioair-outras__card.is-link{cursor:pointer}
.rioair-outras__card:hover{
  border-color:rgba(255,131,16,.7);
  box-shadow:0 16px 36px rgba(0,0,0,.38);
}
.rioair-outras__media{
  position:relative;
  aspect-ratio:16/10;
  background:#061326;
  overflow:hidden;
}
.rioair-outras__media::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:46%;
  background:linear-gradient(180deg, transparent, rgba(6,19,38,.88));
  pointer-events:none;
}
.rioair-outras__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:filter .25s ease;
}
.rioair-outras__card:hover .rioair-outras__media img{filter:brightness(.88)}
.rioair-outras__mins{
  position:absolute;
  top:12px;
  left:12px;
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 10px;
  border-radius:8px;
  background:var(--rv-orange);
  color:#fff;
  font-size:12px;
  font-weight:800;
}
.rioair-outras__mins svg{width:14px;height:14px}
.rioair-outras__badge{
  position:absolute;
  top:12px;
  right:12px;
  z-index:1;
  padding:5px 10px;
  border-radius:999px;
  color:#fff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
}
.rioair-outras__price-on{
  position:absolute;
  left:12px;
  bottom:12px;
  z-index:1;
  color:#fff;
  font-size:13px;
  font-weight:700;
}
.rioair-outras__rate{
  position:absolute;
  right:12px;
  bottom:12px;
  z-index:1;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(8,26,56,.82);
  color:#fff;
  font-size:12px;
  font-weight:700;
}
.rioair-outras__body{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:16px 16px 16px;
}
.rioair-outras__card h4{
  margin:0 0 8px;
  font-size:18px;
  font-weight:800;
  line-height:1.25;
  color:#fff;
}
.rioair-outras__excerpt{
  margin:0 0 14px;
  color:rgba(255,255,255,.68);
  font-size:13px;
  line-height:1.5;
  font-weight:500;
}
.rioair-outras__btn{
  display:block;
  margin-top:auto;
  padding:12px 14px;
  border-radius:10px;
  background:var(--rv-orange);
  color:#fff;
  text-align:center;
  font-size:13px;
  font-weight:800;
  letter-spacing:.02em;
  transition:background .2s ease;
}
.rioair-outras__card:hover .rioair-outras__btn{background:#e6760e}
.rioair-outras__dots{
  display:flex;
  justify-content:center;
  gap:7px;
  margin-top:18px;
}
.rioair-outras__dot{
  width:8px;
  height:8px;
  border:0;
  padding:0;
  border-radius:999px;
  background:rgba(255,255,255,.28);
  cursor:pointer;
  transition:width .2s ease, background .2s ease;
}
.rioair-outras__dot.is-active{
  width:28px;
  background:var(--rv-yellow);
}
.rioair-creds__row{
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  justify-content:center;
  gap:16px;
}
.rioair-creds__logo{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:180px;
  min-height:110px;
  padding:12px 16px;
  background:#fff;
  border-radius:14px;
  border:1px solid rgba(10,37,79,.08);
  transition:border-color .2s ease, box-shadow .2s ease;
}
.rioair-creds__logo:hover{
  border-color:rgba(10,37,79,.28);
  box-shadow:0 8px 18px rgba(10,37,79,.08);
}
.rioair-creds__logo img{
  max-height:72px;
  width:auto;
  max-width:200px;
  object-fit:contain;
  filter:none;
  opacity:.92;
  transition:opacity .2s ease;
}
.rioair-creds__logo:hover img{opacity:1}
.rioair-faq__list{
  display:flex;
  flex-direction:column;
  gap:10px;
  max-width:780px;
  margin:0 auto;
}
.rioair-faq__item{
  background:#fff;
  color:var(--rv-navy);
  border-radius:12px;
  border:1px solid rgba(10,37,79,.1);
  border-left:4px solid #c5d4e8;
  overflow:hidden;
  transition:border-color .2s ease, background .2s ease;
}
.rioair-faq__item:hover{
  border-color:rgba(10,37,79,.22);
  border-left-color:var(--rv-navy);
  background:#fbfcff;
}
.rioair-faq__item[open]{
  border-left-color:var(--rv-orange);
  background:#fff;
}
.rioair-faq__item summary{
  list-style:none;
  cursor:pointer;
  padding:16px 48px 16px 18px;
  font-size:15px;
  font-weight:700;
  position:relative;
  color:var(--rv-navy);
}
.rioair-faq__item summary::-webkit-details-marker{display:none}
.rioair-faq__item summary::after{
  content:"";
  position:absolute;
  right:18px;
  top:50%;
  width:10px;
  height:10px;
  border-right:2px solid var(--rv-navy);
  border-bottom:2px solid var(--rv-navy);
  transform:translateY(-70%) rotate(45deg);
  transition:transform .2s ease;
}
.rioair-faq__item[open] summary::after{
  transform:translateY(-30%) rotate(225deg);
}
.rioair-faq__answer{
  padding:0 18px 16px;
  font-size:14px;
  font-weight:500;
  line-height:1.55;
  color:#4b5d78;
}
.rioair-contato{
  background:#0A254F;
  color:#fff;
  padding:56px 20px;
}
.rioair-contato__inner{
  max-width:560px;
  margin:0 auto;
  text-align:center;
}
.rioair-contato__logo{
  max-width:180px;
  height:auto;
  margin:0 auto 22px;
  display:block;
}
.rioair-contato__brand{
  margin:0 0 22px;
  font-size:28px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.rioair-contato__list{
  list-style:none;
  margin:0 0 22px;
  padding:0;
  text-align:left;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.rioair-contato__list li{
  display:flex;
  gap:12px;
  align-items:flex-start;
  font-size:14px;
  line-height:1.45;
}
.rioair-contato__ico{
  width:22px;
  height:22px;
  color:#9ec0e6;
  flex-shrink:0;
  margin-top:1px;
}
.rioair-contato__ico svg{width:22px;height:22px;display:block}
.rioair-contato a{
  color:#fff!important;
  text-decoration:none!important;
}
.rioair-contato a:hover{text-decoration:underline!important}
.rioair-contato__wa{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:220px;
  padding:12px 22px;
  border-radius:8px;
  background:#25D366;
  color:#fff!important;
  font-size:15px;
  font-weight:800;
  text-decoration:none!important;
  transition:background .2s ease;
}
.rioair-contato__wa:hover{
  background:#1ebe57;
  text-decoration:none!important;
}

.rioair-voo-empty{padding:20px;text-align:center}

@media (max-width:960px){
  .rioair-voo{grid-template-columns:1fr;min-height:0}
  .rioair-voo__content,
  .rioair-voo__aside{
    position:static;
    max-height:none;
    overflow:visible;
    padding:22px 18px 28px;
  }
  .rioair-voo__name{font-size:22px}
  .rioair-band{padding:40px 16px}
  .rioair-info__grid{grid-template-columns:1fr 1fr}
  .rioair-outras__card{
    flex-basis:calc((100% - 18px) / 2);
    max-width:calc((100% - 18px) / 2);
  }
  .rioair-outras__kicker h3{font-size:22px}
}
}
@media (max-width:640px){
  .rioair-info__grid{grid-template-columns:1fr}
  .rioair-outras__card{
    flex-basis:88%;
    max-width:88%;
  }
  .rioair-outras__head{flex-direction:column;align-items:flex-start}
}

@media (prefers-reduced-motion:reduce){
  .rioair-voo-page *{
    transition:none!important;
  }
  .rioair-outras__card:hover .rioair-outras__media img{filter:none}
}
