/* devotional reader */
.dv{padding-top:2rem}
.dv-bar{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;align-items:end;justify-content:space-between;margin-bottom:1rem}
.dv-field{display:grid;gap:.3rem;font-weight:600;font-size:.85rem}
.dv select,.dv input[type=date]{font:inherit;font-weight:500;padding:.6rem .9rem;border:2px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink);min-height:44px}
.seg{display:inline-flex;background:var(--white);border:2px solid var(--line);border-radius:999px;padding:3px}
.seg button{font:inherit;font-weight:600;border:0;background:transparent;padding:.55rem 1.2rem;border-radius:999px;cursor:pointer;color:var(--forest);min-height:44px}
.seg button[aria-selected=true]{background:var(--forest);color:var(--white)}
.dv-nav{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.5rem 0 1.2rem}
.dv-nav .btn{padding:.55rem 1.1rem;min-height:44px}
.dv-nav .btn[disabled]{opacity:.4;cursor:not-allowed;transform:none}
.dv-head{font-size:1.25rem;font-weight:700;margin:0 .5rem}
.dv-banner{background:var(--gold);color:var(--forest);padding:.7rem 1rem;border-radius:12px;margin-bottom:1rem;font-weight:500}
.dv-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.3rem,3vw,2.2rem);box-shadow:var(--shadow)}
.dv-crumb{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--maroon);margin-bottom:.4rem}
.dv-date{font-weight:600;color:var(--muted);margin-bottom:.4rem}
.dv-badge{background:var(--gold);color:var(--forest);font-size:.72rem;font-weight:700;padding:.15rem .6rem;border-radius:999px;vertical-align:middle}
.dv-title{font-size:clamp(1.6rem,4vw,2.5rem);margin-bottom:.8rem}
.dv-ref{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center}
.dv-refchip{background:var(--forest);color:var(--gold);font-weight:700;padding:.35rem .9rem;border-radius:999px}
.dv-ref a{font-weight:600;color:var(--maroon)}
.dv-actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin:1.4rem 0}
.dv-check{display:flex;gap:.5rem;align-items:center;font-weight:600;cursor:pointer;min-height:44px}
.dv-check input{width:22px;height:22px;accent-color:var(--forest)}
.dv-week{border-top:1px solid var(--line);padding-top:1rem}
.dv-weeklabel{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem}
.dv-list{list-style:none;margin:1.2rem 0 0;padding:0;display:grid;gap:.5rem}
.dv-list button{all:unset;box-sizing:border-box;width:100%;display:grid;grid-template-columns:5.2rem 1fr 1.6rem;gap:1rem;align-items:center;padding:.8rem 1rem;border:1px solid var(--line);border-radius:14px;cursor:pointer;background:var(--cream)}
.dv-list button:hover{border-color:var(--forest)}
.dv-list button:focus-visible{outline:3px solid var(--gold)}
.dv-list .is-today button{border-color:var(--forest);background:#fff8d6}
.dv-dow{font-weight:700;display:grid}.dv-dow small{font-weight:500;color:var(--muted)}
.dv-li-main{display:grid}.dv-li-title{font-weight:600}.dv-li-ref{color:var(--muted);font-size:.9rem}
.dv-li-read,.dv-tick{color:#1f7a2c;font-weight:800}
.dv-dowrow,.dv-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.4rem}
.dv-dowrow span{text-align:center;font-weight:700;font-size:.8rem;color:var(--muted)}
.dv-grid{margin-top:.4rem}
.dv-cell{all:unset;box-sizing:border-box;display:flex;flex-direction:column;gap:.15rem;min-height:104px;padding:.5rem;background:var(--white);border:1px solid var(--line);border-radius:12px;position:relative;overflow:hidden}
button.dv-cell{cursor:pointer}
button.dv-cell:hover{border-color:var(--forest);box-shadow:var(--shadow)}
button.dv-cell:focus-visible{outline:3px solid var(--gold)}
.dv-cell.empty{background:transparent;border-color:transparent}
.dv-cell.off{opacity:.45}
.dv-cell.is-today{border:2px solid var(--forest);background:#fff8d6}
.dv-cell.is-sel{box-shadow:0 0 0 3px var(--gold)}
.dv-num{font-weight:800}
.dv-num small{display:none;font-weight:500;color:var(--muted);margin-left:.4rem}
.dv-cell-title{font-size:.78rem;line-height:1.25;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dv-cell-ref{font-size:.7rem;color:var(--muted)}
.dv-tick{position:absolute;top:.4rem;right:.5rem}
.dv-foot{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;margin-top:1.5rem}
.dv-foot .pdfs{display:flex;flex-wrap:wrap;gap:.6rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(max-width:700px){
  .dv-dowrow{display:none}
  .dv-grid{grid-template-columns:1fr}
  .dv-cell.empty{display:none}
  .dv-cell{min-height:0;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.3rem .8rem}
  .dv-num small{display:inline}
  .dv-cell-title{-webkit-line-clamp:1;flex:1 1 60%}
  .dv-list button{grid-template-columns:4rem 1fr 1.2rem}
}
.dv-dowrow,.dv-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
.dv-cell-title,.dv-cell-ref,.dv-li-title{overflow-wrap:anywhere}
