/* Interactive guide pages (appended to style.css by build step) */
.guide h2 { margin-top:1.6em; }
.guide .steps { padding-left:1.2em; } .guide .steps li { margin:0 0 .8em; }
.callout { background:var(--sand); border-left:5px solid var(--gold); padding:14px 18px; border-radius:6px; margin:20px 0; }
.picker { background:#fff; border:1px solid var(--gold); border-radius:12px; padding:22px; margin:26px 0 8px; }
.picker h2 { margin-top:0; }
.signs { display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:8px; margin:14px 0; }
.sign { padding:11px 6px; background:var(--cream); border:1px solid var(--line); border-radius:8px; font:inherit; color:var(--plum); cursor:pointer; }
.sign:hover { border-color:var(--gold); }
.sign[aria-pressed=true] { background:var(--plum); color:var(--gold); border-color:var(--plum); font-weight:700; }
.yours { margin-top:18px; border-top:1px solid var(--line); padding-top:16px; }
.two { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.two .eyebrow span { text-transform:none; letter-spacing:0; color:var(--muted); font-size:.85rem; }
.two .big { font-family:"Cormorant Garamond", Georgia, serif; font-size:1.6rem; line-height:1.2; margin:4px 0 0; font-weight:600; }
.small { font-size:.9rem; color:var(--muted); }
button.link { background:none; border:none; color:var(--link); text-decoration:underline; cursor:pointer; font:inherit; padding:0; }
.phases { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; text-align:center; margin:16px 0; }
.phases div { background:var(--sand); border:1px solid var(--gold); border-radius:8px; padding:14px 8px; font-size:.95rem; }
.phases .on { background:var(--plum); color:var(--cream); }
.timeline { list-style:none; padding:0; margin:20px 0; border-left:3px solid var(--gold); }
.timeline li { padding:0 0 14px 18px; position:relative; }
.timeline li::before { content:""; position:absolute; left:-9px; top:6px; width:15px; height:15px; background:var(--plum); border:2px solid var(--gold); border-radius:50%; }
.timeline strong { display:block; color:var(--plum); } .timeline span { color:var(--muted); }
.tablewrap { overflow-x:auto; }
table.rising { width:100%; border-collapse:collapse; font-size:.95rem; }
table.rising th, table.rising td { text-align:left; padding:9px 10px; border-bottom:1px solid var(--line); }
table.rising thead th { background:var(--plum); color:var(--cream); }
table.rising tbody tr:nth-child(odd) { background:var(--sand); }
table.rising tr.me { background:var(--gold) !important; font-weight:700; }
.dates-line { color:var(--link); font-size:1.1rem; }
@media (max-width:600px) { .two { grid-template-columns:1fr; } .phases { grid-template-columns:1fr; } }

/* Chapter guides */
#ychapter h3 { font-family:"Cormorant Garamond", Georgia, serif; font-size:1.7rem; font-weight:600; margin:4px 0 8px; }
details.all { background:#fff; border:1px solid var(--line); border-radius:10px; padding:6px 18px; margin:10px 0 24px; }
details.all summary { cursor:pointer; padding:10px 0; font-weight:700; color:var(--plum); }
.chap { border-top:1px solid var(--line); padding:8px 0; } .chap.me { background:var(--sand); margin:0 -18px; padding:8px 18px; border-left:5px solid var(--gold); }
.chap h3 { margin-top:10px; }
label.wb { display:block; margin:18px 0 6px; font-weight:700; }
textarea { width:100%; font:inherit; color:var(--plum); background:#fff; border:1px solid var(--line); border-radius:8px; padding:12px; }

/* Year Pass hub */
.hubgrid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr)); gap:20px; margin:26px 0; }
.hubcard.nextup { border-color:var(--gold); box-shadow:0 0 0 2px var(--gold) inset; }
.hubcard .mine ul { margin:6px 0 12px; padding-left:1.1em; } .hubcard .mine li { margin:0 0 6px; font-size:.95rem; }
.hubcard .ask { margin:6px 0 12px; }
