/*
Theme Name: NeuroSync Pro
Theme URI: https://hypnoworld.nl/
Author: NeuroSync Pro
Description: Luxury one-page WordPress theme for the NeuroSync Pro Mind Machine.
Version: 1.20.10
Requires at least: 6.8
Tested up to: 7.0
Requires PHP: 8.1
Text Domain: neurosync-pro
*/

/* Keep payment labels readable against their white badge background. */
.neurosync-edition-template .nse-payment-method {
  border-color: rgba(23, 32, 51, .2);
  color: #172033;
  font-size: .76rem;
  font-weight: 850;
  letter-spacing: .01em;
}

.neurosync-edition-template .nse-payment-method span {
  color: #172033;
}

.nscookie {
  position: fixed;
  inset: auto 0 0;
  z-index: 9999;
  padding: 16px;
  color: #eff6ff;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.nscookie[hidden] {
  display: none;
}

.nscookie__panel {
  width: min(1080px, calc(100vw - 32px));
  margin: 0 auto;
  padding: 18px;
  border: 1px solid rgba(190, 210, 235, .22);
  border-radius: 8px;
  background: rgba(8, 13, 24, .96);
  box-shadow: 0 20px 70px rgba(0, 0, 0, .38);
  backdrop-filter: blur(18px);
}

.nscookie__content {
  display: grid;
  grid-template-columns: minmax(210px, .75fr) minmax(260px, 1.25fr) auto;
  gap: 14px 22px;
  align-items: start;
}

.nscookie__eyebrow {
  margin: 0 0 4px;
  color: #6ee7d8;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.nscookie h2,
.nscookie p {
  margin: 0;
}

.nscookie h2 {
  color: #ffffff;
  font-size: clamp(1.05rem, 2vw, 1.28rem);
  line-height: 1.2;
}

.nscookie p,
.nscookie__option span,
.nscookie__option p {
  color: #c6d3e2;
  font-size: .9rem;
  line-height: 1.55;
}

.nscookie__privacy {
  min-width: 170px;
}

.nscookie a {
  color: #85e8dc;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.nscookie__settings {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}

.nscookie__settings[hidden] {
  display: none;
}

.nscookie__option {
  display: flex;
  gap: 12px;
  justify-content: space-between;
  min-height: 118px;
  padding: 14px;
  border: 1px solid rgba(190, 210, 235, .18);
  border-radius: 8px;
  background: rgba(255, 255, 255, .045);
}

.nscookie__option strong {
  display: block;
  margin-bottom: 5px;
  color: #ffffff;
  font-size: .95rem;
}

.nscookie__option input {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  opacity: 0;
}

.nscookie__toggle {
  position: relative;
  flex: 0 0 auto;
  width: 46px;
  height: 26px;
  border: 1px solid rgba(198, 211, 226, .42);
  border-radius: 999px;
  background: rgba(4, 9, 18, .8);
  transition: background-color .18s ease, border-color .18s ease;
}

.nscookie__toggle::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #c6d3e2;
  transition: transform .18s ease, background-color .18s ease;
}

.nscookie__option input:checked + .nscookie__toggle {
  border-color: rgba(110, 231, 216, .88);
  background: rgba(20, 184, 166, .34);
}

.nscookie__option input:checked + .nscookie__toggle::after {
  transform: translateX(20px);
  background: #6ee7d8;
}

.nscookie__option input:focus-visible + .nscookie__toggle,
.nscookie__button:focus-visible {
  outline: 3px solid rgba(110, 231, 216, .7);
  outline-offset: 3px;
}

.nscookie__status {
  align-self: flex-start;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(110, 231, 216, .12);
  color: #9ff3ea;
  font-size: .72rem;
  font-weight: 800;
  white-space: nowrap;
}

.nscookie__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 16px;
}

.nscookie__button {
  min-height: 44px;
  padding: 11px 15px;
  border: 1px solid rgba(198, 211, 226, .34);
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  font-size: .88rem;
  font-weight: 850;
}

.nscookie__button--ghost {
  background: transparent;
  color: #eff6ff;
}

.nscookie__button--secondary {
  background: rgba(255, 255, 255, .08);
  color: #eff6ff;
}

.nscookie__button--primary {
  border-color: rgba(110, 231, 216, .7);
  background: #6ee7d8;
  color: #07111f;
}

@media (max-width: 760px) {
  .nscookie {
    padding: 10px;
  }

  .nscookie__panel {
    width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
    overflow: auto;
    padding: 15px;
  }

  .nscookie__content,
  .nscookie__settings {
    grid-template-columns: 1fr;
  }

  .nscookie__option {
    min-height: 0;
  }

  .nscookie__actions {
    display: grid;
    grid-template-columns: 1fr;
  }
}
