/* Phase 10.4C — LoveBlazer reading pages. Scoped styles; no Django model changes. */
.lb-compact-panel {
  margin: 14px 0;
  border: 1px solid #ecdce3;
  background: #fff9fb;
  border-radius: 14px;
  overflow: hidden;
}
.lb-compact-panel > summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  color: #733954;
}
.lb-compact-panel > summary::-webkit-details-marker { display: none; }
.lb-compact-panel > summary > span:first-child { display: grid; gap: 3px; }
.lb-compact-panel > summary strong { font-size: 14px; line-height: 1.35; }
.lb-compact-panel > summary small { font-size: 11px; font-weight: 400; color: #8a7180; }
.lb-compact-chevron { flex: none; width: 32px; height: 32px; border: 1px solid #ead3de; background: white; border-radius: 50%; position: relative; transition: transform .2s ease; }
.lb-compact-chevron::after { content: ''; position: absolute; width: 8px; height: 8px; border-right: 2px solid #a55279; border-bottom: 2px solid #a55279; top: 10px; left: 11px; transform: rotate(45deg); }
.lb-compact-panel[open] > summary .lb-compact-chevron { transform: rotate(180deg); }
.lb-compact-inner { padding: 3px 14px 16px; border-top: 1px solid #f1e3e9; }
.lb-compact-inner > .lf-section-heading { margin-top: 12px; }
.lb-compact-inner > h2:first-child { font-size: 17px; margin-top: 14px; }
.lb-compact-inner .lf-roadmap { gap: 9px; }
.lb-compact-inner .lf-stage { min-width: 0; }
.lb-compact-panel:focus-within { outline-offset: 2px; }
.lb-result-modal {
  position: fixed; inset: 0; margin: auto; padding: 0;
  width: min(620px, calc(100vw - 24px));
  max-width: none; max-height: min(88dvh, 850px); border: 0;
  border-radius: 18px; background: #fff; color: #282134;
  box-shadow: 0 20px 80px rgba(42,18,38,.24); overflow: hidden;
}
.lb-result-modal::backdrop { background: rgba(35,16,31,.55); }
.lb-result-modal-panel { display: flex; flex-direction: column; max-height: min(88dvh, 850px); }
.lb-result-modal-header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding: 10px 13px 10px 19px; background:#fff6f9; border-bottom:1px solid #f1e2e9; }
#lb-result-modal-label { font-size:14px; font-weight:700; color:#7d3d5b; }
.lb-result-modal .lb-result-modal-close { width:40px !important; height:40px; min-width:40px; margin:0 !important; padding:0 !important; display:grid; place-items:center; flex:none; border:1px solid #efd4df; border-radius:50%; color:#7b3758; background:#fff; line-height:1; font-size:25px; font-weight:400; }
.lb-result-modal-content { overflow-y:auto; overscroll-behavior:contain; padding: 20px 22px 8px; }
.lb-result-modal-content .lf-result,
.lb-result-modal-content .ls-ending,
.lb-result-modal-content .ld-result,
.lb-result-modal-content .pt-result { display:block !important; position:static !important; margin:0 !important; box-shadow:none !important; max-width:100%; }
.lb-result-modal-content [hidden] { display:none !important; }
.lb-result-modal-footer { padding:10px 17px 14px; border-top:1px solid #f6e8ee; background:#fff; }
.lb-result-modal .lb-result-modal-done { width:100%; margin:0; padding:11px 18px; border-radius:9px; background:#d75a86; color:#fff; }
.lb-reading-result-in-modal { display:none !important; }
@media(max-width:600px) {
  .lf-main .lf-hero { padding-top: 12px; padding-bottom: 8px; }
  .lf-main .lf-hero h1 { font-size: clamp(24px,6vw,30px); }
  .lf-main .lf-hero p { margin-bottom: 6px; }
  .lf-main .lf-card { padding: 15px; }
  .lb-compact-panel { margin: 10px 0; }
  .lb-compact-panel > summary { padding: 11px 12px; }
  .lb-compact-inner { padding: 2px 10px 12px; }
  .lb-compact-inner .lf-roadmap { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap:5px; }
  .lb-compact-inner .lf-stage { padding: 8px 5px; }
  .lb-compact-inner .lf-stage h3 { font-size: 11px; }
  .lb-compact-inner .lf-stage p { font-size: 10px; line-height:1.4; overflow-wrap:anywhere; }
  .lb-compact-inner .lf-stage-icon { font-size:15px; }
  .lb-result-modal { width:calc(100vw - 16px); max-height:91dvh; border-radius:14px; }
  .lb-result-modal-panel { max-height:91dvh; }
  .lb-result-modal-content { padding:15px 15px 7px; }
}
@media(prefers-reduced-motion:reduce) { .lb-compact-chevron { transition:none; } }

/* Phase 10.4D: always-visible seven-day roadmap above each reading. */
.lf-main .lb-visible-journey {
  margin: 10px 0 16px;
  padding: 13px 14px 14px;
  background: #fff9fb;
  border: 1px solid #efdce5;
  border-radius: 15px;
}
.lb-visible-journey .lf-section-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  justify-content: space-between;
  margin-bottom: 10px;
}
.lb-visible-journey .lf-eyebrow { display: none; }
.lb-visible-journey h2 { margin: 0; font-size: 15px; line-height: 1.35; }
.lb-visible-journey .lf-progress { font-size: 11px; padding: 4px 9px; white-space: nowrap; }
.lb-visible-journey .lf-week { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 5px; }
.lb-visible-journey .lf-week-item { min-width: 0; min-height: 58px; padding: 5px 1px; border-radius: 9px; font-size: 11px; }
.lb-visible-journey .lf-week-item strong { font-size: 13px; }
.lb-visible-journey .lf-week-item small { font-size: 10px; }
/* Keep the original tarot JavaScript's listener target while removing the unused copy action. */
.pt-main #pt-copy, .pt-main #pt-copy-status { display: none !important; }
@media (max-width: 600px) {
  .lf-main .lb-visible-journey { margin: 8px 0 13px; padding: 11px 9px 12px; }
  .lb-visible-journey h2 { font-size: 13px; }
  .lb-visible-journey .lf-progress { font-size: 10px; }
  .lb-visible-journey .lf-week { gap: 3px; }
  .lb-visible-journey .lf-week-item { min-height: 52px; padding: 5px 0; font-size: 10px; }
  .lb-visible-journey .lf-week-item strong { font-size: 12px; }
  .lb-visible-journey .lf-week-item small { font-size: 9px; }
}
