/* Approved member-access layout. Intentionally isolated from member commerce pages. */
body.ss-site.ss-account-gate { background:var(--ss-canvas); color:var(--ss-ink); }
.ss-account-gate .ss-access-main { padding:48px 24px 0; }
.ss-account-gate .ss-access-card { width:100%; max-width:448px; margin:0 auto; padding:27px 32px; background:#fff; border:1px solid var(--ss-line); border-radius:16px; box-shadow:0 5px 24px rgba(22,34,46,.045); }
.ss-account-gate .ss-access-heading { text-align:center; }
.ss-account-gate .ss-access-logo { max-width:100%; margin:0 auto 20px; }

.ss-account-gate .ss-access-heading h1 { font:600 29px/1.2 Space,Inter,sans-serif; letter-spacing:-1px; margin:0 0 11px; }
.ss-account-gate .ss-access-heading p { color:var(--ss-muted); font-size:13px; line-height:1.6; margin:0 0 20px; }
.ss-account-gate .ss-page-content { padding:0; }
.ss-account-gate .ss-access-tabs { display:flex; gap:4px; padding:4px; margin:0 0 24px; border:1px solid var(--ss-line); background:var(--ss-canvas); border-radius:9px; }
.ss-account-gate .ss-access-tabs a { flex:1; display:flex; align-items:center; justify-content:center; gap:7px; min-width:0; min-height:44px; padding:8px 4px; color:var(--ss-muted); border:1px solid transparent; border-radius:6px; font-size:13px; font-weight:500; text-align:center; }
.ss-account-gate .ss-access-tabs a:is([aria-current=page],[aria-selected=true]) { background:#fff; color:var(--ss-ink); border-color:var(--ss-line); box-shadow:0 1px 2px rgba(22,34,46,.03); }
.ss-account-gate .ss-access-tabs a:is([aria-current=page],[aria-selected=true])::before { content:''; width:5px; height:5px; background:var(--ss-action); border-radius:50%; flex:none; }
.ss-account-gate [data-access-panel][hidden] { display:none!important; }
.ss-account-gate .woocommerce-error[hidden] { display:none!important; }
.ss-site.ss-account-gate .woocommerce :is(form.login,form.register,.woocommerce-ResetPassword) { border:0; border-radius:0; background:transparent; padding:0; margin:0; width:100%; max-width:none; text-align:left; }
.ss-site.ss-account-gate .woocommerce form.register { display:flex; flex-direction:column; }
.ss-site.ss-account-gate .woocommerce form .form-row { padding:0; margin:0 0 17px; width:100%; float:none; }
.ss-site.ss-account-gate .woocommerce form .form-row label { font-size:13px; font-weight:500; line-height:1.5; margin:0 0 7px; }
.ss-site.ss-account-gate .woocommerce form input.input-text { width:100%; min-width:0; height:48px; min-height:48px; padding:12px 13px; border:1px solid var(--ss-input-line); border-radius:7px; background:#fff; font-size:16px; line-height:1.4; }
.ss-site.ss-account-gate .woocommerce form .password-input { display:block; position:relative; width:100%; }
.ss-site.ss-account-gate .woocommerce form .password-input input { padding-right:60px; }
.ss-site.ss-account-gate .woocommerce form .show-password-input { top:2px; right:2px; bottom:auto; transform:none; display:flex; justify-content:center; align-items:center; width:52px; height:44px; padding:0; margin:0; border:0; border-radius:5px; background:transparent; color:var(--ss-muted); font:500 12px/1 Inter,sans-serif; }
.ss-site.ss-account-gate .woocommerce form .show-password-input::before,.ss-site.ss-account-gate .woocommerce form .show-password-input::after { display:none; }
.ss-account-gate .ss-access-options { display:flex; justify-content:space-between; align-items:center; gap:10px; margin:-5px 0 13px; font-size:12px; }
.ss-account-gate .ss-access-options :is(label,a) { display:flex; align-items:center; min-height:44px; padding-block:7px; margin:0; font-size:12px; line-height:1.5; }
.ss-account-gate .ss-access-options label { gap:7px; cursor:pointer; }
.ss-account-gate .ss-access-options a { text-decoration:underline; text-underline-offset:3px; }
.ss-site.ss-account-gate input[type=checkbox] { width:16px; height:16px; min-height:16px; accent-color:var(--ss-rust); flex:none; margin:0; }
.ss-site.ss-account-gate .woocommerce form .ss-access-submit { margin:0; }
.ss-site.ss-account-gate .woocommerce form button.button { display:flex; justify-content:center; align-items:center; gap:10px; width:100%; min-height:48px; margin:0; padding:12px 16px; float:none; border:1px solid var(--ss-action); border-radius:7px; background:var(--ss-action); color:var(--ss-ink); font:600 14px/1.5 Inter,sans-serif; text-transform:none; }
.ss-site.ss-account-gate .woocommerce form button.button:hover { background:var(--ss-action-hover); border-color:var(--ss-action-hover); }
.ss-site.ss-account-gate .woocommerce form button.button:disabled { opacity:.55; cursor:not-allowed; }
.ss-site.ss-account-gate .woocommerce form .soren-consent label { position:relative; display:block; padding-left:25px; margin:0; font-size:11px; font-weight:400; line-height:1.65; color:var(--ss-muted); cursor:pointer; }
.ss-site.ss-account-gate .woocommerce form .soren-consent input { position:absolute; left:0; top:2px; }
.ss-account-gate .soren-consent a { color:var(--ss-ink); }
.ss-account-gate .woocommerce-privacy-policy-text { order:2; margin:14px 0 0; font-size:11px; line-height:1.65; color:var(--ss-muted); }
.ss-account-gate .woocommerce-privacy-policy-text p { margin:0; }
.ss-account-gate .ss-access-footer { padding:20px 18px 24px; text-align:center; }
.ss-account-gate .ss-access-footer p { margin:0 0 5px; font-size:11px; line-height:1.65; color:var(--ss-muted); }
.ss-account-gate .ss-access-footer nav { display:flex; justify-content:center; gap:23px; flex-wrap:wrap; }
.ss-account-gate .ss-access-footer a { display:inline-flex; align-items:center; min-height:44px; font-size:12px; color:var(--ss-muted); }
.ss-account-gate .ss-access-footer a:hover { text-decoration:underline; }
.ss-account-gate .ss-access-back { display:flex; justify-content:center; align-items:center; min-height:44px; margin-top:12px; font-size:12px; text-decoration:underline; }
.ss-account-gate .woocommerce-ResetPassword>p:not(.form-row),.ss-account-gate .ss-access-card .woocommerce>p { color:var(--ss-muted); font-size:13px; line-height:1.65; }
.ss-account-gate .ss-access-recovery-copy { text-align:center; }
.ss-account-gate .woocommerce .woocommerce-ResetPassword .form-row-last { width:100%; float:none; }
.ss-account-gate .ss-access-card .woocommerce :is(.woocommerce-error,.woocommerce-message,.woocommerce-info) { margin:0 0 20px; padding:14px 14px 14px 40px; border-radius:7px; font-size:13px; line-height:1.55; overflow-wrap:anywhere; }
.ss-account-gate .ss-access-card .woocommerce :is(.woocommerce-error,.woocommerce-message,.woocommerce-info)::before { left:14px; top:14px; }
.ss-account-gate .woocommerce-password-strength { margin-top:8px; font-size:12px; }
.ss-account-gate .woocommerce-password-hint { display:block; font-size:11px; line-height:1.6; color:var(--ss-muted); }
@media(max-width:540px) {
    .ss-account-gate .ss-access-main { padding:20px 14px 0; }
    .ss-account-gate .ss-access-card { padding:27px 21px 23px; border-radius:12px; }
    .ss-account-gate .ss-access-heading h1 { font-size:27px; }
}
@media(prefers-reduced-motion:reduce) { html:has(body.ss-account-gate) { scroll-behavior:auto; } }
