/*
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;
}

/* Fix elementor parrafos*/
p:first-of-type {
  margin-block-start: 0;
}

p:last-of-type {
  margin-block-end: 0;
}

/* 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;
  /* espacio para el icono */
  list-style: none !important;
  /* ocultamos el estilo por defecto */
}

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

footer .list-custom li:before {
  top: 13px;
  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: 240px;
}

.elementor-sticky--active #header .elementor-nav-menu>li>a {
  color: var(--e-global-color-5133b4a);
}

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

/* Páginacion noticias */
span.page-numbers.current,
span.page-numbers:hover {
  background-color: var(--e-global-color-primary) !important;
  color: #FFF !important;
}

span.page-numbers {
  padding: 5px 10px;
  min-width: 40px;
  display: inline-block;
  border-radius: 8px;
}

/* Imagen cubrir, cuando esta vinculada como enlace, que cubra */
.elementor-widget-image a {
  width: 100%;
}



/* -------------------------------------- */
/* FORMULARIO CONTACTO */
/* -------------------------------------- */
/* ===========================
   Variables globales
   =========================== */
:root {
  /* TipografÃ­as */
  --font-primary: var(--e-global-typography-primary-font-family);

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

  /* Alias (si ya usas estos en Elementor/CF7 se mantienen) */
  --cf7--link--color: var(--cf7--link--color, var(--color-brand));
  --cf7--text--color-secondary: var(--cf7--text--color-secondary, var(--color-text-secondary));
}

/* ===========================
   CONTACT FORM 7
   =========================== */

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

/* Inputs full width */
.formulario-contacto input[type="text"],
.formulario-contacto input[type="email"],
.formulario-contacto input[type="tel"],
.formulario-contacto select {
  width: 100% !important;
}

.formulario-contacto textarea {
  width: 100% !important;
}

/* Enlaces legales / privacidad */
.formulario-contacto .privacy a {
  color: var(--color-link-privacy);
  text-decoration: underline;
}

.formulario-contacto .legal-text {
  font-size: 15px;
  line-height: 24px;
  color: var(--color-text-secondary);
}

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

/* Campos (inputs, textarea, select) */
.block-form input:not([type="submit"]):not([type="checkbox"]),
.block-form textarea,
.block-form select {
  width: 100%;
  margin-bottom: var(--cf7--input--margin-bottom, 16px) !important;
  padding: 25px 14px;
  border: 1px solid var(--color-input-border);
  border-radius: 8px;
  background-color: var(--color-input-bg) !important;
  color: var(--color-text-primary);
  font-family: var(--font-primary) !important;
  font-size: 14px !important;
  box-shadow: 0 1px 2px 0 var(--Colors-Effects-Shadows-shadow-xs, rgba(10, 13, 18, 0.05));
}

/* Placeholder */
.block-form input::placeholder,
.block-form textarea::placeholder {
  color: var(--color-placeholder) !important;
  font-family: var(--font-primary) !important;
  font-size: 14px !important;
  font-weight: 200;
}

/* Focus */
.block-form input:not([type="submit"]):not([type="checkbox"]):focus-visible,
.block-form textarea:focus-visible,
.block-form select:focus-visible {
  border-color: var(--color-brand);
  outline: 2px solid var(--color-brand);
  outline-offset: 1px;
}

/* Enlaces tÃ­tulo */
.title a {
  color: var(--cf7--link--color);
  text-transform: uppercase;
}

/* Textos legales */
.texto-acepto-legal,
.texto-obligatorio-legal,
.texto-acepto-legal>a {
  font-size: 16px !important;
  font-weight: 200 !important;
  color: var(--color-text-secondary) !important;
}

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

/* Submit y listas */
.elementor-element .elementor-shortcode .block-form .wpcf7-submit {
  margin-top: var(--cf7--submit--margin-top, 16px);
  border: none;
}

.elementor-element .elementor-shortcode .block-form .wpcf7-list-item {
  display: inline-block;
  margin-left: 0;
}

/* Fuente del formulario */
.wpcf7-form {
  font-family: var(--font-primary) !important;
}


/* Cookies */
.cmplz-cookiebanner li:before {
  display: none;
}

.cmplz-cookiebanner .cmplz-links>ul>li {
  padding: 0 !important;
}

/* Newsletter */
#newsletter .form-first-line p {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 24px;
  margin-bottom: 10px;
}

#newsletter .form-first-line input:not([type='submit']) {
  height: 55px;
  width: 250px;
  padding: 10px 14px;
  border-radius: 8px;
  border: 1px solid rgba(153, 153, 153, 0.36);
  background: #FFF;
  box-shadow: 0 1px 2px 0 rgba(10, 13, 18, 0.05);
  color: #666;
  text-overflow: ellipsis;
  font-family: Poppins;
  font-size: 14px;
  font-style: normal;
  font-weight: 300;
  line-height: 24px;
}

#newsletter .form-first-line input[type='submit'] {
  height: 55px;
  width: 250px;
  padding: 10px 14px;
  border-radius: 8px;
  border: 1px solid rgba(153, 153, 153, 0.36);
  box-shadow: 0 1px 2px 0 rgba(10, 13, 18, 0.05);
}

#newsletter .form-second-line p,
#newsletter .form-second-line a {
  font-family: Poppins;
  font-size: 16px;
  font-style: normal;
  font-weight: 300;
  line-height: 26px;
}

#newsletter .form-second-line a:hover {
  color: var(--e-global-color-primary);
}

#newsletter .wpcf7-list-item {
  margin: 0 !important;
}

#newsletter .wpcf7 form .wpcf7-response-output {
  margin: 10px 0;
  text-align: center;
}


@media (max-width:767px) {
  #newsletter .form-first-line input:not([type='submit']) {
    width: 100%;
  }

  #newsletter .form-first-line p {
    display: flex;
    flex-direction: column;
    margin-bottom: 0;
  }

  #newsletter .form-second-line p {
    text-align: center;
  }
}