.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-height:46px;
    padding:13px 20px;
    border:1px solid #cbd5e1;
    border-radius:999px;
    background:#ffffff;
    color:#0f172a;
    font-size:14px;
    font-weight:900;
    line-height:1;
    text-decoration:none;
    cursor:pointer;
    box-shadow:0 10px 24px rgba(15,23,42,.06);
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
}

.btn:hover{
    transform:translateY(-1px);
    border-color:#94a3b8;
    background:#f8fafc;
    color:#020617;
    box-shadow:0 16px 34px rgba(15,23,42,.10);
}

.btn:active{
    transform:translateY(0);
    box-shadow:0 8px 18px rgba(15,23,42,.08);
}

.btn:focus-visible{
    outline:3px solid rgba(37,99,235,.26);
    outline-offset:3px;
}

.btn.primary,
.btn.dark,
.btn.whatsapp{
    color:#ffffff;
    border-color:#0f172a;
    background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 100%);
    box-shadow:0 16px 36px rgba(37,99,235,.22);
}

.btn.primary:hover,
.btn.dark:hover,
.btn.whatsapp:hover{
    color:#ffffff;
    border-color:#0f172a;
    background:linear-gradient(135deg,#020617 0%,#1e40af 100%);
    box-shadow:0 20px 42px rgba(37,99,235,.28);
}

.btn.ghost,
.btn.light{
    color:#0f172a;
    background:#ffffff;
    border-color:#cbd5e1;
}

.btn.ghost:hover,
.btn.light:hover{
    color:#1d4ed8;
    background:#eff6ff;
    border-color:#bfdbfe;
}

.btn.soft{
    color:#1e293b;
    background:#f8fafc;
    border-color:#e2e8f0;
}

.btn.soft:hover{
    color:#0f172a;
    background:#eef2ff;
    border-color:#c7d2fe;
}

.btn.danger{
    color:#ffffff;
    background:#b91c1c;
    border-color:#b91c1c;
    box-shadow:0 14px 30px rgba(185,28,28,.18);
}

.btn.danger:hover{
    color:#ffffff;
    background:#991b1b;
    border-color:#991b1b;
}

.btn.small{
    min-height:38px;
    padding:9px 14px;
    border-radius:999px;
    font-size:13px;
}

.btn.large{
    min-height:52px;
    padding:15px 24px;
    border-radius:999px;
    font-size:15px;
}

button.btn{
    font-family:inherit;
}

/* EA_FLOATING_CONTACT_V1 */
.floating-contact{
    position:fixed;
    right:22px;
    bottom:22px;
    z-index:70;
    display:flex;
    flex-direction:column;
    gap:12px;
    align-items:flex-end;
    pointer-events:none;
}

.floating-contact__item{
    min-width:168px;
    display:flex;
    align-items:center;
    gap:11px;
    padding:10px 14px 10px 10px;
    border-radius:999px;
    color:#fff;
    text-decoration:none;
    border:1px solid rgba(255,255,255,.22);
    box-shadow:0 18px 38px rgba(15,23,42,.22);
    pointer-events:auto;
    transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.floating-contact__item:hover{
    transform:translateY(-2px);
    box-shadow:0 22px 44px rgba(15,23,42,.28);
    filter:saturate(1.06);
}

.floating-contact__item--phone{
    background:linear-gradient(135deg,#0f172a,#1d4ed8);
}

.floating-contact__item--whatsapp{
    background:linear-gradient(135deg,#128c7e,#25d366);
}

.floating-contact__icon{
    width:42px;
    height:42px;
    flex:0 0 42px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(255,255,255,.16);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}

.floating-contact__icon svg{
    width:22px;
    height:22px;
    display:block;
    fill:currentColor;
}

.floating-contact__text{
    display:flex;
    flex-direction:column;
    line-height:1.05;
    white-space:nowrap;
}

.floating-contact__text strong{
    font-size:14px;
    font-weight:800;
    letter-spacing:.01em;
}

.floating-contact__text small{
    margin-top:4px;
    font-size:11px;
    font-weight:700;
    color:rgba(255,255,255,.82);
}

