/* ── ELB Frontend Styles ─────────────────────────────────────── */
.elb-buttons-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 12px 0;
}

.elb-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-decoration: none;
    cursor: pointer;
    transition: background .2s, color .2s, border-color .2s, transform .1s, box-shadow .2s;
    box-sizing: border-box;
    font-family: inherit;
    line-height: 1.2;
    border: 2px solid transparent;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 600;
    padding: 10px 20px;
    background: #0071a1;
    color: #fff;
}

.elb-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0,0,0,.15);
    text-decoration: none;
}

.elb-btn:active { transform: translateY(0); }

.elb-btn__icon,
.elb-icon {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    font-size: 1em;          /* inherits button font size */
    line-height: 1;
    vertical-align: middle;
}

/* FA icon inside button — slight size bump for visibility */
.elb-btn .elb-icon {
    font-size: 1.1em;
}

/* Wide buttons stack full-width */
@media ( max-width: 480px ) {
    .elb-buttons-wrap { flex-direction: column; }
    .elb-btn          { width: 100%; text-align: center; }
}

/* ── Variation button transitions ─────────────────────────────── */
.elb-buttons-wrap {
    transition: opacity .15s ease;
}
.elb-buttons-wrap.elb-transitioning {
    opacity: 0;
}
.elb-buttons-wrap.elb-variation-active .elb-btn {
    animation: elb-fade-in .2s ease forwards;
}
@keyframes elb-fade-in {
    from { opacity: 0; transform: translateY(4px); }
    to   { opacity: 1; transform: translateY(0); }
}
