/* ============================================================
   PRESENCE WIDGET - Sticky floating bottom-right
   ============================================================ */
.tr-pw {
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    z-index: 1040;
    width: 220px;
    font-size: 0.85rem;
    filter: drop-shadow(0 4px 24px rgba(0,0,0,0.5));
}
.tr-pw-toggle {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: linear-gradient(135deg, rgba(20,6,14,0.97), rgba(35,12,24,0.97));
    border: 1px solid rgba(201,168,76,0.4);
    border-radius: 8px;
    padding: 0.55rem 0.85rem;
    cursor: pointer;
    color: #e8d9b8;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    transition: border-color 0.2s, background 0.2s;
}
.tr-pw-toggle:hover { border-color: rgba(201,168,76,0.7); }
.tr-pw-dot {
    width: 8px; height: 8px;
    background: #4caf7d;
    border-radius: 50%;
    flex-shrink: 0;
    box-shadow: 0 0 6px #4caf7d;
    animation: tr-pw-pulse 2s infinite;
}
@keyframes tr-pw-pulse {
    0%,100% { opacity:1; box-shadow:0 0 6px #4caf7d; }
    50%      { opacity:0.7; box-shadow:0 0 12px #4caf7d; }
}
.tr-pw-label { flex:1; text-align:left; color: var(--tr-gold); }
.tr-pw-arrow {
    font-size: 0.7rem;
    color: #666;
    transition: transform 0.25s;
    display: inline-block;
    transform: rotate(180deg);
}
.tr-pw.open .tr-pw-arrow { transform: rotate(0deg); }

/* Body – ausgeklappt */
.tr-pw-body {
    display: none;
    background: linear-gradient(180deg, rgba(20,6,14,0.98), rgba(14,4,10,0.98));
    border: 1px solid rgba(201,168,76,0.25);
    border-top: none;
    border-radius: 0 0 8px 8px;
    padding: 0.5rem 0;
    margin-top: -2px;
}
.tr-pw.open .tr-pw-toggle { border-radius: 8px 8px 0 0; }
.tr-pw.open .tr-pw-body   { display: block; }

.tr-pw-head {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--tr-gold-dark);
    padding: 0.3rem 0.85rem 0.5rem;
    border-bottom: 1px solid rgba(201,168,76,0.1);
    margin-bottom: 0.25rem;
}
.tr-pw-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.35rem 0.85rem;
    text-decoration: none;
    transition: background 0.15s;
}
.tr-pw-item:hover { background: rgba(201,168,76,0.06); }
.tr-pw-name { color: #ddd; font-size: 0.82rem; }
.tr-pw-bis  { color: #666; font-size: 0.72rem; }
.tr-pw-all {
    display: block;
    text-align: center;
    margin: 0.5rem 0.85rem 0.25rem;
    padding: 0.3rem;
    font-size: 0.75rem;
    color: var(--tr-gold-dark);
    text-decoration: none;
    border: 1px solid rgba(201,168,76,0.15);
    border-radius: 4px;
    transition: all 0.2s;
}
.tr-pw-all:hover { background: rgba(201,168,76,0.08); color: var(--tr-gold); border-color: rgba(201,168,76,0.35); }

@media (max-width: 480px) {
    .tr-pw { right: 0.75rem; bottom: 0.75rem; width: 195px; }
}