/* sthlm08 Newsletter – minimal, neutral styling som lätt kan överstyras av temat */

.sthlm08-nl {
    max-width: 520px;
    margin: 1.5em 0;
    font-family: inherit;
}

.sthlm08-nl__title {
    margin: 0 0 .3em;
    font-size: 1.4em;
}

.sthlm08-nl__description {
    margin: 0 0 1em;
    color: #555;
}

.sthlm08-nl__row {
    display: flex;
    gap: .5em;
    margin-bottom: .75em;
}

.sthlm08-nl__input {
    flex: 1 1 auto;
    padding: .7em .9em;
    font-size: 1em;
    border: 1px solid #c8c8c8;
    border-radius: 4px;
    background: #fff;
    color: #222;
    line-height: 1.3;
    min-width: 0;
}

.sthlm08-nl__input:focus {
    outline: 2px solid #1f6feb;
    outline-offset: 1px;
    border-color: transparent;
}

.sthlm08-nl__button {
    flex: 0 0 auto;
    padding: .7em 1.2em;
    font-size: 1em;
    font-weight: 600;
    border: 0;
    border-radius: 4px;
    background: #1a1a1a;
    color: #fff;
    cursor: pointer;
    line-height: 1.3;
    transition: background-color .15s ease;
}

.sthlm08-nl__button:hover:not(:disabled) { background: #333; }
.sthlm08-nl__button:disabled { opacity: .6; cursor: wait; }

.sthlm08-nl__gdpr {
    font-size: .9em;
    line-height: 1.4;
    color: #444;
    cursor: pointer;
}

.sthlm08-nl__gdpr input[type="checkbox"] {
    margin-top: .25em;
    flex: 0 0 auto;
}

.sthlm08-nl__turnstile {
    margin-top: .75em;
}

/* Steg 2 */
.sthlm08-nl__step2-intro {
    margin: 0 0 1em;
    color: #444;
}

.sthlm08-nl__field {
    margin-bottom: .75em;
}

.sthlm08-nl__field label {
    display: block;
    font-size: .9em;
    margin-bottom: .25em;
    color: #444;
}

.sthlm08-nl__field .sthlm08-nl__input {
    width: 100%;
}

.sthlm08-nl__row--actions {
    align-items: center;
    margin-top: 1em;
}

.sthlm08-nl__skip {
    background: none;
    border: 0;
    color: #555;
    text-decoration: underline;
    cursor: pointer;
    font-size: .95em;
    padding: .5em;
}

.sthlm08-nl__skip:hover {
    color: #1a1a1a;
}

.sthlm08-nl__done {
    padding: 1em;
    background: #f0f9f0;
    border-radius: 4px;
    color: #2e7d32;
    text-align: center;
}

.sthlm08-nl__done-text {
    margin: 0;
}

.sthlm08-nl__message {
    margin-top: .75em;
    font-size: .95em;
    min-height: 1.2em;
}

.sthlm08-nl__message.is-error   { color: #b00020; }
.sthlm08-nl__message.is-success { color: #2e7d32; }

/* Honeypot – helt dolt för människor, synligt för bots */
.sthlm08-nl__hp {
    position: absolute !important;
    left: -9999px !important;
    width: 1px; height: 1px;
    overflow: hidden;
}

/* Responsivt: stapla knapp under fältet på små skärmar */
@media (max-width: 480px) {
    .sthlm08-nl__row { flex-direction: column; }
    .sthlm08-nl__button { width: 100%; }
}
