/* RUDELSINGEN – Consent-Banner (selbst gehostet, kein externer Dienst) */
.rs-cc, .rs-cc * { box-sizing: border-box; }
.rs-cc {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 99999;
  background: #1c1c20; color: #f2f2f2;
  font-family: inherit; font-size: 15px; line-height: 1.5;
  box-shadow: 0 -4px 24px rgba(0,0,0,.35);
  padding: 18px clamp(16px, 4vw, 40px);
}
.rs-cc__inner { max-width: 1100px; margin: 0 auto; display: flex; flex-wrap: wrap; gap: 16px 28px; align-items: center; justify-content: space-between; }
.rs-cc__text { flex: 1 1 460px; min-width: 280px; }
.rs-cc__text strong { color: #fff; }
.rs-cc a { color: #ffd24a; text-decoration: underline; }
.rs-cc__btns { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.rs-cc__btn {
  font: inherit; font-weight: 700; cursor: pointer;
  border-radius: 999px; padding: 11px 22px; border: 2px solid transparent; white-space: nowrap;
}
.rs-cc__btn--accept { background: #ffd24a; color: #1c1c20; }
.rs-cc__btn--accept:hover { background: #ffdd6e; }
.rs-cc__btn--deny { background: transparent; color: #f2f2f2; border-color: #6a6a72; }
.rs-cc__btn--deny:hover { border-color: #aaa; }
.rs-cc__btn--settings { background: transparent; color: #cfcfd6; border: none; text-decoration: underline; padding: 11px 8px; }
.rs-cc__options { flex-basis: 100%; display: none; gap: 18px; padding-top: 6px; }
.rs-cc.is-open .rs-cc__options { display: flex; flex-wrap: wrap; }
.rs-cc__opt { display: flex; align-items: flex-start; gap: 8px; color: #d8d8de; font-size: 14px; }
.rs-cc__opt input { margin-top: 3px; }
.rs-cc__opt--locked { opacity: .7; }

/* Floating re-open button */
.rs-cc-reopen {
  position: fixed; left: 14px; bottom: 14px; z-index: 99990;
  width: 44px; height: 44px; border-radius: 50%; border: none; cursor: pointer;
  background: #1c1c20; color: #ffd24a; font-size: 20px; line-height: 44px; text-align: center;
  box-shadow: 0 3px 12px rgba(0,0,0,.3);
}
.rs-cc-reopen:hover { background: #2a2a30; }

/* YouTube Klick-zum-Laden-Vorschau */
.rs-yt-facade {
  position: absolute; inset: 0; z-index: 5; cursor: pointer;
  background: linear-gradient(135deg, #2a2a32 0%, #15151a 100%);
  display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 14px;
}
.rs-yt-play {
  position: relative; z-index: 2; width: 68px; height: 48px; border: none; cursor: pointer;
  border-radius: 12px; background: #ff0000; margin-bottom: 12px;
}
.rs-yt-play::after { content: ""; position: absolute; top: 50%; left: 52%; transform: translate(-50%,-50%);
  border-style: solid; border-width: 11px 0 11px 19px; border-color: transparent transparent transparent #fff; }
.rs-yt-note { position: relative; z-index: 2; color: #fff; font-size: 13px; max-width: 80%; line-height: 1.4; }
.rs-yt-note a { color: #ffd24a; }
