/* Public forms of eshop-core (contact, withdrawal). Neutral styles – themes may override via .eshop-form. */
.eshop-form { --eshop-form-border: color-mix(in srgb, currentColor 35%, transparent); --eshop-form-error: #b3261e; --eshop-form-ok: #1e6b34; max-width: 44rem; }
.eshop-form__form { display: grid; gap: 1rem; }
.eshop-form__field { display: grid; gap: .35rem; margin: 0; }
.eshop-form__field label, .eshop-form fieldset legend { font-weight: 600; }
.eshop-form__opt { font-weight: 400; opacity: .8; }
.eshop-form__req { color: var(--eshop-form-error); }
.eshop-form input[type="text"], .eshop-form input[type="email"], .eshop-form input[type="tel"], .eshop-form textarea, .eshop-form select {
	width: 100%; box-sizing: border-box; padding: .65rem .75rem; font: inherit; color: inherit; background: transparent;
	border: 1px solid var(--eshop-form-border); border-radius: var(--wp--custom--radius, 6px); min-height: 2.75rem;
}
.eshop-form textarea { min-height: 9rem; resize: vertical; }
.eshop-form input:focus-visible, .eshop-form textarea:focus-visible, .eshop-form select:focus-visible, .eshop-form button:focus-visible, .eshop-form a:focus-visible {
	outline: 3px solid currentColor; outline-offset: 2px;
}
.eshop-form__field--error input, .eshop-form__field--error textarea { border-color: var(--eshop-form-error); border-width: 2px; }
.eshop-form__error { color: var(--eshop-form-error); font-size: .925em; }
.eshop-form__notice { padding: 1rem 1.25rem; border-radius: var(--wp--custom--radius, 6px); border: 2px solid currentColor; margin-bottom: 1.25rem; }
.eshop-form__notice:focus { outline: 3px solid currentColor; outline-offset: 2px; }
.eshop-form__notice p { margin: 0 0 .5rem; }
.eshop-form__notice p:last-child, .eshop-form__notice ul { margin-bottom: 0; }
.eshop-form__notice--error { color: var(--eshop-form-error); }
.eshop-form__notice--success { color: var(--eshop-form-ok); }
.eshop-form__privacy, .eshop-form__required-note { font-size: .9em; margin: 0; }
.eshop-form__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin: .5rem 0 0; }
.eshop-form fieldset { border: 1px solid var(--eshop-form-border); border-radius: var(--wp--custom--radius, 6px); padding: .75rem 1rem; margin: 0; }
.eshop-form fieldset label { font-weight: 400; display: flex; gap: .5rem; align-items: flex-start; padding: .2rem 0; }
.eshop-form dl.eshop-form__recap { display: grid; grid-template-columns: minmax(8rem, max-content) 1fr; gap: .4rem 1rem; margin: 0 0 1rem; }
.eshop-form dl.eshop-form__recap dt { font-weight: 600; }
.eshop-form dl.eshop-form__recap dd { margin: 0; white-space: pre-line; }
.eshop-form .eshop-statement { padding: 1rem 1.25rem; border-left: 4px solid currentColor; margin: 0 0 1rem; white-space: pre-line; }
.eshop-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 40rem) { .eshop-form dl.eshop-form__recap { grid-template-columns: 1fr; } }
