/* =============================================================================
   Section Final CTA — Power Conversion Banner
   Prefijo: .fc-banner-    Ancla: #fc-banner-section
   Se integra visualmente con el Footer (margin-bottom:0, sin gap blanco).
   ============================================================================= */

#fc-banner-section {
    --fc-blue:      #002FD9;
    --fc-blue-dark: #001DB0;
    --fc-white:     #FFFFFF;
    --fc-white-80:  rgba(255,255,255,0.80);
    --fc-white-15:  rgba(255,255,255,0.15);
    --fc-white-08:  rgba(255,255,255,0.08);
    --fc-font:      -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', sans-serif;
    --fc-transition:0.35s cubic-bezier(0.4,0,0.2,1);
}

#fc-banner-section {
    position: relative;
    width: 100%;
    padding: clamp(5rem,10vw,9rem) 0;
    overflow: hidden;
    /* Azul Maestro sólido — fusión visual con el footer azul */
    background: linear-gradient(170deg, #002FD9 0%, #001DB0 100%) !important;
    /* Sin margen inferior — el footer continúa el azul */
    margin: 0 !important;
    padding-bottom: clamp(5rem,10vw,9rem) !important;
    box-shadow: none !important;
    border: none !important;
}

/* Reveal */
#fc-banner-section[data-reveal]:not(.is-visible) {
    opacity:0; transform:translateY(28px);
    transition: opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1);
}
#fc-banner-section[data-reveal].is-visible {
    opacity:1; transform:translateY(0);
    transition: opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1);
}

/* =============================================================================
   FONDO DECORATIVO
   ============================================================================= */
#fc-banner-section .fc-banner-section__bg { pointer-events:none; }

#fc-banner-section .fc-banner-section__orb {
    position: absolute !important;
    border-radius: 50% !important;
    pointer-events: none !important;
    z-index: 0 !important;
}
#fc-banner-section .fc-banner-section__orb--left {
    top: -30% !important; left: -10% !important;
    width: 50vmax !important; height: 50vmax !important;
    background: radial-gradient(circle at 40% 50%, rgba(255,255,255,0.07), transparent 60%) !important;
}
#fc-banner-section .fc-banner-section__orb--right {
    bottom: -30% !important; right: -10% !important;
    width: 44vmax !important; height: 44vmax !important;
    background: radial-gradient(circle at 60% 50%, rgba(0,10,120,0.40), transparent 60%) !important;
}

#fc-banner-section .fc-banner-section__cross {
    position: absolute !important;
    color: rgba(255,255,255,0.10) !important;
    stroke: rgba(255,255,255,0.10) !important;
    pointer-events: none !important;
    z-index: 0 !important;
}
#fc-banner-section .fc-banner-section__cross--tl {
    top: 8% !important; left: 5% !important;
    width: 70px !important; height: 70px !important;
}
#fc-banner-section .fc-banner-section__cross--br {
    bottom: 8% !important; right: 5% !important;
    width: 50px !important; height: 50px !important;
}

/* =============================================================================
   CONTENEDOR CENTRAL
   ============================================================================= */
#fc-banner-section .fc-banner-section__container {
    position: relative !important;
    z-index: 2 !important;
    max-width: 720px !important;
    margin: 0 auto !important;
    padding: 0 clamp(1.5rem,4vw,3rem) !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 0 !important;
}

/* Ícono médico */
#fc-banner-section .fc-banner-section__icon-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 64px !important; height: 64px !important;
    border-radius: 50% !important;
    background: var(--fc-white-15) !important;
    border: 1px solid rgba(255,255,255,0.25) !important;
    margin-bottom: 2rem !important;
    color: var(--fc-white) !important;
    flex-shrink: 0 !important;
}
#fc-banner-section .fc-banner-section__icon-wrap svg {
    stroke: var(--fc-white) !important;
}

/* Título H2 */
#fc-banner-section .fc-banner-section__title {
    font-family: var(--fc-font) !important;
    font-size: clamp(2rem,5vw,3.6rem) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
    color: var(--fc-white) !important;
    -webkit-text-fill-color: var(--fc-white) !important;
    margin: 0 0 1.25rem !important;
    padding: 0 !important;
}
#fc-banner-section .fc-banner-section__title em {
    font-style: normal !important;
    /* Degradado blanco → celeste para el em */
    background: linear-gradient(135deg, #FFFFFF 0%, #A5C8FF 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
}

/* Subtítulo */
#fc-banner-section .fc-banner-section__subtitle {
    font-family: var(--fc-font) !important;
    font-size: clamp(1rem,2vw,1.2rem) !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    color: var(--fc-white-80) !important;
    -webkit-text-fill-color: var(--fc-white-80) !important;
    margin: 0 0 2.75rem !important;
    padding: 0 !important;
    max-width: 560px !important;
}

/* =============================================================================
   BOTÓN CTA PRINCIPAL — el más grande del sitio
   ============================================================================= */
#fc-banner-section .fc-banner-section__cta,
#fc-banner-section .fc-banner-section__cta:visited {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .7rem !important;
    padding: 1.1rem 2.75rem !important;
    border-radius: 100px !important;

    /* Blanco sólido — máximo contraste */
    background: #FFFFFF !important;
    border: none !important;
    box-shadow:
        0 6px 30px rgba(0,0,0,0.22),
        0 1px 0 rgba(255,255,255,1) inset !important;

    font-family: var(--fc-font) !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    letter-spacing: -.01em !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    color: var(--fc-blue) !important;
    -webkit-text-fill-color: var(--fc-blue) !important;

    cursor: pointer;
    transition:
        transform var(--fc-transition),
        box-shadow var(--fc-transition),
        background var(--fc-transition) !important;
    will-change: transform;
}

#fc-banner-section .fc-banner-section__cta:hover {
    transform: translateY(-3px) scale(1.03) !important;
    box-shadow:
        0 12px 48px rgba(0,0,0,0.30),
        0 1px 0 rgba(255,255,255,1) inset !important;
    background: #EEF4FF !important;
    text-decoration: none !important;
}

#fc-banner-section .fc-banner-section__cta-icon {
    flex-shrink: 0 !important;
    fill: var(--fc-blue) !important;
    color: var(--fc-blue) !important;
    transition: transform var(--fc-transition) !important;
}
#fc-banner-section .fc-banner-section__cta:hover .fc-banner-section__cta-icon {
    transform: scale(1.12) !important;
}

/* Nota de confianza */
#fc-banner-section .fc-banner-section__note {
    font-family: var(--fc-font) !important;
    font-size: .78rem !important;
    font-weight: 400 !important;
    color: rgba(255,255,255,0.60) !important;
    -webkit-text-fill-color: rgba(255,255,255,0.60) !important;
    margin: 1.25rem 0 0 !important;
    padding: 0 !important;
    letter-spacing: .01em !important;
}

/* Anulación de herencias Astra */
#fc-banner-section p,
#fc-banner-section h2,
#fc-banner-section span,
#fc-banner-section strong {
    color: inherit !important;
}
#fc-banner-section a:not(.fc-banner-section__cta) {
    color: var(--fc-white) !important;
}

/* =============================================================================
   RESPONSIVE
   ============================================================================= */
@media (max-width: 640px) {
    #fc-banner-section .fc-banner-section__cta {
        padding: .95rem 2rem !important;
        font-size: .95rem !important;
    }
    #fc-banner-section .fc-banner-section__title {
        font-size: clamp(1.75rem,7vw,2.5rem) !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    #fc-banner-section[data-reveal]:not(.is-visible) { opacity:1; transform:none; }
    #fc-banner-section .fc-banner-section__cta { transition:none !important; }
    #fc-banner-section .fc-banner-section__cta:hover { transform:none !important; }
}
