/* mgs-login — scoped & defensive: alza la specificità con .mgsl-auth e forza
   le proprietà che il tema (regole globali su input/button) tende a sovrascrivere.
   Font-family non hardcodato: eredita quello del tema (vedi .mgsl-auth e i controlli form). */
.mgsl-auth{font-family:inherit;color:#161616;max-width:1040px;margin:40px auto;padding:0 16px;box-sizing:border-box}
.mgsl-auth *{box-sizing:border-box}
.mgsl-auth .mgsl-card{display:flex;min-height:600px;background:#fff;border:1px solid rgba(0,0,0,.09);border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.07);overflow:hidden}
.mgsl-auth .mgsl-form-col{width:54%;padding:52px 56px;display:flex;flex-direction:column;gap:6px}
.mgsl-auth .mgsl-brand-col{width:46%;background:#cf132f;color:#fff;padding:52px 46px;display:flex;flex-direction:column;justify-content:space-between}
.mgsl-auth .mgsl-logo{margin-bottom:24px;line-height:0}
.mgsl-auth .mgsl-logo img{display:block;height:38px;width:auto;max-width:100%}
.mgsl-auth h1{font-weight:700;font-size:30px;line-height:1.12;letter-spacing:-.02em;margin:0;color:#161616}
.mgsl-auth .mgsl-sub{font-weight:400;font-size:15px;line-height:1.5;color:#6b6863;margin:8px 0 18px}

/* Campi — form e label a piena larghezza per allinearli a titolo/sottotitolo */
.mgsl-auth form.mgsl-view{width:100%;margin:0;padding:0;}
.mgsl-auth .mgsl-label{width:100%;display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:11px;line-height:1.2;letter-spacing:.09em;text-transform:uppercase;color:#8a877f;margin-bottom:12px;padding:0;}
.mgsl-auth .mgsl-label input{
  height:48px!important;min-height:48px!important;max-height:48px!important;
  padding:0 14px!important;margin:0!important;width:100%!important;
  border:1px solid #d7d4cf!important;border-radius:7px!important;background:#fff!important;
  font-family:inherit!important;font-weight:400!important;font-size:15px!important;line-height:48px!important;color:#161616!important;
  text-transform:none;letter-spacing:normal;-webkit-appearance:none;appearance:none;box-shadow:none!important}
.mgsl-auth .mgsl-label input:focus{outline:none;border-color:#cf132f!important;box-shadow:0 0 0 3px rgba(207,19,47,.12)!important}
.mgsl-auth .mgsl-label input.mgsl-invalid{border-color:#cf132f!important}

/* Righe a due colonne 50% (stack su mobile) */
.mgsl-auth .mgsl-row{display:flex;gap:16px;width:100%}
.mgsl-auth .mgsl-row .mgsl-label{flex:1 1 0;min-width:0}

.mgsl-auth .mgsl-check{display:flex;align-items:flex-start;gap:9px;font-weight:400;font-size:14px;line-height:1.45;color:#4a4843;margin:2px 0 14px;padding:0;text-transform:none;letter-spacing:normal}
.mgsl-auth .mgsl-check input[type=checkbox]{width:18px!important;height:18px!important;min-height:18px!important;margin:1px 0 0!important;flex:none}
.mgsl-auth .mgsl-check-text{flex:1;display:inline}
.mgsl-auth .mgsl-check-text a{color:#cf132f;text-decoration:none;font-weight:600;white-space:nowrap}

/* Pulsante — forzato per battere gli stili globali del tema */
.mgsl-auth .mgsl-btn{
  display:block;width:100%;height:52px!important;min-height:52px!important;margin:4px 0 0!important;padding:0 20px!important;
  border:none!important;border-radius:7px!important;background:#cf132f!important;color:#fff!important;
  font-family:inherit!important;font-weight:700!important;font-size:15px!important;line-height:52px!important;letter-spacing:.01em;
  text-align:center;text-transform:none;cursor:pointer;-webkit-appearance:none;appearance:none;box-shadow:none!important;transition:background .15s}
.mgsl-auth .mgsl-btn:hover{background:#b1102a!important}
.mgsl-auth .mgsl-btn[disabled]{opacity:.6;cursor:default}

.mgsl-auth .mgsl-alt{margin-top:18px;font-weight:400;font-size:14px;line-height:1.5;color:#6b6863;display:flex;flex-direction:column;gap:6px}
.mgsl-auth .mgsl-alt a{color:#cf132f;text-decoration:none;font-weight:600}

/* Pannello brand */
.mgsl-auth .mgsl-brand-claim{font-weight:700;font-size:27px;line-height:1.2;letter-spacing:-.01em}
.mgsl-auth .mgsl-brand-text{margin:14px 0 0;font-weight:400;font-size:15px;line-height:1.5;color:rgba(255,255,255,.85)}
.mgsl-auth .mgsl-benefits{list-style:none;padding:0;margin:26px 0;display:flex;flex-direction:column;gap:14px;font-weight:400;font-size:15px;line-height:1.4;color:rgba(255,255,255,.92)}
.mgsl-auth .mgsl-benefits li{position:relative;padding-left:22px}
.mgsl-auth .mgsl-benefits li::before{content:"↗";position:absolute;left:0;top:0}
.mgsl-auth .mgsl-brand-links{font-weight:500;font-size:13px;color:#fff}
.mgsl-auth .mgsl-brand-links a{color:#fff;text-decoration:underline}

/* Feedback */
.mgsl-auth .mgsl-feedback{border-radius:7px;padding:12px 14px;font-weight:500;font-size:14px;line-height:1.4;margin-bottom:14px}
.mgsl-auth .mgsl-feedback--error{background:#fdecee;color:#cf132f}
.mgsl-auth .mgsl-feedback--success{background:#eef7ef;color:#2f7d34}
.mgsl-auth .mgsl-feedback--info{background:#f0f0ee;color:#6b6863}

/* Hint secondario (es. suggerimento Spam/Promozioni nelle viste di attesa verifica) */
.mgsl-auth .mgsl-hint{background:#eaf3fb;color:#1a6fa8;border-radius:7px;padding:12px 14px;font-weight:500;font-size:14px;line-height:1.4;margin:4px 0 18px}

/* Viste (switch client-side) */
.mgsl-auth .mgsl-view{display:none}
.mgsl-auth .mgsl-view.is-active{display:flex;flex-direction:column}

/* Stato "già autenticato" */
.mgsl-auth--note .mgsl-form-col{width:100%}

@media(max-width:820px){
  .mgsl-auth .mgsl-card{flex-direction:column}
  .mgsl-auth .mgsl-form-col,.mgsl-auth .mgsl-brand-col{width:100%}
  .mgsl-auth .mgsl-form-col{padding:36px 28px}
  .mgsl-auth .mgsl-brand-col{padding:36px 28px;gap:20px}
  .mgsl-auth .mgsl-row{flex-direction:column;gap:0}
}
