/*
Theme Name: Vaquinha EnsinoJá (Tema Próprio - raiz única)
Theme URI: https://vaquinha.ensinoja.com
Author: EnsinoJá
Description: Tema mínimo com topo (logo à esquerda) e botões (Login / Minha Conta / Sair) à direita.
Version: 1.1.9
License: GPL-2.0-or-later
Text Domain: vaquinha-ensinoja
*/

:root{
  --bg: #0b0b0c;
  --ink: #f5f5f7;
  --muted:#a1a1aa;

  /* Paleta tipo Shopee */
  --brand:#EE4D2D;          /* laranja principal */
  --brand-soft:#FFEDE6;     /* gradiente claro */
  --brand-soft2:#FFDCCD;
  --brand-soft3:#FFCCBC;

  --radius: 9999px;
  --max: 1100px;
  --gap: 16px;
}

*{ box-sizing:border-box; }
html,body{
  margin:0; padding:0;
  background:var(--bg); color:var(--ink);
  font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial;
}
a{ color:inherit; text-decoration:none; }

.ej-shell{ min-height:100dvh; display:flex; flex-direction:column; }

/* ======= TOPO ======= */
.ej-topbar{
  position:sticky; top:0; z-index:50;
  backdrop-filter:saturate(1.1) blur(8px);
  background:rgba(12,12,13,.6);
  border-bottom:1px solid rgba(255,255,255,.06);
}

/* container padrão (mesma largura do topo e do conteúdo) */
.ej-topbar-in,
.ej-container{
  margin:0 auto; max-width:var(--max);
  display:flex; align-items:center; justify-content:space-between;
  gap:var(--gap); padding:12px 16px;
}

.ej-container{ padding-top:28px; padding-bottom:56px; }

/* logo à esquerda — 108px */
.ej-brand{ display:flex; align-items:center; gap:12px; min-width:0; }
.ej-brand img{ height:108px; width:auto; display:block; object-fit:contain; }

/* botões à direita */
.ej-cta{
  display:inline-flex; align-items:center; gap:10px;
  padding:10px 16px; border:1px solid rgba(255,255,255,.22);
  border-radius:var(--radius); background:transparent; color:var(--ink);
  cursor:pointer; transition:.2s; font-weight:600;
}
.ej-cta:hover{ border-color:rgba(255,255,255,.38); transform:translateY(-1px); }
.ej-cta:active{ transform:translateY(0); }
.ej-cta .dot{ width:6px; height:6px; border-radius:50%; background:var(--brand); }

/* ======= PAINEL INFERIOR (home) ======= */
.ej-panel{
  width:100%;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  border-radius:14px;
  padding:24px 24px;
  box-shadow:0 10px 30px rgba(0,0,0,.12);
}
.ej-panel h1{ margin:0 0 14px; font-size:34px; line-height:1.2; }
.ej-panel p{ margin:10px 0; color:var(--muted); }

/* =====================================================================
 * SINGLE PRODUTO PIX
 * ===================================================================*/

body.single-post-geral-produtos{
  background:#F5F5F5;
  color:#111827;
}
body.single-post-geral-produtos .ej-shell{
  background:#F5F5F5;
}

/* esconder barra WP */
.added_to_cart,
body.single-post-geral-produtos #wpadminbar{ display:none !important; }

/* main wrapper */
.ej-pix-single-main{
  flex:1;
  padding:16px 0 40px;
}

.ej-pix-page{
  max-width:var(--max);
  margin:0 auto;
  padding:0 16px;
  display:flex;
  flex-direction:column;
  gap:18px;
}

/* GRID desktop */
@media (min-width: 900px){
  .ej-pix-page{
    display:grid;
    grid-template-columns:minmax(0,1.4fr) minmax(0,1.1fr);
    align-items:flex-start;
  }
}

/* ======================= MÍDIA (80% da tela) ======================== */

.ej-pix-media-shell{
  position:relative;
  width:100%;
  height:80vh;
  max-height:80vh;
  background:#F5F5F5;
  border-radius:16px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}

/* botão voltar */
.ej-pix-back{
  position:absolute;
  top:10px; left:10px;
  z-index:20;
  width:36px; height:36px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.9);
  background:rgba(0,0,0,.92);
  color:#fff;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
  box-shadow:0 6px 18px rgba(0,0,0,.6);
}
.ej-pix-back-icon{
  display:block;
  width:10px; height:10px;
  border-left:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateX(2px);
}
.screen-reader-text{
  position:absolute;
  width:1px; height:1px;
  padding:0; margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* área principal */
.ej-pix-media-main{
  flex:1 1 auto;
  padding:0;
  margin:0;
  display:flex;
  align-items:stretch;
  justify-content:center;
}
.ej-pix-main-media{
  position:relative;
  width:100%;
  height:100%;
  border-radius:0;
  overflow:hidden;
  background:#000;
}

/* imagem / vídeo */
.ej-pix-main-image img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.ej-pix-main-video iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  display:block;
}
.ej-pix-main-placeholder{
  width:100%; height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#e5e7eb;
  font-size:14px;
}

/* ======================= MINIATURAS ================================ */

.ej-pix-media-thumbs{
  flex:0 0 96px;
  padding:0;
  margin:0;
  display:flex;
  gap:6px;
  overflow-x:auto;
  background:#FFFFFF;     /* mesmo fundo da descrição */

  scrollbar-width:none;
  -ms-overflow-style:none;
}
.ej-pix-media-thumbs::-webkit-scrollbar{ display:none; }

.ej-pix-thumb{
  border:none;
  padding:0;
  background:transparent;
  cursor:pointer;
  flex:0 0 auto;
}
.ej-pix-thumb-inner{
  width:72px; height:72px;
  border-radius:12px;
  overflow:hidden;
  border:2px solid rgba(229,231,235,0.95); /* clara quando não selecionado */
  background:#000;
  position:relative;
}
.ej-pix-thumb img{
  width:100%; height:100%;
  object-fit:cover;
  display:block;
}
.ej-pix-thumb-play{
  position:absolute;
  inset:auto 6px 6px auto;
  font-size:12px;
  padding:2px 6px;
  border-radius:999px;
  background:rgba(0,0,0,.75);
}
.ej-pix-thumb-placeholder{
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  color:#e5e7eb;
}
.ej-pix-thumb.is-active .ej-pix-thumb-inner{
  border-color:var(--brand);   /* ativa = laranja Shopee */
}

/* contador 1/5 */
.ej-pix-counter{
  position:absolute;
  right:10px;
  bottom:10px;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:600;
  background:rgba(248,250,252,0.96);
  color:#111827;
  box-shadow:0 4px 12px rgba(0,0,0,.45);
  display:none;
}

/* por garantia: se sobrar alguma faixa antiga, esconde */
.ej-pix-price-strip-mobile{
  display:none !important;
}

/* =====================================================================
 * COLUNA INFO
 * ===================================================================*/

.ej-pix-info-shell{
  display:flex;
  flex-direction:column;
  gap:12px;
  background:#FFFFFF;
  border-radius:16px;
  padding:16px;
  box-shadow:0 8px 20px rgba(15,23,42,0.06);
}
.ej-pix-produto-titulo{
  margin:0;
  font-size:24px;
  color:#111827;
}
.ej-pix-produto-descricao{
  font-size:15px;
  color:#374151;
}
.ej-pix-produto-descricao p{ margin-top:0; }



/* box de preço + pix */
.ej-pix-produto-box{
  border-radius:16px;
  padding:14px;
  background:#FFF7F5;
  border:1px solid #FED7D2;
  position:relative;
}
.ej-pix-produto-preco{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:8px;
}
.ej-pix-preco-left{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.ej-pix-preco-label{
  font-size:12px;
  color:#6B7280;
}

/* ==== LINHA DE PREÇO ESTILO SHOPEE ==== */
.ej-pix-preco-valores{
  display:flex;
  align-items:baseline;
  gap:6px;
  flex-wrap:wrap;
}
.ej-pix-preco-new{
  font-size:26px;
  font-weight:700;
  color:var(--brand);       /* laranja forte */
}
.ej-pix-preco-old{
  font-size:15px;
  color:rgba(148,163,184,0.75);  /* cinza bem suave */
  text-decoration:line-through;
  font-weight:400;               /* mais fininha */
  text-decoration-thickness:1px;
  text-decoration-color:rgba(148,163,184,0.65);
}

/* DESCONTO: texto fino com fundinho pêssego leve */
.ej-pix-produto-desconto-badge{
  display:inline-block;
  padding:1px 4px;
  border-radius:3px;
  font-size:13px;
  font-weight:500;
  color:var(--brand);
  background:rgba(238,77,45,0.06);
}

/* wrapper do "TERMINA EM" (por padrão escondido, só mobile usa) */
.ej-pix-termina-wrapper{
  display:none;
}
.ej-pix-termina-label{}
.ej-pix-termina-box{}

/* avisos escondidos */
.ej-pix-produto-aviso,
.ej-pix-produto-status{
  display:none !important;
}

.ej-pix-produto-paid{
  color:#10b981;
  font-size:14px;
  margin:4px 0 0;
}

/* ===== Botão de pagamento (desktop + base) ===== */
.ej-pix-produto-pagamento{
  margin-top:10px;
}

.ej-pix-produto-pagamento button,
.ej-pix-produto-pagamento input[type="submit"],
.ej-pix-produto-pagamento a.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  max-width:100%;
  padding:14px 18px;
  border-radius:12px;
  border:none;
  background:var(--brand);
  color:#fff;
  font-weight:700;
  font-size:15px;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(239,68,68,0.25);
}
.ej-pix-produto-pagamento button:hover,
.ej-pix-produto-pagamento input[type="submit"]:hover,
.ej-pix-produto-pagamento a.button:hover{
  filter:brightness(1.05);
  transform:translateY(-1px);
}
.ej-pix-produto-pagamento button:active,
.ej-pix-produto-pagamento input[type="submit"]:active,
.ej-pix-produto-pagamento a.button:active{
  transform:translateY(0);
  box-shadow:0 4px 10px rgba(239,68,68,0.25);
}

/* ====== Cabeçalho e lista de meios de pagamento na modal ====== */

.ej-pix-pay-header{
  display:flex;
  align-items:center;
  gap:10px;
  margin:4px 0 12px;
}
.ej-pix-pay-logo{
  width:40px;
  height:40px;
  border-radius:12px;
  background:radial-gradient(circle at 20% 20%, #3B82F6, #0F172A);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  box-shadow:0 6px 16px rgba(15,23,42,0.35);
}
.ej-pix-pay-logo-inner{
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.ej-pix-pay-text{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.ej-pix-pay-title{
  font-size:15px;
  font-weight:600;
  color:#0f172a;
}
.ej-pix-pay-subtitle{
  font-size:12px;
  color:#6b7280;
}

.ej-pix-pay-methods{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:12px;
}
.ej-pix-method{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border-radius:12px;
  border:1px solid #e5e7eb;
  background:#f9fafb;
  cursor:pointer;
}
.ej-pix-method input[type="radio"]{
  margin:0 2px 0 0;
  accent-color:var(--brand);
}
.ej-pix-method-main{
  display:flex;
  flex-direction:column;
  gap:2px;
  flex:1;
}
.ej-pix-method-name{
  font-size:14px;
  font-weight:600;
  color:#111827;
}
.ej-pix-method-desc{
  font-size:12px;
  color:#6b7280;
}
.ej-pix-method-tag{
  font-size:11px;
  padding:2px 6px;
  border-radius:999px;
  background:#e5e7eb;
  color:#374151;
  white-space:nowrap;
}
.ej-pix-method-tag-primary{
  background:rgba(238,77,45,0.08);
  color:var(--brand);
}
.ej-pix-method-disabled{
  opacity:.6;
  cursor:default;
}

.ej-pix-method-panel{
  display:none;
}
.ej-pix-method-panel.is-active{
  display:block;
}
.ej-pix-method-coming{
  font-size:13px;
  color:#6b7280;
  margin:6px 0 0;
  text-align:center;
}

/* elementos auxiliares do mobile: começam escondidos no desktop */
.ej-pix-mobile-backdrop,
.ej-pix-mobile-cta-bar,
.ej-pix-mobile-close{
  display:none;
}

/* =====================================================================
 * MOBILE
 * ===================================================================*/

@media (max-width: 768px){

  body.single-post-geral-produtos .ej-topbar{
    display:none;
  }
  body.single-post-geral-produtos .ej-shell{
    min-height:100dvh;
  }
  body.single-post-geral-produtos .ej-pix-single-main{
    padding:0 0 24px;
  }

  /* galeria ocupa largura total, fundo cinza geral */
  body.single-post-geral-produtos .ej-pix-page{
    padding:0;
    gap:0;
    background:#F5F5F5;
  }
  body.single-post-geral-produtos .ej-pix-media-shell{
    border-radius:0;
    width:100vw;
    max-width:100vw;
  }

  /* bloco branco contínuo: thumbs + preço + título + descrição */
  body.single-post-geral-produtos .ej-pix-info-shell{
    margin:0 0 8px;
    border-radius:0;
    box-shadow:none;
    padding:0 0 8px;
    border-bottom:1px solid #E5E7EB;
    background:#FFFFFF;
  }

  /* reordenação */
  body.single-post-geral-produtos .ej-pix-produto-box{ order:1; }
  body.single-post-geral-produtos .ej-pix-produto-titulo{ order:2; }
  body.single-post-geral-produtos .ej-pix-produto-descricao{ order:3; }

  /* badge INDICADO + título (ajuste fino de alinhamento) */
body.single-post-geral-produtos .ej-pix-produto-titulo{
  font-size:15px;
  line-height:1.4;
  margin:10px 12px 0;
  /* antes era inline-flex + align-items:center */
  display:block;              /* volta a ser bloco normal */
}

body.single-post-geral-produtos .ej-pix-produto-titulo::before{
  content:"INDICADO";
  display:inline-block;       /* fica na mesma linha do texto */
  margin-right:6px;
  padding:2px 6px;
  border-radius:3px;
  background:#FF4B4B;
  color:#fff;
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  vertical-align:baseline;    /* alinha com a 1ª linha do título */
}


  /* descrição */
  body.single-post-geral-produtos .ej-pix-produto-descricao{
    margin:6px 12px 10px;
    font-size:13px;
    color:#333;
  }

  /* ===== Faixa OFERTAS RELÂMPAGO + preço ===== */

  /* some o rótulo "Valor" */
  body.single-post-geral-produtos .ej-pix-preco-label{
    display:none;
  }

  body.single-post-geral-produtos .ej-pix-produto-box{
  margin-top:0;
  border-radius:0;
  border:0;
  background:
    linear-gradient(#EE4D2D,#EE4D2D) 0 0/100% 36px no-repeat,
    linear-gradient(90deg,#FFFDFB 0%, #FFF4EE 40%, #FFE4D7 100%);
  padding:52px 12px 10px;
  position:relative;
}

/* mesma faixa, só que o texto muda pela classe ej-badge-* */
body.single-post-geral-produtos .ej-pix-produto-box::before{
  position:absolute;
  top:0; left:12px; right:50%;
  height:36px;
  display:flex;
  align-items:center;
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  color:#fff;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  content:""; /* texto vem das regras abaixo */
}

/* OFERTA RELÂMPAGO – igual estava antes */
body.single-post-geral-produtos .ej-pix-produto-box.ej-badge-oferta::before{
  content:"OFERTAS RE⚡MPAGO";
}

/* TOP (Bombando nesse momento) */
body.single-post-geral-produtos .ej-pix-produto-box.ej-badge-top::before{
  content:"🚀 Top ( Bombando )";
  text-transform:none;
}

/* Nenhum: mensagem de pagamento seguro Mercado Pago */
body.single-post-geral-produtos .ej-pix-produto-box.ej-badge-none::before{
    content:"💳 Pagamento 100% Seguro";
  text-transform:none;
}


  /* container do preço */
  body.single-post-geral-produtos .ej-pix-produto-preco{
    position:static;
    margin-bottom:6px;
    padding-top:2px;
    justify-content:flex-start;
    align-items:baseline;
    gap:6px;
  }

  /* "TERMINA EM" + quadradinhos 01 50 55 – alinhado com a faixa */
  body.single-post-geral-produtos .ej-pix-termina-wrapper{
    display:flex;
    position:absolute;
    top:0;
    right:12px;
    height:36px;
    align-items:center;
    gap:4px;
    font-size:11px;
    text-transform:uppercase;
    color:#fff;
  }
  body.single-post-geral-produtos .ej-pix-termina-label{
    font-weight:500;
  }
  body.single-post-geral-produtos .ej-pix-termina-box{
    background:#111827;
    border-radius:4px;
    padding:2px 4px;
    min-width:24px;
    text-align:center;
    font-weight:700;
    font-size:11px;
  }

  /* ajustes de tamanho para mobile */
  body.single-post-geral-produtos .ej-pix-preco-valores{
    gap:6px;
  }
  body.single-post-geral-produtos .ej-pix-preco-new{
    font-size:22px;
  }
  body.single-post-geral-produtos .ej-pix-preco-old{
    font-size:13px;
  }

  /* % um tiquinho menor, com o mesmo fundinho suave */
  body.single-post-geral-produtos .ej-pix-produto-desconto-badge{
    font-size:12px;
    padding:1px 4px;
    margin-left:2px;
    background:rgba(238,77,45,0.06);
  }

  /* garantir que textos de login / instrução fiquem escondidos */
  body.single-post-geral-produtos .ej-pix-produto-box p{
    display:none !important;
  }

  /* contador 1/5 visível apenas mobile */
  body.single-post-geral-produtos .ej-pix-counter{
    display:flex;
    align-items:center;
    justify-content:center;
  }

  /* ===== Barra fixa "Compre agora" (mobile) + bottom sheet ===== */

  /* dá um respiro embaixo pra barra fixa não cobrir conteúdo */
  body.single-post-geral-produtos .ej-pix-single-main{
    padding-bottom:88px;
  }

  .ej-pix-mobile-backdrop{
    display:block;
    position:fixed;
    inset:0;
    background:rgba(15,23,42,0.55);
    opacity:0;
    pointer-events:none;
    transition:opacity .2s ease-out;
    z-index:59;
  }
  .ej-pix-mobile-backdrop.is-open{
    opacity:1;
    pointer-events:auto;
  }

  /* a própria barra vira só o botão, colado nas bordas */
  .ej-pix-mobile-cta-bar{
    display:block;
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    padding:0;
    background:transparent;
    z-index:58;
  }
  .ej-pix-mobile-cta-btn{
    display:block;
    width:100%;
    border:none;
    border-radius:0;
    background:var(--brand);
    color:#fff;
    font-size:15px;
    font-weight:700;
    padding:14px 16px calc(14px + env(safe-area-inset-bottom));
    cursor:pointer;
  }
  .ej-pix-mobile-cta-btn:active{
    transform:translateY(1px);
  }

  /* painel de pagamento vira bottom sheet (~60% da tela) */
  body.single-post-geral-produtos .ej-pix-produto-pagamento{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    background:#FFFFFF;
    border-radius:16px 16px 0 0;
    box-shadow:0 -12px 24px rgba(15,23,42,0.32);
    padding:24px 16px 18px;
    min-height:60vh;
    max-height:80vh;
    overflow-y:auto;
    transform:translateY(105%);
    transition:transform .25s ease-out;
    z-index:60;
  }
  body.single-post-geral-produtos .ej-pix-produto-pagamento.is-open{
    transform:translateY(0);
  }

  /* botão "X" dentro do painel */
  body.single-post-geral-produtos .ej-pix-mobile-close{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    position:absolute;
    top:10px;
    right:14px;
    width:26px;
    height:26px;
    border-radius:999px;
    border:none;
    background:rgba(15,23,42,0.06);
    cursor:pointer;
  }
  body.single-post-geral-produtos .ej-pix-mobile-close::before,
  body.single-post-geral-produtos .ej-pix-mobile-close::after{
    content:'';
    position:absolute;
    width:12px;
    height:2px;
    background:#6B7280;
    border-radius:999px;
    top:50%;
    left:50%;
    transform-origin:center;
  }
  body.single-post-geral-produtos .ej-pix-mobile-close::before{
    transform:translate(-50%,-50%) rotate(45deg);
  }
  body.single-post-geral-produtos .ej-pix-mobile-close::after{
    transform:translate(-50%,-50%) rotate(-45deg);
  }

  body.single-post-geral-produtos.ej-pix-no-scroll{
    overflow:hidden;
    touch-action:none;
  }
}



/* ===== Ajustes do painel Pix no bottom sheet ===== */

/* painel inline logo abaixo da opção Pix */
.ej-pix-method-panel-inline{
  margin:8px 0 10px;
  padding:8px 10px 10px;
  border-radius:10px;
  border:1px solid #e5e7eb;
  background:#020617;
}

/* empurra um pouco pra direita pra alinhar com o texto das opções */
.ej-pix-method-pix + .ej-pix-method-panel-inline{
  margin-left:32px;
}

/* esconde o botão interno do widget Mercado Pago – geração é automática */
.ej-pix-produto-pagamento .ej-mp-pix-btn{
  display:none;
}

/* opcional: o box escuro do widget fica mais "limpo" se tirar a borda dele
   (já estamos dentro de um card) */
.ej-pix-produto-pagamento .ej-mp-pix-box{
  border:none;
  background:transparent;
  padding:0;
  margin-top:4px;
}

/* e o QR centralizado com um pouco de respiro */
.ej-pix-produto-pagamento .ej-mp-pix-qr{
  margin-top:6px;
}




@media (max-width: 768px){

  /* bloco título + descrição + ofertas: com borda embaixo de novo */
  body.single-post-geral-produtos .ej-pix-info-shell{
    margin:0;
    padding-bottom:0;
    border-bottom:1px solid #E5E7EB; /* voltou a bordinha */
    background:#FFFFFF;
  }

  /* container geral dos blocos (Benefícios, Pagamento 100% Seguro etc.) */
  body.single-post-geral-produtos .ej-pix-produto-sections{
    display:block !important;
    margin:0;
    padding:0 0 20px;
    background:#F5F5F5;
  }

  /* cada bloco – todos com o mesmo espaço pra cima */
  body.single-post-geral-produtos .ej-pix-produto-section{
    background:#FFFFFF;
    margin:20px 0 0;
    border-top:1px solid #E5E7EB;
    border-bottom:1px solid #E5E7EB;
  }
  body.single-post-geral-produtos .ej-pix-produto-section:first-child{
    margin-top:20px;
  }
  body.single-post-geral-produtos .ej-pix-produto-section:last-child{
    margin-bottom:20px;
  }

  body.single-post-geral-produtos .ej-pix-produto-section h2{
    margin:0;
    padding:10px 12px;
    font-size:15px;
    font-weight:700;
    background:#FFFFFF;
    color:#111827;
    border-bottom:1px solid #E5E7EB;
  }

  body.single-post-geral-produtos .ej-pix-produto-section p,
  body.single-post-geral-produtos .ej-pix-produto-section ul{
    margin:0;
    padding:12px 12px 10px;
    background:#FFFFFF;
  }

  body.single-post-geral-produtos .ej-pix-produto-section li{
    list-style:none;
    font-size:13px;
    color:#111827;
  }

  body.single-post-geral-produtos .ej-pix-produto-section li + li{
    margin-top:6px;
    padding-top:6px;
    border-top:1px dashed #D1D5DB;
  }
}








/* =====================================================================
 * MODAL DE AVISO (LOGIN / LOGOUT / ERROS GERAIS)
 * ===================================================================*/
.ej-auth-modal-backdrop{
  position:fixed;
  inset:0;
  background:rgba(15,23,42,0.70);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  box-sizing:border-box;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease-out;
  z-index:10000; /* acima de qualquer coisa */
}
.ej-auth-modal-backdrop.is-open{
  opacity:1;
  pointer-events:auto;
}

.ej-auth-modal{
  width:100%;
  max-width:360px;
  border-radius:18px;
  background:#0B1120;
  color:#F9FAFB;
  padding:16px 16px 14px;
  box-shadow:0 18px 40px rgba(15,23,42,0.75);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.ej-auth-modal-header{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:8px;
}
.ej-auth-modal-icon{
  width:26px;
  height:26px;
  border-radius:999px;
  border:2px solid #F97316;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:15px;
}
.ej-auth-modal-title{
  font-size:15px;
  font-weight:700;
}
.ej-auth-modal-text{
  font-size:13px;
  line-height:1.5;
  color:#E5E7EB;
  margin:4px 0 8px;
}
.ej-auth-modal-hint{
  font-size:12px;
  color:#9CA3AF;
  margin:0 0 10px;
}

.ej-auth-modal-footer{
  display:flex;
  justify-content:flex-end;
  margin-top:4px;
}
.ej-auth-modal-btn{
  border:none;
  border-radius:999px;
  padding:7px 16px;
  font-size:13px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.05em;
  cursor:pointer;
  background:#F97316;
  color:#111827;
}
.ej-auth-modal-btn:active{
  transform:translateY(1px);
}

