/* =========================================================
   FONTES
========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,900;1,400;1,600&family=Outfit:wght@300;400;500;600;700&display=swap');


/* =========================================================
   VARIÁVEIS
========================================================= */

:root {
    --brand-yellow: #F5C518;
    --brand-red: #C0392B;
    --brand-black: #0D0D0D;
    --brand-dark: #1A1A1A;
    --brand-cream: #FAF6EF;
}


/* =========================================================
   ASTRA / WORDPRESS
========================================================= */

body:has(.hero-restaurante) {
    margin: 0 !important;
    overflow-x: hidden !important;
    background: var(--brand-black) !important;
}


body:has(.hero-restaurante) #page,
body:has(.hero-restaurante) .site,
body:has(.hero-restaurante) .site-content,
body:has(.hero-restaurante) .site-content > .ast-container,
body:has(.hero-restaurante) #primary,
body:has(.hero-restaurante) .content-area,
body:has(.hero-restaurante) .site-main,
body:has(.hero-restaurante) article,
body:has(.hero-restaurante) .entry-content {

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
}


body:has(.hero-restaurante) .site-content > .ast-container {
    display: block !important;
}


/* =========================================================
   HERO
========================================================= */

.hero-restaurante {

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    background: var(--brand-black) !important;

    overflow: hidden !important;
}


/* =========================================================
   LINHA PRINCIPAL
   DESKTOP: 38% / 62%
========================================================= */

.hero-restaurante > .hero-linha {

    display: grid !important;

    grid-template-columns:
        minmax(0, 38%)
        minmax(0, 62%) !important;

    width: 100vw !important;
    max-width: 100vw !important;

    min-height: 100vh !important;

    margin: 0 !important;
    padding: 0 !important;

    gap: 0 !important;

    align-items: stretch !important;
}


/* =========================================================
   CONTEÚDO ESQUERDO
========================================================= */

.hero-conteudo {

    position: relative !important;

    width: 100% !important;
    max-width: none !important;

    min-width: 0 !important;
    min-height: 100vh !important;

    box-sizing: border-box !important;

    margin: 0 !important;

    padding:
        55px
        45px
        55px !important;

    background: var(--brand-black) !important;

    display: flex !important;

    flex-direction: column !important;

    justify-content: center !important;
}


/* Remove limitações do Gutenberg */

.hero-conteudo > * {

    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* =========================================================
   CATEGORIA
========================================================= */

.hero-categoria {

    width: 100% !important;

    margin:
        0
        0
        28px
        0 !important;

    padding: 0 !important;

    color: var(--brand-yellow) !important;

    font-family: 'Outfit', sans-serif !important;

    font-size: 12px !important;

    font-weight: 600 !important;

    letter-spacing: 0.3em !important;

    line-height: 1.4 !important;

    text-transform: uppercase !important;

    white-space: nowrap !important;
}


/* =========================================================
   BLOCO DE TEXTO
========================================================= */

.hero-bloco-texto {

    width: 100% !important;

    max-width: 500px !important;

    min-width: 0 !important;

    margin: 0 !important;

    padding: 0 !important;

    box-sizing: border-box !important;
}


/* =========================================================
   TÍTULO
========================================================= */

.hero-titulo {

    width: 100% !important;

    max-width: 500px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: var(--brand-cream) !important;

    font-family: 'Playfair Display', serif !important;

    font-size: clamp(
        58px,
        6vw,
        88px
    ) !important;

    line-height: 0.92 !important;

    font-weight: 900 !important;

    letter-spacing: -1px !important;

    word-break: normal !important;

    overflow-wrap: normal !important;
}


.hero-titulo > span,
.hero-titulo > em {

    display: block !important;

    width: auto !important;

    max-width: none !important;

    white-space: nowrap !important;
}


.hero-titulo em {

    color: var(--brand-yellow) !important;

    font-style: italic !important;

    font-weight: 600 !important;
}


.hero-titulo .hero-ponto {

    display: inline !important;

    width: auto !important;

    max-width: none !important;

    margin: 0 !important;

    color: var(--brand-red) !important;

    white-space: normal !important;
}


/* =========================================================
   DESCRIÇÃO
========================================================= */

.hero-descricao {

    display: block !important;

    width: 100% !important;

    max-width: 390px !important;

    min-width: 0 !important;

    margin:
        28px
        0
        28px !important;

    padding: 0 !important;

    color:
        rgba(
            250,
            246,
            239,
            0.55
        ) !important;

    font-family:
        'Outfit',
        sans-serif !important;

    font-size: 14px !important;

    font-weight: 300 !important;

    line-height: 1.7 !important;

    white-space: normal !important;

    word-break: normal !important;

    overflow-wrap: normal !important;
}


/* =========================================================
   BOTÕES
========================================================= */

.hero-botoes {

    display: flex !important;

    align-items: center !important;

    flex-wrap: wrap !important;

    width: auto !important;

    gap: 12px !important;

    margin: 0 !important;

    padding: 0 !important;
}


.hero-btn {

    display: inline-flex !important;

    align-items: center !important;

    justify-content: center !important;

    width: auto !important;

    min-height: 48px !important;

    box-sizing: border-box !important;

    padding:
        0
        24px !important;

    border-radius: 4px !important;

    font-family:
        'Outfit',
        sans-serif !important;

    font-size: 14px !important;

    font-weight: 700 !important;

    letter-spacing: 0.02em !important;

    text-decoration: none !important;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease !important;
}


.hero-btn-amarelo {

    background:
        var(--brand-yellow) !important;

    color:
        var(--brand-black) !important;

    border:
        1px solid
        var(--brand-yellow) !important;
}


.hero-btn-amarelo:hover {

    background: #e9bb16 !important;

    color:
        var(--brand-black) !important;
}


.hero-btn-contorno {

    background:
        transparent !important;

    color:
        var(--brand-cream) !important;

    border:
        1px solid
        rgba(
            250,
            246,
            239,
            0.4
        ) !important;
}


.hero-btn-contorno:hover {

    border-color:
        var(--brand-cream) !important;

    background:
        rgba(
            250,
            246,
            239,
            0.1
        ) !important;

    color:
        var(--brand-cream) !important;
}


/* =========================================================
   LADO DIREITO
========================================================= */

.hero-imagem {

    position: relative !important;

    width: 100% !important;
    max-width: none !important;

    min-width: 0 !important;

    height: 100vh !important;
    min-height: 100vh !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    background:
        var(--brand-black) !important;
}


.hero-imagem > * {

    width: 100% !important;

    max-width: none !important;

    margin: 0 !important;
}


/* =========================================================
   SLIDER
========================================================= */

.hero-slider {

    position: relative !important;

    width: 100% !important;

    height: 100vh !important;

    overflow: hidden !important;
}


.hero-slides {

    position: absolute !important;

    inset: 0 !important;

    width: 100% !important;

    height: 100% !important;
}


.hero-slide {

    position: absolute !important;

    inset: 0 !important;

    width: 100% !important;

    height: 100% !important;

    object-fit: cover !important;

    object-position: center !important;

    opacity: 0 !important;

    transition:
        opacity
        1s
        ease !important;
}


.hero-slide.ativo {

    opacity: 1 !important;
}


/* =========================================================
   DEGRADÊ
========================================================= */

.hero-imagem::after {

    content: "";

    position: absolute;

    top: 0;
    bottom: 0;
    left: 0;

    width: 64px;

    z-index: 6;

    pointer-events: none;

    background:
        linear-gradient(
            90deg,
            var(--brand-black) 0%,
            rgba(13, 13, 13, 0) 100%
        );
}


/* =========================================================
   CONTROLES
========================================================= */

.hero-slider-controles {

    position: absolute !important;

    left: 30px !important;

    bottom: 30px !important;

    z-index: 20 !important;

    display: flex !important;

    align-items: center !important;

    gap: 16px !important;
}


/* =========================================================
   MINIATURAS
========================================================= */

.hero-miniaturas {

    display: flex !important;

    align-items: center !important;

    gap: 8px !important;
}


.hero-miniatura {

    display: block !important;

    flex-shrink: 0 !important;

    width: 44px !important;

    height: 44px !important;

    margin: 0 !important;

    padding: 0 !important;

    border:
        2px solid
        transparent !important;

    border-radius:
        4px !important;

    background:
        transparent !important;

    opacity:
        0.4 !important;

    overflow:
        hidden !important;

    cursor:
        pointer !important;

    transition:
        opacity 0.3s ease,
        border-color 0.3s ease !important;
}


.hero-miniatura img {

    display: block !important;

    width: 100% !important;

    height: 100% !important;

    object-fit:
        cover !important;

    border-radius:
        2px !important;
}


.hero-miniatura:hover {

    opacity:
        0.7 !important;
}


.hero-miniatura.ativo {

    opacity:
        1 !important;

    border-color:
        var(--brand-yellow) !important;
}


/* =========================================================
   CONTADOR
========================================================= */

.hero-contador {

    display: flex !important;

    align-items: center !important;

    gap: 5px !important;

    flex-shrink: 0 !important;

    color:
        rgba(
            250,
            246,
            239,
            0.3
        ) !important;

    font-family:
        monospace !important;

    font-size:
        12px !important;

    letter-spacing:
        0.15em !important;

    white-space:
        nowrap !important;
}


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

@media (max-width: 767px) {


    /* =====================================================
       HERO
    ===================================================== */

    .hero-restaurante {

        position: relative !important;

        display: block !important;

        grid-template-columns:
            none !important;

        width: 100% !important;
        max-width: 100% !important;

        min-height:
            100svh !important;

        margin:
            0 !important;

        padding:
            0 !important;

        background:
            var(--brand-black) !important;

        overflow:
            hidden !important;
    }


    /* =====================================================
       LINHA
    ===================================================== */

    .hero-restaurante > .hero-linha {

        position:
            relative !important;

        display:
            block !important;

        grid-template-columns:
            none !important;

        width:
            100% !important;

        max-width:
            100% !important;

        min-height:
            100svh !important;

        margin:
            0 !important;

        padding:
            0 !important;
    }


    /* =====================================================
       CONTEÚDO
       CENTRALIZADO VERTICALMENTE
    ===================================================== */

    .hero-conteudo {

        position:
            relative !important;

        display:
            flex !important;

        flex-direction:
            column !important;

        align-items:
            stretch !important;

        justify-content:
            center !important;

        width:
            100% !important;

        max-width:
            100% !important;

        min-width:
            0 !important;

        min-height:
            100svh !important;

        box-sizing:
            border-box !important;

        margin:
            0 !important;

        padding:
            40px
            28px
            150px !important;

        background:
            var(--brand-black) !important;

        z-index:
            5 !important;
    }


    .hero-conteudo > * {

        width:
            100% !important;

        max-width:
            100% !important;

        min-width:
            0 !important;

        margin-left:
            0 !important;

        margin-right:
            0 !important;
    }


    /* =====================================================
       CATEGORIA
    ===================================================== */

    .hero-categoria {

        position:
            static !important;

        top:
            auto !important;

        left:
            auto !important;

        width:
            100% !important;

        max-width:
            100% !important;

        margin:
            0
            0
            26px
            0 !important;

        padding:
            0 !important;

        font-size:
            11px !important;

        font-weight:
            600 !important;

        line-height:
            1.4 !important;

        letter-spacing:
            0.27em !important;

        white-space:
            nowrap !important;
    }


    /* =====================================================
       BLOCO DE TEXTO
    ===================================================== */

    .hero-bloco-texto {

        display:
            block !important;

        position:
            relative !important;

        width:
            100% !important;

        max-width:
            370px !important;

        min-width:
            0 !important;

        margin:
            0 !important;

        padding:
            0 !important;

        box-sizing:
            border-box !important;
    }


    /* =====================================================
       TÍTULO
    ===================================================== */

    .hero-bloco-texto .hero-titulo {

        width:
            100% !important;

        max-width:
            340px !important;

        min-width:
            0 !important;

        margin:
            0 !important;

        padding:
            0 !important;

        font-size:
            clamp(
                46px,
                13vw,
                58px
            ) !important;

        line-height:
            0.90 !important;

        letter-spacing:
            -1px !important;

        font-weight:
            900 !important;
    }


    .hero-titulo > span,
    .hero-titulo > em {

        display:
            block !important;

        width:
            auto !important;

        max-width:
            none !important;

        white-space:
            nowrap !important;
    }


    .hero-titulo .hero-ponto {

        display:
            inline !important;

        width:
            auto !important;

        max-width:
            none !important;
    }


    /* =====================================================
       DESCRIÇÃO
    ===================================================== */

    .hero-bloco-texto .hero-descricao {

        display:
            block !important;

        width:
            100% !important;

        max-width:
            340px !important;

        min-width:
            0 !important;

        margin:
            24px
            0
            24px !important;

        padding:
            0 !important;

        font-size:
            13px !important;

        line-height:
            1.7 !important;

        white-space:
            normal !important;

        word-break:
            normal !important;

        overflow-wrap:
            normal !important;
    }


    /* =====================================================
       BOTÕES
    ===================================================== */

    .hero-bloco-texto .hero-botoes {

        display:
            flex !important;

        flex-direction:
            row !important;

        flex-wrap:
            nowrap !important;

        align-items:
            center !important;

        width:
            100% !important;

        max-width:
            370px !important;

        min-width:
            0 !important;

        margin:
            0 !important;

        padding:
            0 !important;

        gap:
            10px !important;
    }


    .hero-bloco-texto .hero-btn {

        display:
            inline-flex !important;

        align-items:
            center !important;

        justify-content:
            center !important;

        width:
            auto !important;

        min-width:
            0 !important;

        height:
            46px !important;

        min-height:
            46px !important;

        box-sizing:
            border-box !important;

        padding:
            0
            14px !important;

        font-size:
            13px !important;

        white-space:
            nowrap !important;
    }


    .hero-bloco-texto .hero-btn-amarelo {

        flex:
            1.35
            1
            0 !important;
    }


    .hero-bloco-texto .hero-btn-contorno {

        flex:
            1
            1
            0 !important;
    }


    /* =====================================================
       FOTO GRANDE
       ESCONDIDA NO MOBILE
    ===================================================== */

    .hero-imagem {

        position:
            absolute !important;

        inset:
            0 !important;

        width:
            100% !important;

        max-width:
            100% !important;

        height:
            100svh !important;

        min-height:
            100svh !important;

        margin:
            0 !important;

        padding:
            0 !important;

        overflow:
            visible !important;

        background:
            transparent !important;

        pointer-events:
            none !important;

        z-index:
            20 !important;
    }


    .hero-slider {

        position:
            absolute !important;

        inset:
            0 !important;

        width:
            100% !important;

        height:
            100% !important;

        margin:
            0 !important;

        padding:
            0 !important;

        overflow:
            visible !important;

        pointer-events:
            none !important;
    }


    .hero-slides {

        display:
            none !important;
    }


    .hero-imagem::after,
    .hero-imagem::before {

        display:
            none !important;
    }


    /* =====================================================
       CONTROLES
       SUBIDOS NO MOBILE
    ===================================================== */

    .hero-slider-controles {

        position:
            absolute !important;

        left:
            28px !important;

        right:
            28px !important;

        bottom:
            52px !important;

        display:
            flex !important;

        align-items:
            center !important;

        gap:
            12px !important;

        z-index:
            50 !important;

        pointer-events:
            auto !important;
    }


    /* =====================================================
       MINIATURAS
    ===================================================== */

    .hero-miniaturas {

        display:
            flex !important;

        align-items:
            center !important;

        flex-wrap:
            nowrap !important;

        gap:
            6px !important;

        max-width:
            calc(100vw - 145px) !important;

        overflow-x:
            auto !important;

        overflow-y:
            hidden !important;

        scrollbar-width:
            none !important;
    }


    .hero-miniaturas::-webkit-scrollbar {

        display:
            none !important;
    }


    .hero-miniatura {

        flex:
            0
            0
            40px !important;

        width:
            40px !important;

        height:
            40px !important;

        margin:
            0 !important;

        padding:
            0 !important;

        border-width:
            2px !important;

        border-radius:
            4px !important;
    }


    .hero-miniatura img {

        width:
            100% !important;

        height:
            100% !important;

        object-fit:
            cover !important;
    }


    /* =====================================================
       CONTADOR
    ===================================================== */

    .hero-contador {

        display:
            flex !important;

        align-items:
            center !important;

        flex-shrink:
            0 !important;

        gap:
            5px !important;

        font-size:
            11px !important;

        letter-spacing:
            0.12em !important;

        white-space:
            nowrap !important;
    }

}


/* =========================================================
   IPHONES / CELULARES MAIS ESTREITOS
========================================================= */

@media (max-width: 390px) {

    .hero-conteudo {

        padding:
            38px
            22px
            140px !important;
    }


    .hero-categoria {

        margin-bottom:
            24px !important;

        font-size:
            10px !important;

        letter-spacing:
            0.22em !important;
    }


    .hero-bloco-texto {

        width:
            100% !important;

        max-width:
            100% !important;
    }


    .hero-bloco-texto .hero-titulo {

        width:
            100% !important;

        max-width:
            100% !important;

        font-size:
            clamp(
                43px,
                13vw,
                52px
            ) !important;
    }


    .hero-bloco-texto .hero-descricao {

        width:
            100% !important;

        max-width:
            100% !important;

        font-size:
            12.5px !important;
    }


    .hero-bloco-texto .hero-botoes {

        width:
            100% !important;

        max-width:
            100% !important;
    }


    .hero-bloco-texto .hero-btn {

        padding:
            0
            10px !important;

        font-size:
            12px !important;
    }


    .hero-slider-controles {

        left:
            22px !important;

        right:
            22px !important;

        bottom:
            46px !important;
    }

}




/* =========================================================
   CORREÇÃO DA POSIÇÃO DA CATEGORIA DO HERO - DESKTOP
========================================================= */

@media (min-width: 768px) {

    .hero-restaurante .hero-conteudo .hero-categoria {

        position: static !important;

        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;

        width: 100% !important;

        margin:
            0
            0
            28px
            0 !important;

        padding: 0 !important;
    }

}



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

#masthead {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;

    width: 100% !important;

    z-index: 99999 !important;

    background: #FAF6EF !important;

    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08) !important;
}


/* Cria espaço para o menu não ficar em cima do conteúdo */
body {
    padding-top: 60px !important;
}


/* Quando clicar nas âncoras do menu,
   o título da seção não fica escondido */
html {
    scroll-padding-top: 80px !important;
}


/* =========================================================
   QUANDO ESTIVER LOGADA NO WORDPRESS
========================================================= */

body.admin-bar #masthead {
    top: 32px !important;
}


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

@media (max-width: 782px) {

    body {
        padding-top: 60px !important;
    }

    body.admin-bar #masthead {
        top: 46px !important;
    }

}