/*
 * =========================================================
 * RADAR CERTO — LAYOUT GLOBAL
 * =========================================================
 *
 * Use este arquivo nas páginas públicas.
 */

html {
    min-height: 100%;
}


body.rc-page {
    min-height: 100vh;
    margin: 0;
    position: relative;
    isolation: isolate;
    background: #f5f7fb;
}


body.rc-page::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -2;
    pointer-events: none;

    background:
        radial-gradient(
            circle at 15% 10%,
            rgba(17, 24, 39, .035),
            transparent 30%
        ),
        radial-gradient(
            circle at 85% 85%,
            rgba(17, 24, 39, .028),
            transparent 28%
        ),
        linear-gradient(
            180deg,
            #f8fafc 0%,
            #f5f7fb 45%,
            #eef2f7 100%
        );
}


body.rc-page::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;

    background-image:
        linear-gradient(
            rgba(17, 24, 39, .018) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(17, 24, 39, .018) 1px,
            transparent 1px
        );

    background-size: 32px 32px;

    mask-image:
        linear-gradient(
            to bottom,
            rgba(0,0,0,.50),
            rgba(0,0,0,.08) 55%,
            transparent 100%
        );
}


/*
 * =========================================================
 * CABEÇALHO FIXO
 * =========================================================
 */

.rc-topbar {
    position: sticky;
    top: 0;
    z-index: 300;

    width: 100%;

    border-bottom: 1px solid #e5e7eb;

    background: rgba(
        255,
        255,
        255,
        .94
    );

    backdrop-filter: blur(12px);
}


.rc-topbar-inner {
    width: min(
        1180px,
        calc(100% - 32px)
    );

    min-height: 66px;

    margin: 0 auto;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 14px;
}


.rc-header-left {
    min-width: 0;

    display: flex;
    align-items: center;

    gap: 9px;
}


.rc-back-button {
    width: 40px;
    height: 40px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    border: 1px solid #e5e7eb;
    border-radius: 11px;

    background: #fff;
    color: #374151;

    font-size: 17px;
    text-decoration: none;

    transition:
        background .18s ease,
        transform .18s ease;
}


.rc-back-button:hover {
    background: #f9fafb;
    transform: translateX(-1px);
}


.rc-brand {
    min-width: 0;

    display: flex;
    align-items: center;

    gap: 10px;

    text-decoration: none;
}


.rc-brand-logo {
    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    border-radius: 12px;

    background: #111827;
    color: #fff;

    font-size: 18px;
    font-weight: 800;
}


.rc-brand-text {
    min-width: 0;
}


.rc-brand-text strong {
    display: block;

    color: #172033;

    font-size: 17px;
}


.rc-brand-text span {
    display: block;

    margin-top: 2px;

    color: #6b7280;

    font-size: 10px;
}


.rc-header-actions {
    display: flex;
    align-items: center;

    gap: 8px;

    flex-shrink: 0;
}


.rc-header-login {
    min-height: 40px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    padding: 0 12px;

    border: 1px solid #e5e7eb;
    border-radius: 10px;

    background: #fff;
    color: #374151;

    font-size: 11px;
    font-weight: 700;

    text-decoration: none;
}


.rc-header-profile {
    width: 40px;
    height: 40px;

    display: none;

    align-items: center;
    justify-content: center;

    overflow: hidden;

    border: 1px solid #e5e7eb;
    border-radius: 50%;

    background: #f3f4f6;

    text-decoration: none;
}


.rc-header-profile img {
    width: 100%;
    height: 100%;

    display: none;

    object-fit: cover;
}


.rc-header-profile span {
    color: #111827;

    font-size: 12px;
    font-weight: 800;
}


.rc-more-button {
    width: 40px;
    height: 40px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    border: 1px solid #e5e7eb;
    border-radius: 11px;

    background: #fff;
    color: #374151;

    font-size: 21px;
    line-height: 1;

    cursor: pointer;

    transition: background .18s ease;
}


.rc-more-button:hover {
    background: #f9fafb;
}


.rc-more-menu {
    position: fixed;

    top: 74px;

    right: max(
        16px,
        calc(
            (100vw - 1180px) / 2
        )
    );

    z-index: 400;

    width: 245px;

    display: none;

    overflow: hidden;

    border: 1px solid #e5e7eb;
    border-radius: 14px;

    background: #fff;

    box-shadow:
        0 18px 40px rgba(
            0,
            0,
            0,
            .12
        );
}


.rc-more-menu.open {
    display: block;
}


.rc-more-menu a {
    display: flex;

    align-items: center;

    gap: 10px;

    padding: 13px 15px;

    border-bottom: 1px solid #f3f4f6;

    color: #172033;

    font-size: 12px;

    text-decoration: none;
}


.rc-more-menu a:last-child {
    border-bottom: 0;
}


.rc-more-menu a:hover {
    background: #f9fafb;
}


/*
 * =========================================================
 * CONTAINER GLOBAL
 * =========================================================
 */

.rc-container {
    width: min(
        1180px,
        calc(100% - 32px)
    );

    margin: 0 auto;
}


.rc-main {
    position: relative;

    padding: 30px 0 50px;
}


/*
 * =========================================================
 * MOBILE
 * =========================================================
 */

@media (max-width: 700px) {

    .rc-topbar-inner {
        width: calc(100% - 22px);
        min-height: 58px;
    }


    .rc-brand-logo,
    .rc-back-button,
    .rc-header-profile,
    .rc-more-button {
        width: 38px;
        height: 38px;
    }


    .rc-brand-text span {
        display: none;
    }


    .rc-brand-text strong {
        font-size: 14px;
    }


    .rc-more-menu {
        top: 66px;

        right: 11px;

        width: min(
            245px,
            calc(100vw - 22px)
        );
    }
}
