/* Confeti account entry: scoped so authenticated account pages keep their template. */
.cpt-account{--account-ink:#0a1939;--account-muted:#526071;--account-line:#dbddd9;background:#faf8f4;color:var(--account-ink);font:400 18px/1.55 Manrope,sans-serif;padding:64px 32px 72px}
.cpt-account *,.cpt-account *::before,.cpt-account *::after{box-sizing:border-box}
.cpt-account :is(h1,h2,p,form){margin:0;padding:0}
.cpt-account :is(h1,h2){font-family:inherit;color:inherit;text-transform:none;word-break:normal;font-weight:700}
.cpt-account h1{font-size:38px;line-height:1.2;letter-spacing:-1px;margin-bottom:14px}
.cpt-account a{color:var(--account-ink);text-decoration:none;font-weight:600}
.cpt-account a:hover{text-decoration:underline;text-underline-offset:4px;color:var(--account-ink)}
.cpt-account :is(a,button,input):focus-visible{outline:3px solid var(--account-ink);outline-offset:4px}
.cpt-account-shell{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);max-width:1120px;margin:0 auto;background:#fff;border:1px solid #e7e3de;border-radius:16px;overflow:hidden}
.cpt-account-welcome{background:#fff0f6;padding:48px;display:flex;flex-direction:column;align-items:flex-start;gap:24px;min-width:0}
.cpt-account .cpt-account-eyebrow{font-size:13px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase}
.cpt-account-welcome h2{font-size:44px;line-height:1.12;letter-spacing:-1.4px}
.cpt-account-welcome>p:not(.cpt-account-eyebrow){color:var(--account-muted);font-size:18px;line-height:1.55}
.cpt-account-photo{width:100%;height:230px;border-radius:10px;overflow:hidden;margin-top:auto}
.cpt-account-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 58%}
.cpt-account .cpt-account-welcome .cpt-account-photo-caption{font-size:15px;line-height:1.5;color:var(--account-ink);margin-top:-8px}
.cpt-account-form-panel{padding:48px;min-width:0;align-self:center}
.cpt-account-intro{color:var(--account-muted);font-size:18px;line-height:1.55;margin-bottom:28px!important}
.cpt-account .form-row{float:none;width:100%;padding:0;margin:0 0 22px;display:block}
.cpt-account label{display:block;font-size:16px;font-weight:600;line-height:1.5;color:var(--account-ink);margin:0 0 8px}
.cpt-account input:is([type=text],[type=email],[type=password]){display:block;width:100%;height:56px;margin:0;border:1px solid #adb3bd;border-radius:6px;padding:12px 15px;font:400 18px/1.5 Manrope,sans-serif;color:var(--account-ink);background:#fff;box-shadow:none;transition:border-color .15s}
.cpt-account input:is([type=text],[type=email],[type=password]):focus{border-color:var(--account-ink);box-shadow:0 0 0 1px var(--account-ink);outline:none}
.cpt-account .cpt-account-password{display:block;position:relative;width:100%}
.cpt-account .cpt-account-password input{padding-right:92px}
.cpt-account .cpt-account-reveal{position:absolute;right:5px;top:5px;bottom:5px;min-height:44px;min-width:76px;border:0;border-radius:4px;background:transparent;margin:0;padding:0 8px;font:600 14px/1.5 Manrope,sans-serif;color:var(--account-ink);text-transform:none;letter-spacing:0;box-shadow:none;cursor:pointer}
.cpt-account .cpt-account-reveal:hover{background:#fff0f6}
.cpt-account .cpt-account-password>.show-password-input{display:none!important}
.cpt-account [hidden]{display:none!important}
.cpt-account-options{display:flex;align-items:center;justify-content:space-between;gap:8px 20px;flex-wrap:wrap;margin:-4px 0 20px;font-size:15px}
.cpt-account-options>a{display:inline-flex;align-items:center;min-height:44px;font-size:16px}
.cpt-account .cpt-account-remember{display:flex;align-items:center;gap:10px;min-height:44px;margin:0;font-size:16px;cursor:pointer}
.cpt-account-remember input{appearance:auto;width:18px;height:18px;margin:0;flex-shrink:0;accent-color:var(--account-ink)}
.cpt-account .cpt-account-submit,.cpt-account .woocommerce-ResetPassword .button{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;min-height:56px;height:auto;padding:14px 20px;margin:0;border:1px solid transparent;border-radius:6px;background:#ea62a0;color:var(--account-ink);font:700 17px/1.5 Manrope,sans-serif;text-align:left;text-transform:none;letter-spacing:0;box-shadow:none;white-space:normal;cursor:pointer}
.cpt-account .cpt-account-submit:hover,.cpt-account .woocommerce-ResetPassword .button:hover{background:#f080b2;color:var(--account-ink);box-shadow:none}
.cpt-account .cpt-account-submit:disabled,.cpt-account .woocommerce-ResetPassword .button:disabled{opacity:.6;cursor:not-allowed}
.cpt-account-guest{border-top:1px solid var(--account-line);margin-top:28px;padding-top:24px}
.cpt-account-guest h2{font-size:20px;line-height:1.4;letter-spacing:-.2px;margin-bottom:6px}
.cpt-account-guest p{font-size:16px;color:var(--account-muted);margin-bottom:5px}
.cpt-account-guest a{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:16px}
.cpt-account-help{margin-top:20px!important;font-size:14px;color:var(--account-muted);line-height:1.65}
.cpt-account-help a{text-decoration:underline;text-underline-offset:4px;display:inline-block;padding:7px 0}
.cpt-account-back{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:15px;margin-bottom:20px}
.cpt-account .woocommerce-error,.cpt-account .woocommerce-message,.cpt-account .woocommerce-info,.cpt-account-preview-message{font-size:16px;line-height:1.5;list-style:none;color:var(--account-ink);background:#fff0f6;border:1px solid #e7b4cb;border-radius:6px;padding:16px;margin:0 0 24px;text-align:left}
.cpt-account .woocommerce-error::before,.cpt-account .woocommerce-message::before,.cpt-account .woocommerce-info::before{display:none}
.cpt-account .woocommerce-error li{margin:0;list-style:none}
.cpt-account .cpt-account-preview-message{margin:20px 0 0}
.cpt-account .woocommerce-ResetPassword>p{margin-bottom:22px}
.cpt-account .woocommerce-password-strength{font-size:14px;line-height:1.5;margin-top:10px;padding:8px;border-radius:4px}
.cpt-account .woocommerce-password-hint{font-size:14px;line-height:1.5}
@media(max-width:1100px){
 .cpt-account{padding:48px 32px 56px}.cpt-account-welcome,.cpt-account-form-panel{padding:36px}
 .cpt-account-welcome h2{font-size:38px}.cpt-account h1{font-size:32px}.cpt-account-intro{font-size:17px}
 .cpt-account-options{gap:0 12px}.cpt-account-options>a,.cpt-account .cpt-account-remember{font-size:16px}
}
@media(max-width:767px){
 .cpt-account{padding:24px 16px 32px;font-size:16px}.cpt-account-shell{display:block;max-width:520px;border-radius:12px}
 .cpt-account-welcome{display:none}.cpt-account-form-panel{padding:28px 24px}
 .cpt-account h1{font-size:30px;line-height:1.2;letter-spacing:-.7px;margin-bottom:12px}
 .cpt-account-intro{font-size:16px;line-height:1.55;margin-bottom:24px!important}
 .cpt-account label{font-size:16px}.cpt-account input:is([type=text],[type=email],[type=password]){height:54px;font-size:17px}
 .cpt-account .form-row{margin-bottom:20px}.cpt-account-options{margin-bottom:16px}
 .cpt-account .cpt-account-submit,.cpt-account .woocommerce-ResetPassword .button{font-size:16px;min-height:54px;padding:14px 16px}
 .cpt-account-guest{margin-top:24px;padding-top:22px}.cpt-account-guest h2{font-size:19px}
 .cpt-account-help{margin-top:16px!important}.cpt-account-back{margin-top:-8px;margin-bottom:16px}
}
@media(prefers-reduced-motion:reduce){.cpt-account *{transition:none!important}}
