/* =========================================
   VIVEXA SEGUROS
========================================= */


/* =========================================
   HERO
========================================= */

.insurance-hero{

    min-height:90vh;

    display:flex;

    align-items:center;

    padding:150px 0 90px;

    background:#081A38;

    color:#fff;

}


.insurance-hero-content{

    max-width:850px;

}


.insurance-label,
.insurance-section-label{

    display:inline-block;

    color:#F68B1F;

    font-size:10px;

    font-weight:800;

    letter-spacing:2px;

}


.insurance-hero h1{

    color:#fff !important;

    font-size:52px;

    line-height:1.1;

    font-weight:800;

    max-width:760px;

    margin:15px 0 22px;

}


.insurance-hero p{

    max-width:650px;

    color:#D7E2ED;

    font-size:16px;

    line-height:1.8;

    margin-bottom:30px;

}


.insurance-hero-buttons{

    display:flex;

    gap:12px;

    flex-wrap:wrap;

}


/* =========================================
   BOTONES
========================================= */

.btn-insurance{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    padding:14px 24px;

    background:#F68B1F;

    color:#fff;

    border:1px solid #F68B1F;

    border-radius:10px;

    text-decoration:none;

    font-size:12px;

    font-weight:700;

    transition:.2s;

}


.btn-insurance:hover{

    background:#FF9C32;

    border-color:#FF9C32;

    color:#fff;

    transform:translateY(-2px);

}


.btn-insurance-outline{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    padding:14px 24px;

    background:transparent;

    color:#fff;

    border:1px solid rgba(255,255,255,.35);

    border-radius:10px;

    text-decoration:none;

    font-size:12px;

    font-weight:600;

    transition:.2s;

}


.btn-insurance-outline:hover{

    background:#fff;

    color:#081A38;

}


/* =========================================
   INTRO
========================================= */

.insurance-intro{

    padding:100px 0;

    background:#fff;

}


.insurance-intro h2{

    color:#081A38;

    font-size:38px;

    line-height:1.2;

    font-weight:800;

    margin:12px 0 20px;

}


.insurance-intro p{

    color:#667085;

    font-size:14px;

    line-height:1.85;

}


.insurance-highlight{

    padding:45px;

    background:#F5F7FA;

    border:1px solid #E1E6EC;

    border-radius:22px;

}


.insurance-highlight-icon{

    width:58px;

    height:58px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#FFF1E3;

    color:#F68B1F;

    border-radius:15px;

    font-size:23px;

    margin-bottom:18px;

}


.insurance-highlight > span{

    color:#F68B1F;

    font-size:9px;

    font-weight:800;

    letter-spacing:2px;

}


.insurance-highlight h3{

    color:#081A38;

    font-size:23px;

    font-weight:800;

    margin:7px 0 12px;

}


.insurance-highlight p{

    margin:0;

}


/* =========================================
   SERVICIOS
========================================= */

.insurance-services{

    padding:100px 0;

    background:#F5F7FA;

}


.insurance-heading{

    max-width:800px;

    margin:0 auto 55px;

}


.insurance-heading h2{

    color:#081A38;

    font-size:38px;

    line-height:1.2;

    font-weight:800;

    margin:12px 0 15px;

}


.insurance-heading p{

    color:#667085;

    font-size:14px;

    line-height:1.8;

}


.insurance-service-card{

    height:100%;

    padding:30px;

    background:#fff;

    border:1px solid #E1E6EC;

    border-radius:18px;

    transition:.25s;

}


.insurance-service-card:hover{

    transform:translateY(-7px);

    border-color:#F68B1F;

    box-shadow:
        0 15px 40px rgba(8,26,56,.08);

}


.insurance-service-card.featured{

    background:#081A38;

    border-color:#081A38;

}


.insurance-service-icon{

    width:55px;

    height:55px;

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:20px;

    background:#FFF1E3;

    color:#F68B1F;

    border-radius:14px;

    font-size:22px;

}


.insurance-service-card > span{

    color:#F68B1F;

    font-size:9px;

    font-weight:800;

    letter-spacing:2px;

}


.insurance-service-card h3{

    color:#081A38;

    font-size:20px;

    line-height:1.25;

    font-weight:800;

    margin:7px 0 12px;

}


.insurance-service-card p{

    min-height:100px;

    color:#667085;

    font-size:11px;

    line-height:1.75;

}


.insurance-service-card a{

    display:inline-flex;

    align-items:center;

    gap:7px;

    color:#F68B1F;

    font-size:11px;

    font-weight:700;

    text-decoration:none;

}


.insurance-service-card.featured h3{

    color:#fff;

}


.insurance-service-card.featured p{

    color:#D7E2ED;

}


/* =========================================
   RIESGOS
========================================= */

.insurance-risks{

    padding:100px 0;

    background:#fff;

}


.insurance-risks h2{

    color:#081A38;

    font-size:38px;

    line-height:1.2;

    font-weight:800;

    margin:12px 0 18px;

}


.insurance-risks > .container p{

    color:#667085;

    font-size:14px;

    line-height:1.8;

}


.insurance-risk-list{

    display:flex;

    flex-direction:column;

    gap:12px;

}


.insurance-risk-list > div{

    display:flex;

    align-items:center;

    gap:15px;

    padding:18px 20px;

    background:#F5F7FA;

    border:1px solid #E1E6EC;

    border-radius:13px;

    transition:.2s;

}


.insurance-risk-list > div:hover{

    border-color:#F68B1F;

    transform:translateX(4px);

}


.insurance-risk-icon{

    width:48px;

    height:48px;

    flex-shrink:0;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#FFF1E3;

    color:#F68B1F;

    border-radius:12px;

    font-size:18px;

}


.insurance-risk-list strong{

    display:block;

    color:#081A38;

    font-size:13px;

    font-weight:800;

}


.insurance-risk-list span{

    display:block;

    margin-top:4px;

    color:#667085;

    font-size:10px;

    line-height:1.5;

}


/* =========================================
   PROCESO
========================================= */

.insurance-process{

    padding:100px 0;

    background:#12385F;

}


.insurance-process
.insurance-heading h2{

    color:#fff;

}


.insurance-process
.insurance-heading p{

    color:#D7E2ED;

}


.insurance-process-grid{

    display:grid;

    grid-template-columns:
        repeat(4,1fr);

    gap:20px;

}


.insurance-step{

    padding:30px;

    background:rgba(255,255,255,.07);

    border:1px solid rgba(255,255,255,.10);

    border-radius:18px;

}


.insurance-step-number{

    color:#F68B1F;

    font-size:12px;

    font-weight:800;

    margin-bottom:25px;

}


.insurance-step h3{

    color:#fff;

    font-size:18px;

    font-weight:800;

    margin-bottom:10px;

}


.insurance-step p{

    color:#CBD5E1;

    font-size:11px;

    line-height:1.7;

    margin:0;

}


/* =========================================
   COTIZACIÓN
========================================= */

.insurance-quote{

    padding:100px 0;

    background:#081A38;

}


.insurance-quote h2{

    color:#fff;

    font-size:38px;

    line-height:1.2;

    font-weight:800;

    margin:12px 0 18px;

}


.insurance-quote > .container p{

    color:#CBD5E1;

    font-size:14px;

    line-height:1.8;

}


.insurance-quote-points{

    display:flex;

    flex-direction:column;

    gap:12px;

    margin-top:28px;

}


.insurance-quote-points div{

    display:flex;

    align-items:center;

    gap:10px;

    color:#fff;

    font-size:11px;

}


.insurance-quote-points i{

    color:#F68B1F;

}


/* =========================================
   FORMULARIO
========================================= */

.insurance-form-card{

    padding:35px;

    background:#fff;

    border-radius:22px;

    box-shadow:
        0 20px 50px rgba(0,0,0,.15);

}


.insurance-form-card h3{

    color:#081A38;

    font-size:23px;

    font-weight:800;

    margin:0 0 7px;

}


.insurance-form-card > p{

    color:#667085 !important;

    font-size:12px !important;

    margin-bottom:25px;

}


.insurance-form-label{

    display:block;

    color:#081A38;

    font-size:10px;

    font-weight:700;

    margin-bottom:7px;

}


.insurance-form-control{

    width:100%;

    min-height:48px;

    padding:12px 14px;

    background:#F8FAFC;

    border:1px solid #DDE3EA;

    border-radius:10px;

    outline:none;

    color:#081A38;

    font-family:inherit;

    font-size:12px;

}


textarea.insurance-form-control{

    min-height:130px;

    resize:vertical;

}


.insurance-form-control:focus{

    border-color:#F68B1F;

    box-shadow:
        0 0 0 3px rgba(246,139,31,.10);

}


/* =========================================
   INPUT CON UNIDAD
========================================= */

.insurance-input-unit{

    display:flex;

    align-items:center;

    min-height:48px;

    padding:0 14px;

    background:#F8FAFC;

    border:1px solid #DDE3EA;

    border-radius:10px;

    transition:.2s;

}


.insurance-input-unit:focus-within{

    border-color:#F68B1F;

    box-shadow:
        0 0 0 3px rgba(246,139,31,.10);

}


.insurance-input-unit span{

    color:#7A8491;

    font-size:11px;

    font-weight:700;

}


.insurance-input-unit input{

    width:100%;

    height:46px;

    padding:0 7px;

    background:transparent;

    border:0;

    outline:0;

    color:#081A38;

    font-family:inherit;

    font-size:12px;

    font-weight:600;

}


.insurance-input-unit input::-webkit-inner-spin-button,
.insurance-input-unit input::-webkit-outer-spin-button{

    -webkit-appearance:none;

    margin:0;

}


.insurance-input-unit input[type=number]{

    -moz-appearance:textfield;

}


/* =========================================
   BOTÓN FORMULARIO
========================================= */

.btn-insurance-submit{

    width:100%;

    min-height:50px;

    border:0;

    border-radius:10px;

    background:#F68B1F;

    color:#fff;

    font-family:inherit;

    font-size:11px;

    font-weight:700;

    cursor:pointer;

    transition:.2s;

}


.btn-insurance-submit:hover{

    background:#FF9C32;

    transform:translateY(-2px);

}


/* =========================================
   AVISO LEGAL / INFORMACIÓN
========================================= */

.insurance-notice{

    padding:50px 0;

    background:#F5F7FA;

}


.insurance-notice-box{

    display:flex;

    align-items:flex-start;

    gap:15px;

    padding:22px 25px;

    background:#fff;

    border:1px solid #E1E6EC;

    border-left:4px solid #F68B1F;

    border-radius:12px;

}


.insurance-notice-box > i{

    flex-shrink:0;

    color:#F68B1F;

    font-size:19px;

    margin-top:2px;

}


.insurance-notice-box strong{

    display:block;

    color:#081A38;

    font-size:12px;

    font-weight:800;

    margin-bottom:6px;

}


.insurance-notice-box p{

    margin:0;

    color:#667085;

    font-size:10px;

    line-height:1.7;

}


/* =========================================
   CTA
========================================= */

.insurance-cta{

    padding:100px 20px;

    background:
        linear-gradient(
            135deg,
            #F68B1F 0%,
            #D96F0B 45%,
            #081A38 100%
        );

    text-align:center;

}


.insurance-cta h2{

    max-width:750px;

    margin:12px auto 15px;

    color:#fff;

    font-size:42px;

    line-height:1.15;

    font-weight:800;

}


.insurance-cta p{

    max-width:620px;

    margin:0 auto 30px;

    color:rgba(255,255,255,.9);

    font-size:14px;

    line-height:1.8;

}


.btn-insurance-dark{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    padding:14px 25px;

    background:#081A38;

    color:#fff;

    border:1px solid #081A38;

    border-radius:10px;

    text-decoration:none;

    font-size:12px;

    font-weight:700;

    transition:.2s;

}


.btn-insurance-dark:hover{

    background:#fff;

    border-color:#fff;

    color:#081A38;

    transform:translateY(-2px);

}


/* =========================================
   RESPONSIVE
========================================= */

@media(max-width:991px){

    .insurance-hero{

        min-height:auto;

        padding:140px 0 80px;

    }


    .insurance-hero h1{

        font-size:44px;

    }


    .insurance-process-grid{

        grid-template-columns:
            repeat(2,1fr);

    }

}


@media(max-width:767px){

    .insurance-hero{

        padding:125px 20px 70px;

    }


    .insurance-hero h1{

        font-size:34px;

    }


    .insurance-hero-buttons{

        flex-direction:column;

    }


    .btn-insurance,
    .btn-insurance-outline{

        width:100%;

    }


    .insurance-intro,
    .insurance-services,
    .insurance-risks,
    .insurance-process,
    .insurance-quote{

        padding:70px 0;

    }


    .insurance-heading h2,
    .insurance-intro h2,
    .insurance-risks h2,
    .insurance-quote h2{

        font-size:30px;

    }


    .insurance-highlight{

        padding:30px;

    }


    .insurance-process-grid{

        grid-template-columns:1fr;

    }


    .insurance-form-card{

        padding:25px 20px;

    }


    .insurance-notice{

        padding:35px 0;

    }


    .insurance-notice-box{

        padding:18px;

    }


    .insurance-cta{

        padding:75px 20px;

    }


    .insurance-cta h2{

        font-size:32px;

    }

}