/**
 * APNT Design System — READER BIBLIE (biblia.php)
 * ================================================
 * Port pixel-perfect al referinței aprobate „Reader Biblie.dc.html"
 * (design_handoff_apnt_unificare), pe markup-ul funcțional existent.
 *
 * Reguli:
 *  - se încarcă DUPĂ styles.min.css + bible.min.css (ordinea = fix-ul
 *    pentru coliziunile .btn / .bible-*)
 *  - decizia 1 din handoff: Biblia = burgundy + auriu (verdele dispare
 *    complet ca accent) → remapăm variabilele --bible-* pe tokenii APNT
 *  - zero hex hardcodat în afara fallback-urilor de tokeni
 *
 * @author     Canny Agency SRL <office@canny.ro>
 * @copyright  2026 Canny Agency SRL
 */

/* ══ 1. Remap tokeni: --bible-* → APNT (temele light+dark comută singure) ══ */
:root {
  --bible-bg:            var(--apnt-bg, #f1ebe7);
  --bible-bg-alt:        var(--apnt-bg-warm, #f7f3f0);
  --bible-text:          var(--apnt-fg, #1a1a1a);
  --bible-text-muted:    var(--apnt-fg-muted, #595959);
  --bible-primary:       var(--apnt-primary, #7b1420);
  --bible-primary-light: var(--apnt-primary-hover, #9a1a2a);
  --bible-primary-dark:  var(--apnt-primary-active, #5e0f18);
  --bible-accent:        var(--apnt-gold, #c9a227);
  --bible-card-bg:       var(--apnt-surface, #ffffff);
  --bible-card-border:   var(--apnt-border-light, #f0ece8);
  --bible-card-shadow:   rgba(0, 0, 0, .06);
  --bible-verse-bg:      var(--apnt-surface, #ffffff);
  --bible-verse-number:  var(--apnt-gold-dark, #a68617);
  --bible-chapter-title: var(--apnt-fg, #1a1a1a);
  --bible-input-bg:      var(--apnt-surface, #ffffff);
  --bible-input-border:  var(--apnt-border, #e8e4e0);
  --bible-button-bg:     var(--apnt-primary, #7b1420);
  --bible-button-text:   var(--apnt-on-primary, #ffffff);
  --bible-button-hover:  var(--apnt-primary-hover, #9a1a2a);
  --bible-progress-bg:   var(--apnt-border, #e8e4e0);
  --bible-progress-fill: var(--apnt-gold, #c9a227);
  --bible-progress-marker: var(--apnt-primary, #7b1420);
  --bible-cal-completed: var(--apnt-success, #1e7a44);
  --bible-cal-today:     var(--apnt-gold, #c9a227);
  --bible-cal-missed:    var(--apnt-danger, #c0281f);
  --bible-cal-future:    var(--apnt-border, #e8e4e0);
  --bible-modal-bg:      var(--apnt-surface, #ffffff);
  --bible-surface:       var(--apnt-surface, #ffffff);
  --bible-onboarding-primary:       var(--apnt-primary, #7b1420);
  --bible-onboarding-primary-hover: var(--apnt-primary-hover, #9a1a2a);
}
:root[data-theme="dark"] {
  --bible-verse-number: var(--apnt-gold, #c9a227);
  --bible-card-shadow:  rgba(0, 0, 0, .35);
  --bible-modal-backdrop: rgba(0, 0, 0, .7);
}

/* Fontul unic al design system-ului + fundal cald */
.bible-page-body {
  font-family: var(--apnt-font-sans, 'Inter', system-ui, sans-serif);
  background: var(--apnt-bg, #f1ebe7);
  color: var(--apnt-fg, #1a1a1a);
}
.bible-page-body [hidden] { display: none !important; }

/* ══ 2. Subbar (referință: .subbar) — plan, navigator zi, taburi, A−/A+ ══ */
.apnt-subbar {
  background: var(--apnt-surface);
  border-bottom: 1px solid var(--apnt-border-light);
}
.apnt-subbar-in {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 0;
  flex-wrap: wrap;
}
.apnt-subbar-title {
  font: 800 1.25rem/1.2 var(--apnt-font-sans);
  letter-spacing: -.3px;
  margin: 8px 0 0;
}
.apnt-subbar-total {
  font: 600 .8rem/1 var(--apnt-font-sans);
  color: var(--apnt-fg-muted);
}
.apnt-subbar-sub {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin: 4px 0 0;
  font: 500 .78rem/1.4 var(--apnt-font-sans);
  color: var(--apnt-fg-muted);
}
.apnt-plan-switch {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 0;
  background: none;
  padding: 4px 6px;
  border-radius: var(--apnt-radius-xs);
  color: var(--apnt-primary);
  font: 600 .75rem/1 var(--apnt-font-sans);
  cursor: pointer;
}
.apnt-plan-switch:hover { background: var(--apnt-primary-soft); }
:root[data-theme="dark"] .apnt-plan-switch { color: var(--apnt-primary-on-dark); }
.community-counter {
  font-size: .75rem;
  color: var(--apnt-fg-muted);
  margin-top: 4px;
}

/* Navigator de zi (referință: .daynav) — păstrează slider-ul funcțional */
.apnt-daynav {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--apnt-bg-warm);
  border: 1px solid var(--apnt-border);
  border-radius: var(--apnt-radius-pill);
  padding: 4px;
}
.apnt-daynav .daybtn {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 0;
  background: transparent;
  color: var(--apnt-fg);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
}
.apnt-daynav .daybtn:hover {
  background: var(--apnt-primary-soft);
  color: var(--apnt-primary);
}
:root[data-theme="dark"] .apnt-daynav .daybtn:hover { color: var(--apnt-primary-on-dark); }
.apnt-daynav-center {
  min-width: 150px;
  text-align: center;
  padding: 0 6px;
}
.apnt-daynav-center strong {
  font: 700 .8rem/1.2 var(--apnt-font-sans);
  color: var(--apnt-fg);
}
/* slider-ul de zi stilizat ca bara de progres din referință (5px, auriu) */
.apnt-daynav .nav-slider {
  -webkit-appearance: none;
  appearance: none;
  display: block;
  width: 100%;
  height: 5px;
  margin: 8px 0 4px;
  border-radius: var(--apnt-radius-pill);
  background:
    linear-gradient(var(--apnt-gold), var(--apnt-gold)) 0 / var(--apnt-slider-fill, 0%) 100% no-repeat,
    var(--apnt-border);
  cursor: pointer;
}
.apnt-daynav .nav-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--apnt-surface);
  border: 2px solid var(--apnt-gold);
  box-shadow: var(--apnt-shadow-xs);
}
.apnt-daynav .nav-slider::-moz-range-thumb {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--apnt-surface);
  border: 2px solid var(--apnt-gold);
  box-shadow: var(--apnt-shadow-xs);
}

/* Taburile de unelte (pill, canonice din components.css) — un singur rând */
.apnt-tool-tabs {
  flex: 1;
  justify-content: center;
  min-width: 0;
  flex-wrap: nowrap;
  overflow-x: auto;
  scrollbar-width: none;
}
.apnt-tool-tabs::-webkit-scrollbar { display: none; }
.apnt-tool-tabs .tab {
  white-space: nowrap;
  flex: none;
}
.apnt-font-controls { display: flex; gap: 8px; }

/* Elemente legacy înlocuite de taburi — rămân în DOM pentru JS */
.bible-controls-toggle-wrapper,
.bible-advanced-toggle { display: none; }

/* ══ 3. Panoul de unelte (categoriile devin conținutul taburilor) ══ */
.bible-controls.expanded {
  background: var(--apnt-surface);
  border: 1px solid var(--apnt-border-light);
  border-radius: var(--apnt-radius-lg);
  box-shadow: var(--apnt-shadow-sm);
  padding: 16px 20px;
  margin: 20px 0 0;
}
.bible-controls-inner { justify-content: flex-start; }
.control-group-label,
.control-divider { display: none; }
.controls-category,
.controls-category-buttons { gap: 8px; }
.bible-controls .control-btn,
.bible-advanced-panel .control-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  min-height: 40px;
  border-radius: var(--apnt-radius-pill);
  border: 1.5px solid var(--apnt-border);
  background: var(--apnt-surface);
  color: var(--apnt-fg-muted);
  font: 600 .85rem/1 var(--apnt-font-sans);
  cursor: pointer;
  transition: border-color var(--apnt-transition-base), color var(--apnt-transition-base);
}
.bible-controls .control-btn:hover,
.bible-advanced-panel .control-btn:hover {
  border-color: var(--apnt-primary);
  color: var(--apnt-primary);
  background: var(--apnt-surface);
}
:root[data-theme="dark"] .bible-controls .control-btn:hover {
  border-color: var(--apnt-primary-on-dark);
  color: var(--apnt-primary-on-dark);
}
.bible-advanced-panel {
  flex-wrap: wrap;
  gap: 8px;
  border: 0;
  background: transparent;
  padding: 0;
  margin-top: 8px;
}

/* ══ 4. Căutarea globală — pill canonic ══ */
.bible-search-bar { margin: 20px 0 0; }
.bible-search-trigger {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 48px;
  padding: 8px 18px;
  border: 1.5px solid var(--apnt-border);
  border-radius: var(--apnt-radius-pill);
  background: var(--apnt-surface);
  color: var(--apnt-fg-muted);
  font: 500 .85rem/1 var(--apnt-font-sans);
  cursor: pointer;
  transition: border-color var(--apnt-transition-base), color var(--apnt-transition-base);
}
.bible-search-trigger:hover {
  border-color: var(--apnt-primary);
  color: var(--apnt-primary);
}
:root[data-theme="dark"] .bible-search-trigger:hover {
  border-color: var(--apnt-primary-on-dark);
  color: var(--apnt-primary-on-dark);
}

/* ══ 5. Cardul codului personal ══ */
.bible-code-section { margin: 20px 0 0; }
.code-card {
  background: var(--apnt-surface);
  border: 1px solid var(--apnt-border-light);
  border-radius: var(--apnt-radius-lg);
  box-shadow: var(--apnt-shadow-sm);
  padding: 20px 24px;
}
.code-prompt-icon {
  background: var(--apnt-primary-soft);
  color: var(--apnt-primary);
}
:root[data-theme="dark"] .code-prompt-icon { color: var(--apnt-primary-on-dark); }
.code-value,
.profile-code-value {
  font-family: var(--apnt-font-mono);
  background: var(--apnt-gold-soft);
  border: 1.5px dashed var(--apnt-gold);
  border-radius: var(--apnt-radius-sm);
  padding: 4px 10px;
  color: var(--apnt-gold-dark);
  letter-spacing: .5px;
}
:root[data-theme="dark"] .code-value,
:root[data-theme="dark"] .profile-code-value { color: var(--apnt-gold); }
.code-card .code-action-btn.primary,
.profile-action-btn.profile-action-generate {
  background: var(--apnt-primary);
  color: var(--apnt-on-primary);
  box-shadow: var(--apnt-shadow-primary);
}
.code-card .code-action-btn.primary:hover,
.profile-action-btn.profile-action-generate:hover { background: var(--apnt-primary-hover); }
.code-card .code-action-btn.secondary {
  background: var(--apnt-surface);
  border: 1.5px solid var(--apnt-border);
  color: var(--apnt-fg);
}
.code-card .code-action-btn.secondary:hover {
  border-color: var(--apnt-primary);
  color: var(--apnt-primary);
}

/* ══ 6. Grila principală: pasaj + sidebar (referință: .main 1fr/320px) ══ */
.apnt-bib-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 24px;
  align-items: start;
  padding: 28px 0 40px;
}
.apnt-bib-col { min-width: 0; }

/* ── Pasajul (referință: .passage) ── */
.passage {
  background: var(--apnt-surface);
  border: 1px solid var(--apnt-border-light);
  border-radius: var(--apnt-radius-lg);
  box-shadow: var(--apnt-shadow-sm);
  padding: 40px 48px;
}
.passage-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.passage .ptitle {
  font: 800 1.7rem/1.15 var(--apnt-font-sans);
  letter-spacing: -.4px;
  text-transform: none; /* bible.css pune uppercase pe .reading-title */
  color: var(--apnt-fg);
  margin: 12px 0 0;
}
.trsel-static {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1.5px solid var(--apnt-border);
  border-radius: var(--apnt-radius-sm);
  padding: 8px 14px;
  min-height: 44px;
  font: 600 .85rem/1 var(--apnt-font-sans);
  background: var(--apnt-surface);
  color: var(--apnt-fg);
  white-space: nowrap;
}
#offlineBibleIndicator {
  font-size: .75rem;
  color: var(--apnt-success);
  margin-left: 0;
}
/* butonul de locație („Vezi pe hartă") pe care bible.js îl adaugă lângă titlu */
.passage-head .reading-map-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
  padding: 6px 12px;
  min-height: 36px;
  border: 1.5px solid var(--apnt-border);
  border-radius: var(--apnt-radius-pill);
  background: var(--apnt-surface);
  color: var(--apnt-fg-muted);
  font: 600 .78rem/1 var(--apnt-font-sans);
  cursor: pointer;
}
.passage-head .reading-map-btn:hover {
  border-color: var(--apnt-primary);
  color: var(--apnt-primary);
}

/* containerul de text se aplatizează în interiorul cardului pasaj */
.passage .bible-text-container {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  margin-top: 24px;
  min-height: 200px;
}

/* Titlu capitol + banner de context */
.bible-chapter-title {
  font: 800 1.15rem/1.3 var(--apnt-font-sans);
  letter-spacing: -.2px;
  color: var(--apnt-fg);
  border-bottom: 1px solid var(--apnt-border-light);
  padding-bottom: 10px;
  margin: 26px 0 14px;
}
.chapter-context-banner {
  background: var(--apnt-bg-warm);
  border: 1px solid var(--apnt-border-light);
  border-radius: var(--apnt-radius-md);
}

/* ── Versete (referință: .vs / .vn / .vtx / .vmark) ── */
.passage .bible-verse {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 14px;
  padding: 7px 12px;
  margin: 0 0 2px;
  border-radius: var(--apnt-radius-sm);
  text-align: left;
  hyphens: none;
  transition: background var(--apnt-transition-base);
}
.passage .bible-verse:hover { background: var(--apnt-bg-warm); }
.passage .verse-number {
  font: 700 .72rem/1 var(--apnt-font-sans);
  color: var(--bible-verse-number);
  min-width: 20px;
  text-align: right;
  flex: none;
  top: 0;
  background: none;
}
.passage .verse-text {
  flex: 1;
  min-width: 0;
  margin: 0;
  font-family: var(--apnt-font-serif);
  /* styles.min.css are un .verse-text global italic (versetul zilei homepage) */
  font-style: normal;
  font-weight: 400;
  font-size: var(--verse-font-size, 1.08rem);
  line-height: 1.85;
  color: var(--apnt-fg);
}
/* favoritele/notele se marchează prin iconițe (vmark), nu prin fundal/borduri */
.passage .bible-verse.favorited,
.passage .bible-verse.has-note {
  background: transparent;
  border-left: 0;
  padding-left: 12px;
  margin-left: 0;
}
.passage .bible-verse.favorited:hover,
.passage .bible-verse.has-note:hover { background: var(--apnt-bg-warm); }

/* verset-cheie: bordură + fundal auriu (referință: .vs-key) */
.passage .bible-verse.key-verse {
  border-left: 3px solid var(--apnt-gold);
  background: var(--apnt-gold-soft);
  border-radius: 0 var(--apnt-radius-sm) var(--apnt-radius-sm) 0;
}
/* versetul în curs de redare TTS (referință: .vs-tts) */
.passage .bible-verse.tts-reading {
  background: var(--apnt-primary-soft);
  outline: 1.5px dashed var(--apnt-primary);
  outline-offset: -1.5px;
}
:root[data-theme="dark"] .passage .bible-verse.tts-reading {
  outline-color: var(--apnt-primary-on-dark);
}

/* evidențieri — pe textul versetului, ca în referință (.hl-y) */
.passage .bible-verse.verse-hl-yellow,
.passage .bible-verse.verse-hl-green,
.passage .bible-verse.verse-hl-pink,
.passage .bible-verse.verse-hl-blue { background: transparent; }
.passage .verse-hl-yellow .verse-text { background: rgba(246, 214, 84, .4); }
.passage .verse-hl-green  .verse-text { background: rgba(134, 239, 172, .35); }
.passage .verse-hl-pink   .verse-text { background: rgba(249, 168, 212, .35); }
.passage .verse-hl-blue   .verse-text { background: rgba(147, 197, 253, .35); }
.passage .verse-hl-yellow .verse-text,
.passage .verse-hl-green  .verse-text,
.passage .verse-hl-pink   .verse-text,
.passage .verse-hl-blue   .verse-text {
  border-radius: 3px;
  padding: 0 3px;
}
:root[data-theme="dark"] .passage .verse-hl-yellow .verse-text { background: rgba(246, 214, 84, .22); }
:root[data-theme="dark"] .passage .verse-hl-green  .verse-text { background: rgba(134, 239, 172, .18); }
:root[data-theme="dark"] .passage .verse-hl-pink   .verse-text { background: rgba(249, 168, 212, .18); }
:root[data-theme="dark"] .passage .verse-hl-blue   .verse-text { background: rgba(147, 197, 253, .18); }

/* acțiunile pe verset — iconițe discrete inline (referință: .vmark);
   bible.css le poziționa absolut într-o casetă albă cu umbră — resetăm tot */
.passage .verse-actions-row {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  position: static;
  transform: none;
  margin-left: 8px;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  pointer-events: auto;
  opacity: .35;
  transition: opacity var(--apnt-transition-base);
}
.passage .bible-verse:hover .verse-actions-row,
.passage .bible-verse.favorited .verse-actions-row,
.passage .bible-verse.has-note .verse-actions-row { opacity: 1; }
.passage .verse-actions-row button {
  width: 24px;
  height: 24px;
  min-width: 0;
  min-height: 0;
  padding: 0;
  margin: 0;
  border: 0;
  background: none;
  box-shadow: none;
  color: var(--apnt-fg-muted);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--apnt-radius-xs);
  opacity: 1;
}
.passage .verse-actions-row button:hover { color: var(--apnt-primary); }
:root[data-theme="dark"] .passage .verse-actions-row button:hover { color: var(--apnt-primary-on-dark); }
.passage .bible-verse.favorited .verse-favorite-btn { color: var(--apnt-primary); }
:root[data-theme="dark"] .passage .bible-verse.favorited .verse-favorite-btn { color: var(--apnt-primary-on-dark); }
.passage .verse-note-btn.has-note { color: var(--apnt-gold-dark); }
:root[data-theme="dark"] .passage .verse-note-btn.has-note { color: var(--apnt-gold); }
.passage .verse-note-preview {
  flex: 1 0 100%;
  margin: 4px 0 0 34px;
  padding: 6px 10px;
  background: var(--apnt-bg-warm);
  border: 0;
  border-radius: var(--apnt-radius-sm);
  font: italic 500 .78rem/1.5 var(--apnt-font-sans);
  color: var(--apnt-fg-muted);
}
.passage .verse-note-preview::before { display: none; }
.passage .verse-note-preview:hover {
  background: var(--apnt-gold-soft);
  border: 0;
}

/* ── Subsolul pasajului: meta + Ascultă + Marchează ca citit ── */
.passage-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 24px;
  border-top: 1px solid var(--apnt-border-light);
  padding-top: 24px;
}
.passage-foot-meta {
  font-size: .8rem;
  color: var(--apnt-fg-muted);
}
.passage-foot-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
/* „Ascultă" — aspect de buton secundar canonic */
.passage-foot .control-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  min-height: 44px;
  border-radius: var(--apnt-radius-sm);
  border: 1.5px solid var(--apnt-border);
  background: var(--apnt-surface);
  color: var(--apnt-fg);
  font: 600 .9rem/1 var(--apnt-font-sans);
  cursor: pointer;
  transition: border-color var(--apnt-transition-base), color var(--apnt-transition-base), background var(--apnt-transition-base);
}
.passage-foot .control-btn:hover {
  border-color: var(--apnt-primary);
  color: var(--apnt-primary);
  background: var(--apnt-primary-softer);
}
:root[data-theme="dark"] .passage-foot .control-btn:hover {
  border-color: var(--apnt-primary-on-dark);
  color: var(--apnt-primary-on-dark);
}
.passage-foot .control-btn svg { width: 16px; height: 16px; }
/* „Marchează ca citit" — buton primar canonic (JS îi rescrie doar interiorul) */
.mark-read-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 20px;
  min-height: 44px;
  border: 0;
  border-radius: var(--apnt-radius-sm);
  background: var(--apnt-primary);
  color: var(--apnt-on-primary);
  font: 600 .9rem/1 var(--apnt-font-sans);
  cursor: pointer;
  box-shadow: var(--apnt-shadow-primary);
  transition: background var(--apnt-transition-base), transform var(--apnt-transition-fast), box-shadow var(--apnt-transition-base);
  width: auto;
  margin: 0;
}
@media (hover: hover) {
  .mark-read-btn:hover {
    background: var(--apnt-primary-hover);
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(123, 20, 32, .32);
  }
}
.mark-read-btn:active { background: var(--apnt-primary-active); transform: translateY(0); }
.mark-read-btn.completed { background: var(--apnt-success); box-shadow: none; }
.mark-read-btn.completed:hover { background: var(--apnt-success); transform: none; }
.mark-read-btn svg { width: 16px; height: 16px; }
.bible-mark-read { text-align: right; padding: 0; margin: 0; }

/* ══ 7. Sidebar (referință: .side / .statm / .advrow) ══ */
.apnt-bib-side {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.statm {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 14px;
}
.statc {
  background: var(--apnt-bg-warm);
  border-radius: var(--apnt-radius-md);
  padding: 12px 14px;
}
.statv {
  font: 800 1.3rem/1.2 var(--apnt-font-sans);
  color: var(--apnt-primary);
}
:root[data-theme="dark"] .statv { color: var(--apnt-primary-on-dark); }
.statl {
  font: 600 .68rem/1.4 var(--apnt-font-sans);
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--apnt-fg-muted);
}
/* „Continuă de unde ai rămas" — buton secundar pe lățimea cardului */
.bible-continue-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  margin-top: 12px;
  padding: 10px 16px;
  min-height: 44px;
  border: 1.5px solid var(--apnt-border);
  border-radius: var(--apnt-radius-sm);
  background: var(--apnt-surface);
  color: var(--apnt-fg);
  font: 600 .85rem/1.2 var(--apnt-font-sans);
  cursor: pointer;
}
.bible-continue-btn:hover {
  border-color: var(--apnt-primary);
  color: var(--apnt-primary);
}
/* Rând „Studiu avansat" (referință: .advrow) */
.advrow {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 11px 8px;
  border: 0;
  background: none;
  border-radius: var(--apnt-radius-sm);
  color: var(--apnt-fg);
  font: 500 .875rem/1.3 var(--apnt-font-sans);
  text-align: left;
  cursor: pointer;
  transition: background var(--apnt-transition-base), color var(--apnt-transition-base);
}
.advrow:hover {
  background: var(--apnt-primary-soft);
  color: var(--apnt-primary);
}
:root[data-theme="dark"] .advrow:hover { color: var(--apnt-primary-on-dark); }
.advdot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--apnt-gold);
  flex: none;
}

/* ══ 8. Versetul zilei — card centrat pe axă (decizia 7) ══ */
.bible-verse-of-day { margin: 0 0 24px; }
.votd-card {
  background: var(--apnt-surface);
  border: 1px solid var(--apnt-border-light);
  border-top: 3px solid var(--apnt-gold);
  border-radius: var(--apnt-radius-lg);
  box-shadow: var(--apnt-shadow-sm);
  padding: 24px;
  text-align: center;
}
.votd-card::before { display: none; }
.votd-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: var(--apnt-radius-pill);
  background: var(--apnt-gold-soft);
  color: var(--apnt-gold-dark);
  font: 700 .75rem/1.3 var(--apnt-font-sans);
  text-transform: uppercase;
  letter-spacing: .08em;
}
:root[data-theme="dark"] .votd-label { color: var(--apnt-gold); }
.votd-verse-text {
  font: italic 400 1.05rem/1.8 var(--apnt-font-serif);
  color: var(--apnt-fg);
  margin: 14px 0 6px;
}
.votd-reference {
  font: 600 .8rem/1.4 var(--apnt-font-sans);
  color: var(--apnt-fg-muted);
}
.votd-challenge {
  background: var(--apnt-bg-warm);
  border-radius: var(--apnt-radius-md);
  padding: 12px 16px;
  margin-top: 14px;
}
.votd-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  min-height: 40px;
  border: 1.5px solid var(--apnt-border);
  border-radius: var(--apnt-radius-sm);
  background: var(--apnt-surface);
  color: var(--apnt-fg);
  font: 600 .8rem/1 var(--apnt-font-sans);
  cursor: pointer;
}
.votd-btn:hover { border-color: var(--apnt-primary); color: var(--apnt-primary); }

/* ══ 9. Bara TTS fixă jos (referință: .tts) ══ */
.bible-audio-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: var(--apnt-z-overlay, 1200);
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 12px clamp(16px, 4vw, 48px);
  background: color-mix(in srgb, var(--apnt-surface) 94%, transparent);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-top: 1px solid var(--apnt-border);
  box-shadow: 0 -4px 20px rgba(0, 0, 0, .08);
}
.bap-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.bap-book-chapter {
  font: 600 .8rem/1.3 var(--apnt-font-sans);
  color: var(--apnt-fg);
}
.bap-verse-indicator {
  font: 500 .72rem/1.3 var(--apnt-font-sans);
  color: var(--apnt-fg-muted);
}
.bap-controls {
  display: flex;
  align-items: center;
  gap: 8px;
}
.bap-btn {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1.5px solid var(--apnt-border);
  background: var(--apnt-surface);
  color: var(--apnt-fg);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: border-color var(--apnt-transition-base), color var(--apnt-transition-base);
}
.bap-btn:hover { border-color: var(--apnt-primary); color: var(--apnt-primary); }
.bap-btn--primary,
.bap-btn--primary:hover {
  width: 52px;
  height: 52px;
  border: 0;
  background: var(--apnt-primary);
  color: var(--apnt-on-primary);
  box-shadow: var(--apnt-shadow-primary);
}
.bap-btn--primary:hover { background: var(--apnt-primary-hover); }
.bap-speed {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}
.bap-speed-label {
  font: 500 .75rem/1 var(--apnt-font-sans);
  color: var(--apnt-fg-muted);
}
.bap-speed-select {
  border: 1.5px solid var(--apnt-border);
  border-radius: var(--apnt-radius-sm);
  background: var(--apnt-surface);
  color: var(--apnt-fg);
  font: 600 .8rem/1 var(--apnt-font-sans);
  padding: 8px 10px;
  min-height: 40px;
  cursor: pointer;
}

/* ══ 10. Meniul contextual pe verset (long-press mobil + selecție desktop I3) ══ */
.verse-context-menu {
  position: fixed;
  z-index: var(--apnt-z-tooltip, 1500);
  display: flex;
  flex-direction: column;
  min-width: 210px;
  padding: 6px;
  background: var(--apnt-surface);
  border: 1px solid var(--apnt-border-light);
  border-radius: var(--apnt-radius-md);
  box-shadow: var(--apnt-shadow-lg);
}
.verse-context-menu-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 0;
  background: none;
  border-radius: var(--apnt-radius-sm);
  color: var(--apnt-fg);
  font: 500 .875rem/1.2 var(--apnt-font-sans);
  text-align: left;
  cursor: pointer;
}
.verse-context-menu-item:hover,
.verse-context-menu-item:active {
  background: var(--apnt-primary-soft);
  color: var(--apnt-primary);
}
:root[data-theme="dark"] .verse-context-menu-item:hover,
:root[data-theme="dark"] .verse-context-menu-item:active { color: var(--apnt-primary-on-dark); }
.verse-context-menu-item svg {
  width: 16px;
  height: 16px;
  flex: none;
}
.verse-highlight-picker {
  position: fixed;
  z-index: var(--apnt-z-tooltip, 1500);
  padding: 10px;
  background: var(--apnt-surface);
  border: 1px solid var(--apnt-border-light);
  border-radius: var(--apnt-radius-md);
  box-shadow: var(--apnt-shadow-lg);
}
.vhp-colors { display: flex; gap: 8px; }
.vhp-color-btn {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 2px solid transparent;
  cursor: pointer;
}
.vhp-color-btn.active,
.vhp-color-btn:hover { border-color: var(--apnt-fg); }
.vhp-remove-btn {
  width: 100%;
  margin-top: 8px;
  padding: 8px;
  border: 0;
  background: none;
  border-radius: var(--apnt-radius-xs);
  color: var(--apnt-danger);
  font: 600 .78rem/1 var(--apnt-font-sans);
  cursor: pointer;
}
.vhp-remove-btn:hover { background: var(--apnt-danger-bg); }

/* ══ 11. Profil / onboarding — aliniere la brand (restul vine din remap) ══ */
.bible-profile-card {
  background: var(--apnt-surface);
  border: 1px solid var(--apnt-border-light);
}
.profile-action-btn.profile-action-export {
  background: var(--apnt-primary);
  color: var(--apnt-on-primary);
  box-shadow: var(--apnt-shadow-primary);
}
.profile-action-btn.profile-action-export:hover { box-shadow: 0 4px 12px rgba(123, 20, 32, .32); }
.profile-action-btn.profile-action-delete {
  background: var(--apnt-surface);
  color: var(--apnt-danger);
  border: 1.5px solid var(--apnt-danger-bg);
}
.profile-action-btn.profile-action-delete:hover {
  background: var(--apnt-danger-bg);
  border-color: var(--apnt-danger);
}
.profile-theme-btn {
  border: 1.5px solid var(--apnt-border);
  border-radius: var(--apnt-radius-pill);
  background: var(--apnt-surface);
  color: var(--apnt-fg-muted);
  font: 600 .8rem/1 var(--apnt-font-sans);
  padding: 8px 14px;
  min-height: 40px;
  cursor: pointer;
}
.profile-theme-btn.active {
  background: var(--apnt-primary);
  border-color: var(--apnt-primary);
  color: var(--apnt-on-primary);
}
.bible-onboarding__box { border-radius: var(--apnt-radius-lg); }

/* ══ 12. Responsive (breakpoints 768 / 1024 din design system) ══ */
@media (max-width: 1023px) {
  .apnt-bib-grid { grid-template-columns: 1fr; }
  .apnt-tool-tabs { order: 5; flex-basis: 100%; justify-content: flex-start; }
}
/* ≤480: păstrăm comportamentul bible.css — verset bloc + acțiuni în „⋯" */
@media (max-width: 480px) {
  .passage .bible-verse {
    display: block;
    position: relative;
  }
  .passage .verse-number {
    display: inline;
    min-width: 0;
    text-align: left;
  }
  .passage .verse-text { display: inline; }
  .passage .verse-actions-row { display: none; }
  .passage .verse-actions-row.expanded { display: flex; margin: 6px 0 0 1.5em; }
  .verse-more-btn { color: var(--apnt-primary); }
  .verse-more-btn.active,
  .verse-more-btn:hover {
    color: var(--apnt-primary);
    background: var(--apnt-primary-soft);
  }
  :root[data-theme="dark"] .verse-more-btn { color: var(--apnt-primary-on-dark); }
}

@media (max-width: 767px) {
  .apnt-subbar-in {
    flex-wrap: wrap;
    gap: 12px;
    padding: 12px 0;
  }
  .apnt-daynav { flex: 1; }
  .apnt-daynav-center { flex: 1; min-width: 0; }
  .apnt-tool-tabs { -webkit-overflow-scrolling: touch; padding-bottom: 2px; }
  .passage { padding: 20px 16px; }
  .passage .bible-verse { padding: 6px 8px; gap: 0 10px; }
  .passage-foot,
  .passage-foot-actions { justify-content: stretch; }
  .passage-foot .control-btn,
  .mark-read-btn { flex: 1; justify-content: center; }
  .bible-audio-bar { gap: 10px; flex-wrap: wrap; }
  .bap-speed { margin-left: 0; }
}
