/* =========================================================================
   FreshPen — My Account dashboard (WooCommerce)
   Ported from the Shopify fp-account.liquid design. Reuses the theme's own
   color/font tokens from main.css (--ink, --ink-strong, --mut, --bg, --line,
   --font) for page chrome; the membership card stays black to stand out.
   ========================================================================= */

.fpa{background:var(--bg,#fff);color:var(--ink,#111);min-height:70vh;padding-block:40px 72px;font-family:var(--font);}
.fpa *{box-sizing:border-box;}
.fpa__shell{display:grid;grid-template-columns:240px minmax(0,1fr);gap:26px;align-items:start;max-width:1160px;margin-inline:auto;padding-inline:clamp(16px,4vw,40px);}

.fpa__side{position:sticky;top:20px;display:flex;flex-direction:column;gap:14px;min-width:0;}
.fpa__mcard{background:#101010;border-radius:16px;padding:16px;color:#fff;}
.fpa__mcard-r{display:flex;align-items:center;justify-content:space-between;}
.fpa__mcard-brand{font-size:12px;letter-spacing:.04em;color:rgba(255,255,255,.7);font-weight:600;}
.fpa__mcard-tier{font-size:11px;font-weight:700;border-radius:999px;padding:3px 12px;letter-spacing:.03em;text-transform:uppercase;}
.fpa__mcard-tier--silver{color:#2b2f36;background:linear-gradient(135deg,#f6f8fa 0%,#c3cad2 42%,#f0f3f6 52%,#a9b2bc 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 1px 3px rgba(0,0,0,.28);}
.fpa__mcard-tier--gold{color:#4a3600;background:linear-gradient(135deg,#fdf1bf 0%,#e3b94e 42%,#fff6ce 52%,#cf9c15 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 1px 3px rgba(0,0,0,.28);}
.fpa__mcard-tier--platinum{color:#fff;background:linear-gradient(135deg,#d8b4fe 0%,#9333ea 42%,#ecd9ff 52%,#7c3aed 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 2px 8px rgba(147,51,234,.55);}
.fpa__tierwrap{position:relative;display:inline-block;cursor:pointer;outline:none;}
.fpa__tierpop{position:absolute;top:calc(100% + 8px);right:0;width:240px;background:var(--bg,#fff);color:var(--ink,#111);border:1px solid var(--line,#ececec);border-radius:12px;padding:12px;box-shadow:0 10px 30px rgba(0,0,0,.16);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s,transform .15s;z-index:60;text-align:left;}
.fpa__tierwrap:hover .fpa__tierpop,.fpa__tierwrap:focus-within .fpa__tierpop,.fpa__tierwrap.is-open .fpa__tierpop{opacity:1;visibility:visible;transform:translateY(0);}
.fpa__tierpop-h{font-size:10px;font-weight:600;color:var(--mut,#6b6b6b);text-transform:uppercase;letter-spacing:.1em;margin-bottom:9px;}
.fpa__tierpop-item{display:flex;gap:9px;padding:8px;border-radius:9px;}
.fpa__tierpop-item.is-current{background:#f6f5f2;}
.fpa__tierpop-item+.fpa__tierpop-item{margin-top:2px;}
.fpa__tierpop-item b{font-size:13px;display:block;margin-bottom:1px;}
.fpa__tierpop-item span{font-size:11px;line-height:1.45;color:var(--mut,#6b6b6b);}
.fpa__tierdot{width:13px;height:13px;border-radius:50%;flex:0 0 13px;margin-top:3px;box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 1px 2px rgba(0,0,0,.2);}
.fpa__tierdot--silver{background:linear-gradient(135deg,#f6f8fa,#a9b2bc);}
.fpa__tierdot--gold{background:linear-gradient(135deg,#fdf1bf,#cf9c15);}
.fpa__tierdot--platinum{background:linear-gradient(135deg,#d8b4fe,#7c3aed);}
.fpa__mcard-id{display:flex;align-items:center;gap:10px;margin:13px 0;}
.fpa__mcard-av{width:36px;height:36px;border-radius:50%;background:#fff;color:#101010;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;flex:none;}
.fpa__mcard-meta{min-width:0;}
.fpa__mcard-nm{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fpa__mcard-em{font-size:11px;color:rgba(255,255,255,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fpa__mcard-st{display:flex;gap:10px;border-top:1px solid rgba(255,255,255,.14);padding-top:11px;}
.fpa__mcard-st>div{flex:1;}
.fpa__mcard-st span{display:block;font-size:10px;color:rgba(255,255,255,.6);}
.fpa__mcard-st b{font-size:13px;font-weight:500;}

.fpa__nav{display:flex;flex-direction:column;gap:2px;}
.fpa__navi{display:flex;align-items:center;gap:11px;padding:10px 11px;border:0;background:transparent;border-radius:10px;font-size:14px;color:var(--mut,#6b6b6b);cursor:pointer;text-align:left;font-family:inherit;width:100%;text-decoration:none;}
.fpa__navi:hover{background:#f6f5f2;color:var(--ink,#111);}
.fpa__navi.is-active{background:#f6f5f2;color:var(--ink,#111);font-weight:600;}
.fpa__logout{color:#b91c1c;margin-top:4px;border-top:1px solid var(--line,#ececec);border-radius:0;padding-top:12px;}
.fpa__logout:hover{background:#fef2f2;color:#b91c1c;}

.fpa__main{min-width:0;overflow-wrap:break-word;}
.fpa__h1{font-size:clamp(22px,3.4vw,28px);font-weight:700;letter-spacing:-.02em;margin:0;}
.fpa__sub{color:var(--mut,#6b6b6b);font-size:14px;margin:5px 0 0;}
.fpa__sec{font-size:15px;font-weight:600;margin:26px 0 12px;}
.fpa__sec-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:26px;flex-wrap:wrap;row-gap:10px;}
.fpa__sec-row .fpa__sec{margin:0;}
.fpa__link{background:none;border:0;padding:0;font-family:inherit;font-size:13px;color:var(--mut,#6b6b6b);cursor:pointer;text-decoration:none;}
.fpa__link:hover{color:var(--ink,#111);}

.fpa__tier{background:#f6f5f2;border-radius:12px;padding:13px 15px;margin-top:16px;}
.fpa__tier-r{display:flex;justify-content:space-between;font-size:12px;margin-bottom:8px;color:var(--mut,#6b6b6b);}
.fpa__tier-r b{font-weight:600;color:var(--ink,#111);}
.fpa__tier-bar{height:7px;background:rgba(0,0,0,.08);border-radius:999px;overflow:hidden;}
.fpa__tier-bar i{display:block;height:100%;background:var(--ink-strong,#09090b);border-radius:999px;}

.fpa__hl{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px;}
.fpa__hlc{border:1px solid var(--line,#ececec);border-radius:12px;padding:12px 13px;}
.fpa__hlic{width:28px;height:28px;border-radius:9px;display:inline-block;margin-bottom:9px;}
.fpa__hlic--pending{background:#fffbeb;}
.fpa__hlic--proc{background:#eff6ff;}
.fpa__hlic--done{background:#f0fdf4;}
.fpa__hln{display:block;font-size:21px;font-weight:700;line-height:1;}
.fpa__hll{display:block;font-size:11px;color:var(--mut,#6b6b6b);margin-top:4px;}

.fpa__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;}
.fpa__mc{background:var(--bg,#fff);border:1px solid var(--line,#ececec);border-radius:12px;padding:14px;}
.fpa__mc-h{display:flex;align-items:center;justify-content:space-between;color:var(--mut,#6b6b6b);font-size:12px;}
.fpa__mc-v{font-size:20px;font-weight:700;margin-top:5px;letter-spacing:-.01em;}

.fpa__orders{display:flex;flex-direction:column;gap:9px;}
.fpa__ord{display:flex;align-items:center;gap:13px;border:1px solid var(--line,#ececec);border-radius:13px;padding:11px 13px;color:inherit;}
.fpa__om{flex:1;min-width:0;}
.fpa__ot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.fpa__oi{font-size:13px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fpa__op{font-weight:600;font-size:13px;white-space:nowrap;}
.fpa__opwrap{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:none;}
.fpa__contpay{font-size:11.5px;font-weight:600;color:#fff;background:#25d366;padding:5px 10px;border-radius:999px;white-space:nowrap;text-decoration:none;}
.fpa__contpay:hover{opacity:.88;}
.fpa__meta{font-size:11px;color:var(--mut,#6b6b6b);}

.fpa__pill{font-size:11px;font-weight:500;padding:2px 9px;border-radius:999px;}
.fpa__pill--pending{background:#fffbeb;color:#b45309;}
.fpa__pill--proc{background:#eff6ff;color:#1d4ed8;}
.fpa__pill--done{background:#f0fdf4;color:#15803d;}
.fpa__pill--cancel{background:#fef2f2;color:#b91c1c;}

.fpa__btn,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{display:inline-flex;align-items:center;gap:7px;background:var(--ink-strong,#09090b)!important;color:#fff!important;border:1px solid var(--ink-strong,#09090b)!important;border-radius:8px!important;padding:10px 17px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;white-space:nowrap;text-decoration:none;}
.fpa__btn:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{opacity:.88;}
.fpa__btn--wa{background:#25d366!important;border-color:#25d366!important;margin-top:12px;}
.fpa__reflabel{font-size:13px;color:var(--mut,#6b6b6b);margin:16px 0 8px;}
.fpa__code{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f6f5f2;border:1px dashed var(--line,#ececec);border-radius:11px;padding:12px 15px;font-family:ui-monospace,monospace;font-size:14px;margin-top:12px;}
.fpa__copy{background:none;border:0;cursor:pointer;color:var(--mut,#6b6b6b);display:inline-flex;padding:4px;}

.fpa__wal{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:16px;}
.fpa__walc{border-radius:14px;padding:17px;color:#fff;background:#101010;}
.fpa__walc--gold{background:#3b2f00;}
.fpa__walc span{font-size:12px;color:rgba(255,255,255,.7);}
.fpa__walc b{display:block;font-size:24px;font-weight:600;margin-top:5px;}

.fpa__empty{border:1px dashed var(--line,#ececec);border-radius:13px;padding:34px;text-align:center;color:var(--mut,#6b6b6b);font-size:14px;}
.fpa__note{font-size:12px;color:var(--mut,#6b6b6b);margin-top:14px;}

/* Restyle WooCommerce's own native content (orders table, addresses, forms)
   to fit the FreshPen look without overriding their PHP templates. */
.fpa .woocommerce-MyAccount-content{max-width:100%;}
.fpa table.shop_table,.fpa .woocommerce-orders-table{border:1px solid var(--line,#ececec);border-radius:12px;border-collapse:separate;overflow:hidden;font-size:14px;}
.fpa table.shop_table th{background:#f6f5f2;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--mut,#6b6b6b);}
.fpa table.shop_table th,.fpa table.shop_table td{padding:12px 14px;border-color:var(--line,#ececec);}
.fpa .woocommerce-Addresses{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:11px;}
.fpa .woocommerce-Address{border:1px solid var(--line,#ececec);border-radius:13px;padding:15px;}
.fpa .woocommerce-Address-title h3{font-size:15px;font-weight:600;}
.fpa .woocommerce-Address-title a{font-size:13px;color:var(--mut,#6b6b6b);}
.fpa form .form-row input.input-text,.fpa form .form-row select,.fpa form .form-row textarea{padding:10px 12px;border:1px solid var(--line,#ececec);border-radius:8px;font-family:inherit;}
.fpa fieldset{border:1px solid var(--line,#ececec);border-radius:12px;padding:14px;}
.fpa mark{background:none;color:inherit;font-weight:600;}
.fpa .woocommerce-notices-wrapper{display:block;margin:0 0 22px;}
.fpa .woocommerce-Message,.fpa .woocommerce-message,.fpa .woocommerce-error,.fpa .woocommerce-info{border-top-color:var(--ink-strong,#09090b);border-radius:10px;background:#f6f5f2;padding:14px 16px;font-size:13px;line-height:1.5;margin:0;list-style:none;}
.fpa .woocommerce-Message .button,.fpa .woocommerce-message .button,.fpa .woocommerce-error .button,.fpa .woocommerce-info .button{margin-top:10px;}

@media (max-width:749px){
  .fpa{padding-block:20px 52px;}
  /* minmax(0,1fr), not a bare 1fr: without the explicit 0 minimum, this
     single-column track refuses to shrink below the intrinsic (min-content)
     width of its widest child. The nav below is the culprit -- 6 nowrap
     tab labels ("Points & Balance" included) add up to ~540px, well past a
     375px phone -- so the whole grid track, and every card inside it, was
     rendering ~540px wide and getting sliced off by the sitewide
     body{overflow-x:hidden} safety net. Concretely: the Referral, Address
     and Profile tabs, and the right half of the membership card, were
     unreachable/invisible on real phones. minmax(0,1fr) plus min-width:0 on
     .fpa__side/.fpa__main (base rules above) lets the grid track actually
     honor the viewport width; .fpa__nav's own overflow-x:auto (below) then
     does its job as a horizontal scroll-tab bar instead of never engaging. */
  .fpa__shell{grid-template-columns:minmax(0,1fr);gap:16px;}
  .fpa__side{position:static;}
  .fpa__nav{flex-direction:row;overflow-x:auto;gap:6px;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .fpa__nav::-webkit-scrollbar{display:none;}
  /* .fpa__navi has width:100% in the base (desktop, column-direction) rule
     above -- in row direction that made each tab stretch to fill the
     entire visible width, so only the active tab ("Dashboard") ever
     showed, with no visible hint that Orders/Points & Balance/Referral/
     Address/Profile exist just a swipe away. width:auto + flex:none makes
     each tab hug its own label again, so several sit side by side and the
     row visibly continues past the edge -- a real scroll affordance
     instead of a dead end. */
  .fpa__navi{white-space:nowrap;flex:none;width:auto;}
  .fpa__logout{border-top:0;padding-top:10px;}
  .fpa__hl{grid-template-columns:1fr 1fr 1fr;}
  .fpa__wal{grid-template-columns:1fr;}
  .fpa .woocommerce-Addresses{grid-template-columns:1fr;}
}

/* Dashboard functional additions: clickable order rows + Buy Again action.
   Added alongside reorder/view-order links in myaccount/dashboard.php and
   myaccount/view-order.php — kept in this dashboard-scoped stylesheet
   rather than main.css to avoid touching shared files other agents are
   editing tonight. */
a.fpa__om{color:inherit;text-decoration:none;display:block;}
a.fpa__om:hover .fpa__meta{color:var(--ink,#111);}
.fpa__ordacts{display:flex;gap:6px;}
.fpa__reorder{font-size:11.5px;font-weight:600;color:var(--ink-strong,#09090b);background:none;border:1px solid var(--line,#ececec);padding:5px 10px;border-radius:999px;white-space:nowrap;text-decoration:none;}
.fpa__reorder:hover{background:#f6f5f2;}
.fpa__mc-note{font-size:11px;color:var(--mut,#6b6b6b);margin-top:5px;line-height:1.4;}
.fpa__mc-note a{color:inherit;text-decoration:underline;}

/* "Buy Again" ghost variant of .fpa__btn, used next to Print Invoice on the
   View Order page. */
.fpa__invoice-cta{display:flex;gap:10px;flex-wrap:wrap;}
.fpa__btn--ghost{background:none!important;color:var(--ink-strong,#09090b)!important;border:1px solid var(--line,#ececec)!important;}
.fpa__btn--ghost:hover{background:#f6f5f2!important;opacity:1!important;}

/* Order fulfillment tracker (Order Received -> Prepared -> Cold-Packed ->
   Shipped -> Delivered), shown on the View Order page just below the Print
   Invoice / Buy Again row. Simple horizontal step indicator, same
   black/white palette as the rest of the dashboard — no new color. */
.fpa__track{margin:22px 0 28px;}
.fpa__track-h{font-size:12px;font-weight:600;color:var(--mut,#6b6b6b);text-transform:uppercase;letter-spacing:.06em;margin:0 0 18px;}
.fpa__track-steps{display:flex;list-style:none;margin:0;padding:0;}
.fpa__track-step{flex:1;position:relative;text-align:center;padding-top:6px;}
.fpa__track-step::before{content:"";position:absolute;top:15px;left:-50%;width:100%;height:2px;background:var(--line,#ececec);z-index:0;}
.fpa__track-step:first-child::before{content:none;}
.fpa__track-step.is-done::before,.fpa__track-step.is-current::before{background:var(--ink-strong,#09090b);}
.fpa__track-dot{position:relative;z-index:1;display:inline-block;width:13px;height:13px;border-radius:50%;background:#fff;border:2px solid var(--line,#ececec);margin-bottom:9px;}
.fpa__track-step.is-done .fpa__track-dot{background:var(--ink-strong,#09090b);border-color:var(--ink-strong,#09090b);}
.fpa__track-step.is-current .fpa__track-dot{background:#fff;border-color:var(--ink-strong,#09090b);box-shadow:0 0 0 3px rgba(9,9,11,.14);}
.fpa__track-label{display:block;font-size:11.5px;color:var(--mut,#6b6b6b);line-height:1.3;padding:0 4px;}
.fpa__track-step.is-done .fpa__track-label,.fpa__track-step.is-current .fpa__track-label{color:var(--ink,#111);font-weight:600;}

@media (max-width:749px){
  .fpa__track-label{font-size:9.5px;}
}

/* =========================================================================
   FreshPen — logged-out My Account (Log In / Create Account)
   Rendered by woocommerce/myaccount/form-login.php when the customer isn't
   signed in yet. WooCommerce calls this template directly (bypassing
   my-account.php + the .fpa dashboard shell), so it gets its own compact
   card layout here, built from the same tokens as the dashboard above.
   ========================================================================= */

.fpa-auth{background:var(--bg,#fff);color:var(--ink,#111);min-height:70vh;display:flex;align-items:flex-start;justify-content:center;padding:56px 20px 80px;font-family:var(--font);}
.fpa-auth *{box-sizing:border-box;}
.fpa-auth__shell{width:100%;max-width:440px;border:1px solid var(--line,#ececec);border-radius:20px;padding:36px 32px 32px;background:var(--bg,#fff);box-shadow:0 24px 60px rgba(0,0,0,.08);}
.fpa-auth__shell--solo{padding-top:36px;}

/* Old tab-bar rules — kept only so any leftover markup elsewhere still gets
   a sane baseline; the modern layout below (.fpa-auth__brand/__promo)
   replaces the visible two-tab row entirely. */
.fpa-auth__tabs{display:flex;gap:0;margin:0 -32px 28px;border-bottom:1px solid var(--line,#ececec);}
.fpa-auth__tab{flex:1;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:16px 8px 14px;font-family:inherit;font-size:14px;font-weight:600;color:var(--mut,#6b6b6b);cursor:pointer;transition:color .15s,border-color .15s;}
.fpa-auth__tabs .fpa-auth__tab:hover{color:var(--ink,#111);}
.fpa-auth__tabs .fpa-auth__tab.is-active{color:var(--ink-strong,#09090b);border-bottom-color:var(--ink-strong,#09090b);}

/* Brand mark + welcoming headline — sits above everything else in the card,
   the page's one <h1>. Text wordmark (not the WordPress logo), same
   font-weight/letter-spacing as the site header's logo. */
.fpa-auth__brand{text-align:center;margin-bottom:24px;}
.fpa-auth__mark{display:inline-block;font-weight:800;font-size:19px;letter-spacing:-.02em;color:var(--ink-strong,#09090b);text-decoration:none;margin-bottom:18px;}
.fpa-auth__welcome{font-size:clamp(21px,3.2vw,26px);font-weight:700;letter-spacing:-.02em;margin:0 0 8px;}
.fpa-auth__welcome-sub{font-size:13.5px;color:var(--mut,#6b6b6b);line-height:1.5;margin:0;}

/* Promo block: one prominent primary CTA (Create Account), the Google
   button right below it, then a small text toggle back to Log In — this is
   what makes Sign Up unmistakable instead of a small buried tab. */
.fpa-auth__promo{margin-bottom:4px;}
.fpa-auth__tab.fpa-auth__cta{display:flex;flex:none;width:100%;align-items:center;justify-content:center;height:52px;padding:0 24px;border-radius:9999px;background:var(--ink-strong,#09090b);color:#fff;border:none;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;text-align:center;transition:opacity .15s;margin:0 0 12px;}
.fpa-auth__tab.fpa-auth__cta:hover{opacity:.88;color:#fff;}

.fpa-auth__social{margin-bottom:14px;}
.fpa-auth__social .nsl-container{width:100%;}
.fpa-auth__social .nsl-container-buttons{display:flex;flex-direction:column;gap:10px;}
.fpa-auth__social a{text-decoration:none;}
.fpa-auth__social .nsl-button{width:100%!important;height:52px!important;border-radius:9999px!important;border:1.5px solid var(--line,#ececec)!important;background:#fff!important;box-shadow:none!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;transition:background .15s,border-color .15s;}
.fpa-auth__social .nsl-button:hover{background:#f6f5f2!important;}
.fpa-auth__social .nsl-button-svg-container{width:18px!important;height:18px!important;flex:none;}
.fpa-auth__social .nsl-button-svg-container svg{width:18px;height:18px;display:block;}
.fpa-auth__social .nsl-button-label-container{font-size:14.5px!important;font-weight:600;color:var(--ink,#111)!important;font-family:var(--font)!important;}
.fpa-auth__social .nsl-button-label-container b{font-weight:600;}

.fpa-auth__toggle{text-align:center;margin:0;font-size:13px;color:var(--mut,#6b6b6b);}
.fpa-auth__tab.fpa-auth__toggle-link{display:inline;flex:none;width:auto;height:auto;background:none;border:0;padding:0;margin:0 0 0 4px;font-family:inherit;font-size:13px;font-weight:600;color:var(--ink-strong,#09090b);text-decoration:underline;cursor:pointer;}

.fpa-auth__divider{display:flex;align-items:center;gap:12px;margin:22px 0 20px;color:var(--mut,#6b6b6b);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;}
.fpa-auth__divider::before,.fpa-auth__divider::after{content:'';flex:1;height:1px;background:var(--line,#ececec);}

.fpa-auth__panels{position:relative;}
.fpa-auth__panel{display:none;}
.fpa-auth__panel.is-active{display:block;animation:fpa-auth-in .25s ease;}
@keyframes fpa-auth-in{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:translateY(0);}}

.fpa-auth__h{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mut,#6b6b6b);margin:0 0 8px;}
.fpa-auth__sub{color:var(--mut,#6b6b6b);font-size:13.5px;line-height:1.5;margin:0 0 20px;}

.fpa-auth__form .form-row{margin:0 0 16px;}
.fpa-auth__field label{display:block;font-size:12.5px;font-weight:600;color:var(--ink,#111);margin-bottom:6px;}
.fpa-auth__field .required{color:#b91c1c;}
.fpa-auth__field input.input-text{width:100%;padding:11px 13px;border:1px solid var(--line,#ececec);border-radius:8px;font-family:inherit;font-size:14px;color:var(--ink,#111);background:var(--bg,#fff);transition:border-color .15s,box-shadow .15s;}
.fpa-auth__field input.input-text:focus{outline:none;border-color:var(--ink-strong,#09090b);}

/* Leading icon inside username/email/password fields — same line-icon
   language as the header (24x24 viewBox, stroke=currentColor, stroke-width
   2, round caps/joins). Purely a wrapping <span> around the existing
   <input>; no name/id/required attributes touched. */
.fpa-auth__field-wrap{position:relative;display:block;}
.fpa-auth__field-ic{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--mut,#6b6b6b);pointer-events:none;display:flex;transition:color .15s;}
.fpa-auth__field-ic svg{width:16px;height:16px;}
.fpa-auth__field-wrap input.input-text{padding-left:40px;}
.fpa-auth__field-wrap input.input-text:focus ~ .fpa-auth__field-ic,
.fpa-auth__field-wrap:focus-within .fpa-auth__field-ic{color:var(--ink-strong,#09090b);}

.fpa-auth__row-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:20px;}
.fpa-auth__row-actions .woocommerce-form-login__rememberme{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--mut,#6b6b6b);}
.fpa-auth__row-actions button.button{margin:0;width:auto;}
.fpa-auth__form .woocommerce-form-register__submit{width:100%;justify-content:center;}
.fpa-auth__row-actions:has(.woocommerce-form-register__submit){display:block;}

.fpa-auth__hint{font-size:12.5px;color:var(--mut,#6b6b6b);background:#f6f5f2;border-radius:8px;padding:10px 12px;margin:0 0 18px;line-height:1.5;}

.woocommerce-LostPassword.lost_password{margin:14px 0 0;font-size:13px;text-align:right;}
.woocommerce-LostPassword.lost_password a{color:var(--mut,#6b6b6b);text-decoration:underline;}
.woocommerce-LostPassword.lost_password a:hover{color:var(--ink,#111);}

.fpa-auth__switch{margin:20px 0 0;text-align:center;font-size:13px;color:var(--mut,#6b6b6b);}
.fpa-auth__switch a{color:var(--ink-strong,#09090b);font-weight:600;text-decoration:underline;}

@media (max-width:480px){
  .fpa-auth{padding:32px 14px 56px;}
  .fpa-auth__shell{padding:28px 20px 24px;}
  .fpa-auth__tabs{margin:0 -20px 24px;}
}

/* =========================================================================
   FreshPen — guest "Track Your Order" page ([woocommerce_order_tracking])
   Rendered on its own standalone page (/track-order/, not a myaccount
   endpoint) via the theme's generic page template, so it never got any of
   the .fpa/.fpa-auth branding -- previously a bare default-WooCommerce form
   sitting directly on white, a jarring drop after the polished black-card
   dashboard a logged-in customer sees. Scoped to .fp-basic-content (this
   page's content wrapper) so nothing else on the site is touched, and only
   loaded here at all once functions.php's freshpen_assets() enqueues
   freshpen-account on this page too (is_page('track-order')).
   ========================================================================= */
.fp-basic-content .woocommerce-form-track-order{max-width:440px;border:1px solid var(--line,#ececec);border-radius:20px;padding:28px 28px 24px;margin-top:20px;box-shadow:0 24px 60px rgba(0,0,0,.06);}
.fp-basic-content .woocommerce-form-track-order > p:first-child{color:var(--mut,#6b6b6b);font-size:13.5px;line-height:1.5;margin:0 0 20px;}
.fp-basic-content .woocommerce-form-track-order .form-row{margin:0 0 16px;}
.fp-basic-content .woocommerce-form-track-order .form-row-first,.fp-basic-content .woocommerce-form-track-order .form-row-last{width:100%;float:none;}
.fp-basic-content .woocommerce-form-track-order label{display:block;font-size:12.5px;font-weight:600;color:var(--ink,#111);margin-bottom:6px;}
.fp-basic-content .woocommerce-form-track-order input.input-text{width:100%;padding:11px 13px;border:1px solid var(--line,#ececec);border-radius:8px;font-family:inherit;font-size:14px;color:var(--ink,#111);background:var(--bg,#fff);}
.fp-basic-content .woocommerce-form-track-order input.input-text:focus{outline:none;border-color:var(--ink-strong,#09090b);}
.fp-basic-content .woocommerce-form-track-order button.button{width:100%;justify-content:center;}
.fp-basic-content .woocommerce-notices-wrapper{max-width:440px;margin:20px 0;}
.fp-basic-content .woocommerce-notices-wrapper .woocommerce-error,.fp-basic-content .woocommerce-notices-wrapper .woocommerce-message{border-top-color:var(--ink-strong,#09090b);border-radius:10px;background:#f6f5f2;padding:14px 16px;font-size:13px;line-height:1.5;margin:0;list-style:none;}
.fp-basic-content .order-info{font-size:14px;margin:20px 0;}
.fp-basic-content .order-info mark{background:none;color:inherit;font-weight:600;}
.fp-basic-content .woocommerce-order-details{margin-top:20px;}
.fp-basic-content table.shop_table{border:1px solid var(--line,#ececec);border-radius:12px;border-collapse:separate;overflow:hidden;font-size:14px;width:100%;}
.fp-basic-content table.shop_table th{background:#f6f5f2;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--mut,#6b6b6b);}
.fp-basic-content table.shop_table th,.fp-basic-content table.shop_table td{padding:12px 14px;border-color:var(--line,#ececec);}
.fp-basic-content .woocommerce-customer-details{margin-top:24px;}
