/* Lightning Lane how-to guides (modify trick, booking window, groups). Loads only on those pages,
   after guides-content.css. */
.ll-qgrid, .ll-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* Booking window calculator */
.ll-calc { padding: 0; overflow: hidden; box-shadow: 0 18px 48px rgba(7,35,80,.06); }
.ll-calc-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
.ll-calc-in { display: flex; flex-direction: column; gap: 20px; padding: 28px; min-width: 0; }
.ll-field { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; border: 0; min-width: 0; }
.ll-field > span, .ll-field > legend { padding: 0; margin-bottom: 8px; font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--rx-muted); }
.ll-field input[type=date], .ll-field input[type=number] { box-sizing: border-box; width: 100%; height: 52px; padding: 0 16px; border-radius: 14px; border: 1px solid var(--rx-line); background: var(--rx-paper); font-family: inherit; font-size: 18px; font-weight: 700; color: var(--rx-ink); }
.ll-field input:focus-visible { outline: 2px solid var(--rx-blue); outline-offset: 1px; }
.ll-row { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 16px; }
.ll-seg { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.ll-seg label { position: relative; cursor: pointer; }
.ll-seg input { position: absolute; opacity: 0; }
.ll-seg span { box-sizing: border-box; display: flex; flex-direction: column; gap: 4px; height: 100%; padding: 14px 16px; border-radius: 14px; border: 1px solid var(--rx-line); background: #fff; font-size: 16px; font-weight: 800; line-height: 1.25; color: var(--rx-ink); }
.ll-seg small { font-size: 13px; font-weight: 500; line-height: 1.35; color: var(--rx-muted); }
.ll-seg input:checked + span { border-color: var(--rx-blue); background: var(--rx-blue-soft); box-shadow: inset 0 0 0 1px var(--rx-blue); }
.ll-seg input:focus-visible + span { outline: 2px solid var(--rx-blue); outline-offset: 2px; }
.ll-calc-out { display: flex; flex-direction: column; gap: 6px; padding: 28px; background: linear-gradient(160deg, #0b2f7a, var(--rx-blue)); color: #fff; min-width: 0; }
.ll-calc-k { margin: 0; font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.78); }
.ll-calc-date { margin: 6px 0 0; font-size: clamp(28px, 3vw, 40px); font-weight: 800; line-height: 1.08; letter-spacing: -.03em; }
.ll-calc-time { margin: 0; font-size: 18px; font-weight: 700; color: #ffd77a; }
.ll-calc-count { margin: 6px 0 0; font-size: 15px; color: rgba(255,255,255,.86); }
.ll-calc-list { list-style: none; margin: 14px 0 0; padding: 14px 0 0; border-top: 1px solid rgba(255,255,255,.22); display: flex; flex-direction: column; gap: 8px; font-size: 15px; font-variant-numeric: tabular-nums; }
.ll-calc-list:empty { display: none; }
.ll-calc-list li { display: flex; justify-content: space-between; gap: 10px; }
.ll-calc-list b { font-weight: 800; }
.ll-calc-list span { text-align: right; color: rgba(255,255,255,.86); }

@media (max-width: 900px) {
  .ll-calc-grid, .ll-row, .ll-seg { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .ll-qgrid, .ll-two { grid-template-columns: minmax(0, 1fr); }
  .ll-calc-in, .ll-calc-out { padding: 22px; }
}
