/* Saturday bonfire at Dockweiler. Sits on /v2.css. */
.fire { max-width: 860px; margin: 0 auto; padding: 0 16px 48px; }
.fire h1 { font-size: clamp(2rem, 6vw, 3.4rem); line-height: 1.05; margin: .2em 0 .3em; }
.fire h2 { margin-top: 2rem; }
.fire .lead { font-size: 1.15rem; }
.fire-plan { padding: 14px 16px; border-left: 4px solid #e8692c; background: rgba(232, 105, 44, .08); border-radius: 6px; }
.fire-art { margin: 1.2rem 0; }
.fire-art img { width: 100%; height: auto; border-radius: 10px; display: block; }
.fire-art figcaption { font-size: .78rem; letter-spacing: .04em; margin-top: 6px; opacity: .8; }
.fire-card { border: 1px solid rgba(127, 127, 127, .35); border-radius: 12px; padding: 4px 16px 14px; margin: 14px 0; }
.fire-card h2 { margin-top: .8rem; font-size: 1.2rem; }
.fire-status:empty { display: none; }
.fire-status { padding: 8px 12px; border-radius: 8px; background: rgba(127, 127, 127, .12); }
.fire-status[data-tone="ok"] { background: rgba(46, 160, 67, .15); }
.fire-status[data-tone="bad"] { background: rgba(214, 69, 65, .15); }
.fire-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 10px 0; }
.fire-btn, .fire-step { font: inherit; font-weight: 600; min-height: 44px; padding: 8px 16px; border-radius: 999px; border: 2px solid #e8692c; background: #e8692c; color: #1a0f08; cursor: pointer; }
.fire-step { min-width: 44px; padding: 8px; background: transparent; color: inherit; }
.fire-btn.is-on { background: #1a0f08; color: #ffb27a; }
.fire-btn:disabled { opacity: .6; cursor: wait; }
.fire-link { font: inherit; background: none; border: 0; text-decoration: underline; cursor: pointer; color: inherit; min-height: 44px; }
.fire-people { min-width: 5.5em; text-align: center; font-weight: 600; }
.fire-label { display: block; font-weight: 600; margin-top: 10px; }
.fire select, .fire input { font: inherit; min-height: 44px; padding: 6px 10px; border-radius: 8px; border: 1px solid rgba(127, 127, 127, .6); max-width: 100%; background: transparent; color: inherit; }
.fire input#fire-code { width: 6.5em; text-transform: uppercase; letter-spacing: .15em; }
.fire-code { font-size: 1.4rem; letter-spacing: .2em; }
.fire-count strong, .fire-when strong { font-size: 1.1rem; }
.fire-season li, .fire-themes li, .fire-how li, .fire-rules li { margin: 0 0 .8em; }
.fire-season span { opacity: .85; }
.fire-label-tag { display: inline-block; font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; padding: 1px 6px; border-radius: 4px; background: rgba(46, 120, 200, .18); }
.fire-cite { font-size: .85rem; }
.fire-q { display: block; font-size: .82rem; opacity: .75; margin-top: 2px; }
.fire-table { overflow-x: auto; }
.fire-table table { border-collapse: collapse; min-width: 100%; }
.fire-table th, .fire-table td { text-align: left; padding: 6px 8px; border-bottom: 1px solid rgba(127, 127, 127, .3); }
.fire-badges { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 12px; }
.fire-badge { text-align: center; font-size: .82rem; display: flex; flex-direction: column; align-items: center; gap: 4px; }
.fire-badge img { width: 72px; height: 72px; border-radius: 50%; }
.fire-stamp { width: 72px; height: 72px; border-radius: 50%; border: 3px double #e8692c; display: grid; place-items: center; font-weight: 800; letter-spacing: .05em; color: #e8692c; transform: rotate(-8deg); }
.fire-badge-name { font-weight: 600; }
.fire-badges.mine { grid-template-columns: repeat(auto-fill, minmax(88px, 1fr)); }
.fire-spot { font-size: 1.05rem; }
