/* =========================================================================
   Consolid USA - estilos para el contenido hecho con Elementor
   (paginas y portada). Los colores y fuentes base estan en
   Elementor > Ajustes del sitio.
   ========================================================================= */
.elementor-page main#contenido { overflow: hidden; }
.elementor h1, .elementor h2, .elementor h3 { margin-bottom: 0; }
.elementor .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.elementor .elementor-heading-title { font-family: var(--font-display); font-weight: 800; line-height: 1.2; }
.elementor h2.elementor-heading-title { font-size: clamp(1.6rem, 3vw, 2.4rem); }
.elementor h3.elementor-heading-title { font-size: clamp(1.15rem, 1.7vw, 1.35rem); }
.cu-red { color: var(--amber-500); }
.cu-muted { color: var(--muted); font-size: .92rem; }
.eyebrow { margin-bottom: 4px; }
.eyebrow-center { justify-content: center; width: 100%; }
.eyebrow-center::after { content: ""; width: 34px; height: 2px; background: currentColor; }

/* Los botones del tema no usan el estilo de boton del kit de Elementor */
.site-header .nav-toggle { background: transparent; color: var(--navy-800); border-radius: 12px; padding: 11px; box-shadow: none; border: 0; }
.nav-open .site-header .nav-toggle { color: #fff; }
body .to-top { padding: 0; border-radius: 50%; }
body .lightbox button { padding: 0; border-radius: 50%; background: rgba(255, 255, 255, .1); color: #fff; }
body .lightbox button:hover { background: var(--amber-500); }

/* Encabezados de seccion centrados */
.e-con.cu-section-head { max-width: 780px; margin-inline: auto; }

/* Encabezado de pagina y portada */
.cu-hero .cu-hero-title .elementor-heading-title { font-size: clamp(2.1rem, 4.6vw, 3.4rem) !important; max-width: 900px; }
.elementor .cu-home-title { max-width: 760px !important; }
.cu-home-title .elementor-heading-title { font-size: clamp(2.3rem, 5vw, 3.8rem) !important; }
.elementor .cu-hero-lead { max-width: 680px !important; font-size: clamp(1.05rem, 1.6vw, 1.22rem); }
.elementor-widget-text-editor a:not(.elementor-button) { color: var(--amber-600); }
.cu-panel-dark .elementor-widget-text-editor a, .cu-cta a:not(.elementor-button) { color: #fff; }

/* Botones */
.cu-btn .elementor-button { white-space: nowrap; transition: transform .2s, box-shadow .2s, background .2s, color .2s; }
.cu-btn .elementor-button:hover { transform: translateY(-2px); }
.cu-btn-primary .elementor-button { box-shadow: 0 10px 24px rgba(208, 18, 27, .3); }
.cu-btn-outline .elementor-button { background: transparent !important; color: var(--navy-700) !important; border: 2px solid var(--navy-700); box-shadow: none; }
.cu-btn-outline .elementor-button:hover { background: var(--navy-700) !important; color: #fff !important; }
.cu-btn-ghost .elementor-button { background: transparent !important; color: #fff !important; border: 2px solid rgba(255, 255, 255, .6); }
.cu-btn-ghost .elementor-button:hover { background: #fff !important; color: var(--navy-800) !important; }

/* Imagenes */
.cu-img-w img { border-radius: var(--radius-lg); box-shadow: var(--shadow); width: 100%; }
.cu-img-tall img { aspect-ratio: 4/3; object-fit: cover; box-shadow: var(--shadow-lg); }
.cu-img-card { background: #fff; border-radius: var(--radius-lg); padding: 18px; box-shadow: var(--shadow); }
.cu-img-card img { box-shadow: none; }
.cu-partner img { max-height: 74px; width: auto !important; filter: grayscale(1); opacity: .7; transition: filter .3s, opacity .3s; box-shadow: none; border-radius: 0; }
.cu-partner img:hover { filter: none; opacity: 1; }

/* Estadisticas */
.cu-stats-wrap { margin-top: -70px; position: relative; z-index: 3; }
.cu-stats { background: #fff; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); overflow: hidden; }
.cu-stats > .elementor-widget { flex: 1 1 25%; padding: 32px 18px; border-right: 1px solid var(--line); }
.cu-stats > .elementor-widget:last-child { border-right: 0; }
.cu-stat .elementor-counter-number-wrapper { font-family: var(--font-display); font-weight: 800; font-size: clamp(2rem, 3.4vw, 2.8rem); justify-content: center; }
.cu-stat .elementor-counter-number-prefix, .cu-stat .elementor-counter-number-suffix { color: var(--amber-500); font-size: .5em !important; align-self: flex-end; padding-bottom: .35em; flex-grow: 0; }
.cu-stat .elementor-counter-title { font-size: .92rem !important; line-height: 1.4 !important; text-align: center; margin-top: 8px; }
@media (max-width: 767px) {
	.cu-stats > .elementor-widget { border-right: 0; border-bottom: 1px solid var(--line); }
}

/* Tarjetas con icono */
.cu-card-box { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 30px 28px; transition: transform .3s, box-shadow .3s; }
.cu-card-box:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.cu-iconbox .elementor-icon { background: var(--amber-100); border-radius: 16px; width: 58px; height: 58px; display: inline-grid; place-items: center; font-size: 26px; }
.cu-iconbox .elementor-icon-box-title { margin: 14px 0 8px; }
.cu-iconbox .elementor-icon-box-description { color: var(--muted); font-size: .97rem; line-height: 1.6; }
.cu-product { background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .12); border-radius: var(--radius-lg); padding: 32px 26px; }
.cu-product .elementor-icon { background: rgba(208, 18, 27, .2); }
.cu-product .elementor-icon-box-description { color: #c9d3e3; }
.cu-tag { display: block; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: #ff6b6b; margin-bottom: 6px; }

/* Pasos */
.cu-step { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 26px 22px; }
.cu-step-n { display: block; font-family: var(--font-display); font-weight: 800; font-size: 2.4rem; color: var(--amber-500); line-height: 1; margin-bottom: 12px; }
.cu-step p { font-weight: 600; color: var(--navy-800); line-height: 1.5; }

/* Videos */
.cu-video .elementor-wrapper { border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); }

/* Llamada a la accion */
.cu-cta { background: linear-gradient(120deg, var(--navy-800), var(--navy-600)); border-radius: var(--radius-lg); padding: clamp(36px, 6vw, 64px) !important; position: relative; overflow: hidden !important; }
.cu-cta > .e-con { flex: 1 1 auto; }
.cu-cta::after { content: ""; position: absolute; right: -120px; top: -120px; width: 360px; height: 360px; border-radius: 50%; background: radial-gradient(circle, rgba(208, 18, 27, .5), transparent 70%); pointer-events: none; }
.cu-cta > * { position: relative; z-index: 1; }

/* Paneles y tarjetas de las paginas internas */
.e-con.cu-panel { background: var(--earth-50); border-radius: var(--radius-lg); padding: clamp(24px, 4vw, 40px); }
.e-con.cu-panel-dark { background: var(--navy-800); border-radius: var(--radius-lg); padding: clamp(24px, 4vw, 40px); }
.e-con.cu-feature, .e-con.member, .e-con.card-body { padding: 26px; }
.e-con.cu-feature, .e-con.member, .e-con.card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); }
.e-con.card { padding: 0; overflow: hidden; }
.e-con.card-media img { aspect-ratio: 16/10; object-fit: cover; border-radius: 0; box-shadow: none; }
.e-con.member { text-align: center; align-items: center; }
.e-con.member .avatar { width: 96px; height: 96px; border-radius: 50%; display: grid; place-items: center; margin: 0 auto; background: var(--navy-800); color: #fff; font-family: var(--font-display); font-weight: 800; font-size: 2rem; box-shadow: 0 0 0 5px var(--amber-100); }
.e-con.member .role { color: var(--amber-600); font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.e-con.member a { font-size: .86rem; word-break: break-all; }
.e-con.rep { background: var(--earth-50); border-radius: var(--radius); padding: 20px 22px; }
.e-con.contact-card { background: var(--earth-50); border-radius: var(--radius); padding: 18px 20px; align-items: flex-start; }
.e-con.contact-card h4 { margin: 0 0 2px; }
.e-con.container-narrow { max-width: 880px; margin-inline: auto; }
.cu-icon-w .elementor-icon { background: var(--amber-100); border-radius: 12px; width: 48px; height: 48px; display: grid; place-items: center; font-size: 22px !important; }

/* Galerias */
.cu-gallery .gallery-item img { aspect-ratio: 4/3; object-fit: cover; width: 100%; border-radius: 10px; transition: transform .4s, opacity .3s; }
.cu-gallery .gallery-item a { display: block; overflow: hidden; border-radius: 10px; }
.cu-gallery .gallery-item img:hover { transform: scale(1.05); opacity: .92; }
.cu-gallery .gallery { margin: 0; }

/* Formulario */
.cu-form .elementor-field-group .elementor-field { border: 1.5px solid var(--line) !important; border-radius: 12px !important; background: var(--earth-50) !important; padding: 12px 14px !important; font-size: .97rem; }
.cu-form .elementor-field:focus { border-color: var(--amber-500) !important; background: #fff !important; }
.cu-form .elementor-field-label { font-weight: 600; font-size: .88rem; color: var(--navy-800); }
.e-con:has(> .cu-form) { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); padding: clamp(22px, 4vw, 38px); }

/* Tabla comparativa dentro del editor de texto */
.elementor-widget-text-editor .compare { margin: 0; }
