/* Optional categories occupy the same facts grid as the event's primary groups. */
.event-facts-groups .event-extra-options{margin:10px 0 0;padding:0;border:0;background:none;color:inherit}
.event-extra-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.event-extra-card{box-sizing:border-box;min-width:0;align-self:start;padding:0!important;border:1px solid var(--extra-border,#c4b5fd)!important;border-radius:10px!important;background:var(--extra-bg,#f5f0ff)!important;color:#172033}
.event-extra-card>summary{padding:12px;cursor:pointer;list-style:none;display:grid;gap:6px;line-height:1.4}
.event-extra-card>summary::-webkit-details-marker{display:none}.event-extra-card>summary small{font-size:12px;color:#64748b}.event-extra-card>summary b{font-size:15px}.event-extra-card>summary span{font-size:13px;font-weight:700;color:#374151}
.event-extra-card[open]{border-color:var(--extra-accent,#8b5cf6)!important}.event-extra-card[open]>summary{border-bottom:1px solid var(--extra-border,#ddd0fa);background:var(--extra-open,#eee5ff);border-radius:10px 10px 0 0}
.event-extra-content{padding:12px}.event-extra-content p,.event-extra-content small{font-size:12px;line-height:1.5;display:block;margin:8px 0;white-space:normal}.event-extra-fee{display:block;font-size:13px;margin:8px 0}
.event-extra-card button{display:block;width:100%;box-sizing:border-box;border:0;border-radius:8px;background:#2563eb;color:#fff;padding:10px 12px;margin-top:10px;font:700 13px system-ui;cursor:pointer}.event-extra-card button:disabled{opacity:.55}
.extra-check{display:flex;align-items:start;gap:8px;font-size:13px;font-weight:700}.extra-check input{width:18px;height:18px;flex-shrink:0;accent-color:#2563eb}
.extra-status{display:inline-block;padding:4px 8px;border-radius:20px;font-weight:700;font-size:12px}.extra-paid{background:#dcfce7;color:#166534}.extra-accounted{background:#e0e7ff;color:#3730a3}.extra-awaiting_payment{background:#ffedd5;color:#9a3412}
.extra-cancel summary{cursor:pointer;font-size:12px}.extra-cancel label{display:grid;gap:6px;font-size:12px;margin-top:10px}.extra-cancel select{box-sizing:border-box;width:100%;padding:8px;border:1px solid #dce0e6;border-radius:8px;white-space:normal}
.event-extra-options [data-extra-message]:empty{display:none}.event-extra-options :focus-visible{outline:3px solid #667eea;outline-offset:3px}.event-extra-price{margin-top:8px}
@media(max-width:600px){.event-extra-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}
/* Use one common category grid, including optional cards. */
.event-facts-groups{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.event-facts-groups>h3{grid-column:1/-1;margin-bottom:0}
.event-facts-groups .facts,.event-facts-groups .event-extra-options,.event-facts-groups .event-extra-grid{display:contents!important}
.event-facts-groups [data-extra-message]{grid-column:1/-1}

/* Optional category identity is purple; payment status retains its own colors. */
.event-extra-card>summary{box-shadow:inset 4px 0 0 var(--extra-accent,#8b5cf6);border-radius:9px}
.event-extra-card>summary>small:first-child{justify-self:start;padding:3px 8px;border-radius:6px;background:var(--extra-label,#e9ddff);color:var(--extra-ink,#5b21b6);font-weight:700}
.event-extra-card>summary>b{color:var(--extra-ink,#4c1d95)}
@media(hover:hover){.event-extra-card:hover{border-color:var(--extra-accent,#a78bfa)!important}.event-extra-card>summary:hover{background:var(--extra-open,#eee5ff)}}
.event-extra-card>summary:focus-visible{outline:3px solid var(--extra-accent,#7c3aed);outline-offset:3px}

.extra-color-editor{grid-column:1/-1;display:grid;gap:10px;padding:12px;border:1px solid #e2e8f0;border-radius:10px;background:#fafbfc}.extra-color-editor input[type=color]{width:72px;height:42px;padding:4px}.extra-color-presets{display:flex;gap:9px;flex-wrap:wrap}.extra-color-presets button{width:32px;height:32px;min-width:32px;padding:0;border:2px solid #fff;box-shadow:0 0 0 1px #cbd5e1;border-radius:50%}.extra-color-presets button:focus-visible{outline:3px solid #334155;outline-offset:3px}.extra-color-preview{width:min(100%,360px);pointer-events:none}
