/* Price list - name .......... price with a dotted leader on wider frames;
   name, then price on its own line below 420px. */
.pl-heading { margin: 0 0 10px; font-size: 1.05em; font-weight: 750; letter-spacing: -.01em; overflow-wrap: anywhere; }
.pl-search { margin: 0 0 4px; }
.pl-status { margin: 0 0 6px; font-size: .82em; color: var(--e-ink-3); min-height: 1.2em; }
.pl-status:empty { min-height: 0; margin: 0; }
.pl-cat + .pl-cat { margin-top: 14px; }
.pl-cat-title {
    margin: 0 0 4px; padding-bottom: 5px; border-bottom: 2px solid color-mix(in srgb, var(--e-accent) 35%, var(--e-line));
    font-size: .78em; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; color: var(--e-accent-fg); overflow-wrap: anywhere;
}
.pl-items { list-style: none; margin: 0; padding: 0; }
.pl-item { padding: 8px 0; border-bottom: 1px solid var(--e-line); }
.pl-item:last-child { border-bottom: 0; }
.pl-line { display: flex; align-items: baseline; gap: 8px; min-width: 0; }
.pl-name { font-weight: 650; color: var(--e-ink); overflow-wrap: anywhere; min-width: 0; }
.pl-leader { flex: 1 1 24px; min-width: 24px; border-bottom: 2px dotted var(--e-line-strong); transform: translateY(-4px); }
.pl-price { flex: none; max-width: 55%; text-align: right; font-weight: 750; color: var(--e-accent-fg); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.pl-meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; margin-top: 2px; }
.pl-dur {
    display: inline-flex; align-items: center; padding: 0 8px; border-radius: 999px; background: var(--e-surface-2);
    font-size: .74em; font-weight: 650; color: var(--e-ink-2); font-variant-numeric: tabular-nums; white-space: nowrap;
}
.pl-note { font-size: .82em; color: var(--e-ink-3); overflow-wrap: anywhere; }
.pl-foot { margin: 12px 0 0; font-size: .8em; color: var(--e-ink-3); }
.pl-cta { margin-top: 12px; }
.pl-book { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; text-decoration: none; }

@media (max-width: 419px) {
    .pl-line { flex-direction: column; align-items: flex-start; gap: 1px; }
    .pl-leader { display: none; }
    .pl-price { max-width: none; text-align: left; }
    .pl-book { width: 100%; }
}
html[data-compact="1"] .pl-item { padding: 6px 0; }
