/* VSIUK designed form - no image background */
.vsiukd-alert{max-width:900px;margin:15px auto!important;padding:14px 18px!important;font:700 15px Arial,Helvetica,sans-serif!important;border-radius:4px!important}
.vsiukd-ok{background:#e9fff1!important;color:#096c2e!important;border-left:5px solid #149343!important}
.vsiukd-error{background:#fff0f0!important;color:#8b0f0f!important;border-left:5px solid #c12929!important}

.vsiukd-paper,.vsiukd-paper *{box-sizing:border-box!important}
.vsiukd-paper{width:900px!important;max-width:100%!important;margin:20px auto!important;background:#fff!important;color:#111!important;font-family:Arial,Helvetica,sans-serif!important;box-shadow:0 2px 14px rgba(0,0,0,.16)!important;overflow:hidden!important;border:0!important}
.vsiukd-top{height:58px!important;background:#111!important;position:relative!important}
.vsiukd-blue{position:absolute!important;left:0!important;top:0!important;height:35px!important;width:420px!important;background:#0875ee!important}
.vsiukd-blue:after{content:""!important;position:absolute!important;right:-50px!important;top:0!important;border-top:58px solid #0875ee!important;border-right:50px solid transparent!important}
.vsiukd-black{position:absolute!important;right:0!important;top:0!important;left:455px!important;height:58px!important;background:#111!important}
.vsiukd-top:after{content:""!important;position:absolute!important;left:0!important;bottom:0!important;width:100%!important;height:6px!important;background:#ddd!important}

.vsiukd-header{display:flex!important;align-items:center!important;gap:20px!important;padding:22px 38px 14px!important}
.vsiukd-logo{width:120px!important;height:120px!important;border:6px solid #0875ee!important;border-radius:50%!important;color:#0875ee!important;font-family:Georgia,serif!important;font-size:64px!important;font-weight:700!important;line-height:108px!important;text-align:center!important;letter-spacing:-6px!important;flex:0 0 auto!important}
.vsiukd-headtext{flex:1!important}
.vsiukd-brand{font-size:39px!important;font-weight:900!important;line-height:1.05!important;color:#0875ee!important;white-space:nowrap!important}
.vsiukd-slogan{text-align:center!important;font-size:23px!important;font-weight:800!important;margin-top:5px!important;color:#111!important}
.vsiukd-line{height:7px!important;border-top:3px solid #0875ee!important;border-bottom:2px solid #0875ee!important}

.vsiukd-form{padding:20px 52px 10px!important;margin:0!important;background:#fff!important}
.vsiukd-form h2{text-align:center!important;font-size:25px!important;font-weight:900!important;line-height:1.2!important;margin:0 0 22px!important;color:#111!important}
.vsiukd-form h3;font-size:22px!important}
.vsiukd-form h3{font-size:22px!important;font-weight:900!important;margin:0 0 14px!important;color:#111!important}

.vsiukd-title-row{display:flex!important;gap:26px!important;margin-bottom:30px!important;font-size:17px!important;align-items:center!important}
.vsiukd-title-row label{font-size:17px!important;font-weight:400!important;display:inline-flex!important;align-items:center!important;gap:6px!important;color:#111!important}
.vsiukd-title-row input{width:16px!important;height:16px!important;min-width:16px!important;margin:0!important;padding:0!important;accent-color:#111!important}

.vsiukd-two{display:grid!important;grid-template-columns:1fr 1fr!important;gap:34px!important;margin-bottom:16px!important}
.vsiukd-two label,.vsiukd-one label,.vsiukd-address label,.vsiukd-sign label{display:flex!important;align-items:center!important;gap:10px!important;font-size:21px!important;font-weight:500!important;color:#111!important;margin:0!important;line-height:1.2!important}
.vsiukd-two span,.vsiukd-one span,.vsiukd-address span,.vsiukd-sign span{white-space:nowrap!important}
.vsiukd-paper input[type=text],.vsiukd-paper input[type=email]{
    display:block!important;height:36px!important;min-height:36px!important;width:100%!important;max-width:none!important;margin:0!important;padding:4px 8px!important;border:2px solid #555!important;border-radius:0!important;background:#fff!important;color:#111!important;font:400 18px Arial,Helvetica,sans-serif!important;line-height:24px!important;box-shadow:none!important;outline:0!important;text-align:left!important
}
.vsiukd-paper input[readonly]{background:#fff!important;color:#111!important}

.vsiukd-one.short{width:500px!important;margin-bottom:22px!important}
.vsiukd-one.short input{flex:1!important}

.vsiukd-address{margin-bottom:22px!important}
.vsiukd-address>label input{border:0!important;border-bottom:2px solid #777!important;flex:1!important}
.vsiukd-address-bottom{display:grid!important;grid-template-columns:1fr 360px!important;gap:18px!important;align-items:center!important;margin-top:16px!important}
.vsiukd-address-bottom>input{border:0!important;border-bottom:2px solid #777!important}
.vsiukd-address-bottom label input{border:0!important;border-bottom:2px solid #777!important}

.occupation-row{grid-template-columns:390px 1fr!important}
.occupation-row label:first-child input{width:260px!important;flex:0 0 260px!important}
.mobile-box{letter-spacing:8px!important}

.vsiukd-membership{font-size:20px!important;line-height:1.25!important;margin:18px 0 24px!important;color:#111!important}
.vsiukd-membership div{font-size:20px!important;margin-bottom:2px!important}
.vsiukd-membership label{display:flex!important;align-items:baseline!important;font-size:20px!important;font-weight:400!important;white-space:nowrap!important;margin:3px 0!important;color:#111!important}
.vsiukd-membership input{width:15px!important;height:15px!important;min-width:15px!important;margin:0 5px 0 0!important;accent-color:#111!important}
.vsiukd-membership .dots{flex:1!important;border-bottom:3px dotted #222!important;margin:0 6px 5px!important;min-width:70px!important}

.email-row label input{border:0!important;border-bottom:2px solid #777!important;flex:1!important}

.vsiukd-org{margin:24px 0 22px!important}
.vsiukd-org label{display:block!important;font-size:19px!important;font-weight:400!important;line-height:1.2!important;color:#111!important}
.vsiukd-org input{margin-top:28px!important;border:0!important;border-bottom:2px solid #777!important}

.vsiukd-notes{font-size:16px!important;font-weight:600!important;line-height:1.2!important;margin:0 0 22px!important;color:#111!important}
.vsiukd-notes p{margin:4px 0!important}
.vsiukd-declaration{display:flex!important;gap:12px!important;align-items:flex-start!important;font-size:18px!important;font-weight:600!important;line-height:1.25!important;margin:0 0 30px!important;color:#111!important}
.vsiukd-declaration input{width:18px!important;height:18px!important;min-width:18px!important;margin:4px 0 0!important;accent-color:#111!important}

.vsiukd-sign{display:grid!important;grid-template-columns:1fr 1fr!important;gap:120px!important;padding:0 28px!important;margin-bottom:16px!important}
.vsiukd-sign input{border:0!important;border-bottom:2px dotted #222!important}
.vsiukd-dashed{border-top:2px dashed #aaa!important;margin:0 -52px 10px!important}

.vsiukd-office{border:2px solid #777!important;margin:0 0 8px!important;color:#111!important;background:#fff!important}
.vsiukd-office>div{background:#111!important;color:#fff!important;text-align:center!important;font-size:22px!important;font-weight:900!important;padding:6px!important;line-height:1!important}
.vsiukd-office p{font-size:20px!important;line-height:1.15!important;margin:12px 14px!important;color:#111!important}
.vsiukd-office strong{font-size:21px!important}
.vsiukd-office span{float:right!important;border-top:2px solid #444!important;padding-top:2px!important;margin-right:4px!important;font-size:16px!important}

.vsiukd-submit{display:block!important;margin:24px auto 8px!important;background:#0875ee!important;color:#fff!important;border:0!important;border-radius:4px!important;padding:14px 36px!important;font:800 17px Arial,Helvetica,sans-serif!important;line-height:1!important;cursor:pointer!important;box-shadow:0 2px 7px rgba(0,0,0,.22)!important}
.vsiukd-submit:hover{background:#005fc8!important;color:#fff!important}
.vsiukd-readonly .vsiukd-submit{display:none!important}

.vsiukd-footer{background:#0875ee!important;color:#fff!important;text-align:center!important;font-size:21px!important;font-weight:700!important;padding:13px!important;line-height:1.2!important}
.vsiukd-footer b{padding:0 18px!important}



/* =========================
   Full responsive layout
   ========================= */

/* Large tablets */
@media (max-width: 980px){
    .vsiukd-paper{
        width:94%!important;
        margin:18px auto!important;
    }
    .vsiukd-header{
        padding:20px 30px 14px!important;
        gap:16px!important;
    }
    .vsiukd-brand{
        font-size:34px!important;
        white-space:normal!important;
    }
    .vsiukd-slogan{
        font-size:20px!important;
    }
    .vsiukd-form{
        padding:20px 38px 10px!important;
    }
    .vsiukd-dashed{
        margin-left:-38px!important;
        margin-right:-38px!important;
    }
}

/* Tablets and small laptops */
@media (max-width: 820px){
    .vsiukd-paper{
        width:96%!important;
    }
    .vsiukd-top{
        height:48px!important;
    }
    .vsiukd-blue{
        width:340px!important;
        height:30px!important;
    }
    .vsiukd-blue:after{
        right:-42px!important;
        border-top-width:48px!important;
        border-right-width:42px!important;
    }
    .vsiukd-black{
        left:370px!important;
        height:48px!important;
    }
    .vsiukd-logo{
        width:92px!important;
        height:92px!important;
        line-height:82px!important;
        font-size:50px!important;
        border-width:5px!important;
    }
    .vsiukd-brand{
        font-size:28px!important;
    }
    .vsiukd-slogan{
        font-size:17px!important;
    }
    .vsiukd-form h2{
        font-size:22px!important;
    }
    .vsiukd-form h3{
        font-size:20px!important;
    }
    .vsiukd-two,
    .occupation-row,
    .vsiukd-sign{
        grid-template-columns:1fr!important;
        gap:14px!important;
    }
    .occupation-row label:first-child input{
        width:100%!important;
        flex:1 1 auto!important;
    }
    .vsiukd-sign{
        padding:0!important;
    }
    .vsiukd-address-bottom{
        grid-template-columns:1fr!important;
        gap:14px!important;
    }
    .vsiukd-one.short{
        width:100%!important;
    }
    .vsiukd-membership label{
        white-space:normal!important;
        display:flex!important;
        flex-wrap:wrap!important;
        gap:2px!important;
    }
    .vsiukd-membership .dots{
        flex:1 1 120px!important;
    }
}

/* Mobile */
@media (max-width: 600px){
    .vsiukd-paper{
        width:100%!important;
        margin:10px auto!important;
        box-shadow:none!important;
    }
    .vsiukd-top{
        height:38px!important;
    }
    .vsiukd-blue{
        width:230px!important;
        height:24px!important;
    }
    .vsiukd-blue:after{
        right:-34px!important;
        border-top-width:38px!important;
        border-right-width:34px!important;
    }
    .vsiukd-black{
        left:255px!important;
        height:38px!important;
    }
    .vsiukd-header{
        padding:16px 16px 12px!important;
        gap:12px!important;
        align-items:center!important;
    }
    .vsiukd-logo{
        width:70px!important;
        height:70px!important;
        line-height:62px!important;
        font-size:38px!important;
        border-width:4px!important;
        letter-spacing:-4px!important;
    }
    .vsiukd-brand{
        font-size:21px!important;
        line-height:1.08!important;
        white-space:normal!important;
    }
    .vsiukd-slogan{
        text-align:left!important;
        font-size:14px!important;
        line-height:1.25!important;
    }
    .vsiukd-form{
        padding:16px 16px 8px!important;
    }
    .vsiukd-form h2{
        font-size:19px!important;
        margin-bottom:18px!important;
    }
    .vsiukd-form h3{
        font-size:18px!important;
    }
    .vsiukd-title-row{
        flex-wrap:wrap!important;
        gap:12px 20px!important;
        margin-bottom:22px!important;
    }
    .vsiukd-title-row label{
        font-size:16px!important;
    }
    .vsiukd-two label,
    .vsiukd-one label,
    .vsiukd-address label,
    .vsiukd-sign label{
        display:block!important;
        font-size:16px!important;
    }
    .vsiukd-two span,
    .vsiukd-one span,
    .vsiukd-address span,
    .vsiukd-sign span{
        display:block!important;
        margin-bottom:5px!important;
    }
    .vsiukd-paper input[type=text],
    .vsiukd-paper input[type=email]{
        width:100%!important;
        height:38px!important;
        min-height:38px!important;
        font-size:16px!important;
    }
    .vsiukd-address>label input,
    .vsiukd-address-bottom>input,
    .vsiukd-address-bottom label input,
    .email-row label input,
    .vsiukd-org input,
    .vsiukd-sign input{
        border:2px solid #555!important;
        border-radius:0!important;
    }
    .vsiukd-address-bottom{
        margin-top:14px!important;
    }
    .mobile-box{
        letter-spacing:2px!important;
    }
    .vsiukd-membership{
        font-size:16px!important;
        margin:16px 0 20px!important;
    }
    .vsiukd-membership div{
        font-size:17px!important;
        font-weight:700!important;
        margin-bottom:6px!important;
    }
    .vsiukd-membership label{
        display:grid!important;
        grid-template-columns:18px 1fr!important;
        white-space:normal!important;
        font-size:15px!important;
        line-height:1.3!important;
        margin:8px 0!important;
    }
    .vsiukd-membership input{
        margin-top:2px!important;
    }
    .vsiukd-membership .dots{
        display:none!important;
    }
    .vsiukd-org{
        margin:20px 0!important;
    }
    .vsiukd-org label{
        font-size:16px!important;
    }
    .vsiukd-org input{
        margin-top:8px!important;
    }
    .vsiukd-notes{
        font-size:14px!important;
    }
    .vsiukd-declaration{
        font-size:14px!important;
        gap:10px!important;
    }
    .vsiukd-office>div{
        font-size:17px!important;
    }
    .vsiukd-office p{
        font-size:15px!important;
        line-height:1.25!important;
        margin:10px!important;
    }
    .vsiukd-office strong{
        font-size:16px!important;
    }
    .vsiukd-office span{
        float:none!important;
        display:block!important;
        width:max-content!important;
        max-width:100%!important;
        margin-top:18px!important;
        font-size:13px!important;
    }
    .vsiukd-dashed{
        margin-left:-16px!important;
        margin-right:-16px!important;
    }
    .vsiukd-submit{
        width:100%!important;
        padding:14px 18px!important;
        font-size:16px!important;
    }
    .vsiukd-footer{
        font-size:14px!important;
        line-height:1.4!important;
        padding:12px 10px!important;
    }
    .vsiukd-footer b{
        padding:0 8px!important;
    }
}

/* Very small mobile */
@media (max-width: 390px){
    .vsiukd-header{
        flex-direction:column!important;
        text-align:center!important;
    }
    .vsiukd-slogan{
        text-align:center!important;
    }
    .vsiukd-brand{
        font-size:19px!important;
    }
    .vsiukd-form h2{
        font-size:17px!important;
    }
    .vsiukd-form h3{
        font-size:16px!important;
    }
}


/* =========================
   v8 header overflow fix
   ========================= */
.vsiukd-header{
    width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
}
.vsiukd-headtext{
    min-width:0!important;
    overflow:hidden!important;
}
.vsiukd-brand{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    text-wrap:balance!important;
    font-size:clamp(24px, 4.15vw, 39px)!important;
    line-height:1.05!important;
}
.vsiukd-slogan{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow:hidden!important;
    text-overflow:clip!important;
    font-size:clamp(15px, 2.35vw, 23px)!important;
    line-height:1.2!important;
}
.vsiukd-logo{
    flex:0 0 auto!important;
}

/* keep desktop form inside container */
.vsiukd-paper{
    overflow:hidden!important;
}
.vsiukd-form{
    overflow:hidden!important;
}

/* Medium desktop: reduce logo slightly so title never cuts */
@media (max-width: 1100px){
    .vsiukd-logo{
        width:96px!important;
        height:96px!important;
        line-height:86px!important;
        font-size:52px!important;
        border-width:5px!important;
    }
    .vsiukd-header{
        gap:16px!important;
        padding-left:30px!important;
        padding-right:30px!important;
    }
}

/* Elementor/content column safety */
@media (max-width: 980px){
    .vsiukd-brand{
        font-size:clamp(22px, 4vw, 34px)!important;
    }
}

/* Mobile header: stack if needed */
@media (max-width: 520px){
    .vsiukd-header{
        flex-direction:column!important;
        text-align:center!important;
    }
    .vsiukd-slogan{
        text-align:center!important;
    }
}
