/**
 * 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.75rem 1.25rem;
    border-radius: 0.25rem;
    font-size: 2.75rem;
    letter-spacing: 0.15em;
    font-weight: bold;
    user-select: none;
    border: 1px solid #ced4da;
    text-align: center;
    line-height: 1.2;
    min-width: 8.5rem;
}

/* インライン style より優先（ひらがな表示を大きく） */
#captchaCode.captcha-code {
    font-size: 2.75rem !important;
    padding: 0.75rem 1.25rem !important;
    letter-spacing: 0.15em !important;
}

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

/* 再生成ボタン（LP の緑アウトラインに合わせて視認性を向上） */
#regenerateCaptcha {
    background-color: #fff;
    color: #219264;
    border: 2px solid #219264;
    font-weight: 600;
    padding: 0.5rem 1.25rem;
    border-radius: 0.25rem;
    cursor: pointer;
}

#regenerateCaptcha:hover,
#regenerateCaptcha:focus {
    background-color: #219264;
    color: #fff;
    border-color: #219264;
}

/* 確認画面 */
.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;
}
