/* One public-site shell: homepage, catalog, resources, contact and authentication. */
html { scrollbar-gutter: stable; }
body.root302-public {
    --r3-public-gutter: max(32px, calc((100% - 1280px) / 2));
    background: #fff;
}
body.root302-public .r3-public-bar,
body.root302-public #footer.r3-public-footer > .container,
body.root302-public:not(.root302-home) #main-body > .container,
body.root302-public .master-breadcrumb > .container {
    width: 100%;
    max-width: none;
    padding-inline: var(--r3-public-gutter);
}
body.root302-public .r3-public-bar {
    min-height: var(--r3-header-height);
}
body.root302-public .r3-public-brand {
    display: inline-flex;
    align-items: center;
    font-size: 22px;
    letter-spacing: 1px;
}
body.root302-public .r3-public-brand .logo-img {
    display: block;
    max-height: 33px;
}
body.root302-public .r3-public-language {
    min-width: 44px;
    min-height: 44px;
    padding: 0 8px;
    border: 0;
    background: transparent;
    border-radius: 8px;
    color: var(--r3-muted);
    font-size: 14px;
}
body.root302-public:not(.root302-home):not(.root302-auth) #main-body {
    padding-block: 32px 40px;
    background: linear-gradient(180deg, #f7f9ff, #fff 340px);
}
body.root302-public #footer.r3-public-footer {
    margin-top: 0;
    padding-top: 32px;
    background: #f7f9fd;
    border-top: 1px solid var(--r3-line);
}
body.root302-public .r3-footer-grid {
    padding-bottom: 20px;
}
body.root302-public .r3-public-mobile nav {
    left: var(--r3-public-gutter);
    right: var(--r3-public-gutter);
}
/* Authentication keeps its forms inside the same header/footer and content grid. */
body.root302-auth .r3-auth-layout {
    margin: 32px var(--r3-public-gutter) 40px;
    min-height: 600px;
    border: 1px solid var(--r3-line);
    border-radius: 14px;
    overflow: hidden;
}
body.root302-auth .r3-auth-story {
    position: relative;
    height: auto;
    padding: 36px;
    justify-content: flex-start;
}
body.root302-auth .r3-auth-story-content {
    margin: 0 auto 24px;
}
body.root302-auth .r3-auth-story h2 {
    font-size: clamp(28px, 2.5vw, 40px);
}
body.root302-auth .r3-auth-illustration {
    height: 230px;
}
body.root302-auth .r3-auth-story-bottom {
    margin-top: auto;
}
body.root302-auth .r3-auth-main {
    min-height: 0;
}
body.root302-auth #main-body {
    min-height: 0;
    padding: 40px;
}
@media (max-width: 991px) {
    body.root302-public .r3-public-bar { min-height: var(--r3-header-height); }
    body.root302-auth .r3-auth-story { padding: 28px; }
    body.root302-auth #main-body { padding: 28px; }
}
@media (max-width: 767px) {
    body.root302-public { --r3-public-gutter: 24px; }
    body.root302-public:not(.root302-home):not(.root302-auth) #main-body { padding-block: 24px 32px; }
    body.root302-auth .r3-auth-layout { min-height: 0; margin-block: 24px 32px; }
    body.root302-auth #main-body { padding: 28px 24px; }
}
@media (max-width: 575px) {
    body.root302-public { --r3-public-gutter: 20px; }
    body.root302-public .r3-public-bar { min-height: var(--r3-header-height); }
    body.root302-public .r3-public-language { font-size: 13px; }
}

@media (max-width: 575px) {
    body.root302-public .r3-public-brand { font-size: 18px; letter-spacing: 0; }
    body.root302-public .r3-public-brand .logo-img { max-height: 28px; }
}
