/* ==========================================
   HERO SECTION
========================================== */

.hero {

    position: relative;

    min-height: 80vh;

    display: flex;

    align-items: center;

    background-image: url("../img/hero/hero-bg.jpg");

    background-size: cover;

    background-position: center center;

    background-repeat: no-repeat;

    overflow: hidden;

}

.hero-overlay {

    position: absolute;

    top: 0;

    left: 0;

    width: 100%;

    height: 100%;

    background: rgba(8, 24, 49, .78);

}

.hero .container {

    position: relative;

    z-index: 2;

}

.hero > .container > .row {

    min-height: 80vh;

    align-items: center;

}

/*=========================================
TEXTOS HERO
=========================================*/

.hero-badge {

    display: inline-flex;

    flex-direction: column;

    align-items: flex-start;

    gap: 4px;

    background: rgba(241,90,36,.95);

    color: #ffffff;

    padding: 12px 22px;

    border-radius: 16px;

    border: 1px solid rgba(255,255,255,.18);

    backdrop-filter: blur(8px);

    box-shadow: 0 12px 30px rgba(0,0,0,.18);

    margin-bottom: 20px;

    max-width: max-content;

    width: fit-content;

}

.hero-badge .badge-title {

    font-size: 13px;

    font-weight: 800;

    letter-spacing: 1.5px;

    text-transform: uppercase;

    line-height: 1.2;

}

.hero-badge .badge-license {

    font-size: 15px;

    font-weight: 600;

    opacity: .95;

}

.hero-title {

    color: #fff;

    font-size: 64px;

    font-weight: 800;

    line-height: 1.05;

    margin-bottom: 18px;

    text-transform: uppercase;

}

.hero-subtitle {

    color: #ffffff;

    font-size: 20px;

    line-height: 1.55;

    margin-bottom: 20px;

    max-width: 720px;

}

/*=========================================
BOTONES HERO
=========================================*/

.hero-buttons {

    display: flex;

    gap: 16px;

    margin-bottom: 18px;

    flex-wrap: wrap;

}

/*=========================================
FEATURES
=========================================*/

.hero-features {

    display: flex;

    gap: 18px;

    flex-wrap: wrap;

    color: #fff;

    font-size: 17px;

    font-weight: 600;

}

.hero-features span {

    display: flex;

    align-items: center;

}

/*=========================================
HERO INFO
=========================================*/

.hero-info {

    display: flex;

    gap: 16px;

    margin-top: 18px;

    flex-wrap: wrap;

}

.hero-info-item {

    display: flex;

    align-items: center;

    gap: 12px;

    background: rgba(255,255,255,.12);

    backdrop-filter: blur(8px);

    padding: 12px 18px;

    border-radius: 12px;

    color: #fff;

    border: 1px solid rgba(255,255,255,.20);

}

.hero-info-item i {

    color: #F15A24;

    font-size: 20px;

}

.hero-info-item span {

    font-size: 14px;

    font-weight: 600;

}

/*=========================================================
=                 HERO RESPONSIVE
=========================================================*/

@media (max-width: 991px) {

    .hero {

        min-height: 78vh;

    }

    .hero .row {

        min-height: 78vh;

    }

    .hero-title {

        font-size: 56px;

        line-height: 1.08;

        margin-bottom: 18px;

    }

    .hero-subtitle {

        font-size: 20px;

        margin-bottom: 28px;

    }

    .hero-badge {

        padding: 12px 20px;

        margin-bottom: 20px;

    }

    .hero-badge .badge-title {

        font-size: 12px;

    }

    .hero-badge .badge-license {

        font-size: 14px;

    }

    .hero-buttons {

        gap: 15px;

        margin-bottom: 25px;

    }

    .hero-features {

        gap: 18px;

        font-size: 16px;

    }

    .hero-info {

        margin-top: 28px;

        gap: 15px;

    }

}

/*--------------------------------------*/

@media (max-width: 767px) {

    .hero {

        min-height: 78vh;

    }

    .hero .row {

        min-height: 78vh;

        padding: 45px 0;

    }

    .hero-title {

        font-size: 48px;

        line-height: 1.05;

        margin-bottom: 15px;

    }

    .hero-subtitle {

        font-size: 18px;

        line-height: 1.6;

        margin-bottom: 22px;

    }

    .hero-badge {

        padding: 10px 18px;

        margin-bottom: 18px;

    }

    .hero-badge .badge-title {

        font-size: 11px;

    }

    .hero-badge .badge-license {

        font-size: 13px;

    }

    .hero-buttons {

        gap: 12px;

        margin-bottom: 22px;

    }

    .btn-primary-custom,
    .btn-secondary-custom {

        padding: 14px 28px;

        font-size: 15px;

    }

    .hero-features {

        gap: 12px;

        font-size: 15px;

    }

    .hero-info {

        margin-top: 22px;

        gap: 12px;

    }

    .hero-info-item {

        padding: 10px 16px;

    }

}

/*=========================================================
=                 HERO FORM
=========================================================*/

.hero-form-card {

    background: #ffffff;

    border-radius: 18px;

    padding: 20px;

    box-shadow: 0 15px 35px rgba(0,0,0,.15);

    max-width: 430px;

    margin-left: auto;

}

.hero-form-header {

    text-align: center;

    margin-bottom: 14px;

}

.hero-form-header h3 {

    color: #0B1F45;

    font-size: 24px;

    font-weight: 800;

    margin-bottom: 6px;

}

.hero-form-header p {

    color: #666;

    font-size: 14px;

    line-height: 1.4;

    margin-bottom: 16px;

}

/* Formulario exclusivo del Hero */

.hero-contact-form .row {

    --bs-gutter-x: 12px;

    --bs-gutter-y: 12px;

}

.hero-contact-form .mb-4 {

    margin-bottom: 0 !important;

}

.hero-contact-form .form-control,
.hero-contact-form .form-select {

    height: 44px;

    border-radius: 10px;

    border: 1px solid #dcdcdc;

    padding: 8px 14px;

    font-size: 14px;

    box-shadow: none;

}

.hero-contact-form textarea.form-control {

    min-height: 95px;

    resize: none;

}

.hero-contact-form .btn-primary-custom {

    width: 100%;

    height: 46px;

    padding: 0;

    border: none;

    font-size: 15px;

    cursor: pointer;

}