/* GALAXY REVIEW STYLE */
:root {
  --rev-gold: #f5c542;
  --rev-bg: radial-gradient(circle at center, rgba(60, 0, 0, 0.95) 0%, rgba(5, 5, 10, 0.98) 100%), 
            url('https://www.transparenttextures.com/patterns/stardust.png');
  --rev-font: 'Inter', sans-serif;
}

/* Styles für das Hero-Widget (in index.html) */
.rev-card {
    padding: 12px 15px;
    border-bottom: 1px dashed rgba(255,255,255,0.15);
    font-size: 13px;
    color: #fff;
    font-family: var(--rev-font);
    box-sizing: border-box;
}
.rev-nick { font-weight: 800; color: #ffcccc; margin-bottom: 3px; display: block; }
.rev-stars { color: var(--rev-gold); font-size: 12px; letter-spacing: 2px; display: block; margin-bottom: 4px; }
.rev-comment { 
    font-size: 12px; color: #ddd; display: block; 
    font-style: italic; line-height: 1.4; opacity: 0.9;
}

/* Scroll Bereich & Animation */
.rev-scroll-mask {
    flex: 1;
    overflow: hidden;
    position: relative;
    /* Maske für weiches Ein/Ausblenden oben und unten */
    mask-image: linear-gradient(to bottom, transparent, black 10%, black 90%, transparent);
    -webkit-mask-image: linear-gradient(to bottom, transparent, black 10%, black 90%, transparent);
}

.rev-track {
    position: absolute;
    width: 100%;
    /* Endlos-Animation von unten nach oben */
    animation: scrollUp 20s linear infinite; 
}

/* Stoppen bei Maus-Hover, damit man lesen kann */
.rev-track:hover { animation-play-state: paused; }

@keyframes scrollUp {
    0% { transform: translateY(0); }
    100% { transform: translateY(-50%); } /* Bewegt sich genau um die Hälfte (das Original-Set) */
}


/* --- MODAL (POPUP) --- */
#revModalOverlay {
  position: fixed; inset: 0;
  background: rgba(0,0,0,0.85);
  z-index: 99999 !important; /* Über allem */
  display: none;
  align-items: center; justify-content: center;
  backdrop-filter: blur(8px);
}

.rm-box {
  width: min(350px, 90%);
  background: var(--rev-bg);
  border: 2px solid var(--rev-gold);
  border-radius: 20px;
  padding: 25px;
  text-align: center;
  color: white;
  position: relative;
  box-shadow: 0 0 60px rgba(0,0,0, 0.9);
  font-family: var(--rev-font);
}

.rm-close {
  position: absolute; top: 10px; right: 15px;
  background: none; border: none; color: #aaa; 
  font-size: 24px; cursor: pointer; font-weight: bold;
}
.rm-close:hover { color: #fff; }

.rm-title { font-size: 18px; font-weight: 900; margin-bottom: 20px; color: var(--rev-gold); }

.rm-input, .rm-select {
  width: 100%; padding: 12px; margin-bottom: 12px;
  background: rgba(0,0,0,0.6); border: 1px solid #444;
  color: white; border-radius: 10px; font-weight: bold;
  outline: none; box-sizing: border-box;
}

.rm-textarea {
  width: 100%; padding: 12px; margin-bottom: 15px;
  background: rgba(0,0,0,0.6); border: 1px solid #444;
  color: white; border-radius: 10px; font-weight: normal;
  outline: none; box-sizing: border-box;
  resize: none; font-family: inherit; font-size: 13px;
  min-height: 80px;
}

.rm-input:focus, .rm-select:focus, .rm-textarea:focus { border-color: var(--rev-gold); }

.rm-btn {
  width: 100%; padding: 12px;
  background: linear-gradient(135deg, #8b0000, #ff0000);
  border: 1px solid rgba(255,255,255,0.2);
  color: white; font-weight: 900;
  border-radius: 12px; cursor: pointer;
  text-transform: uppercase; margin-top: 5px;
  box-shadow: 0 0 15px rgba(255,0,0,0.4);
}
.rm-btn:hover { filter: brightness(1.2); }