/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/* =========================
   CONTENEDOR POPUP
   ========================= */

#popmake-3871 .zlf-form {
  background: #ffffff;
  padding: 32px 28px;
  border-radius: 20px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.12);
  font-family: Arial, sans-serif;
}

#popmake-3871 .zlf-form h2 {
  margin: 0 0 24px;
  font-size: 30px;
  line-height: 1.15;
  font-weight: 700;
  color: #0f172a;
  text-align: center;
}

/* =========================
   ESTRUCTURA
   ========================= */

#popmake-3871 .zlf-row {
  display: flex;
  gap: 14px;
  margin-bottom: 14px;
}

#popmake-30455 .zlf-field {
  width: 100%;
  margin-bottom: 14px;
}

#popmake-30455 .zlf-row .zlf-field {
  margin-bottom: 0;
}

/* =========================
   INPUTS
   ========================= */

#popmake-3871 .zlf-input {
  width: 100%;
  height: 52px;
  padding: 0 16px;
  border: 1px solid #dbe2ea;
  border-radius: 12px;
  background: #f8fafc;
  font-size: 15px;
  color: #0f172a;
  outline: none;
  box-sizing: border-box;
  transition: all 0.25s ease;
}

#popmake-3871 .zlf-input::placeholder {
  color: #64748b;
  opacity: 1;
}

#popmake-3871 .zlf-input:focus {
  border-color: #2563eb;
  background: #ffffff;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

/* Forzar ancho correcto en CF7 */
#popmake-3871 .zlf-field .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

#popmake-3871 .zlf-field .wpcf7-form-control {
  width: 100%;
}

/* =========================
   LEGAL
   ========================= */

#popmake-3871 .zlf-legal {
  margin: 18px 0 18px;
  font-size: 13px;
  line-height: 1.5;
  color: #334155;
}

#popmake-3871 .zlf-legal .wpcf7-list-item {
  margin: 0;
  display: block;
}

#popmake-3871 .zlf-legal label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
}

#popmake-3871 .zlf-legal input[type="checkbox"] {
  margin: 3px 0 0;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  accent-color: #2563eb;
}

#popmake-3871 .zlf-legal a {
  color: #2563eb;
  text-decoration: none;
  font-weight: 600;
}

#popmake-3871 .zlf-legal a:hover {
  text-decoration: underline;
}

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

#popmake-3871 .zlf-submit-wrap {
  margin-top: 8px;
}

#popmake-3871 .zlf-submit,
#popmake-3871 input.wpcf7-submit {
  width: 100%;
  min-height: 52px;
  border: 0;
  border-radius: 12px;
  background: #FFD00F;
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  cursor: pointer;
  transition: all 0.25s ease;
  padding: 14px 20px;
  box-sizing: border-box;
}

#popmake-3871 .zlf-submit:hover,
#popmake-3871 input.wpcf7-submit:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(37, 99, 235, 0.25);
  background: #FFD00F !important;
}

#popmake-3871 .zlf-submit:active,
#popmake-3871 input.wpcf7-submit:active {
  transform: translateY(0);
}

/* =========================
   MENSAJES CF7
   ========================= */

#popmake-3871 .wpcf7-not-valid-tip {
  margin-top: 6px;
  font-size: 12px;
  color: #dc2626;
}

#popmake-3871 .wpcf7 form.invalid .zlf-input,
#popmake-3871 .wpcf7 form.unaccepted .zlf-input {
  border-color: #fca5a5;
}

#popmake-3871 .wpcf7-response-output {
  margin: 16px 0 0 !important;
  padding: 12px 14px !important;
  border-radius: 12px;
  font-size: 14px;
  line-height: 1.4;
}

/* =========================
   RESPONSIVE
   ========================= */

@media (max-width: 767px) {
  #popmake-3871 .zlf-form {
    padding: 24px 18px;
    border-radius: 16px;
  }

  #popmake-3871 .zlf-form h2 {
    font-size: 24px;
    margin-bottom: 20px;
  }

  #popmake-3871 .zlf-row {
    flex-direction: column;
    gap: 0;
    margin-bottom: 0;
  }

  #popmake-3871 .zlf-row .zlf-field {
    margin-bottom: 14px;
  }

  #popmake-3871 .zlf-input,
  #popmake-3871 .zlf-submit {
    height: 50px;
    font-size: 15px;
  }
}


/* Contenedor Principal del Popup */
#popmake-3871.pum-container {
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(10px); /* Efecto cristal si el fondo es oscuro */
    border-radius: 20px !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12), 
                0 10px 20px rgba(0, 0, 0, 0.05) !important;
    padding: 30px !important;
    transition: all 0.3s ease-in-out !important;
    overflow: hidden;
}

/* Título (si usas etiquetas h2 o h3 dentro) */
#popmake-3871 .pum-title {
    font-family: 'Inter', sans-serif; /* Asegúrate de tener una fuente moderna */
    font-weight: 700 !important;
    color: #1a1a1a !important;
    font-size: 24px !important;
    margin-bottom: 15px !important;
    text-align: center;
}



/* Estilo para los textos internos */
#popmake-3871 .pum-content {
    color: #4a4a4a !important;
    line-height: 1.6 !important;
    font-size: 16px !important;
}

/* Ajuste para móviles */
@media (max-width: 768px) {
    #popmake-3871.pum-container {
        width: 90% !important;
        padding: 20px !important;
    }
}


/* Estilo base del botón de cierre */
#popmake-3871 .pum-close.popmake-close {
    background-color: #ffffff !important; /* Fondo blanco limpio */
    color: #1a1a1a !important;            /* Icono/Texto casi negro */
    border-radius: 50px !important;       /* Forma de píldora/circular */
    padding: 8px 16px !important;         /* Espaciado interno */
    font-size: 12px !important;           /* Texto pequeño y elegante */
    font-weight: 700 !important;
    text-transform: uppercase !important; /* Mayúsculas modernas */
    letter-spacing: 1px !important;       /* Espaciado entre letras */
    border: 1px solid #eee !important;    /* Borde sutil */
    box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important; /* Sombra suave */    
    
    
    /* Transición suave */
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    cursor: pointer !important;
    line-height: 1 !important;
    outline: none !important;
}

/* Efecto Hover (al pasar el ratón) */
#popmake-3871 .pum-close.popmake-close:hover {
    background-color: #000000 !important; /* Cambia a negro */
    color: #ffffff !important;            /* Texto a blanco */
    transform: translateY(-2px) scale(1.05) !important; /* Flota un poco */
    box-shadow: 0 6px 15px rgba(0,0,0,0.15) !important;
}

/* Efecto Click */
#popmake-3871 .pum-close.popmake-close:active {
    transform: scale(0.95) !important;
}


/**** HEADER NUEVO ******/
/*
#primary { 
  margin: 0;
} */

.ep-site-header{
	position: fixed;
	top: 18px;
	left: 0;
	width: 100%;
	z-index: 9999;
	padding: 0 20px;
	pointer-events: none;
	background: transparent;
}

.ep-header-inner{
	width: 100%;
	max-width: 1300px;
	height: 86px;
	margin: 0 auto;
	padding: 0 22px 0 30px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	background: #6670C9;
	border-radius: 999px;
	pointer-events: auto;
	box-shadow: 0 10px 30px rgba(14, 19, 50, 0.18);
}

.ep-brand{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	flex: 0 0 auto;
	text-decoration: none;
	color: #FFFFFF;
}

.ep-brand:hover,
.ep-brand:focus{
	color: #FFFFFF;
	text-decoration: none;
}

.ep-brand-mark{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 20px;
	color: #FFFFFF;
}

.ep-brand-mark svg{
	display: block;
	width: 18px;
	height: 20px;
}

.ep-brand-text{
	font-family: "Work Sans", sans-serif;
	font-size: 20px;
	line-height: 1;
	font-weight: 400;
	letter-spacing: -0.02em;
	color: #FFFFFF;
}

.ep-brand-text strong{
	font-weight: 700;
}

.ep-nav{
	flex: 1 1 auto;
	display: flex;
	justify-content: center;
	min-width: 0;
}

.ep-menu{
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 24px;
}

.ep-menu .menu-item a{
	font-family: "Work Sans", sans-serif;
	font-size: 14px;
	line-height: 1;
	font-weight: 600;
	color: #FFFFFF;
	text-decoration: none;
	white-space: nowrap;
	transition: opacity .25s ease;
}

.ep-menu .menu-item a:hover,
.ep-menu .menu-item a:focus{
	opacity: .8;
	color: #FFFFFF;
	text-decoration: none;
}

.ep-menu .menu-sep{
	font-family: "Work Sans", sans-serif;
	font-size: 28px;
	line-height: 1;
	font-weight: 300;
	color: rgba(255,255,255,0.95);
	transform: translateY(-1px);
}

.ep-actions{
	display: flex;
	align-items: center;
	gap: 10px;
	flex: 0 0 auto;
}

.ep-btn{
	height: 40px;
	padding: 0 18px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	font-family: "Work Sans", sans-serif;
	font-size: 11px;
	line-height: 1;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	transition: all .25s ease;
	white-space: nowrap;
}

.ep-btn:hover,
.ep-btn:focus{
	text-decoration: none;
}

.ep-btn-contact{
	background: rgba(255,255,255,0.28);
	color: #FFFFFF;
}

.ep-btn-contact:hover,
.ep-btn-contact:focus{
	background: rgba(255,255,255,0.38);
	color: #FFFFFF;
}

.ep-btn-demo{
	background: rgba(55, 61, 114, 0.62);
	border: 1px solid rgba(255,255,255,0.10);
	color: #FFFFFF;
}

.ep-btn-demo:hover,
.ep-btn-demo:focus{
	background: rgba(43, 48, 96, 0.9);
	color: #FFFFFF;
}

/* Para que el contenido no se quede debajo si luego decides ponerlo fixed */
body{
	overflow-x: hidden;
}

@media (max-width: 1366px){
	.ep-header-inner{
		max-width: 100%;
	}
}

@media (max-width: 1024px){
	.ep-site-header{
		top: 14px;
		padding: 0 14px;
	}

	.ep-header-inner{
		height: auto;
		min-height: 86px;
		padding: 18px 20px;
		gap: 18px;
		flex-wrap: wrap;
		border-radius: 30px;
	}

	.ep-brand{
		width: 100%;
		justify-content: center;
	}

	.ep-nav{
		width: 100%;
		order: 3;
	}

	.ep-menu{
		flex-wrap: wrap;
		justify-content: center;
		gap: 16px;
	}

	.ep-actions{
		margin-left: auto;
	}
}

@media (max-width: 767px){
	.ep-header-inner{
		padding: 16px;
	}

	.ep-nav{
		display: none;
	}

	.ep-brand{
		width: auto;
	}

	.ep-actions{
		margin-left: auto;
	}
}