







/* ===== CSS CRÍTICO (ANTI “ME LO PISAN”) ===== */
.pv2{max-width:1200px;margin:0 auto;padding:110px 18px 60px !important;}
.pv2-grid{display:grid !important;grid-template-columns:1.15fr .85fr !important;gap:22px !important;align-items:start !important;}
.pv2-left,.pv2-right{display:block !important;}
@media (max-width:980px){.pv2-grid{grid-template-columns:1fr !important;}}

.pv2-sliderWrap{
  position:relative !important;
  border-radius:22px !important;
  overflow:hidden !important;
  height:520px !important;
  min-height:520px !important;
  background:#0f1220 !important;
}

/* Swiper heights */
.pv2-swiper,.pv2-swiper .swiper-wrapper,.pv2-swiper .swiper-slide{height:100% !important; 
width: 100% !important; /* <- NUNCA 10px */}

/* Slide blur BACK + image FRONT */
.pv2-swiper .swiper-slide{
  position:relative !important;
  overflow:hidden !important;
  background:#0f1220 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

/* blur atrás */
.pv2-swiper .swiper-slide::before{
  content:"" !important;
  position:absolute !important;
  inset:-30px !important;
  background-image: var(--bg) !important;
  background-size:cover !important;
  background-position:center !important;
  filter:blur(22px) !important;
  transform:scale(1.15) !important;
  opacity:.55 !important;
  z-index:0 !important;
}

/* overlay */
.pv2-swiper .swiper-slide::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:rgba(15,18,32,.25) !important;
  z-index:1 !important;
}

/* IMAGEN NÍTIDA (FORZADA) */
.pv2-swiper .swiper-slide img{
  position:relative !important;
  z-index:10 !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  display:block !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
  visibility:visible !important;
}

/* Badge */
.pv2-badge{
  position:absolute !important;top:18px !important;left:18px !important;

  border-radius:16px !important;
  padding:10px 14px !important;
  z-index:30 !important;
  font-size:12px !important;
  line-height:1.1 !important;
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}

.pv2-badge svg {
    height: 68px;
}

.pv2-badgeIcon{
  width:34px !important;height:34px !important;border-radius:999px !important;
  background:rgba(255,255,255,.18) !important;
  display:flex !important;align-items:center !important;justify-content:center !important;
}
.pv2-badgeTxt span{display:block !important;font-size:12px !important;}
.pv2-badgeTxt strong{display:block !important;font-size:18px !important;margin-top:2px !important;}

/* Nav */
.pv2-nav{
  position:absolute !important;top:50% !important;transform:translateY(-50%) !important;
  width:44px !important;height:44px !important;border-radius:999px !important;
  border:none !important;cursor:pointer !important;
  background:#fff !important;
  z-index:40 !important;
  font-size:28px !important;
  display:flex !important;align-items:center !important;justify-content:center !important;
}
.pv2-prev{left:14px !important;}
.pv2-next{right:14px !important;}

/* Right card */
.pv2-cardTop{background:#f1f1f1 !important;border-radius:22px !important;padding:22px !important;}
.pv2-state{color:#e1006a !important;font-weight:600 !important;margin-bottom:6px !important; font-size: 22px;}
.pv2-title{margin:0 0 16px !important;font-size:40px !important;line-height:1.05 !important;color:#1f2640 !important;}

.pv2-prices{display:grid !important;grid-template-columns:1fr 1fr !important;gap:18px !important;}
.pv2-label{opacity:.6 !important;font-size:13px !important;margin-bottom:6px !important;}
.pv2-price{font-weight:900 !important;font-size:22px !important;color:#e1006a !important;}
.pv2-price small{font-weight:600 !important;font-size:12px !important;color:#e1006a !important;margin-left:6px !important;}

.pv2-actions{display:flex !important;gap:12px !important;margin:14px 0 !important;flex-wrap:wrap !important;}
.pv2-btn{
  border:1px solid #cfd3dd !important;
  background:#fff !important;
  border-radius:999px !important;
  padding:10px 14px !important;
  font-size:13px !important;
  cursor:pointer !important;
  text-decoration:none !important;
  color:#1f2640 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  min-width:110px !important;
}
.pv2-btnActive{background:#b9f3ee !important;border-color:#7be7dd !important;}

.pv2-desc{background:#2f3551 !important;color:#fff !important;border-radius:22px !important;padding:22px !important;}
.pv2-desc h2{margin:0 0 10px !important;font-size:26px !important;}
.pv2-desc #descripcion_proyecto{opacity:.95 !important;line-height:1.5 !important;font-size:16px !important;}
/* Quitar blur por completo */
.pv2-slide::before,
.pv2-slide::after{
  display: none !important;
}
.pv2-nav{
  transition: background .15s ease, color .15s ease;
}

.pv2-nav:hover{
  background:#E60064 !important;
  color:#fff !important;
}
.pv2-btn{gap:8px;}
.pv2-ico{display:inline-flex;align-items:center;justify-content:center;}
.pv2-ico svg{display:block;}
/* Amenidades */
/* =========================
   PV2 – AMENITIES (Espacios sociales)
========================= */

.pv2-amenities { margin-top: 22px; }

.pv2-amenitiesCard{
  background:#f1f1f1;
  border-radius:26px;
  padding:26px;
  display:grid;
  grid-template-columns: 360px 1fr;
  gap:24px;
  align-items:center;
}

.pv2-amenitiesLeft{
  display:flex;
  align-items:center;
  gap:18px;
}

.pv2-amenitiesIcon{
  width:78px; height:78px;
  border-radius:18px;
  background:#2f3551;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
}

.pv2-amenitiesTitle{ 

  line-height:1 !important; 
}
.pv2-amenitiesH {
    font-size: 46px;
    font-weight: 900;
    color: #2f3551;
    letter-spacing: -0.5px;
    font-family: "lt-wave-font-family", Quicksand !important;
    font-weight: 600 !important;
    line-height: 1 !important;
}
.pv2-amenitiesHAccent{ color:#e1006a; }

.pv2-amenitiesRight{ width:100%; }

.pv2-amenitiesGrid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  column-gap:46px;
}

.pv2-amenitiesItem{
  padding:10px 0;
  border-bottom:1px solid rgba(31,38,64,.18);
  font-size:14px;
  color:#2f3551;
}

.pv2-amenitiesItem:last-child{
  border-bottom:1px solid rgba(31,38,64,.18);
}

@media (max-width: 980px){
  .pv2-amenitiesCard{
    grid-template-columns:1fr;
    padding:18px;
  }
  .pv2-amenitiesH{ font-size:34px; }
  .pv2-amenitiesGrid{ grid-template-columns:1fr; column-gap:0; }
}
/* ===== FIN CSS CRÍTICO ===== */



/*3er seccion */


/* =========================
   PV2 – Tipos de aptos
========================= */

.pv2-types{ margin-top:22px; }
.pv2-typesWrap{
  background:#f1f1f1;
  border-radius:26px;
  padding:18px;
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:22px;
  align-items:center;
}

.pv2-typeCards{
  display:flex;
  gap:12px;
  align-items:stretch;
  flex-wrap:nowrap;
}

.pv2-typeCard{
  flex:1;
  min-width: 170px;
  background:#ffffff;
  border-radius:18px;
  padding:14px 14px 12px;
  text-decoration:none;
  border:1px solid rgba(31,38,64,.10);
  transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
  color:#2f3551;
}

.pv2-typeTop{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}

.pv2-typeM2{
  font-weight:900;
  font-size:18px;
  letter-spacing:-.2px;
}

.pv2-typeArrow{
  width:42px;
  height:14px;
  border-radius:999px;
  background:#b9f3ee;
  color:#2f3551;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:14px;
}

.pv2-typeIcons{
  display:flex;
  align-items:center;
  gap:13px;
  opacity:.95;
}




.pv2-typeIcons small{
  font-size:12px;
  font-weight:800;
  margin-right:6px;
}




.location-pin:hover {
  /* Change the white parts to the same pink as the base */
  color: #E60064; 
  /* Make it pop up */
  transform: translateY(-8px) scale(1.05);
}

/* Optional: Make the pink base pulse on hover */
.location-pin:hover .pin-base {
  fill: #ff006f;
}

/* Iconitos (simple, sin imágenes externas) */
.pv2-ico{
  width:100%;
  height:100%;
  display:inline-block;
  position:relative;
  opacity:.9;
}
.pv2-ico-bed::before{
  content:"";
  position:absolute; inset:3px 1px 5px 1px;
  border:2px solid currentColor; border-radius:4px;
}
.pv2-ico-bed::after{
  content:"";
  position:absolute; left:3px; right:3px; bottom:2px; height:2px;
  background:currentColor; border-radius:2px;
}
.pv2-ico-bath::before{
  content:"";
  position:absolute; left:2px; right:2px; top:5px; height:9px;
  border:2px solid currentColor; border-radius:6px;
}
.pv2-ico-home::before{
  content:"";
  position:absolute; left:2px; right:2px; bottom:2px; height:10px;
  border:2px solid currentColor; border-top:none; border-radius:0 0 4px 4px;
}
.pv2-ico-home::after{
  content:"";
  position:absolute; left:2px; right:2px; top:1px; height:10px;
  transform:skewY(-20deg);
  border-left:2px solid currentColor;
  border-top:2px solid currentColor;
  border-right:2px solid currentColor;
  border-radius:4px 4px 0 0;
}

/* Hover rosado */
.pv2-typeCard:hover{

  
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(0,0,0,.12);
}


/* Texto derecha */
.pv2-typeText{ padding:6px 10px; }
.pv2-typeText h3{
  margin:0 0 8px;
  font-size:22px;
  font-weight:900;
  color:#2f3551;
}
.pv2-typeText p{
  margin:0;
  font-size:12px;
  line-height:1.5;
  color:rgba(47,53,81,.85);
}

/* Responsive */
@media (max-width: 980px){
  .pv2-typesWrap{ grid-template-columns:1fr; }
@media (max-width: 980px) {
    .pv2-typeCards {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
}
  .pv2-typeCard{ min-width: 160px; }
}
/* ===== FIN CSS CRÍTICO ===== */


/* =========================
   PV2 – Sección Financiera
   */




   /* =========================
   PV2 – Calculadora + videos
========================= */

/* ===============================
   FINANCE (simulador + videos) = misma altura
================================= */

.pv2-finance{
  max-width:1200px;
  margin:80px auto;
  padding:0 18px;
}

.pv2-financeWrap{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:28px;
  align-items:stretch; /* CLAVE: mismo alto */
}

/* ambas columnas ocupan el alto completo */
.pv2-financeLeft,
.pv2-financeRight{
  height:100%;
  display:flex;
  flex-direction: column;
}

/* el shortcode debe poder estirarse */
.pv2-financeLeft{
  background:#f3f3f3;
  border-radius:24px;
  padding:22px;
}

/* IMPORTANTÍSIMO: que el primer hijo ocupe todo */
.pv2-financeLeft > *{
  flex:1;
}

/* derecha */
.pv2-financeRight{
  background:#E60064;
  border-radius:24px;
  padding:26px;
  color:#fff;
}

/* la card interna ocupa todo */
.pv2-videoCard{
  display:flex;
  flex-direction:column;
  width:100%;
  height:100%;
}

/* el slider debe ocupar el espacio central disponible */
.pv2-videoSlider{
  position:relative;
  flex:1;              /* CLAVE: llena el alto */
  display:flex;
  align-items:stretch;
  margin-top:14px;

      display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
}

.pv2-videoViewport{
  width:100%;
  overflow:hidden;
  border-radius:18px;
}

/* track horizontal */
.pv2-videoTrack{
  display:flex;
  height:100%;
  transition:transform .35s ease;
}

/* cada slide ocupa el 100% del viewport */
.pv2-videoSlide{
  min-width:100%;
  height:100%;
}

/* iframe siempre full */
.pv2-videoEmbed{
  height:100%;
  background:#0f1220;
  border-radius:18px;
  overflow:hidden;
  height: 61vh;
}

.pv2-videoEmbed iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
}

/* Quote al final */
.pv2-videoQuote{
  margin-top:16px;
  font-size:14px;
  line-height:1.4;
  opacity:.95;
}
.pv2-videoQuote span{
  display:block;
  margin-top:6px;
  font-weight:700;
}

/* nav */
.pv2-videoNav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;height:44px;border-radius:999px;
  border:none;
  background:#fff;
  cursor:pointer;
  font-size:28px;
  display:flex;align-items:center;justify-content:center;
}
.pv2-videoPrev{ left:-14px; }
.pv2-videoNext{ right:-14px; }

.pv2-videoNav:hover{
  background:#E60064;
  color:#fff;
}
h3.pv2-videoTitle {
    color: #FFEB3B;
    font-size: 33px;
}
/* responsive */
@media (max-width: 980px) {
    .pv2-financeWrap {
        grid-template-columns: 0fr;
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: center;
    }

.pv2-financeLeft .container_simulator {
    width: 20em !important;
    height: 100%;
    padding: 20px;
    -webkit-box-shadow: 0 0 0px 0px rgb(0 0 0 / 0%) !important;
    box-shadow: 0 0 00px 0px rgb(0 0 0 / 0%) !important;
    border-radius: 10px;
    margin-left: 0rem;
    margin-top: 2rem;
}


}

/* ===== FIN CSS CRÍTICO ===== */
/* ===============================
   UBICACIÓN
================================ */
.pv2-ubicacion{
  max-width:1200px;
  margin:60px auto;
  padding:0 18px;
}

.pv2-ubicacion-grid{
  display:grid;
  grid-template-columns: 360px 1fr;
  gap:22px;
  align-items:stretch;
}


/* Forzar texto blanco en card ubicación */
.pv2-ubicacion-card{
  color:#ffffff;
}

.pv2-ubicacion-card h3{
  color:#ffffff;
}

/* Botón */
.pv2-ubicacion-btn{
  color:#1f2640; /* texto del botón */
}


.pv2-ubicacion-card{
  background:#2f3551;
  color:#fff;
  border-radius:22px;
  padding:4em 2em 2em 2em;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.pv2-ubicacion-icon svg {
    width: 71px;
    height: 97px;
    position: relative;
    z-index: 2;
}
.pv2-ubicacion-card h3{
  margin:0;
  font-size:50px;
  line-height:1.05;
  font-weight:700;
  margin: 0;
    color: #fff;
    font-size: 44px;
    font-weight: 900;
    line-height: 0.95;
    letter-spacing: -0.5px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.pv2-ubicacion-btn{
  margin-top:22px;
  align-self:flex-start;
  background:#b9f3ee;
  color:#1f2640;
  border:none;
  border-radius:999px;
  padding:10px 18px;
  font-size:14px;
  font-weight:600;
  cursor:pointer;
  display: block;
  margin:0px auto
}

.pv2-ubicacion-map{
  border-radius:22px;
  overflow:hidden;
  min-height:260px;
}

.pv2-ubicacion-map iframe{
  width:100%;
  height:100%;
  border:0;
}

/* Responsive */
@media (max-width: 980px){
  .pv2-ubicacion-grid{
    grid-template-columns:1fr;
  }
  .pv2-ubicacion-card{
    text-align:center;
    align-items:center;
  }
}

/* ===== Otros proyectos ===== */
.pv2-related{
  max-width:1200px;
  margin:30px auto 0;
  padding:0 18px 40px;
}

.pv2-relatedTitle{
  text-align:center;
  margin:0 0 18px;
  font-size:28px;
  font-weight:800;
  color:#1f2640;
}
.pv2-relatedHot{ color:#E60567; }

.pv2-relatedGrid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.pv2-relatedCard{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  min-height:190px;
  background:#ddd;
  text-decoration:none;
  display:block;
}

.pv2-relatedCard img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.pv2-relatedOverlay{
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.70) 0%, rgba(0,0,0,.20) 55%, rgba(0,0,0,0) 100%);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:14px;
  gap:8px;
}

.pv2-relatedName{
  margin:0;
  color:#fff;
  font-weight:800;
  font-size:14px;
  line-height:1.2;
}

.pv2-relatedPrice{
  margin:0;
  color:#fff;
  font-size:12px;
  opacity:.95;
}

.pv2-relatedBtn{
  align-self:flex-start;
  background:#E60567;
  color:#fff;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  padding:7px 12px;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.pv2-relatedBtn svg{ display:block; }

@media (max-width: 980px){
  .pv2-relatedGrid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 520px){
  .pv2-relatedGrid{ grid-template-columns:1fr; }
}


/*simulador*/

*,
*::before,
*:after {
  padding: 0;
  margin: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.active_tab {
  background-color: #E60064 !important;
}

.tab_mortgage.active_tab .title_item_tab {
  color: white !important;
}

.line_bottom {
  border-bottom: 1px solid rgb(221, 221, 221) !important;
}

.pv2-financeLeft .container_simulator {
  width: 500px;
  height: 100%;
  padding: 20px;
  -webkit-box-shadow: 0 0 0px 0px rgb(0 0 0 / 0%) !important;
 box-shadow: 0 0 00px 0px rgb(0 0 0 / 0%) !important;
  border-radius: 10px;
  margin-left: 0rem;
  margin-top: 2rem;
}



.pv2-financeLeft .container_simulator #container_form_mortgage .container_values {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 8px 0 !important;
}





.container_simulator .divider_line_form {
  width: 100%;
  height: 1px;
  margin: 20px 0px;
  border: 1px solid rgb(221, 221, 221);
}

.container_simulator .txt_info_credito {
  font-size: 14px;
  color: #7a7a7a;
  margin-top: 1rem;
  margin-bottom: 2rem;
}

.container_simulator .container_tabs_simulator_small {
  margin-bottom: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.container_simulator .container_tabs_simulator_small .tab_mortgage {
  width: 50%;
  background: #FFF2F5;
  padding: 10px 15px;
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  cursor: pointer;
}

.container_simulator .container_tabs_simulator_small .tab_mortgage:hover {
  background-color: #E60064;
}

.container_simulator .container_tabs_simulator_small .tab_mortgage:hover .title_item_tab {
  color: #FFFFFF;
}

.container_simulator .container_tabs_simulator_small .tab_mortgage .title_item_tab {
  font-size: 16px;
  font-family: 'LTWave' !important;
  font-weight: bold;
  padding: 0;
  margin: 0;
  color: #1D2128;
  text-align: center;
  -webkit-transition: 0.2s ease-in;
  transition: 0.2s ease-in;
}

.container_simulator .container_tabs_simulator_small .tab_residential_leasing {
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
}

.container_simulator #container_form_mortgage {
  width: 100%;
}

.container_simulator #container_form_mortgage .container_values {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 15px 0px;
}

.container_simulator #container_form_mortgage .container_values .txt_form_info {
  color: #1D2128;
  font-weight: bold;
  font-size: 14px;
}

.container_simulator #container_form_mortgage .container_values .number_quota {
  color: #1D2128;
  font-weight: bold;
  font-size: 1rem;
  background: #FEF9C8;
  padding: 3px 10px;
  border-radius: 5px;
}

.container_simulator #container_form_mortgage .container_values .input_pricing_home {
  border: 1px solid rgb(221, 221, 221);
  outline: none;
  padding: 8px 10px;
  color: #1D2128;
  border-radius: 5px;
  font-size: 14px;
}

.container_simulator #container_form_mortgage .container_values .txt_value_form {
  font-size: 14px;
  color: #1D2128;
}

.container_simulator #container_form_mortgage .line {
  border-top: 1px solid rgb(221, 221, 221);
}

.container_simulator .container_form_range_info {
  margin-top: 1rem;
}

.container_simulator .container_form_range_info .container_range_values {
  position: relative;
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  /* INPUT RANGE STYLES */
}

.container_simulator .container_form_range_info .container_range_values:nth-child(2) {
  margin-bottom: 0rem;
}

.container_simulator .container_form_range_info .container_range_values .number_percentage_indicator,
.container_simulator .container_form_range_info .container_range_values .number_indicator_value {
  background: rgba(235, 0, 71, 0.0745098039);
  padding: 2px 5px;
  border-radius: 3px;
  font-weight: 600;
  margin-left: 5px;
}

.container_simulator .container_form_range_info .container_range_values .txt_info_range {
  font-size: 14px;
  color: #1D2128;
  margin-bottom: 25px;
}

.container_simulator .container_form_range_info .container_range_values input[type=range] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  cursor: pointer;
  width: 100%;
}

.container_simulator .container_form_range_info .container_range_values input[type=range]:focus {
  outline: none;
}

.container_simulator .container_form_range_info .container_range_values input[type=range]::-webkit-slider-runnable-track {
  background-color: #fee1e9;
  border-radius: 5rem;
  height: 6px;
}

.container_simulator .container_form_range_info .container_range_values input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  margin-top: -7px;
  background-color: #E60064;
  border-radius: 5rem;
  height: 18px;
  width: 18px;
}

.container_simulator .container_form_range_info .container_range_values input[type=range]:focus::-webkit-slider-thumb {
  outline: 3px solid #E60064;
  outline-offset: 0.125rem;
}

.container_simulator .container_form_range_info .container_range_values input[type=range]::-moz-range-track {
  background-color: #fee1e9;
  border-radius: 5rem;
  height: 6px;
}

.container_simulator .container_form_range_info .container_range_values input[type=range]::-moz-range-thumb {
  background-color: #E60064;
  border: none;
  border-radius: 5rem;
  height: 20px;
  width: 20px;
}

.container_simulator .container_form_range_info .container_range_values input[type=range]:focus::-moz-range-thumb {
  outline: 3px solid #E60064;
  outline-offset: 0.125rem;
}

.container_simulator .container_form_range_info .container_range_values .tooltip {
  position: absolute;
  top: 0px;
  /* Ajusta según la posición deseada */
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #1D2128;
  color: #fff;
  padding: 5px;
  border-radius: 5px;
  white-space: nowrap;
  visibility: hidden;
  font-size: 12px;
}

.container_simulator .container_form_range_info .container_range_values .tooltip::before {
  position: absolute;
  content: "";
  bottom: -3px;
  left: 44%;
  width: 10px;
  height: 10px;
  background: #1D2128;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  z-index: -1;
}

.container_simulator .container_form_range_info .container_range_values .tooltip_years {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-55%);
  transform: translateX(-55%);
  background-color: #1D2128;
  color: #fff;
  padding: 5px;
  border-radius: 5px;
  white-space: nowrap;
  visibility: hidden;
  font-size: 12px;
}

.container_simulator .container_form_range_info .container_range_values .tooltip_years::before {
  position: absolute;
  content: "";
  bottom: -3px;
  left: 44%;
  width: 10px;
  height: 10px;
  background: #1D2128;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  z-index: -1;
}

.container_simulator .container_form_range_info .container_range_values .range_quota_initial:hover+.tooltip,
.container_simulator .container_form_range_info .container_range_values .range_quota_initial:focus+.tooltip {
  visibility: visible;
}

.container_simulator .container_form_range_info .container_range_values .range_quota_initial:hover+.tooltip_years,
.container_simulator .container_form_range_info .container_range_values .range_quota_initial:focus+.tooltip_years {
  visibility: visible;
}

.container_simulator .container_form_range_info .container_range_values .percentage,
.container_simulator .container_form_range_info .container_range_values .value_years {
  font-size: 14px;
  color: #1D2128;
  margin-top: 14px;
  font-weight: 500;
}

.container_simulator .btn_aprobation_mortgage {
  margin-top: 2rem;
  width: 100%;
  background-color: #E60064;
  border-radius: 100px;
  padding: 10px 0px;
  color: #FFFFFF;
  font-size: 16px;
  outline: none;
  border: none;
  font-family: "Quicksand", sans-serif;
  font-weight: 500;
  text-align: center;
  cursor: pointer;
  -webkit-transition: 0.1s ease-in;
  transition: 0.1s ease-in;
}

.container_simulator .btn_aprobation_mortgage:hover {
  background-color: #E60064;
}

.container_simulator .btn_aprobation_mortgage i {
  margin-right: 5px;
}

.container_simulator .container_link_form_big {
  margin-top: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.container_simulator .container_link_form_big .txt_link_external {
  font-size: 12px;
}

.container_simulator .container_link_form_big i {
  font-size: 14px;
  margin-right: 8px;
}


/* CONTENEDOR */

.cta{

  margin:0 auto;
  background:linear-gradient(90deg,#E60064,#E60064);
  border-radius:28px;
  padding:26px 32px;
  box-shadow:0 18px 40px rgba(0,0,0,.18);
  display: flex;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
}

.cta-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  justify-content: center;
}

/* LEFT */

.cta-left{
  min-width:360px;
}

.cta-brand{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:8px;
}

.cta-chip{
  color:#fff;
  border:1.5px solid rgba(255,255,255,.9);
  border-radius:999px;
  padding:4px 10px;
  font-weight:700;
  font-size:13px;
}

.logo-box{
  width:230px;
  height:46px;
  overflow:hidden;
}

.logo-box img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.cta-title{
  color:#fff;
  font-size:30px;
  font-weight:800;
  margin-bottom:10px;
}

.cta-title span{
  color:#FFEA39;
  font-weight:900;
}

.cta-text{
  color:rgba(255,255,255,.95);
  font-size:18px;
  line-height:1.35;
  font-weight:500;
}


/* RIGHT */

.cta-right{
      display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    min-width: 365px;
    align-content: center;
    flex-wrap: nowrap;
    justify-content: center;
}

.cta-icon{
  height:72px;
  margin-right:95px;
}

/* BOTÓN */

.cta-btn{
  display:inline-flex;
  align-items:center;
  gap:14px;

  padding:14px 26px 14px 12px;

  background:#92F4E6;
  border:none;
  border-radius:999px;

  font-weight:700;
  font-size:17px;
  color:#203232;

  cursor:pointer;

  box-shadow:0 6px 14px rgba(0,0,0,.18);
}

/* círculo interior */




.cta-btn-circle {
    width: 86px;
    height: 26px;
    border-radius: 999px;
    border: 2px solid #203232;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    background: #B9F3EE;
}


.cta-btn-circle svg {
    width: 31px;
    height: 26px;
    fill: none;
}

/*/ 2do botón */
.cta-btn2{
  display:inline-flex;
  align-items:center;
  gap:14px;

  padding:14px 26px 14px 12px;

  background:#92F4E6;
  border:none;
  border-radius:999px;

  font-weight:700;
  font-size:17px;
  color:#203232;
justify-content: center;
  cursor:pointer;

  box-shadow:0 6px 14px rgba(0,0,0,.18);
}

/* círculo interior */




.cta-btn-circle2 {
    width: 86px;
    height: 26px;
    border-radius: 999px;
    border: 2px solid #203232;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    background: #c0fff4;
}


.cta-btn-circle2 svg {
    width: 31px;
    height: 26px;
    fill: none;
}

/* RESPONSIVE */

@media(max-width:900px){
  .cta-inner{
    flex-direction:column;
    align-items:flex-start;
  }

  .cta-right{
    width:100%;
    align-items:flex-start;
  }

  .cta-icon{
    margin-right:0;
  }

  .cta-btn{
    width:100%;
    justify-content:center;
  }
}



/* OVERLAY */

.modal-overlay{
  position:fixed;
  inset:0;

  background:rgba(0,0,0,.6);

  display:flex;
  align-items:center;
  justify-content:center;

  opacity:0;
  visibility:hidden;

  transition:.3s;
  z-index:9999;
}

.modal-overlay.active{
  opacity:1;
  visibility:visible;
}

/* CONTENIDO */

.modal-content{
  width:90%;
  max-width:900px;
  height:600px;

  background:white;
  border-radius:14px;
  overflow:hidden;

  position:relative;

  box-shadow:0 20px 50px rgba(0,0,0,.3);
}

.modal-content iframe{
  width:100%;
  height:100%;
  border:none;
}

/* BOTON CERRAR */

.modal-close{
  position:absolute;
  top:10px;
  right:10px;

  border:none;
  background:#000;
  color:#fff;

  width:34px;
  height:34px;
  border-radius:50%;

  cursor:pointer;
}