/* form.css owns input geometry; ui.css owns shared action appearance and states. */
.bc-live-form .bc-form__action { margin-inline: auto; cursor: pointer; text-decoration: none; }
.bc-live-form .bc-form__action:disabled { opacity: .65; pointer-events: none; }
@media (hover: hover) and (pointer: fine) {
  .bc-live-form .bc-form__file-button:hover { background: var(--bc-green-pale); border-color: var(--bc-green); color: var(--bc-green); }
}
.bc-live-form .bc-form__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; }
.bc-live-form .bc-form__actions .bc-form__action { margin-inline: 0; }
.bc-live-form .bc-form__value { min-width: 0; padding: 16px 20px; border-bottom: 1px solid var(--bc-border); font-size: 1.6rem; line-height: 32px; overflow-wrap: anywhere; }
.bc-live-form .bc-form__check-note { text-align: center; font-size: 1.6rem; line-height: 2; }
.bc-live-form .bc-form__state-title { font-family: var(--bc-font-mincho); font-size: 2.8rem; line-height: 1.7; color: var(--bc-green); margin-bottom: 24px; }
.bc-live-form .bc-form__result { display: grid; justify-items: center; gap: 24px; padding: 56px 40px; margin-top: 64px; border-radius: 16px; background: var(--bc-cream); text-align: center; }
.bc-live-form .bc-form__result .bc-form__state-title { margin: 0; }
.bc-live-form .bc-form__result p { font-size: 1.6rem; line-height: 2; }
.bc-live-form .bc-form__result a:not(.bc-form__action) { color: var(--bc-green); text-decoration: underline; }
.bc-live-form .bc-form__result-mark { display: block; width: 80px; height: 80px; color: var(--bc-green); }
.bc-live-form .bc-form__result-mark svg { display: block; width: 100%; height: 100%; }
.bc-live-form .bc-form__result-disc { fill: var(--bc-green-pale); }
.bc-live-form .bc-form__result .bc-form__action { margin-top: 16px; }
.bc-live-form .bc-form__errors { margin-top: 32px; padding: 24px; background: #fff4f2; border: 1px solid #bb4542; border-radius: 8px; color: #9a302e; font-size: 1.6rem; line-height: 2; scroll-margin-top: 100px; }
.bc-live-form .bc-form__errors a { text-decoration: underline; }
.bc-live-form .bc-form__field-error { color: #9a302e; font-size: 1.4rem; line-height: 1.7; margin-top: 8px; }
.bc-live-form .bc-form__character-count { margin-top: 8px; font-size: 1.2rem; line-height: 1.6; text-align: right; font-variant-numeric: tabular-nums; }
.bc-live-form .bc-form__character-count.is-over-limit { color: #9a302e; }
.bc-live-form [aria-invalid=true] { border-color: #bb4542; }
.bc-live-form :is(input,select,textarea) { scroll-margin-top: 120px; }
.bc-live-form .bc-form__file-display { grid-template-columns: minmax(0, 1fr); }
.bc-live-form .bc-form__file-button { position: relative; cursor: pointer; transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease; }
.bc-live-form .bc-form__file-icon { flex: none; width: 20px; height: 20px; background: currentColor; mask: url('../../assets/images/lower/file-select-icon.svg') center / contain no-repeat; }
.bc-live-form .bc-form__file-button input { position: absolute; inset: 0; opacity: 0; width: 100%; height: 100%; cursor: pointer; }
.bc-live-form .bc-form__file-button:focus-within { background: var(--bc-green-pale); border-color: var(--bc-green); color: var(--bc-green); outline: 3px solid #f4b942; outline-offset: 3px; }
.bc-live-form .bc-form__file-name { max-width: 100%; overflow-wrap: anywhere; margin-top: 8px; }
.bc-live-form .bc-form__file-name:empty { display: none; }
.bc-live-form .bc-form__file-display small { margin-top: 8px; font-size: 1.2rem; line-height: 1.6; }
.bc-live-form .bc-form__file-control { min-width: 0; }
.bc-live-form .is-dragover { outline: 2px solid var(--bc-green); background: var(--bc-green-pale); }
.bc-live-form .bc-form__file-hint--touch { display: none; }
@media (pointer: coarse) {
  .bc-live-form .bc-form__file-hint--pointer { display: none; }
  .bc-live-form .bc-form__file-hint--touch { display: block; }
}
@media (max-width: 599px) {
  .bc-live-form .bc-form__state-title { font-size: 2.2rem; }
  .bc-live-form .bc-form__result { padding: 32px 20px; margin-top: 48px; }
  .bc-live-form .bc-form__result p { font-size: 1.5rem; }
  .bc-live-form .bc-form__result p br { display: none; }
  .bc-live-form .bc-form__value { padding: 8px 0 20px; }
  .bc-live-form .bc-form__actions { flex-direction: column-reverse; align-items: center; gap: 16px; }
}
