/* Vista Travel — estilos específicos (prefijo vt-) */
.vt-hero {
  position:relative; overflow:hidden; background:#0F1B3D;
}
.vt-hero__bg {
  position:absolute; inset:0; z-index:0;
}
.vt-hero__bg img {
  width:100%; height:100%; object-fit:cover; object-position:center;
}
.vt-hero__bg::after {
  content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,18,42,.74) 0%,rgba(8,18,42,.40) 45%,rgba(8,18,42,.66) 100%);
}
.vt-hero__inner {
  position:relative; z-index:2; max-width:820px; margin:0 auto; padding:56px 24px 132px; text-align:center; color:#fff;
}
@media(max-width:720px) {
  .vt-hero__inner {
    padding:40px 20px 112px;
  }
}
.vt-hero__eyebrow {
  font-size:13px; font-weight:600; letter-spacing:.02em; color:rgba(255,255,255,.92); margin:0 0 12px;
}
.vt-hero__title {
  font-size:clamp(30px,5vw,52px); font-weight:700; letter-spacing:-.035em; line-height:1.04; margin:0 auto; max-width:22ch;
}

/* Cotizador panel */
.vt-quote {
  background:#F4F8FE; padding:0 0 96px;
}
.vt-quote-wrapper {
  margin:-96px auto 0; padding:28px; background:#fff; border-radius:var(--bs-border-radius) !important; box-shadow:0 40px 40px -40px rgba(15,27,61,.42); position:relative; z-index:5;
}
@media(max-width:600px) {
  .vt-quote-wrapper {
    margin:-96px 16px 0; padding:22px 18px; border-radius:var(--bs-border-radius) !important;
  }
}
.vt-quote__kicker {
  font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--primary-dark,#1556C9); margin:0 0 18px; text-align:center;
}

/* Stepper */
.vt-stepper {
  display:flex; align-items:center; justify-content:center; gap:6px; margin-bottom:22px;
}
.vt-stepper__node {
  display:flex; align-items:center; gap:10px;
}
.vt-stepper__dot {
  width:30px; height:30px; border-radius:50%; background:#fff; border:1.5px solid var(--gray-300,#DDE3EC); display:grid; place-items:center; font-weight:700; font-size:13px; color:var(--gray-900,#212529); transition:all .3s cubic-bezier(.16,1,.3,1);
}
.vt-stepper__node[data-state="active"] .vt-stepper__dot,
.vt-stepper__node[data-state="done"] .vt-stepper__dot {
  background:var(--primary,#1A6BF5); border-color:var(--primary,#1A6BF5); color:#fff;
}
.vt-stepper__node[data-state="done"] .vt-stepper__dot::after {
  content:"✓";
}
.vt-stepper__node[data-state="done"] .vt-stepper__dot .vt-dot-num {
  display:none;
}
.vt-stepper__label {
  font-size:13px; font-weight:600; color:var(--gray-900,#212529);
}
.vt-stepper__node[data-state="active"] .vt-stepper__label {
  color:var(--primary-dark);
}
.vt-stepper__line {
  width:44px; height:2px; background:var(--gray-300,#DDE3EC); border-radius:2px;
}
.vt-stepper__line[data-done="true"] {
  background:var(--primary,#1A6BF5);
}
@media(max-width:540px) {
  .vt-stepper__label {
    display:none;
  }
  .vt-stepper__line {
    width:24px;
  }
}

/* Steps */
.vt-step {
  display:none;
}
.vt-step.is-active {
  display:block; animation:vtFade .4s cubic-bezier(.16,1,.3,1);
}
@keyframes vtFade {
  from {
    opacity:0; transform:translateY(8px);
  }
  to {
    opacity:1; transform:none;
  }
}

.vt-card__title {
  color:var(--primary-dark); margin:0 0 8px;
}
.vt-card__lead {
  font-size:15px; color:var(--gray-900,#212529); margin:0 0 26px; line-height:1.5;
}

/* Radio options */
.vt-path-option {
  display:flex; align-items:flex-start; gap:16px; padding:22px; border:1.5px solid var(--gray-300,#DDE3EC); border-radius:var(--bs-border-radius) !important; margin-bottom:12px; cursor:pointer; background:#fff; transition:border-color .2s,background .2s,box-shadow .2s; position: relative;
}
.vt-path-option:hover {
  border-color:var(--primary,#1A6BF5);
}
.vt-path-option[data-selected="true"] {
  border-color:var(--primary,#1A6BF5); background:#F7FAFF; box-shadow:0 0 0 3px rgba(26,107,245,.1);
}
.vt-path-option__radio {
  width:22px; height:22px; border-radius:50%; border:2px solid var(--gray-300,#DDE3EC); flex-shrink:0; margin-top:2px; position:relative;
}
.vt-path-option[data-selected="true"] .vt-path-option__radio {
  border-color:var(--primary,#1A6BF5);
}
.vt-path-option[data-selected="true"] .vt-path-option__radio::after {
  content:""; position:absolute; inset:3px; border-radius:50%; background:var(--primary,#1A6BF5);
}
.vt-path-option__title {
  font-size:18px; font-weight:700; color:var(--primary-dark); margin:0; letter-spacing:-.01em;
}
.vt-path-option__desc {
  font-size:14px; color:var(--gray-900,#212529); margin:6px 0 0; line-height:1.5;
}
@media(max-width:600px) {
  .vt-provider-grid {
    grid-template-columns:1fr;
  }
}
/* Provider grid */
.vt-provider-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:14px;
}
@media(max-width:768px) {
  .vt-badge-rec {
    position: absolute;
    top: -10px;
    right: 10px;
  }
}
.vt-provider-card {
  border:1.5px solid var(--gray-300,#DDE3EC); border-radius:var(--bs-border-radius) !important; padding:22px; background:#fff; cursor:pointer; transition:border-color .2s,transform .2s,box-shadow .2s; display:flex; flex-direction:column; text-align:left; text-decoration:none; color:inherit;
}
.vt-provider-card:hover {
  border-color:var(--primary,#1A6BF5); transform:translateY(-3px); box-shadow:0 20px 40px -24px rgba(15,27,61,.25); color:inherit; text-decoration:none;
}
.vt-provider-card__logo {
  height:54px; border-radius:12px; display:grid; place-items:center; margin-bottom:16px; overflow:hidden;
}
.vt-provider-card__logo img {
  max-height:40px; max-width:100%; object-fit:contain;
}
.vt-provider-card__logo--ua {
  background: #001D5E;
}
.vt-provider-card__logo--pax {
  background: #4D1F8C;
}
.vt-provider-card__name {
  font-size:16px; font-weight:700; color:var(--primary-dark); margin:0 0 4px;
}
.vt-provider-card__pitch {
  font-size:13px; color:var(--gray-900,#212529); margin:0 0 14px; line-height:1.5;
}
.vt-provider-card__features {
  list-style:none; padding:0; margin:0 0 18px; display:flex; flex-direction:column; gap:8px; flex:1;
}
.vt-provider-card__features li {
  font-size:13px; color:var(--primary-dark); display:flex; align-items:flex-start; gap:8px; line-height:1.4;
}
.vt-provider-card__features li svg {
  width:14px; height:14px; color:#10B981; flex-shrink:0; margin-top:2px;
}
.vt-provider-card__cta {
  background:var(--primary,#1A6BF5); color:#fff; border:0; padding:12px 18px; border-radius:980px; font-size:14px; font-weight:600; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:6px; width:100%; margin-top:auto; text-decoration:none;
}
.vt-provider-card__cta:hover {
  background:var(--primary-dark,#1556C9); color:#fff;
}
.vt-provider-helper {
  text-align:center; font-size:13px; color:var(--gray-900,#212529); margin:22px 0 0;
}

/* Plan cards */
.vt-plan {
  border:1.5px solid var(--gray-300,#DDE3EC); border-radius:var(--bs-border-radius) !important; margin-bottom:12px; cursor:pointer; transition:border-color .2s,background .2s,box-shadow .2s; background:#fff; position:relative;
}
.vt-plan:hover {
  border-color:var(--primary,#1A6BF5);
}
.vt-plan[data-selected="true"] {
  border-color:var(--primary,#1A6BF5); background:#F7FAFF; box-shadow:0 0 0 3px rgba(26,107,245,.1);
}
.vt-plan[data-destacado="1"] {
  margin-top:20px;
}
.vt-plan[data-destacado="1"]::before {
  content:"Más elegido"; position:absolute; top:-11px; left:20px; background:#F5B632; color:#1A1A1A; font-size:11px; font-weight:700; padding:4px 11px; border-radius:7px;
}
.vt-plan__top {
  display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:14px;
}
.vt-plan__head {
  flex:1;
}
.vt-plan__tagline {
  font-size:16px; color:var(--primary-dark); margin:0; font-weight:700; letter-spacing:-.01em;
}
.vt-plan__price {
  display:flex; align-items:baseline; gap:4px; margin:0;
}
.vt-plan__price small {
  font-size:11px; color:var(--gray-900,#212529); font-weight:600; margin-right:4px; text-transform:uppercase;
}
.vt-plan__price strong {
  font-size:24px; color:var(--primary-dark); font-weight:700; letter-spacing:-.02em;
}
.vt-plan__price em {
  font-style:normal; color:var(--gray-900,#212529); font-size:13px;
}
.vt-plan__radio {
  width:22px; height:22px; border-radius:50%; border:2px solid var(--gray-300,#DDE3EC); flex-shrink:0; position:relative; margin-top:4px;
}
.vt-plan[data-selected="true"] .vt-plan__radio {
  border-color:var(--primary,#1A6BF5);
}
.vt-plan[data-selected="true"] .vt-plan__radio::after {
  content:""; position:absolute; inset:3px; border-radius:50%; background:var(--primary,#1A6BF5);
}
.vt-plan__features {
  list-style:none; padding:16px 0 0; margin:0; border-top:1px solid var(--gray-200,#ECEFF4); display:grid; grid-template-columns:1fr 1fr; gap:8px 16px;
}
@media(max-width:480px) {
  .vt-plan__features {
    grid-template-columns:1fr;
  }
}
.vt-plan__features li {
  font-size:13px; color:var(--primary-dark); display:flex; align-items:flex-start; gap:6px; line-height:1.4;
}
.vt-plan__features li svg {
  width:14px; height:14px; color:#10B981; flex-shrink:0; margin-top:2px;
}
.vt-plan:not([data-selected="true"]) .vt-plan__features {
  display:none;
}

/* Step navigation */
.vt-step-nav {
  display:flex; gap:12px; justify-content:space-between; margin-top:26px; flex-wrap:wrap;
}
.vt-btn {
  border:0; border-radius:980px; padding:15px 30px; font-weight:600; font-size:16px; cursor:pointer; transition:transform .2s,background .2s; display:inline-flex; align-items:center; gap:8px; text-decoration:none;
}
.btn svg {
  width:16px; height:16px;
}
.vt-btn-primary {
  background:var(--primary,#1A6BF5); color:#fff;
}
.vt-btn-primary:hover {
  background:var(--primary-dark,#1556C9); transform:translateY(-1px);
}
.vt-btn-secondary {
  background:#fff; color:var(--primary-dark); border:1px solid var(--gray-300,#DDE3EC);
}
.vt-btn-secondary:hover {
  border-color:var(--primary,#1A6BF5); color:var(--primary,#1A6BF5);
}

/* Trust points */
.vt-trust {
  list-style:none; padding:0; margin:26px auto 0; max-width:760px; display:flex; flex-wrap:wrap; gap:10px 26px; justify-content:center;
}
.vt-trust li {
  font-size:14px; color:var(--primary-dark); font-weight:500; display:flex; align-items:center; gap:8px;
}
.vt-trust li svg {
  width:16px; height:16px; color:#10B981; flex-shrink:0;
}

/* Sections */
.vt-section {
  padding:120px 0;
}
@media(max-width:720px) {
  .vt-section {
    padding:80px 0;
  }
}
.vt-wrap {
  max-width:1080px; margin:0 auto; padding:0 24px;
}
.vt-h-sub {
  font-size:clamp(17px,2vw,21px); color:var(--gray-900,#212529); line-height:1.55; max-width:560px; margin:22px 0 0; font-weight:500;
}
.vt-sec-head {
  max-width:640px; margin:0 0 48px;
}
.vt-sec-head--center {
  margin-left:auto; margin-right:auto; text-align:center;
}
.vt-sec-head--center .vt-h-sub {
  margin-left:auto; margin-right:auto;
}

/* Coverage cards */
.vt-coverage {
  background:#F4F8FE;
}
.vt-cov-grid {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:20px;
}
.vt-cov-card {
  background:#fff; border:1px solid var(--gray-200,#ECEFF4); border-radius:var(--bs-border-radius) !important; padding:30px 28px; transition:transform .25s,box-shadow .25s;
}
.vt-cov-card:hover {
  transform:translateY(-3px); box-shadow:0 24px 50px -28px rgba(15,27,61,.22);
}
.vt-cov-card__ico {
  width:48px; height:48px; border-radius:14px; background:#E8F1FE; color:var(--primary,#1A6BF5); display:grid; place-items:center; margin-bottom:18px;
}
.vt-cov-card__ico svg {
  width:24px; height:24px;
}
.vt-cov-card__title {
  font-size:18px; font-weight:700; color:var(--primary-dark); margin:0 0 6px;
}
.vt-cov-card__amt {
  font-size:14px; font-weight:600; color:var(--primary-dark,#1556C9); margin:0 0 8px;
}
.vt-cov-card__text {
  font-size:14px; color:var(--gray-900,#212529); margin:0; line-height:1.5;
}

/* Versus */
.vt-versus {
  background:#fff;
}
.vt-versus__grid {
  display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:900px; margin:0 auto;
}
@media(max-width:720px) {
  .vt-versus__grid {
    grid-template-columns:1fr;
  }
}
.vt-vcard {
  background:#fff; border:1px solid var(--gray-200,#ECEFF4); border-radius:var(--bs-border-radius) !important; padding:32px;
}
.vt-vcard--win {
  border:2px solid var(--primary,#1A6BF5); box-shadow:0 30px 64px -34px rgba(26,107,245,.34); position:relative;
}
.vt-vcard__badge {
  position:absolute; top:-12px; left:32px; background:#F5B632; color:#1A1A1A; font-size:11px; font-weight:700; padding:5px 12px; border-radius:7px;
}
.vt-vcard__tag {
  font-size:13px; font-weight:600; color:var(--gray-900,#212529); margin:0 0 6px;
}
.vt-vcard--win .vt-vcard__tag {
  color:var(--primary-dark,#1556C9);
}
.vt-vcard__name {
  font-size:22px; font-weight:700; color:var(--primary-dark); margin:0 0 18px; letter-spacing:-.02em;
}
.vt-vlist {
  list-style:none; padding:0; margin:0;
}
.vt-vlist li {
  display:flex; align-items:flex-start; gap:10px; padding:12px 0; border-top:1px solid var(--gray-200,#ECEFF4); font-size:15px; color:var(--primary-dark);
}
.vt-vlist li:first-child {
  border-top:0;
}
.vt-vlist svg {
  width:18px; height:18px; flex-shrink:0; margin-top:2px;
}
.vt-vlist .yes {
  color:#10B981;
}
.vt-vlist .no {
  color:var(--gray-900,#212529);
}

/* FAQ */
.vt-faq {
  background:#fff;
}
.vt-faq__list {
  max-width:760px; margin:0 auto;
}
.vt-faq-item {
  border-bottom:1px solid var(--gray-200,#ECEFF4);
}
.vt-faq-item__q {
  display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; background:none; border:0; cursor:pointer; text-align:left; padding:24px 0; font-size:18px; font-weight:600; color:var(--primary-dark); letter-spacing:-.01em;
}
.vt-faq-item__ico {
  width:28px; height:28px; flex-shrink:0; border-radius:50%; background:#E8F1FE; color:var(--primary,#1A6BF5); display:grid; place-items:center; font-size:18px; font-weight:700; transition:transform .3s,background .2s,color .2s;
}
.vt-faq-item[data-open="true"] .vt-faq-item__ico {
  transform:rotate(45deg); background:var(--primary,#1A6BF5); color:#fff;
}
.vt-faq-item__a {
  max-height:0; overflow:hidden; transition:max-height .35s cubic-bezier(.16,1,.3,1),padding .35s; color:var(--gray-900,#212529); font-size:15px; line-height:1.6; padding:0;
}
.vt-faq-item[data-open="true"] .vt-faq-item__a {
  max-height:360px; padding:0 0 24px;
}

/* Reveal animation */
.vt-reveal {
  opacity:0; transform:translateY(20px); transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);
}
.vt-reveal.in-view {
  opacity:1; transform:none;
}
@media(prefers-reduced-motion:reduce) {
  .vt-reveal {
    opacity:1!important; transform:none!important;
  }
}

/* Add to cart actions inside plan */
.vt-plan__actions {
  display:flex; align-items:center; justify-content:flex-end; gap:12px; margin-top:16px; padding-top:16px; border-top:1px solid var(--gray-200,#ECEFF4);
}
.vt-plan:not([data-selected="true"]) .vt-plan__actions {
  display:none;
}
.vt-plan__cart-btn {
  background:var(--primary,#1A6BF5); color:#fff; border:0; padding:10px 20px; border-radius:980px; font-size:14px; cursor:pointer; display:inline-flex; align-items:center; gap:6px;
}
.vt-plan__cart-btn:hover {
  background:var(--primary-dark,#1556C9);
}
