/* ============================================================
   Lexora — My Account (auth screen + dashboard)
   Brand-matched: navy #09243C primary + teal-green #1F9C8A accent,
   Inter (display) + Public Sans (body). Everything is scoped under
   body.lexora-account-view so it never leaks into the rest of the site.
   Motion is restrained (functional, repeated screens): focus + hover
   feedback everywhere, one subtle one-shot rise on the auth cards only.
   ============================================================ */

body.lexora-account-view{
  --primary:#09243C; --primary-700:#051B2E; --primary-600:#0B2F4A;
  --accent:#1F9C8A; --accent-600:#17806F; --accent-50:#E7F4F1;
  --danger:#C0392B; --danger-50:#FCEEEC;
  --bg:#F5F7FA; --surface:#FFFFFF; --surface-2:#EEF2F6;
  --ink:#0B1F33; --ink-2:#566472; --ink-3:#8A95A1;
  --line:#E2E7EC; --line-strong:#CDD5DD;
  --display:'Inter', system-ui, -apple-system, sans-serif;
  --body:'Public Sans', system-ui, -apple-system, sans-serif;
  --r-sm:10px; --r:14px; --r-lg:20px;
  --shadow-1:0 1px 2px rgba(11,31,51,.05), 0 1px 1px rgba(11,31,51,.03);
  --shadow-2:0 6px 22px rgba(11,31,51,.08);
  --shadow-3:0 18px 48px rgba(11,31,51,.13);
  --ease-soft:cubic-bezier(.16,1,.3,1);
  --ease-out:cubic-bezier(.22,.61,.36,1);
}

/* tidy the theme background on account pages */
body.lexora-account-view #pxl-main{ background:var(--bg); }
body.lexora-account-view .woocommerce{ font-family:var(--body); color:var(--ink); }
body.lexora-account-view .woocommerce a{ color:var(--accent-600); }
body.lexora-account-view .woocommerce a:hover{ color:var(--primary); }

/* ============================================================
   1. Shared form controls (inputs / labels / buttons)
   ============================================================ */
body.lexora-account-view .lx-field,
body.lexora-account-view .woocommerce-form-row,
body.lexora-account-view form .form-row{ margin:0 0 16px; display:block; }

body.lexora-account-view label{
  display:block; font-family:var(--display); font-weight:600;
  font-size:13.5px; color:var(--ink); margin:0 0 7px; letter-spacing:-.005em;
}
body.lexora-account-view .lx-req{ color:var(--accent-600); }

body.lexora-account-view input[type="text"],
body.lexora-account-view input[type="email"],
body.lexora-account-view input[type="tel"],
body.lexora-account-view input[type="password"],
body.lexora-account-view input[type="number"],
body.lexora-account-view input[type="search"]{
  width:100%; height:52px; padding:0 16px;
  font-family:var(--body); font-size:16px; color:var(--ink);
  background:var(--surface); border:1px solid var(--line);
  border-radius:var(--r); outline:none; box-shadow:var(--shadow-1);
  transition:border-color .18s var(--ease-out), box-shadow .18s var(--ease-out);
  -webkit-appearance:none; appearance:none;
}
body.lexora-account-view input::placeholder{ color:var(--ink-3); }
body.lexora-account-view input:focus{
  border-color:var(--accent); box-shadow:0 0 0 4px var(--accent-50);
}
body.lexora-account-view .lx-hint,
body.lexora-account-view .lx-terms,
body.lexora-account-view fieldset legend + p,
body.lexora-account-view em{
  display:block; font-size:13px; color:var(--ink-3); font-style:normal; margin-top:7px;
}
body.lexora-account-view .lx-note{
  font-size:14px; color:var(--ink-2); background:var(--surface-2);
  border:1px solid var(--line); border-radius:var(--r-sm); padding:12px 14px; margin:0 0 16px;
}

/* Buttons (brand the WooCommerce .button too) */
body.lexora-account-view .lx-btn,
body.lexora-account-view .woocommerce-button,
body.lexora-account-view .woocommerce .button,
body.lexora-account-view button[type="submit"]{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  height:52px; padding:0 26px; font-family:var(--display);
  font-weight:600; font-size:15px; line-height:1;
  border:1px solid transparent; border-radius:var(--r); cursor:pointer;
  background:var(--primary); color:#fff; text-decoration:none;
  box-shadow:0 6px 18px rgba(9,36,60,.20);
  transition:transform .18s var(--ease-out), box-shadow .18s var(--ease-out),
             background-color .18s var(--ease-out), border-color .18s var(--ease-out), color .18s var(--ease-out);
}
body.lexora-account-view .lx-btn:hover,
body.lexora-account-view .woocommerce-button:hover,
body.lexora-account-view .woocommerce .button:hover,
body.lexora-account-view button[type="submit"]:hover{
  background:var(--primary-700); color:#fff; transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(9,36,60,.26);
}
body.lexora-account-view .lx-btn:active,
body.lexora-account-view .woocommerce-button:active,
body.lexora-account-view .woocommerce .button:active,
body.lexora-account-view button[type="submit"]:active{ transform:translateY(0) scale(.985); }

/* kill the theme's animated .button::before hover overlay (shows as a band) */
body.lexora-account-view .lx-btn::before,
body.lexora-account-view .lx-btn::after,
body.lexora-account-view .woocommerce-button::before,
body.lexora-account-view .woocommerce-button::after,
body.lexora-account-view .woocommerce .button::before,
body.lexora-account-view .woocommerce .button::after{ content:none !important; display:none !important; }

body.lexora-account-view .lx-btn-primary{ width:100%; }

/* secondary/ghost button (e.g. "View", "Add", address edit) */
body.lexora-account-view .woocommerce .button.alt{ background:var(--accent); box-shadow:0 6px 18px rgba(31,156,138,.22); }
body.lexora-account-view .woocommerce .button.alt:hover{ background:var(--accent-600); }

/* checkbox row */
body.lexora-account-view .lx-row-between{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px; flex-wrap:wrap; margin:2px 0 20px;
}
body.lexora-account-view .lx-check{
  display:inline-flex; align-items:center; gap:9px; margin:0;
  font-family:var(--body); font-weight:400; font-size:14.5px; color:var(--ink-2); cursor:pointer;
}
body.lexora-account-view .lx-check input{ width:17px; height:17px; accent-color:var(--accent); margin:0; }
body.lexora-account-view .lx-link{ font-family:var(--display); font-weight:600; font-size:14px; color:var(--accent-600); }
body.lexora-account-view .lx-link:hover{ color:var(--primary); }

/* ============================================================
   2. Auth screen (logged out): Sign in / Create account
   ============================================================ */
body.lexora-account-view:not(.logged-in) #pxl-main{ padding-top:0 !important; }
.lexora-auth{
  max-width:1000px; margin:0 auto; padding:56px 24px 84px;
}
.lexora-auth .lx-auth-head{ text-align:center; max-width:620px; margin:0 auto 40px; }
.lexora-auth .lx-eyebrow{
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--display); font-weight:600; font-size:12.5px;
  letter-spacing:.16em; text-transform:uppercase; color:var(--accent-600); margin-bottom:16px;
}
.lexora-auth .lx-eyebrow::before{
  content:""; width:7px; height:7px; border-radius:50%;
  background:var(--accent); box-shadow:0 0 0 4px var(--accent-50);
}
.lexora-auth .lx-auth-head h1{
  font-family:var(--display); font-weight:600; line-height:1.1;
  letter-spacing:-.025em; color:var(--ink); margin:0 0 12px;
  font-size:clamp(28px, 4.4vw, 40px);
}
.lexora-auth .lx-auth-sub{ font-size:17px; line-height:1.6; color:var(--ink-2); margin:0; }

.lexora-auth .lx-auth-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start;
}
.lexora-auth .lx-auth-grid.lx-single{ grid-template-columns:minmax(0,440px); justify-content:center; }
@media (max-width:840px){ .lexora-auth .lx-auth-grid{ grid-template-columns:1fr; gap:18px; } }

.lexora-auth .lx-card{
  background:var(--surface); border:1px solid var(--line);
  border-radius:var(--r-lg); padding:30px 30px 32px; box-shadow:var(--shadow-2);
}
/* the register card gets a subtle accent rail at the top */
.lexora-auth .lx-card-register{ position:relative; overflow:hidden; }
.lexora-auth .lx-card-register::before{
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:var(--accent);
}
.lexora-auth .lx-card-head{ margin-bottom:22px; }
.lexora-auth .lx-card-head h2{
  font-family:var(--display); font-weight:600; font-size:21px;
  letter-spacing:-.02em; color:var(--ink); margin:0 0 5px;
}
.lexora-auth .lx-card-head p{ font-size:14.5px; color:var(--ink-2); margin:0; }

.lexora-auth .lx-field-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:420px){ .lexora-auth .lx-field-grid{ grid-template-columns:1fr; } }

/* --- Override WooCommerce's default layout (woocommerce-layout.css) ---
   1) grid items must be allowed to shrink to their track, otherwise a wide
      min-content card blows past its column and eats the gap (min-width:auto).
   2) WC sets .form-row-first/.form-row-last to width:47% + float, which
      cripples our two-up name fields. Neutralise it inside our scope. */
.lexora-auth .lx-auth-grid > .lx-card{ min-width:0; }
.lexora-auth .lx-field-grid{ margin:0 0 16px; }
.lexora-auth .lx-field-grid .lx-field,
.lexora-auth .lx-field-grid .form-row-first,
.lexora-auth .lx-field-grid .form-row-last{
  width:100% !important; max-width:100% !important;
  float:none !important; margin:0 !important;
}
.lexora-auth .lx-field.form-row-wide{
  width:100% !important; max-width:100% !important; float:none !important;
}

.lexora-auth .lx-terms{ text-align:center; margin:14px 0 0; }

/* ============================================================
   3. Dashboard (logged in): sidebar nav + content
   ============================================================ */
/* tighten the theme's large banner→content gap on the dashboard */
body.lexora-account-view.logged-in #pxl-main{ padding-top:52px !important; }

body.lexora-account-view.logged-in .woocommerce{
  max-width:1140px; margin:0 auto; padding:8px 0 24px;
  display:grid; grid-template-columns:268px minmax(0,1fr); gap:30px; align-items:start;
}
/* WooCommerce puts a clearfix ::before/::after (display:table) on .woocommerce.
   Inside our grid those become phantom grid items that shove the nav + content
   into the wrong cells. Remove them so auto-flow places nav→col1, content→col2. */
body.lexora-account-view.logged-in .woocommerce::before,
body.lexora-account-view.logged-in .woocommerce::after{ content:none !important; display:none !important; }
@media (max-width:900px){
  body.lexora-account-view.logged-in .woocommerce{ grid-template-columns:minmax(0,1fr); gap:18px; }
}

/* reset WooCommerce float layout; min-width:0 lets the tracks shrink on mobile */
body.lexora-account-view .woocommerce-MyAccount-navigation,
body.lexora-account-view .woocommerce-MyAccount-content{
  width:auto !important; float:none !important; margin:0 !important; min-width:0;
}

/* ---- navigation sidebar ---- */
body.lexora-account-view .woocommerce-MyAccount-navigation{
  background:var(--surface); border:1px solid var(--line);
  border-radius:var(--r-lg); padding:12px; box-shadow:var(--shadow-1);
  position:sticky; top:96px;
}
@media (max-width:900px){ body.lexora-account-view .woocommerce-MyAccount-navigation{ position:static; } }
body.lexora-account-view .woocommerce-MyAccount-navigation ul{
  list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px;
}
/* neutralise the theme's gray pill styling on each <li> (.woocommerce-MyAccount-navigation-link) */
body.lexora-account-view .woocommerce-MyAccount-navigation li,
body.lexora-account-view .woocommerce-MyAccount-navigation-link{
  margin:0 !important; border:0 !important; background:transparent !important;
  padding:0 !important; border-radius:0 !important; list-style:none;
}
body.lexora-account-view .woocommerce-MyAccount-navigation li a{
  display:flex; align-items:center; gap:11px;
  padding:12px 14px; border-radius:var(--r-sm);
  font-family:var(--display); font-weight:600; font-size:14.5px;
  color:var(--ink-2); text-decoration:none; letter-spacing:-.005em;
  transition:background-color .16s var(--ease-out), color .16s var(--ease-out);
}
body.lexora-account-view .woocommerce-MyAccount-navigation li a::before{
  content:""; width:7px; height:7px; border-radius:50%;
  background:var(--line-strong); flex:0 0 auto;
  transition:background-color .16s var(--ease-out), transform .16s var(--ease-out);
}
body.lexora-account-view .woocommerce-MyAccount-navigation li a:hover{ background:var(--surface-2); color:var(--primary); }
body.lexora-account-view .woocommerce-MyAccount-navigation li.is-active a{ background:var(--primary); color:#fff; }
body.lexora-account-view .woocommerce-MyAccount-navigation li.is-active a::before{ background:var(--accent); transform:scale(1.15); }

/* ---- content panel ---- */
body.lexora-account-view .woocommerce-MyAccount-content{
  background:var(--surface); border:1px solid var(--line);
  border-radius:var(--r-lg); padding:30px 32px 34px; box-shadow:var(--shadow-1);
}
@media (max-width:600px){
  body.lexora-account-view .woocommerce-MyAccount-content{ padding:22px 18px 24px; }
  body.lexora-account-view .lexora-auth .lx-card{ padding:24px 20px 26px; }
}
body.lexora-account-view .woocommerce-MyAccount-content > p:first-child{ margin-top:0; }
body.lexora-account-view .woocommerce-MyAccount-content a:not(.button){
  color:var(--accent-600); font-weight:600; text-decoration:none;
  border-bottom:1px solid transparent; transition:border-color .16s var(--ease-out), color .16s var(--ease-out);
}
body.lexora-account-view .woocommerce-MyAccount-content a:not(.button):hover{ color:var(--primary); border-bottom-color:var(--accent); }
body.lexora-account-view .woocommerce-MyAccount-content h2,
body.lexora-account-view .woocommerce-MyAccount-content h3{
  font-family:var(--display); font-weight:600; font-size:19px; letter-spacing:-.02em;
  color:var(--ink); margin:0 0 16px; line-height:1.25;
}
body.lexora-account-view .woocommerce-MyAccount-content > p:first-child{ font-size:15.5px; color:var(--ink-2); }

/* ---- Dashboard: greeting + quick-action tiles ---- */
body.lexora-account-view .lx-dash-greeting{ margin:0 0 24px; }
body.lexora-account-view .lx-dash-greeting h2{
  font-family:var(--display); font-weight:600; font-size:24px; letter-spacing:-.025em;
  color:var(--ink); margin:0 0 6px; text-wrap:balance;
}
body.lexora-account-view .lx-dash-greeting p{ font-size:15.5px; color:var(--ink-2); margin:0; max-width:62ch; text-wrap:pretty; }

body.lexora-account-view .lx-dash-actions{
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px;
}
@media (max-width:560px){
  body.lexora-account-view .lx-dash-actions{ grid-template-columns:1fr; }
  body.lexora-account-view .lx-dash-tile{ padding:14px; gap:12px; }
  body.lexora-account-view .lx-dash-ico{ width:38px; height:38px; }
}

body.lexora-account-view .lx-dash-tile{
  display:flex; align-items:center; gap:14px;
  padding:16px 18px; background:var(--surface);
  border:1px solid var(--line); border-radius:var(--r);
  text-decoration:none !important; box-shadow:var(--shadow-1);
  transition:border-color .18s var(--ease-out), box-shadow .18s var(--ease-out), transform .18s var(--ease-out);
}
body.lexora-account-view .lx-dash-tile:hover{
  border-color:var(--accent); box-shadow:var(--shadow-2); transform:translateY(-2px);
}
body.lexora-account-view .lx-dash-ico{
  flex:0 0 auto; width:42px; height:42px; display:grid; place-items:center;
  border-radius:11px; background:var(--accent-50); color:var(--accent-600);
}
body.lexora-account-view .lx-dash-ico svg{ width:22px; height:22px; }
body.lexora-account-view .lx-dash-tx{ display:flex; flex-direction:column; gap:2px; min-width:0; flex:1 1 auto; }
body.lexora-account-view .lx-dash-tx strong{
  font-family:var(--display); font-weight:600; font-size:15px; color:var(--ink);
  letter-spacing:-.01em; line-height:1.2;
}
body.lexora-account-view .lx-dash-tx small{ font-size:13px; color:var(--ink-2); line-height:1.35; }
body.lexora-account-view .lx-dash-arrow{
  flex:0 0 auto; color:var(--ink-3); display:grid; place-items:center;
  transition:transform .18s var(--ease-out), color .18s var(--ease-out);
}
body.lexora-account-view .lx-dash-arrow svg{ width:18px; height:18px; }
body.lexora-account-view .lx-dash-tile:hover .lx-dash-arrow{ color:var(--accent-600); transform:translateX(3px); }

@media (prefers-reduced-motion: reduce){
  body.lexora-account-view .lx-dash-tile:hover{ transform:none; }
  body.lexora-account-view .lx-dash-tile:hover .lx-dash-arrow{ transform:none; }
}

/* ---- edit-account / address forms ---- */
body.lexora-account-view .woocommerce-EditAccountForm .clear,
body.lexora-account-view .woocommerce-address-fields .clear{ display:none; }
body.lexora-account-view .woocommerce-EditAccountForm{
  display:grid; grid-template-columns:1fr 1fr; gap:0 18px;
}
/* let the grid cell size each row (kill WC's 47% + float on first/last) */
body.lexora-account-view .woocommerce-EditAccountForm .form-row{
  width:auto !important; float:none !important; margin:0 0 16px !important;
}
body.lexora-account-view .woocommerce-EditAccountForm > .form-row-wide,
body.lexora-account-view .woocommerce-EditAccountForm > fieldset,
body.lexora-account-view .woocommerce-EditAccountForm > p:last-of-type{ grid-column:1 / -1; }
@media (max-width:560px){ body.lexora-account-view .woocommerce-EditAccountForm{ grid-template-columns:1fr; } }
body.lexora-account-view fieldset{
  border:1px solid var(--line); border-radius:var(--r); padding:20px 20px 6px; margin:8px 0 20px;
}
body.lexora-account-view fieldset legend{
  font-family:var(--display); font-weight:600; font-size:15px; color:var(--ink);
  padding:0 8px; margin-left:-8px;
}

/* ---- tables (orders / downloads) ---- */
body.lexora-account-view .woocommerce-orders-table,
body.lexora-account-view .shop_table{
  width:100%; border-collapse:separate; border-spacing:0;
  border:1px solid var(--line); border-radius:var(--r); overflow:hidden; background:var(--surface);
}
body.lexora-account-view .shop_table thead th{
  background:var(--surface-2); font-family:var(--display); font-weight:600;
  font-size:12.5px; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-2);
  padding:14px 16px; text-align:left; border:0;
}
body.lexora-account-view .shop_table td{
  padding:14px 16px; border:0; border-top:1px solid var(--line);
  font-size:15px; color:var(--ink-2);
}
body.lexora-account-view .shop_table .woocommerce-orders-table__cell-order-status{ color:var(--ink); font-weight:600; }
body.lexora-account-view .shop_table .button{ height:40px; padding:0 16px; font-size:13.5px; }

/* ---- addresses ---- */
/* WC floats .col-1/.col-2 with no working width → they collapse. Reset to
   clean full-width cards (stack billing/shipping). */
body.lexora-account-view .u-columns,
body.lexora-account-view .woocommerce-Addresses{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr));
  gap:18px; margin-top:18px;
}
body.lexora-account-view .woocommerce-Address,
body.lexora-account-view .woocommerce-MyAccount-content .col-1,
body.lexora-account-view .woocommerce-MyAccount-content .col-2{
  float:none !important; width:auto !important; max-width:520px; margin:0 0 18px !important;
  background:var(--surface-2); border:1px solid var(--line); border-radius:var(--r);
  padding:22px 24px; box-sizing:border-box;
}
body.lexora-account-view .u-columns .woocommerce-Address{ max-width:none; margin:0 !important; }
body.lexora-account-view .woocommerce-Address-title.title,
body.lexora-account-view .woocommerce-Address .title{
  display:flex; align-items:baseline; justify-content:space-between; gap:14px; margin:0 0 12px;
}
body.lexora-account-view .woocommerce-Address .title h2,
body.lexora-account-view .woocommerce-Address .title h3{
  font-family:var(--display); font-weight:600; font-size:16px !important; letter-spacing:-.01em;
  color:var(--ink); margin:0 !important; float:none !important; line-height:1.2;
}
body.lexora-account-view .woocommerce-Address .title .edit{
  float:none !important; font-family:var(--display); font-weight:600; font-size:13px;
  color:var(--accent-600); white-space:nowrap; flex:0 0 auto;
}
body.lexora-account-view .woocommerce-Address .title .edit:hover{ color:var(--primary); }
body.lexora-account-view .woocommerce-Address address{
  font-style:normal; color:var(--ink-2); line-height:1.7; font-size:15px;
}

/* ============================================================
   4. WooCommerce notices
   ============================================================ */
body.lexora-account-view .woocommerce-message,
body.lexora-account-view .woocommerce-info,
body.lexora-account-view .woocommerce-error{
  display:flex; align-items:center; gap:14px 18px; flex-wrap:wrap;
  font-family:var(--body); font-size:15px; color:var(--ink); margin:0 0 22px;
  border:1px solid var(--line); border-radius:var(--r);
  padding:15px 18px; box-shadow:var(--shadow-1); list-style:none;
}
body.lexora-account-view .woocommerce-message,
body.lexora-account-view .woocommerce-info{ background:var(--accent-50); border-color:#CBE6E0; }
body.lexora-account-view .woocommerce-error{ background:var(--danger-50); border-color:#EECAC4; color:#7A241A; }
body.lexora-account-view .woocommerce-error li{ list-style:none; margin:0; }
/* push any inline action button to the right of the notice */
body.lexora-account-view .woocommerce-message .button,
body.lexora-account-view .woocommerce-info .button{
  margin-left:auto; height:44px; padding:0 18px; font-size:14px;
}
/* remove the theme's icon-font ::before glyph (renders as a stray bracket) */
body.lexora-account-view .woocommerce-message::before,
body.lexora-account-view .woocommerce-info::before,
body.lexora-account-view .woocommerce-error::before{ content:none !important; display:none !important; }

/* ============================================================
   5. Motion — one subtle one-shot rise on the auth cards only.
      Dashboard is intentionally static (repeated-use screen).
   ============================================================ */
@keyframes lx-acct-rise{
  from{ opacity:0; transform:translateY(14px); filter:blur(5px); }
  to  { opacity:1; transform:translateY(0);    filter:blur(0); }
}
.lexora-auth .lx-auth-head{ animation:lx-acct-rise .6s var(--ease-soft) both; }
.lexora-auth .lx-card{ animation:lx-acct-rise .62s var(--ease-soft) both; }
.lexora-auth .lx-auth-head{ animation-delay:40ms; }
.lexora-auth .lx-auth-grid .lx-card:nth-child(1){ animation-delay:120ms; }
.lexora-auth .lx-auth-grid .lx-card:nth-child(2){ animation-delay:190ms; }

@media (prefers-reduced-motion: reduce){
  .lexora-auth .lx-auth-head,
  .lexora-auth .lx-card{ animation:none !important; }
  body.lexora-account-view *,
  body.lexora-account-view *::before{
    transition-duration:.01ms !important;
  }
  body.lexora-account-view .lx-btn:hover,
  body.lexora-account-view .woocommerce-button:hover,
  body.lexora-account-view button[type="submit"]:hover{ transform:none !important; }
}
