/**
 * Public marketing layout — overflow guards and minimal scrollbars.
 * Scoped to .cx-pub-page-body to avoid hotel admin dashboard regressions.
 * Breakpoints aligned with landing.css: 1400, 1199, 991, 768, 480, 375, 320.
 */

html:has(body.cx-pub-page-body) {
    overflow-x: clip;
    max-width: 100%;
    scrollbar-width: thin;
    scrollbar-color: rgba(var(--navbar-icon-color-rgb), 0.45) transparent;
}

html:has(body.cx-pub-page-body)::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

html:has(body.cx-pub-page-body)::-webkit-scrollbar-track {
    background: transparent;
}

html:has(body.cx-pub-page-body)::-webkit-scrollbar-thumb {
    background: rgba(var(--navbar-icon-color-rgb), 0.35);
    border-radius: 8px;
}

html:has(body.cx-pub-page-body)::-webkit-scrollbar-thumb:hover {
    background: rgba(var(--navbar-icon-color-rgb), 0.55);
}

body.cx-pub-page-body {
    overflow-x: clip;
    max-width: 100%;
    min-width: 0;
    margin: 0;
}

/* Inner scroll regions (modals, panels) */
.cx-pub-scroll,
body.cx-pub-page-body .pub-disc-body {
    scrollbar-width: thin;
    scrollbar-color: rgba(var(--navbar-icon-color-rgb), 0.45) transparent;
}

.cx-pub-scroll::-webkit-scrollbar,
body.cx-pub-page-body .pub-disc-body::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

.cx-pub-scroll::-webkit-scrollbar-track,
body.cx-pub-page-body .pub-disc-body::-webkit-scrollbar-track {
    background: transparent;
}

.cx-pub-scroll::-webkit-scrollbar-thumb,
body.cx-pub-page-body .pub-disc-body::-webkit-scrollbar-thumb {
    background: rgba(var(--navbar-icon-color-rgb), 0.35);
    border-radius: 6px;
}

.cx-pub-scroll::-webkit-scrollbar-thumb:hover,
body.cx-pub-page-body .pub-disc-body::-webkit-scrollbar-thumb:hover {
    background: rgba(var(--navbar-icon-color-rgb), 0.55);
}

[data-theme="dark"] html:has(body.cx-pub-page-body) {
    scrollbar-color: rgba(190, 190, 200, 0.38) transparent;
}

[data-theme="dark"] html:has(body.cx-pub-page-body)::-webkit-scrollbar-thumb {
    background: rgba(190, 190, 200, 0.32);
}

[data-theme="dark"] .cx-pub-scroll::-webkit-scrollbar-thumb,
[data-theme="dark"] body.cx-pub-page-body .pub-disc-body::-webkit-scrollbar-thumb {
    background: rgba(190, 190, 200, 0.32);
}

/* Landing horizontal containment */
body.cx-pub-page-body .cx-landing-ux-top,
body.cx-pub-page-body .landing-main-container,
body.cx-pub-page-body .landing-about-section,
body.cx-pub-page-body .landing-footer {
    overflow-x: clip;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

body.cx-pub-page-body .benefits-section,
body.cx-pub-page-body .testimonials-section,
body.cx-pub-page-body .how-it-works-section,
body.cx-pub-page-body .stats-section,
body.cx-pub-page-body .landing-onboarding-section,
body.cx-pub-page-body .hero-section {
    overflow-x: clip;
    max-width: 100%;
    min-width: 0;
}

body.cx-pub-page-body .public-navbar .container-fluid {
    max-width: 100%;
    min-width: 0;
    overflow-x: clip;
}
