:root{

    --primary:#0441A3;
    --secondary:#128698;
    --success:#56CE6E;

    --text:#64748b;
    --text-dark:#0f172a;

    --bg-light:#f8fafc;
    --bg-soft:#f8fbff;

    --radius-sm:12px;
    --radius-md:18px;
    --radius-lg:24px;

    --shadow-sm:0 10px 30px rgba(0,0,0,.05);
    --shadow-md:0 15px 40px rgba(4,65,163,.08);
    --shadow-lg:0 25px 60px rgba(4,65,163,.15);

    --transition:.3s ease;
}
body{

    font-family:Inter,sans-serif;

    color:var(--text);

    overflow-x:hidden;
}

.section-badge{

    display:inline-block;

    padding:.5rem 1rem;

    border-radius:999px;

    background:rgba(18,134,152,.1);

    color:var(--secondary);

    font-weight:600;
}

.section-title{

    color:var(--primary);

    font-weight:700;

    font-size:clamp(2rem,4vw,3rem);
}

.section-description{

    max-width:700px;

    margin:auto;

    color:var(--text);

    font-size:1.1rem;
}

.section-line{

    width:80px;

    height:4px;

    border-radius:999px;

    background:linear-gradient(
        90deg,
        var(--primary),
        var(--success)
    );

    margin:auto;
}
.navbar{

    min-height:85px;

    background:
        rgba(255,255,255,.95)!important;

    backdrop-filter:blur(15px);

    transition:var(--transition);
}

.navbar-brand img{

    max-height:50px;
}

.nav-link{

    color:var(--primary);

    font-weight:600;

    position:relative;
}

.nav-link::after{

    content:"";

    position:absolute;

    left:50%;

    bottom:0;

    width:0;

    height:3px;

    background:var(--success);

    border-radius:10px;

    transform:translateX(-50%);

    transition:var(--transition);
}

.nav-link:hover::after{

    width:70%;
}
.btn-primary-custom{

    background:
        linear-gradient(
            135deg,
            var(--success),
            #1CA88F
        );

    border:none;

    color:#fff!important;

    border-radius:14px;

    padding:14px 22px;

    font-weight:600;

    transition:var(--transition);
}

.btn-primary-custom:hover{

    transform:translateY(-2px);

    box-shadow:
        0 10px 25px rgba(86,206,110,.35);
}

.btn-outline-primary-custom{

    border:2px solid var(--primary);

    color:var(--primary)!important;

    background:#fff;

    border-radius:14px;

    font-weight:600;

    padding:14px 22px;

    transition:var(--transition);
}

.btn-outline-primary-custom:hover{

    background:var(--primary);

    color:#fff!important;
}

.btn-success-custom{

    background:linear-gradient(
        135deg,
        var(--success),
        #1CA88F
    );

    border:none;

    color:#fff !important;

    border-radius:14px;

    padding:14px 22px;

    font-weight:600;

    transition:var(--transition);
}

.btn-success-custom:hover{

    color:#fff !important;

    transform:translateY(-2px);

    box-shadow:
        0 12px 30px rgba(86,206,110,.35);
}
.hero-content{
    animation: heroContentFade 1s ease-out forwards;
}

.hero-dashboard{
    animation: heroImageFade 1.2s ease-out forwards;
}

@keyframes heroContentFade{

    from{
        opacity:0;
        transform:translateY(40px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

@keyframes heroImageFade{

    from{
        opacity:0;
        transform:translateX(60px);
    }

    to{
        opacity:1;
        transform:translateX(0);
    }
}

.hero{

    min-height:100vh;

    background:
    linear-gradient(
        135deg,
        var(--primary),
        var(--primary-light)
    );

    display:flex;
    align-items:center;

    color:white;
}

.hero-description{

    font-size:1.2rem;

    opacity:.9;
}

.hero-image{

    border-radius:24px;

    overflow:hidden;

    box-shadow:
        0 20px 50px rgba(0,0,0,.20);
}

.hero-row{
    min-height:100vh;
}

.hero-section{

    position:relative;

    overflow:hidden;

    min-height:100vh;

    display:flex;

    align-items:center;

    background:

        radial-gradient(
            circle at top right,
            rgba(86,206,110,.15),
            transparent 35%
        ),

        radial-gradient(
            circle at bottom left,
            rgba(18,134,152,.25),
            transparent 40%
        ),

        linear-gradient(
            135deg,
            #0441A3 0%,
            #0F6192 40%,
            #128698 100%
        );

    color:white;
}

.hero-bg-shape{

    position:absolute;

    border-radius:50%;

    filter:blur(80px);

    opacity:.35;

    z-index:1;
}

.hero-shape-1{

    width:350px;
    height:350px;

    background:#56CE6E;

    top:-100px;
    right:-100px;
}

.hero-shape-2{

    width:300px;
    height:300px;

    background:#1CA88F;

    left:-120px;
    bottom:-100px;
}

.hero-shape-3{

    width:250px;
    height:250px;

    background:white;

    opacity:.08;

    top:35%;
    right:25%;
}

.hero-section .container{

    position:relative;

    z-index:2;
}

.hero-badge{

    display:inline-block;

    background:
        rgba(255,255,255,.15);

    backdrop-filter:blur(10px);

    border:1px solid rgba(255,255,255,.20);

    padding:.75rem 1.25rem;

    border-radius:999px;

    font-weight:600;

    margin-bottom:1.5rem;
}

.hero-title{

    font-size:clamp(
        3rem,
        6vw,
        5rem
    );

    font-weight:800;

    line-height:1.05;

    margin-bottom:1.5rem;
}

.hero-description{

    font-size:1.2rem;

    line-height:1.8;

    max-width:600px;

    color:
        rgba(255,255,255,.85);
}

.hero-actions{

    display:flex;

    flex-wrap:wrap;

    gap:1rem;

    margin-top:2rem;
}

@media (max-width: 576px){

    .hero-actions{

        flex-direction:column;
    }

    .hero-actions a{

        width:100%;
    }

}

.btn-hero-primary{

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.75rem;

    padding:16px 34px;

    border:none;
    border-radius:14px;

    font-size:1rem;
    font-weight:700;
    letter-spacing:.3px;

    color:#0441A3 !important;

    background:
        linear-gradient(
            135deg,
            #56CE6E,
            #7DE88E
        );

    box-shadow:
        0 12px 30px rgba(86,206,110,.35);

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        background .25s ease;
}

.btn-hero-primary:hover{

    color:#0441A3 !important;

    background:
        linear-gradient(
            135deg,
            #7DE88E,
            #56CE6E
        );

    transform:
        translateY(-4px);

    box-shadow:
        0 20px 40px rgba(86,206,110,.45);
}

.btn-hero-primary:active{

    transform:
        translateY(-1px);
}

.btn-hero-secondary{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:16px 34px;

    border-radius:14px;

    font-size:1rem;
    font-weight:600;

    color:#ffffff !important;

    background:
        rgba(255,255,255,.08);

    border:1px solid rgba(255,255,255,.25);

    backdrop-filter:blur(12px);

    transition:all .25s ease;
}

.btn-hero-secondary:hover{

    background:
        rgba(255,255,255,.18);

    color:#ffffff !important;

    transform:
        translateY(-4px);

    border-color:
        rgba(255,255,255,.45);
}

.hero-dashboard{

    position:relative;

    border-radius:24px;

    overflow:hidden;

    background:white;

    padding:12px;

    box-shadow:
        0 40px 100px rgba(0,0,0,.25);

    transform:
        perspective(1200px)
        rotateY(-8deg)
        rotateX(2deg);

    transition:.4s;
}

.hero-dashboard:hover{

    transform:
        perspective(1200px)
        rotateY(-3deg)
        translateY(-10px);
        transform:translateY(-5px);
}

.hero-dashboard{

    position:relative;

    border-radius:24px;

    overflow:hidden;

    box-shadow:
        0 30px 80px rgba(0,0,0,.25);

    background:transparent;

    padding:0;
}

@media (min-width:992px){

    .hero-dashboard{

        transform:
            perspective(1200px)
            rotateY(-8deg);
    }

}

.hero-dashboard img{

    width:100%;

    border-radius:24px;

    display:block;

    transform:none;
}

.hero-stats{

    display:flex;

    flex-wrap:wrap;

    gap:2rem;

    margin-top:3rem;
}

@media (max-width:768px){

    .hero-stats{

        justify-content:center;

        text-align:center;
    }

}

.hero-stat{

    display:flex;

    flex-direction:column;
}

.hero-stat strong{

    font-size:1.25rem;

    font-weight:700;
}

.hero-stat span{

    color:
        rgba(255,255,255,.70);

    font-size:.9rem;
}

@media (max-width:991px){

    .hero-section{

        padding-top:130px;
        padding-bottom:60px;

        text-align:center;
    }

    .hero-title{

        font-size:clamp(
            2.2rem,
            8vw,
            3.5rem
        );
    }

    .hero-description{

        font-size:1rem;

        margin-left:auto;
        margin-right:auto;
    }

    .hero-actions{

        flex-direction:column;
    }

    .hero-actions a{

        width:100%;
    }

    .hero-stats{

        justify-content:center;
    }

    .hero-dashboard{

        margin-top:3rem;

        transform:none !important;
    }

    .hero-shape-3{

        display:none;
    }
}
/* =========================
   PROCESS SECTION
========================= */

.process-section{
    padding:120px 0;
    background:linear-gradient(
        180deg,
        #ffffff 0%,
        #f8fbff 100%
    );
}

.process-subtitle{
    color:#0441A3;
    font-weight:700;
    margin-top:1rem;
}

.process-card{
    position:relative;
    height:100%;
    background:#fff;
    border-radius:24px;
    padding:3rem 2rem;
    text-align:center;
    border:1px solid rgba(4,65,163,.08);
    box-shadow:0 10px 35px rgba(4,65,163,.08);
    transition:all .35s ease;
}

.process-card:hover{
    transform:translateY(-10px);
    box-shadow:0 25px 60px rgba(4,65,163,.15);
}

.process-number{
    position:absolute;
    top:20px;
    right:25px;
    font-size:3rem;
    font-weight:800;
    color:rgba(4,65,163,.08);
}

/* ===== ICONO ===== */

.process-icon{
    width:90px;
    height:90px;
    margin:0 auto 1.5rem;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:linear-gradient(
        135deg,
        #56CE6E,
        #1CA88F
    );

    box-shadow:
        0 12px 30px rgba(28,168,143,.25);
}

.process-icon i{
    font-size:2rem;
    color:#fff;
}

/* ===== TEXTO ===== */

.process-card h5{
    font-size:1.3rem;
    font-weight:700;
    color:#0441A3;
    margin-bottom:1rem;
}

.process-card p{
    color:#6c757d;
    line-height:1.8;
    margin:0;
}

/* ===== RESPONSIVE ===== */

@media (max-width:768px){

    .process-card{
        padding:2rem 1.5rem;
    }

    .process-icon{
        width:75px;
        height:75px;
    }

    .process-icon i{
        font-size:1.7rem;
    }

    .process-number{
        font-size:2.3rem;
    }
}
/* =========================
   EXTRA FEATURES SECTION
========================= */

.extra-features-section{
    position:relative;
    overflow:hidden;

    background:linear-gradient(
        180deg,
        #ffffff 0%,
        #f8fafc 100%
    );
}

/* =========================
   DASHBOARD IMAGE
========================= */

.features-dashboard{
    position:relative;

    border-radius:28px;

    overflow:hidden;

    box-shadow:
        0 40px 100px rgba(4,65,163,.18);

    transition:.4s ease;
}

.features-dashboard:hover{
    transform:translateY(-10px);
}

.features-dashboard img{
    width:100%;
    display:block;
    border-radius:28px;
}

/* =========================
   FEATURE LIST
========================= */

.feature-list{
    display:flex;
    flex-direction:column;
    gap:24px;
}

/* =========================
   FEATURE CARD
========================= */

.feature-item{
    display:flex;
    align-items:flex-start;
    gap:20px;

    background:#fff;

    padding:28px;

    border-radius:24px;

    border:1px solid #edf2f7;

    box-shadow:
        0 10px 30px rgba(0,0,0,.04);

    transition:.35s ease;
}

.feature-item:hover{
    transform:translateY(-6px);

    box-shadow:
        0 20px 50px rgba(4,65,163,.10);
}

/* =========================
   FEATURE ICON
========================= */

.feature-icon{
    width:70px;
    height:70px;
    min-width:70px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:18px;

    background:linear-gradient(
        135deg,
        #0441A3,
        #128698
    );

    color:#fff;

    box-shadow:
        0 12px 25px rgba(4,65,163,.25);
}

.feature-icon i{
    font-size:28px;
    color:#fff;
}

/* =========================
   TEXT
========================= */

.feature-item h5{
    margin-bottom:10px;

    font-weight:700;

    color:#0f172a;
}

.feature-item p{
    margin-bottom:0;

    color:#64748b;

    line-height:1.7;
}

/* =========================
   LINKS
========================= */

.feature-link{
    display:inline-flex;
    align-items:center;
    gap:8px;

    margin-top:12px;

    text-decoration:none;

    font-weight:600;

    color:#0441A3;

    transition:.3s ease;
}

.feature-link:hover{
    color:#56CE6E;
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width:768px){

    .feature-item{
        padding:22px;
        gap:15px;
    }

    .feature-icon{
        width:60px;
        height:60px;
        min-width:60px;
    }

    .feature-icon i{
        font-size:22px;
    }
}
/* =========================
   BENEFITS SECTION
========================= */

.benefits-section{
    background:#f8fafc;
}

/* =========================
   SWIPER
========================= */

.benefitsSwiper{
    padding-bottom:60px;
}

/* =========================
   BENEFIT CARD
========================= */

.benefit-card{
    position:relative;

    height:100%;

    background:#fff;

    padding:2rem;

    border-radius:24px;

    border:1px solid #e8edf5;

    overflow:hidden;

    box-shadow:
        0 8px 30px rgba(0,0,0,.05);

    transition:.35s ease;
}

.benefit-card:hover{
    transform:translateY(-8px);

    box-shadow:
        0 20px 50px rgba(4,65,163,.12);
}

.benefit-card::before{
    content:"";

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:4px;

    background:linear-gradient(
        90deg,
        #0441A3,
        #56CE6E
    );

    transform:scaleX(0);

    transition:.35s ease;
}

.benefit-card:hover::before{
    transform:scaleX(1);
}

/* =========================
   ICON
========================= */

.benefit-icon{
    width:70px;
    height:70px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:18px;

    margin-bottom:1.5rem;

    background:linear-gradient(
        135deg,
        #0441A3,
        #128698
    );

    color:#fff;

    box-shadow:
        0 12px 25px rgba(4,65,163,.20);
}

.benefit-icon i{
    font-size:2rem;
    color:#fff;
}

/* =========================
   TEXT
========================= */

.benefit-card h5{
    font-size:1.2rem;

    font-weight:700;

    color:#0f172a;

    margin-bottom:1rem;
}

.benefit-card p{
    margin-bottom:0;

    color:#64748b;

    line-height:1.7;
}

/* =========================
   SWIPER PAGINATION
========================= */

.swiper-pagination-bullet{
    width:12px;
    height:12px;
}

.swiper-pagination-bullet-active{
    background:#0441A3;
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width:768px){

    .benefit-card{
        padding:1.5rem;
    }

    .benefit-icon{
        width:60px;
        height:60px;
    }

    .benefit-icon i{
        font-size:1.5rem;
    }

    .benefit-card h5{
        font-size:1.05rem;
    }
}
/* =========================
   PRICING SECTION
========================= */

.pricing-section{
    background:#f8fafc;
}

/* =========================
   CARD
========================= */

.pricing-card{
    position:relative;

    display:flex;
    flex-direction:column;

    height:100%;

    background:#fff;

    border:1px solid #e8eef7;

    border-radius:24px;

    padding:2rem;

    overflow:visible;

    box-shadow:
        0 15px 40px rgba(4,65,163,.06);

    transition:
        transform .35s ease,
        box-shadow .35s ease;
}

.pricing-card:hover{
    transform:translateY(-8px);

    box-shadow:
        0 25px 60px rgba(4,65,163,.12);
}

/* =========================
   FEATURED CARD
========================= */

.pricing-card-featured{
    background:linear-gradient(
        180deg,
        #0441A3 0%,
        #0F6192 100%
    );

    color:#fff;

    border:none;

    box-shadow:
        0 30px 80px rgba(4,65,163,.25);
}

@media (min-width:992px){

    .pricing-card-featured{
        transform:scale(1.05);
        z-index:5;
    }

    .pricing-card-featured:hover{
        transform:
            scale(1.05)
            translateY(-10px);
    }
}

/* =========================
   BADGE
========================= */

.pricing-badge{
    position:absolute;

    top:-12px;
    right:25px;

    background:linear-gradient(
        135deg,
        #56CE6E,
        #7DE88E
    );

    color:#0441A3;

    font-weight:700;

    font-size:.85rem;

    padding:.6rem 1.2rem;

    border-radius:999px;

    z-index:10;

    box-shadow:
        0 10px 25px rgba(86,206,110,.35);
}

/* =========================
   HEADER
========================= */

.pricing-header{
    margin-bottom:2rem;
}

.pricing-card h4{
    font-size:1.5rem;
    font-weight:700;
    color:#0441A3;
    margin-bottom:1rem;
}

.pricing-card-featured h4{
    color:#fff;
}

/* =========================
   PRICE
========================= */

.pricing-price{
    font-size:3rem;
    font-weight:800;
    line-height:1;
    color:#0441A3;
}

.pricing-card-featured .pricing-price{
    color:#fff;
}

.pricing-price span{
    display:block;

    margin-top:.75rem;

    font-size:.95rem;

    font-weight:500;

    color:#7c8aa5;
}

.pricing-card-featured .pricing-price span{
    color:rgba(255,255,255,.75);
}

/* =========================
   NOTE
========================= */

.pricing-note{
    margin-top:1rem;

    color:#8b97a8;

    font-size:.95rem;
}

.pricing-card-featured .pricing-note{
    color:rgba(255,255,255,.75);
}

/* =========================
   FEATURES
========================= */

.pricing-features{
    list-style:none;

    padding:0;

    margin:0;

    flex:1;
}

.pricing-features li{
    display:flex;

    align-items:flex-start;

    gap:.75rem;

    margin-bottom:1rem;

    color:#49566b;

    font-size:.95rem;
}

.pricing-card-featured .pricing-features li{
    color:rgba(255,255,255,.92);
}

.pricing-features li::before{
    content:"✓";

    width:24px;
    height:24px;

    min-width:24px;

    display:flex;

    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#56CE6E;

    color:#fff;

    font-size:.75rem;

    font-weight:700;

    margin-top:2px;
}

/* =========================
   EXTRA
========================= */

.pricing-extra{
    margin-top:auto;

    padding-top:1.25rem;

    border-top:1px solid rgba(4,65,163,.08);

    color:#6c757d;

    font-size:.95rem;
}

.pricing-card-featured .pricing-extra{
    border-color:rgba(255,255,255,.15);

    color:rgba(255,255,255,.85);
}

/* =========================
   BUTTON
========================= */

.pricing-card .btn{
    margin-top:1.75rem;
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width:991px){

    .pricing-card{
        padding:1.75rem;
    }

    .pricing-price{
        font-size:2.5rem;
    }

    .pricing-badge{
        top:-10px;
        right:15px;
    }
}

@media (max-width:768px){

    .pricing-card{
        padding:1.5rem;
    }

    .pricing-card h4{
        font-size:1.3rem;
    }

    .pricing-price{
        font-size:2.2rem;
    }

    .pricing-features li{
        font-size:.9rem;
    }

    .pricing-badge{
        font-size:.75rem;
        padding:.45rem .9rem;
    }
}
/* =========================
   PLATFORM SECTION
========================= */

.platform-showcase{
    background:linear-gradient(
        180deg,
        #ffffff 0%,
        #f8fbff 100%
    );
}

/* =========================
   WRAPPER
========================= */

.platform-wrapper{
    position:relative;
    background:#fff;
    padding:30px;
    border-radius:32px;
    box-shadow:0 25px 80px rgba(4,65,163,.08);
}

/* =========================
   CAROUSEL
========================= */

#platformCarousel{
    position:relative;
}

#platformCarousel .carousel-inner{
    overflow:visible;
}

#platformCarousel .carousel-item{
    padding-bottom:70px;
}

/* =========================
   SCREENSHOT
========================= */

.platform-screen{
    overflow:hidden;
    border-radius:24px;
    background:#fff;
    border:1px solid #edf2f7;
    box-shadow:0 20px 60px rgba(4,65,163,.10);
}

.platform-screen img{
    display:block;
    width:100%;
    height:auto;
}

/* =========================
   INFO CARD
========================= */

.platform-info-card{
    position:relative;

    max-width:700px;

    margin:-40px auto 0;

    display:flex;
    align-items:center;
    gap:20px;

    background:#fff;

    padding:25px;

    border-radius:24px;

    box-shadow:
        0 20px 60px rgba(0,0,0,.08);

    z-index:5;
}

.platform-info-card h4{
    margin-bottom:.5rem;
    color:#0441A3;
    font-weight:700;
}

.platform-info-card p{
    margin:0;
    color:#64748b;
    line-height:1.7;
}

/* =========================
   ICON
========================= */

.platform-icon{
    width:70px;
    height:70px;
    min-width:70px;

    border-radius:20px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:linear-gradient(
        135deg,
        #0441A3,
        #128698
    );

    box-shadow:
        0 12px 30px rgba(4,65,163,.25);
}

.platform-icon i{
    color:#fff;
    font-size:1.8rem;
}

/* =========================
   INDICATORS
========================= */

.carousel-indicators{
    bottom:-10px;
    gap:10px;
    margin-bottom:0;
}

.carousel-indicators [data-bs-target]{
    flex:0 0 auto !important;

    width:12px !important;
    height:12px !important;

    min-width:12px;
    max-width:12px;

    border-radius:50% !important;

    background:#0441A3 !important;

    opacity:.3;

    margin:0 !important;
}

.carousel-indicators .active{
    opacity:1;
}

/* =========================
   ARROWS
========================= */

.carousel-control-prev,
.carousel-control-next{
    width:55px;
    height:55px;

    top:45%;

    background:#fff;

    border-radius:50%;

    opacity:1;

    box-shadow:
        0 10px 30px rgba(0,0,0,.12);
}

.carousel-control-prev{
    left:-25px;
}

.carousel-control-next{
    right:-25px;
}

.carousel-control-prev-icon,
.carousel-control-next-icon{
    filter:invert(1);
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width:991px){

    .platform-wrapper{
        padding:20px;
    }

    .platform-info-card{
        flex-direction:column;
        text-align:center;
        margin-top:20px;
    }

    .carousel-control-prev,
    .carousel-control-next{
        display:none;
    }

    #platformCarousel .carousel-item{
        padding-bottom:20px;
    }
}

@media (max-width:767px){

    .platform-info-card{
        padding:20px;
    }

    .platform-icon{
        width:60px;
        height:60px;
        min-width:60px;
    }

    .platform-icon i{
        font-size:1.4rem;
    }
}
/* =========================
   TIMBRADO SECTION
========================= */

.timbrado-section{
    background:linear-gradient(
        180deg,
        #ffffff 0%,
        #f8fbff 100%
    );
}

/* =========================
   CARD
========================= */

.timbrado-card{
    position:relative;

    display:flex;
    flex-direction:column;

    height:100%;

    background:#fff;

    padding:2.5rem;

    border-radius:28px;

    border:1px solid #e8eef7;

    box-shadow:
        0 15px 40px rgba(4,65,163,.08);

    transition:
        transform .35s ease,
        box-shadow .35s ease;
}

.timbrado-card:hover{
    transform:translateY(-8px);

    box-shadow:
        0 25px 60px rgba(4,65,163,.14);
}

/* =========================
   FEATURED CARD
========================= */

.timbrado-card-featured{
    border:2px solid #56CE6E;

    box-shadow:
        0 25px 70px rgba(86,206,110,.18);
}

/* =========================
   BADGE
========================= */

.timbrado-badge{
    position:absolute;

    top:-14px;
    left:50%;

    transform:translateX(-50%);

    background:linear-gradient(
        135deg,
        #56CE6E,
        #7de88e
    );

    color:#0441A3;

    font-size:.85rem;

    font-weight:700;

    padding:.6rem 1.2rem;

    border-radius:999px;

    box-shadow:
        0 10px 25px rgba(86,206,110,.30);
}

/* =========================
   ICON
========================= */

.timbrado-icon{
    width:80px;
    height:80px;

    min-width:80px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin-bottom:1.75rem;

    border-radius:22px;

    background:linear-gradient(
        135deg,
        #0441A3,
        #128698
    );

    box-shadow:
        0 15px 35px rgba(4,65,163,.25);
}

.timbrado-icon i{
    color:#fff;
    font-size:2rem;
}

/* =========================
   TITLES
========================= */

.timbrado-card h3{
    color:#0441A3;

    font-weight:700;

    margin-bottom:.75rem;
}

.timbrado-subtitle{
    color:#64748b;

    line-height:1.7;

    margin-bottom:2rem;
}

/* =========================
   FEATURES
========================= */

.timbrado-features{
    list-style:none;

    padding:0;

    margin:0;

    flex-grow:1;
}

.timbrado-features li{
    position:relative;

    padding:.9rem 0 .9rem 2rem;

    color:#475569;

    border-bottom:
        1px solid rgba(4,65,163,.08);
}

.timbrado-features li:last-child{
    border-bottom:none;
}

.timbrado-features li::before{
    content:"✓";

    position:absolute;

    left:0;
    top:14px;

    width:22px;
    height:22px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#56CE6E;

    color:#fff;

    font-size:.7rem;

    font-weight:700;
}

/* =========================
   BUTTON
========================= */

.timbrado-card .btn{
    margin-top:2rem;
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width:991px){

    .timbrado-card{
        padding:2rem;
    }

}

@media (max-width:767px){

    .timbrado-card{
        padding:1.75rem;
    }

    .timbrado-icon{
        width:65px;
        height:65px;
        min-width:65px;
    }

    .timbrado-icon i{
        font-size:1.6rem;
    }

    .timbrado-card h3{
        font-size:1.4rem;
    }
}
/* =========================
   FOOTER
========================= */

.footer-custom{
    background:#0441A3;
    color:#fff;
    padding:5rem 0;
}

/* =========================
   LOGO
========================= */

.footer-logo{
    max-width:220px;
    margin-bottom:1.5rem;
}

.footer-description{
    color:rgba(255,255,255,.75);
    line-height:1.8;
    margin-bottom:2rem;
}

/* =========================
   TITLES
========================= */

.footer-title{
    color:#fff;
    font-weight:700;
    margin-bottom:1.5rem;
}

/* =========================
   LINKS
========================= */

.footer-links{
    list-style:none;
    padding:0;
    margin:0;
}

.footer-links li{
    margin-bottom:.9rem;
}

.footer-links a{
    color:rgba(255,255,255,.75);
    text-decoration:none;
    transition:.3s;
}

.footer-links a:hover{
    color:#56CE6E;
    padding-left:4px;
}

/* =========================
   CONTACT
========================= */

.footer-contact{
    display:flex;
    flex-direction:column;
    gap:1rem;
}

.footer-contact div{
    color:rgba(255,255,255,.85);
    line-height:1.7;
}

.footer-contact i{
    width:22px;
    color:#56CE6E;
}

/* =========================
   BOTTOM
========================= */

.footer-bottom{
    background:#0f172a;
    padding:1.5rem 0;
}

.copyright{
    margin:0;
    color:rgba(255,255,255,.70);
}

/* =========================
   SOCIAL
========================= */

.footer-social{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:1rem;
}

.footer-social a{
    display:flex;
    align-items:center;
    justify-content:center;

    min-width:42px;
    height:42px;

    padding:0 14px;

    border-radius:12px;

    background:rgba(255,255,255,.08);

    color:#fff;

    text-decoration:none;

    transition:.3s ease;
}

.footer-social a:hover{
    background:#56CE6E;
    color:#0441A3;
    transform:translateY(-2px);
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width:991px){

    .footer-social{
        justify-content:flex-start;
        margin-top:1.5rem;
    }
}

@media (max-width:767px){

    .footer-custom{
        text-align:center;
    }

    .footer-contact{
        align-items:center;
    }

    .footer-social{
        justify-content:center;
        flex-wrap:wrap;
    }

    .copyright{
        margin-bottom:1rem;
    }
}
@media(max-width:991.98px){

    .navbar-collapse{

        padding:1.5rem;

        background:#fff;

        border-radius:20px;

        box-shadow:
            0 15px 40px rgba(0,0,0,.08);
    }

    .carousel-control-prev,
    .carousel-control-next{

        display:none;
    }
}

@media(max-width:767.98px){

    .section-title{

        font-size:2rem;
    }

    .section-description{

        font-size:1rem;
    }

    .pricing-card,
    .benefit-card,
    .feature-item,
    .timbrado-card{

        padding:1.5rem;
    }
}
/* =========================
   VALIDAR CSD
========================= */

.csd-page{
    padding-top:140px;
    padding-bottom:80px;

    background:
        linear-gradient(
            180deg,
            #f8fbff 0%,
            #ffffff 100%
        );
}

.csd-card{

    background:#fff;

    border-radius:30px;

    overflow:hidden;

    box-shadow:
        0 25px 70px rgba(4,65,163,.08);

    border:1px solid rgba(4,65,163,.08);
}

/* HEADER */

.csd-header{

    padding:3rem 2.5rem;

    text-align:center;

    background:
        linear-gradient(
            135deg,
            var(--primary),
            var(--secondary)
        );

    color:#fff;
}

.csd-icon{

    width:90px;
    height:90px;

    margin:0 auto 1.5rem;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
        rgba(255,255,255,.15);

    backdrop-filter:blur(10px);
}

.csd-icon i{

    font-size:2.2rem;

    color:#fff;
}

.csd-header h2{

    font-weight:700;

    margin-bottom:1rem;
}

.csd-header p{

    margin:0;

    color:rgba(255,255,255,.85);
}

/* BODY */

.csd-body{

    padding:3rem;
}

.csd-group{

    margin-bottom:1.75rem;
}

.csd-group label{

    display:flex;

    align-items:center;

    gap:10px;

    font-weight:600;

    color:var(--primary);

    margin-bottom:.75rem;
}

.csd-group label i{

    color:var(--success);
}

.csd-group .form-control{

    height:56px;

    border-radius:16px;

    border:1px solid #dbe5f0;

    box-shadow:none;

    transition:.3s;
}

.csd-group .form-control:focus{

    border-color:var(--primary);

    box-shadow:
        0 0 0 .2rem rgba(4,65,163,.12);
}

/* FILE INPUT */

input[type=file]{

    padding:14px;
}

/* RESPONSIVE */

@media(max-width:768px){

    .csd-header{

        padding:2.5rem 1.5rem;
    }

    .csd-body{

        padding:2rem 1.5rem;
    }

    .csd-icon{

        width:75px;
        height:75px;
    }

    .csd-icon i{

        font-size:1.8rem;
    }
}
.xml-page{

    padding-top:130px;
    padding-bottom:80px;

    background:
        linear-gradient(
            180deg,
            #f8fbff 0%,
            #ffffff 100%
        );
}

.xml-alert{

    border-radius:18px;
}

.xml-info-card,
.xml-upload-card{

    background:#fff;

    border-radius:28px;

    padding:3rem;

    border:1px solid rgba(4,65,163,.08);

    box-shadow:
        0 20px 60px rgba(4,65,163,.08);

    height:100%;
}

.xml-info-card h4{

    color:var(--primary);

    font-weight:700;

    margin-bottom:2rem;
}

.xml-steps{

    list-style:none;

    padding:0;

    margin:0;
}

.xml-steps li{

    position:relative;

    padding-left:35px;

    margin-bottom:1.5rem;

    color:#64748b;

    line-height:1.8;
}

.xml-steps li::before{

    content:"✓";

    position:absolute;

    left:0;

    width:24px;
    height:24px;

    border-radius:50%;

    background:var(--success);

    color:#fff;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:.8rem;
}

.drag-area{

    text-align:center;
}

.xml-upload-icon{

    width:100px;
    height:100px;

    margin:0 auto 2rem;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
        linear-gradient(
            135deg,
            var(--primary),
            var(--secondary)
        );

    color:#fff;

    font-size:2.5rem;
}

.xml-table{

    background:#fff;

    overflow:hidden;

    border-radius:20px;

    box-shadow:
        0 20px 60px rgba(4,65,163,.08);
}

.xml-table th{

    background:var(--primary);

    color:#fff;

    border:none;
}

.xml-table td{

    vertical-align:middle;
}

@media(max-width:768px){

    .xml-page{

        padding-top:110px;
    }

    .xml-info-card,
    .xml-upload-card{

        padding:2rem;
    }
}

.xml-upload-card{
    background:#fff;
    border-radius:30px;
    padding:2rem;
    box-shadow:0 20px 60px rgba(4,65,163,.08);
}

.drag-area{
    border:3px dashed rgba(4,65,163,.18);
    border-radius:24px;
    padding:4rem 2rem;
    text-align:center;
    transition:.3s ease;
    background:#fafcff;
}

.drag-area.active{
    border-color:var(--success);
    background:rgba(86,206,110,.06);
}

.drag-area .icon{
    margin-bottom:1.5rem;
}

.drag-area .icon i{
    font-size:4rem;
    color:var(--primary);
}

#headFile{
    font-size:1.2rem;
    font-weight:700;
    color:var(--primary);
    line-height:1.7;
}

#headFile span{
    color:#64748b;
    font-size:.95rem;
    font-weight:500;
}

.upload-description{
    margin:1.5rem 0;
    color:#94a3b8;
    font-size:.95rem;
}

.drag-area:hover{
    box-shadow:0 15px 40px rgba(4,65,163,.08);
}

@media (max-width:768px){

    .drag-area{
        padding:3rem 1.5rem;
    }

    .drag-area .icon i{
        font-size:3rem;
    }

    #headFile{
        font-size:1rem;
    }
}

.xml-upload-card .form-control{

    border:1px solid rgba(4,65,163,.12);

    border-radius:14px;

    min-height:54px;

    box-shadow:none;

    transition:.3s ease;
}

.xml-upload-card .form-control:focus{

    border-color:var(--primary);

    box-shadow:0 0 0 .2rem rgba(4,65,163,.12);
}

.xml-upload-card .form-label{

    color:var(--primary);

    margin-bottom:.7rem;
}

.xml-upload-card form{

    max-width:700px;

    margin:auto;
}
/* ======================
   PAGE LOADER
====================== */

#page-loader{

    position:fixed;

    inset:0;

    background:#fff;

    z-index:999999;

    display:flex;

    align-items:center;

    justify-content:center;

    transition:.4s ease;
}

#page-loader.hide{

    opacity:0;

    visibility:hidden;
}

.page-loader-card{

    text-align:center;
}

.page-loader-card h4{

    color:var(--primary);

    font-weight:700;

    margin-top:25px;
}

.page-loader-card p{

    color:#64748b;
}

.page-loader-spinner{

    width:70px;
    height:70px;

    border:5px solid rgba(4,65,163,.1);

    border-top:5px solid var(--primary);

    border-radius:50%;

    animation:spinLoader .8s linear infinite;
}

@keyframes spinLoader{

    100%{

        transform:rotate(360deg);
    }
}

