/* LittleSparks Live Classes - trial slot-picker / calendar styles.
 * Extracted from the inline <style> on /liveclasses/book-trial so the public
 * page and the in-dashboard page share one copy.
 */
/* page-scoped slot-picker styles (kept local; shared CSS untouched) */
    .lc-slot-day { font-family:'Baloo 2',cursive; font-weight:700; color:var(--brand-ink); margin:14px 0 8px; font-size:1.02rem; }
    .lc-slot-day:first-child { margin-top:0; }
    .lc-slot-grid { display:flex; flex-wrap:wrap; gap:10px; }
    .lc-slot-btn { border:1.5px solid var(--line); background:#fff; border-radius:14px; padding:10px 14px;
      font:inherit; cursor:pointer; text-align:left; transition:.15s; min-width:150px; }
    .lc-slot-btn:hover { border-color:var(--brand); }
    .lc-slot-btn.selected { border-color:var(--brand); background:#eef4ff; box-shadow:0 4px 14px rgba(58,123,255,.18); }
    .lc-slot-btn .t { font-weight:800; color:var(--ink); display:block; }
    .lc-slot-btn .m { font-size:.8rem; font-weight:700; color:var(--muted); display:block; margin-top:2px; }
    .lc-slot-btn .s { font-size:.75rem; font-weight:800; color:#15803d; display:block; margin-top:2px; }
    .lc-slot-btn .s.low { color:#9a5b00; }
    /* Calendar day/time picker — green days have open classes; hover previews the times */
    .lc-cal { border:1.5px solid var(--line); border-radius:16px; overflow:visible; }
    .lc-cal-head { display:flex; align-items:center; gap:10px; padding:12px 14px; font-family:'Baloo 2',cursive; font-weight:700; color:var(--brand-ink); border-bottom:1px solid var(--line); }
    .lc-cal-nav { width:34px; height:34px; border:1.5px solid var(--line); background:#fff; border-radius:10px; font-size:1.2rem; font-weight:800; cursor:pointer; color:var(--brand-deep,#2e63d6); line-height:1; }
    .lc-cal-nav:hover { border-color:var(--brand); }
    .lc-cal-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:4px; padding:10px; }
    .lc-cal-dow { text-align:center; font-size:.68rem; font-weight:800; color:var(--muted); text-transform:uppercase; letter-spacing:.03em; padding:2px 0 6px; }
    .lc-cal-day { position:relative; min-height:46px; display:flex; align-items:center; justify-content:center; font-weight:800; border-radius:12px; color:var(--ink); font-size:.95rem; }
    .lc-cal-day.muted { color:#c3cbdb; }
    .lc-cal-day.today { box-shadow:inset 0 0 0 1.5px var(--line); }
    .lc-cal-day.has { cursor:pointer; background:#e6f8f0; color:#0a7a4b; transition:transform .12s, background .12s; }
    .lc-cal-day.has:hover { background:#0a9d6e; color:#fff; transform:translateY(-1px); }
    .lc-cal-day.has.sel { background:#0a9d6e; color:#fff; box-shadow:0 0 0 3px rgba(10,157,110,.25); }
    /* future days with no open class are still tappable — to request a preferred time */
    .lc-cal-day.pick { cursor:pointer; color:var(--ink,#1d2b4f); }
    .lc-cal-day.pick:hover { background:#eef4ff; color:var(--brand-deep,#2e63d6); }
    .lc-cal-day.pick.sel { background:var(--brand,#2e63d6); color:#fff; box-shadow:0 0 0 3px rgba(46,99,214,.22); }
    .lc-req { margin-top:16px; background:#f4f8ff; border:1px solid #d7e6ff; border-radius:14px; padding:14px 16px; }
    .lc-req-h { font-family:'Baloo 2',cursive; font-weight:700; color:var(--brand-ink); font-size:1.02rem; }
    .lc-req-in { width:150px; padding:9px 11px; border:1.5px solid var(--line,#dfe4ee); border-radius:10px; font:inherit; font-weight:700; }
    .lc-req-chip { border:1.5px solid var(--line,#dfe4ee); background:#fff; border-radius:999px; padding:6px 12px; font:inherit; font-weight:700; cursor:pointer; }
    .lc-req-chip:hover { border-color:var(--brand,#2e63d6); }
    .lc-req-chip.on { border-color:var(--brand,#2e63d6); background:#eef4ff; color:var(--brand-deep,#2e63d6); }
    .lc-cal-day .dot { position:absolute; bottom:6px; left:50%; transform:translateX(-50%); width:5px; height:5px; border-radius:50%; background:currentColor; opacity:.7; }
    .lc-cal-tip { position:absolute; z-index:30; bottom:calc(100% + 6px); left:50%; transform:translateX(-50%); background:#0b1020; color:#fff; border-radius:10px; padding:7px 10px; font-size:.74rem; font-weight:700; line-height:1.35; width:max-content; max-width:200px; text-align:center; display:none; box-shadow:0 10px 26px rgba(0,0,0,.28); pointer-events:none; }
    .lc-cal-tip::after { content:""; position:absolute; top:100%; left:50%; transform:translateX(-50%); border:6px solid transparent; border-top-color:#0b1020; }
    .lc-cal-day.has:hover .lc-cal-tip { display:block; }
    .lc-cal-times { margin-top:16px; }
    .lc-cal-times-h { font-family:'Baloo 2',cursive; font-weight:700; color:var(--brand-ink); margin-bottom:10px; font-size:1.02rem; }
    /* the day's times can be long — keep them in a bounded, scrollable area */
    .lc-cal-times .lc-slot-grid { max-height:322px; overflow-y:auto; overflow-x:hidden; align-content:flex-start; padding:2px 6px 2px 2px; }
    .lc-cal-times .lc-slot-grid::-webkit-scrollbar { width:8px; }
    .lc-cal-times .lc-slot-grid::-webkit-scrollbar-thumb { background:var(--line-2,#dde3ee); border-radius:8px; }
    .lc-cal-legend { display:flex; align-items:center; gap:8px; font-size:.8rem; font-weight:600; color:var(--muted); margin-top:10px; }
    .lc-cal-legend .sw { width:14px; height:14px; border-radius:5px; background:#e6f8f0; border:1px solid #b7e6ce; display:inline-block; flex:0 0 auto; }
    .lc-cal-picked { background:#eef8f2; border:1px solid #bfe6d1; color:#0a7a4b; border-radius:12px; padding:10px 14px; font-weight:800; margin-bottom:12px; }

/* --- multi-day / multi-time trial preferences ------------------------------
   A family now offers SEVERAL days, each with several times, so the picker has
   to show what has been chosen so far and what is still missing. */
.lc-cal-day.lc-cal-chosen { background:#eafaf2; box-shadow:inset 0 0 0 1.5px #0a7a4b; color:#0a7a4b; }
.lc-cal-day.pick.sel.lc-cal-chosen { background:var(--brand,#2e63d6); color:#fff; }
.lc-cal-tick { position:absolute; top:2px; right:3px; background:#0a7a4b; color:#fff;
               border-radius:999px; min-width:15px; height:15px; line-height:15px;
               font-size:.62rem; font-weight:800; text-align:center; padding:0 3px; }
.lc-cal-picked.lc-cal-needs { background:#fff8e8; border-color:#f0d9a8; }
.lc-pref-list { display:flex; flex-direction:column; gap:6px; margin-top:8px; }
.lc-pref-row { display:flex; align-items:center; gap:8px; flex-wrap:wrap;
               background:rgba(255,255,255,.75); border:1px solid var(--line,#e6e9f2);
               border-radius:10px; padding:6px 10px; font-weight:700; font-size:.86rem; }
.lc-pref-row.thin { border-color:#f0d9a8; background:#fffdf6; }
.lc-pref-row > span { color:var(--muted,#5b6b8c); }
.lc-pref-count { margin-left:auto; font-size:.75rem; font-weight:800; color:var(--muted,#8a96ad); }
.lc-pref-x { border:0; background:none; cursor:pointer; font-weight:800; color:#c0392b;
             font-size:.9rem; padding:0 2px; line-height:1; }
.lc-pref-gap { margin-top:8px; font-weight:800; font-size:.84rem; color:#9a5b00; }
.lc-req-chip[aria-pressed="true"] { position:relative; }
