:root{--navy:#0b2856;--navy2:#061d43;--green:#588d2f;--green2:#75a93e;--ink:#26313a;--muted:#68727d;--light:#f5f8fb;--white:#fff;--line:#dfe6ec;--shadow:0 18px 50px rgba(12,40,86,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.6}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}.topbar{background:#fff}.topbar-inner{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand img{width:515px;max-height:86px;object-fit:contain;object-position:left}.top-contact{display:flex;gap:24px;align-items:center;font-size:13px;color:#172a46}.top-contact a,.top-contact>span{display:flex;align-items:center;gap:8px}.icon{color:var(--green);font-size:18px}.menu-btn{display:none;border:0;background:var(--navy);color:#fff;border-radius:8px;font-size:24px;padding:7px 12px}.navbar{background:linear-gradient(90deg,var(--navy2),#0d3972);position:sticky;top:0;z-index:50;box-shadow:0 6px 18px rgba(4,25,57,.16)}.nav-inner{height:58px;display:flex;align-items:center;justify-content:space-between}.nav-links{display:flex;align-items:center;gap:38px}.nav-links a{color:#fff;font-size:14px;text-transform:uppercase;font-weight:600;position:relative}.nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:-19px;height:3px;background:var(--green2);transition:.3s}.nav-links a:hover:after,.nav-links a.active:after{right:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:11px;border:0;border-radius:8px;padding:14px 22px;font-weight:700;text-transform:uppercase;font-size:13px;cursor:pointer;transition:.25s}.btn:hover{transform:translateY(-2px);filter:brightness(1.05)}.btn-small{padding:10px 18px}.btn-navy{background:linear-gradient(135deg,var(--navy),#0d4386);color:#fff;box-shadow:0 10px 25px rgba(11,40,86,.25)}.btn-green{background:linear-gradient(135deg,var(--green),var(--green2));color:#fff;box-shadow:0 10px 25px rgba(88,141,47,.25)}.btn-white{background:#fff;color:var(--navy)}.btn-block{width:100%}.hero{position:relative;overflow:hidden;background:linear-gradient(105deg,#fff 5%,#f2f7fb 52%,#eef5ea 100%);padding:56px 0 76px}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.82) 46%,rgba(255,255,255,.05) 80%)}.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;min-height:400px;gap:40px}.eyebrow{display:inline-block;color:var(--green);text-transform:uppercase;font-weight:800;letter-spacing:.12em;font-size:12px;margin-bottom:12px}.eyebrow.light{color:#b9df8f}.hero h1{font-size:58px;line-height:.98;letter-spacing:-.045em;margin:0;color:var(--navy);font-weight:800}.hero h1 span{color:var(--green)}.hero-copy>p{max-width:610px;font-size:18px;margin:24px 0;color:#445160}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.trust-row{display:flex;gap:28px;margin-top:30px}.trust-row div{display:flex;flex-direction:column;padding-right:28px;border-right:1px solid var(--line)}.trust-row div:last-child{border:0}.trust-row strong{font-size:22px;color:var(--navy)}.trust-row span{font-size:12px;color:var(--muted)}.hero-visual{position:relative;min-height:390px;display:flex;align-items:flex-end;justify-content:center}.hero-visual img{width:100%;border-radius:50% 0 0 50%;position:relative;z-index:2;object-fit:cover;height:330px;box-shadow:var(--shadow)}.hero-ring{position:absolute;width:490px;height:490px;border:7px solid var(--green);border-radius:50%;right:-60px;top:-30px;z-index:1}.floating-card{position:absolute;left:10px;bottom:10px;z-index:3;background:#fff;padding:14px 18px;border-radius:12px;box-shadow:var(--shadow);display:flex;align-items:center;gap:12px}.floating-card .check{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-weight:800}.floating-card div{display:flex;flex-direction:column}.floating-card small{color:var(--muted)}.hero-glow{position:absolute;border-radius:50%;filter:blur(2px)}.hero-glow-one{width:280px;height:280px;background:rgba(88,141,47,.08);right:4%;top:10%}.hero-glow-two{width:220px;height:220px;background:rgba(11,40,86,.07);left:5%;bottom:-80px}.insurance-wrap{margin-top:-48px;position:relative;z-index:5}.insurance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.insurance-card{background:#fff;border-radius:15px;padding:26px;box-shadow:var(--shadow);display:grid;grid-template-columns:70px 1fr;gap:20px;border:1px solid rgba(219,228,235,.7);transition:.3s}.insurance-card:hover{transform:translateY(-7px)}.insurance-icon{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:34px;box-shadow:0 8px 20px rgba(0,0,0,.16)}.insurance-icon.personas{background:linear-gradient(145deg,#0b2856,#17539b)}.insurance-icon.empresas,.insurance-icon.internacionales{background:linear-gradient(145deg,#4f8328,#7eb147)}.mini-label{font-size:10px;color:var(--green);font-weight:800;letter-spacing:.08em}.insurance-card h2{font-size:20px;line-height:1.15;margin:4px 0 8px;color:var(--navy)}.insurance-card p{font-size:13px;color:var(--muted);margin:0 0 10px}.link-btn{border:0;background:none;padding:0;color:var(--navy);text-transform:uppercase;font-weight:800;font-size:12px;cursor:pointer}.link-btn span{color:var(--green);margin-left:8px}.benefits{padding:25px 0 0}.benefits-grid{display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 12px 35px rgba(12,40,86,.08);padding:18px}.benefit{display:flex;align-items:center;gap:12px;padding:5px 17px;border-right:1px solid var(--line)}.benefit:last-child{border:0}.benefit>span{width:44px;height:44px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-size:19px}.benefit:nth-child(even)>span{background:var(--green)}.benefit div{display:flex;flex-direction:column}.benefit b{font-size:13px;color:var(--navy);line-height:1.2}.benefit small{font-size:10px;color:var(--muted);line-height:1.3}.section{padding:92px 0}.section-heading{text-align:center;max-width:720px;margin:0 auto 42px}.section h2{font-size:40px;line-height:1.15;margin:0 0 14px;color:var(--navy);letter-spacing:-.03em}.section-heading p{color:var(--muted)}.about{background:#fff}.areas-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.area-card{text-align:center;padding:34px 30px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 12px 35px rgba(12,40,86,.06);transition:.3s}.area-card:hover{transform:translateY(-6px);border-color:#b8cba8}.area-logo{font-weight:800;font-size:32px;height:56px;display:grid;place-items:center}.area-logo.navy{color:var(--navy)}.area-logo.green{color:var(--green)}.area-logo.mixed{color:var(--green)}.area-card h3{margin:8px 0 0;text-transform:uppercase;color:var(--navy)}.area-card>span{display:block;text-transform:uppercase;font-size:12px;font-weight:700;color:var(--green)}.area-card p{font-size:14px;color:var(--muted)}.area-card a{font-size:12px;font-weight:800;color:var(--navy);text-transform:uppercase}.claims{background:linear-gradient(120deg,var(--navy2),#0d3972);color:#fff;position:relative;overflow:hidden}.claims:after{content:"";position:absolute;width:460px;height:460px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-170px;top:-120px}.claims-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;position:relative;z-index:2}.claims h2{color:#fff}.claims-copy p{color:#d2dce9}.claims-copy ul{list-style:none;padding:0;margin:22px 0}.claims-copy li{margin:10px 0}.claims-copy li:before{content:"✓";color:#b9df8f;margin-right:10px}.claims-steps{display:grid;gap:15px}.claims-steps>div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:18px 22px;display:grid;grid-template-columns:52px 1fr;column-gap:12px}.claims-steps span{grid-row:1/3;font-size:27px;font-weight:800;color:#b9df8f}.claims-steps b{font-size:17px}.claims-steps p{margin:2px 0 0;color:#cbd6e4;font-size:13px}.testimonials{background:var(--light)}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:60px}.quote-card{background:#fff;border-radius:16px;padding:30px;box-shadow:var(--shadow);position:relative}.quote-mark{font-size:62px;color:var(--green);line-height:.5}.quote-card p{font-size:16px;font-style:italic}.quote-card b,.quote-card small{display:block}.quote-card small{color:var(--muted)}.dots{display:flex;gap:7px;margin-top:18px}.dot{border:0;width:8px;height:8px;border-radius:50%;background:#c8cfd7;cursor:pointer}.dot.active{background:var(--green)}.partners{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.partners span{min-height:64px;background:#fff;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;font-weight:800;color:#1763a5;text-align:center;padding:8px}.partners span:nth-child(even){color:#d53535}.contact-section{background:linear-gradient(130deg,#0c2a57,#0b3b76);color:#fff}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.contact-section h2{color:#fff}.contact-copy>p{color:#d3deea}.contact-list{display:grid;gap:14px;margin-top:30px}.contact-list>a,.contact-list>div{display:flex;gap:14px;align-items:center}.contact-list>*>span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);color:#b9df8f}.contact-list div div,.contact-list a div{display:flex;flex-direction:column}.contact-list small{color:#b9c9dd}.contact-form{background:#fff;color:var(--ink);border-radius:18px;padding:30px;box-shadow:0 25px 70px rgba(0,0,0,.2)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:12px;font-weight:700;color:var(--navy);margin-bottom:16px}input,select,textarea{width:100%;margin-top:7px;border:1px solid var(--line);border-radius:9px;padding:13px 14px;font:inherit;font-size:14px;outline:none;background:#fbfcfd}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(88,141,47,.12)}textarea{min-height:115px;resize:vertical}.check-field{display:flex;gap:8px;align-items:flex-start;font-weight:500;color:var(--muted)}.check-field input{width:auto;margin-top:3px}.alert{padding:13px 15px;border-radius:8px;margin-bottom:16px;font-size:13px}.alert.ok{background:#eaf7df;color:#39651c}.alert.error{background:#fde9e9;color:#9a2424}footer{background:#061d43;color:#fff;padding-top:52px}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr 1fr 1fr;gap:40px;padding-bottom:40px}.footer-logo{width:320px;background:#fff;border-radius:8px;padding:8px}.footer-grid p,.footer-grid span,.footer-grid a{display:block;color:#c5d1df;font-size:13px;margin:7px 0}.footer-grid h3{font-size:14px;text-transform:uppercase}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);background:linear-gradient(90deg,#4d8129,#75a93e);padding:13px 0;font-size:12px;text-align:center}.float-btn{position:fixed;right:20px;z-index:30;color:#fff;padding:11px 18px;border-radius:30px;font-size:12px;font-weight:700;box-shadow:0 8px 25px rgba(0,0,0,.22)}.whatsapp{bottom:75px;background:#23b94d}.call{bottom:24px;background:var(--navy)}.modal{position:fixed;inset:0;z-index:100;display:none}.modal.show{display:block}.modal-overlay{position:absolute;inset:0;background:rgba(2,16,38,.72);backdrop-filter:blur(4px)}.modal-box{position:relative;width:min(560px,calc(100% - 30px));margin:8vh auto;background:#fff;border-radius:18px;padding:38px;box-shadow:0 30px 100px rgba(0,0,0,.3)}.modal-close{position:absolute;right:18px;top:12px;border:0;background:none;font-size:30px;cursor:pointer;color:var(--muted)}.modal-box h2{color:var(--navy);margin:0}.modal-items{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0}.modal-items span{background:var(--light);padding:11px;border-radius:8px;font-size:13px;color:var(--navy)}.reveal{opacity:0;transform:translateY(22px);transition:.65s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:1000px){.brand img{width:420px}.top-contact{display:none}.menu-btn{display:block}.navbar{display:none}.navbar.open{display:block}.nav-inner{height:auto;padding:18px 0;align-items:flex-start}.nav-links{flex-direction:column;align-items:flex-start;gap:18px}.nav-links a:after{display:none}.hero-grid,.claims-grid,.contact-grid,.two-cols{grid-template-columns:1fr}.hero-visual{display:none}.insurance-grid{grid-template-columns:1fr}.insurance-wrap{margin-top:-30px}.benefits-grid{grid-template-columns:repeat(2,1fr)}.benefit{border-right:0;border-bottom:1px solid var(--line)}.areas-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.container{width:min(100% - 24px,1180px)}.topbar-inner{min-height:78px}.brand img{width:280px}.hero{padding:48px 0 62px}.hero h1{font-size:42px}.hero-copy>p{font-size:16px}.trust-row{gap:12px}.trust-row div{padding-right:12px}.trust-row strong{font-size:18px}.insurance-card{grid-template-columns:1fr}.benefits-grid{grid-template-columns:1fr}.section{padding:65px 0}.section h2{font-size:31px}.claims-grid{gap:38px}.two-cols{gap:45px}.partners{grid-template-columns:1fr 1fr}.field-row{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.float-btn{right:12px}.modal-items{grid-template-columns:1fr}}

.aliados{
    padding:80px 0;
    overflow:hidden;
}

.section-heading{
    max-width:650px;
    margin-bottom:38px;
}

.section-heading h2{
    margin:8px 0 12px;
    color:#092a59;
    font-size:clamp(28px,4vw,42px);
}

.section-heading p{
    color:#647084;
    line-height:1.7;
}

.partners-slider{
    position:relative;
    width:100%;
    overflow:hidden;
    padding:15px 0 25px;
}

.partners-slider::before,
.partners-slider::after{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    width:100px;
    z-index:2;
    pointer-events:none;
}

.partners-slider::before{
    left:0;
    background:linear-gradient(
        to right,
        #ffffff,
        rgba(255,255,255,0)
    );
}

.partners-slider::after{
    right:0;
    background:linear-gradient(
        to left,
        #ffffff,
        rgba(255,255,255,0)
    );
}

.partners-track{
    display:flex;
    align-items:center;
    gap:24px;
    width:max-content;
    animation:partnersScroll 45s linear infinite;
}

.partners-slider:hover .partners-track{
    animation-play-state:paused;
}

.partner-card{
    flex:0 0 190px;
    height:115px;
    padding:20px;
    border:1px solid #e4e9ef;
    border-radius:18px;
    background:#ffffff;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 10px 30px rgba(10,42,89,.08);
    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}

.partner-card:hover{
    transform:translateY(-6px);
    border-color:#5c8d2a;
    box-shadow:0 18px 40px rgba(10,42,89,.14);
}

.partner-card img{
    width:100%;
    max-width:145px;
    max-height:70px;
    object-fit:contain;
    filter:grayscale(100%);
    opacity:.78;
    transition:
        filter .3s ease,
        opacity .3s ease,
        transform .3s ease;
}

.partner-card:hover img{
    filter:grayscale(0%);
    opacity:1;
    transform:scale(1.04);
}

@keyframes partnersScroll{
    from{
        transform:translateX(0);
    }

    to{
        transform:translateX(calc(-50% - 12px));
    }
}

@media (max-width:768px){

    .aliados{
        padding:60px 0;
    }

    .partner-card{
        flex-basis:155px;
        height:95px;
        padding:16px;
    }

    .partner-card img{
        max-width:125px;
        max-height:60px;
    }

    .partners-track{
        gap:16px;
        animation-duration:35s;
    }

    .partners-slider::before,
    .partners-slider::after{
        width:45px;
    }
}

@media (prefers-reduced-motion:reduce){

    .partners-track{
        animation:none;
    }

    .partners-slider{
        overflow-x:auto;
    }
}

.area-card{
    text-align:center;
    padding:35px 30px;
}

.area-logo{
    width:90px;
    height:45px;
    margin:0 auto 15px;
    display:flex;
    justify-content:center;
    align-items:center;
    overflow:hidden;
}

.area-logo img{
    width:90px;
    height:auto;
    object-fit:contain;
}

/* =========================================================
   ASISTENTE VIRTUAL
========================================================= */

.chat-widget{
    position:fixed;
    right:24px;
    bottom:105px;
    z-index:9999;
    width:380px;
    max-width:calc(100vw - 30px);
    height:560px;
    max-height:calc(100vh - 140px);
    display:flex;
    flex-direction:column;
    overflow:hidden;
    border:1px solid rgba(9,42,89,.12);
    border-radius:22px;
    background:#fff;
    box-shadow:0 22px 65px rgba(9,42,89,.22);

    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(24px) scale(.96);
    transform-origin:bottom right;
    transition:
        opacity .25s ease,
        transform .25s ease,
        visibility .25s ease;
}

.chat-widget.open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0) scale(1);
}

.chat-header{
    min-height:78px;
    padding:15px 17px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    color:#fff;
    background:
        radial-gradient(
            circle at top right,
            rgba(92,141,42,.45),
            transparent 38%
        ),
        linear-gradient(
            135deg,
            #092a59,
            #0c417c
        );
}

.chat-header-info{
    min-width:0;
    display:flex;
    align-items:center;
    gap:12px;
}

.chat-avatar{
    width:45px;
    height:45px;
    flex:0 0 45px;
    display:grid;
    place-items:center;
    border-radius:14px;
    color:#fff;
    background:#5c8d2a;
    box-shadow:0 8px 22px rgba(0,0,0,.18);
    font-size:19px;
}

.chat-header strong{
    display:block;
    font-size:14px;
    line-height:1.3;
}

.chat-header span{
    display:block;
    margin-top:3px;
    color:rgba(255,255,255,.72);
    font-size:10px;
}

.chat-close{
    width:38px;
    height:38px;
    flex:0 0 38px;
    display:grid;
    place-items:center;
    border:0;
    border-radius:11px;
    color:#fff;
    background:rgba(255,255,255,.12);
    cursor:pointer;
    transition:.2s ease;
}

.chat-close:hover{
    background:rgba(255,255,255,.22);
    transform:rotate(4deg);
}

.chat-messages{
    flex:1;
    padding:18px 15px;
    overflow-y:auto;
    overscroll-behavior:contain;
    background:
        linear-gradient(
            rgba(244,247,251,.96),
            rgba(244,247,251,.96)
        );
    scroll-behavior:smooth;
}

.chat-message{
    margin-bottom:13px;
    display:flex;
}

.chat-message:last-child{
    margin-bottom:0;
}

.bot-message{
    justify-content:flex-start;
}

.user-message{
    justify-content:flex-end;
}

.message-content{
    max-width:84%;
    padding:12px 14px;
    border-radius:17px;
    font-size:12px;
    line-height:1.6;
    word-break:break-word;
}

.bot-message .message-content{
    color:#1c2734;
    background:#fff;
    border:1px solid #dfe6ee;
    border-bottom-left-radius:5px;
    box-shadow:0 5px 16px rgba(9,42,89,.06);
}

.user-message .message-content{
    color:#fff;
    background:linear-gradient(
        135deg,
        #092a59,
        #174a88
    );
    border-bottom-right-radius:5px;
    box-shadow:0 6px 18px rgba(9,42,89,.18);
}

.chat-input-area{
    padding:13px;
    display:flex;
    align-items:flex-end;
    gap:9px;
    background:#fff;
    border-top:1px solid #e1e7ef;
}

.chat-input-area textarea{
    flex:1;
    min-height:45px;
    max-height:115px;
    padding:12px 13px;
    resize:none;
    outline:none;
    border:1px solid #dfe6ee;
    border-radius:14px;
    color:#1c2734;
    background:#f8fafc;
    font-family:inherit;
    font-size:12px;
    line-height:1.45;
    transition:.2s ease;
}

.chat-input-area textarea:focus{
    border-color:#5c8d2a;
    background:#fff;
    box-shadow:0 0 0 4px rgba(92,141,42,.10);
}

.chat-input-area textarea::placeholder{
    color:#8995a5;
}

#enviarMensaje{
    width:45px;
    height:45px;
    flex:0 0 45px;
    display:grid;
    place-items:center;
    border:0;
    border-radius:14px;
    color:#fff;
    background:#5c8d2a;
    cursor:pointer;
    box-shadow:0 8px 20px rgba(92,141,42,.25);
    transition:.2s ease;
}

#enviarMensaje:hover{
    background:#456d1e;
    transform:translateY(-2px);
}

#enviarMensaje:disabled{
    cursor:not-allowed;
    opacity:.55;
    transform:none;
}

.chat-toggle{
    position:fixed;
    right:24px;
    bottom:24px;
    z-index:10000;
    width:62px;
    height:62px;
    display:grid;
    place-items:center;
    border:0;
    border-radius:50%;
    color:#fff;
    background:
        linear-gradient(
            135deg,
            #5c8d2a,
            #78aa3e
        );
    cursor:pointer;
    box-shadow:
        0 15px 35px rgba(92,141,42,.34),
        0 0 0 7px rgba(92,141,42,.10);
    font-size:23px;
    transition:.25s ease;
}

.chat-toggle:hover{
    transform:translateY(-3px) scale(1.04);
}

.chat-widget.open + .chat-toggle{
    background:linear-gradient(
        135deg,
        #092a59,
        #174a88
    );
}

/* Indicador escribiendo */

.typing-indicator{
    min-width:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
}

.typing-indicator span{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#8290a2;
    animation:chatTyping 1.2s infinite ease-in-out;
}

.typing-indicator span:nth-child(2){
    animation-delay:.15s;
}

.typing-indicator span:nth-child(3){
    animation-delay:.30s;
}

@keyframes chatTyping{
    0%,
    60%,
    100%{
        transform:translateY(0);
        opacity:.45;
    }

    30%{
        transform:translateY(-5px);
        opacity:1;
    }
}

/* Formularios dentro del chat */

.chat-files{
    margin-top:12px;
    display:flex;
    flex-direction:column;
    gap:8px;
}

.chat-file{
    padding:10px;
    display:flex;
    align-items:center;
    gap:10px;
    border:1px solid #dfe6ee;
    border-radius:12px;
    color:#092a59;
    background:#f8fafc;
    text-decoration:none;
    transition:.2s ease;
}

.chat-file:hover{
    border-color:#5c8d2a;
    background:#edf6e6;
    transform:translateY(-1px);
}

.chat-file > i:first-child{
    width:34px;
    height:34px;
    flex:0 0 34px;
    display:grid;
    place-items:center;
    border-radius:10px;
    color:#5c8d2a;
    background:#edf6e6;
}

.chat-file span{
    min-width:0;
    flex:1;
}

.chat-file strong{
    display:block;
    overflow:hidden;
    font-size:10px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.chat-file small{
    display:block;
    margin-top:3px;
    color:#697587;
    font-size:8px;
}

/* Evitar que choque con WhatsApp y Llámanos */

.float-btn.whatsapp{
    right:100px;
}

.float-btn.call{
    right:100px;
}

@media(max-width:700px){
    .chat-widget{
        right:12px;
        bottom:88px;
        width:calc(100vw - 24px);
        height:min(620px,calc(100vh - 110px));
        max-height:none;
        border-radius:20px;
    }

    .chat-toggle{
        right:16px;
        bottom:16px;
        width:56px;
        height:56px;
    }

    .float-btn.whatsapp,
    .float-btn.call{
        right:auto;
        left:12px;
    }

    .message-content{
        max-width:91%;
    }
}

.chat-avatar{
    width:47px;
    height:47px;
    flex:0 0 47px;
    border-radius:15px;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
}

.chat-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

/* =========================================================
   SCROLL VERTICAL DE TODA LA PÁGINA
========================================================= */
html {
    scroll-behavior: smooth;
    overflow-x: hidden;
    overflow-y: auto;
}

body {
    min-height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
}

/* Personalización de la barra lateral en Chrome y Edge */
html::-webkit-scrollbar {
    width: 13px;
}

html::-webkit-scrollbar-track {
    background: #eef2f6;
}

html::-webkit-scrollbar-thumb {
    background: #092a59;
    border-radius: 10px;
    border: 3px solid #eef2f6;
}

html::-webkit-scrollbar-thumb:hover {
    background: #5c8d2a;
}

/* Firefox */
html {
    scrollbar-width: auto;
    scrollbar-color: #092a59 #eef2f6;
}


/* =========================================================
   BOTONES DEL MENU / LOGIN
========================================================= */
.nav-buttons{
    display:flex;
    align-items:center;
    gap:14px;
}

.navbar .nav-buttons .btn-login{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:12px 24px !important;
    background:#ffffff !important;
    color:#0E3A67 !important;
    border:2px solid rgba(255,255,255,.85) !important;
    border-radius:999px !important;
    font-size:.95rem !important;
    font-weight:700 !important;
    text-decoration:none !important;
    text-transform:uppercase;
    position:relative;
    transition:background .35s ease,border-color .35s ease,color .35s ease,transform .35s ease,box-shadow .35s ease;
    backdrop-filter:blur(8px);
    box-shadow:0 8px 25px rgba(0,0,0,.12);
}

.navbar .nav-buttons .btn-login::after{
    content:none !important;
    display:none !important;
}

.navbar .nav-buttons .btn-login i{
    font-size:.9rem;
    color:#0E3A67 !important;
}

.navbar .nav-buttons .btn-login:hover{
    background:#16a34a !important;
    border-color:#16a34a !important;
    color:#ffffff !important;
    transform:translateY(-2px);
    box-shadow:0 15px 35px rgba(22,163,74,.35);
}

.navbar .nav-buttons .btn-login:hover i{
    color:#ffffff !important;
}

@media(max-width:1000px){
    .nav-buttons{
        width:100%;
        margin-top:15px;
    }
    .navbar .nav-buttons .btn-login{
        width:auto;
    }
}

@media(max-width:640px){
    .navbar .nav-buttons .btn-login{
        padding:11px 20px !important;
        font-size:.85rem !important;
    }
}
