/* Civitas Nexus AI V3.8.8 · Temi festivi e compleanni (solo aspetto) */
/* striscia colorata del tema sopra la sala */
:root[data-festa] .live-section{border-top:3px solid transparent;border-image:linear-gradient(90deg,var(--festa-c1),var(--festa-c2),var(--festa-c3)) 1}
.festa-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:8px 21px;background:linear-gradient(90deg,rgba(6,24,46,.92),rgba(6,24,46,.78));border-bottom:1px solid rgba(75,176,227,.2)}
.festa-banner{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;font-size:12px;color:#eaf6ff}
.festa-banner b{color:var(--festa-c1,#ffd27a)}
.festa-bday{padding:3px 10px;border-radius:999px;background:rgba(255,77,138,.16);border:1px solid rgba(255,77,138,.45)}
.festa-bday b{color:#ffb3cf}
.cmd.cmd-party{border-color:#ff4d8a;background:linear-gradient(135deg,rgba(255,77,138,.3),rgba(255,210,122,.22));color:#fff}
.cmd.cmd-party:hover{border-color:#ffd27a;transform:translateY(-1px)}
:root[data-theme="light"] .festa-strip{background:#fff7ec}
:root[data-theme="light"] .festa-banner{color:#0b2440}
:root[data-theme="light"] .festa-banner b{color:#b4530a}
:root[data-theme="light"] .festa-bday b{color:#b0124f}
:root[data-theme="light"] .cmd.cmd-party{color:#0b2440}

/* Sala 2.5D: festone in alto e tre decorazioni, dietro alle persone, senza intercettare i clic */
.festa-2d{position:absolute;inset:0;pointer-events:none;z-index:4;overflow:hidden}
.festa-garland{position:absolute;left:3%;right:3%;top:1.5%;height:26px;
  background:
    linear-gradient(135deg,var(--festa-c1) 25%,transparent 25%) 0 0/36px 26px repeat-x,
    linear-gradient(225deg,var(--festa-c2) 25%,transparent 25%) 18px 0/36px 26px repeat-x;
  opacity:.9;filter:drop-shadow(0 3px 4px rgba(0,0,0,.35))}
.festa-garland:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:rgba(255,255,255,.7)}
.f2{position:absolute;font-size:44px;line-height:1;filter:drop-shadow(0 6px 8px rgba(0,0,0,.35))}
.f2-a{left:2.5%;bottom:20%}
.f2-b{right:2.5%;bottom:23%;font-size:52px}
.f2-c{left:50%;top:7%;font-size:30px;transform:translateX(-50%);animation:festa-float 4s ease-in-out infinite}
@keyframes festa-float{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,-6px)}}
[data-gfx="minima"] .f2-c,[data-staff-motion="off"] .f2-c{animation:none}

/* compleanno in 2.5D: cappellino sulla testa del festeggiato */
.bday-hat{position:absolute;left:50%;top:-16px;width:0;height:0;margin-left:-11px;border-left:11px solid transparent;border-right:11px solid transparent;border-bottom:26px solid #ff4d8a;transform:rotate(-10deg);z-index:2}
.bday-hat:before{content:"";position:absolute;left:-5px;top:-6px;width:10px;height:10px;border-radius:50%;background:#fff}
.bday-hat:after{content:"";position:absolute;left:-12px;top:22px;width:24px;height:5px;border-radius:3px;background:#ffd27a}
.actor.is-bday .actor-tag{border-color:#ff4d8a}

/* impostazioni */
.festa-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px}
.festa-grid .switch-pill{text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
@media(max-width:620px){.festa-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.bday-list{max-height:52vh;overflow-y:auto;padding-right:4px}
.bday-office{margin:14px 0 4px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan,#3fd0ff)}
.bday-row{display:grid;grid-template-columns:1fr 64px 112px;gap:7px;align-items:center;padding:6px 0;border-bottom:1px solid rgba(75,176,227,.12)}
.bday-who b{display:block;font-size:12px}
.bday-who em{font-style:normal;font-size:10.5px;color:var(--secondary)}
.bday-row select{border-radius:8px;padding:6px;border:1px solid var(--stroke-2);background:rgba(3,17,34,.65);color:var(--ink);font-size:12px}
.bday-row select option{background:#102741}
:root[data-theme="light"] .bday-row select{background:#fff;color:#0b2440}
:root[data-theme="light"] .bday-row select option{background:#fff}
