/*
=========================================================
GET UP — JOURNEY V2
Scoped styles for the season-based Journey page only.
=========================================================
*/
.journey-v2-screen {
    --jv2-cream: #f7f3eb;
    --jv2-paper: #fffdf8;
    --jv2-ink: #24364b;
    --jv2-muted: #7b7c78;
    --jv2-gold: #c39a4a;
    --jv2-gold-light: #f0e2bf;
    --jv2-border: #e9e1d3;
    --jv2-green: #6d8067;
    background: var(--jv2-cream);
    color: var(--jv2-ink);
    min-height: 100%;
    padding-bottom: 92px;
}
.journey-v2-screen *, .journey-v2-screen *::before, .journey-v2-screen *::after { box-sizing: border-box; }
.journey-v2-header { display:flex; align-items:center; gap:16px; max-width:1440px; margin:0 auto; padding:28px clamp(18px,4vw,56px) 18px; }
.journey-v2-back { width:42px; height:42px; flex:0 0 42px; display:grid; place-items:center; border:1px solid var(--jv2-border); border-radius:50%; background:var(--jv2-paper); color:var(--jv2-ink); cursor:pointer; }
.journey-v2-heading h1 { margin:3px 0 5px; font-family:Georgia,'Times New Roman',serif; font-size:clamp(28px,3vw,40px); line-height:1.12; font-weight:600; letter-spacing:-.025em; }
.journey-v2-eyebrow { margin:0; color:var(--jv2-gold); font-size:10px; font-weight:800; letter-spacing:.16em; }
.journey-v2-subtitle { margin:0; color:var(--jv2-muted); font-size:14px; }
.journey-v2-body { max-width:1440px; margin:0 auto; padding:0 clamp(18px,4vw,56px) 32px; }
.journey-v2-progress { padding:20px 24px 18px; margin:0 0 24px; background:var(--jv2-paper); border:1px solid var(--jv2-border); border-radius:16px; box-shadow:0 5px 22px rgba(48,42,31,.035); }
.journey-v2-progress-top { display:flex; justify-content:space-between; align-items:center; gap:12px; color:var(--jv2-muted); font-size:13px; margin-bottom:11px; }
.journey-v2-progress-top strong { color:var(--jv2-ink); font-size:13px; }
.journey-v2-progress-track { height:7px; overflow:hidden; border-radius:99px; background:#eee8dd; }
.journey-v2-progress-fill { width:0; height:100%; border-radius:99px; background:linear-gradient(90deg,#b88b3e,#d7b76e); transition:width .25s ease; }
.journey-v2-progress-current { margin-top:10px; text-align:right; font-size:12px; color:var(--jv2-muted); }
.journey-v2-progress-current strong { color:var(--jv2-ink); }
.journey-v2-layout { display:grid; grid-template-columns:minmax(270px, .8fr) minmax(0, 1.7fr); gap:22px; align-items:start; }
.journey-v2-sidebar, .journey-v2-season-panel { min-width:0; background:var(--jv2-paper); border:1px solid var(--jv2-border); border-radius:18px; overflow:hidden; box-shadow:0 7px 26px rgba(48,42,31,.035); }
.journey-v2-sidebar { padding:24px 18px 18px; }
.journey-v2-section-heading h2 { margin:5px 0 0; font-family:Georgia,'Times New Roman',serif; font-size:25px; font-weight:600; }
.journey-v2-sidebar-intro { color:var(--jv2-muted); font-size:13px; line-height:1.6; margin:11px 0 18px; }
.journey-v2-season-list { display:flex; flex-direction:column; gap:10px; }
.journey-v2-season-option { display:flex; align-items:center; gap:12px; width:100%; min-width:0; padding:10px; border:1px solid transparent; border-radius:13px; background:#faf7f0; color:var(--jv2-ink); text-align:left; cursor:pointer; transition:border-color .18s,background .18s,transform .18s; }
.journey-v2-season-option:hover { border-color:#d9c28f; transform:translateY(-1px); }
.journey-v2-season-option.is-selected { background:#f7efd9; border-color:#d4b46c; box-shadow:inset 3px 0 0 var(--jv2-gold); }
.journey-v2-season-thumb { display:block; flex:0 0 68px; width:68px; height:64px; object-fit:cover; border-radius:9px; background:#e9e0cf; }
.journey-v2-season-copy { display:flex; flex:1; flex-direction:column; min-width:0; gap:3px; }
.journey-v2-season-kicker { color:var(--jv2-gold); font-size:9px; font-weight:800; letter-spacing:.12em; }
.journey-v2-season-title { font-family:Georgia,'Times New Roman',serif; font-size:15px; font-weight:700; line-height:1.25; overflow-wrap:anywhere; }
.journey-v2-season-meta { color:var(--jv2-muted); font-size:10px; line-height:1.4; }
.journey-v2-season-arrow { color:var(--jv2-gold); font-size:25px; line-height:1; padding:0 3px; }
.journey-v2-legend { display:flex; flex-direction:column; gap:9px; padding:17px 3px 2px; margin-top:18px; border-top:1px solid var(--jv2-border); color:var(--jv2-muted); font-size:11px; }
.journey-v2-legend span { display:flex; align-items:center; gap:8px; }
.journey-v2-legend-dot { width:9px; height:9px; display:inline-block; border-radius:50%; background:#e7e2d8; }
.journey-v2-legend-dot.completed { background:var(--jv2-gold); }
.journey-v2-legend-dot.current { background:var(--jv2-ink); box-shadow:0 0 0 3px #dce0e3; }
.journey-v2-season-hero { position:relative; min-height:240px; height:clamp(240px,30vw,350px); overflow:hidden; background:#c9bba2; }
.journey-v2-season-image { position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:cover; object-position:center; transition:opacity .2s; }
.journey-v2-season-image-unavailable { opacity:0; }
.journey-v2-season-image-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(20,30,38,.72),rgba(20,30,38,.18) 78%),linear-gradient(0deg,rgba(20,30,38,.42),transparent 60%); pointer-events:none; }
.journey-v2-season-hero-copy { position:absolute; left:clamp(20px,4vw,36px); right:20px; bottom:26px; color:#fff; }
.journey-v2-season-hero-copy .journey-v2-eyebrow { color:#f1d28d; }
.journey-v2-season-hero-copy h2 { margin:7px 0 9px; font-family:Georgia,'Times New Roman',serif; font-size:clamp(26px,3vw,38px); line-height:1.1; font-weight:600; text-shadow:0 2px 12px rgba(0,0,0,.15); }
.journey-v2-season-range { margin:0; color:rgba(255,255,255,.88); font-size:13px; }
.journey-v2-days-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:14px; padding:24px 26px 15px; }
.journey-v2-days-heading h3 { margin:0 0 5px; font-family:Georgia,'Times New Roman',serif; font-size:21px; font-weight:600; }
.journey-v2-days-heading p { margin:0; color:var(--jv2-muted); font-size:12px; }
.journey-v2-available-count { color:var(--jv2-muted); font-size:11px; text-align:right; white-space:nowrap; }
.journey-v2-day-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:10px; padding:0 26px 22px; }
.journey-v2-day { position:relative; aspect-ratio:1; min-width:0; display:grid; place-items:center; border:1px solid #e7dfd0; border-radius:50%; background:#faf7f0; color:var(--jv2-ink); font-size:13px; font-weight:700; cursor:pointer; transition:transform .15s,box-shadow .15s,background .15s; }
.journey-v2-day:hover:not(:disabled) { transform:translateY(-2px); box-shadow:0 5px 12px rgba(36,54,75,.1); }
.journey-v2-day.is-completed { background:var(--jv2-gold); border-color:var(--jv2-gold); color:#fff; }
.journey-v2-day.is-current { background:var(--jv2-ink); border:2px solid var(--jv2-ink); box-shadow:0 0 0 4px #e4e7e7; color:#fff; }
.journey-v2-day.is-locked { background:#f5f2ec; border-color:#eee9e0; color:#c6c1b8; cursor:not-allowed; }
.journey-v2-day.has-milestone::after { content:"✦"; position:absolute; top:-4px; right:-2px; display:grid; place-items:center; width:16px; height:16px; border-radius:50%; background:#fff8e8; color:#a97c2d; font-size:10px; border:1px solid #e6d5aa; }
.journey-v2-access-note { display:flex; align-items:center; gap:8px; padding:13px 26px 20px; margin:0; border-top:1px solid #f0ebe2; color:var(--jv2-muted); font-size:11px; }
.journey-v2-access-note i { color:var(--jv2-gold); }
.journey-v2-day-detail { margin-top:22px; }
.journey-v2-detail-header { position:relative; padding:26px 24px; margin-bottom:16px; border-radius:16px; background:var(--jv2-ink); color:#fff; text-align:center; }
.journey-v2-detail-close { position:absolute; top:13px; right:13px; width:34px; height:34px; border:1px solid rgba(255,255,255,.25); border-radius:50%; background:transparent; color:#fff; cursor:pointer; }
.journey-v2-detail-season { color:#e3c47f; font-size:12px; letter-spacing:.08em; }
.journey-v2-detail-day { margin:7px 0; font-family:Georgia,'Times New Roman',serif; font-size:27px; }
.journey-v2-milestone { color:#e3c47f; font-size:12px; }
.journey-v2-detail-date { margin-top:7px; color:rgba(255,255,255,.7); font-size:12px; }
.journey-v2-detail-card, .journey-v2-notes-card { padding:23px 25px; margin-bottom:14px; border:1px solid var(--jv2-border); border-radius:15px; background:var(--jv2-paper); }
.journey-v2-card-label { margin-bottom:13px; color:var(--jv2-gold); font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.journey-v2-entry-text, .journey-v2-scripture, .journey-v2-reflection { color:#4d5660; font-size:15px; line-height:1.8; white-space:normal; }
.journey-v2-detail-card.scripture { background:#f1eee6; }
.journey-v2-scripture { font-family:Georgia,'Times New Roman',serif; font-size:17px; font-style:italic; }
.journey-v2-detail-card.reflection { border-left:3px solid var(--jv2-gold); }
.journey-v2-detail-actions { display:flex; justify-content:space-between; gap:12px; margin:18px 0; }
.journey-v2-nav-button, .journey-v2-save-button, .journey-v2-clear-button { min-height:42px; padding:10px 16px; border:1px solid var(--jv2-border); border-radius:9px; background:#fffdf8; color:var(--jv2-ink); font-weight:700; cursor:pointer; }
.journey-v2-nav-button:disabled { opacity:.45; cursor:not-allowed; }
.journey-v2-notes-card textarea { width:100%; min-height:130px; padding:13px; border:1px solid var(--jv2-border); border-radius:10px; background:#fff; color:var(--jv2-ink); font:inherit; resize:vertical; }
.journey-v2-note-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:12px; }
.journey-v2-save-button { background:var(--jv2-ink); border-color:var(--jv2-ink); color:#fff; }
.journey-v2-clear-button { background:transparent; }
.journey-v2-lifeline { display:flex; align-items:center; gap:12px; width:100%; margin-top:22px; padding:17px 20px; border:1px solid #e7d7b6; border-radius:13px; background:#f4ead2; color:var(--jv2-ink); text-align:left; cursor:pointer; }
.journey-v2-lifeline-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:#fff8e9; color:#a67b30; font-size:22px; }
.journey-v2-lifeline span:nth-child(2) { flex:1; font-size:13px; font-weight:700; }
.journey-v2-lifeline > i { color:#a67b30; }
.journey-v2-bottom-nav { border-top:1px solid var(--jv2-border); background:rgba(255,253,248,.97); }
.journey-v2-screen .journey-map-hidden { display:none !important; }
@media (max-width:900px) {
    .journey-v2-layout { grid-template-columns:1fr; }
    .journey-v2-sidebar { padding:20px 16px; }
    .journey-v2-season-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .journey-v2-season-option { align-items:flex-start; }
    .journey-v2-season-thumb { flex-basis:54px; width:54px; height:56px; }
    .journey-v2-season-arrow { display:none; }
    .journey-v2-legend { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); font-size:10px; }
}
@media (max-width:560px) {
    .journey-v2-header { padding-top:20px; gap:11px; }
    .journey-v2-back { width:36px; height:36px; flex-basis:36px; }
    .journey-v2-subtitle { font-size:12px; }
    .journey-v2-progress { padding:16px; }
    .journey-v2-season-list { grid-template-columns:1fr; }
    .journey-v2-season-option { align-items:center; }
    .journey-v2-season-thumb { flex-basis:62px; width:62px; height:58px; }
    .journey-v2-season-hero { height:245px; min-height:245px; }
    .journey-v2-days-heading { align-items:flex-start; flex-direction:column; padding:21px 18px 14px; }
    .journey-v2-available-count { text-align:left; }
    .journey-v2-day-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; padding:0 18px 20px; }
    .journey-v2-day { font-size:12px; }
    .journey-v2-access-note { padding:12px 18px 18px; line-height:1.5; }
    .journey-v2-detail-card, .journey-v2-notes-card { padding:19px; }
    .journey-v2-legend { grid-template-columns:1fr; }
}

/* ---------------------------------------------------------
   Journey V2 refinements: current day gold, past days dark,
   and a more compact season hero on the right.
--------------------------------------------------------- */
.journey-v2-day.is-completed {
    background: var(--jv2-ink);
    border-color: var(--jv2-ink);
    color: #fff;
}
.journey-v2-day.is-current {
    background: var(--jv2-gold);
    border: 2px solid var(--jv2-gold);
    box-shadow: 0 0 0 4px var(--jv2-gold-light);
    color: #fff;
}
.journey-v2-legend-dot.completed {
    background: var(--jv2-ink);
}
.journey-v2-legend-dot.current {
    background: var(--jv2-gold);
    box-shadow: 0 0 0 3px var(--jv2-gold-light);
}
.journey-v2-season-hero {
    height: clamp(190px, 23vw, 270px);
    min-height: 190px;
}
.journey-v2-season-hero-copy {
    left: clamp(18px, 3vw, 30px);
    bottom: 20px;
}
.journey-v2-season-hero-copy h2 {
    font-size: clamp(23px, 2.3vw, 30px);
    margin: 5px 0 7px;
}
.journey-v2-days-heading {
    padding-top: 19px;
}
@media (max-width: 560px) {
    .journey-v2-season-hero {
        height: 205px;
        min-height: 205px;
    }
}


/* Journey V2: accessible day list with a maximum of seven locked days shown. */
.journey-v2-day-grid {
    display: flex;
    flex-direction: column;
    gap: 9px;
    padding: 0 26px 22px;
}
.journey-v2-day {
    position: relative;
    width: 100%;
    min-height: 68px;
    aspect-ratio: auto;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 11px 15px;
    border: 1px solid #e7dfd0;
    border-radius: 12px;
    background: #faf7f0;
    color: var(--jv2-ink);
    text-align: left;
    cursor: pointer;
    transition: transform .15s, box-shadow .15s, background .15s;
}
.journey-v2-day:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 5px 12px rgba(36,54,75,.1);
}
.journey-v2-day-number {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(36,54,75,.08);
    color: var(--jv2-ink);
    font-size: 13px;
    font-weight: 800;
}
.journey-v2-day-copy {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.journey-v2-day-title { font-size: 14px; font-weight: 800; line-height: 1.25; }
.journey-v2-day-description { color: var(--jv2-muted); font-size: 12px; line-height: 1.4; }
.journey-v2-day-status {
    flex: 0 0 auto;
    padding: 6px 9px;
    border-radius: 20px;
    background: rgba(36,54,75,.08);
    color: var(--jv2-ink);
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}
.journey-v2-day.is-completed { background: var(--jv2-ink); border-color: var(--jv2-ink); color: #fff; }
.journey-v2-day.is-completed .journey-v2-day-number { background: rgba(255,255,255,.15); color: #fff; }
.journey-v2-day.is-completed .journey-v2-day-description { color: rgba(255,255,255,.72); }
.journey-v2-day.is-completed .journey-v2-day-status { background: rgba(255,255,255,.14); color: #fff; }
.journey-v2-day.is-current { background: #f6e8bf; border: 2px solid var(--jv2-gold); box-shadow: 0 0 0 3px rgba(190,151,70,.13); color: var(--jv2-ink); }
.journey-v2-day.is-current .journey-v2-day-number { background: var(--jv2-gold); color: #fff; }
.journey-v2-day.is-current .journey-v2-day-status { background: var(--jv2-gold); color: #fff; }
.journey-v2-day.is-locked { background: #f5f2ec; border-color: #eee9e0; color: #aaa49a; cursor: not-allowed; }
.journey-v2-day.is-locked .journey-v2-day-number { background: #eae6de; color: #aaa49a; }
.journey-v2-day.is-locked .journey-v2-day-description { color: #aaa49a; }
.journey-v2-day.is-locked .journey-v2-day-status { background: #eae6de; color: #938d83; }
.journey-v2-day.has-milestone::after { content: "✦"; position: absolute; top: 7px; left: 47px; display: grid; place-items: center; width: 15px; height: 15px; border-radius: 50%; background: #fff8e8; color: #a97c2d; font-size: 9px; border: 1px solid #e6d5aa; }
@media (max-width: 560px) {
    .journey-v2-day-grid { gap: 8px; padding: 0 18px 20px; }
    .journey-v2-day { min-height: 64px; gap: 11px; padding: 10px 11px; }
    .journey-v2-day-number { flex-basis: 38px; width: 38px; height: 38px; }
    .journey-v2-day-title { font-size: 13px; }
    .journey-v2-day-description { font-size: 11px; }
    .journey-v2-day-status { padding: 5px 7px; font-size: 9px; }
    .journey-v2-day.has-milestone::after { left: 39px; }
}
