/*
 * Vizento customer UI foundation.
 * Typography is intentionally not declared here: each existing customer surface
 * keeps its current font stack until the owner explicitly approves a change.
 */
:root {
    --vz-pin-red: #e60023;
    --vz-pin-red-hover: #b8001d;
    --vz-canvas: #0f100f;
    --vz-surface: #171817;
    --vz-surface-soft: #222322;
    --vz-text: #f5f5f3;
    --vz-muted: #a8aaa7;
    --vz-border: #3b3d3b;
    --vz-border-strong: #686b67;
    --vz-action: var(--vz-pin-red);
    --vz-on-action: #ffffff;
    --vz-link: #aab8ff;
    --vz-danger: #ff9b92;
    --vz-success: #a8dab0;
    --vz-warning: #f1cf7a;
    --vz-radius-control: 16px;
    --vz-radius-card: 24px;
    --vz-radius-media: 32px;
    --vz-radius-pill: 999px;
    --vz-page-max: 1200px;
}

html[data-vizento-theme="light"] {
    --vz-canvas: #ffffff;
    --vz-surface: #e5e5e0;
    --vz-surface-soft: #f3f3ef;
    --vz-text: #211922;
    --vz-muted: #666666;
    --vz-border: #d7d7d1;
    --vz-border-strong: #8c8c8c;
    --vz-action: var(--vz-pin-red);
    --vz-on-action: #ffffff;
    --vz-link: #2b48d4;
    --vz-danger: #9f352d;
    --vz-success: #2f6f3a;
    --vz-warning: #795b12;
}

/* Map all current customer pages to the same semantic palette. */
body.interior-home,
html[data-vizento-theme="light"] {
    --home-bg: var(--vz-canvas);
    --home-surface: var(--vz-surface);
    --home-surface-soft: var(--vz-surface-soft);
    --home-text: var(--vz-text);
    --home-muted: var(--vz-muted);
    --home-line: var(--vz-border);
    --home-accent: var(--vz-action);
    --home-accent-text: var(--vz-on-action);
    --home-danger: var(--vz-danger);
}

.inspiration,
html[data-vizento-theme="light"] .inspiration {
    --ins-bg: var(--vz-canvas);
    --ins-panel: var(--vz-surface);
    --ins-panel-raised: var(--vz-surface-soft);
    --ins-line: var(--vz-border);
    --ins-line-strong: var(--vz-border-strong);
    --ins-text: var(--vz-text);
    --ins-muted: var(--vz-muted);
    --ins-accent: var(--vz-action);
    --ins-search: var(--vz-surface);
    --ins-card-action: color-mix(in srgb, var(--vz-canvas) 92%, transparent);
    --ins-brand-accent: var(--vz-action);
    --ins-brand-on-accent: var(--vz-on-action);
    --ins-brand-tint: var(--vz-surface-soft);
    --ins-brand-ring: color-mix(in srgb, var(--vz-text) 24%, transparent);
}

body.generation-history-page,
html[data-vizento-theme="light"] body.generation-history-page {
    --gh-bg: var(--vz-canvas);
    --gh-panel: var(--vz-surface);
    --gh-raised: var(--vz-surface-soft);
    --gh-text: var(--vz-text);
    --gh-muted: var(--vz-muted);
    --gh-line: var(--vz-border);
    --gh-accent: var(--vz-action);
    --gh-on-accent: var(--vz-on-action);
}

body.purchase-page,
html[data-vizento-theme="light"] body.purchase-page {
    --purchase-bg: var(--vz-canvas);
    --purchase-panel: var(--vz-surface);
    --purchase-panel-raised: var(--vz-surface-soft);
    --purchase-card: var(--vz-surface);
    --purchase-text: var(--vz-text);
    --purchase-muted: var(--vz-muted);
    --purchase-line: var(--vz-border);
    --purchase-line-strong: var(--vz-border-strong);
    --purchase-accent: var(--vz-action);
    --purchase-on-accent: var(--vz-on-action);
    --purchase-feature: var(--vz-surface);
    --purchase-feature-text: var(--vz-text);
    --purchase-danger: var(--vz-danger);
}

.generation-queue,
html[data-vizento-theme="dark"] .generation-queue {
    --gq-bg: var(--vz-canvas);
    --gq-panel: var(--vz-surface);
    --gq-text: var(--vz-text);
    --gq-muted: var(--vz-muted);
    --gq-line: var(--vz-border);
    --gq-accent: var(--vz-text);
    --gq-on-accent: var(--vz-canvas);
}

/* One icon family and one optical size across navigation and actions. */
.vizento-icon {
    display: inline-block;
    flex: 0 0 auto;
    font-size: 20px;
    height: 1em;
    line-height: 1;
    text-align: center;
    width: 1em;
}

.vizento-icon--small {
    font-size: 16px;
}

.vizento-icon--large {
    font-size: 24px;
}

.generation-history a.generation-history__logo,
.purchase-page a.purchase-page__sidebar-logo {
    background: #000000;
    color: #ffffff;
    height: 36px;
    width: 36px;
}

.generation-history__logo img,
.purchase-page__sidebar-logo img {
    display: block;
    height: auto;
    max-width: none;
    width: 38px;
}

.interior-home__idea-card.is-selected::after {
    content: "\f00c";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

:where(
    .inspiration,
    .interior-home__page,
    .generation-history,
    .purchase-page__shell,
    .login-build__component
) :where(a, button, input, select, textarea):focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}

:where(
    .inspiration,
    .interior-home__page,
    .generation-history,
    .purchase-page__shell,
    .login-build__component
) :where(button, a):active {
    transform: translateY(1px);
}

/* Controls: a fixed 16px radius and flat, matte surfaces. */
.vizento-theme-toggle,
.inspiration__search,
.inspiration__filter-toggle,
.inspiration__filter-rail button,
.inspiration__filter-group button,
.inspiration__collection-tabs button,
.inspiration__balance,
.inspiration__login-link,
.inspiration__guest-gate a,
.inspiration__empty button,
.inspiration__collections-head button,
.inspiration-detail__actions button,
.inspiration-detail__generate-row button,
.inspiration-detail__upload,
.inspiration-save__new input,
.inspiration-save__new button,
.inspiration-auth__submit,
.interior-home__primary,
.interior-home__next-actions a,
.interior-home__ideas-head > a,
.interior-home__ideas-empty a,
.interior-home__collection-tabs button,
.interior-home__upload,
.interior-home__upload-empty button,
.interior-home__upload-preview button,
.interior-home__generate,
.generation-history__create,
.generation-history-card__actions a,
.generation-history__pagination a,
.generation-history-gallery__close,
.purchase-page__header-balance,
.purchase-page__intro > a,
.purchase-package button,
.purchase-page__message,
.Authorization_input__sokOv,
.Authorization_password__CwPZo,
.Authorization_btn__Iaxjz,
.login-build__component input.form-control,
.login-build__component select.form-control,
.login-build__component textarea.form-control,
.login-build__component .btn,
.generation-queue__launcher {
    border-radius: var(--vz-radius-control);
}

/* Cards and media use the large-radius scale from the approved reference. */
.inspiration-card__media,
.inspiration-card__open,
.inspiration__empty,
.inspiration__guest-gate,
.inspiration__filter-panel,
.inspiration-detail__content,
.inspiration-detail__media,
.inspiration-save,
.inspiration-auth,
.interior-home__idea-card,
.interior-home__ideas-empty,
.interior-home__generator,
.interior-home__result,
.generation-history-card,
.generation-history__empty,
.generation-history-gallery__panel,
.purchase-page__balance,
.purchase-package,
.purchase-page__empty,
.purchase-order,
.generation-queue__panel,
.generation-queue-job,
.Authorization_authorization__forma__3cz2f {
    border-radius: var(--vz-radius-card);
}

.inspiration-card__open img,
.inspiration-detail__media img,
.interior-home__hero-media,
.interior-home__hero-media img,
.interior-home__idea-media,
.interior-home__idea-media img,
.generation-history-card__media,
.generation-history-card__result {
    border-radius: var(--vz-radius-media);
}

.inspiration__filter-panel,
.inspiration__profile-menu,
.inspiration-save,
.inspiration-auth,
.generation-history-gallery__panel,
.generation-queue__panel,
.Authorization_authorization__forma__3cz2f {
    box-shadow: none;
}

/* Consistent content width without changing the existing page structure. */
.inspiration__tools,
.inspiration__feed-view,
.inspiration__collections-view,
.interior-home__hero,
.interior-home__ideas,
.interior-home__studio,
.interior-home__admin-strip,
.interior-home__footer {
    margin-left: auto;
    margin-right: auto;
    max-width: var(--vz-page-max);
    width: 100%;
}

.generation-history__content,
.purchase-page__content {
    max-width: calc(var(--vz-page-max) + 72px);
}

/* The approved desktop inspiration concept uses the full canvas after the sidebar. */
@media (min-width: 681px) {
    .inspiration__tools,
    .inspiration__feed-view,
    .inspiration__collections-view {
        margin-left: 0;
        margin-right: 0;
        max-width: none;
        width: 100%;
    }

    .inspiration__filter-rail[data-room-filters] button,
    html[data-vizento-theme="light"] .inspiration__filter-rail[data-room-filters] button,
    .inspiration__filter-rail[data-room-filters] button:hover,
    html[data-vizento-theme="light"] .inspiration__filter-rail[data-room-filters] button:hover,
    .inspiration__filter-rail[data-room-filters] button:focus-visible,
    html[data-vizento-theme="light"] .inspiration__filter-rail[data-room-filters] button:focus-visible,
    .inspiration__filter-rail[data-room-filters] button.is-active,
    html[data-vizento-theme="light"] .inspiration__filter-rail[data-room-filters] button.is-active {
        background: transparent;
        border: 0;
        border-radius: 0;
        color: var(--ins-muted);
    }

    .inspiration__filter-rail[data-room-filters] button:hover,
    html[data-vizento-theme="light"] .inspiration__filter-rail[data-room-filters] button:hover,
    .inspiration__filter-rail[data-room-filters] button:focus-visible,
    html[data-vizento-theme="light"] .inspiration__filter-rail[data-room-filters] button:focus-visible,
    .inspiration__filter-rail[data-room-filters] button.is-active,
    html[data-vizento-theme="light"] .inspiration__filter-rail[data-room-filters] button.is-active {
        color: var(--ins-text);
    }

    .inspiration__empty {
        border-radius: 0;
    }

    .inspiration__collections-head {
        align-items: center;
        margin: 46px 0 0;
    }

    .inspiration__collections-head > div > span {
        display: none;
    }

    .inspiration__collections-head h1 {
        font-size: clamp(42px, 3.2vw, 50px);
        font-weight: 700;
        letter-spacing: -0.045em;
        line-height: 1.05;
        margin: 0;
    }

    html[data-vizento-theme="light"] .inspiration__collections-head button {
        background: var(--vz-action);
        border: 0;
        color: var(--vz-on-action);
        font-size: 15px;
        font-weight: 700;
        min-height: 48px;
        padding: 0 22px;
    }

    html[data-vizento-theme="light"] .inspiration__collections-head button:hover,
    html[data-vizento-theme="light"] .inspiration__collections-head button:focus-visible {
        background: var(--vz-pin-red-hover);
        color: var(--vz-on-action);
    }

    .inspiration__collection-tabs,
    html[data-vizento-theme="light"] .inspiration__collection-tabs {
        border-bottom: 1px solid var(--vz-border);
        display: flex;
        gap: 34px;
        margin: 28px 0 0;
    }

    .inspiration__collection-tabs button,
    html[data-vizento-theme="light"] .inspiration__collection-tabs button,
    .inspiration__collection-tabs button:hover,
    html[data-vizento-theme="light"] .inspiration__collection-tabs button:hover,
    .inspiration__collection-tabs button:focus-visible,
    html[data-vizento-theme="light"] .inspiration__collection-tabs button:focus-visible,
    .inspiration__collection-tabs button.is-active,
    html[data-vizento-theme="light"] .inspiration__collection-tabs button.is-active {
        background: transparent;
        border: 0;
        border-radius: 0;
        color: var(--vz-muted);
        font-size: 16px;
        font-weight: 500;
        min-height: 58px;
        padding: 0 3px;
        position: relative;
    }

    .inspiration__collection-tabs button:hover,
    html[data-vizento-theme="light"] .inspiration__collection-tabs button:hover,
    .inspiration__collection-tabs button:focus-visible,
    html[data-vizento-theme="light"] .inspiration__collection-tabs button:focus-visible,
    .inspiration__collection-tabs button.is-active,
    html[data-vizento-theme="light"] .inspiration__collection-tabs button.is-active {
        color: var(--vz-text);
    }

    .inspiration__collection-tabs button.is-active::after {
        background: var(--vz-action);
        bottom: -1px;
        content: "";
        height: 3px;
        left: 0;
        position: absolute;
        right: 0;
    }

    .purchase-page__content {
        margin-left: 72px;
        margin-right: 0;
        max-width: none;
        width: auto;
    }

    /* The same desktop shell and gallery rhythm across creation and history. */
    .generation-history__header {
        background: var(--vz-canvas);
        grid-template-columns: 1fr auto;
        margin-left: 72px;
        min-height: 82px;
        padding: 14px 22px;
    }

    html[data-vizento-theme="light"] .interior-home__header {
        background: var(--vz-canvas);
        grid-template-columns: 1fr auto;
        margin-left: 0;
        min-height: 82px;
        padding: 14px 22px;
    }

    html[data-vizento-theme="light"] .purchase-page__header {
        background: var(--vz-canvas);
    }

    .inspiration__header,
    html[data-vizento-theme="light"] .inspiration__header {
        background: var(--vz-canvas);
        border-bottom-color: var(--vz-border);
        box-shadow: none;
    }

    .interior-home__nav,
    .interior-home__mode-tabs,
    .generation-history__desktop-nav {
        display: none;
    }

    .interior-home__sidebar-nav a:hover,
    .interior-home__sidebar-nav a:focus-visible,
    .generation-history__sidebar-nav a:hover,
    .generation-history__sidebar-nav a:focus-visible {
        background: var(--vz-surface);
    }

    .interior-home__sidebar-nav a.is-active,
    .generation-history__sidebar-nav a.is-active {
        background: var(--vz-text);
        color: var(--vz-canvas);
    }

    .interior-home__hero,
    .interior-home__ideas,
    .interior-home__studio,
    .interior-home__admin-strip,
    .interior-home__footer {
        margin-left: 0;
        margin-right: 0;
        max-width: none;
        width: 100%;
    }

    .interior-home__hero {
        gap: clamp(42px, 6vw, 88px);
        grid-template-columns: minmax(360px, 0.7fr) minmax(0, 1.3fr);
        min-height: 560px;
        padding: 46px 50px 64px;
    }

    .interior-home__hero-copy {
        background: transparent;
        justify-content: flex-start;
        padding: 0;
    }

    .interior-home__hero-copy h1 {
        font-size: clamp(42px, 3.2vw, 50px);
        font-weight: 700;
        letter-spacing: -0.045em;
        line-height: 1.05;
        max-width: 12ch;
    }

    .interior-home__hero-copy h1::after,
    .interior-home__hero-shade {
        display: none;
    }

    .interior-home__hero-copy p {
        color: var(--vz-muted);
        font-size: 16px;
        line-height: 1.5;
        margin-top: 20px;
    }

    html[data-vizento-theme="light"] .interior-home a.interior-home__primary {
        background: var(--vz-action);
        border: 0;
        color: var(--vz-on-action);
        font-size: 15px;
        font-weight: 700;
        margin-top: 26px;
        min-width: 0;
        padding: 14px 22px;
    }

    html[data-vizento-theme="light"] .interior-home a.interior-home__primary:hover,
    html[data-vizento-theme="light"] .interior-home a.interior-home__primary:focus-visible {
        background: var(--vz-pin-red-hover);
        color: var(--vz-on-action);
    }

    .interior-home__hero-media {
        border-radius: var(--vz-radius-media);
        min-height: 450px;
    }

    .interior-home__ideas,
    .interior-home__studio,
    .interior-home__admin-strip,
    .interior-home__footer {
        padding-left: 50px;
        padding-right: 50px;
    }

    .interior-home__ideas-head h2,
    .interior-home__generator-copy h2 {
        font-size: clamp(34px, 2.8vw, 42px);
        font-weight: 700;
        letter-spacing: -0.045em;
        line-height: 1.08;
    }

    .interior-home__ideas-head > div > span,
    .generation-history__intro > div > span {
        display: none;
    }

    .interior-home__ideas-empty {
        background: transparent;
        border: 0;
        border-radius: 0;
    }

    .generation-history__content {
        margin-left: 72px;
        margin-right: 0;
        max-width: none;
        padding: 0 50px 48px;
        width: auto;
    }

    .generation-history__intro {
        align-items: start;
        padding: 46px 0 56px;
    }

    .generation-history__intro h1 {
        font-size: clamp(42px, 3.2vw, 50px);
        font-weight: 700;
        letter-spacing: -0.045em;
        line-height: 1.05;
        margin-top: 0;
    }

    .generation-history__intro p {
        font-size: 15px;
        line-height: 1.5;
        margin-top: 18px;
    }

    .generation-history__intro > strong {
        font-size: 64px;
        font-weight: 600;
        line-height: 0.9;
    }

    html[data-vizento-theme="light"] .generation-history a.generation-history__create {
        background: var(--vz-action);
        border: 0;
        color: var(--vz-on-action);
        font-size: 15px;
        font-weight: 700;
        min-height: 48px;
        padding: 14px 22px;
    }

    html[data-vizento-theme="light"] .generation-history a.generation-history__create:hover,
    html[data-vizento-theme="light"] .generation-history a.generation-history__create:focus-visible {
        background: var(--vz-pin-red-hover);
        color: var(--vz-on-action);
    }

    .generation-history__grid {
        gap: 24px;
        padding-top: 40px;
    }

    .generation-history-card {
        background: transparent;
        border: 0;
        overflow: visible;
    }

    .generation-history-card__media {
        border-radius: var(--vz-radius-card);
        overflow: hidden;
    }

    .generation-history-card__body {
        padding: 16px 0 0;
    }

    .generation-history-card__actions a {
        border-radius: var(--vz-radius-control);
    }

    html[data-vizento-theme="light"] .generation-history-card__actions a.is-primary {
        background: var(--vz-action);
        border-color: var(--vz-action);
        color: var(--vz-on-action);
    }

    html[data-vizento-theme="light"] .generation-history-card__actions a.is-primary:hover,
    html[data-vizento-theme="light"] .generation-history-card__actions a.is-primary:focus-visible {
        background: var(--vz-pin-red-hover);
        border-color: var(--vz-pin-red-hover);
    }
}

/* Repeated account chrome uses one neutral treatment on every route. */
.interior-home__avatar,
.inspiration__avatar,
.generation-history__avatar,
.purchase-page__avatar {
    background: var(--vz-surface) !important;
    color: var(--vz-text) !important;
}

html[data-vizento-theme="light"] .inspiration__empty button,
html[data-vizento-theme="light"] .interior-home__ideas-empty a,
html[data-vizento-theme="light"] .interior-home__upload-empty button {
    background: var(--vz-action);
    border-color: var(--vz-action);
    color: var(--vz-on-action);
    font-weight: 700;
}

html[data-vizento-theme="light"] .inspiration__empty button:hover,
html[data-vizento-theme="light"] .inspiration__empty button:focus-visible,
html[data-vizento-theme="light"] .interior-home__ideas-empty a:hover,
html[data-vizento-theme="light"] .interior-home__ideas-empty a:focus-visible,
html[data-vizento-theme="light"] .interior-home__upload-empty button:hover,
html[data-vizento-theme="light"] .interior-home__upload-empty button:focus-visible {
    background: var(--vz-pin-red-hover);
    border-color: var(--vz-pin-red-hover);
    color: var(--vz-on-action);
}

/* Login, registration and account recovery share the same surfaces and states. */
.Authorization_authorization__forma__3cz2f,
.login-build__component {
    background: var(--vz-surface) !important;
    border: 1px solid var(--vz-border) !important;
    border-radius: var(--vz-radius-card) !important;
    box-shadow: none !important;
    color: var(--vz-text) !important;
}

.login-build__panel-head span,
.Authorization_authorization__forma__3cz2f .mod-login__remember label,
.Authorization_authorization__forma__3cz2f .mod-login__options li a,
.login-build__component .control-label label,
.login-build__component .text-muted,
.login-build__component .small,
.login-build__component a {
    color: var(--vz-muted) !important;
}

.login-build__panel-head h2,
.login-build__component legend,
.Authorization_authorization__forma__3cz2f .input-group .btn-secondary,
.login-build__component .input-group .input-password-toggle,
.login-build__component .password-group .btn {
    color: var(--vz-text) !important;
}

.Authorization_input__sokOv,
.Authorization_password__CwPZo,
.login-build__component input.form-control,
.login-build__component select.form-control,
.login-build__component textarea.form-control,
.login-build__component .controls input[type="text"],
.login-build__component .controls input[type="email"],
.login-build__component .controls input[type="password"] {
    background: var(--vz-surface-soft) !important;
    border: 1px solid var(--vz-border-strong) !important;
    border-radius: var(--vz-radius-control) !important;
    color: var(--vz-text) !important;
    min-height: 52px;
    padding-left: 14px;
    padding-right: 44px;
}

.Authorization_input__sokOv::placeholder,
.Authorization_password__CwPZo::placeholder {
    color: var(--vz-muted) !important;
}

.Authorization_btn__Iaxjz,
.login-build__component .btn:not(.input-password-toggle),
.login-build__component button[type="submit"],
.login-build__component input[type="submit"] {
    background: var(--vz-action) !important;
    border: 1px solid var(--vz-action) !important;
    border-radius: var(--vz-radius-control) !important;
    color: var(--vz-on-action) !important;
    font-weight: 700;
}

.Authorization_btn__Iaxjz:hover,
.Authorization_btn__Iaxjz:focus-visible,
.login-build__component .btn:not(.input-password-toggle):hover,
.login-build__component .btn:not(.input-password-toggle):focus-visible,
.login-build__component button[type="submit"]:hover,
.login-build__component button[type="submit"]:focus-visible {
    background: var(--vz-pin-red-hover) !important;
    border-color: var(--vz-pin-red-hover) !important;
    color: var(--vz-on-action) !important;
}

.login-build__component .input-group .input-password-toggle,
.login-build__component .password-group .btn {
    background: transparent !important;
    border: 0 !important;
}

.login-build__component .alert,
.login-build__component #system-message-container .alert,
#system-message-container .alert {
    background: var(--vz-surface-soft) !important;
    border: 1px solid var(--vz-border) !important;
    border-radius: var(--vz-radius-control) !important;
    color: var(--vz-text) !important;
}

.login-build__component .alert-danger,
.login-build__component .alert-error,
#system-message-container .alert-danger,
#system-message-container .alert-error {
    border-color: color-mix(in srgb, var(--vz-danger) 58%, var(--vz-border)) !important;
    color: var(--vz-danger) !important;
}

.login-build__component .alert-success,
#system-message-container .alert-success {
    border-color: color-mix(in srgb, var(--vz-success) 58%, var(--vz-border)) !important;
    color: var(--vz-success) !important;
}

.generation-queue__panel,
.generation-queue__launcher {
    box-shadow: none !important;
}

/* Shared semantic states. Color is never the only signal: every state keeps text. */
.inspiration__notice,
.interior-home__notice,
.purchase-page__message {
    background: var(--vz-surface-soft);
    border: 1px solid var(--vz-border);
    color: var(--vz-text);
    padding: 14px 16px;
}

.inspiration__notice.is-error,
.interior-home__notice--error,
.purchase-page__message--error,
.generation-queue-job.is-error {
    border-color: color-mix(in srgb, var(--vz-danger) 58%, var(--vz-border));
    color: var(--vz-danger);
}

.purchase-order__status--paid,
.generation-history-card__status {
    background: color-mix(in srgb, var(--vz-success) 16%, var(--vz-surface-soft));
    color: var(--vz-success);
}

.purchase-order__status--failed,
.purchase-order__status--cancelled {
    background: color-mix(in srgb, var(--vz-danger) 14%, var(--vz-surface-soft));
    color: var(--vz-danger);
}

@media (prefers-reduced-motion: reduce) {
    :where(
        .inspiration,
        .interior-home__page,
        .generation-history,
        .purchase-page__shell,
        .login-build__component
    ) *,
    :where(
        .inspiration,
        .interior-home__page,
        .generation-history,
        .purchase-page__shell,
        .login-build__component
    ) *::before,
    :where(
        .inspiration,
        .interior-home__page,
        .generation-history,
        .purchase-page__shell,
        .login-build__component
    ) *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

.vizento-legal-links {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
}

.vizento-legal-links a {
    color: inherit;
    font-size: 11px;
    text-decoration: none;
}

.vizento-legal-links a:hover {
    text-decoration: underline;
}

.vizento-site-footer {
    align-items: center;
    border-top: 1px solid var(--ins-line, var(--vz-border));
    color: var(--ins-muted, var(--vz-muted));
    display: flex;
    gap: 24px;
    justify-content: space-between;
    margin: 54px clamp(20px, 5vw, 72px) 36px;
    padding-top: 24px;
}

.vizento-site-footer > span {
    font-size: 11px;
}

@media (max-width: 680px) {
    .vizento-site-footer {
        align-items: flex-start;
        flex-direction: column;
        margin: 36px 15px calc(88px + env(safe-area-inset-bottom));
    }
}
