/* 文芸結社 お問い合わせフォーム（/contact/ だけで読み込む。基本の部品は site.css） */
.bk-contact { margin: 1.5rem 0 2rem; }
.bk-contact-h { font-size: 1.3rem; margin: 0 0 1rem; }
.bk-contact-form { border: 2px solid var(--kon); border-radius: var(--radius); background: #fff; padding: 1rem 1rem 1.2rem; margin-top: 1rem; }
.bk-contact-req, .bk-contact-opt { display: inline-block; margin-left: 0.4rem; font-size: 0.75rem; font-weight: 700; border-radius: 3px; padding: 0 0.4rem; line-height: 1.7; vertical-align: 0.1em; }
.bk-contact-req { color: #fff; background: var(--shu); }
.bk-contact-opt { color: var(--ink-sub); background: #fff; border: 1px solid var(--line-strong); }
.bk-contact [aria-invalid="true"] { border-color: var(--shu) !important; background: var(--shu-tint); }
.bk-contact-cats [aria-invalid="true"] { outline: 2px solid var(--shu); }
.bk-contact-err { margin: 0.3rem 0 0; font-size: 0.92rem; }
.bk-contact-errors ul { margin: 0.4rem 0 0; padding-left: 1.3rem; }
.bk-contact-errors a { color: #7a2219; }
.bk-contact-errors:focus, .bk-contact-notice:focus { outline: 3px solid var(--focus); outline-offset: 2px; }
.bk-contact-notice p, .bk-contact-errors p { margin: 0; }
.bk-contact-count { min-height: 1.4em; }
.bk-contact-count.is-over { color: var(--shu); font-weight: 700; }
.bk-contact-confirm { margin: 1rem 0; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.bk-contact-confirm > div { display: grid; grid-template-columns: 10rem minmax(0, 1fr); gap: 0.5rem 1rem; padding: 0.7rem 1rem; border-top: 1px solid var(--line); }
.bk-contact-confirm > div:first-child { border-top: 0; }
.bk-contact-confirm dt { font-weight: 700; color: var(--ink-sub); }
.bk-contact-confirm dd { margin: 0; overflow-wrap: anywhere; }
@media (max-width: 600px) { .bk-contact-confirm > div { grid-template-columns: 1fr; gap: 0.2rem; } }
.bk-contact-text { white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word; }
.bk-contact-refbox { margin: 1rem 0; }
.bk-contact-ref { font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; letter-spacing: 0.05em; font-size: 1.5rem !important; }
.bk-contact-after li { margin: 0.3rem 0; }
.bk-contact .bk-btn[disabled] { cursor: not-allowed; }
.bk-contact-form[data-bk-contact-confirm] { border: 0; padding: 0; background: none; }
