/* ==========================================================================
   Devocionais — usa o cabeçalho escuro global (.library-hero) do portal-tx.css
   ========================================================================== */

.dv-section { background: #f4f8ff; padding: 56px 0 104px; font-family: "Inter", sans-serif; color: #0b1a3d; }
.dv-wrap { width: min(1240px, 92%); margin: 0 auto; }
.dv-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 30px; align-items: start; }
@media (min-width: 992px) { .dv-layout { grid-template-columns: minmax(0, 1fr) 340px; } .dv-lateral { position: sticky; top: 96px; } }

/* ── Cabeçalho ── */
.dv-search { display: flex; align-items: center; gap: 12px; max-width: 700px; margin: 34px 0 0; padding: 7px 7px 7px 22px; border-radius: 999px; background: #fff; box-shadow: 0 24px 60px rgba(2, 10, 40, .35); }
.dv-search > i { color: #0057e5; font-size: 16px; }
.dv-search input[type="search"] { flex: 1; min-width: 0; border: 0 !important; outline: 0 !important; box-shadow: none !important; background: transparent !important; padding: 13px 4px !important; font: 400 16px "Inter", sans-serif !important; color: #0b1a3d; border-radius: 0 !important; }
.dv-search input::placeholder { color: #7a86a3; }
.dv-search button { flex: none; border: 0; padding: 14px 28px; border-radius: 999px; background: #0057e5; color: #fff; font: 600 14px "Inter", sans-serif; cursor: pointer; transition: background .3s, transform .3s; }
.dv-search button:hover { background: #0048c0; transform: translateY(-1px); }
.dv-stats { list-style: none; display: flex; flex-wrap: wrap; gap: 10px 28px; padding: 0; margin: 28px 0 0; }
.dv-stats li { color: rgba(255, 255, 255, .72); font-size: 14px; font-weight: 300; }
.dv-stats strong { font: 500 22px "Manrope", sans-serif; color: #fff; margin-right: 6px; }
.dv-streak i { color: #ffb347; margin-right: 4px; }
.dv-streak[hidden] { display: none; }

/* ── Botões ── */
.dv-btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 12px 22px; border-radius: 999px; border: 1px solid transparent; font: 500 14px "Inter", sans-serif; text-decoration: none; cursor: pointer; white-space: nowrap; transition: transform .3s, background .3s, color .3s, box-shadow .3s, border-color .3s; }
.dv-btn:hover { transform: translateY(-2px); }
.dv-btn-p { background: #0057e5; color: #fff; }
.dv-btn-p:hover { background: #0048c0; color: #fff; box-shadow: 0 12px 28px rgba(0, 87, 229, .3); }
.dv-btn-p.is-lido { background: #0a8a4a; }
.dv-btn-o { background: #fff; border-color: #cfe0ff; color: #0057e5; }
.dv-btn-o:hover { background: #0057e5; border-color: #0057e5; color: #fff; }

/* ── Filtro ── */
.dv-filtro { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px; margin-bottom: 22px; padding: 16px 20px; border-radius: 18px; background: #fff; border: 1px solid #dfe8fa; }
.dv-filtro p { margin: 0; color: #43527a; font-size: 15px; }
.dv-limpar { color: #0057e5; font-size: 14px; font-weight: 500; text-decoration: none; }
.dv-limpar:hover { text-decoration: underline; }

/* ── Devocional ── */
.dv-card { background: #fff; border: 1px solid #dfe8fa; border-radius: 28px; overflow: hidden; }
.dv-card-top { padding: 36px 40px 26px; background: linear-gradient(135deg, #eef4ff 0%, #fff 70%); border-bottom: 1px solid #e6eefc; }
.dv-kicker { display: inline-flex; padding: 6px 14px; border-radius: 999px; background: #e4eeff; color: #0057e5; font: 600 11px "Inter", sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.dv-data { display: block; margin-top: 14px; color: #5b6b8a; font-size: 14px; font-weight: 500; }
.dv-card-top h2 { margin: 6px 0 0; font: 600 clamp(28px, 4vw, 40px) "Manrope", sans-serif; letter-spacing: -.03em; line-height: 1.12; }
.dv-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 16px 0 0; color: #5b6b8a; font-size: 13.5px; }
.dv-meta i { color: #0057e5; margin-right: 5px; }
.dv-serie { color: #0057e5; font-weight: 500; text-decoration: none; }
.dv-serie:hover { text-decoration: underline; }

.dv-versiculo { margin: 28px 40px 0; padding: 22px 26px; border-left: 4px solid #0057e5; border-radius: 0 18px 18px 0; background: #eef4ff; }
.dv-versiculo p { margin: 0; font: italic 400 19px/1.65 "Manrope", sans-serif; color: #12306b; }
.dv-versiculo cite { display: block; margin-top: 10px; font: 600 14px "Inter", sans-serif; font-style: normal; color: #0057e5; }

.dv-texto { padding: 26px 40px 6px; font-size: 17.5px; line-height: 1.85; color: #2a3858; }
.dv-texto p, .dv-oracao p { margin: 0 0 20px; }

.dv-oracao { margin: 8px 40px 0; padding: 22px 26px 6px; border-radius: 20px; background: #f4f8ff; border: 1px solid #e3ecfb; }
.dv-oracao h3 { margin: 0 0 12px; font: 600 17px "Manrope", sans-serif; color: #0b1a3d; }
.dv-oracao h3 i { color: #0057e5; margin-right: 8px; }
.dv-oracao p { font-size: 16.5px; line-height: 1.8; color: #2a3858; font-style: italic; }

.dv-rodape { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; padding: 26px 40px 32px; }
.dv-autor { margin: 0; color: #5b6b8a; font-size: 14.5px; }
.dv-autor i { color: #0057e5; margin-right: 6px; }
.dv-autor strong { color: #0b1a3d; font-weight: 600; }
.dv-acoes { display: flex; flex-wrap: wrap; gap: 10px; }

.dv-pager { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); border-top: 1px solid #e6eefc; }
.dv-pager a { display: grid; gap: 4px; padding: 20px 40px; text-decoration: none; color: #0b1a3d; transition: background .3s; }
.dv-pager a:hover { background: #f4f8ff; }
.dv-pager small { color: #0057e5; font-weight: 600; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.dv-pager span { font: 600 15.5px "Manrope", sans-serif; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dv-seg { text-align: right; border-left: 1px solid #e6eefc; }

/* ── Anteriores / resultados ── */
.dv-anteriores { margin-top: 34px; }
.dv-anteriores > h3 { margin: 0 0 16px; font: 600 22px "Manrope", sans-serif; letter-spacing: -.02em; }
.dv-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.dv-lista a { display: flex; align-items: center; gap: 18px; padding: 16px 20px; border-radius: 20px; background: #fff; border: 1px solid #dfe8fa; text-decoration: none; color: inherit; transition: transform .35s, border-color .3s, box-shadow .3s; }
.dv-lista a:hover { transform: translateX(4px); border-color: #0057e5; box-shadow: 0 10px 28px rgba(0, 87, 229, .1); }
.dv-dia { flex: none; display: grid; place-items: center; width: 58px; height: 58px; border-radius: 16px; background: #e4eeff; color: #0057e5; font: 600 11px "Inter", sans-serif; letter-spacing: .08em; text-transform: uppercase; line-height: 1.1; }
.dv-dia b { font: 700 21px "Manrope", sans-serif; letter-spacing: 0; }
.dv-info { flex: 1; min-width: 0; display: grid; gap: 3px; }
.dv-info strong { font: 600 16.5px "Manrope", sans-serif; }
.dv-info em { font-style: normal; color: #5b6b8a; font-size: 13.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dv-lista a > i { color: #0057e5; font-size: 12px; }

.dv-paginas { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.dv-paginas a { min-width: 40px; height: 40px; display: grid; place-items: center; padding: 0 12px; border-radius: 999px; background: #fff; border: 1px solid #dfe8fa; color: #0b1a3d; font-weight: 500; text-decoration: none; }
.dv-paginas a.is-on, .dv-paginas a:hover { background: #0057e5; border-color: #0057e5; color: #fff; }

.dv-vazio { text-align: center; padding: 48px 24px; border-radius: 24px; background: #fff; border: 1px dashed #bcd0f5; }
.dv-vazio > i { font-size: 34px; color: #0057e5; }
.dv-vazio h3 { margin: 14px 0 6px; font: 600 20px "Manrope", sans-serif; }
.dv-vazio p { margin: 0 0 18px; color: #5b6b8a; }

/* ── Lateral ── */
.dv-lateral { display: grid; gap: 18px; min-width: 0; }
.dv-widget { padding: 24px; border-radius: 24px; background: #fff; border: 1px solid #dfe8fa; }
.dv-widget h4 { margin: 0 0 14px; font: 600 17px "Manrope", sans-serif; }
.dv-widget ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.dv-widget li a { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 12px; color: #2a3858; font-size: 14.5px; text-decoration: none; transition: background .25s, color .25s; }
.dv-widget li a:hover, .dv-widget li a.is-on { background: #e4eeff; color: #0057e5; }
.dv-widget li span { flex: none; padding: 2px 9px; border-radius: 999px; background: #eef4ff; color: #5b6b8a; font-size: 12px; font-weight: 600; }
.dv-conta p { margin: 0 0 16px; color: #43527a; font-size: 14.5px; line-height: 1.65; }

@media (max-width: 640px) {
  .dv-section { padding: 36px 0 80px; }
  .dv-search { padding-left: 16px; flex-wrap: nowrap; }
  .dv-search button { padding: 12px 18px; }
  .dv-card-top { padding: 26px 22px 20px; }
  .dv-versiculo { margin: 22px 22px 0; padding: 18px 18px; }
  .dv-versiculo p { font-size: 17px; }
  .dv-texto { padding: 22px 22px 4px; font-size: 16.5px; }
  .dv-oracao { margin: 6px 22px 0; }
  .dv-rodape { padding: 22px; }
  .dv-pager { grid-template-columns: minmax(0, 1fr); }
  .dv-pager a { padding: 16px 22px; }
  .dv-seg { text-align: left; border-left: 0; border-top: 1px solid #e6eefc; }
  .dv-lista a { padding: 14px; gap: 14px; }
  .dv-dia { width: 50px; height: 50px; }
}

@media print {
  .dv-hero, .dv-lateral, .dv-anteriores, .dv-acoes, .dv-pager { display: none !important; }
  .dv-section { background: #fff; padding: 0; }
  .dv-layout { display: block; }
  .dv-card { border: 0; }
}
