/* Lustivo Consent Manager */

html.lcm-modal-open,
body.lcm-modal-open {
  overflow: hidden;
}


.lcm-age-verification,
.lcm-cookie-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--lcm-overlay-bg, rgba(0, 0, 0, 0.8));
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.lcm-age-verification {
  z-index: 100001;
  display: flex;
}

.lcm-cookie-modal {
  z-index: 100000;
  display: none;
}

.lcm-age-content,
.lcm-cookie-content,
.lcm-cookie-privacy-content,
.lcm-cookie-impressum-content {
  background: var(--lcm-box-bg, #313539);
  color: var(--lcm-text-color, #f0f0f0);
  padding: 30px;
  width: min(100%, 600px);
  border-radius: var(--lcm-radius, 12px);
  text-align: center;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
  font-family: inherit;
}

.lcm-age-content {
  max-width: 500px;
}

.lcm-cookie-privacy-content,
.lcm-cookie-impressum-content {
  text-align: left;
  overflow-y: auto;
  max-height: 80vh;
}

.lcm-age-content h2,
.lcm-cookie-content h2,
.lcm-cookie-privacy-content h2,
.lcm-cookie-impressum-content h2,
.lcm-cookie-content h5,
.lcm-cookie-privacy-content h5,
.lcm-cookie-impressum-content h5 {
  font-size: 24px;
  font-weight: 700;
  color: var(--lcm-heading-color, #f0f0f0);
  margin: 0 0 15px;
  line-height: 1.25;
}

.lcm-cookie-content h3,
.lcm-cookie-privacy-content h3,
.lcm-cookie-impressum-content h3 {
  color: var(--lcm-heading-color, #f0f0f0);
  margin: 22px 0 12px;
}

.lcm-age-content p,
.lcm-cookie-content p,
.lcm-cookie-privacy-content p,
.lcm-cookie-impressum-content p,
.lcm-cookie-privacy-content li,
.lcm-cookie-impressum-content li {
  font-size: 16px;
  color: var(--lcm-text-color, #f0f0f0);
  margin: 0 0 20px;
  line-height: 1.65;
}

.lcm-cookie-privacy-content a,
.lcm-cookie-impressum-content a,
.lcm-footer-links a,
.lcm-cookie-settings-link,
.lcm-details-link {
  color: var(--lcm-link-color, #f0f0f0);
  text-decoration: underline;
}

.lcm-cookie-privacy-content a:hover,
.lcm-cookie-impressum-content a:hover,
.lcm-footer-links a:hover,
.lcm-cookie-settings-link:hover,
.lcm-details-link:hover {
  color: var(--lcm-link-hover-color, #ffffff);
}

.lcm-cookie-options {
  display: flex;
  justify-content: space-around;
  gap: 16px;
  margin: 20px 0;
}

.lcm-cookie-option {
  position: relative;
  font-size: 16px;
  color: var(--lcm-text-color, #f0f0f0);
  font-weight: 500;
}

.lcm-cookie-option label {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

.lcm-cookie-option input[type="checkbox"] {
  opacity: 0;
  width: 0;
  height: 0;
  position: absolute;
}

.lcm-cookie-option .lcm-slider {
  position: relative;
  display: inline-block;
  width: 50px;
  height: 25px;
  background-color: var(--lcm-switch-off, #666);
  border-radius: 25px;
  transition: background-color 0.3s;
  cursor: pointer;
  flex: 0 0 auto;
}

.lcm-cookie-option .lcm-slider:before {
  content: "";
  position: absolute;
  width: 21px;
  height: 21px;
  background-color: var(--lcm-button-text, #f0f0f0);
  border-radius: 50%;
  left: 2px;
  top: 2px;
  transition: transform 0.3s;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.lcm-cookie-option input:checked + .lcm-slider {
  background-color: var(--lcm-switch-on, #4CAF50);
}

.lcm-cookie-option input:checked + .lcm-slider:before {
  transform: translateX(24px);
}

.lcm-details-link {
  font-size: 14px;
  display: inline-block;
  margin-top: 10px;
  text-decoration: none;
}

.lcm-details-link:hover {
  text-decoration: underline;
}

.lcm-age-button-group,
.lcm-button-group {
  margin-top: 25px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
}

.lcm-age-button-group {
  flex-direction: row;
  justify-content: center;
  gap: 15px;
}

.lcm-btn {
  width: 100%;
  padding: 12px 20px;
  font-size: 16px;
  border-radius: var(--lcm-btn-radius, 8px);
  cursor: pointer;
  font-weight: 700;
  border: none;
  background-color: var(--lcm-button-bg, #1c1e21);
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
  color: var(--lcm-button-text, #f0f0f0);
  text-align: center;
}

.lcm-age-content .lcm-btn {
  width: auto;
}

.lcm-accept-btn {
  background-color: var(--lcm-accept-bg, #4CAF50);
}

.lcm-accept-btn:hover {
  background-color: var(--lcm-accept-hover, #3d8e40);
  box-shadow: 0 0 10px rgba(76, 175, 80, 0.5);
}

.lcm-select-btn:hover,
.lcm-decline-btn:hover,
.lcm-btn:hover {
  box-shadow: 0 0 1em rgba(0, 0, 0, 0.3);
}

.lcm-age-content .lcm-decline-btn {
  background-color: var(--lcm-decline-bg, #a83232);
}

.lcm-age-content .lcm-decline-btn:hover {
  background-color: var(--lcm-decline-hover, #922929);
  box-shadow: 0 0 10px rgba(168, 50, 50, 0.5);
}

.lcm-footer-text {
  font-size: 12px !important;
  color: var(--lcm-muted-color, #bbb) !important;
  margin: 20px 0 0 !important;
}

.lcm-footer-links {
  font-size: 12px;
  color: var(--lcm-muted-color, #bbb);
  margin-top: 5px;
}

.lcm-footer-links a {
  color: var(--lcm-muted-color, #bbb);
  text-decoration: none;
}

.lcm-footer-links a:hover {
  color: var(--lcm-link-hover-color, #ddd);
  text-decoration: underline;
}

@media only screen and (max-width: 600px) {
  .lcm-age-content,
  .lcm-cookie-content,
  .lcm-cookie-privacy-content,
  .lcm-cookie-impressum-content {
    max-width: 100%;
    padding: 20px;
  }

  .lcm-age-content h2,
  .lcm-cookie-content h2,
  .lcm-cookie-privacy-content h2,
  .lcm-cookie-impressum-content h2 {
    font-size: 20px;
  }

  .lcm-age-content p,
  .lcm-cookie-content p,
  .lcm-cookie-privacy-content p,
  .lcm-cookie-impressum-content p {
    font-size: 14px;
  }

  .lcm-cookie-options {
    flex-direction: column;
    align-items: stretch;
  }

  .lcm-cookie-option label {
    justify-content: space-between;
  }

  .lcm-age-button-group {
    flex-direction: column;
  }

  .lcm-age-content .lcm-btn,
  .lcm-btn {
    width: 100%;
    font-size: 14px;
    padding: 10px 15px;
  }
}
