/* Login/cadastro — mesmo shell lateral da área logada (desktop ≥1180px) */

body.memb-auth-page--with-side .memb-auth-side-panel,
body.memb-auth-page--with-side .memb-auth-side-link,
body.memb-auth-page--with-side .memb-auth-side-link-label,
body.memb-auth-page--with-side .memb-auth-side-foot {
    color: #fff;
}

body.memb-auth-page--with-side .memb-auth-side-link-desc {
    display: none !important;
}

body.memb-auth-page--with-side .memb-auth-side-link {
    align-items: center;
    padding: 8px 10px;
    border: 1px solid transparent;
    border-radius: 10px;
    background: transparent;
}

body.memb-auth-page--with-side .memb-auth-page-frame:not(.is-side-collapsed) a.memb-auth-side-link:hover,
body.memb-auth-page--with-side .memb-auth-page-frame:not(.is-side-collapsed) .memb-auth-side-link.is-active {
    background: color-mix(in srgb, var(--memb-ui-accent, #8eb4ff) 22%, transparent);
    border-color: color-mix(in srgb, var(--memb-ui-accent, #8eb4ff) 38%, transparent);
}

body.memb-auth-page--with-side .memb-auth-page-frame:not(.is-side-collapsed) a.memb-auth-side-link:hover .memb-auth-side-link-label,
body.memb-auth-page--with-side .memb-auth-page-frame:not(.is-side-collapsed) .memb-auth-side-link.is-active .memb-auth-side-link-label {
    color: var(--memb-ui-accent, #8eb4ff);
}

body.memb-auth-page--with-side .memb-auth-side-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    color: #fff;
    background: transparent;
}

body.memb-auth-page--with-side .memb-auth-page-frame:not(.is-side-collapsed) a.memb-auth-side-link:hover .memb-auth-side-icon,
body.memb-auth-page--with-side .memb-auth-page-frame:not(.is-side-collapsed) .memb-auth-side-link.is-active .memb-auth-side-icon {
    color: var(--memb-ui-accent, #8eb4ff);
    background: transparent;
}

body.memb-auth-page--with-side .memb-auth-page-frame.is-side-collapsed a.memb-auth-side-link:hover,
body.memb-auth-page--with-side .memb-auth-page-frame.is-side-collapsed .memb-auth-side-link.is-active {
    background: transparent;
    border-color: transparent;
}

body.memb-auth-page--with-side .memb-auth-page-frame.is-side-collapsed a.memb-auth-side-link:hover .memb-auth-side-icon,
body.memb-auth-page--with-side .memb-auth-page-frame.is-side-collapsed .memb-auth-side-link.is-active .memb-auth-side-icon {
    color: var(--memb-ui-accent, #8eb4ff);
    background: color-mix(in srgb, var(--memb-ui-accent, #8eb4ff) 22%, transparent);
}

body.memb-auth-page--shell-side {
    --memb-auth-side-w: 248px;
    --memb-auth-side-w-mini: 76px;
    --memb-auth-card-top-gap: 1.5rem;
    --memb-app-topbar-brand-w: 144px;
    --memb-app-shell-header-h: 80px;
    --memb-app-side-bg: color-mix(in srgb, #1a2340 88%, #0d1020);
    --memb-ui-background: var(--memb-app-side-bg);
    --memb-side-expand-duration: 0.58s;
    --memb-side-expand-ease: cubic-bezier(0.33, 1.12, 0.52, 1);
    --memb-app-side-icon-col-w: var(--memb-auth-side-w-mini);
    --memb-app-side-rail-w: calc(2rem + 1.25rem + 17ch + 1.5rem);
    --memb-app-side-offset: var(--memb-app-side-icon-col-w);
}

body.memb-auth-page--shell-side .memb-auth-side-link-copy {
    gap: 0;
    min-width: 0;
    overflow: hidden;
}

body.memb-auth-page--shell-side .memb-auth-page-frame.is-side-flyout-mode .memb-auth-side-link-copy {
    overflow: visible;
}

body.memb-auth-page--shell-side .memb-auth-side-link-label {
    white-space: nowrap;
}

@media (min-width: 1180px) {
    body.memb-auth-page--shell-side.is-side-flyout-active,
    body.memb-auth-page--shell-side:has(.memb-auth-page-frame.is-side-flyout-active),
    body.memb-auth-page--shell-side:has(.memb-auth-side-panel:hover),
    body.memb-auth-page--shell-side:has(.memb-auth-side-panel:focus-within),
    body.memb-auth-page--shell-side:has(.memb-app-topbar__side-brand:hover),
    body.memb-auth-page--shell-side:has(.memb-app-topbar__side-brand:focus-within) {
        --memb-app-side-offset: var(--memb-app-side-rail-w);
    }

    body.memb-auth-page--shell-side.memb-auth-page--with-side {
        padding: 0 !important;
        margin: 0;
        min-height: 100vh;
        justify-content: flex-start !important;
        align-items: stretch !important;
        background: var(--memb-app-side-bg) !important;
    }

    body.memb-auth-page--shell-side .memb-auth-page-frame.has-marketing-side {
        display: block !important;
        grid-template-columns: unset !important;
        grid-template-areas: unset !important;
        gap: 0 !important;
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0;
        min-height: 100vh;
        min-height: 100dvh;
        background: var(--memb-app-side-bg) !important;
    }

    body.memb-auth-page--shell-side .memb-auth-page-frame.is-side-flyout-mode > .memb-auth-side-panel {
        display: flex !important;
        flex-direction: column;
        position: fixed;
        left: 0;
        top: var(--memb-app-shell-header-h);
        bottom: 0;
        width: var(--memb-app-side-icon-col-w);
        min-width: var(--memb-app-side-icon-col-w);
        max-width: var(--memb-app-side-icon-col-w);
        height: calc(100dvh - var(--memb-app-shell-header-h));
        max-height: calc(100dvh - var(--memb-app-shell-header-h));
        min-height: calc(100dvh - var(--memb-app-shell-header-h));
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        background: var(--memb-app-side-bg) !important;
        overflow: hidden;
        z-index: 200;
        pointer-events: auto;
        align-self: stretch;
        transition:
            width var(--memb-side-expand-duration) var(--memb-side-expand-ease),
            min-width var(--memb-side-expand-duration) var(--memb-side-expand-ease),
            max-width var(--memb-side-expand-duration) var(--memb-side-expand-ease);
    }

    body.memb-auth-page--shell-side .memb-auth-page-frame.is-side-flyout-mode.is-side-flyout-active > .memb-auth-side-panel,
    body.memb-auth-page--shell-side .memb-auth-page-frame.is-side-flyout-mode:has(> .memb-auth-side-panel:hover) > .memb-auth-side-panel,
    body.memb-auth-page--shell-side .memb-auth-page-frame.is-side-flyout-mode:has(> .memb-auth-side-panel:focus-within) > .memb-auth-side-panel,
    body.memb-auth-page--shell-side:has(.memb-app-topbar__side-brand:hover) .memb-auth-page-frame.is-side-flyout-mode > .memb-auth-side-panel,
    body.memb-auth-page--shell-side:has(.memb-app-topbar__side-brand:focus-within) .memb-auth-page-frame.is-side-flyout-mode > .memb-auth-side-panel {
        width: var(--memb-app-side-rail-w);
        min-width: var(--memb-app-side-rail-w);
        max-width: var(--memb-app-side-rail-w);
    }

    body.memb-auth-page--shell-side .memb-auth-page-frame.is-side-flyout-mode > .memb-auth-side-panel .memb-auth-side-scroll {
        flex: 1 1 auto;
        min-height: 0;
        overflow: hidden;
        padding: 8px 6px;
    }

    body.memb-auth-page--shell-side .memb-auth-page-frame.is-side-collapsed .memb-auth-side-divider {
        display: none !important;
    }

    body.memb-auth-page--shell-side .memb-auth-page-frame:not(.is-side-collapsed) > .memb-auth-side-panel .memb-auth-side-scroll .memb-auth-side-divider {
        display: block;
        height: 0;
        border: none;
        border-top: 1px solid color-mix(in srgb, var(--memb-ui-accent, #8eb4ff) 32%, transparent);
        margin: 10px -10px;
        padding: 0;
    }

    body.memb-auth-page--shell-side .memb-auth-page-frame.is-side-flyout-mode .memb-auth-side-nav {
        overflow: hidden;
    }

    /* Topbar visitante — logo fixo; sem faixa glass (login/registro) */
    body.memb-auth-page--shell-side .memb-auth-page-main > .memb-app-topbar {
        position: sticky;
        top: 0;
        z-index: 250;
        flex: 0 0 auto;
        display: block;
        width: 100%;
        max-width: none;
        margin: 0;
        min-height: 0;
        padding: 0;
        border: none;
        border-radius: 0;
        background: transparent;
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
        box-shadow: none;
        overflow: visible;
        box-sizing: border-box;
    }

    body.memb-auth-page--shell-side .memb-auth-page-main > .memb-app-topbar .memb-app-topbar__side-brand {
        position: fixed;
        left: 0;
        top: 0;
        z-index: 260;
        flex: none;
        width: var(--memb-app-side-icon-col-w);
        max-width: var(--memb-app-side-icon-col-w);
        min-width: var(--memb-app-side-icon-col-w);
        height: var(--memb-app-shell-header-h);
        display: flex;
        align-items: center;
        box-sizing: border-box;
        padding: 0 4px var(--memb-app-topbar-pad-y, 12px) 2px;
        background: var(--memb-app-side-bg);
        transition:
            width var(--memb-side-expand-duration) var(--memb-side-expand-ease),
            max-width var(--memb-side-expand-duration) var(--memb-side-expand-ease),
            min-width var(--memb-side-expand-duration) var(--memb-side-expand-ease);
    }

    body.memb-auth-page--shell-side .memb-auth-page-frame.is-side-flyout-active .memb-auth-page-main > .memb-app-topbar .memb-app-topbar__side-brand,
    body.memb-auth-page--shell-side:has(.memb-auth-side-panel:hover) .memb-auth-page-main > .memb-app-topbar .memb-app-topbar__side-brand,
    body.memb-auth-page--shell-side:has(.memb-auth-side-panel:focus-within) .memb-auth-page-main > .memb-app-topbar .memb-app-topbar__side-brand,
    body.memb-auth-page--shell-side:has(.memb-app-topbar__side-brand:hover) .memb-auth-page-main > .memb-app-topbar .memb-app-topbar__side-brand,
    body.memb-auth-page--shell-side:has(.memb-app-topbar__side-brand:focus-within) .memb-auth-page-main > .memb-app-topbar .memb-app-topbar__side-brand {
        width: var(--memb-app-side-rail-w);
        max-width: var(--memb-app-side-rail-w);
        min-width: var(--memb-app-side-rail-w);
    }

    body.memb-auth-page--shell-side .memb-auth-page-main > .memb-app-topbar .memb-app-topbar__side-brand .memb-auth-side-brand-box {
        display: flex !important;
        flex-direction: row !important;
        align-items: center;
        justify-content: flex-start;
        gap: 2px;
        width: 100%;
        min-height: 3.5rem;
        padding: 8px 10px 0 !important;
        border: none !important;
        border-radius: 0;
        background: transparent !important;
    }

    body.memb-auth-page--shell-side .memb-auth-page-main > .memb-app-topbar .memb-app-topbar__side-brand .memb-auth-side-brand {
        padding: 0 !important;
    }

    body.memb-auth-page--shell-side .memb-auth-page-main > .memb-app-topbar .memb-app-topbar__side-brand .memb-auth-side-brand-box .memb-auth-side-toggle {
        display: none !important;
    }

    body.memb-auth-page--shell-side .memb-auth-page-main > .memb-app-topbar .memb-app-topbar__side-brand .memb-auth-side-brand-text-wrap {
        display: none !important;
    }

    body.memb-auth-page--shell-side .memb-auth-page-main > .memb-app-topbar .memb-app-topbar__side-brand .memb-auth-side-brand-logo {
        flex-shrink: 0;
        max-width: var(--memb-app-side-logo-max-w, 4.25rem);
        height: var(--memb-app-side-logo-h, 3.25rem);
        width: auto;
        object-fit: contain;
    }

    body.memb-auth-page--shell-side .memb-auth-page-frame.is-side-collapsed .memb-auth-page-main > .memb-app-topbar .memb-app-topbar__side-brand .memb-auth-side-brand {
        flex-direction: row !important;
        padding: 0 !important;
        width: auto !important;
    }

    body.memb-auth-page--shell-side .memb-auth-page-frame.is-side-collapsed .memb-auth-page-main > .memb-app-topbar .memb-app-topbar__side-brand .memb-auth-side-brand-open {
        display: flex !important;
        position: static !important;
        width: auto !important;
        height: auto !important;
        overflow: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    body.memb-auth-page--shell-side .memb-auth-page-frame.is-side-collapsed .memb-auth-page-main > .memb-app-topbar .memb-app-topbar__side-brand .memb-auth-side-brand-mini {
        display: none !important;
    }

    body.memb-auth-page--shell-side .memb-auth-page-main > .memb-app-topbar.memb-app-topbar--no-glass .memb-app-topbar__view--desktop {
        display: flex !important;
        align-items: stretch;
        justify-content: flex-start;
        gap: 0;
        width: 100%;
        min-width: 0;
        min-height: 0;
        height: 0;
        overflow: visible;
        box-sizing: border-box;
    }

    body.memb-auth-page--shell-side .memb-auth-page-main > .memb-app-topbar .memb-app-topbar__view--mobile {
        display: none !important;
    }

    body.memb-auth-page--shell-side .memb-app-topbar--guest .memb-app-topbar__content--actions {
        min-height: 0;
    }

    body.memb-auth-page--shell-side .memb-auth-page-main {
        position: relative;
        z-index: 1;
        margin: 0 0 0 var(--memb-app-side-offset, var(--memb-app-side-icon-col-w));
        width: calc(100% - var(--memb-app-side-offset, var(--memb-app-side-icon-col-w)));
        max-width: none;
        padding: 0;
        min-height: 100vh;
        display: flex;
        flex-direction: column;
        box-sizing: border-box;
        transition:
            margin-left var(--memb-side-expand-duration) var(--memb-side-expand-ease),
            width var(--memb-side-expand-duration) var(--memb-side-expand-ease);
        background: var(--memb-app-side-bg) !important;
    }

    body.memb-auth-page--shell-side .memb-auth-shell {
        flex: 1 1 auto;
        width: 100%;
        max-width: var(--memb-auth-card-max, 1100px);
        margin: 0 auto;
        padding: var(--memb-auth-card-top-gap, 1.5rem) 1.25rem 1.5rem;
        box-sizing: border-box;
        background: var(--memb-app-side-bg) !important;
    }

    body.memb-auth-page--shell-side .memb-auth-card {
        border-radius: 14px;
        border: 1px solid color-mix(in srgb, var(--memb-ui-accent, #8eb4ff) 34%, transparent);
        background: transparent !important;
        box-shadow: none;
        overflow: hidden;
    }

    body.memb-auth-page--shell-side .memb-auth-grid,
    body.memb-auth-page--shell-side .memb-auth-panel,
    body.memb-auth-page--shell-side .memb-auth-panel-inner {
        background: transparent !important;
        box-shadow: none !important;
    }

    body.memb-auth-page--shell-side .memb-auth-panel {
        border: none !important;
        border-radius: 0 !important;
    }

    body.memb-auth-page--shell-side .memb-auth-card-side {
        display: none !important;
    }

    /* Footer de página — fora do card; alinhado à largura do shell */
    body.memb-auth-page--shell-side .memb-auth-site-foot.memb-auth-site-foot--page {
        width: calc(100% - 2.5rem);
        max-width: calc(var(--memb-auth-card-max, 1100px) - 2.5rem);
        margin: auto auto 1.5rem;
        border: 1px solid color-mix(in srgb, var(--memb-ui-accent, #8eb4ff) 34%, transparent);
        border-radius: 14px;
        box-shadow: none;
    }

    /* Só a topbar tem logo no desktop */
    body.memb-auth-page--shell-side .memb-auth-page-frame > .memb-auth-side-panel .memb-auth-side-brand-head {
        display: none !important;
    }

    /* Flyout — ícones fixos; rótulos deslizam no hover */
    body.memb-auth-page--shell-side .memb-auth-page-frame.is-side-flyout-mode .memb-auth-side-link {
        position: relative;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start !important;
        gap: 8px;
        padding: 7px 10px !important;
        overflow: hidden;
        z-index: 1;
    }

    body.memb-auth-page--shell-side .memb-auth-page-frame.is-side-flyout-mode .memb-auth-side-icon {
        margin: 0 !important;
        flex: 0 0 2rem;
        width: 2rem;
        height: 2rem;
        position: relative;
        z-index: 2;
    }

    body.memb-auth-page--shell-side .memb-auth-page-frame.is-side-flyout-mode .memb-auth-side-icon .memb-lucide-icon {
        width: 1.15rem;
        height: 1.15rem;
    }

    body.memb-auth-page--shell-side .memb-auth-page-frame.is-side-flyout-mode .memb-auth-side-arrow,
    body.memb-auth-page--shell-side .memb-auth-page-frame.is-side-flyout-mode .memb-auth-side-badge,
    body.memb-auth-page--shell-side .memb-auth-page-frame.is-side-flyout-mode .memb-auth-side-foot {
        display: none !important;
    }

    body.memb-auth-page--shell-side .memb-auth-page-frame.is-side-flyout-mode .memb-auth-side-link-copy {
        display: block !important;
        position: static;
        flex: 0 0 auto;
        width: auto;
        max-width: none;
        min-width: 0;
        margin: 0;
        padding: 0;
        white-space: nowrap;
        overflow: hidden;
        background: transparent;
        border-radius: 0;
        box-shadow: none;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: none;
        transition:
            opacity 0.22s var(--memb-side-expand-ease),
            width 0.28s var(--memb-side-expand-ease),
            visibility 0s linear 0.22s;
    }

    body.memb-auth-page--shell-side .memb-auth-page-frame.is-side-flyout-mode .memb-auth-side-link-label {
        white-space: nowrap;
        display: inline-block;
        color: #fff;
        transform: translateX(-8px);
        transition:
            color 0.2s ease,
            transform 0.32s var(--memb-side-expand-ease),
            opacity 0.22s var(--memb-side-expand-ease);
    }

    body.memb-auth-page--shell-side .memb-auth-page-frame.is-side-flyout-mode:not(.is-side-flyout-active) .memb-auth-side-link-copy {
        flex: 0 0 0 !important;
        width: 0 !important;
        max-width: 0 !important;
        min-width: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    body.memb-auth-page--shell-side .memb-auth-page-frame.is-side-flyout-mode:not(.is-side-flyout-active) .memb-auth-side-link-label {
        opacity: 0;
        transform: translateX(-8px);
    }

    body.memb-auth-page--shell-side .memb-auth-page-frame.is-side-flyout-mode.is-side-flyout-active .memb-auth-side-link-copy,
    body.memb-auth-page--shell-side:has(.memb-auth-side-panel:hover) .memb-auth-page-frame.is-side-flyout-mode .memb-auth-side-link-copy,
    body.memb-auth-page--shell-side:has(.memb-auth-side-panel:focus-within) .memb-auth-page-frame.is-side-flyout-mode .memb-auth-side-link-copy,
    body.memb-auth-page--shell-side:has(.memb-app-topbar__side-brand:hover) .memb-auth-page-frame.is-side-flyout-mode .memb-auth-side-link-copy,
    body.memb-auth-page--shell-side:has(.memb-app-topbar__side-brand:focus-within) .memb-auth-page-frame.is-side-flyout-mode .memb-auth-side-link-copy {
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        overflow: visible;
        transition:
            opacity 0.24s var(--memb-side-expand-ease) 0.02s,
            width 0.32s var(--memb-side-expand-ease),
            visibility 0s linear 0s;
    }

    body.memb-auth-page--shell-side .memb-auth-page-frame.is-side-flyout-mode.is-side-flyout-active .memb-auth-side-link-label,
    body.memb-auth-page--shell-side:has(.memb-auth-side-panel:hover) .memb-auth-page-frame.is-side-flyout-mode .memb-auth-side-link-label,
    body.memb-auth-page--shell-side:has(.memb-auth-side-panel:focus-within) .memb-auth-page-frame.is-side-flyout-mode .memb-auth-side-link-label,
    body.memb-auth-page--shell-side:has(.memb-app-topbar__side-brand:hover) .memb-auth-page-frame.is-side-flyout-mode .memb-auth-side-link-label,
    body.memb-auth-page--shell-side:has(.memb-app-topbar__side-brand:focus-within) .memb-auth-page-frame.is-side-flyout-mode .memb-auth-side-link-label {
        opacity: 1 !important;
        transform: translateX(0);
    }

    body.memb-auth-page--shell-side .memb-auth-page-frame.is-side-flyout-mode.is-side-flyout-active a.memb-auth-side-link:hover .memb-auth-side-link-label,
    body.memb-auth-page--shell-side .memb-auth-page-frame.is-side-flyout-mode.is-side-flyout-active .memb-auth-side-link.is-active .memb-auth-side-link-label,
    body.memb-auth-page--shell-side:has(.memb-auth-side-panel:hover) .memb-auth-page-frame.is-side-flyout-mode a.memb-auth-side-link:hover .memb-auth-side-link-label,
    body.memb-auth-page--shell-side:has(.memb-app-topbar__side-brand:hover) .memb-auth-page-frame.is-side-flyout-mode a.memb-auth-side-link:hover .memb-auth-side-link-label {
        color: var(--memb-ui-accent, #8eb4ff);
    }

    body.memb-auth-page--shell-side .memb-auth-page-frame.is-side-flyout-mode.is-side-flyout-active a.memb-auth-side-link:hover .memb-auth-side-icon,
    body.memb-auth-page--shell-side .memb-auth-page-frame.is-side-flyout-mode.is-side-flyout-active .memb-auth-side-link.is-active .memb-auth-side-icon,
    body.memb-auth-page--shell-side:has(.memb-auth-side-panel:hover) .memb-auth-page-frame.is-side-flyout-mode a.memb-auth-side-link:hover .memb-auth-side-icon,
    body.memb-auth-page--shell-side:has(.memb-app-topbar__side-brand:hover) .memb-auth-page-frame.is-side-flyout-mode a.memb-auth-side-link:hover .memb-auth-side-icon {
        color: var(--memb-ui-accent, #8eb4ff);
        background: color-mix(in srgb, var(--memb-ui-accent, #8eb4ff) 22%, transparent);
    }
}

@media (max-width: 1179.98px) {
    body.memb-auth-page--shell-side .memb-auth-page-main > .memb-app-topbar {
        display: none !important;
    }

    body.memb-auth-page--shell-side .memb-auth-page-frame > .memb-auth-side-panel .memb-auth-side-brand-head {
        display: block !important;
    }
}
