/* MNZCC - Form Styles
 * One input language: 1px stone border, white surface, charcoal border on
 * focus with the shared 2px charcoal focus ring. Buttons use .btn.
 */

.form-input,
.search-input,
.contact-form-group input,
.contact-form-group select,
.contact-form-group textarea,
.wp-block-search__input,
.comment-form input:not([type="submit"]):not([type="checkbox"]),
.comment-form textarea {
    width: 100%;
    min-height: 48px;
    padding: 0.8125rem 1rem;
    border: var(--border-rule);
    border-radius: 0;
    background: var(--color-white);
    font-family: var(--font-body);
    font-size: 0.9375rem;
    line-height: 1.4;
    color: var(--color-charcoal);
    transition: border-color var(--transition-fast);
    -webkit-appearance: none;
    appearance: none;
}

.form-input::placeholder,
.search-input::placeholder,
.contact-form-group input::placeholder,
.contact-form-group textarea::placeholder {
    color: var(--color-gray-light);
}

.form-input:hover,
.search-input:hover,
.contact-form-group input:hover,
.contact-form-group select:hover,
.contact-form-group textarea:hover {
    border-color: var(--color-gray-light);
}

.form-input:focus,
.search-input:focus,
.contact-form-group input:focus,
.contact-form-group select:focus,
.contact-form-group textarea:focus,
.wp-block-search__input:focus {
    border-color: var(--color-charcoal);
    outline: 2px solid var(--color-charcoal);
    outline-offset: 2px;
}

.contact-form-group textarea {
    min-height: 160px;
    resize: vertical;
}

.search-input::-webkit-search-cancel-button {
    -webkit-appearance: none;
}

/* Search form: input + primary button on one row */
.search-form {
    width: 100%;
}

.search-form-inner {
    display: flex;
    gap: var(--space-xs);
    max-width: 560px;
}

.search-form-inner .search-input {
    flex: 1;
}

.search-submit {
    flex-shrink: 0;
    padding: 0.8125rem 1.25rem;
}

.search-submit svg {
    width: 18px;
    height: 18px;
}

@media (max-width: 480px) {
    .search-form-inner {
        flex-direction: column;
    }

    .search-submit {
        width: 100%;
    }
}

/* Newsletter (dark footer) */
.newsletter-form {
    display: flex;
    gap: 0;
}

.newsletter-input {
    flex: 1;
    min-height: 48px;
    padding: 0.8125rem 1rem;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-right: none;
    border-radius: 0;
    color: var(--color-white);
    font-family: var(--font-body);
    font-size: 0.9375rem;
}

.newsletter-input::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

.newsletter-input:focus {
    border-color: var(--color-white);
    outline: 2px solid var(--color-white);
    outline-offset: 2px;
}

.newsletter-btn {
    min-height: 48px;
    padding: 0.8125rem 1.25rem;
    background: var(--color-white);
    color: var(--color-primary);
    font-weight: 600;
    transition: background-color var(--transition-fast);
}

.newsletter-btn:hover {
    background: var(--color-cream);
}

.newsletter-btn:active {
    background: var(--color-cream-dark);
}
