/* ===========================================================================
   Minha conta — /minha-conta/ e todos os endpoints do WooCommerce.

   A área do encontreiro é a **conta do WooCommerce**: quem imprime o miolo é o
   `[woocommerce_my_account]` (wp_template `page-minha-conta`), com o menu, o
   painel, os pedidos, o endereço e os dados da conta. O "Meus Ingressos" é do
   ticketeria-eft (`Ticketeria_My_Account`), com os modais de upgrade e de
   transferência. O tema só desenha — daí este CSS falar quase todo em
   seletores do Woo e do plugin.

   Como no checkout, o CSS vem em duas camadas:

   1) a BASE fala em `.woocommerce-account` (classe do <body>) e nos seletores
      do próprio WooCommerce — vale sem JavaScript nenhum, e esta página não
      tem JavaScript do tema: o acordeão dos pedidos é `<details>/<summary>`;
   2) as classes `eftl-ct-*` vêm das sobrescritas em
      `themes/eft/woocommerce/myaccount/`, que reorganizam a marcação do Woo no
      desenho do protótipo (menu com ícone e contador, painel, pedidos em
      cartão, endereço junto da conta).

   O ticketeria-eft não tem mais CSS de frontend: o `my-account.css` dele
   (claro, com cabeçalho em degradê roxo) foi apagado junto com o enqueue, e
   quem desenha esta tela é só isto. O JS dele fica: é ele que abre os modais e
   chama o AJAX do upgrade e da transferência.
   =========================================================================== */

.wp-section{display:flex;justify-content:center;flex-direction:column;align-items:center;padding-right:var(--wp--custom--spacing--side, min(3vw, 20px));padding-left:var(--wp--custom--spacing--side, min(3vw, 20px));padding-top:var(--wp--custom--spacing--top, 0px);padding-bottom:var(--wp--custom--spacing--bottom, 0px);margin-top:0px;margin-bottom:0px;position:relative;}
.wp-content-wrap{max-width:100%;width:var(--wp--style--global--wide-size, 1200px);}

/* ------------------------------------------------------- topo da página */

.eftl-page-head{
  padding-top:44px;padding-bottom:30px;
  border-bottom:1px solid var(--eft-line,#2e2542);
  background:var(--eft-bg,#0a0813);
  font-family:'Raleway',system-ui,-apple-system,'Segoe UI',sans-serif;
  color:var(--eft-fg,#f2e9df);
}
.eftl-sec__eyebrow{
  margin:0 0 10px;font-size:12.5px;line-height:1.6;letter-spacing:0.24em;
  text-transform:uppercase;color:var(--eft-brand,#e8a54e);
}
.eftl-page-head__title{margin:0;font-family:'El Messiri',sans-serif;font-size:clamp(28.5px,4vw,44px);line-height:1.15;color:#f6ece1;}
.eftl-page-head__sub{margin:8px 0 0;color:var(--eft-fg-dim,#a396b0);font-size:15px;line-height:1.6;max-width:70ch;}

/* =========================================================== a moldura */
/* o grupo é filho do `.wp-site-blocks` e herda dele o block-gap do tema como
   margem de topo; a moldura começa colada no cabeçalho da página. A classe é
   repetida porque a regra do tema é `.wp-site-blocks > *`. */
.eftl-ct-wrap.eftl-ct-wrap{margin-top:0;margin-block-start:0;}
.eftl-ct-wrap{
  padding-top:34px;padding-bottom:96px;
  background:var(--eft-bg,#0a0813);
  font-family:'Raleway',system-ui,-apple-system,'Segoe UI',sans-serif;
  color:var(--eft-fg,#f2e9df);
  font-size:15px;line-height:1.6;
}
.eftl-ct-wrap .woocommerce{width:100%;}
.eftl-ct-wrap h1,.eftl-ct-wrap h2,.eftl-ct-wrap h3,.eftl-ct-wrap h4{
  font-family:'El Messiri',sans-serif;color:#f6ece1;
}
.eftl-ct-wrap a{color:var(--eft-brand-soft,#f3c88c);}
.eftl-ct-wrap p{margin:0 0 12px;}
.eftl-ct-wrap p:last-child{margin-bottom:0;}

/* o Woo põe a navegação e o conteúdo um embaixo do outro; aqui é uma grade
   de duas colunas, com o menu preso no alto (o cabeçalho é sticky). */
.eftl-ct{
  display:grid;grid-template-columns:268px minmax(0,1fr);gap:28px;align-items:start;
}
.eftl-ct__corpo{display:grid;gap:18px;min-width:0;}
/* o formulário da conta embrulha dois cartões (dados e senha): sem a mesma
   grade do corpo eles saíam colados um no outro */
.eftl-ct-conta-form{display:grid;gap:18px;min-width:0;}
.eftl-ct__secao{
  margin:0;font-size:13px;font-family:'Raleway',system-ui,sans-serif !important;
  text-transform:uppercase;letter-spacing:.08em;color:var(--eft-fg-dim,#a396b0);
  font-weight:500;
}

/* ============================================================ menu lateral */
.woocommerce-account .eftl-ct-menu{
  position:sticky;top:calc(96px + var(--eftl-adminbar,0px));
  display:grid;gap:14px;
  padding:16px;float:none;width:auto;
  background:var(--eft-bg-soft,#141020);
  border:1px solid var(--eft-line,#2e2542);border-radius:var(--eft-radius,12px);
}
.eftl-ct-menu__perfil{
  display:flex;align-items:center;gap:11px;
  padding-bottom:14px;border-bottom:1px solid var(--eft-line,#2e2542);
}
.eftl-ct-menu__perfil div{display:grid;min-width:0;}
.eftl-ct-menu__perfil strong{font-size:15px;color:#f6ece1;}
.eftl-ct-menu__perfil span{
  font-size:12.5px;color:var(--eft-fg-dim,#a396b0);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.eftl-ct-menu__avatar{
  flex:none;width:40px;height:40px;display:grid;place-items:center;
  border-radius:999px;font-size:14px;font-weight:700;letter-spacing:.04em;
  background:linear-gradient(135deg,var(--eft-brand-soft,#f3c88c),var(--eft-violet,#7c5cff));
  color:#1b1108;position:relative;overflow:hidden;
}
/* a foto do Google cobre as iniciais; se não carregar, o onerror a tira e elas aparecem */
.eftl-ct-menu__avatar img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;
}

/* a lista do Woo vem com marcador e padding do tema pai */
.woocommerce-account .eftl-ct-menu ul{
  list-style:none;margin:0;padding:0;display:grid;gap:4px;
}
.woocommerce-account .eftl-ct-menu ul li{margin:0;padding:0;border:none;}
.woocommerce-account .eftl-ct-menu ul li a{
  display:flex;align-items:center;gap:11px;
  padding:10px 11px;border-radius:10px;
  color:var(--eft-fg-dim,#a396b0);text-decoration:none;
  border:1px solid transparent;
  transition:background .14s,color .14s,border-color .14s;
}
/* o `woocommerce-blocktheme.css` sublinha o link no hover; três classes mais a
   pseudo-classe para desempatar */
.woocommerce-account .eftl-ct-menu ul li a:hover,
.woocommerce-account .eftl-ct-menu ul li a:focus{
  background:var(--eft-bg-card,#1b1729);color:var(--eft-fg,#f2e9df);
  text-decoration:none;
}
/* o `woocommerce-blocktheme.css` sublinha o item aceso
   (`.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a`, três
   classes): a regra daqui precisa de três classes também para desempatar */
.woocommerce-account .eftl-ct-menu ul li.is-active > a,
.woocommerce-account .eftl-ct-menu ul li.is-ativo > a{
  background:var(--eft-bg-card,#1b1729);color:var(--eft-fg,#f2e9df);
  border-color:var(--eft-line,#2e2542);
  border-left:3px solid var(--eft-brand,#e8a54e);padding-left:9px;
  text-decoration:none;
}
/* o CSS do wordfence e o do ticketeria desenham ícones em `a::before` */
.woocommerce-account .eftl-ct-menu ul li a::before{content:none !important;}
.eftl-ct-menu__icone{flex:none;display:grid;place-items:center;color:var(--eft-brand-soft,#f3c88c);}
.woocommerce-account .eftl-ct-menu li.is-ativo .eftl-ct-menu__icone{color:var(--eft-brand,#e8a54e);}
.eftl-ct-menu__txt{display:grid;min-width:0;line-height:1.25;}
.eftl-ct-menu__txt strong{font-size:14.5px;font-weight:500;}
.eftl-ct-menu__txt em{
  font-style:normal;font-size:11.5px;color:var(--eft-fg-dim,#a396b0);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.eftl-ct-menu__badge{
  margin-left:auto;flex:none;min-width:21px;padding:1px 6px;border-radius:999px;
  background:var(--eft-bg,#0a0813);border:1px solid var(--eft-line,#2e2542);
  font-size:12px;line-height:1.6;text-align:center;white-space:nowrap;align-self:center;
  color:var(--eft-fg-dim,#a396b0);
}
.eftl-ct-menu__badge--alerta{
  background:rgba(232,165,78,.16);border-color:transparent;color:var(--eft-brand-soft,#f3c88c);
}
.eftl-ct-menu__ajuda{
  display:grid;gap:8px;justify-items:start;
  padding-top:13px;border-top:1px solid var(--eft-line,#2e2542);
}
.eftl-ct-menu__ajuda p{margin:0;font-size:13px;color:var(--eft-fg-dim,#a396b0);line-height:1.5;}

/* ================================================================ botões */
.eftl-ct-wrap .eftl-btn,
.woocommerce-account .eftl-ct-wrap .button,
.woocommerce-account .eftl-ct-wrap .woocommerce-Button,
.woocommerce-account .eftl-ct-wrap button[type=submit],
.woocommerce-account .eftl-ct-wrap .ticket-actions .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 18px;border-radius:999px;cursor:pointer;
  background:linear-gradient(135deg,var(--eft-brand-soft,#f3c88c),var(--eft-brand,#e8a54e));
  color:#2a1602 !important;border:1px solid transparent;
  font:inherit;font-size:14.5px;font-weight:600;line-height:1.2;text-decoration:none;
  transition:transform .15s,box-shadow .15s;
}
.eftl-ct-wrap .eftl-btn:hover,
.woocommerce-account .eftl-ct-wrap .button:hover,
.woocommerce-account .eftl-ct-wrap .woocommerce-Button:hover,
.woocommerce-account .eftl-ct-wrap button[type=submit]:hover{
  transform:translateY(-1px);box-shadow:0 10px 24px rgba(232,165,78,.22);
}
/* quem manda na hierarquia é a classe do tema: "Baixar ingresso" é o botão
   cheio, "Trocar de vaga" e "Editar / transferir" são fantasmas */
.eftl-ct-wrap .eftl-btn--ghost,
.woocommerce-account .eftl-ct-wrap .modal-footer .modal-close,
.woocommerce-account .eftl-ct-wrap .button.eftl-btn--ghost{
  background:transparent;color:var(--eft-fg,#f2e9df) !important;
  border:1px solid var(--eft-line,#2e2542);box-shadow:none;font-weight:500;
}
.eftl-ct-wrap .eftl-btn--ghost:hover{
  border-color:var(--eft-brand-soft,#f3c88c);box-shadow:none;
}
.eftl-ct-wrap .eftl-btn--sm{padding:7px 14px;font-size:14px;}
.eftl-ct-wrap .eftl-link{
  background:none;border:none;padding:0;cursor:pointer;font:inherit;
  color:var(--eft-brand-soft,#f3c88c);text-decoration:underline;
}

/* o botão que o Woo põe dentro de um aviso ("Confirmar e-mail", "Ver
   produtos") herda do carrinho.css um degradê pensado para outro contexto e
   fica ilegível no fim da faixa; aqui é um botão fantasma. Três classes para
   ganhar da regra do carrinho.css, que carrega depois. */
.woocommerce-account .eftl-ct-wrap .wc-block-components-notice-banner .button,
.woocommerce-account .eftl-ct-wrap .woocommerce-info .button,
.woocommerce-account .eftl-ct-wrap .woocommerce-message .button{
  display:inline-block;float:none;margin:0 8px 0 0;padding:6px 13px;border-radius:999px;
  background:transparent;color:var(--eft-brand-soft,#f3c88c) !important;
  border:1px solid var(--eft-line,#2e2542);
  font-size:13.5px;font-weight:500;text-decoration:none;box-shadow:none;
}

/* o "olho" que o woocommerce.js acrescenta nos campos de senha */
.woocommerce-account .eftl-ct-wrap .woocommerce-password-input{position:relative;display:block;}
.woocommerce-account .eftl-ct-wrap .show-password-input{
  position:absolute;right:10px;top:50%;transform:translateY(-50%);
  width:auto;height:auto;padding:0;background:transparent !important;border:none;
  color:var(--eft-fg-dim,#a396b0);cursor:pointer;
}
.woocommerce-account .eftl-ct-wrap .woocommerce-password-strength{
  margin-top:6px;padding:6px 10px;border-radius:8px;font-size:12.5px;
  background:var(--eft-bg-soft,#141020);border:1px solid var(--eft-line,#2e2542);
}
.woocommerce-account .eftl-ct-wrap .woocommerce-password-hint{
  display:block;margin-top:4px;font-size:12.5px;color:var(--eft-fg-dim,#a396b0);
}

/* ========================================================== blocos gerais */
.eftl-ct-bloco{
  display:grid;gap:12px;padding:20px;
  background:var(--eft-bg-card,#1b1729);
  border:1px solid var(--eft-line,#2e2542);border-radius:var(--eft-radius,12px);
}
.eftl-ct-bloco__head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.eftl-ct-bloco__titulo{
  margin:0;font-family:'Raleway',system-ui,sans-serif !important;
  font-size:13px;text-transform:uppercase;letter-spacing:.08em;
  color:var(--eft-fg-dim,#a396b0);font-weight:500;
}
.eftl-ct-bloco__link{font-size:14px;justify-self:start;}
.eftl-ct-vazio{
  display:grid;gap:14px;justify-items:center;text-align:center;
  padding:44px 20px;
  background:var(--eft-bg-card,#1b1729);
  border:1px dashed var(--eft-line,#2e2542);border-radius:var(--eft-radius,12px);
  color:var(--eft-fg-dim,#a396b0);
}
.eftl-ct-rodape{margin:0;font-size:13px;color:var(--eft-fg-dim,#a396b0);text-align:center;}

/* ====================================================== painel (dashboard) */
.eftl-ct-painel{display:grid;gap:18px;}

.eftl-ct-proximo{
  display:grid;gap:16px;padding:22px;
  border:1px solid var(--eft-line,#2e2542);border-radius:var(--eft-radius,12px);
  background:
    radial-gradient(120% 140% at 100% 0%,rgba(124,92,255,.22),transparent 60%),
    radial-gradient(90% 120% at 0% 100%,rgba(232,165,78,.16),transparent 60%),
    var(--eft-bg-card,#1b1729);
  box-shadow:var(--eft-shadow,0 18px 45px rgba(0,0,0,0.55));
}
.eftl-ct-proximo__topo{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;}
.eftl-ct-proximo__eyebrow{
  margin:0 0 4px;font-size:12px;text-transform:uppercase;letter-spacing:.09em;
  color:var(--eft-brand-soft,#f3c88c);
}
.eftl-ct-proximo h2{margin:0;font-size:24px;line-height:1.2;}
.eftl-ct-proximo__sub{margin:6px 0 0;color:var(--eft-fg-dim,#a396b0);font-size:14.5px;}
.eftl-ct-proximo__contagem{
  flex:none;display:grid;justify-items:center;align-content:center;
  min-width:86px;padding:10px 14px;border-radius:12px;
  background:rgba(10,8,19,.55);border:1px solid var(--eft-line,#2e2542);
}
.eftl-ct-proximo__contagem strong{font-size:30px;line-height:1;color:#f6ece1;}
.eftl-ct-proximo__contagem span{font-size:12px;color:var(--eft-fg-dim,#a396b0);}
.eftl-ct-proximo__vagas{list-style:none;margin:0;padding:0;display:grid;gap:6px;}
.eftl-ct-proximo__vagas li{
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  padding:9px 12px;border-radius:9px;
  background:rgba(10,8,19,.4);border:1px solid var(--eft-line,#2e2542);
  font-size:14.5px;
}
.eftl-ct-proximo__quem{color:var(--eft-fg-dim,#a396b0);font-size:13.5px;}
.eftl-ct-proximo__acoes{display:flex;flex-wrap:wrap;gap:8px;}

.eftl-ct-pendencias{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.eftl-ct-pendencias li{display:flex;align-items:center;gap:10px;font-size:14.5px;line-height:1.5;}
.eftl-ct-pendencias li > span:first-child{
  flex:none;width:7px;height:7px;border-radius:999px;background:var(--eft-brand,#e8a54e);
}
.eftl-ct-pendencias a{margin-left:auto;flex:none;font-size:14px;}

/* crédito de troca de vaga: sobra de quem trocou por uma vaga mais barata */
.eftl-ct-credito__saldo{
  display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 12px;
  font-size:13.5px;line-height:1.55;color:var(--eft-fg-dim,#a396b0);
}
.eftl-ct-credito__saldo strong{flex:none;font-size:22px;color:var(--eft-cyan,#3fd0d8);}
.eftl-ct-credito__saldo > span{flex:1;min-width:220px;}
.eftl-ct-credito__extrato{list-style:none;margin:0;padding:0;display:grid;gap:6px;}
.eftl-ct-credito__extrato li{
  display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:9px;
  background:var(--eft-bg-soft,#141020);border:1px solid var(--eft-line,#2e2542);
  font-size:13px;color:var(--eft-fg-dim,#a396b0);
}
.eftl-ct-credito__valor{flex:none;font-weight:600;color:#8fe0aa;}
.eftl-ct-credito__valor.is-uso{color:var(--eft-brand-soft,#f3c88c);}
.eftl-ct-credito__mov{flex:1;min-width:0;}
.eftl-ct-credito__extrato time{flex:none;font-size:12px;opacity:.8;}
@media (max-width:520px){
  .eftl-ct-credito__extrato li{flex-wrap:wrap;gap:4px 10px;}
  .eftl-ct-credito__mov{flex-basis:100%;order:3;}
}

/* o resumo do crédito no painel leva para a tela cheia, que é onde moram o
   saldo por edição, os repasses e o histórico */
.eftl-ct-credito__acoes{margin:0;}

/* ---------------------------------------------------------------------------
   "Minha loja" — /minha-conta/minha-loja/

   A marcação é do EFT Marketplace (`templates/my-account/minha-loja.php`), que
   como o ticketeria não traz CSS de frontend. Campos e botões já vêm da base
   desta página: aqui fica só o que é próprio da tela.
   ------------------------------------------------------------------------- */
.woocommerce-account .eftl-ct-wrap .eft-loja{display:grid;gap:20px;}

.eft-loja__abas{display:flex;flex-wrap:wrap;gap:8px;}
.eft-loja__abas a{
  padding:8px 15px;border-radius:999px;text-decoration:none;
  border:1px solid var(--eft-line,#2e2542);background:rgba(255,255,255,0.02);
  color:var(--eft-fg-dim,#a396b0);font-size:14px;line-height:1.4;
}
.eft-loja__abas a:hover{color:var(--eft-fg,#f2e9df);border-color:#46395f;}
.eft-loja__abas a.is-atual{
  background:linear-gradient(135deg,var(--eft-brand-soft,#f3c88c),var(--eft-brand,#e8a54e));
  border-color:transparent;color:#2a1602;font-weight:600;
}

.eft-loja__vazio{
  margin:0;padding:22px;border-radius:12px;text-align:center;
  border:1px solid var(--eft-line,#2e2542);background:rgba(255,255,255,0.02);
  color:var(--eft-fg-dim,#a396b0);font-size:15px;line-height:1.7;
}

.eft-loja__produtos{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.eft-loja__produto{
  display:grid;grid-template-columns:64px minmax(0,1fr) auto auto;
  align-items:center;gap:14px;margin:0;
  padding:12px 14px;border-radius:12px;
  border:1px solid var(--eft-line,#2e2542);background:var(--eft-bg-soft,#141020);
}
.eft-loja__produto.is-pending{border-color:rgba(232,165,78,.45);}
.eft-loja__foto img{
  width:64px;height:64px;object-fit:cover;border-radius:9px;display:block;
  border:1px solid var(--eft-line,#2e2542);background:#140f21;
}
.eft-loja__foto img.woocommerce-placeholder{opacity:.14;mix-blend-mode:luminosity;object-fit:contain;padding:14%;}
.eft-loja__dados{display:grid;gap:2px;min-width:0;}
.eft-loja__dados strong{color:#f6ece1;font-size:16px;line-height:1.3;}
.eft-loja__preco{color:var(--eft-fg,#f2e9df);font-size:14.5px;}
.eft-loja__preco del{color:var(--eft-fg-dim,#a396b0);margin-right:6px;}
.eft-loja__preco ins{background:none;color:inherit;text-decoration:none;}
.eft-loja__meta{color:var(--eft-fg-dim,#a396b0);font-size:12.5px;}
.eft-loja__situacao{display:grid;gap:2px;text-align:right;}
.eft-loja__situacao strong{
  font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--eft-fg-dim,#a396b0);font-weight:500;
}
.eft-loja__situacao span{color:var(--eft-fg-dim,#a396b0);font-size:12px;line-height:1.4;max-width:22ch;}
.eft-loja__produto.is-publish .eft-loja__situacao strong{color:var(--eft-brand-soft,#f3c88c);}
.eft-loja__editar{display:grid;gap:5px;justify-items:end;}
.eft-loja__editar a:not(.button){color:var(--eft-fg-dim,#a396b0);font-size:12.5px;text-decoration:underline;}
.eft-loja__foto-atual{margin:0 0 10px;}
.eft-loja__foto-atual img{
  width:120px;height:120px;object-fit:cover;border-radius:11px;display:block;
  border:1px solid var(--eft-line,#2e2542);
}
.eft-loja__form input[type=file]{
  color:var(--eft-fg-dim,#a396b0);font-size:14px;
}
.eft-loja__form select{
  width:100%;padding:11px 14px;border-radius:9px;
  border:1px solid var(--eft-line,#2e2542);background:#140f21;color:var(--eft-fg,#f2e9df);
  font-family:inherit;font-size:15px;
}

@media (max-width:640px){
  .eft-loja__produto{grid-template-columns:52px minmax(0,1fr);row-gap:10px;}
  .eft-loja__foto img{width:52px;height:52px;}
  .eft-loja__situacao{grid-column:1 / -1;text-align:left;}
  .eft-loja__situacao span{max-width:none;}
  .eft-loja__editar{grid-column:1 / -1;justify-items:start;}
}

.eft-loja__estado{
  display:grid;gap:4px;padding:14px 16px;border-radius:11px;
  background:var(--eft-bg-soft,#141020);border:1px solid var(--eft-line,#2e2542);
}
.eft-loja__estado strong{
  font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--eft-fg-dim,#a396b0);font-weight:500;
}
.eft-loja__estado span{color:var(--eft-fg,#f2e9df);font-size:15px;line-height:1.6;}
.eft-loja__estado a{color:var(--eft-brand-soft,#f3c88c);font-size:14px;word-break:break-all;}
.eft-loja__estado--ativa{border-color:rgba(243,200,140,.45);}
.eft-loja__estado--pendente strong{color:var(--eft-brand,#e8a54e);}
.eft-loja__estado--suspensa strong{color:#ef4444;}

.eft-loja__convite{
  padding:18px 20px;border-radius:12px;
  background:var(--eft-bg-card,#1b1729);border:1px solid var(--eft-line,#2e2542);
}
.eft-loja__convite h3{margin:0 0 8px;font-size:19px;}
.eft-loja__convite p{margin:0 0 10px;color:var(--eft-fg-dim,#a396b0);font-size:15px;line-height:1.7;}
.eft-loja__convite p:last-child{margin-bottom:0;}
.eft-loja__convite strong{color:var(--eft-fg,#f2e9df);}

.woocommerce-account .eftl-ct-wrap .eft-loja__form{display:grid;gap:2px;}
.eft-loja__form h3{margin:12px 0 6px;font-size:17px;}
.eft-loja__form h3:first-child{margin-top:0;}
.eft-loja__form small{
  display:block;margin-top:5px;color:var(--eft-fg-dim,#a396b0);
  font-size:12.5px;line-height:1.5;
}
.eft-loja__prefixo{
  display:block;margin-bottom:4px;
  color:var(--eft-fg-dim,#a396b0);font-size:12.5px;line-height:1.5;
}
.eft-loja__acoes{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;}
/* "Salvar" é o fantasma e "enviar para aprovação" é o cheio: a hierarquia é a
   mesma de "Baixar ingresso" na tela de ingressos */
.woocommerce-account .eftl-ct-wrap .eft-loja__acoes button[type=submit]{
  background:transparent !important;color:var(--eft-fg,#f2e9df) !important;
  border:1px solid var(--eft-line,#2e2542);
}
.woocommerce-account .eftl-ct-wrap .eft-loja__acoes button.eft-loja__enviar[type=submit]{
  background:linear-gradient(135deg,var(--eft-brand-soft,#f3c88c),var(--eft-brand,#e8a54e)) !important;
  color:#2a1602 !important;border-color:transparent;font-weight:600;
}

.eft-loja__numeros{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;
  list-style:none;margin:0;padding:0;
}
.eft-loja__numeros li{
  display:grid;gap:3px;margin:0;padding:12px 14px;border-radius:10px;
  background:var(--eft-bg-soft,#141020);border:1px solid var(--eft-line,#2e2542);
}
.eft-loja__numeros strong{font-size:19px;line-height:1.15;color:#f6ece1;}
.eft-loja__numeros span{font-size:12.5px;color:var(--eft-fg-dim,#a396b0);line-height:1.35;}

.eft-loja__pedidos{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.eft-loja__pedido{
  margin:0;border-radius:12px;overflow:hidden;
  border:1px solid var(--eft-line,#2e2542);background:var(--eft-bg-soft,#141020);
}
.eft-loja__pedido summary{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  padding:13px 15px;cursor:pointer;list-style:none;
}
.eft-loja__pedido summary::-webkit-details-marker{display:none;}
.eft-loja__pedido-num{color:#f6ece1;font-weight:600;font-size:15px;}
.eft-loja__pedido-data{color:var(--eft-fg-dim,#a396b0);font-size:13px;}
.eft-loja__pedido-valor{margin-left:auto;color:var(--eft-fg,#f2e9df);font-size:15.5px;font-weight:600;}
.eft-loja__pedido-estado{
  padding:4px 11px;border-radius:999px;font-size:12px;line-height:1.4;
  border:1px solid var(--eft-line,#2e2542);color:var(--eft-fg-dim,#a396b0);
}
.eft-loja__pedido-estado.is-payment_split_done{border-color:rgba(243,200,140,.5);color:var(--eft-brand-soft,#f3c88c);}
.eft-loja__pedido-corpo{
  display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px 24px;
  padding:0 15px 15px;border-top:1px solid var(--eft-line,#2e2542);padding-top:14px;
}
.eft-loja__pedido-itens{list-style:none;margin:0;padding:0;display:grid;gap:7px;align-content:start;}
.eft-loja__pedido-itens li{
  display:flex;justify-content:space-between;gap:14px;margin:0;
  color:var(--eft-fg,#f2e9df);font-size:14.5px;line-height:1.5;
}
.eft-loja__pedido-conta{color:var(--eft-fg-dim,#a396b0) !important;}
.eft-loja__pedido-conta.is-total{
  margin-top:6px !important;padding-top:8px;border-top:1px solid var(--eft-line,#2e2542);
  color:var(--eft-fg,#f2e9df) !important;font-weight:600;
}
.eft-loja__pedido-lado h4{
  margin:0 0 5px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--eft-fg-dim,#a396b0);font-weight:500;
}
.eft-loja__pedido-lado h4 ~ h4{margin-top:14px;}
.eft-loja__pedido-lado p{margin:0;color:var(--eft-fg,#f2e9df);font-size:14px;line-height:1.6;}
.eft-loja__pedido-lado code{font-size:13px;color:var(--eft-brand-soft,#f3c88c);}
.woocommerce-account .eftl-ct-wrap .eft-loja__envio{margin-top:12px;}
.eft-loja__nota{color:var(--eft-fg-dim,#a396b0);font-size:13.5px;line-height:1.6;}

@media (max-width:720px){
  .eft-loja__pedido-corpo{grid-template-columns:minmax(0,1fr);}
  .eft-loja__pedido-valor{margin-left:0;}
}

/* ---------------------------------------------------------------------------
   O cadastro de produto do encontreiro

   A marcação não usa as classes de linha do WooCommerce: `form-row-first` e
   `form-row-last` são float com largura em por cento, feitas para o checkout
   clássico, e dentro de uma grade elas vazam para fora do cartão. Aqui cada
   bloco é uma grade própria.
   ------------------------------------------------------------------------- */
.eft-produto{display:grid;gap:16px;}

.eft-produto__topo{
  display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
}
.eft-produto__topo h3{margin:0;font-size:21px;}
.eft-produto__estado{
  padding:4px 12px;border-radius:999px;font-size:12px;line-height:1.4;
  border:1px solid var(--eft-line,#2e2542);color:var(--eft-fg-dim,#a396b0);
}
.eft-produto__estado.is-publish{border-color:rgba(243,200,140,.5);color:var(--eft-brand-soft,#f3c88c);}
.eft-produto__estado.is-pending{border-color:rgba(232,165,78,.5);color:var(--eft-brand,#e8a54e);}

/* cada seção do formulário é um cartão */
.eft-bloco{
  display:grid;gap:14px;margin:0;padding:18px;border-radius:14px;
  border:1px solid var(--eft-line,#2e2542);background:var(--eft-bg-soft,#141020);
}
.eft-bloco h4{
  margin:0;font-family:'El Messiri',sans-serif;font-weight:600;
  font-size:17px;line-height:1.2;color:#f6ece1;
}
.eft-nota{margin:0;color:var(--eft-fg-dim,#a396b0);font-size:13.5px;line-height:1.6;}
.eft-nota em{color:var(--eft-fg,#f2e9df);font-style:normal;}

/* a grade dos campos: duas colunas, quatro nas medidas */
.eft-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.eft-grade--4{grid-template-columns:repeat(4,minmax(0,1fr));}
.eft-campo{display:grid;gap:5px;margin:0;min-width:0;align-content:start;}
.eft-campo--largo{grid-column:1 / -1;}
.eft-campo > label{
  color:var(--eft-fg-dim,#a396b0);font-size:12.5px;line-height:1.4;font-weight:500;
}
.eft-req{color:var(--eft-brand,#e8a54e);}
.eft-campo > small{color:var(--eft-fg-dim,#a396b0);font-size:12px;line-height:1.5;}

.woocommerce-account .eftl-ct-wrap .eft-campo input[type=text],
.woocommerce-account .eftl-ct-wrap .eft-campo input[type=number],
.woocommerce-account .eftl-ct-wrap .eft-campo input[type=search],
.woocommerce-account .eftl-ct-wrap .eft-campo input[type=date],
.woocommerce-account .eftl-ct-wrap .eft-campo textarea,
.woocommerce-account .eftl-ct-wrap .eft-campo select{
  width:100%;margin:0;padding:10px 13px;border-radius:9px;
  border:1px solid var(--eft-line,#2e2542);background:#140f21;color:var(--eft-fg,#f2e9df);
  font-family:inherit;font-size:15px;line-height:1.45;
}
.woocommerce-account .eftl-ct-wrap .eft-campo input:focus-visible,
.woocommerce-account .eftl-ct-wrap .eft-campo textarea:focus-visible{
  outline:2px solid var(--eft-brand,#e8a54e);outline-offset:1px;
}
.eft-campo input[type=file]{color:var(--eft-fg-dim,#a396b0);font-size:13.5px;}
.eft-campo input[type=number]{-moz-appearance:textfield;}

/* o R$ é adorno, não valor: fica no invólucro e o campo continua indo para o
   servidor só com o número, que é o que o `wc_format_decimal()` espera */
.eft-moeda{position:relative;display:block;}
.eft-moeda::before{
  content:'R$';position:absolute;left:13px;top:50%;transform:translateY(-50%);
  color:var(--eft-fg-dim,#a396b0);font-size:14px;pointer-events:none;
}
/* a regra base do campo é `.eft-campo input[type=text]` — classe mais tipo mais
   atributo. Para abrir espaço ao R$ o seletor precisa passar dela. */
.woocommerce-account .eftl-ct-wrap .eft-campo .eft-moeda input[type=text]{padding-left:40px;}
/* sem isto o seletor de data nativo vem branco, com o ícone preto */
.eft-campo input[type=date]{color-scheme:dark;}

/* o select nativo das categorias fica escondido depois que o select2 monta;
   sem isto os dois aparecem, um em cima do outro */
.eft-produto .select2-hidden-accessible{
  position:absolute !important;width:1px !important;height:1px !important;
  padding:0 !important;margin:-1px !important;overflow:hidden !important;
  clip:rect(0 0 0 0) !important;white-space:nowrap !important;border:0 !important;
}

/* os botões desta tela */
.woocommerce-account .eftl-ct-wrap .eft-btn{
  display:inline-block;padding:11px 22px;border-radius:9px;cursor:pointer;
  border:1px solid transparent;text-decoration:none;text-align:center;
  background:linear-gradient(135deg,var(--eft-brand-soft,#f3c88c),var(--eft-brand,#e8a54e));
  color:#2a1602 !important;font-family:inherit;font-weight:600;font-size:15px;line-height:1.4;
  transition:filter 0.15s;
}
.woocommerce-account .eftl-ct-wrap .eft-btn:hover{filter:brightness(1.12);}
.woocommerce-account .eftl-ct-wrap .eft-btn--fantasma{
  background:transparent;color:var(--eft-fg,#f2e9df) !important;
  border-color:var(--eft-line,#2e2542);font-weight:500;
}
.woocommerce-account .eftl-ct-wrap .eft-btn--fantasma:hover{
  filter:none;border-color:#46395f;
}
.eft-produto__acoes{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}

/* o tipo do produto */
.eft-produto__tipo{display:grid;gap:8px;}
.eft-produto__tipo label{
  display:flex;align-items:flex-start;gap:10px;margin:0;cursor:pointer;
  padding:12px 14px;border-radius:11px;
  border:1px solid var(--eft-line,#2e2542);background:rgba(255,255,255,0.02);
}
.eft-produto__tipo label:has(input:checked){border-color:rgba(243,200,140,.5);}
.eft-produto__tipo input{margin:3px 0 0;accent-color:var(--eft-brand,#e8a54e);}
.eft-produto__tipo span{
  display:grid;gap:2px;color:var(--eft-fg-dim,#a396b0);font-size:13.5px;line-height:1.5;
}
.eft-produto__tipo strong{color:var(--eft-fg,#f2e9df);font-size:15px;font-weight:600;}

/* o editor do WordPress dentro do cartão escuro */
.eft-produto__editor .wp-editor-container{
  border-radius:10px;overflow:hidden;border:1px solid var(--eft-line,#2e2542);
}
.eft-produto__editor .mce-panel,
.eft-produto__editor .mce-toolbar-grp,
.eft-produto__editor .mce-menubar{background:#1b1729 !important;border-color:var(--eft-line,#2e2542) !important;}
.eft-produto__editor .mce-btn button,
.eft-produto__editor .mce-ico{color:var(--eft-fg-dim,#a396b0) !important;}
.eft-produto__editor .mce-btn:hover button,
.eft-produto__editor .mce-btn.mce-active button{color:var(--eft-fg,#f2e9df) !important;}
.eft-produto__editor textarea.wp-editor-area{
  background:#140f21 !important;color:var(--eft-fg,#f2e9df) !important;
  border:none !important;padding:12px 14px !important;font-family:inherit;
}

/* as opções */
.eft-produto__atributos{display:grid;gap:10px;}
.eft-produto__atributo{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) auto;
  align-items:end;gap:10px;
  padding:12px 14px;border-radius:11px;
  border:1px solid var(--eft-line,#2e2542);background:rgba(255,255,255,0.02);
}
/* o botão tem de casar com a altura do campo ao lado, e o campo é rótulo mais
   input: alinhar pelo fim da grade não basta porque o botão não tem rótulo */
.woocommerce-account .eftl-ct-wrap .eft-produto__tirar{
  align-self:end;margin-bottom:0;
  width:44px;height:44px;padding:0;border-radius:9px;cursor:pointer;
  border:1px solid var(--eft-line,#2e2542);background:transparent !important;
  color:var(--eft-fg-dim,#a396b0) !important;font-size:18px;line-height:1;
}
.woocommerce-account .eftl-ct-wrap .eft-produto__tirar:hover{color:#ef4444 !important;border-color:#ef4444;}

/* a logo e a capa que já estão gravadas */
.eft-loja__imagens .eft-loja__previa{display:block;margin:0 0 4px;}
.eft-loja__imagens .eft-loja__previa img{
  display:block;width:100%;max-width:180px;height:auto;aspect-ratio:1/1;
  object-fit:cover;border-radius:11px;border:1px solid var(--eft-line,#2e2542);
}
.eft-loja__imagens .eft-campo:last-child .eft-loja__previa img{
  max-width:100%;aspect-ratio:1200/400;
}
.eft-loja__tirar{
  display:flex !important;align-items:center;gap:7px;margin:2px 0 0 !important;
  color:var(--eft-fg-dim,#a396b0) !important;font-size:12.5px !important;cursor:pointer;
}
.eft-loja__tirar input{margin:0;accent-color:#ef4444;}

/* a prévia do endereço da loja, enquanto se digita */
.eft-loja__previa-slug{color:var(--eft-brand,#e8a54e) !important;word-break:break-all;}

/* a prévia das combinações, antes de salvar */
.eft-produto__previa{display:grid;gap:7px;margin-top:4px;}
.eft-produto__previa ul{
  display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:0;padding:0;
}
.eft-produto__previa li{
  margin:0;padding:4px 11px;border-radius:999px;
  border:1px solid var(--eft-line,#2e2542);background:rgba(255,255,255,0.03);
  color:var(--eft-fg,#f2e9df);font-size:13.5px;
}
.eft-produto__previa small{color:var(--eft-fg-dim,#a396b0);font-size:12.5px;line-height:1.5;}

/* as variações */
.eft-variacoes{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.eft-variacao{
  margin:0;padding:13px 15px;border-radius:11px;display:grid;gap:11px;
  border:1px solid var(--eft-line,#2e2542);background:rgba(255,255,255,0.02);
}
.eft-variacao__cabeca{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.eft-variacao__ativa{display:flex;align-items:center;gap:9px;margin:0;cursor:pointer;}
.eft-variacao__ativa input{margin:0;accent-color:var(--eft-brand,#e8a54e);}
.eft-variacao__ativa strong{color:#f6ece1;font-size:15.5px;}
.eft-variacao__id{color:var(--eft-fg-dim,#a396b0);font-size:12px;}
.eft-variacao:has(input[type=checkbox]:not(:checked)){opacity:.55;}

/* as fotos */
.eft-produto__fotos{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr);gap:18px;}
.eft-produto__rotulo{
  display:block;margin:0 0 7px;color:var(--eft-fg-dim,#a396b0);
  font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;
}
.eft-produto__foto-principal img{
  width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:11px;display:block;
  margin-bottom:8px;border:1px solid var(--eft-line,#2e2542);
}
.eft-produto__vazia{
  display:grid;place-items:center;aspect-ratio:1/1;margin-bottom:8px;border-radius:11px;
  border:1px dashed var(--eft-line,#2e2542);color:var(--eft-fg-dim,#a396b0);font-size:13px;
}
.eft-produto__galeria ul{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px;
  list-style:none;margin:0 0 10px;padding:0;
}
.eft-produto__galeria li{display:grid;gap:4px;margin:0;}
.eft-produto__galeria img{
  width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:9px;display:block;
  border:1px solid var(--eft-line,#2e2542);
}
.eft-produto__galeria li label{
  display:flex;align-items:center;gap:5px;margin:0;
  color:var(--eft-fg-dim,#a396b0);font-size:12px;cursor:pointer;
}
.eft-produto__galeria li input{margin:0;accent-color:#ef4444;}
.eft-produto__galeria > small{display:block;margin-top:6px;color:var(--eft-fg-dim,#a396b0);font-size:12px;}

/* os campos de arquivo */
.woocommerce-account .eftl-ct-wrap input[type=file]{
  width:100%;padding:9px 12px;border-radius:9px;cursor:pointer;
  border:1px dashed var(--eft-line,#2e2542);background:rgba(255,255,255,0.02);
  color:var(--eft-fg-dim,#a396b0);font-family:inherit;font-size:13px;line-height:1.4;
}
.woocommerce-account .eftl-ct-wrap input[type=file]::file-selector-button{
  margin-right:10px;padding:6px 13px;border-radius:7px;cursor:pointer;
  border:1px solid var(--eft-line,#2e2542);background:#140f21;
  color:var(--eft-fg,#f2e9df);font-family:inherit;font-size:13px;
}
.woocommerce-account .eftl-ct-wrap input[type=file]:hover{border-color:#46395f;}

/* as pílulas de categoria, do select2 do WooCommerce.
   O select2 mede a largura antes de o campo assentar e escreve o valor no
   estilo do elemento: sem `box-sizing` e um teto, a caixa e o campo de busca
   saem mais largos que a coluna. */
.woocommerce-account .eftl-ct-wrap .select2-container,
.woocommerce-account .eftl-ct-wrap .select2-container *{box-sizing:border-box;}
.woocommerce-account .eftl-ct-wrap .select2-container{width:100% !important;max-width:100%;}
.woocommerce-account .eftl-ct-wrap .select2-search__field{width:auto !important;max-width:100%;}
/* a lista das pílulas é um <ul>, e o tema desenha <ul> com marcador e recuo */
.woocommerce-account .eftl-ct-wrap .select2-selection__rendered{
  list-style:none !important;margin:0 !important;padding:0 !important;
  display:flex !important;flex-wrap:wrap;align-items:center;gap:0;
}
.woocommerce-account .eftl-ct-wrap .select2-selection__rendered > li{margin:0;}
.woocommerce-account .eftl-ct-wrap .select2-selection--multiple{
  display:block;min-height:44px;
}
/* A LISTA ABRE PRESA AO <body>, fora do `.eftl-ct-wrap`: regra prefixada com o
   invólucro não a alcança, e ela vinha branca com texto branco. O seletor
   começa no <body>, que é quem tem a classe da tela. */
body.woocommerce-account .select2-dropdown{
  border-color:var(--eft-line,#2e2542);background:#171123;
}
/* o tema desenha <ul>/<li> com marcador e recuo, e a lista do select2 é isso */
body.woocommerce-account .select2-results__options{list-style:none;margin:0;padding:0;}
body.woocommerce-account .select2-results__option{
  list-style:none;margin:0;
  background:#171123;color:var(--eft-fg,#f2e9df);font-size:14.5px;padding:9px 13px;
}
body.woocommerce-account .select2-results__option::marker{content:'';}
body.woocommerce-account .select2-results__option--highlighted,
body.woocommerce-account .select2-results__option[data-selected=true]{
  background:#241c38 !important;color:#f6ece1 !important;
}
body.woocommerce-account .select2-search--dropdown .select2-search__field{
  border:1px solid var(--eft-line,#2e2542);background:#140f21;
  color:var(--eft-fg,#f2e9df);border-radius:8px;padding:8px 11px;
}
.woocommerce-account .eftl-ct-wrap .select2-container--default .select2-selection--multiple{
  border-radius:9px;border:1px solid var(--eft-line,#2e2542);background:#140f21;padding:4px 6px;
}
.woocommerce-account .eftl-ct-wrap .select2-container--default .select2-selection__choice{
  border-radius:999px;border:1px solid transparent;padding:3px 10px;margin:3px;
  background:linear-gradient(135deg,var(--eft-brand-soft,#f3c88c),var(--eft-brand,#e8a54e));
  color:#2a1602;font-size:13.5px;
}
.woocommerce-account .eftl-ct-wrap .select2-container--default .select2-selection__choice__remove{color:#2a1602;}
.woocommerce-account .eftl-ct-wrap .select2-container--default .select2-search--inline .select2-search__field{
  color:var(--eft-fg,#f2e9df);margin-top:6px;
}

/* ---------------------------------------------------------------------------
   Cupons da loja — /minha-conta/minha-loja/cupons/
   ------------------------------------------------------------------------- */
.eft-grade--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.eft-grade--6{grid-template-columns:repeat(6,minmax(0,1fr));}
.eft-campo--1{grid-column:span 1;}
.eft-campo--2{grid-column:span 2;}
.eft-campo--3{grid-column:span 3;}
.eft-campo--4{grid-column:span 4;}
.eft-campo--6{grid-column:span 6;}
/* campo sem `<small>` embaixo desce para acompanhar o vizinho que tem: a grade
   estica os dois e o conteúdo fica centrado na altura. Isto prende no topo. */
.eft-campo--topo{align-self:start;}
.eft-campo--caixas{gap:9px;}
.eft-campo--caixas label{
  display:flex;align-items:center;gap:8px;
  color:var(--eft-fg,#f2e9df);font-size:14px;line-height:1.4;
}
.eft-campo--caixas input{margin:0;}

.eft-loja__recado{
  margin:0 0 18px;color:var(--eft-fg-dim,#a396b0);font-size:14px;line-height:1.65;
}
.eft-loja__recado strong{color:var(--eft-fg,#f2e9df);}

.eft-cupom{
  display:grid;gap:16px;margin:0 0 24px;padding:20px;border-radius:14px;
  border:1px solid var(--eft-line,#2e2542);background:var(--eft-bg-soft,#141020);
}
.eft-cupom h3{
  margin:0;font-family:'El Messiri',sans-serif;font-weight:600;
  font-size:19px;line-height:1.2;color:#f6ece1;
}

.eft-cupom__lista{width:100%;border-collapse:collapse;margin:0;}
.eft-cupom__lista th{
  padding:0 12px 9px;text-align:left;border:0;
  color:var(--eft-fg-dim,#a396b0);font-size:12px;font-weight:600;
  text-transform:uppercase;letter-spacing:.08em;
}
.eft-cupom__lista td{
  padding:13px 12px;border:0;border-top:1px solid var(--eft-line,#2e2542);
  color:var(--eft-fg,#f2e9df);font-size:14.5px;vertical-align:middle;
}
.eft-cupom__lista code{
  padding:3px 9px;border-radius:7px;background:#241c38;
  color:var(--eft-brand,#e8a54e);font-size:13.5px;letter-spacing:.04em;
}
.eft-cupom__acoes{white-space:nowrap;}
.eft-cupom__acoes a{margin-right:12px;font-size:13.5px;}
.eft-cupom__acoes a:last-child{margin-right:0;}
.eft-cupom__apagar{color:#e08a8a;}

.eft-selo{
  display:inline-block;padding:3px 10px;border-radius:999px;
  font-size:12px;font-weight:600;letter-spacing:.02em;
}
.eft-selo.is-ativo{background:rgba(122,199,140,.16);color:#8fd6a2;}
.eft-selo.is-pausado{background:rgba(163,150,176,.16);color:#a396b0;}
.eft-selo.is-vencido{background:rgba(224,138,138,.16);color:#e08a8a;}
.eft-selo.is-aberta{background:rgba(232,165,78,.16);color:var(--eft-brand,#e8a54e);}
.eft-selo.is-aceita,.eft-selo.is-concluida{background:rgba(122,199,140,.16);color:#8fd6a2;}
.eft-selo.is-recusada{background:rgba(224,138,138,.16);color:#e08a8a;}

/* ---------------------------------------------------------------------------
   Relatório da loja — /minha-conta/minha-loja/relatorio/
   ------------------------------------------------------------------------- */
.eft-rel__periodo{
  display:flex;align-items:center;gap:10px;margin:0 0 16px;
  color:var(--eft-fg-dim,#a396b0);font-size:13px;
}
.woocommerce-account .eftl-ct-wrap .eft-rel__periodo select{
  flex:0 0 auto;width:auto;min-width:190px;
  margin:0;padding:8px 12px;border-radius:9px;
  border:1px solid var(--eft-line,#2e2542);background:#140f21;color:var(--eft-fg,#f2e9df);
  font-family:inherit;font-size:14px;
}

.eft-rel__numeros{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;
  margin:0 0 14px;padding:0;list-style:none;
}
.eft-rel__numeros li{
  display:grid;gap:3px;margin:0;padding:16px 18px;border-radius:12px;
  border:1px solid var(--eft-line,#2e2542);background:var(--eft-bg-soft,#141020);
}
.eft-rel__numeros strong{
  font-family:'El Messiri',sans-serif;font-weight:600;font-size:24px;
  line-height:1.15;color:#f6ece1;
}
.eft-rel__numeros span{color:var(--eft-fg-dim,#a396b0);font-size:12.5px;line-height:1.4;}

.eft-rel__detalhe{
  display:flex;flex-wrap:wrap;gap:10px 28px;margin:0 0 26px;padding:0;list-style:none;
}
.eft-rel__detalhe li{display:grid;gap:2px;margin:0;}
.eft-rel__detalhe span{color:var(--eft-fg-dim,#a396b0);font-size:12px;letter-spacing:.06em;text-transform:uppercase;}
.eft-rel__detalhe strong{color:var(--eft-fg,#f2e9df);font-size:16px;font-weight:600;}

.eft-rel__titulo{
  margin:0 0 12px;font-family:'El Messiri',sans-serif;font-weight:600;
  font-size:18px;line-height:1.2;color:#f6ece1;
}

/* o gráfico é CSS: uma coluna por mês, altura em porcentagem do maior mês.
   Biblioteca de gráfico para doze barras seria 60 KB por nada. */
.eft-rel__barras{
  display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);
  align-items:end;gap:10px;margin:0 0 26px;padding:16px 18px 12px;
  min-height:210px;border-radius:12px;
  border:1px solid var(--eft-line,#2e2542);background:var(--eft-bg-soft,#141020);
  list-style:none;
}
.eft-rel__barras li{
  display:grid;grid-template-rows:auto 1fr auto;align-items:end;
  gap:6px;margin:0;height:100%;text-align:center;
}
.eft-rel__valor{color:var(--eft-fg-dim,#a396b0);font-size:11.5px;line-height:1.3;}
.eft-rel__valor .amount{color:var(--eft-fg,#f2e9df);}
.eft-rel__barra{
  display:block;width:100%;align-self:end;border-radius:7px 7px 3px 3px;
  background:linear-gradient(180deg,var(--eft-brand-soft,#f3c88c),var(--eft-brand,#e8a54e));
}
.eft-rel__mes{color:var(--eft-fg-dim,#a396b0);font-size:12px;}

@media (max-width:700px){
  .eft-rel__numeros{grid-template-columns:repeat(2,minmax(0,1fr));}
  .eft-rel__valor{display:none;}
}

/* ---------------------------------------------------------------------------
   Devolução e troca

   Duas telas, a mesma marcação: quem comprou pede na tela do pedido
   (`woocommerce_order_details_after_order_table`) e a loja responde em
   /minha-conta/minha-loja/devolucoes/.
   ------------------------------------------------------------------------- */
.eft-rma{display:grid;gap:14px;margin-top:26px;}
.eft-rma h2{
  margin:0;font-family:'El Messiri',sans-serif;font-weight:600;
  font-size:21px;line-height:1.2;color:#f6ece1;
}
.eft-rma__nota{
  margin:0;color:var(--eft-fg-dim,#a396b0);font-size:14px;line-height:1.65;
}
.eft-rma__nota strong{color:var(--eft-fg,#f2e9df);}

.eft-rma__lista{list-style:none;display:grid;gap:12px;margin:0;padding:0;}
.eft-rma__caso{
  display:grid;gap:9px;margin:0;padding:16px 18px;border-radius:12px;
  border:1px solid var(--eft-line,#2e2542);background:var(--eft-bg-soft,#141020);
}
.eft-rma__caso.is-aberta{border-color:rgba(232,165,78,.4);}
.eft-rma__topo{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0;
  color:var(--eft-fg,#f2e9df);font-size:15px;
}
.eft-rma__motivo,.eft-rma__resposta{
  margin:0;color:var(--eft-fg,#f2e9df);font-size:14.5px;line-height:1.6;
}
.eft-rma__motivo span,.eft-rma__resposta span{
  display:block;color:var(--eft-fg-dim,#a396b0);font-size:12.5px;
}
.eft-rma__form{display:grid;gap:12px;margin:4px 0 0;}
.eft-rma__form .eft-loja__acoes{margin:0;}

@media (max-width:820px){
  .eft-grade,.eft-grade--4{grid-template-columns:repeat(2,minmax(0,1fr));}
  .eft-grade--6{grid-template-columns:repeat(4,minmax(0,1fr));}
  .eft-campo--3,.eft-campo--4,.eft-campo--6{grid-column:span 4;}
}
@media (max-width:560px){
  .eft-grade,.eft-grade--4,.eft-grade--6{grid-template-columns:minmax(0,1fr);}
  .eft-campo--2,.eft-campo--3,.eft-campo--4,.eft-campo--6{grid-column:1 / -1;}
  .eft-produto__atributo{grid-template-columns:minmax(0,1fr);}
  .eft-produto__fotos{grid-template-columns:minmax(0,1fr);}

  /* a tabela dos cupons vira pilha, com o rótulo de cada célula à esquerda */
  .eft-cupom__lista thead{
    position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;
  }
  .eft-cupom__lista tr{display:block;border-top:1px solid var(--eft-line,#2e2542);padding:6px 0;}
  .eft-cupom__lista td{
    display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;
    align-items:start;padding:5px 0;border:0;
  }
  .eft-cupom__lista td::before{
    content:attr(data-rotulo);color:var(--eft-fg-dim,#a396b0);font-size:12.5px;
  }
}

/* ---------------------------------------------------------------------------
   "Meus créditos" — /minha-conta/meus-creditos/

   A marcação é do ticketeria-eft (`templates/my-account/meus-creditos.php`) e o
   plugin não traz CSS de frontend, então quem desenha é só isto. Campos e botões já vêm da base desta página (`.form-row`,
   `.button`): aqui fica só o que é próprio da tela.
   ------------------------------------------------------------------------- */
.woocommerce-account .eftl-ct-wrap .ticketeria-creditos{display:grid;gap:16px;}
.woocommerce-account .eftl-ct-wrap .ticketeria-creditos > section{
  padding:20px;border-radius:var(--eft-radius,12px);
  background:var(--eft-bg-card,#1b1729);border:1px solid var(--eft-line,#2e2542);
}
.woocommerce-account .eftl-ct-wrap .ticketeria-creditos h3{
  margin:0 0 12px;font-family:'Raleway',system-ui,sans-serif !important;
  font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:500;
  color:var(--eft-fg-dim,#a396b0);
}
.ticketeria-creditos__nota{
  margin:12px 0 0;font-size:13px;line-height:1.55;color:var(--eft-fg-dim,#a396b0);
}
.ticketeria-creditos__vazio{margin:0;font-size:14px;line-height:1.55;color:var(--eft-fg-dim,#a396b0);}

/* o convite aberto pelo link do e-mail é a única coisa da tela que pede ação
   agora — e o único cartão com a borda da marca */
.woocommerce-account .eftl-ct-wrap .ticketeria-creditos__convite{
  border-color:rgba(232,165,78,.45);
  background:linear-gradient(180deg,rgba(232,165,78,.10),rgba(232,165,78,0) 60%),var(--eft-bg-card,#1b1729);
}
.ticketeria-creditos__convite-valor{
  display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0;
  font-size:13.5px;line-height:1.55;color:var(--eft-fg-dim,#a396b0);
}
.ticketeria-creditos__convite-valor strong{flex:none;font-size:26px;color:var(--eft-cyan,#3fd0d8);}
.ticketeria-creditos__convite-valor > span{flex:1;min-width:220px;}
.ticketeria-creditos__recado{
  margin:12px 0 0;padding:10px 14px;border-left:3px solid var(--eft-brand,#e8a54e);
  background:rgba(10,8,19,.4);font-size:14px;line-height:1.55;color:#e7dcf0;
}
.ticketeria-creditos__form-resgate{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0 0;
}
.ticketeria-creditos__prazo{font-size:12.5px;color:var(--eft-fg-dim,#a396b0);}

/* o saldo é um número só: vale em qualquer compra do site */
.ticketeria-creditos__saldo-valor{
  display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0;
  padding:12px 14px;border-radius:10px;
  background:var(--eft-bg-soft,#141020);border:1px solid var(--eft-line,#2e2542);
}
.ticketeria-creditos__saldo-valor strong{flex:none;font-size:26px;color:var(--eft-cyan,#3fd0d8);}
.ticketeria-creditos__saldo-valor span{font-size:14px;color:var(--eft-fg-dim,#a396b0);}

/* repasses: os recebidos para resgatar, os enviados à espera */
.ticketeria-creditos__lista{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.ticketeria-creditos__lista li{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding:12px 14px;border-radius:10px;
  background:var(--eft-bg-soft,#141020);border:1px solid var(--eft-line,#2e2542);
}
.ticketeria-creditos__lista form{margin:0 0 0 auto;}
.ticketeria-creditos__lista .ticketeria-creditos__valor{flex:none;font-size:17px;color:var(--eft-cyan,#3fd0d8);}
.ticketeria-creditos__quem{flex:1;min-width:200px;font-size:13.5px;line-height:1.5;color:var(--eft-fg-dim,#a396b0);}

/* cancelar um repasse é o caminho de volta, não a ação principal */
.woocommerce-account .eftl-ct-wrap button.ticketeria-creditos__cancelar[type=submit]{
  /* a base pinta o botão cheio com `color:… !important`; cancelar é o caminho
     de volta, então precisa da mesma força para voltar a ser fantasma */
  background:none;color:var(--eft-fg-dim,#a396b0) !important;
  border:1px solid var(--eft-line,#2e2542);box-shadow:none;font-weight:500;
}
.woocommerce-account .eftl-ct-wrap button.ticketeria-creditos__cancelar[type=submit]:hover{
  background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.5);color:#f6ece1 !important;
}

/* o formulário do repasse */
.woocommerce-account .eftl-ct-wrap .ticketeria-creditos__form{
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0 14px;margin:16px 0 0;
}
.woocommerce-account .eftl-ct-wrap .ticketeria-creditos__form > .form-row{grid-column:span 6;}
@media (min-width:640px){
  .woocommerce-account .eftl-ct-wrap .ticketeria-creditos__form > .form-row.ticketeria-creditos__campo--email{grid-column:span 4;}
  .woocommerce-account .eftl-ct-wrap .ticketeria-creditos__form > .form-row.ticketeria-creditos__campo--valor{grid-column:span 2;}
}

/* o campo do valor e o "Tudo", que preenche o saldo inteiro */
.ticketeria-creditos__valor-campo{display:flex;align-items:stretch;gap:8px;}
.woocommerce-account .eftl-ct-wrap .ticketeria-creditos__valor-campo input[type=text]{flex:1;min-width:0;}
.woocommerce-account .eftl-ct-wrap button.ticketeria-creditos__tudo{
  flex:none;padding:0 14px;border-radius:10px;cursor:pointer;
  background:none;color:var(--eft-fg-dim,#a396b0);
  border:1px solid var(--eft-line,#2e2542);
  font:inherit;font-size:13.5px;font-weight:500;line-height:1;
}
.woocommerce-account .eftl-ct-wrap button.ticketeria-creditos__tudo:hover{
  border-color:var(--eft-brand-soft,#f3c88c);color:#f6ece1;
}

/* histórico: a mesma linha do extrato do painel, com a edição em segunda voz */
.ticketeria-creditos__lancamentos{list-style:none;margin:0;padding:0;display:grid;gap:6px;}
.ticketeria-creditos__lancamentos li{
  display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:9px;
  background:var(--eft-bg-soft,#141020);border:1px solid var(--eft-line,#2e2542);
  font-size:13px;color:var(--eft-fg-dim,#a396b0);
}
.ticketeria-creditos__lancamentos .ticketeria-creditos__valor{flex:none;font-weight:600;color:#8fe0aa;}
.ticketeria-creditos__lancamentos .ticketeria-creditos__valor.is-uso{color:var(--eft-brand-soft,#f3c88c);}
.ticketeria-creditos__mov{flex:1;min-width:0;}
.ticketeria-creditos__mov em{font-style:normal;opacity:.75;}
.ticketeria-creditos__mov em::before{content:" · ";}
.ticketeria-creditos__lancamentos time{flex:none;font-size:12px;opacity:.8;}
@media (max-width:520px){
  .ticketeria-creditos__lancamentos li{flex-wrap:wrap;gap:4px 10px;}
  .ticketeria-creditos__mov{flex-basis:100%;order:3;}
  .ticketeria-creditos__lista form{margin-left:0;}
}

.eftl-ct-numeros{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;}
.eftl-ct-stat{
  display:grid;gap:3px;padding:12px 14px;border-radius:10px;
  background:var(--eft-bg-soft,#141020);border:1px solid var(--eft-line,#2e2542);
}
.eftl-ct-stat strong{font-size:20px;line-height:1.1;color:#f6ece1;}
.eftl-ct-stat span{font-size:12.5px;color:var(--eft-fg-dim,#a396b0);line-height:1.35;}

.eftl-ct-mini{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.eftl-ct-mini li{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:11px 13px;border-radius:10px;
  background:var(--eft-bg-soft,#141020);border:1px solid var(--eft-line,#2e2542);
}
.eftl-ct-mini li div{display:grid;gap:2px;}
.eftl-ct-mini li span{font-size:13px;color:var(--eft-fg-dim,#a396b0);}
.eftl-ct-mini__fim{justify-items:end;text-align:right;}

/* o selo de estado, compartilhado por pedidos e ingressos ------------------
   o Woo dá o estado em `wc-processing`, `wc-completed`… e o ticketeria
   imprime `badge badge-success`; os dois caem nas mesmas cores. */
.eftl-ct-estado,
.woocommerce-account .eftl-ct-wrap .badge{
  display:inline-block;padding:2px 9px;border-radius:999px;white-space:nowrap;
  font-size:12px;font-weight:500;
  background:rgba(63,208,216,.16);color:var(--eft-cyan,#3fd0d8);
}
.eftl-ct-estado--pending,
.eftl-ct-estado--on-hold,
.eftl-ct-estado--processing,
.woocommerce-account .eftl-ct-wrap .badge-warning,
.woocommerce-account .eftl-ct-wrap .badge-info{
  background:rgba(232,165,78,.16);color:var(--eft-brand-soft,#f3c88c);
}
.eftl-ct-estado--cancelled,
.eftl-ct-estado--failed,
.eftl-ct-estado--refunded,
.woocommerce-account .eftl-ct-wrap .badge-danger{
  background:rgba(239,68,68,.14);color:#f19393;
}
.woocommerce-account .eftl-ct-wrap .badge-secondary,
.woocommerce-account .eftl-ct-wrap .badge-evento-encerrado{
  background:rgba(124,92,255,.18);color:#b7a6ff;
}

/* ============================================================== pedidos */
.eftl-ct-pedidos{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.eftl-ct-pedido{
  background:var(--eft-bg-card,#1b1729);
  border:1px solid var(--eft-line,#2e2542);border-radius:var(--eft-radius,12px);
  overflow:hidden;
}
.eftl-ct-pedido details[open]{background:transparent;}
.eftl-ct-pedido summary{
  display:grid;align-items:center;gap:14px;
  grid-template-columns:150px minmax(0,1fr) auto auto 22px;
  padding:14px 16px;cursor:pointer;list-style:none;
}
.eftl-ct-pedido summary::-webkit-details-marker{display:none;}
.eftl-ct-pedido summary:hover{background:var(--eft-bg-soft,#141020);}
.eftl-ct-pedido__id{display:grid;gap:1px;}
.eftl-ct-pedido__id strong{color:#f6ece1;}
.eftl-ct-pedido__id span{font-size:12.5px;color:var(--eft-fg-dim,#a396b0);}
.eftl-ct-pedido__itens{
  font-size:14px;color:var(--eft-fg-dim,#a396b0);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.eftl-ct-pedido__total{font-weight:600;color:#f6ece1;}
.eftl-ct-pedido__total .woocommerce-Price-amount{color:inherit;}
/* o sinal do acordeão: `+` fechado, `−` aberto */
.eftl-ct-pedido__seta{color:var(--eft-fg-dim,#a396b0);font-size:18px;text-align:center;}
.eftl-ct-pedido__seta::after{content:'+';}
.eftl-ct-pedido details[open] .eftl-ct-pedido__seta::after{content:'\2212';}

.eftl-ct-pedido__corpo{
  display:grid;gap:16px;padding:4px 16px 18px;
  border-top:1px solid var(--eft-line,#2e2542);
}
.eftl-ct-pedido__cta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.eftl-ct-pedido table{width:100%;border-collapse:collapse;font-size:14.5px;margin:0;}
/* o tema pai desenha `td, th{border:1px solid …;padding:6px 12px}`: sem zerar a
   borda inteira sobram os filetes claros da esquerda, da direita e do topo, e a
   tabela do pedido vira uma grade */
.eftl-ct-pedido table th,
.eftl-ct-pedido table td{
  padding:9px 0;text-align:left;font-weight:400;
  border:0;border-bottom:1px solid var(--eft-line,#2e2542);
}
.eftl-ct-pedido table td{text-align:right;white-space:nowrap;}
.eftl-ct-pedido table em{font-style:normal;color:var(--eft-fg-dim,#a396b0);}
.eftl-ct-pedido__linha-total th,
.eftl-ct-pedido__linha-total td{font-weight:600;border-bottom:none;color:#f6ece1;}
.eftl-ct-pedido table tr:last-child th,
.eftl-ct-pedido table tr:last-child td{border-bottom:none;}
.eftl-ct-pedido__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.eftl-ct-pedido__grid h4{
  margin:0 0 5px;font-family:'Raleway',system-ui,sans-serif !important;
  font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;
  color:var(--eft-fg-dim,#a396b0);font-weight:500;
}
.eftl-ct-pedido__grid p,
.eftl-ct-pedido__grid address{margin:0;font-size:14px;line-height:1.7;font-style:normal;color:var(--eft-fg-dim,#a396b0);}
.eftl-ct-pedido__vagas{list-style:none;margin:0;padding:0;display:grid;gap:6px;}
.eftl-ct-pedido__vagas li{display:grid;gap:1px;font-size:14px;}
.eftl-ct-pedido__vagas span{font-size:12.5px;color:var(--eft-fg-dim,#a396b0);}
.eftl-ct-pedido__acoes{display:flex;flex-wrap:wrap;gap:8px;}

.eftl-ct-paginacao{display:flex;gap:8px;justify-content:center;}

/* ------ um pedido só (ver-pedido): as tabelas que o Woo imprime ---------- */
.woocommerce-account .eftl-ct-wrap .woocommerce-order-details,
.woocommerce-account .eftl-ct-wrap .woocommerce-customer-details{
  display:grid;gap:12px;padding:20px;margin:0;
  background:var(--eft-bg-card,#1b1729);
  border:1px solid var(--eft-line,#2e2542);border-radius:var(--eft-radius,12px);
}
.woocommerce-account .eftl-ct-wrap .woocommerce-order-details h2,
.woocommerce-account .eftl-ct-wrap .woocommerce-customer-details h2{
  margin:0;font-family:'Raleway',system-ui,sans-serif !important;
  font-size:13px;text-transform:uppercase;letter-spacing:.08em;
  color:var(--eft-fg-dim,#a396b0);font-weight:500;
}
.woocommerce-account .eftl-ct-wrap table.shop_table{
  width:100%;border-collapse:collapse;border:none;border-radius:0;margin:0;
  font-size:14.5px;
}
.woocommerce-account .eftl-ct-wrap table.shop_table th,
.woocommerce-account .eftl-ct-wrap table.shop_table td{
  padding:9px 0;text-align:left;font-weight:400;background:transparent;
  border:none;border-bottom:1px solid var(--eft-line,#2e2542);color:inherit;
}
.woocommerce-account .eftl-ct-wrap table.shop_table td{text-align:right;}
.woocommerce-account .eftl-ct-wrap table.shop_table tfoot th{color:var(--eft-fg-dim,#a396b0);}
.woocommerce-account .eftl-ct-wrap table.shop_table tfoot tr:last-child th,
.woocommerce-account .eftl-ct-wrap table.shop_table tfoot tr:last-child td{
  font-weight:600;color:#f6ece1;border-bottom:none;
}
.woocommerce-account .eftl-ct-wrap .woocommerce-customer-details address{
  font-style:normal;padding:0;border:none;border-radius:0;
  color:var(--eft-fg-dim,#a396b0);line-height:1.7;
}
.woocommerce-account .eftl-ct-wrap mark{background:transparent;color:var(--eft-brand-soft,#f3c88c);}
.woocommerce-account .eftl-ct-wrap .woocommerce-OrderUpdates{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.woocommerce-account .eftl-ct-wrap .woocommerce-OrderUpdate{
  padding:12px 14px;border-radius:10px;
  background:var(--eft-bg-soft,#141020);border:1px solid var(--eft-line,#2e2542);
}
.woocommerce-account .eftl-ct-wrap .woocommerce-OrderUpdate-meta{
  margin:0 0 4px;font-size:12.5px;color:var(--eft-fg-dim,#a396b0);
}

/* ========================================== endereço, conta e formulários */
.woocommerce-account .eftl-ct-wrap form{margin:0;}
.woocommerce-account .eftl-ct-wrap fieldset{
  margin:0;padding:16px 0 0;border:none;border-top:1px solid var(--eft-line,#2e2542);
}
.woocommerce-account .eftl-ct-wrap legend{
  padding:0;font-size:13px;text-transform:uppercase;letter-spacing:.08em;
  color:var(--eft-fg-dim,#a396b0);
}
.woocommerce-account .eftl-ct-wrap .form-row{
  display:grid;gap:6px;margin:0 0 14px;padding:0;align-content:start;
}
.woocommerce-account .eftl-ct-wrap .form-row-first,
.woocommerce-account .eftl-ct-wrap .form-row-last{width:auto;float:none;}
.woocommerce-account .eftl-ct-wrap .form-row label{
  display:block;margin:0;font-size:13px;line-height:1.4;letter-spacing:.02em;
  color:var(--eft-fg-dim,#a396b0);font-weight:400;
}
.woocommerce-account .eftl-ct-wrap .form-row label .required,
.woocommerce-account .eftl-ct-wrap .form-row label abbr.required{
  color:var(--eft-brand,#e8a54e);border:none;text-decoration:none;
}
.woocommerce-account .eftl-ct-wrap .woocommerce-input-wrapper{display:block;width:100%;}
.woocommerce-account .eftl-ct-wrap .clear{display:none;}

.woocommerce-account .eftl-ct-wrap input[type=text],
.woocommerce-account .eftl-ct-wrap input[type=email],
.woocommerce-account .eftl-ct-wrap input[type=tel],
.woocommerce-account .eftl-ct-wrap input[type=number],
.woocommerce-account .eftl-ct-wrap input[type=password],
.woocommerce-account .eftl-ct-wrap input.input-text,
.woocommerce-account .eftl-ct-wrap textarea,
.woocommerce-account .eftl-ct-wrap select{
  width:100%;box-sizing:border-box;padding:10px 12px;border-radius:9px;
  border:1px solid var(--eft-line,#2e2542);
  background:var(--eft-bg-soft,#141020);color:var(--eft-fg,#f2e9df);
  font:inherit;font-size:15px;line-height:1.4;
  transition:border-color .15s,box-shadow .15s;
}
.woocommerce-account .eftl-ct-wrap select{
  appearance:none;-webkit-appearance:none;padding-right:34px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23a396b0' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;
}
.woocommerce-account .eftl-ct-wrap input:focus,
.woocommerce-account .eftl-ct-wrap textarea:focus,
.woocommerce-account .eftl-ct-wrap select:focus{
  outline:none;border-color:var(--eft-brand-soft,#f3c88c);
  box-shadow:0 0 0 3px rgba(232,165,78,.14);
}
.woocommerce-account .eftl-ct-wrap input::placeholder,
.woocommerce-account .eftl-ct-wrap textarea::placeholder{color:#6f6480;}

/* o preenchimento automático do Chrome pinta o campo de azul-claro com texto
   escuro e ignora o `background` — só o box-shadow interno o cobre */
.woocommerce-account .eftl-ct-wrap input:-webkit-autofill,
.woocommerce-account .eftl-ct-wrap input:-webkit-autofill:hover,
.woocommerce-account .eftl-ct-wrap input:-webkit-autofill:focus,
.woocommerce-account .eftl-ct-wrap textarea:-webkit-autofill,
.woocommerce-account .eftl-ct-wrap select:-webkit-autofill{
  -webkit-text-fill-color:var(--eft-fg,#f2e9df);
  -webkit-box-shadow:0 0 0 1000px var(--eft-bg-soft,#141020) inset;
  box-shadow:0 0 0 1000px var(--eft-bg-soft,#141020) inset;
  caret-color:var(--eft-fg,#f2e9df);
  border-color:var(--eft-line,#2e2542);
  transition:background-color 9999s ease-out 0s;
}

.woocommerce-account .eftl-ct-wrap .woocommerce-invalid input.input-text,
.woocommerce-account .eftl-ct-wrap .woocommerce-invalid select{border-color:#ef4444;}
.woocommerce-account .eftl-ct-wrap span.description,
.woocommerce-account .eftl-ct-wrap span em,
.woocommerce-account .eftl-ct-wrap .form-row .description{
  font-style:normal;font-size:12.5px;color:var(--eft-fg-dim,#a396b0);
}
.woocommerce-account .eftl-ct-wrap .woocommerce-form__label-for-checkbox{
  display:flex;align-items:flex-start;gap:9px;font-size:14px;
}
.woocommerce-account .eftl-ct-wrap .woocommerce-form__input-checkbox{
  width:auto;margin:3px 0 0;accent-color:var(--eft-brand,#e8a54e);
}
.woocommerce-account .eftl-ct-wrap .select2-container--default .select2-selection--single{
  height:auto;padding:10px 12px;border-radius:9px;
  border:1px solid var(--eft-line,#2e2542);background:var(--eft-bg-soft,#141020);
}
.woocommerce-account .eftl-ct-wrap .select2-container--default .select2-selection--single .select2-selection__rendered{
  padding:0;line-height:1.4;color:var(--eft-fg,#f2e9df);font-size:15px;
}
.woocommerce-account .eftl-ct-wrap .select2-container--default .select2-selection--single .select2-selection__arrow{top:9px;right:8px;}

/* o woocommerce-extra-checkout-fields-for-brazil marca quase todo campo de
   endereço como `form-row-wide`: sem grade a etapa vira uma coluna só de
   catorze linhas. Seis colunas, e cada campo pede o seu `span` pelo id — a
   ordem em que o plugin imprime já é a das linhas, então o fluxo resolve. */
@media (min-width:760px){
  .woocommerce-account .eftl-ct-wrap .woocommerce-address-fields__field-wrapper,
  .woocommerce-account .eftl-ct-wrap .eftl-ct-campos{
    display:grid;grid-template-columns:repeat(6,1fr);gap:0 16px;
  }
  .woocommerce-account .eftl-ct-wrap .woocommerce-address-fields__field-wrapper > .form-row,
  .woocommerce-account .eftl-ct-wrap .eftl-ct-campos > .form-row{grid-column:span 6;}
  .woocommerce-account .eftl-ct-wrap #billing_first_name_field,
  .woocommerce-account .eftl-ct-wrap #billing_last_name_field,
  .woocommerce-account .eftl-ct-wrap #billing_cpf_field,
  .woocommerce-account .eftl-ct-wrap #billing_country_field,
  .woocommerce-account .eftl-ct-wrap #billing_phone_field,
  .woocommerce-account .eftl-ct-wrap #billing_cellphone_field,
  .woocommerce-account .eftl-ct-wrap #account_first_name_field,
  .woocommerce-account .eftl-ct-wrap #account_last_name_field{grid-column:span 3;}
  .woocommerce-account .eftl-ct-wrap #billing_postcode_field,
  .woocommerce-account .eftl-ct-wrap #billing_number_field,
  .woocommerce-account .eftl-ct-wrap #billing_neighborhood_field,
  .woocommerce-account .eftl-ct-wrap #billing_city_field,
  .woocommerce-account .eftl-ct-wrap #billing_state_field{grid-column:span 2;}
  .woocommerce-account .eftl-ct-wrap #billing_address_1_field,
  .woocommerce-account .eftl-ct-wrap #billing_address_2_field{grid-column:span 4;}
  /* o complemento é o único campo sem rótulo à vista (o Woo o esconde quando
     há placeholder): sem isto sobe e desalinha do "Número" ao lado */
  .woocommerce-account .eftl-ct-wrap #billing_address_2_field{align-self:end;}
}

.eftl-ct-endereco{margin:0;font-style:normal;font-size:14.5px;line-height:1.8;color:var(--eft-fg-dim,#a396b0);}
.eftl-ct-lista{margin:0;display:grid;gap:9px;}
.eftl-ct-lista > div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;}
.eftl-ct-lista dt{font-size:13px;color:var(--eft-fg-dim,#a396b0);}
.eftl-ct-lista dd{margin:0;font-size:14.5px;}
.eftl-ct-acoes{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;}

/* ==================================================== meus ingressos */
/* A marcação vem da sobrescrita do template do ticketeria-eft
   (`themes/eft/ticketeria-eft/my-account/meus-ingressos.php`), no desenho do
   protótipo; o CSS do plugin sai da fila em `EFT_Conta`. Algumas classes dele
   continuam no HTML porque o `my-account.js` depende delas — em especial as
   `.info-row .label/.value`, de onde o `loadTicketData()` lê os dados do
   encontreiro. Os rótulos ficam no HTML e somem só aqui. */

.eftl-ing{display:grid;gap:16px;}
/* as abas e o filtro da gaveta escondem com o atributo `hidden`, e tanto a
   grade dos cartões quanto o aviso do Woo têm `display` próprio */
.woocommerce-account .eftl-ct-wrap [hidden]{display:none !important;}

/* abas ---------------------------------------------------------------- */
.eftl-ct-abas{display:flex;gap:6px;flex-wrap:wrap;}
.eftl-ct-abas button{
  display:inline-flex;align-items:center;gap:7px;
  padding:9px 15px;border-radius:999px;cursor:pointer;
  background:var(--eft-bg-card,#1b1729);color:var(--eft-fg-dim,#a396b0);
  border:1px solid var(--eft-line,#2e2542);
  font:inherit;font-size:15px;line-height:1.2;
  transition:color .14s,border-color .14s,background .14s;
}
.eftl-ct-abas button:hover{color:var(--eft-fg,#f2e9df);border-color:#46395f;}
.eftl-ct-abas button.is-ativo{color:#f6ece1;border-color:var(--eft-brand-soft,#f3c88c);background:#251d33;}
.eftl-ct-abas button span{
  padding:0 7px;border-radius:999px;background:var(--eft-bg,#0a0813);font-size:12px;
}
.eftl-ct-abas--mini button{padding:7px 13px;font-size:14.5px;}

.ticketeria-tickets-grid{
  display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
}

/* cartão -------------------------------------------------------------- */
.woocommerce-account .eftl-ct-wrap .ticket-card{
  display:grid;gap:13px;align-content:start;padding:18px;
  background:var(--eft-bg-card,#1b1729);
  border:1px solid var(--eft-line,#2e2542);border-radius:var(--eft-radius,12px);
  border-top:3px solid var(--eft-cyan,#3fd0d8);
  box-shadow:none;
}
.woocommerce-account .eftl-ct-wrap .ticket-status-wc-pending,
.woocommerce-account .eftl-ct-wrap .ticket-status-wc-on-hold{border-top-color:var(--eft-brand,#e8a54e);}
.woocommerce-account .eftl-ct-wrap .ticket-status-wc-cancelled,
.woocommerce-account .eftl-ct-wrap .ticket-status-wc-failed{border-top-color:#ef4444;}
.woocommerce-account .eftl-ct-wrap .ticket-evento-finalizado{
  opacity:.72;filter:none;border-top-color:#4b3f74;
}

.eftl-ing__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.eftl-ing__evento{margin:0;font-size:15.5px;font-weight:600;line-height:1.3;color:#f6ece1;}
.eftl-ing__periodo{margin:4px 0 0;font-size:13px;color:var(--eft-fg-dim,#a396b0);}
.woocommerce-account .eftl-ct-wrap .ticket-id{
  flex:none;padding:2px 9px;border-radius:999px;
  background:var(--eft-bg,#0a0813);border:1px solid var(--eft-line,#2e2542);
  font-size:12.5px;color:var(--eft-fg-dim,#a396b0);
}

.eftl-ing__rotulo{
  display:block;font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;
  color:var(--eft-fg-dim,#a396b0);
}
.eftl-ing__vaga{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:12px 13px;border-radius:10px;
  background:var(--eft-bg-soft,#141020);border:1px solid var(--eft-line,#2e2542);
}
.eftl-ing__vaga strong{display:block;margin-top:2px;font-size:16px;color:#f6ece1;}
.eftl-ing__cat{font-size:13px;color:var(--eft-fg-dim,#a396b0);}
.eftl-ing__valor{flex:none;font-size:14.5px;color:var(--eft-fg-dim,#a396b0);}
.eftl-ing__valor .woocommerce-Price-amount{color:inherit;}

/* encontreiro: o rótulo de cada linha continua no HTML para o plugin ler */
.woocommerce-account .eftl-ct-wrap .eftl-ing__quem{
  display:grid;gap:2px;padding:0;background:none;border:none;
}
.woocommerce-account .eftl-ct-wrap .eftl-ing__quem .info-row{
  display:block;padding:0;border:none;
  font-size:13.5px;line-height:1.5;color:var(--eft-fg-dim,#a396b0);
}
.woocommerce-account .eftl-ct-wrap .eftl-ing__quem .info-row .label{display:none;}
.woocommerce-account .eftl-ct-wrap .eftl-ing__quem .info-row .value{color:inherit;word-break:break-word;}
.woocommerce-account .eftl-ct-wrap .eftl-ing__quem .eftl-ing__nome{margin-top:2px;}
.woocommerce-account .eftl-ct-wrap .eftl-ing__quem .eftl-ing__nome .value{
  font-size:15px;font-weight:600;color:#f6ece1;
}
/* sem encontreiro: some a lista vazia e fica só o recado */
.eftl-ing__pendente{margin:4px 0 0;font-size:14px;color:var(--eft-brand-soft,#f3c88c);}
.eftl-ing__pendente ~ .info-row{display:none !important;}
.eftl-link{
  background:none;border:none;padding:0;cursor:pointer;font:inherit;
  color:var(--eft-brand-soft,#f3c88c);text-decoration:underline;
}
.eftl-link:hover{color:var(--eft-fg,#f2e9df);}

.woocommerce-account .eftl-ct-wrap .eftl-ing__selos{display:flex;flex-wrap:wrap;gap:6px;}
.eftl-ing__historico{display:grid;gap:8px;justify-items:start;}
.woocommerce-account .eftl-ct-wrap .toggle-history-btn{
  background:none;border:none;padding:0;cursor:pointer;font:inherit;font-size:14px;
  color:var(--eft-brand-soft,#f3c88c);text-decoration:underline;
}
.woocommerce-account .eftl-ct-wrap .upgrade-history-list{
  width:100%;display:grid;gap:8px;padding:10px 12px;border-radius:10px;
  background:var(--eft-bg-soft,#141020);border:1px solid var(--eft-line,#2e2542);
}
.woocommerce-account .eftl-ct-wrap .history-item small{font-size:12.5px;color:var(--eft-fg-dim,#a396b0);}
.woocommerce-account .eftl-ct-wrap .history-item strong{color:var(--eft-fg,#f2e9df);}
.woocommerce-account .eftl-ct-wrap .ticket-actions{
  display:flex;flex-wrap:wrap;gap:8px;padding:0;border:none;background:none;
}
.eftl-ing__nota{margin:0;font-size:13px;color:var(--eft-fg-dim,#a396b0);}

/* ===========================================================================
   Gaveta — "trocar de vaga" e "editar / transferir".

   No protótipo os dois painéis entram pela direita, e não como caixa no meio
   da tela. O `my-account.js` do plugin abre e fecha com `fadeIn`/`fadeOut` no
   `#ticketeria-*-modal` (display + opacity) e fecha no clique do
   `.modal-overlay`/`.modal-close`: tudo isso continua valendo — o que muda é
   só onde a `.modal-content` fica. A entrada lateral é uma animação da própria
   `.modal-content`, que recomeça toda vez que o display volta.
   =========================================================================== */
.woocommerce-account .eftl-ct-wrap .ticketeria-modal{
  position:fixed;inset:0;z-index:120;
}
.woocommerce-account .eftl-ct-wrap .modal-overlay{
  position:absolute;inset:0;background:rgba(6,4,12,.72);backdrop-filter:blur(2px);
}
.woocommerce-account .eftl-ct-wrap .modal-content{
  position:absolute;top:0;right:0;bottom:0;
  width:min(520px,100vw);max-height:none;
  display:flex;flex-direction:column;gap:0;padding:0;border-radius:0;
  background:var(--eft-bg,#0a0813);
  border:none;border-left:1px solid var(--eft-line,#2e2542);
  box-shadow:-24px 0 60px rgba(0,0,0,.55);
  animation:eftl-gaveta-entra .26s cubic-bezier(.22,1,.36,1);
}
@keyframes eftl-gaveta-entra{from{transform:translateX(100%);}}

.woocommerce-account .eftl-ct-wrap .modal-header{
  flex:none;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
  padding:20px;border-bottom:1px solid var(--eft-line,#2e2542);background:none;
}
.eftl-gaveta__eyebrow{
  margin:0 0 4px;font-size:12px;text-transform:uppercase;letter-spacing:.14em;
  color:var(--eft-brand,#e8a54e);
}
.woocommerce-account .eftl-ct-wrap .modal-header h3{margin:0;font-size:22px;line-height:1.15;color:#f6ece1;}
.woocommerce-account .eftl-ct-wrap .modal-header .modal-close{
  flex:none;width:36px;height:36px;padding:0;border-radius:10px;
  background:transparent;color:var(--eft-fg-dim,#a396b0) !important;
  border:1px solid var(--eft-line,#2e2542);font-size:20px;line-height:1;cursor:pointer;
}
/* o formulário da transferência é filho direto da gaveta: precisa esticar */
.woocommerce-account .eftl-ct-wrap .ticketeria-modal form{
  display:flex;flex-direction:column;flex:1;min-height:0;
}
.woocommerce-account .eftl-ct-wrap .modal-body{
  flex:1;min-height:0;overflow-y:auto;display:grid;gap:14px;align-content:start;padding:20px;
}
.woocommerce-account .eftl-ct-wrap .modal-footer{
  flex:none;display:flex;justify-content:flex-end;align-items:center;gap:8px;
  padding:16px 20px;border-top:1px solid var(--eft-line,#2e2542);
  background:var(--eft-bg-soft,#141020);
}
.eftl-gaveta__rodape{margin:0;width:100%;text-align:center;font-size:14px;color:var(--eft-fg-dim,#a396b0);}
.eftl-gaveta__texto{margin:0;font-size:14.5px;line-height:1.6;color:var(--eft-fg-dim,#a396b0);}

.woocommerce-account .eftl-ct-wrap .current-ticket-info{
  display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
  padding:13px 14px;border-radius:10px;
  background:var(--eft-bg-card,#1b1729) !important;
  border:1px solid var(--eft-line,#2e2542) !important;border-left:1px solid var(--eft-line,#2e2542) !important;
  font-size:14px;line-height:1.55;
}
.woocommerce-account .eftl-ct-wrap .current-ticket-info strong{display:block;margin-top:3px;font-size:15.5px;color:#f6ece1;}
.eftl-gaveta__credito{text-align:right;}
.eftl-gaveta__credito strong{color:var(--eft-cyan,#3fd0d8) !important;}

.woocommerce-account .eftl-ct-wrap .info-banner{
  display:flex;align-items:flex-start;gap:10px;
  padding:13px 14px;border-radius:10px;
  background:var(--eft-bg-soft,#141020) !important;
  border:1px solid var(--eft-line,#2e2542) !important;
  border-left:3px solid var(--eft-violet,#7c5cff) !important;
}
.woocommerce-account .eftl-ct-wrap .info-banner p{
  margin:0;color:var(--eft-fg-dim,#a396b0) !important;font-size:14px;line-height:1.55;
}
.woocommerce-account .eftl-ct-wrap .info-banner strong{color:var(--eft-fg,#f2e9df);}

.eftl-gaveta__filtros{display:grid;gap:10px;}
.eftl-gaveta__busca{
  width:100%;box-sizing:border-box;padding:9px 12px;border-radius:9px;
  background:var(--eft-bg-card,#1b1729);color:var(--eft-fg,#f2e9df);
  border:1px solid var(--eft-line,#2e2542);font:inherit;font-size:14.5px;
}
.eftl-gaveta__check label{display:flex;align-items:flex-start;gap:9px;font-size:14px;line-height:1.5;}
.eftl-gaveta__check input{width:auto;margin:3px 0 0;accent-color:var(--eft-brand,#e8a54e);}

/* opções de troca — o HTML de cada uma vem do my-account.js do plugin */
.woocommerce-account .eftl-ct-wrap .upgrade-options{display:grid;gap:8px;}
.woocommerce-account .eftl-ct-wrap .upgrade-option-card{
  display:grid;gap:6px;padding:13px 14px;border-radius:10px;cursor:pointer;
  background:var(--eft-bg-card,#1b1729);border:1px solid var(--eft-line,#2e2542);
  transition:border-color .14s,background .14s;
}
.woocommerce-account .eftl-ct-wrap .upgrade-option-card:hover{background:#221c33;}
.woocommerce-account .eftl-ct-wrap .upgrade-option-card.selected{border-color:var(--eft-brand-soft,#f3c88c);background:#251d33;}
/* o miolo do cartão é redesenhado pelo conta.js: nome e selo em cima,
   categoria e ala, descrição da categoria, e o preço com as vagas livres */
.eftl-vaga__topo{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.woocommerce-account .eftl-ct-wrap .upgrade-option-name{font-size:15.5px;font-weight:600;color:#f6ece1;}
.eftl-vaga__cat{font-size:13px;color:var(--eft-fg-dim,#a396b0);}
.eftl-vaga__desc{
  margin:0;font-size:12.5px;line-height:1.45;color:var(--eft-fg-dim,#a396b0);opacity:.85;
}
.eftl-vaga__fim{
  display:flex;align-items:baseline;justify-content:space-between;gap:10px;
  margin-top:3px;font-size:13px;color:var(--eft-fg-dim,#a396b0);
}
.eftl-vaga__livre{font-style:normal;}
.eftl-vaga__livre.is-pouca{color:var(--eft-brand,#e8a54e);}
.woocommerce-account .eftl-ct-wrap .free-upgrade-badge,
.eftl-vaga__dif{
  flex:none;padding:2px 9px;border-radius:999px;font-size:12px;white-space:nowrap;
  background:rgba(63,208,216,.16);color:var(--eft-cyan,#3fd0d8);
}
.eftl-vaga__dif{background:rgba(232,165,78,.16);color:var(--eft-brand-soft,#f3c88c);}
/* vaga mais barata: a diferença volta como crédito de troca */
.eftl-vaga__credito{
  flex:none;padding:2px 9px;border-radius:999px;font-size:12px;white-space:nowrap;
  background:rgba(126,217,150,.14);color:#8fe0aa;
}
.eftl-gaveta__saldo{
  margin:0;padding:9px 12px;border-radius:9px;font-size:13px;line-height:1.5;
  background:rgba(63,208,216,.10);color:var(--eft-fg-dim,#a396b0);
}
.eftl-gaveta__saldo strong{color:var(--eft-cyan,#3fd0d8);}

.eftl-vaga__junto{
  align-self:start;padding:2px 9px;border-radius:999px;font-size:12px;
  background:rgba(232,165,78,.12);color:var(--eft-brand-soft,#f3c88c);
}

/* o resumo e o botão de confirmar, no rodapé da gaveta */
.eftl-gaveta__resumo{display:grid;gap:2px;margin-right:auto;font-size:14px;color:var(--eft-fg-dim,#a396b0);}
.eftl-gaveta__resumo strong{color:#f6ece1;font-size:15px;}

/* a cama de casal vai com as duas vagas: o rodapé cresce e pergunta quem
   ocupa a outra antes de mostrar o valor */
.woocommerce-account .eftl-ct-wrap .modal-footer:has(.eftl-gaveta__saldo),
.woocommerce-account .eftl-ct-wrap .modal-footer:has(.eftl-gaveta__par){
  /* o rodapé é `justify-content:flex-end` para o botão: em grid isso alinha a
     COLUNA, que nasce do tamanho do conteúdo — sem a coluna explícita o bloco
     encolhe e cola à direita */
  display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch;
  justify-items:stretch;gap:14px;
}
.eftl-gaveta__acoes{display:flex;justify-content:flex-end;align-items:center;gap:8px;width:100%;}
.eftl-gaveta__par{display:grid;gap:8px;}
.eftl-gaveta__par-titulo{font-size:13.5px;color:#f6ece1;}
.eftl-gaveta__par-opcoes{display:grid;gap:4px;max-height:164px;overflow-y:auto;}
.eftl-gaveta__par-op{
  display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:9px;
  border:1px solid var(--eft-line,#2e2542);background:var(--eft-bg-card,#1b1729);
  font-size:13px;color:var(--eft-fg-dim,#a396b0);cursor:pointer;
}
.eftl-gaveta__par-op:has(input:checked){
  border-color:var(--eft-brand-soft,#f3c88c);color:#f6ece1;background:#251d33;
}
.eftl-gaveta__par-op input{flex:none;margin:0;accent-color:var(--eft-brand,#e8a54e);}
.eftl-gaveta__par-vazio{
  margin:0;font-size:12.5px;line-height:1.5;color:var(--eft-fg-dim,#a396b0);opacity:.85;
}

/* o cartão do plugin, quando o conta.js não roda (ou até ele rodar) */
.woocommerce-account .eftl-ct-wrap .upgrade-option-price{
  display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
}
.woocommerce-account .eftl-ct-wrap .price-info{display:grid;gap:2px;font-size:13.5px;color:var(--eft-fg-dim,#a396b0);}
.woocommerce-account .eftl-ct-wrap .price-info strong{color:var(--eft-fg,#f2e9df);}
.woocommerce-account .eftl-ct-wrap .credit-badge{color:var(--eft-cyan,#3fd0d8);}
.woocommerce-account .eftl-ct-wrap .to-pay-badge{color:var(--eft-brand-soft,#f3c88c);}
.woocommerce-account .eftl-ct-wrap .stock-info{font-size:12.5px;color:var(--eft-fg-dim,#a396b0);}
.woocommerce-account .eftl-ct-wrap .stock-info.stock-low{color:var(--eft-brand,#e8a54e);}
.woocommerce-account .eftl-ct-wrap .upgrade-option-actions{display:flex;justify-content:flex-end;}
.woocommerce-account .eftl-ct-wrap .confirm-upgrade-btn{
  padding:10px 18px;border-radius:999px;cursor:pointer;font:inherit;font-size:14.5px;font-weight:600;
  background:linear-gradient(135deg,var(--eft-brand-soft,#f3c88c),var(--eft-brand,#e8a54e));
  color:#2a1602;border:1px solid transparent;
}
.woocommerce-account .eftl-ct-wrap .modal-body .form-row label{color:var(--eft-fg-dim,#a396b0);}
.woocommerce-account .eftl-ct-wrap .loading,
.woocommerce-account .eftl-ct-wrap .modal-body .error,
.woocommerce-account .eftl-ct-wrap .modal-body .info,
.eftl-gaveta__vazio{font-size:14px;color:var(--eft-fg-dim,#a396b0);}

/* ===========================================================================
   Pix do Asaas no "ver pedido".

   O gateway imprime no `woocommerce_view_order` o mesmo bloco da página de
   pedido recebido: `<ul class="order_details">` com o QR em base64, a lista de
   instruções ao lado (`.asaas-pix-instructions`) e o Copia e Cola
   (`.asaas-pix-copy-to-clipboard`). O CSS do plugin (`woo-asaas-store`)
   continua na fila — o botão de copiar depende do JS do mesmo par —, então as
   regras daqui levam uma classe a mais para ganhar dele. Sem isso o parágrafo
   do Copia e Cola (`height:40px;overflow-x:scroll`, numa linha só) e a lista de
   instruções estouram a largura da coluna e a página inteira ganha rolagem
   horizontal.
   =========================================================================== */
.woocommerce-account .eftl-ct-wrap .woocommerce-order-details ul.order_details{
  list-style:none;margin:0;padding:0;display:grid;gap:18px;
  font-size:15px;line-height:1.6;color:var(--eft-fg,#f2e9df);
}
.woocommerce-account .eftl-ct-wrap .woocommerce-order-details ul.order_details>li{
  margin:0;padding:0;border:none;min-width:0;
}
.woocommerce-account .eftl-ct-wrap .asaas-pix-instructions{
  /* o plugin usa `column-reverse` abaixo de 992px, o que joga o QR para baixo
     da lista; aqui a ordem é sempre QR primeiro, com quebra no celular */
  display:flex;flex-direction:row;flex-wrap:wrap;gap:20px;align-items:flex-start;
  padding:16px;border-radius:11px;
  border:1px solid var(--eft-line,#2e2542);background:var(--eft-bg-soft,#141020);
}
/* o QR é uma imagem preta sobre branco: precisa do fundo claro para ler */
.woocommerce-account .eftl-ct-wrap .asaas-pix-instructions .js-pix-qr-code{
  flex:none;width:210px;height:210px;
  padding:9px;border-radius:10px;background:#fff;
}
.woocommerce-account .eftl-ct-wrap .asaas-pix-instructions__list{
  flex:1 1 260px;min-width:0;margin:0;padding:0 0 0 20px;
  display:grid;gap:7px;
  color:var(--eft-fg-dim,#a396b0);font-size:14.5px;line-height:1.6;
}
/* o tema pai zera o marcador de toda `li`, e num `<ol>` em grid o número, se
   volta, sai na ponta direita: aqui ele é numeral e fica dentro da caixa */
.woocommerce-account .eftl-ct-wrap .asaas-pix-instructions__list li{
  margin:0;padding:0;list-style-type:decimal;list-style-position:inside;line-height:1.6;
}
.woocommerce-account .eftl-ct-wrap .asaas-pix-instructions__list li::marker{
  color:var(--eft-brand,#e8a54e);font-weight:600;
}
.woocommerce-account .eftl-ct-wrap .asaas-pix-copy-to-clipboard{min-width:0;}
.woocommerce-account .eftl-ct-wrap .asaas-pix-copy-to-clipboard>div{display:grid;gap:12px;min-width:0;}
/* o plugin fixa `height:40px;overflow-x:scroll` neste parágrafo */
.woocommerce-account .eftl-ct-wrap .asaas-pix-copy-to-clipboard p{
  height:auto;margin:0;padding:11px 13px;border-radius:10px;max-width:100%;
  border:1px solid var(--eft-line,#2e2542);background:var(--eft-bg-soft,#141020);
  color:var(--eft-fg-dim,#a396b0);
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.5;
  white-space:nowrap;overflow-x:auto;
}
.woocommerce-account .eftl-ct-wrap .asaas-pix-copy-to-clipboard button.button{
  justify-self:start;display:inline-block;width:auto;margin:0;
  padding:11px 20px;border-radius:999px;border:1px solid transparent;cursor:pointer;
  background:linear-gradient(135deg,var(--eft-brand-soft,#f3c88c),var(--eft-brand,#e8a54e));
  color:#2a1602;font:inherit;font-size:15px;font-weight:600;line-height:1.2;
}
/* o boleto usa o mesmo bloco, só que como link */
.woocommerce-account .eftl-ct-wrap .woocommerce-order-details__asaas-ticket-button{
  display:inline-block;margin:8px 0 0;padding:11px 20px;border-radius:999px;
  border:1px solid var(--eft-line,#2e2542);background:var(--eft-bg-soft,#141020);
  color:var(--eft-fg,#f2e9df);text-decoration:none;font-size:14.5px;
}

/* ================================================ entrar e criar conta */
/* sem sessão, a /minha-conta/ é o formulário de login (e o de cadastro, se a
   loja aceitar). O Woo os põe em duas colunas de 48% com float. */
.woocommerce-account .eftl-ct-wrap #customer_login{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;
  max-width:900px;margin:0 auto;
}
/* o `clearfix` do Woo (`.col2-set::before/::after{content:" ";display:table}`)
   vira DOIS itens anônimos da grade: o ::before toma a primeira célula e joga o
   "Entrar" para a segunda coluna e o "Cadastre-se" para a linha de baixo — as
   duas caixas saíam na diagonal. */
.woocommerce-account .eftl-ct-wrap #customer_login::before,
.woocommerce-account .eftl-ct-wrap #customer_login::after{content:none;display:none;}
.woocommerce-account .eftl-ct-wrap #customer_login > div{
  width:auto;float:none;display:grid;gap:14px;align-content:start;
  padding:24px;
  background:var(--eft-bg-card,#1b1729);
  border:1px solid var(--eft-line,#2e2542);border-radius:var(--eft-radius,12px);
}
.woocommerce-account .eftl-ct-wrap #customer_login h2{margin:0;font-size:22px;}
.woocommerce-account .eftl-ct-wrap .woocommerce-form-login__rememberme{margin-bottom:12px;}
.woocommerce-account .eftl-ct-wrap .woocommerce-LostPassword{margin:0;font-size:14px;}
.woocommerce-account .eftl-ct-wrap .woocommerce-form-login__rememberme input{
  width:auto;margin:0 8px 0 0;accent-color:var(--eft-brand,#e8a54e);
}
.woocommerce-account .eftl-ct-wrap .woocommerce-privacy-policy-text p{font-size:13.5px;color:var(--eft-fg-dim,#a396b0);}
.woocommerce-account .eftl-ct-wrap .woocommerce-ResetPassword{
  max-width:520px;margin:0 auto;padding:24px;
  background:var(--eft-bg-card,#1b1729);
  border:1px solid var(--eft-line,#2e2542);border-radius:var(--eft-radius,12px);
}

/* ============================================================ responsivo */
@media (max-width:1000px){
  .eftl-ct{grid-template-columns:minmax(0,1fr);}
  .woocommerce-account .eftl-ct-menu{position:static;}
  .woocommerce-account .eftl-ct-menu ul{grid-template-columns:repeat(2,minmax(0,1fr));}
  .eftl-ct-pedido__grid{grid-template-columns:minmax(0,1fr);}
  .eftl-ct-pedido summary{grid-template-columns:1fr auto 22px;row-gap:6px;}
  .eftl-ct-pedido__itens{grid-column:1 / -1;white-space:normal;}
  /* na coluna estreita o selo esticava de ponta a ponta */
  .eftl-ct-pedido summary .eftl-ct-estado{justify-self:start;}
}
@media (max-width:760px){
  .eftl-ct-numeros{grid-template-columns:repeat(2,1fr);}
  .woocommerce-account .eftl-ct-wrap #customer_login{grid-template-columns:minmax(0,1fr);}
}
@media (max-width:620px){
  .woocommerce-account .eftl-ct-wrap .asaas-pix-instructions .js-pix-qr-code{
    width:100%;height:auto;max-width:260px;margin:0 auto;
  }
  .woocommerce-account .eftl-ct-menu ul{grid-template-columns:minmax(0,1fr);}
  .ticketeria-tickets-grid{grid-template-columns:minmax(0,1fr);}
  .eftl-ct-lista > div{grid-template-columns:minmax(0,1fr);gap:2px;}
  .eftl-ct-proximo__topo{flex-direction:column;}
  .woocommerce-account .eftl-ct-wrap .info-row{grid-template-columns:minmax(0,1fr);gap:1px;}
}
