/* Hero Form Block - Static Styles */
/* Enqueued once per page via block.json "style" declaration */

/* Layout */
.bouw-hero-form-container {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--wp--preset--spacing--xl);
    align-items: center;
}

@media (min-width: 1024px) {
    .bouw-hero-form-container {
        grid-template-columns: 1fr 480px;
    }
}

.bouw-hero-form-wrapper {
    background: var(--wp--preset--color--base, #ffffff);
    padding: var(--wp--preset--spacing--xl);
    border-radius: var(--wp--custom--border-radius--lg);
    box-shadow: var(--wp--custom--shadow--xl);
}

.bouw-form-fields {
    display: grid;
    gap: var(--wp--preset--spacing--lg);
    margin-bottom: var(--wp--preset--spacing--lg);
}

.bouw-form-group--half {
    grid-column: span 1;
}

.bouw-form-group--full {
    grid-column: 1 / -1;
}

@media (min-width: 640px) {
    .bouw-form-fields {
        grid-template-columns: 1fr 1fr;
    }
}

/* CSS-only form validation styles */
.bouw-form-input:valid,
.bouw-form-select:valid,
.bouw-form-textarea:valid {
    border-color: var(--wp--preset--color--primary);
}

.bouw-form-input:invalid:not(:placeholder-shown),
.bouw-form-select:invalid:not(:placeholder-shown),
.bouw-form-textarea:invalid:not(:placeholder-shown) {
    border-color: var(--wp--preset--color--accent);
}

.bouw-form-input:focus,
.bouw-form-select:focus,
.bouw-form-textarea:focus {
    outline: none;
    border-color: var(--wp--preset--color--primary);
    box-shadow: 0 0 0 3px rgba(46, 139, 87, 0.1);
}
