/* Halloween Finder (/halloween/), weekly ideas session 2026-10-21. Loaded only on that page via front-matter extraCss. */
.hw { --hw-night: #2b2440; --hw-pumpkin: #e8742a; --hw-pumpkin-soft: #fff0e3; }
.hw .page-dek { max-width: 62ch; }
.hw-facts { background: var(--hw-night); color: #fff6e8; border-radius: var(--radius); padding: 1rem 1.25rem; margin: 0 0 1.25rem; box-shadow: var(--shadow); }
.hw-facts p { margin: .25rem 0; }
.hw-facts strong { color: var(--sun); }
.hw-filters { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); padding: .9rem 1rem; margin: 0 0 1.5rem; box-shadow: var(--shadow); }
@media (min-width: 900px) and (min-height: 700px) { .hw-filters { position: sticky; top: 0; z-index: 5; } }
.hw-fs { border: 0; margin: 0 0 .55rem; padding: 0; min-width: 0; }
.hw-fs legend { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin-bottom: .3rem; }
.hw-chips { display: flex; gap: .4rem; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
.hw-chips::-webkit-scrollbar { display: none; }
.hw-chip { flex: 0 0 auto; font: 600 .88rem/1 var(--sans); padding: .5rem .8rem; min-height: 36px; border-radius: 999px; border: 1px solid var(--line); background: #fff; color: var(--ink); cursor: pointer; }
.hw-chip[aria-pressed="true"] { background: var(--hw-pumpkin); border-color: var(--hw-pumpkin); color: #fff; }
.hw-chip:focus-visible, .hw-sel select:focus-visible, .hw-free input:focus-visible { outline: 3px solid var(--teal); outline-offset: 2px; }
.hw-row { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.1rem; }
.hw-sel { font-size: .9rem; font-weight: 600; display: flex; align-items: center; gap: .4rem; }
.hw-sel select { font: inherit; font-weight: 500; padding: .35rem .5rem; border-radius: var(--radius-sm); border: 1px solid var(--line); background: #fff; min-height: 36px; }
.hw-free { font-size: .9rem; font-weight: 600; display: flex; align-items: center; gap: .35rem; min-height: 36px; }
.hw-count { margin: 0 0 0 auto; font-size: .88rem; color: var(--muted); }
.hw-day { margin: 0 0 1.6rem; }
.hw-day-h { font-family: var(--serif); font-size: 1.35rem; margin: 0 0 .6rem; padding-bottom: .3rem; border-bottom: 2px dashed var(--hw-pumpkin); }
.hw-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .8rem; }
.hw-card { background: #fff; border: 1px solid var(--line); border-left: 5px solid var(--hw-pumpkin); border-radius: var(--radius-sm); padding: .85rem 1rem; box-shadow: var(--shadow); }
.hw-ongoing .hw-card { border-left-color: var(--hw-night); }
.hw-name { font-family: var(--serif); font-size: 1.12rem; margin: 0 0 .3rem; line-height: 1.3; }
.hw-name a { color: var(--gulf); text-decoration: none; }
.hw-name a:hover { text-decoration: underline; }
.hw-meta { font-size: .92rem; margin: 0 0 .4rem; color: var(--ink); }
.hw-price { color: var(--muted); }
.hw-price--free { color: #1d7a45; font-weight: 700; }
.hw-details { font-size: .95rem; margin: 0 0 .35rem; }
.hw-line { font-size: .95rem; font-style: italic; color: var(--accent-text); margin: 0 0 .45rem; }
.hw-tags { display: flex; flex-wrap: wrap; gap: .3rem .4rem; align-items: center; margin: 0; font-size: .78rem; }
.hw-tag { background: var(--hw-pumpkin-soft); color: #8a3e0e; border-radius: 999px; padding: .15rem .55rem; font-weight: 600; }
.hw-tag--spooky { background: #ece7f7; color: var(--hw-night); }
.hw-tag--dogs { background: #e5f4ef; color: #0f5c4d; }
.hw-src { margin-left: auto; color: var(--muted); }
.hw-empty { background: var(--sand-2); border-radius: var(--radius-sm); padding: .8rem 1rem; }
.hw-tips { padding-left: 1.2rem; }
.hw-tips li { margin: 0 0 .4rem; }
.hw-sign { font-family: var(--serif); font-weight: 700; }
@media (min-width: 700px) { .hw-chips { flex-wrap: wrap; overflow: visible; } }
