/* Shared Contact Form visual contract used by Home and Product layouts. */
.contact-form__honeypot {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.contact-form .form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px 22px;
    margin-bottom: 18px;
}

.contact-form input.form-control,
.contact-form textarea.form-control,
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form textarea {
    width: 100%;
    box-sizing: border-box;
    border: 0;
    border-radius: 4px;
    background-color: rgba(225, 239, 255, 0.9);
    color: #0B4487;
    padding: 0 20px;
    height: 50px;
    font-size: 13px;
    line-height: 1.4;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    box-shadow: none;
    transition: box-shadow 200ms ease, background-color 200ms ease;
}

.contact-form input.form-control::placeholder,
.contact-form textarea.form-control::placeholder,
.contact-form input[type="text"]::placeholder,
.contact-form input[type="email"]::placeholder,
.contact-form input[type="tel"]::placeholder,
.contact-form textarea::placeholder {
    color: #0B4487;
    opacity: 0.7;
}

.contact-form input.form-control:focus,
.contact-form textarea.form-control:focus,
.contact-form input[type="text"]:focus,
.contact-form input[type="email"]:focus,
.contact-form input[type="tel"]:focus,
.contact-form textarea:focus {
    outline: none;
    background-color: rgba(225, 239, 255, 1);
    box-shadow: 0 0 0 2px rgba(11, 68, 135, 0.45);
}

.contact-form textarea.form-control,
.contact-form textarea {
    height: 180px;
    margin-bottom: 18px;
    padding: 14px 20px;
    resize: none;
    text-transform: none;
}

.contact-form .btn-primary,
.contact-form input[type="submit"],
.contact-form button[type="submit"] {
    width: 100%;
    height: 54px;
    border: 0;
    border-radius: 3px;
    background: linear-gradient(90deg, #0B4487 0%, #4EB7E2 50%, #0B4487 100%);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 1.4px;
    cursor: pointer;
    text-transform: uppercase;
    transition: filter 200ms ease;
}

/* ===== Product page 分支样式 =====
   触发条件：产品落地页（taxonomy-product_cat.php 通过 contact-section.php 引入表单）
   复用 data-contact-variant="home" 时通过 body class 精确限定，避免影响首页
*/
.taxonomy-product_cat .contact-form button[type="submit"],
.single-product .contact-form button[type="submit"] {
    height: 57px;
    border: 1px solid #4EB7E2;
    border-radius: 0;
    background: linear-gradient(135deg, #0B4487 0%, #4EB7E2 53.34%, #0B4487 100%);
}

.contact-form button[type="submit"]:hover,
.contact-form button[type="submit"]:focus-visible {
    filter: brightness(1.15);
}

.contact-form button[disabled] {
    cursor: wait;
    opacity: 0.68;
}

.contact-form-status {
    min-height: 24px;
    margin: 14px 0 0;
    font-size: 13px;
    text-align: center;
}

@media (max-width: 575.98px) {
    .contact-form .form-grid {
        grid-template-columns: 1fr;
    }

    .contact-form input.form-control,
    .contact-form input[type="text"],
    .contact-form input[type="email"],
    .contact-form input[type="tel"] {
        height: 46px;
        font-size: 16px;
    }

    .contact-form textarea.form-control,
    .contact-form textarea {
        height: 140px;
    }
}
