/* Scoped to WooCommerce's account forms: the storefront keeps its own theme. */
#customer_login { --sslg-border:#e1e3e5; --sslg-muted:#697079; gap:32px; padding-block:32px; }
#customer_login > [class*="col-"] { padding:30px; border:1px solid var(--sslg-border); border-radius:12px; background:#fff; }
#customer_login h3 { font-size:25px; letter-spacing:-.5px; line-height:1.3; margin-bottom:24px; text-transform:none; }
#customer_login form { margin-bottom:0; }
#customer_login .form-row { margin-bottom:18px; }
#customer_login label { margin-bottom:7px; font-size:14px; font-weight:600; }
#customer_login input.input-text, #customer_login select { border:1px solid #cdd1d5; border-radius:6px; min-height:48px; padding:12px 14px; background:#fff; box-shadow:none; }
#customer_login input.input-text:focus, #customer_login select:focus { border-color:#232629; outline:2px solid #232629; outline-offset:2px; }
#customer_login .woocommerce-button { border-radius:6px; min-height:48px; font-size:15px; }
.sslg-social { display:grid; gap:10px; margin-bottom:22px; }
.sslg-button, .sslg-social .sfbl-button { box-sizing:border-box; display:flex; align-items:center; justify-content:center; position:relative; gap:12px; width:100%; min-height:48px; padding:12px 48px; border:1px solid transparent; border-radius:6px; font-family:inherit; font-size:15px; line-height:1.4; font-weight:600; text-align:center; text-decoration:none!important; text-transform:none!important; transition:filter .15s; }
.sslg-button svg { position:absolute; left:17px; width:20px; height:20px; }
.sslg-button--naver, .sslg-button--naver:visited { color:#fff; background:#03c75a; }
.sslg-button--kakao, .sslg-button--kakao:visited { color:rgba(0,0,0,.85); background:#fee500; }
.sslg-button--naver:hover { color:#fff; filter:brightness(.96); }
.sslg-button--kakao:hover { color:rgba(0,0,0,.85); filter:brightness(.97); }
.sslg-social .sfbl-login { margin:0; }
.sslg-social .sfbl-button { margin:0; padding-block:12px!important; min-height:48px; border-radius:6px; }
.sslg-button:focus-visible, .sslg-social .sfbl-button:focus-visible { outline:3px solid #232629; outline-offset:3px; }
.sslg-divider { display:flex; align-items:center; gap:14px; color:#697079; font-size:12px; margin:22px 0; }
.sslg-divider:before, .sslg-divider:after { content:""; flex:1; height:1px; background:#e1e3e5; }
.sslg-account, .sfbl-account { padding:24px; margin-top:24px; border:1px solid #e1e3e5; border-radius:10px; }
.sslg-account .sslg-button { max-width:420px; }
.snvl-registration, .skkl-registration { max-width:600px; margin:40px auto; padding:28px; border:1px solid #e1e3e5; border-radius:12px; }
.snvl-registration__actions, .skkl-registration__actions { display:flex; flex-wrap:wrap; gap:16px; align-items:center; margin-top:24px; }
@media(min-width:768px) { #customer_login { display:flex; } #customer_login > [class*="col-"] { flex:1; width:calc(50% - 16px); max-width:calc(50% - 16px); } }
@media(max-width:767px) { #customer_login { padding-block:20px; } #customer_login > [class*="col-"] { padding:22px 18px; margin-bottom:40px; } #customer_login h3 { font-size:23px; } }
@media(prefers-reduced-motion:reduce) { .sslg-button { transition:none; } }

.sslg-button--facebook, .sslg-button--facebook:visited { color:#fff; background:#0866ff; }
.sslg-button--facebook:hover { color:#fff; filter:brightness(.96); }

/* Porto applies a column margin; use an explicit grid gap for both sizes. */
#customer_login { display:grid; grid-template-columns:minmax(0,1fr); gap:40px; }
#customer_login > [class*="col-"] { width:100%; max-width:100%; margin:0!important; }
@media(min-width:768px) { #customer_login { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; align-items:start; } }

/* Keep account connections and checkout login consistent with the forms. */
.sslg-account h3,.sfbl-account h3,.sslg-checkout-login h3 {font-size:20px;line-height:1.4;margin:0 0 12px;letter-spacing:0;text-transform:none;}
.sslg-account p,.sfbl-account p,.sslg-checkout-login p {font-size:14px;line-height:1.6;margin:0 0 16px;}
.sslg-account .sslg-button,.sfbl-account .sfbl-button {max-width:420px;min-height:48px;font-size:15px;line-height:1.4;padding:12px 48px;}
.sfbl-account .sfbl-login {margin:0;}
.sslg-checkout-login {padding:24px;margin:0 0 24px;border:1px solid #e1e3e5;border-radius:10px;}
.sslg-checkout-login .sslg-social {max-width:420px;margin:0;}
@media(max-width:767px){.sslg-account,.sfbl-account,.sslg-checkout-login{padding:20px 18px;}}

/* Every account connection action uses the same dimensions. */
.sslg-account .sslg-button,.sfbl-account .sfbl-button,.sslg-account button.button,.sfbl-account button.button {
 box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;max-width:420px;height:48px;min-height:48px;margin:0;padding:12px 48px;border-radius:6px;font-family:inherit;font-size:15px;line-height:1.4;font-weight:600;text-transform:none;letter-spacing:0;
}
.sslg-account form,.sfbl-account form {margin:0;}

.sslg-account button.button,.sfbl-account button.button {font-size:15px!important;line-height:1.4!important;font-weight:600!important;}

.sslg-button--google,.sslg-button--google:visited{background:#fff;color:#1f1f1f;border-color:#747775;}
.sslg-button--google:hover{background:#f5f5f5;color:#1f1f1f;}

.sslg-account button.sslg-button--google{position:relative;background:#fff;color:#1f1f1f;border:1px solid #747775;}
.sslg-account button.sslg-button--google:hover{background:#f5f5f5;color:#1f1f1f;}

main.sslg-registration.container{box-sizing:border-box;width:calc(100% - 36px);max-width:600px;margin:40px auto;padding:28px;border:1px solid #e1e3e5;border-radius:12px;background:#fff;color:#232629;}
.sslg-registration h1{font-size:26px;line-height:1.35;margin:0 0 24px;letter-spacing:0;text-transform:none;}
.sslg-registration form p{margin:0 0 20px;}
.sslg-registration label{display:block;font-size:14px;font-weight:600;line-height:1.6;}
.sslg-registration input:not([type=hidden]):not([type=checkbox]),.sslg-registration select{display:block;box-sizing:border-box;width:100%;height:48px;min-height:48px;margin-top:8px;padding:10px 14px;border:1px solid #cdd1d5;border-radius:6px;background:#fff;color:#232629;font:inherit;}
.sslg-registration input[type=checkbox]{width:18px;height:18px;vertical-align:middle;margin-right:7px;}
.sslg-registration button[type=submit]{box-sizing:border-box;width:100%;min-height:48px;border:0;border-radius:6px;background:#232629;color:#fff;font-family:inherit;font-size:15px;font-weight:600;}
.sslg-registration a{color:#232629;text-decoration:underline;}
.sslg-registration__actions,.snvl-registration__actions,.sfbl-registration__actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;}
@media(max-width:767px){main.sslg-registration.container{padding:22px 18px;margin:24px auto;}.sslg-registration h1{font-size:23px;}}

/* Shared registration fields use the same full-width controls as WooCommerce. */
#customer_login .sslg-registration-field,.sslg-registration .sslg-registration-field{display:block;float:none;clear:both;width:100%;padding:0;margin:0 0 18px;}
#customer_login .sslg-registration-field label,.sslg-registration .sslg-registration-field label{display:block;width:100%;margin:0 0 7px;}
#customer_login .sslg-registration-field input.input-text,.sslg-registration .sslg-registration-field input.input-text,.sslg-registration .sslg-registration-field select{display:block;box-sizing:border-box;width:100%;max-width:100%;height:48px;min-height:48px;margin:0;}
.sslg-field-hint{display:block;margin-top:7px;font-size:12px;font-weight:400;line-height:1.5;color:#697079;}
@media(max-width:767px){#customer_login input.input-text,#customer_login select,.sslg-registration input:not([type=hidden]):not([type=checkbox]),.sslg-registration select{font-size:16px;}}

