/* ==========================================================================
   EZ Tickets UI — implementation of the 2026-07 design hand-off.
   Source of truth: designer tokens.css + per-page HTML (ops docs).
   Deployed to /ez-ui.css and enqueued site-wide by ez-storefront.php.
   ========================================================================== */

/* ---- self-hosted fonts (files in /fonts/) ---- */
@font-face{font-family:'Instrument Sans';src:url('/fonts/instrument-sans-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Instrument Sans';src:url('/fonts/instrument-sans-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Instrument Sans';src:url('/fonts/instrument-sans-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('/fonts/plex-mono-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('/fonts/plex-mono-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}

/* ---- tokens (designer's, verbatim) ---- */
:root{
  --bg:#0b0d12;--rail:#0e1015;--card:#10131a;--inset:#0c0f14;
  --line:#1e232c;--line-soft:#171b23;--edge:#2a303b;--edge-hi:#3a4250;
  --text:#f0f2f5;--muted:#7d8694;--body2:#aeb6bf;
  --primary:#e8ebee;--primary-ink:#0b0d12;
  --red:#bd1e2d;--green:#7fd493;--blue:#6fa8dc;--amber:#d9a441;--discord:#5865f2;
  --sans:'Instrument Sans',system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;
  --r-card:12px;--r-ctl:9px;
}

/* ---- theme shell: dark everywhere, Blocksy chrome hidden on EZ surfaces ---- */
body.ez-ui, body.ez-ui #main-container{background:var(--bg)!important;color:var(--body2);font-family:var(--sans)}
body.ez-ui #header, body.ez-ui .ct-footer, body.ez-ui .hero-section{display:none!important}
body.ez-ui .site-main{padding:0!important;background:var(--bg)!important}
body.ez-ui .entry-content{margin:0!important;max-width:none!important}
body.ez-ui article, body.ez-ui .entry-content, body.ez-ui .entry-content>*, body.ez-ui .ct-container, body.ez-ui .ct-container-full, body.ez-ui .hentry{background:transparent!important;box-shadow:none!important;border:0!important;max-width:none!important}
body.ez-ui .ct-container, body.ez-ui .ct-container-full{padding:0!important;margin:0!important;width:100%!important}
body.ez-ui a{text-decoration:none}
body.ez-ui *:focus-visible{outline:2px solid var(--edge-hi);outline-offset:2px;border-radius:4px}
@media (prefers-reduced-motion:reduce){body.ez-ui *{transition:none!important;animation:none!important}}

/* ---- primitives ---- */
.ez-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card)}
.ez-label{font:600 10.5px/1 var(--sans);letter-spacing:.08em;color:var(--muted);text-transform:uppercase}
.ez-mono{font-family:var(--mono)}
.ez-btn{display:inline-block;border:none;cursor:pointer;border-radius:var(--r-ctl);font:600 13px/1 var(--sans);padding:11px 16px;text-align:center;color:var(--text)}
.ez-btn-primary{background:var(--primary)!important;color:var(--primary-ink)!important}
.ez-btn-primary:hover{background:#fff!important;color:var(--primary-ink)!important}
.ez-btn-ghost{background:none!important;border:1px solid var(--edge)!important;color:var(--text)!important}
.ez-btn-ghost:hover{border-color:var(--edge-hi)!important}
.ez-btn-discord{background:var(--discord)!important;color:#fff!important}
.ez-btn-discord:hover{background:#4752c4!important}
.ez-btn[disabled]{opacity:.5;cursor:default}
.ez-pill{display:inline-block;font:600 10.5px/1 var(--sans);letter-spacing:.04em;border-radius:20px;padding:5px 10px;border:1px solid}
.ez-pill-blue{color:var(--blue);background:rgba(111,168,220,.1);border-color:rgba(111,168,220,.3)}
.ez-pill-green{color:var(--green);background:rgba(127,212,147,.1);border-color:rgba(127,212,147,.3)}
.ez-pill-amber{color:var(--amber);background:rgba(217,164,65,.1);border-color:rgba(217,164,65,.3)}
.ez-pill-grey{color:var(--muted);background:rgba(125,134,148,.1);border-color:rgba(125,134,148,.3)}
.ez-input, body.ez-ui .woocommerce form .form-row input.input-text, body.ez-ui .woocommerce form .form-row textarea{width:100%;background:var(--inset)!important;border:1px solid var(--line)!important;border-radius:var(--r-ctl)!important;padding:11px 14px!important;font:400 13.5px/1.3 var(--sans)!important;color:var(--text)!important;box-shadow:none!important}
.ez-input::placeholder{color:var(--muted)}
.ez-input:focus, body.ez-ui .woocommerce form .form-row input.input-text:focus{outline:none!important;border-color:var(--edge-hi)!important}
select.ez-input{appearance:none;-webkit-appearance:none}

/* ---- app shell: rail + main + bottom nav ---- */
.ez-shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}
.ez-rail{background:var(--rail);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:20px 12px 16px;position:sticky;top:0;height:100vh}
.ez-rail .ez-brandrow{display:flex;align-items:center;gap:8px;padding:0 10px 20px;font:600 14px/1 var(--sans);color:var(--text)}
.ez-rail nav{display:flex;flex-direction:column;gap:2px}
.ez-nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;font:500 13.5px/1 var(--sans);color:var(--muted)}
.ez-nav-item:hover{background:var(--line-soft);color:var(--body2)}
.ez-nav-item[aria-current]{background:var(--line-soft);color:var(--text);font-weight:600}
.ez-nav-item svg{flex:none}
.ez-rail-games{display:flex;flex-direction:column;min-height:0;flex:1;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.ez-rail-games>.ez-label{padding:0 10px}
.ez-rgames{margin-top:8px;overflow-y:auto;min-height:0;display:flex;flex-direction:column;gap:1px;padding-right:2px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.ez-rgames a{flex:none;padding:6px 10px;border-radius:7px;font:500 12.5px/1.3 var(--sans);color:var(--muted);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ez-rgames a:hover{background:var(--line-soft);color:var(--body2)}
.ez-rgames a[aria-current]{background:var(--line-soft);color:var(--text);font-weight:600}
.ez-rgames::-webkit-scrollbar{width:8px}
.ez-rgames::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}
@media (min-width:641px){.ez-tabs{display:none}}
.ez-balcard{background:var(--inset);border:1px solid var(--line);border-radius:10px;padding:14px;margin-top:14px}
.ez-balcard .ez-balamt{margin-top:7px;font:600 18px/1 var(--sans);color:var(--text);font-variant-numeric:tabular-nums}
.ez-balcard .ez-btn{display:block;margin-top:10px;padding:7px 0;font-size:12px}
.ez-userrow{display:flex;align-items:center;gap:9px;padding:12px 4px 0}
.ez-avatar{width:26px;height:26px;border-radius:50%;background:var(--discord);display:grid;place-items:center;font:600 10px/1 var(--sans);color:#fff;flex:none}
.ez-userrow .u1{font:600 12px/1.2 var(--sans);color:var(--text)}
.ez-userrow .u2{font:400 11px/1.3 var(--sans);color:var(--muted)}
.ez-main{padding:24px 26px 60px;min-width:0}
.ez-bnav{display:none;position:fixed;left:0;right:0;bottom:0;background:var(--rail);border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);padding:8px 6px 10px;z-index:500}
.ez-bnav a{display:flex;flex-direction:column;align-items:center;gap:5px;padding:6px 0;font:500 10px/1 var(--sans);color:var(--muted)}
.ez-bnav a[aria-current]{color:var(--text);font-weight:600}
@media (max-width:640px){
  .ez-shell{grid-template-columns:1fr}
  .ez-rail{display:none}
  .ez-bnav{display:grid}
  .ez-main{padding:16px 16px 90px}
}
.ez-pagehead{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:16px;flex-wrap:wrap}
.ez-pagehead h1{margin:0;font:600 20px/1.15 var(--sans);color:var(--text)}
.ez-pagehead .ez-mono{font:400 11px/1 var(--mono);color:var(--muted);letter-spacing:.06em}

/* ---- catalog ---- */
.ez-topbar2{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.ez-search{flex:0 1 300px;display:flex;align-items:center;gap:10px;background:var(--inset);border:1px solid var(--line);border-radius:10px;padding:0 12px}
.ez-topbar2 .ez-cart-link{margin-left:auto}
.ez-topright{display:flex;align-items:center;gap:10px}
.ez-balchip{display:flex;align-items:center;gap:8px;background:var(--inset);border:1px solid var(--line);border-radius:9px;padding:8px 12px}
.ez-balchip .lbl{font:600 9.5px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.ez-balchip .amt{font:600 13px/1 var(--sans);color:var(--text);font-variant-numeric:tabular-nums}
.ez-balchip .amt.neg{color:var(--red)}
.ez-addfunds{padding:9px 14px;font-size:12px}
.ez-userchip{display:flex;align-items:center;gap:8px;font:600 12px/1.2 var(--sans);color:var(--text)}
@media (max-width:900px){.ez-userchip span{display:none}}
.ez-search svg{flex:none}
.ez-search input{flex:1;background:none;border:none;padding:11px 0;font:400 13px/1 var(--sans);color:var(--text);min-width:0}
.ez-search input:focus{outline:none}
.ez-search .kbd{font:500 11px/1 var(--sans);color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:3px 6px;white-space:nowrap}
.ez-cart-link{white-space:nowrap}
.ez-tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);margin-bottom:20px;overflow-x:auto;scrollbar-width:none}
.ez-tabs::-webkit-scrollbar{display:none}
.ez-tab{white-space:nowrap;padding:4px 2px 12px;font:500 13.5px/1 var(--sans);color:var(--muted);border-bottom:2px solid transparent;background:none;border-top:0;border-left:0;border-right:0;cursor:pointer}
.ez-tab:hover{color:var(--text)}
.ez-tab[aria-current]{color:var(--text);font-weight:600;border-bottom-color:var(--text)}
.ez-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(430px,1fr));gap:14px;align-items:start}
.ez-gcol{display:flex;flex-direction:column;gap:14px;min-width:0}
.ez-gcard{overflow:hidden}
.ez-gcard header{padding:14px 16px 10px}
.ez-gcard .gsub{margin-top:4px;font:400 12px/1.4 var(--sans);color:var(--muted)}
.ez-prow{display:grid;grid-template-columns:1fr 82px 68px 84px 78px 30px;gap:12px;align-items:center;min-height:44px;padding:6px 16px;border-top:1px solid var(--line-soft)}
.ez-pcols{display:grid;grid-template-columns:1fr 82px 68px 84px 78px 30px;gap:12px;align-items:center;padding:8px 16px 2px;font:600 9.5px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);text-align:right}
.ez-pcols span:first-child{text-align:left}
.ez-pmeta{font:400 11px/1.3 var(--mono);color:var(--muted);text-align:right;white-space:nowrap}
.ez-pmeta.is-join{color:var(--green)}
.ez-prow.has-info{cursor:pointer}
.ez-peta{font:400 11px/1 var(--mono);color:var(--muted);text-align:right;white-space:nowrap}
.pchev{flex:none;transition:transform .12s ease}
.ez-prow.is-open .pchev{transform:rotate(90deg)}
.ez-pinfo{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;padding:12px 16px 15px 32px;border-top:1px dashed var(--line-soft);background:var(--inset)}
.ez-pinfo[hidden]{display:none}
.ez-pinfo .ez-label{margin-bottom:7px}
.ez-pinfo ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}
.ez-pinfo li{font:400 12px/1.5 var(--sans);color:var(--body2);padding-left:12px;position:relative}
.ez-pinfo li::before{content:"·";position:absolute;left:0;color:var(--muted)}
.ez-prow:hover{background:#141821}
.ez-prow .pname{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;font:500 13px/1.3 var(--sans);color:var(--text)}
.ez-chip{flex:none;font:600 10px/1 var(--mono);color:var(--green);border:1px solid rgba(127,212,147,.3);border-radius:20px;padding:4px 8px}
.ez-pprice{font:600 13px/1 var(--sans);text-align:right;font-variant-numeric:tabular-nums;color:var(--text)}
.ez-padd{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;border:1px solid var(--edge);background:none;color:var(--text);cursor:pointer;font:500 15px/1 var(--sans);padding:0}
.ez-padd:hover{background:var(--primary);color:var(--primary-ink);border-color:var(--primary)}
.ez-padd[disabled]{opacity:.5}
.ez-gempty{padding:18px 16px;border-top:1px solid var(--line-soft);font:400 12.5px/1.5 var(--sans);color:var(--muted);text-align:center}
.ez-cat-foot{margin-top:14px;font:400 11px/1.5 var(--mono);color:var(--muted);letter-spacing:.06em}
@media (max-width:1180px){.ez-prow{grid-template-columns:1fr 84px 78px 30px}.ez-pmeta{display:none}.ez-pcols{grid-template-columns:1fr 84px 78px 30px}.ez-pcols span:nth-child(2),.ez-pcols span:nth-child(3){display:none}}
@media (max-width:640px){.ez-groups{grid-template-columns:1fr}.ez-prow{grid-template-columns:1fr 62px 34px}.ez-peta{display:none}.ez-pcols{display:none}.ez-pinfo{grid-template-columns:1fr;padding-left:16px}.ez-padd{width:32px;height:32px;border-radius:8px}}

/* ---- notices (woo session notices restyled) ---- */
.ez-notices{margin:0 0 14px}
body.ez-ui .woocommerce-message, body.ez-ui .woocommerce-info{background:var(--card)!important;border:1px solid var(--line)!important;--background-color:var(--card);--theme-text-color:var(--body2);border-radius:10px!important;color:var(--body2)!important;padding:12px 15px!important;margin:0 0 8px!important;list-style:none;font-size:13px;box-shadow:none!important}
body.ez-ui .woocommerce-error{background:rgba(189,30,45,.08)!important;--background-color:rgba(189,30,45,.08);border:1px solid rgba(189,30,45,.35)!important;border-radius:10px!important;color:#e8a2aa!important;padding:12px 15px!important;margin:0 0 8px!important;list-style:none;font-size:13px;box-shadow:none!important}
body.ez-ui .woocommerce-message a, body.ez-ui .woocommerce-error a{color:var(--text)!important}
body.ez-ui .woocommerce-info svg,body.ez-ui .woocommerce-message svg{fill:var(--muted)!important}

/* ---- cart / checkout drawer (existing JS class names, new look) ---- */
#ez-drawer{position:fixed;inset:0;z-index:9999}
#ez-drawer[hidden]{display:none}
.ez-dr-overlay{position:absolute;inset:0;background:rgba(5,6,9,.55)}
.ez-dr-panel{position:absolute;top:0;right:0;bottom:0;width:min(380px,94vw);background:var(--rail);border-left:1px solid var(--line);display:flex;flex-direction:column;overflow-y:auto}
.ez-dr-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line);flex:none}
.ez-dr-head span{color:var(--text);font:600 15px/1 var(--sans)}
.ez-dr-head span i{font-style:normal;color:var(--muted);font-weight:500}
.ez-dr-close{background:none;border:0;color:var(--muted);font-size:16px;line-height:1;cursor:pointer;padding:4px}
.ez-dr-close:hover{color:var(--text)}
.ez-dr-step{display:flex;flex-direction:column;flex:1;min-height:0}
.ez-dr-items{flex:1;padding:16px 20px;overflow-y:auto}
.ez-dr-empty{display:grid;place-items:center;text-align:center;height:100%;color:var(--muted);font:400 12.5px/1.5 var(--sans)}
.ez-dr-empty b{display:block;color:var(--text);font:600 14px/1.3 var(--sans);margin-bottom:6px}
.ez-dr-empty .box{width:36px;height:36px;border:1.5px dashed var(--edge);border-radius:10px;margin:0 auto 12px}
.ez-dr-row{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:12px;display:block}
.ez-dr-row .r1{display:flex;justify-content:space-between;gap:10px}
.ez-dr-name{font:500 13px/1.35 var(--sans);color:var(--text)}
.ez-dr-line{font:600 13px/1 var(--sans);color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}
.ez-dr-row .r2{display:flex;align-items:center;justify-content:space-between;margin-top:10px}
.ez-dr-qty{display:inline-flex;align-items:center;gap:8px}
.ez-dr-qty button{display:grid;place-items:center;width:24px;height:24px;border-radius:6px;border:1px solid var(--edge);background:none;color:var(--text);cursor:pointer;font:500 13px/1 var(--sans);padding:0}
.ez-dr-qty button:hover{border-color:var(--edge-hi)}
.ez-dr-qty b{color:var(--text);font:600 13px/1 var(--sans);min-width:14px;text-align:center}
.ez-dr-x{background:none;border:none;cursor:pointer;padding:0;font:400 11.5px/1 var(--sans);color:var(--muted)}
.ez-dr-x:hover{color:var(--red)}
.ez-dr-foot{padding:16px 20px 20px;border-top:1px solid var(--line);flex:none}
.ez-dr-total{display:flex;justify-content:space-between;margin-bottom:12px;align-items:center}
.ez-dr-total span{font:500 13px/1 var(--sans);color:var(--muted)}
.ez-dr-total b{font:600 17px/1 var(--sans);color:var(--text);font-variant-numeric:tabular-nums}
.ez-dr-checkout{width:100%;padding:12px 0;background:var(--primary);color:var(--primary-ink);border:0;border-radius:var(--r-ctl);font:600 14px/1 var(--sans);cursor:pointer}
.ez-dr-checkout:hover{background:#fff}
.ez-dr-checkout[disabled]{opacity:.45;cursor:default}
.ez-dr-balline{margin-top:10px;text-align:center;font:400 11.5px/1.4 var(--sans);color:var(--muted)}
.ez-dr-balline b{color:var(--green);font-weight:600}
.ez-dr-paywrap{padding:18px 20px}
.ez-dr-sum{display:flex;justify-content:space-between;background:var(--inset);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:16px}
.ez-dr-sum span{font:500 13px/1 var(--sans);color:var(--muted)}
.ez-dr-sum b{font:600 14px/1 var(--sans);color:var(--text);font-variant-numeric:tabular-nums}
.ez-dr-paybtn{display:block;width:100%;margin-bottom:10px;padding:12px 0;border-radius:var(--r-ctl);font:600 14px/1 var(--sans);text-align:center;cursor:pointer}
.ez-dr-paybtn small{display:block;margin-top:4px;font:400 11px/1 var(--sans);opacity:.75}
.ez-dr-paybtn--bal{background:var(--primary);color:var(--primary-ink)!important;border:0}
.ez-dr-paybtn--bal:hover{background:#fff}
.ez-dr-paybtn--bal.is-off{opacity:.45;pointer-events:none}
.ez-dr-paybtn--card,.ez-dr-paybtn--crypto{background:none;border:1px solid var(--edge);color:var(--text)!important}
.ez-dr-paybtn--card:hover,.ez-dr-paybtn--crypto:hover{border-color:var(--edge-hi)}
.ez-dr-paybtn--free{background:rgba(127,212,147,.12);border:1px solid rgba(127,212,147,.35);color:var(--green)!important}
.ez-dr-back{display:block;margin:14px auto 0;background:none;border:0;color:var(--muted);font:400 12px/1 var(--sans);cursor:pointer;text-align:center}
.ez-dr-back:hover{color:var(--text)}

/* ---- dashboard (account root) ---- */
.ez-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:26px}
.ez-stat{padding:16px 18px}
.ez-stat .v{margin-top:8px;font:600 24px/1 var(--sans);font-variant-numeric:tabular-nums;color:var(--text)}
.ez-stat .v.green{color:var(--green)}
.ez-tops{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:10px 0 26px}
.ez-top{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:15px 16px;text-align:left;cursor:pointer;font-family:var(--sans);color:var(--text)}
.ez-top:hover{border-color:var(--edge-hi)}
.ez-top .amt{display:flex;align-items:center;gap:8px;font:600 19px/1 var(--sans)}
.ez-top .sub{margin-top:6px;font:400 11.5px/1.4 var(--sans);color:var(--muted)}
.ez-top .tag{font:600 9px/1 var(--mono);letter-spacing:.1em;color:var(--amber);border:1px solid rgba(217,164,65,.35);border-radius:20px;padding:4px 7px}
.ez-top .acts{display:none;gap:8px;margin-top:10px}
.ez-top.is-open .acts{display:flex}
.ez-top.is-open .sub{display:none}
.ez-top .acts a{flex:1;padding:9px 0;border-radius:7px;font:600 12px/1 var(--sans);text-align:center}
.ez-acctlinks{display:flex;gap:16px;margin-top:8px}
.ez-acctlinks a{font:500 12.5px/1 var(--sans);color:var(--muted)}
.ez-acctlinks a:hover{color:var(--text)}
@media (max-width:640px){.ez-stats,.ez-tops{grid-template-columns:1fr 1fr}}

/* ---- orders list ---- */
.ez-tbl{overflow:hidden}
.ez-thead,.ez-trow{display:grid;grid-template-columns:110px 120px 1fr 90px 150px;align-items:center;padding:0 18px}
.ez-thead{padding:11px 18px;border-bottom:1px solid var(--line);font:600 10px/1 var(--mono);letter-spacing:.1em;color:var(--muted);text-transform:uppercase}
.ez-trow{min-height:48px;border-top:1px solid var(--line-soft)}
.ez-trow:first-of-type{border-top:0}
.ez-trow:hover{background:#141821}
.ez-oid{font:500 12.5px/1 var(--mono);color:var(--text)}
.ez-odate{font:400 12.5px/1 var(--sans);color:var(--muted)}
.ez-ototal{font:500 13px/1 var(--sans);text-align:right;font-variant-numeric:tabular-nums;color:var(--text)}
.ez-acts{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;padding:6px 0}
.ez-sm{font:500 11.5px/1 var(--sans);border-radius:6px;padding:6px 10px;cursor:pointer;text-decoration:none!important;display:inline-block}
.ez-sm-pay{background:var(--primary)!important;color:var(--primary-ink)!important;border:none!important;font-weight:600}
.ez-sm-pay:hover{background:#fff!important}
.ez-sm-ghost{background:none!important;border:1px solid var(--edge)!important;color:var(--text)!important}
.ez-sm-ghost:hover{border-color:var(--edge-hi)!important}
.ez-sm-cancel{background:none!important;border:1px solid var(--edge)!important;color:var(--muted)!important}
.ez-sm-cancel:hover{color:var(--red)!important;border-color:var(--red)!important}
.ez-empty{border:1px dashed var(--edge);border-radius:var(--r-card);padding:30px;text-align:center;background:var(--card)}
.ez-empty b{display:block;font:600 13px/1.3 var(--sans);color:var(--text)}
.ez-empty p{margin:5px 0 0;font:400 12px/1.5 var(--sans);color:var(--muted)}
.ez-empty .ez-btn{margin-top:12px;font-size:12px;padding:9px 14px}
.ez-pager{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}
@media (max-width:760px){.ez-thead{display:none}.ez-trow{grid-template-columns:1fr 1fr;gap:6px;padding:12px 16px}.ez-ototal{text-align:left}.ez-acts{justify-content:flex-start}}

/* ---- view-order + misc woo content inside main (kept dark) ---- */
/* The app shell is full-bleed on EVERY page. Account pages render inside WP's
   constrained page layout, which centers .ez-shell with ~88px auto margins —
   the catalog (own template) never gets them. Pin the shell to the edges. */
body.ez-ui .ez-shell{width:100%!important;max-width:none!important;margin:0!important}
/* Account pages fill the main column like the catalog: kill Blocksy's narrow
   880px account box + its redundant second nav (the EZ rail is the nav). */
html body.ez-ui .woocommerce.ct-woo-account.ct-woo-account{max-width:none!important;width:100%!important}
body.ez-ui .woocommerce-MyAccount-content{background:transparent!important;border:0!important;padding:0!important;color:var(--body2);max-width:none!important;width:100%!important;flex:1 1 auto!important}
body.ez-ui .woocommerce-MyAccount-navigation{display:none!important}
body.ez-ui .ct-acount-nav,body.ez-ui .ct-account-nav{display:none!important}
body.ez-ui .woocommerce-MyAccount-content>p{color:var(--body2)!important;font:400 13.5px/1.6 var(--sans)}
body.ez-ui .woocommerce-MyAccount-content section,
body.ez-ui .woocommerce-MyAccount-content .woocommerce-order-details,
body.ez-ui .woocommerce-MyAccount-content .woocommerce-customer-details,
body.ez-ui .woocommerce-MyAccount-content .woocommerce-Address{background:var(--card)!important;border:1px solid var(--line)!important;border-radius:var(--r-card)!important;box-shadow:none!important;padding:20px!important;margin:0 0 16px!important}
body.ez-ui .woocommerce-MyAccount-content h2,body.ez-ui .woocommerce-MyAccount-content h3{color:var(--text)!important;margin:0 0 12px!important;font:600 16px/1.3 var(--sans)!important}
body.ez-ui .woocommerce-MyAccount-content address{background:transparent!important;border:0!important;padding:0!important;color:var(--body2)!important;font-style:normal}
body.ez-ui .woocommerce-MyAccount-content mark{background:transparent!important;color:var(--text)!important;font-weight:600}
body.ez-ui .woocommerce-MyAccount-content table{background:transparent!important;border:0!important;border-collapse:collapse!important;width:100%!important;color:var(--body2)!important}
body.ez-ui .woocommerce-MyAccount-content table th,body.ez-ui .woocommerce-MyAccount-content table td{background:transparent!important;border:0!important;border-bottom:1px solid var(--line-soft)!important;padding:11px 12px!important;color:var(--body2)!important}
body.ez-ui .woocommerce-MyAccount-content table thead th,body.ez-ui .woocommerce-MyAccount-content table tfoot th{color:var(--muted)!important;font:600 10.5px/1 var(--mono)!important;letter-spacing:.08em;text-transform:uppercase}
body.ez-ui .woocommerce-MyAccount-content table tr:last-child td,body.ez-ui .woocommerce-MyAccount-content table tr:last-child th{border-bottom:0!important}
body.ez-ui .woocommerce-MyAccount-content table a{color:var(--text)!important}
body.ez-ui .woocommerce-MyAccount-content table strong{color:var(--text)!important}
body.ez-ui .woocommerce-MyAccount-content .button{display:inline-block;width:auto!important;margin:2px 6px 2px 0!important;padding:9px 14px!important;font:600 12px/1 var(--sans)!important;border-radius:var(--r-ctl)!important;background:var(--primary)!important;color:var(--primary-ink)!important;border:0!important;box-shadow:none!important;text-decoration:none!important;--theme-button-background-initial-color:var(--primary);--theme-button-text-initial-color:var(--primary-ink)}
body.ez-ui .woocommerce-MyAccount-content .button:hover{background:#fff!important}
body.ez-ui .woocommerce-MyAccount-content fieldset{border:1px solid var(--line);border-radius:10px;padding:14px}
body.ez-ui .woocommerce-MyAccount-content legend{color:var(--muted);padding:0 6px}
body.ez-ui .woocommerce-MyAccount-content .form-row label{color:var(--muted)!important;font:600 10.5px/1.6 var(--sans)!important;letter-spacing:.06em;text-transform:uppercase}
.ez-custlink{margin:14px 0;padding:13px 15px;background:var(--inset);border:1px solid var(--line);border-radius:10px}
.ez-custlink .t{color:var(--muted);font:600 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}
.ez-custlink a{color:var(--text)!important;word-break:break-all;font:400 12px/1.5 var(--mono)}

/* ---- centered auth / standalone pages ---- */
.ez-center{min-height:100vh;display:grid;place-items:center;padding:40px 24px}
.ez-center-col{display:flex;flex-direction:column;align-items:center;width:100%}
.ez-brandline{display:flex;align-items:center;gap:9px;margin-bottom:24px;font:600 15px/1 var(--sans);color:var(--text)}
.ez-authcard{width:340px;max-width:100%;border-radius:14px;padding:26px 24px;text-align:center}
.ez-authcard h1{margin:0;font:600 18px/1.2 var(--sans);color:var(--text)}
.ez-authcard .sub{margin:8px 0 20px;font:400 12.5px/1.55 var(--sans);color:var(--muted)}
.ez-authcard .ez-btn{width:100%;padding:12px 0;font-size:13.5px}
.ez-authcard .under{margin-top:16px;font:400 12px/1.5 var(--sans);color:var(--muted)}
.ez-authcard .under a{color:var(--text);font-weight:500}
.ez-errbox{width:340px;max-width:100%;margin-top:18px;background:rgba(189,30,45,.08);border:1px solid rgba(189,30,45,.35);border-radius:10px;padding:12px 16px;font:400 12px/1.5 var(--sans);color:#e8a2aa}
.ez-errbox strong{color:#f0b7bd}
.ez-appcol{min-height:100vh;display:flex;flex-direction:column;align-items:center;gap:26px;padding:50px 24px}
.ez-appwrap{width:440px;max-width:100%}
.ez-steps{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.ez-stepdone{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--green);color:var(--primary-ink);font:700 11px/1 var(--sans);flex:none}
.ez-stepnum{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--text);font:600 11px/1 var(--sans);color:var(--text);flex:none}
.ez-steps .lbl{font:500 12.5px/1 var(--sans);color:var(--muted)}
.ez-steps .lbl.on{font-weight:600;color:var(--text)}
.ez-steps .bar{flex:1;height:1px;background:var(--line)}
.ez-formcard{border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:14px;text-align:left}
.ez-idrow{display:flex;align-items:center;justify-content:space-between;background:var(--inset);border:1px solid var(--line);border-radius:var(--r-ctl);padding:11px 14px}
.ez-idrow .who{display:flex;align-items:center;gap:10px;font:500 13.5px/1 var(--sans);color:var(--text)}
.ez-idrow .src{font:400 10px/1 var(--mono);color:var(--muted);letter-spacing:.06em}
.ez-fld .ez-label{display:block;margin-bottom:6px}
.ez-pendpill{display:inline-block;font:600 10px/1 var(--mono);letter-spacing:.1em;color:var(--amber);border:1px solid rgba(217,164,65,.35);border-radius:20px;padding:6px 12px}
.ez-okpill{display:inline-block;font:600 10px/1 var(--mono);letter-spacing:.1em;color:var(--green);border:1px solid rgba(127,212,147,.35);border-radius:20px;padding:6px 12px}

/* ---- legal / long-form ---- */
.ez-legal{max-width:560px;margin:0 auto;padding:48px 24px 60px}
.ez-legal .back{font:500 12.5px/1 var(--sans);color:var(--muted)}
.ez-legal .eyebrow{font:600 10px/1 var(--mono);letter-spacing:.12em;color:var(--muted);margin:22px 0 10px;text-transform:uppercase}
.ez-legal h1{margin:0;font:600 26px/1.2 var(--sans);color:var(--text)}
.ez-legal .upd{margin:8px 0 26px;font:400 12px/1 var(--sans);color:var(--muted)}
.ez-legal h2{margin:0 0 8px;font:600 16px/1.3 var(--sans);color:var(--text)}
.ez-legal p{margin:0 0 20px;font:400 14.5px/1.7 var(--sans);color:var(--body2)}

/* ---- fluent support shell ---- */
body.ez-ui .fs_support_portal{color:var(--body2)}
body.ez-ui .fs_support_portal .fs_card,body.ez-ui .fs_support_portal .fs_ticket_list{background:var(--card)!important;border-color:var(--line)!important}

/* ---- add-balance modal ---- */
#ez-topup-modal{position:fixed;inset:0;z-index:9998}
#ez-topup-modal[hidden]{display:none}
.ez-tm-overlay{position:absolute;inset:0;background:rgba(5,6,9,.55)}
.ez-tm-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 28px));max-height:88vh;overflow-y:auto;background:var(--rail);border:1px solid var(--line);border-radius:14px}
.ez-tm-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}
.ez-tm-head span{color:var(--text);font:600 15px/1 var(--sans)}
.ez-tm-close{background:none;border:0;color:var(--muted);font-size:16px;cursor:pointer;padding:4px}
.ez-tm-close:hover{color:var(--text)}
.ez-tm-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:18px 20px}
.ez-tm-tile{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:14px}
.ez-tm-tile .amt{display:flex;align-items:center;gap:8px;font:600 18px/1 var(--sans);color:var(--text)}
.ez-tm-tile .tag{font:600 9px/1 var(--mono);letter-spacing:.1em;color:var(--amber);border:1px solid rgba(217,164,65,.35);border-radius:20px;padding:4px 7px}
.ez-tm-tile .acts{display:flex;gap:8px;margin-top:11px}
.ez-tm-tile .acts a{flex:1;padding:9px 0;border-radius:7px;font:600 12px/1 var(--sans);text-align:center}
.ez-tm-note{padding:0 20px 18px;font:400 11.5px/1.5 var(--sans);color:var(--muted)}
@media (max-width:460px){.ez-tm-grid{grid-template-columns:1fr}}

/* ---- view-order: hug the rail + condensed column (Boss 2026-07-16) ---- */
body.ez-ui .ez-main .entry-content{margin:0!important;max-width:880px!important}
body.ez-ui .ez-main .entry-content>*{margin-left:0!important;margin-right:0!important;max-width:100%!important}
body.ez-ui .ez-main .woocommerce{margin:0!important;max-width:880px!important}
body.ez-ui .woocommerce-MyAccount-content section,
body.ez-ui .woocommerce-MyAccount-content .woocommerce-order-details,
body.ez-ui .woocommerce-MyAccount-content .woocommerce-customer-details,
body.ez-ui .woocommerce-MyAccount-content .woocommerce-Address{padding:16px 18px!important;margin:0 0 12px!important}
body.ez-ui .woocommerce-MyAccount-content table th,body.ez-ui .woocommerce-MyAccount-content table td{padding:9px 10px!important}
/* Chrome autofill paints inputs white — force the dark inset back */
body.ez-ui input:-webkit-autofill,body.ez-ui input:-webkit-autofill:hover,body.ez-ui input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 44px var(--inset) inset!important;caret-color:var(--text)}
.ez-btn-line{background:transparent;border:1px solid var(--line);color:var(--text)}
.ez-btn-line:hover{border-color:var(--muted)}
.ez-prefill-note{margin:0 0 12px;font:400 12.5px/1.6 var(--sans);color:var(--body2)}
.ez-prefill-note strong{color:var(--text)}

.ez-olabel{display:block;margin-top:3px;font:500 11px/1.3 var(--sans);color:var(--muted)}
