.ebook-form { display: grid; gap: 9px; margin-top: 0; }
.ebook-form .ebook-fields { display: grid; grid-template-columns: minmax(0, 3fr) minmax(150px, 2fr); gap: 10px; align-items: center; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ebook-form .btn[aria-disabled="true"] { opacity: .55; cursor: not-allowed; }
.ebook-form .ebook-consent { display: flex; align-items: center; gap: 4px; color: #0b1729; font-size: .78rem; font-weight: 400; }
.ebook-form .ebook-consent label { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-weight: 400; }
.ebook-consent input { width: 16px; min-height: 16px; accent-color: var(--blue); }
.rules-link { border: 0; background: none; color: #0b1729; padding: 0; font: inherit; font-weight: 400; cursor: pointer; text-decoration: underline; }
.ebook-consent.has-error { color: #b42318; }
.rules-modal { position: fixed; inset: 0; z-index: 80; display: grid; place-items: center; padding: 20px; background: rgba(16,40,75,.34); opacity: 0; transition: opacity .24s ease; }
.rules-modal[hidden] { display: none; }
.rules-modal.is-open { opacity: 1; }
.rules-modal-card { width: min(620px, 100%); max-height: min(760px, 88vh); overflow: auto; border-radius: 10px; background: #fff; padding: 32px; box-shadow: 0 30px 70px rgba(16,40,75,.18); transform: translateY(8px); transition: transform .24s ease; }
.rules-modal.is-open .rules-modal-card { transform: translateY(0); }
.rules-close { float: right; border: 0; background: #f5f8fd; color: var(--blue-dark); width: 36px; height: 36px; border-radius: 50%; cursor: pointer; font-size: 1.35rem; }
.rules-copy { color: var(--muted); }
@media (max-width: 720px) { .ebook-form .ebook-fields { grid-template-columns: 1fr; } }
