/* Gas Link Forms: layout, errors and messages. Input looks come from the theme (.pl-form). */
.glf-wrap { position: relative; }
.glf-form { margin: 0; }
.glf-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.glf-field { min-width: 0; }
.glf-w-full { grid-column: 1 / -1; }
@media (max-width: 560px) { .glf-fields { grid-template-columns: 1fr; } }

.glf-form input[type=number],
.glf-form input[type=date],
.glf-form input[type=url] { width: 100%; box-sizing: border-box; }
.glf-form textarea { resize: vertical; }

.glf-req { color: #d92d20; }
.glf-help { margin: .35rem 0 0; font-size: .85rem; color: var(--pl-muted, #5b6473); }
.glf-error { margin: .35rem 0 0; font-size: .85rem; font-weight: 600; color: #b42318; }
.glf-field.has-error input:not([type=checkbox]):not([type=radio]),
.glf-field.has-error select,
.glf-field.has-error textarea { border-color: #d92d20 !important; box-shadow: 0 0 0 3px rgba(217, 45, 32, .12) !important; }

.glf-choices { border: 0; margin: 0; padding: 0; min-width: 0; }
.glf-choices legend { font-weight: 600; margin-bottom: .35rem; font-size: .92rem; padding: 0; }
.glf-choice,
.glf-consent { display: flex; gap: .55rem; align-items: flex-start; font-weight: 500 !important; margin: .25rem 0; cursor: pointer; }
.glf-choice input,
.glf-consent input { margin-top: .25rem; flex: 0 0 auto; width: auto; }

.glf-actions { margin-top: 1rem; }
.glf-actions .glf-submit { margin-top: 0 !important; }
.glf-submit[disabled] { opacity: .75; cursor: progress; }

.glf-message:empty { display: none; }
.glf-message { margin-top: 1rem; padding: .85rem 1rem; border-radius: 12px; font-weight: 600; line-height: 1.45; }
.glf-message:focus { outline: none; }
.glf-message p { margin: 0; }
.glf-message.is-success { background: #ecfdf3; color: #05603a; border: 1px solid #abefc6; }
.glf-message.is-error { background: #fef3f2; color: #b42318; border: 1px solid #fecdca; }
.glf-form.is-sent .glf-fields,
.glf-form.is-sent .glf-actions,
.glf-form.is-sent .glf-turnstile { display: none; }
.glf-form.is-sent .glf-message { margin-top: 0; }

/* Honeypot and screen-reader-only labels. */
.glf-hp { position: absolute !important; left: -10000px !important; top: auto; width: 1px; height: 1px; overflow: hidden; }
.glf-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.glf-turnstile { margin-top: 1rem; }
.glf-missing { padding: .8rem 1rem; border: 1px dashed #d92d20; border-radius: 10px; color: #b42318; }

/* Inline layout: one field and the button side by side (newsletter). */
.glf-layout-inline .glf-form { display: flex; flex-wrap: wrap; gap: .4rem; align-items: flex-start; }
.glf-layout-inline .glf-fields { display: block; flex: 1 1 180px; min-width: 0; }
.glf-layout-inline .glf-actions { margin-top: 0; flex: 0 0 auto; }
.glf-layout-inline .glf-message { flex-basis: 100%; margin-top: .5rem; font-size: .9rem; padding: .6rem .8rem; }
.glf-layout-inline .glf-form.is-sent .glf-message { margin-top: 0; }
