/* Forms of the plugin's blocks (withdrawal, contact, newsletter). Inputs and buttons get the theme's styles. */
.eco-form form { display: grid; gap: 4px; max-width: 640px; }
.eco-form__field { display: grid; gap: 6px; margin: 0 0 12px; }
.eco-form__field label { font-weight: 600; }
.eco-form__field input, .eco-form__field textarea { width: 100%; box-sizing: border-box; }
.eco-form__field.has-error input, .eco-form__field.has-error textarea { border-color: #b42318; }
.eco-form__error { color: #b42318; font-size: .875em; }
.eco-form__success { padding: 12px 16px; border-left: 4px solid #2e7d32; background: rgba(46, 125, 50, .08); }
.eco-form__help { font-size: .875em; opacity: .8; }
.eco-form__check { display: flex; gap: 8px; align-items: flex-start; }
.eco-form__field .eco-form__check { font-weight: 400; cursor: pointer; }
.eco-form__field .eco-form__check input { flex: none; width: auto; margin: .3em 0 0; } /* not the full width of the text fields */
.eco-form__trap { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.eco-form__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.eco-withdrawal__summary { width: 100%; max-width: 640px; border-collapse: collapse; margin: 0 0 16px; }
.eco-withdrawal__summary th, .eco-withdrawal__summary td { padding: 8px 12px; border: 1px solid rgba(128, 128, 128, .3); text-align: left; vertical-align: top; }
.eco-withdrawal__summary th { width: 30%; }
.eco-newsletter__form { display: flex; flex-wrap: wrap; gap: 8px; max-width: 480px; }
.eco-newsletter__form input[type="email"] { flex: 1 1 220px; min-width: 0; }
