.wisen-op-form {
    max-width: 760px;
    padding: 1rem 0;
}

.wisen-op-form-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 1.25rem;
    row-gap: 1rem;
}

.wisen-op-form-custom {
    max-width: none;
}

.wisen-op-field {
    margin-bottom: 1rem;
}

.wisen-op-form-grid .wisen-op-field {
    margin-bottom: 0;
}

.wisen-op-span-12 {
    grid-column: span 12;
}

.wisen-op-span-8 {
    grid-column: span 8;
}

.wisen-op-span-6 {
    grid-column: span 6;
}

.wisen-op-span-4 {
    grid-column: span 4;
}

.wisen-op-field label {
    display: block;
    font-weight: 600;
    margin-bottom: 0.35rem;
}

.wisen-op-field input[type="text"],
.wisen-op-field input[type="email"],
.wisen-op-field input[type="tel"],
.wisen-op-field input[type="number"],
.wisen-op-field input[type="date"],
.wisen-op-field select,
.wisen-op-field textarea {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 0.55rem;
}

.wisen-op-field textarea {
    min-height: 9rem;
}

.wisen-op-checkbox-label {
    display: flex !important;
    gap: 0.6rem;
    align-items: flex-start;
    font-weight: 400 !important;
    line-height: 1.45;
}

.wisen-op-checkbox-label input[type="checkbox"] {
    margin-top: 0.25rem;
    flex: 0 0 auto;
}

.wisen-op-privacy-note {
    margin: 0.6rem 0 0;
    font-family: inherit;
    font-size: 0.95rem !important;
    font-weight: 400;
    letter-spacing: 0.01em;
    line-height: 1.45;
    color: #183153;
}

.wisen-op-required {
    color: #b00020;
}

.wisen-op-error {
    color: #b00020;
    margin: 0.35rem 0 0;
}

.wisen-op-field-has-error input,
.wisen-op-field-has-error select,
.wisen-op-field-has-error textarea {
    border-color: #b00020;
}

.wisen-op-actions {
    margin-top: 0.5rem;
}

.wisen-op-form-grid .wisen-op-actions {
    grid-column: span 12;
}

.wisen-op-actions button {
    cursor: pointer;
    padding: 0.65rem 1.2rem;
}

.wisen-op-message {
    max-width: 760px;
    padding: 1rem;
    margin: 1rem 0;
    border-left: 4px solid #666;
    background: #f6f7f7;
}

.wisen-op-message-success {
    border-left-color: #1f7a1f;
}

.wisen-op-message-warning {
    border-left-color: #b36b00;
}

.wisen-op-message-error {
    border-left-color: #b00020;
}

.wisen-op-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

@media (max-width: 720px) {
    .wisen-op-form-grid {
        grid-template-columns: 1fr;
        column-gap: 0;
    }

    .wisen-op-span-12,
    .wisen-op-span-8,
    .wisen-op-span-6,
    .wisen-op-span-4,
    .wisen-op-form-grid .wisen-op-actions {
        grid-column: 1 / -1;
    }
}


/* WISEN OS Design Refresh v0.3.0 */
.wisen-op-form{
    max-width:1100px;
    margin:2rem auto;
    padding:2rem;
    background:#ffffff;
    border-radius:24px;
    box-shadow:0 10px 40px rgba(0,0,0,.08);
    border:1px solid #e8ecef;
    font-family:Inter,system-ui,sans-serif;
}
.wisen-op-field label{
    font-size:.95rem;
    letter-spacing:.01em;
    color:#183153;
    margin-bottom:.5rem;
}
.wisen-op-field input[type="text"],
.wisen-op-field input[type="email"],
.wisen-op-field input[type="tel"],
.wisen-op-field input[type="number"],
.wisen-op-field input[type="date"],
.wisen-op-field select,
.wisen-op-field textarea{
    border:1px solid #ccd5dd;
    border-radius:14px;
    background:#f8fafc;
    transition:border-color .2s ease, box-shadow .2s ease;
    padding:.9rem 1rem;
}
.wisen-op-field input:focus,
.wisen-op-field select:focus,
.wisen-op-field textarea:focus{
    outline:none;
    border-color:#0b5cab;
    box-shadow:0 0 0 4px rgba(11,92,171,.12);
    background:#fff;
}
.wisen-op-actions button{
    background:#0b5cab;
    color:#fff;
    border:none;
    border-radius:999px;
    font-weight:600;
    padding:.95rem 1.8rem;
}
.wisen-op-actions button:hover{
    background:#083f75;
}


.wisen-op-form-wrapper,
.wisen-op-form {
    background:#f5f7f9;
    border-radius:24px;
}

.wisen-op-form button,
.wisen-op-form input[type=submit]{
    background:#004b87;
    border-radius:28px;
    color:#fff;
}

.wisen-op-form button:hover,
.wisen-op-form input[type=submit]:hover{
    background:#003b6b;
}

.wisen-op-form input:focus,
.wisen-op-form textarea:focus,
.wisen-op-form select:focus{
    border-color:#004b87;
    box-shadow:0 0 0 1px #004b87;
}


.wisen-op-privacy small,
.wisen-op-privacy .privacy-note,
.wisen-op-privacy .privacy-link-note {
    font-size: 13px !important;
    line-height: 1.4;
    opacity: 0.9;
}

/* Original Beratungsanfrage layout */
.wisen-op-page-shell {
    background: #f4f4f4;
    padding: clamp(1.25rem, 3vw, 2.5rem) 24px;
    box-sizing: border-box;
}

.wisen-op-form.wisen-op-form-custom {
    width: min(1520px, 100%);
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    font-family: inherit;
}

.wisen-op-layout-row {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 20px;
    row-gap: 20px;
    margin-bottom: 20px;
}

.wisen-op-layout-row:last-of-type {
    margin-bottom: 0;
}

.wisen-op-layout-row .wisen-op-field {
    margin-bottom: 0;
}

.wisen-op-col-full {
    grid-column: span 12;
}

.wisen-op-col-half {
    grid-column: span 6;
}

.wisen-op-col-third {
    grid-column: span 4;
}

.wisen-op-col-sixth {
    grid-column: span 2;
}

.wisen-op-form-custom .wisen-op-field label {
    color: #344054;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0;
    margin-bottom: 5px;
}

.wisen-op-form-custom .wisen-op-required {
    color: #f04438;
    font-weight: 700;
}

.wisen-op-form-custom .wisen-op-field input[type="text"],
.wisen-op-form-custom .wisen-op-field input[type="email"],
.wisen-op-form-custom .wisen-op-field input[type="tel"],
.wisen-op-form-custom .wisen-op-field input[type="number"],
.wisen-op-form-custom .wisen-op-field input[type="date"],
.wisen-op-form-custom .wisen-op-field select,
.wisen-op-form-custom .wisen-op-field textarea {
    min-height: 36px;
    padding: 8px 12px;
    color: #1d2939;
    background: #ffffff;
    border: 1px solid #d0d5dd;
    border-radius: 8px;
    box-shadow: 0 1px 2px 0 rgba(18, 18, 23, 0.05);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.wisen-op-form-custom .wisen-op-field textarea {
    min-height: 120px;
}

.wisen-op-form-custom .wisen-op-field input:focus,
.wisen-op-form-custom .wisen-op-field select:focus,
.wisen-op-form-custom .wisen-op-field textarea:focus {
    outline: none;
    background: #ffffff;
    border-color: #e1000f;
    box-shadow: 0 0 5px 0 rgba(225, 0, 15, 0.6);
}

.wisen-op-form-custom .wisen-op-checkbox-label {
    gap: 0.6rem;
    color: #1d2939;
    font-size: 14px;
    font-weight: 400 !important;
    line-height: 1.45;
}

.wisen-op-form-custom .wisen-op-checkbox-label input[type="checkbox"] {
    margin-top: 0.15rem;
}

.wisen-op-form-custom .wisen-op-privacy-note {
    margin-top: 0.35rem;
    color: #1d2939;
    font-size: 14px !important;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.45;
}

.wisen-op-form-custom .wisen-op-error {
    color: #f04438;
    font-size: 12px;
    margin-top: 0.35rem;
}

.wisen-op-form-custom .wisen-op-actions {
    margin-top: 10px;
}

.wisen-op-form-custom .wisen-op-actions button,
.wisen-op-form-custom input[type="submit"] {
    padding: 8px 16px;
    color: #ffffff;
    background: #e1000f;
    border: 1px solid #e1000f;
    border-radius: 8px;
    box-shadow: 0 1px 1px #eeeeee;
    font-size: 14px;
    font-weight: 400;
}

.wisen-op-form-custom .wisen-op-actions button:hover,
.wisen-op-form-custom input[type="submit"]:hover {
    background: #e1000f;
    border-color: #e1000f;
}

@media (max-width: 900px) {
    .wisen-op-col-sixth,
    .wisen-op-col-third,
    .wisen-op-col-half {
        grid-column: span 6;
    }
}

@media (max-width: 720px) {
    .wisen-op-page-shell {
        padding: 1.25rem 16px;
    }

    .wisen-op-layout-row {
        grid-template-columns: 1fr;
        column-gap: 0;
    }

    .wisen-op-col-full,
    .wisen-op-col-half,
    .wisen-op-col-third,
    .wisen-op-col-sixth {
        grid-column: 1 / -1;
    }
}
