/* RJ.S WA — Contact / Career 表单样式优化
 *
 * 仅作用于 .wpcf7-form（4 个表单页：contact / career / 中文版两个），
 * 不影响其余 Elementor / 主题样式。
 *
 * 设计原则：
 *   - 黑白主调（与原站建筑摄影 + 黑色顶导航一致）；不引入暖色避免与 logo 之外的页面视觉打架
 *   - 字段间距充裕、focus 态明显，移动端下输入字号 ≥16px 防 iOS 缩放
 *   - 状态色（成功/失败/校验）信息量足够，但不抢主视觉
 */

.wpcf7-form {
    --rjs-form-bg: #ffffff;
    --rjs-form-bg-focus: #fafafa;
    --rjs-form-border: #e5e5e5;
    --rjs-form-border-focus: #1a1a1a;
    --rjs-form-text: #1a1a1a;
    --rjs-form-muted: #6b6b6b;
    --rjs-accent: #1a1a1a;
    --rjs-success-bg: #f0f5f1;
    --rjs-success-border: #a8c0b0;
    --rjs-success-text: #2c5e3f;
    --rjs-error-bg: #f8eeee;
    --rjs-error-border: #c9a3a3;
    --rjs-error-text: #8b2929;
    --rjs-warn-bg: #f6f1e6;
    --rjs-warn-border: #c8b87f;
    --rjs-warn-text: #6b4e0a;

    max-width: 640px;
    margin: 0 auto;
}

/* 字段间距：CF7 用 <p> 包字段，默认 margin 太局促 */
.wpcf7-form > p {
    margin: 0 0 22px;
}

/* Label：阻塞式排版 + 大写细间距，呼应站内 portfolio section title 节奏 */
.wpcf7-form label {
    display: block;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--rjs-form-text);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    line-height: 1.4;
}

/* 原 CF7 用 <br/> 换行，现在 control-wrap 直接 block，br 多余 */
.wpcf7-form label > br {
    display: none;
}

.wpcf7-form .wpcf7-form-control-wrap {
    display: block;
    margin-top: 8px;
}

/* 输入框 / 文本域基础样式 */
.wpcf7-form input.wpcf7-form-control,
.wpcf7-form textarea.wpcf7-form-control {
    width: 100%;
    box-sizing: border-box;
    padding: 12px 14px;
    background: var(--rjs-form-bg);
    border: 1px solid var(--rjs-form-border);
    border-radius: 4px;
    font-size: 1rem;
    line-height: 1.5;
    color: var(--rjs-form-text);
    font-family: inherit;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
    appearance: none;
    -webkit-appearance: none;
}

.wpcf7-form input.wpcf7-form-control::placeholder,
.wpcf7-form textarea.wpcf7-form-control::placeholder {
    color: var(--rjs-form-muted);
}

.wpcf7-form input.wpcf7-form-control:focus,
.wpcf7-form textarea.wpcf7-form-control:focus {
    outline: none;
    border-color: var(--rjs-form-border-focus);
    background: var(--rjs-form-bg-focus);
    box-shadow: 0 0 0 3px rgba(26, 26, 26, 0.12);
}

.wpcf7-form textarea.wpcf7-form-control {
    min-height: 140px;
    resize: vertical;
    line-height: 1.6;
}

/* career 页面的 postcode/suburb 字段在原 CF7 配置里被错误地用成了
 * textarea[rows=10]，看起来非常臃肿。这里改成单行高度。 */
.wpcf7-form .wpcf7-form-control-wrap[data-name="your-postcodesuburb"] textarea {
    min-height: auto;
    height: 48px;
    resize: none;
    overflow: hidden;
    line-height: 1.5;
}

/* 提交按钮 */
.wpcf7-form input.wpcf7-submit {
    appearance: none;
    -webkit-appearance: none;
    background: var(--rjs-form-text);
    color: #ffffff;
    border: 0;
    padding: 14px 40px;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    cursor: pointer;
    border-radius: 4px;
    transition: background-color 0.2s ease, transform 0.12s ease, box-shadow 0.2s ease;
    font-family: inherit;
    min-width: 180px;
}

.wpcf7-form input.wpcf7-submit:hover:not(:disabled) {
    /* 不再用 transform 上移以避免页面 1px 抖动 */
    background: #2e2e2e;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
}

.wpcf7-form input.wpcf7-submit:active:not(:disabled) {
    background: var(--rjs-accent);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

.wpcf7-form input.wpcf7-submit:focus-visible {
    outline: 3px solid rgba(26, 26, 26, 0.4);
    outline-offset: 2px;
}

.wpcf7-form input.wpcf7-submit:disabled {
    opacity: 0.55;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

/* 提交中：弱化所有字段 + 按钮变回非交互态 */
.wpcf7-form.submitting input,
.wpcf7-form.submitting textarea {
    opacity: 0.65;
    pointer-events: none;
}
.wpcf7-form.submitting input.wpcf7-submit::after {
    content: '…';
}

/* 响应消息容器：默认折叠，仅在 sent/failed/invalid 三态下展开 */
.wpcf7-form .wpcf7-response-output {
    display: none;
    margin: 24px 0 0;
    padding: 14px 18px;
    border: 1px solid transparent;
    border-radius: 4px;
    font-size: 0.95rem;
    line-height: 1.55;
    text-align: left;
}

.wpcf7-form.sent .wpcf7-response-output,
.wpcf7-form.failed .wpcf7-response-output,
.wpcf7-form.invalid .wpcf7-response-output {
    display: block;
}

.wpcf7-form .wpcf7-response-output.sent {
    background: var(--rjs-success-bg);
    border-color: var(--rjs-success-border);
    color: var(--rjs-success-text);
}

.wpcf7-form .wpcf7-response-output.failed {
    background: var(--rjs-error-bg);
    border-color: var(--rjs-error-border);
    color: var(--rjs-error-text);
}

.wpcf7-form .wpcf7-response-output.invalid {
    background: var(--rjs-warn-bg);
    border-color: var(--rjs-warn-border);
    color: var(--rjs-warn-text);
}

/* 提交按钮所在 <p> 居中（视觉重心）*/
.wpcf7-form > p:has(input.wpcf7-submit) {
    text-align: center;
    margin-top: 32px;
}

/* 移动端 */
@media (max-width: 640px) {
    .wpcf7-form input.wpcf7-form-control,
    .wpcf7-form textarea.wpcf7-form-control {
        font-size: 16px; /* 阻止 iOS Safari 自动放大输入框 */
        padding: 14px;
    }
    .wpcf7-form input.wpcf7-submit {
        width: 100%;
        padding: 16px;
    }
    .wpcf7-form > p {
        margin-bottom: 18px;
    }
}

/* ---------- contact / career 页面的辅助布局收尾 ----------
 * Elementor 渲染的页头与信息块默认间距偏紧，给一点呼吸 */
.elementor-widget-heading h2.elementor-heading-title {
    line-height: 1.2;
}

/* Address / Email / Phone / Hours 信息块标题与正文的纵向呼吸 */
body.page-id-1238 .elementor-widget-heading + .elementor-widget-text-editor,
body.page-id-1236 .elementor-widget-heading + .elementor-widget-text-editor {
    margin-top: 4px;
}

/* 表单容器与上方信息块之间增加分隔感 */
body.page-id-1238 .wpcf7,
body.page-id-1236 .wpcf7 {
    margin-top: 12px;
}
