
/* ============================================================
   ESTILOS GLOBAIS (APLICADOS A TODAS AS TELAS)
   ============================================================ */

/* Título estilizado com borda (vazado) sobre a imagem */
.image-container .title {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 2em;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: rgba(0, 0, 0, 0);
    /* Texto transparente */
    -webkit-text-stroke: 2px rgb(0, 0, 0);
    /* Borda preta no texto */
    text-align: center;
}

/* Link para tornar toda a área da imagem clicável */
.image-container a {
    display: block;
    text-decoration: none;
}

/* Efeito visual ao passar o mouse no container */
.image-container:hover {
    transform: scale(1.05);
    filter: brightness(0.85);
    z-index: 2;
}


/* ============================================================
   LAYOUT PARA TELAS MAIORES (PAISAGEM / DESKTOP)
   ============================================================ */
@media (min-width: 700px) and (orientation: landscape) {
		:root {
            --primary-color: #dadada;
            --hover-color: #c0c0c0;
            --active-color: #b0b0b0;
            --text-color: #333;
            --slant-width: 30px; /* Largura da inclinação */
        }

       

        .custom-bar {
            display: flex;
            width: 70vw;
            height: 60px;
            filter: drop-shadow(0 4px 6px rgba(0,0,0,0.1));
        }

        .bar-item {
            flex: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            background-color: var(--primary-color);
            text-decoration: none;
            color: var(--text-color);
            transition: all 0.3s ease;
            position: relative;
            /* Compensação para evitar vãos entre as divs */
            margin-right: -15px; 
        }

        .bar-item:last-child {
            margin-right: 0;
        }

        /* 1. Div da Esquerda: Arredondada na esquerda, corte / na direita */
        .item-left {
            border-radius: 15px 0 0 15px;
            clip-path: polygon(0 0, 100% 0, calc(100% - var(--slant-width)) 100%, 0 100%);
        }

        /* 2 e 3. Divs Centrais: Paralelogramos */
        .item-center {
            clip-path: polygon(var(--slant-width) 0, 100% 0, calc(100% - var(--slant-width)) 100%, 0 100%);
        }

        /* 4. Div da Direita: Corte / na esquerda, arredondada na direita */
        .item-right {
            border-radius: 0 15px 15px 0;
            clip-path: polygon(var(--slant-width) 0, 100% 0, 100% 100%, 0 100%);
        }

        /* Hover Effects */
        .bar-item:hover {
            background-color: var(--hover-color);
            z-index: 2; /* Garante que o item em hover fique por cima */
            transform: translateY(-2px);
        }

        .bar-item:active {
            background-color: var(--active-color);
        }

        .custom-bar span {
            pointer-events: none; /* Garante que o clique seja no link */
            text-decoration: none;
        }





    .image-mobi {
        display: none;
    }

    body {
        font-family: "Bell MT", Sans-serif;
        font-size: 20px;
        height: auto;
        /* Mantém o comportamento original de travar rolagem */
    }

    /* Caixa interativa principal */
    .caixa {
        width: 17vw;
        height: 4.5vw;
        position: relative;
        border-radius: 15px 15px 0px 15px;
        cursor: pointer;
        transition: transform 0.2s, background-color 0.2s;
        font-family: Arial, sans-serif;
        color: #333;
        background-color: #b6b6b6;
        z-index: 10;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 14px;
    }

    .caixa span {
        position: relative;
        z-index: 11;
        top: 7px;
        left: 0%;
        transform: translate(0%, -25%);
        pointer-events: none; /* Garante que o clique seja no link */
    }

    /* Elemento de profundidade (sombra sólida) atrás da caixa */
    .caixa::after {
        content: '';
        position: absolute;
        width: 100%;
        height: 100%;
        margin-bottom: 7px;
        left: 0;
        background-color: #c4c4c4;
        border-radius: 15px 15px 0px 15px;
        z-index: 9;
    }

    .caixa:hover::after,
    .caixa.active::after {
        background-color: #303030;
    }

    .caixa:hover,
    .caixa.active {
        transform: scale(1.1);
        background-color: #080808;
        color: #dadada;
    }

    /* Container de conteúdo com fundo embaçado */
    .conteudo-principal {
        width: 100%;
        position: relative;
        min-height: 0;
        padding: 90px 0;
        overflow: hidden;
        border-radius: 0 15px 0 15px;
    }

    /* Configuração do título da obra com limite de altura */
    .tituloObra {
        position: absolute;
        display: flex;
        flex-wrap: wrap;
        color: #333;
        word-wrap: break-word;
        overflow-wrap: break-word;
        min-height: 0px;
        max-height: 55px;
        width: 12vw;
        text-overflow: ellipsis;
        overflow: hidden;
        margin: 20vw 0 0 0;
        /* Margem de apenas 5px no topo, zero nas laterais/baixo */

    }

    .divInterna {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-evenly;
        /*justify-content: space-evenly; Espaço entre as obras */
        align-items: flex-start;
        gap: 80px 0;
    }

    /* Container que segura todos os itens */
    #resultado,
    #recemAdicionadoId,
    #melhoresClassificadosId {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-evenly;
        /*justify-content: space-evenly; Espaço entre as obras */
        align-items: flex-start;
        gap: 120px 0;
    }

    /* A div de cada obra */
    .card-obra {
        position: relative;
        width: 12vw !important;
        height: 20vw !important;
        object-fit: cover;
        image-rendering: pixelated !important;
        border-radius: 10px !important;
        display: flex;
        flex-direction: column;
        margin: 0;
        padding: 0;
    }

    .card-obra img {
        object-fit: cover;
        width: 12vw !important;
        height: 20vw !important;
        display: block;
        /* Remove o espaço vazio embaixo da imagem */
        border-radius: 8px;
        /* Opcional: deixa as bordas arredondadas */
        transition: transform 0.3s ease, filter 0.3s ease !important;
    }

    .card-obra img:hover {
        filter: brightness(0.85);
    }


    .avaliacoes {
        display: block;
        position: relative;
        top: 280px;
    }

    /* O título da obra */



    /* Imagem de fundo com Blur (Pseudo-elemento) */
    .conteudo-principal::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 120%;
        background-image: url('https://novellivre.cc/wp-content/uploads/2026/03/container_principal-scaled.jpg');
        background-size: cover;
        background-position: center;
        filter: blur(10px) brightness(1.0);
        opacity: 0.3;
        z-index: 0;
        /* Garante que o fundo fique atrás do conteúdo */
    }

    /* Grid que agrupa as imagens */
    .image-stack {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 20px;
        width: 70vw;
        padding: 25px 15px;
        background-color: #f0f0f0;
        border-radius: 20px;
        margin-top: 20px;
    }

    .image-container {
        position: relative;
        width: 31%;
        border-radius: 15px;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
        overflow: hidden;
        cursor: pointer;
        transition: transform 0.3s ease, filter 0.3s ease;
    }

    .image-container img {
        display: block;
        width: 100%;
        object-fit: cover;
    }

    /* Seção secundária de conteúdo */
    .conteudo2 {
        background-color: #fff;
        border-radius: 15px;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
        margin-top: 25px;
        z-index: 0;
        width: 70vw;
    }

    /* Etiqueta escura com posicionamento centralizado */
    .caixaPreta {
        height: 8vh;
        width: 16vw;
        border-radius: 0 15px 0 15px;
        background-color: #333;
        color: #fff;
        font-family: Arial, sans-serif;
        font-size: 80%;
        margin: 0;
        position: absolute;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
        text-align: center;
        z-index: 2;
    }

    /* Garante centralização do parágrafo dentro da caixa preta */
    .caixaPreta p {
        position: relative;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        margin: 0;
    }

    /* Faixa de separação horizontal */
    .faixa {
        display: flex;
        gap: 25px;
        justify-content: center;
        align-items: center;
        margin: 20px 0;
        width: 70vw;
        height: 6vw;
        background-color: #dadada;
        padding: 10px 20px;
        border-radius: 10px 10px 0 10px;
    }
}

/* ============================================================
LAYOUT PARA CELULAR (MOBILE)
============================================================ */
@media (max-width: 700px) {
		:root {
            --primary-color: #dadada;
            --hover-color: #c0c0c0;
            --active-color: #b0b0b0;
            --text-color: #333;
            --slant-width: 30px; /* Largura da inclinação */
        }

       

        .custom-bar {
            display: flex;
            flex-wrap: wrap;
            height: auto;
            filter: drop-shadow(0 4px 6px rgba(0,0,0,0.1));
            margin-bottom: 15px;
        }

        .bar-item {
            position: relative;
        	height: 70px;
            flex: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            background-color: var(--primary-color);
            text-decoration: none;
            color: var(--text-color);
            transition: all 0.3s ease;
            /* Compensação para evitar vãos entre as divs */
            margin-right: -15px; 
        }

        .bar-item:last-child {
            margin-right: 0;
        }

        /* 1. Div da Esquerda: Arredondada na esquerda, corte / na direita */
        .item-left {
            border-radius: 15px 0 0 15px;
            clip-path: polygon(0 0, 100% 0, calc(100% - var(--slant-width)) 100%, 0 100%);
        }
        
        /* 2 e 3. Divs Centrais: Paralelogramos */
        .item-center {
            clip-path: polygon(var(--slant-width) 0, 100% 0, calc(100% - var(--slant-width)) 100%, 0 100%);
        }


        /* 4. Div da Direita: Corte / na esquerda, arredondada na direita */
        .item-right {
            border-radius: 0 15px 15px 0;
            clip-path: polygon(var(--slant-width) 0, 100% 0, 100% 100%, 0 100%);
        }

        /* Hover Effects */
        .bar-item:hover {
            background-color: var(--hover-color);
            z-index: 2; /* Garante que o item em hover fique por cima */
            transform: translateY(-2px);
        }

        .bar-item:active {
            background-color: var(--active-color);
        }

        .custom-bar span {
            pointer-events: none; /* Garante que o clique seja no link */
            text-decoration: none;
        }





    /* Reset de elementos que não aparecem no mobile */
    .image-comp {
        display: none;
    }

    body {
        font-family: "Bell MT", Sans-serif;
        font-size: 14px;
        /* Escala levemente menor para mobile */
        overflow-x: hidden;
    }



    .card-obra {
        width: 40vw!important;
        /* Largura para caber duas na tela com folga */
        height: auto!important;
        position: relative;
    }

    .card-obra img {
        width: 100%!important;
        height: 65vw!important;
        /* Altura fixa proporcional */
        object-fit: cover;
        border-radius: 10px;
    }

    .tituloObra {
        position: relative;
        width: 100%;
        margin-top: 8px;
        font-size: 0.9em;
        text-align: center;
        display: block;
        /* Garante que ocupe a linha toda abaixo da imagem */
        color: #333;
        max-height: 3.6em;
        /* Limita a 2 ou 3 linhas */
        overflow: hidden;
    }

    /* --- CAIXAS DE SELEÇÃO (CENTRALIZAÇÃO TOTAL) --- */
    .caixa {
        width: 35vw;
        height: 35vw;
        justify-content: center;
        align-items: center;
        background-color: #b6b6b6;
		border-radius: 12px 12px 0px 12px;
        position: relative;
        color: #333;
        transition: transform 0.2s, background-color 0.2s;
        z-index: 10;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 14px;
        text-align: center;
    }

    .caixa span {
        position: relative;
        z-index: 11;
        left: 0%;
        transform: translate(0%, -50%);
        pointer-events: none; /* Garante que o clique seja no link */
    }

/* Elemento de profundidade (sombra sólida) atrás da caixa */
    .caixa::after {
        content: '';
        position: absolute;
        width: 100%;
        height: 100%;
        bottom: 5px;
        left: 0;
        background-color: #c4c4c4;
        border-radius: 15px 15px 0px 15px;
        z-index: 9;
    }
    .caixa:hover::after,
    .caixa.active::after {
        background-color: #303030;
    }

    .caixa:hover,
    .caixa.active {
        transform: scale(1.1 , 1.1);
        background-color: #080808;
        color: #dadada;
    }

    /* Etiqueta preta centralizada */
    .caixaPreta {
        width: 90vw;
        height: 50px;
        background-color: #333;
        color: #fff;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 0 15px 0 15px;
        position: absolute;
        /* Mudado de absolute para não flutuar errado */
    }

    /* --- IMAGE STACK (REDES SOCIAIS) --- */
    .image-stack {
        display: flex;
        flex-direction: column;
        /* Empilha no mobile */
        align-items: center;
        gap: 20px;
        width: 90vw;
        margin: 20px auto;
        padding: 20px;
        background-color: #f0f0f0;
        border-radius: 15px;
    }

    .image-container {
        width: 100% !important;
        /* Ocupa a largura do stack */
        height: 150px;
        position: relative;
        border-radius: 12px;
        overflow: hidden;
    }

    .image-container img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    /* Centralizar o nome da rede social sobre a imagem */
    .image-container .title {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 90%;
        font-size: 1.5em;
        z-index: 2;
        pointer-events: none;
        /* Permite clicar no link por baixo */
    }

    /* --- FAIXA E CONTEÚDO --- */
    .faixa {
        width: 90vw;
        height: 90vw;
        justify-content: center;
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        background-color: #dadada;
        border-radius: 10px 10px 0 10px;
        z-index: 1;
    }

    .conteudo-principal {
        padding: 40px 0;
        width: 90vw;
    }

    .conteudo2 {
        width: 90vw;
        margin: 20px auto;
        padding-top: 20px;
    }
    .conteudo-principal {
        width: 90vw;
        position: relative;
        justify-content:space-between;
        align-items: center;
        overflow: hidden;
        border-radius: 0 15px 0 15px;
    }

    .conteudo-principal::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url('https://novellivre.cc/wp-content/uploads/2026/03/container_principal-scaled.jpg');
        background-size: cover;
        background-position: center;
        filter: blur(8px) brightness(1.0);
        opacity: 0.3;
        z-index: 0;
        border-radius: 0 15px 0 15px;
    }
    
    .divInterna {
        position: relative;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-evenly;
        align-items: flex-start;
        margin: 0 auto;
        margin-top: 5vh;
    }
}