/* ── MailerLite Newsletter Block v2 — Red Room Studio ──────────────────────── */

.mlnb-wrap { width: 100%; box-sizing: border-box; }

/* ── Fields row ────────────────────────────────────────────────────────────── */
.mlnb-fields { display: flex; gap: 8px; align-items: stretch; }

.mlnb-inline .mlnb-fields  { flex-direction: row; flex-wrap: nowrap; }
.mlnb-inline .mlnb-input   { flex: 1 1 auto; min-width: 0; }
.mlnb-inline .mlnb-btn     { flex: 0 0 auto; white-space: nowrap; }
.mlnb-stacked .mlnb-fields { flex-direction: column; }
.mlnb-stacked .mlnb-input,
.mlnb-stacked .mlnb-btn    { width: 100%; }

/* ── Input ─────────────────────────────────────────────────────────────────── */
.mlnb-input {
    background-color : var(--mlnb-input-bg, #fff);
    border           : var(--mlnb-input-border-w, 1px) solid var(--mlnb-input-border, #ccc);
    color            : var(--mlnb-input-color, #111);
    border-radius    : var(--mlnb-input-radius, 4px);
    padding          : var(--mlnb-input-pad-v, 10px) var(--mlnb-input-pad-h, 14px);
    font-size        : var(--mlnb-input-font-size, 14px);
    font-family      : inherit;
    line-height      : 1.4;
    outline          : none;
    box-sizing       : border-box;
    transition       : border-color .2s, box-shadow .2s;
}
.mlnb-input:focus {
    border-color : var(--mlnb-btn-bg, #111);
    box-shadow   : 0 0 0 3px color-mix(in srgb, var(--mlnb-btn-bg, #111) 15%, transparent);
}
.mlnb-input::placeholder {
    color   : color-mix(in srgb, var(--mlnb-input-color, #111) 45%, transparent);
    opacity : 1;
}

/* ── Button ────────────────────────────────────────────────────────────────── */
.mlnb-btn {
    background-color : var(--mlnb-btn-bg, #111);
    color            : var(--mlnb-btn-color, #fff);
    border           : var(--mlnb-btn-border-w, 0) solid var(--mlnb-btn-border-c, #111);
    border-radius    : var(--mlnb-btn-radius, 4px);
    padding          : var(--mlnb-btn-pad-v, 10px) var(--mlnb-btn-pad-h, 22px);
    font-size        : var(--mlnb-btn-font-size, 14px);
    font-weight      : var(--mlnb-btn-font-weight, 600);
    font-family      : inherit;
    cursor           : pointer;
    line-height      : 1.4;
    box-shadow       : var(--mlnb-btn-shadow, none);
    box-sizing       : border-box;
    transition       : background-color .15s, box-shadow .15s, transform .1s;
}
.mlnb-btn:hover:not(:disabled) {
    background-color : var(--mlnb-btn-hover, #333);
    transform        : translateY(-1px);
}
.mlnb-btn:active:not(:disabled) { transform: translateY(0); }
.mlnb-btn:disabled { opacity: .55; cursor: not-allowed; }

/* ── Privacy checkbox ──────────────────────────────────────────────────────── */
.mlnb-privacy {
    display     : flex;
    align-items : flex-start;
    gap         : 8px;
    margin-top  : 10px;
    cursor      : pointer;
    font-size   : .875em;
    color       : var(--mlnb-privacy-color, #555);
    font-family : inherit;
    line-height : 1.4;
}
.mlnb-privacy input[type="checkbox"] {
    margin-top  : .15em;
    flex-shrink : 0;
    cursor      : pointer;
    accent-color: var(--mlnb-btn-bg, #111);
}
.mlnb-privacy a {
    color           : var(--mlnb-privacy-color, #555);
    text-decoration : underline;
}
.mlnb-privacy a:hover { opacity: .75; }

/* ── Messages ──────────────────────────────────────────────────────────────── */
.mlnb-msg {
    margin      : 8px 0 0;
    font-size   : var(--mlnb-success-font-size, 14px);
    font-family : inherit;
    line-height : 1.4;
    min-height  : 1.4em;
}
.mlnb-msg.mlnb-success { color: var(--mlnb-success-color, #1a7f5a); }
.mlnb-msg.mlnb-error   { color: #c0392b; }

/* ── Responsive ────────────────────────────────────────────────────────────── */
@media (max-width: 480px) {
    .mlnb-inline .mlnb-fields { flex-direction: column; }
    .mlnb-inline .mlnb-btn    { width: 100%; }
}

/* ── Contact Form ──────────────────────────────────────────────────────────── */
.mlnb-cf-fields { display: flex; flex-direction: column; gap: var(--mlnb-row-gap, 14px); }

.mlnb-cf-row { display: flex; gap: var(--mlnb-row-gap, 14px); }
.mlnb-cf-row--half > .mlnb-cf-group { flex: 1 1 0; min-width: 0; }

.mlnb-cf-group { display: flex; flex-direction: column; flex: 1; gap: 5px; }

.mlnb-cf-label {
    font-size   : var(--mlnb-label-font-size, 13px);
    font-weight : 500;
    color       : var(--mlnb-label-color, #333);
    font-family : inherit;
}

.mlnb-required { color: #c0392b; margin-left: 2px; }

.mlnb-textarea {
    resize      : vertical;
    min-height  : 100px;
    line-height : 1.5;
    width       : 100%;
}

.mlnb-cf-footer {
    display     : flex;
    flex-direction: column;
    gap         : 8px;
    margin-top  : 4px;
}

.mlnb-cf-btn { align-self: flex-start; }

@media (max-width: 520px) {
    .mlnb-cf-row--half { flex-direction: column; }
}
