/* Protege el diseño editorial de los estilos globales del tema. */
.vl-model { --blue:#021f69; --ink:#021f69; }
.vl-model .vl-intro h2,
.vl-model .vl-gallery h2,
.vl-model .vl-dark h2,
.vl-model .vl-tour h2,
.vl-model .vl-plans h2,
.vl-model .vl-finance h2,
.vl-model .vl-related h2,
.vl-model .vl-closing h2 {
  font-size: clamp(3.45rem, 4.9vw, 5.7rem) !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
}

.vl-model .vl-dark,
.vl-model .vl-finance-card { background: #021f69 !important; }
.vl-model .vl-dark h2,
.vl-model .vl-finance h2,
.vl-model .vl-closing h2 { color: #fff !important; }
.vl-model .vl-dark p,
.vl-model .vl-finance-card,
.vl-model .vl-finance-card small,
.vl-model .vl-finance-card strong { color: #fff !important; }

.vl-model .vl-copy blockquote {
  margin: 34px 0 0 !important;
  padding: 2px 0 2px 28px !important;
  border: 0 !important;
  border-left: 2px solid var(--lime) !important;
  background: transparent !important;
  color: var(--blue) !important;
  font-family: "Playfair Display", serif !important;
  font-size: clamp(1.45rem, 2.1vw, 2rem) !important;
  font-style: italic;
  font-weight: 500;
  line-height: 1.45 !important;
}

.vl-model button.vl-photo,
.vl-model button.vl-photo:hover,
.vl-model button.vl-photo:focus {
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: transparent !important;
  box-shadow: none !important;
}

.vl-model .vl-photo img,
.vl-model .vl-gallery-strip,
.vl-model .vl-card > div,
.vl-model .vl-card img,
.vl-model .vl-plan-stage,
.vl-model .vl-plan-stage img { border-radius: 6px !important; }

.vl-model .vl-btn,
.vl-model button.vl-open-gallery {
  border: 1px solid var(--blue) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--blue) !important;
}

.vl-model .vl-btn:hover,
.vl-model .vl-btn:focus,
.vl-model button.vl-open-gallery:hover,
.vl-model button.vl-open-gallery:focus {
  border-color: currentColor !important;
  background: transparent !important;
  color: inherit !important;
  opacity: .68;
}

.vl-model .vl-hero .vl-btn,
.vl-model .vl-dark .vl-btn,
.vl-model .vl-finance .vl-btn,
.vl-model .vl-closing .vl-btn {
  border-color: rgba(255,255,255,.72) !important;
  background: transparent !important;
  color: #fff !important;
}

.vl-model .vl-btn.vl-primary,
.vl-model .vl-hero .vl-btn.vl-primary,
.vl-model .vl-dark .vl-btn.vl-primary,
.vl-model .vl-finance .vl-btn.vl-primary,
.vl-model .vl-closing .vl-btn.vl-primary {
  border-color: var(--lime) !important;
  background: var(--lime) !important;
  color: #021f69 !important;
  opacity: 1;
}
.vl-model .vl-btn.vl-primary:hover,
.vl-model .vl-btn.vl-primary:focus {
  border-color: var(--lime) !important;
  background: var(--lime) !important;
  color: #021f69 !important;
  filter: brightness(.94);
  opacity: 1;
}

.vl-model button.vl-tab,
.vl-model button.vl-tab:hover,
.vl-model button.vl-tab:focus {
  padding: 20px 4px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--muted) !important;
}
.vl-model button.vl-tab.active { color: var(--blue) !important; }

.vl-model .vl-video {
  background-color: #102c3e !important;
  background-image: linear-gradient(rgba(9,32,48,.34),rgba(9,32,48,.34)),var(--vl-video-poster) !important;
  background-position: center !important;
  background-size: cover !important;
  border-radius: 6px;
}
.vl-model .vl-video.playing { background-image: none !important; }

.vl-model button.vl-play,
.vl-model button.vl-play:hover,
.vl-model button.vl-play:focus {
  width: 88px !important;
  height: 88px !important;
  min-height: 88px !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.12) !important;
  box-shadow: 0 12px 35px rgba(2,18,52,.22) !important;
  color: transparent !important;
  font-size: 0 !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  opacity: 1;
  transition: transform .25s ease,background .25s ease;
}
.vl-model button.vl-play:hover { transform: translate(-50%,-50%) scale(1.06);background: rgba(255,255,255,.2) !important; }
.vl-model button.vl-play:before {
  content:"";
  display:block;
  width:0;
  height:0;
  margin-left:6px;
  border-top:10px solid transparent;
  border-bottom:10px solid transparent;
  border-left:16px solid #fff;
}

.vl-model .vl-lightbox img { border-radius: 6px; }
.vl-model .vl-lightbox button,
.vl-model .vl-lightbox button:hover,
.vl-model .vl-lightbox button:focus {
  position: absolute;
  z-index: 2;
  width: 54px;
  height: 54px;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.55) !important;
  border-radius: 50% !important;
  background: rgba(7,20,29,.28) !important;
  box-shadow: none !important;
  color: #fff !important;
  font-size: 1.45rem;
  line-height: 1;
}
.vl-model .vl-lightbox-close { top: 24px !important;right: 24px !important;left:auto !important; }
.vl-model .vl-lightbox-prev { top: 50% !important;left: 28px !important;right:auto !important;transform: translateY(-50%); }
.vl-model .vl-lightbox-next { top: 50% !important;right: 28px !important;left:auto !important;transform: translateY(-50%); }
.vl-model .vl-lightbox-count { position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:#fff;font-family:"DM Sans",sans-serif;font-size:.8rem;letter-spacing:.12em; }

.vl-model .vl-finance-data { grid-template-columns: 1fr 1fr !important; }
.vl-model .vl-finance-data p { color: rgba(255,255,255,.78) !important; }

@media (max-width: 900px) {
  .vl-model .vl-intro h2,
  .vl-model .vl-gallery h2,
  .vl-model .vl-dark h2,
  .vl-model .vl-tour h2,
  .vl-model .vl-plans h2,
  .vl-model .vl-finance h2,
  .vl-model .vl-related h2,
  .vl-model .vl-closing h2 { font-size: clamp(2.8rem, 12.1vw, 4.4rem) !important; }
  .vl-model .vl-lightbox-prev { left: 10px !important; }
  .vl-model .vl-lightbox-next { right: 10px !important; }
  .vl-model .vl-lightbox button { width: 44px;height: 44px; }
  .vl-model .vl-finance-data { grid-template-columns: 1fr !important; }
}
