.woocommerce-billing-fields__field-wrapper {display:flex!important;flex-wrap:wrap!important;gap:0 4%}
.woocommerce-billing-fields__field-wrapper>.form-row {float:none!important;clear:none!important;box-sizing:border-box;width:100%!important;margin-left:0!important;margin-right:0!important}
.woocommerce-billing-fields__field-wrapper>.ngs-padrao-half {width:48%!important}
.woocommerce-billing-fields__field-wrapper>.ngs-padrao-country {display:none!important}
@media(max-width:767px){.woocommerce-billing-fields__field-wrapper>.ngs-padrao-half{width:100%!important}}
.woocommerce-billing-fields__field-wrapper>.form-row{order:100} 
.woocommerce-billing-fields__field-wrapper #billing_address_2_field>label{position:static!important;width:auto!important;height:auto!important;clip:auto!important;clip-path:none!important;overflow:visible!important}

.woocommerce form.ngs-checkout-login {width:48%!important;max-width:none!important;box-sizing:border-box;margin-left:0!important;margin-right:0!important;display:block}
.woocommerce form.ngs-checkout-login .form-row {float:none!important;width:100%!important;box-sizing:border-box}
.ngs-checkout-choices {display:flex;flex-direction:column;gap:10px;width:100%;margin-top:16px}
.ngs-checkout-choices button {width:100%;font-size:12px!important;min-height:46px}
.ngs-checkout-choices button[aria-pressed=true] {outline:2px solid #1e73be;outline-offset:2px}
.ngs-account-explanation {font-size:12px;line-height:1.5;margin:0}
form.checkout p.create-account {display:none!important}
@media(max-width:767px){.woocommerce form.ngs-checkout-login{width:100%!important}}

.ngs-accordion-heading {display:flex;justify-content:space-between;align-items:center;width:100%;padding:16px 18px;margin:12px 0;border:1px solid #d5d5d5;border-radius:6px;background:#fff;text-align:left;font-size:16px;font-weight:700;cursor:pointer}
.ngs-accordion-heading:after{content:'+';font-size:22px}
.ngs-accordion-heading[aria-expanded=true]:after{content:'−'}
.ngs-accordion-heading:disabled{opacity:.65;cursor:default}
.ngs-login-heading{width:48%}
@media(max-width:767px){.ngs-login-heading{width:100%}}
/* Resumo do pedido acompanha a rolagem; dados permanecem no fluxo. */
@media(min-width:1025px){
 .woocommerce form.checkout .ngs-checkout-colunas {align-items:flex-start!important;overflow:visible!important}
 .woocommerce form.checkout .ngs-pedido-sticky {
  position:sticky!important;
  top:var(--ngs-pedido-top,120px)!important;
  align-self:flex-start!important;
  height:auto!important;
  max-height:calc(100dvh - var(--ngs-pedido-top,120px) - 16px);
  overflow-y:auto;
  scrollbar-width:thin;
 }
 .woocommerce form.checkout #customer_details {position:static!important;transform:none!important}
}
@media(max-width:1024px){.woocommerce form.checkout .ngs-pedido-sticky{position:static!important;max-height:none;overflow:visible}}

/* As duas colunas começam juntas, mesmo com o login fora do form checkout. */
@media(min-width:1025px){
 .woocommerce.ngs-checkout-layout {
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:28px;align-items:start;
 }
 .ngs-checkout-layout>.woocommerce-form-login-toggle{display:none!important}
 .ngs-checkout-layout .ngs-checkout-form-bridge,
 .ngs-checkout-layout .ngs-checkout-layout-bridge{display:contents!important}
 .ngs-checkout-layout>.ngs-login-heading{grid-column:1;grid-row:1;width:100%!important}
 .woocommerce.ngs-checkout-layout form.ngs-checkout-login{grid-column:1;grid-row:2;width:100%!important;max-width:none!important;margin-top:0!important}
 .ngs-checkout-layout #customer_details{grid-column:1;grid-row:3;width:100%!important;max-width:none!important;min-width:0;padding:0!important}
 .ngs-checkout-layout .ngs-pedido-sticky{
  grid-column:2;grid-row:1 / span 3;width:100%!important;max-width:none!important;
  max-height:none!important;overflow:visible!important;align-self:start!important;
  margin-top:0!important;box-sizing:border-box;
 }
 .ngs-checkout-layout>.woocommerce-notices-wrapper{grid-column:1 / -1}
 .ngs-checkout-layout #order_review{max-height:none!important;overflow:visible!important}
 .ngs-checkout-layout #customer_details>.col-1,
 .ngs-checkout-layout #customer_details>.col-2{width:100%!important;max-width:none!important;float:none!important}
}
@media(min-width:1025px){.woocommerce.ngs-checkout-layout form.ngs-checkout-login{grid-row:1 / span 2;align-self:start;margin-top:0!important;margin-bottom:16px!important}}

/* Entrada compacta inspirada no modelo enviado. */
.woocommerce form.ngs-checkout-login {padding:28px!important;border:1px solid #dcdcdc!important;border-radius:18px!important;background:#fff!important}
.ngs-auth-intro{text-align:center;margin-bottom:22px}
.ngs-auth-intro h2{font-size:24px!important;line-height:1.3;margin:0 0 12px!important;text-transform:none!important}
.ngs-auth-intro p{font-size:14px;line-height:1.6;margin:0!important;color:#555}
.ngs-auth-divider{display:flex;align-items:center;gap:16px;margin:20px 0;color:#666}
.ngs-auth-divider:before,.ngs-auth-divider:after{content:'';height:1px;background:#ddd;flex:1}
.woocommerce form.ngs-checkout-login #username{height:50px!important;border-radius:25px!important;padding:10px 18px!important;font-size:14px!important}
.woocommerce form.ngs-checkout-login .ngs-auth-continue{width:100%;height:50px;border-radius:25px!important;background:#1e73be!important;color:#fff!important;font-size:14px!important;margin-top:6px}
.woocommerce form.ngs-checkout-login .nsl-container-buttons,.woocommerce form.ngs-checkout-login .nsl-container-buttons a{width:100%!important}
.woocommerce form.ngs-checkout-login .nsl-button-google{border-radius:25px!important;min-height:50px!important}
.ngs-email-status{font-size:13px;line-height:1.5;margin:14px 0 0!important}
.ngs-checkout-choices button{border-radius:25px!important}

/* Popup de autenticação: mantém o formulário nativo e as integrações. */
body.ngs-login-modal-open{overflow:hidden}
dialog.ngs-login-modal{width:min(480px,calc(100vw - 28px));max-width:480px;max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:20px;background:#fff;color:#222;overflow:auto;box-shadow:0 24px 80px #0005}
dialog.ngs-login-modal::backdrop{background:rgba(0,0,0,.58);backdrop-filter:blur(3px)}
.ngs-login-modal .ngs-close-login{position:absolute;right:12px;top:10px;z-index:2;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:#f2f3f5;color:#333;font-size:24px;line-height:1;cursor:pointer}
.woocommerce.ngs-login-modal form.ngs-checkout-login{width:100%!important;margin:0!important;padding:38px 28px 28px!important;border:0!important;border-radius:20px!important}
.ngs-login-modal .ngs-auth-intro h2{font-size:23px!important;margin-top:8px!important}
.ngs-login-modal .ngs-auth-intro p{font-size:13px!important}
.woocommerce.ngs-login-modal form.ngs-checkout-login button:not(.ngs-close-login),
.woocommerce.ngs-login-modal form.ngs-checkout-login .nsl-button,
.woocommerce.ngs-login-modal form.ngs-checkout-login .login-goo-link{min-height:48px!important;border-radius:10px!important;font-size:12px!important;font-weight:700!important;box-sizing:border-box!important}
.ngs-login-modal .ngs-auth-continue,.ngs-login-modal button[name=login]{background:#1e73be!important;color:#fff!important;width:100%!important}
.ngs-login-modal [data-ngs-mode=guest]{background:#1e73be!important;color:#fff!important}
.ngs-login-modal [data-ngs-mode=register]{background:#fff!important;color:#1e73be!important;border:1px solid #1e73be!important}
.ngs-login-modal .nsl-button-google{background:#fff!important;color:#333!important;border:1px solid #d5d9de!important;box-shadow:none!important}
.ngs-login-modal .ngs-auth-continue:hover,.ngs-login-modal [data-ngs-mode=guest]:hover{background:#185e9a!important}
.ngs-login-entry{grid-column:1;grid-row:1 / span 2;align-self:start;padding:24px;border:1px solid #ddd;border-radius:14px;background:#fff;margin-bottom:18px}
.ngs-login-entry h2{font-size:20px;margin:0 0 10px}.ngs-login-entry p{margin:0 0 16px;overflow-wrap:anywhere}
.ngs-login-entry .button{width:100%;min-height:48px;border-radius:10px;font-size:12px;background:#1e73be;color:#fff}
@media(max-width:480px){.woocommerce.ngs-login-modal form.ngs-checkout-login{padding:38px 20px 22px!important}}

/* Padrão único para campos e ações do popup. */
#ngs-login-modal {--ngs-auth-height:48px;--ngs-auth-radius:10px}
#ngs-login-modal form.ngs-checkout-login .form-row {padding:0!important;margin:0 0 16px!important;width:100%!important;box-sizing:border-box}
#ngs-login-modal form.ngs-checkout-login label {display:block;margin:0 0 6px;font-size:12px!important;line-height:18px}
#ngs-login-modal form.ngs-checkout-login input:is([type=email],[type=text],[type=password]),
#ngs-login-modal form.ngs-checkout-login #username,
#ngs-login-modal form.ngs-checkout-login button:not(.ngs-close-login),
#ngs-login-modal form.ngs-checkout-login input[type=submit],
#ngs-login-modal form.ngs-checkout-login .nsl-button,
#ngs-login-modal form.ngs-checkout-login .login-goo-link {
 width:100%!important;height:var(--ngs-auth-height)!important;min-height:var(--ngs-auth-height)!important;max-height:var(--ngs-auth-height)!important;
 border-radius:var(--ngs-auth-radius)!important;font-size:12px!important;line-height:18px!important;font-family:inherit!important;box-sizing:border-box!important;margin-left:0!important;margin-right:0!important;
}
#ngs-login-modal form.ngs-checkout-login input:is([type=email],[type=text],[type=password]){padding:12px 14px!important;border:1px solid #c5cbd2!important;background:#fff!important;color:#222!important}
#ngs-login-modal form.ngs-checkout-login button:not(.ngs-close-login),
#ngs-login-modal form.ngs-checkout-login input[type=submit],
#ngs-login-modal form.ngs-checkout-login .login-goo-link {padding:12px 16px!important;display:flex;align-items:center;justify-content:center;font-weight:700!important}
#ngs-login-modal .ngs-auth-continue{margin-top:0!important}
#ngs-login-modal .ngs-auth-divider{margin:18px 0!important}
#ngs-login-modal .ngs-checkout-choices{gap:10px!important;margin-top:14px!important}
#ngs-login-modal .nsl-container,#ngs-login-modal .nsl-container-buttons{width:100%!important;max-width:none!important;padding:0!important}
#ngs-login-modal .nsl-container-buttons>a{width:100%!important;max-width:none!important;margin:0!important}
#ngs-login-modal .nsl-button-label-container{font-size:12px!important;line-height:18px!important;font-weight:700!important}
#ngs-login-modal .ngs-close-login{border-radius:50%!important;width:34px!important;height:34px!important;outline-offset:2px}
#ngs-login-modal input:focus-visible,#ngs-login-modal button:focus-visible,#ngs-login-modal a:focus-visible{outline:2px solid #1e73be;outline-offset:3px}

/* Seus dados só aparece depois da escolha de visitante ou cadastro. */
#ngs-dados-heading:disabled{display:none!important}
.ngs-login-modal form.ngs-checkout-login{margin:0!important}
#ngs-navigation-status{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:999999;background:#fff;color:#222;border:1px solid #ddd;border-radius:10px;padding:16px 22px;box-shadow:0 8px 30px #0003;max-width:90vw;font-size:14px}.ngs-connected-close{position:absolute;right:12px;top:10px;border:0;background:#eee;border-radius:50%;width:34px;height:34px;font-size:24px}
#ngs-login-modal .ngs-email-status:empty{display:none!important} #ngs-login-modal .password-input{position:relative;display:block;width:100%} #ngs-login-modal form.ngs-checkout-login .password-input .show-password-input{position:absolute!important;right:12px!important;left:auto!important;top:50%!important;transform:translateY(-50%);width:28px!important;min-width:28px!important;max-width:28px!important;height:28px!important;min-height:28px!important;padding:0!important;margin:0!important;background:transparent!important;border:0!important}

/* O pedido alto não deve distribuir espaço entre os blocos da esquerda. */
@media(min-width:1025px){
 .woocommerce.ngs-checkout-layout{grid-template-rows:min-content minmax(0,1fr)!important;row-gap:0!important;align-content:start!important}
 .woocommerce.ngs-checkout-layout>.ngs-login-entry{grid-row:1!important;align-self:start!important;margin:0 0 18px!important}
 .woocommerce.ngs-checkout-layout #customer_details{grid-row:2!important;align-self:start!important;margin-top:0!important;padding-top:0!important}
 .woocommerce.ngs-checkout-layout .ngs-pedido-sticky{grid-row:1 / span 2!important}
 .woocommerce.ngs-checkout-layout #ngs-dados-heading{margin-top:0!important;margin-bottom:16px!important}
}
#ngs-dados-heading,.woocommerce-billing-fields>h3{display:none!important} #ngs-login-modal .ngs-checkout-choices .form-row{margin:0 0 14px!important} #ngs-login-modal .ngs-checkout-choices small{display:block;font-size:12px;line-height:1.5;margin-top:6px} #ngs-login-modal .ngs-register-continue{background:#1e73be!important;color:#fff!important}

/* Pagamento em etapa separada, abaixo do resumo do pedido. */
form.checkout.ngs-payment-locked #payment{display:none!important}
.ngs-payment-step{width:100%;margin-top:22px;clear:both}
#ngs-follow-payment{width:100%!important;min-height:50px;padding:14px 18px;border-radius:10px;background:#1e73be;color:#fff;font-size:12px;font-weight:700}
#ngs-follow-payment:disabled{opacity:.65;cursor:wait}
#ngs-payment-step-errors{color:#a52323;font-size:13px;line-height:1.5}
#payment.ngs-payment-cards{background:#fff!important;border:1px solid #dedede;border-radius:14px;padding:22px!important;margin-top:22px!important;scroll-margin-top:150px}
.ngs-payment-title{font-size:18px!important;margin:0 0 18px!important}
#payment.ngs-payment-cards ul.payment_methods{padding:0!important;border:0!important;display:grid;gap:12px;margin:0 0 20px!important}
#payment.ngs-payment-cards li.wc_payment_method{list-style:none;margin:0!important;padding:16px!important;border:1px solid #d5d9df;border-radius:10px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s}
#payment.ngs-payment-cards li.wc_payment_method.ngs-payment-selected{border-color:#1e73be;background:#f1f7fd;box-shadow:inset 3px 0 #1e73be}
#payment.ngs-payment-cards li.wc_payment_method>label{font-weight:600;cursor:pointer;font-size:14px}
#payment.ngs-payment-cards .payment_box{margin:14px 0 0!important;border-radius:8px;cursor:default}
#payment.ngs-payment-cards .place-order{padding:0!important}
@media(max-width:767px){#payment.ngs-payment-cards{padding:16px!important}}
#ngs-follow-payment:disabled{cursor:not-allowed!important;background:#a8b4bf!important;color:#fff!important;opacity:.75}

/* Caixas macro no mesmo padrão dos cartões de aplicações NG. */
.ngs-payment-macros{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:20px}
#payment .ngs-payment-macro{display:flex!important;align-items:flex-start!important;gap:12px!important;width:100%;height:auto!important;min-height:112px;padding:20px!important;border:1px solid #dcdcde!important;border-radius:9px!important;background:#fff!important;color:#1d2327!important;text-align:left!important;white-space:normal!important;text-transform:none!important;box-shadow:none!important;cursor:pointer}
#payment .ngs-payment-macro[aria-pressed=true]{border-color:#287f43!important;background:#f6fbf7!important}
.ngs-macro-mark{width:18px;height:18px;flex:none;margin-top:2px;border:1px solid #8c959f;border-radius:4px;background:#fff}
.ngs-payment-macro[aria-pressed=true] .ngs-macro-mark{border-color:#287f43;background:#287f43;position:relative}
.ngs-payment-macro[aria-pressed=true] .ngs-macro-mark:after{content:'✓';color:#fff;position:absolute;inset:0;text-align:center;font-size:14px;line-height:16px}
.ngs-macro-copy{display:flex;flex-direction:column;gap:10px;min-width:0}
.ngs-macro-copy strong{font-size:14px;font-weight:700;line-height:1.4}.ngs-macro-copy small{font-size:12px;font-weight:400;line-height:1.6;color:#50575e}
.ngs-payment-macro:focus-visible{outline:2px solid #1e73be;outline-offset:3px}
.ngs-transparent-dialog{width:min(650px,calc(100vw - 28px));max-height:calc(100dvh - 40px);padding:28px;border:0;border-radius:16px;overflow:auto;background:#fff;color:#222}
.ngs-transparent-dialog::backdrop{background:#0008;backdrop-filter:blur(3px)}
.ngs-close-payment{position:absolute;top:8px;right:10px;width:32px;height:32px;border:0;border-radius:50%;font-size:24px;padding:0}
.ngs-transparent-dialog ul.payment_methods{list-style:none;padding:0;display:grid;gap:12px}
.ngs-transparent-dialog li.wc_payment_method{border:1px solid #ddd;padding:16px;border-radius:10px}
.ngs-transparent-dialog .payment_box{margin-top:14px}
.ngs-confirm-transparent{width:100%;margin-top:18px;min-height:48px;background:#1e73be;color:#fff;border-radius:10px;font-size:12px}
.ngs-confirm-transparent:disabled,#payment #place_order:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:767px){.ngs-payment-macros{grid-template-columns:1fr}.ngs-transparent-dialog{padding:26px 16px}}

/* Etapas na esquerda; resumo permanece independente à direita. */
.ngs-checkout-payment-stage form.checkout #customer_details>:not(#ngs-payment-stage){display:none!important}
.ngs-checkout-payment-stage>.ngs-login-entry{display:none!important}
#ngs-payment-stage{width:100%;min-width:0;box-sizing:border-box}
#ngs-payment-stage #payment.ngs-payment-cards{margin-top:12px!important}
.ngs-edit-details{background:transparent;color:#1e73be;border:1px solid #ccd6df;border-radius:8px;padding:10px 14px;font-size:12px;cursor:pointer;margin-bottom:8px}
@media(min-width:1025px){.woocommerce.ngs-checkout-layout.ngs-checkout-payment-stage #customer_details{grid-row:1 / span 2!important}}

/* Macros em coluna única e opções inline; sem popup de pagamento. */
#payment .ngs-payment-macros{display:flex!important;flex-direction:column!important;width:100%!important;gap:14px!important}
#payment .ngs-payment-macro{width:100%!important;min-height:100px!important}
#payment .ngs-inline-payment-options{width:100%!important;box-sizing:border-box;margin:0!important;padding:0 0 8px!important;gap:12px}
#payment .ngs-inline-payment-options>li{width:100%;box-sizing:border-box}
#payment .ngs-payment-macro[aria-expanded=false] .ngs-macro-mark{background:#fff;border:1px solid #8c959f}
#payment .ngs-payment-macro[aria-expanded=false] .ngs-macro-mark:after{content:none}
