.kmnl {
    max-width: 760px;
    margin: 0;
}

.kmnl__header { margin-bottom: 1.25rem; }
.kmnl__title { margin-bottom: .4rem; }
.kmnl__intro { margin: 0; }

.kmnl__row--two {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.kmnl__field { margin-bottom: 1rem; }
.kmnl__field label { display: block; margin-bottom: .35rem; font-weight: 600; }
.kmnl__field input[type="text"],
.kmnl__field input[type="email"] {
    width: 100%;
    box-sizing: border-box;
}

.kmnl__consent { margin: .25rem 0 1rem; }
.kmnl__consent label { display: flex; gap: .6rem; align-items: flex-start; }
.kmnl__consent input { margin-top: .3rem; flex: 0 0 auto; }
.kmnl__actions { margin-top: 1rem; }
.kmnl__submit[disabled] { opacity: .65; cursor: wait; }

.kmnl__message {
    margin-top: 1rem;
    padding: .8rem 1rem;
    border: 1px solid currentColor;
}
.kmnl__message.is-success { font-weight: 600; }
.kmnl__message.is-error { font-weight: 600; }

.kmnl__honeypot {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

@media (max-width: 600px) {
    .kmnl__row--two { grid-template-columns: 1fr; gap: 0; }
}

/* Enfold ALB variants */
.kmnl--compact {
    max-width: 560px;
}
.kmnl--compact .kmnl__header {
    margin-bottom: .8rem;
}
.kmnl--compact .kmnl__field {
    margin-bottom: .7rem;
}

.kmnl--horizontal {
    max-width: none;
}
.kmnl--horizontal .kmnl__form {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto;
    gap: .8rem 1rem;
    align-items: end;
}
.kmnl--horizontal .kmnl__row--two,
.kmnl--horizontal .kmnl__consent,
.kmnl--horizontal .kmnl__message {
    grid-column: 1 / -1;
}
.kmnl--horizontal .kmnl__field,
.kmnl--horizontal .kmnl__actions {
    margin: 0;
}
.kmnl--horizontal .kmnl__submit {
    white-space: nowrap;
}

@media (max-width: 767px) {
    .kmnl--horizontal .kmnl__form {
        grid-template-columns: 1fr;
    }
    .kmnl--horizontal .kmnl__row--two,
    .kmnl--horizontal .kmnl__consent,
    .kmnl--horizontal .kmnl__message {
        grid-column: auto;
    }
}


.kmnl-modal-open { overflow: hidden; }
.kmnl__privacy-modal {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}
.kmnl__privacy-modal[hidden] { display: none !important; }
.kmnl__privacy-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.55);
}
.kmnl__privacy-dialog {
    position: relative;
    z-index: 1;
    width: min(760px, 100%);
    max-height: 85vh;
    overflow: auto;
    background: #fff;
    border-radius: 10px;
    padding: 28px;
    box-shadow: 0 20px 60px rgba(0,0,0,.25);
}
.kmnl__privacy-close {
    position: sticky;
    float: right;
    top: 0;
    margin: -10px -8px 10px 15px;
    border: 0;
    background: transparent;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
}
.kmnl__privacy-content h2 { margin-top: 0; }
.kmnl__privacy-content h3 { margin-top: 1.4em; }
@media (max-width: 600px) {
    .kmnl__privacy-modal { padding: 12px; }
    .kmnl__privacy-dialog { padding: 20px; max-height: 90vh; }
}
