.sms-consent-panel {
  margin: 32px 0;
  padding: 24px;
  background: var(--white);
  border: 1px solid var(--line);
}

.sms-consent-check {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin: 0 0 20px;
}

.sms-consent-check input {
  width: 20px;
  height: 20px;
  margin: 3px 0 0;
  flex-shrink: 0;
  accent-color: var(--forest);
}

.sms-consent-check input:focus-visible,
#sms-consent-open:focus-visible {
  outline: 3px solid rgba(181, 139, 80, 0.42);
  outline-offset: 3px;
}

.sms-consent-check label {
  font-size: 16px;
  line-height: 1.5;
  font-weight: 500;
}

#sms-consent-open:disabled,
#sms-consent-opt-in:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

#sms-consent-open:disabled:hover {
  transform: none;
  background: var(--forest);
}

.sms-consent-fallback {
  margin: 20px 0 0;
  padding: 16px;
  background: var(--paper);
  border: 1px solid var(--line);
}

.sms-consent-fallback[hidden],
#sms-consent-preparation[hidden],
#sms-consent-enabled[hidden] {
  display: none;
}

.sms-consent-fallback pre {
  margin: 8px 0 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-family: inherit;
  font-size: 15px;
}

.sms-warning-note {
  margin: 20px 0 24px;
  padding: 16px 20px;
  background: var(--paper, #f7f6f1);
  border-left: 4px solid var(--forest, #0d3625);
  font-size: 15px;
  line-height: 1.5;
}

.sms-disclosure-list {
  margin: 16px 0 24px 20px;
  line-height: 1.6;
}

.sms-disclosure-list li {
  margin-bottom: 8px;
}

.sms-email-line {
  margin: 18px 0 0;
  font-size: 15px;
  line-height: 1.5;
  color: var(--muted, #555c53);
}

#sms-consent-status:empty {
  display: none;
}

@media (max-width: 520px) {
  .sms-consent-panel { padding: 18px; }
  .sms-consent-check { gap: 10px; }
}
