.lema3d-footer {
  --orange: #f74a00; --gray: #666666; --light: #f3f3f3; --line: #d1d1d1;
  --black: #000000; --white: #ffffff; --radius: 12px;
}
.lema3d-footer .l3k-form, .lema3d-footer .l3k-form *, .lema3d-footer .l3k-form *::before, .lema3d-footer .l3k-form *::after { box-sizing: border-box; }
.lema3d-footer .l3k-form button, .lema3d-footer .l3k-form input, .lema3d-footer .l3k-form textarea { font: inherit; }
.lema3d-footer .l3k-form :focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; }

.lema3d-footer .button {
min-height: 66px; padding: 18px 28px; color: var(--white); background: var(--black); border-radius: var(--radius); font-size: 18px; font-weight: 500; line-height: 1.2; text-transform: uppercase; transition: background-color 300ms ease;
}

.lema3d-footer .button:hover {
background: var(--gray);
}

.lema3d-footer .button-wide {
width: 100%;
}

.lema3d-footer .field {
margin-bottom: 8px;
}

.lema3d-footer .field label {
display: block; margin-bottom: 6px; color: var(--gray); font-size: 13px; text-transform: uppercase;
}

.lema3d-footer .field input,
.lema3d-footer .field textarea {
width: 100%; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); color: var(--black);
}

.lema3d-footer .field input {
height: 66px; padding: 16px;
}

.lema3d-footer .field textarea {
height: 210px; padding: 16px; resize: vertical;
}

.lema3d-footer .field input[aria-invalid="true"],
.lema3d-footer .field textarea[aria-invalid="true"] {
border-color: #B3261E;
}

.lema3d-footer .field-error {
min-height: 20px; padding-top: 3px; color: #B3261E; font-size: 13px; line-height: 1.35;
}

.lema3d-footer .field-error:not(:empty)::before {
content: "Błąd: "; font-weight: 600;
}

.lema3d-footer .consent-field {
margin: 10px 0 14px;
}

.lema3d-footer .consent-label {
display: flex; align-items: flex-start; gap: 10px; color: var(--gray); font-size: 14px; line-height: 1.4;
}

.lema3d-footer .consent-label input {
flex: 0 0 20px; width: 20px; height: 20px; margin: 0; accent-color: var(--orange);
}

.lema3d-footer .consent-label input[aria-invalid="true"] {
outline: 2px solid #B3261E; outline-offset: 2px;
}

.lema3d-footer .policy-pending {
border-bottom: 1px dotted currentColor;
}

.lema3d-footer .form-status {
min-height: 24px; margin-top: 8px; font-size: 14px; text-align: center;
}

.lema3d-footer .form-status:not(:empty) {
padding: 10px; border: 1px solid var(--line); border-radius: 8px;
}

.lema3d-footer .form-status[data-state="error"] {
color: #B3261E; border-color: #B3261E;
}

.lema3d-footer .form-status[data-state="error"]::before {
content: "⚠ "; font-weight: 700;
}

.lema3d-footer .form-status[data-state="success"] {
color: #1B5E20; border-color: #1B5E20;
}

.lema3d-footer .form-status[data-state="success"]::before {
content: "✓ "; font-weight: 700;
}

.lema3d-footer .honeypot {
position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden;
}

@media (max-width: 767px) {
.lema3d-footer .field input {
height: 58px;
}

.lema3d-footer .field textarea {
height: 190px;
}
}
