/* VALORE Business Club - Consent Manager Styles */
.vc-banner, .vc-modal {
  position: fixed;
  z-index: 100000;
  font-family: Arial, Helvetica, sans-serif;
}
.vc-banner[hidden], .vc-modal[hidden] { display: none !important; }

.vc-banner {
  left: 0; right: 0; bottom: 0;
  background: #0d0a05;
  color: #e9ddc5;
  padding: 18px 24px;
  box-shadow: 0 -10px 30px rgba(0,0,0,.4);
}
.vc-banner-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
}
.vc-text { margin: 0; max-width: 640px; font-size: 14px; line-height: 1.5; }

.vc-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  flex-shrink: 0;
}
.vc-btn {
  font-size: 13.5px;
  font-weight: 700;
  padding: 10px 20px;
  border-radius: 30px;
  cursor: pointer;
  border: 1.5px solid #d4a843;
  min-width: 130px;
  text-align: center;
  background: transparent;
  color: #d4a843;
}
.vc-btn-solid { background: #d4a843; color: #000; }
.vc-btn-outline { background: transparent; color: #d4a843; }

.vc-modal {
  left: 0; right: 0; top: 0; bottom: 0;
  background: rgba(0,0,0,.6);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.vc-modal-inner {
  background: #fffaf3;
  color: #2b2320;
  max-width: 520px;
  width: 100%;
  border-radius: 16px;
  padding: 28px;
  max-height: 90vh;
  overflow-y: auto;
}
.vc-modal-title { margin: 0 0 16px; font-size: 20px; }
.vc-cat { border-top: 1px solid #e9ddc5; padding: 14px 0; }
.vc-cat:first-of-type { border-top: none; }
.vc-cat-head { display: flex; align-items: center; justify-content: space-between; font-weight: 700; font-size: 15px; }
.vc-cat-desc { margin: 6px 0 0; font-size: 13.5px; color: #7a6f68; }
.vc-cat-onbadge {
  font-size: 11px;
  font-weight: 700;
  background: #e9ddc5;
  color: #5c534c;
  border-radius: 10px;
  padding: 2px 8px;
}

.vc-switch { position: relative; display: inline-block; width: 42px; height: 24px; flex-shrink: 0; }
.vc-switch input { opacity: 0; width: 0; height: 0; }
.vc-slider {
  position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0;
  background-color: #ccc; border-radius: 24px; transition: .2s;
}
.vc-slider:before {
  position: absolute; content: ""; height: 18px; width: 18px; left: 3px; bottom: 3px;
  background-color: white; border-radius: 50%; transition: .2s;
}
.vc-switch input:checked + .vc-slider { background-color: #b6752f; }
.vc-switch input:checked + .vc-slider:before { transform: translateX(18px); }

.vc-modal .vc-actions { margin-top: 20px; }
.vc-modal .vc-btn { color: #2b2320; border-color: #b6752f; }
.vc-modal .vc-btn-solid { background: #b6752f; color: #fff; }

@media (max-width: 640px) {
  .vc-banner-inner { flex-direction: column; align-items: stretch; text-align: center; }
  .vc-actions { justify-content: center; }
}

/* Placeholder für Fliplink vor Zustimmung */
.vc-media-placeholder {
  border: 1.5px dashed #d4a843;
  border-radius: 12px;
  padding: 32px 24px;
  text-align: center;
  color: inherit;
}
.vc-media-placeholder p { margin: 0 0 16px; font-size: 15px; }
.vc-media-placeholder .vc-btn { display: inline-block; min-width: 200px; }
