/* I-C — Party-night mode (home #partyNight + host console #pnHostSwitch).
   Design addendum C-6: LAYOUT ONLY. All type and card styling comes from existing classes set in the markup —
   .ed-now/.ed-next/.ed-kicker/.ed-sub/.ed-addr/.ed-stale/.ed-stage-body (cz-app.js _edEnsureStyle, the event page),
   .btn-cz/.btn-cz-ghost, .cznav-bell-badge (cz.css) and .host-muted (host-command). This file sets no font family,
   size, weight, letter-spacing, line-height, transform or colour, with ONE documented exception below. */

/* The live-event banner would repeat the NOW card: hidden on the home page only, while party-night is on. */
body.cz-pn-on #czEventDayBanner{display:none}

.pn{padding:16px 0 8px}
.pn[hidden],.pn [hidden]{display:none!important}
.pn .pn-wrap{max-width:960px}
.pn a:focus-visible,.pn button:focus-visible,.pn-hostbar a:focus-visible,.pn-hostbar button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}   /* cz.css .cznav-cta:focus-visible */

/* NOW / NEXT: the .ed-now / .ed-next cards; only the inner layout here */
.pn-now .pn-dir{display:inline-flex;align-items:center;justify-content:center;margin-top:10px;text-decoration:none}
.pn-foot{display:inline-flex;align-items:center;min-height:44px;margin-top:4px;text-decoration:underline}   /* 44px target */
.pn-now .pn-foot{display:flex}
.pn-inactive{margin:0 0 14px}
.pn-inactive a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline}

/* actions row — three equal buttons (btn-cz / btn-cz-ghost, their type unchanged), 2 + 1 at <=374px */
.pn-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 16px}
.pn-act{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;box-sizing:border-box;padding-left:8px;padding-right:8px;text-align:center;text-decoration:none}
@media (max-width:374px){.pn-actions{grid-template-columns:1fr 1fr}.pn-actions>:last-child{grid-column:1 / -1}}
/* The one exception: a <button> with .btn-cz-ghost would otherwise keep the browser's own button font (Arial 13.33px)
   on the home page. Same convention as cz.css .cz-req-actions button / .host-stat-link (font:inherit + the class
   weight): the toggle, the switch and the stop chips get exactly the type of the a.btn-cz-ghost beside them. */
.pn button.btn-cz-ghost,.pn-hostbar button.btn-cz-ghost{font:inherit;font-weight:700}
/* unread count — .cznav-bell-badge, placed in the row instead of over the bell */
.pn-badge.cznav-bell-badge{position:static;top:auto;right:auto;box-shadow:none}
.pn-song{margin:-4px 0 16px}
.pn-song.trackreq{margin-top:0}

/* tonight's photos — square image-only tiles, the .tagged-gallery button/img box rules; 3 across, 6 at >=900px */
.pn-photos{margin:0 0 16px}
.pn-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:6px}
.pn-tile{display:block;padding:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#0b0d15;cursor:pointer;min-height:44px}
.pn-tile img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.pn-empty{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px}
.pn-empty p{margin:0}

/* host bar — --panel card, 1px --line, radius 14, padding 10px 14px; button left, muted line right */
.pn-hostbar{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:10px 14px;margin:0 0 14px}
.pn-hostrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.pn-switch{min-height:44px;min-width:44px}
.pn-status:empty{display:none}
.pn-status{margin:6px 0 0}
.pn-chipsbox{margin-top:10px}
.pn-chips-label{margin:0 0 6px}
.pn-chips{display:flex;flex-wrap:wrap;gap:8px}
.pn-chip{min-height:44px;border-radius:999px}
.pn-chip.pn-done{opacity:.55}                                   /* .ed-stage.ed-done */
.pn-chip.pn-skip{opacity:.4;text-decoration:line-through}       /* .ed-stage.ed-skip */
.pn-chip[disabled],.pn-switch[disabled]{cursor:progress}
#pnHostSwitch{margin:0 0 14px}
#pnHostSwitch .pn-hostbar{margin:0}

@media (max-width:374px){.pn-hostrow{flex-direction:column;align-items:flex-start}}
@media (min-width:900px){
  .pn-nowgrid.has-next{display:grid;grid-template-columns:2fr 1fr;gap:14px;align-items:start}
  .pn-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){.pn *,.pn-hostbar *{transition:none!important;animation:none!important}}
