/* CTT Tango Chat – [tango_events] page. Ported from build_html.py; all rules scoped under #ctt-events. */
#ctt-events{--ctt-accent:#7b1e2b;--ctt-accent-dark:#5c1520;--ctt-bg:#fff;--ctt-soft:#f7f3f3;--ctt-line:#e4dcdc;--ctt-text:#222;--ctt-muted:#666;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.45;color:var(--ctt-text);max-width:1200px;margin:0 auto;box-sizing:border-box;text-align:left}
#ctt-events *,#ctt-events *::before,#ctt-events *::after{box-sizing:border-box}
#ctt-events .ctt-layout{display:flex;gap:24px;align-items:flex-start}
#ctt-events .ctt-side{flex:0 0 270px;position:sticky;top:90px;max-height:calc(100vh - 110px);overflow-y:auto;background:var(--ctt-soft);border:1px solid var(--ctt-line);border-radius:10px;padding:14px}
#ctt-events .ctt-main{flex:1 1 auto;min-width:0}
#ctt-events .ctt-toggle{display:none;width:100%;margin:0 0 12px;padding:12px 14px;font-size:16px;font-weight:600;color:#fff;background:var(--ctt-accent);border:0;border-radius:8px;cursor:pointer;text-align:left}
#ctt-events .ctt-search{display:block;width:100%;margin:0 0 12px;padding:9px 11px;font-size:15px;border:1px solid var(--ctt-line);border-radius:7px;background:#fff;color:var(--ctt-text)}
#ctt-events .ctt-search:focus{outline:2px solid var(--ctt-accent);outline-offset:0}
#ctt-events details.ctt-group{border-top:1px solid var(--ctt-line);padding:8px 0}
#ctt-events details.ctt-group summary{cursor:pointer;font-weight:700;font-size:15px;padding:4px 0;list-style:none;display:flex;justify-content:space-between;align-items:center;color:var(--ctt-text)}
#ctt-events details.ctt-group summary::-webkit-details-marker{display:none}
#ctt-events details.ctt-group summary::after{content:"+";font-weight:400;font-size:20px;line-height:1;color:var(--ctt-accent)}
#ctt-events details.ctt-group[open] summary::after{content:"\2212"}
#ctt-events .ctt-sel{font-weight:400;font-size:12px;color:#fff;background:var(--ctt-accent);border-radius:10px;padding:1px 7px;margin-left:6px}
#ctt-events .ctt-opts{margin:6px 0 2px;padding:0}
#ctt-events .ctt-opts.ctt-scroll{max-height:230px;overflow-y:auto;border:1px solid var(--ctt-line);border-radius:6px;background:#fff;padding:4px 6px}
#ctt-events label.ctt-opt{display:flex;align-items:center;gap:8px;margin:0;padding:3px 2px;font-size:14px;font-weight:400;cursor:pointer;color:var(--ctt-text)}
#ctt-events label.ctt-opt input{margin:0;width:16px;height:16px;flex:0 0 16px;accent-color:var(--ctt-accent)}
#ctt-events label.ctt-opt .ctt-lab{flex:1 1 auto}
#ctt-events label.ctt-opt .ctt-num{color:var(--ctt-muted);font-size:12px}
#ctt-events label.ctt-opt.ctt-zero{opacity:.45}
#ctt-events .ctt-clear{display:block;width:100%;margin:10px 0 0;padding:9px;font-size:14px;font-weight:600;color:var(--ctt-accent);background:#fff;border:1px solid var(--ctt-accent);border-radius:7px;cursor:pointer}
#ctt-events .ctt-clear:hover{background:var(--ctt-accent);color:#fff}
#ctt-events .ctt-count{margin:0 0 10px;font-size:15px;color:var(--ctt-muted)}
#ctt-events .ctt-count b{color:var(--ctt-accent)}
#ctt-events h3.ctt-month{margin:22px 0 10px;padding:0 0 6px;font-size:21px;font-weight:700;color:var(--ctt-accent);border-bottom:2px solid var(--ctt-accent);line-height:1.2}
#ctt-events h3.ctt-month:first-of-type{margin-top:4px}
#ctt-events .ctt-card{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;margin:0 0 8px;padding:11px 13px;background:var(--ctt-bg);border:1px solid var(--ctt-line);border-left:5px solid #999;border-radius:8px}
#ctt-events .ctt-card.ctt-t-Marathon{border-left-color:#1f6fd1}
#ctt-events .ctt-card.ctt-t-Festival{border-left-color:#e0b100}
#ctt-events .ctt-card.ctt-t-Encuentro{border-left-color:#ea7a12}
#ctt-events .ctt-card.ctt-t-Retreat{border-left-color:#2e9b48}
#ctt-events .ctt-card.ctt-featured{background:#fbf0f3;border-color:#e8c9d3;border-left:5px solid #6b1d3f;box-shadow:0 2px 8px rgba(107,29,63,.16)}
#ctt-events .ctt-card.ctt-featured .ctt-name{color:#5c1534}
#ctt-events .ctt-gem{margin-right:5px}
#ctt-events .ctt-info{min-width:0;flex:1 1 auto}
#ctt-events .ctt-name{margin:0 0 3px;font-size:16.5px;font-weight:700;line-height:1.3;color:var(--ctt-text);overflow-wrap:anywhere}
#ctt-events .ctt-meta{font-size:14px;color:var(--ctt-muted)}
#ctt-events .ctt-badge{display:inline-block;font-size:12px;font-weight:600;padding:1px 8px;border-radius:10px;margin-right:6px;color:#fff;background:#888;vertical-align:1px}
#ctt-events .ctt-badge.ctt-t-Marathon{background:#1f6fd1}
#ctt-events .ctt-badge.ctt-t-Festival{background:#b58f00}
#ctt-events .ctt-badge.ctt-t-Encuentro{background:#d06a0c}
#ctt-events .ctt-badge.ctt-t-Retreat{background:#2e8b43}
#ctt-events .ctt-links{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;flex:0 0 auto;max-width:45%}
#ctt-events a.ctt-btn,#ctt-events a.ctt-btn:visited{display:inline-block;padding:6px 12px;font-size:14px;font-weight:600;line-height:1.2;color:#fff;background:var(--ctt-accent);border-radius:6px;text-decoration:none;white-space:nowrap;border:0;box-shadow:none}
#ctt-events a.ctt-btn:hover,#ctt-events a.ctt-btn:focus{background:var(--ctt-accent-dark);color:#fff;text-decoration:none}
#ctt-events a.ctt-promo,#ctt-events a.ctt-promo:visited{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:0 0 8px;padding:13px 14px;background:#fbf4dc;border:2px solid #c9a227;border-left:5px solid #c9a227;border-radius:8px;text-decoration:none;color:#5a4610;box-shadow:0 0 0 3px #f3e6b3 inset}
#ctt-events a.ctt-promo:hover,#ctt-events a.ctt-promo:focus{background:#f8ecc4;text-decoration:none;color:#5a4610}
#ctt-events .ctt-promo-icon{font-size:24px;line-height:1;flex:0 0 auto}
#ctt-events .ctt-promo-text{flex:1 1 auto;min-width:0;font-size:16px;font-weight:600;line-height:1.35;color:#5a4610}
#ctt-events .ctt-promo-btn{flex:0 0 auto;display:inline-block;padding:6px 12px;font-size:14px;font-weight:700;line-height:1.2;color:#fff;background:#b8901c;border-radius:6px;white-space:nowrap}
#ctt-events a.ctt-promo:hover .ctt-promo-btn{background:#9a7712}
#ctt-events .ctt-empty{padding:30px 10px;text-align:center;color:var(--ctt-muted)}
@media (max-width:767px){
#ctt-events .ctt-layout{display:block}
#ctt-events .ctt-toggle{display:block}
#ctt-events .ctt-side{position:static;max-height:none;overflow:visible;margin:0 0 14px;display:none}
#ctt-events.ctt-open .ctt-side{display:block}
#ctt-events .ctt-card{flex-direction:column;gap:8px}
#ctt-events .ctt-links{justify-content:flex-start;max-width:none}
#ctt-events a.ctt-promo{flex-wrap:wrap}
#ctt-events .ctt-promo-text{flex:1 1 200px}
#ctt-events .ctt-promo-btn{margin-left:36px}
#ctt-events h3.ctt-month{font-size:19px}
}
