/* Psyvita theme overrides for the locally hosted Klaro consent interface. */
#klaro {
  --font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-size: 15px;
  --dark1: #4c4d68;
  --dark2: #3f4058;
  --dark3: #64646e;
  --light1: #ffffff;
  --light2: #ddd8e4;
  --light3: #eee7f4;
  --green1: #1e7e52;
  --green2: #176843;
  --green3: #8dc8a4;
  --blue1: #6750a4;
  --blue2: #6750a4;
  --button-text-color: #ffffff;
  --border-radius: 18px;
  --notice-max-width: 430px;
  --notice-right: 24px;
  --notice-bottom: 24px;
}

#klaro .cookie-notice:not(.cookie-modal-notice),
#klaro .cookie-modal .cm-modal.cm-klaro {
  background: var(--menu-surface);
  border: 0;
  color: var(--ink);
  box-shadow: var(--shadow-pop);
}

#klaro .cookie-modal .cm-bg {
  background: rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

#klaro .cookie-notice p,
#klaro .cookie-notice strong,
#klaro .cookie-notice h1,
#klaro .cookie-notice h2,
#klaro .cookie-modal p,
#klaro .cookie-modal strong,
#klaro .cookie-modal h1,
#klaro .cookie-modal h2,
#klaro .cookie-modal li {
  color: #1c1d22;
}

#klaro .cookie-modal .cm-list-description,
#klaro .cookie-modal p.purposes {
  color: var(--muted);
}

#klaro .cookie-modal .cm-modal .cm-body li.cm-toggle-all {
  border-color: var(--border);
}

#klaro .cookie-modal .cm-modal .cm-header {
  border-bottom: 0;
  padding: 20px 28px 10px;
}

#klaro .cookie-modal .cm-modal .cm-footer {
  background: var(--menu-surface);
  border-color: var(--border);
  padding: 12px 28px 18px;
}

#klaro .cookie-modal .cm-modal .hide svg {
  stroke: #4c4d68;
}

#klaro .cookie-notice:not(.cookie-modal-notice) .cn-body {
  padding: 20px;
}

#klaro .cookie-notice:not(.cookie-modal-notice) .cn-body h2,
#klaro .cookie-notice h2 {
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 6px;
  line-height: 1.3;
  color: #1c1d22;
}

#klaro .cookie-notice:not(.cookie-modal-notice) .cn-body p {
  line-height: 1.5;
  margin: 0;
}

#klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-ok {
  align-items: stretch;
  flex-direction: column;
  margin-top: 16px;
}

#klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-buttons {
  display: flex;
  gap: 10px;
  margin: 0;
  order: 1;
}

#klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-learn-more,
#klaro a.cm-link {
  color: #1e7e52;
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 3px;
}

#klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-learn-more:hover,
#klaro a.cm-link:hover {
  color: #176843;
}

#klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-learn-more {
  margin-top: 12px;
  order: 2;
  text-align: center;
  width: 100%;
}

#klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-buttons .cm-btn {
  flex: 1;
  margin: 0;
}

#klaro .cm-btn {
  box-sizing: border-box;
  border-radius: 999px !important;
  font-weight: 700;
  line-height: 1.2;
  min-height: 44px;
  padding: 6px 14px !important;
}

#klaro .cm-btn:not(.cm-btn-success):not(.cm-btn-success-var):not(.cm-btn-info) {
  background: var(--lav);
  color: var(--lav-text);
}

#klaro .cm-btn.cm-btn-success,
#klaro .cm-btn.cm-btn-success-var {
  background: #1e7e52;
  color: #ffffff;
}

#klaro .cm-btn.cm-btn-success:hover,
#klaro .cm-btn.cm-btn-success-var:hover {
  background: #176843;
}

#klaro .cm-btn.cm-btn-info {
  background: #6750a4;
  color: #ffffff;
}

#klaro .cm-btn:focus-visible,
#klaro a:focus-visible,
.footer-cookie-settings:focus-visible {
  outline: 3px solid #8dc8a4;
  outline-offset: 3px;
}

#klaro .cookie-modal .cm-modal .cm-header h1 {
  font-size: 22px;
  font-weight: 600;
}

#klaro .cookie-modal .cm-modal.cm-klaro {
  border-radius: 24px;
  max-height: calc(100vh - 48px);
  max-width: 660px;
}

#klaro .cookie-modal .cm-modal .cm-body {
  padding: 0 28px 8px;
}

#klaro .cookie-modal .cm-modal .hide {
  align-items: center;
  border-radius: 50%;
  display: inline-flex;
  height: 36px;
  justify-content: center;
  right: 24px;
  top: 14px;
  width: 36px;
}

#klaro .cookie-modal .cm-modal .hide:hover {
  background: var(--lav);
}

#klaro .cookie-modal .cm-list-input:checked + .cm-list-label .slider {
  background-color: var(--menu-primary);
}

.footer-cookie-settings {
  color: inherit;
  font-size: inherit;
  line-height: inherit;
  opacity: 0.85;
  text-align: left;
}

.footer-cookie-settings:hover {
  opacity: 1;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 820px) {
  #klaro {
    --border-radius: 0;
  }

  #klaro .cookie-modal .cm-modal.cm-klaro {
    border-radius: 28px 28px 0 0;
    bottom: 0;
    left: 0;
    margin: 0;
    max-height: 85vh;
    max-width: 100%;
    position: fixed;
    top: auto;
    transform: none;
    width: 100%;
  }

  #klaro .cookie-modal .cm-modal .cm-header {
    padding: 11px 18px 7px;
  }

  #klaro .cookie-modal .cm-modal .cm-header h1 {
    font-size: 17px;
  }

  #klaro .cookie-modal .cm-modal .cm-body {
    padding: 8px 18px 6px;
  }

  #klaro .cookie-modal .cm-modal .cm-footer {
    padding: 8px 18px 12px;
  }

  #klaro .cookie-modal .cm-modal .hide {
    height: 34px;
    right: 14px;
    top: 5px;
    width: 34px;
  }

  #klaro .cookie-notice:not(.cookie-modal-notice) .cn-body {
    padding: 18px;
  }

  #klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-buttons {
    width: 100%;
  }
}
