/* KYP Account UI 1.0.0: deliberately scoped to My Account only. */
body.woocommerce-account { background:#f6f9f8; }
body.woocommerce-account .kyp-account-page { max-width:1240px; margin:0 auto; padding:40px 24px 64px; color:#20494c; }
.kyp-account-page *, .kyp-account-page *::before, .kyp-account-page *::after { box-sizing:border-box; }
.kyp-account-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:28px; }
.kyp-account-eyebrow { margin:0 0 8px; color:#087e7b; font-size:11px; line-height:1.5; letter-spacing:.13em; font-weight:750; }
.kyp-account-page .kyp-account-heading h1 { font-family:inherit; margin:0 0 10px; font-size:34px; font-weight:750; letter-spacing:-.035em; line-height:1.2; }
.kyp-account-description { margin:0; max-width:650px; font-size:15px; line-height:1.65; color:#607579; }
.kyp-account-help { display:inline-flex; flex:0 0 auto; align-items:center; gap:8px; min-height:44px; padding:10px 14px; border:1px solid #cededb; border-radius:10px; color:#315b5c; background:#fff; font-size:13px; font-weight:650; text-decoration:none; }
.kyp-account-help svg { flex:0 0 20px; }
.kyp-account-body > .woocommerce { display:flow-root; }
.kyp-account-page .woocommerce-MyAccount-navigation { width:240px; float:left; background:#fff; border:1px solid #dbe7e4; border-radius:16px; padding:10px; }
.kyp-account-page .woocommerce-MyAccount-navigation ul { list-style:none; margin:0; padding:0; }
.kyp-account-page .woocommerce-MyAccount-navigation li { margin:3px 0; padding:0; }
.kyp-account-page .woocommerce-MyAccount-navigation a { display:flex; align-items:center; gap:12px; min-height:48px; padding:13px 14px; border-radius:10px; border:1px solid transparent; color:#496466; text-decoration:none; font-size:14px; line-height:1.4; font-weight:600; overflow-wrap:anywhere; }
.kyp-account-page .woocommerce-MyAccount-navigation a::before { content:""; display:block; flex:0 0 19px; width:19px; height:19px; background:currentColor; mask:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Crect x='4' y='4' width='16' height='16' rx='3'/%3E%3Cpath d='M8 9h8M8 13h8M8 17h5'/%3E%3C/svg%3E"); }
.kyp-account-page .woocommerce-MyAccount-navigation-link--dashboard a::before { mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1'/%3E%3C/svg%3E"); }
.kyp-account-page .woocommerce-MyAccount-navigation-link--orders a::before { mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='m3 7 9-4 9 4v10l-9 4-9-4V7Zm0 0 9 4 9-4M12 11v10M7.5 5l9 4v5'/%3E%3C/svg%3E"); }
.kyp-account-page .woocommerce-MyAccount-navigation-link--downloads a::before { mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='M12 3v12m-5-5 5 5 5-5M4 16v5h16v-5'/%3E%3C/svg%3E"); }
.kyp-account-page .woocommerce-MyAccount-navigation-link--edit-address a::before { mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='M19 10c0 5-7 11-7 11S5 15 5 10a7 7 0 0 1 14 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E"); }
.kyp-account-page .woocommerce-MyAccount-navigation-link--edit-account a::before { mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3Cpath d='M4 21v-2a8 8 0 0 1 16 0v2'/%3E%3C/svg%3E"); }
.kyp-account-page .woocommerce-MyAccount-navigation-link--customer-logout a::before { mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='M10 4H4v16h6M9 12h12m-5-5 5 5-5 5'/%3E%3C/svg%3E"); }
.kyp-account-page .woocommerce-MyAccount-navigation a:hover { background:#f1f7f5; color:#087e7b; }
.kyp-account-page .woocommerce-MyAccount-navigation li.is-active a { color:#fff; background:#087e7b; border-color:#087e7b; }
.kyp-account-page .woocommerce-MyAccount-navigation-link--customer-logout { border-top:1px solid #e5eeeb; margin-top:10px; padding-top:8px; }
.kyp-account-page .woocommerce-MyAccount-content { width:calc(100% - 268px); float:right; min-width:0; padding:28px; border:1px solid #dbe7e4; border-radius:16px; background:#fff; box-shadow:0 5px 20px #20494c04; font-size:15px; line-height:1.7; overflow-wrap:anywhere; }
.kyp-account-page .woocommerce-MyAccount-content > :first-child { margin-top:0; }
.kyp-account-page .woocommerce-MyAccount-content > :last-child { margin-bottom:0; }
.kyp-account-page .woocommerce-MyAccount-content p { margin:0 0 18px; }
.kyp-account-page .woocommerce-MyAccount-content a:not(.button):not(.kyp-account-shortcut) { color:#087e7b; text-decoration:underline; text-underline-offset:3px; }
.kyp-account-page h2, .kyp-account-page h3 { font-family:inherit; color:#20494c; font-weight:700; font-size:20px; line-height:1.35; margin:0 0 20px; letter-spacing:-.02em; }
.kyp-account-page .woocommerce-notices-wrapper { max-width:none; padding:0; margin:0; }
.kyp-account-page .woocommerce-notices-wrapper:empty { display:none; }
/* Reserve a real icon column. Never inherit the generic 16px notice padding. */
.kyp-account-page .woocommerce-info, .kyp-account-page .woocommerce-message, .kyp-account-page .woocommerce-error { position:relative; width:100%; max-width:none; display:flow-root; margin:0 0 16px; padding:18px 18px 18px 56px; border:1px solid #cddfdb; border-radius:12px; background:#f1f8f6; color:#315b5c; font-size:14px; line-height:1.7; box-shadow:none; list-style:none; }
.kyp-account-page .woocommerce-info::before, .kyp-account-page .woocommerce-message::before, .kyp-account-page .woocommerce-error::before { position:absolute; left:18px; top:20px; width:22px; height:22px; display:grid; place-items:center; padding:0; margin:0; border:1.5px solid currentColor; border-radius:50%; content:"i"; font-family:Arial,Helvetica,sans-serif!important; font-size:14px; font-weight:700; line-height:1; color:#087e7b; }
.kyp-account-page .woocommerce-message::before { content:"✓"; }
.kyp-account-page .woocommerce-error { color:#89392d; background:#fff5f1; border-color:#ebc5b9; }
.kyp-account-page .woocommerce-error::before { content:"!"; color:#a54432; }
.kyp-account-page .woocommerce-error li { padding:0; margin:0 0 5px; }
.kyp-account-page .woocommerce-info .button, .kyp-account-page .woocommerce-message .button { margin:0 0 8px 16px; }
.kyp-account-page .woocommerce a.button, .kyp-account-page .woocommerce button.button, .kyp-account-page .woocommerce input.button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; max-width:100%; padding:11px 17px; border:1px solid #087e7b; border-radius:9px; background:#087e7b; color:#fff; font-family:inherit; font-size:14px; font-weight:700; line-height:1.45; text-align:center; white-space:normal; text-decoration:none; box-shadow:none; cursor:pointer; }
.kyp-account-page .woocommerce a.button:hover, .kyp-account-page .woocommerce button.button:hover { background:#086764; border-color:#086764; color:#fff; }
.kyp-account-page :is(a,button,input,select,textarea):focus-visible { outline:3px solid #e77617; outline-offset:3px; }
.kyp-account-page .woocommerce form .form-row { padding:0; margin:0 0 20px; }
.kyp-account-page .woocommerce form .form-row label { display:block; color:#3d5c60; font-size:14px; font-weight:600; line-height:1.6; margin-bottom:7px; }
.kyp-account-page .woocommerce form :is(input.input-text,textarea,select) { width:100%; min-height:48px; padding:12px 14px; border:1px solid #bfd1cd; border-radius:9px; background:#fcfefd; color:#20494c; font-family:inherit; font-size:16px; line-height:1.5; box-shadow:none; }
.kyp-account-page .woocommerce form :is(input.input-text,textarea,select):focus { border-color:#087e7b; background:#fff; }
.kyp-account-page .woocommerce form input[type=checkbox] { accent-color:#087e7b; width:17px; height:17px; vertical-align:middle; margin-right:6px; }
.kyp-account-page .woocommerce form .form-row .woocommerce-form__label-for-checkbox { display:inline-flex; align-items:center; gap:4px; font-weight:400; margin:0; }
.kyp-account-page .woocommerce form .password-input { display:block; width:100%; }
.kyp-account-page .woocommerce form .password-input input { padding-right:50px; }
.kyp-account-page .woocommerce form .show-password-input { width:44px; height:44px; min-height:44px; right:2px; top:2px; transform:none; padding:0; border:0; background:transparent; color:#436866; border-radius:8px; }
.kyp-account-page .woocommerce form .show-password-input::before { position:static; margin:0; }
.kyp-account-page .woocommerce form .form-row em, .kyp-account-page .woocommerce-privacy-policy-text { color:#607579; font-size:13px; line-height:1.7; }
.kyp-account-page .woocommerce form fieldset { border:1px solid #dbe7e4; border-radius:12px; margin:28px 0; padding:20px; }
.kyp-account-page .woocommerce form legend { padding:0 8px; font-weight:700; font-size:16px; color:#20494c; }
.kyp-account-page .woocommerce #customer_login { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; }
.kyp-account-page .woocommerce #customer_login::before, .kyp-account-page .woocommerce #customer_login::after { display:none; }
.kyp-account-page .woocommerce #customer_login > div { width:auto; float:none; min-width:0; border:1px solid #dbe7e4; border-radius:16px; background:#fff; padding:28px; }
.kyp-account-page .woocommerce form.login, .kyp-account-page .woocommerce form.register { margin:0; padding:0; border:0; border-radius:0; }
.kyp-account-page .woocommerce form.login > .form-row:not(.woocommerce-form-row) { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:14px; }
.kyp-account-page .woocommerce .woocommerce-form-login .woocommerce-form-login__submit { float:none; order:2; margin:0; }
.kyp-account-page .woocommerce-LostPassword { font-size:13px; margin:18px 0 0; }
.kyp-account-page .woocommerce-LostPassword a { color:#087e7b; text-decoration:underline; text-underline-offset:3px; }
.kyp-account-page .woocommerce .woocommerce-ResetPassword { max-width:680px; padding:28px; background:#fff; border:1px solid #dbe7e4; border-radius:16px; }
.kyp-account-page .woocommerce .woocommerce-ResetPassword .form-row { float:none; width:100%; }
.kyp-account-shortcuts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:28px; }
.kyp-account-shortcut { display:block; padding:18px; border:1px solid #dbe7e4; border-radius:12px; background:#f7faf9; color:#20494c; text-decoration:none; }
.kyp-account-shortcut:hover { background:#edf6f3; border-color:#96bfb5; }
.kyp-account-shortcut strong { display:flex; justify-content:space-between; gap:10px; font-size:15px; margin-bottom:8px; }
.kyp-account-shortcut strong span { color:#087e7b; }
.kyp-account-shortcut > span { display:block; font-size:13px; color:#607579; line-height:1.65; }
.kyp-account-page .woocommerce .woocommerce-Addresses { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.kyp-account-page .woocommerce .woocommerce-Addresses::before, .kyp-account-page .woocommerce .woocommerce-Addresses::after { display:none; }
.kyp-account-page .woocommerce .woocommerce-Address { width:auto; float:none; padding:20px; border:1px solid #dbe7e4; border-radius:12px; }
.kyp-account-page .woocommerce .woocommerce-Address-title { display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between; align-items:baseline; margin-bottom:14px; }
.kyp-account-page .woocommerce .woocommerce-Address-title::before, .kyp-account-page .woocommerce .woocommerce-Address-title::after { display:none; }
.kyp-account-page .woocommerce .woocommerce-Address-title h2, .kyp-account-page .woocommerce .woocommerce-Address-title h3 { float:none; margin:0; font-size:17px; }
.kyp-account-page .woocommerce .woocommerce-Address-title a { float:none; font-size:13px; }
.kyp-account-page .woocommerce address { font-style:normal; color:#607579; }
.kyp-account-page .woocommerce table.shop_table { border:1px solid #dbe7e4; border-radius:10px; border-spacing:0; margin:0 0 24px; font-size:14px; overflow:hidden; }
.kyp-account-page .woocommerce table.shop_table th { background:#f1f7f5; color:#315b5c; font-weight:650; padding:13px 12px; }
.kyp-account-page .woocommerce table.shop_table td { padding:14px 12px; border-top:1px solid #e3ece9; }
.kyp-account-page .woocommerce table.shop_table .button { margin:4px 5px 4px 0; padding:9px 12px; font-size:13px; }
.kyp-account-page .select2-container .select2-selection--single { min-height:48px; border:1px solid #bfd1cd; border-radius:9px; background:#fcfefd; }
.kyp-account-page .select2-container .select2-selection--single .select2-selection__rendered { padding:9px 14px; line-height:28px; color:#20494c; }
.kyp-account-page .select2-container .select2-selection--single .select2-selection__arrow { height:46px; right:8px; }
@media(max-width:960px) {
 .kyp-account-page .woocommerce-MyAccount-navigation { width:210px; }
 .kyp-account-page .woocommerce-MyAccount-content { width:calc(100% - 230px); padding:22px; }
 .kyp-account-shortcuts { grid-template-columns:1fr; }
 .kyp-account-page .woocommerce .woocommerce-Addresses { grid-template-columns:1fr; }
}
@media(max-width:760px) {
 body.woocommerce-account .kyp-account-page { padding:28px 16px 40px; }
 .kyp-account-heading { align-items:flex-start; flex-direction:column; gap:16px; margin-bottom:22px; }
 .kyp-account-page .kyp-account-heading h1 { font-size:28px; }
 .kyp-account-description { font-size:14px; }
 .kyp-account-page .woocommerce-MyAccount-navigation { float:none; width:100%; margin-bottom:20px; padding:8px; border-radius:12px; }
 .kyp-account-page .woocommerce-MyAccount-navigation ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; }
 .kyp-account-page .woocommerce-MyAccount-navigation li { margin:0; }
 .kyp-account-page .woocommerce-MyAccount-navigation a { padding:11px 10px; gap:9px; font-size:13px; min-height:48px; height:100%; }
 .kyp-account-page .woocommerce-MyAccount-navigation-link--customer-logout { border-top:0; padding-top:0; }
 .kyp-account-page .woocommerce-MyAccount-content { float:none; width:100%; padding:20px; border-radius:12px; font-size:14px; }
 .kyp-account-page .woocommerce #customer_login { grid-template-columns:1fr; gap:18px; }
 .kyp-account-page .woocommerce #customer_login > div, .kyp-account-page .woocommerce .woocommerce-ResetPassword { padding:22px; border-radius:12px; }
 .kyp-account-page .woocommerce-info, .kyp-account-page .woocommerce-message, .kyp-account-page .woocommerce-error { padding:16px 14px 16px 48px; font-size:13px; }
 .kyp-account-page .woocommerce-info::before, .kyp-account-page .woocommerce-message::before, .kyp-account-page .woocommerce-error::before { left:14px; top:18px; width:20px; height:20px; }
 .kyp-account-page .woocommerce-info:has(> .button), .kyp-account-page .woocommerce-message:has(> .button) { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
 .kyp-account-page .woocommerce-info > .button, .kyp-account-page .woocommerce-message > .button { order:2; float:none; margin:0; }
 .kyp-account-page .woocommerce form .form-row-first, .kyp-account-page .woocommerce form .form-row-last { float:none; width:100%; }
 .kyp-account-page .woocommerce form fieldset { padding:16px; }
 .kyp-account-page .woocommerce table.shop_table_responsive tr { border-bottom:1px solid #dbe7e4; }
 .kyp-account-page .woocommerce table.shop_table_responsive tr td { display:flow-root; text-align:right!important; }
 .kyp-account-page .woocommerce table.shop_table_responsive tr td::before { float:left; margin-right:12px; color:#315b5c; }
 .kyp-account-page .woocommerce table.shop_table_responsive tr td.woocommerce-orders-table__cell-order-actions { text-align:left!important; }
}
@media(prefers-reduced-motion:reduce) { .kyp-account-page * { scroll-behavior:auto!important; transition:none!important; } }

/* Reset Woo float clearfix boxes in the flex login action row. */
.kyp-account-page .woocommerce form.login > .form-row:not(.woocommerce-form-row)::before, .kyp-account-page .woocommerce form.login > .form-row:not(.woocommerce-form-row)::after { display:none; }
