
/*
|--------------------------------------------------------------------------
| KING BADGER — NEWSLETTER SECTION ALIGNMENT FIX
|--------------------------------------------------------------------------
| Layout-only refinement for the homepage newsletter section.
| Newsletter form action, AJAX, validation and subscription logic are unchanged.
|--------------------------------------------------------------------------
*/

:root{
    --kb-news-pink:#F23A82;
    --kb-news-strong:#D9286C;
    --kb-news-wine:#76213F;
    --kb-news-ink:#281820;
    --kb-news-muted:#7A6871;
    --kb-news-border:#F1CCD9;
    --kb-news-gradient:linear-gradient(135deg,#F23A82 0%,#D9286C 58%,#B91F5A 100%);
}

/* Give the section clean breathing room and keep it centered. */
body .kb-newsletter-banner-section{
    width:100%!important;
    margin:0!important;
    padding:34px 0!important;
    overflow:hidden!important;
    background:transparent!important;
}

body .kb-newsletter-banner-section > .kb-home-width{
    width:100%!important;
    max-width:1240px!important;
    margin:0 auto!important;
    padding-left:24px!important;
    padding-right:24px!important;
}

/* Desktop: copy on the left, newsletter form on the right. */
body .kb-newsletter-banner{
    width:100%!important;
    max-width:100%!important;
    min-height:190px!important;
    margin:0 auto!important;
    padding:34px 38px!important;
    box-sizing:border-box!important;

    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(420px,560px)!important;
    align-items:center!important;
    column-gap:46px!important;
    row-gap:24px!important;

    border:1px solid var(--kb-news-border)!important;
    border-radius:18px!important;
    overflow:hidden!important;
}

body .kb-newsletter-banner > div{
    min-width:0!important;
    max-width:540px!important;
}

body .kb-newsletter-banner .kb-section-kicker{
    display:block!important;
    margin:0 0 8px!important;
    color:var(--kb-news-strong)!important;
    font-size:12px!important;
    line-height:1.2!important;
    font-weight:800!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
}

body .kb-newsletter-banner h2{
    margin:0 0 9px!important;
    color:var(--kb-news-ink)!important;
    font-size:clamp(24px,2.3vw,34px)!important;
    line-height:1.15!important;
    letter-spacing:-.025em!important;
}

body .kb-newsletter-banner p{
    max-width:500px!important;
    margin:0!important;
    color:var(--kb-news-muted)!important;
    font-size:14px!important;
    line-height:1.65!important;
}

/* Form stays fully visible and never shifts outside the card. */
body .kb-inline-newsletter{
    width:100%!important;
    max-width:560px!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    justify-self:end!important;

    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:stretch!important;
    gap:0!important;

    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
}

body .kb-inline-newsletter input{
    width:100%!important;
    min-width:0!important;
    height:52px!important;
    min-height:52px!important;
    margin:0!important;
    padding:0 18px!important;

    border:1.5px solid #E8D7DE!important;
    border-right:0!important;
    border-radius:11px 0 0 11px!important;
    box-sizing:border-box!important;

    color:var(--kb-news-ink)!important;
    background:#fff!important;
    font-size:14px!important;
    line-height:1.2!important;
}

body .kb-inline-newsletter input:focus{
    position:relative!important;
    z-index:2!important;
    border-color:var(--kb-news-pink)!important;
    border-right:1.5px solid var(--kb-news-pink)!important;
    box-shadow:0 0 0 3px rgba(242,58,130,.11)!important;
    outline:none!important;
}

body .kb-inline-newsletter button{
    width:auto!important;
    min-width:146px!important;
    height:52px!important;
    min-height:52px!important;
    margin:0!important;
    padding:0 22px!important;

    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;

    border:1.5px solid transparent!important;
    border-radius:0 11px 11px 0!important;
    box-sizing:border-box!important;

    color:#fff!important;
    background:var(--kb-news-gradient)!important;
    box-shadow:0 8px 20px rgba(242,58,130,.18)!important;

    font-size:13px!important;
    line-height:1!important;
    font-weight:800!important;
    letter-spacing:.025em!important;
    white-space:nowrap!important;
    transition:none!important;
}

body .kb-inline-newsletter button:hover,
body .kb-inline-newsletter button:focus,
body .kb-inline-newsletter button:focus-visible,
body .kb-inline-newsletter button:active{
    color:#fff!important;
    background:var(--kb-news-gradient)!important;
    border-color:transparent!important;
    box-shadow:0 8px 20px rgba(242,58,130,.18)!important;
    transform:none!important;
    filter:none!important;
}

/* Tablet: stack content and form while keeping strong alignment. */
@media(max-width:991.98px){
    body .kb-newsletter-banner-section{
        padding:28px 0!important;
    }

    body .kb-newsletter-banner{
        min-height:0!important;
        padding:30px!important;
        grid-template-columns:1fr!important;
        row-gap:22px!important;
    }

    body .kb-newsletter-banner > div{
        max-width:680px!important;
    }

    body .kb-inline-newsletter{
        width:100%!important;
        max-width:680px!important;
        justify-self:start!important;
    }
}

/* Mobile: full-width input and button stacked with no clipping. */
@media(max-width:575.98px){
    body .kb-newsletter-banner-section{
        padding:20px 0!important;
    }

    body .kb-newsletter-banner-section > .kb-home-width{
        padding-left:14px!important;
        padding-right:14px!important;
    }

    body .kb-newsletter-banner{
        padding:22px 18px!important;
        border-radius:14px!important;
        row-gap:18px!important;
    }

    body .kb-newsletter-banner h2{
        font-size:24px!important;
    }

    body .kb-newsletter-banner p{
        font-size:13px!important;
    }

    body .kb-inline-newsletter{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:9px!important;
        max-width:none!important;
    }

    body .kb-inline-newsletter input{
        width:100%!important;
        height:50px!important;
        min-height:50px!important;
        border:1.5px solid #E8D7DE!important;
        border-radius:10px!important;
    }

    body .kb-inline-newsletter input:focus{
        border-right:1.5px solid var(--kb-news-pink)!important;
    }

    body .kb-inline-newsletter button{
        width:100%!important;
        min-width:0!important;
        height:50px!important;
        min-height:50px!important;
        border-radius:10px!important;
    }
}

/* Very narrow devices */
@media(max-width:360px){
    body .kb-newsletter-banner{
        padding:20px 14px!important;
    }

    body .kb-newsletter-banner-section > .kb-home-width{
        padding-left:10px!important;
        padding-right:10px!important;
    }
}
