/* Desktop: a quiet full-width consent band inspired by familiar shop UI. */
.magnetika-consent [hidden] {
  display: none !important;
}

.magnetika-consent {
  inset: auto 0 0;
  width: 100%;
  padding: 0;
  background: linear-gradient(115deg, #65182d, #8e2943);
  box-shadow: 0 -12px 40px rgba(35, 20, 17, .18);
  pointer-events: auto;
}

.magnetika-consent__panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 230px;
  grid-template-areas:
    "intro actions"
    "lead actions"
    "legal actions";
  column-gap: 64px;
  width: min(1240px, calc(100% - 48px));
  max-height: calc(100vh - 28px);
  margin: 0 auto;
  padding: 22px 0 18px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #fff;
  box-shadow: none;
  pointer-events: auto;
}

.magnetika-consent__close {
  display: none;
}

.magnetika-consent__intro {
  grid-area: intro;
  align-self: end;
  gap: 12px;
  padding: 0;
}

.magnetika-consent__mark {
  display: none;
}

.magnetika-consent__eyebrow {
  color: #f2c8d2;
  font-size: .64rem;
}

.magnetika-consent h2 {
  color: #fff;
  font: 600 clamp(1.35rem, 2vw, 1.8rem)/1.1 var(--font-display, Georgia, serif);
  letter-spacing: -.02em;
}

.magnetika-consent__lead {
  grid-area: lead;
  max-width: 760px;
  margin: 9px 0 0;
  color: rgba(255, 255, 255, .86);
  font-size: .82rem;
  line-height: 1.55;
}

.magnetika-consent__copy-mobile {
  display: none;
}

.magnetika-consent__actions {
  grid-area: actions;
  display: grid;
  align-content: center;
  justify-self: end;
  width: 230px;
  gap: 8px;
}

.magnetika-consent__actions button,
.magnetika-consent__actions .magnetika-consent__secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 9px;
  font-size: .78rem;
  font-weight: 850;
  text-decoration: none;
  cursor: pointer;
}

.magnetika-consent__primary {
  border-color: #fff;
  background: #fff;
  color: #6f1c32;
}

.magnetika-consent__secondary {
  border-color: rgba(255, 255, 255, .45);
  background: transparent;
  color: #fff;
}

.magnetika-consent__link {
  min-height: 28px !important;
  color: #fff;
}

.magnetika-consent__choice {
  min-height: 64px;
  padding: 10px 12px;
  border-color: rgba(255, 255, 255, .18);
  border-radius: 10px;
  background: rgba(255, 255, 255, .1);
  color: #fff;
}

.magnetika-consent__choice small {
  color: rgba(255, 255, 255, .72);
  font-size: .65rem;
}

.magnetika-consent__always {
  color: #ffdbe3;
  font-size: .62rem;
}

.magnetika-consent__choice i {
  background: rgba(255, 255, 255, .35);
}

.magnetika-consent__choice input:checked + i {
  background: #fff;
}

.magnetika-consent__choice input:checked + i:after {
  background: #7b1f35;
}

.magnetika-consent__legal {
  grid-area: legal;
  margin: 10px 0 0;
  color: rgba(255, 255, 255, .65);
  font-size: .62rem;
}

.site-footer .magnetika-consent-manage {
  position: static;
  display: inline;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  box-shadow: none;
  font: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
  backdrop-filter: none;
}

.magnetika-consent-open {
  overflow: auto;
}

.cookie-settings-page {
  padding: 90px 0;
  background: #fbf7f1;
}

.cookie-settings-page__container {
  max-width: 900px;
}

.cookie-settings-page__header {
  max-width: 760px;
  margin-bottom: 36px;
}

.cookie-settings-page__header h1 {
  margin: 8px 0 16px;
  font: 600 clamp(2.5rem, 6vw, 4.6rem)/.95 var(--font-display, Georgia, serif);
  letter-spacing: -.045em;
}

.cookie-settings-page__header p,
.cookie-settings-page__option p,
.cookie-settings-page__note {
  color: #6f615d;
  line-height: 1.65;
}

.cookie-settings-page__options {
  display: grid;
  gap: 12px;
}

.cookie-settings-page__option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 24px 26px;
  border: 1px solid #e4d8d0;
  border-radius: 16px;
  background: #fff;
}

.cookie-settings-page__option h2 {
  margin: 0 0 6px;
  font-size: 1.05rem;
}

.cookie-settings-page__option p {
  max-width: 680px;
  margin: 0;
  font-size: .82rem;
}

.cookie-settings-page__option > span {
  flex: none;
  color: #7b1f35;
  font-size: .72rem;
  font-weight: 850;
}

.cookie-settings-page__option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.cookie-settings-page__option i {
  position: relative;
  flex: 0 0 52px;
  width: 52px;
  height: 30px;
  border-radius: 999px;
  background: #cfc4be;
  transition: .2s;
}

.cookie-settings-page__option i:after {
  content: "";
  position: absolute;
  left: 4px;
  top: 4px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
  transition: .2s;
}

.cookie-settings-page__option input:checked + i {
  background: #7b1f35;
}

.cookie-settings-page__option input:checked + i:after {
  transform: translateX(22px);
}

.cookie-settings-page__option input:focus-visible + i {
  outline: 3px solid rgba(123, 31, 53, .25);
  outline-offset: 3px;
}

.cookie-settings-page__actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 24px;
  flex-wrap: wrap;
}

.cookie-settings-page__actions button {
  min-height: 46px;
  padding: 0 20px;
  border-radius: 999px;
  font-weight: 800;
  cursor: pointer;
}

.cookie-settings-page__actions .button--secondary {
  border: 1px solid #d8c9c1;
  background: #fff;
  color: #3f3330;
}

.cookie-settings-page__actions .button-link {
  border: 0;
  background: transparent;
  color: #7b1f35;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.cookie-settings-page__note {
  margin: 20px 0 0;
  font-size: .72rem;
}

@media (max-width: 700px) {
  .magnetika-consent {
    padding: 10px;
    background: transparent;
    box-shadow: none;
    pointer-events: none;
  }

  .magnetika-consent__panel {
    display: block;
    width: 100%;
    max-height: calc(100vh - 20px);
    padding: 19px 16px 16px;
    border: 1px solid rgba(123, 31, 53, .16);
    border-radius: 18px;
    background: #fffaf5;
    color: #2e2523;
    box-shadow: 0 20px 60px rgba(35, 20, 17, .28);
  }

  .magnetika-consent__actions {
    width: auto;
    justify-self: stretch;
  }

  .magnetika-consent__close {
    display: block;
    top: 11px;
    right: 11px;
    width: 34px;
    height: 34px;
    font-size: 20px;
  }

  .magnetika-consent__eyebrow,
  .magnetika-consent__link {
    color: #7b1f35;
  }

  .magnetika-consent h2,
  .magnetika-consent__secondary {
    color: #2e2523;
  }

  .magnetika-consent h2 {
    max-width: calc(100% - 42px);
    font-size: clamp(1.02rem, 4.6vw, 1.14rem);
    line-height: 1.1;
    letter-spacing: -.015em;
    white-space: nowrap;
  }

  .magnetika-consent__eyebrow {
    margin-bottom: 5px;
    font-size: .6rem;
  }

  .magnetika-consent__lead {
    margin-top: 11px;
    color: #62534f;
    font-size: .79rem;
    line-height: 1.48;
  }

  .magnetika-consent__copy-desktop {
    display: none;
  }

  .magnetika-consent__copy-mobile {
    display: inline;
  }

  .magnetika-consent__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px;
    margin-top: 14px;
  }

  .magnetika-consent__actions .magnetika-consent__primary {
    grid-column: 1 / -1;
  }

  .magnetika-consent__actions button,
  .magnetika-consent__actions .magnetika-consent__secondary {
    min-height: 42px;
    padding: 0 10px;
    font-size: .74rem;
  }

  .magnetika-consent__actions .magnetika-consent__link {
    grid-column: auto;
    min-height: 42px !important;
  }

  .magnetika-consent__primary {
    border-color: #7b1f35;
    background: #7b1f35;
    color: #fff;
  }

  .magnetika-consent__secondary {
    border-color: #d8c9c1;
    background: #fff;
  }

  .magnetika-consent__settings {
    grid-template-columns: 1fr;
    margin-top: 15px;
  }

  .magnetika-consent__choice {
    background: #fff;
    color: #2e2523;
  }

  .magnetika-consent__choice small {
    color: #776965;
  }

  .magnetika-consent__always {
    color: #7b1f35;
  }

  .magnetika-consent__legal {
    margin-top: 10px;
    color: #847570;
    font-size: .6rem;
    line-height: 1.4;
  }

  .cookie-settings-page {
    padding: 65px 0;
  }

  .cookie-settings-page__option {
    padding: 19px 17px;
    gap: 16px;
  }

  .cookie-settings-page__option > span {
    max-width: 90px;
    text-align: right;
  }

  .cookie-settings-page__actions {
    display: grid;
  }
}
