/* Self-contained direto authentication UI. */
.jd-auth-page, .jd-auth-page * { box-sizing: border-box; }
.jd-auth-page { width:100%; color:#29294b; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:15px; line-height:1.5; }
.jd-auth-page a { color:#5955d1; text-decoration:none; }
.jd-auth-page a:hover { text-decoration:underline; }
.jd-auth-page .auth-wrapper { min-height:100vh; display:flex; align-items:center; justify-content:center; padding:24px 16px; background:#fdfdff; }
.jd-auth-page .row { width:100%; display:flex; justify-content:center; }
.jd-auth-page .col-xl-12 { width:100%; max-width:540px; }
.jd-auth-page .card { background:#fff; }
.jd-auth-page .jd-auth-card { width:100%; padding:40px; border:1px solid #ececf2; border-radius:20px; box-shadow:0 16px 50px rgba(41,41,75,.09); }
.jd-auth-page .jd-auth-card img.visible-light { display:inline-block; width:190px; max-width:100%; height:auto; }
.jd-auth-page .text-center { text-align:center; }
.jd-auth-page h1 { margin:0 0 6px; color:#29294b; font-size:22px; line-height:1.3; font-weight:650; }
.jd-auth-page p { margin:0 0 20px; color:#667085; line-height:1.65; }
.jd-auth-page .mb-4 { margin-bottom:20px; }
.jd-auth-page .mb-3 { margin-bottom:14px; }
.jd-auth-page .mb-1 { margin-bottom:6px; }
.jd-auth-page .mb-0 { margin-bottom:0; }
.jd-auth-page .mt-2 { margin-top:10px; }
.jd-auth-page .form-label { display:block; margin:0 0 8px; color:#29294b; font-size:14px; font-weight:600; }
.jd-auth-page .form-control { display:block; width:100%; min-height:48px; padding:12px 14px; border:1px solid #d9dbe7; border-radius:8px; background:#fff; color:#29294b; font:inherit; outline:none; }
.jd-auth-page .form-control:focus { border-color:#5955d1; box-shadow:0 0 0 3px rgba(89,85,209,.12); }
.jd-auth-page .password-wrapper { position:relative; }
.jd-auth-page .password-wrapper .password-input { padding-right:48px; }
.jd-auth-page .toggle-password { position:absolute; top:50%; right:10px; display:grid; place-items:center; width:32px; height:32px; padding:5px; transform:translateY(-50%); border:0; background:transparent; color:#667085; cursor:pointer; }
.jd-auth-page .toggle-password svg { width:20px; height:20px; }
.jd-auth-page .toggle-password .jd-eye-open { display:none; }
.jd-auth-page .toggle-password[aria-pressed="true"] .jd-eye-closed { display:none; }
.jd-auth-page .toggle-password[aria-pressed="true"] .jd-eye-open { display:block; }
.jd-auth-page .d-flex { display:flex; }
.jd-auth-page .justify-content-between { justify-content:space-between; }
.jd-auth-page .align-items-center { align-items:center; }
.jd-auth-page .form-check { display:flex; align-items:flex-start; gap:8px; }
.jd-auth-page .form-check-input { width:16px; height:16px; margin:3px 0 0; accent-color:#5955d1; }
.jd-auth-page .form-check-label { color:#5f6474; font-size:14px; }
.jd-auth-page .btn { display:flex; align-items:center; justify-content:center; width:100%; min-height:48px; padding:11px 16px; border:1px solid transparent; border-radius:8px; color:#29294b; font-family:inherit; font-size:15px; font-weight:600; line-height:1.4; text-align:center; cursor:pointer; text-decoration:none; }
.jd-auth-page .btn:hover { text-decoration:none; filter:brightness(.98); }
.jd-auth-page .btn-primary { background:#5955d1; color:#fff; }
.jd-auth-page .btn-light { border-color:#e3e4eb; background:#fff; color:#29294b; }
.jd-auth-page .btn-naver { background:#03c75a; color:#fff; }
.jd-auth-page .btn-kakao { background:#fee500; color:#191919; }
.jd-auth-page .btn img { width:24px; height:24px; margin-right:8px; object-fit:contain; }
.jd-auth-page .jd-auth-social { margin-top:26px; }
.jd-auth-page .jd-auth-divider { display:flex; align-items:center; gap:14px; margin:0 0 18px; color:#7b8090; font-size:13px; }
.jd-auth-page .jd-auth-divider::before,.jd-auth-page .jd-auth-divider::after { content:""; flex:1; height:1px; background:#e6e7ed; }
.jd-auth-page .woocommerce-error,.jd-auth-page .woocommerce-message,.jd-auth-page .woocommerce-info { margin:0 auto 18px; padding:12px 16px; border-radius:8px; background:#fff4f2; color:#9f3026; list-style:none; }
.jd-auth-page .woocommerce-message { background:#edf8f1; color:#217343; }
.jd-auth-page .woocommerce-info { background:#f1f2ff; color:#4945a8; }
.jd-auth-page .screen-reader-text { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.jd-auth-page .woocommerce-password-strength,.jd-auth-page .woocommerce-password-hint { margin:8px 0; font-size:13px; }
@media (max-width:575px) { .jd-auth-page .auth-wrapper { padding:16px 12px; } .jd-auth-page .jd-auth-card { padding:28px 22px; } .jd-auth-page .d-flex.justify-content-between { gap:12px; } }
/* Compact account layout: avoid adding a full viewport below the site header. */
.jd-auth-page .auth-wrapper { min-height:0; align-items:flex-start; padding:12px 16px; }
.jd-auth-page .jd-auth-card { padding:24px 32px; }
.jd-auth-page .jd-auth-card img.visible-light { width:160px; }
.jd-auth-page .jd-auth-card p { margin-bottom:12px; }
.jd-auth-page .jd-auth-card .mb-4 { margin-bottom:12px; }
.jd-auth-page .jd-auth-card .mb-3 { margin-bottom:10px; }
.jd-auth-page .jd-auth-card .form-control { min-height:44px; padding-top:10px; padding-bottom:10px; }
.jd-auth-page .jd-auth-card .btn { min-height:44px; padding-top:9px; padding-bottom:9px; }
.jd-auth-page .jd-auth-social { margin-top:16px; }
.jd-auth-page .jd-auth-divider { margin-bottom:12px; }
@media (max-width:575px) {
    .jd-auth-page .auth-wrapper { padding:8px 12px; }
    .jd-auth-page .jd-auth-card { padding:22px 20px; }
}
/* Tighter bottom spacing under the authentication card. */
.jd-auth-page { margin-bottom:0; padding-bottom:0; }
.jd-auth-page .auth-wrapper { padding-bottom:0; }
.jd-auth-page .jd-auth-card { padding-bottom:16px; }
.jd-auth-page .jd-auth-card > :last-child { margin-bottom:0; }
@media (max-width:575px) {
    .jd-auth-page .jd-auth-card { padding-bottom:14px; }
}
/* Account details and password change form. */
.jd-account-edit .jd-auth-card { max-width:540px; margin:0 auto; }
.jd-account-edit .jd-account-heading { margin-bottom:18px; }
.jd-account-edit .jd-account-heading p { margin:0; }
.jd-account-edit .jd-account-help { display:block; margin-top:7px; color:#73798a; font-size:13px; line-height:1.5; }
.jd-account-edit .jd-password-change { margin:18px 0; padding:16px; border:1px solid #e5e7eb; border-radius:12px; }
.jd-account-edit .jd-password-change legend { padding:0 8px; color:#29294b; font-size:16px; font-weight:600; }
.jd-account-edit .jd-password-change .jd-account-help { margin:0 0 14px; }
.jd-account-edit .jd-password-change .mb-4:last-child { margin-bottom:0; }
/* Keep account pages content-only; navigation is available from the site profile menu. */
body.woocommerce-account .woocommerce-MyAccount-navigation { display:none !important; }
body.woocommerce-account .woocommerce-MyAccount-content { float:none !important; width:100% !important; max-width:1100px; margin:0 auto !important; }
body.woocommerce-account .woocommerce-MyAccount-content::before,
body.woocommerce-account .woocommerce-MyAccount-content::after { content:none !important; display:none !important; }
/* Collapse the grid column containing the hidden account navigation. */
body.woocommerce-account .col-sm-3:has(> nav.woocommerce-MyAccount-navigation) {
    display:none !important;
}
body.woocommerce-account .col-sm-3:has(> nav.woocommerce-MyAccount-navigation) ~ .col-sm-9 {
    flex:0 0 100% !important;
    width:100% !important;
    max-width:100% !important;
}