.footer-optin {
  border-top: 1px solid var(--border, rgba(255,255,255,0.12));
  padding: 2rem 0 1.75rem;
}

.footer-optin-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 3rem;
}

.footer-optin-copy {
  flex: 1;
  min-width: 0;
}

.footer-optin-head {
  font-family: var(--sans, sans-serif);
  font-size: 0.875rem;
  font-weight: 600;
  margin: 0 0 0.375rem;
  color: inherit;
  letter-spacing: 0.01em;
}

.footer-optin-body {
  font-family: var(--sans, sans-serif);
  font-size: 0.775rem;
  line-height: 1.55;
  margin: 0;
  opacity: 0.6;
}

.footer-optin-form {
  flex: 0 0 auto;
  width: 300px;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.footer-optin-input {
  font-family: var(--sans, sans-serif);
  font-size: 0.84rem;
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.16);
  color: inherit;
  padding: 0.6rem 0.875rem;
  border-radius: 3px;
  outline: none;
  width: 100%;
  box-sizing: border-box;
  transition: border-color 0.15s;
}
.footer-optin-input::placeholder { opacity: 0.45; }
.footer-optin-input:focus { border-color: rgba(255,255,255,0.38); }

.footer-optin-btn {
  font-family: var(--sans, sans-serif);
  font-size: 0.82rem;
  background: var(--accent, #b8955a);
  color: var(--paper, #f5f0e8);
  border: none;
  padding: 0.6rem 1rem;
  border-radius: 3px;
  cursor: pointer;
  text-align: left;
  letter-spacing: 0.01em;
  transition: opacity 0.15s;
}
.footer-optin-btn:hover:not(:disabled) { opacity: 0.83; }
.footer-optin-btn:disabled { opacity: 0.5; cursor: not-allowed; }

.footer-optin-status {
  font-family: var(--sans, sans-serif);
  font-size: 0.775rem;
  margin: 0;
  min-height: 1.1em;
}
.footer-optin-ok { color: #7ecb8f; }
.footer-optin-err { color: #e07070; }

.footer-optin-privacy {
  font-family: var(--sans, sans-serif);
  font-size: 0.72rem;
  margin: 0.2rem 0 0;
  opacity: 0.42;
}
.footer-optin-privacy a {
  color: inherit;
  text-decoration: underline;
}
.footer-optin-privacy a:hover { opacity: 0.75; }

@media (max-width: 700px) {
  .footer-optin-inner {
    flex-direction: column;
    align-items: stretch;
    gap: 1.25rem;
  }
  .footer-optin-form { width: 100%; }
}
