body.vexo-public-site :where(.dir-btn-search, .dir-view-btn, .dir-btn-view, .dir-empty a, .btn:not(.btn-close), .btn-outline-dark, .page-link) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .45rem !important;
    max-width: 100%;
    border: 1px solid color-mix(in srgb, var(--vexo-primary) 24%, var(--vexo-border)) !important;
    border-radius: .72rem !important;
    background: color-mix(in srgb, var(--vexo-card) 94%, var(--vexo-primary-soft)) !important;
    color: var(--vexo-foreground) !important;
    font-weight: 760 !important;
    letter-spacing: 0 !important;
    line-height: 1.12 !important;
    text-align: center !important;
    text-decoration: none !important;
    box-shadow: var(--vexo-shadow) !important;
    cursor: pointer !important;
    transform: translateY(0);
    transition: transform .15s ease, border-color .15s ease, background-color .15s ease, color .15s ease, box-shadow .15s ease, opacity .15s ease !important;
    user-select: none;
}

/* VEXO public action feedback: shared color/press language for legacy GoBiz templates. */
[data-vexo-public-action-accent] {
    --vexo-public-action-accent: #2563eb;
    --vexo-public-action-foreground: #ffffff;
}

[data-vexo-public-action-accent="info"] {
    --vexo-public-action-accent: #2563eb;
}

[data-vexo-public-action-accent="success"] {
    --vexo-public-action-accent: #059669;
}

[data-vexo-public-action-accent="warning"] {
    --vexo-public-action-accent: #d97706;
}

[data-vexo-public-action-accent="danger"] {
    --vexo-public-action-accent: #dc2626;
}

.vexo-public-action[data-vexo-public-action-accent] {
    border-color: color-mix(in srgb, var(--vexo-public-action-accent) 42%, transparent) !important;
    box-shadow:
        0 16px 34px -26px color-mix(in srgb, var(--vexo-public-action-accent) 64%, transparent),
        inset 0 1px 0 rgba(255, 255, 255, 0.18) !important;
    transition:
        background-color 160ms ease,
        border-color 160ms ease,
        box-shadow 160ms ease,
        color 160ms ease,
        filter 160ms ease,
        transform 160ms ease !important;
}

.vexo-public-action[data-vexo-public-action-accent]:hover,
.vexo-public-action[data-vexo-public-action-accent]:focus-visible {
    background: var(--vexo-public-action-accent) !important;
    border-color: color-mix(in srgb, var(--vexo-public-action-accent) 88%, #111827) !important;
    color: var(--vexo-public-action-foreground) !important;
    filter: saturate(1.08);
    transform: translateY(-1px);
}

.vexo-public-action[data-vexo-public-action-accent]:hover :where(i, svg, span),
.vexo-public-action[data-vexo-public-action-accent]:focus-visible :where(i, svg, span) {
    color: currentColor !important;
}

.vexo-public-action.is-vexo-action-pressing {
    transform: translateY(0) scale(0.97) !important;
}

.vexo-public-action.is-vexo-action-complete {
    animation: vexoPublicActionPulse 420ms ease;
}

@keyframes vexoPublicActionPulse {
    0% {
        box-shadow:
            0 0 0 0 color-mix(in srgb, var(--vexo-public-action-accent) 35%, transparent),
            0 14px 34px -18px color-mix(in srgb, var(--vexo-public-action-accent) 45%, transparent);
    }
    100% {
        box-shadow:
            0 0 0 10px color-mix(in srgb, var(--vexo-public-action-accent) 0%, transparent),
            0 18px 42px -26px color-mix(in srgb, var(--vexo-public-action-accent) 22%, transparent);
    }
}

body.vexo-public-site :where(.dir-btn-search, .dir-btn-view, .btn-primary, .btn-dark, .page-item.active .page-link) {
    border-color: var(--vexo-primary) !important;
    background: var(--vexo-primary) !important;
    color: var(--vexo-primary-foreground) !important;
}

body.vexo-public-site :where(.dir-view-btn.active, .dir-view-btn[aria-pressed="true"]) {
    border-color: var(--vexo-info) !important;
    background: var(--vexo-info) !important;
    color: var(--vexo-info-foreground) !important;
}

body.vexo-public-site :where(.vexo-public-pagination, .pagination) {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .42rem;
    width: 100%;
    margin: 0;
    padding: 0;
}

body.vexo-public-site :where(.page-item) {
    display: inline-flex;
    margin: 0;
}

body.vexo-public-site :where(.page-link) {
    min-width: 2.35rem;
    min-height: 2.35rem;
    padding: .58rem .78rem !important;
}

body.vexo-public-site :where(.page-item.disabled .page-link) {
    opacity: .54 !important;
    pointer-events: none !important;
    transform: none !important;
}

body.vexo-public-site :where(.btn-success) {
    border-color: var(--vexo-success) !important;
    background: var(--vexo-success) !important;
    color: var(--vexo-success-foreground) !important;
}

body.vexo-public-site :where(.btn-warning) {
    border-color: var(--vexo-warning) !important;
    background: var(--vexo-warning) !important;
    color: var(--vexo-warning-foreground) !important;
}

body.vexo-public-site :where(.btn-danger) {
    border-color: var(--vexo-danger) !important;
    background: var(--vexo-danger) !important;
    color: var(--vexo-danger-foreground) !important;
}

body.vexo-public-site :where(.dir-btn-search, .dir-view-btn, .dir-btn-view, .dir-empty a, .btn:not(.btn-close), .btn-outline-dark, .page-link):hover,
body.vexo-public-site :where(.dir-btn-search, .dir-view-btn, .dir-btn-view, .dir-empty a, .btn:not(.btn-close), .btn-outline-dark, .page-link):focus-visible {
    transform: translateY(-1px) !important;
    border-color: color-mix(in srgb, var(--vexo-primary) 48%, var(--vexo-border)) !important;
    box-shadow: 0 22px 40px -24px rgba(15, 23, 42, .56) !important;
    outline: 0 !important;
}

body.vexo-public-site :where(.dir-btn-search, .dir-btn-view, .btn-primary, .btn-dark, .page-item.active .page-link):hover,
body.vexo-public-site :where(.dir-btn-search, .dir-btn-view, .btn-primary, .btn-dark, .page-item.active .page-link):focus-visible {
    background: color-mix(in srgb, var(--vexo-primary) 88%, var(--vexo-foreground)) !important;
    color: var(--vexo-primary-foreground) !important;
}

body.vexo-public-site :where(.dir-btn-search, .dir-view-btn, .dir-btn-view, .dir-empty a, .btn:not(.btn-close), .btn-outline-dark, .page-link):active {
    transform: translateY(0) scale(.98) !important;
}

@media (prefers-reduced-motion: reduce) {
    body.vexo-public-site :where(.dir-btn-search, .dir-view-btn, .dir-btn-view, .dir-empty a, .btn:not(.btn-close), .btn-outline-dark, .page-link) {
        transition: none !important;
    }

    body.vexo-public-site :where(.dir-btn-search, .dir-view-btn, .dir-btn-view, .dir-empty a, .btn:not(.btn-close), .btn-outline-dark, .page-link):hover,
    body.vexo-public-site :where(.dir-btn-search, .dir-view-btn, .dir-btn-view, .dir-empty a, .btn:not(.btn-close), .btn-outline-dark, .page-link):active {
        transform: none !important;
    }
}

body.vexo-public-site :where(
    a[class*="btn"]:not(.btn-close),
    button[class*="btn"]:not(.btn-close),
    a[class*="-button"],
    button[class*="-button"],
    a[class*="-action"],
    button[class*="-action"],
    .copyBtn,
    .emojiPicker,
    #download
) {
    cursor: pointer !important;
    transform: translateY(0);
    transition: transform .16s ease, border-color .16s ease, background-color .16s ease, color .16s ease, box-shadow .16s ease, opacity .16s ease !important;
    user-select: none;
}

body.vexo-public-site :where(
    a[class*="btn"]:not(.btn-close),
    button[class*="btn"]:not(.btn-close),
    a[class*="-button"],
    button[class*="-button"],
    a[class*="-action"],
    button[class*="-action"],
    .copyBtn,
    .emojiPicker,
    #download
):hover,
body.vexo-public-site :where(
    a[class*="btn"]:not(.btn-close),
    button[class*="btn"]:not(.btn-close),
    a[class*="-button"],
    button[class*="-button"],
    a[class*="-action"],
    button[class*="-action"],
    .copyBtn,
    .emojiPicker,
    #download
):focus-visible {
    transform: translateY(-1px) !important;
    outline: 0 !important;
    box-shadow:
        0 18px 38px -26px color-mix(in srgb, var(--vexo-primary) 64%, transparent),
        0 0 0 3px color-mix(in srgb, var(--vexo-primary) 18%, transparent) !important;
}

body.vexo-public-site :where(
    a[class*="btn"]:not(.btn-close),
    button[class*="btn"]:not(.btn-close),
    a[class*="-button"],
    button[class*="-button"],
    a[class*="-action"],
    button[class*="-action"],
    .copyBtn,
    .emojiPicker,
    #download
):active {
    transform: translateY(0) scale(.98) !important;
}

body.vexo-public-site :where(.copyBtn, #download, .btn-success) {
    border-color: var(--vexo-success) !important;
    background: color-mix(in srgb, var(--vexo-success) 14%, var(--vexo-card)) !important;
    color: color-mix(in srgb, var(--vexo-success) 82%, var(--vexo-foreground)) !important;
}

body.vexo-public-site :where(.emojiPicker, .btn-info) {
    border-color: var(--vexo-info) !important;
    background: color-mix(in srgb, var(--vexo-info) 14%, var(--vexo-card)) !important;
    color: color-mix(in srgb, var(--vexo-info) 82%, var(--vexo-foreground)) !important;
}

body.vexo-public-site :where(
    a[class*="submit"],
    button[class*="submit"],
    a[class*="save"],
    button[class*="save"],
    a[class*="create"],
    button[class*="create"],
    a[class*="add"],
    button[class*="add"],
    a[class*="order"],
    button[class*="order"],
    a[class*="buy"],
    button[class*="buy"],
    a[class*="pay"],
    button[class*="pay"],
    a[class*="whatsapp"],
    button[class*="whatsapp"],
    .primary-btn,
    .submit-btn,
    .save-btn,
    .create-btn,
    .add-btn,
    .order-btn,
    .buy-btn,
    .pay-btn,
    .whatsapp-button,
    .whatsapp-btn
) {
    border-color: var(--vexo-success) !important;
    background: color-mix(in srgb, var(--vexo-success) 14%, var(--vexo-card)) !important;
    color: color-mix(in srgb, var(--vexo-success) 82%, var(--vexo-foreground)) !important;
}

body.vexo-public-site :where(
    a[class*="view"],
    button[class*="view"],
    a[class*="open"],
    button[class*="open"],
    a[class*="preview"],
    button[class*="preview"],
    a[class*="details"],
    button[class*="details"],
    a[class*="download"],
    button[class*="download"],
    a[class*="search"],
    button[class*="search"],
    a[class*="share"],
    button[class*="share"],
    a[class*="call"],
    button[class*="call"],
    a[class*="mail"],
    button[class*="mail"],
    .secondary-btn,
    .view-btn,
    .open-btn,
    .preview-btn,
    .details-btn,
    .download-btn,
    .search-btn,
    .share-btn,
    .call-btn,
    .mail-btn
) {
    border-color: var(--vexo-info) !important;
    background: color-mix(in srgb, var(--vexo-info) 14%, var(--vexo-card)) !important;
    color: color-mix(in srgb, var(--vexo-info) 82%, var(--vexo-foreground)) !important;
}

body.vexo-public-site :where(
    a[class*="edit"],
    button[class*="edit"],
    a[class*="manage"],
    button[class*="manage"],
    a[class*="copy"],
    button[class*="copy"],
    a[class*="back"],
    button[class*="back"],
    a[class*="reset"],
    button[class*="reset"],
    a[class*="book"],
    button[class*="book"],
    .edit-btn,
    .manage-btn,
    .copy-btn,
    .back-btn,
    .reset-btn,
    .book-btn
) {
    border-color: var(--vexo-warning) !important;
    background: color-mix(in srgb, var(--vexo-warning) 15%, var(--vexo-card)) !important;
    color: color-mix(in srgb, var(--vexo-warning) 82%, var(--vexo-foreground)) !important;
}

body.vexo-public-site :where(
    a[class*="delete"],
    button[class*="delete"],
    a[class*="remove"],
    button[class*="remove"],
    a[class*="cancel"],
    button[class*="cancel"],
    a[class*="danger"],
    button[class*="danger"],
    .delete-btn,
    .remove-btn,
    .cancel-btn,
    .danger-btn
) {
    border-color: var(--vexo-danger) !important;
    background: color-mix(in srgb, var(--vexo-danger) 12%, var(--vexo-card)) !important;
    color: color-mix(in srgb, var(--vexo-danger) 82%, var(--vexo-foreground)) !important;
}

body.vexo-public-site .vexo-floating-socials {
    position: fixed;
    top: 50%;
    right: 0;
    z-index: 70;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    transform: translateY(-50%);
}

body.vexo-public-site .vexo-floating-socials__link {
    --vexo-floating-social-bg: #111827;
    display: flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    overflow: hidden;
    padding: 0 14px;
    color: #ffffff;
    background: var(--vexo-floating-social-bg);
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.18);
    transition: width 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

body.vexo-public-site .vexo-floating-socials__link:hover,
body.vexo-public-site .vexo-floating-socials__link:focus-visible {
    width: 156px;
    transform: translateX(-6px);
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.22);
}

body.vexo-public-site .vexo-floating-socials__link:focus-visible {
    outline: 3px solid rgba(255, 255, 255, 0.8);
    outline-offset: -3px;
}

body.vexo-public-site .vexo-floating-socials__label {
    min-width: 92px;
    opacity: 0;
    text-align: left;
    white-space: nowrap;
    transform: translateX(8px);
    transition: opacity 180ms ease, transform 180ms ease;
}

body.vexo-public-site .vexo-floating-socials__link:hover .vexo-floating-socials__label,
body.vexo-public-site .vexo-floating-socials__link:focus-visible .vexo-floating-socials__label {
    opacity: 1;
    transform: translateX(0);
}

body.vexo-public-site .vexo-floating-socials__icon {
    display: inline-flex;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    align-items: center;
    justify-content: center;
}

body.vexo-public-site .vexo-floating-socials__link[data-platform="facebook"] {
    --vexo-floating-social-bg: #31599b;
}

body.vexo-public-site .vexo-floating-socials__link[data-platform="x"] {
    --vexo-floating-social-bg: #050505;
}

body.vexo-public-site .vexo-floating-socials__link[data-platform="instagram"] {
    --vexo-floating-social-bg: #8a4d35;
}

body.vexo-public-site .vexo-floating-socials__link[data-platform="youtube"],
body.vexo-public-site .vexo-floating-socials__link[data-platform="pinterest"] {
    --vexo-floating-social-bg: #dd1f2d;
}

body.vexo-public-site .vexo-floating-socials__link[data-platform="tiktok"] {
    --vexo-floating-social-bg: #111827;
}

body.vexo-public-site .vexo-floating-socials__link[data-platform="vk"] {
    --vexo-floating-social-bg: #3775a9;
}

@media (max-width: 640px) {
    body.vexo-public-site .vexo-floating-socials {
        top: auto;
        bottom: 92px;
        transform: none;
    }

    body.vexo-public-site .vexo-floating-socials__link {
        width: 42px;
        height: 42px;
        padding: 0 11px;
    }

    body.vexo-public-site .vexo-floating-socials__link:hover,
    body.vexo-public-site .vexo-floating-socials__link:focus-visible {
        width: 136px;
    }
}
