.event-poster { margin-top:16px; padding:16px; border:1px solid #e4e7f0; border-radius:12px; }
.event-poster > label { display:flex; gap:10px; align-items:start; font-size:14px; font-weight:600; }
.event-poster-fields { display:grid; gap:12px; margin-top:16px; }
.event-poster-fields[hidden], .event-poster[hidden] { display:none !important; }
.event-poster-fields label { display:grid; gap:6px; font-size:13px; }
.event-poster-fields input:not([type=checkbox]), .event-poster-fields textarea {
  width:100%; min-width:0; box-sizing:border-box; border:1px solid #dce0ec;
  border-radius:8px; padding:9px; font:inherit; background:white;
}
.event-poster-fields img { max-width:220px; max-height:160px; object-fit:contain; }
.event-poster-fields small { color:#6f7785; font-size:12px; }
.poster-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:20px; }
.poster-card { overflow:hidden; border:1px solid #e4e7f0; border-radius:16px; background:white; }
.poster-card img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.poster-card-content { padding:20px; }
.poster-card h2 { font-size:21px; line-height:1.2; margin:8px 0 12px; overflow-wrap:anywhere; }
.poster-card p { margin:8px 0; white-space:pre-wrap; overflow-wrap:anywhere; }
.poster-card time { color:#6254dc; font-weight:600; }
.poster-book { display:block; margin-top:16px; padding:12px; border-radius:10px; text-align:center; background:#6254dc; color:white; text-decoration:none; }
.poster-sold-out { display:block; margin-top:16px; padding:12px; border-radius:10px; background:#eef0f4; color:#6f7785; text-align:center; }
@media(max-width:600px) { .poster-grid { grid-template-columns:1fr; }.poster-card-content { padding:16px; } }

.poster-direct .public-step:not(#public-client) { display:none; }
