/* PreppinPeppers — customer-journey polish: login/account, cart & checkout, empty states.
   One confident primary action per screen (brand blue #1e4fd8), generous space, unified fields.
   Scoped to real journey classes (this theme's body tag carries no woocommerce-* class). */
:root{--ppj-blue:#1e4fd8;--ppj-blue-hi:#1a43b8;--ppj-blue-soft:#e8eefc;--ppj-ink:#141414;--ppj-muted:rgb(20 20 20 / .60);--ppj-line:#e4e2dd;--ppj-radius:12px}

/* ---- page scope: center the login column ---- */
.woocommerce:has(> .woocommerce-form-login){max-width:440px;margin:4px auto 72px;padding-inline:16px}
.woocommerce:has(> .woocommerce-form-login) > h2{font-size:28px;font-weight:650;letter-spacing:-.01em;text-align:center;margin:0 0 22px}

/* ---- login card ---- */
.woocommerce form.woocommerce-form-login.login{margin:0;padding:26px 24px;background:#fff;border:1px solid var(--ppj-line);border-radius:18px;box-shadow:0 1px 2px rgb(0 0 0 / .04), 0 10px 34px rgb(0 0 0 / .05)}
.woocommerce .pp-sl,.woocommerce .pp-lc{max-width:none}

/* labels */
.woocommerce form.woocommerce-form-login .woocommerce-form-row{margin:0 0 16px}
.woocommerce form.woocommerce-form-login .woocommerce-form-row > label{display:block;margin:0 0 6px;font-size:14px;font-weight:600;color:var(--ppj-ink)}
.woocommerce .woocommerce-form-login .required{border:0;color:var(--ppj-blue);text-decoration:none}

/* fields (specificity beats Woo .woocommerce form .form-row input.input-text) */
.woocommerce form.woocommerce-form-login .form-row input.input-text,
.woocommerce .pp-lc form input{width:100%;box-sizing:border-box;min-height:48px;padding:12px 14px;font-size:16px;color:var(--ppj-ink);background:#fff;border:1px solid var(--ppj-line);border-radius:var(--ppj-radius);transition:border-color .15s, box-shadow .15s}
.woocommerce form.woocommerce-form-login .form-row input.input-text:focus,
.woocommerce .pp-lc form input:focus{outline:none;border-color:var(--ppj-blue);box-shadow:0 0 0 3px var(--ppj-blue-soft)}
.woocommerce .woocommerce-form-login .password-input{position:relative;display:block}
.woocommerce .woocommerce-form-login .password-input .show-password-input{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:0;cursor:pointer}

/* remember me */
.woocommerce .woocommerce-form-login__rememberme{display:flex;align-items:center;gap:8px;margin:0 0 18px;font-size:14px;color:var(--ppj-muted)}
.woocommerce .woocommerce-form-login__rememberme input{margin:0}

/* primary CTA */
.woocommerce form.woocommerce-form-login button.woocommerce-form-login__submit{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;padding:0 24px;border:0;border-radius:var(--ppj-radius);background:var(--ppj-blue);color:#fff;font:inherit;font-size:16px;font-weight:600;line-height:1;cursor:pointer;transition:background-color .15s, transform .02s}
.woocommerce form.woocommerce-form-login button.woocommerce-form-login__submit:hover{background:var(--ppj-blue-hi);color:#fff}
.woocommerce form.woocommerce-form-login button.woocommerce-form-login__submit:active{transform:translateY(1px)}

.woocommerce .woocommerce-form-login .lost_password{text-align:center;margin:16px 0 0;font-size:14px}
.woocommerce .woocommerce-form-login .lost_password a{color:var(--ppj-blue);text-decoration:none}
.woocommerce .woocommerce-form-login .lost_password a:hover{text-decoration:underline}

/* magic-code = clean secondary path */
.woocommerce .pp-lc{margin:22px auto 0}
.woocommerce .pp-lc-lead{font-size:14px;line-height:1.5;color:var(--ppj-muted);text-align:center;margin:0 0 14px}
.woocommerce .pp-lc form{gap:10px}
.woocommerce .pp-lc label{font-size:14px;font-weight:600;color:var(--ppj-ink)}
.woocommerce .pp-lc form button.button{align-self:stretch;display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:0 20px;border:1.5px solid var(--ppj-line);border-radius:var(--ppj-radius);background:#fff;color:var(--ppj-ink);font:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:border-color .15s, background-color .15s}
.woocommerce .pp-lc form button.button:hover{border-color:var(--ppj-ink);background:#fafafa}
.woocommerce .pp-lc-msg{text-align:center;font-size:14px;margin:10px 0 0}

/* ---- empty cart ---- */
.cart-page--empty{text-align:center;max-width:620px;margin:48px auto}
a.button.cart-items__empty-button{display:inline-flex;align-items:center;justify-content:center;min-width:220px;margin:18px auto 0;min-height:50px;padding:0 30px;border:0;border-radius:var(--ppj-radius);background:var(--ppj-blue);color:#fff;font:inherit;font-size:16px;font-weight:600;line-height:1;text-decoration:none;cursor:pointer;transition:background-color .15s, transform .02s}
a.button.cart-items__empty-button:hover{background:var(--ppj-blue-hi);color:#fff}
a.button.cart-items__empty-button:active{transform:translateY(1px)}

/* ---- cart / checkout block primary action ---- */
.wp-block-woocommerce-cart .wc-block-cart__submit-button,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button{background:var(--ppj-blue) !important;color:#fff !important;border-radius:var(--ppj-radius) !important;min-height:52px !important;font-weight:600 !important}
.wp-block-woocommerce-cart .wc-block-cart__submit-button:hover,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:hover{background:var(--ppj-blue-hi) !important}

/* ---- block checkout: fields, options, checkboxes (match login card) ---- */
.wp-block-woocommerce-checkout .wc-block-components-text-input input,
.wp-block-woocommerce-checkout .wc-block-components-text-input input[type],
.wp-block-woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select,
.wp-block-woocommerce-checkout .wc-block-components-country-input select,
.wp-block-woocommerce-checkout .wc-block-components-state-input select,
.wp-block-woocommerce-checkout .wc-block-components-textarea{border:1px solid #d6d3cc !important;border-radius:var(--ppj-radius) !important;background:#fff !important;box-shadow:none !important;transition:border-color .15s, box-shadow .15s}
.wp-block-woocommerce-checkout .wc-block-components-text-input input:focus,
.wp-block-woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select:focus,
.wp-block-woocommerce-checkout .wc-block-components-country-input select:focus,
.wp-block-woocommerce-checkout .wc-block-components-state-input select:focus,
.wp-block-woocommerce-checkout .wc-block-components-textarea:focus{outline:none !important;border-color:var(--ppj-blue) !important;box-shadow:0 0 0 3px var(--ppj-blue-soft) !important}
.wp-block-woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__container{border-radius:var(--ppj-radius)}
.wp-block-woocommerce-checkout .wc-block-components-text-input.has-error input{border-color:#cc1818 !important}

/* shipping + payment option cards: full width, soft border, blue when chosen.
   Woo draws the selected outline as an inset shadow + a pseudo-element divider; replace both. */
.wp-block-woocommerce-checkout .wc-block-components-radio-control{display:flex;flex-direction:column;gap:10px}
.wp-block-woocommerce-checkout .wc-block-components-radio-control::after,
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option::after,
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option::after{display:none !important}
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option,
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option{width:100%;box-sizing:border-box;margin:0;background:#fff;border-radius:var(--ppj-radius) !important;box-shadow:inset 0 0 0 1px #d6d3cc !important;transition:box-shadow .15s}
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option-checked,
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option:has(.wc-block-components-radio-control__option-checked){box-shadow:inset 0 0 0 2px var(--ppj-blue) !important}
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option{box-shadow:none !important;background:transparent}
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option-layout{width:100%}

/* radios + checkboxes in brand blue */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__input{border-color:#b9b5ad !important}
.wp-block-woocommerce-checkout .wc-block-components-radio-control__input:checked{border-color:var(--ppj-blue) !important}
.wp-block-woocommerce-checkout .wc-block-components-radio-control__input:checked::before{background:var(--ppj-blue) !important}
.wp-block-woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input{border-color:#b9b5ad;border-radius:6px}
.wp-block-woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input:checked{background:var(--ppj-blue);border-color:var(--ppj-blue)}
.wp-block-woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input:checked + .wc-block-components-checkbox__mark{fill:#fff}
.wp-block-woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input:focus-visible{outline:2px solid var(--ppj-blue);outline-offset:2px}

/* order summary card: same soft card as login */
.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block{border:1px solid var(--ppj-line) !important;border-radius:18px;background:#fff;overflow:hidden}
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__quantity{background:var(--ppj-ink);color:#fff;border-color:#fff}

/* ---- block empty states (client-rendered when the cart empties on /checkout or /cart) ---- */
.wc-block-checkout-empty,.wp-block-woocommerce-empty-cart-block{max-width:620px;margin:48px auto;padding-inline:16px;text-align:center}
.wc-block-checkout-empty .wc-block-checkout-empty__image{width:56px;height:56px;margin:0 auto 14px;opacity:.35}
.wc-block-checkout-empty .wc-block-checkout-empty__title{font-size:22px;font-weight:650;margin:0 0 8px}
.wc-block-checkout-empty .wc-block-checkout-empty__description{font-size:15px;line-height:1.55;color:var(--ppj-muted);margin:0 auto}
.wc-block-checkout-empty .wp-block-button,.wp-block-woocommerce-empty-cart-block .wp-block-button{display:block;margin-top:22px}
.wc-block-checkout-empty .wp-block-button .wp-block-button__link,
.wp-block-woocommerce-empty-cart-block .wp-block-button .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-width:220px;min-height:50px;padding:0 30px;border:0;border-radius:var(--ppj-radius);background:var(--ppj-blue);color:#fff;font:inherit;font-size:16px;font-weight:600;line-height:1;text-decoration:none;transition:background-color .15s}
.wc-block-checkout-empty .wp-block-button .wp-block-button__link:hover,
.wp-block-woocommerce-empty-cart-block .wp-block-button .wp-block-button__link:hover{background:var(--ppj-blue-hi);color:#fff}

/* ---- /my-account logged out with registration on: Sign in | Create account cards, code card under ---- */
.woocommerce:has(> #customer_login){max-width:980px;margin:8px auto 72px;padding-inline:16px}
.woocommerce #customer_login{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.woocommerce #customer_login::before,.woocommerce #customer_login::after{display:none}
.woocommerce #customer_login > .u-column1,.woocommerce #customer_login > .u-column2{width:auto;float:none;margin:0;padding:0}
.woocommerce #customer_login h2{font-size:26px;font-weight:650;letter-spacing:-.01em;margin:0 0 16px}
@media (max-width:760px){.woocommerce #customer_login{grid-template-columns:1fr;gap:36px}}

.woocommerce form.woocommerce-form-register.register{margin:0;padding:26px 24px;background:#fff;border:1px solid var(--ppj-line);border-radius:18px;box-shadow:0 1px 2px rgb(0 0 0 / .04), 0 10px 34px rgb(0 0 0 / .05)}
.woocommerce form.woocommerce-form-register .woocommerce-form-row{margin:0 0 16px}
.woocommerce form.woocommerce-form-register .woocommerce-form-row > label{display:block;margin:0 0 6px;font-size:14px;font-weight:600;color:var(--ppj-ink)}
.woocommerce form.woocommerce-form-register .required{border:0;color:var(--ppj-blue);text-decoration:none}
.woocommerce form.woocommerce-form-register .form-row input.input-text{width:100%;box-sizing:border-box;min-height:48px;padding:12px 14px;font-size:16px;color:var(--ppj-ink);background:#fff;border:1px solid var(--ppj-line);border-radius:var(--ppj-radius);transition:border-color .15s, box-shadow .15s}
.woocommerce form.woocommerce-form-register .form-row input.input-text:focus{outline:none;border-color:var(--ppj-blue);box-shadow:0 0 0 3px var(--ppj-blue-soft)}
.woocommerce form.woocommerce-form-register .password-input{position:relative;display:block}
.woocommerce form.woocommerce-form-register .password-input .show-password-input{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:0;cursor:pointer}
.woocommerce form.woocommerce-form-register .pp-optin{margin:0 0 14px}
.woocommerce form.woocommerce-form-register .pp-optin label{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ppj-ink)}
.woocommerce form.woocommerce-form-register .pp-optin input{margin:0;width:18px;height:18px;accent-color:var(--ppj-blue)}
.woocommerce form.woocommerce-form-register .woocommerce-privacy-policy-text p{margin:0 0 18px;font-size:13px;line-height:1.5;color:var(--ppj-muted)}
.woocommerce form.woocommerce-form-register .woocommerce-privacy-policy-text a{color:var(--ppj-blue)}
.woocommerce form.woocommerce-form-register button.woocommerce-form-register__submit{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;padding:0 24px;border:0;border-radius:var(--ppj-radius);background:var(--ppj-blue);color:#fff;font:inherit;font-size:16px;font-weight:600;line-height:1;cursor:pointer;transition:background-color .15s}
.woocommerce form.woocommerce-form-register button.woocommerce-form-register__submit:hover{background:var(--ppj-blue-hi);color:#fff}
.woocommerce form.woocommerce-form-register > .woocommerce-form-row:last-child{margin:0}

/* code sign-in/up card under both columns */
.woocommerce:has(> #customer_login) > .pp-lc{max-width:none;margin:32px 0 0;padding:22px 24px;background:#fff;border:1px solid var(--ppj-line);border-radius:18px}
.woocommerce:has(> #customer_login) > .pp-lc .pp-lc-or{display:none}
.woocommerce:has(> #customer_login) > .pp-lc .pp-lc-lead{text-align:left;margin:0 0 12px;color:var(--ppj-ink)}
.woocommerce:has(> #customer_login) > .pp-lc form:not([hidden]){display:grid;grid-template-columns:1fr auto;align-items:end;column-gap:10px;row-gap:6px;margin:0}
.woocommerce:has(> #customer_login) > .pp-lc form label{grid-column:1 / -1}
.woocommerce:has(> #customer_login) > .pp-lc form button.button{width:auto;min-width:170px}
.woocommerce:has(> #customer_login) > .pp-lc .pp-lc-f2{margin-top:14px}
.woocommerce:has(> #customer_login) > .pp-lc .pp-lc-msg{text-align:left}
@media (max-width:560px){.woocommerce:has(> #customer_login) > .pp-lc form:not([hidden]){grid-template-columns:1fr}.woocommerce:has(> #customer_login) > .pp-lc form button.button{width:100%}}

/* the code step stays hidden until a code is requested (the plugin's display:flex beat the [hidden] attribute) */
.pp-lc form[hidden],.pp-lc .pp-lc-msg[hidden]{display:none !important}
.woocommerce .woocommerce-form-login__rememberme input{width:18px;height:18px;accent-color:var(--ppj-blue)}

/* ---- one-card account page (JS adds .pp-acct-one + data-pp-view=login|register|code; no JS = two columns above) ---- */
.woocommerce.pp-acct-one:has(> #customer_login){max-width:440px}
.woocommerce.pp-acct-one:has(> #customer_login) #customer_login{grid-template-columns:1fr}
.woocommerce.pp-acct-one:has(> #customer_login) #customer_login h2{text-align:center;font-size:28px;margin:0 0 20px}
.woocommerce.pp-acct-one[data-pp-view="login"]:has(> #customer_login) #customer_login > .u-column2,
.woocommerce.pp-acct-one[data-pp-view="login"]:has(> #customer_login) > .pp-lc,
.woocommerce.pp-acct-one[data-pp-view="register"]:has(> #customer_login) #customer_login > .u-column1,
.woocommerce.pp-acct-one[data-pp-view="register"]:has(> #customer_login) > .pp-lc,
.woocommerce.pp-acct-one[data-pp-view="code"]:has(> #customer_login) > #customer_login{display:none}
.woocommerce.pp-acct-one:has(> #customer_login) > .pp-lc{margin:0;padding:26px 24px;box-shadow:0 1px 2px rgb(0 0 0 / .04), 0 10px 34px rgb(0 0 0 / .05)}
.woocommerce.pp-acct-one:has(> #customer_login) > .pp-lc .pp-lc-lead{text-align:center}
.woocommerce.pp-acct-one:has(> #customer_login) > .pp-lc form:not([hidden]){grid-template-columns:1fr;row-gap:8px}
.woocommerce.pp-acct-one:has(> #customer_login) > .pp-lc form button.button{width:100%;min-height:50px;border:0;background:var(--ppj-blue);color:#fff}
.woocommerce.pp-acct-one:has(> #customer_login) > .pp-lc form button.button:hover{background:var(--ppj-blue-hi)}
.woocommerce .pp-acct-switch{margin:10px 0 0;text-align:center;font-size:14px;line-height:1.5;color:var(--ppj-muted)}
.woocommerce .woocommerce-form-login .lost_password + .pp-acct-switch{margin-top:14px;padding-top:14px;border-top:1px solid var(--ppj-line)}
.woocommerce .pp-acct-switch a{color:var(--ppj-blue);text-decoration:none}
.woocommerce .pp-acct-switch a:hover{text-decoration:underline}
.woocommerce form.woocommerce-form-register .pp-acct-switch{margin-top:16px}

/* inline email code on the sign-in step (replaces the separate code block when JS runs) */
.woocommerce.pp-acct-one:has(> #customer_login) > .pp-lc{display:none !important}
.woocommerce form.woocommerce-form-login [hidden]{display:none !important}
.woocommerce form.woocommerce-form-login .pp-code-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin:10px 0 0;padding:0 20px;border:1.5px solid var(--ppj-line);border-radius:var(--ppj-radius);background:#fff;color:var(--ppj-ink);font:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:border-color .15s, background-color .15s}
.woocommerce form.woocommerce-form-login .pp-code-btn:hover{border-color:var(--ppj-ink);background:#fafafa}
.woocommerce form.woocommerce-form-login .pp-code-btn:disabled{opacity:.6;cursor:progress}
.woocommerce form.woocommerce-form-login .pp-code-msg{margin:8px 0 0;font-size:14px;text-align:center;color:var(--ppj-ink)}
.woocommerce form.woocommerce-form-login .pp-code-msg:empty{display:none}
.woocommerce form.woocommerce-form-login .pp-code-box{margin:4px 0 0}
.woocommerce form.woocommerce-form-login .pp-code-sent{margin:0 0 14px;font-size:14px;line-height:1.5;color:var(--ppj-muted)}
.woocommerce form.woocommerce-form-login .pp-code-box label{display:block;margin:0 0 6px;font-size:14px;font-weight:600;color:var(--ppj-ink)}
.woocommerce form.woocommerce-form-login .pp-code-box input{width:100%;box-sizing:border-box;min-height:52px;padding:12px 14px;font-size:22px;letter-spacing:.3em;text-align:center;font-variant-numeric:tabular-nums;color:var(--ppj-ink);background:#fff;border:1px solid var(--ppj-line);border-radius:var(--ppj-radius)}
.woocommerce form.woocommerce-form-login .pp-code-box input:focus{outline:none;border-color:var(--ppj-blue);box-shadow:0 0 0 3px var(--ppj-blue-soft)}
.woocommerce form.woocommerce-form-login .pp-code-go{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;margin:14px 0 0;border:0;border-radius:var(--ppj-radius);background:var(--ppj-blue);color:#fff;font:inherit;font-size:16px;font-weight:600;cursor:pointer}
.woocommerce form.woocommerce-form-login .pp-code-go:hover{background:var(--ppj-blue-hi)}
.woocommerce form.woocommerce-form-login .pp-code-box .pp-acct-switch{margin-top:14px}
.woocommerce form.woocommerce-form-login.is-code #username[readonly]{background:#f6f5f2;color:var(--ppj-muted)}
