/* First-party cookie controls for Shanti's recovered Wix Studio design. */
.shanti-consent,
.shanti-consent * {
  box-sizing: border-box;
}

.shanti-consent {
  position: fixed;
  z-index: 2147482000;
  bottom: 16px;
  left: 16px;
  right: 16px;
  max-width: 820px;
  color: #493046;
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.45;
}

.shanti-consent [hidden] { display: none !important; }

.shanti-consent__panel {
  position: relative;
  padding: 24px 28px 20px;
  border: 1px solid #d8acbf;
  border-radius: 18px;
  background: #fff7fa;
  box-shadow: 0 10px 48px rgb(73 48 70 / 19%);
  max-height: min(80vh, 720px);
  overflow-y: auto;
}

.shanti-consent__header { padding-right: 38px; }

.shanti-consent__close {
  position: absolute;
  top: 8px;
  right: 12px;
  width: 44px;
  min-height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #493046;
  font: 29px/1 Arial, Helvetica, sans-serif;
  cursor: pointer;
}

.shanti-consent__eyebrow {
  margin: 0 0 2px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
}

.shanti-consent h2 {
  margin: 0 0 9px;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 400;
  font-size: 29px;
  line-height: 1.2;
}

.shanti-consent__description {
  margin: 0 0 17px;
  font-size: 16px;
}

.shanti-consent a {
  color: #493046;
  text-underline-offset: 3px;
}

.shanti-consent__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.shanti-consent__button,
.shanti-consent__revisit {
  min-height: 44px;
  padding: 9px 17px;
  font: 600 15px/1.25 Arial, Helvetica, sans-serif;
  cursor: pointer;
  border-radius: 999px;
}

.shanti-consent__button--outline {
  border: 1px solid #9a6681;
  background: transparent;
  color: #493046;
}

.shanti-consent__button--primary {
  border: 1px solid #493046;
  background: #493046;
  color: #fff;
}

.shanti-consent__button:hover:not(:disabled),
.shanti-consent__revisit:hover:not(:disabled) {
  filter: brightness(.93);
}

.shanti-consent button:focus-visible,
.shanti-consent a:focus-visible,
.shanti-consent input:focus-visible {
  outline: 3px solid #794d70;
  outline-offset: 3px;
}

.shanti-consent button:disabled { opacity: .65; cursor: wait; }

.shanti-consent__custom {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid #e6c9d7;
}

.shanti-consent__essential {
  margin: 0 0 12px;
  font-size: 14px;
}

.shanti-consent__custom label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 8px 0;
  font-size: 16px;
  cursor: pointer;
}

.shanti-consent__custom input[type="checkbox"] {
  flex-shrink: 0;
  width: 19px;
  height: 19px;
  margin: 3px 0 0;
  accent-color: #493046;
}

.shanti-consent__custom span { display: flex; flex-direction: column; }

.shanti-consent__custom small {
  font-size: 14px;
  color: #5c4858;
}

.shanti-consent__custom .shanti-consent__actions { margin-top: 12px; }

.shanti-consent__status {
  margin: 9px 0 0;
  min-height: 0;
  font-size: 14px;
  font-weight: 600;
}

.shanti-consent__status:empty { display: none; }

.shanti-consent__revisit {
  border: 1px solid #bd8fa5;
  background: #fff7fa;
  color: #493046;
  box-shadow: 0 3px 18px rgb(73 48 70 / 13%);
}

@media (max-width: 600px) {
  .shanti-consent { left: 10px; right: 10px; bottom: 10px; max-width: none; }
  .shanti-consent__panel { padding: 17px 18px 15px; max-height: 83vh; }
  .shanti-consent h2 { font-size: 26px; }
  .shanti-consent__description { font-size: 15px; }
  .shanti-consent__actions { gap: 8px; }
  .shanti-consent__button { flex: 1 1 135px; padding: 10px 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .shanti-consent *, .shanti-consent *::before, .shanti-consent *::after {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
