/* Local Playbill interactions: open facts, small sets, and explicit choices. */
:root[data-motion="off"] *, :root[data-motion="off"] *::before, :root[data-motion="off"] *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
.mood-shortcuts { display:flex;align-items:center;flex-wrap:wrap;gap:4px 18px;margin:16px 0 4px; }
.mood-shortcuts>span { color:var(--ink-soft);font-size:.9375rem; }
.mood-shortcuts a { display:inline-flex;align-items:center;min-height:44px;font-size:1rem;font-weight:600;text-decoration-thickness:1px; }
.mood-shortcuts a[aria-current] { color:var(--accent);text-decoration-thickness:3px; }
.mood-explanation { color:var(--ink-soft);font-size:.9375rem;max-width:70ch;margin:4px 0 12px; }
.mood-shortcuts .mood-clear { font-weight:400; }
.idea-pager { display:flex;align-items:center;justify-content:space-between;gap:8px 20px;flex-wrap:wrap;margin:12px 0 20px;font-size:.9375rem; }
.idea-pager>div { display:flex;gap:8px; }
.idea-pager .button { font-size:.9375rem;min-height:44px;padding:8px 12px; }
.quick-details { clear:both;border-block:1px solid var(--line);margin:16px 0; }
.quick-details>summary { display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;cursor:pointer;font-size:1rem;font-weight:600;list-style:none;padding:8px 0; }
.quick-details>summary::-webkit-details-marker { display:none; }
.quick-details[open]>summary>span { transform:rotate(45deg); }
.quick-detail-content { padding:4px 0 16px; }
.practical-facts { margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px; }
.practical-facts>div { min-width:0; }
.practical-facts dt { color:var(--ink-soft);font-size:.875rem; }
.practical-facts dd { margin:3px 0 0;font-size:1rem;overflow-wrap:anywhere; }
.practical-caveat { font-size:.9375rem;color:var(--ink-soft);margin:16px 0 8px;max-width:65ch; }
.quick-actions { display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center; }
.quick-actions a,.quick-actions button { min-height:44px;display:inline-flex;align-items:center;font-size:1rem; }
.before-you-go { margin-bottom:28px; }
.venue-photo { margin:0 0 20px; }
.venue-photo img { display:block;width:100%;height:auto;max-height:360px;object-fit:cover;aspect-ratio:4/3; }
.venue-photo figcaption { color:var(--ink-soft);font-size:.8125rem;line-height:1.4;padding:8px 0; }
.venue-photo summary { min-height:44px;display:flex;align-items:center;color:var(--blue);cursor:pointer;text-decoration:underline; }
.venue-photo figcaption p { margin:0 0 8px; }
.event-card-body>.venue-photo { float:right;width:36%;margin:0 0 16px 28px; }
.event-card-body>.venue-photo img { max-height:260px; }
.event-card-body::after { content:"";display:table;clear:both; }
.town-finder { border-block:1px solid var(--line);padding:20px 0;margin:24px 0; }
.town-finder h2 { font-size:1.5rem;margin:0 0 12px; }
.town-finder>form { display:flex;gap:10px;max-width:620px; }
.town-finder input[type=search] { min-width:0;flex:1;min-height:46px;background:var(--surface);color:var(--ink);border:1px solid var(--control);border-radius:4px;padding:8px 12px; }
.town-matches { margin-top:16px; }
.town-matches form { display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:14px 0; }
.town-matches form span { display:block;font-size:.9375rem;color:var(--ink-soft); }
.browse-day { position:sticky;top:0;z-index:3;margin:0;padding:10px 0;border-bottom:1px solid var(--line);background:var(--paper);font-weight:600;font-size:1rem; }
.browse-day span { display:inline-block; }
.compare-toolbar { position:sticky;top:0;z-index:4;background:var(--paper);border-block:2px solid var(--accent);padding:12px 0;display:flex;align-items:center;gap:12px;flex-wrap:wrap; }
.compare-toolbar p { margin:0;flex:1;font-size:1rem;min-width:160px; }
.compare-toolbar .button { font-size:1rem; }
.comparison-panel { border-bottom:2px solid var(--accent);padding:24px 0;scroll-margin-top:90px; }
.comparison-heading { display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap; }
.comparison-heading h2 { margin:0 0 12px; }
.comparison-scroll { overflow:auto;max-width:100%;margin-bottom:20px; }
.comparison-table { border-collapse:collapse;width:100%;font-size:1rem;text-align:left; }
.comparison-table th,.comparison-table td { min-width:175px;max-width:320px;border-bottom:1px solid var(--line);padding:14px 16px;vertical-align:top;overflow-wrap:anywhere; }
.comparison-scroll-hint { display:none;color:var(--ink-soft);font-size:.9375rem; }
.comparison-table th:first-child { position:sticky;left:0;z-index:1; min-width:110px;width:110px;background:var(--surface-cool); }
.comparison-table thead th { font-family:var(--display);font-size:1.5rem; }
.comparison-table tbody th { color:var(--ink-soft);font-weight:500; }
[data-compare-id][aria-pressed=true] { color:var(--accent);font-weight:600; }
[data-compare-open]:disabled { opacity:.65;cursor:default; }
.shortlist-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:28px; }
.shortlist-grid .saved-entry { border-top:2px solid var(--ink); }
.appearance-options label:not(:first-child) { margin-top:12px; }
@media(max-width:640px) {
 .mood-shortcuts { gap:0 16px;margin-top:12px; }
 .mood-shortcuts>span { flex-basis:100%; }
 .mood-shortcuts a { font-size:.9375rem; }
 .event-card-body>.venue-photo { float:none;width:100%;margin:0 0 12px; }
 .event-card-body>.venue-photo img { max-height:220px; }
 .practical-facts { grid-template-columns:1fr;gap:10px; }
 .town-finder>form { flex-wrap:wrap; }
 .town-finder input[type=search] { flex-basis:180px; }
 .town-matches form { align-items:flex-start;flex-direction:column; }
 .compare-toolbar { gap:8px; }
 .compare-toolbar p { flex-basis:100%; }
 .comparison-panel { scroll-margin-top:125px; }
 .comparison-scroll-hint { display:block; }
}
