.ske-wrap { max-width: 32rem; }
.ske-form .ske-field { margin-bottom: 1.25rem; }
.ske-form label { display: block; font-weight: 600; margin-bottom: .25rem; }
.ske-req { color: #d63638; }
.ske-opt { font-weight: 400; opacity: .75; }
.ske-legend { font-size: .85em; opacity: .75; margin: 0 0 .75rem; }
.ske-form input[type="text"],
.ske-form input[type="tel"],
.ske-form input[type="email"],
.ske-form select { width: 100%; box-sizing: border-box; padding: .5rem .65rem; border: 1px solid #8c8f94; border-radius: 4px; font: inherit; }
.ske-form input[aria-invalid="true"] { border-color: #d63638; }
.ske-address, .ske-phone { display: flex; align-items: center; gap: .4rem; }
.ske-address input[type="text"] { flex: 1 1 8rem; min-width: 0; }
.ske-address select { flex: 1 1 8rem; width: auto; }
.ske-at, .ske-cc { white-space: nowrap; opacity: .8; }
.ske-domain { white-space: nowrap; }
.ske-phone input { flex: 1; }
.ske-hint { font-size: .85em; opacity: .75; margin: .25rem 0 0; }
.ske-error { color: #d63638; font-size: .85em; margin: .25rem 0 0; }
.ske-error--form { margin-bottom: .75rem; }
.ske-hp { position: absolute; left: -9999px; top: -9999px; height: 0; overflow: hidden; }
/* Block themes style wp-element-button from theme.json; a theme whose button
   text and background both resolve to near-white hides the form's only
   action, so the colours are pinned with !important. */
.ske-submit { background-color: var(--wp--preset--color--primary, #60803e) !important; color: var(--wp--preset--color--background, #fff) !important; }
.ske-submit[disabled] { opacity: .6; cursor: progress; }
.ske-notice { padding: .75rem 1rem; border-radius: 4px; margin-bottom: 1rem; border-left: 4px solid; }
.ske-notice--success { background: #edfaef; border-color: #00a32a; }
.ske-notice--error { background: #fcf0f1; border-color: #d63638; }
