/* ── Card action buttons ── */
.card-actions{position:absolute;top:0.5rem;right:0.5rem;display:flex;gap:0.25rem;opacity:0;transition:opacity 0.15s}
.card:hover .card-actions,.card.highlighted-session .card-actions,.card.hidden-session .card-actions{opacity:1}
.card-action{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-sm);border:none;cursor:pointer;background:var(--surface3);color:var(--text3);transition:all 0.15s}
.card-action svg{width:14px;height:14px}
.card-action.act-star:hover{background:color-mix(in srgb,var(--accent) 25%,transparent);color:var(--accent)}
.card-action.act-star.on{background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent);opacity:1}
.card-action.act-hide:hover{background:color-mix(in srgb,var(--color-error) 20%,transparent);color:var(--color-error)}
.card-action.act-hide.on{background:color-mix(in srgb,var(--color-error) 15%,transparent);color:var(--color-error);opacity:1}

/* ── List View ── */
.day-heading{font-size:1.2rem;color:var(--accent);margin:1.5rem 0 0.75rem;padding-bottom:0.35rem;border-bottom:2px solid var(--accent)}
.time-slot-heading{font-size:0.9rem;color:var(--accent2);margin:1rem 0 0.5rem;padding:0.3rem 0.6rem;background:var(--surface);border-radius:var(--radius-sm);display:inline-block;scroll-margin-top:70px}
.list-cards{display:grid;grid-template-columns:1fr;gap:0.6rem;margin-bottom:0.5rem}
.card{position:relative;background:var(--surface);border-radius:var(--radius);padding:0.85rem;border-left:4px solid var(--card-color,var(--border-dark));cursor:pointer;transition:background 0.15s,transform 0.15s,box-shadow 0.15s}
.card:hover{background:var(--surface2);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.3)}
.card:active{background:var(--surface3);transform:translateY(0);box-shadow:none}
.card-stage{font-size:0.7rem;font-weight:700;padding:0.15rem 0.5rem;border-radius:var(--radius-pill);display:inline-block;margin-bottom:0.35rem;color:var(--card-color);background:color-mix(in srgb,var(--card-color) 15%,transparent)}
.card-title{font-size:0.95rem;font-weight:600;color:#fff;margin-bottom:0.25rem;line-height:1.3}
.card-speakers{font-size:0.8rem;color:var(--text2);margin-bottom:0.25rem}
.card-desc{font-size:0.78rem;color:var(--text3);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-meta{display:flex;gap:0.4rem;flex-wrap:wrap;margin-top:0.4rem}
.card-tag{font-size:0.65rem;background:var(--surface3);color:var(--text2);padding:0.15rem 0.4rem;border-radius:var(--radius-pill)}
.card-lang{font-size:0.65rem;padding:0.15rem 0.4rem;border-radius:var(--radius-pill)}
.card-access{background:#1a2a3a;color:var(--accent2)}
.card-interest{font-size:0.6rem;background:var(--surface2);color:var(--text3)}
.card-meta-interests{margin-top:0.2rem}
.lang-en{background:var(--lang-en-bg);color:var(--lang-en-text)}
.lang-es{background:var(--lang-es-bg);color:var(--lang-es-text)}
.lang-ca{background:var(--lang-ca-bg);color:var(--lang-ca-text)}
