/* Contextual, optional signup invitations. Scoped to avoid changing other forms. */
.ideas-slot { margin: 36px 0; text-align: left; }
.ideas-slot [hidden] { display: none !important; }
.ideas-card { padding: clamp(22px, 4vw, 36px); background: #f4f7ef; border: 1px solid #d8dfcf; border-radius: 14px; color: var(--ink, #193246); }
.ideas-card h2 { margin: 0 0 16px; color: var(--ink, #193246); font-size: clamp(1.8rem, 3vw, 2.3rem); line-height: 1.15; }
.ideas-card .eyebrow { color: var(--forest, #365b32); }
.ideas-card .ideas-copy { margin: 0 0 24px; color: var(--ink-soft, #496071); font-size: 1rem; line-height: 1.65; }
.ideas-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 20px; }
.ideas-fields label { display: grid; gap: 8px; font-size: .82rem; font-weight: 700; }
.ideas-fields input { display: block; min-width: 0; width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid #bdc7b6; border-radius: 6px; color: #193246; background: #fff; font: inherit; font-weight: 400; }
.ideas-fields input:focus-visible, .ideas-card :is(a,button):focus-visible { outline: 3px solid var(--forest, #365b32); outline-offset: 3px; }
.ideas-card .ideas-fine-print { margin: 16px 0 0; color: var(--ink-soft, #496071); font-size: .76rem; line-height: 1.6; }
.ideas-card .ideas-fine-print a { color: inherit; text-decoration: underline; }
.ideas-card .ideas-status { margin: 12px 0 0; font-size: .9rem; color: #193246; }
.ideas-card .ideas-status:empty { display: none; }
.ideas-card button { letter-spacing: .01em; }
.ideas-card button:disabled { opacity: .7; cursor: wait; }
.home-book-grid > .ideas-slot, .book-updates-grid > .ideas-slot { margin: 0; }
.home-book-grid .ideas-fields, .book-updates-grid .ideas-fields { grid-template-columns: 1fr; }
.book-updates-grid .ideas-card, .home-book-grid .ideas-card { background: #fff; }
.book-updates-grid .ideas-card p { color: var(--ink-soft, #496071); }
.book-updates-grid .ideas-card .eyebrow { color: var(--forest, #365b32); }
.home-book-grid .ideas-form > button, .book-updates-grid .ideas-form > button { width: 100%; }
@media(max-width:620px) { .ideas-fields { grid-template-columns: 1fr; } .ideas-form > button { width: 100%; } }
@media print { .ideas-slot { display: none !important; } }
