.consent-call-alternative {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    min-height: 1.7rem;
    margin-inline: auto;
    align-items: center;
    justify-content: center;
    color: var(--tj-action);
    font-size: 0.78rem;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 0.16em;
}

.call-terms-note {
    margin: 0;
    color: var(--tj-text-secondary);
    font-size: 0.7rem;
    line-height: 1.35;
    text-align: center;
}

.call-social-proof {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin: 0.8rem 0 0;
    color: #315e4f;
    font-size: 0.82rem;
    text-align: center;
}
.call-social-proof[hidden] { display: none; }
.call-social-proof > span {
    width: 0.5rem;
    height: 0.5rem;
    flex: 0 0 0.5rem;
    border-radius: 50%;
    background: #167a55;
    box-shadow: 0 0 0 3px rgb(22 122 85 / 14%);
}

.consent-banner {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
    z-index: 1200;
    display: grid;
    width: min(calc(100% - 2rem), 38.75rem);
    margin: auto;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 0.75rem;
    padding: 0.6rem 0.75rem;
    border: 1px solid var(--tj-border-decorative);
    border-radius: 0.7rem;
    background: #fff;
    box-shadow: 0 16px 48px rgb(11 39 50 / 22%);
}
.consent-copy { min-width: 0; }
.consent-copy strong { display: block; color: var(--tj-brand); font-size: 0.72rem; line-height: 1.2; }
.consent-copy p { margin: 0.12rem 0 0; color: var(--tj-text-secondary); font-size: 0.62rem; line-height: 1.25; }
.consent-copy a { font-size: 0.56rem; }
.consent-actions { display: flex; gap: 0.32rem; }
.consent-actions button,
.consent-close,
.consent-settings {
    min-height: 1.85rem;
    padding: 0.4rem 0.55rem;
    border: 1px solid var(--tj-border-control);
    border-radius: 0.5rem;
    background: #fff;
    color: var(--tj-brand);
    font-size: 0.6rem;
    font-weight: 700;
}
.consent-accept { border-color: var(--tj-action) !important; background: var(--tj-action) !important; color: #fff !important; }
.consent-close { min-width: 3.6rem; background: #f4f7f8; white-space: nowrap; }
.consent-settings {
    position: fixed;
    bottom: 0.5rem;
    left: 0.5rem;
    z-index: 1090;
    min-height: 2rem;
    padding: 0.3rem 0.55rem;
    background: #fff;
    font-size: 0.68rem;
    box-shadow: 0 2px 10px rgb(11 39 50 / 10%);
}

@media (max-width: 620px) {
    .consent-call-alternative-mobile {
        display: block !important;
        width: max-content;
        min-height: 1.2rem !important;
        margin: 0.18rem auto 0;
        padding: 0 !important;
        background: transparent !important;
        color: var(--tj-brand) !important;
        font-size: 0.66rem !important;
        line-height: 1.15;
        box-shadow: none !important;
    }
    .consent-banner {
        right: 0.4rem;
        bottom: 5rem;
        left: 0.4rem;
        width: auto;
        gap: 0.4rem;
        padding: 0.48rem 0.52rem;
    }
    .consent-copy strong { font-size: 0.62rem; }
    .consent-copy p { font-size: 0.49rem; line-height: 1.2; }
    .consent-copy a { font-size: 0.47rem; }
    .consent-actions { grid-row: auto; grid-column: auto; gap: 0.25rem; }
    .consent-actions button { min-width: 3.5rem; min-height: 1.7rem; padding: 0.32rem 0.4rem; font-size: 0.52rem; }
    .consent-close { position: static; top: auto; right: auto; min-width: 3.3rem; min-height: 1.7rem; padding: 0.32rem 0.4rem; font-size: 0.5rem; }
    .consent-settings { bottom: 4.9rem; }
}
