/* SmederAI Forms — Ontwikkeld door Stefan Wijbers */
.kam-form-wrap { max-width: 760px; margin-inline: auto; color: inherit; }
.kam-form-wrap * { box-sizing: border-box; }
.kam-form-wrap .kam-field { margin-block: 1.4rem; }
.kam-form-wrap [hidden] { display: none !important; }
.kam-form-wrap label, .kam-form-wrap legend { font-weight: 600; }
.kam-form-wrap .kam-field > label { display: block; margin-bottom: .5rem; }
.kam-form-wrap fieldset { border: 0; padding: 0; min-width: 0; margin: 0; }
.kam-form-wrap legend { float: none; width: auto; padding: 0; }
.kam-form-wrap input:not([type=radio]):not([type=checkbox]), .kam-form-wrap select, .kam-form-wrap textarea {
    width: 100%; font: inherit; font-size: max(1rem,16px); padding: .75rem; border: 1px solid currentColor; border-radius: 5px; background: transparent; color: inherit;
}
.kam-form-wrap .kam-choice { display: flex; gap: .6rem; align-items: center; min-height: 44px; font-weight: 400; cursor: pointer; }
.kam-form-wrap .kam-choice input { width: 20px; height: 20px; flex-shrink: 0; }
.kam-form-wrap .kam-help, .kam-form-wrap .kam-required, .kam-form-wrap .kam-privacy { font-size: .9em; font-weight: 400; }
.kam-form-wrap .kam-help:empty, .kam-form-wrap .kam-error:empty { display: none; }
.kam-form-wrap .kam-error { color: #b42318; font-weight: 600; }
.kam-form-wrap [aria-invalid=true] { outline: 2px solid #b42318; outline-offset: 2px; }
.kam-form-wrap .kam-message { margin-block: 1rem; overflow-wrap: anywhere; }
.kam-form-wrap .kam-submit { font: inherit; padding: .8rem 1.5rem; border-radius: 5px; cursor: pointer; min-height: 44px; }
.kam-form-wrap .kam-submit:disabled { cursor: wait; opacity: .65; }
.kam-form-wrap :focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.kam-form-wrap .kam-trap { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); }
.kam-form-wrap .kam-navigation { display: flex; flex-wrap: wrap; gap: .75rem; margin-block: 1.5rem; }
.kam-form-wrap .kam-navigation button, .kam-form-wrap .kam-add-row, .kam-form-wrap .kam-remove-row { font: inherit; min-height: 44px; padding: .65rem 1rem; cursor: pointer; }
.kam-form-wrap .kam-repeater-row { padding: 1rem; margin-block: 1rem; border: 1px solid currentColor; border-radius: 6px; }
.kam-form-wrap .kam-row-title, .kam-form-wrap .kam-progress { font-weight: 600; }
.kam-form-wrap .kam-progress { overflow-wrap: anywhere; }
.kam-form-wrap input[type=file] { overflow: hidden; }
.kam-form-wrap h3, .kam-form-wrap h4, .kam-form-wrap label, .kam-form-wrap legend { overflow-wrap: anywhere; }
@media (max-width: 480px) { .kam-form-wrap .kam-submit { width: 100%; } }
.kam-form-wrap .kam-camera { font:inherit; min-height:44px; padding:.65rem 1rem; margin-top:.5rem; cursor:pointer; border:1px solid #667681; border-radius:6px; background:#eef2f5; color:#172b3d; }
