/* pappschilder.de – Consent-Manager (lokal, ohne Drittanbieter) */

.consent-banner {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 1000;
  background: #231d12;
  color: #f2ebdd;
  border-top: 4px solid #b98b54;
  padding: 1rem;
}
.consent-banner-inner {
  max-width: 72rem;
  margin: 0 auto;
  display: grid;
  gap: .8rem;
}
.consent-banner h2 {
  margin: 0;
  font-size: 1.05rem;
  color: #e3b23c;
}
.consent-banner p {
  margin: 0;
  font-size: .95rem;
  line-height: 1.5;
  color: #f2ebdd;
}
.consent-banner a { color: #f2ebdd; text-decoration-color: #b98b54; }
.consent-banner a:hover { color: #e3b23c; }

.consent-actions {
  display: flex;
  gap: .6rem;
  flex-wrap: wrap;
}
.consent-actions .btn { font-size: .95rem; }
.consent-actions .btn-accept,
.consent-actions .btn-reject {
  background: #f2ebdd;
  color: #231d12;
  border: 2px solid #f2ebdd;
  padding: .7rem 1.2rem;
  border-radius: 6px;
  font-weight: 700;
  font-family: inherit;
  font-size: .95rem;
  cursor: pointer;
  min-height: 44px;
}
.consent-actions .btn-accept:hover,
.consent-actions .btn-reject:hover { background: #e3b23c; border-color: #e3b23c; }
.consent-actions .btn-settings {
  background: transparent;
  color: #f2ebdd;
  border: 2px solid #b98b54;
  padding: .7rem 1.2rem;
  border-radius: 6px;
  font-weight: 700;
  font-family: inherit;
  font-size: .95rem;
  cursor: pointer;
  min-height: 44px;
}
.consent-actions .btn-settings:hover { border-color: #e3b23c; color: #e3b23c; }

.consent-close {
  position: absolute;
  top: .4rem; right: .6rem;
  background: none;
  border: 0;
  color: #f2ebdd;
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
  padding: .4rem;
  min-width: 44px;
  min-height: 44px;
}
.consent-close:hover { color: #e3b23c; }
.consent-banner-inner { position: relative; padding-right: 2.5rem; }

/* Einstellungs-Dialog */

.consent-modal[hidden] { display: none; }
.consent-modal {
  position: fixed;
  inset: 0;
  z-index: 1100;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: rgba(35, 29, 18, .6);
}
.consent-dialog {
  background: #f2ebdd;
  color: #231d12;
  border-radius: 8px;
  border-top: 8px solid #b98b54;
  max-width: 34rem;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  padding: 1.3rem;
  position: relative;
}
.consent-dialog h2 { margin: 0 0 .6rem; font-size: 1.2rem; }
.consent-dialog p { font-size: .95rem; color: #4d442f; }

.consent-category {
  border: 1px solid #cdbb95;
  border-radius: 6px;
  background: #fff;
  padding: .8rem 1rem;
  margin-bottom: .7rem;
}
.consent-category-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.consent-category h3 { margin: 0; font-size: 1rem; }
.consent-category p { margin: .4rem 0 0; font-size: .88rem; }
.consent-category .always { font-size: .82rem; font-weight: 700; color: #78552e; }

.consent-switch { display: inline-flex; align-items: center; gap: .5rem; }
.consent-switch input { width: 1.3rem; height: 1.3rem; accent-color: #1f4e79; }

.consent-dialog .consent-actions { margin-top: 1rem; }
.consent-dialog .btn-save {
  background: #1f4e79;
  color: #fff;
  border: 2px solid #1f4e79;
  padding: .7rem 1.2rem;
  border-radius: 6px;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  min-height: 44px;
}
.consent-dialog .btn-save:hover { background: #163a5b; }
.consent-dialog .btn-accept,
.consent-dialog .btn-reject {
  background: #e9dfc9;
  color: #231d12;
  border: 2px solid #78552e;
}
.consent-dialog .btn-accept:hover,
.consent-dialog .btn-reject:hover { background: #e3b23c; border-color: #78552e; }
