/* .business-banner {
  position: relative;

  width: 100%;

  min-height: 140px;

  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px;
  background: #fafdff;
  overflow: hidden;
}

.business-banner__container {
  display: flex;
  align-items: center;

  border: 1px solid #d9e9f8;
  overflow: hidden;
  border-radius: 12px;
  box-shadow: 0 3px 10px rgba(0, 78, 150, 0.08);
  background: linear-gradient(135deg, #ffffff 0%, #f7fbff 100%);
} */

/* =========================================
   RESET
========================================= */

/* * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


body {
    font-family: Arial, Helvetica, sans-serif;
    background: #ffffff;
} */


/* =========================================
   SECCIÓN PRINCIPAL
========================================= */

.business-banner {

    width: 100%;

    padding: 1.25rem 2%;

    display: flex;
    justify-content: center;
    align-items: center;

    overflow: hidden;
    background: #fafdff;

}


/* =========================================
   CONTENEDOR
========================================= */

.banner-container {

    position: relative;

    width: 100%;
    max-width: 80rem;

    min-height: 8.75rem;

    display: flex;
    align-items: center;

    overflow: hidden;

    border-radius: 0.75rem;

    background:
        linear-gradient(
            135deg,
            #eef6ff 0%,
            #f8fbff 48%,
            #eaf4ff 100%
        );

    border: 0.0625rem solid #d9e9f8;

    box-shadow:
        0 0.25rem 0.75rem rgba(0, 78, 150, 0.08);

}


/* =========================================
   DECORACIÓN DEL FONDO
========================================= */

.banner-container::before {

    content: "";

    position: absolute;

    width: 24rem;
    height: 24rem;

    left: 20%;
    top: -18rem;

    background: rgba(39, 126, 220, 0.05);

    transform: rotate(35deg);

    pointer-events: none;
}


.banner-container::after {

    content: "";

    position: absolute;

    width: 20rem;
    height: 20rem;

    left: 38%;
    bottom: -16rem;

    background: rgba(39, 126, 220, 0.035);

    transform: rotate(35deg);

    pointer-events: none;
}


/* =========================================
   IMAGEN
========================================= */

.banner-image {

    position: relative;

    z-index: 2;

    width: 14%;

    height: 8.75rem;

    flex-shrink: 0;

    overflow: hidden;
}


.banner-image img {

    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    object-position: center;
}


/* =========================================
   TEXTO
========================================= */

.banner-content {

    position: relative;

    z-index: 2;

    width: 30%;

    padding: 0 1%;

}


.banner-content h2 {

    color: #003b78;

    font-size: clamp(
        1.15rem,
        1.6vw,
        1.65rem
    );

    line-height: 1.15;

    font-weight: 700;

    margin-bottom: 0.6rem;
}


.banner-content p {

    color: #174b82;

    font-size: clamp(
        0.8rem,
        1.05vw,
        1.05rem
    );

    line-height: 1.4;
}


/* =========================================
   BOTÓN
========================================= */

.banner-action {

    position: relative;

    z-index: 2;

    width: 24%;

    display: flex;

    justify-content: center;

    align-items: center;

}


.register-button {

    width: 90%;

    max-width: 16rem;

    padding: 0.8rem 1.2rem;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 0.7rem;

    border-radius: 0.55rem;

    background: #087ee9;

    color: #ffffff;

    text-decoration: none;

    font-size: clamp(
        0.75rem,
        0.95vw,
        0.95rem
    );

    font-weight: 600;

    box-shadow:
        0 0.25rem 0.7rem rgba(0, 112, 220, 0.18);

    transition:
        background 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}


.register-button:hover {

    background: #056ed0;

    transform: translateY(-0.15rem);

    box-shadow:
        0 0.45rem 1rem rgba(0, 112, 220, 0.25);
}


.arrow {

    font-size: 1.3em;

    line-height: 1;

    transition:
        transform 0.25s ease;
}


.register-button:hover .arrow {

    transform: translateX(0.25rem);
}


/* =========================================
   SEPARADOR
========================================= */

.separator {

    position: relative;

    z-index: 2;

    width: 0.0625rem;

    height: 60%;

    min-height: 4.5rem;

    background: #c8dceb;

    flex-shrink: 0;
}


/* =========================================
   BENEFICIOS
========================================= */

.benefits {

    position: relative;

    z-index: 2;

    width: 32%;

    display: flex;

    align-items: center;

    justify-content: space-around;

    padding: 0 1%;
}


.benefit {

    width: 33.333%;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

    color: #174b82;

    font-size: clamp(
        0.65rem,
        0.85vw,
        0.85rem
    );

    line-height: 1.2;
}


/* =========================================
   ICONOS SVG
========================================= */

.benefit-icon {

    width: clamp(
        2rem,
        3vw,
        3rem
    );

    height: clamp(
        2rem,
        3vw,
        3rem
    );

    margin-bottom: 0.15rem;

    display: flex;

    align-items: center;

    justify-content: center;
}


.benefit-icon svg {

    width: 100%;
    height: 100%;

    fill: none;

    stroke: #0758b8;

    stroke-width: 4;

    stroke-linecap: round;

    stroke-linejoin: round;
}


/* =========================================
   ANIMACIÓN
========================================= */

.banner-container {

    animation:
        bannerAppear 0.7s ease-out both;
}


@keyframes bannerAppear {

    from {

        opacity: 0;

        transform: translateY(0.6rem);
    }

    to {

        opacity: 1;

        transform: translateY(0);
    }
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 60rem) {

    .banner-container {

        min-height: 8rem;
    }


    .banner-image {

        width: 13%;

        height: 8rem;
    }


    .banner-content {

        width: 31%;
    }


    .banner-action {

        width: 24%;
    }


    .benefits {

        width: 32%;
    }


    .register-button {

        width: 95%;

        padding: 0.7rem 0.8rem;
    }

}


/* =========================================
   TABLET PEQUEÑA
========================================= */

@media (max-width: 48rem) {

    .business-banner {

        padding: 1rem;
    }


    .banner-container {

        min-height: 7.5rem;
    }


    .banner-image {

        width: 16%;

        height: 7.5rem;
    }


    .banner-content {

        width: 32%;
    }


    .banner-action {

        width: 24%;
    }


    .benefits {

        width: 28%;
    }


    .benefit {

        font-size: 0.65rem;
    }


    .separator {

        min-height: 4rem;
    }

}


/* =========================================
   MÓVIL
========================================= */

@media (max-width: 42rem) {

    .business-banner {

        padding: 0.75rem;
    }


    .banner-container {

        flex-wrap: wrap;

        padding: 1.25rem;

        gap: 1rem;

        justify-content: center;
    }


    .banner-image {

        width: 30%;

        height: 7rem;

        border-radius: 0.5rem;
    }


    .banner-content {

        width: 60%;

        padding: 0;
    }


    .banner-content h2 {

        font-size: clamp(
            1.15rem,
            4vw,
            1.5rem
        );
    }


    .banner-content p {

        font-size: clamp(
            0.75rem,
            2.5vw,
            0.95rem
        );
    }


    .banner-action {

        width: 100%;
    }


    .register-button {

        width: 75%;

        max-width: 20rem;
    }


    .separator {

        width: 80%;

        height: 0.0625rem;

        min-height: 0;

        margin: 0 auto;
    }


    .benefits {

        width: 100%;

        padding: 0;
    }


    .benefit {

        font-size: 0.7rem;
    }

}


/* =========================================
   MÓVIL PEQUEÑO
========================================= */

@media (max-width: 30rem) {

    .banner-container {

        padding: 1rem;
    }


    .banner-image {

        width: 28%;

        height: 5.5rem;
    }


    .banner-content {

        width: 68%;
    }


    .register-button {

        width: 100%;
    }


    .benefit-icon {

        width: 2.2rem;
        height: 2.2rem;
    }

}