/* 本格占いの注文ページ（接頭辞 order-） */
.order-form { display: grid; gap: 18px; }
.order-h { font-size: 17px; margin: 0; }
.order-names { border: 0; margin: 0; padding: 0; min-width: 0; display: grid; gap: 10px; }
.order-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.order-cell label { display: block; font-size: 12px; color: #d7ccef; margin-bottom: 6px; }
.order-cell-wide { grid-column: 1 / -1; }
.order-cell .bd-input { width: 100%; box-sizing: border-box; }
.order-req { display: inline-block; margin-left: 6px; font-size: 10px; padding: 2px 6px; border-radius: 999px; background: #5d4a6d; color: #fff; }
.order-partner { border: 1px solid rgba(255, 255, 255, .14); border-radius: 12px; padding: 12px 14px; }
.order-partner[open] { display: grid; gap: 14px; }
.order-partner summary { cursor: pointer; font-weight: 700; }
.order-confirm { border: 1px solid #c9a0f0; border-radius: 12px; padding: 14px; }
.order-confirm:focus { outline: 2px solid #c9a0f0; outline-offset: 2px; }
.order-price { font-size: 20px; font-weight: 800; margin: 0; }
.order-agree { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; line-height: 1.6; }
.order-agree input { margin-top: 5px; flex: none; }
.order-form .btn[disabled] { opacity: .5; cursor: not-allowed; }
@media (max-width: 480px) { .order-row { grid-template-columns: 1fr; } }
