/* Innova SC Formaciones · apoyo para la portada hecha con Elementor */

/* Tipografía del tema en los widgets (sin Google Fonts) */
.elementor .elementor-heading-title,
.elementor .elementor-widget-text-editor,
.elementor .elementor-button,
.elementor .elementor-icon-box-title,
.elementor .elementor-icon-box-description,
.elementor .elementor-toggle-title,
.elementor .elementor-tab-content { font-family: var(--inn-font); }

.elementor .inn-el-text p { margin: 0; }
.elementor .inn-el-text p + p { margin-top: .6em; }

/* Botones del hero: flecha › */
.elementor .inn-el-hbtn .elementor-button { line-height: 1; }

/* Franja de condiciones */
.elementor .inn-el-perk .elementor-icon-box-wrapper { display: flex; align-items: flex-start; gap: 14px; text-align: left; }
.elementor .inn-el-perk .elementor-icon-box-icon { margin: 0 !important; flex: none; }
.elementor .inn-el-perk .elementor-icon-box-title { margin: 0 0 2px; }
.elementor .inn-el-perk .elementor-icon-box-description { margin: 0; }
.elementor .inn-el-perk .elementor-icon { display: flex; }
.elementor .inn-el-perk .elementor-icon svg { width: 1em; height: 1em; }

/* Tarjetas de temas */
.elementor .inn-el-topic { transition: transform .2s; text-decoration: none; }
.elementor .inn-el-topic:hover { transform: translateY(-3px); }

/* Foto con forma orgánica + círculo amarillo */
.elementor .inn-el-blob .elementor-widget-container,
.elementor .inn-el-blob { position: relative; }
.elementor .inn-el-blob::before {
	content: ""; position: absolute; top: -24px; left: -16px; width: 160px; height: 160px;
	border-radius: 50%; background: var(--inn-yellow);
}
.elementor .inn-el-blob img {
	position: relative; display: block; width: 100%; height: auto;
	border-radius: 48% 52% 44% 56% / 58% 46% 54% 42%;
}

/* Pasos */
.elementor .inn-el-text .inn-steps { margin: 0; }

/* Preguntas frecuentes (widget Desplegable / Toggle) */
.elementor .inn-el-faq .elementor-toggle { border-top: 1px solid #E2D3DC; }
.elementor .inn-el-faq .elementor-toggle-item { border-bottom: 1px solid #E2D3DC; margin: 0 !important; }
.elementor .inn-el-faq .elementor-tab-title {
	display: flex; align-items: center; justify-content: space-between; gap: 20px;
	min-height: 64px; padding: 16px 4px !important; border: 0 !important; cursor: pointer;
}
.elementor .inn-el-faq .elementor-toggle-title { color: var(--inn-ink) !important; font-size: 17px; font-weight: 600; text-decoration: none; }
.elementor .inn-el-faq .elementor-toggle-icon { display: none !important; }
.elementor .inn-el-faq .elementor-tab-title::after {
	content: "+"; flex: none; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center;
	border-radius: 50%; background: var(--inn-pink); color: var(--inn-purple);
	font-size: 22px; font-weight: 500; line-height: 1; transition: transform .2s;
}
.elementor .inn-el-faq .elementor-tab-title.elementor-active::after { background: var(--inn-purple); color: #fff; transform: rotate(45deg); }
.elementor .inn-el-faq .elementor-tab-content { padding: 0 4px 22px !important; border: 0 !important; color: var(--inn-muted); }
.elementor .inn-el-faq .elementor-tab-content p { margin: 0 0 .8em; }
.elementor .inn-el-faq .elementor-tab-content p:last-child { margin-bottom: 0; }

/* Shortcodes dentro de Elementor */
.elementor .elementor-widget-shortcode ul.products { margin: 0 !important; }

/* En la web pública, las secciones sin packs ni docentes no se muestran. */
body:not(.elementor-editor-active) .inn-el-packs:not(:has(.inn-pack)),
body:not(.elementor-editor-active) .inn-el-docentes:not(:has(.inn-teacher-card)) { display: none; }

@media (max-width: 520px) {
	.elementor .inn-el-perk .elementor-icon-box-wrapper { flex-direction: column; gap: 8px; }
	.elementor .inn-el-faq .elementor-toggle-title { font-size: 16px; }
}
