/* Orbi Events – typsnitt ärvs från temat. Accentfärgen ställs in under Inställningar → Orbi Events. */
.orbi-events {
	--orbi-accent: #00abbd;
	--orbi-on-accent: #0a1f22;
	--orbi-accent-ink: color-mix(in srgb, var(--orbi-accent) 70%, #000);
	--orbi-accent-wash: color-mix(in srgb, var(--orbi-accent) 12%, #fff);
	--orbi-ink: #0a0909;
	--orbi-muted: #5b676b;
	--orbi-line: #e2e8e9;
	--orbi-soft: #f3f7f8;
	--orbi-bg: #ffffff;
	--orbi-link: #00549e;
	color: var(--orbi-ink);
	margin: 0 0 2em;
	line-height: 1.6;
	container-type: inline-size;
}
.orbi-events *, .orbi-events *::before, .orbi-events *::after { box-sizing: border-box; }
.orbi-events button, .orbi-events select { font: inherit; color: inherit; }
.orbi-events :focus-visible { outline: 2px solid var(--orbi-accent); outline-offset: 2px; }
.orbi-events a { text-decoration: none; }
.orbi-events svg { width: 14px; height: 14px; flex: none; }

/* Filter */
.orbi-filterbar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; padding: 14px; background: var(--orbi-soft); border-radius: 4px; }
.orbi-groups { display: flex; flex-wrap: wrap; gap: 8px; }
.orbi-chip { border: 1px solid var(--orbi-line); background: var(--orbi-bg); border-radius: 999px; padding: 6px 14px; cursor: pointer; font-size: 14px; line-height: 1.4; }
.orbi-chip-n { color: var(--orbi-muted); margin-left: 5px; font-size: 13px; font-variant-numeric: tabular-nums; }
.orbi-chip[aria-pressed="true"] { border-color: var(--orbi-accent-ink); background: var(--orbi-accent-wash); color: var(--orbi-accent-ink); font-weight: 500; }
.orbi-chip[aria-pressed="true"] .orbi-chip-n { color: var(--orbi-accent-ink); }
.orbi-select { border: 1px solid var(--orbi-line); border-radius: 4px; padding: 7px 10px; background: var(--orbi-bg); width: 280px; max-width: 100%; }
.orbi-summary { margin: 12px 0 18px; font-size: 14px; color: var(--orbi-muted); }
.orbi-summary b { color: var(--orbi-ink); font-weight: 500; }
.orbi-summary button { border: 0; background: none; color: var(--orbi-link); cursor: pointer; padding: 0; text-decoration: underline; font-size: 14px; }

/* Toolbar */
.orbi-toolbar { padding-bottom: 16px; border-bottom: 1px solid var(--orbi-line); }
.orbi-views { display: inline-flex; border: 1px solid var(--orbi-line); border-radius: 4px; overflow: hidden; }
.orbi-views button { border: 0; background: var(--orbi-bg); padding: 8px 18px; cursor: pointer; font-weight: 500; display: flex; gap: 8px; align-items: center; line-height: 1.4; }
.orbi-views button + button { border-left: 1px solid var(--orbi-line); }
.orbi-views button[aria-pressed="true"] { background: var(--orbi-accent); color: var(--orbi-on-accent); }
.orbi-views svg { width: 16px; height: 16px; }

/* Lista */
.orbi-day { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 24px; padding-block: 28px; border-bottom: 1px solid var(--orbi-line); }
.orbi-day-date { line-height: 1; position: sticky; top: 16px; align-self: start; }
.orbi-day-n { font-size: 44px; font-weight: 600; display: block; }
.orbi-day-w { font-size: 12px; text-transform: uppercase; letter-spacing: .1em; color: var(--orbi-muted); display: block; margin-top: 6px; }
.orbi-day-w.is-today { color: var(--orbi-accent-ink); font-weight: 700; }
.orbi-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 20px; }
.orbi-card { display: flex; flex-direction: column; gap: 10px; color: inherit; }
.orbi-card-img { aspect-ratio: 16 / 9; width: 100%; max-width: 100%; border-radius: 4px; overflow: hidden; background: var(--orbi-soft); position: relative; display: block; }
.orbi-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s ease; }
.orbi-card:hover .orbi-card-img img { transform: scale(1.03); }
.orbi-card-title { font-size: 17px; font-weight: 500; line-height: 1.3; }
.orbi-card:hover .orbi-card-title { color: var(--orbi-accent-ink); }
.orbi-tag { position: absolute; left: 8px; bottom: 8px; background: var(--orbi-bg); color: var(--orbi-ink); font-size: 12px; font-weight: 500; padding: 2px 8px; border-radius: 3px; line-height: 1.5; }
.orbi-tag.is-own { background: var(--orbi-accent); color: var(--orbi-on-accent); }
.orbi-meta { display: flex; flex-wrap: wrap; gap: 2px 14px; font-size: 13.5px; color: var(--orbi-muted); }
.orbi-meta > span { display: inline-flex; gap: 5px; align-items: center; }
.orbi-price { font-weight: 500; color: var(--orbi-ink); }
.orbi-rows { display: flex; flex-direction: column; }
.orbi-row { display: grid; grid-template-columns: 64px 72px minmax(0, 1fr) auto; gap: 16px; align-items: center; color: inherit; padding: 10px 0; border-top: 1px solid var(--orbi-line); }
.orbi-row:first-child { border-top: 0; padding-top: 0; }
.orbi-row-time { font-variant-numeric: tabular-nums; font-weight: 500; }
.orbi-row img, .orbi-row .orbi-ph { width: 72px; height: 48px; object-fit: cover; border-radius: 3px; background: var(--orbi-soft); display: block; }
.orbi-row-main { min-width: 0; display: flex; flex-direction: column; }
.orbi-row-title { font-weight: 500; }
.orbi-row:hover .orbi-row-title { color: var(--orbi-accent-ink); }
.orbi-row .orbi-price { font-size: 14px; white-space: nowrap; }
.orbi-more { display: flex; justify-content: center; padding-top: 28px; }
.orbi-btn { display: inline-block; border: 1px solid var(--orbi-accent-ink); color: var(--orbi-accent-ink); background: var(--orbi-bg); padding: 10px 22px; border-radius: 4px; cursor: pointer; font-weight: 500; text-align: center; line-height: 1.4; }
.orbi-btn:hover { background: var(--orbi-accent-wash); }
.orbi-btn-solid, .orbi-events a.orbi-btn-solid { background: var(--orbi-accent); border-color: var(--orbi-accent); color: var(--orbi-on-accent); }
.orbi-btn-solid:hover { filter: brightness(1.08); background: var(--orbi-accent); }
.orbi-empty { color: var(--orbi-muted); padding-block: 32px; }

/* Månad */
.orbi-mhead { display: flex; align-items: center; justify-content: space-between; padding-block: 24px 14px; }
.orbi-mtitle { margin: 0; font-weight: 400; font-size: 26px; }
.orbi-nav { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--orbi-line); background: var(--orbi-bg); cursor: pointer; font-size: 18px; line-height: 1; padding: 0; }
.orbi-nav:hover { border-color: var(--orbi-accent-ink); color: var(--orbi-accent-ink); }
.orbi-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-left: 1px solid var(--orbi-line); border-top: 1px solid var(--orbi-line); }
.orbi-wd { padding: 8px; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--orbi-muted); border-right: 1px solid var(--orbi-line); border-bottom: 1px solid var(--orbi-line); background: var(--orbi-soft); }
.orbi-cell { min-height: 112px; padding: 6px; border-right: 1px solid var(--orbi-line); border-bottom: 1px solid var(--orbi-line); display: flex; flex-direction: column; gap: 4px; min-width: 0; background: var(--orbi-bg); }
.orbi-cell[role="button"] { cursor: pointer; }
.orbi-cell.is-out { background: var(--orbi-soft); }
.orbi-cell.is-past .orbi-num, .orbi-cell.is-past .orbi-ev { opacity: .5; }
.orbi-cell.is-sel { box-shadow: inset 0 0 0 2px var(--orbi-accent); }
.orbi-num { font-size: 13px; font-variant-numeric: tabular-nums; color: var(--orbi-muted); min-width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; align-self: flex-start; }
.orbi-cell.is-today .orbi-num { background: var(--orbi-accent); color: var(--orbi-on-accent); font-weight: 700; }
.orbi-ev { display: block; width: 100%; font-size: 12px; line-height: 1.3; padding: 3px 6px; border-radius: 3px; background: var(--orbi-soft); border-left: 3px solid #b9c6c9; overflow: hidden; color: inherit; }
.orbi-ev.is-own { background: var(--orbi-accent-wash); border-left-color: var(--orbi-accent); }
.orbi-ev b { font-weight: 500; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.orbi-ev i { font-style: normal; color: var(--orbi-muted); font-variant-numeric: tabular-nums; }
.orbi-ev:hover b { color: var(--orbi-accent-ink); }
.orbi-dots { display: none; gap: 3px; flex-wrap: wrap; }
.orbi-dots span { width: 6px; height: 6px; border-radius: 50%; background: #9fb0b4; }
.orbi-dots span.is-own { background: var(--orbi-accent); }
.orbi-overflow { font-size: 12px; color: var(--orbi-link); padding-left: 6px; }
.orbi-legend { display: flex; flex-wrap: wrap; gap: 18px; font-size: 13px; color: var(--orbi-muted); padding-top: 12px; }
.orbi-legend span { display: inline-flex; gap: 6px; align-items: center; }
.orbi-legend i { width: 12px; height: 12px; border-radius: 2px; background: var(--orbi-soft); border-left: 3px solid #b9c6c9; }
.orbi-legend i.is-own { background: var(--orbi-accent-wash); border-left-color: var(--orbi-accent); }
.orbi-dayview:not(:empty) { padding-top: 24px; }
.orbi-dayview h4 { margin: 0 0 12px; font-size: 16px; font-weight: 500; }

/* Eventsida */
.orbi-back { display: inline-block; color: var(--orbi-link); font-size: 14px; margin-bottom: 20px; }
.orbi-back:hover { text-decoration: underline; }
.orbi-ep { display: grid; grid-template-columns: minmax(0, 1fr) 320px; grid-template-areas: "hero aside" "main aside"; gap: 24px 40px; align-items: start; }
.orbi-ep-hero { grid-area: hero; }
.orbi-ep-aside { grid-area: aside; }
.orbi-ep-main { grid-area: main; min-width: 0; }
.orbi-ep-hero { aspect-ratio: 16 / 9; width: 100%; max-width: 100%; object-fit: cover; border-radius: 4px; display: block; background: var(--orbi-soft); }
.orbi-desc { overflow-wrap: anywhere; max-width: 65ch; }
.orbi-desc a { color: var(--orbi-link); }
.orbi-ep-aside { position: sticky; top: 16px; display: flex; flex-direction: column; gap: 18px; padding: 20px; border: 1px solid var(--orbi-line); border-radius: 4px; background: var(--orbi-bg); }
.orbi-facts { display: grid; gap: 14px; margin: 0; }
.orbi-facts div { display: flex; flex-direction: column; font-size: 14px; }
.orbi-facts dt { font-size: 11px; text-transform: uppercase; letter-spacing: .1em; color: var(--orbi-muted); font-weight: 400; }
.orbi-facts dd { margin: 0; }
.orbi-facts a { color: var(--orbi-link); }
.orbi-tickets { list-style: none; margin: 0; padding: 0; }
.orbi-tickets li { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--orbi-line); font-size: 14px; margin: 0; }
.orbi-tickets b { font-weight: 500; font-variant-numeric: tabular-nums; white-space: nowrap; }
.orbi-related { margin-top: 48px; padding-top: 28px; border-top: 1px solid var(--orbi-line); }
.orbi-related h2 { margin: 0 0 16px; font-size: 20px; font-weight: 500; }

@container (max-width: 760px) {
	.orbi-ep { grid-template-columns: 1fr; grid-template-areas: "hero" "aside" "main"; gap: 24px; }
	.orbi-ep-aside { position: static; }
}
@container (max-width: 560px) {
	.orbi-day { grid-template-columns: 1fr; gap: 12px; padding-block: 22px; }
	.orbi-day-date { position: static; display: flex; align-items: baseline; gap: 10px; }
	.orbi-day-n { font-size: 30px; }
	.orbi-day-w { margin: 0; }
}
@media (max-width: 860px) {
	.orbi-ep { grid-template-columns: 1fr; grid-template-areas: "hero" "aside" "main"; }
	.orbi-ep-aside { position: static; }
}
@media (max-width: 720px) {
	.orbi-select { width: 100%; }
	.orbi-day { grid-template-columns: 1fr; gap: 12px; padding-block: 22px; }
	.orbi-day-date { position: static; display: flex; align-items: baseline; gap: 10px; }
	.orbi-day-n { font-size: 30px; }
	.orbi-day-w { margin: 0; }
	.orbi-cell { min-height: 58px; padding: 4px; }
	.orbi-cell .orbi-ev, .orbi-cell .orbi-overflow { display: none; }
	.orbi-dots { display: flex; }
	.orbi-wd { padding: 6px 2px; text-align: center; font-size: 11px; letter-spacing: 0; }
	.orbi-num { font-size: 12px; }
	.orbi-row { grid-template-columns: 52px minmax(0, 1fr) auto; }
	.orbi-row img, .orbi-row .orbi-ph { display: none; }
}
@media (prefers-reduced-motion: reduce) { .orbi-card-img img { transition: none; } }
.orbi-events-error { color: #b32d2e; }

.orbi-preview-note { background: #fff8e1; border-left: 4px solid #f0b400; padding: 10px 14px; font-size: 14px; margin: 0 0 16px; color: #3d3000; }

/* Skydd mot teman som tvingar knappfärger med !important (t.ex. "button { color: #fff !important }"). */
.orbi-events .orbi-chip,
.orbi-events .orbi-chip:hover,
.orbi-events .orbi-views button,
.orbi-events .orbi-views button:hover,
.orbi-events .orbi-nav,
.orbi-events .orbi-nav:hover { color: var(--orbi-ink) !important; }
.orbi-events .orbi-chip[aria-pressed="true"] { color: var(--orbi-accent-ink) !important; }
.orbi-events .orbi-views button[aria-pressed="true"] { color: var(--orbi-on-accent) !important; }
.orbi-events .orbi-summary button,
.orbi-events .orbi-summary button:hover { color: var(--orbi-link) !important; background: none !important; border: 0 !important; padding: 0 !important; }
.orbi-events .orbi-btn,
.orbi-events .orbi-btn:hover { color: var(--orbi-accent-ink) !important; }
.orbi-events .orbi-btn-solid,
.orbi-events .orbi-btn-solid:hover { color: var(--orbi-on-accent) !important; }
