/* Manual de Teologia Católica */
.mt-wrap { max-width: 1140px; margin: 6rem auto 0; padding: 0 1rem 4rem; }
.mt-hero { text-align: center; padding: 2.2rem 0 1.5rem; border-bottom: 1px solid #e2ddd2; }
.mt-hero h1 { font-family: 'Montserrat', serif; font-size: clamp(1.6rem, 4vw, 2.5rem); margin: 0 0 .6rem; color: #26313d; }
.mt-hero p { color: #5f6670; max-width: 44rem; margin: 0 auto; line-height: 1.65; }
.mt-selo { display: inline-block; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: #4a6c8a; margin-bottom: .5rem; }

.mt-numeros { display: flex; flex-wrap: wrap; gap: 1.5rem; justify-content: center; margin-top: 1.3rem; }
.mt-numero { text-align: center; }
.mt-numero strong { display: block; font-size: 1.5rem; color: #26313d; font-family: 'Montserrat', serif; }
.mt-numero span { font-size: .78rem; color: #8a8f96; text-transform: uppercase; letter-spacing: .06em; }

.mt-secao { margin-top: 2.4rem; }
.mt-secao > h2 { font-family: 'Montserrat', serif; font-size: 1.25rem; color: #26313d; border-left: 3px solid #4a6c8a; padding-left: .7rem; margin-bottom: 1rem; }

.mt-busca { position: relative; margin-bottom: .8rem; }
.mt-busca input { width: 100%; padding: .9rem 1rem .9rem 2.7rem; border: 1px solid #d3d7dc; border-radius: 6px; font-size: 1.02rem; font-family: inherit; background: #fff; }
.mt-busca input:focus { outline: 2px solid #4a6c8a; outline-offset: 1px; border-color: #4a6c8a; }
.mt-busca .fa-magnifying-glass { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); color: #9aa1a9; }
.mt-info { font-size: .85rem; color: #8a8f96; margin: .4rem 0 1rem; }

/* continuar lendo */
.mt-retomar { display: none; border: 1px solid #cfdae4; background: #f4f8fb; border-radius: 6px; padding: .85rem 1rem; margin-bottom: 1.2rem; align-items: center; gap: .7rem; }
.mt-retomar.visivel { display: flex; }
.mt-retomar a { color: #2f5875; font-weight: 700; text-decoration: none; }
.mt-retomar a:hover { text-decoration: underline; }
.mt-retomar i { color: #4a6c8a; }

/* livros */
.mt-livros { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(310px, 1fr)); }
.mt-livro { border: 1px solid #e2ddd2; border-radius: 6px; background: #fff; padding: 1.1rem 1.15rem; }
.mt-livro-rotulo { font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; color: #4a6c8a; font-weight: 700; }
.mt-livro h3 { font-family: 'Montserrat', serif; font-size: 1.05rem; margin: .35rem 0 .5rem; line-height: 1.4; }
.mt-livro h3 a { color: #26313d; text-decoration: none; }
.mt-livro h3 a:hover { text-decoration: underline; }
.mt-livro p { font-size: .82rem; color: #6b7280; margin: 0; }

/* listas de seções */
.mt-lista { list-style: none; padding: 0; margin: 0; display: grid; gap: .4rem; }
.mt-lista a { display: block; border: 1px solid #e6e2d8; border-radius: 5px; padding: .6rem .8rem; color: #3a4148; text-decoration: none; font-size: .92rem; background: #fff; line-height: 1.45; }
.mt-lista a:hover { border-color: #4a6c8a; background: #f7fafc; }
.mt-num { display: inline-block; background: #eef3f7; color: #2f5875; border-radius: 3px; padding: .1rem .45rem; margin-right: .45rem; font-size: .8rem; font-weight: 700; }
.mt-grupo-rotulo { font-size: .76rem; text-transform: uppercase; letter-spacing: .07em; color: #8a8f96; margin: 1.1rem 0 .4rem; font-weight: 700; }
.mt-capitulo-rotulo { font-family: 'Montserrat', serif; font-size: 1rem; color: #26313d; margin: 1.4rem 0 .5rem; padding-bottom: .3rem; border-bottom: 1px solid #eceae3; }
.mt-vazio { color: #8a8f96; font-style: italic; padding: 1.3rem 0; }

/* leitura */
.mt-leitura { display: grid; grid-template-columns: 250px 1fr; gap: 2.2rem; align-items: start; }
.mt-indice { position: sticky; top: 6.5rem; max-height: calc(100vh - 8rem); overflow-y: auto; font-size: .86rem; border-right: 1px solid #eceae3; padding-right: 1rem; }
.mt-indice h4 { font-size: .74rem; text-transform: uppercase; letter-spacing: .08em; color: #8a8f96; margin: 0 0 .6rem; }
.mt-indice ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .25rem; }
.mt-indice a { color: #5f6670; text-decoration: none; display: block; padding: .3rem .45rem; border-radius: 4px; line-height: 1.4; }
.mt-indice a:hover { background: #f4f6f8; color: #2f5875; }
.mt-indice a.atual { background: #eef3f7; color: #2f5875; font-weight: 700; }

.mt-texto h1 { font-family: 'Montserrat', serif; font-size: clamp(1.4rem, 3.4vw, 2rem); color: #26313d; margin: 0 0 .8rem; line-height: 1.3; }
.mt-corpo p { line-height: 1.8; color: #3a4148; margin: 1.05rem 0; font-size: 1.03rem; }
.mt-migalhas { font-size: .82rem; color: #8a8f96; margin-bottom: 1.1rem; line-height: 1.7; }
.mt-migalhas a { color: #2f5875; text-decoration: none; }
.mt-migalhas a:hover { text-decoration: underline; }
.mt-fonte { font-size: .8rem; color: #8a8f96; border-top: 1px solid #e6e2d8; padding-top: .9rem; margin-top: 2.2rem; }
.mt-fonte a { color: #2f5875; }
.mt-paginacao { display: flex; justify-content: space-between; gap: 1rem; margin-top: 2.2rem; padding-top: 1.1rem; border-top: 1px solid #e6e2d8; }
.mt-paginacao a { color: #2f5875; text-decoration: none; font-size: .9rem; max-width: 46%; line-height: 1.45; }
.mt-paginacao a:hover { text-decoration: underline; }
.mt-progresso { height: 3px; background: #eceae3; border-radius: 2px; overflow: hidden; margin: .5rem 0 1.4rem; }
.mt-progresso span { display: block; height: 100%; background: #4a6c8a; }

/* bilíngue */
.content-en { display: none; }
body.show-secondary .content-en { display: revert; color: #6b7280; }
body.show-secondary .mt-corpo { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.8rem; align-items: start; }
.mt-lang-fab { position: fixed; bottom: 24px; left: 24px; background: #2f5875; color: #fff; padding: 12px 18px; border-radius: 999px; cursor: pointer; box-shadow: 0 4px 12px rgba(0,0,0,.25); z-index: 9999; display: flex; align-items: center; gap: 8px; font-family: inherit; font-size: 14px; border: none; }
.mt-lang-fab:hover { background: #4a6c8a; }
.mt-lang-fab.ativo { background: #2a5b1a; }

@media (max-width: 900px) {
  .mt-leitura { grid-template-columns: 1fr; }
  .mt-indice { position: static; max-height: none; border-right: 0; padding-right: 0; border-bottom: 1px solid #eceae3; padding-bottom: 1rem; }
}
@media (max-width: 640px) {
  .mt-livros { grid-template-columns: 1fr; }
  body.show-secondary .mt-corpo { grid-template-columns: 1fr; }
  .mt-lang-fab { bottom: 16px; left: 16px; padding: 10px 14px; font-size: 13px; }
}
