/* "2027/28 edition" opt-in — sits beside each ebook download. Light by default; add .optin--dark on navy/black. */
.optin { margin: 18px 0 0; max-width: 520px; font-family: "Inter Tight", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; text-align: left; }
.optin-t { margin: 0 0 10px; font-size: 14.5px; line-height: 1.45; color: #4A4A48; }
.optin-t b { color: #101010; font-weight: 700; }
.optin-row { display: flex; gap: 8px; }
.optin input[type=email] {
  flex: 1; min-width: 0; min-height: 46px; padding: 0 16px; border-radius: 999px;
  border: 1px solid #8C877D; background: #FFFFFF; color: #101010;
  font-family: inherit; font-size: 16px; font-weight: 500; line-height: 1.3;   /* 16px stops iPhones zooming in */
}
.optin input[type=email]::placeholder { color: #6B6B68; }
.optin input[type=email]:focus { outline: none; border-color: #101010; box-shadow: 0 0 0 2px #C9A227; }
.optin input[aria-invalid="true"] { border-color: #B3261E; border-width: 2px; }
.optin button {
  flex: none; min-height: 46px; padding: 0 20px; border: 0; border-radius: 999px; cursor: pointer;
  background: #101010; color: #F3F0E8; font-family: inherit; font-size: 16px; font-weight: 700; line-height: 1.3; transition: transform .3s;
}
.optin button:hover { transform: translateY(-1px); }
.optin button:focus-visible { outline: 2px solid #C9A227; outline-offset: 2px; box-shadow: 0 0 0 2px #101010; }
.optin-s { margin: 8px 2px 0; min-height: 1.3em; font-size: 13.5px; font-weight: 600; color: #4A4A48; }
.optin-s.is-error { color: #B3261E; }
.optin-fine { margin: 6px 2px 0; font-size: 12px; color: #4A4A48; }
.optin-fine a { color: inherit; text-underline-offset: 2px; }
.optin .hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.optin .sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

.optin--dark .optin-t, .optin--dark .optin-fine { color: rgba(243,240,232,.78); }
.optin--dark .optin-t b { color: #F3F0E8; }
.optin--dark input[type=email] { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.5); color: #F3F0E8; }
.optin--dark input[type=email]::placeholder { color: rgba(243,240,232,.6); }
.optin--dark input[type=email]:focus { border-color: #F3F0E8; }
.optin--dark button { background: #C9A227; color: #101010; }
.optin--dark .optin-s { color: #E3CF8A; }
.optin--dark .optin-s.is-error { color: #F2A99F; }

@media (max-width: 480px) { .optin-row { flex-direction: column; } .optin button { width: 100%; } }
