/* SEMANAT forms (Phase 2D.5) — layout formerly provided by Elementor Pro's widget-form.min.css; field skin stays in the child theme. */
.sem-form .elementor-form-fields-wrapper { display: flex; flex-wrap: wrap; gap: 16px; margin: 0; padding: 0; }
.sem-form .elementor-field-group { display: flex; flex-direction: column; margin: 0; padding: 0; min-width: 0; }
.sem-form .elementor-col-100 { flex: 0 0 100%; width: 100%; }
.sem-form .elementor-col-50 { flex: 0 0 calc(50% - 8px); width: calc(50% - 8px); }
.sem-form .elementor-field-label { display: block; }
.sem-form .elementor-mark-required .elementor-field-label::after { content: " *"; color: #B42318; font-weight: 600; }
.sem-form .elementor-field-textual, .sem-form .elementor-upload-field { width: 100%; box-sizing: border-box; font-family: inherit; line-height: 1.4; }
.sem-form textarea.elementor-field-textual { resize: vertical; min-height: 96px; }
.sem-form .elementor-select-wrapper { position: relative; }
.sem-form .elementor-select-wrapper select { appearance: none; -webkit-appearance: none; padding-right: 40px; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233A444C' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>"); background-repeat: no-repeat; background-position: right 14px center; background-size: 16px; cursor: pointer; }
.sem-form .elementor-upload-field { padding: 10px 12px; border: 1px dashed var(--sem-border, #DDE3E7); border-radius: var(--sem-radius-sm, 6px); background: var(--sem-bg-alt, #F5F7F8); font-size: 14px; }
.sem-form .elementor-field-type-submit .elementor-button { width: 100%; border: 0; cursor: pointer; font-family: inherit; font-size: 15px; letter-spacing: .03em; }
.sem-form .elementor-button[disabled] { opacity: .6; cursor: progress; }
.sem-form .has-error .elementor-field-textual, .sem-form .has-error .elementor-upload-field { border-color: #B42318; }
.sem-form .sem-form-error { display: block; font-size: 13px; color: #B42318; margin-top: 4px; }
.sem-form .sem-form-error[hidden] { display: none; }
.sem-form-alert { border-left: 3px solid #B42318; background: #FEF3F2; color: #7A271A; padding: 12px 14px; border-radius: 0 6px 6px 0; margin: 14px 0 0; font-size: 14px; }
.sem-form-success { padding: 28px 24px; border: 1px solid var(--sem-border, #DDE3E7); border-left: 4px solid var(--sem-green-600, #1E7A46); border-radius: var(--sem-radius-md, 10px); background: var(--sem-green-050, #F2F8F4); }
.sem-form-success strong { display: block; font-size: 18px; line-height: 1.4; color: var(--sem-ink, #1B2228); }
.sem-form-ref { display: inline-block; margin-top: 10px; font: 700 14px/1 inherit; letter-spacing: .06em; color: var(--sem-navy-800, #0F3B78); }
.sem-fw-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 767px) { .sem-form .elementor-col-50 { flex-basis: 100%; width: 100%; } }
