*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

:root{
    --marrom:#2e1b0f;
    --marrom-escuro:#1f0e05;
    --marrom-medio:#5a3218;
    --dourado:#b97a18;
    --dourado-forte:#c57a08;
    --dourado-claro:#e5bd6b;
    --bege:#f8f1e4;
    --bege-claro:#fffaf0;
    --bege-card:#fff9ed;
    --verde:#233d25;
    --verde-claro:#2f6b44;
    --vermelho:#a63c30;
    --texto-suave:#68482f;
    --borda:#d8b46c;
    --sombra:0 10px 25px rgba(60,30,0,.14);
}

html{
    scroll-behavior:smooth;
}

body{
    min-width:320px;
    background:var(--bege);
    color:var(--marrom);
    font-family:Georgia,"Times New Roman",serif;
}

img{
    max-width:100%;
}

a,
button,
input{
    font:inherit;
}

a:focus-visible,
button:focus-visible,
input:focus-visible{
    outline:3px solid rgba(185,122,24,.35);
    outline-offset:3px;
}

/* CABEÇALHO */

.topo{
    min-height:220px;
    display:grid;
    grid-template-columns:270px minmax(0,1fr);
    align-items:center;
    gap:18px;
    padding:8px clamp(18px,4vw,70px) 18px;
    background:linear-gradient(90deg,#fff8e8,#f4dfad,#fff8e8);
    border-bottom:3px solid var(--dourado);
}

.topo-logo{
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
}

.topo-logo img{
    width:245px;
    height:205px;
    object-fit:contain;
    filter:drop-shadow(0 13px 18px rgba(0,0,0,.38));
}

@media(min-width:1051px){
    .topo-logo img{
        transform:scale(1.12);
        transform-origin:center;
    }
}

.topo-centro{
    min-width:0;
    text-align:center;
}

.topo-centro h1{
    color:var(--marrom);
    font-size:clamp(28px,2.4vw,39px);
    line-height:1.08;
}

.topo-centro > p{
    margin-top:10px;
    color:#6c3c17;
    font-size:17px;
    font-weight:bold;
}

.menu-toggle{
    display:none;
    min-width:150px;
    min-height:44px;
    align-items:center;
    justify-content:center;
    gap:9px;
    margin:16px auto 0;
    padding:10px 20px;
    border:1px solid #a96506;
    border-radius:24px;
    background:var(--dourado-forte);
    color:#fff;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 5px 12px rgba(80,40,0,.18);
}

.menu-toggle:hover{
    background:#a96506;
}

.menu{
    width:min(100%,1180px);
    min-height:0;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:4px;
    margin:18px auto 0;
    padding:9px 10px;
    background:linear-gradient(90deg,#fff3cf,#f2d890,#fff3cf);
    border:1px solid rgba(185,122,24,.22);
    border-radius:18px;
    box-shadow:0 6px 14px rgba(80,40,0,.16);
}

.menu-paginas{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    column-gap:14px;
    row-gap:0;
}

.menu a{
    position:relative;
    padding:8px 2px;
    color:var(--marrom);
    font-size:12px;
    font-weight:bold;
    text-decoration:none;
    text-transform:uppercase;
    white-space:nowrap;
    transition:color .2s ease,transform .2s ease;
}

.menu a:hover,
.menu a.ativo{
    color:#9f5c04;
    transform:translateY(-1px);
}

.menu a.ativo:not(.botao-admin)::after{
    content:"";
    position:absolute;
    right:0;
    bottom:1px;
    left:0;
    height:2px;
    border-radius:3px;
    background:var(--dourado);
}

.menu .botao-admin{
    padding:10px 16px;
    border-radius:22px;
    background:var(--dourado-forte);
    color:#fff!important;
    font-size:12px;
}

.menu .botao-leitor{
    padding:10px 16px;
    border:1px solid #a96506;
    border-radius:22px;
    background:#fff7df;
    color:#8b4c00;
    font-size:12px;
}

.menu .botao-professor{
    padding:10px 14px;
    border:1px solid #357b73;
    border-radius:22px;
    background:#edf8f3;
    color:#1d655d;
    font-size:12px;
}

.menu-acoes{
    display:inline-flex;
    flex:none;
    align-items:center;
    justify-content:center;
    gap:9px;
}

.portais-fixos{
    width:min(100%,920px);
    margin:12px auto 0;
    flex-wrap:wrap;
    padding:0 12px;
    border:0;
    background:transparent;
    box-shadow:none;
}

.portais-fixos a{
    text-decoration:none;
    font-weight:bold;
    transition:transform .2s ease,box-shadow .2s ease;
}

.portais-fixos a:hover{
    transform:translateY(-2px);
    box-shadow:0 5px 10px rgba(80,40,0,.15);
}

.portais-fixos .botao-admin{
    border-radius:22px;
    background:var(--dourado-forte);
    color:#fff;
}

.portais-fixos .botao-leitor{
    border:1px solid #a96506;
    border-radius:22px;
    background:#fff7df;
    color:#8b4c00;
}

.portais-fixos .botao-professor{
    border:1px solid #357b73;
    border-radius:22px;
    background:#edf8f3;
    color:#1d655d;
}

.menu-acoes .botao-leitor,
.menu-acoes .botao-professor,
.menu-acoes .botao-admin{
    width:auto;
    min-width:145px;
    min-height:37px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    padding:8px 10px;
    font-size:11px;
    line-height:1.15;
}

.topo-centro.menu-responsivo-ativo .menu-toggle{
    display:inline-flex;
}

.topo-centro.menu-responsivo-ativo .menu{
    display:none;
    width:min(100%,680px);
    min-height:0;
    align-items:stretch;
    flex-direction:column;
    gap:4px;
    margin-top:10px;
    margin-right:auto;
    margin-left:auto;
    padding:12px;
}

.topo-centro.menu-responsivo-ativo .menu-paginas{
    width:100%;
    align-items:stretch;
    flex-direction:column;
    gap:4px;
}

.topo-centro.menu-responsivo-ativo .menu.menu-aberto{
    display:flex;
}

.topo-centro.menu-responsivo-ativo .menu-paginas > a{
    width:100%;
    min-height:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:9px 12px;
    border-radius:9px;
}

.topo-centro.menu-responsivo-ativo .menu-paginas > a:hover,
.topo-centro.menu-responsivo-ativo .menu-paginas > a.ativo{
    background:rgba(185,122,24,.12);
}

.topo-centro.menu-responsivo-ativo .menu-acoes{
    width:100%;
    margin-top:5px;
}

.topo-centro.menu-responsivo-ativo .menu-acoes .botao-leitor,
.topo-centro.menu-responsivo-ativo .menu-acoes .botao-professor,
.topo-centro.menu-responsivo-ativo .menu-acoes .botao-admin{
    flex:1;
}

/* PÁGINA INICIAL */

.hero{
    min-height:450px;
    display:flex;
    align-items:center;
    background:
        linear-gradient(rgba(22,8,2,.38),rgba(22,8,2,.50)),
        url("../../img/fundo-biblioteca.jpg") center/cover no-repeat;
    border-bottom:1px solid #7d3e10;
}

.hero-conteudo{
    width:min(660px,82%);
    margin-left:10%;
    padding:55px 0;
    color:#fff;
}

.hero h2{
    font-size:clamp(38px,4.4vw,58px);
    line-height:1.1;
    text-shadow:0 3px 12px rgba(0,0,0,.60);
}

.hero h2 span{
    display:block;
    color:#e2a132;
    font-style:italic;
}

.hero p{
    max-width:620px;
    margin-top:22px;
    font-size:18px;
    line-height:1.65;
    text-shadow:0 2px 8px rgba(0,0,0,.58);
}

.btn,
.botao-classico{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-height:46px;
    padding:12px 22px;
    border:1px solid var(--dourado-forte);
    border-radius:24px;
    background:var(--dourado-forte);
    color:#fff;
    font-weight:bold;
    text-decoration:none;
    transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}

.btn{
    margin-top:26px;
}

.btn:hover,
.botao-classico:hover{
    background:#a96506;
    box-shadow:0 7px 17px rgba(60,30,0,.20);
    transform:translateY(-2px);
}

.botao-classico.secundario{
    background:transparent;
    color:#8d5107;
}

.cards{
    width:min(1180px,88%);
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:28px;
    margin:60px auto;
}

.card{
    min-height:250px;
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:35px 25px;
    background:linear-gradient(180deg,#fffaf0,#f8e8bf);
    border:1px solid var(--borda);
    border-radius:18px;
    box-shadow:var(--sombra);
    text-align:center;
    transition:transform .2s ease,box-shadow .2s ease;
}

.card:hover{
    box-shadow:0 14px 29px rgba(60,30,0,.18);
    transform:translateY(-5px);
}

.card i{
    margin-bottom:20px;
    color:#b87512;
    font-size:42px;
}

.card h3{
    margin-bottom:13px;
    font-size:23px;
}

.card p{
    color:#4b3218;
    font-size:16px;
    line-height:1.55;
}

.card .card-link{
    margin-top:auto;
    padding-top:20px;
    color:#9b5b08;
    font-weight:bold;
    text-decoration:none;
}

.estatisticas{
    padding:48px 24px;
    background:var(--verde);
    color:#fff;
    text-align:center;
}

.estatisticas h2{
    font-size:clamp(26px,3vw,36px);
    font-weight:normal;
    line-height:1.35;
}

/* BASE DAS PÁGINAS INTERNAS */

.pagina-hero{
    position:relative;
    min-height:290px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background:
        linear-gradient(rgba(24,8,2,.42),rgba(24,8,2,.55)),
        url("../../img/fundo-biblioteca.jpg") center/cover no-repeat;
    border-bottom:1px solid #7d3e10;
    color:#fff;
    text-align:center;
}

.pagina-hero::after{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at center,transparent 0 22%,rgba(0,0,0,.20) 78%);
}

.pagina-hero-conteudo{
    position:relative;
    z-index:1;
    max-width:860px;
    padding:48px 24px;
}

.pagina-hero h2{
    font-size:clamp(40px,5vw,56px);
    line-height:1.08;
    text-shadow:0 3px 12px rgba(0,0,0,.65);
}

.pagina-hero p{
    margin-top:15px;
    color:#f2c56f;
    font-size:20px;
    line-height:1.55;
    text-shadow:0 2px 8px rgba(0,0,0,.70);
}

.pagina-conteudo{
    width:min(1160px,88%);
    margin:0 auto;
    padding:55px 0 75px;
}

.pagina-intro{
    max-width:850px;
    margin:0 auto 42px;
    text-align:center;
}

.pagina-intro h2{
    margin-bottom:16px;
    font-size:clamp(30px,3.6vw,40px);
}

.pagina-intro p{
    color:#4b3218;
    font-size:18px;
    line-height:1.75;
}

.grade-classica{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:28px;
}

.cartao-classico{
    min-height:255px;
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:34px 26px;
    background:linear-gradient(180deg,#fffaf0,#f8e8bf);
    border:1px solid var(--borda);
    border-radius:18px;
    box-shadow:var(--sombra);
    text-align:center;
    transition:transform .2s ease,box-shadow .2s ease;
}

.cartao-classico:hover{
    box-shadow:0 14px 29px rgba(60,30,0,.18);
    transform:translateY(-4px);
}

.cartao-classico i{
    margin-bottom:18px;
    color:#b87512;
    font-size:43px;
}

.cartao-classico h3{
    margin-bottom:13px;
    font-size:24px;
}

.cartao-classico p{
    color:#4b3218;
    font-size:16px;
    line-height:1.65;
}

.cartao-classico .rotulo{
    display:inline-block;
    margin-top:auto;
    padding-top:18px;
    color:#965707;
    font-weight:bold;
}

.chamada-classica{
    margin-top:45px;
    padding:34px;
    background:#fff8e8;
    border:1px solid var(--borda);
    border-left:6px solid var(--dourado);
    border-radius:16px;
    text-align:center;
}

.chamada-classica h2{
    margin-bottom:12px;
    font-size:29px;
}

.chamada-classica p{
    max-width:760px;
    margin:0 auto;
    color:#4b3218;
    font-size:17px;
    line-height:1.7;
}

.chamada-classica .acoes{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:12px;
    margin-top:22px;
}

/* ACERVO */

.acervo-publico{
    width:min(1180px,88%);
    margin:0 auto;
    padding:48px 0 75px;
}

.busca-acervo{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:30px;
    padding:20px;
    background:#fff9ee;
    border:1px solid #e2bd75;
    border-radius:17px;
    box-shadow:0 7px 18px rgba(67,31,8,.08);
}

.busca-acervo input,
.busca-acervo select{
    flex:1;
    min-width:0;
    padding:13px 15px;
    background:#fff;
    border:1px solid var(--dourado);
    border-radius:12px;
    color:var(--marrom);
    font-size:15px;
}

.busca-acervo select{
    flex:0 1 210px;
    background:#fffdf7;
}

.busca-acervo button,
.busca-acervo a{
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:11px 20px;
    border:1px solid var(--dourado);
    border-radius:22px;
    font-weight:bold;
    text-decoration:none;
    cursor:pointer;
}

.busca-acervo button{
    background:var(--dourado-forte);
    color:#fff;
}

.busca-acervo a{
    background:#fff;
    color:#5a2b11;
}

.resultado-busca{
    margin:-10px 0 26px;
    color:var(--texto-suave);
    font-size:15px;
}

.lista-livros{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
}

.livro-card{
    position:relative;
    min-height:330px;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    padding:28px;
    background:linear-gradient(180deg,rgba(255,255,255,.55),transparent 42%),#fffaf1;
    border:1px solid #e1bd76;
    border-radius:20px;
    box-shadow:0 10px 24px rgba(69,32,8,.10);
    transition:transform .18s ease,box-shadow .18s ease;
}

.tipo-acervo-selo{
    align-self:flex-start;
    display:inline-flex;
    margin-bottom:12px;
    padding:6px 11px;
    background:#f4dfb5;
    border:1px solid #d5a653;
    border-radius:999px;
    color:#6a3a06;
    font-size:12px;
    font-weight:bold;
    letter-spacing:.02em;
}

.tipo-acervo-selo.pesquisa{
    background:#e4eee3;
    border-color:#8daf86;
    color:#315b2d;
}

.chamada-bibliotecas-digitais{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    margin-top:38px;
    padding:28px 32px;
    background:linear-gradient(135deg,#4a210b,#251006);
    border:1px solid #b97819;
    border-radius:20px;
    box-shadow:0 12px 27px rgba(51,22,5,.16);
    color:#f9e8c6;
}

.chamada-bibliotecas-digitais span{
    color:#e6b45f;
    font-size:12px;
    font-weight:bold;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.chamada-bibliotecas-digitais h2{
    margin:5px 0 7px;
    color:#fff5df;
    font-size:29px;
}

.chamada-bibliotecas-digitais p{
    max-width:700px;
    color:#ead2a8;
    line-height:1.55;
}

.chamada-bibliotecas-digitais a{
    flex:none;
    padding:12px 18px;
    background:#c77b08;
    border-radius:999px;
    color:#fff;
    font-weight:bold;
    text-decoration:none;
}

.livro-card::before{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    left:0;
    width:6px;
    background:linear-gradient(180deg,#d89922,#8d4d00);
}

.livro-card:hover{
    box-shadow:0 15px 30px rgba(69,32,8,.15);
    transform:translateY(-3px);
}

.livro-icone{
    position:absolute;
    top:20px;
    right:20px;
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f4dfb5;
    border-radius:12px;
    color:#8c5005;
    font-size:20px;
}

.livro-card h3{
    margin:0 0 9px;
    padding-right:42px;
    font-size:27px;
    line-height:1.2;
}

.livro-autor{
    margin-bottom:18px;
    color:#9a5b05;
    font-weight:bold;
}

.livro-dados{
    display:grid;
    gap:9px;
    margin-top:auto;
}

.livro-dados div{
    display:flex;
    justify-content:space-between;
    gap:14px;
    padding-bottom:7px;
    border-bottom:1px solid #edd8ac;
}

.livro-dados span{
    color:#775137;
    font-size:13px;
}

.livro-dados strong{
    font-size:14px;
    text-align:right;
}

.situacao-livro{
    margin-top:18px;
    padding:9px 13px;
    background:var(--verde-claro);
    border-radius:18px;
    color:#fff;
    font-size:13px;
    font-weight:bold;
    text-align:center;
}

.situacao-livro.indisponivel{
    background:var(--vermelho);
}

.ver-livro{
    display:inline-flex;
    justify-content:center;
    margin-top:12px;
    color:#8d5107;
    font-size:14px;
    font-weight:bold;
    text-decoration:none;
}

.sem-livros{
    padding:45px 25px;
    background:#fffaf1;
    border:1px solid #e1bd76;
    border-radius:18px;
    text-align:center;
}

.sem-livros p{
    margin-top:10px;
    color:var(--texto-suave);
}

/* DETALHE DO LIVRO */

.detalhe-livro{
    width:min(1050px,88%);
    margin:0 auto;
    padding:42px 0 75px;
}

.voltar{
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin-bottom:20px;
    color:#965707;
    font-weight:bold;
    text-decoration:none;
}

.livro-grade{
    display:grid;
    grid-template-columns:280px minmax(0,1fr);
    gap:36px;
    padding:30px;
    background:#fffaf1;
    border:1px solid #dfba70;
    border-radius:22px;
    box-shadow:0 12px 28px rgba(69,32,8,.11);
}

.livro-capa{
    position:relative;
    min-height:390px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:18px;
    overflow:hidden;
    padding:28px;
    background:linear-gradient(135deg,#6c3210,#341305);
    border-radius:8px;
    box-shadow:0 16px 25px rgba(0,0,0,.20);
    color:#f7ddb0;
    text-align:center;
}

.livro-capa::before{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    left:0;
    width:16px;
    background:linear-gradient(90deg,#1f0902,#7f3b0c,#2b0e03);
}

.livro-capa::after{
    content:"";
    position:absolute;
    inset:10px;
    border:1px solid rgba(224,168,73,.58);
}

.livro-capa i,
.livro-capa strong{
    position:relative;
    z-index:1;
}

.livro-capa i{
    font-size:45px;
}

.livro-capa strong{
    font-size:24px;
    line-height:1.3;
}

.livro-capa.tem-imagem{
    padding:14px;
    background:#f7f0e2;
    border:1px solid #d8b46c;
    border-radius:12px;
    box-shadow:0 16px 25px rgba(0,0,0,.20), inset 0 0 0 1px rgba(255,255,255,.75);
}

.livro-capa.tem-imagem::before{
    content:"";
    position:absolute;
    inset:7px;
    width:auto;
    height:auto;
    background:none;
    border:1px solid rgba(185,122,24,.42);
    border-radius:8px;
    pointer-events:none;
    z-index:2;
}

.livro-capa.tem-imagem::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(135deg,rgba(255,255,255,.28),transparent 35%,rgba(80,35,5,.06));
    border-radius:12px;
    pointer-events:none;
    z-index:3;
}

.livro-capa-imagem{
    position:absolute;
    inset:14px;
    width:calc(100% - 28px);
    height:calc(100% - 28px);
    object-fit:cover;
    transform:scale(var(--imagem-zoom,1));
    transform-origin:center;
    background:#241108;
    border-radius:5px;
    z-index:1;
}

.tipo-acervo-detalhe{
    display:inline-block;
    margin:-12px 0 22px;
    padding:7px 12px;
    background:#f5e3bb;
    border:1px solid #d8ad5d;
    border-radius:999px;
    color:#6b3d09;
    font-size:13px;
    font-weight:bold;
}

.livro-conteudo h1{
    margin:18px 0 8px;
    font-size:clamp(34px,4vw,43px);
    line-height:1.1;
}

.livro-conteudo .autor{
    margin-bottom:25px;
    color:#9a5b05;
    font-size:20px;
    font-weight:bold;
}

.status-livro{
    display:inline-block;
    padding:9px 16px;
    background:var(--verde-claro);
    border-radius:18px;
    color:#fff;
    font-weight:bold;
}

.status-livro.nao{
    background:var(--vermelho);
}

.livro-infos{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}

.livro-infos div{
    padding:15px;
    background:#fffdf7;
    border:1px solid #ead09b;
    border-radius:13px;
}

.livro-infos span,
.livro-infos strong{
    display:block;
}

.localizacao-livro-publica{
    display:flex;
    align-items:center;
    gap:14px;
    margin-top:18px;
    padding:16px 18px;
    border:1px solid #d9a748;
    border-radius:13px;
    background:#fff3d2;
    color:#512708;
}

.localizacao-livro-publica i{
    flex:none;
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:50%;
    background:var(--dourado);
    color:#fff;
    font-size:19px;
}

.localizacao-livro-publica div{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.localizacao-livro-publica span{
    color:#815b3c;
    font-size:12px;
    font-weight:bold;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.localizacao-livro-publica strong{
    font-size:18px;
}

.livro-infos span{
    margin-bottom:6px;
    color:#815b3c;
    font-size:12px;
    font-weight:bold;
    text-transform:uppercase;
}

.livro-aviso{
    margin-top:24px;
    padding:20px;
    background:#f8e8c7;
    border-left:5px solid var(--dourado);
    border-radius:12px;
}

.livro-aviso h2{
    margin-bottom:8px;
    font-size:22px;
}

.livro-aviso p{
    line-height:1.6;
}

.livro-reserva-online{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    margin-top:16px;
    padding:20px;
    background:#fff7df;
    border:1px solid #d7a64f;
    border-radius:12px;
}

.livro-reserva-online h2{
    margin-bottom:6px;
    font-size:22px;
}

.livro-reserva-online p{
    color:#5d4129;
    line-height:1.5;
}

.livro-reserva-online a{
    flex:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:11px 19px;
    background:#bf7507;
    border-radius:999px;
    color:#fff;
    font-weight:bold;
    text-decoration:none;
}

/* NOSSA HISTÓRIA */

.historia{
    max-width:920px;
    margin:0 auto;
    padding:48px;
    background:#fff8e8;
    border:1px solid #d7b46d;
    border-radius:18px;
    box-shadow:var(--sombra);
}

.historia h2{
    margin-bottom:32px;
    font-size:34px;
    text-align:center;
}

.historia p{
    margin-bottom:22px;
    color:#402915;
    font-size:19px;
    line-height:1.8;
}

.historia-destaque{
    margin-top:34px;
    color:#9b5b08;
    font-size:25px;
    font-style:italic;
    line-height:1.45;
    text-align:center;
}

/* CONTATO */

.contato-card address{
    color:#4b3218;
    font-size:17px;
    font-style:normal;
    line-height:1.7;
}

/* RODAPÉ */

.rodape-site{
    background:var(--marrom-escuro);
    color:#f6ddb0;
}

.rodape-conteudo{
    width:min(1180px,88%);
    display:grid;
    grid-template-columns:1.2fr 1fr;
    gap:30px 55px;
    margin:0 auto;
    padding:46px 0 35px;
}

.rodape-marca h2{
    margin-bottom:8px;
    color:#ffe8bb;
    font-size:24px;
}

.rodape-marca p{
    color:#dfbd7f;
}

.rodape-links{
    display:flex;
    align-content:flex-start;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:10px 18px;
}

.rodape-links a{
    color:#ffe5af;
    font-size:14px;
    text-decoration:none;
}

.rodape-links a:hover{
    color:#fff;
    text-decoration:underline;
}

.rodape-pilares{
    grid-column:1/-1;
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:10px 25px;
    padding-top:26px;
    border-top:1px solid rgba(255,228,163,.18);
}

.rodape-pilares span::before{
    content:"•";
    margin-right:8px;
    color:var(--dourado-claro);
}

.rodape-final{
    padding:18px 20px 24px;
    background:#160903;
    color:#dcbf89;
    text-align:center;
}

.rodape-final p{
    margin-bottom:7px;
    color:#f4dba9;
}

/* RESPONSIVIDADE */

@media(min-width:1051px) and (max-width:1250px){
    .menu{
        width:100%;
        margin-left:auto;
    }
}

@media(max-width:1050px){
    .topo{
        grid-template-columns:220px minmax(0,1fr);
        padding-inline:24px;
    }

    .topo-logo img{
        width:210px;
        height:185px;
    }

    .menu{
        width:100%;
        margin-left:auto;
    }

    .cards,
    .grade-classica,
    .lista-livros{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:850px){
    .topo{
        display:flex;
        flex-direction:column;
        gap:0;
        padding:12px 18px 24px;
    }

    .topo-logo img{
        width:185px;
        height:155px;
    }

    .topo-centro{
        width:100%;
    }

    .menu{
        width:100%;
        margin-left:auto;
    }
}

@media(max-width:760px){
    .topo{
        display:flex;
        flex-direction:column;
        gap:0;
        padding:12px 18px 24px;
    }

    .topo-logo img{
        width:185px;
        height:155px;
    }

    .topo-centro{
        width:100%;
    }

    .topo-centro > p{
        font-size:15px;
    }

    .menu{
        gap:6px 14px;
        padding:13px;
    }

    .menu a{
        font-size:12px;
    }

    .menu-acoes{
        width:100%;
        margin-top:4px;
    }

    .menu-acoes .botao-leitor,
    .menu-acoes .botao-professor,
    .menu-acoes .botao-admin{
        width:auto;
        flex:1;
    }

    .hero{
        min-height:400px;
    }

    .hero-conteudo{
        width:86%;
        margin:0 auto;
        text-align:center;
    }

    .pagina-hero{
        min-height:235px;
    }

    .pagina-hero p{
        font-size:17px;
    }

    .cards,
    .grade-classica,
    .lista-livros{
        grid-template-columns:1fr;
    }

    .busca-acervo{
        align-items:stretch;
        flex-direction:column;
    }

    .busca-acervo select{
        flex:auto;
    }

    .chamada-bibliotecas-digitais{
        align-items:flex-start;
        flex-direction:column;
        padding:24px;
    }

    .chamada-bibliotecas-digitais a{
        width:100%;
        text-align:center;
    }

    .livro-grade{
        grid-template-columns:1fr;
    }

    .livro-capa{
        width:min(330px,100%);
        margin:0 auto;
    }

    .historia{
        padding:34px 25px;
    }

    .historia p{
        font-size:17px;
    }

    .rodape-conteudo{
        grid-template-columns:1fr;
        text-align:center;
    }

    .rodape-links{
        justify-content:center;
    }

    .rodape-pilares{
        grid-column:auto;
    }
}

@media(max-width:520px){
    .menu-acoes{
        align-items:stretch;
        flex-direction:column;
    }

    .menu-acoes .botao-leitor,
    .menu-acoes .botao-professor,
    .menu-acoes .botao-admin{
        width:100%;
    }
}

@media(max-width:480px){
    .topo-centro h1{
        font-size:25px;
    }

    .menu{
        border-radius:13px;
    }

    .menu .botao-admin{
        width:100%;
    }

    .menu .botao-leitor{
        width:100%;
    }

    .menu .botao-professor{
        width:100%;
    }

    .livro-reserva-online{
        align-items:flex-start;
        flex-direction:column;
    }

    .hero p,
    .pagina-intro p{
        font-size:16px;
    }

    .cards,
    .pagina-conteudo,
    .acervo-publico,
    .detalhe-livro{
        width:92%;
    }

    .livro-infos{
        grid-template-columns:1fr;
    }

    .chamada-classica{
        padding:28px 20px;
    }
}

/* NOTÍCIAS E EVENTOS */

.home-publicacoes{
    width:min(1180px,88%);
    margin:68px auto;
}

.cabecalho-secao-publica{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:28px;
}

.sobretitulo-publico{
    display:block;
    margin-bottom:7px;
    color:#9b5b08;
    font-size:13px;
    font-weight:bold;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.cabecalho-secao-publica h2{
    font-size:clamp(31px,3.5vw,42px);
}

.link-ver-todas,
.publicacao-link{
    color:#965707;
    font-weight:bold;
    text-decoration:none;
}

.grade-publicacoes{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:27px;
}

.publicacao-card{
    min-height:430px;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    background:#fffaf1;
    border:1px solid #dfba70;
    border-radius:20px;
    box-shadow:0 10px 25px rgba(69,32,8,.11);
    transition:transform .2s ease,box-shadow .2s ease;
}

.publicacao-card:hover{
    box-shadow:0 15px 31px rgba(69,32,8,.16);
    transform:translateY(-4px);
}

.publicacao-imagem{
    height:205px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background:linear-gradient(135deg,#5b2c11,#2c1005);
    color:#e7bd70;
    text-decoration:none;
}

.publicacao-imagem img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .25s ease;
}

.publicacao-card:hover .publicacao-imagem img{
    transform:scale(1.025);
}

.publicacao-imagem i{
    font-size:52px;
}

.publicacao-corpo{
    flex:1;
    display:flex;
    flex-direction:column;
    padding:24px;
}

.publicacao-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:13px;
    color:#79573b;
    font-size:12px;
    font-weight:bold;
    text-transform:uppercase;
}

.publicacao-meta span{
    padding:6px 10px;
    background:#f3dfb5;
    border-radius:14px;
    color:#8b5007;
}

.publicacao-card h3{
    margin-bottom:12px;
    font-size:25px;
    line-height:1.2;
}

.publicacao-card p{
    color:#553923;
    line-height:1.6;
}

.publicacao-link{
    display:inline-block;
    margin-top:auto;
    padding-top:20px;
}

.dados-evento-card{
    display:grid;
    gap:7px;
    margin-top:16px;
    padding:12px;
    background:#f8ebce;
    border-radius:10px;
    color:#68482f;
    font-size:13px;
}

.dados-evento-card i{
    width:18px;
    color:#a86208;
}

.filtros-publicacoes{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:10px;
    margin:-8px 0 32px;
}

.filtros-publicacoes a{
    padding:10px 19px;
    background:#fff9ed;
    border:1px solid #d8b46c;
    border-radius:22px;
    color:#704326;
    font-weight:bold;
    text-decoration:none;
}

.filtros-publicacoes a:hover,
.filtros-publicacoes a.ativo{
    background:#9b5b08;
    border-color:#9b5b08;
    color:#fff;
}

.sem-publicacoes{
    padding:50px 25px;
    background:#fffaf1;
    border:1px solid #dfba70;
    border-radius:18px;
    text-align:center;
}

.sem-publicacoes i{
    margin-bottom:16px;
    color:#b87512;
    font-size:43px;
}

.sem-publicacoes h2{
    margin-bottom:10px;
}

.sem-publicacoes p{
    margin-bottom:22px;
    color:#68482f;
}

.publicacao-detalhe{
    width:min(900px,88%);
    margin:0 auto;
    padding:50px 0 80px;
}

.publicacao-cabecalho{
    margin-bottom:30px;
}

.publicacao-meta-detalhe{
    justify-content:flex-start;
}

.publicacao-cabecalho h1{
    margin:16px 0;
    font-size:clamp(38px,5.4vw,58px);
    line-height:1.08;
}

.publicacao-resumo{
    color:#67462f;
    font-size:20px;
    line-height:1.65;
}

.servico-evento{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:25px;
}

.servico-evento div{
    min-width:210px;
    padding:15px 18px;
    background:#f8e8c7;
    border-left:4px solid #b97a18;
    border-radius:10px;
}

.servico-evento span,
.servico-evento strong{
    display:block;
}

.servico-evento span{
    margin-bottom:5px;
    color:#7e5b3f;
    font-size:12px;
    font-weight:bold;
    text-transform:uppercase;
}

.publicacao-capa-detalhe{
    height:min(500px,58vw);
    min-height:300px;
    overflow:hidden;
    margin:0 0 35px;
    border:1px solid #dfba70;
    border-radius:22px;
    box-shadow:0 12px 28px rgba(69,32,8,.13);
}

.publicacao-capa-detalhe img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.texto-publicacao{
    padding:35px;
    background:#fffaf1;
    border:1px solid #e3c486;
    border-radius:18px;
    color:#3f2a1a;
    font-size:18px;
    line-height:1.9;
}

.pagina-hero-menor{
    min-height:220px;
}

@media(max-width:900px){
    .grade-publicacoes{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:650px){
    .cabecalho-secao-publica{
        align-items:flex-start;
        flex-direction:column;
    }

    .grade-publicacoes{
        grid-template-columns:1fr;
    }

    .home-publicacoes,
    .publicacao-detalhe{
        width:92%;
    }

    .publicacao-capa-detalhe{
        height:300px;
    }

    .texto-publicacao{
        padding:25px 20px;
        font-size:17px;
    }
}

/* DESTINOS E MODALIDADES DO CONTEÚDO */

.cartao-link-classico{
    color:var(--marrom);
    text-decoration:none;
}

.cartao-link-classico .cartao-acao{
    display:inline-block;
    margin-top:auto;
    padding-top:18px;
    color:#965707;
    font-size:14px;
    font-weight:bold;
}

.cartao-link-classico.cartao-selecionado{
    background:linear-gradient(180deg,#fff3d2,#f3d98f);
    border-color:#a96308;
    box-shadow:0 0 0 3px rgba(185,122,24,.14),var(--sombra);
}

.publicacoes-modalidade{
    margin-top:52px;
    scroll-margin-top:20px;
}

.cabecalho-modalidade{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:22px;
    margin-bottom:26px;
}

.cabecalho-modalidade h2{
    font-size:clamp(29px,3.5vw,40px);
}

.sem-publicacoes-compacto{
    padding:34px 22px;
}

.sem-publicacoes-compacto h3{
    margin-bottom:9px;
    font-size:24px;
}

.sem-publicacoes-compacto p{
    margin-bottom:0;
}

.contato-rede-link{
    color:#965707;
    text-decoration:none;
}

.contato-rede-link:hover{
    text-decoration:underline;
}

@media(max-width:650px){
    .cabecalho-modalidade{
        align-items:flex-start;
        flex-direction:column;
    }
}

/* ENTRADA EM FORMATO DE LIVRO */

.pagina-livro{
    min-height:100vh;
    overflow:hidden;
    background:#130904;
}

.entrada-livro{
    position:relative;
    min-height:100vh;
    min-height:100svh;
    display:grid;
    place-items:center;
    overflow:hidden;
    background:
        radial-gradient(circle at 50% 47%,rgba(198,126,34,.08),transparent 46%),
        linear-gradient(rgba(16,6,2,.04),rgba(13,5,2,.20)),
        url("../img/mesa-leitura.png") center/cover no-repeat;
    isolation:isolate;
}

@media(orientation:landscape){
    .entrada-livro{
        background-size:auto,auto,100% 100%;
    }
}

.entrada-livro::before{
    content:"";
    position:absolute;
    z-index:-1;
    inset:0;
    background:
        linear-gradient(180deg,rgba(0,0,0,.04) 0 67%,rgba(0,0,0,.22) 100%),
        radial-gradient(ellipse at center,transparent 57%,rgba(0,0,0,.23) 100%);
    pointer-events:none;
}

.livro-interativo{
    position:relative;
    width:min(70vw,calc(76svh * 1.5),1180px);
    aspect-ratio:3/2;
}

.capa-livro{
    position:absolute;
    z-index:3;
    top:50%;
    left:50%;
    width:auto;
    height:min(97%,460px);
    max-height:none;
    aspect-ratio:.72;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    padding:clamp(20px,2.5svh,27px) clamp(22px,2.4vw,31px) clamp(19px,2.3svh,25px);
    border:2px solid #8d5515;
    border-radius:7px 15px 15px 7px;
    background:
        radial-gradient(circle at 52% 32%,rgba(182,108,34,.24),transparent 38%),
        repeating-linear-gradient(28deg,rgba(255,222,155,.022) 0 1px,transparent 1px 4px),
        repeating-linear-gradient(120deg,rgba(0,0,0,.025) 0 2px,transparent 2px 6px),
        linear-gradient(138deg,#4b200e,#260c05 62%,#4b1d0a);
    box-shadow:
        -17px 13px 0 -8px #160703,
        -24px 21px 0 -12px #3c1809,
        -29px 29px 22px rgba(0,0,0,.44),
        0 31px 52px rgba(0,0,0,.56),
        inset 0 0 50px rgba(0,0,0,.48),
        inset 0 0 0 5px rgba(238,180,73,.07);
    color:#f0ce83;
    text-align:center;
    cursor:pointer;
    backface-visibility:hidden;
    transform:translate(-50%,-50%) perspective(1300px) rotateX(8deg) rotateY(-2deg) rotateZ(-.7deg);
    transform-origin:left center;
    transition:opacity .24s ease,visibility 0s linear,transform .95s cubic-bezier(.2,.72,.18,1);
}

.capa-livro:hover{
    transform:translate(-50%,-52%) perspective(1300px) rotateX(6deg) rotateY(-1deg) rotateZ(-.2deg) scale(1.012);
}

.capa-livro:focus-visible{
    outline:4px solid rgba(239,191,94,.76);
    outline-offset:7px;
}

.capa-livro::before{
    content:"";
    position:absolute;
    inset:13px;
    border:1px solid rgba(229,178,79,.82);
    border-radius:2px 9px 9px 2px;
    box-shadow:
        inset 0 0 0 3px rgba(88,38,9,.56),
        0 0 0 1px rgba(113,62,18,.68);
    pointer-events:none;
}

.capa-livro::after{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    left:0;
    width:31px;
    background:
        linear-gradient(90deg,#100401,#55210c 25%,#1a0602 54%,#6d3010 76%,#230902);
    border-right:2px solid rgba(225,166,66,.34);
    box-shadow:7px 0 14px rgba(0,0,0,.38),inset -2px 0 rgba(236,178,72,.12);
    pointer-events:none;
}

.capa-livro-moldura{
    position:absolute;
    inset:24px 22px 24px 35px;
    border:1px solid rgba(229,177,77,.56);
    box-shadow:
        inset 0 0 0 2px rgba(64,24,5,.46),
        0 0 0 1px rgba(210,145,46,.23);
    pointer-events:none;
}

.capa-livro-moldura::before,
.capa-livro-moldura::after{
    content:"◆  ·  ❦  ·  ◆";
    position:absolute;
    right:18%;
    left:18%;
    color:#dba94f;
    font-size:10px;
    line-height:1;
    text-align:center;
}

.capa-livro-moldura::before{
    top:-6px;
}

.capa-livro-moldura::after{
    bottom:-6px;
}

.capa-livro-cantos{
    position:absolute;
    z-index:1;
    inset:15px 13px 15px 27px;
    pointer-events:none;
}

.capa-canto{
    position:absolute;
    width:35px;
    height:35px;
    display:grid;
    place-items:center;
    color:#d6a344;
    font-size:28px;
    line-height:1;
    text-shadow:0 1px 2px #170601;
}

.capa-canto-superior-esquerdo{
    top:0;
    left:0;
    transform:rotate(-45deg);
}

.capa-canto-superior-direito{
    top:0;
    right:0;
    transform:rotate(45deg);
}

.capa-canto-inferior-esquerdo{
    bottom:0;
    left:0;
    transform:rotate(-135deg);
}

.capa-canto-inferior-direito{
    right:0;
    bottom:0;
    transform:rotate(135deg);
}

.capa-livro-brasao,
.capa-livro-titulo,
.capa-livro-divisor,
.capa-livro-frase,
.capa-livro-acao{
    position:relative;
    z-index:1;
}

.capa-livro-brasao{
    width:min(73%,235px);
    max-height:48%;
    margin-bottom:clamp(2px,.5svh,6px);
    object-fit:contain;
    filter:drop-shadow(0 9px 12px rgba(0,0,0,.42));
}

.capa-livro-titulo{
    color:#f0cf87;
    font-size:clamp(17px,2.05svh,21px);
    font-weight:bold;
    line-height:1.1;
    white-space:nowrap;
    text-shadow:0 2px 5px #100500;
}

.capa-livro-divisor{
    margin:clamp(6px,.9svh,10px) 0;
    color:#d9a94d;
    font-size:9px;
}

.capa-livro-frase{
    color:#ebc978;
    font-size:clamp(11px,1.48svh,13px);
    line-height:1.35;
}

.capa-livro-acao{
    display:flex;
    align-items:center;
    gap:9px;
    margin-top:clamp(10px,1.6svh,17px);
    color:#f2d590;
    font-size:clamp(11px,1.5svh,13px);
    letter-spacing:.02em;
}

.livro-aberto{
    position:absolute;
    z-index:2;
    inset:0;
    visibility:hidden;
    opacity:0;
    transform:perspective(1600px) rotateX(3deg) scale(.96);
    transform-origin:center bottom;
    transition:opacity .38s ease .06s,visibility 0s linear .44s,transform .72s cubic-bezier(.16,.75,.16,1) .04s;
}

.livro-aberto-imagem{
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
    clip-path:polygon(7% 7.5%,91% 7.5%,94% 10%,97% 91%,94% 94%,4% 94%,2% 91%,5% 10%);
    filter:drop-shadow(0 28px 24px rgba(0,0,0,.46));
    user-select:none;
    pointer-events:none;
}

.folha-abertura{
    position:absolute;
    z-index:4;
    top:10.5%;
    left:50%;
    width:39%;
    height:78.5%;
    visibility:hidden;
    opacity:0;
    background:
        radial-gradient(circle at 28% 35%,rgba(255,247,211,.36),transparent 38%),
        repeating-linear-gradient(25deg,rgba(104,65,24,.025) 0 1px,transparent 1px 4px),
        linear-gradient(90deg,#c58b43,#ecc985 7%,#eed296 70%,#c18a45);
    border:1px solid rgba(83,46,14,.54);
    border-radius:2% 8% 7% 2%;
    box-shadow:7px 8px 17px rgba(45,20,4,.22),inset 0 0 28px rgba(104,59,19,.16);
    transform:perspective(1500px) rotateY(0);
    transform-origin:left center;
    backface-visibility:visible;
    pointer-events:none;
}

.folha-abertura-1{
    --atraso-folha:.52s;
    z-index:10;
}

.folha-abertura-2{
    --atraso-folha:.70s;
    z-index:9;
    filter:brightness(.99);
}

.folha-abertura-3{
    --atraso-folha:.88s;
    z-index:8;
    filter:brightness(1.025);
}

.folha-abertura-4{
    --atraso-folha:1.06s;
    z-index:7;
    filter:brightness(.985);
}

.folha-abertura-5{
    --atraso-folha:1.24s;
    z-index:6;
    filter:brightness(1.015);
}

.folha-abertura-6{
    --atraso-folha:1.42s;
    z-index:5;
}

.folha-abertura::before{
    content:"";
    position:absolute;
    inset:3.5%;
    border:1px solid rgba(101,59,21,.28);
    border-radius:1% 7% 6% 1%;
}

.folha-destino{
    position:absolute;
    z-index:12;
    top:10.5%;
    left:50%;
    width:39%;
    height:78.5%;
    visibility:hidden;
    opacity:0;
    background:
        radial-gradient(circle at 28% 35%,rgba(255,247,211,.36),transparent 38%),
        repeating-linear-gradient(25deg,rgba(104,65,24,.025) 0 1px,transparent 1px 4px),
        linear-gradient(90deg,#c58b43,#ecc985 7%,#eed296 70%,#c18a45);
    border:1px solid rgba(83,46,14,.54);
    border-radius:2% 8% 7% 2%;
    box-shadow:7px 8px 17px rgba(45,20,4,.22),inset 0 0 28px rgba(104,59,19,.16);
    transform:perspective(1500px) rotateY(0);
    transform-origin:left center;
    backface-visibility:visible;
    pointer-events:none;
}

.pagina-sumario{
    position:absolute;
    z-index:2;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    color:#38200f;
    text-align:center;
    text-shadow:0 1px rgba(255,244,208,.36);
    overflow:hidden;
    opacity:0;
    transition:opacity .22s ease;
}

.pagina-sumario-esquerda{
    top:15.8%;
    left:15.1%;
    width:31.8%;
    height:64.5%;
}

.pagina-sumario-direita{
    top:27.5%;
    left:52.8%;
    width:32.1%;
    height:54%;
}

.pagina-sumario h1{
    color:#321a0c;
    font-size:clamp(22px,2.1vw,31px);
    font-weight:normal;
    line-height:1;
    text-transform:none;
}

.ornamento-sumario{
    margin:clamp(4px,.7svh,7px) 0 clamp(7px,1.3svh,11px);
    color:#795322;
    font-size:clamp(10px,1vw,16px);
}

.capitulo-livro{
    position:relative;
    flex:1 1 0;
    min-height:0;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:0 7px;
    padding:5px 2px;
    border-bottom:1px dotted rgba(91,55,21,.55);
    color:#3b210e;
    font-size:clamp(9px,.86vw,13px);
    line-height:1.2;
    text-decoration:none;
    transition:color .18s ease,transform .18s ease,text-shadow .18s ease;
}

.capitulo-livro::after{
    content:"◆";
    position:absolute;
    right:50%;
    bottom:-5px;
    padding:0 5px;
    background:#e6bf78;
    color:#8b5d24;
    font-size:6px;
}

.capitulo-livro:hover,
.capitulo-livro:focus-visible{
    color:#985707;
    text-shadow:0 0 12px rgba(173,104,15,.22);
    transform:translateY(-1px);
}

.capitulo-livro:focus-visible{
    outline:2px solid rgba(145,84,9,.48);
    outline-offset:3px;
}

.capitulo-rotulo{
    font-weight:bold;
    letter-spacing:.015em;
    text-transform:uppercase;
    white-space:nowrap;
}

.capitulo-nome{
    font-style:italic;
    white-space:nowrap;
}

.capitulo-nome::before{
    content:"— ";
}

.marcador-admin-livro{
    position:absolute;
    z-index:3;
    top:48%;
    right:-2.2%;
    width:14%;
    min-height:8%;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:8px 7px 8px 12px;
    background:linear-gradient(90deg,#d9a33e,#edc66d);
    border:1px solid #8d5717;
    clip-path:polygon(0 0,100% 0,88% 50%,100% 100%,0 100%);
    box-shadow:0 5px 10px rgba(0,0,0,.25);
    color:#43240e;
    font-size:clamp(8px,.82vw,13px);
    font-weight:bold;
    line-height:1.12;
    text-align:center;
    text-decoration:none;
    opacity:0;
    transition:opacity .22s ease,filter .18s ease,transform .18s ease;
}

.marcador-admin-livro:hover,
.marcador-admin-livro:focus-visible{
    filter:brightness(1.08);
    transform:translateX(3px);
}

.fechar-livro{
    position:absolute;
    z-index:4;
    bottom:2.1%;
    left:50%;
    display:flex;
    align-items:center;
    gap:8px;
    min-height:38px;
    padding:8px 17px;
    border:1px solid rgba(237,193,101,.52);
    border-radius:20px;
    background:rgba(35,15,6,.86);
    box-shadow:0 6px 15px rgba(0,0,0,.32);
    color:#f5d997;
    font-size:13px;
    cursor:pointer;
    opacity:0;
    transform:translateX(-50%);
    transition:opacity .22s ease,background .18s ease,transform .18s ease;
}

.fechar-livro:hover,
.fechar-livro:focus-visible{
    background:#713806;
    transform:translateX(-50%) translateY(-2px);
}

.instrucao-livro{
    position:absolute;
    z-index:4;
    right:0;
    bottom:2%;
    left:0;
    color:#f0d49d;
    font-size:clamp(12px,1.1vw,16px);
    letter-spacing:.04em;
    text-align:center;
    text-shadow:0 2px 6px #000;
    transition:opacity .28s ease,visibility .28s ease;
}

.estado-livro{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    clip-path:inset(50%);
    white-space:nowrap;
}

.livro-interativo.aberto .capa-livro{
    visibility:hidden;
    opacity:0;
    transform:translate(-2%,-50%) perspective(1300px) rotateX(3deg) rotateY(-168deg) rotateZ(0) scale(.98);
    transition:transform 1.08s cubic-bezier(.22,.67,.18,1),opacity .18s ease .72s,visibility 0s linear 1.08s;
    pointer-events:none;
}

.livro-interativo.aberto .livro-aberto{
    visibility:visible;
    opacity:1;
    transform:perspective(1600px) rotateX(0) scale(1);
    transition:opacity .34s ease,visibility 0s linear,transform .72s cubic-bezier(.16,.75,.16,1);
}

.livro-interativo.aberto .folha-abertura{
    visibility:visible;
    animation:folhear-livro .82s cubic-bezier(.34,.64,.23,1) var(--atraso-folha) forwards;
}

.livro-interativo.aberto .pagina-sumario,
.livro-interativo.aberto .marcador-admin-livro,
.livro-interativo.aberto .fechar-livro{
    animation:revelar-sumario .3s ease 2.04s both;
}

.livro-interativo.aberto .instrucao-livro{
    visibility:hidden;
    opacity:0;
}

.livro-interativo.mudando-pagina .folha-destino{
    visibility:visible;
    animation:abrir-capitulo .56s cubic-bezier(.34,.64,.23,1) forwards;
}

.livro-interativo.mudando-pagina .pagina-sumario,
.livro-interativo.mudando-pagina .marcador-admin-livro,
.livro-interativo.mudando-pagina .fechar-livro{
    animation:none;
    opacity:0;
    transition:opacity .16s ease;
}

@keyframes folhear-livro{
    0%{
        visibility:visible;
        opacity:0;
        transform:perspective(1500px) rotateY(0);
    }

    9%{
        opacity:.96;
    }

    68%{
        opacity:.96;
    }

    99%{
        visibility:visible;
        opacity:.62;
    }

    100%{
        visibility:hidden;
        opacity:0;
        transform:perspective(1500px) rotateY(-178deg);
    }
}

@keyframes revelar-sumario{
    from{
        opacity:0;
    }

    to{
        opacity:1;
    }
}

@keyframes abrir-capitulo{
    0%{
        visibility:visible;
        opacity:0;
        transform:perspective(1500px) rotateY(0);
    }

    10%{
        opacity:.97;
    }

    90%{
        opacity:.94;
    }

    100%{
        visibility:hidden;
        opacity:0;
        transform:perspective(1500px) rotateY(-172deg);
    }
}

.controle-musica{
    position:fixed;
    z-index:30;
    top:18px;
    right:18px;
    min-height:42px;
    display:flex;
    align-items:center;
    gap:9px;
    padding:9px 15px;
    border:1px solid rgba(230,190,111,.52);
    border-radius:24px;
    background:rgba(36,16,7,.82);
    box-shadow:0 7px 17px rgba(0,0,0,.30);
    color:#f2d699;
    font-size:13px;
    cursor:pointer;
    backdrop-filter:blur(5px);
    transition:background .18s ease,transform .18s ease;
}

body:not(.pagina-livro) .controle-musica{
    top:auto;
    bottom:18px;
}

.controle-musica:hover,
.controle-musica:focus-visible,
.controle-musica.tocando{
    background:rgba(116,59,11,.92);
    transform:translateY(-1px);
}

.controle-musica-icone{
    width:24px;
    height:24px;
    display:grid;
    place-items:center;
    border:1px solid rgba(242,214,153,.46);
    border-radius:50%;
    font-size:17px;
    line-height:1;
}

.controle-musica.tocando .controle-musica-icone{
    animation:pulsar-musica 1.5s ease-in-out infinite;
}

.controle-musica:disabled{
    opacity:.66;
    cursor:not-allowed;
    filter:saturate(.72);
}

@keyframes pulsar-musica{
    50%{
        box-shadow:0 0 0 5px rgba(236,188,92,.13);
        transform:scale(1.06);
    }
}

.sumario-sem-script{
    position:fixed;
    z-index:10;
    right:16px;
    bottom:16px;
    left:16px;
    padding:18px;
    background:#fff3d2;
    border:2px solid #b97a18;
    border-radius:13px;
    color:#2e1b0f;
    text-align:center;
}

.sumario-sem-script p{
    margin-bottom:10px;
    font-weight:bold;
}

.sumario-sem-script a{
    display:inline-block;
    margin:5px 8px;
    color:#7c4406;
    font-weight:bold;
}

@media(min-width:761px) and (orientation:landscape){
    .instrucao-livro{
        display:none;
    }
}

@media(max-width:760px), (orientation:portrait) and (max-width:900px){
    .pagina-livro,
    .pagina-livro.livro-aberto-ativo{
        overflow:hidden;
    }

    .livro-interativo{
        width:100%;
        height:100svh;
        aspect-ratio:auto;
    }

    .controle-musica{
        top:12px;
        right:12px;
        min-height:38px;
        padding:7px 11px;
    }

    .controle-musica-texto{
        position:absolute;
        width:1px;
        height:1px;
        overflow:hidden;
        clip:rect(0 0 0 0);
        clip-path:inset(50%);
        white-space:nowrap;
    }

    .capa-livro{
        width:min(72vw,350px);
        height:auto;
        max-height:78svh;
    }

    .capa-livro-brasao{
        width:min(47vw,205px);
    }

    .livro-aberto{
        inset:0;
        display:flex;
        flex-direction:column;
        gap:0;
        overflow-y:auto;
        padding:54px 7vw 96px;
        background:
            linear-gradient(rgba(233,198,130,.14),rgba(112,61,15,.10)),
            #e9c983;
        border:10px solid #4a200c;
        box-shadow:inset 0 0 45px rgba(77,35,9,.38);
    }

    .livro-aberto::before{
        content:"";
        position:absolute;
        inset:16px;
        border:1px solid rgba(101,57,18,.42);
        pointer-events:none;
    }

    .livro-aberto-imagem{
        display:none;
    }

    .folha-abertura{
        display:none;
    }

    .folha-destino{
        display:none;
    }

    .pagina-sumario{
        position:relative;
        top:auto;
        left:auto;
        width:100%;
        height:auto;
        max-width:600px;
        margin:0 auto;
        padding:0 3vw;
    }

    .pagina-sumario-direita{
        margin-top:0;
    }

    .pagina-sumario h1{
        font-size:clamp(33px,10vw,48px);
    }

    .ornamento-sumario{
        margin:7px 0 11px;
        font-size:15px;
    }

    .capitulo-livro{
        flex:none;
        min-height:0;
        padding:15px 4px;
        font-size:clamp(15px,4.2vw,20px);
    }

    .capitulo-livro::after{
        background:#e9c983;
    }

    .marcador-admin-livro{
        position:relative;
        top:auto;
        right:auto;
        width:min(230px,78%);
        min-height:50px;
        margin:27px auto 0;
        padding:10px 24px 10px 15px;
        font-size:14px;
    }

    .fechar-livro{
        position:relative;
        bottom:auto;
        left:auto;
        flex:none;
        align-self:center;
        margin:27px auto 0;
        transform:none;
    }

    .fechar-livro:hover,
    .fechar-livro:focus-visible{
        transform:translateY(-2px);
    }

    .instrucao-livro{
        bottom:3.5%;
    }
}

@media(max-width:410px){
    .capa-livro{
        width:min(82vw,340px);
        padding-inline:24px;
    }

    .capa-livro::before{
        inset:12px;
    }

    .capa-livro-moldura{
        inset:20px;
    }

    .capa-livro-titulo{
        font-size:20px;
    }

    .capa-livro-frase,
    .capa-livro-acao{
        font-size:13px;
    }

    .livro-aberto{
        padding-inline:5vw;
    }

    .capitulo-livro{
        font-size:15px;
    }
}

@media(prefers-reduced-motion:reduce){
    .capa-livro,
    .livro-aberto,
    .instrucao-livro,
    .capitulo-livro,
    .marcador-admin-livro,
    .fechar-livro{
        transition-duration:.01ms!important;
        transition-delay:0ms!important;
    }

    .folha-abertura{
        animation-duration:.01ms!important;
        animation-delay:0ms!important;
    }

    .livro-interativo.aberto .pagina-sumario,
    .livro-interativo.aberto .marcador-admin-livro,
    .livro-interativo.aberto .fechar-livro{
        animation-delay:0ms!important;
        animation-duration:.01ms!important;
    }

    .folha-destino{
        animation-duration:.01ms!important;
        animation-delay:0ms!important;
    }
}

/*
 * Capa final aprovada: o desenho, o brasão e os textos pertencem à própria
 * imagem. A compressão vertical reproduz a perspectiva do livro apoiado na
 * mesa vista no vídeo de referência, sem transformá-lo em uma placa em pé.
 */
.capa-livro{
    width:min(52vw,570px);
    height:auto;
    max-height:none;
    aspect-ratio:964/876;
    overflow:visible;
    padding:0;
    border:0;
    border-radius:0;
    background:url("../img/capa-livro-final-deitada.png") center/contain no-repeat;
    box-shadow:none;
    filter:drop-shadow(-7px 14px 8px rgba(0,0,0,.27)) drop-shadow(0 28px 24px rgba(0,0,0,.48));
    color:transparent;
    transform:translate(-50%,-46%) perspective(1400px) scaleY(.82) rotateZ(-1deg);
    transform-origin:16% 53%;
}

.capa-livro:hover{
    transform:translate(-50%,-48%) perspective(1400px) scaleY(.83) rotateZ(-.7deg) scale(1.012);
}

.capa-livro::before,
.capa-livro::after,
.capa-livro-moldura,
.capa-livro-cantos,
.capa-livro-brasao,
.capa-livro-titulo,
.capa-livro-divisor,
.capa-livro-frase,
.capa-livro-acao{
    display:none;
}

.livro-interativo.aberto .capa-livro{
    visibility:hidden;
    opacity:0;
    transform:translate(-16%,-46%) perspective(1400px) scaleY(.82) rotateY(-162deg) rotateZ(-1deg);
}

@media(max-width:760px), (orientation:portrait) and (max-width:900px){
    .capa-livro{
        width:min(88vw,520px);
        max-height:none;
        padding:0;
        transform:translate(-50%,-48%) perspective(1200px) scaleY(.82) rotateZ(-1deg);
    }

    .capa-livro:hover{
        transform:translate(-50%,-49%) perspective(1200px) scaleY(.83) rotateZ(-.7deg) scale(1.008);
    }

    .livro-interativo.aberto .capa-livro{
        transform:translate(-16%,-48%) perspective(1200px) scaleY(.82) rotateY(-162deg) rotateZ(-1deg);
    }
}
.card-biblioteca-comunitaria p{text-align:justify;text-justify:inter-word}

/* BCRE CAIXA DE BUSCA NO TOPO */
.busca-topo-site{height:34px;min-width:170px;display:flex;align-items:stretch;border:1px solid #b87816;border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 2px 6px rgba(78,38,5,.12)}
.busca-topo-site input{width:125px;min-width:0;border:0;outline:0;padding:7px 9px;background:#fff;color:#3b1d09;font:600 12px Arial,sans-serif}
.busca-topo-site input::placeholder{color:#7d542f}
.busca-topo-site button{width:42px;border:0;background:#a45d05;color:#fff;cursor:pointer;font-size:15px}
.busca-topo-site button:hover{background:#7f4300}
.topo-centro.menu-responsivo-ativo .busca-topo-site{width:100%;height:42px;margin-top:4px}
.topo-centro.menu-responsivo-ativo .busca-topo-site input{width:auto;flex:1;font-size:14px}

/* BCRE FUNDO HARMONIZADO DA BUSCA */
.busca-topo-site,.busca-topo-site input{background:var(--bege)!important;}
.busca-topo-site input:focus{background:var(--bege-claro)!important;}
