/* Newsletter Signup — Split Vertical Zone (one of two side-by-side zones).
 * The card is split into two halves: text on the left (centered), QR on
 * the right. Same airmail border + transparent slide bg as the main
 * design, with bigger text since each half has plenty of room. */

.ns-splitv {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
}

.ns-splitv-card {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: row;
    color: #1f2937;
    width: 80%;
    height: 70%;
    box-sizing: border-box;
    box-shadow: 0 1.5cqmin 3cqmin rgba(0, 0, 0, 0.18);

    /* Airmail border */
    border: 2.8cqmin solid transparent;
    border-radius: 0;
    background-image:
        linear-gradient(#ffffff, #ffffff),
        repeating-linear-gradient(
            45deg,
            #d92020 0 3.5cqmin,
            #ffffff 3.5cqmin 5.5cqmin,
            #1a4ec4 5.5cqmin 9cqmin,
            #ffffff 9cqmin 11cqmin
        );
    background-origin: padding-box, border-box;
    background-clip: padding-box, border-box;
}

/* Left half — text (sender + tagline + url), centered vertically and
 * horizontally. Takes whatever the QR column doesn't claim. */
.ns-splitv-left {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4cqmin;
    box-sizing: border-box;
    gap: 4cqmin;
    text-align: center;
}
.ns-splitv-sender {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 800 !important;
    font-size: 9cqmin !important;
    color: #111827 !important;
    letter-spacing: -0.01em !important;
    line-height: 1.1 !important;
    max-width: 100%;
}
.ns-splitv-address {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 2.5cqmin;
}
.ns-splitv-address-line {
    line-height: 2 !important;
    text-decoration: underline solid #1f2937;
    text-decoration-thickness: 0.18cqmin;
    text-underline-offset: 1.6cqmin;
}
.ns-splitv-address-sub {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 500 !important;
    font-size: 5cqmin !important;
    color: #4b5563 !important;
}
.ns-splitv-address-url {
    font-family: 'Roboto Mono', monospace !important;
    font-size: 4.2cqmin !important;
    color: #F97316 !important;
    word-break: break-all;
}

/* Right half — QR stamp + scan caption. Width is exactly the QR's width
 * plus 2.5% padding on each side (so the column hugs the QR rather than
 * splitting the card 50/50). */
.ns-splitv-right {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0 2.5%;
    box-sizing: content-box;
    gap: 2cqmin;
}
.ns-splitv-qr-wrap {
    position: relative;
    width: 50cqmin;
    height: 50cqmin;
}
.ns-splitv-qr-wrap::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #ffffff;
    --d: 0.9cqmin;
    -webkit-mask:
        radial-gradient(circle var(--d) at var(--d) var(--d), transparent 98%, #000) 0 0 / calc(2 * var(--d)) calc(2 * var(--d));
    mask:
        radial-gradient(circle var(--d) at var(--d) var(--d), transparent 98%, #000) 0 0 / calc(2 * var(--d)) calc(2 * var(--d));
}
.ns-splitv-qr {
    position: absolute;
    inset: 1.6cqmin;
    background: #ffffff;
    border: 0.4cqmin solid #F97316;
    box-sizing: border-box;
    padding: 0.4cqmin;
    z-index: 1;
}
.ns-splitv-qr svg {
    width: 100%;
    height: 100%;
    display: block;
}
.ns-splitv-scan {
    text-align: center;
    font-size: 3cqmin !important;
    font-weight: 700 !important;
    font-family: 'Montserrat', sans-serif !important;
    color: #F97316 !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
