/* Public website only. Keep customer-selected card/store themes independent. */
html.vexo-public-document {
    max-inline-size: 100%;
    overflow-x: hidden;
    overscroll-behavior-x: none;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}
@supports (overflow: clip) {
    html.vexo-public-document { overflow-x: clip; }
}
body[data-vexo-public-design="calm"] {
    min-inline-size: 0;
    max-inline-size: 100%;
}
body[data-vexo-public-design="calm"] :is(.vexo-public-page, .vexo-experience-site, #vexo-experience-content) {
    min-inline-size: 0;
    max-inline-size: 100%;
}
body[data-vexo-public-design="calm"] .vexo-home-scene__image {
    overflow: hidden;
}
body[data-vexo-public-design="calm"] .vexo-experience-menu-toggle {
    flex: 0 0 2.875rem;
    inline-size: 2.875rem;
    block-size: 2.875rem;
    min-inline-size: 2.875rem;
    padding: 0;
    border: 1px solid var(--vexo-public-line);
    border-radius: 0.875rem;
    background: var(--vexo-public-soft);
    color: var(--vexo-public-text);
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
}
body[data-vexo-public-design="calm"] .vexo-experience-menu-toggle svg {
    inline-size: 1.35rem;
    block-size: 1.35rem;
    flex: none;
}
.vexo-experience-menu-toggle .vexo-menu-close-icon,
.vexo-public-mobile-disclosure[open] .vexo-menu-open-icon { display: none; }
.vexo-public-mobile-disclosure[open] .vexo-menu-close-icon { display: block; }
body[data-vexo-public-design="calm"] .vexo-public-mobile-disclosure[open] > summary {
    background: var(--vexo-public-accent);
    color: var(--vexo-public-button-ink, var(--vexo-primary-foreground));
    border-color: var(--vexo-public-accent);
}
@media (max-width: 72rem) {
    html.vexo-public-document {
        scroll-padding-block-start: calc(5.6rem + env(safe-area-inset-top, 0px));
    }
    /* Fixed positioning avoids Safari's disappearing sticky header during overscroll. */
    body[data-vexo-public-design="calm"] .vexo-experience-site {
        padding-block-start: calc(4.6rem + env(safe-area-inset-top, 0px));
    }
    body[data-vexo-public-design="calm"] .vexo-experience-header {
        position: fixed;
        inset-block-start: 0;
        inset-inline: 0;
        inline-size: 100%;
        z-index: 100;
        padding-block-start: env(safe-area-inset-top, 0px);
        background: var(--vexo-public-surface);
    }
    body[data-vexo-public-design="calm"] .vexo-experience-header__inner {
        block-size: 4.6rem;
        min-block-size: 4.6rem;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 0.5rem;
    }
    body[data-vexo-public-design="calm"] .vexo-experience-header__actions {
        min-inline-size: 0;
        gap: 0.5rem;
    }
    body[data-vexo-public-design="calm"] .vexo-experience-brand {
        min-inline-size: 0;
        max-inline-size: 100%;
    }
    body[data-vexo-public-design="calm"] .vexo-experience-brand img {
        max-inline-size: min(100%, 8rem);
        object-fit: contain;
    }
    body[data-vexo-public-design="calm"] .vexo-public-mobile-disclosure {
        flex: none;
    }
    body[data-vexo-public-design="calm"] .vexo-public-mobile-disclosure > nav {
        inset-inline: 0;
        inline-size: 100%;
        max-inline-size: 100%;
        max-block-size: calc(100vh - 4.6rem - env(safe-area-inset-top, 0px));
        max-block-size: calc(100dvh - 4.6rem - env(safe-area-inset-top, 0px));
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }
    body[data-vexo-public-design="calm"] .vexo-experience-locale__menu {
        max-inline-size: calc(100vw - 2rem);
    }
    body[data-vexo-public-design="calm"] :is(h1, h2, h3, .vexo-experience-button, .vexo-experience-mobile-nav__link) {
        overflow-wrap: anywhere;
    }
}
