/* Consent checkbox blocks */
.consent-wrapper{
  margin-top: 10px;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 12px;
  padding: 10px 12px;
  background: rgba(12,16,26,0.55);
}

.consent-row{
  display:flex;
  align-items:center;
  gap: 10px;
}

.consent-row input[type="checkbox"]{
  flex: 0 0 auto;
  margin: 0;
  width: 16px;
  height: 16px;
}

.consent-label{
  flex: 1;
  line-height: 1.35;
  color: rgba(255,255,255,0.90);
  font-size: 14px;
}

.consent-wrapper a{
  color: rgba(255,255,255,0.95);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Stacked consent block — two boxes merged into one unified panel */
.consentStack{
  display: flex;
  flex-direction: column;
  max-width: 740px;
}

.consentStack .consent-wrapper{
  margin-top: 0;
  border-radius: 0;
  border-bottom-width: 0;
}

.consentStack .consent-wrapper:first-child{
  border-radius: 12px 12px 0 0;
  border-bottom-width: 1px;
  border-bottom-color: rgba(255,255,255,0.06);
}

.consentStack .consent-wrapper:last-child{
  border-radius: 0 0 12px 12px;
  border-bottom-width: 1px;
}

/* Error state on stacked items keeps its own border colour on all sides */
.consentStack .consent-error{
  border-width: 2px !important;
  border-bottom-width: 2px !important;
}

/* Disabled submit button — visually communicates the locked state */
.btn:disabled,
button:disabled{
  opacity: 0.42;
  cursor: not-allowed;
  pointer-events: auto; /* keep so clicks still trigger validation hint */
}


/* Footer */
.siteFooter{
  padding: 28px 0;
  border-top: 1px solid rgba(255,255,255,0.08);
  background: rgba(0,0,0,0.10);
}
.siteFooter__inner{
  display:flex;
  flex-direction: column;
  gap: 10px;
  align-items:center;
  text-align:center;
}
.siteFooter__links{
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content:center;
  align-items:center;
  font-size: 13px;
  color: rgba(255,255,255,0.80);
}
.siteFooter__links a{
  color: rgba(255,255,255,0.90);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.siteFooter__sep{
  opacity: 0.6;
}
.siteFooter__btn{
  background: transparent;
  border: 1px solid rgba(255,255,255,0.18);
  color: rgba(255,255,255,0.90);
  border-radius: 999px;
  padding: 6px 10px;
  cursor: pointer;
}
.siteFooter__btn:hover{
  border-color: rgba(255,255,255,0.30);
}

/* Error state */
.consent-error{
  border: 2px solid #ff3b3b !important;
  background: rgba(255, 59, 59, 0.06) !important;
}

@keyframes consentShake{
  0%{ transform: translateX(0); }
  20%{ transform: translateX(-5px); }
  40%{ transform: translateX(5px); }
  60%{ transform: translateX(-4px); }
  80%{ transform: translateX(4px); }
  100%{ transform: translateX(0); }
}

.consent-error-shake{
  animation: consentShake 0.35s ease;
}
