/* Magilu — registration page skin for the Nalu B2B multi-step form. */
.mg-reg { --r-green:#2f5d34; --r-green-dark:#244a29; --r-gold:#d9a526; --r-ink:#1f241c; --r-muted:#5f6659; --r-line:#e4e4dc; --r-soft:#f4f4ef; max-width:1120px; margin:0 auto 64px; color:var(--r-ink); }
.mg-reg-page .page-title-bar { display:none; }
.mg-reg__intro { max-width:720px; margin:8px auto 28px; text-align:center; }
.mg-reg__kicker { margin:0 0 8px; font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--r-gold); }
.mg-reg__title { margin:0; font-size:clamp(26px, 3.4vw, 38px); line-height:1.15; color:var(--r-ink); }
.mg-reg__lead { margin:12px 0 0; font-size:16px; line-height:1.6; color:var(--r-muted); }
.mg-reg__grid { display:grid; grid-template-columns:minmax(0, 1fr) 340px; gap:24px; align-items:start; }
.mg-reg__card { padding:32px; border:1px solid var(--r-line); border-radius:24px; background:#fff; box-shadow:0 16px 40px rgba(31,36,28,.07); }
.mg-reg__aside { display:flex; flex-direction:column; gap:14px; position:sticky; top:100px; }
.mg-reg__box { padding:22px; border-radius:20px; background:var(--r-soft); }
.mg-reg__box h3 { margin:0 0 10px; font-size:17px; color:var(--r-ink); }
.mg-reg__box ul { margin:0; padding:0; list-style:none; }
.mg-reg__box li { position:relative; margin:0 0 8px; padding-left:24px; font-size:15px; line-height:1.45; }
.mg-reg__box li::before { content:'✓'; position:absolute; left:0; top:0; font-weight:800; color:var(--r-green); }
.mg-reg__box p { margin:0; font-size:15px; line-height:1.5; }
.mg-reg__box a { color:var(--r-green); font-weight:700; }
.mg-reg__note { margin-top:10px !important; font-size:13px !important; color:var(--r-muted); }
.mg-reg__box--pro { background:var(--r-green); color:#fff; }
.mg-reg__box--pro h3, .mg-reg__box--pro li { color:#fff; }
.mg-reg__box--pro li::before { color:var(--r-gold); }
.mg-reg__box--pro .mg-reg__note { color:rgba(255,255,255,.8); }

/* Form: Magilu colours on top of the plugin's own styles. */
.mg-reg #nb2b-msf { max-width:none; color:var(--r-ink); scroll-margin-top:110px; }
.mg-reg #nb2b-msf .nb2b-msf__progress { margin-bottom:28px; }
.mg-reg #nb2b-msf .nb2b-msf__step-dot { width:38px; height:38px; background:var(--r-soft); color:var(--r-muted); }
.mg-reg #nb2b-msf .nb2b-msf__step.is-active .nb2b-msf__step-dot { background:var(--r-green); color:#fff; box-shadow:0 0 0 5px rgba(47,93,52,.14); }
.mg-reg #nb2b-msf .nb2b-msf__step.is-done .nb2b-msf__step-dot { background:var(--r-gold); color:var(--r-ink); }
.mg-reg #nb2b-msf .nb2b-msf__step-line { height:3px; border-radius:2px; background:var(--r-line); }
.mg-reg #nb2b-msf .nb2b-msf__step-line.is-done { background:var(--r-gold); }
.mg-reg #nb2b-msf .nb2b-msf__step-label { font-size:12px; }
.mg-reg #nb2b-msf .nb2b-msf__panel-header h3 { font-size:22px; color:var(--r-ink); }
.mg-reg #nb2b-msf .nb2b-msf__panel-header p { font-size:15px; color:var(--r-muted); }

.mg-reg #nb2b-msf .nb2b-msf__type-card-inner { padding:24px 18px; border:2px solid var(--r-line); border-radius:18px; background:#fff; }
.mg-reg #nb2b-msf .nb2b-msf__type-card:hover .nb2b-msf__type-card-inner { border-color:var(--r-green); }
.mg-reg #nb2b-msf .nb2b-msf__type-card input:checked + .nb2b-msf__type-card-inner { border-color:var(--r-green); background:rgba(47,93,52,.05); box-shadow:0 0 0 4px rgba(47,93,52,.12); }
.mg-reg #nb2b-msf .nb2b-msf__type-card input:focus-visible + .nb2b-msf__type-card-inner { outline:3px solid var(--r-gold); outline-offset:2px; }
.mg-reg #nb2b-msf .nb2b-msf__type-icon { display:flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:50%; background:var(--r-soft); font-size:26px; }
.mg-reg #nb2b-msf .nb2b-msf__type-card-inner strong { font-size:17px; }
.mg-reg #nb2b-msf .nb2b-msf__type-card-inner > span { font-size:14px; color:var(--r-muted); }

.mg-reg #nb2b-msf .nb2b-msf__field label { font-size:14px; color:var(--r-ink); }
.mg-reg #nb2b-msf .nb2b-msf__field input, .mg-reg #nb2b-msf .nb2b-msf__field select { min-height:50px; padding:12px 14px; border:1.5px solid var(--r-line); border-radius:12px; font-size:16px; }
.mg-reg #nb2b-msf .nb2b-msf__field input:focus, .mg-reg #nb2b-msf .nb2b-msf__field select:focus { border-color:var(--r-green); box-shadow:0 0 0 3px rgba(47,93,52,.14); }
.mg-reg #nb2b-msf .nb2b-msf__field input.has-success { border-color:#8fb996; }
.mg-reg #nb2b-msf .nb2b-msf__field--piva .nalu-b2b-vat-input-group { border-radius:12px; border-color:var(--r-line); }
.mg-reg #nb2b-msf .nb2b-msf__field--piva .nalu-b2b-vat-input-group input { min-height:48px; border:0 !important; box-shadow:none !important; }
.mg-reg #nb2b-msf .nb2b-msf__field--piva .nalu-b2b-country-trigger { border-radius:11px 0 0 11px; background:var(--r-soft); }
.mg-reg #nb2b-msf .nb2b-msf__field--piva .nalu-b2b-vat-input-group:focus-within { border-color:var(--r-green); box-shadow:0 0 0 3px rgba(47,93,52,.14); }
.mg-reg #nb2b-msf .nb2b-msf__hint { font-size:13px; color:var(--r-muted); }
.mg-reg #nb2b-msf .nb2b-msf__pw-hint.is-weak { color:#b45309; }
.mg-reg #nb2b-msf .nb2b-msf__pw-hint.is-ok { color:var(--r-green); }
.mg-reg #nb2b-msf .nb2b-msf__error { font-size:13px; }

.mg-reg #nb2b-msf .nb2b-msf__btn { min-height:52px; padding:0 22px; border-radius:14px; font-size:16px; font-weight:700; text-transform:none; letter-spacing:0; }
.mg-reg #nb2b-msf .nb2b-msf__btn--next, .mg-reg #nb2b-msf .nb2b-msf__btn--submit { background:var(--r-green); border-color:var(--r-green); color:#fff; }
.mg-reg #nb2b-msf .nb2b-msf__btn--next:hover, .mg-reg #nb2b-msf .nb2b-msf__btn--submit:hover { background:var(--r-green-dark); }
.mg-reg #nb2b-msf .nb2b-msf__btn--next:disabled { background:#c9cfc4; border-color:#c9cfc4; color:#fff; opacity:1; cursor:not-allowed; }
.mg-reg #nb2b-msf .nb2b-msf__btn--submit { background:var(--r-gold); border-color:var(--r-gold); color:var(--r-ink); box-shadow:0 10px 24px rgba(217,165,38,.3); }
.mg-reg #nb2b-msf .nb2b-msf__btn--submit:hover { background:#ecc457; color:var(--r-ink); }
.mg-reg #nb2b-msf .nb2b-msf__btn--back, .mg-reg #nb2b-msf .nb2b-msf__btn--skip { background:#fff; border:1.5px solid var(--r-line); color:var(--r-ink); }
.mg-reg #nb2b-msf .nb2b-msf__btn--back:hover, .mg-reg #nb2b-msf .nb2b-msf__btn--skip:hover { border-color:var(--r-green); color:var(--r-green); }

.mg-reg #nb2b-msf .nb2b-msf__addr-promo-inner { border-radius:16px; border:1.5px dashed #c9d6c4; background:rgba(47,93,52,.04); }
.mg-reg #nb2b-msf .nb2b-msf__toggle-track { background:#cfd3c9; }
.mg-reg #nb2b-msf input:checked + .nb2b-msf__toggle-track { background:var(--r-green); }
.mg-reg #nb2b-msf .nb2b-msf__summary { border-radius:16px; background:var(--r-soft); border:0; }
.mg-reg #nb2b-msf .nb2b-msf__privacy { font-size:15px; }
.mg-reg #nb2b-msf .nb2b-msf__privacy a { color:var(--r-green); font-weight:700; }
.mg-reg #nb2b-msf .nb2b-msf__global-error { border-radius:12px; }
.mg-reg #nb2b-msf .nb2b-msf__success-icon { background:var(--r-green); }
.mg-reg #nb2b-msf .nb2b-msf__login-link { margin-top:20px; text-align:center; font-size:15px; color:var(--r-muted); }
.mg-reg #nb2b-msf .nb2b-msf__login-link a { color:var(--r-green); font-weight:700; }

@media (max-width:991px) {
    .mg-reg__grid { grid-template-columns:1fr; }
    .mg-reg__aside { position:static; order:2; }
}
@media (max-width:600px) {
    .mg-reg { margin-bottom:96px; }
    .mg-reg__intro { margin-bottom:18px; text-align:left; }
    .mg-reg__card { padding:20px 16px; border-radius:20px; }
    .mg-reg #nb2b-msf .nb2b-msf__step-label { display:none; }
    .mg-reg #nb2b-msf .nb2b-msf__step.is-active .nb2b-msf__step-label { display:block; position:absolute; margin-top:46px; font-size:12px; }
    .mg-reg #nb2b-msf .nb2b-msf__step { position:relative; }
    .mg-reg #nb2b-msf .nb2b-msf__step-line { margin-bottom:0; }
    .mg-reg #nb2b-msf .nb2b-msf__progress { margin-bottom:40px; }
    .mg-reg #nb2b-msf .nb2b-msf__actions--between { flex-wrap:wrap; gap:10px; }
    .mg-reg #nb2b-msf .nb2b-msf__actions .nb2b-msf__btn--next, .mg-reg #nb2b-msf .nb2b-msf__actions .nb2b-msf__btn--submit { flex:1; justify-content:center; }
}
.mg-reg #nb2b-msf .nb2b-msf__fields { gap:14px; }
.mg-reg #nb2b-msf .nb2b-msf__error:empty, .mg-reg #nb2b-msf .nalu-b2b-piva-hint:empty { min-height:0; }
.mg-reg #nb2b-msf .nb2b-msf__field input.has-error, .mg-reg #nb2b-msf .nb2b-msf__field select.has-error { border-color:#dc2626; background:#fff8f8; }

/* Account login page: one login card + link to the guided registration. */
.mg-login-page .woocommerce { --r-green:#2f5d34; --r-green-dark:#244a29; --r-gold:#d9a526; --r-ink:#1f241c; --r-muted:#5f6659; --r-line:#e4e4dc; --r-soft:#f4f4ef; max-width:560px; margin:0 auto 72px; }
.mg-login-page .woocommerce .woocommerce-form-wrap { padding:30px; border:1px solid var(--r-line); border-radius:24px; background:#fff; box-shadow:0 16px 40px rgba(31,36,28,.07); }
.mg-login-page .woocommerce form.login, .mg-login-page .woocommerce .woocommerce-form-login { margin:0; padding:0; border:0; border-radius:0; background:none; box-shadow:none; }
.mg-login-page .woocommerce h2 { font-size:26px; color:var(--r-ink); }
.mg-login-page .woocommerce form.login input.input-text { min-height:50px; border:1.5px solid var(--r-line); border-radius:12px; background:#fff; font-size:16px; }
.mg-login-page .woocommerce form.login input.input-text:focus { border-color:var(--r-green); box-shadow:0 0 0 3px rgba(47,93,52,.14); }
.mg-login-page .woocommerce form.login button[type=submit] { width:100%; min-height:52px; border-radius:14px; background:var(--r-green); border-color:var(--r-green); font-size:16px; font-weight:700; text-transform:none; letter-spacing:0; }
.mg-login-page .woocommerce form.login button[type=submit]:hover { background:var(--r-green-dark); }
.mg-login-page .woocommerce form.login .lost_password a { color:var(--r-green); font-weight:600; }
.mg-signup { margin-top:20px; padding:26px; border-radius:22px; background:var(--r-soft); text-align:center; }
.mg-signup h2 { margin:0 0 8px; font-size:22px !important; }
.mg-signup p { margin:0; font-size:15px; line-height:1.55; color:var(--r-muted); }
.mg-signup__actions { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:18px 0 14px; }
.mg-signup__btn { display:inline-flex; align-items:center; justify-content:center; flex:1 1 200px; min-height:50px; padding:0 18px; border:2px solid var(--r-line); border-radius:14px; background:#fff; color:var(--r-ink) !important; font-size:15px; font-weight:700; text-decoration:none !important; }
.mg-signup__btn:hover { border-color:var(--r-green); color:var(--r-green) !important; }
.mg-signup__btn--gold { border-color:var(--r-gold); background:var(--r-gold); }
.mg-signup__btn--gold:hover { background:#ecc457; color:var(--r-ink) !important; }
.mg-signup__note a { color:var(--r-green); font-weight:700; }
@media (max-width:600px) { .mg-login-page .woocommerce .woocommerce-form-wrap { padding:22px 18px; } }
.mg-login-page .woocommerce .woocommerce-form-wrap { max-width:none; width:100%; margin-left:0; margin-right:0; }
