/* =========================================================
   NovaRide Media
   Página: /publicidade/

   Tela institucional para kiosk.
   Sem menu, sem navegação e sem rolagem.
   ========================================================= */


/* =========================================================
   DOCUMENTO
   ========================================================= */

html,
body {
    width: 100%;
    height: 100%;

    margin: 0;
    padding: 0;

    overflow: hidden;
}


body.pagina-publicidade {
    min-height: 0;

    display: grid;

    grid-template-rows:
        82px
        minmax(0, 1fr)
        34px;

    background:
        radial-gradient(
            circle at top right,
            rgba(24, 160, 251, 0.16),
            transparent 35%
        ),
        #0b1220;

    color: #f5f7fa;
}


/* =========================================================
   CABEÇALHO
   ========================================================= */

.publicidade-cabecalho {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding:
        12px
        4%;

    background:
        rgba(
            17,
            28,
            48,
            0.94
        );

    border-bottom:
        1px solid
        #26344a;
}


.publicidade-marca {
    display: flex;

    align-items: center;

    gap: 13px;
}


.publicidade-logo {
    width: 48px;
    height: 48px;

    display: grid;
    place-items: center;

    flex: 0 0 48px;

    border-radius: 13px;

    background:
        linear-gradient(
            135deg,
            #18a0fb,
            #0068b7
        );

    color: #ffffff;

    font-size: 1.05rem;
    font-weight: 900;

    letter-spacing: -1px;

    box-shadow:
        0 8px 20px
        rgba(
            0,
            0,
            0,
            0.22
        );
}


.publicidade-marca h1 {
    margin: 0;

    color: #18a0fb;

    font-size:
        clamp(
            1.45rem,
            2.8vw,
            2.15rem
        );

    line-height: 1;
}


.publicidade-marca p {
    margin-top: 5px;

    color: #aab4c3;

    font-size:
        clamp(
            0.72rem,
            1.2vw,
            0.95rem
        );
}


.publicidade-selo {
    padding:
        8px
        14px;

    border:
        1px solid
        rgba(
            24,
            160,
            251,
            0.35
        );

    border-radius: 999px;

    color: #8fd3ff;

    background:
        rgba(
            24,
            160,
            251,
            0.08
        );

    font-size:
        clamp(
            0.65rem,
            1vw,
            0.82rem
        );

    font-weight: 700;

    white-space: nowrap;
}


/* =========================================================
   CONTEÚDO
   ========================================================= */

.publicidade-conteudo {
    width: 94%;
    height: 100%;

    max-width: 1500px;

    margin: 0 auto;

    padding:
        18px
        0;

    display: grid;

    grid-template-rows:
        minmax(0, 1.12fr)
        minmax(0, 0.88fr);

    gap: 16px;

    overflow: hidden;
}


/* =========================================================
   APRESENTAÇÃO
   ========================================================= */

.publicidade-apresentacao {
    min-width: 0;
    min-height: 0;

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        250px;

    align-items: center;

    gap: 34px;

    padding:
        20px
        28px;

    border:
        1px solid
        #26344a;

    border-radius: 18px;

    background:
        linear-gradient(
            135deg,
            rgba(
                17,
                28,
                48,
                0.98
            ),
            rgba(
                11,
                18,
                32,
                0.95
            )
        );

    overflow: hidden;
}


.publicidade-apresentacao__texto {
    min-width: 0;
}


.publicidade-etiqueta {
    display: inline-block;

    margin-bottom: 12px;

    color: #18a0fb;

    font-size:
        clamp(
            0.66rem,
            1vw,
            0.82rem
        );

    font-weight: 800;

    letter-spacing: 1.5px;
}


.publicidade-apresentacao h2 {
    max-width: 900px;

    margin: 0;

    font-size:
        clamp(
            1.8rem,
            4vw,
            3.6rem
        );

    line-height: 1.02;

    letter-spacing: -1.5px;
}


.publicidade-apresentacao p {
    max-width: 880px;

    margin-top: 15px;

    color: #b9c4d4;

    font-size:
        clamp(
            0.85rem,
            1.45vw,
            1.15rem
        );

    line-height: 1.45;
}


/* =========================================================
   CONTATO / QR CODE
   ========================================================= */

.publicidade-contato {
    min-width: 0;

    align-self: stretch;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    padding: 14px;

    text-align: center;

    border-radius: 15px;

    border:
        1px solid
        rgba(
            24,
            160,
            251,
            0.28
        );

    background:
        rgba(
            24,
            160,
            251,
            0.07
        );
}


.publicidade-contato__titulo {
    margin-bottom: 9px;

    color: #ffffff;

    font-size:
        clamp(
            0.85rem,
            1.3vw,
            1.05rem
        );

    font-weight: 800;
}


.publicidade-qrcode {
    width: 122px;
    height: 122px;

    padding: 7px;

    margin-bottom: 8px;

    display: grid;
    place-items: center;

    background: #ffffff;

    border-radius: 10px;
}


.publicidade-qrcode img {
    width: 100%;
    height: 100%;

    object-fit: contain;
}


.publicidade-contato strong {
    font-size:
        clamp(
            0.67rem,
            1vw,
            0.80rem
        );
}


.publicidade-contato span {
    margin-top: 4px;

    color: #aab4c3;

    font-size:
        clamp(
            0.55rem,
            0.85vw,
            0.70rem
        );
}


/* =========================================================
   CARDS
   ========================================================= */

.publicidade-cards {
    min-width: 0;
    min-height: 0;

    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap: 14px;
}


.publicidade-card {
    min-width: 0;
    min-height: 0;

    padding:
        18px
        20px;

    display: grid;

    grid-template-columns:
        44px
        minmax(0, 1fr);

    align-items: center;

    gap: 14px;

    border:
        1px solid
        #26344a;

    border-radius: 15px;

    background:
        #111c30;

    overflow: hidden;
}


.publicidade-card--destaque {
    border-color:
        rgba(
            24,
            160,
            251,
            0.38
        );

    background:
        linear-gradient(
            145deg,
            #11233d,
            #111c30
        );
}


.publicidade-card__icone {
    width: 44px;
    height: 44px;

    display: grid;
    place-items: center;

    align-self: start;

    border-radius: 12px;

    background:
        rgba(
            24,
            160,
            251,
            0.10
        );

    font-size: 1.5rem;
}


.publicidade-card h3 {
    margin: 0 0 7px;

    color: #ffffff;

    font-size:
        clamp(
            1rem,
            1.6vw,
            1.35rem
        );
}


.publicidade-card p {
    min-height: 0;

    margin: 0;

    color: #aab4c3;

    font-size:
        clamp(
            0.70rem,
            1.05vw,
            0.90rem
        );

    line-height: 1.35;
}


.publicidade-card__destaque {
    display: block;

    margin-top: 10px;

    color: #18a0fb;

    font-size:
        clamp(
            0.60rem,
            0.9vw,
            0.76rem
        );

    font-weight: 800;
}


/* =========================================================
   RODAPÉ
   ========================================================= */

.publicidade-rodape {
    display: grid;

    grid-template-columns:
        1fr
        auto
        1fr;

    align-items: center;

    gap: 15px;

    padding:
        0
        4%;

    color: #7f8da1;

    background:
        rgba(
            5,
            12,
            23,
            0.92
        );

    border-top:
        1px solid
        #26344a;

    font-size:
        clamp(
            0.48rem,
            0.75vw,
            0.62rem
        );
}


.publicidade-rodape span:first-child {
    justify-self: start;
}


.publicidade-rodape__centro {
    justify-self: center;

    color: #9da9ba;
}


.publicidade-rodape span:last-child {
    justify-self: end;

    color: #18a0fb;

    font-weight: 700;
}


/* =========================================================
   TABLET / FULLY KIOSK
   ========================================================= */

@media
    (orientation: landscape)
    and
    (max-height: 700px) {

    body.pagina-publicidade {
        grid-template-rows:
            64px
            minmax(0, 1fr)
            26px;
    }


    .publicidade-cabecalho {
        padding:
            8px
            3%;
    }


    .publicidade-logo {
        width: 38px;
        height: 38px;

        flex-basis: 38px;

        font-size: 0.86rem;
    }


    .publicidade-marca h1 {
        font-size: 1.25rem;
    }


    .publicidade-marca p {
        font-size: 0.62rem;
    }


    .publicidade-selo {
        padding:
            6px
            11px;

        font-size: 0.62rem;
    }


    .publicidade-conteudo {
        width: 96%;

        padding:
            10px
            0;

        gap: 10px;
    }


    .publicidade-apresentacao {
        grid-template-columns:
            minmax(0, 1fr)
            190px;

        gap: 18px;

        padding:
            12px
            18px;

        border-radius: 14px;
    }


    .publicidade-etiqueta {
        margin-bottom: 7px;

        font-size: 0.58rem;
    }


    .publicidade-apresentacao h2 {
        font-size:
            clamp(
                1.55rem,
                3.4vw,
                2.6rem
            );
    }


    .publicidade-apresentacao p {
        margin-top: 8px;

        font-size:
            clamp(
                0.70rem,
                1.1vw,
                0.88rem
            );

        line-height: 1.30;
    }


    .publicidade-contato {
        padding: 8px;
    }


    .publicidade-contato__titulo {
        margin-bottom: 5px;

        font-size: 0.72rem;
    }


    .publicidade-qrcode {
        width: 92px;
        height: 92px;

        padding: 5px;

        margin-bottom: 5px;
    }


    .publicidade-contato strong {
        font-size: 0.60rem;
    }


    .publicidade-contato span {
        font-size: 0.52rem;
    }


    .publicidade-cards {
        gap: 9px;
    }


    .publicidade-card {
        grid-template-columns:
            34px
            minmax(0, 1fr);

        gap: 9px;

        padding:
            10px
            12px;

        border-radius: 11px;
    }


    .publicidade-card__icone {
        width: 34px;
        height: 34px;

        font-size: 1.15rem;

        border-radius: 9px;
    }


    .publicidade-card h3 {
        margin-bottom: 4px;

        font-size: 0.88rem;
    }


    .publicidade-card p {
        font-size: 0.60rem;

        line-height: 1.25;
    }


    .publicidade-card__destaque {
        margin-top: 5px;

        font-size: 0.54rem;
    }


    .publicidade-rodape {
        padding:
            0
            3%;

        font-size: 0.48rem;
    }

}


/* =========================================================
   PROTEÇÃO KIOSK
   ========================================================= */

html,
body,
.publicidade-conteudo {
    scrollbar-width: none;
}


html::-webkit-scrollbar,
body::-webkit-scrollbar,
.publicidade-conteudo::-webkit-scrollbar {
    width: 0;
    height: 0;

    display: none;
}