.kp-account.account-pages { padding-bottom:40px; font-size:16px; }
.kp-account.account-pages * { box-sizing:border-box; }
.kp-account .account-shell { margin-inline:auto; max-width:1250px; padding-inline:20px; }
.kp-account .account-breadcrumbs { display:flex; flex-wrap:wrap; gap:14px; padding-block:20px; font-size:14px; }
.kp-account .account-layout { display:grid; grid-template-columns:260px minmax(0,1fr); gap:32px; }
.kp-account .account-layout-public { display:block; max-width:850px; margin-inline:auto; }
.kp-account .account_content { min-width:0; width:100%; }
.kp-account .title { margin:0 0 28px; font-size:30px; line-height:1.3; }
.kp-account .account-form { width:100%; }
.kp-account .account-panel { margin:0 0 28px; padding:0; border:0; border-radius:0; min-width:0; }
.kp-account .account-panel legend { font-size:18px; padding:0; margin-bottom:18px; font-weight:600; }
.kp-account .account-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.kp-account .account-field { min-width:0; display:flex; flex-direction:column; gap:7px; }
.kp-account .account-field label { font-size:16px; line-height:1.4; }
.kp-account .account-field input,.kp-account .account-field select { min-width:0; max-width:100%; width:100%; height:48px; padding:10px 12px; border:1px solid #bbb; border-radius:5px; background:#fff; color:inherit; font:inherit; }
.kp-account form[data-account-form] select[data-account-field] { opacity:1; visibility:visible; appearance:auto; }
.kp-account .account-field input[readonly] { background:#f7f7f7; }
.kp-account .account-field input:focus,.kp-account .account-field select:focus,.kp-account .button:focus-visible { outline:2px solid #28734f; outline-offset:2px; }
.kp-account [aria-invalid="true"] { border-color:#b21b32!important; }
.kp-account .account-error,.kp-account .account-warning { color:#a8132c; overflow-wrap:anywhere; }
.kp-account .account-warning,.kp-account .account-success { padding:14px; margin-bottom:20px; border:1px solid currentColor; }
.kp-account .account-success { color:#31724c; }
.kp-account .account-error { font-size:14px; }
.kp-account .account-check { margin-block:12px; line-height:1.5; }
.kp-account .account-check label { cursor:pointer; }
.kp-account .account-check input[type="checkbox"] { appearance:auto; width:20px; height:20px; vertical-align:middle; margin-right:7px; accent-color:#51a881; }
.kp-account .account-check p,.kp-account .account-panel p { margin-block:10px; }
.kp-account .account-actions,.kp-account .account-alternatives { display:flex; flex-wrap:wrap; align-items:center; gap:15px; margin-block:24px; }
.kp-account .button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 20px; cursor:pointer; border:1px solid #bbb; border-radius:5px; font:inherit; text-decoration:none; background:#fff; color:inherit; }
.kp-account .account-save { background:#51a881; border-color:#51a881; border-radius:0; font-weight:600; color:#162d23; }
.kp-account .account-address { border:1px solid #ddd; border-radius:5px; padding:24px; margin-bottom:20px; overflow-wrap:anywhere; }
.kp-account .default_address { border-color:#51a881; }
.kp-account .account-address h2 { font-size:20px; margin-bottom:10px; }
.kp-account .account-default { display:inline-block; padding:4px 8px; border:1px solid #51a881; margin-bottom:10px; }
.kp-account .account-alternatives > div { width:100%; max-width:400px; }
.kp-account [hidden] { display:none!important; }
@media(max-width:767px) { .kp-account .account-layout { display:flex; flex-direction:column; gap:24px; } .kp-account .side_bar { order:2; } .kp-account .account-grid { grid-template-columns:1fr; } .kp-account .account-shell { padding-inline:15px; } .kp-account .title { font-size:25px; } .kp-account .account-actions { gap:12px; } .kp-account .account-actions .account-back { flex:0 0 auto; padding-inline:12px; border-color:transparent; background:transparent; } .kp-account .account-actions .account-save { flex:1 1 0; width:auto; } }

.kp-account-login .login-entry-field { box-sizing:border-box; max-width:100%; }
.kp-account-login .content > *, .kp-account-login .btn-group-register { min-width:0; }
@media(max-width:790px) { .kp-account-login .wrap { width:100%; padding-inline:15px; box-sizing:border-box; } .kp-account-login .content { width:100%; max-width:100%; } }

.kp-account .account-field input, .kp-account .account-field select { border:0; border-bottom:1px solid #bdbdbd; border-radius:0; background:transparent; }

.kp-account[data-account-page="register"] .account-shell { max-width:1600px; }
.kp-account[data-account-page="register"] .account-layout-public { max-width:none; margin-inline:0; }
.kp-account .account-register-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,1fr); gap:35px; }
.kp-account .account-register-main { min-width:0; }
.kp-account .account-register-main > p { margin-bottom:24px; }
.kp-account .account-register-main .account-grid { grid-template-columns:1fr; }
.kp-account .account-register-main .account-panel { border:0; padding:0; margin-bottom:24px; }
.kp-account .account-register-main legend { padding:0; margin-bottom:18px; }
.kp-account .account-register-layout .account-alternatives { margin-top:0; align-content:start; align-items:start; flex-direction:column; }
@media(max-width:767px) { .kp-account .account-register-layout { grid-template-columns:1fr; gap:20px; } }

.kp-account .account-password { position:relative; min-width:0; }
.kp-account .account-password input { padding-right:100px; }
.kp-account .account-password-toggle { position:absolute; right:8px; top:0; bottom:0; margin-block:auto; max-width:90px; min-height:44px; padding:5px; border:0; background:transparent; color:inherit; font:inherit; font-size:14px; cursor:pointer; }
.kp-account .account-password-toggle:focus-visible { outline:2px solid currentColor; outline-offset:1px; }
.kp-account .account-password > .password-toggle { display:none!important; }

.kp-account .account-birthday legend { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.kp-account .account-register-main > p a { color:#28734f; text-decoration:underline; text-underline-offset:3px; }
.kp-account .account-social-intro { width:100%; margin:0; font-size:16px; line-height:1.5; }
.kp-account .account-alternatives .btn-facebook { width:100%; max-width:400px; min-height:44px; justify-content:flex-start; gap:18px; padding:10px 20px; border:1px solid #1f9f9d; border-radius:5px; background:#fff; color:#404345; font-size:14px; font-weight:500; }
.kp-account .account-facebook-icon { display:inline-flex; flex:none; width:18px; height:18px; color:#0385c1; }
.kp-account .account-facebook-icon svg { width:100%; height:100%; fill:currentColor; }
.kp-account :where(a,button,input,select):focus-visible { outline:2px solid #28734f; outline-offset:2px; }
.kp-account .account-check .account-error { display:block; margin-top:6px; }
.kp-account[data-account-page="complete"] .account-form > .account-field { margin-bottom:24px; }
