 .impressum-card{
  max-width: 760px;
  padding: 1rem;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
}

 .impressum-header{
  display: flex;
  gap: 1rem;
  align-items: center;
}

 .impressum-logo{
  width: 90px;
  height: auto;
  border-radius: 12px;
}

 .muted{ opacity: .75; }

/* =========================
   ACTION BUTTONS (2 Spalten Desktop, 1 Spalte Mobile)
   ========================= */
 .impressum-actions{
  max-width: 760px;
  margin-top: 1rem;

  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}

@media (max-width: 640px){
   .impressum-actions{
    grid-template-columns: 1fr;
  }
}

 .action-btn{
  width: 100%;
  min-height: 54px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  padding: .9rem 1.1rem;
  border-radius: 14px;

  background: linear-gradient(135deg,
    rgba(124,92,255,.15),
    rgba(61,214,208,.10)
  );
  border: 1px solid rgba(255,255,255,.15);

  color: inherit;
  font-size: 1rem;
  font-weight: 600;

  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}

 .action-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
}

 .action-btn:active{
  transform: translateY(0);
}

 .action-btn:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px rgba(124,92,255,.35), 0 10px 30px rgba(0,0,0,.35);
}

/* Chevron */
 .action-btn .chevron{
  width: 10px;
  height: 10px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform .25s ease, opacity .25s ease;
  opacity: .7;
}

/* Open state */
 .action-btn[aria-expanded="true"]{
	background: linear-gradient(135deg,
    rgba(124,92,255,.35),
    rgba(61,214,208,.25)
	);
	border-color: rgba(124,92,255,.6);
}

 .action-btn[aria-expanded="true"] .chevron{
	transform: rotate(-135deg);
	opacity: 1;
}

/* Optional: Datenschutz leicht „warnender“ */
 .datenschutz-button{
	background: linear-gradient(135deg,
    rgba(255,180,0,.18),
    rgba(255,120,0,.10)
	);
	border-color: rgba(255,180,0,.35);
}

 .datenschutz-button[aria-expanded="true"]{
	background: linear-gradient(135deg,
    rgba(255,180,0,.28),
    rgba(255,120,0,.18)
	);
	border-color: rgba(255,180,0,.55);
}

.slide-panel{
	max-width: 760px;
	margin-top: 0;
	padding: 0;
	border-radius: 16px;
	border: 1px solid rgba(255,255,255,.12);
	background: rgba(255,255,255,.04);
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(-6px);
	transition:
    max-height .45s ease,
    opacity .25s ease,
    transform .25s ease,
    visibility 0s linear .25s;
}

.slide-panel.is-open{
	margin-top: 1rem;
	padding: 1rem;
	padding-top: 0;
	max-height: 5000px;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
	transition:
    max-height .45s ease,
    opacity .25s ease,
    transform .25s ease,
    visibility 0s;
}


/* =========================
   FORM ELEMENTS
   ========================= */
 form label{
  display: block;
  margin: .75rem 0 .35rem;
}

 form input,form textarea{
  width: 100%;
  padding: .75rem;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.25);
  color: inherit;
}
form textarea{ resize: vertical; }

 .row{
  display: flex;
  gap: .5rem;
}
 .row input:first-child{ flex: 1; }
/* link-like button */
 .linklike{
  background: none;
  border: 0;
  padding: 0;
  color: inherit;
  text-decoration: underline;
  cursor: pointer;
}

.anrede-group{
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
}

/* Radios verstecken */
.anrede-group input[type="radio"]{
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* Labels = Buttons */
.anrede-group label{
  padding: .5rem .9rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.25);
  background: rgba(0,0,0,.25);
  cursor: pointer;
  font-weight: 500;
  transition: all .2s ease;
}

/* Hover */
.anrede-group label:hover{
  border-color: rgba(124,92,255,.6);
}

/* Aktiv (checked Radio) */
.anrede-group input[type="radio"]:checked + label{
  border-color: rgba(124,92,255,.8);
  background: rgba(124,92,255,.25);
  box-shadow: 0 0 0 3px rgba(124,92,255,.25);
}

/* Tastatur-Fokus */
.anrede-group input[type="radio"]:focus-visible + label{
  outline: none;
  box-shadow: 0 0 0 3px rgba(124,92,255,.45);
}
.anrede-group label{
  -webkit-tap-highlight-color: transparent;
}
.checkbox-consent{
  display: flex;
  align-items: center; /* 🔥 DAS ist der Fix */
  gap: .6rem;
  cursor: pointer;
  user-select: none;
  margin-top: .75rem;
}

/* echtes Checkbox-Input verstecken */
.checkbox-consent input{
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* visuelle Checkbox */
.checkbox-consent .checkmark{
  width: 20px;
  height: 20px;
  margin-top: 0; 
  flex-shrink: 0;

  border-radius: 6px;
  border: 1.5px solid rgba(255,255,255,.35);
  background: rgba(0,0,0,.25);

  display: grid;
  place-items: center;

  transition: all .2s ease;
}

/* Haken */
.checkbox-consent .checkmark::after{
  content: "";
  width: 6px;
  height: 10px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg) scale(0);
  transition: transform .15s ease;
}

/* Hover */
.checkbox-consent:hover .checkmark{
  border-color: rgba(124,92,255,.6);
}

/* Checked */
.checkbox-consent input:checked + .checkmark{
  background: rgba(124,92,255,.35);
  border-color: rgba(124,92,255,.9);
}

.checkbox-consent input:checked + .checkmark::after{
  transform: rotate(45deg) scale(1);
}

/* Fokus (Tastatur) */
.checkbox-consent input:focus-visible + .checkmark{
  box-shadow: 0 0 0 3px rgba(124,92,255,.45);
}

/* Text */
.checkbox-text{
  font-size: .9rem;
  line-height: 1.3; 
}

.checkbox-text a{
  text-decoration: underline;
  cursor: pointer;
}
.form-alert{
  margin: 12px 0 16px;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,.14);
  border-left-width: 4px;
  border-radius: 14px;
  background: rgba(255,255,255,.06);
  background: linear-gradient(
    180deg,
    rgba(255,90,90,.18),
    rgba(255,90,90,.06)
  );
}

.field-error{
  display:block;
  margin-top:6px;
  font-size:.92rem;
  opacity:.95;
  color: rgba(255,90,90,.55);
}

input[aria-invalid="true"],
textarea[aria-invalid="true"]{
  outline: none;
  border-color: rgba(255,90,90,.25);
  box-shadow: 0 0 0 1px rgba(255,90,90,.25);
}
.form-success{
  margin: 14px 0 18px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(120,255,160,.35);
  background: linear-gradient(
    180deg,
    rgba(120,255,160,.18),
    rgba(120,255,160,.06)
  );
  box-shadow: 0 0 0 3px rgba(120,255,160,.15);
}
button.is-loading{
  opacity: .7;
  cursor: not-allowed;
}

.primary{
  --bg: rgba(255,255,255,.18);
  --bg-hover: rgba(255,255,255,.26);
  --icon:#ffffff;

  position:relative;
  display:flex;
  align-items:center;
  justify-content:flex-start;

  gap:14px;
  padding:5px 28px 5px 24px;
  width:100%;
  margin-top: 8px;
  border-radius:22px;
  border:0;
  background:linear-gradient(180deg, var(--bg), rgba(255,255,255,.12));
  color:#fff;

  font-size:16px;
  font-weight:600;
  letter-spacing:.2px;

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  cursor:pointer;
  transition:background .2s ease, transform .15s ease;
}

/* ICON CONTAINER */
.primary::before{
  content:"";
  width:22px;
  height:22px;
  position:relative;
  display:block;
}

/* FLIEGER */
.primary::after{
  content:"";
  position:absolute;
  left:26px;
  top:50%;
  width:0;
  height:0;

  border-top:6px solid transparent;
  border-bottom:6px solid transparent;
  border-left:12px solid var(--icon);

  transform:translateY(-50%) rotate(-18deg);
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.35));
}

/* kleiner Schweif */
.primary span::before{
  content:"";
  position:absolute;
  left:22px;
  top:50%;
  width:10px;
  height:2px;
  background:var(--icon);
  opacity:.6;
  transform:translateY(-50%) rotate(-18deg);
}

/* Hover */
.primary:hover{
  border-color: rgba(124,92,255,.8);
  background: rgba(124,92,255,.25);
  box-shadow: 0 0 0 3px rgba(124,92,255,.25);
  transform:translateY(-1px);
}

/* Active */
.primary:active{
  transform:translateY(0);
  
}