/* ---------------------- */
/* SweetAlert Light-Dark Theme */
/* ---------------------- */

:root {
  --swal2-popup-bg: #0a0d13;
  --swal2-title-bg: #0a0d13;
  --swal2-color: #e5e5e5;
  --swal2-border: 1px solid #080b10;
  --swal2-border-radius: 10px;
  --swal2-shadow: 0 10px 25px rgba(0,0,0,0.5);
  --swal2-btn-padding: 0.75em 0;
  --swal2-btn-radius: 8px;
  --swal2-btn-font-weight: 600;
  --swal2-confirm-bg: #5c78d1;
  --swal2-confirm-hover: #3f5cbf;
  --swal2-deny-bg: #d16b6b;
  --swal2-deny-hover: #bf4f4f;
  --swal2-cancel-bg: #8a8f97;
  --swal2-cancel-hover: #6e7379;
  --swal2-backdrop: rgba(0, 0, 0, 0.8);
}

/* Popup */
.swal2-popup {
	background-color: var(--swal2-popup-bg);
	color: var(--swal2-color);
	border: 1px solid #000000;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: rgb(8, 11, 16);
	border-top: 3px solid #ebb43d;
	
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: rgb(8, 11, 16);
	border-bottom: 3px solid #ebb43d;
	
	border-radius: 5px 5px 0 0;
	border-radius: var(--swal2-border-radius);
	font-family: 'Segoe UI', sans-serif;
	box-shadow: var(--swal2-shadow);
	text-align: center;
}

/* Titel / Headline */
.swal2-title {
	align-items: center;
	font-size: 20px;
	color: #FAD73C;
	border: 0;
	margin-bottom: 10px;
	padding: 5px 10px;
	background-color: var(--swal2-title-bg);
}

/* Content / Text */
.swal2-html-container {
  font-size: 1.125em;
  color: #dcdcdc;
  margin-bottom: 1em;
}

/* Footer */
.swal2-footer {
  margin-top: 1em;
  padding-top: 1em;
  font-size: 0.9em;
  color: #c0c0c0;
  text-align: center;
}

/* Inputs */
.swal2-input,
.swal2-file,
.swal2-textarea,
.swal2-select {
  width: 100%;
  background-color: #3a3a4a;
  border: 1px solid #555;
  border-radius: 6px;
  color: #e5e5e5;
  padding: 0.5em;
  margin: 0.5em 0;
  font-size: 1.1em;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.swal2-input:focus,
.swal2-textarea:focus,
.swal2-select:focus {
  outline: none;
  border-color: var(--swal2-confirm-bg);
  box-shadow: 0 0 0 3px rgba(95,115,240,0.2);
}

/* Validation message */
.swal2-validation-message {
  background: #3a3a4a;
  color: #ff6b6b;
  font-size: 1em;
  font-weight: 500;
  padding: 0.5em 1em;
  margin-top: 0.5em;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.swal2-validation-message::before {
  content: "!";
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  margin-right: 0.5em;
  border-radius: 50%;
  background-color: #ff6b6b;
  color: #fff;
  text-align: center;
  line-height: 1.5em;
  font-weight: 600;
}

/* Buttons */
.swal2-actions {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 1em auto 0; /* zentriert horizontal */
  width: 80%; /* Breite der Button-Gruppe */
  align-items: center; /* Buttons mittig in der Spalte */
}

.swal2-actions .swal2-styled {
  width: 100%;
  padding: var(--swal2-btn-padding);
  border-radius: var(--swal2-btn-radius);
  font-weight: var(--swal2-btn-font-weight);
  border: none;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.1s ease;
  display: block;
}

/* Confirm Button */
.swal2-actions .swal2-confirm {
  background-color: var(--swal2-confirm-bg);
  color: #fff;
}
.swal2-actions .swal2-confirm:hover {
  background-color: var(--swal2-confirm-hover);
  transform: translateY(-1px);
}

/* Deny Button */
.swal2-actions .swal2-deny {
  background-color: var(--swal2-deny-bg);
  color: #fff;
}
.swal2-actions .swal2-deny:hover {
  background-color: var(--swal2-deny-hover);
  transform: translateY(-1px);
}

/* Cancel Button */
.swal2-actions .swal2-cancel {
  background-color: var(--swal2-cancel-bg);
  color: #fff;
}
.swal2-actions .swal2-cancel:hover {
  background-color: var(--swal2-cancel-hover);
  transform: translateY(-1px);
}

/* Icons */
.swal2-icon {
  width: 5em;
  height: 5em;
  margin: 2em auto 1em;
  border-radius: 50%;
}

.swal2-icon.swal2-success { border-color: #a5dc86; color: #a5dc86; }
.swal2-icon.swal2-error { border-color: #ff6b6b; color: #ff6b6b; }
.swal2-icon.swal2-warning { border-color: #f8bb86; color: #f8bb86; }
.swal2-icon.swal2-info { border-color: #3fc3ee; color: #3fc3ee; }
.swal2-icon.swal2-question { border-color: #87adbd; color: #87adbd; }

/* Timer progress bar */
.swal2-timer-progress-bar {
  background: rgba(255,255,255,0.6);
  height: 5px;
  border-radius: 3px;
}

/* Close Button */
.swal2-close {
  color: #ccc;
  font-size: 2em;
  position: absolute;
  top: 0.25em;
  right: 0.25em;
  cursor: pointer;
  transition: color 0.2s ease;
}
.swal2-close:hover {
  color: #fff;
}