/**
 * INSTALCOM · Ajustes de diseño 1.2
 * Tipografía (DM Sans en el texto), escala de títulos, duotono, secciones claras,
 * botones principales y secundarios, formularios, iconos, artículos, tarjetas del blog,
 * botones flotantes. Se carga después de instalcom-blueprint.css.
 */

body.ic-bp {
	--ic-y: #F9D900;
	--ic-night: #08071A;
	--ic-indigo: #4136A0;
	--ic-indigo-2: #5B4FD6;
	--ic-navy-ink: #1B1748;
	--ic-light-bg: #F3F2FA;
	--ic-light-line: #E1DEF2;
	--ic-light-text: #4A4870;
	--ic-body: "DM Sans", system-ui, sans-serif;
	--ic-head: "Space Grotesk", sans-serif;
}

html, body.ic-bp { overflow-x: clip; }
body.ic-bp :is(.elementor-image-carousel-wrapper, .seccion__logos .swiper, .elementor-widget-image-carousel .elementor-widget-container) { overflow: hidden; }
body.ic-bp .ic-glow { overflow: clip; }

body.ic-bp .ic-bp-kicker .elementor-heading-title { color: #F9D900 !important; }
body.ic-bp .elementor-location-footer .elementor-view-stacked .elementor-icon { color: #08071A !important; fill: #08071A !important; }

/* Botones sobre amarillo */
body.ic-bp .ic-bp-onyellow .elementor-widget-button:not(#ic_) .elementor-button { background: #08071A !important; color: #F9D900 !important; border-color: #08071A !important; box-shadow: none; }
body.ic-bp .ic-bp-onyellow .elementor-widget-button:not(#ic_) .elementor-button:hover { background: #241E5C !important; border-color: #241E5C !important; color: #FFFFFF !important; }

/* ---------- 1. Tipografía: títulos en Space Grotesk, texto corrido en DM Sans ---------- */
body.ic-bp :is(p, li, label, input, textarea, select, td, th, summary, span, div, a, blockquote, figcaption, dd, dt):not(.elementor-icon):not([class*="eicon"]):not([class*="fa-"]):not(.e-font-icon-svg):not(.dashicons) {
	font-family: var(--ic-body) !important;
}
body.ic-bp :is(h1, h2, h3, h4, h5, h6, .elementor-heading-title, .elementor-heading-title *, .elementor-button, .elementor-button *, button, .ic-btn, .elementor-icon-box-title, .elementor-icon-box-title *, .elementor-image-box-title, .elementor-image-box-title *, .ic-bp-card h3, .ic-bp-stats strong, .elementor-nav-menu--main .elementor-item, .ic-cta-title, .ic-cta-band-title, .ic-company-name, .ic-card-title *, .ic-wa-opt b, .ic-hl h3, .ic-faq-item summary, .ic-faq-item summary *):not(#ic_):not(.e-font-icon-svg) {
	font-family: var(--ic-head) !important;
}
body.ic-bp :is(h1, h2, h3, h4, h5, h6, .elementor-heading-title) * { font-family: inherit !important; }
body.ic-bp :is(.ic-bp-kicker .elementor-heading-title, .ic-bp-kicker .elementor-heading-title *, .ic-kicker, .ic-kicker-mono .elementor-heading-title, .ic-bp-code, .ic-bp-flow, .ic-bp-n, .ic-bp-stats span, .ic-bp-live, .ic-bp-coord, .ic-mono, .ic-mono *, .ic-hl-n, .ic-faq-sub):not(#ic_):not(#ic__) {
	font-family: "JetBrains Mono", ui-monospace, monospace !important;
}
body.ic-bp .elementor-widget-text-editor,
body.ic-bp .elementor-widget-text-editor p,
body.ic-bp .elementor-widget-text-editor li { font-size: 16.5px; line-height: 1.7; }
body.ic-bp .elementor-icon-box-description,
body.ic-bp .elementor-image-box-description { font-size: 15px !important; line-height: 1.6 !important; }

/* ---------- 2. Escala de títulos proporcionada ---------- */
body.ic-bp :is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="single-page"], [data-elementor-type="archive"], [data-elementor-type="footer"], [data-elementor-type="popup"]) :is(h1, h2, h3, h4).elementor-heading-title {
	text-wrap: balance;
	overflow-wrap: anywhere;
	hyphens: manual;
}
body.ic-bp [data-elementor-type="wp-page"] h1.elementor-heading-title,
body.ic-bp [data-elementor-type="single-post"] h1.elementor-heading-title,
body.ic-bp [data-elementor-type="archive"] h1,
body.ic-bp .ic-post-hero h1,
body.ic-bp .ic-h1,
body.ic-bp .ic-bp-hero .ic-bp-h1 .elementor-heading-title {
	font-size: clamp(34px, 4.1vw, 60px) !important;
	line-height: 1.04 !important;
	letter-spacing: -.035em !important;
	font-weight: 700 !important;
}
body.ic-bp [data-elementor-type="single-post"] h1.elementor-heading-title { font-size: clamp(30px, 3.4vw, 50px) !important; }
body.ic-bp [data-elementor-type="wp-page"] h2.elementor-heading-title,
body.ic-bp [data-elementor-type="single-post"] h2.elementor-heading-title,
body.ic-bp [data-elementor-type="archive"] h2.elementor-heading-title,
body.ic-bp .ic-bp-svc .ic-bp-h2 .elementor-heading-title {
	font-size: clamp(28px, 2.8vw, 42px) !important;
	line-height: 1.1 !important;
	letter-spacing: -.025em !important;
	font-weight: 700 !important;
}
body.ic-bp [data-elementor-type="wp-page"] h3.elementor-heading-title,
body.ic-bp [data-elementor-type="single-post"] h3.elementor-heading-title {
	font-size: clamp(19px, 1.55vw, 24px) !important;
	line-height: 1.25 !important;
	letter-spacing: -.015em !important;
}
body.ic-bp [data-elementor-type="wp-page"] :is(h4, h5, h6).elementor-heading-title { font-size: 18px !important; line-height: 1.3 !important; }
/* Los kickers siguen pequeños aunque usen etiqueta de título. */
body.ic-bp .ic-bp-kicker .elementor-heading-title,
body.ic-bp [data-elementor-type] .ic-bp-kicker :is(h1, h2, h3, h4, h5, h6).elementor-heading-title {
	font-size: 13px !important; line-height: 1.5 !important; letter-spacing: .08em !important; font-weight: 600 !important;
	text-transform: uppercase; margin-bottom: 4px;
}
/* Cifras grandes (contadores): sin escala de título. */
body.ic-bp .ic-num .elementor-heading-title { font-size: clamp(36px, 3.6vw, 52px) !important; line-height: 1 !important; }

/* Duotono: la segunda parte del título va en otro tono. */
body.ic-bp .ic-duo { color: var(--ic-y) !important; }
body.ic-bp .ic-bp-onyellow .ic-duo { color: var(--ic-indigo) !important; }

/* Raya amarilla bajo los títulos: dentro del flujo, nunca encima de lo que sigue. */
body.ic-bp .ic-line-draw::after,
.ic-line-draw::after {
	position: static !important; display: block; margin-top: 16px; bottom: auto;
}
body.ic-bp :is(.elementor-widget-heading[style*="center"], .elementor-widget-heading.elementor-align-center, .elementor-widget-heading.ic-center) .ic-line-draw::after { margin-left: auto; margin-right: auto; }
body.ic-bp .elementor-widget-heading .elementor-heading-title[style*="center"]::after,
body.ic-bp .elementor-widget-heading:has(.elementor-heading-title[style*="center"]) .ic-line-draw::after { margin-left: auto; margin-right: auto; }

/* ---------- 3. Logo: sin redondeo, sin recorte, sin animación de cortina ---------- */
body.ic-bp .elementor-widget-theme-site-logo img,
body.ic-bp .ic-logo img,
.ic-popup .elementor-widget-theme-site-logo img,
body.ic-bp .elementor-location-footer .elementor-widget-image img {
	border-radius: 0 !important; clip-path: none !important; object-fit: contain !important; max-height: none;
	overflow: visible; box-shadow: none !important;
}
body.ic-bp .elementor-widget-theme-site-logo,
body.ic-bp .elementor-widget-theme-site-logo .elementor-widget-container,
body.ic-bp .elementor-widget-theme-site-logo a { overflow: visible !important; border-radius: 0 !important; }

/* ---------- 4. Botones: principal (amarillo) y secundario (contorno) ---------- */
body.ic-bp .elementor-button,
body.ic-bp .ic-btn,
.ic-popup .elementor-button {
	border-radius: 12px !important;
	transform: none !important;
	transition: background-color .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease !important;
}
body.ic-bp .elementor-button:hover, .ic-popup .elementor-button:hover { transform: none !important; }
body.ic-bp .elementor-button .elementor-button-content-wrapper,
.ic-popup .elementor-button .elementor-button-content-wrapper { flex-wrap: nowrap !important; white-space: nowrap; align-items: center; }
body.ic-bp .elementor-button .elementor-button-text { white-space: nowrap; }
/* Principal */
body.ic-bp .elementor-widget-button:not(.ic-btn2):not(.ic-ghost):not(.ic-bp-btn-o):not(.ic-textlink) .elementor-button,
body.ic-bp .elementor-field-type-submit .elementor-button,
.ic-popup .elementor-field-type-submit .elementor-button {
	background: var(--ic-y) !important; color: var(--ic-night) !important; border: 1px solid var(--ic-y) !important;
	box-shadow: 0 8px 28px -10px rgba(249, 217, 0, .55);
}
body.ic-bp .elementor-widget-button:not(.ic-btn2):not(.ic-ghost):not(.ic-bp-btn-o):not(.ic-textlink) .elementor-button:hover,
body.ic-bp .elementor-field-type-submit .elementor-button:hover,
.ic-popup .elementor-field-type-submit .elementor-button:hover {
	background: #FFFFFF !important; border-color: #FFFFFF !important; color: var(--ic-night) !important;
	box-shadow: 0 10px 34px -10px rgba(255, 255, 255, .45);
}
/* Secundario */
body.ic-bp .elementor-widget-button:is(.ic-btn2, .ic-bp-btn-o) .elementor-button {
	background: rgba(255, 255, 255, .03) !important; color: #FFFFFF !important; border: 1px solid rgba(255, 255, 255, .28) !important; box-shadow: none;
}
body.ic-bp .elementor-widget-button:is(.ic-btn2, .ic-bp-btn-o) .elementor-button:hover {
	background: rgba(249, 217, 0, .08) !important; border-color: var(--ic-y) !important; color: var(--ic-y) !important;
}
body.ic-bp .elementor-widget-button:is(.ic-btn2, .ic-bp-btn-o) .elementor-button-icon svg { fill: var(--ic-y) !important; }
body.ic-bp .ic-textlink .elementor-button { box-shadow: none !important; }
body.ic-bp .ic-textlink .elementor-button::after { content: none; }
body.ic-bp .ic-textlink .elementor-button .elementor-button-text::after { content: "\00a0→"; display: inline-block; transition: transform .25s ease; }
body.ic-bp .ic-textlink .elementor-button:hover .elementor-button-text::after { transform: translateX(4px); }

/* ---------- 5. Iconos: siempre visibles, con brillo ---------- */
/* Los SVG subidos traen su propio color (violeta oscuro): toman el color del icono. */
body.ic-bp .elementor-icon svg :is(g, path, circle, rect, polygon, ellipse)[fill]:not([fill="none"]):not(defs *),
body.ic-bp .elementor-icon-list-icon svg :is(g, path, circle, rect, polygon, ellipse)[fill]:not([fill="none"]):not(defs *),
.ic-popup .elementor-icon svg :is(g, path, circle, rect, polygon)[fill]:not([fill="none"]):not(defs *) { fill: currentColor !important; }
body.ic-bp .elementor-icon svg :is(path, circle, rect, polygon, line, polyline)[stroke]:not([stroke="none"]),
body.ic-bp .elementor-icon svg [style*="stroke"] { stroke: currentColor !important; }
body.ic-bp .elementor-icon svg [style*="stroke"] { fill: none !important; }
body.ic-bp .elementor-view-stacked .elementor-icon {
	box-shadow: 0 0 0 1px rgba(249, 217, 0, .35), 0 10px 30px -8px rgba(249, 217, 0, .45);
}
body.ic-bp .elementor-view-default .elementor-icon,
body.ic-bp .elementor-icon-list-icon { filter: drop-shadow(0 0 10px rgba(249, 217, 0, .35)); }
body.ic-bp .elementor-view-framed .elementor-icon { box-shadow: 0 0 22px -6px rgba(249, 217, 0, .5); }

/* ---------- 6. Brillos (glows) en secciones oscuras ---------- */
body.ic-bp .ic-glow { position: relative; isolation: isolate; }
body.ic-bp .ic-glow::before {
	content: ""; position: absolute; z-index: -1; pointer-events: none; inset: -10% auto auto -10%; width: 55%; height: 70%;
	background: radial-gradient(closest-side, rgba(91, 79, 214, .32), transparent 70%) !important; background-color: transparent !important; opacity: 1 !important; filter: blur(10px);
}
body.ic-bp .ic-glow::after {
	content: ""; position: absolute; z-index: -1; pointer-events: none; inset: auto -8% -15% auto; width: 45%; height: 60%;
	background: radial-gradient(closest-side, rgba(249, 217, 0, .12), transparent 70%) !important; background-color: transparent !important; opacity: 1 !important; filter: blur(10px);
}
body.ic-bp .ic-bp-card, body.ic-bp .e-loop-item, body.ic-bp .ic-postcard { transition: border-color .3s, box-shadow .3s, background-color .3s; }
body.ic-bp .ic-bp-card:hover { box-shadow: 0 0 0 1px rgba(249, 217, 0, .5), 0 18px 50px -18px rgba(249, 217, 0, .35); transform: none; }

/* ---------- 7. Secciones claras: azul claro con tarjetas blancas ---------- */
body.ic-bp .ic-light {
	--ic-line: var(--ic-light-line);
	background-color: var(--ic-light-bg) !important;
	background-image:
		radial-gradient(700px 380px at 92% 0%, rgba(91, 79, 214, .10), transparent 70%),
		radial-gradient(600px 360px at 0% 100%, rgba(249, 217, 0, .10), transparent 70%),
		linear-gradient(rgba(65, 54, 160, .055) 1px, transparent 1px),
		linear-gradient(90deg, rgba(65, 54, 160, .055) 1px, transparent 1px) !important;
	background-size: auto, auto, 56px 56px, 56px 56px !important;
	color: var(--ic-light-text);
}
body.ic-bp .ic-light :is(.elementor-heading-title, .elementor-heading-title a, h1, h2, h3, h4, h5, h6) { color: var(--ic-navy-ink) !important; }
body.ic-bp .ic-light .ic-duo { color: var(--ic-indigo) !important; }
body.ic-bp .ic-light .ic-bp-kicker .elementor-heading-title,
body.ic-bp .ic-light .ic-kicker { color: var(--ic-indigo) !important; }
body.ic-bp .ic-light :is(.elementor-widget-text-editor, .elementor-widget-text-editor p, .elementor-widget-text-editor li, .elementor-icon-list-text, .elementor-icon-box-description, .elementor-image-box-description, .ic-bp-intro, .ic-bp-intro p) { color: var(--ic-light-text) !important; }
body.ic-bp .ic-light .elementor-widget-text-editor :is(strong, b) { color: var(--ic-navy-ink) !important; }
body.ic-bp .ic-light .elementor-widget-text-editor a:not(.elementor-button) { color: var(--ic-indigo) !important; text-decoration: underline; text-underline-offset: 3px; }
body.ic-bp .ic-light :is(.elementor-icon-box-title, .elementor-icon-box-title a, .elementor-image-box-title, .elementor-image-box-title a) { color: var(--ic-navy-ink) !important; }
body.ic-bp .ic-light :is(.elementor-widget-icon-box, .elementor-widget-icon-list) a:not(.elementor-button) { color: var(--ic-indigo) !important; }
/* Tarjetas */
body.ic-bp .ic-light .e-con.e-child:is([style*="background"], .ic-card-w),
body.ic-bp .ic-light .ic-card-w,
body.ic-bp .ic-light .e-con.e-child.ic-has-bg {
	background-color: #FFFFFF !important; background-image: none !important;
	border: 1px solid var(--ic-light-line) !important; border-radius: 20px !important;
	box-shadow: 0 1px 0 rgba(27, 23, 72, .03), 0 18px 40px -24px rgba(27, 23, 72, .18) !important;
}
body.ic-bp .ic-light .ic-bp-svc .ic-bp-h2 .elementor-heading-title,
body.ic-bp .ic-light.ic-bp-svc .ic-bp-h2 .elementor-heading-title { color: var(--ic-navy-ink) !important; }
body.ic-bp .ic-light .ic-bp-card:first-child h3 { color: #FFFFFF !important; }
body.ic-bp .ic-light .ic-bp-card:last-child h3 { color: var(--ic-night) !important; }
body.ic-bp .ic-light .ic-card-navy {
	background-color: #1B1748 !important; background-image: radial-gradient(420px 260px at 100% 0%, rgba(91, 79, 214, .45), transparent 70%) !important;
	border-color: #1B1748 !important;
}
body.ic-bp .ic-light .ic-card-navy :is(.elementor-heading-title, .elementor-icon-box-title, h3, .ic-bp-card h3) { color: #FFFFFF !important; }
body.ic-bp .ic-light .ic-card-navy :is(p, .elementor-icon-box-description, .elementor-widget-text-editor) { color: #C9C5EE !important; }
body.ic-bp .ic-light .ic-card-yellow { background-color: var(--ic-y) !important; border-color: var(--ic-y) !important; }
body.ic-bp .ic-light .ic-card-yellow :is(.elementor-heading-title, .elementor-icon-box-title, h3, p, .elementor-icon-box-description) { color: var(--ic-night) !important; }
/* Iconos en claro */
body.ic-bp .ic-light .elementor-view-stacked .elementor-icon {
	background-color: #ECEAFB !important; color: var(--ic-indigo) !important; fill: var(--ic-indigo) !important;
	box-shadow: 0 0 0 1px rgba(65, 54, 160, .14), 0 10px 26px -10px rgba(65, 54, 160, .45);
}
body.ic-bp .ic-light .elementor-view-default .elementor-icon,
body.ic-bp .ic-light .elementor-icon-list-icon { color: var(--ic-indigo) !important; filter: none; }
body.ic-bp .ic-light .elementor-icon-list-icon svg { fill: var(--ic-indigo) !important; }
/* Botones en claro */
body.ic-bp .ic-light .elementor-widget-button:not(.ic-btn2):not(.ic-ghost):not(.ic-bp-btn-o):not(.ic-textlink) .elementor-button:hover {
	background: var(--ic-navy-ink) !important; border-color: var(--ic-navy-ink) !important; color: var(--ic-y) !important; box-shadow: 0 10px 30px -12px rgba(27, 23, 72, .5);
}
body.ic-bp .ic-light .elementor-widget-button:is(.ic-btn2, .ic-bp-btn-o, .ic-ghost) .elementor-button {
	background: #FFFFFF !important; color: var(--ic-navy-ink) !important; border: 1px solid #CFCBEA !important;
}
body.ic-bp .ic-light .elementor-widget-button:is(.ic-btn2, .ic-bp-btn-o, .ic-ghost) .elementor-button:hover { border-color: var(--ic-indigo) !important; color: var(--ic-indigo) !important; }
body.ic-bp .ic-light .elementor-widget-button:is(.ic-btn2, .ic-bp-btn-o) .elementor-button-icon svg { fill: var(--ic-indigo) !important; }
body.ic-bp .ic-light .ic-textlink .elementor-button { color: var(--ic-indigo) !important; }
body.ic-bp .ic-light hr, body.ic-bp .ic-light .elementor-divider-separator { border-color: var(--ic-light-line) !important; }
/* Tarjetas de servicios del inicio (01…05) */
body.ic-bp .ic-light .ic-bp-card { background: #FFFFFF; border: 1px solid var(--ic-light-line); color: var(--ic-light-text) !important; box-shadow: 0 18px 40px -26px rgba(27, 23, 72, .25); backdrop-filter: none; }
body.ic-bp .ic-light .ic-bp-card h3 { color: var(--ic-navy-ink); }
body.ic-bp .ic-light .ic-bp-card p { color: var(--ic-light-text); }
body.ic-bp .ic-light .ic-bp-card .ic-bp-n { color: var(--ic-indigo); }
body.ic-bp .ic-light .ic-bp-card .ic-bp-go { color: var(--ic-indigo); font-size: 14px; }
body.ic-bp .ic-light .ic-bp-card:first-child { background: #1B1748; border-color: #1B1748; background-image: radial-gradient(360px 240px at 100% 0%, rgba(91, 79, 214, .5), transparent 70%); }
body.ic-bp .ic-light .ic-bp-card:first-child h3 { color: #FFFFFF; }
body.ic-bp .ic-light .ic-bp-card:first-child :is(p) { color: #C9C5EE; }
body.ic-bp .ic-light .ic-bp-card:first-child :is(.ic-bp-n, .ic-bp-go) { color: var(--ic-y); }
body.ic-bp .ic-light .ic-bp-card:last-child { background: var(--ic-y); border-color: var(--ic-y); }
body.ic-bp .ic-light .ic-bp-card:last-child :is(h3, p, .ic-bp-n, .ic-bp-go) { color: var(--ic-night); }
body.ic-bp .ic-light .ic-bp-card:hover { border-color: var(--ic-indigo); box-shadow: 0 24px 50px -24px rgba(65, 54, 160, .45); }
body.ic-bp .ic-light .ic-bp-flow { color: #6B6894; }
/* Logos de clientes en claro: en su color oscuro */
body.ic-bp .ic-light .seccion__logos img { filter: grayscale(1) contrast(1.1); opacity: .75; }
body.ic-bp .ic-light .seccion__logos .swiper-slide:hover img { filter: none; opacity: 1; }
body.ic-bp .ic-light .elementor-widget-google_maps iframe { filter: none; }
body.ic-bp .ic-light .elementor-widget-image img { box-shadow: 0 24px 50px -28px rgba(27, 23, 72, .45); }
body.ic-bp .ic-light .swiper-pagination-bullet { background: var(--ic-indigo); }

/* ---------- 8. Formularios con diseño ---------- */
body.ic-bp .elementor-widget-form,
.ic-popup .elementor-widget-form { --ic-f-bg: #F7F6FC; }
body.ic-bp .ic-formcard,
body.ic-bp .elementor-widget-form:not(.ic-form-plain) > .elementor-widget-container {
	background: #FFFFFF; border: 1px solid var(--ic-light-line); border-radius: 22px;
	padding: clamp(22px, 3vw, 36px); box-shadow: 0 30px 70px -40px rgba(8, 7, 26, .7);
}
body.ic-bp .elementor-widget-form .elementor-field-group,
.ic-popup .elementor-widget-form .elementor-field-group { margin-bottom: 14px !important; }
body.ic-bp .elementor-widget-form .elementor-field-label,
.ic-popup .elementor-widget-form .elementor-field-label {
	color: var(--ic-navy-ink, #1B1748) !important; font: 600 13px/1.3 "DM Sans", sans-serif !important; letter-spacing: .01em; margin-bottom: 7px !important;
}
body.ic-bp .elementor-widget-form .elementor-mark-required .elementor-field-label::after { color: #D4A900 !important; }
body.ic-bp .elementor-widget-form .elementor-field-group :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), textarea, select),
.ic-popup .elementor-widget-form .elementor-field-group :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), textarea, select) {
	background: var(--ic-f-bg) !important; color: #1B1748 !important; border: 1px solid #DCD9EE !important; border-radius: 12px !important;
	min-height: 50px; padding: 12px 16px !important; font: 400 15px/1.4 "DM Sans", sans-serif !important; box-shadow: none !important;
	transition: border-color .2s, box-shadow .2s, background-color .2s;
}
body.ic-bp .elementor-widget-form textarea, .ic-popup .elementor-widget-form textarea { min-height: 120px; }
body.ic-bp .elementor-widget-form .elementor-field-group :is(input, textarea, select):focus,
.ic-popup .elementor-widget-form .elementor-field-group :is(input, textarea, select):focus {
	outline: none !important; background: #FFFFFF !important; border-color: #4136A0 !important; box-shadow: 0 0 0 4px rgba(65, 54, 160, .14) !important;
}
body.ic-bp .elementor-widget-form :is(input, textarea)::placeholder, .ic-popup .elementor-widget-form :is(input, textarea)::placeholder { color: #9A97B8 !important; }
body.ic-bp .elementor-widget-form input:-webkit-autofill,
body.ic-bp .elementor-widget-form input:-webkit-autofill:hover,
body.ic-bp .elementor-widget-form input:-webkit-autofill:focus,
.ic-popup .elementor-widget-form input:-webkit-autofill {
	-webkit-text-fill-color: #1B1748 !important; -webkit-box-shadow: 0 0 0 1000px #F7F6FC inset !important; caret-color: #1B1748;
	transition: background-color 9999s ease-out 0s;
}
body.ic-bp .elementor-widget-form .elementor-select-wrapper::before,
.ic-popup .elementor-widget-form .elementor-select-wrapper::before { color: #4136A0 !important; }
body.ic-bp .elementor-widget-form .elementor-field-type-acceptance,
.ic-popup .elementor-widget-form .elementor-field-type-acceptance { font-size: 13px; color: #55536F; }
body.ic-bp .elementor-widget-form .elementor-field-type-acceptance label,
.ic-popup .elementor-widget-form .elementor-field-type-acceptance label { color: #55536F !important; font: 400 13px/1.5 "DM Sans", sans-serif !important; }
body.ic-bp .elementor-widget-form .elementor-field-type-acceptance a,
.ic-popup .elementor-widget-form .elementor-field-type-acceptance a { color: #4136A0 !important; text-decoration: underline; }
body.ic-bp .elementor-widget-form input[type="checkbox"], .ic-popup .elementor-widget-form input[type="checkbox"] { accent-color: #4136A0; width: 18px; height: 18px; }
body.ic-bp .elementor-widget-form .elementor-field-type-submit .elementor-button,
.ic-popup .elementor-widget-form .elementor-field-type-submit .elementor-button {
	width: 100%; min-height: 54px; justify-content: center; font: 700 16px/1 "Space Grotesk", sans-serif !important; letter-spacing: .01em;
}
body.ic-bp .elementor-widget-form .elementor-field-type-submit .elementor-button:hover,
.ic-popup .elementor-widget-form .elementor-field-type-submit .elementor-button:hover { background: #1B1748 !important; border-color: #1B1748 !important; color: #F9D900 !important; }
body.ic-bp .elementor-widget-form .elementor-message { font: 500 14px/1.5 "DM Sans", sans-serif; color: #1B1748; }
body.ic-bp .ic-form-head .elementor-heading-title { color: #1B1748 !important; }

/* Popup de cotización */
.ic-popup-form .dialog-widget-content { background: transparent !important; box-shadow: none !important; border-radius: 26px !important; overflow: hidden; }
.ic-popup-form .dialog-message { overflow: visible; }
.ic-quote { border-radius: 26px; overflow: hidden; background: #FFFFFF; }
.ic-quote-aside {
	background-color: #120F33 !important;
	background-image: radial-gradient(520px 320px at 0% 0%, rgba(91, 79, 214, .55), transparent 70%), radial-gradient(380px 260px at 100% 100%, rgba(249, 217, 0, .18), transparent 70%),
		linear-gradient(rgba(124, 116, 230, .10) 1px, transparent 1px), linear-gradient(90deg, rgba(124, 116, 230, .10) 1px, transparent 1px) !important;
	background-size: auto, auto, 40px 40px, 40px 40px !important;
}
.ic-quote-aside .elementor-heading-title { color: #FFFFFF !important; }
.ic-quote-aside .ic-duo { color: #F9D900 !important; }
.ic-quote-aside .elementor-icon-list-text { color: #D6D3F3 !important; font-family: "DM Sans", sans-serif !important; }
.ic-quote-aside .elementor-icon-list-icon svg { fill: #F9D900 !important; }
.ic-quote-aside .ic-kicker-mono .elementor-heading-title { color: #F9D900 !important; font-family: "JetBrains Mono", monospace !important; font-size: 12px !important; letter-spacing: .14em; text-transform: uppercase; }
.ic-quote-form .elementor-widget-form > .elementor-widget-container { box-shadow: none !important; border: 0 !important; padding: 0 !important; }
.ic-quote-form .elementor-heading-title { color: #1B1748 !important; }
.ic-quote-form .ic-sub, .ic-quote-form .ic-sub p { color: #55536F !important; font-family: "DM Sans", sans-serif !important; font-size: 15px; margin: 0; }
.ic-popup-form .dialog-close-button { background: #FFFFFF; border-radius: 10px; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; top: 14px !important; right: 14px !important; box-shadow: 0 6px 18px rgba(8, 7, 26, .18); }
.ic-popup-form .dialog-close-button svg { fill: #1B1748; width: 16px; }
@media (max-width: 767px) {
	.ic-popup-form .dialog-widget-content { border-radius: 0 !important; }
	.ic-quote { border-radius: 0; }
	.ic-quote-aside .elementor-widget-icon-list { display: none; }
}

/* ---------- 9. Header siempre visible con menú a la vista ---------- */
body.ic-bp .ic-header .ic-header-bar { transform: none !important; }
body.ic-bp .ic-topbar { overflow: hidden; max-height: 60px; transition: max-height .35s ease, opacity .25s ease, padding .35s ease; border-bottom: 1px solid rgba(255, 255, 255, .07); }
body.ic-bp.ic-scrolled .ic-topbar { max-height: 0; opacity: 0; padding-top: 0 !important; padding-bottom: 0 !important; border-bottom-color: transparent; }
body.ic-bp .ic-topbar .elementor-icon-list-text { color: #B8B4E0 !important; font-size: 13px !important; }
body.ic-bp .ic-topbar a:hover .elementor-icon-list-text { color: #F9D900 !important; }
body.ic-bp .ic-topbar .elementor-icon-list-icon svg { fill: #F9D900 !important; }
body.ic-bp .ic-topbar .ic-mono .elementor-heading-title { font: 500 11.5px/1 "JetBrains Mono", monospace !important; letter-spacing: .12em; color: #8B86C4 !important; text-transform: uppercase; }
body.ic-bp .ic-header .ic-header-desk { background: rgba(8, 7, 26, .55); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
body.ic-bp.ic-scrolled .ic-header .ic-header-desk { background: rgba(8, 7, 26, .88); }
body.ic-bp .ic-nav .elementor-nav-menu--main .elementor-item {
	font: 600 15px/1 "Space Grotesk", sans-serif !important; color: #FFFFFF !important; padding: 12px 14px !important; letter-spacing: 0;
}
body.ic-bp .ic-nav .elementor-nav-menu--main .elementor-item:hover,
body.ic-bp .ic-nav .elementor-nav-menu--main .elementor-item.elementor-item-active,
body.ic-bp .ic-nav .elementor-nav-menu--main .current-menu-ancestor > .elementor-item { color: #F9D900 !important; }
body.ic-bp .ic-nav .elementor-nav-menu--main .elementor-item::after { background-color: #F9D900 !important; height: 2px !important; bottom: 4px !important; left: 14px !important; right: 14px !important; }
body.ic-bp .ic-nav .elementor-nav-menu--dropdown {
	background: #0E0C26 !important; border: 1px solid rgba(124, 116, 230, .3); border-radius: 14px; padding: 8px; min-width: 260px !important;
	box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .7), 0 0 40px -10px rgba(91, 79, 214, .35);
}
body.ic-bp .ic-nav .elementor-nav-menu--dropdown a { color: #D6D3F3 !important; font: 500 14.5px/1.3 "DM Sans", sans-serif !important; padding: 11px 14px !important; border-radius: 9px; border: 0 !important; }
body.ic-bp .ic-nav .elementor-nav-menu--dropdown a:hover { background: rgba(249, 217, 0, .1) !important; color: #F9D900 !important; }
body.ic-bp .ic-nav .sub-arrow svg { fill: currentColor; width: .7em; }
@media (max-width: 1280px) and (min-width: 1025px) {
	body.ic-bp .ic-nav .elementor-nav-menu--main .elementor-item { padding: 12px 9px !important; font-size: 14px !important; }
	body.ic-bp .ic-header-desk .ic-hide-lg { display: none !important; }
}

/* ---------- 10. Botones flotantes: WhatsApp (derecha) y subir (izquierda) ---------- */
.ic-float { position: fixed; z-index: 9990; bottom: 22px; }
.ic-float-wa { right: 22px; }
.ic-float-top { left: 22px; }
.ic-fab {
	width: 58px; height: 58px; border-radius: 50%; border: 0; cursor: pointer; display: grid; place-items: center; padding: 0;
	transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease, opacity .3s ease;
}
.ic-fab svg { width: 28px; height: 28px; }
.ic-fab-wa { background: #25D366; color: #FFFFFF; box-shadow: 0 10px 30px -6px rgba(37, 211, 102, .65); }
.ic-fab-wa::before { content: ""; position: absolute; inset: 0; border-radius: 50%; box-shadow: 0 0 0 0 rgba(37, 211, 102, .55); animation: ic-pulse 2.4s infinite; pointer-events: none; }
.ic-fab-wa:hover { transform: scale(1.06); }
.ic-fab-wa svg { fill: #FFFFFF; }
.ic-fab-top { width: 48px; height: 48px; background: #14112E; color: #F9D900; border: 1px solid rgba(249, 217, 0, .45); box-shadow: 0 0 24px -6px rgba(249, 217, 0, .45); opacity: 0; pointer-events: none; transform: translateY(12px); }
.ic-fab-top svg { width: 20px; height: 20px; stroke: currentColor; fill: none; }
.ic-fab-top.is-on { opacity: 1; pointer-events: auto; transform: none; }
.ic-fab-top:hover { background: #F9D900; color: #08071A; }
@keyframes ic-pulse { 0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, .55); } 70% { box-shadow: 0 0 0 16px rgba(37, 211, 102, 0); } 100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); } }
.ic-wa-panel {
	position: absolute; right: 0; bottom: 76px; width: 400px; max-width: calc(100vw - 32px); max-height: calc(100vh - 120px); overflow-y: auto;
	background: #0E0C1F; color: #FFFFFF; border: 1px solid rgba(255, 255, 255, .1); border-radius: 26px;
	box-shadow: 0 40px 90px -20px rgba(0, 0, 0, .75), 0 0 0 1px rgba(124, 116, 230, .12);
	transform-origin: bottom right; transform: scale(.94) translateY(12px); opacity: 0; pointer-events: none; transition: transform .28s cubic-bezier(.2, .8, .2, 1), opacity .2s ease;
}
.ic-float-wa.is-open .ic-wa-panel { transform: none; opacity: 1; pointer-events: auto; }
.ic-wa-head {
	position: relative; display: flex; gap: 16px; align-items: flex-start; padding: 24px 22px 20px; border-bottom: 1px solid rgba(255, 255, 255, .08);
	background: radial-gradient(420px 180px at 0% 0%, rgba(91, 79, 214, .45), transparent 70%), radial-gradient(300px 160px at 100% 0%, rgba(37, 211, 102, .14), transparent 70%);
}
.ic-wa-avatar { flex: 0 0 52px; height: 52px; border-radius: 50%; background: #25D366; display: grid; place-items: center; box-shadow: 0 0 0 4px rgba(37, 211, 102, .18), 0 10px 26px -8px rgba(37, 211, 102, .7); }
.ic-wa-avatar svg { width: 26px; height: 26px; fill: #FFFFFF; }
.ic-wa-head strong { display: block; font: 600 19px/1.25 "Space Grotesk", sans-serif; margin: 2px 0 6px; color: #FFFFFF; }
.ic-wa-hours { display: flex; align-items: center; gap: 6px; font: 400 13px/1.4 "DM Sans", sans-serif; color: #B8B4E0; }
.ic-wa-hours svg { width: 14px; height: 14px; flex: none; }
.ic-wa-status { display: inline-flex; align-items: center; gap: 7px; margin-top: 6px; font: 500 12.5px/1 "DM Sans", sans-serif; color: #9FE8BC; }
.ic-wa-status::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: #25D366; box-shadow: 0 0 0 3px rgba(37, 211, 102, .25); }
.ic-wa-status.is-off { color: #B8B4E0; }
.ic-wa-status.is-off::before { background: #8B86C4; box-shadow: none; }
.ic-wa-close { margin-left: auto; flex: 0 0 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .14); background: rgba(255, 255, 255, .04); color: #FFFFFF; display: grid; place-items: center; cursor: pointer; padding: 0; }
.ic-wa-close:hover { border-color: #F9D900; color: #F9D900; }
.ic-wa-close svg { width: 16px; height: 16px; }
.ic-wa-intro { margin: 0; padding: 18px 22px 6px; font: 400 14.5px/1.5 "DM Sans", sans-serif; color: #C9C5EE; }
.ic-wa-list { padding: 10px 16px 6px; display: grid; gap: 10px; }
.ic-wa-opt {
	display: flex; align-items: center; gap: 14px; padding: 12px 14px; border-radius: 16px; text-decoration: none !important;
	background: rgba(255, 255, 255, .035); border: 1px solid rgba(255, 255, 255, .09); color: #FFFFFF !important;
	transition: background-color .2s, border-color .2s;
}
.ic-wa-opt:hover { background: rgba(255, 255, 255, .07); border-color: rgba(249, 217, 0, .55); }
.ic-wa-opt i { flex: 0 0 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: rgba(255, 255, 255, .07); color: #F9D900; }
.ic-wa-opt i svg { width: 20px; height: 20px; }
.ic-wa-opt span { flex: 1; min-width: 0; }
.ic-wa-opt b { display: block; font: 600 15.5px/1.25 "Space Grotesk", sans-serif; color: #FFFFFF; }
.ic-wa-opt small { display: block; margin-top: 2px; font: 400 12.5px/1.35 "DM Sans", sans-serif; color: #9C98C8; }
.ic-wa-opt em { font-style: normal; color: #8B86C4; transition: transform .2s, color .2s; }
.ic-wa-opt:hover em { transform: translateX(3px); color: #F9D900; }
.ic-wa-opt.is-active { background: rgba(37, 211, 102, .1); border-color: rgba(37, 211, 102, .55); }
.ic-wa-opt.is-active i { background: #25D366; color: #FFFFFF; }
.ic-wa-opt.is-active em { color: #FFFFFF; }
.ic-wa-opt.is-form i { color: #B8B4E0; }
.ic-wa-foot { margin: 0; padding: 10px 22px 20px; font: 400 12.5px/1.45 "DM Sans", sans-serif; color: #8B86C4; }
@media (max-width: 767px) {
	.ic-float { bottom: 16px; }
	.ic-float-wa { right: 16px; }
	.ic-float-top { left: 16px; }
	.ic-fab { width: 54px; height: 54px; }
	.ic-fab-top { width: 44px; height: 44px; }
}
@media (prefers-reduced-motion: reduce) { .ic-fab-wa::before { animation: none; } }

/* ---------- 11. Tarjetas del blog ---------- */
body.ic-bp .ic-postcard {
	position: relative; background: #FFFFFF !important; border: 1px solid var(--ic-light-line) !important; border-radius: 20px !important;
	overflow: hidden; height: 100%; box-shadow: 0 18px 40px -28px rgba(8, 7, 26, .5);
}
body.ic-bp .ic-postcard:hover { border-color: #4136A0 !important; box-shadow: 0 26px 60px -30px rgba(65, 54, 160, .6); }
body.ic-bp .ic-postcard .elementor-widget-theme-post-featured-image { overflow: hidden; }
body.ic-bp .ic-postcard .elementor-widget-theme-post-featured-image img { width: 100%; height: 210px !important; object-fit: cover; border-radius: 0 !important; transition: transform .6s ease; clip-path: none !important; }
body.ic-bp .ic-postcard:hover .elementor-widget-theme-post-featured-image img { transform: scale(1.05); }
body.ic-bp .ic-postcard .ic-card-chip { position: absolute; top: 16px; left: 16px; z-index: 2; width: auto !important; margin: 0 !important; }
body.ic-bp .ic-postcard .ic-card-chip .ic-cat {
	display: inline-block; background: #F9D900; color: #08071A !important; font: 700 11.5px/1 "Space Grotesk", sans-serif !important; letter-spacing: .02em;
	padding: 8px 12px; border-radius: 999px; text-decoration: none; box-shadow: 0 8px 20px -8px rgba(8, 7, 26, .6); max-width: 240px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
body.ic-bp .ic-postcard .ic-card-body { padding: 20px 22px 22px !important; gap: 12px; flex-grow: 1; }
body.ic-bp .ic-postcard .ic-card-title .elementor-heading-title,
body.ic-bp .ic-postcard .ic-card-title .elementor-heading-title a { color: #1B1748 !important; font: 700 18px/1.3 "Space Grotesk", sans-serif !important; letter-spacing: -.01em; }
body.ic-bp .ic-postcard .ic-card-title .elementor-heading-title a:hover { color: #4136A0 !important; }
body.ic-bp .ic-postcard .ic-card-excerpt, body.ic-bp .ic-postcard .ic-card-excerpt p { color: #55536F !important; font-size: 14.5px !important; line-height: 1.6 !important; margin: 0; }
body.ic-bp .ic-postcard .ic-card-meta { display: flex; align-items: center; gap: 6px; flex-wrap: nowrap; margin-top: auto; padding-top: 14px; border-top: 1px solid var(--ic-light-line); color: #6B6894; font-size: 13px; }
body.ic-bp .ic-postcard .ic-card-meta time, body.ic-bp .ic-postcard .ic-card-meta span { color: #6B6894 !important; white-space: nowrap; }
body.ic-bp .ic-postcard .ic-card-more { margin-left: auto; white-space: nowrap; color: #4136A0 !important; font: 700 13.5px/1 "Space Grotesk", sans-serif !important; text-decoration: none; }
body.ic-bp .ic-postcard .ic-card-more span { display: inline-block; transition: transform .25s; }
body.ic-bp .ic-postcard:hover .ic-card-more span { transform: translateX(4px); }
body.ic-bp .e-loop-item:has(.ic-postcard) { transform: none !important; }

/* ---------- 12. Artículos: lectura clara y fotos bien diagramadas ---------- */
body.ic-bp .ic-article-wrap { background: transparent; }
body.ic-bp .instalcom-articulo,
body.ic-bp .elementor-widget-theme-post-content.instalcom-articulo {
	background: #FFFFFF; border-radius: 24px; padding: clamp(24px, 4vw, 56px) !important; color: #3F3D63;
	box-shadow: 0 40px 80px -50px rgba(0, 0, 0, .8);
}
body.ic-bp .instalcom-articulo :is(p, li, td, th, dd, dt, figcaption) { color: #3F3D63 !important; font-size: 17px; line-height: 1.75; }
body.ic-bp .instalcom-articulo :is(h2, h3, h4) { color: #1B1748 !important; letter-spacing: -.02em; text-wrap: balance; }
body.ic-bp .instalcom-articulo h2 { font-size: clamp(24px, 2.2vw, 32px) !important; line-height: 1.15 !important; margin: 2.2em 0 .7em; padding-top: 1.1em; border-top: 1px solid #ECEAF6; }
body.ic-bp .instalcom-articulo h2::before { content: ""; display: block; width: 44px; height: 4px; border-radius: 4px; background: #F9D900; margin-bottom: 18px; }
body.ic-bp .instalcom-articulo h3 { font-size: clamp(19px, 1.6vw, 23px) !important; line-height: 1.25 !important; margin: 1.6em 0 .5em; }
body.ic-bp .instalcom-articulo :is(strong, b) { color: #1B1748 !important; }
body.ic-bp .instalcom-articulo a:not(.ic-btn) { color: #4136A0 !important; text-decoration: underline; text-decoration-color: rgba(65, 54, 160, .35); text-underline-offset: 3px; }
body.ic-bp .instalcom-articulo a:not(.ic-btn):hover { text-decoration-color: #4136A0; }
body.ic-bp .instalcom-articulo > .elementor-widget-container > p:first-of-type,
body.ic-bp .instalcom-articulo > p:first-of-type { font-size: 19.5px; line-height: 1.65; color: #1B1748 !important; }
body.ic-bp .instalcom-articulo ul:not(.ic-steps) { list-style: none; padding-left: 0; }
body.ic-bp .instalcom-articulo ul:not(.ic-steps) > li { position: relative; padding-left: 30px; margin: 0 0 10px; }
body.ic-bp .instalcom-articulo ul:not(.ic-steps) > li::before { content: ""; position: absolute; left: 4px; top: .62em; width: 12px; height: 12px; border-radius: 4px; background: #F9D900; box-shadow: 0 0 0 4px rgba(249, 217, 0, .22); }
body.ic-bp .instalcom-articulo ol { counter-reset: ico; list-style: none; padding-left: 0; }
body.ic-bp .instalcom-articulo ol > li { counter-increment: ico; position: relative; padding: 14px 18px 14px 62px; margin: 0 0 10px; background: #F7F6FC; border: 1px solid #ECEAF6; border-radius: 14px; }
body.ic-bp .instalcom-articulo ol > li::before { content: counter(ico, decimal-leading-zero); position: absolute; left: 16px; top: 14px; font: 700 14px/1.75 "JetBrains Mono", monospace; color: #4136A0; }
/* Fotos */
body.ic-bp .instalcom-articulo figure.wp-block-image { margin: 2.2em 0; max-width: 100%; }
body.ic-bp .instalcom-articulo figure.wp-block-image img {
	display: block; width: 100% !important; height: auto; max-height: 520px; object-fit: cover; border-radius: 18px !important;
	box-shadow: 0 24px 50px -30px rgba(27, 23, 72, .55); clip-path: none;
}
body.ic-bp .instalcom-articulo figure.ic-fig-side { float: right; width: min(44%, 380px); margin: .4em 0 1.4em 2em; }
body.ic-bp .instalcom-articulo figure.ic-fig-side img { aspect-ratio: 4 / 3; max-height: none; }
body.ic-bp .instalcom-articulo figure.ic-fig-wide img { aspect-ratio: 16 / 9; }
body.ic-bp .instalcom-articulo :is(h2, h3) { clear: both; }
body.ic-bp .instalcom-articulo figcaption,
body.ic-bp .instalcom-articulo .wp-element-caption {
	display: flex; gap: 10px; align-items: baseline; text-align: left !important; margin: 12px 2px 0 !important;
	font: italic 400 14px/1.5 "DM Sans", sans-serif !important; color: #6B6894 !important;
}
body.ic-bp .instalcom-articulo figcaption::before { content: "▲"; font-style: normal; font-size: 9px; color: #D4A900; transform: rotate(90deg) translateY(-1px); }
body.ic-bp .instalcom-articulo table { width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid #ECEAF6; border-radius: 14px; overflow: hidden; margin: 1.6em 0; }
body.ic-bp .instalcom-articulo th { background: #1B1748 !important; color: #FFFFFF !important; font: 600 14px/1.4 "Space Grotesk", sans-serif !important; text-align: left; padding: 12px 14px; }
body.ic-bp .instalcom-articulo td { padding: 12px 14px; border-top: 1px solid #ECEAF6; font-size: 15px !important; }
body.ic-bp .instalcom-articulo tr:nth-child(even) td { background: #FAF9FE; }
body.ic-bp .instalcom-articulo blockquote { margin: 2em 0; padding: 22px 26px; border-left: 4px solid #F9D900; background: #F7F6FC; border-radius: 0 16px 16px 0; }
body.ic-bp .instalcom-articulo blockquote p { font-size: 19px; color: #1B1748 !important; }
body.ic-bp .instalcom-articulo :is(details, .ic-faq-item) { background: #F7F6FC !important; border: 1px solid #ECEAF6 !important; color: #3F3D63; }
body.ic-bp .instalcom-articulo :is(details, .ic-faq-item) summary { color: #1B1748 !important; }
body.ic-bp .instalcom-articulo .ic-cta-band, body.ic-bp .instalcom-articulo .ic-cta-card { border-radius: 20px; }
body.ic-bp .instalcom-articulo .ic-cta-band :is(p, .ic-cta-band-title) { color: #FFFFFF !important; }
body.ic-bp .instalcom-articulo .ic-company { background: #F7F6FC !important; border-color: #ECEAF6 !important; }
body.ic-bp .instalcom-articulo .ic-company p { color: #3F3D63 !important; }
body.ic-bp .elementor-widget-theme-post-featured-image img { border-radius: 20px !important; }
@media (max-width: 767px) {
	body.ic-bp .instalcom-articulo { border-radius: 18px; }
	body.ic-bp .instalcom-articulo figure.ic-fig-side { float: none; width: 100%; margin: 1.6em 0; }
	body.ic-bp .instalcom-articulo :is(p, li) { font-size: 16.5px; }
}

/* ---------- 13. FAQ re-diagramadas ---------- */
body.ic-bp .ic-faq-head { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(24px, 4vw, 56px); align-items: center; margin: 0 0 40px; }
body.ic-bp .ic-faq-head figure { margin: 0 !important; }
body.ic-bp .ic-faq-head figure img { max-height: 340px !important; aspect-ratio: 4 / 3; }
body.ic-bp .ic-faq-head .ic-faq-intro { margin-bottom: 0 !important; }
body.ic-bp .ic-faq-col { display: grid; gap: 12px; align-content: start; }
@media (max-width: 900px) { body.ic-bp .ic-faq-head { grid-template-columns: minmax(0, 1fr); } }
body.ic-bp .ic-faq-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
body.ic-bp .ic-faq-grid .ic-faq-item { margin: 0 !important; }
body.ic-bp .ic-highlights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 8px 0 36px; }
body.ic-bp .ic-hl {
	position: relative; padding: 26px 24px; border-radius: 20px; background: rgba(20, 17, 46, .72); border: 1px solid rgba(124, 116, 230, .28); overflow: hidden;
}
body.ic-bp .ic-hl::after { content: ""; position: absolute; right: -40px; top: -40px; width: 140px; height: 140px; background: radial-gradient(closest-side, rgba(249, 217, 0, .18), transparent); pointer-events: none; }
body.ic-bp .ic-hl .ic-hl-n { display: inline-block; font: 600 12px/1 "JetBrains Mono", monospace; color: #F9D900; letter-spacing: .1em; margin-bottom: 14px; }
body.ic-bp .ic-hl h3 { margin: 0 0 10px; font: 700 19px/1.25 "Space Grotesk", sans-serif !important; color: #FFFFFF; letter-spacing: -.01em; }
body.ic-bp .ic-hl p, body.ic-bp .ic-hl li { font-size: 15px !important; line-height: 1.6 !important; color: #B8B4E0; margin: 0 0 8px; }
body.ic-bp .ic-hl ul, body.ic-bp .ic-hl ol { margin: 6px 0 0; padding-left: 18px; }
body.ic-bp .ic-hl.is-wide { grid-column: span 2; }
body.ic-bp .ic-hl.is-navy { background: #1B1748; border-color: #2B2570; }
body.ic-bp .ic-hl.is-yellow { background: #F9D900; border-color: #F9D900; }
body.ic-bp .ic-hl.is-yellow :is(h3, p, li, .ic-hl-n, strong) { color: #08071A !important; }
body.ic-bp .ic-light .ic-hl { background: #FFFFFF; border-color: var(--ic-light-line); box-shadow: 0 18px 40px -26px rgba(27, 23, 72, .25); }
body.ic-bp .ic-light .ic-hl h3 { color: #1B1748 !important; }
body.ic-bp .ic-light .ic-hl :is(p, li) { color: #4A4870 !important; }
body.ic-bp .ic-light .ic-hl .ic-hl-n { color: #4136A0; }
body.ic-bp .ic-light .ic-hl.is-navy { background: #1B1748; border-color: #1B1748; }
body.ic-bp .ic-light .ic-hl.is-navy h3 { color: #FFFFFF !important; }
body.ic-bp .ic-light .ic-hl.is-navy :is(p, li) { color: #C9C5EE !important; }
body.ic-bp .ic-light .ic-hl.is-navy .ic-hl-n { color: #F9D900; }
body.ic-bp .ic-light .ic-hl.is-yellow { background: #F9D900; border-color: #F9D900; }
body.ic-bp .ic-light .ic-hl.is-navy a, body.ic-bp .ic-hl.is-navy a { color: #F9D900 !important; }
body.ic-bp .ic-light .ic-hl.is-navy :is(strong, b) { color: #FFFFFF !important; }
body.ic-bp .ic-hl.is-yellow a, body.ic-bp .ic-light .ic-hl.is-yellow a { color: #08071A !important; }
body.ic-bp .ic-light .ic-hl.is-yellow :is(h3, p, li, .ic-hl-n, strong) { color: #08071A !important; }
body.ic-bp .ic-faq-sub { font: 600 12px/1 "JetBrains Mono", monospace !important; letter-spacing: .12em; text-transform: uppercase; color: #F9D900; margin: 8px 0 16px; }
body.ic-bp .ic-light .ic-faq-sub { color: #4136A0; }
body.ic-bp .ic-light .ic-faq-item { background: #FFFFFF !important; border-color: var(--ic-light-line) !important; }
body.ic-bp .ic-light .ic-faq-item summary, body.ic-bp .ic-light .ic-faq-item summary * { color: #1B1748 !important; }
body.ic-bp .ic-light .ic-faq-item :is(p, li) { color: #4A4870 !important; }
body.ic-bp .ic-faq-item summary h3 { font-size: 16.5px !important; line-height: 1.35 !important; }
@media (max-width: 1024px) { body.ic-bp .ic-highlights { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
	body.ic-bp .ic-faq-grid, body.ic-bp .ic-highlights { grid-template-columns: minmax(0, 1fr); }
	body.ic-bp .ic-hl.is-wide { grid-column: auto; }
}

/* ---------- 14. Reseñas y mapa ---------- */
body.ic-bp .ic-reviews-fallback { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; justify-content: space-between; padding: 26px 28px; border-radius: 20px; background: #FFFFFF; border: 1px solid var(--ic-light-line); }
body.ic-bp .ic-reviews-fallback .ic-stars { color: #F5B400; font-size: 22px; letter-spacing: 2px; }
body.ic-bp .ic-reviews-fallback p { margin: 0; color: #4A4870; }
body.ic-bp .ic-reviews-fallback strong { color: #1B1748; font: 700 20px/1.3 "Space Grotesk", sans-serif; display: block; }
body.ic-bp .ic-map iframe { border-radius: 22px !important; min-height: 420px; }
body.ic-bp .ic-map { border-radius: 22px; overflow: hidden; box-shadow: 0 30px 60px -36px rgba(8, 7, 26, .7); }

/* ---------- 15. Políticas y páginas legales ---------- */
body.ic-bp .ic-legal { background: #FFFFFF; border-radius: 24px; padding: clamp(24px, 4vw, 56px) !important; box-shadow: 0 40px 80px -50px rgba(0, 0, 0, .8); }
body.ic-bp .ic-legal :is(p, li, td) { color: #3F3D63 !important; font-size: 16.5px; line-height: 1.75; }
body.ic-bp .ic-legal :is(h1, h2, h3, h4, strong, b) { color: #1B1748 !important; }
body.ic-bp .ic-legal h2 { font-size: clamp(22px, 2vw, 28px) !important; margin: 2em 0 .6em; }
body.ic-bp .ic-legal h3 { font-size: 19px !important; margin: 1.5em 0 .5em; }
body.ic-bp .ic-legal a { color: #4136A0 !important; text-decoration: underline; }
body.ic-bp .ic-legal .ic-legal-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; padding: 14px 18px; border-radius: 14px; background: #F7F6FC; border: 1px solid #ECEAF6; font-size: 14px !important; margin-bottom: 1.6em; }
body.ic-bp .ic-legal .ic-legal-toc { padding: 18px 22px; border-radius: 16px; background: #F7F6FC; border: 1px solid #ECEAF6; margin: 0 0 2em; }
body.ic-bp .ic-legal .ic-legal-toc ol { margin: 8px 0 0; padding-left: 20px; columns: 2; column-gap: 32px; }
body.ic-bp .ic-legal .ic-legal-toc li { font-size: 15px; margin: 0 0 6px; break-inside: avoid; }
@media (max-width: 767px) { body.ic-bp .ic-legal .ic-legal-toc ol { columns: 1; } }

/* ---------- 16. Responsive general ---------- */
@media (max-width: 767px) {
	body.ic-bp [data-elementor-type="wp-page"] h1.elementor-heading-title,
	body.ic-bp .ic-bp-hero .ic-bp-h1 .elementor-heading-title { font-size: clamp(30px, 8.4vw, 40px) !important; }
	body.ic-bp [data-elementor-type="wp-page"] h2.elementor-heading-title { font-size: clamp(25px, 6.6vw, 32px) !important; }
}

/* ---------- 17. Menú del header con megamenú de servicios ---------- */
body.ic-bp .ic-header-desk { position: relative; }
body.ic-bp .ic-mm-wrap, body.ic-bp .ic-mm-wrap .elementor-widget-container, body.ic-bp .ic-mm-wrap .elementor-shortcode { position: static !important; }
.ic-mm-list { display: flex; align-items: center; gap: 2px; list-style: none; margin: 0; padding: 0; }
.ic-mm-item { position: static; margin: 0; }
.ic-mm-link {
	position: relative; display: inline-flex; align-items: center; gap: 6px; padding: 12px 13px; border-radius: 10px;
	font: 600 15px/1 "Space Grotesk", sans-serif !important; color: #FFFFFF !important; text-decoration: none !important; white-space: nowrap;
	transition: color .2s, background-color .2s;
}
.ic-mm-link::after { content: ""; position: absolute; left: 13px; right: 13px; bottom: 5px; height: 2px; border-radius: 2px; background: #F9D900; transform: scaleX(0); transform-origin: left; transition: transform .3s cubic-bezier(.2, .8, .2, 1); }
.ic-mm-item:hover > .ic-mm-link, .ic-mm-item.is-open > .ic-mm-link, .ic-mm-link:focus-visible { color: #F9D900 !important; }
.ic-mm-item:hover > .ic-mm-link::after, .ic-mm-item.is-current > .ic-mm-link::after, .ic-mm-item.is-open > .ic-mm-link::after { transform: scaleX(1); }
.ic-mm-item.is-current > .ic-mm-link { color: #F9D900 !important; }
.ic-mm-caret { width: 12px; height: 12px; transition: transform .25s; }
.ic-mm-item.is-open .ic-mm-caret { transform: rotate(180deg); }
.ic-mm-panel {
	position: absolute; left: 50%; top: calc(100% - 4px); width: min(1260px, calc(100vw - 48px)); transform: translate(-50%, 12px);
	opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .25s ease, transform .35s cubic-bezier(.2, .8, .2, 1), visibility 0s linear .35s; z-index: 50;
	padding-top: 10px;
}
.ic-mm-item.is-open .ic-mm-panel { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0); transition-delay: 0s; }
.ic-mm-inner {
	display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 2.6fr); gap: 28px; padding: 30px; border-radius: 24px;
	background-color: #0B0A21;
	background-image: radial-gradient(600px 300px at 0% 0%, rgba(91, 79, 214, .35), transparent 70%), radial-gradient(500px 260px at 100% 100%, rgba(249, 217, 0, .08), transparent 70%),
		linear-gradient(rgba(124, 116, 230, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(124, 116, 230, .07) 1px, transparent 1px);
	background-size: auto, auto, 40px 40px, 40px 40px;
	border: 1px solid rgba(124, 116, 230, .28); box-shadow: 0 50px 100px -30px rgba(0, 0, 0, .85), 0 0 60px -20px rgba(91, 79, 214, .45);
}
.ic-mm-intro { display: flex; flex-direction: column; gap: 14px; padding: 6px 6px 6px 4px; }
.ic-mm-kicker { margin: 0; font: 600 12px/1 "JetBrains Mono", monospace !important; letter-spacing: .14em; text-transform: uppercase; color: #F9D900; }
.ic-mm-title { margin: 0; font: 700 26px/1.12 "Space Grotesk", sans-serif !important; letter-spacing: -.02em; color: #FFFFFF; }
.ic-mm-title span { color: #F9D900; }
.ic-mm-text { margin: 0; font: 400 14.5px/1.6 "DM Sans", sans-serif !important; color: #B8B4E0; }
.ic-mm-all { margin-top: auto; font: 600 14px/1 "Space Grotesk", sans-serif !important; color: #FFFFFF !important; text-decoration: none !important; }
.ic-mm-all:hover { color: #F9D900 !important; }
.ic-mm-cta { display: inline-flex; justify-content: center; padding: 14px 18px; border-radius: 12px; background: #F9D900; color: #08071A !important; font: 700 15px/1 "Space Grotesk", sans-serif !important; text-decoration: none !important; box-shadow: 0 10px 30px -10px rgba(249, 217, 0, .6); transition: background-color .2s; }
.ic-mm-cta:hover { background: #FFFFFF; }
.ic-mm-cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.ic-mm-cards li { margin: 0; }
.ic-mm-card {
	position: relative; display: grid; grid-template-columns: 76px minmax(0, 1fr); grid-template-rows: auto auto 1fr; column-gap: 14px; row-gap: 4px;
	height: 100%; padding: 12px; border-radius: 16px; text-decoration: none !important; background: rgba(255, 255, 255, .035); border: 1px solid rgba(255, 255, 255, .08);
	transition: background-color .25s, border-color .25s, transform .25s;
}
.ic-mm-card:hover, .ic-mm-card:focus-visible, .ic-mm-card.is-current { background: rgba(255, 255, 255, .07); border-color: rgba(249, 217, 0, .6); }
.ic-mm-thumb { grid-row: 1 / span 3; width: 76px; height: 76px; border-radius: 12px; overflow: hidden; background: #14112E; }
.ic-mm-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; border-radius: 0 !important; }
.ic-mm-card:hover .ic-mm-thumb img { transform: scale(1.08); }
.ic-mm-n { font: 600 11px/1 "JetBrains Mono", monospace !important; color: #F9D900; letter-spacing: .1em; margin-top: 4px; }
.ic-mm-t { font: 600 16px/1.2 "Space Grotesk", sans-serif !important; color: #FFFFFF; padding-right: 18px; }
.ic-mm-d { font: 400 13px/1.45 "DM Sans", sans-serif !important; color: #9C98C8; }
.ic-mm-go { position: absolute; right: 14px; top: 12px; color: #8B86C4; transition: transform .25s, color .25s; }
.ic-mm-card:hover .ic-mm-go { transform: translateX(3px); color: #F9D900; }
.ic-mm-cards li:last-child:nth-child(3n + 2) { grid-column: span 2; }
@media (max-width: 1280px) {
	.ic-mm-link { padding: 12px 9px; font-size: 14px !important; }
	.ic-mm-inner { grid-template-columns: minmax(0, 1fr); }
	.ic-mm-intro { flex-direction: row; flex-wrap: wrap; align-items: center; }
	.ic-mm-text, .ic-mm-title { display: none; }
	.ic-mm-all { margin-top: 0; margin-left: auto; }
}
@media (prefers-reduced-motion: reduce) { .ic-mm-panel { transition: none; } }

/* Barra superior y botones del header */
body.ic-bp .ic-topbar .elementor-icon-list-items { gap: 4px 22px; }
body.ic-bp .ic-header-desk .ic-hbtn .elementor-button { padding: 13px 18px !important; font-size: 14px !important; }
body.ic-bp .ic-header-desk > .e-con-inner { flex-wrap: nowrap !important; }
body.ic-bp .ic-header-desk .ic-logo { flex: 0 0 auto !important; }
body.ic-bp .ic-header-desk .ic-logo img { width: 176px !important; max-width: none !important; height: auto; }
body.ic-bp .ic-header-desk .ic-mm-wrap { flex: 1 1 auto !important; min-width: 0; display: flex; justify-content: center; }
body.ic-bp .ic-header-desk .ic-header-actions { flex: 0 0 auto !important; width: auto !important; }
body.ic-bp .ic-topbar > .e-con-inner { flex-wrap: nowrap !important; gap: 24px; }
body.ic-bp .ic-topbar .ic-mono { flex: 0 1 auto; min-width: 0; }
body.ic-bp .ic-topbar .ic-mono .elementor-heading-title { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.ic-bp .ic-topbar .ic-top-links { flex: 0 0 auto; }
body.ic-bp .ic-topbar .elementor-icon-list-items { flex-wrap: nowrap !important; }
body.ic-bp .ic-topbar .elementor-icon-list-item { white-space: nowrap; }
@media (max-width: 1280px) { body.ic-bp .ic-topbar .ic-mono { display: none; } body.ic-bp .ic-header-desk .ic-logo img { width: 150px !important; } }
/* Hello Elementor pinta los <button> al pasar el mouse: se anula en los flotantes. */
.ic-fab-wa, .ic-fab-wa:hover, .ic-fab-wa:focus { background-color: #25D366 !important; color: #FFFFFF !important; border: 0 !important; }
.ic-fab-top:hover, .ic-fab-top:focus-visible { background-color: #F9D900 !important; color: #08071A !important; }
.ic-fab-top:focus:not(:focus-visible) { background-color: #14112E; color: #F9D900; }
.ic-wa-close:hover, .ic-wa-close:focus { background-color: rgba(255, 255, 255, .06) !important; }
.ic-float-wa.is-open .ic-fab-wa::before { animation: none; }

/* Artículo: categoría como etiqueta pequeña y temas al final */
body.ic-bp .ic-post-chip { width: auto !important; }
body.ic-bp .ic-post-chip .ic-cat { display: inline-block; background: #F9D900; color: #08071A !important; font: 700 12px/1 "Space Grotesk", sans-serif !important; letter-spacing: .04em; text-transform: uppercase; padding: 9px 14px; border-radius: 999px; text-decoration: none; }
body.ic-bp .ic-post-chip .ic-cat:hover { background: #FFFFFF; }
body.ic-bp .ic-post-tags .ic-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 8px; }
body.ic-bp .ic-post-tags .ic-kicker { margin-right: 6px; font-size: 12px; }
body.ic-bp .ic-post-tags .ic-chip { display: inline-block; padding: 8px 14px; border-radius: 999px; border: 1px solid rgba(124, 116, 230, .35) !important; color: #D6D3F3 !important; font: 500 13px/1 "DM Sans", sans-serif !important; text-decoration: none; }
body.ic-bp .ic-post-tags .ic-chip:hover { border-color: #F9D900 !important; color: #F9D900 !important; }
body.ic-bp .instalcom-articulo figure.ic-fig-side:has(+ :is(h2, h3, h4, figure)),
body.ic-bp .instalcom-articulo figure.ic-fig-side:last-child { float: none; width: min(100%, 620px); margin: 2em auto; }
body.ic-bp .instalcom-articulo figure.ic-fig-side:has(+ :is(h2, h3, h4, figure)) img { aspect-ratio: 16 / 10; }
body.ic-bp .ic-light::before { display: none !important; }
body.ic-bp .ic-light .ic-wcard,
body.ic-bp .ic-light .ic-wcard > .elementor-widget-container { background: #FFFFFF !important; background-image: none !important; }
body.ic-bp .ic-light .ic-wcard { border: 1px solid var(--ic-light-line) !important; border-radius: 18px !important; box-shadow: 0 16px 36px -26px rgba(27, 23, 72, .3) !important; overflow: hidden; }
body.ic-bp .ic-light .ic-card-w .elementor-widget-form > .elementor-widget-container { box-shadow: none; border: 0; padding: 0; }

/* ---------- 20. Página de gracias en sección clara ---------- */
body.ic-bp .ic-light .ic-steps li {
	background: #FFFFFF !important; border: 1px solid rgba(41, 35, 92, .1) !important; color: var(--ic-light-text) !important;
	box-shadow: 0 18px 40px -28px rgba(27, 23, 72, .35); border-radius: 18px;
}
body.ic-bp .ic-light .ic-steps li::before { color: var(--ic-indigo); font-family: "Space Grotesk", sans-serif; }
body.ic-bp .ic-light .ic-steps li:first-child { background: var(--ic-navy-ink) !important; color: rgba(255, 255, 255, .8) !important; border-color: transparent !important; }
body.ic-bp .ic-light .ic-steps li:first-child::before { color: var(--ic-y); }
body.ic-bp .ic-light .ic-steps li:first-child strong { color: #FFFFFF; }
body.ic-bp .ic-light .ic-steps strong { color: var(--ic-navy-ink); }
.ic-thanks-note { margin: 40px 0 18px; font: 500 17px/1.6 "DM Sans", sans-serif; color: var(--ic-navy-ink); }
body.ic-bp .ic-thanks .ic-btn { transform: none !important; border-radius: 12px; }
body.ic-bp .ic-btn-sec { background: #FFFFFF !important; color: var(--ic-navy-ink) !important; border: 1px solid rgba(41, 35, 92, .22) !important; box-shadow: none; }
body.ic-bp .ic-btn-sec:hover { border-color: var(--ic-indigo) !important; color: var(--ic-indigo) !important; }
body.ic-bp .ic-map-head { margin-bottom: 28px; }
body.ic-bp .ic-map-head > .e-con:first-child { flex: 1 1 420px; max-width: 680px; }
body.ic-bp .ic-map-head { padding-top: 24px; }
/* Bloques destacados del FAQ en dos columnas tipo mosaico: cada tarjeta mide lo que su texto, sin huecos. */
body.ic-bp .ic-highlights { display: block; columns: 2; column-gap: 16px; }
body.ic-bp .ic-highlights .ic-hl { break-inside: avoid; display: block; margin: 0 0 16px; }
body.ic-bp .ic-hl.is-wide { grid-column: auto; }
@media (max-width: 767px) { body.ic-bp .ic-highlights { columns: 1; } }
/* Íconos sobre fondo amarillo: azul noche, sin brillo. */
body.ic-bp .ic-bp-onyellow .elementor-icon-list-icon,
body.ic-bp .ic-bp-onyellow .elementor-icon-list-icon svg { color: #1B1748 !important; fill: #1B1748 !important; filter: none; }
body.ic-bp .ic-bp-onyellow .elementor-icon-list-icon svg * { fill: currentColor !important; }
body.ic-bp .ic-line-draw.ic-line-center::after { margin-left: auto !important; margin-right: auto !important; }
/* Tarjetas con foto dentro de secciones claras: texto claro sobre el velo. */
body.ic-bp .ic-light .ic-photo :is(.elementor-widget-text-editor, .elementor-widget-text-editor p, .elementor-heading-title) { color: #FFFFFF !important; }
body.ic-bp .ic-light .ic-photo::before { display: block !important; }
/* Títulos dentro de tarjetas: tamaño de tarjeta, nunca cortan palabras. */
body.ic-bp [data-elementor-type="wp-page"] :is(.ic-card-w, .ic-card-yellow, .ic-photo) :is(h2, h3).elementor-heading-title:not(#ic_) {
	font-size: clamp(21px, 1.75vw, 26px) !important; line-height: 1.15 !important; letter-spacing: -.02em !important;
}
body.ic-bp .elementor-heading-title { overflow-wrap: normal; word-break: normal; hyphens: manual; }
body.ic-bp [data-elementor-type="wp-page"] .ic-card-w .elementor-widget-text-editor :is(p, li) { font-size: inherit !important; }
body.ic-bp [data-elementor-type="wp-page"] .ic-card-w > .elementor-widget-text-editor:not(#ic_) { font-size: 15px !important; line-height: 1.6 !important; }
body.ic-bp .ic-card-w > .elementor-widget-button.ic-textlink:last-child { margin-top: auto; }
