/* Scoped presentation only: the native WooCommerce and OAuth flows are unchanged. */
.np-account-page { --account-border:#dce2eb; --account-muted:#56657b; }
.np-account-page .page-main { padding-top:0; padding-bottom:64px; }
.np-account-page .page-content > .page-title { display:none; }
.np-account-page .shop-benefits,.np-account-page .catalogue-directory { display:none; }
.np-account-page #newsletter { display:none; }
.np-account-shell { max-width:1080px; margin:0 auto; padding:30px 0 0; }
.np-account-heading { margin-bottom:28px; }
.np-account-back { display:inline-flex; align-items:center; gap:9px; min-height:44px; margin-bottom:20px; font-size:14px; font-weight:600; }
.np-account-eyebrow { margin:0 0 7px; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--account-muted); }
.np-account-heading h1 { margin:0 0 10px; font-family:var(--body-font); font-size:clamp(28px,3.4vw,40px); line-height:1.18; letter-spacing:-.035em; font-weight:700; text-transform:none; }
.np-account-intro { margin:0; color:var(--account-muted); font-size:17px; line-height:1.6; }
.np-account-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr); gap:40px; align-items:start; }
.np-account-panel { min-width:0; padding:32px; border:1px solid var(--account-border); border-radius:16px; background:white; box-shadow:0 6px 28px #233a6507; }
.np-account-panel .woocommerce { width:100%; }
.np-account-panel h2 { margin:0 0 20px; font-family:var(--body-font); font-size:22px; line-height:1.35; text-transform:none; letter-spacing:-.02em; }
.np-account-panel .woocommerce form.login,.np-account-panel .woocommerce form.register,.np-account-panel .woocommerce-form-login { max-width:none; width:100%; margin:0; padding:0; border:0; border-radius:0; }
.np-account-panel .woocommerce form .form-row { margin:0 0 18px; padding:0; }
.np-account-panel .woocommerce form .form-row label { display:block; margin-bottom:7px; font-weight:600; font-size:15px; line-height:1.5; }
.np-account-panel .woocommerce form input.input-text,.np-account-panel .woocommerce form input[type=email],.np-account-panel .woocommerce form input[type=password],.np-account-panel .woocommerce form input[type=text],.np-account-panel .woocommerce form input[type=tel],.np-account-panel .woocommerce form select,.np-account-panel .woocommerce form textarea { width:100%; min-height:50px; border:1px solid #aeb9c9; border-radius:8px; padding:12px 14px; background:#fff; color:#233a65; font-size:16px; line-height:1.5; box-shadow:none; }
.np-account-panel input::placeholder { color:#647083; opacity:1; }
.np-account-shell :is(a,button,input,select,textarea):focus-visible { outline:3px solid #315fad; outline-offset:3px; }
.np-account-panel .woocommerce form .password-input { width:100%; display:block; position:relative; }
.np-account-panel .woocommerce form .password-input input { padding-right:54px; }
.np-account-panel .woocommerce form .show-password-input { position:absolute; display:flex; align-items:center; justify-content:center; width:44px; height:44px; min-width:44px; min-height:44px; right:3px; top:3px; margin:0; padding:10px; color:#233a65; border:0; border-radius:6px; background:transparent; }
.np-account-panel .woocommerce form .show-password-input::before { content:''; display:block; width:22px; height:22px; background:center/22px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23233a65' stroke-width='1.7'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); }
.np-account-panel .woocommerce form .show-password-input:hover { background:#eef2f8; }
.np-account-panel .woocommerce form .show-password-input::after { display:none; }
.np-account-panel .woocommerce form .form-row .woocommerce-form-login__rememberme { display:flex; align-items:center; gap:9px; min-height:44px; width:100%; margin:0 0 12px; font-weight:400; }
.np-account-panel input[type=checkbox] { width:20px; height:20px; margin:0; accent-color:#233a65; flex:none; }
.np-account-panel .woocommerce button.button,.np-account-panel .woocommerce a.button,.np-account-panel .woocommerce input.button { display:inline-flex; justify-content:center; align-items:center; min-height:50px; border:1px solid #233a65; border-radius:8px; padding:12px 20px; background:#233a65; color:white; font-family:var(--body-font); font-size:16px; line-height:1.5; font-weight:650; text-transform:none; cursor:pointer; }
.np-account-panel .woocommerce-form-login__submit,.np-account-panel .woocommerce-form-register__submit { width:100%; float:none!important; }
.np-account-panel .woocommerce button.button:hover,.np-account-panel .woocommerce a.button:hover { background:#152b50; color:white; }
.np-account-panel .lost_password { margin:4px 0 0; text-align:center; }
.np-account-panel .lost_password a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:4px; font-size:14px; font-weight:600; }
.np-account-panel .neopak-social-login { margin:0 0 24px; padding:0 0 24px; border-bottom:1px solid var(--account-border); }
.np-account-panel .neopak-social-login > p:first-child,.np-account-panel .neopak-social-login h2 { margin:0 0 14px; font-size:16px; font-weight:600; }
.np-account-panel .neopak-social-login > p:last-child { display:none; }
.np-account-panel div.nsl-container { padding:0; }
.np-account-panel div.nsl-container .nsl-container-buttons { display:flex; flex-direction:column; gap:10px; width:100%; padding:0; }
.np-account-panel div.nsl-container .nsl-container-buttons a { width:100%; min-width:0; margin:0; }
.np-account-panel div.nsl-container .nsl-button { min-height:50px; border-radius:8px; width:100%; box-shadow:none; }
.np-account-panel div.nsl-container .nsl-button-label-container { padding:12px 20px; font-size:16px; text-align:center; }
.np-account-panel div.nsl-container .nsl-button-svg-container { padding:13px; }
.np-account-signin-note { margin-top:22px; padding-top:20px; border-top:1px solid var(--account-border); color:var(--account-muted); font-size:13px; line-height:1.65; }
.np-account-signin-note p { margin:0 0 8px; }
.np-account-signin-note p:last-child { margin-bottom:0; }
.np-account-benefits { padding:32px 16px 20px; }
.np-account-benefits h2 { font-family:var(--body-font); font-size:22px; letter-spacing:-.02em; margin:0 0 28px; text-transform:none; }
.np-account-benefits ul { list-style:none; padding:0; margin:0; display:grid; gap:26px; }
.np-account-benefits li { display:flex; align-items:flex-start; gap:16px; margin:0; }
.np-account-number { display:flex; justify-content:center; align-items:center; flex:0 0 40px; height:40px; background:#eef2f8; border-radius:12px; color:#233a65; font-size:13px; font-weight:700; }
.np-account-benefits h3 { margin:0 0 5px; font-family:var(--body-font); font-size:16px; font-weight:650; }
.np-account-benefits li p { margin:0; color:var(--account-muted); font-size:15px; line-height:1.6; }
.np-account-help { margin-top:30px; padding-top:24px; border-top:1px solid var(--account-border); display:flex; flex-direction:column; gap:5px; font-size:14px; }
.np-account-help a { min-height:44px; display:inline-flex; align-items:center; gap:12px; text-decoration:underline; text-underline-offset:4px; }
.np-account-panel .woocommerce-error,.np-account-panel .woocommerce-message,.np-account-panel .woocommerce-info { padding:16px 16px 16px 44px; border-radius:8px; margin:0 0 22px; font-size:15px; overflow-wrap:anywhere; }
.np-account-panel .woocommerce-error a,.np-account-panel .woocommerce-info a,.np-account-panel .woocommerce-message a { text-decoration:underline; }
.np-account-panel .u-columns { display:grid; gap:30px; grid-template-columns:1fr; }
.np-account-panel .u-columns > [class*=col-] { width:100%; float:none; }
.np-account-panel .u-column2 { padding-top:26px; border-top:1px solid var(--account-border); }
.np-account-signed-in .np-account-layout { display:block; }
.np-account-signed-in .np-account-panel { padding:28px; }
.np-account-signed-in .np-account-panel > .woocommerce { display:grid; grid-template-columns:210px minmax(0,1fr); gap:32px; }
.np-account-signed-in .np-account-panel > .woocommerce::before,.np-account-signed-in .np-account-panel > .woocommerce::after { display:none; }
.np-account-signed-in .woocommerce-notices-wrapper { grid-column:1/-1; }
.np-account-signed-in .woocommerce-notices-wrapper:empty { display:none; }
.np-account-signed-in .woocommerce-MyAccount-navigation { width:auto; float:none; }
.np-account-signed-in .woocommerce-MyAccount-navigation ul { display:flex; flex-direction:column; gap:4px; border:0; margin:0; padding:0; list-style:none; }
.np-account-signed-in .woocommerce-MyAccount-navigation li { margin:0; }
.np-account-signed-in .woocommerce-MyAccount-navigation a { display:flex; align-items:center; min-height:48px; padding:12px 14px; border-radius:8px; font-size:15px; font-weight:500; }
.np-account-signed-in .woocommerce-MyAccount-navigation .is-active a { background:#eef2f8; color:#233a65; font-weight:700; box-shadow:inset 3px 0 #ab2926; }
.np-account-signed-in .woocommerce-MyAccount-navigation a:hover { background:#f4f6f9; }
.np-account-signed-in .woocommerce-MyAccount-content { width:auto; min-width:0; float:none; padding:4px 0; font-size:16px; line-height:1.7; }
.np-account-signed-in .woocommerce-MyAccount-content > p:first-of-type { font-size:18px; }
.np-account-signed-in .woocommerce-MyAccount-content p a:not(.button) { text-decoration:underline; text-underline-offset:3px; }
.np-account-signed-in .woocommerce-MyAccount-content table { width:100%; overflow-wrap:anywhere; }
.np-account-signed-in .woocommerce-MyAccount-content fieldset { border:1px solid var(--account-border); border-radius:8px; padding:18px; margin:24px 0; }
.np-account-signed-in .woocommerce-MyAccount-content legend { padding:0 8px; font-weight:600; }
@media(max-width:760px) {
 .np-account-page .utility-bar { display:none; }
 .np-account-page .page-main { padding-bottom:36px; }
 .np-account-shell { padding-top:12px; }
 .np-account-back { margin-bottom:14px; }
 .np-account-heading { margin-bottom:22px; }
 .np-account-intro { font-size:16px; }
 .np-account-layout { grid-template-columns:minmax(0,1fr); gap:22px; }
 .np-account-panel { padding:24px; border-radius:12px; }
 .np-account-benefits { padding:12px 4px 0; }
 .np-account-benefits h2 { font-size:20px; margin-bottom:20px; }
 .np-account-benefits ul { gap:20px; }
 .np-account-signed-in .np-account-panel { padding:20px; }
 .np-account-signed-in .np-account-panel > .woocommerce { display:block; }
 .np-account-signed-in .woocommerce-MyAccount-navigation { margin-bottom:24px; padding-bottom:18px; border-bottom:1px solid var(--account-border); }
 .np-account-signed-in .woocommerce-MyAccount-navigation ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
 .np-account-signed-in .woocommerce-MyAccount-navigation a { font-size:14px; padding:10px; height:100%; }
 .np-account-panel .woocommerce form .form-row-first,.np-account-panel .woocommerce form .form-row-last { width:100%; float:none; }
}
@media(max-width:380px) {
 .np-account-panel,.np-account-signed-in .np-account-panel { padding:18px; }
 .np-account-heading h1 { font-size:28px; }
 .np-account-panel div.nsl-container .nsl-button-label-container { padding:12px 8px; font-size:15px; }
}
