/**
 * form.css
 * phpform 共通スタイル（coral.jp からコピー・バージョンアップ時に上書き可）
 * form_captcha() / form_errors() / 確認画面テーブル用
 */

.error-container .alert-danger {
    background-color: #f8d7da;
    color: #721c24;
    border-color: #f5c6cb;
}

.form-group-row {
    padding: 1.2rem 0;
    border-bottom: 1px solid #e9ecef;
}

.form-group-row:last-child {
    border-bottom: none;
}

.required-badge {
    background-color: #dc3545;
    color: white;
    padding: 0.2em 0.6em;
    border-radius: 0.25rem;
    font-size: 0.75em;
    margin-left: 0.5rem;
    vertical-align: middle;
}

.captcha-container {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.captcha-code {
    background-color: #e9ecef;
    padding: 0.5rem 1rem;
    border-radius: 0.25rem;
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    font-weight: bold;
    user-select: none;
    border: 1px solid #ced4da;
    text-align: center;
}

.captcha-input {
    max-width: 200px;
}

/* 認証コード不一致（4文字入力かつ不一致のときのみ JS で表示） */
.captcha-error-message {
    width: 100%;
    margin-top: 0.25rem;
    font-size: 0.875em;
    color: #dc3545;
}

/* 確認画面 */
.confirm-table th {
    width: 35%;
    vertical-align: top;
    font-weight: 600;
    padding: 1rem 0.5rem;
    border-bottom: 1px solid #dee2e6;
}

.confirm-table td {
    padding: 1rem 0.5rem;
    border-bottom: 1px solid #dee2e6;
    white-space: pre-wrap;
    word-break: break-word;
}

/* 送信ボタン：必須項目未入力時は押せない（aobasim 無料相談フォームと同様） */
.btn-form-submit:disabled {
    background-color: #e8e8e8;
    border: 2px solid #a8c7fa;
    color: #888888;
    cursor: not-allowed;
    opacity: 1;
}

.btn-form-submit:disabled:hover,
.btn-form-submit:disabled:focus {
    background-color: #e8e8e8;
    border-color: #a8c7fa;
    color: #888888;
    box-shadow: none;
}

/* 送信ボタン下の案内文（必須項目・個人情報同意を含む） */
.form-submit-hint {
    line-height: 1.6;
    color: #dc3545;
}

.form-submit-hint .required-badge {
    margin-left: 0;
    margin-right: 0.25rem;
}
