/* La Bella B2B Login Popup v1.1.3 */
:root{
    --labella-primary: #a1d5c8; /* hoofdkleur */
    --labella-accent: #ffd65a;
}

body.labella-no-scroll{ overflow: hidden; }

#labella-b2b-modal{
    position: fixed;
    inset: 0;
    display: none;
    z-index: 999999;
}

#labella-b2b-modal.is-open{ display:block; }

#labella-b2b-modal .labella-overlay{
    position:absolute; inset:0;
    background: rgba(0,0,0,.45);
    backdrop-filter: blur(2px);
}

#labella-b2b-modal .labella-dialog{
    position:absolute; left:50%; top:50%;
    transform: translate(-50%,-50%);
    width: min(92vw, 440px);
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 20px 50px rgba(0,0,0,.25);
    overflow: hidden;
    font-family: system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}

#labella-b2b-modal .labella-header{
    padding: 18px 20px;
    background: linear-gradient(90deg, var(--labella-primary), var(--labella-primary));
    color:#fff;
    display:flex; align-items:center; justify-content:space-between;
}

#labella-b2b-modal .labella-title{
    font-size: 18px; font-weight: 700; margin:0;
}

#labella-b2b-modal .labella-close{
    background: transparent; border: 0; color: #fff; font-size: 18px; cursor: pointer;
}

#labella-b2b-modal .labella-body{
    padding: 20px;
}

#labella-b2b-modal .labella-logo-wrap{
    display:flex;
    justify-content:center;
    align-items:center;
    margin:0 0 18px;
}

#labella-b2b-modal .labella-login-logo{
    display:block;
    width:auto;
    max-width:280px;
    max-height:120px;
    height:auto;
}

#labella-b2b-modal form .field{
    margin-bottom: 14px;
}
#labella-b2b-modal label{
    display:block; font-size: 13px; margin-bottom: 6px; color:#222;
}
#labella-b2b-modal input[type="text"],
#labella-b2b-modal input[type="email"],
#labella-b2b-modal input[type="password"]{
    width:100%; padding: 12px 14px; border:1px solid #d9d9d9; border-radius: 12px; font-size: 15px;
}

#labella-b2b-modal .remember{
    display:flex; align-items:center; gap:8px; margin:6px 0 12px;
    font-size: 13px;
}

#labella-b2b-modal .labella-actions{
    display:flex; align-items:center; justify-content:space-between; gap: 14px;
}

#labella-b2b-modal .labella-btn{
    appearance:none; border:0; border-radius:12px; padding:12px 16px; font-weight:700; cursor:pointer;
    background: var(--labella-primary); color:#fff;
    transition: transform .06s ease, box-shadow .2s ease;
    box-shadow: 0 6px 14px rgba(0,0,0,.15);
}
#labella-b2b-modal .labella-btn:hover{ transform: translateY(-1px); }
#labella-b2b-modal .labella-btn:active{ transform: translateY(1px); }

#labella-b2b-modal .labella-btn-outline{
    background: transparent;
    color: var(--labella-primary);
    border: 2px solid var(--labella-primary);
}

#labella-b2b-modal .labella-link{
    background:transparent; border:0; color: var(--labella-primary); text-decoration: underline; cursor:pointer;
    padding: 0;
}

#labella-b2b-modal .labella-message{
    margin-top: 8px; font-size: 13px; min-height: 18px;
}
#labella-b2b-modal .labella-message.error{ color: #c62828; }
#labella-b2b-modal .labella-message.success{ color: #2e7d32; }

/* Generic trigger button */
button.labella-b2b-open{
    background: var(--labella-primary);
    color: #fff;
    border:0; border-radius: 999px;
    padding: 10px 16px;
    font-weight: 700;
    cursor: pointer;
}

@media (prefers-color-scheme: dark){
    #labella-b2b-modal .labella-dialog{ background: #0f0f10; color:#f1f1f1; }
    #labella-b2b-modal label{ color: #e8e8e8; }
    #labella-b2b-modal input[type="text"],
    #labella-b2b-modal input[type="email"],
    #labella-b2b-modal input[type="password"]{
        background:#151517; border-color:#2a2a2e; color:#f1f1f1;
    }
}
