/* ============================================================
   generate-form-v2.css — field-level styling for V2 generate
   ============================================================
   Forked from generate-form.css. Page-level chrome (run-bar,
   grid, section labels, URL pill) lives in generate-page-v2.css.
   This file only owns the textarea/input/button look and the
   job-fetch helper colors.
   ============================================================ */

/* Allow vertical resize on the letter textarea but freeze the
   form-side textareas (resume/job/notes) since the column has
   a fixed visual rhythm. */
.gp-v2-body textarea {
    resize: none;
}
.gp-v2-body .gp-v2-letter-card__body textarea {
    resize: vertical;
}

.gp-v2-body .textarea:focus,
.gp-v2-body .input:focus,
.gp-v2-body .is-focused.input,
.gp-v2-body .is-focused.textarea {
    border-color: var(--gp-ink-dark) !important;
    box-shadow: none !important;
}

/* ---------- Flat field styling (V2) ---------- */
.gp-v2-body .modern-input {
    width: 100%;
    background: #ffffff;
    border: 1px solid var(--gp-field-border);
    border-radius: 8px;
    padding: 11px 14px;
    box-shadow: none;
    font-size: 14px;
    color: var(--gp-ink-dark);
    font-family: inherit;
    transition: border-color .15s;
    height: auto;
}
.gp-v2-body .modern-input::placeholder {
    color: var(--gp-ink-faint);
}
.gp-v2-body .modern-input:hover:not(:focus) {
    border-color: rgba(30, 27, 22, .3);
}
.gp-v2-body .modern-input:focus {
    border-color: var(--gp-ink-dark);
    outline: 0;
    box-shadow: none;
}

.gp-v2-body .modern-textarea {
    width: 100%;
    background: #ffffff;
    border: 1px solid var(--gp-field-border);
    border-radius: 8px;
    padding: 14px 16px;
    box-shadow: none;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 14px;
    line-height: 1.55;
    color: var(--gp-ink-dark);
    min-height: 60px;
    transition: border-color .15s;
}
.gp-v2-body .modern-textarea::placeholder {
    color: var(--gp-ink-faint);
}
.gp-v2-body .modern-textarea:hover:not(:focus) {
    border-color: rgba(30, 27, 22, .3);
}
.gp-v2-body .modern-textarea:focus {
    border-color: var(--gp-ink-dark);
    outline: 0;
    box-shadow: none;
}

/* ---------- Generate button (run-bar CTA) ---------- */
/* The run-bar already styles the button via .gp-v2-runbar__cta.
   Keep only disabled-state + a smooth transition here so the
   pulse class stays meaningful for V2 too. */
.gp-v2-body .generate-btn-pulse {
    transition: background-color .2s ease, transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.gp-v2-body .generate-btn-pulse:disabled {
    background: #d4d4d4 !important;
    color: #8a8a8a !important;
    cursor: not-allowed;
    opacity: 1;
    box-shadow: none;
}

/* ---------- Job-fetch helper colors (kept) ---------- */
.gp-v2-body .help.is-success {
    color: #2f9e6a;
    font-weight: 500;
}
.gp-v2-body .help.is-danger {
    color: #b45454;
    font-weight: 500;
}
.gp-v2-body .help.is-info {
    color: var(--gp-ink-mute);
    font-style: italic;
}
