/* Final invitation-theme polish: shared details across all public pages. */
html.theme-invitation body:not(.admin-shell) .btn {
    font-weight: 600;
    transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease;
}

html.theme-invitation body:not(.admin-shell) .btn:hover {
    transform: translateY(-1px);
}

html.theme-invitation body:not(.admin-shell) .btn:focus-visible,
html.theme-invitation body:not(.admin-shell) a:focus-visible,
html.theme-invitation body:not(.admin-shell) input:focus-visible,
html.theme-invitation body:not(.admin-shell) textarea:focus-visible,
html.theme-invitation body:not(.admin-shell) select:focus-visible {
    outline: 3px solid rgba(163, 79, 50, .24);
    outline-offset: 2px;
}

html.theme-invitation body:not(.admin-shell) footer {
    background: rgba(247, 239, 229, .78) !important;
    border-top-color: rgba(163, 79, 50, .16) !important;
}

html.theme-invitation body:not(.admin-shell) footer .text-muted {
    color: var(--invite-muted, #8a7468) !important;
}

html.theme-invitation body:not(.admin-shell) .badge {
    border-radius: 999px;
    font-weight: 600;
}

html.theme-invitation body:not(.admin-shell) .table {
    --bs-table-bg: transparent;
    --bs-table-striped-bg: rgba(163, 79, 50, .025);
    color: var(--invite-ink, #4b3a32);
}

html.theme-invitation body:not(.admin-shell) .list-group-item {
    color: var(--invite-ink, #4b3a32);
}

html.theme-invitation body:not(.admin-shell) #translate-launcher,
html.theme-invitation body:not(.admin-shell) #chatbot-launcher {
    background: var(--invite-paper-soft, #fbf6ef) !important;
    color: var(--invite-terracotta, #a34f32) !important;
    border-color: rgba(163, 79, 50, .48) !important;
    box-shadow: 0 8px 24px rgba(84, 58, 45, .14) !important;
}

html.theme-invitation body:not(.admin-shell) #translate-menu,
html.theme-invitation body:not(.admin-shell) #chatbot-window {
    border-color: rgba(163, 79, 50, .22) !important;
    box-shadow: 0 18px 48px rgba(84, 58, 45, .16) !important;
}

html.theme-invitation body:not(.admin-shell) code {
    color: var(--invite-terracotta-dark, #7f3a25);
    background: rgba(163, 79, 50, .06);
    border-radius: .45rem;
    padding: .12rem .35rem;
}

html.theme-invitation body:not(.admin-shell) .text-success,
html.theme-invitation body:not(.admin-shell) .text-info,
html.theme-invitation body:not(.admin-shell) .text-warning {
    color: var(--invite-terracotta, #a34f32) !important;
}

@media (max-width: 767.98px) {
    html.theme-invitation body:not(.admin-shell) .btn-lg {
        min-height: 48px;
    }

    html.theme-invitation body:not(.admin-shell) .card {
        border-radius: 18px !important;
    }

    html.theme-invitation body:not(.admin-shell) #translate-wrapper {
        bottom: 14px;
        left: 14px;
    }

    html.theme-invitation body:not(.admin-shell) #chatbot-launcher {
        bottom: 14px !important;
        right: 14px !important;
        width: 56px !important;
        height: 56px !important;
        font-size: 25px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html.theme-invitation body:not(.admin-shell) *,
    html.theme-invitation body:not(.admin-shell) *::before,
    html.theme-invitation body:not(.admin-shell) *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}
