/**
 * Welcome page design – BASE.txt Midnight Emerald theme
 * Scoped to body.welcome-design and .welcome-page
 */

/* --- Theme variables (BASE) --- */
body.welcome-design {
    --w-bg: #0B0F1A;
    --w-surface: #161B26;
    --w-border: #262D3D;
    --w-primary: #10B981;
    --w-primary-hover: #059669;
    --w-text: #F8FAFC;
    --w-muted: #94A3B8;
    --w-danger: #F43F5E;
    --w-glass: rgba(22, 27, 38, 0.7);
    --radius-btn: 12px;
    --welcome-topbar-h: 65px;
}

body.welcome-design[data-theme="light"] {
    --w-bg: #F8FAFC;
    --w-surface: #FFFFFF;
    --w-border: #E2E8F0;
    --w-text: #0F172A;
    --w-muted: #64748B;
    --w-glass: rgba(255, 255, 255, 0.8);
}

html:has(body.welcome-design) {
    overflow-x: hidden;
    max-width: 100%;
    scrollbar-gutter: auto;
    height: 100%;
}

body.welcome-design {
    font-family: 'Outfit', sans-serif;
    background: var(--w-bg);
    color: var(--w-text);
    margin: 0;
    min-height: 0;
    height: 100%;
    max-width: 100%;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    background-image: none;
    background-attachment: scroll;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body.welcome-design.welcome-theme-animating {
    transition: background-color 0.25s ease, color 0.25s ease;
}

body.welcome-design *:not(.material-icons-round):not(.material-icons),
body.welcome-design input,
body.welcome-design button:not(.material-icons-round):not(.material-icons),
body.welcome-design select,
body.welcome-design textarea {
    font-family: 'Outfit', sans-serif;
    box-sizing: border-box;
}

body.welcome-design .material-icons-round,
body.welcome-design .material-icons {
    font-family: 'Material Icons Round', 'Material Icons' !important;
    box-sizing: border-box;
}

/* --- Top bar --- */
body.welcome-design .welcome-topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 24px;
    border-bottom: 1px solid var(--w-border);
    background: var(--w-surface);
    flex-shrink: 0;
}

body.welcome-design .welcome-topbar .welcome-logo,
body.welcome-design .welcome-aside-logo,
body.welcome-design .monolith-auth-brand {
    display: flex;
    align-items: center;
    text-decoration: none;
    line-height: 0;
}

body.welcome-design .removee-brand-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

body.welcome-design .removee-brand-logo__svg {
    display: block;
    height: var(--removee-logo-h, 36px);
    width: auto;
    max-width: min(100%, calc(var(--removee-logo-h, 36px) * 5.22));
    background: transparent;
}

body.welcome-design .removee-brand-logo img,
body.welcome-design .removee-brand-logo__img {
    display: block;
    height: var(--removee-logo-h, 36px);
    width: auto;
    max-width: 100%;
    background: transparent;
    object-fit: contain;
}

body.welcome-design .welcome-topbar .welcome-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

body.welcome-design .welcome-lang-select,
body.welcome-design .welcome-theme-btn {
    background: var(--w-surface);
    border: 1px solid var(--w-border);
    color: var(--w-text);
    padding: 8px 12px;
    border-radius: 10px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    font-size: 14px;
}

body.welcome-design .welcome-theme-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
}

body.welcome-design .welcome-btn-login {
    padding: 10px 20px;
    border-radius: 12px;
    border: none;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    background: var(--w-primary);
    color: white;
    text-decoration: none;
    font-size: 14px;
}

body.welcome-design .welcome-btn-login:hover {
    background: var(--w-primary-hover);
}

/* --- Home layout: sidebar + main (Registration.txt / Homepage+LV) --- */
body.welcome-design .d-flex.flex-column.w-100 {
    min-height: 0;
    height: 100%;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden;
}

/* Keep main content above footer and prevent legacy transforms/margins */
body.welcome-design section#content {
    flex: 1 0 auto;
    margin-bottom: 0 !important;
    transform: none !important;
}

body.welcome-design.cookie-alert-show section#content {
    margin-bottom: 0 !important;
    transform: none !important;
}

body.welcome-design #footer,
body.welcome-design #footer.footer-main,
body.welcome-design #footer.footer-fixed,
body.welcome-design .footer-fixed {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
}

/* Keep scrolling content clear of the footer area */
body.welcome-design .welcome-content-container {
    padding-bottom: 120px;
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
}

body.welcome-design .welcome-main {
    min-width: 0;
    max-width: 100%;
    overflow-x: hidden;
}

body.welcome-design #page-scroll {
    max-width: 100%;
    overflow-x: hidden;
}

body.welcome-design .welcome-home-layout,
body.welcome-design section#content.welcome-home-layout {
    display: flex !important;
    flex-direction: row !important;
    flex: 1;
    min-height: 0;
    max-height: 100%;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    overflow-y: hidden;
    min-width: 0;
}

body.welcome-design .welcome-aside {
    width: 260px;
    flex-shrink: 0;
    background: var(--w-surface);
    border-right: 1px solid var(--w-border);
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    z-index: 100;
}

body.welcome-design .welcome-aside-logo {
    padding: 28px 24px 24px;
}

body.welcome-design .welcome-aside-nav {
    flex: 1;
    padding: 0 15px;
    display: flex;
    flex-direction: column;
}

body.welcome-design .welcome-aside-nav-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    border-radius: 12px;
    font-family: 'Outfit', sans-serif;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 6px;
    color: var(--w-muted);
    font-weight: 500;
    text-decoration: none;
    margin-bottom: 5px;
    font-size: 15px;
    transition: background 0.2s, color 0.2s;
}

body.welcome-design .welcome-aside-nav-item:hover {
    background: rgba(16, 185, 129, 0.05);
    color: var(--w-primary);
}

body.welcome-design .welcome-aside-nav-item.active {
    background: var(--w-primary);
    color: white;
    box-shadow: 0 10px 20px rgba(16, 185, 129, 0.2);
}

body.welcome-design .welcome-aside-nav-badge {
    background: var(--w-danger);
    color: #fff;
    font-size: 10px;
    padding: 2px 7px;
    border-radius: 20px;
    margin-left: auto;
    font-weight: 800;
    line-height: 1.2;
}

body.welcome-design .welcome-aside-nav-item-accent {
    color: var(--w-primary);
    background: rgba(16, 185, 129, 0.1);
    border: 1px dashed var(--w-primary);
    margin-top: 12px;
}

body.welcome-design .welcome-aside-nav-item-accent:hover {
    background: rgba(16, 185, 129, 0.16);
    color: var(--w-primary);
}

body.welcome-design .welcome-aside-nav-item-logout {
    color: var(--w-danger);
    margin-top: auto;
    border-top: 1px solid var(--w-border);
    border-radius: 0;
    padding-top: 18px;
}

body.welcome-design .welcome-aside-nav-item-logout:hover {
    background: rgba(244, 63, 94, 0.08);
    color: var(--w-danger);
}

body.welcome-design .welcome-aside-footer {
    padding: 20px;
    border-top: 1px solid var(--w-border);
}

body.welcome-design .welcome-aside-legal-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

body.welcome-design .welcome-aside-legal-links a {
    color: var(--w-muted);
    font-size: 11px;
    text-decoration: none;
    font-weight: 600;
}

body.welcome-design .welcome-aside-legal-links a:hover {
    color: var(--w-primary);
}

body.welcome-design .welcome-aside-legal-links a.active {
    color: var(--w-primary);
    text-decoration: underline;
}

body.welcome-design .welcome-aside-copyright {
    font-size: 10px;
    color: var(--w-muted);
    text-align: center;
    margin: 15px 0 0;
}

body.welcome-design .welcome-main {
    flex: 1;
    margin-left: 260px;
    width: calc(100% - 260px);
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
}

body.welcome-design .welcome-main-topbar {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 20px 40px;
    gap: 15px;
    position: sticky;
    top: 0;
    background: var(--w-glass);
    backdrop-filter: blur(10px);
    z-index: 10;
    border-bottom: 1px solid var(--w-border);
}

body.welcome-design .welcome-mobile-menu-btn {
    display: none;
    width: 42px;
    height: 42px;
    border: 1px solid var(--w-border);
    border-radius: 10px;
    background: var(--w-surface);
    color: var(--w-text);
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

body.welcome-design .welcome-mobile-drawer-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(17, 24, 39, 0.45);
    opacity: 0;
    transition: opacity 0.22s ease;
    z-index: 150;
}

body.welcome-design .welcome-mobile-drawer-backdrop.is-open {
    opacity: 1;
}

body.welcome-design .welcome-mobile-drawer {
    position: fixed;
    top: 0;
    left: 0;
    width: min(320px, 86vw);
    height: 100dvh;
    background: var(--w-surface);
    border-right: 1px solid var(--w-border);
    box-shadow: 0 24px 40px rgba(0, 0, 0, 0.35);
    transform: translateX(-102%);
    transition: transform 0.22s ease;
    z-index: 160;
    display: none;
    flex-direction: column;
}

body.welcome-design .welcome-mobile-drawer.is-open {
    transform: translateX(0);
}

body.welcome-design .welcome-mobile-drawer-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px 14px 12px;
    border-bottom: 1px solid var(--w-border);
}

body.welcome-design .welcome-mobile-drawer-login {
    flex: 1;
}

body.welcome-design .welcome-mobile-drawer-close {
    width: 40px;
    height: 40px;
    border: 1px solid var(--w-border);
    border-radius: 10px;
    background: var(--w-surface-2);
    color: var(--w-text);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

body.welcome-design .welcome-mobile-drawer-nav {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 14px;
}

body.welcome-design .welcome-mobile-nav-item {
    width: 100%;
    justify-content: flex-start;
    outline: none;
}

body.welcome-design.welcome-mobile-drawer-open {
    overflow: hidden;
}

body.welcome-design.welcome-auth-open {
    overflow: hidden;
}

body.welcome-design #authModal.open {
    z-index: 3500;
}

body.welcome-design.welcome-auth-open #cookieBanner {
    pointer-events: none;
    opacity: 0.35;
}

body.welcome-design .welcome-main-topbar .welcome-lang-select,
body.welcome-design .welcome-main-topbar .welcome-theme-btn {
    background: var(--w-surface);
    border: 1px solid var(--w-border);
    color: var(--w-text);
    padding: 8px 12px;
    border-radius: 10px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    font-size: 14px;
}

body.welcome-design .welcome-main-topbar .welcome-theme-btn {
    width: 42px;
    height: 42px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Searchable language dropdown (Select2) */
body.welcome-design .welcome-main-topbar .select2-container {
    min-width: 180px;
}

body.welcome-design .welcome-main-topbar .select2-container--default .select2-selection--single {
    height: 42px;
    border: 1px solid var(--w-border);
    border-radius: 10px;
    background: var(--w-surface);
    display: flex;
    align-items: center;
    padding: 0 34px 0 12px;
}

body.welcome-design .welcome-main-topbar .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--w-text);
    line-height: 1.2;
    padding-left: 0;
    padding-right: 0;
    font-weight: 600;
}

body.welcome-design .welcome-main-topbar .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100%;
    right: 8px;
}

body.welcome-design .welcome-content-container {
    max-width: 100%;
    margin: 0 auto;
    padding: 20px 40px 80px;
    width: 100%;
}

body.welcome-design .welcome-dashboard-section {
    margin-top: 22px;
}

body.welcome-design .welcome-section-title {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 10px;
    font-size: 20px;
    color: var(--w-text);
}

body.welcome-design .welcome-panel {
    background: var(--w-surface);
    border: 1px solid var(--w-border);
    border-radius: 16px;
    padding: 18px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.22);
}

body.welcome-design .welcome-muted {
    color: var(--w-muted);
    margin: 0;
}

/* Hero section (search box + filter tabs) */
body.welcome-design .welcome-hero-section {
    min-height: 50vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

body.welcome-design .welcome-hero-title {
    font-size: 48px;
    font-weight: 800;
    letter-spacing: -2px;
    margin: 0 0 20px;
    color: var(--w-text) !important;
}

body.welcome-design .welcome-hero-subtitle {
    color: var(--w-muted);
    font-size: 18px;
    margin: 0 0 32px;
    max-width: 620px;
}

body.welcome-design .welcome-search-box {
    width: 100%;
    max-width: 700px;
    background: var(--w-surface);
    border: 1px solid var(--w-border);
    border-radius: 24px;
    padding: 8px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
    margin-bottom: 24px;
}

body.welcome-design .welcome-search-inner {
    display: flex;
    align-items: center;
    padding: 8px 15px;
    gap: 12px;
}

body.welcome-design .welcome-search-icon {
    color: var(--w-muted);
    font-size: 22px;
}

body.welcome-design .welcome-search-input {
    flex: 1;
    min-width: 0;
    background: transparent;
    border: none;
    outline: none;
    color: var(--w-text) !important;
    font-size: 17px;
    font-family: inherit;
}

body.welcome-design .welcome-search-input::placeholder {
    color: var(--w-muted) !important;
}

body.welcome-design .welcome-filter-tabs {
    display: flex;
    gap: 10px;
    margin-bottom: 16px;
    flex-wrap: wrap;
    justify-content: center;
}

body.welcome-design #community-tabs {
    justify-content: flex-start;
}

body.welcome-design .welcome-filter-btn {
    padding: 10px 22px;
    border-radius: 20px;
    border: 1px solid var(--w-border);
    background: var(--w-surface);
    color: var(--w-muted);
    cursor: pointer;
    font-weight: 600;
    font-size: 13px;
    font-family: inherit;
    transition: border-color 0.2s, color 0.2s, background 0.2s;
}

body.welcome-design .welcome-filter-btn:hover {
    color: var(--w-primary);
    border-color: var(--w-primary);
    background: rgba(16, 185, 129, 0.05);
}

body.welcome-design .welcome-filter-btn.active {
    border-color: var(--w-primary);
    color: var(--w-primary);
    background: rgba(16, 185, 129, 0.1);
}

/* Removal category (Copyright / Impersonation) under hero search — Registration.txt filter-tabs */
body.welcome-design .welcome-private-hero-card .welcome-removal-filter-tabs {
    margin-top: 16px;
    margin-bottom: 8px;
}

body.welcome-design .welcome-hero-section .welcome-removal-filter-tabs {
    margin-top: 4px;
}

body.welcome-design .welcome-hero-section .welcome-btn-remove {
    padding: 12px 25px;
    border-radius: var(--radius-btn);
    white-space: nowrap;
}

body.welcome-design .welcome-hero-section .welcome-submit-label {
    color: var(--w-muted) !important;
    font-size: 14px;
    margin: 0;
}

body.welcome-design .welcome-table-panel {
    padding: 0;
    overflow: hidden;
}

body.welcome-design .welcome-activity-table {
    width: 100%;
    border-collapse: collapse;
}

body.welcome-design .welcome-activity-table th {
    text-align: left;
    padding: 15px 20px;
    color: var(--w-muted);
    font-size: 11px;
    border-bottom: 1px solid var(--w-border);
    text-transform: uppercase;
    font-weight: 800;
}

body.welcome-design .welcome-activity-table td {
    padding: 18px 20px;
    border-bottom: 1px solid var(--w-border);
    font-size: 14px;
    vertical-align: middle;
    color: var(--w-text);
}

body.welcome-design .welcome-link-muted {
    color: var(--w-muted);
}

body.welcome-design .welcome-status-badge {
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

body.welcome-design .welcome-status-active {
    background: rgba(16, 185, 129, 0.1);
    color: var(--w-primary);
}

body.welcome-design .welcome-status-pending {
    background: rgba(244, 63, 94, 0.1);
    color: var(--w-danger);
}

body.welcome-design .welcome-status-delisted {
    background: rgba(100, 116, 139, 0.12);
    color: #64748b;
}

body.welcome-design .welcome-status-monitoring {
    background: rgba(59, 130, 246, 0.1);
    color: #3b82f6;
}

body.welcome-design .welcome-faq-list {
    display: grid;
    gap: 10px;
}

body.welcome-design .welcome-faq-item {
    width: 100%;
    border: 1px solid var(--w-border);
    background: var(--w-surface);
    color: var(--w-text);
    border-radius: 16px;
    padding: 16px 18px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-weight: 700;
    text-align: left;
}

body.welcome-design .welcome-faq-answer {
    margin: -2px 0 4px;
    padding: 0 18px 14px;
    color: var(--w-muted);
    line-height: 1.6;
    font-size: 14px;
}

body.welcome-design .welcome-community-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

body.welcome-design .welcome-community-meta {
    font-size: 11px;
    color: var(--w-muted);
}

body.welcome-design .welcome-community-title {
    margin: 0;
    font-size: 20px;
    color: var(--w-text);
}

body.welcome-design .welcome-community-excerpt {
    margin: 0;
    color: var(--w-muted);
    line-height: 1.5;
}

body.welcome-design .welcome-private-hero-card {
    text-align: center;
    padding: 60px 20px;
    background: linear-gradient(180deg, rgba(16,185,129,0.05) 0%, transparent 100%);
    border: none;
    border-radius: 24px;
    margin-bottom: 26px;
}

body.welcome-design .welcome-private-hero-title {
    font-size: 48px;
    letter-spacing: -2px;
    margin: 0 0 10px;
    color: var(--w-text);
}

body.welcome-design .welcome-private-hero-subtitle {
    color: var(--w-muted);
    font-size: 16px;
    margin: 0 0 24px;
}

body.welcome-design .welcome-private-search-box {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    background: var(--w-surface);
    border: 1px solid var(--w-border);
    border-radius: 20px;
    padding: 8px;
    display: flex;
    align-items: center;
    gap: 15px;
}

body.welcome-design .welcome-private-search-icon {
    margin-left: 15px;
    color: var(--w-muted);
}

body.welcome-design .welcome-project-name {
    font-weight: 700;
}

body.welcome-design .welcome-project-id {
    font-size: 11px;
    color: var(--w-muted);
}

body.welcome-design .welcome-project-links-count {
    color: var(--w-primary);
}

@media (max-width: 768px) {
    body.welcome-design .welcome-aside {
        display: none;
    }
    body.welcome-design section#content.welcome-home-layout,
    body.welcome-design .welcome-home-layout {
        flex-direction: column !important;
    }
    body.welcome-design .welcome-aside {
        width: 100%;
        height: auto;
        position: relative;
        left: auto;
        top: auto;
        flex-direction: row;
        flex-wrap: wrap;
        padding: 12px;
        gap: 8px;
    }
    body.welcome-design .welcome-main {
        margin-left: 0;
        width: 100%;
    }
    body.welcome-design .welcome-aside-logo {
        padding: 12px 16px;
        font-size: 20px;
    }
    body.welcome-design .welcome-aside-nav {
        display: flex;
        flex: none;
        padding: 0;
        gap: 4px;
    }
    body.welcome-design .welcome-hero-title {
        font-size: 32px;
    }
    body.welcome-design .welcome-hero-subtitle {
        font-size: 15px;
        margin-bottom: 20px;
    }
    body.welcome-design .welcome-search-inner {
        flex-wrap: wrap;
    }
    body.welcome-design .welcome-search-input {
        min-width: 100%;
        order: 1;
    }
    body.welcome-design .welcome-content-container {
        padding: 20px 16px 70px;
    }
    body.welcome-design .welcome-activity-table {
        display: block;
        overflow-x: auto;
    }
}

/* --- Legacy main content (hero) for non-home pages --- */
body.welcome-design .welcome-page {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 24px;
}

body.welcome-design .welcome-hero-card {
    background: var(--w-glass);
    backdrop-filter: blur(12px);
    border: 1px solid var(--w-border);
    border-radius: 20px;
    padding: 60px 40px;
    max-width: 720px;
    width: 100%;
    text-align: center;
    background-image: linear-gradient(180deg, rgba(16, 185, 129, 0.06) 0%, transparent 100%);
}

body.welcome-design .welcome-hero-card h1 {
    font-size: 42px;
    font-weight: 800;
    margin: 0 0 12px;
    letter-spacing: -1.5px;
    color: var(--w-text);
}

body.welcome-design .welcome-hero-card .welcome-hint {
    color: var(--w-muted);
    font-size: 18px;
    margin: 0 0 32px;
}

body.welcome-design .welcome-input-group {
    display: flex;
    gap: 12px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

body.welcome-design .welcome-input-hero {
    flex: 1;
    min-width: 200px;
    background: var(--w-bg);
    border: 1px solid var(--w-border);
    padding: 16px 20px;
    border-radius: 16px;
    color: var(--w-text);
    font-size: 16px;
    outline: none;
    font-family: inherit;
    transition: border-color 0.2s, box-shadow 0.2s;
}

body.welcome-design .welcome-input-hero::placeholder {
    color: var(--w-muted);
}

body.welcome-design .welcome-input-hero:focus {
    border-color: var(--w-primary);
    box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.15);
}

body.welcome-design .welcome-btn-remove {
    padding: 16px 32px;
    border-radius: var(--radius-btn);
    border: none;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    font-size: 16px;
    background: var(--w-primary);
    color: white;
    white-space: nowrap;
    transition: background 0.2s;
}

body.welcome-design .welcome-btn-remove:hover {
    background: var(--w-primary-hover);
}

body.welcome-design .welcome-submit-label {
    color: var(--w-muted);
    font-size: 14px;
    margin: 0;
}

/* --- Page content (terms, success, etc.) --- */
body.welcome-design .welcome-page-content.welcome-hero-card {
    text-align: left;
}

body.welcome-design .welcome-page-body {
    color: var(--w-text);
    font-size: 16px;
    line-height: 1.6;
    max-width: 720px;
    margin: 0 auto;
}

body.welcome-design .welcome-page-body p {
    margin-bottom: 1em;
}

body.welcome-design .welcome-page-body a {
    color: var(--w-primary);
}

body.welcome-design .welcome-page-body.removee-legal-page-body h2,
body.welcome-design .welcome-page-body.removee-legal-page-body h3 {
    color: var(--w-text);
    margin-top: 1.25em;
    margin-bottom: 0.5em;
    font-weight: 700;
}

/* --- Registration page (ai_created_design/Registration.txt) --- */
body.welcome-design .content-registration {
    background: var(--w-bg) !important;
    padding: 24px 20px 80px;
    width: 100%;
    max-width: 100%;
}

body.welcome-design .content-registration .welcome-registration-shell {
    max-width: 750px;
    margin: 0 auto;
    width: 100%;
}

body.welcome-design .content-registration .welcome-registration-card {
    background: var(--w-surface) !important;
    border: 1px solid var(--w-border);
    border-radius: 24px;
    padding: 25px;
    margin-bottom: 0;
}

body.welcome-design .content-registration .registration-hero {
    text-align: center;
    margin-bottom: 40px;
}

body.welcome-design .content-registration .registration-step-badge {
    display: block;
    color: var(--w-primary);
    font-weight: 800;
    font-size: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 8px;
}

body.welcome-design .content-registration .registration-hero-title {
    font-size: 36px;
    font-weight: 800;
    letter-spacing: -1px;
    margin: 10px 0;
    color: var(--w-text) !important;
}

body.welcome-design .content-registration .registration-hero-subtitle {
    color: var(--w-muted);
    font-size: 15px;
    margin: 0;
    line-height: 1.5;
}

body.welcome-design .content-registration .container-registration {
    max-width: 100%;
    margin: 0;
    padding: 0;
}

body.welcome-design .content-registration .bg-white,
body.welcome-design .content-registration .accordion-container {
    background: var(--w-surface) !important;
    border: 1px solid var(--w-border);
    border-radius: 16px;
    color: var(--w-text);
}

body.welcome-design .content-registration .accordion-header {
    background: var(--w-surface) !important;
    border-color: var(--w-border) !important;
    color: var(--w-text) !important;
}

body.welcome-design .content-registration .accordion-header-content {
    background: transparent !important;
    border-color: var(--w-border) !important;
    color: var(--w-text) !important;
}

body.welcome-design .content-registration .accordion-header-content .icon-pen {
    color: var(--w-text) !important;
    fill: var(--w-text) !important;
}

body.welcome-design .content-registration .accordion-body,
body.welcome-design .content-registration .accordion-body-content {
    background: transparent !important;
    color: var(--w-text);
}

body.welcome-design .content-registration .accordion-item,
body.welcome-design .content-registration .accordion-button {
    background: transparent !important;
    color: var(--w-text) !important;
    border-color: var(--w-border) !important;
}

body.welcome-design .content-registration .accordion-button:not(.collapsed) {
    background: transparent !important;
    color: var(--w-text) !important;
    box-shadow: none;
}

body.welcome-design .content-registration .accordion-button::after {
    filter: invert(1);
    opacity: 0.7;
}

body.welcome-design .content-registration .form-control,
body.welcome-design .content-registration input,
body.welcome-design .content-registration select,
body.welcome-design .content-registration textarea {
    background: var(--w-bg) !important;
    border: 1px solid var(--w-border);
    color: var(--w-text) !important;
    border-radius: 12px;
    padding: 15px;
}

body.welcome-design .content-registration .form-control:focus,
body.welcome-design .content-registration input:focus {
    border-color: var(--w-primary);
    box-shadow: 0 0 0 1px var(--w-primary);
}

body.welcome-design .content-registration label,
body.welcome-design .content-registration .form-label {
    color: var(--w-muted) !important;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 8px;
}

body.welcome-design .content-registration .btn-success,
body.welcome-design .content-registration .button-primary {
    background: var(--w-primary) !important;
    border-color: var(--w-primary) !important;
    color: white !important;
    border-radius: 14px;
    padding: 14px 28px;
    font-weight: 700;
}

body.welcome-design .content-registration .btn-success:hover,
body.welcome-design .content-registration .button-primary:hover {
    background: var(--w-primary-hover) !important;
    border-color: var(--w-primary-hover) !important;
}

body.welcome-design .content-registration .button-secondary,
body.welcome-design .content-registration .btn-outline-success {
    background: var(--w-border) !important;
    border-color: var(--w-border) !important;
    color: var(--w-text) !important;
    border-radius: 14px;
}

body.welcome-design .content-registration .accordion-header-content span {
    color: var(--w-text) !important;
}

body.welcome-design .content-registration .invalid-feedback {
    color: var(--w-danger);
}

body.welcome-design .content-registration .accordion-item {
    background: transparent !important;
    border-color: var(--w-border);
}

body.welcome-design .content-registration .accordion-item-margin {
    background: transparent;
}

/* --- Blog list pagination --- */
body.welcome-design .paging-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    padding: 24px 0 0;
    margin: 0;
    justify-content: center;
}

body.welcome-design .paging-list__item.active .paging-list__link {
    color: var(--w-primary);
    font-weight: 700;
}

body.welcome-design .shares-title,
body.welcome-design .shares-list {
    color: var(--w-muted);
}

body.welcome-design .shares-list a {
    color: var(--w-text);
}

/* --- Cookie alert (welcome design override) --- */
body.welcome-design #cookie-alert .alert {
    background: var(--w-surface) !important;
    border: 1px solid var(--w-border) !important;
    color: var(--w-text) !important;
    border-radius: 16px;
}

body.welcome-design #cookie-alert a {
    color: var(--w-primary);
}

body.welcome-design #cookie-alert .btn-primary {
    background: var(--w-primary);
    border-color: var(--w-primary);
}

body.welcome-design #cookie-alert .cookie-refuse {
    background: var(--w-border);
    border-color: var(--w-border);
    color: var(--w-text);
}

/* --- Modals (welcome design override) --- */
/* Override index.css: remove white ::before so modal uses theme background */
body.welcome-design .modal .modal-dialog .modal-content::before {
    background: var(--w-surface) !important;
    opacity: 1 !important;
}

body.welcome-design .modal-content {
    background: var(--w-surface) !important;
    border: 1px solid var(--w-border) !important;
    border-radius: 20px;
    color: var(--w-text) !important;
}

body.welcome-design .modal-site-illegal .modal-content,
body.welcome-design .modal-site-legal .modal-content {
    background: var(--w-surface) !important;
    border-color: var(--w-border) !important;
    color: var(--w-text) !important;
}

/* Modal illegal/legal: beat index.css dark text (rgba(21,21,30)) with !important */
body.welcome-design .container-fluid-modal-illegal,
body.welcome-design .container-fluid-modal-legal {
    background: var(--w-surface) !important;
    color: var(--w-text) !important;
}

body.welcome-design .modal-site-illegal .modal-body,
body.welcome-design .modal-site-legal .modal-body {
    color: var(--w-text) !important;
}

body.welcome-design .modal-site-illegal .modal-body .site-status-group p,
body.welcome-design .modal-site-illegal .modal-body .site-removal-time-group p,
body.welcome-design .modal-site-illegal .modal-body .site-status,
body.welcome-design .modal-site-illegal .modal-body .site-removal-time,
body.welcome-design .modal-site-illegal .site-status,
body.welcome-design .modal-site-illegal .site-removal-time,
body.welcome-design .modal-site-legal .modal-title,
body.welcome-design .modal-site-legal .modal-note {
    color: var(--w-text) !important;
}

body.welcome-design .modal-site-illegal .modal-body .modal-confirmation-message,
body.welcome-design .modal-site-illegal .modal-confirmation-message,
body.welcome-design .modal-site-illegal .modal-agree-policy,
body.welcome-design .modal-site-legal .modal-note {
    color: var(--w-text) !important;
}

body.welcome-design .modal-site-illegal .modal-agree-policy a,
body.welcome-design .modal-site-legal .modal-body a {
    color: var(--w-primary) !important;
}

/* index.css sets .modal-site-illegal .modal-footer .modal-agree-policy { color: rgba(21,21,30,0.5) } */
body.welcome-design .modal-site-illegal .modal-footer .modal-agree-policy {
    color: var(--w-muted) !important;
}

body.welcome-design .modal-site-illegal .modal-footer .modal-agree-policy a {
    color: var(--w-primary) !important;
}

/* Tooltip: index.css uses #FFFFFF background and dark text */
body.welcome-design .modal-site-illegal .site-removal-time-tooltip,
body.welcome-design .site-removal-time-tooltip {
    color: var(--w-text) !important;
    background: var(--w-surface) !important;
    border: 1px solid var(--w-border) !important;
}

body.welcome-design .modal-site-illegal .modal-footer,
body.welcome-design .modal-site-legal .modal-footer {
    border-top-color: var(--w-border) !important;
    background: transparent !important;
}

body.welcome-design .modal-site-illegal #icon-alert,
body.welcome-design .modal-site-illegal #icon-alert path {
    fill: var(--w-muted);
}

body.welcome-design .modal .btn-success,
body.welcome-design .modal .button-primary {
    background: var(--w-primary);
    border-color: var(--w-primary);
    color: #fff;
}

body.welcome-design .modal .btn-success:hover,
body.welcome-design .modal .button-primary:hover {
    background: var(--w-primary-hover);
    color: #fff;
}

body.welcome-design .modal .text-green,
body.welcome-design .modal-site-illegal .text-green {
    color: var(--w-primary) !important;
}

body.welcome-design .modal .btn-outline-success.button-secondary,
body.welcome-design .modal .button-skip {
    border-color: var(--w-border);
    color: var(--w-text);
    background: transparent;
}

body.welcome-design .modal .button-skip .btn-bg,
body.welcome-design .modal .button-skip .btn-bg span {
    color: var(--w-text);
}

/* --- Auth modal (monolith style, keeping current captcha flow) --- */
body.welcome-design #modal_auth .modal-dialog,
body.welcome-design #forgotpassword_modal .modal-dialog {
    max-width: 480px;
}

body.welcome-design #modal_auth .modal-content,
body.welcome-design #forgotpassword_modal .modal-content {
    background: var(--w-surface) !important;
    border: 1px solid var(--w-border) !important;
    border-radius: 32px !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.45);
    position: relative;
    overflow: hidden;
}

body.welcome-design .welcome-auth-close {
    position: absolute;
    top: 22px;
    right: 22px;
    color: var(--w-muted);
    cursor: pointer;
    background: transparent;
    border: none;
    z-index: 2;
}

body.welcome-design .welcome-auth-close:hover {
    color: var(--w-primary);
}

body.welcome-design #modal_auth .modal-body,
body.welcome-design #forgotpassword_modal .modal-body {
    padding: 36px 36px 30px !important;
    background: transparent !important;
}

body.welcome-design .welcome-auth-brand {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--w-primary);
    font-weight: 800;
    font-size: 24px;
    margin: 0 auto 24px;
}

body.welcome-design .welcome-auth-title {
    margin: 0 0 8px;
    text-align: center;
    color: var(--w-text);
    font-size: 30px;
    font-weight: 800;
    letter-spacing: -0.8px;
}

body.welcome-design .welcome-auth-subtitle {
    margin: 0 0 24px;
    text-align: center;
    color: var(--w-muted);
    font-size: 14px;
}

body.welcome-design #modal_auth .form-label,
body.welcome-design #forgotpassword_modal .form-label {
    display: block !important;
    margin: 0 0 8px !important;
    color: var(--w-muted) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

body.welcome-design #modal_auth .group-email,
body.welcome-design #modal_auth .group-password,
body.welcome-design #forgotpassword_modal .group-email {
    margin-bottom: 16px !important;
}

body.welcome-design #modal_auth input.form-control,
body.welcome-design #forgotpassword_modal input.form-control {
    width: 100%;
    background: var(--w-bg) !important;
    border: 1px solid var(--w-border) !important;
    color: var(--w-text) !important;
    border-radius: 16px !important;
    padding: 14px 16px !important;
    font-size: 15px !important;
    min-height: 50px;
}

body.welcome-design #modal_auth input.form-control::placeholder,
body.welcome-design #forgotpassword_modal input.form-control::placeholder {
    color: var(--w-muted) !important;
}

body.welcome-design #modal_auth .input-group__pass .icon-eye {
    position: absolute;
    right: 14px;
    top: 43px;
    width: 20px;
    height: 20px;
    color: var(--w-muted);
    fill: var(--w-muted);
    cursor: pointer;
    z-index: 3;
}

body.welcome-design #modal_auth .check-remember {
    margin: 4px 0 16px;
    color: var(--w-muted);
    font-size: 13px;
}

body.welcome-design #modal_auth .check-remember .form-check-input {
    margin-right: 8px;
    accent-color: var(--w-primary);
}

body.welcome-design #modal_auth .button-sign,
body.welcome-design #forgotpassword_modal .button-sign {
    background: var(--w-primary) !important;
    border: none !important;
    border-radius: 14px !important;
    min-height: 48px;
    font-weight: 700;
    color: #fff !important;
    margin-top: 4px;
}

body.welcome-design #modal_auth .button-sign:hover,
body.welcome-design #forgotpassword_modal .button-sign:hover {
    background: var(--w-primary-hover) !important;
}

body.welcome-design #modal_auth .group-forgot,
body.welcome-design #forgotpassword_modal .group-forgot {
    margin: 16px 0 0;
    text-align: center;
}

body.welcome-design #modal_auth .group-forgot a,
body.welcome-design #forgotpassword_modal .group-forgot a {
    color: var(--w-primary) !important;
    font-weight: 700;
    text-decoration: none;
}

body.welcome-design #modal_auth .group-forgot a:hover,
body.welcome-design #forgotpassword_modal .group-forgot a:hover {
    opacity: 0.85;
}

body.welcome-design #modal_auth .welcome-auth-signup {
    margin-top: 16px;
    text-align: center;
    color: var(--w-muted);
    font-size: 14px;
}

body.welcome-design #modal_auth .welcome-auth-signup a {
    color: var(--w-primary) !important;
    font-weight: 700;
    text-decoration: none;
}

body.welcome-design #modal_auth .welcome-auth-signup a:hover {
    opacity: 0.85;
}

/* Stronger monolith-like blur behind auth modals */
body.welcome-design .modal-backdrop.show {
    opacity: 0.86 !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    background-color: rgba(0, 0, 0, 0.78);
}

/* Legacy Bootstrap modals — hidden until .show (critical copy in welcome_critical_css partial) */
body.welcome-design .modal {
    display: none;
}

body.welcome-design .modal.show {
    display: block;
}

body.welcome-design #error_modal {
    display: none;
}

body.welcome-design #modal_loading {
    position: fixed;
    inset: 0;
    z-index: 12000;
    background: var(--w-bg);
    display: none;
    align-items: center;
    justify-content: center;
    opacity: 1;
    transition: opacity 0.4s ease;
}

body.welcome-design #modal_loading.show {
    display: flex !important;
}

body.welcome-design.loaded #modal_loading {
    opacity: 0;
    pointer-events: none;
}

body.welcome-design #modal_loading .modal-dialog {
    margin: 0;
    max-width: none;
    width: 100vw;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

body.welcome-design #modal_loading .modal-content {
    background: transparent;
    border: 0;
    box-shadow: none;
    width: auto;
    padding: 0;
}

body.welcome-design #modal_loading .removee-preloader-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

/* Dark theme popup readability fixes — signature pad only (needs white for ink) */
body.welcome-design .signature-canvas-wrap {
    background: #FFFFFF !important;
}
[data-theme="dark"] .signature-canvas-wrap {
    background: #FFFFFF !important;
    color: #0F172A !important;
}
[data-theme="dark"] .pub-sig-canvas-wrap {
    background: #FFFFFF !important;
}

.removee-global-preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bg, var(--w-bg, #0B0F1A));
    transition: opacity 0.3s ease;
}
.removee-global-preloader.hidden {
    opacity: 0;
    pointer-events: none;
}

body.welcome-design #modal_loading .removee-preloader-label {
    margin-top: 16px;
    font-size: 14px;
    font-weight: 600;
    color: var(--w-primary);
    letter-spacing: 0.3px;
    opacity: 0.9;
    animation: welcome-preloader-pulse 1.5s ease-in-out infinite;
}

body.welcome-design #modal_loading .preloader-text {
    margin-top: 16px;
    font-size: 14px;
    font-weight: 600;
    color: var(--w-primary);
    letter-spacing: 0.3px;
}

@keyframes welcome-preloader-pulse {
    0%, 100% { opacity: 0.55; }
    50% { opacity: 1; }
}

/* --- Footer (legacy markup not used on welcome design; sidebar has legal links) --- */
body.welcome-design #footer,
body.welcome-design #footer.footer-main {
    display: none !important;
}

body.welcome-design #footer a {
    color: var(--w-muted);
}

body.welcome-design #footer a:hover {
    color: var(--w-primary);
}

/* --- Wrapper for non-hero content (cookie, modals) --- */
body.welcome-design .d-flex.flex-column.w-100 {
    min-height: 0;
    height: 100%;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden;
}

/*
 * Select2: when dropdownParent is document.body and body has display:flex,
 * the injected .select2-container becomes a flex child and shifts the layout.
 * Force it out of the flex flow so it doesn't affect siblings.
 */
body.welcome-design > .select2-container {
    position: absolute !important;
    z-index: 9999 !important;
}

/* Country Select2 should match full width of other form inputs */
body.welcome-design .monolith-auth-grid-2 .select2-container,
body.welcome-design .monolith-auth-field .select2-container,
body.welcome-design .pub-wizard-field .select2-container {
    width: 100% !important;
    display: block;
}

/* Match Select2 country field height with wizard inputs */
body.welcome-design .pub-wizard-field .select2-container--default .select2-selection--single {
    min-height: 50px;
    border: 1px solid var(--w-border);
    border-radius: 12px;
    background: var(--w-bg);
    padding: 10px 40px 10px 16px;
    display: flex;
    align-items: center;
}

body.welcome-design .pub-wizard-field .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--w-text);
    line-height: 1.4;
    padding-left: 0;
    padding-right: 0;
}

body.welcome-design .pub-wizard-field .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100%;
    right: 10px;
}

/* Match registration modal country select height with monolith inputs */
body.welcome-design .monolith-auth-grid-2 .select2-container--default .select2-selection--single,
body.welcome-design .monolith-auth-field .select2-container--default .select2-selection--single {
    min-height: 50px;
    border: 1px solid var(--w-border);
    border-radius: 16px;
    background: var(--w-bg);
    padding: 12px 38px 12px 16px;
    display: flex;
    align-items: center;
    transition: none !important;
}

body.welcome-design .monolith-auth-grid-2 .select2-container--default .select2-selection--single .select2-selection__rendered,
body.welcome-design .monolith-auth-field .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--w-text);
    line-height: 1.4;
    padding-left: 0;
    padding-right: 0;
}

body.welcome-design .monolith-auth-grid-2 .select2-container--default .select2-selection--single .select2-selection__arrow,
body.welcome-design .monolith-auth-field .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100%;
    right: 10px;
}

/* Match Login Outfit on Select2 (country + dropdown; often ignores inherit) */
body.welcome-design .select2-container,
body.welcome-design .select2-container *,
body.welcome-design .select2-dropdown,
body.welcome-design .select2-dropdown * {
    font-family: 'Outfit', sans-serif !important;
}

/*
 * Select2: open dropdown (appended near body) — default library styles are white;
 * use theme variables so dark mode search + list stay readable.
 */
body.welcome-design .select2-dropdown {
    background: var(--w-surface) !important;
    border: 1px solid var(--w-border) !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35) !important;
    overflow: hidden;
}

body.welcome-design .select2-container--default .select2-search--dropdown .select2-search__field {
    background: var(--w-bg) !important;
    color: var(--w-text) !important;
    border: 1px solid var(--w-border) !important;
    border-radius: 10px !important;
    margin: 8px !important;
    width: calc(100% - 16px) !important;
    padding: 10px 12px !important;
    outline: none !important;
    box-sizing: border-box !important;
}

body.welcome-design .select2-container--default .select2-search--dropdown .select2-search__field::placeholder {
    color: var(--w-muted) !important;
}

body.welcome-design .select2-results__options {
    background: var(--w-surface) !important;
}

body.welcome-design .select2-results__option {
    color: var(--w-text) !important;
    background: transparent !important;
}

body.welcome-design .select2-results__option--highlighted[aria-selected],
body.welcome-design .select2-results__option--highlighted {
    background: var(--w-primary) !important;
    color: #fff !important;
}

body.welcome-design .select2-results__option[aria-selected="true"] {
    background: rgba(16, 185, 129, 0.18) !important;
    color: var(--w-text) !important;
}

body.welcome-design .select2-container--default .select2-results > .select2-results__options {
    max-height: 280px;
}

/* ============================================================
   MONOLITH AUTH OVERLAY (replaces Bootstrap modal for auth)
   ============================================================ */
body.welcome-design .monolith-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.85);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    z-index: 2000;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

body.welcome-design .monolith-overlay.open {
    display: flex;
}

body.welcome-design .monolith-modal {
    background: var(--w-surface);
    width: 100%;
    max-width: 520px;
    padding: 40px;
    border-radius: 32px;
    border: 1px solid var(--w-border);
    text-align: center;
    position: relative;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    animation: fadeIn 0.3s ease;
}

body.welcome-design #authModal .monolith-modal {
    overflow-y: visible;
    max-height: none;
    min-height: 420px;
}

body.welcome-design .monolith-auth-error--success {
    color: var(--w-primary) !important;
    background: rgba(16, 185, 129, 0.1);
    border: 1px solid rgba(16, 185, 129, 0.25);
}

body.welcome-design #authModal.auth-modal--tall {
    align-items: center;
    justify-content: center;
}

body.welcome-design #authModal.auth-modal--tall .monolith-modal {
    max-height: min(92vh, 720px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

body.welcome-design .monolith-modal-close {
    position: absolute;
    top: 22px;
    right: 22px;
    color: var(--w-muted);
    cursor: pointer;
    background: transparent;
    border: none;
    font-size: 24px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    font-family: inherit;
}

body.welcome-design .monolith-modal-close:hover {
    color: var(--w-primary);
}

body.welcome-design .monolith-auth-brand {
    justify-content: center;
    letter-spacing: -1px;
    margin: 0 auto 24px;
    min-height: var(--removee-logo-h, 42px);
}

body.welcome-design .monolith-auth-brand .removee-brand-logo {
    pointer-events: auto;
}

body.welcome-design .monolith-auth-view {
    display: none;
    animation: fadeIn 0.3s ease;
}

body.welcome-design .monolith-auth-view.active {
    display: block;
}

body.welcome-design .monolith-auth-title {
    margin: 0 0 8px;
    font-size: 26px;
    font-weight: 800;
    color: var(--w-text);
}

body.welcome-design .monolith-auth-subtitle {
    color: var(--w-muted);
    font-size: 15px;
    margin: 0 0 16px;
}

body.welcome-design .monolith-auth-error {
    min-height: 40px;
    height: 40px;
    margin-bottom: 8px;
    font-size: 13px;
    color: #e53935;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

body.welcome-design .monolith-auth-error:empty {
    min-height: 0;
    height: 0;
    margin-bottom: 0;
}

body.welcome-design #loginView .monolith-btn-google {
    margin-top: 0;
}

body.welcome-design .monolith-input-label {
    display: block;
    font-size: 11px;
    font-weight: 800;
    color: var(--w-muted);
    text-transform: uppercase;
    margin-bottom: 8px;
    letter-spacing: 0.5px;
    text-align: left;
}

body.welcome-design .monolith-input {
    background: var(--w-bg);
    border: 1px solid var(--w-border);
    padding: 14px 16px;
    border-radius: 16px;
    width: 100%;
    color: var(--w-text);
    font-size: 15px;
    outline: none;
    font-family: 'Outfit', sans-serif;
    margin-bottom: 18px;
    transition: border-color 0.2s, box-shadow 0.2s;
}

body.welcome-design .monolith-input:focus {
    border-color: var(--w-primary);
    box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.1);
}

body.welcome-design #authModal select.monolith-input {
    transition: none;
}

body.welcome-design #authModal select.select2-hidden-accessible {
    margin-bottom: 0 !important;
}

body.welcome-design #authModal .select2-container {
    margin-bottom: 18px;
}

body.welcome-design #authModal .select2-container .select2-selection {
    transition: none !important;
}

body.welcome-design .select2-container .select2-selection {
    transition: none !important;
}

body.welcome-design .monolith-input.is-invalid {
    border-color: var(--w-danger, #F43F5E);
    box-shadow: 0 0 0 3px rgba(244, 63, 94, 0.12);
}

body.welcome-design .monolith-input::placeholder,
body.welcome-design .monolith-input::-webkit-input-placeholder,
body.welcome-design .monolith-input::-moz-placeholder,
body.welcome-design .monolith-input:-ms-input-placeholder {
    font-family: 'Outfit', sans-serif;
    color: var(--w-muted);
    opacity: 1;
}

body.welcome-design .monolith-btn-google {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    margin-top: 14px;
    padding: 13px 18px;
    border: 2px solid #dadce0;
    border-radius: 12px;
    background: #ffffff;
    color: #3c4043;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
    box-shadow: none;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
body.welcome-design .monolith-btn-google .monolith-google-g-icon {
    flex-shrink: 0;
}
body.welcome-design .monolith-btn-google:hover {
    background: #f8f9fa;
    border-color: #d2d3d4;
    box-shadow: 0 2px 6px rgba(60, 64, 67, 0.35), 0 6px 16px 4px rgba(60, 64, 67, 0.2) !important;
}
body.welcome-design .monolith-btn-google:active {
    background: #f1f3f4;
}
html[data-theme="dark"] body.welcome-design .monolith-btn-google {
    background: #131314;
    color: #e8eaed;
    border-color: #8e918f;
    box-shadow: none;
}
html[data-theme="dark"] body.welcome-design .monolith-btn-google:hover {
    background: #1e1f20;
    border-color: #bdc1c6;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.5), 0 6px 16px 4px rgba(0, 0, 0, 0.3) !important;
}

body.welcome-design .monolith-auth-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 18px 0 6px;
    color: var(--w-muted);
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

body.welcome-design .monolith-auth-divider::before,
body.welcome-design .monolith-auth-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--w-border);
}

body.welcome-design .monolith-btn-primary {
    background: var(--w-primary);
    color: white;
    border: none;
    padding: 14px 28px;
    border-radius: var(--radius-btn);
    font-weight: 700;
    cursor: pointer;
    width: 100%;
    font-family: inherit;
    font-size: 15px;
    box-shadow: 0 10px 20px rgba(16, 185, 129, 0.2);
    transition: background 0.2s;
}

body.welcome-design .monolith-btn-primary:hover {
    background: var(--w-primary-hover);
}

body.welcome-design .monolith-btn-secondary {
    background: transparent;
    color: var(--w-muted);
    border: none;
    padding: 12px;
    border-radius: 12px;
    font-weight: 600;
    cursor: pointer;
    width: 100%;
    font-family: inherit;
    font-size: 14px;
    margin-top: 8px;
}

body.welcome-design .monolith-auth-link {
    color: var(--w-primary);
    text-decoration: none;
    font-weight: 700;
    cursor: pointer;
    background: none;
    border: none;
    font-family: inherit;
    font-size: inherit;
    padding: 0;
}

body.welcome-design .monolith-auth-link:hover {
    opacity: 0.8;
}

body.welcome-design .monolith-auth-footer {
    margin-top: 22px;
    font-size: 14px;
    color: var(--w-muted);
}

body.welcome-design .monolith-forgot-link {
    text-align: right;
    margin: -10px 0 20px;
}

body.welcome-design .monolith-forgot-link button {
    font-size: 13px;
}

body.welcome-design .monolith-back-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 20px;
}

/* Sign up modal — verification step (Registration.txt) */
body.welcome-design .monolith-auth-step-badge {
    display: block;
    color: var(--w-primary);
    font-weight: 800;
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin: 0 0 10px;
}

body.welcome-design .monolith-auth-register-step {
    text-align: left;
}

body.welcome-design .monolith-auth-register-step .monolith-auth-step-badge,
body.welcome-design .monolith-auth-register-step .monolith-auth-title {
    text-align: center;
}

body.welcome-design .monolith-auth-register-step .monolith-auth-title {
    margin-bottom: 18px;
}

body.welcome-design .monolith-auth-grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 14px;
}

body.welcome-design .monolith-auth-field {
    margin-bottom: 0;
}

body.welcome-design #registerFullShell #reg-vat-field .pub-vat-hints {
    min-height: 0;
    margin-top: 0;
}

body.welcome-design #registerFullShell #reg-vat-field .pub-vat-hints .monolith-auth-hint {
    margin: 0;
}

body.welcome-design #registerFullShell #reg-vat-field .pub-vat-hints .monolith-auth-hint:not([hidden]):not([style*="display: none"]):not([style*="display:none"]) {
    margin-top: 6px;
}

@media (max-width: 520px) {
    body.welcome-design .monolith-auth-grid-2 {
        grid-template-columns: 1fr;
    }
}

body.welcome-design .monolith-auth-email-row {
    display: flex;
    gap: 10px;
    align-items: stretch;
    margin-bottom: 4px;
}

body.welcome-design .monolith-auth-email-row .monolith-input {
    flex: 1;
    margin-bottom: 0;
    min-width: 0;
}

body.welcome-design .monolith-auth-email-row .monolith-btn-verify {
    width: auto;
    flex: 0 0 auto;
    margin-top: 0;
    padding: 14px 20px;
    white-space: nowrap;
    background: var(--w-border);
    color: var(--w-text);
    border: 1px solid var(--w-border);
    border-radius: 16px;
    font-weight: 700;
}

body.welcome-design .monolith-auth-email-verify {
    display: grid;
    grid-template-columns: 1fr 120px;
    gap: 10px;
    align-items: stretch;
    margin-bottom: 4px;
}

body.welcome-design .monolith-auth-email-verify .monolith-auth-email-row {
    display: contents;
}

body.welcome-design .monolith-auth-email-verify .monolith-btn-verify {
    display: inline-flex;
    align-items: center;
    width: 100%;
    justify-content: center;
    flex: unset;
}

body.welcome-design .monolith-auth-email-verify .monolith-input {
    flex: unset;
    width: 100%;
    min-width: 0;
}

body.welcome-design .monolith-auth-actions-row {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 12px;
    margin-top: 12px;
}

body.welcome-design .monolith-auth-actions-row .monolith-btn-secondary {
    width: 100%;
    margin-top: 0;
    background: var(--w-border);
    color: var(--w-text);
    border: 1px solid var(--w-border);
    border-radius: 16px;
    padding: 14px 16px;
}

body.welcome-design .reg-plan-options {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

body.welcome-design .reg-plan-option {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border: 1px solid var(--w-border);
    border-radius: 12px;
    background: var(--w-bg);
    cursor: pointer;
    color: var(--w-text);
    font-size: 14px;
}

body.welcome-design .reg-plan-option input[type="radio"] {
    accent-color: var(--w-primary);
}

body.welcome-design .reg-plan-option.active {
    border-color: var(--w-primary);
    background: rgba(16, 185, 129, 0.08);
}

body.welcome-design .reg-billing-grid {
    margin-top: 8px;
}

body.welcome-design .reg-plan-card {
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}

body.welcome-design .reg-plan-card .ppc-desc {
    min-height: 40px;
}

body.welcome-design .reg-plan-card.active {
    border-color: var(--w-primary);
    box-shadow: 0 0 0 1px var(--w-primary), 0 10px 28px rgba(16,185,129,0.16);
}

body.welcome-design .monolith-auth-hint {
    font-size: 13px;
    color: var(--w-primary);
    margin: 0 0 14px;
    text-align: left;
}

@media (max-width: 480px) {
    body.welcome-design .monolith-auth-actions-row {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   VERIFY / ANALYSIS MODAL  (public welcome page)
   ============================================================ */
body.welcome-design #verifyModal {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    z-index: 2000;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

body.welcome-design #verifyModal.open {
    display: flex;
}

body.welcome-design .verify-modal-card {
    background: var(--w-surface);
    width: 100%;
    max-width: 460px;
    padding: 40px;
    border-radius: 32px;
    border: 1px solid var(--w-border);
    text-align: center;
    box-shadow: 0 32px 80px rgba(0,0,0,0.5);
    animation: verifyModalIn 0.3s cubic-bezier(0.34,1.56,0.64,1);
}

@keyframes verifyModalIn {
    from { opacity: 0; transform: scale(0.92) translateY(16px); }
    to   { opacity: 1; transform: scale(1) translateY(0); }
}

body.welcome-design .verify-modal-icon-wrap {
    width: 72px;
    height: 72px;
    background: rgba(16, 185, 129, 0.12);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 22px;
    border: 1px solid rgba(16,185,129,0.25);
}

body.welcome-design .verify-modal-icon-wrap .material-icons-round {
    color: var(--w-primary);
    font-size: 36px;
}

body.welcome-design .verify-modal-title {
    margin: 0 0 4px;
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -0.5px;
    color: var(--w-text);
}

body.welcome-design .verify-modal-details {
    background: var(--w-bg);
    border-radius: 20px;
    padding: 20px 22px;
    margin: 22px 0;
    text-align: left;
    border: 1px solid var(--w-border);
}

body.welcome-design .verify-modal-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
}

body.welcome-design .verify-modal-row:first-child {
    padding-top: 0;
}

body.welcome-design .verify-modal-row:last-child {
    padding-bottom: 0;
}

body.welcome-design .verify-modal-label {
    color: var(--w-muted);
    font-size: 13px;
}

body.welcome-design .verify-modal-value {
    font-weight: 700;
    font-size: 14px;
    color: var(--w-text);
}

body.welcome-design .verify-modal-value--green {
    color: var(--w-primary);
}

body.welcome-design .verify-modal-price {
    font-size: 22px;
    font-weight: 800;
    color: var(--w-primary);
}

body.welcome-design .verify-modal-btn-primary {
    width: 100%;
    padding: 16px;
    background: var(--w-primary);
    color: #fff;
    border: none;
    border-radius: 16px;
    font-size: 15px;
    font-weight: 700;
    font-family: 'Outfit', sans-serif;
    cursor: pointer;
    box-shadow: 0 8px 24px rgba(16,185,129,0.3);
    transition: background 0.15s;
    margin-bottom: 10px;
}

body.welcome-design .verify-modal-btn-primary:hover {
    background: var(--w-primary-hover);
}

body.welcome-design .verify-modal-btn-cancel {
    background: transparent;
    border: none;
    color: var(--w-muted);
    font-size: 14px;
    font-family: 'Outfit', sans-serif;
    cursor: pointer;
    padding: 8px;
    width: 100%;
    transition: color 0.15s;
}

body.welcome-design .verify-modal-btn-cancel:hover {
    color: var(--w-text);
}

/* Blocked / legal URL — same shell as #verifyModal */
body.welcome-design #verifyBlockedModal {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    z-index: 2100;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

body.welcome-design #verifyBlockedModal.open {
    display: flex;
}

body.welcome-design .verify-modal-icon-wrap--blocked {
    background: rgba(245, 158, 11, 0.12);
    border-color: rgba(245, 158, 11, 0.35);
}

body.welcome-design .verify-modal-icon-wrap--blocked .material-icons-round {
    color: #f59e0b;
}

/* ============================================================
   COOKIE POPUP (bottom-right, monolith style)
   ============================================================ */
body.welcome-design #cookieBanner {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 360px;
    background: var(--w-surface);
    border: 1px solid var(--w-border);
    padding: 25px;
    border-radius: 24px;
    z-index: 3000;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35);
    display: none;
    transform: translateY(100px);
    opacity: 0;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

body.welcome-design #cookieBanner.show {
    display: block;
    transform: translateY(0);
    opacity: 1;
}

body.welcome-design #cookieBanner h4 {
    margin: 0 0 10px;
    font-size: 16px;
    font-weight: 700;
    color: var(--w-text);
}

body.welcome-design #cookieBanner p {
    font-size: 13px;
    color: var(--w-muted);
    margin: 0 0 18px;
    line-height: 1.5;
}

body.welcome-design #cookieBanner .cookie-banner-btns {
    display: flex;
    gap: 10px;
}

body.welcome-design #cookieBanner .cookie-btn-accept {
    flex: 1;
    padding: 10px;
    background: var(--w-primary);
    color: white;
    border: none;
    border-radius: 12px;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
    font-size: 14px;
    transition: background 0.2s;
}

body.welcome-design #cookieBanner .cookie-btn-accept:hover {
    background: var(--w-primary-hover);
}

body.welcome-design #cookieBanner .cookie-btn-essential {
    padding: 10px 16px;
    background: var(--w-border);
    color: var(--w-text);
    border: none;
    border-radius: 12px;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    font-size: 14px;
    transition: background 0.2s;
}

body.welcome-design #cookieBanner .cookie-btn-essential:hover {
    background: var(--w-primary);
    color: white;
}

/* Hide old cookie alert on welcome page */
body.welcome-design #cookie-alert {
    display: none !important;
}

/* ============================================================
   PUBLIC SECTION FOCUS NAVIGATION
   Each section is hidden; only the active one shows full-height
   ============================================================ */
body.welcome-design .public-section {
    display: none;
}

body.welcome-design.welcome-page-animating .public-section.public-section-active {
    animation: welcomePageIn 0.35s ease;
}

body.welcome-design .public-section.public-section-active {
    display: block;
}

/* Hero section fills viewport height when active */
body.welcome-design #section-home.public-section-active .welcome-hero-section {
    min-height: calc(100vh - 80px); /* subtract topbar */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

/* Non-hero sections fill available space with some padding */
body.welcome-design .public-section-full {
    min-height: calc(100vh - 140px);
    padding-top: 40px;
}

/* Nav buttons (public sidebar + mobile drawer) match nav-item style */
body.welcome-design .welcome-aside-nav button.welcome-aside-nav-item,
body.welcome-design .welcome-mobile-drawer-nav button.welcome-aside-nav-item {
    border: none;
    background: transparent;
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    text-align: left;
    cursor: pointer;
    font-family: 'Outfit', sans-serif;
    font-size: 15px;
    color: var(--w-muted);
}

body.welcome-design .welcome-aside-nav button.welcome-aside-nav-item:hover,
body.welcome-design .welcome-mobile-drawer-nav button.welcome-aside-nav-item:hover {
    background: rgba(16, 185, 129, 0.05);
    color: var(--w-primary);
}

body.welcome-design .welcome-aside-nav button.welcome-aside-nav-item.active,
body.welcome-design .welcome-mobile-drawer-nav button.welcome-aside-nav-item.active {
    background: var(--w-primary);
    color: white;
}

/* Community read more link */
body.welcome-design .pub-thread-read-more {
    display: inline-block;
    margin-top: 10px;
    font-size: 13px;
    font-weight: 600;
    color: var(--w-primary);
    text-decoration: none;
}
body.welcome-design .pub-thread-read-more:hover {
    text-decoration: underline;
}

/* ============================================================
   PUBLIC PAGE SYSTEM (scroll + community + pricing)
   ============================================================ */

/* Base: all pub-pages hidden */
body.welcome-design .pub-page {
    display: none;
}
body.welcome-design .pub-page.pub-page-active {
    display: block;
}

body.welcome-design.welcome-page-animating .pub-page.pub-page-active {
    animation: welcomePageIn 0.3s ease;
}

@keyframes welcomePageIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ---- SCROLL PAGES (Home / Activity / FAQ / Community) ---- */
body.welcome-design #page-scroll {
    position: relative;
    overflow: hidden;
}

/* Public scroll mode: flex-fill carousel (no viewport double-count with topbar) */
html:has(body.welcome-design.welcome-scroll-active),
html:has(body.welcome-design #page-scroll.pub-page-active),
body.welcome-design.welcome-scroll-active,
body.welcome-design:has(#page-scroll.pub-page-active) {
    overflow: hidden !important;
    height: 100%;
}

body.welcome-design.welcome-scroll-active .d-flex.flex-column.w-100,
body.welcome-design:has(#page-scroll.pub-page-active) .d-flex.flex-column.w-100 {
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

body.welcome-design.welcome-scroll-active #footer,
body.welcome-design:has(#page-scroll.pub-page-active) #footer {
    display: none !important;
}

body.welcome-design.welcome-scroll-active section#content.welcome-home-layout,
body.welcome-design:has(#page-scroll.pub-page-active) section#content.welcome-home-layout {
    flex: 1 1 0;
    min-height: 0;
    max-height: 100%;
    overflow: hidden;
}

body.welcome-design.welcome-scroll-active .welcome-content-container,
body.welcome-design:has(#page-scroll.pub-page-active) .welcome-content-container {
    max-width: 100%;
    padding: 0;
    flex: 1 1 0;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

body.welcome-design.welcome-scroll-active #dashboard-page,
body.welcome-design:has(#page-scroll.pub-page-active) #dashboard-page {
    flex: 1 1 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

body.welcome-design.welcome-scroll-active .welcome-main,
body.welcome-design:has(#page-scroll.pub-page-active) .welcome-main {
    flex: 1 1 0;
    min-height: 0;
    overflow: hidden;
}

body.welcome-design.welcome-scroll-active #page-scroll.pub-page-active,
body.welcome-design:has(#page-scroll.pub-page-active) #page-scroll.pub-page-active,
body.welcome-design .welcome-content-container.welcome-scroll-page-active #page-scroll.pub-page-active {
    flex: 1 1 0;
    min-height: 0;
    overflow: hidden;
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 48px;
    align-items: stretch;
}

/* Guest wizard after check_url: allow page scroll (not slide-lock) */
body.welcome-design.welcome-wizard-active {
    overflow: auto;
}

body.welcome-design.welcome-wizard-active .welcome-content-container {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

body.welcome-design .scroll-container {
    position: relative;
    /* Four slides stacked; JS translateY moves between them */
    height: 400%;
    max-width: 100%;
    overflow: hidden;
    transition: transform 0.55s cubic-bezier(0.77, 0, 0.175, 1);
    will-change: transform;
}

body.welcome-design #page-scroll .scroll-container {
    grid-column: 1;
    position: absolute;
    top: 0;
    left: 0;
    right: 48px;
    width: auto;
    min-width: 0;
    height: 400%;
    z-index: 1;
}

body.welcome-design .scroll-slide {
    display: flex;
    height: 25%;
    min-height: 0;
    overflow: hidden;
    align-items: flex-start;
    justify-content: center;
    padding: 40px;
    box-sizing: border-box;
}

/* Hero: vertically and horizontally centered in slide viewport */
body.welcome-design #slide-0.scroll-slide {
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
    padding: 32px 24px;
    align-items: center;
    justify-content: center;
}

/* Community slide: sole in-carousel scroll owner when content overflows */
body.welcome-design #slide-3.scroll-slide {
    overflow-y: auto;
    overflow-x: hidden;
    justify-content: center;
    align-items: flex-start;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: contain;
}

body.welcome-design #slide-3 .scroll-slide-inner {
    padding-bottom: 48px;
}

/* FAQ: match Activity log top spacing — no in-slide scroll */
body.welcome-design #slide-2.scroll-slide {
    overflow: hidden;
    align-items: flex-start;
    padding-top: 12px;
    padding-bottom: 24px;
}

body.welcome-design #slide-2 .scroll-slide-inner {
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 0;
}

body.welcome-design #slide-2 .welcome-section-title {
    margin-bottom: 14px;
}

/* Activity log: exactly 10 rows, no in-slide scroll */
body.welcome-design #slide-1.scroll-slide {
    overflow: hidden;
    align-items: flex-start;
    padding-top: 12px;
    padding-bottom: 24px;
}

body.welcome-design #slide-1 .scroll-slide-inner,
body.welcome-design #slide-1.welcome-activity-slide .welcome-activity-slide-inner {
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 0;
    display: flex;
    flex-direction: column;
    max-height: 100%;
}

body.welcome-design #slide-1 .welcome-activity-slide-title {
    flex-shrink: 0;
    margin-bottom: 14px;
}

body.welcome-design #slide-1 .welcome-activity-stream-panel {
    flex: 0 0 auto;
    max-height: none;
    overflow: hidden;
    padding: 0;
}

body.welcome-design #slide-1 .welcome-activity-stream-table {
    table-layout: fixed;
}

body.welcome-design #slide-1 .welcome-activity-stream-table thead th {
    padding: 11px 16px;
    font-size: 10px;
    letter-spacing: 0.04em;
}

body.welcome-design #slide-1 .welcome-activity-stream-table tbody td {
    padding: 0 16px;
    height: 44px;
    max-height: 44px;
    font-size: 13px;
    line-height: 1.35;
    vertical-align: middle;
}

body.welcome-design #slide-1 .welcome-activity-stream-table tbody tr:last-child td {
    border-bottom: none;
}

body.welcome-design #slide-1 .welcome-activity-stream-table td:first-child,
body.welcome-design #slide-1 .welcome-activity-stream-table td:first-child a {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 0;
}

body.welcome-design #slide-1 .welcome-activity-stream-table th:nth-child(1),
body.welcome-design #slide-1 .welcome-activity-stream-table td:nth-child(1) {
    width: 40%;
}

body.welcome-design #slide-1 .welcome-activity-stream-table th:nth-child(2),
body.welcome-design #slide-1 .welcome-activity-stream-table td:nth-child(2) {
    width: 18%;
}

body.welcome-design #slide-1 .welcome-activity-stream-table th:nth-child(3),
body.welcome-design #slide-1 .welcome-activity-stream-table td:nth-child(3) {
    width: 22%;
}

body.welcome-design #slide-1 .welcome-activity-stream-table th:nth-child(4),
body.welcome-design #slide-1 .welcome-activity-stream-table td:nth-child(4) {
    width: 20%;
    white-space: nowrap;
    color: var(--w-muted);
    font-size: 12px;
}

body.welcome-design #slide-1 .welcome-activity-empty {
    text-align: center;
    color: var(--w-muted);
    padding: 28px 16px !important;
    height: auto !important;
}

/* Match community2-style width + tighter top spacing (was large gap under nav/topbar) */
body.welcome-design #slide-3 .scroll-slide-inner {
    max-width: 1300px;
    margin-top: 0;
    padding-top: 4px;
}

/* Community tab (guest scroll): tighten gap below sticky topbar */
body.welcome-design #slide-3.scroll-slide {
    padding-top: 12px;
}
body.welcome-design #slide-3 .pub-community-grid--scroll-slide {
    margin-top: 12px;
}
body.welcome-design #slide-3 .welcome-section-title {
    margin-bottom: 8px;
}

body.welcome-design #slide-3 .welcome-community-search-wrap {
    margin-bottom: 16px;
}

body.welcome-design #slide-3 .welcome-community-search-input {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid var(--w-border);
    border-radius: 12px;
    background: var(--w-surface);
    box-sizing: border-box;
}

/* Hero slide: centered full-height */
body.welcome-design #slide-0 .welcome-hero-section {
    width: 100%;
    max-width: min(960px, 92vw);
    margin: 0 auto;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    flex: 1 0 auto;
}

/* Non-hero slides: content aligned top-center */
body.welcome-design .scroll-slide-inner {
    width: 100%;
    max-width: 900px;
    padding-top: 20px;
    align-self: flex-start;
    margin-top: 40px;
}

/* Scroll dots */
body.welcome-design .scroll-dots {
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: 10px;
    z-index: 10;
}

body.welcome-design #page-scroll .scroll-dots {
    grid-column: 2;
    position: relative;
    z-index: 2;
    right: auto;
    top: auto;
    transform: none;
    align-self: center;
    justify-self: center;
    padding-right: 8px;
    pointer-events: auto;
}

body.welcome-design .scroll-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--w-border);
    cursor: pointer;
    transition: background 0.2s, transform 0.2s;
}

body.welcome-design .scroll-dot.active {
    background: var(--w-primary);
    transform: scale(1.4);
}

/* ---- COMMUNITY PAGE ---- */
body.welcome-design .pub-page-content {
    max-width: 1300px;
    margin: 0 auto;
    padding: 40px 40px 80px;
}

/* ---- COMMUNITY PAGE (from Community.txt) ---- */
body.welcome-design .pub-community-grid {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 30px;
    align-items: start;
}

body.welcome-design .pub-page-main {
    min-width: 0;
}

body.welcome-design .pub-thread-card {
    display: flex;
    gap: 20px;
    padding: 20px;
    margin-bottom: 16px;
    cursor: pointer;
    transition: border-color 0.2s;
    border-radius: 20px;
}

body.welcome-design .pub-thread-card:hover {
    border-color: var(--w-primary);
}

/* Vote box — upvote count downvote */
body.welcome-design .pub-vote-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: var(--w-bg);
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid var(--w-border);
    height: fit-content;
    min-width: 45px;
    gap: 2px;
}

body.welcome-design .pub-vote-up,
body.welcome-design .pub-vote-down {
    font-size: 20px !important;
    cursor: pointer;
    transition: color 0.15s;
}

/* Upvote accent (community2 / member feed) */
body.welcome-design .pub-vote-up {
    color: var(--w-primary);
}
body.welcome-design .pub-vote-down {
    color: var(--w-muted);
}

body.welcome-design .pub-vote-up:hover { color: var(--w-primary); filter: brightness(1.1); }
body.welcome-design .pub-vote-down:hover { color: var(--w-danger, #F43F5E); }
body.welcome-design .pub-vote-up.is-active {
    color: var(--w-primary);
    filter: none;
}
body.welcome-design .pub-vote-down.is-active {
    color: var(--w-danger, #F43F5E);
    filter: none;
}
body.welcome-design .community-comment-action-btn.pub-vote-down.is-active {
    border-color: var(--w-danger, #F43F5E);
    color: var(--w-danger, #F43F5E);
    background: rgba(244, 63, 94, 0.08);
}


body.welcome-design .pub-vote-count {
    font-size: 14px;
    font-weight: 700;
    color: var(--w-text);
    line-height: 1;
}

body.welcome-design .pub-thread-body {
    flex: 1;
    min-width: 0;
}

body.welcome-design .pub-thread-title {
    margin: 6px 0 10px;
    font-size: 18px;
    font-weight: 700;
    color: var(--w-text);
}

body.welcome-design .pub-thread-tag {
    color: var(--w-primary);
    font-weight: 600;
    font-size: 12px;
}

/* Thread action row: comments + share + read more */
body.welcome-design .pub-thread-actions {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-top: 14px;
    flex-wrap: wrap;
}

body.welcome-design .pub-thread-action {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    color: var(--w-muted);
    text-decoration: none;
    cursor: default;
}

body.welcome-design .pub-thread-action .material-icons-round {
    font-size: 16px !important;
}

body.welcome-design .pub-thread-share {
    cursor: pointer;
}

body.welcome-design .pub-thread-share:hover { color: var(--w-primary); }

/* Community sidebar */
body.welcome-design .pub-community-sidebar {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

body.welcome-design .pub-contributors-card {
    padding: 20px;
}

body.welcome-design .pub-sidebar-btn {
    width: 100%;
    padding: 12px;
    font-size: 14px;
    border-radius: 14px;
}

body.welcome-design .pub-sidebar-title {
    margin: 0 0 14px;
    font-size: 14px;
    font-weight: 700;
    color: var(--w-text);
}

body.welcome-design .pub-contributor-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
    padding: 8px 0;
    border-bottom: 1px solid var(--w-border);
    color: var(--w-text);
}

body.welcome-design .pub-contributor-row:last-child {
    border-bottom: none;
}

body.welcome-design .pub-exp-badge {
    background: rgba(16, 185, 129, 0.1);
    color: var(--w-primary);
    font-size: 11px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 20px;
}

/* Mobile-only New Thread CTA (main column); sidebar copy hidden on narrow screens */
body.welcome-design .pub-community-mobile-top {
    display: none;
}

body.welcome-design .pub-new-thread-btn--mobile-top {
    margin-bottom: 0;
}

/* New Thread button */
body.welcome-design .pub-new-thread-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-bottom: 16px;
    padding: 12px;
    border-radius: 14px;
    font-size: 14px;
    font-weight: 700;
}

/* View all link */
body.welcome-design .pub-sidebar-view-all {
    display: block;
    text-align: center;
    color: var(--w-primary);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    margin-top: 12px;
    padding: 10px;
    border: 1px solid var(--w-border);
    border-radius: 12px;
    transition: border-color 0.2s, background 0.2s;
}
body.welcome-design .pub-sidebar-view-all:hover {
    border-color: var(--w-primary);
    background: rgba(16,185,129,0.05);
}

/* Inline thread detail (community2.txt): full width in place of feed, not a modal */
body.welcome-design .welcome-community-root {
    width: 100%;
}
body.welcome-design .welcome-thread-detail {
    width: 100%;
}
body.welcome-design .welcome-thread-detail .community-thread-detail-card {
    padding: 28px 32px;
    border-radius: 20px;
    margin-top: 0;
}
body.welcome-design .welcome-thread-detail .community-post-title {
    font-size: clamp(22px, 2.5vw, 32px);
    letter-spacing: -0.5px;
    line-height: 1.2;
}
body.welcome-design .welcome-thread-detail .community-post-body {
    color: var(--w-text);
    line-height: 1.8;
}

/* Thread detail top row — same flex + vote column as .pub-thread-card */
body.welcome-design .community-thread-detail-row {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}
body.welcome-design .community-thread-detail-main {
    flex: 1;
    min-width: 0;
}
body.welcome-design .community-thread-detail-main .community-post-title {
    margin-top: 0;
}

/* Community overlays (new thread only; post is inline) */
body.welcome-design .community-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.75);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 500;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
body.welcome-design .community-overlay.open {
    display: flex;
}

body.welcome-design .community-modal {
    background: var(--w-surface);
    border: 1px solid var(--w-border);
    border-radius: 24px;
    padding: 36px;
    width: 100%;
    max-width: 560px;
    position: relative;
    max-height: 90vh;
    overflow-y: auto;
}

body.welcome-design .community-new-thread-modal {
    max-width: 600px;
    border-radius: 30px;
}

/* Post detail modal — wider, full-page feel */
body.welcome-design .community-post-modal {
    max-width: 680px;
}

/* Back to feed — community2.txt threadDetail (btn-secondary + inline sizes) */
body.welcome-design .community-thread-back-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 25px;
    padding: 8px 15px;
    border-radius: 12px;
    border: 1px solid var(--w-border);
    background: var(--w-bg);
    color: var(--w-text);
    font-family: 'Outfit', sans-serif;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: border-color 0.2s ease, color 0.2s ease;
}
body.welcome-design .community-thread-back-btn:hover {
    border-color: var(--w-primary);
    color: var(--w-primary);
}
body.welcome-design .community-thread-back-btn__icon {
    font-size: 16px !important;
    line-height: 1;
}

/* Post title & body */
body.welcome-design .community-post-title {
    font-size: clamp(24px, 2.5vw, 32px);
    font-weight: 800;
    color: var(--w-text);
    margin: 0 0 18px;
    line-height: 1.25;
    letter-spacing: -0.5px;
}

body.welcome-design .community-post-body {
    font-size: 15px;
    color: var(--w-text);
    line-height: 1.8;
    margin: 0 0 0;
    max-width: 100%;
    overflow-wrap: break-word;
}
/* Match legacy /blog .article image rules for migrated posts */
body.welcome-design .community-post-body p img.community-post-image--ready,
body.welcome-design .community-post-body > img.community-post-image--ready,
body.welcome-design .community-post-body a img.community-post-image--ready,
body.welcome-design .community-post-body img.community-post-image--ready {
    max-width: 100%;
    height: auto !important;
}
body.welcome-design .community-post-body a {
    color: var(--w-primary);
    text-decoration: underline;
}
body.welcome-design .community-post-body p,
body.welcome-design .community-post-body ul,
body.welcome-design .community-post-body ol,
body.welcome-design .community-post-body blockquote {
    margin: 0 0 14px;
}
body.welcome-design .community-post-body h2,
body.welcome-design .community-post-body h3,
body.welcome-design .community-post-body h4 {
    font-weight: 700;
    color: var(--w-text);
    margin: 1.25em 0 0.5em;
    line-height: 1.3;
}
body.welcome-design .community-post-body h2 { font-size: 1.35rem; }
body.welcome-design .community-post-body h3 { font-size: 1.15rem; }
body.welcome-design .community-post-body h4 { font-size: 1.05rem; }
body.welcome-design .community-post-body ul,
body.welcome-design .community-post-body ol {
    padding-left: 1.4em;
    list-style-position: outside;
}
body.welcome-design .community-post-body ul { list-style-type: disc; }
body.welcome-design .community-post-body ol { list-style-type: decimal; }
body.welcome-design .community-post-body li {
    margin: 0 0 8px;
}
body.welcome-design .community-post-body li > p {
    margin: 0;
}
/* Legacy blog image blocks (.article uses text-align:center on <p>) */
body.welcome-design .community-post-body p.community-p-center {
  text-align: center;
}
body.welcome-design .community-post-body p.community-p-right {
  text-align: right;
}
body.welcome-design .community-post-body p.community-p-center img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
    height: auto !important;
}
body.welcome-design .community-post-body p.community-p-center a {
    text-decoration: none;
}

body.welcome-design .community-post-hr {
    border: 0;
    border-top: 1px solid var(--w-border);
    margin: 28px 0;
}

/* Discussion header */
body.welcome-design .community-discussion-header {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    font-weight: 700;
    color: var(--w-text);
    margin-bottom: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--w-border);
}
body.welcome-design .community-discussion-header .material-icons-round {
    font-size: 20px !important;
    color: var(--w-primary);
}

/* Comment box */
body.welcome-design .community-comment-box {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Dummy discussions list inside modal */
body.welcome-design .community-comments-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 14px 0 18px;
}

body.welcome-design .community-comment-item {
    border: 1px solid var(--w-border);
    background: rgba(255,255,255,0.02);
    border-radius: 16px;
    padding: 12px 14px;
}

body.welcome-design .community-comment-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    font-size: 12px;
    color: var(--w-muted);
    margin-bottom: 8px;
}

body.welcome-design .community-comment-author {
    font-weight: 800;
    color: var(--w-text);
}

body.welcome-design .community-comment-text {
    font-size: 14px;
    color: var(--w-text);
    line-height: 1.6;
    margin-bottom: 10px;
}

/* Existing replies nested under a discussion */
body.welcome-design .community-comment-replies-section {
    margin: 4px 0 12px;
}
body.welcome-design .community-comment-replies-toggle {
    display: inline-flex;
    align-items: center;
    padding: 0;
    border: none;
    background: none;
    color: var(--w-primary);
    font-family: 'Outfit', sans-serif;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    text-align: left;
    transition: opacity 0.15s;
}
body.welcome-design .community-comment-replies-toggle:hover {
    opacity: 0.85;
    text-decoration: underline;
}
body.welcome-design .community-comment-replies-list {
    margin-top: 10px;
    padding-left: 12px;
    border-left: 2px solid var(--w-border);
    display: flex;
    flex-direction: column;
    gap: 10px;
}
body.welcome-design .community-comment-reply-item {
    padding: 8px 0 0;
}
body.welcome-design .community-comment-reply-meta {
    font-size: 11px;
    font-weight: 700;
    color: var(--w-muted);
    margin: 0 0 4px;
}
body.welcome-design .community-comment-reply-text {
    font-size: 13px;
    color: var(--w-text);
    line-height: 1.5;
    margin: 0;
}

/* Per-discussion: like / dislike, emoji reactions, reply */
body.welcome-design .community-comment-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    margin-top: 2px;
    padding-top: 10px;
    border-top: 1px solid var(--w-border);
}
body.welcome-design .community-comment-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 10px;
    border-radius: 10px;
    border: 1px solid var(--w-border);
    background: var(--w-bg);
    color: var(--w-muted);
    font-family: 'Outfit', sans-serif;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s, background 0.15s;
}
body.welcome-design .community-comment-action-btn .material-icons-round {
    font-size: 16px !important;
}
body.welcome-design .community-comment-action-btn:hover {
    border-color: var(--w-primary);
    color: var(--w-text);
}
body.welcome-design .community-comment-action-btn.is-active {
    border-color: var(--w-primary);
    color: var(--w-primary);
    background: rgba(16, 185, 129, 0.08);
}
body.welcome-design .community-comment-emojis {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}
body.welcome-design .community-comment-emoji {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    border-radius: 999px;
    border: 1px solid var(--w-border);
    background: var(--w-surface);
    font-size: 13px;
    font-family: inherit;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
}
body.welcome-design .community-comment-emoji:hover {
    border-color: var(--w-primary);
}
body.welcome-design .community-comment-emoji.is-active {
    border-color: var(--w-primary);
    background: rgba(16, 185, 129, 0.1);
}
body.welcome-design .community-comment-emoji-char {
    line-height: 1;
}
body.welcome-design .community-comment-emoji-count {
    font-size: 11px;
    font-weight: 700;
    color: var(--w-muted);
    min-width: 1ch;
}
body.welcome-design .community-comment-emoji.is-active .community-comment-emoji-count {
    color: var(--w-primary);
}
body.welcome-design .community-comment-reply-toggle {
    margin-left: auto;
    padding: 6px 12px;
    border: none;
    border-radius: 10px;
    background: transparent;
    color: var(--w-primary);
    font-family: 'Outfit', sans-serif;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.15s;
}
body.welcome-design .community-comment-reply-toggle:hover {
    background: rgba(16, 185, 129, 0.08);
}
body.welcome-design .community-comment-reply-wrap {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--w-border);
}
body.welcome-design .community-comment-reply-input {
    width: 100%;
    min-height: 72px;
    resize: vertical;
    padding: 12px 14px;
    border-radius: 12px;
    border: 1px solid var(--w-border);
    background: var(--w-bg);
    color: var(--w-text);
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    outline: none;
}
body.welcome-design .community-comment-reply-input:focus {
    border-color: var(--w-primary);
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.12);
}
body.welcome-design .community-comment-reply-send {
    align-self: flex-end;
    padding: 8px 16px;
    font-size: 13px;
}

body.welcome-design .community-comment-more {
    font-size: 12px;
    color: var(--w-primary);
    font-weight: 800;
    padding-top: 2px;
}

body.welcome-design .community-post-comment-btn {
    padding: 10px 24px;
    font-size: 14px;
    border-radius: 12px;
}

body.welcome-design .community-post-actions-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 4px;
}

body.welcome-design .community-share-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-right: auto;
    background: var(--w-bg);
    border: 1px solid var(--w-border);
    color: var(--w-text);
    padding: 10px 18px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    font-family: 'Outfit', sans-serif;
    transition: border-color 0.15s, color 0.15s;
}

body.welcome-design .community-share-btn:hover {
    border-color: var(--w-primary);
    color: var(--w-primary);
}

body.welcome-design .community-share-btn .material-icons-round {
    font-size: 18px !important;
}

body.welcome-design .community-share-toast {
    position: fixed;
    left: 50%;
    bottom: 32px;
    transform: translateX(-50%) translateY(120%);
    opacity: 0;
    pointer-events: none;
    z-index: 6000;
    max-width: min(90vw, 360px);
    text-align: center;
    background: var(--w-surface);
    border: 1px solid var(--w-border);
    color: var(--w-text);
    padding: 12px 20px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 600;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.28);
    transition: opacity 0.25s ease, transform 0.25s ease;
}

body.welcome-design .community-share-toast-visible {
    transform: translateX(-50%) translateY(0);
    opacity: 1;
}

/* New thread modal heading */
body.welcome-design .community-modal-title {
    font-size: 22px;
    font-weight: 800;
    color: var(--w-text);
    margin: 0 0 20px;
    line-height: 1.3;
}

/* New thread modal actions row */
body.welcome-design .community-modal-actions {
    display: flex;
    gap: 12px;
    margin-top: 20px;
    justify-content: flex-end;
}

body.welcome-design .community-cancel-btn {
    background: var(--w-bg);
    border: 1px solid var(--w-border);
    color: var(--w-text);
    padding: 12px 24px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    font-family: 'Outfit', sans-serif;
    transition: border-color 0.15s, color 0.15s;
}
body.welcome-design .community-cancel-btn:hover {
    border-color: var(--w-primary);
    color: var(--w-primary);
}

body.welcome-design .community-publish-btn {
    padding: 12px 28px;
    font-size: 14px;
    border-radius: 12px;
}

/* New thread form */
body.welcome-design .community-form-label {
    display: block;
    font-size: 11px;
    font-weight: 800;
    color: var(--w-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}

body.welcome-design .community-form-input {
    width: 100%;
    background: var(--w-bg);
    border: 1px solid var(--w-border);
    border-radius: 12px;
    padding: 14px 18px;
    color: var(--w-text);
    font-family: 'Outfit', sans-serif;
    font-size: 15px;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
}
body.welcome-design .community-form-input:focus {
    border-color: var(--w-primary);
    box-shadow: 0 0 0 3px rgba(16,185,129,0.12);
}

body.welcome-design .community-form-textarea {
    min-height: 140px;
    resize: vertical;
}

/* ---- PRICING PAGE ---- */
body.welcome-design .pub-pricing-header {
    text-align: center;
    margin-bottom: 40px;
}

body.welcome-design .pub-pricing-title {
    font-size: 36px;
    font-weight: 800;
    letter-spacing: -1px;
    margin: 0 0 10px;
    color: var(--w-text);
}

body.welcome-design .pub-pricing-head-sub {
    font-size: 15px;
    color: var(--w-muted);
    margin: 0 0 20px;
}

/* --- Card grid --- */
body.welcome-design .ppc-grid {
    display: grid;
    gap: 22px;
}

body.welcome-design .ppc-grid--3col { grid-template-columns: repeat(3, 1fr); }
body.welcome-design .ppc-grid--2col { grid-template-columns: repeat(2, 1fr); }

/* --- Base card --- */
body.welcome-design .ppc-card {
    position: relative;
    background: var(--w-surface);
    border: 1px solid var(--w-border);
    border-radius: 20px;
    padding: 28px 26px 24px;
    display: flex;
    flex-direction: column;
    transition: border-color 0.2s, box-shadow 0.2s;
}

body.welcome-design .ppc-card:hover {
    border-color: var(--w-primary);
    box-shadow: 0 0 0 2px rgba(16,185,129,0.15);
}

body.welcome-design .ppc-card--popular {
    border-color: var(--w-primary);
    box-shadow: 0 0 0 1px var(--w-primary), 0 12px 32px rgba(16,185,129,0.15);
}

body.welcome-design .ppc-card--accent {
    border-color: rgba(16,185,129,0.5);
    box-shadow: 0 0 0 1px rgba(16,185,129,0.3), 0 12px 32px rgba(16,185,129,0.1);
}

body.welcome-design .ppc-card--dark {
    background: linear-gradient(145deg, #0f1623 0%, #161b26 100%);
    border-color: var(--w-primary);
}

body.welcome-design .ppc-card--dark .ppc-name,
body.welcome-design .ppc-card--dark .ppc-price,
body.welcome-design .ppc-card--dark .ppc-price-unit,
body.welcome-design .ppc-card--dark .ppc-desc {
    color: #F8FAFC;
}

body.welcome-design .ppc-card--dark .ppc-price-unit {
    color: rgba(248,250,252,0.6);
}

body.welcome-design .ppc-popular-ribbon {
    position: absolute;
    top: -1px;
    right: 22px;
    background: var(--w-primary);
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 4px 12px;
    border-radius: 0 0 10px 10px;
}

body.welcome-design .ppc-badge {
    display: inline-block;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: 20px;
    padding: 3px 10px;
    margin-bottom: 12px;
}

body.welcome-design .ppc-badge--free          { background: rgba(148,163,184,0.15); color: var(--w-muted); }
body.welcome-design .ppc-badge--copyright     { background: rgba(16,185,129,0.15);  color: var(--w-primary); }
body.welcome-design .ppc-badge--impersonation { background: rgba(16,185,129,0.15);  color: var(--w-primary); }
body.welcome-design .ppc-badge--enterprise    { background: rgba(16,185,129,0.2);   color: var(--w-primary); }

body.welcome-design .ppc-top { margin-bottom: 20px; }

body.welcome-design .ppc-name {
    font-size: 22px;
    font-weight: 800;
    color: var(--w-text);
    margin: 0 0 10px;
    letter-spacing: -0.5px;
}

body.welcome-design .ppc-price-row {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-bottom: 10px;
}

body.welcome-design .ppc-price {
    font-size: 48px;
    font-weight: 800;
    letter-spacing: -2px;
    color: var(--w-text);
    line-height: 1;
}

body.welcome-design .ppc-price-unit {
    font-size: 14px;
    color: var(--w-muted);
    font-weight: 500;
}

body.welcome-design .ppc-desc {
    font-size: 13px;
    color: var(--w-muted);
    margin: 0;
    line-height: 1.6;
}

body.welcome-design .ppc-features {
    list-style: none;
    padding: 0;
    margin: 0 0 20px;
    flex: 1;
    border-top: 1px solid var(--w-border);
    padding-top: 18px;
}

body.welcome-design .ppc-features li {
    display: flex;
    align-items: baseline;
    gap: 8px;
    font-size: 13px;
    color: var(--w-muted);
    padding: 6px 0;
    border-bottom: 1px solid rgba(255,255,255,0.04);
}

body.welcome-design .ppc-features--dark li {
    border-bottom-color: rgba(255,255,255,0.06);
    color: rgba(248,250,252,0.75);
}

body.welcome-design .ppc-check {
    flex-shrink: 0;
    font-size: 12px;
    font-weight: 800;
    color: var(--w-primary);
    width: 16px;
}

body.welcome-design .ppc-check--save { color: var(--w-primary); }

body.welcome-design .ppc-save {
    font-style: normal;
    font-size: 11px;
    font-weight: 700;
    color: var(--w-primary);
    background: rgba(16,185,129,0.12);
    border-radius: 6px;
    padding: 1px 6px;
    margin-left: 4px;
    white-space: nowrap;
}

body.welcome-design .ppc-select-wrap { margin-bottom: 14px; }

body.welcome-design .ppc-select {
    width: 100%;
    background: var(--w-bg);
    border: 1px solid var(--w-border);
    border-radius: 12px;
    padding: 12px 14px;
    color: var(--w-text);
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    outline: none;
    cursor: pointer;
    transition: border-color 0.2s;
}

body.welcome-design .ppc-select:focus { border-color: var(--w-primary); }

body.welcome-design .ppc-btn {
    width: 100%;
    padding: 14px;
    border-radius: 14px;
    font-size: 14px;
    font-weight: 700;
    font-family: 'Outfit', sans-serif;
    cursor: pointer;
    border: none;
    transition: box-shadow 0.15s, background 0.15s;
    margin-top: auto;
}

body.welcome-design .ppc-btn--primary {
    background: var(--w-primary);
    color: #fff;
    box-shadow: 0 8px 20px rgba(16,185,129,0.25);
}

body.welcome-design .ppc-btn--primary:hover {
    background: var(--w-primary-hover);
    box-shadow: 0 12px 28px rgba(16,185,129,0.35);
}

body.welcome-design .ppc-btn--outline {
    background: transparent;
    border: 1px solid var(--w-border);
    color: var(--w-text);
}

body.welcome-design .ppc-btn--outline:hover {
    border-color: var(--w-primary);
    color: var(--w-primary);
}

body.welcome-design .ppc-btn--white {
    background: #fff;
    color: var(--w-primary);
}

body.welcome-design .ppc-btn--white:hover {
    background: #f0fdf4;
}

body.welcome-design .ppc-note {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 28px;
    padding: 16px 20px;
    background: rgba(148,163,184,0.07);
    border: 1px solid var(--w-border);
    border-radius: 14px;
    font-size: 13px;
    color: var(--w-muted);
    line-height: 1.7;
}

body.welcome-design .ppc-note-icon {
    font-size: 18px;
    color: var(--w-primary);
    flex-shrink: 0;
    margin-top: 2px;
}

/* Responsive */
@media (max-width: 1024px) {
    body.welcome-design .welcome-aside {
        display: none;
    }
    body.welcome-design .welcome-main {
        margin-left: 0;
        width: 100%;
    }
    body.welcome-design section#content.welcome-home-layout,
    body.welcome-design .welcome-home-layout {
        flex-direction: column !important;
    }
    body.welcome-design .welcome-main-topbar {
        justify-content: flex-start;
        padding: 12px 14px;
        gap: 8px;
    }
    body.welcome-design .welcome-mobile-menu-btn {
        display: inline-flex;
        flex: 0 0 42px;
    }
    body.welcome-design .welcome-mobile-drawer {
        display: flex;
    }
    body.welcome-design .welcome-main-topbar .welcome-lang-select,
    body.welcome-design .welcome-main-topbar .select2-container {
        min-width: 0;
        width: calc(50% - 29px) !important;
    }
    body.welcome-design .welcome-main-topbar .welcome-btn-login {
        margin-left: 0;
        flex: 1 1 auto;
        min-width: 0;
        max-width: 100%;
    }
    body.welcome-design .scroll-slide {
        padding: 24px 16px;
    }
}

@media (max-width: 768px) {
    body.welcome-design .welcome-main {
        margin-left: 0;
        width: 100%;
    }
    body.welcome-design .welcome-content-container {
        padding: 16px 12px 56px;
        box-sizing: border-box;
    }
    body.welcome-design .scroll-slide-inner {
        max-width: 100%;
        margin-top: 0;
        padding-top: 0;
    }
    body.welcome-design .welcome-hero-title {
        font-size: clamp(28px, 8vw, 34px);
        line-height: 1.15;
        margin-bottom: 12px;
    }
    body.welcome-design .welcome-hero-subtitle {
        font-size: 14px;
        max-width: 100%;
        margin-bottom: 18px;
    }
    body.welcome-design .welcome-search-box {
        max-width: 100%;
        width: 100%;
        border-radius: 20px;
        margin-bottom: 14px;
    }
    body.welcome-design .welcome-search-inner {
        flex-wrap: wrap;
        padding: 6px 8px;
        gap: 8px;
    }
    body.welcome-design .welcome-search-icon {
        display: none;
    }
    body.welcome-design .welcome-search-input {
        width: 100%;
        min-width: 0;
        order: 1;
    }
    body.welcome-design .welcome-btn-remove {
        order: 2;
        width: 100%;
    }
    body.welcome-design .welcome-removal-filter-tabs {
        width: 100%;
        flex-direction: column;
        gap: 8px;
        margin-top: 10px;
    }
    body.welcome-design .welcome-removal-filter-tabs .welcome-filter-btn {
        width: 100%;
    }
    body.welcome-design .pub-community-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }
    body.welcome-design .pub-community-mobile-top {
        display: block;
        margin-bottom: 12px;
    }
    body.welcome-design .pub-community-sidebar {
        display: none;
    }
    body.welcome-design #slide-3 .welcome-section-title {
        margin-bottom: 10px;
    }
    body.welcome-design #slide-3 .welcome-filter-tabs,
    body.welcome-design #page-community .welcome-filter-tabs {
        margin-bottom: 12px;
        justify-content: flex-start;
    }
    body.welcome-design #slide-3 .pub-thread-card,
    body.welcome-design #page-community .pub-thread-card {
        padding: 16px;
        margin-bottom: 12px;
        gap: 12px;
    }
    body.welcome-design #slide-3 .scroll-slide-inner {
        align-self: flex-start;
        margin-top: 0;
        padding-top: 4px;
        padding-bottom: 24px;
    }
    body.welcome-design #slide-1 .scroll-slide-inner,
    body.welcome-design #slide-1 .welcome-activity-slide-inner,
    body.welcome-design #slide-2 .scroll-slide-inner {
        align-self: flex-start;
        padding-top: 4px;
    }
    body.welcome-design .ppc-grid--3col { grid-template-columns: 1fr; }
    body.welcome-design .ppc-grid--2col { grid-template-columns: 1fr; }
    body.welcome-design .scroll-slide { padding: 20px 12px; }
    body.welcome-design #page-scroll .scroll-container {
        right: 0;
        left: 0;
    }
    body.welcome-design:has(#page-scroll.pub-page-active) #page-scroll.pub-page-active,
    body.welcome-design.welcome-scroll-active #page-scroll.pub-page-active,
    body.welcome-design .welcome-content-container.welcome-scroll-page-active #page-scroll.pub-page-active {
        grid-template-columns: 1fr;
    }
    body.welcome-design .scroll-slide-inner {
        align-self: center;
    }
    body.welcome-design #slide-0.scroll-slide {
        align-items: center;
    }
    body.welcome-design .scroll-dots { right: 10px; }
    body.welcome-design .scroll-dots { display: none; }
    body.welcome-design .welcome-main-topbar {
        flex-wrap: wrap;
    }
    body.welcome-design .welcome-main-topbar .welcome-lang-select,
    body.welcome-design .welcome-main-topbar .select2-container {
        width: calc(50% - 29px) !important;
    }
    body.welcome-design .welcome-main-topbar .welcome-theme-btn {
        width: 44px;
        flex: 0 0 44px;
    }
    body.welcome-design .welcome-main-topbar .welcome-btn-login { min-width: 0; }
    body.welcome-design #slide-1 .welcome-activity-stream-table thead th {
        padding: 9px 12px;
        font-size: 9px;
    }
    body.welcome-design #slide-1 .welcome-activity-stream-table tbody td {
        padding: 0 12px;
        height: 40px;
        max-height: 40px;
        font-size: 12px;
    }
    body.welcome-design #slide-1 .welcome-activity-stream-table th:nth-child(1),
    body.welcome-design #slide-1 .welcome-activity-stream-table td:nth-child(1) { width: 42%; }
    body.welcome-design #slide-1 .welcome-activity-stream-table th:nth-child(2),
    body.welcome-design #slide-1 .welcome-activity-stream-table td:nth-child(2) { width: 17%; }
    body.welcome-design #slide-1 .welcome-activity-stream-table th:nth-child(3),
    body.welcome-design #slide-1 .welcome-activity-stream-table td:nth-child(3) { width: 21%; }
    body.welcome-design #slide-1 .welcome-activity-stream-table th:nth-child(4),
    body.welcome-design #slide-1 .welcome-activity-stream-table td:nth-child(4) {
        width: 20%;
        font-size: 11px;
    }
    body.welcome-design #cookieBanner {
        left: 12px;
        right: 12px;
        bottom: 12px;
        width: auto;
        max-width: none;
        padding: 16px;
        border-radius: 16px;
    }
    body.welcome-design #cookieBanner .cookie-banner-btns {
        flex-direction: column;
    }
    body.welcome-design #cookieBanner .cookie-btn-essential,
    body.welcome-design #cookieBanner .cookie-btn-accept {
        width: 100%;
    }
    body.welcome-design #verifyModal,
    body.welcome-design .pub-sig-overlay {
        padding: 10px;
        align-items: flex-end;
    }
    body.welcome-design #authModal {
        padding: 16px;
        align-items: center;
    }
    body.welcome-design #authModal.auth-modal--tall {
        padding: 10px;
        align-items: center;
    }
    body.welcome-design #authModal .monolith-modal {
        max-width: 100%;
        border-radius: 18px;
        padding: 18px 14px;
    }
    body.welcome-design #authModal.auth-modal--tall .monolith-modal {
        max-height: calc((var(--welcome-vh, 1vh) * 100) - 20px);
        overflow-y: auto;
    }
    body.welcome-design .verify-modal-card,
    body.welcome-design .community-modal,
    body.welcome-design .pub-sig-card {
        max-width: 100%;
        border-radius: 18px;
        padding: 18px 14px;
        max-height: calc((var(--welcome-vh, 1vh) * 100) - 20px);
        overflow-y: auto;
    }
    body.welcome-design .community-modal-actions {
        flex-direction: column-reverse;
    }
    body.welcome-design .community-modal-actions .community-cancel-btn,
    body.welcome-design .community-modal-actions .community-publish-btn {
        width: 100%;
    }
    body.welcome-design .verify-modal-row {
        gap: 10px;
    }
}

@media (max-width: 480px) {
    body.welcome-design .welcome-main-topbar {
        flex-wrap: nowrap;
        gap: 8px;
        align-items: center;
    }
    body.welcome-design .welcome-main-topbar .welcome-lang-select,
    body.welcome-design .welcome-main-topbar .select2-container {
        min-width: 120px !important;
        width: auto !important;
        flex: 1 1 auto;
    }
    body.welcome-design .welcome-mobile-menu-btn {
        flex: 0 0 40px;
        width: 40px;
        height: 40px;
    }
    body.welcome-design .welcome-main-topbar .welcome-theme-btn {
        width: 40px;
        flex: 0 0 40px;
        height: 40px;
    }
    body.welcome-design .welcome-main-topbar .welcome-btn-login {
        width: auto;
        flex: 0 1 auto;
        min-width: 112px;
        padding: 10px 12px;
    }
    body.welcome-design #slide-1 .welcome-activity-stream-table th:nth-child(2),
    body.welcome-design #slide-1 .welcome-activity-stream-table td:nth-child(2) {
        display: none;
    }
    body.welcome-design #slide-1 .welcome-activity-stream-table th:nth-child(1),
    body.welcome-design #slide-1 .welcome-activity-stream-table td:nth-child(1) { width: 52%; }
    body.welcome-design #slide-1 .welcome-activity-stream-table th:nth-child(3),
    body.welcome-design #slide-1 .welcome-activity-stream-table td:nth-child(3) { width: 24%; }
    body.welcome-design #slide-1 .welcome-activity-stream-table th:nth-child(4),
    body.welcome-design #slide-1 .welcome-activity-stream-table td:nth-child(4) { width: 24%; }
}

/* Full-bleed only while the home scroll carousel is active (keeps 1000px column for dashboard/pricing/community) */
body.welcome-design .welcome-content-container:has(#page-scroll.pub-page-active),
body.welcome-design .welcome-content-container.welcome-scroll-page-active {
    padding: 0;
    max-width: 100%;
    margin: 0;
}

/* Restore padding for community/pricing pages */
body.welcome-design #page-community.pub-page-active ~ *,
body.welcome-design #page-pricing.pub-page-active ~ * {
    padding: 0;
}


/* ============================================================
   INLINE WIZARD (Project Setup → Verification → Choose Plan)
   ============================================================ */
body.welcome-design #wizard-page {
    padding: 40px 20px 80px;
    max-width: min(960px, 100%);
    margin: 0 auto;
    width: 100%;
    box-sizing: border-box;
}

body.welcome-design .pub-wizard-wrap {
    width: 100%;
}

/* Step indicator */
body.welcome-design .pub-wizard-steps {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin-bottom: 40px;
}

body.welcome-design .pub-wizard-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    opacity: 0.4;
    transition: opacity 0.2s;
}

body.welcome-design .pub-wizard-step.active,
body.welcome-design .pub-wizard-step.done {
    opacity: 1;
}

body.welcome-design .pub-wizard-step-dot {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--w-border);
    color: var(--w-muted);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 14px;
    transition: background 0.2s, color 0.2s;
}

body.welcome-design .pub-wizard-step.active .pub-wizard-step-dot {
    background: var(--w-primary);
    color: #fff;
    box-shadow: 0 6px 16px rgba(16,185,129,0.35);
}

body.welcome-design .pub-wizard-step.done .pub-wizard-step-dot {
    background: rgba(16,185,129,0.2);
    color: var(--w-primary);
}

body.welcome-design .pub-wizard-step span {
    font-size: 11px;
    font-weight: 700;
    color: var(--w-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

body.welcome-design .pub-wizard-step.active span {
    color: var(--w-primary);
}

body.welcome-design .pub-wizard-step-line {
    flex: 1;
    height: 2px;
    background: var(--w-border);
    min-width: 40px;
    max-width: 80px;
    margin-bottom: 22px;
}

/* Step pages */
body.welcome-design .pub-step-page {
    display: none;
    animation: pubStepIn 0.3s ease;
}

body.welcome-design .pub-step-page.active {
    display: block;
}

@keyframes pubStepIn {
    from { opacity: 0; transform: translateY(12px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Header */
body.welcome-design .pub-wizard-header {
    text-align: center;
    margin-bottom: 28px;
}

body.welcome-design .pub-wizard-badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--w-primary);
    margin-bottom: 10px;
}

body.welcome-design .pub-wizard-title {
    font-size: 34px;
    font-weight: 800;
    letter-spacing: -1px;
    margin: 0 0 8px;
    color: var(--w-text);
}

body.welcome-design .pub-wizard-subtitle {
    font-size: 15px;
    color: var(--w-muted);
    margin: 0;
}

/* Type tabs */
body.welcome-design .pub-wizard-tabs {
    display: flex;
    gap: 10px;
    justify-content: center;
    margin-bottom: 20px;
}

body.welcome-design .pub-wizard-tab {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 22px;
    border-radius: 20px;
    border: 1px solid var(--w-border);
    background: var(--w-surface);
    color: var(--w-muted);
    font-size: 13px;
    font-weight: 600;
    font-family: 'Outfit', sans-serif;
    cursor: pointer;
    transition: all 0.15s;
}

body.welcome-design .pub-wizard-tab .material-icons-round {
    font-size: 15px;
}

body.welcome-design .pub-wizard-tab.active {
    border-color: var(--w-primary);
    color: var(--w-primary);
    background: rgba(16,185,129,0.08);
}

/* Card */
body.welcome-design .pub-wizard-card {
    background: var(--w-surface);
    border: 1px solid var(--w-border);
    border-radius: 24px;
    padding: 28px;
}

/* Fields */
body.welcome-design .pub-wizard-field {
    margin-bottom: 18px;
}

body.welcome-design .field-error {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: var(--w-danger, #F43F5E);
    margin-top: 6px;
}

body.welcome-design .pub-vat-hints {
    min-height: 20px;
    margin-top: 6px;
}

body.welcome-design .pub-wizard-actions-primary {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
}

body.welcome-design .monolith-auth-actions-primary {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    flex: 1;
}

body.welcome-design .pub-wizard-btn-primary:disabled,
body.welcome-design .monolith-btn-primary:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

body.welcome-design .pub-wizard-label {
    display: block;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--w-muted);
    margin-bottom: 8px;
}

body.welcome-design .pub-wizard-input {
    width: 100%;
    background: var(--w-bg);
    border: 1px solid var(--w-border);
    border-radius: 12px;
    padding: 14px 16px;
    color: var(--w-text);
    font-family: 'Outfit', sans-serif;
    font-size: 15px;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
    box-sizing: border-box;
}

body.welcome-design .pub-wizard-input:focus {
    border-color: var(--w-primary);
    box-shadow: 0 0 0 3px rgba(16,185,129,0.12);
}

body.welcome-design .pub-wizard-input.is-invalid {
    border-color: var(--w-danger, #F43F5E);
    box-shadow: 0 0 0 3px rgba(244, 63, 94, 0.12);
}

body.welcome-design .pub-wizard-input--locked {
    background: rgba(16,185,129,0.06);
    border-color: var(--w-primary);
    color: var(--w-primary);
    font-weight: 600;
    cursor: default;
}

body.welcome-design .pub-wizard-divider {
    border: 0;
    border-top: 1px solid var(--w-border);
    margin: 18px 0;
}

body.welcome-design .pub-wizard-grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

body.welcome-design .pub-wizard-email-row {
    display: flex;
    gap: 10px;
}

body.welcome-design .pub-wizard-email-row .pub-wizard-input {
    flex: 1;
}

body.welcome-design .pub-wizard-email-verify {
    display: grid;
    grid-template-columns: 1fr 120px;
    gap: 10px;
    align-items: stretch;
}

body.welcome-design .pub-wizard-email-verify .pub-wizard-email-row {
    display: contents;
}

body.welcome-design .pub-wizard-email-verify .pub-wizard-btn-secondary {
    width: 100%;
    justify-content: center;
    flex: unset;
}

body.welcome-design .pub-wizard-email-verify .pub-wizard-input {
    flex: unset;
    width: 100%;
    min-width: 0;
}

/* Upload zone */
body.welcome-design .pub-wizard-upload {
    background: var(--w-bg);
    border: 2px dashed var(--w-border);
    border-radius: 16px;
    padding: 36px 20px;
    text-align: center;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
}

body.welcome-design .pub-wizard-upload:hover,
body.welcome-design .pub-wizard-upload.dragover {
    border-color: var(--w-primary);
    background: rgba(16,185,129,0.04);
}

body.welcome-design .pub-wizard-upload.has-file {
    border-color: var(--w-primary);
    background: rgba(16,185,129,0.06);
}

body.welcome-design .pub-wizard-file-hidden {
    display: none;
}

body.welcome-design .pub-wizard-upload-icon {
    font-size: 32px;
    color: var(--w-muted);
    display: block;
    margin-bottom: 10px;
}

body.welcome-design .pub-wizard-upload-text {
    font-size: 13px;
    color: var(--w-muted);
    margin: 0;
}

/* Actions row */
body.welcome-design .pub-wizard-actions {
    display: flex;
    gap: 12px;
    margin-top: 20px;
}

/* Buttons */
body.welcome-design .pub-wizard-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: 100%;
    justify-content: center;
    padding: 15px 24px;
    background: var(--w-primary);
    color: #fff;
    border: none;
    border-radius: 14px;
    font-size: 15px;
    font-weight: 700;
    font-family: 'Outfit', sans-serif;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(16,185,129,0.25);
    transition: background 0.15s;
    margin-top: 8px;
}

body.welcome-design .pub-wizard-btn-primary:hover {
    background: var(--w-primary-hover);
}

body.welcome-design .pub-wizard-btn-secondary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 14px 22px;
    background: var(--w-border);
    color: var(--w-text);
    border: none;
    border-radius: 14px;
    font-size: 14px;
    font-weight: 700;
    font-family: 'Outfit', sans-serif;
    cursor: pointer;
    transition: filter 0.15s;
}

body.welcome-design .pub-wizard-btn-secondary:hover {
    filter: brightness(1.1);
}

body.welcome-design .pub-wizard-btn-white {
    width: 100%;
    padding: 14px;
    background: #fff;
    color: var(--w-primary);
    border: none;
    border-radius: 14px;
    font-size: 14px;
    font-weight: 700;
    font-family: 'Outfit', sans-serif;
    cursor: pointer;
    margin-top: 8px;
}

/* Price toggle */
body.welcome-design .pub-wizard-price-toggle {
    display: flex;
    background: var(--w-surface);
    border: 1px solid var(--w-border);
    padding: 5px;
    border-radius: 14px;
    width: fit-content;
    margin: 0 auto 24px;
    gap: 4px;
}

body.welcome-design .pub-wizard-tgl {
    padding: 10px 24px;
    border-radius: 10px;
    border: none;
    background: transparent;
    color: var(--w-muted);
    font-size: 13px;
    font-weight: 600;
    font-family: 'Outfit', sans-serif;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

body.welcome-design .pub-wizard-tgl.active {
    background: var(--w-primary);
    color: #fff;
}

/* Plan grid */
body.welcome-design .pub-wizard-plan-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 10px;
}

body.welcome-design .pub-wizard-plan-card {
    background: var(--w-surface);
    border: 1px solid var(--w-border);
    border-radius: 20px;
    padding: 24px;
    text-align: center;
}

body.welcome-design .pub-wizard-plan-card--featured {
    border-color: var(--w-primary);
    box-shadow: 0 0 0 1px var(--w-primary);
}

body.welcome-design .pub-wizard-plan-card--dark {
    background: linear-gradient(145deg, #0f1623 0%, #161b26 100%);
    border-color: var(--w-primary);
}

body.welcome-design .pub-wizard-plan-type {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--w-muted);
    margin: 0 0 10px;
}

body.welcome-design .pub-wizard-plan-type--accent {
    color: var(--w-primary);
}

body.welcome-design .pub-wizard-plan-price {
    font-size: 44px;
    font-weight: 800;
    letter-spacing: -2px;
    color: var(--w-text);
    margin: 10px 0 16px;
    line-height: 1;
}

body.welcome-design .pub-wizard-plan-card--dark .pub-wizard-plan-price,
body.welcome-design .pub-wizard-plan-card--dark .pub-wizard-plan-name {
    color: #F8FAFC;
}

body.welcome-design .pub-wizard-plan-price small {
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0;
}

body.welcome-design .pub-wizard-plan-name {
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 10px;
    color: var(--w-text);
}

body.welcome-design .pub-wizard-plan-features {
    list-style: none;
    padding: 0;
    margin: 0 0 16px;
    text-align: left;
    font-size: 13px;
    color: var(--w-muted);
    line-height: 2;
}

body.welcome-design .pub-wizard-plan-features--light li {
    color: rgba(248,250,252,0.75);
}

body.welcome-design .pub-wizard-select {
    width: 100%;
    background: var(--w-bg);
    border: 1px solid var(--w-border);
    border-radius: 12px;
    padding: 12px 14px;
    color: var(--w-text);
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    outline: none;
    cursor: pointer;
    margin-bottom: 14px;
    text-align: left;
}

@media (max-width: 1024px) {
    body.welcome-design #wizard-page {
        padding: 16px 12px 48px;
    }
    body.welcome-design .pub-wizard-card {
        padding: 20px 16px;
    }
}

/* Responsive */
@media (max-width: 640px) {
    body.welcome-design .pub-wizard-grid-2 { grid-template-columns: 1fr; }
    body.welcome-design .pub-wizard-plan-grid { grid-template-columns: 1fr; }
    body.welcome-design .pub-wizard-title { font-size: 26px; }
    body.welcome-design .pub-wizard-steps {
        gap: 0;
        flex-wrap: wrap;
        justify-content: center;
    }
    body.welcome-design .pub-wizard-step span {
        white-space: normal;
        text-align: center;
        max-width: 72px;
    }
    body.welcome-design .pub-wizard-step-line { min-width: 20px; }
    body.welcome-design .pub-wizard-tabs {
        flex-direction: column;
    }
    body.welcome-design .pub-wizard-tab {
        width: 100%;
        justify-content: center;
    }
}

body.welcome-design .pub-wizard-back-home {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: transparent;
    border: none;
    color: var(--w-muted);
    font-size: 13px;
    font-weight: 600;
    font-family: 'Outfit', sans-serif;
    cursor: pointer;
    padding: 0;
    margin-bottom: 28px;
    transition: color 0.15s;
}

body.welcome-design .pub-wizard-back-home:hover {
    color: var(--w-primary);
}

body.welcome-design .pub-wizard-back-home .material-icons-round {
    font-size: 18px;
}

/* Email verify hint */
body.welcome-design .pub-verify-hint {
    font-size: 12px;
    margin: 6px 0 0;
    font-weight: 600;
    color: var(--w-muted);
}
body.welcome-design .pub-verify-hint--ok  { color: var(--w-primary); }
body.welcome-design .pub-verify-hint--err { color: #F43F5E; }
body.welcome-design .pub-verify-hint--warn { color: #F59E0B; }

@keyframes pubShake {
    0%, 100% { transform: translateX(0); }
    20%       { transform: translateX(-6px); }
    40%       { transform: translateX(6px); }
    60%       { transform: translateX(-4px); }
    80%       { transform: translateX(4px); }
}

/* ============================================================
   SIGNATURE MODAL
   ============================================================ */
body.welcome-design .pub-sig-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    z-index: 2100;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

body.welcome-design .pub-sig-overlay.open {
    display: flex;
    z-index: 3600;
}

body.welcome-design .pub-sig-card {
    background: var(--w-surface);
    width: 100%;
    max-width: 540px;
    padding: 36px;
    border-radius: 28px;
    border: 1px solid var(--w-border);
    box-shadow: 0 32px 80px rgba(0,0,0,0.5);
    animation: verifyModalIn 0.3s cubic-bezier(0.34,1.56,0.64,1);
}

body.welcome-design .pub-sig-header {
    text-align: center;
    margin-bottom: 24px;
}

body.welcome-design .pub-sig-icon-wrap {
    width: 60px;
    height: 60px;
    background: rgba(16,185,129,0.12);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
    border: 1px solid rgba(16,185,129,0.25);
}

body.welcome-design .pub-sig-icon-wrap .material-icons-round {
    color: var(--w-primary);
    font-size: 28px;
}

body.welcome-design .pub-sig-title {
    font-size: 22px;
    font-weight: 800;
    color: var(--w-text);
    margin: 0 0 6px;
    letter-spacing: -0.5px;
}

body.welcome-design .pub-sig-subtitle {
    font-size: 13px;
    color: var(--w-muted);
    margin: 0;
    line-height: 1.6;
}

body.welcome-design .pub-sig-link {
    color: var(--w-primary);
    text-decoration: underline;
}

body.welcome-design .pub-sig-canvas-wrap {
    background: var(--w-bg);
    border: 1.5px dashed var(--w-border);
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 10px;
    cursor: crosshair;
}

body.welcome-design .pub-sig-canvas {
    display: block;
    width: 100%;
    height: 180px;
    touch-action: none;
}

body.welcome-design .pub-sig-hint {
    font-size: 12px;
    font-weight: 600;
    color: var(--w-muted);
    margin: 0 0 16px;
    min-height: 18px;
}

body.welcome-design .pub-sig-hint--err { color: #F43F5E; }
body.welcome-design .pub-sig-hint--ok  { color: var(--w-primary); }

body.welcome-design .pub-sig-actions {
    display: flex;
    gap: 10px;
    margin-top: 6px;
}

body.welcome-design .pub-sig-btn-primary {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 13px 18px;
    background: var(--w-primary);
    color: #fff;
    border: none;
    border-radius: 13px;
    font-size: 14px;
    font-weight: 700;
    font-family: 'Outfit', sans-serif;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(16,185,129,0.3);
    transition: background 0.15s;
}

body.welcome-design .pub-sig-btn-primary:hover {
    background: var(--w-primary-hover);
}

body.welcome-design .pub-sig-btn-primary:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

body.welcome-design .pub-sig-btn-outline {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 13px 16px;
    background: transparent;
    border: 1px solid var(--w-border);
    color: var(--w-text);
    border-radius: 13px;
    font-size: 13px;
    font-weight: 600;
    font-family: 'Outfit', sans-serif;
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s;
}

body.welcome-design .pub-sig-btn-outline:hover {
    border-color: var(--w-primary);
    color: var(--w-primary);
}

/* Suppress legacy Bootstrap illegal modal on welcome page — replaced by verify-modal-card */
body.welcome-design #modal_illegal,
body.welcome-design #modal_illegal.show,
body.welcome-design #modal_illegal.fade {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Also hide the Bootstrap backdrop when illegal modal would have shown */
body.welcome-design.modal-open { overflow: hidden !important; }

/* ============================================================
   LEGACY GLOBAL OVERRIDES (design-base.css deferred load)
   ============================================================ */
html:has(body.welcome-design) {
    scrollbar-gutter: auto !important;
}

body.welcome-design.welcome-scroll-active,
body.welcome-design:has(#page-scroll.pub-page-active) {
    overflow-y: hidden !important;
}

body.welcome-design {
    justify-content: flex-start !important;
    background-image: none !important;
    background-attachment: scroll !important;
}

body.welcome-design .welcome-content-container.welcome-legal-scroll {
    padding: 24px 40px 80px;
    overflow: visible;
}

body.welcome-design .welcome-legal-page-wrap {
    padding-bottom: 24px;
}

/* Non-carousel pages (pricing, legal): scroll inside main column, not the document */
html:has(body.welcome-design:not(.welcome-scroll-active)),
body.welcome-design:not(.welcome-scroll-active) {
    overflow: hidden !important;
    height: 100% !important;
    min-height: 0;
}

body.welcome-design:not(.welcome-scroll-active) .d-flex.flex-column.w-100 {
    height: 100%;
    min-height: 0;
    max-height: 100%;
    overflow: hidden;
}

body.welcome-design:not(.welcome-scroll-active) section#content.welcome-home-layout {
    flex: 1 1 auto;
    height: 100%;
    min-height: 0;
    max-height: none;
    overflow: hidden;
}

body.welcome-design:not(.welcome-scroll-active) .welcome-main {
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

body.welcome-design:not(.welcome-scroll-active) .welcome-content-container {
    height: auto;
    min-height: 0;
    max-height: none;
    overflow: visible;
    padding-bottom: 48px;
}

body.welcome-design:not(.welcome-scroll-active) #page-pricing.pub-page-active .pub-page-content {
    padding-bottom: 48px;
}

/* --- AI Hero (removee-hero-ai) — scoped to guest homepage hero --- */
body.welcome-design .removee-hero-ai {
    width: 100%;
    max-width: min(960px, 92vw);
    display: flex;
    flex-direction: column;
    align-items: center;
}

body.welcome-design .welcome-hero-section.in-chat .removee-hero-ai {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

body.welcome-design .welcome-hero-section.in-chat .welcome-hero-title,
body.welcome-design .welcome-hero-section.in-chat .welcome-hero-subtitle {
    display: none !important;
}

body.welcome-design .removee-hero-chat-history {
    width: 100%;
    display: none;
    flex-direction: column;
    gap: 24px;
    margin-bottom: 24px;
    text-align: left;
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
    overflow-y: auto;
    padding-right: 8px;
}

body.welcome-design .welcome-hero-section.in-chat .removee-hero-chat-history {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
    overflow-y: auto;
}

body.welcome-design .welcome-hero-section.in-chat .removee-hero-loader,
body.welcome-design .welcome-hero-section.in-chat .removee-hero-search-box,
body.welcome-design .welcome-hero-section.in-chat .removee-hero-removal-tabs,
body.welcome-design .welcome-hero-section.in-chat .removee-hero-error {
    flex-shrink: 0;
}

body.welcome-design .welcome-hero-section.in-chat .removee-hero-search-box,
body.welcome-design .welcome-hero-section.in-chat .removee-hero-removal-tabs,
body.welcome-design .welcome-hero-section.in-chat .removee-hero-error {
    align-self: center;
    width: 100%;
    max-width: 700px;
}

body.welcome-design .removee-hero-chat-msg {
    display: flex;
    gap: 16px;
    width: 100%;
    animation: removeeHeroFadeInUp 0.4s ease forwards;
}

body.welcome-design .removee-hero-chat-msg .removee-hero-chat-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--w-border);
    flex-shrink: 0;
}

body.welcome-design .removee-hero-chat-msg.user {
    justify-content: flex-end;
}

body.welcome-design .removee-hero-chat-msg.user .removee-hero-chat-avatar {
    background: #3b82f6;
    color: #fff;
    order: 2;
}

body.welcome-design .removee-hero-chat-msg.user .removee-hero-chat-text {
    background: rgba(59, 130, 246, 0.1);
    border: 1px solid rgba(59, 130, 246, 0.2);
    border-radius: 18px 18px 4px 18px;
    order: 1;
}

body.welcome-design .removee-hero-chat-msg.ai .removee-hero-chat-avatar {
    background: linear-gradient(90deg, #3b82f6, #8b5cf6, #10b981);
    color: #fff;
}

body.welcome-design .removee-hero-chat-text {
    padding: 12px 18px;
    max-width: 85%;
    font-size: 16px;
    line-height: 1.6;
    color: var(--w-text);
}

body.welcome-design .removee-hero-chat-msg.ai .removee-hero-chat-text {
    flex: 1;
    min-width: 0;
    max-width: calc(100% - 52px);
    padding: 0 0 0 4px;
}

body.welcome-design .removee-hero-chat-intro {
    margin: 0 0 14px;
    line-height: 1.55;
}

body.welcome-design .removee-hero-chat-section {
    margin-bottom: 16px;
}

body.welcome-design .removee-hero-chat-section:last-child {
    margin-bottom: 0;
}

body.welcome-design .removee-hero-chat-section-title {
    font-weight: 600;
    font-size: 15px;
    line-height: 1.4;
    margin-bottom: 6px;
    color: var(--w-text);
}

body.welcome-design .removee-hero-chat-section-body {
    font-size: 15px;
    line-height: 1.55;
    color: var(--w-text);
}

body.welcome-design .removee-hero-chat-email-sample {
    margin-top: 8px;
    padding: 12px 14px;
    border-radius: 10px;
    border: 1px solid var(--w-border);
    background: rgba(148, 163, 184, 0.08);
    font-size: 14px;
    line-height: 1.55;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    word-break: break-word;
}

body.welcome-design .removee-hero-chat-text a {
    color: var(--w-primary);
    word-break: break-all;
    text-decoration: underline;
}

body.welcome-design .removee-hero-chat-disclaimer {
    margin: 10px 0 0;
    font-size: 13px;
    line-height: 1.45;
    color: var(--w-text-muted, #64748b);
}

body.welcome-design .removee-hero-chat-msg.ai.is-streaming .removee-hero-chat-text::after {
    content: '|';
    display: inline-block;
    margin-left: 2px;
    animation: removee-hero-chat-cursor-blink 1s step-end infinite;
}

@keyframes removee-hero-chat-cursor-blink {
    50% { opacity: 0; }
}

body.welcome-design .removee-hero-loader {
    display: none;
    width: 100%;
    text-align: left;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 20px;
}

body.welcome-design .removee-hero-loader.is-visible {
    display: flex;
}

body.welcome-design .removee-hero-loader-lines {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-top: 10px;
}

body.welcome-design .removee-hero-loader-line {
    height: 14px;
    background: linear-gradient(90deg, var(--w-border) 25%, var(--w-surface) 50%, var(--w-border) 75%);
    background-size: 200% 100%;
    border-radius: 7px;
    animation: removeeHeroShimmer 1.5s infinite linear;
}

body.welcome-design .removee-hero-loader-line:nth-child(1) { width: 40%; }
body.welcome-design .removee-hero-loader-line:nth-child(2) { width: 85%; }
body.welcome-design .removee-hero-loader-line:nth-child(3) { width: 60%; }

@keyframes removeeHeroShimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

@keyframes removeeHeroFadeInUp {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

body.welcome-design .removee-hero-ai .removee-hero-search-box {
    width: 100%;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
    transition: border-color 0.4s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

body.welcome-design .removee-hero-ai .removee-hero-search-box[data-state="ask"] {
    border-color: rgba(139, 92, 246, 0.35);
    box-shadow: 0 20px 40px rgba(59, 130, 246, 0.08), 0 0 20px rgba(139, 92, 246, 0.05);
}

body.welcome-design .removee-hero-ai .removee-hero-search-box.error-shake {
    border-color: #f43f5e !important;
    box-shadow: 0 20px 40px rgba(244, 63, 94, 0.15), 0 0 15px rgba(244, 63, 94, 0.1) !important;
    animation: removeeHeroShake 0.4s ease-in-out forwards;
}

@keyframes removeeHeroShake {
    0%, 100% { transform: translateX(0); }
    20%, 60% { transform: translateX(-6px); }
    40%, 80% { transform: translateX(6px); }
}

body.welcome-design .removee-hero-error {
    width: 100%;
    max-width: 700px;
    color: #f43f5e;
    font-size: 13px;
    font-weight: 600;
    margin-top: 10px;
    text-align: center;
}

body.welcome-design .removee-hero-removal-tabs {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1), margin-top 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

body.welcome-design .removee-hero-removal-tabs.show {
    width: 100%;
    max-width: 700px;
    max-height: 160px;
    opacity: 1;
    margin-top: 15px !important;
    pointer-events: auto;
    position: relative;
    z-index: 20;
}

body.welcome-design .removee-hero-removal-tabs.highlight-removal-tabs {
    outline: 2px solid #f43f5e;
    outline-offset: 4px;
    border-radius: 12px;
    animation: removee-tabs-highlight-pulse 0.6s ease-in-out 2;
}

@keyframes removee-tabs-highlight-pulse {
    0%, 100% { outline-color: #f43f5e; }
    50% { outline-color: rgba(244, 63, 94, 0.45); }
}

body.welcome-design .removee-hero-clear-btn {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    color: var(--w-muted);
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}

body.welcome-design .removee-hero-clear-btn:hover {
    background: rgba(255, 255, 255, 0.16);
    color: var(--w-text);
}

body.welcome-design .removee-hero-clear-btn[hidden] {
    display: none;
}

body.welcome-design .removee-hero-icon-wrap {
    position: relative;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

body.welcome-design .removee-hero-icon-wrap span {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--w-muted);
    transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1), transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), color 0.4s ease;
}

body.welcome-design .removee-hero-icon-ask {
    opacity: 0;
    transform: scale(0.6) rotate(-45deg);
}

body.welcome-design .removee-hero-icon-remove {
    opacity: 1;
    transform: scale(1) rotate(0deg);
}

body.welcome-design .removee-hero-search-box[data-state="ask"] .removee-hero-icon-remove {
    opacity: 0;
    transform: scale(0.6) rotate(45deg);
}

body.welcome-design .removee-hero-search-box[data-state="ask"] .removee-hero-icon-ask {
    opacity: 1;
    transform: scale(1) rotate(0deg);
    color: #60a5fa;
}

body.welcome-design .removee-hero-action-btn {
    position: relative;
    overflow: hidden;
    min-width: 115px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
    transition: background-color 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

body.welcome-design .removee-hero-action-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #3b82f6, #8b5cf6);
    opacity: 0;
    z-index: -1;
    border-radius: var(--radius-btn, 16px);
    transition: opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

body.welcome-design .removee-hero-search-box[data-state="ask"] .removee-hero-action-btn {
    background: transparent;
}

body.welcome-design .removee-hero-search-box[data-state="ask"] .removee-hero-action-btn:hover {
    background: transparent;
}

body.welcome-design .removee-hero-search-box[data-state="ask"] .removee-hero-action-btn::before {
    opacity: 1;
}

body.welcome-design .removee-hero-action-btn span {
    position: absolute;
    transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1), transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

body.welcome-design .removee-hero-btn-text-ask {
    opacity: 0;
    transform: translateY(12px);
}

body.welcome-design .removee-hero-btn-text-remove {
    opacity: 1;
    transform: translateY(0);
}

body.welcome-design .removee-hero-search-box[data-state="ask"] .removee-hero-btn-text-remove {
    opacity: 0;
    transform: translateY(-12px);
    pointer-events: none;
}

body.welcome-design .removee-hero-search-box[data-state="ask"] .removee-hero-btn-text-ask {
    opacity: 1;
    transform: translateY(0);
}

body.welcome-design .welcome-hero-section.in-chat {
    height: 100%;
    min-height: 0;
    flex: 1 1 auto;
    padding-top: 24px;
    padding-bottom: 24px;
    justify-content: flex-start;
    box-sizing: border-box;
}

body.welcome-design #slide-0 .welcome-hero-section.in-chat {
    width: 100%;
    max-width: min(960px, 92vw);
    align-items: center;
}

/* Guest carousel lock while AI chat is active */
body.welcome-design.welcome-in-chat-mode #page-scroll.pub-page-active {
    height: calc(var(--welcome-vh, 1vh) * 100 - var(--welcome-topbar-h, 65px)) !important;
    max-height: calc(var(--welcome-vh, 1vh) * 100 - var(--welcome-topbar-h, 65px));
    min-height: calc(var(--welcome-vh, 1vh) * 100 - var(--welcome-topbar-h, 65px));
    overflow: hidden !important;
}

body.welcome-design.welcome-in-chat-mode #page-scroll .scroll-container {
    height: 100% !important;
    transform: none !important;
    transition: none;
    overflow: hidden;
}

body.welcome-design.welcome-in-chat-mode #page-scroll .scroll-slide:not(#slide-0) {
    height: auto !important;
    overflow: visible;
}

body.welcome-design.welcome-in-chat-mode #page-scroll .scroll-dots {
    display: none;
}

body.welcome-design.welcome-in-chat-mode #slide-0 {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    height: calc(var(--welcome-vh, 1vh) * 100 - var(--welcome-topbar-h, 65px)) !important;
    min-height: calc(var(--welcome-vh, 1vh) * 100 - var(--welcome-topbar-h, 65px));
    max-height: calc(var(--welcome-vh, 1vh) * 100 - var(--welcome-topbar-h, 65px));
    overflow: hidden;
}

body.welcome-design.welcome-in-chat-mode #slide-0 .welcome-hero-section.in-chat {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
}

body.welcome-design.welcome-in-chat-mode #slide-0 .welcome-hero-section.in-chat .removee-hero-ai {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
}

body.welcome-design.welcome-in-chat-mode #slide-0 .welcome-hero-section.in-chat .removee-hero-chat-history {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    margin-bottom: 12px;
}

body.welcome-design.welcome-in-chat-mode #slide-0 .welcome-hero-section.in-chat .removee-hero-search-box,
body.welcome-design.welcome-in-chat-mode #slide-0 .welcome-hero-section.in-chat .removee-hero-removal-tabs,
body.welcome-design.welcome-in-chat-mode #slide-0 .welcome-hero-section.in-chat .removee-hero-error {
    flex-shrink: 0;
}

body.welcome-design .removee-hero-chat-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 4px 0 8px 52px;
}

body.welcome-design .removee-hero-chat-action-btn {
    border: none;
    border-radius: 999px;
    padding: 10px 18px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

body.welcome-design .removee-hero-chat-action-yes {
    background: linear-gradient(90deg, #3b82f6, #8b5cf6);
    color: #fff;
}

body.welcome-design .removee-hero-chat-action-no {
    background: var(--w-surface);
    color: var(--w-text);
    border: 1px solid var(--w-border);
}

@media (max-width: 768px) {
    body.welcome-design.welcome-in-chat-mode #slide-0 .welcome-hero-section.in-chat {
        padding-top: 16px;
        padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    }

    body.welcome-design.welcome-in-chat-mode #slide-0 .welcome-hero-section.in-chat .removee-hero-search-box {
        position: sticky;
        bottom: 0;
        z-index: 2;
        padding-bottom: env(safe-area-inset-bottom, 0px);
    }
}
