/*
Theme Name: Inicianet Theme
Theme URI: https://inicianet.com/
Author: Inicianet
Author URI: https://inicianet.com/
Description: Un theme creado en exclusiva por Inicianet para sus clientes. Este theme incluye una capa de seguridad, optimización avanzada y las funcionalidades indispensables para asegurar el correcto y óptimo funcionamiento de la web. Sobre esta sólida base, se integra el diseño personalizado y las funciones específicas que requiera cada proyecto, garantizando así un rendimiento excepcional y una integración perfecta con Elementor.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: inicianet
*/

/* VARIABLES GLOBALES */
:root {
    --li-icon: "\f00c"; /* Icono Li */
}

/* Fix */
/* Focus Menu Movil */
.header .elementor-nav-menu--main .elementor-item:hover, 
.header .elementor-nav-menu--main .elementor-item.elementor-item-active, 
.header .elementor-nav-menu--main .elementor-item.highlighted, 
.header .elementor-nav-menu--main .elementor-item:focus {
    color: var(--e-global-color-primary) !important;
}

/* Estilos Generales */
body {margin:0;}
p { -webkit-text-size-adjust: none !important; } /* Correción fuente Safari */
/*:target { scroll-margin-top: 131px; } /* Alto Header Sticky */
/* body > div ul:not(.elementor-icon-list-items) li, */
.list-custom li {
  position: relative !important;
  padding-left: 20px !important; 
  list-style: none !important;   
}

/*body > div ul:not(.elementor-icon-list-items) li::before,*/
.list-custom li:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: var(--li-icon);
  color: var(--e-global-color-primary);
  position: absolute;
  left: 0;
  top: 0;
}

footer .list-custom li:before {
  top:11px;
  color:#FFF;
}


.grecaptcha-badge {
right: -9999px !important;
}

footer .elementor-item-active { text-decoration:underline;
    text-underline-offset: 5px;
}

/* Sticky Header Effect */
.elementor-sticky--active .elementor-widget-container{
    background-color:var(--e-global-color-7c6d664) !important;
}
.elementor-sticky--active #header #header-logo img{
    max-width:120px;
}
.elementor-sticky--active #header .elementor-nav-menu > li > a {
    color:#FFF;
}

/* Footer Effect */
#footer a:hover,
#footer a.active{text-decoration:underline;
    text-underline-offset: 5px;
}

/* -------------------------------------- */
/* FORMULARIO CONTACTO */
/* -------------------------------------- */

/* ===========================
   Variables globales
   =========================== */
:root{
  /* Tipografías */
  --font-primary: var(--e-global-typography-primary-font-family, system-ui), sans-serif;

  /* Colores */
  --color-text-primary: #333333;
  --color-text-secondary: #666666;
  --color-link-privacy: #5e5243;
  --color-input-bg: #f4f5eb;
  --color-input-border: #ebeced;
  --color-placeholder: #333333;
  --color-brand: var(--e-global-color-primary, #0ea5e9);

  /* Alias */
  --cf7--link--color: var(--cf7--link--color, var(--color-brand));
  --cf7--text--color-secondary: var(--cf7--text--color-secondary, var(--color-text-secondary));
}

/* ===========================
   CONTENEDOR GENERAL CF7
   =========================== */

.wpcf7-form {
    width: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: left;
    font-size: 16px;
    color: #717680;
    font-family: Poppins, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Bloque principal del formulario (equivalente a .content / .form-fields) */
.wpcf7-form .block-form > p {
    width: 590px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin: 0;
    gap: 24px;
}

/* Solo ocultamos los <br> usados para maquetar en block-form y avisos */
.wpcf7-form .block-form br,
.wpcf7-form .avisos br {
    display: none;
}

/* Contenedor “* campos obligatorios” */
.wpcf7-form .texto-obligatorio-legal {
    width: 590px;
    max-width: 100%;
    margin-top: 16px;
    margin-bottom: 8px;
    font-size: 14px;
    font-family: "Poppins";
    color: #535862 !important;
}

/* Bloque avisos (checkboxes + botón) */
.wpcf7-form .avisos p {
    width: 590px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    margin: 0;
    color: #535862 !important;
    font-family: "Poppins";
}

/* ===========================
   CAMPOS DE TEXTO / INPUTS
   =========================== */

/* Cada campo envuelto por CF7 */
.wpcf7-form .block-form .wpcf7-form-control-wrap {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* Inputs de texto y email */
.wpcf7-form .block-form input.wpcf7-form-control.wpcf7-text,
.wpcf7-form .block-form input.wpcf7-form-control.wpcf7-email {
    width: 100% !important;
    height: 65px;
    box-shadow: 0px 1px 2px rgba(10, 13, 18, 0.05);
    border-radius: 8px;
    background-color: #fff !important;
    border: 1px solid #d5d7da;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    padding: 10px 14px;
    gap: 8px;
    font-size: 16px;
    line-height: 24px;
    color: #111827 !important;
    font-family: "Poppins" !important;
}

/* Textarea (comentarios) */
.wpcf7-form .block-form textarea.wpcf7-form-control.wpcf7-textarea {
    width: 100%;
    min-height: 160px;
    box-shadow: 0px 1px 2px rgba(10, 13, 18, 0.05);
    border-radius: 8px;
    background-color: #fff !important;
    border: 1px solid #d5d7da;
    padding: 12px 14px;
    box-sizing: border-box;
    font-size: 16px;
    line-height: 24px;
    resize: vertical;
    color: #111827 !important;
    font-family: "Poppins" !important;
}

/* Placeholders */
.wpcf7-form .block-form input::placeholder,
.wpcf7-form .block-form textarea::placeholder {
    color: #9ca3af;
}

/* Estados de foco */
.wpcf7-form .block-form input.wpcf7-form-control:focus,
.wpcf7-form .block-form textarea.wpcf7-form-control:focus {
    outline: none;
    border-color: #1f834c;
    box-shadow: 0 0 0 1px rgba(31, 131, 76, 0.2);
}

/* ===========================
   CHECKBOXES (AVISOS LEGALES)
   =========================== */

/* Alineación del item (label + texto) */
.wpcf7-form .avisos .wpcf7-list-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

/* Label envolvente */
.wpcf7-form .avisos .wpcf7-list-item label {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
}

/* Checkbox base */
.wpcf7-form .avisos input[type="checkbox"] {
    height: 20px;
    width: 20px;
    border-radius: 6px;
    border: 1px solid #d5d7da;
    box-sizing: border-box;
    margin: 2px 0 0;
    appearance: none;
    background-color: #ffffff;
    position: relative;
}

/* Estado focus accesible */
.wpcf7-form .avisos input[type="checkbox"]:focus-visible {
    outline: 2px solid #1f834c;
    outline-offset: 2px;
}

/* Estado checked */
.wpcf7-form .avisos input[type="checkbox"]:checked {
    background-color: #1f834c;
    border-color: #1f834c;
}

/* “Check” visual */
.wpcf7-form .avisos input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    inset: 4px;
    border-radius: 4px;
    background: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 8.5L6.5 12L13 4' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* Texto de aceptación legal */
.wpcf7-form .texto-acepto-legal {
    display: inline-block;
    font-size: 14px;
    line-height: 24px;
    color: #535862 !important;
}

/* Enlaces dentro del texto legal */
.wpcf7-form .texto-acepto-legal a {
    color: #535862 !important;
    text-decoration: underline;
}

/* ===========================
   BOTÓN ENVIAR
   =========================== */

.wpcf7-form input.wpcf7-submit.contact7-button {
    width: 100%;
    height: 65px;
    box-shadow:
        0px 0px 0px 1px rgba(10, 13, 18, 0.18) inset,
        0px -2px 0px rgba(10, 13, 18, 0.05) inset,
        0px 1px 2px rgba(10, 13, 18, 0.05);
    border-radius: 8px;
    background-color: #1f834c;
    border: 2px solid rgba(255, 255, 255, 0.12);
    box-sizing: border-box;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 18px;
    color: #ffffff;
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    cursor: pointer;
}

/* Hover */
.wpcf7-form input.wpcf7-submit.contact7-button:hover:not([disabled]) {
    background-color: #18683c;
}

/* Disabled */
.wpcf7-form input.wpcf7-submit.contact7-button[disabled] {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Spinner al lado del botón */
.wpcf7-form .wpcf7-spinner {
    margin-left: 8px;
}

/* ===========================
   MENSAJES DE ERROR / RESPUESTA CF7
   =========================== */

/* Campo con error */
.wpcf7-form .wpcf7-not-valid {
    border-color: #dc2626 !important;
    box-shadow: 0 0 0 1px rgba(220, 38, 38, 0.15);
}

/* Mensaje bajo el campo */
.wpcf7-form .wpcf7-not-valid-tip {
    font-size: 13px;
    line-height: 18px;
    color: #dc2626;
    margin-top: 4px;
}

/* Bloque de respuesta general CF7 */
.wpcf7-form .wpcf7-response-output {
    width: 590px;
    max-width: 100%;
    margin: 16px auto 0;
    font-size: 14px;
    line-height: 20px;
    border-radius: 8px;
    padding: 10px 14px;
    border-width: 1px;
}

/* Respuesta OK */
.wpcf7-form .wpcf7-response-output.wpcf7-mail-sent-ok {
    border-color: #16a34a;
    background: #ecfdf3;
}

/* Errores / validación */
.wpcf7-form .wpcf7-response-output.wpcf7-validation-errors,
.wpcf7-form .wpcf7-response-output.wpcf7-aborted {
    border-color: #dc2626;
    background: #fef2f2;
}

/* ===========================
   PARTES ÚTILES DEL ESTILO ORIGINAL
   (se mantienen porque no chocan con el nuevo diseño)
   =========================== */

/* Estructura de filas en el contenedor de formulario si existe */
.formulario-contacto .form-row{
  display:flex;
  flex-direction:column;
  flex-wrap:wrap;
  gap:0;
  margin-bottom:0;
  max-width:100%;
  padding:0 !important;
}

/* Anclas de privacidad (si hay bloque .privacy) */
.formulario-contacto .privacy a{
  color:var(--color-link-privacy);
  text-decoration:underline;
}

/* Texto legal general (si se usa .legal-text) */
.formulario-contacto .legal-text{
  font-size:15px;
  line-height:24px;
  color:var(--color-text-secondary);
}

/* Enlaces título (si se usa .title) */
.title a{
  color:var(--cf7--link--color);
  text-transform:uppercase;
}

/* Textos legales genéricos fuera del bloque nuevo (por compatibilidad) */
.texto-acepto-legal,
.texto-obligatorio-legal,
.texto-acepto-legal > a{
  font-size:var(--cf7--input--font-size, 16px) !important;
  font-weight:300 !important;
  color:var(--cf7--text--color-secondary) !important;
}

.texto-acepto-legal > a:hover{
  text-decoration:underline;
  text-underline-offset:4px;
  color:var(--color-brand) !important;
}

/* Submit y listas (no choca con el nuevo botón, solo margen) */
.elementor-element .elementor-shortcode .block-form .wpcf7-submit{
  margin-top:var(--cf7--submit--margin-top, 16px);
}

/* Listas CF7 (checkboxes inline si se usan en otros formularios) */
.elementor-element .elementor-shortcode .block-form .wpcf7-list-item{
  display:inline-block;
  margin-left:0;
}

/* ===========================
   Responsive
   =========================== */

@media (max-width:768px){
  .formulario-contacto .form-group{
    flex:1 1 100% !important;
  }
}

@media (max-width: 640px) {
    .wpcf7-form .block-form > p,
    .wpcf7-form .texto-obligatorio-legal,
    .wpcf7-form .avisos p,
    .wpcf7-form .wpcf7-response-output {
        width: 100%;
    }
}


