/* =========================================================
   Kodu – Ficha de departamento (Divi 5)
   Capa de compatibilidad con el template Avada de exynkoenvista
   Cargar SOLO en la página "departamento", después de Bootstrap 4.6
   ========================================================= */

/* ---------- 1. Variables Avada que usa el template inline ---------- */
:root{
  --awb-custom_color_1: rgba(255,255,255,0);
  --awb-custom_color_2: #31c0d7;
  --awb-custom_color_3: #fed400;
  --awb-custom_color_4: #333333;
  --awb-custom_color_5: #22233c;
  --awb-custom_color_6: #eb523a;
  --awb-custom_color_8: #868bab;
  --awb-custom_color_9: #e8e9f4;
  --awb-typography1-letter-spacing: 0;
}
#main-content a:hover{ text-decoration:none; }   /* Bootstrap subraya links en hover */

/* ---------- 2. Utilidades que el JS del plugin usa para mostrar/ocultar ---------- */
.hidden{ display:none; }                         /* SIN !important: el JS del form usa .show() sobre elementos .hidden */
.hiddeni, .ocultosvt{ display:none !important; }
.oculto_web{ display:none !important; }
@media (max-width:640px){
  .oculto_web{ display:flex !important; }
  .oculto-movil{ display:none !important; }
}
.flex{ display:flex !important; }
.dflex{ display:flex; }
.dblock{ display:block; }
.tac{ text-align:center !important; }
.fbold{ font-weight:600; }
.w50{ width:50%; }
.pl0{ padding-left:0; }
.mb0{ margin-bottom:0 !important; }
.mb20 p{ margin-bottom:20px !important; }
.icon-lindua-arrow-right{ display:none; }          /* icono Avada no disponible */
.fa-money:before{ content:"\f3d1"; }               /* alias FA4 → FA5 */

/* ---------- 3. Neutralizar resets de Divi dentro del template ---------- */
#et-boc .contenedor-12 p,
#et-boc #contacto p,
#et-boc .otros-departamentos p{ padding-bottom:0; }

a#bot-comprar {
    margin-top: 20px;
}

#et-boc .entry-content .contenedor-12 ul,
#et-boc .entry-content #contacto ul{ list-style:none; padding:0; line-height:inherit; }

#et-boc .entry-content .contenedor-12 table,
#et-boc .entry-content #contacto table{ border:0; margin:0; }

#et-boc .contenedor-12 h1, #et-boc .contenedor-12 h2, #et-boc .contenedor-12 h3,
#et-boc #contacto h2, #et-boc #contacto h4{ padding-bottom:0; }

/* El módulo CF7 de Divi agrega .et_flex_module al <form> (flex + gap 30px) */
#contacto form.wpcf7-form.et_flex_module{ display:block; }

/* ---------- 4. Layout Avada mínimo (grid del template) ---------- */
.contenedor-12 .fusion-builder-row{ display:flex; flex-wrap:wrap; }
.contenedor-12 .fusion-layout-column{ position:relative; }
.contenedor-12 .fusion-column-wrapper{ display:flex; flex-direction:column; min-height:1px; }
.contenedor-12 .fusion-imageframe{ display:inline-block; max-width:100%; }
.contenedor-12 .row{ margin:0 !important; }

/* Tipografías Avada ('Poppins Light 300', 'Poppins 600'…) → Poppins real */
.contenedor-12 .fusion-title-1 h1{ font-family:'Poppins',sans-serif !important; font-weight:300 !important; }
.contenedor-12 .fusion-title-2 h2{ font-family:'Poppins',sans-serif !important; font-weight:700 !important; }
.contenedor-12 h3{ font-family:'Poppins',sans-serif; font-weight:600; color:#1b1e4b; }

/* ---------- 5. Cabecera: select + carrusel ---------- */
.contenedor-12 .form-group label{ font-size:14px; }
.contenedor-12 .carousel{ width:100%; height:auto; max-height:700px; display:flex; }
.contenedor-12 .carousel-inner{ width:100%; border-radius:8px; }
.contenedor-12 .carousel-item{ width:100%; height:100%; }
.contenedor-12 .carousel img{ width:100%; height:100%; object-fit:cover; }
.contenedor-12 .carousel-control-prev-icon,
.contenedor-12 .carousel-control-next-icon{
  width:30px; height:30px; padding:8px 11px;
  background-color:rgba(19,21,22,.7); background-size:contain; background-origin:content-box;
}

/* ---------- 6. Plano + ficha técnica ---------- */
.contenedor-12 .sm-text-align-center{ background:#fafafc; border-radius:8px; text-align:center; }
.contenedor-tabla-datos{ padding:0 9px; }
#et-boc .contenedor-tabla-datos .table td{
  padding:1em 0 !important; border-top:0 !important; border-bottom:1px solid #000 !important;
  line-height:1.5; font-size:14px; color:#6c757d; vertical-align:top;
}

/* Botones (Quiero comprar / Visitar) */
.us-btn-style_1{
  display:flex; align-items:center; justify-content:center; gap:.4em;
  padding:.8em 1.8em; background:#eb523a; color:#fff !important;
  font-weight:600; font-size:1em; line-height:1.2; text-align:center;
  border:0; border-radius:5px; cursor:pointer;
}
.us-btn-style_1:hover{ background:#993525; text-decoration:none !important; }
a.us-btn-style_1.btn-block{ width:100%; margin-bottom:1em; }

/* Descripción + espacios comunes */
.contenedor-12 .fusion-text-1 p{ color:#868bab; text-align:justify; }
.contenedor-12 .list-unstyled li{ margin-bottom:4px; }
.contenedor-12 .list-unstyled label{ color:#141617; }

/* ---------- 7. Formulario de contacto (#contacto) ---------- */
#contacto .wpcf7-form{ text-align:center; }
#contacto .div_title h2{ font-size:27px; font-weight:700; color:#141617; margin-bottom:9px; }
#contacto .div_title p{ font-size:18px; margin-bottom:25px; }
#contacto .div-form-3 .colu{ margin:0 10px; width:33%; }
#contacto .wpcf7-form label{ float:left; }
#contacto p.label_form{ text-align:left; margin-bottom:12px !important; font-size:14px; color:#141617; }
#contacto .error_form{ color:#dc3232; font-size:12px; font-weight:bold; text-align:left; padding-top:4px; clear:both; }
#contacto .wpcf7-form-control-wrap{ display:block; width:100%; }

#contacto .wpcf7-form input[type=text],
#contacto .wpcf7-form input[type=email],
#contacto .wpcf7-form input[type=tel],
#contacto .wpcf7-form input[type=rut],
#contacto .wpcf7-form select{
  width:100%; height:42px; padding:0 15px;
  background:#fff !important; border:1px solid #707070 !important; border-radius:4px;
  font-size:14px; color:#495057; box-shadow:none;
}
#contacto .p_flex p{ display:flex !important; width:100%; }
#contacto input[name="569"]{ flex:0 0 80px; width:80px; margin-right:10px; background:#f1f1f1 !important; }

/* Toggle RUT / Pasaporte */
#contacto .col-buttons p{ display:flex; justify-content:center; margin:0 auto 20px !important; }
#rut-checkbox, #pasaporte-checkbox{
  display:inline-block; width:132px; height:50px; padding:14px 25px;
  background:#f1f1f1; color:#7b819e; text-align:center; line-height:normal; cursor:pointer;
}
#rut-checkbox{ border-radius:10px 0 0 10px; }
#pasaporte-checkbox{ border-radius:0 10px 10px 0; }
#contacto .check_activo{ background:#30b9d0 !important; color:#fff !important; }
#contacto #colu_rut{ float:none !important; margin:0 auto 20px !important; }
#contacto #colu_pass p{ display:flex !important; gap:20px; margin-bottom:20px; }
#contacto #colu_pass .wpcf7-form-control-wrap{ width:50%; }

/* Pie con prefijo $ */
.input-contenedor{ position:relative; }
.input-contenedor::before{
  content:"$"; position:absolute; left:10px; top:59%; transform:translateY(-50%);
  color:#555; font-weight:bold; font-size:20px; pointer-events:none;
}
#contacto input#pie{ padding-left:30px; }

/* Me interesa */
div#new_c{ width:40%; margin:0 auto; text-align:center; }
#new_c p.label_form{ text-align:center; }

/* Documentación y requisitos */
#contacto .col_requi h4, #contacto .col_requi2 h4{ margin:30px 0 20px; font-size:19px; font-weight:600; color:#141617; }
#div_lis2, #contacto ul#div_lis3{ width:66%; margin:0 auto 20px; text-align:left; }
#contacto .li_black li{ display:flex; margin-bottom:10px; }
#contacto .li_black p{ color:#000; font-size:14px; }
#contacto .li_black i{ color:#000; }
#contacto .p_icon{ flex:0 0 30px; width:30px; margin:0; }

/* ¿Cumples los requisitos? */
#contacto .radio_form{ width:66%; margin:0 auto 40px; }
#divRadiobutton2{ display:flex !important; }
#divRadiobutton2 li{ align-items:center; gap:8px; text-align:left; }

/* Tablas de precios */
#contacto div.tabla_precios{ width:fit-content; margin:20px auto; background:#f9f9f9; border-radius:8px; color:#424552; overflow:hidden; }
#et-boc #contacto .tabla_precios table{ border:0; border-collapse:collapse; width:100%; }
#et-boc #contacto .tabla_precios th{ background:#3ac3d9; color:#fff; font-weight:600; font-size:13px; padding:14px 20px; text-align:center; }
#et-boc #contacto .tabla_precios td{ border-top:1px solid #ececf0; padding:10px 20px; font-size:13px; text-align:center; color:#424552; }
#contacto .nota-leasing p{ padding:10px; font-size:12px; text-align:center; }

/* Autorización + enviar */
#contacto .wpcf7-acceptance label{ float:none; display:flex; gap:8px; text-align:left; font-size:13px; }
#contacto .div_botones{ margin-top:20px; }
#contacto .div_botones br{ display:none; }
#boton_validar{
  display:flex; align-items:center; justify-content:center; width:130px; margin:auto;
  padding:.8em 1.8em; background:#eb523a; color:#fff; font-weight:600; border-radius:5px;
}
#boton_validar:hover{ background:#6b291e; }

@media (max-width:764px){
  #contacto .div-form-3 .flex{ display:block !important; }
  #contacto .div-form-3 .colu{ width:100% !important; margin:0; }
  #rut-checkbox, #pasaporte-checkbox{ width:50%; }
  #div_lis2, #contacto ul#div_lis3, #contacto .radio_form{ width:100%; }
  #divRadiobutton2{ display:block !important; }
  #boton_validar{ width:100%; }
}
@media (max-width:720px){ div#new_c{ width:100%; } }

/* ---------- 8. Servicios cercanos ---------- */
/* .h-100 de Bootstrap (height:100% !important) dejaba el mapa en 0px */
.column-map .contenedor-mapa{ margin:0 !important; height:500px !important; min-height:500px; }
.column-map .contenedor-mapa > .col-12{ padding:0; height:100%; }
.column-map #map.map-entorno{ height:500px !important; width:100%; }
@media (max-width:767px){
  .column-map .contenedor-mapa, .column-map #map.map-entorno{ height:380px !important; min-height:380px; }
}
.titulo-servicios h3{ font-size:1.2em; font-weight:700; color:#333; text-align:left; }
.kodu-mapa-filtros{ background:#e8e9f4; padding:1.5em 1em; height:100%; }
.kodu-mapa-filtros label{
  display:flex; align-items:center; gap:.6em; margin:0 0 .45em;
  font-size:14px; line-height:1.2; color:#141617; cursor:pointer;
}
.kodu-mapa-filtros input[type=checkbox]{
  -webkit-appearance:none; appearance:none; position:relative;
  flex:0 0 16px; width:16px; height:16px; margin:0;
  background:#fff; border:1px solid #fff; cursor:pointer;
}
.kodu-mapa-filtros input[type=checkbox]:checked{ border-color:#31c0d7; }
.kodu-mapa-filtros input[type=checkbox]:checked::after{ content:""; position:absolute; inset:3px; background:#31c0d7; }

/* ---------- 9. Otros departamentos ---------- */
.et_pb_section.otros-departamentos{ background:#e8e9f4 !important; padding:50px 0; }
.otros-departamentos .et_pb_text h2{
  color:#31c0d7; text-transform:uppercase; text-align:center;
  font-size:27px; font-weight:600; margin-bottom:2em;
}
.otros-departamentos .elemento h3{ color:#31c0d7 !important; font-size:1.2em !important; font-weight:400; margin:0 !important; padding:0; }
.otros-departamentos .resultado-tx-1,
.otros-departamentos .resultado-tx-2,
.otros-departamentos .resultado-tx-m{ color:#868bab; margin:0; }
.otros-departamentos .resultado-tx-2{ font-weight:800; font-size:1.2em; }
.otros-departamentos .resultado-depto{ color:#323232; font-weight:600; font-size:1.2em; margin:.1em 0; }
.container-destacados .img-container{ height:40vh; max-height:600px; }
.container-destacados .img-container img{ width:100%; height:100%; object-fit:contain; }
.otros-departamentos button.us-btn-style_1{ min-width:135px; }

/* =========================================================
   10. PÁGINA EDIFICIO (/edificio/)
   ========================================================= */

/* --- Resets de Divi dentro de las secciones del template --- */
#et-boc .container-edificio-top p,
#et-boc .container-proyecto-description p,
#et-boc #modelos-apartamento p{ padding-bottom:0; }
#et-boc .entry-content .container-proyecto-description ul,
#et-boc .entry-content #modelos-apartamento ul{ list-style:none; padding:0; line-height:inherit; }
#et-boc .container-proyecto-description h1,
#et-boc .container-proyecto-description h2,
#et-boc #modelos-apartamento h1,
#et-boc #modelos-apartamento h2{ padding-bottom:0; }

/* Botones Avada (Ver modelos / Elegir unidad) */
#main-content a.fusion-button{
  display:inline-block; padding:10px 22px; border:0; border-radius:4px;
  background:#31c0d7; color:#fff !important; font-size:14px; font-weight:600; line-height:1.4; cursor:pointer;
}
#main-content a.fusion-button:hover{ background:#218494; }

/* --- Hero --- */
.et_pb_section.container-edificio-top{
  min-height:calc(100vh - 100px); justify-content:center;
  background-size:cover !important; background-position:center !important;
  padding:60px 0 !important;
}
.container-edificio-top .et_pb_column{ row-gap:12px; }
.container-edificio-top .imageframe-3{ display:inline-block; margin-top:0 !important; margin-bottom:1em !important; }
.container-edificio-top .texto_slider1,
.container-edificio-top .texto_slider1 p{ color:#fed400; font-size:24px; line-height:1.3; }
.container-edificio-top .titulo_slider h1{ color:#fff; font-size:36px; font-weight:700; line-height:1.2; padding:0; }
.container-edificio-top .stitulo_slider,
.container-edificio-top .stitulo_slider p,
.container-edificio-top .stitulo_slider strong{ color:#fff; font-size:18px; }
.container-edificio-top .stitulo_slider strong{ font-size:28.8px; }
.container-edificio-top .texto_slider2 p{ color:#fff; font-size:20px; line-height:1.4; }
.container-edificio-top .texto_slider2 strong{ font-family:'Poppins',sans-serif !important; font-weight:800; }
@media (max-width:767px){
  .container-edificio-top .titulo_slider h1{ font-size:28px; }
}

/* --- Barra amarilla "¿Tienes dudas?" --- */
.et_pb_section.seccion_yellow{ background:#fed400 !important; padding:0 !important; }
.seccion_yellow .et_pb_row{ padding:0 !important; }
#tienes_dudas{ display:block; padding:12px 0; text-align:center; font-size:18px; font-weight:500; color:#141617; cursor:pointer; }
#tienes_dudas i{ margin-left:6px; }
.et_pb_section.seccion_yellow.seccion_yellow_float{ position:fixed; left:0; right:0; width:100%; z-index:99; }

/* --- Descripción + carrusel + espacios comunes --- */
.container-proyecto-description .fusion-builder-row{ display:flex; flex-wrap:wrap; }
.container-proyecto-description .fusion-title-center{ text-align:center; }
.container-proyecto-description .fusion-title-1 h1{
  font-family:'Poppins',sans-serif !important; font-weight:800; font-size:30px !important; color:#31c0d7;
}
.container-proyecto-description .fusion-title-3 h2{ color:#fed400; font-size:24px; font-weight:700; text-align:center; margin-bottom:50px !important; }
.container-proyecto-description h2.title-heading-left{ font-size:24px; font-weight:700; color:#141617; margin-bottom:15px !important; }
/* Espacios comunes: título arriba, lista debajo (el wrapper trae display:flex inline) */
.div-espacios-comunes > .fusion-column-wrapper{ flex-direction:column; justify-content:flex-start !important; }
.container-proyecto-description .fusion-text-4 p{ text-align:justify; font-size:14px; color:#141617; margin-bottom:20px; }
.container-proyecto-description .carousel{ display:flex; width:100%; height:35vw; max-height:600px; }
.container-proyecto-description .carousel-inner{ display:flex; height:100%; }
.container-proyecto-description .carousel-item{ height:100%; }
.container-proyecto-description .carousel img{ width:100%; height:100%; object-fit:cover; }
.container-proyecto-description .carousel-control-prev-icon,
.container-proyecto-description .carousel-control-next-icon{
  width:30px; height:30px; padding:8px 11px;
  background-color:rgba(19,21,22,.7); background-size:contain; background-origin:content-box;
}
#espacios_comunes li{ margin-bottom:4px; }
#espacios_comunes img{ width:28px; height:28px; margin:10px 0; }
#espacios_comunes label{ margin-left:19px !important; font-size:20px !important; font-weight:400 !important; color:#141617; }
@media (max-width:800px){ .container-proyecto-description .carousel{ height:50vw; } }

/* --- Títulos de sección (clases a asignar en Divi) --- */
.titulo-celeste h1, .titulo-celeste h2, .titulo-celeste p{
  color:#31c0d7; text-align:center; text-transform:uppercase; font-weight:800; font-size:2em; line-height:1.2; padding:0;
}
.subtitulo-modelos h2{ color:#141617; text-align:center; font-size:24px; font-weight:600; padding:0; }

/* --- Modelos (#demo) --- */
/* Tabs de escritorio: fila única sobre el carrusel */
#modelos-apartamento .carousel-indicators.escritorio{
  position:absolute; top:0; bottom:auto; left:0; right:0; margin:0; padding:0;
  display:flex; justify-content:center; gap:5px; list-style:none;
}
/* Tabs móviles (2 por slide): ocultas en escritorio */
#modelos-apartamento .carousel-indicators.movil{ display:none; }
@media (max-width:700px){
  #modelos-apartamento .carousel-indicators.escritorio{ display:none; }
  #modelos-apartamento .carousel-indicators.movil{
    position:static; display:flex; justify-content:center; gap:5px;
    margin:0 0 20px; padding:0; list-style:none;
  }
}
#modelos-apartamento .enlace_tab2{
  margin:0; padding:20px 10px; border:0; background:rgba(0,0,0,.25); color:#fff;
  font:700 14px/14px 'Poppins',sans-serif; cursor:pointer; text-indent:0; opacity:1; height:auto;
}
#modelos-apartamento .enlace_tab2.active,
#modelos-apartamento .enlace_tab2:hover{ background:#30b9d0; }
#modelos-apartamento .carousel-caption2 .row{ margin:0; }
#modelos-apartamento .grupo_tab{ display:block; width:100%; height:50px; border-bottom:1px solid #000; }
#modelos-apartamento .grupo_tab label{ font-size:18px; font-weight:400; color:#141617; }
#modelos-apartamento .dleft{ float:left; margin-top:11px; }
#modelos-apartamento .dright{ float:right; margin-top:11px; }
#modelos-apartamento .tal.mt40{ margin-top:40px; text-align:center; }
#modelos-apartamento .img_plano{ display:block; max-width:100%; height:auto; margin:0 auto; }
#modelos-apartamento .carousel-control-prev,
#modelos-apartamento .carousel-control-next{ width:30px; opacity:1; }
#modelos-apartamento .carousel-control-prev-icon,
#modelos-apartamento .carousel-control-next-icon{ width:30px; height:30px; background-color:rgba(0,0,0,.25); background-size:50%; background-position:center; }

/* --- Requisitos y beneficios --- */
.et_pb_section.seccion-requisitos{ background:#868bab !important; }

/* Íconos Avada (fb-icon-element) dentro de los módulos de código */
i.fb-icon-element{
  display:inline-flex; align-items:center; justify-content:center;
  width:var(--awb-width); height:var(--awb-height); border-radius:50%;
  font-size:var(--awb-font-size); font-style:normal; line-height:1;
}
i.fb-icon-element-1{ display:flex; margin:0 auto; background:#fff; color:#eb523a; }
i.fb-icon-element-2, i.fb-icon-element-3{ background:#22233c; color:#fff; }
i.fb-icon-element-4{ display:none; }
/* Lindua no existe en Divi: se reemplaza por Font Awesome 5 */
i.icon-lindua-file-text::before,
i.icon-lindua-checklist2::before{ font-family:'Font Awesome 5 Free'; font-weight:900; }
i.icon-lindua-file-text::before{ content:"\f15c"; }   /* file-alt */
i.icon-lindua-checklist2::before{ content:"\f0ae"; }  /* tasks */

/* Íconos nuevos (módulos de código con FA5) */
.seccion-requisitos i.kodu-check{
  display:flex; align-items:center; justify-content:center;
  width:56px; height:56px; margin:0 auto; border-radius:50%;
  background:#fff; color:#eb523a; font-size:28px; line-height:1;
}
.seccion-requisitos i.kodu-circle-icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:46px; height:46px; border-radius:50%;
  background:#22233c; color:#fff; font-size:20px; line-height:1;
}

/* Títulos */
.seccion-requisitos .titulo-requisitos,
.seccion-requisitos .titulo-requisitos p{
  color:#22233c; text-align:center; text-transform:uppercase;
  font-size:32px; font-weight:800; line-height:1.2;
}
.seccion-requisitos .subtitulo-requisitos h2{ color:#22233c; text-align:center; font-size:22px; font-weight:700; padding:0; }
.seccion-requisitos .et_pb_column h2{ color:#141617; font-size:24px; font-weight:800; padding:0; }
.seccion-requisitos .et_pb_icon_list_text,
.seccion-requisitos .et_pb_icon_list .et-pb-icon{ color:#fff; }
@media (max-width:767px){
  .seccion-requisitos .titulo-requisitos, .seccion-requisitos .titulo-requisitos p{ font-size:24px; }
}
