/* Forzar que todo el bloque de contacto se muestre visiblemente */
.contact,
.contact * {
  color: #000 !important;
  display: block !important;
  visibility: visible !important;
  font-size: 1rem !important;
}

/* Corregir ancho excesivamente angosto en móviles */
@media (max-width: 768px) {
    .t4-content,
    .t4-mainbody,
    #t4-mainbody,
    .com-content-article,
    article {
        max-width: 100% !important;
        width: 100% !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    /* Evitar que los encabezados se corten demasiado */
    .com-content-article h1,
    .com-content-article h2 {
        word-break: normal !important;
        white-space: normal !important;
    }
}
.blog-featured,
.blog,
.item-page,
.category-list,
.items-leading,
.items-row,
.content,
.article-intro,
.entry-content {
  font-size: 17px !important;
  line-height: 1.6 !important;
}
.container { width: 80%; }
.item-page { width: 100% !important; padding-left: 15px !important; padding-right: 15px !important; }
@media (max-width: 768px) { .t4-content-inner { width: 100% !important; padding-left: 15px !important; padding-right: 15px !important; } }
/* FIX: CORRECCIÓN DEL VIEWPORT Y ANCHO MÓVIL */
html, body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important; /* Oculta la barra de desplazamiento horizontal */
}

/* FUERZA el ancho máximo en todos los contenedores principales de la plantilla */
.t4-main-container,
.container,
.container-fluid,
.t4-content-inner,
.row {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0px !important; 
    padding-right: 0px !important;
}
.t4-megamenu .nav-link {
    color: #000 !important;
}
.blog .page-header + .item-page h2 a,
..item-page.leading-article h2 a, 
.item-page.intro-article h2 a {
    pointer-events: none !important; 
    text-decoration: none !important; 
    color: #000000 !important; 
    cursor: default !important; 
}
.blog .intro-image {
    max-width: 100%;
    height: auto;
    width: 200px;
    margin-right: 15px;
    float: left;
}
.blog .items-row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
}

.blog .item {
    width: 50%;
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 30px;
    box-sizing: border-box;
}
.blog .intro-image {
    max-width: 100%;
    height: auto;
    width: 200px; 
    margin-right: 15px;
    float: left;
}

@media (max-width: 768px) {
    .blog .items-row {
        display: block; 
        margin: 0;
    }
    
    .blog .item {
        width: 100%; 
        padding: 0;
        margin-bottom: 20px;
    }
    
    .blog .intro-image {
        width: 100%; 
        height: auto;
        float: none; 
        margin: 0 0 10px 0; 
    }

    .blog .item .intro-text {
        width: 100%; 
        clear: both;
    }
}
@media (max-width: 768px) {
  .t4-content p {
    font-size: 15px; /* probá entre 14 y 16 */
    line-height: 1.5;
  }
}
@media (max-width: 768px) {
  .t4-content p {
    font-size: 15px;
    line-height: 1.5;
  }
}
@media (max-width: 768px) {
  .t4-content {
    max-width: 90%;
    margin: auto;
  }
}
p {
  text-wrap: balance;
}
@media (max-width: 768px) {
  .article-body p,
  .article-body li,
  .item-page p,
  .item-page li {
    font-size: 15px;
    line-height: 1.5;
  }
}
@media (max-width: 768px) {
  .article-body,
  .item-page {
    max-width: 90%;
    margin: auto;
  }
}
.article-body p,
.item-page p {
  text-wrap: balance;
}
.article-details .article-body,
.item-page .article-body,
.com-content-article .content,
.t4-content {
    font-size: 1rem;
    line-height: 1.6;
}

@media (max-width: 768px) {
    .article-details .article-body,
    .item-page .article-body,
    .com-content-article .content,
    .t4-content {
        font-size: 1.05rem;
        line-height: 1.7;
    }
}
body .t4-content,
body .t4-content p,
body .t4-content div,
body .t4-content span,
body .item-page,
body .item-page p,
body .item-page div,
body .item-page span,
body .com-content-article,
body .com-content-article p,
body .com-content-article div,
body .com-content-article span {
    font-size: 1rem !important;
    line-height: 1.6 !important;
}
body .t4-content,
body .t4-content p,
body .t4-content div,
body .t4-content span,
body .item-page,
body .item-page p,
body .item-page div,
body .item-page span,
body .com-content-article,
body .com-content-article p,
body .com-content-article div,
body .com-content-article span {
    font-size: 1rem !important;
    line-height: 1.6 !important;
}

body .t4-content img,
body .item-page img,
body .com-content-article img {
    max-width: 75% !important;
    height: auto !important;
    display: block;
    margin: 1rem auto;
}
/* Fondo de la página de contacto */
body.view-visform {
    background: linear-gradient(160deg, #e0f7fa, #b2ebf2); /* gradiente azul claro a aqua */
    padding: 50px 0;
}

/* Contenedor del formulario */
.visform {
    max-width: 600px; /* ancho del formulario */
    margin: 0 auto; /* centrar */
    background: #ffffff; /* formulario blanco sobre el gradiente */
    padding: 30px;
    border-radius: 15px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

/* Campos del formulario */
.visform .visform-field {
    margin-bottom: 20px;
}

/* Input, textarea y select */
.visform input[type="text"],
.visform input[type="email"],
.visform input[type="tel"],
.visform select,
.visform textarea {
    width: 100%;
    padding: 12px 15px;
    border-radius: 8px;
    border: 1px solid #cccccc;
    font-size: 16px;
    transition: all 0.3s ease;
}

.visform input[type="text"]:focus,
.visform input[type="email"]:focus,
.visform input[type="tel"]:focus,
.visform select:focus,
.visform textarea:focus {
    border-color: #00bfa5; /* borde verde al enfocar */
    box-shadow: 0 0 8px rgba(0,191,165,0.3);
}

/* Botón enviar */
.visform input[type="submit"] {
    display: inline-block;
    background: #00bfa5;
    color: #ffffff;
    font-size: 18px;
    padding: 15px 30px;
    border-radius: 10px;
    border: none;
    cursor: pointer;
    transition: background 0.3s ease;
}

.visform input[type="submit"]:hover {
    background: #009e8f;
}

/* Encabezado del formulario */
.visform .visform-intro-text {
    font-size: 20px;
    margin-bottom: 25px;
    color: #00796b;
    text-align: center;
}
/* Forzar fondo de toda la página del formulario */
body.view-visform, 
html, 
body {
    background: linear-gradient(160deg, #e0f7fa, #b2ebf2) !important;
}
.contacto-fondo {
    background: linear-gradient(160deg, #e0f7fa, #b2ebf2);
    padding: 50px 20px;
    border-radius: 15px;
    max-width: 700px;
    margin: 0 auto;
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

.contacto-fondo .visform {
    background: rgba(255,255,255,0.9);
    border-radius: 15px;
    padding: 30px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.contacto-fondo .visform input[type="text"],
.contacto-fondo .visform input[type="email"],
.contacto-fondo .visform input[type="tel"],
.contacto-fondo .visform select,
.contacto-fondo .visform textarea {
    width: 100%;
    padding: 12px 15px;
    border-radius: 8px;
    border: 1px solid #cccccc;
    font-size: 16px;
    margin-bottom: 20px;
    transition: all 0.3s ease;
}

.contacto-fondo .visform input[type="text"]:focus,
.contacto-fondo .visform input[type="email"]:focus,
.contacto-fondo .visform input[type="tel"]:focus,
.contacto-fondo .visform select:focus,
.contacto-fondo .visform textarea:focus {
    border-color: #00bfa5;
    box-shadow: 0 0 8px rgba(0,191,165,0.3);
}

.contacto-fondo .visform input[type="submit"] {
    display: inline-block;
    background: #00bfa5;
    color: #ffffff;
    font-size: 18px;
    padding: 15px 30px;
    border-radius: 10px;
    border: none;
    cursor: pointer;
    transition: background 0.3s ease;
}

.contacto-fondo .visform input[type="submit"]:hover {
    background: #009e8f;
}

.contacto-fondo .visform .visform-intro-text {
    font-size: 20px;
    margin-bottom: 25px;
    color: #00796b;
    text-align: center;
}
