/**
 * Puente visual: widgets Elementor → diseño SPE original.
 * Aplica en front-end y en el iframe del editor de Elementor.
 */

.spe-theme .header-nav-widget .elementor-widget-container,
.elementor-editor-preview .header-nav-widget .elementor-widget-container,
.spe-theme .header-shell-widget .elementor-widget-container,
.elementor-editor-preview .header-shell-widget .elementor-widget-container,
.spe-theme .elementor-widget-spe_site_header .elementor-widget-container,
.elementor-editor-preview .elementor-widget-spe_site_header .elementor-widget-container {
    padding: 0 !important;
    margin: 0 !important;
}

.spe-theme .elementor-section.header,
.elementor-editor-preview .elementor-section.header {
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(15, 43, 61, 0.05) !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
}

.spe-theme .elementor-section.header > .elementor-container,
.elementor-editor-preview .elementor-section.header > .elementor-container {
    width: 100% !important;
    max-width: 100% !important;
}

.spe-theme .header .nav,
.elementor-editor-preview .header .nav {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.spe-theme .header .nav > a,
.spe-theme .header .dropbtn,
.elementor-editor-preview .header .nav > a,
.elementor-editor-preview .header .dropbtn {
    text-decoration: none;
    color: #334155;
    margin: 0 1.2rem;
    font-weight: 600;
    font-size: 0.95rem;
    padding-bottom: 2px;
    border-bottom: 2px solid transparent;
}

.spe-theme .header .nav > a:hover,
.spe-theme .header .dropdown:hover .dropbtn,
.elementor-editor-preview .header .nav > a:hover,
.elementor-editor-preview .header .dropdown:hover .dropbtn {
    color: #0f2b3d;
    border-bottom-color: #0f2b3d;
}

.spe-theme .header .nav-container,
.elementor-editor-preview .header .nav-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

/* Footer — mismo layout que SPE_Web */
.spe-theme .elementor-widget-spe_site_footer .elementor-widget-container,
.elementor-editor-preview .elementor-widget-spe_site_footer .elementor-widget-container {
    padding: 0 !important;
    margin: 0 !important;
}

.spe-theme .elementor-section.footer-b2b,
.elementor-editor-preview .elementor-section.footer-b2b {
    background: #0f2b3d !important;
    color: #fff !important;
    border-top: 4px solid #00b3b3 !important;
}

.spe-theme .elementor-section.footer-b2b > .elementor-container,
.elementor-editor-preview .elementor-section.footer-b2b > .elementor-container {
    width: 100% !important;
    max-width: 100% !important;
}

.spe-theme .footer-b2b .footer-grid,
.elementor-editor-preview .footer-b2b .footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1.5fr 1.5fr;
    gap: 3rem;
    margin-bottom: 4rem;
}

.spe-theme .footer-b2b .footer-title,
.elementor-editor-preview .footer-b2b .footer-title {
    font-size: 1.2rem;
    color: #fff;
    margin-bottom: 1.5rem;
    font-family: Outfit, sans-serif;
}

.spe-theme .footer-b2b .elementor-widget-container p,
.elementor-editor-preview .footer-b2b .elementor-widget-container p {
    color: inherit;
}

/* Contenedor tipo .container del HTML original */
.spe-theme .spe-container-section > .elementor-container {
    max-width: 1200px !important;
    width: 90% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* EcoFlow — secciones a ancho completo; el .container va dentro de cada widget */
.spe-theme.page-ecoflow .elementor-widget-spe_ecoflow_hero .elementor-widget-container,
.spe-theme.page-ecoflow .elementor-widget-spe_ecoflow_beneficios .elementor-widget-container,
.spe-theme.page-ecoflow .elementor-widget-spe_ecoflow_productos .elementor-widget-container,
.spe-theme.page-ecoflow .elementor-widget-spe_ecoflow_promo .elementor-widget-container,
.spe-theme.page-ecoflow .elementor-widget-spe_ecoflow_contacto .elementor-widget-container,
.spe-theme.page-ecoflow .elementor-widget-spe_ecoflow_whatsapp .elementor-widget-container,
.elementor-editor-preview.page-ecoflow .elementor-widget-spe_ecoflow_hero .elementor-widget-container,
.elementor-editor-preview.page-ecoflow .elementor-widget-spe_ecoflow_beneficios .elementor-widget-container,
.elementor-editor-preview.page-ecoflow .elementor-widget-spe_ecoflow_productos .elementor-widget-container,
.elementor-editor-preview.page-ecoflow .elementor-widget-spe_ecoflow_promo .elementor-widget-container,
.elementor-editor-preview.page-ecoflow .elementor-widget-spe_ecoflow_contacto .elementor-widget-container,
.elementor-editor-preview.page-ecoflow .elementor-widget-spe_ecoflow_whatsapp .elementor-widget-container {
    padding: 0 !important;
    margin: 0 !important;
}

.spe-theme.page-ecoflow .ecoflow-hero-section > .elementor-container,
.spe-theme.page-ecoflow .ecoflow-beneficios-wrap > .elementor-container,
.spe-theme.page-ecoflow .ecoflow-productos-wrap > .elementor-container,
.spe-theme.page-ecoflow .ecoflow-promo-wrap > .elementor-container,
.spe-theme.page-ecoflow .ecoflow-contacto-wrap > .elementor-container,
.spe-theme.page-ecoflow .ecoflow-whatsapp-wrap > .elementor-container,
.elementor-editor-preview.page-ecoflow .ecoflow-hero-section > .elementor-container,
.elementor-editor-preview.page-ecoflow .ecoflow-beneficios-wrap > .elementor-container,
.elementor-editor-preview.page-ecoflow .ecoflow-productos-wrap > .elementor-container,
.elementor-editor-preview.page-ecoflow .ecoflow-promo-wrap > .elementor-container,
.elementor-editor-preview.page-ecoflow .ecoflow-contacto-wrap > .elementor-container,
.elementor-editor-preview.page-ecoflow .ecoflow-whatsapp-wrap > .elementor-container {
    max-width: 100% !important;
    width: 100% !important;
}

.spe-theme.page-ecoflow .ecoflow-hero-section .spe-container-section > .elementor-container,
.spe-theme.page-ecoflow .ecoflow-beneficios-wrap .spe-container-section > .elementor-container,
.spe-theme.page-ecoflow .ecoflow-productos-wrap .spe-container-section > .elementor-container,
.spe-theme.page-ecoflow .ecoflow-promo-wrap .spe-container-section > .elementor-container,
.spe-theme.page-ecoflow .ecoflow-contacto-wrap .spe-container-section > .elementor-container,
.spe-theme.page-ecoflow .ecoflow-whatsapp-wrap .spe-container-section > .elementor-container,
.elementor-editor-preview.page-ecoflow .ecoflow-hero-section .spe-container-section > .elementor-container,
.elementor-editor-preview.page-ecoflow .ecoflow-beneficios-wrap .spe-container-section > .elementor-container,
.elementor-editor-preview.page-ecoflow .ecoflow-productos-wrap .spe-container-section > .elementor-container,
.elementor-editor-preview.page-ecoflow .ecoflow-promo-wrap .spe-container-section > .elementor-container,
.elementor-editor-preview.page-ecoflow .ecoflow-contacto-wrap .spe-container-section > .elementor-container,
.elementor-editor-preview.page-ecoflow .ecoflow-whatsapp-wrap .spe-container-section > .elementor-container {
    max-width: 100% !important;
    width: 100% !important;
}

.spe-theme.page-ecoflow .landing-hero,
.spe-theme.page-ecoflow .promo-banner,
.elementor-editor-preview.page-ecoflow .landing-hero,
.elementor-editor-preview.page-ecoflow .promo-banner {
    width: 100%;
}

/* Elementor aplica width:33%/50% en columnas; dentro de CSS grid hay que llenar la celda */
.spe-theme .elementor-inner-section.solutions-grid-overlap > .elementor-container,
.spe-theme .pilares-section > .elementor-container,
.spe-theme .contact-grid > .elementor-container,
.spe-theme .elementor-inner-section.pilares-grid > .elementor-container,
.spe-theme .elementor-inner-section.grid-2 > .elementor-container,
.elementor-editor-preview .elementor-inner-section.solutions-grid-overlap > .elementor-container,
.elementor-editor-preview .pilares-section > .elementor-container,
.elementor-editor-preview .contact-grid > .elementor-container,
.elementor-editor-preview .elementor-inner-section.pilares-grid > .elementor-container,
.elementor-editor-preview .elementor-inner-section.grid-2 > .elementor-container {
    width: 100% !important;
    max-width: 100% !important;
}

.spe-theme .elementor-inner-section.solutions-grid-overlap > .elementor-container > .elementor-column,
.spe-theme .pilares-section > .elementor-container > .elementor-column,
.spe-theme .contact-grid > .elementor-container > .elementor-column,
.spe-theme .elementor-inner-section.pilares-grid > .elementor-container > .elementor-column,
.spe-theme .elementor-inner-section.grid-2 > .elementor-container > .elementor-column,
.elementor-editor-preview .elementor-inner-section.solutions-grid-overlap > .elementor-container > .elementor-column,
.elementor-editor-preview .pilares-section > .elementor-container > .elementor-column,
.elementor-editor-preview .contact-grid > .elementor-container > .elementor-column,
.elementor-editor-preview .elementor-inner-section.pilares-grid > .elementor-container > .elementor-column,
.elementor-editor-preview .elementor-inner-section.grid-2 > .elementor-container > .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    min-width: 0 !important;
}

/* Reset tipografía/colores Elementor → variables SPE */
.spe-theme.elementor-page,
.spe-theme .elementor,
.elementor-editor-preview .spe-theme {
    font-family: Inter, sans-serif;
    color: #334155;
}

/* Font Awesome 6: Elementor a veces renderiza solo fa-* sin fas/fab/far */
.spe-theme .elementor-icon i[class^="fa-"]:not(.fas):not(.far):not(.fab),
.spe-theme .elementor-icon-list-icon i[class^="fa-"]:not(.fas):not(.far):not(.fab),
.spe-theme .elementor-button-icon i[class^="fa-"]:not(.fas):not(.far):not(.fab),
.elementor-editor-preview .elementor-icon i[class^="fa-"]:not(.fas):not(.far):not(.fab),
.elementor-editor-preview .elementor-icon-list-icon i[class^="fa-"]:not(.fas):not(.far):not(.fab),
.elementor-editor-preview .elementor-button-icon i[class^="fa-"]:not(.fas):not(.far):not(.fab) {
    font-family: "Font Awesome 6 Free", "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    font-style: normal !important;
    display: inline-block;
    line-height: 1;
}

.spe-theme .elementor-icon i.fab,
.spe-theme .elementor-icon-list-icon i.fab,
.elementor-editor-preview .elementor-icon i.fab,
.elementor-editor-preview .elementor-icon-list-icon i.fab {
    font-family: "Font Awesome 6 Brands", "Font Awesome 5 Brands" !important;
    font-weight: 400 !important;
}

.spe-theme .elementor-widget-heading .elementor-heading-title {
    font-family: Outfit, sans-serif;
    color: #0f2b3d;
}

/* Botones SPE — la clase va en el widget wrapper; estilos solo en .elementor-button */
.spe-theme .elementor-widget-button.btn-outline-dark,
.spe-theme .elementor-widget-button.btn-primary,
.spe-theme .elementor-widget-button.btn-hero,
.spe-theme .elementor-widget-button.btn-hero-solid,
.spe-theme .elementor-widget-button.btn-accent,
.spe-theme .elementor-widget-button.btn-sm,
.elementor-editor-preview .elementor-widget-button.btn-outline-dark,
.elementor-editor-preview .elementor-widget-button.btn-primary,
.elementor-editor-preview .elementor-widget-button.btn-hero,
.elementor-editor-preview .elementor-widget-button.btn-hero-solid,
.elementor-editor-preview .elementor-widget-button.btn-accent,
.elementor-editor-preview .elementor-widget-button.btn-sm {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.spe-theme .elementor-widget-button .elementor-button,
.elementor-editor-preview .elementor-widget-button .elementor-button {
    border-radius: 50px !important;
    font-weight: 600 !important;
    font-family: Inter, sans-serif !important;
    transition: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    box-shadow: none !important;
    outline: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    text-decoration: none !important;
    line-height: 1.2 !important;
    border: none !important;
    background-image: none !important;
}

.spe-theme .elementor-widget-button.btn-primary .elementor-button,
.elementor-editor-preview .elementor-widget-button.btn-primary .elementor-button {
    background-color: #0f2b3d !important;
    color: #fff !important;
    border: none !important;
    padding: 14px 28px !important;
    font-size: 1rem !important;
}

.spe-theme .elementor-widget-button.btn-primary .elementor-button:hover,
.elementor-editor-preview .elementor-widget-button.btn-primary .elementor-button:hover {
    background-color: #081721 !important;
    color: #fff !important;
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(15, 43, 61, 0.3) !important;
}

.spe-theme .elementor-widget-button.btn-outline-dark .elementor-button,
.elementor-editor-preview .elementor-widget-button.btn-outline-dark .elementor-button {
    background: transparent !important;
    color: #334155 !important;
    border: 1px solid #64748b !important;
    padding: 14px 28px !important;
    font-size: 1rem !important;
}

.spe-theme .elementor-widget-button.btn-outline-dark .elementor-button:hover,
.elementor-editor-preview .elementor-widget-button.btn-outline-dark .elementor-button:hover {
    background: #0f2b3d !important;
    color: #fff !important;
    border-color: #0f2b3d !important;
    transform: translateY(-3px);
}

.spe-theme .elementor-widget-button.btn-hero-solid .elementor-button,
.elementor-editor-preview .elementor-widget-button.btn-hero-solid .elementor-button {
    background: #00b3b3 !important;
    color: #0f2b3d !important;
    border: 2px solid #00b3b3 !important;
    padding: 16px 32px !important;
    font-size: 1.1rem !important;
}

.spe-theme .elementor-widget-button.btn-hero-solid .elementor-button:hover,
.elementor-editor-preview .elementor-widget-button.btn-hero-solid .elementor-button:hover {
    background: #fff !important;
    color: #0f2b3d !important;
    border-color: #fff !important;
    box-shadow: 0 0 20px rgba(0, 179, 179, 0.4) !important;
}

.spe-theme .elementor-widget-button.btn-hero .elementor-button,
.elementor-editor-preview .elementor-widget-button.btn-hero .elementor-button {
    background: transparent !important;
    color: #fff !important;
    border: 2px solid #fff !important;
    padding: 16px 32px !important;
    font-size: 1.1rem !important;
}

.spe-theme .elementor-widget-button.btn-hero .elementor-button:hover,
.elementor-editor-preview .elementor-widget-button.btn-hero .elementor-button:hover {
    background: #00b3b3 !important;
    color: #fff !important;
    border-color: #00b3b3 !important;
}

.spe-theme .elementor-widget-button.btn-accent .elementor-button,
.elementor-editor-preview .elementor-widget-button.btn-accent .elementor-button {
    background: #00b3b3 !important;
    color: #fff !important;
    border: none !important;
    padding: 14px 28px !important;
}

.spe-theme .elementor-widget-button.btn-sm .elementor-button,
.elementor-editor-preview .elementor-widget-button.btn-sm .elementor-button {
    padding: 10px 22px !important;
    font-size: 0.95rem !important;
}

.spe-theme .elementor-widget-button.btn-primary.btn-sm .elementor-button,
.elementor-editor-preview .elementor-widget-button.btn-primary.btn-sm .elementor-button {
    padding: 10px 22px !important;
    font-size: 0.95rem !important;
}

/* Hero */
.spe-theme .hero.design-hero.video-hero,
.elementor-editor-preview .hero.design-hero.video-hero {
    position: relative;
    overflow: hidden;
    color: #fff;
}

/* Match SPE original .hero-bg-overlay: dark blue gradient over video */
.spe-theme .hero.design-hero.video-hero > .elementor-background-overlay,
.elementor-editor-preview .hero.design-hero.video-hero > .elementor-background-overlay {
    background: linear-gradient(
        to right,
        rgba(15, 43, 61, 0.95) 0%,
        rgba(15, 43, 61, 0.5) 100%
    ) !important;
    opacity: 1 !important;
}

.spe-theme .hero.design-hero .hero-content > .elementor-widget-wrap,
.elementor-editor-preview .hero.design-hero .hero-content > .elementor-widget-wrap {
    max-width: 650px;
    position: relative;
    z-index: 2;
}

.spe-theme .hero-catalog .hero-catalog-title .elementor-heading-title,
.spe-theme .hero-catalog .elementor-heading-title,
.elementor-editor-preview .hero-catalog .hero-catalog-title .elementor-heading-title,
.elementor-editor-preview .hero-catalog .elementor-heading-title {
    font-size: clamp(3rem, 6vw, 4.5rem) !important;
    line-height: 1.1 !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    margin-bottom: 1.5rem !important;
    font-weight: 800 !important;
}

.spe-theme .hero-catalog .hero-catalog-intro,
.spe-theme .hero-catalog .hero-catalog-intro p,
.elementor-editor-preview .hero-catalog .hero-catalog-intro,
.elementor-editor-preview .hero-catalog .hero-catalog-intro p {
    color: #cbd5e1 !important;
}

.spe-theme .hero.design-hero .elementor-heading-title,
.elementor-editor-preview .hero.design-hero .elementor-heading-title {
    font-size: clamp(2rem, 5vw, 4.5rem) !important;
    line-height: 1.1 !important;
    text-transform: uppercase !important;
    color: #fff !important;
    margin-bottom: 1.5rem !important;
}

.spe-theme .hero.design-hero .hero-subtitle,
.elementor-editor-preview .hero.design-hero .hero-subtitle {
    font-size: 1.15rem;
    color: #e2e8f0;
    margin-bottom: 2.5rem;
    line-height: 1.6;
}

.spe-theme .hero.design-hero .hero-actions > .elementor-container,
.elementor-editor-preview .hero.design-hero .hero-actions > .elementor-container {
    display: flex !important;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
    width: auto !important;
}

.spe-theme .hero.design-hero .hero-actions > .elementor-container > .elementor-column,
.elementor-editor-preview .hero.design-hero .hero-actions > .elementor-container > .elementor-column {
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
}

/* Soluciones overlap */
.spe-theme .solutions-overlap-section,
.elementor-editor-preview .solutions-overlap-section {
    padding: 0 0 5rem !important;
    position: relative;
    margin-top: -8rem;
    z-index: 10;
}

.spe-theme .solutions-grid-overlap > .elementor-container,
.elementor-editor-preview .solutions-grid-overlap > .elementor-container {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 2rem !important;
    align-items: stretch !important;
}

/* Una sola card: estilos en la columna (.overlap-card); el widget-wrap es transparente */
.spe-theme .elementor-column.overlap-card,
.elementor-editor-preview .elementor-column.overlap-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    height: 100% !important;
}

.spe-theme .elementor-column.overlap-card > .elementor-widget-wrap,
.elementor-editor-preview .elementor-column.overlap-card > .elementor-widget-wrap {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    min-height: 100% !important;
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}

.spe-theme .elementor-column.overlap-card:hover > .elementor-widget-wrap,
.elementor-editor-preview .elementor-column.overlap-card:hover > .elementor-widget-wrap {
    transform: none !important;
    box-shadow: none !important;
}

.spe-theme .overlap-card .elementor-widget-container,
.elementor-editor-preview .overlap-card .elementor-widget-container {
    padding: 0;
    margin: 0;
    background: transparent;
    border: none;
    box-shadow: none;
}

.spe-theme .overlap-card .icon-circle,
.elementor-editor-preview .overlap-card .icon-circle {
    width: 64px;
    height: 64px;
    background: #f1f5f9;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
    font-size: 1.8rem;
    color: #0f2b3d;
}

.spe-theme .overlap-card .icon-circle i,
.elementor-editor-preview .overlap-card .icon-circle i {
    color: #0f2b3d;
    font-size: 1.8rem;
}

.spe-theme .overlap-card .elementor-widget-heading .elementor-heading-title,
.elementor-editor-preview .overlap-card .elementor-widget-heading .elementor-heading-title {
    font-size: 1.5rem !important;
    margin-bottom: 0.5rem !important;
    color: #0f2b3d !important;
    text-align: left !important;
}

.spe-theme .overlap-card .card-intro,
.elementor-editor-preview .overlap-card .card-intro {
    font-size: 1rem;
    color: #00b3b3;
    margin-bottom: 1rem;
    text-align: left;
}

.spe-theme .overlap-card .elementor-widget-text-editor p,
.elementor-editor-preview .overlap-card .elementor-widget-text-editor p {
    font-size: 0.95rem;
    color: #64748b;
    margin-bottom: 1rem;
    text-align: left;
}

.spe-theme .overlap-card .feature-list-check,
.elementor-editor-preview .overlap-card .feature-list-check {
    list-style: none;
    padding: 0;
    margin: 0 0 2rem;
    text-align: left;
}

.spe-theme .overlap-card .feature-list-check li,
.elementor-editor-preview .overlap-card .feature-list-check li {
    margin-bottom: 0.5rem;
    font-size: 0.9rem;
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    color: #334155;
    font-weight: 500;
}

.spe-theme .overlap-card .feature-list-check i,
.elementor-editor-preview .overlap-card .feature-list-check i {
    color: #00b3b3;
    margin-top: 3px;
}

.spe-theme .overlap-card .elementor-widget-button,
.elementor-editor-preview .overlap-card .elementor-widget-button {
    margin-top: auto;
}

.spe-theme .overlap-card .elementor-button-wrapper,
.elementor-editor-preview .overlap-card .elementor-button-wrapper {
    margin-top: auto;
    width: auto;
}

.spe-theme .overlap-card .elementor-widget-button.btn-outline-dark .elementor-button,
.elementor-editor-preview .overlap-card .elementor-widget-button.btn-outline-dark .elementor-button {
    width: auto;
}

/* Pilares corporativos — widgets nativos Elementor */
.spe-theme .section.pilares-section,
.elementor-editor-preview .section.pilares-section {
    padding: 0 !important;
    background-color: #020617 !important;
}

.spe-theme .pilares-section > .elementor-container,
.spe-theme .pilares-grid > .elementor-container,
.elementor-editor-preview .pilares-section > .elementor-container,
.elementor-editor-preview .pilares-grid > .elementor-container {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: none !important;
    width: 100% !important;
    flex-wrap: unset !important;
}

.spe-theme .pilares-section > .elementor-container > .elementor-column.pillar-card,
.elementor-editor-preview .pilares-section > .elementor-container > .elementor-column.pillar-card {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 100%;
}

.spe-theme .pilares-section .pillar-card > .elementor-widget-wrap,
.elementor-editor-preview .pilares-section .pillar-card > .elementor-widget-wrap {
    flex: 1 1 auto;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 5rem 4rem !important;
    margin: 0 !important;
    background: #0f172a !important;
    border-right: 1px solid rgba(255, 255, 255, 0.05) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    width: 100%;
    min-height: 100%;
    transition: background 0.3s ease;
}

.spe-theme .pilares-section .pillar-card:last-child > .elementor-widget-wrap,
.elementor-editor-preview .pilares-section .pillar-card:last-child > .elementor-widget-wrap {
    border-right: none !important;
}

.spe-theme .pilares-section .pillar-card:hover > .elementor-widget-wrap,
.elementor-editor-preview .pilares-section .pillar-card:hover > .elementor-widget-wrap {
    background: #1e293b !important;
}

.spe-theme .pilares-section .pillar-card .elementor-widget,
.elementor-editor-preview .pilares-section .pillar-card .elementor-widget {
    margin-bottom: 0 !important;
    width: 100%;
}

.spe-theme .pilares-section .pillar-card .elementor-widget-container,
.elementor-editor-preview .pilares-section .pillar-card .elementor-widget-container {
    padding: 0 !important;
    margin: 0 !important;
}

.spe-theme .pilares-section .pillar-icon-widget .elementor-icon,
.spe-theme .pilares-section .pillar-icon-widget .elementor-icon svg,
.elementor-editor-preview .pilares-section .pillar-icon-widget .elementor-icon,
.elementor-editor-preview .pilares-section .pillar-icon-widget .elementor-icon svg {
    font-size: 2.5rem !important;
    width: 2.5rem !important;
    height: 2.5rem !important;
    color: #00b3b3 !important;
    fill: #00b3b3 !important;
    margin-bottom: 1.5rem;
}

.spe-theme .pilares-section .pillar-title .elementor-heading-title,
.elementor-editor-preview .pilares-section .pillar-title .elementor-heading-title {
    font-size: 1.8rem !important;
    color: #fff !important;
    margin: 0 0 1rem !important;
    line-height: 1.2 !important;
}

.spe-theme .pilares-section .pillar-desc p,
.elementor-editor-preview .pilares-section .pillar-desc p {
    color: #94a3b8 !important;
    font-size: 1.05rem;
    line-height: 1.6;
    margin: 0 0 2.5rem !important;
}

.spe-theme .pilares-section .pillar-link-btn,
.elementor-editor-preview .pilares-section .pillar-link-btn {
    margin-top: auto !important;
    align-self: flex-start;
}

.spe-theme .pilares-section .pillar-link-btn .elementor-button,
.elementor-editor-preview .pilares-section .pillar-link-btn .elementor-button {
    background: transparent !important;
    border: none !important;
    border-bottom: 2px solid #00b3b3 !important;
    border-radius: 0 !important;
    padding: 0 0 4px 0 !important;
    color: #fff !important;
    font-weight: 600 !important;
    font-size: 1.1rem !important;
    box-shadow: none !important;
    min-height: 0 !important;
    line-height: 1.4 !important;
}

.spe-theme .pilares-section .pillar-link-btn .elementor-button:hover,
.elementor-editor-preview .pilares-section .pillar-link-btn .elementor-button:hover {
    background: transparent !important;
    color: #00b3b3 !important;
}

.spe-theme .pilares-section .pillar-link-btn .elementor-button-icon,
.spe-theme .pilares-section .pillar-link-btn .elementor-button svg,
.elementor-editor-preview .pilares-section .pillar-link-btn .elementor-button-icon,
.elementor-editor-preview .pilares-section .pillar-link-btn .elementor-button svg {
    font-size: 0.9rem;
    width: 0.9rem;
    height: 0.9rem;
    fill: currentColor;
}

/* Icon circle — widget Icon nativo */
.spe-theme .icon-circle-widget .elementor-icon-wrapper,
.elementor-editor-preview .icon-circle-widget .elementor-icon-wrapper {
    display: inline-flex;
}

.spe-theme .icon-circle-widget .elementor-icon,
.elementor-editor-preview .icon-circle-widget .elementor-icon {
    width: 64px !important;
    height: 64px !important;
    background: #f1f5f9;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0f2b3d !important;
    margin-bottom: 1.5rem;
}

.spe-theme .icon-circle-widget .elementor-icon svg,
.elementor-editor-preview .icon-circle-widget .elementor-icon svg {
    width: 1.8rem !important;
    height: 1.8rem !important;
    fill: #0f2b3d !important;
}

/* Icon list — soluciones y contacto */
.spe-theme .overlap-card .feature-list-check .elementor-icon-list-items,
.spe-theme .contact-checklist .elementor-icon-list-items,
.elementor-editor-preview .overlap-card .feature-list-check .elementor-icon-list-items,
.elementor-editor-preview .contact-checklist .elementor-icon-list-items {
    list-style: none;
    padding: 0;
    margin: 0;
}

.spe-theme .overlap-card .feature-list-check .elementor-icon-list-item,
.elementor-editor-preview .overlap-card .feature-list-check .elementor-icon-list-item {
    margin-bottom: 0.5rem;
    font-size: 0.9rem;
    color: #334155;
    font-weight: 500;
}

.spe-theme .overlap-card .feature-list-check .elementor-icon-list-text,
.elementor-editor-preview .overlap-card .feature-list-check .elementor-icon-list-text {
    color: #334155 !important;
}

.spe-theme .contact-checklist .elementor-icon-list-text,
.elementor-editor-preview .contact-checklist .elementor-icon-list-text {
    color: #ffffff !important;
}

.spe-theme .overlap-card .feature-list-check .elementor-icon-list-icon,
.spe-theme .overlap-card .feature-list-check .elementor-icon-list-icon svg,
.spe-theme .contact-checklist .elementor-icon-list-icon,
.spe-theme .contact-checklist .elementor-icon-list-icon svg,
.elementor-editor-preview .overlap-card .feature-list-check .elementor-icon-list-icon,
.elementor-editor-preview .overlap-card .feature-list-check .elementor-icon-list-icon svg,
.elementor-editor-preview .contact-checklist .elementor-icon-list-icon,
.elementor-editor-preview .contact-checklist .elementor-icon-list-icon svg {
    color: #00b3b3 !important;
    fill: #00b3b3 !important;
}

.spe-theme .contact-checklist .elementor-icon-list-item,
.elementor-editor-preview .contact-checklist .elementor-icon-list-item {
    margin-bottom: 1rem;
    color: #fff;
}

.spe-theme .contact-title .elementor-heading-title,
.elementor-editor-preview .contact-title .elementor-heading-title {
    font-size: 2.5rem !important;
    color: #fff !important;
    margin-bottom: 1rem !important;
}

.spe-theme .contact-intro-widget .contact-intro,
.elementor-editor-preview .contact-intro-widget .contact-intro {
    font-size: 1.1rem;
    color: #cbd5e1;
    margin-bottom: 2rem;
}

/* Contacto — grid 2 columnas centrado como SPE original */
.spe-theme #contacto,
.spe-theme .contact-section,
.elementor-editor-preview #contacto,
.elementor-editor-preview .contact-section {
    color: #fff;
}

.spe-theme #contacto > .elementor-container,
.elementor-editor-preview #contacto > .elementor-container {
    width: 100% !important;
    max-width: 100% !important;
}

.spe-theme #contacto > .elementor-container > .elementor-column,
.elementor-editor-preview #contacto > .elementor-container > .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
}

.spe-theme .contact-grid > .elementor-container,
.spe-theme .nosotros-intro-grid > .elementor-container,
.spe-theme .nosotros-grid > .elementor-container,
.elementor-editor-preview .contact-grid > .elementor-container,
.elementor-editor-preview .nosotros-intro-grid > .elementor-container,
.elementor-editor-preview .nosotros-grid > .elementor-container {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 4rem !important;
    align-items: center !important;
    max-width: 1200px !important;
    width: 90% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    flex-wrap: unset !important;
    padding: 0 !important;
}

.spe-theme .contact-grid > .elementor-container > .elementor-column,
.spe-theme .nosotros-intro-grid > .elementor-container > .elementor-column,
.spe-theme .nosotros-grid > .elementor-container > .elementor-column,
.elementor-editor-preview .contact-grid > .elementor-container > .elementor-column,
.elementor-editor-preview .nosotros-intro-grid > .elementor-container > .elementor-column,
.elementor-editor-preview .nosotros-grid > .elementor-container > .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

/* Solo la sección contacto mantiene columnas sin padding interno por diseño */
:where(.spe-theme #contacto .contact-grid .contact-col > .elementor-widget-wrap),
:where(.elementor-editor-preview #contacto .contact-grid .contact-col > .elementor-widget-wrap) {
    padding: 0;
}

.spe-theme .contact-grid .contact-col-left .elementor-widget,
.elementor-editor-preview .contact-grid .contact-col-left .elementor-widget {
    margin-bottom: 0 !important;
}

.spe-theme .contact-grid .contact-col-left .elementor-widget-container,
.elementor-editor-preview .contact-grid .contact-col-left .elementor-widget-container {
    padding: 0 !important;
    margin: 0 !important;
}

.spe-theme .contact-grid .elementor-widget-spe_formulario_contacto,
.spe-theme .contact-grid .elementor-widget-spe_formulario_contacto .elementor-widget-container,
.elementor-editor-preview .contact-grid .elementor-widget-spe_formulario_contacto,
.elementor-editor-preview .contact-grid .elementor-widget-spe_formulario_contacto .elementor-widget-container {
    padding: 0 !important;
    margin: 0 !important;
}

.spe-theme .glass-form-card.spe-cf7-contacto button.wpcf7-submit.btn-accent,
.elementor-editor-preview .glass-form-card.spe-cf7-contacto button.wpcf7-submit.btn-accent {
    background: var(--accent-color) !important;
    color: var(--white) !important;
    box-shadow: 0 4px 15px rgba(0, 179, 179, 0.3) !important;
    transform: none !important;
}

.spe-theme .glass-form-card.spe-cf7-contacto button.wpcf7-submit.btn-accent:hover,
.spe-theme .glass-form-card.spe-cf7-contacto button.wpcf7-submit.btn-accent:focus,
.spe-theme .glass-form-card.spe-cf7-contacto button.wpcf7-submit.btn-accent:active,
.elementor-editor-preview .glass-form-card.spe-cf7-contacto button.wpcf7-submit.btn-accent:hover,
.elementor-editor-preview .glass-form-card.spe-cf7-contacto button.wpcf7-submit.btn-accent:focus,
.elementor-editor-preview .glass-form-card.spe-cf7-contacto button.wpcf7-submit.btn-accent:active {
    background: var(--accent-color) !important;
    color: var(--white) !important;
    transform: none !important;
    box-shadow: 0 4px 15px rgba(0, 179, 179, 0.3) !important;
}

.spe-theme .bg-primary,
.elementor-editor-preview .bg-primary {
    background-color: #0f2b3d !important;
    color: #fff;
}

.spe-theme .bg-primary .grid-2 > .elementor-container,
.elementor-editor-preview .bg-primary .grid-2 > .elementor-container {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 4rem !important;
    align-items: center !important;
}

.spe-theme .bg-primary .elementor-heading-title,
.elementor-editor-preview .bg-primary .elementor-heading-title {
    font-size: 2.5rem !important;
    color: #fff !important;
}

.spe-theme .bg-primary .contact-intro,
.elementor-editor-preview .bg-primary .contact-intro {
    font-size: 1.1rem;
    color: #cbd5e1;
    margin-bottom: 2rem;
}

.spe-theme .bg-primary .contact-checklist,
.elementor-editor-preview .bg-primary .contact-checklist {
    list-style: none;
    padding: 0;
    margin: 0;
}

.spe-theme .bg-primary .contact-checklist li,
.elementor-editor-preview .bg-primary .contact-checklist li {
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    color: #fff;
}

.spe-theme .bg-primary .contact-checklist i,
.elementor-editor-preview .bg-primary .contact-checklist i {
    color: #00b3b3;
    margin-right: 10px;
}

/* Section title (simulador, ecosistema) */
.spe-theme .section-title,
.elementor-editor-preview .section-title {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 4rem;
}

.spe-theme .section-title .section-eyebrow,
.elementor-editor-preview .section-title .section-eyebrow {
    text-transform: uppercase;
    letter-spacing: 3px;
    color: #00b3b3;
    font-size: 0.9rem;
    margin-bottom: 1rem;
    font-weight: 700;
}

.spe-theme .section-title h2,
.elementor-editor-preview .section-title h2 {
    position: relative;
    display: inline-block;
}

.spe-theme .section-title h2::after,
.elementor-editor-preview .section-title h2::after {
    content: '';
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 4px;
    background: #00b3b3;
    border-radius: 2px;
}

.spe-theme .section-title p,
.elementor-editor-preview .section-title p {
    margin-top: 1.5rem;
    color: #64748b;
    line-height: 1.6;
}

.spe-theme .asesoria-section-title .elementor-widget-container,
.elementor-editor-preview .asesoria-section-title .elementor-widget-container {
    padding: 0 !important;
    margin: 0 !important;
    text-align: center !important;
}

@media (max-width: 992px) {
    .spe-theme .solutions-grid-overlap > .elementor-container,
    .spe-theme .pilares-section > .elementor-container,
    .spe-theme .contact-grid > .elementor-container,
    .spe-theme .pilares-grid > .elementor-container,
    .spe-theme .grid-2 > .elementor-container,
    .elementor-editor-preview .solutions-grid-overlap > .elementor-container,
    .elementor-editor-preview .pilares-section > .elementor-container,
    .elementor-editor-preview .contact-grid > .elementor-container,
    .elementor-editor-preview .pilares-grid > .elementor-container,
    .elementor-editor-preview .grid-2 > .elementor-container {
        grid-template-columns: 1fr !important;
    }

    .spe-theme .pilares-section .pillar-card-inner,
    .elementor-editor-preview .pilares-section .pillar-card-inner {
        border-right: none;
    }

    .spe-theme .solutions-overlap-section,
    .elementor-editor-preview .solutions-overlap-section {
        margin-top: 0;
    }
}

/* Respaldo page */
.spe-theme .hero-catalog > .elementor-background-overlay,
.elementor-editor-preview .hero-catalog > .elementor-background-overlay {
    background: linear-gradient(135deg, rgba(15, 23, 42, 0.5) 0%, rgba(2, 6, 23, 0.8) 100%) !important;
    opacity: 1 !important;
}

.spe-theme .hero-catalog > .elementor-container,
.elementor-editor-preview .hero-catalog > .elementor-container {
    width: 100% !important;
}

.spe-theme .hero-catalog-content > .elementor-widget-wrap,
.elementor-editor-preview .hero-catalog-content > .elementor-widget-wrap {
    text-align: center;
}

.spe-theme .hero-catalog-actions > .elementor-container,
.elementor-editor-preview .hero-catalog-actions > .elementor-container {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center !important;
    gap: 1rem;
    width: auto !important;
}

.spe-theme .hero-catalog-actions > .elementor-container > .elementor-column,
.elementor-editor-preview .hero-catalog-actions > .elementor-container > .elementor-column {
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
}

.spe-theme .product-grid > .elementor-container,
.elementor-editor-preview .product-grid > .elementor-container {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)) !important;
    gap: 2.5rem !important;
    width: 100% !important;
}

.spe-theme .product-grid > .elementor-container > .elementor-column.product-card-col,
.elementor-editor-preview .product-grid > .elementor-container > .elementor-column.product-card-col {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.spe-theme .product-card-col > .elementor-widget-wrap,
.elementor-editor-preview .product-card-col > .elementor-widget-wrap {
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.spe-theme .product-card-html-widget,
.spe-theme .product-card-html-widget .elementor-widget-container,
.elementor-editor-preview .product-card-html-widget,
.elementor-editor-preview .product-card-html-widget .elementor-widget-container {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}

.spe-theme .product-card-col .product-card,
.elementor-editor-preview .product-card-col .product-card {
    width: 100%;
}

.spe-theme .brand-section-inner > .elementor-widget-wrap,
.elementor-editor-preview .brand-section-inner > .elementor-widget-wrap {
    text-align: center;
}

.spe-theme .elementor-widget-spe_calculadora_respaldo .elementor-widget-container,
.spe-theme .elementor-widget-spe_formulario_asesoria .elementor-widget-container,
.elementor-editor-preview .elementor-widget-spe_calculadora_respaldo .elementor-widget-container,
.elementor-editor-preview .elementor-widget-spe_formulario_asesoria .elementor-widget-container {
    padding: 0;
    margin: 0;
}

.spe-theme .respaldo-calc-result #rec-cap,
.elementor-editor-preview .respaldo-calc-result #rec-cap {
    font-weight: 700 !important;
    color: var(--primary-color) !important;
    font-size: 1.2rem !important;
}

.spe-theme .respaldo-calc-result #rec-title,
.elementor-editor-preview .respaldo-calc-result #rec-title {
    color: var(--primary-color) !important;
    font-size: 1.8rem !important;
    font-weight: 700 !important;
}

.spe-theme .elementor-inner-section.motores-grid > .elementor-container,
.spe-theme .elementor-inner-section.grid-2.motores-grid > .elementor-container,
.elementor-editor-preview .elementor-inner-section.motores-grid > .elementor-container,
.elementor-editor-preview .elementor-inner-section.grid-2.motores-grid > .elementor-container {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 3rem !important;
    align-items: center !important;
    width: 100% !important;
}

.spe-theme .motores-grid > .elementor-container > .elementor-column,
.elementor-editor-preview .motores-grid > .elementor-container > .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
}

.spe-theme .motores-container-card > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-editor-preview .motores-container-card > .elementor-container > .elementor-column > .elementor-widget-wrap {
    position: relative;
    background: var(--white, #fff);
    border-radius: var(--radius-xl, 16px);
    padding: 4.5rem 3.5rem;
    box-shadow: var(--shadow-lg, 0 20px 40px rgba(15, 43, 61, 0.08));
    border: 1px solid rgba(15, 43, 61, 0.04);
    overflow: hidden;
}

.spe-theme .motores-grid > .elementor-container,
.elementor-editor-preview .motores-grid > .elementor-container {
    position: relative;
    z-index: 2;
}

.spe-theme .motores-container-card .motores-title .elementor-heading-title,
.elementor-editor-preview .motores-container-card .motores-title .elementor-heading-title {
    font-size: 2.2rem;
    line-height: 1.2;
    color: #0f2b3d;
    margin-bottom: 1.5rem;
    font-weight: 800;
    border-bottom: none;
    padding-bottom: 0;
}

.spe-theme .motores-container-card .motores-intro-widget .motores-intro,
.elementor-editor-preview .motores-container-card .motores-intro-widget .motores-intro {
    color: #64748b;
    font-size: 1.05rem;
    line-height: 1.6;
    margin-bottom: 2rem;
}

.spe-theme .motores-container-card .motores-cta .elementor-button,
.elementor-editor-preview .motores-container-card .motores-cta .elementor-button {
    padding: 12px 28px;
    border-radius: 50px;
    font-size: 0.95rem;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.spe-theme .motores-glow-decor,
.elementor-editor-preview .motores-glow-decor {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    margin: 0 !important;
    padding: 0 !important;
}

.spe-theme .motores-glow-decor .elementor-widget-container,
.elementor-editor-preview .motores-glow-decor .elementor-widget-container {
    position: absolute;
    inset: 0;
    padding: 0 !important;
    margin: 0 !important;
}

.spe-theme .motores-stack > .elementor-container,
.elementor-editor-preview .motores-stack > .elementor-container {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.5rem !important;
    width: 100% !important;
}

.spe-theme .motor-card-dynamic > .elementor-widget-wrap,
.elementor-editor-preview .motor-card-dynamic > .elementor-widget-wrap {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 1.5rem !important;
    background: #f8fafc;
    border-radius: var(--radius-lg, 12px);
    padding: 2.2rem !important;
    border: 1px solid rgba(15, 43, 61, 0.05);
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    cursor: pointer;
    position: relative;
    z-index: 2;
}

.spe-theme .motor-card-dynamic .motor-card-body,
.elementor-editor-preview .motor-card-dynamic .motor-card-body {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
}

.spe-theme .motor-card-dynamic .motor-card-body > .elementor-container,
.elementor-editor-preview .motor-card-dynamic .motor-card-body > .elementor-container {
    width: 100% !important;
}

.spe-theme .motor-card-dynamic .motor-card-body .elementor-widget-wrap,
.elementor-editor-preview .motor-card-dynamic .motor-card-body .elementor-widget-wrap {
    display: block !important;
    padding: 0 !important;
}

.spe-theme .motor-card-dynamic .motor-icon-widget,
.spe-theme .motor-card-dynamic .motor-icon-image,
.elementor-editor-preview .motor-card-dynamic .motor-icon-widget,
.elementor-editor-preview .motor-card-dynamic .motor-icon-image {
    flex-shrink: 0;
}

.spe-theme .motor-card-dynamic:hover > .elementor-widget-wrap,
.elementor-editor-preview .motor-card-dynamic:hover > .elementor-widget-wrap {
    transform: translateX(8px);
    background: #fff;
    border-color: #00b3b3;
    box-shadow: 0 10px 25px rgba(15, 43, 61, 0.08);
}

.spe-theme .motor-card-dynamic .motor-icon-widget .elementor-icon-wrapper,
.elementor-editor-preview .motor-card-dynamic .motor-icon-widget .elementor-icon-wrapper {
    width: 52px;
    height: 52px;
    background: #fff;
    border-radius: var(--radius-md, 8px);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--shadow-sm, 0 2px 8px rgba(15, 43, 61, 0.06));
    color: #0f2b3d;
    font-size: 1.5rem;
    transition: all 0.3s ease;
}

.spe-theme .motor-card-dynamic .motor-icon-widget .elementor-icon,
.elementor-editor-preview .motor-card-dynamic .motor-icon-widget .elementor-icon {
    width: auto;
    height: auto;
    padding: 0;
    background: transparent;
    box-shadow: none;
    font-size: 1.5rem;
}

.spe-theme .motor-card-dynamic .motor-icon-image .elementor-widget-container,
.elementor-editor-preview .motor-card-dynamic .motor-icon-image .elementor-widget-container {
    width: 52px;
    height: 52px;
    background: #fff;
    border-radius: var(--radius-md, 8px);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--shadow-sm, 0 2px 8px rgba(15, 43, 61, 0.06));
    transition: all 0.3s ease;
}

.spe-theme .motor-card-dynamic .motor-icon-image img,
.elementor-editor-preview .motor-card-dynamic .motor-icon-image img {
    max-width: 30px;
    max-height: 30px;
    object-fit: contain;
    padding: 0;
    width: auto;
    height: auto;
    background: transparent;
    box-shadow: none;
}

.spe-theme .motor-card-dynamic:hover .motor-icon-widget .elementor-icon-wrapper,
.elementor-editor-preview .motor-card-dynamic:hover .motor-icon-widget .elementor-icon-wrapper {
    background: #0f2b3d;
    color: #fff;
    transform: scale(1.05);
}

.spe-theme .motores-stack > .elementor-container > .elementor-column:nth-child(2):hover .motor-icon-widget .elementor-icon-wrapper,
.elementor-editor-preview .motores-stack > .elementor-container > .elementor-column:nth-child(2):hover .motor-icon-widget .elementor-icon-wrapper {
    background: #00b3b3;
    color: #fff;
}

.spe-theme .motor-card-dynamic:hover .motor-icon-image .elementor-widget-container,
.elementor-editor-preview .motor-card-dynamic:hover .motor-icon-image .elementor-widget-container {
    background: #0f2b3d;
    transform: scale(1.05);
}

.spe-theme .motor-card-dynamic:hover .motor-icon-image img,
.elementor-editor-preview .motor-card-dynamic:hover .motor-icon-image img {
    filter: brightness(0) invert(1);
}

.spe-theme .motor-card-dynamic .motor-title .elementor-heading-title,
.elementor-editor-preview .motor-card-dynamic .motor-title .elementor-heading-title {
    font-size: 1.25rem !important;
    margin: 0 0 0.5rem !important;
    color: #0f2b3d !important;
}

.spe-theme .motor-card-dynamic .motor-text,
.spe-theme .motor-card-dynamic .motor-text-widget p,
.elementor-editor-preview .motor-card-dynamic .motor-text,
.elementor-editor-preview .motor-card-dynamic .motor-text-widget p {
    font-size: 0.9rem;
    color: #334155;
    line-height: 1.5;
    margin: 0;
}

.spe-theme .motores-eyebrow .section-eyebrow,
.elementor-editor-preview .motores-eyebrow .section-eyebrow {
    display: inline-block;
    color: #00b3b3;
    font-weight: 700;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 0.75rem;
}

.spe-theme .ejemplo-real-banner > .elementor-container,
.elementor-editor-preview .ejemplo-real-banner > .elementor-container {
    width: 100% !important;
    margin-top: 3rem;
}

.spe-theme .ejemplo-real-inner > .elementor-widget-wrap,
.elementor-editor-preview .ejemplo-real-inner > .elementor-widget-wrap {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 1.25rem !important;
    background: #f8fafc;
    border-radius: 12px;
    padding: 1.5rem 2rem !important;
    border: 1px solid rgba(15, 43, 61, 0.05);
    transition: all 0.3s ease;
}

.spe-theme .ejemplo-real-inner:hover > .elementor-widget-wrap,
.elementor-editor-preview .ejemplo-real-inner:hover > .elementor-widget-wrap {
    transform: translateY(-3px);
    border-color: #00b3b3;
    background: #fff;
}

.spe-theme .ejemplo-real-text-widget,
.elementor-editor-preview .ejemplo-real-text-widget {
    flex: 1 1 auto;
}

.spe-theme .ejemplo-real-cta-btn .elementor-button,
.elementor-editor-preview .ejemplo-real-cta-btn .elementor-button {
    background: transparent !important;
    color: #00b3b3 !important;
    border: none !important;
    padding: 0 !important;
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    box-shadow: none !important;
}

@media (max-width: 992px) {
    .spe-theme .elementor-inner-section.motores-grid > .elementor-container,
    .elementor-editor-preview .elementor-inner-section.motores-grid > .elementor-container {
        grid-template-columns: 1fr !important;
    }

    .spe-theme .motores-container-card > .elementor-container > .elementor-column > .elementor-widget-wrap,
    .elementor-editor-preview .motores-container-card > .elementor-container > .elementor-column > .elementor-widget-wrap {
        padding: 3rem 2rem;
    }
}

.spe-theme .aliados-carrusel-section,
.elementor-editor-preview .aliados-carrusel-section {
    overflow: hidden !important;
}

.spe-theme .elementor-widget-spe_carrusel_aliados,
.spe-theme .elementor-widget-spe_carrusel_aliados .elementor-widget-container,
.spe-theme .spe-carrusel-aliados,
.elementor-editor-preview .elementor-widget-spe_carrusel_aliados,
.elementor-editor-preview .elementor-widget-spe_carrusel_aliados .elementor-widget-container,
.elementor-editor-preview .spe-carrusel-aliados {
    width: 100% !important;
    max-width: 100% !important;
}

.spe-theme .elementor-widget-spe_carrusel_aliados .elementor-widget-container,
.elementor-editor-preview .elementor-widget-spe_carrusel_aliados .elementor-widget-container {
    padding: 0;
    margin: 0;
}

/* Widgets SPE: sin padding extra de Elementor */
.spe-theme .elementor-widget-spe_calculadora_solar .elementor-widget-container,
.spe-theme .elementor-widget-spe_motores_ahorro,
.spe-theme .elementor-widget-spe_motores_ahorro .elementor-widget-container,
.spe-theme .elementor-widget-spe_ecosistema_tecnologico .elementor-widget-container,
.spe-theme .elementor-widget-spe_formulario_contacto .elementor-widget-container,
.spe-theme .elementor-widget-spe_carrusel_aliados .elementor-widget-container,
.elementor-editor-preview .elementor-widget-spe_calculadora_solar .elementor-widget-container,
.elementor-editor-preview .elementor-widget-spe_motores_ahorro,
.elementor-editor-preview .elementor-widget-spe_motores_ahorro .elementor-widget-container,
.elementor-editor-preview .elementor-widget-spe_ecosistema_tecnologico .elementor-widget-container,
.elementor-editor-preview .elementor-widget-spe_formulario_contacto .elementor-widget-container,
.elementor-editor-preview .elementor-widget-spe_carrusel_aliados .elementor-widget-container {
    padding: 0;
    margin: 0;
}

.spe-theme .elementor-widget-spe_motores_ahorro,
.spe-theme .elementor-widget-spe_motores_ahorro .elementor-widget-container,
.elementor-editor-preview .elementor-widget-spe_motores_ahorro,
.elementor-editor-preview .elementor-widget-spe_motores_ahorro .elementor-widget-container {
    width: 100% !important;
    max-width: 100% !important;
}

.elementor-editor-active #elementor-preview-responsive-wrapper,
.elementor-editor-preview {
    background-color: #f8fafc;
}

/* Nosotros page */
.spe-theme .nosotros-intro-section > .elementor-container,
.elementor-editor-preview .nosotros-intro-section > .elementor-container {
    max-width: 100% !important;
    width: 100% !important;
}

.spe-theme .nosotros-intro-section > .elementor-container > .elementor-column,
.elementor-editor-preview .nosotros-intro-section > .elementor-container > .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
}

.spe-theme .nosotros-info-col > .elementor-element-populated,
.elementor-editor-preview .nosotros-info-col > .elementor-element-populated {
    border-left: 4px solid var(--accent-color, #00b3b3);
}

.spe-theme .nosotros-eyebrow .elementor-heading-title,
.elementor-editor-preview .nosotros-eyebrow .elementor-heading-title {
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--accent-color, #00b3b3) !important;
    font-size: 0.9rem !important;
    margin-bottom: 0.5rem;
    font-weight: 700;
}

.spe-theme .nosotros-lead .elementor-widget-container p,
.elementor-editor-preview .nosotros-lead .elementor-widget-container p {
    font-size: 1.1rem;
    line-height: 1.75;
    margin-bottom: 1.5rem;
}

.spe-theme .nosotros-stats-row > .elementor-container,
.elementor-editor-preview .nosotros-stats-row > .elementor-container {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 2rem;
    margin-top: 2rem;
    width: 100% !important;
    max-width: 100% !important;
}

.spe-theme .nosotros-stats-row > .elementor-container > .elementor-column,
.elementor-editor-preview .nosotros-stats-row > .elementor-container > .elementor-column {
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
}

.spe-theme .nosotros-stat-col .elementor-counter-number-wrapper,
.elementor-editor-preview .nosotros-stat-col .elementor-counter-number-wrapper {
    font-size: 2rem;
    font-weight: 800;
    color: var(--primary-color, #0f2b3d);
}

.spe-theme .nosotros-stat-col .elementor-counter-title,
.elementor-editor-preview .nosotros-stat-col .elementor-counter-title {
    font-size: 0.85rem;
    color: var(--text-muted, #64748b);
    font-weight: 600;
    text-transform: uppercase;
}

.spe-theme .nosotros-gallery-col .elementor-widget-wrap,
.spe-theme .nosotros-gallery-col .elementor-image-carousel-wrapper,
.elementor-editor-preview .nosotros-gallery-col .elementor-widget-wrap,
.elementor-editor-preview .nosotros-gallery-col .elementor-image-carousel-wrapper {
    width: 100% !important;
    max-width: 100% !important;
}

.spe-theme .nosotros-gallery-col .elementor-image-carousel-wrapper,
.elementor-editor-preview .nosotros-gallery-col .elementor-image-carousel-wrapper {
    border-radius: var(--radius-xl, 16px);
    overflow: hidden;
    height: 500px;
}

.spe-theme .nosotros-gallery-col .swiper-slide-image,
.elementor-editor-preview .nosotros-gallery-col .swiper-slide-image {
    width: 100%;
    height: 500px;
    object-fit: cover;
}

.spe-theme .section-title .section-title-heading,
.spe-theme .section-title .section-title-desc-widget,
.elementor-editor-preview .section-title .section-title-heading,
.elementor-editor-preview .section-title .section-title-desc-widget {
    text-align: center;
}

.spe-theme .timeline-closing,
.elementor-editor-preview .timeline-closing {
    text-align: center;
    margin-top: 4rem;
}

.spe-theme .timeline-closing h3,
.elementor-editor-preview .timeline-closing h3 {
    color: var(--primary-color, #0f2b3d);
    font-weight: 700;
    font-size: 1.5rem;
    letter-spacing: 0.5px;
}

.spe-theme .elementor-widget-spe_timeline_hitos .elementor-widget-container,
.spe-theme .elementor-widget-spe_equipo_grid .elementor-widget-container,
.elementor-editor-preview .elementor-widget-spe_timeline_hitos .elementor-widget-container,
.elementor-editor-preview .elementor-widget-spe_equipo_grid .elementor-widget-container {
    padding: 0;
    margin: 0;
    width: 100% !important;
}

@media (max-width: 992px) {
    .spe-theme .nosotros-intro-grid > .elementor-container,
    .spe-theme .nosotros-grid > .elementor-container,
    .elementor-editor-preview .nosotros-intro-grid > .elementor-container,
    .elementor-editor-preview .nosotros-grid > .elementor-container {
        grid-template-columns: 1fr !important;
        gap: 3rem !important;
    }
}

/* Experiencia page */
.spe-theme .experiencia-cta-section .experiencia-cta-title .elementor-heading-title,
.elementor-editor-preview .experiencia-cta-section .experiencia-cta-title .elementor-heading-title {
    color: #ffffff !important;
    font-size: clamp(2.5rem, 5vw, 3.5rem) !important;
    margin-bottom: 1.5rem !important;
}

.spe-theme .experiencia-cta-intro-widget,
.spe-theme .experiencia-cta-intro-widget p,
.elementor-editor-preview .experiencia-cta-intro-widget,
.elementor-editor-preview .experiencia-cta-intro-widget p {
    font-size: 1.2rem;
    color: #cbd5e1 !important;
    max-width: 600px;
    margin: 0 auto 3rem !important;
    text-align: center;
}

.spe-theme .experiencia-cta-inner,
.elementor-editor-preview .experiencia-cta-inner {
    text-align: center;
}

.spe-theme .elementor-widget-spe_proyectos_portafolio .elementor-widget-container,
.spe-theme .elementor-widget-spe_valores_agregados .elementor-widget-container,
.elementor-editor-preview .elementor-widget-spe_proyectos_portafolio .elementor-widget-container,
.elementor-editor-preview .elementor-widget-spe_valores_agregados .elementor-widget-container {
    padding: 0;
    margin: 0;
    width: 100% !important;
}

.spe-theme .valores-intro strong,
.elementor-editor-preview .valores-intro strong {
    color: var(--text-main, #334155);
}
