/* ═══════════════════════════════════════════════════
   eBook Guias Práticos — theme.css
   Design: Dark Editorial • Fundo #1c1c24 • Dourado #f5a213
═══════════════════════════════════════════════════ */

/* ── TOKENS ── */
:root {
  /* ── Cores (sobrescritas pelo Customizer) ── */
  --gold:    #f5a213;
  --gold-h:  #d4890a;
  --gold-dim:rgba(245,162,19,.12);
  --bg:      #1c1c24;
  --bg2:     #23232d;
  --bg3:     #2a2a36;
  --sur:     #2a2a36;
  --card-bg: #252530;
  --dk:      #111118;
  --txt:     #e8e8f0;
  --txt2:    #b0b0c0;
  --white:   #ffffff;
  --bdr:     rgba(255,255,255,.08);
  --bdr2:    rgba(255,255,255,.14);
  --card-bdr:rgba(255,255,255,.07);
  --star:    #f5a213;
  --sh-gold: 0 4px 20px rgba(245,162,19,.3);
  --sh-lg:   0 16px 48px rgba(0,0,0,.55);
  --sh-md:   0 6px 24px rgba(0,0,0,.45);
  --sh-sm:   0 2px 8px rgba(0,0,0,.35);
  --mw:      1240px;
  /* ── Tipografia (sobrescrita pelo Customizer) ── */
  --fh:         'Playfair Display', Georgia, serif;
  --fb:         'Inter', system-ui, sans-serif;
  --fh-size:    1rem;
  --fb-size:    1rem;
}

/* ── RESET ── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body {
  font-family: var(--fb);
  font-size:   var(--fb-size);
  background:  var(--bg);
  color:       var(--txt);
  line-height: 1.7;
  overflow-x:  hidden;
}
img,video { max-width:100%; height:auto; display:block; }
a { color:var(--gold); text-decoration:none; transition:color .15s; }
a:hover { color:var(--gold-h); }
a:focus-visible { outline:2px solid var(--gold); outline-offset:3px; border-radius:3px; }
button { font-family:inherit; cursor:pointer; border:none; background:none; }
ul,ol { list-style:none; }
h1,h2,h3,h4,h5,h6 { font-family: var(--fh); color: var(--white); line-height:1.2; }
p { margin-bottom:1em; }
p:last-child { margin-bottom:0; }
::selection { background:rgba(245,162,19,.25); }
::-webkit-scrollbar { width:5px; }
::-webkit-scrollbar-track { background:var(--bg); }
::-webkit-scrollbar-thumb { background:var(--bg3); border-radius:99px; }

/* ── LAYOUT ── */
.elux-site { display:flex; flex-direction:column; min-height:100vh; }
.elux-wrap  { flex:1; }
.elux-container { max-width:1240px; margin:0 auto; padding:0 clamp(16px,4vw,32px); }
.elux-main { padding:40px 0 80px; }
.elux-layout-sb   { display:grid; grid-template-columns:1fr 280px; gap:48px; align-items:start; padding-top:40px; padding-bottom:80px; }
.elux-layout-full { padding-top:40px; padding-bottom:80px; }

/* ════════════════════════════════════════════════════
   BARRA DE DESTAQUE
   Fundo dourado ocupa 100% da largura.
   .elux-db-inner centraliza o conteúdo igual ao header.
════════════════════════════════════════════════════ */

/* ── Faixa dourada: 100% da largura, sem overflow ── */
.elux-destaque-bar {
  background: var(--gold);
  width: 100%;
  overflow: hidden;          /* garante que nada vaze lateralmente */
  position: relative;
  z-index: 50;
}

/* ── Inner: mesma largura/padding do .elux-hdr-inner ── */
.elux-db-inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 9px clamp(16px, 4vw, 32px);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  box-sizing: border-box;
}

/* ── Lado esquerdo ── */
.elux-db-esquerda {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 7px;
  flex: 1 1 0;
  min-width: 0;          /* permite encolher */
  overflow: hidden;
}

.elux-db-flash {
  flex-shrink: 0;
  font-size: .85rem;
  color: var(--dk);
  opacity: .8;
  animation: dbflash 1.4s ease-in-out infinite;
}
@keyframes dbflash { 0%,100%{ opacity:.55 } 50%{ opacity:1 } }

.elux-db-badge {
  flex-shrink: 0;
  display: inline-block;
  background: var(--dk);
  color: var(--gold);
  font-size: .6rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 4px;
  line-height: 1.5;
  white-space: nowrap;
}

.elux-db-titulo {
  flex: 1 1 auto;       /* ocupa espaço disponível e encolhe com ellipsis */
  min-width: 0;
  font-size: .875rem;
  font-weight: 700;
  color: var(--dk);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.elux-db-sep {
  flex-shrink: 0;
  color: var(--dk);
  opacity: .45;
  font-size: .8rem;
  white-space: nowrap;
}

.elux-db-preco {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: .875rem;
  font-weight: 500;
  color: var(--dk);
  white-space: nowrap;
}
.elux-db-preco del        { opacity: .6; text-decoration: line-through; }
.elux-db-preco strong     { font-weight: 800; }

/* ── Lado direito ── */
.elux-db-direita {
  flex-shrink: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}

.elux-db-off {
  flex-shrink: 0;
  font-size: .72rem;
  font-weight: 800;
  color: var(--dk);
  background: rgba(0,0,0,.15);
  padding: 3px 9px;
  border-radius: 4px;
  white-space: nowrap;
}

.elux-db-btn {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--dk);
  color: var(--gold);
  font-size: .8rem;
  font-weight: 800;
  padding: 7px 16px;
  border-radius: 999px;
  white-space: nowrap;
  text-decoration: none;
  transition: background .2s, transform .15s;
}
.elux-db-btn:hover { background: #000; color: var(--gold); transform: translateY(-1px); }
.elux-db-btn svg  { flex-shrink: 0; }

/* ── legacy (mantido para não quebrar nada) ── */
.elux-db-left, .elux-db-center, .elux-db-right { display:flex; align-items:center; gap:8px; }
.elux-db-text { font-size:.85rem; font-weight:600; color:var(--dk); }

/* Preço mobile: oculto por padrão, só aparece em telas ≤ 768px */
.elux-db-preco-mobile { display: none; }


/* ── HEADER ── */
.elux-header {
  position:sticky; top:0; z-index:600;
  background: var(--bg);
  background: rgba(28,28,36,.97);
  backdrop-filter:blur(20px) saturate(160%);
  -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(255,255,255,.08);
  transition:box-shadow .25s;
}
.elux-header.scrolled { box-shadow:0 4px 24px rgba(0,0,0,.5); }
.elux-hdr-inner {
  max-width:1240px; margin:0 auto;
  padding:0 clamp(16px,4vw,32px);
  display:flex; align-items:center; gap:24px; height:66px;
}
.elux-logo { flex-shrink:0; }
.elux-logo-text {
  font-family:'Playfair Display',Georgia,serif;
  font-weight:800; font-size:1.15rem;
  color:var(--white); letter-spacing:-.01em;
  display:flex; align-items:center; gap:8px;
}
.elux-logo-text::before { content:'📚'; font-size:1.1rem; }
.elux-logo-text span { color:var(--gold); }
.elux-logo-text:hover { color:var(--white); }
.custom-logo { height:38px; width:auto; }
.custom-logo-link { display:flex; align-items:center; }

/* Nav */
.elux-nav { flex:1; }
.elux-menu { display:flex; align-items:center; gap:2px; flex-wrap:wrap; }
.elux-menu > li { position:relative; }
.elux-menu > li > a {
  display:block; padding:7px 14px;
  font-size:.875rem; font-weight:500;
  color:var(--txt2); border-radius:8px;
  transition:background .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1);
}
.elux-menu > li > a:hover,
.elux-menu > li.current-menu-item > a,
.elux-menu > li.current_page_item > a { color:var(--white); background:rgba(255,255,255,.06); }
.elux-menu > li:has(>ul) > a::after { content:'▾'; font-size:.7em; margin-left:4px; opacity:.5; }

/* Dropdown */
.elux-menu li ul {
  position:absolute; top:calc(100%+6px); left:0; min-width:210px;
  background:var(--bg2); border:1px solid rgba(255,255,255,.08);
  border-radius:14px; padding:6px;
  box-shadow:0 16px 48px rgba(0,0,0,.55);
  opacity:0; visibility:hidden; pointer-events:none;
  transform:translateY(-6px);
  transition:all .25s cubic-bezier(.4,0,.2,1); z-index:200;
}
.elux-menu li:hover>ul, .elux-menu li:focus-within>ul {
  opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0);
}
.elux-menu li ul li a {
  display:block; padding:9px 13px; font-size:.85rem; color:var(--txt2);
  border-radius:8px; transition:background .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1);
}
.elux-menu li ul li a:hover { background:var(--bg3); color:var(--white); }
.elux-menu li ul li.all-ebooks>a { color:var(--gold); border-bottom:1px solid rgba(255,255,255,.08); padding-bottom:10px; margin-bottom:4px; }

/* Header actions */
.elux-hdr-actions { display:flex; align-items:center; gap:6px; margin-left:auto; }
.elux-search-toggle,.elux-burger {
  display:flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:8px;
  color:var(--txt2); transition:background .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1);
}
.elux-search-toggle:hover,.elux-burger:hover { background:var(--bg3); color:var(--white); }
.elux-burger { flex-direction:column; gap:5px; display:none; }
.elux-burger span { display:block; width:20px; height:2px; background:currentColor; border-radius:2px; transition:all .25s cubic-bezier(.4,0,.2,1); }
.elux-burger.on span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.elux-burger.on span:nth-child(2) { opacity:0; }
.elux-burger.on span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* Search bar */
.elux-searchbar {
  background:var(--bg2); border-top:1px solid rgba(255,255,255,.08);
  max-height:0; overflow:hidden; transition:max-height .4s cubic-bezier(.4,0,.2,1);
}
.elux-searchbar.open { max-height:80px; }
.elux-searchbar .elux-hdr-inner { height:72px; }
.elux-search { display:flex; gap:8px; width:100%; max-width:560px; margin:0 auto; }
.elux-search input {
  flex:1; background:var(--bg3); border:1px solid rgba(255,255,255,.08);
  border-radius:8px; padding:10px 14px;
  font-family:"Inter",system-ui,sans-serif; font-size:.95rem; color:var(--txt);
  transition:border-color .15s cubic-bezier(.4,0,.2,1);
}
.elux-search input::placeholder { color:var(--txt2); opacity:.6; }
.elux-search input:focus { outline:none; border-color:var(--gold); }
.elux-search button {
  background:var(--gold); color:var(--dk); padding:10px 14px;
  border-radius:8px; display:flex; align-items:center;
  transition:background .15s cubic-bezier(.4,0,.2,1); font-weight:700;
}
.elux-search button:hover { background:var(--gold-h); }


/* ── VITRINE SECTION ── */
.elux-vitrine-section { padding:48px 0 64px; }
.elux-vitrine-header {
  display:flex; align-items:baseline; justify-content:space-between;
  margin-bottom:28px; flex-wrap:wrap; gap:12px;
}
.elux-vitrine-heading {
  display:flex; align-items:baseline; gap:14px;
}
.elux-vitrine-title {
  font-family:"Playfair Display",Georgia,serif; font-size:clamp(1.5rem,3vw,2rem); font-weight:900; color:var(--gold);
}
.elux-vitrine-em {
  font-family:"Inter",system-ui,sans-serif; font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--gold); background:rgba(245,162,19,.12); border:1px solid rgba(245,162,19,.25);
  padding:3px 11px; border-radius:999px;
}
.elux-vitrine-ver-todos {
  font-size:.85rem; font-weight:600; color:var(--gold);
  display:flex; align-items:center; gap:5px;
  transition:gap .25s cubic-bezier(.4,0,.2,1);
}
.elux-vitrine-ver-todos:hover { gap:9px; color:var(--gold-h); }

/* ── VITRINE GRID ── */
.elux-vitrine { }
.elux-grid { display:grid; gap:22px; }
.elux-g1 { grid-template-columns:1fr; max-width:340px; }
.elux-g2 { grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); }
.elux-g3 { grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); }
.elux-g4 { grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); }
.elux-section-title { font-family:"Playfair Display",Georgia,serif; font-size:clamp(1.4rem,3vw,2rem); font-weight:800; color:var(--white); margin-bottom:28px; }

/* ── CARDS ── */
.elux-card {
  background:var(--card-bg);
  background:var(--card-bg);
  border:1px solid rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.07);
  border-radius:20px; overflow:hidden;
  transition:transform .25s, box-shadow .25s, border-color .25s;
  display:flex; flex-direction:column;
}
.elux-card:hover {
  transform:translateY(-5px);
  box-shadow:0 16px 48px rgba(0,0,0,.55);
  border-color:rgba(245,162,19,.25);
}
.elux-card-a { display:flex; flex-direction:column; height:100%; text-decoration:none; color:inherit; }
.elux-card-a:hover { color:inherit; }

/* Card cover */
.elux-card-cover {
  position:relative; aspect-ratio:1/1; overflow:hidden;
  background:var(--bg3);
}
.elux-card-cover img {
  width:100%; height:100%; object-fit:cover;
  transition:transform .4s cubic-bezier(.4,0,.2,1);
}
.elux-card:hover .elux-card-cover img { transform:scale(1.04); }
.elux-no-cover {
  width:100%; height:100%; display:flex; align-items:center; justify-content:center;
  font-size:3rem; background:var(--bg3);
}

/* Card price badge on cover */
.elux-card-cover-price {
  position:absolute; top:10px; left:10px;
  background:var(--gold);
  color:var(--dk); font-weight:800; font-size:.78rem;
  padding:4px 10px; border-radius:6px;
  box-shadow:0 2px 8px rgba(0,0,0,.3);
}

/* Card tags on cover */
.elux-card-cover-tags {
  position:absolute; bottom:10px; left:10px; right:10px;
  display:flex; flex-wrap:wrap; gap:5px;
}
.elux-card-tag {
  font-size:.62rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  padding:3px 9px; border-radius:4px;
  background:rgba(28,28,36,.88); color:var(--gold);
  border:1px solid rgba(245,162,19,.4);
}
.elux-card-tag.novo    { background:rgba(28,28,36,.88); color:var(--gold); border-color:rgba(245,162,19,.45); }
.elux-card-tag.vendido { background:rgba(245,162,19,.18); color:var(--gold); border-color:rgba(245,162,19,.5); }
.elux-card-tag.best    { background:rgba(234,88,12,.2);  color:#fb923c; border-color:rgba(234,88,12,.35); }

/* Card body */
/* ── Card body: flex coluna com topo variável e fundo fixo ── */
.elux-card-body {
  padding: 14px 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;                          /* ocupa todo o espaço restante do card */
  border-top: 1px solid rgba(255,255,255,.07);
}
.elux-cats { display:flex; flex-wrap:wrap; gap:4px; }
.elux-cat {
  font-size:.62rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase;
  color:var(--gold); background:rgba(245,162,19,.1);
  border:1px solid rgba(245,162,19,.2); padding:2px 8px; border-radius:999px;
}

/* Título + descrição: crescem para empurrar o restante para o fundo */
.elux-card-title {
  font-family:"Playfair Display",Georgia,serif; font-size:1rem; font-weight:700;
  line-height:1.3; color:var(--gold);
}
.elux-card-title a { color:var(--gold) !important; text-decoration:none; }
.elux-card-title a:hover { color:var(--gold-h) !important; }

.elux-card-desc {
  font-size:.82rem; color:var(--txt2); line-height:1.5;
  flex: 1;           /* empurra stars + price + btn para baixo do card */
}

/* Stars — sempre na mesma posição vertical */
.elux-card-stars {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: auto;  /* cola no fundo do espaço flexível acima */
}
.elux-stars-row  { color:var(--gold); font-size:.88rem; letter-spacing:1px; }
.elux-stars-score{ font-size:.8rem; font-weight:700; color:var(--txt2); }

/* Prices — sempre alinhados abaixo das stars */
.elux-card-price {
  display: flex;
  align-items: baseline;
  gap: 6px;
  flex-wrap: wrap;
}
.elux-from     { font-size:.82rem; color:var(--txt2); }
.elux-from del { color:var(--txt2); text-decoration:line-through; text-decoration-color:var(--txt2); }
.elux-to       { font-family:"Playfair Display",Georgia,serif; font-size:1.3rem; font-weight:900; color:var(--gold); }
.elux-parcela  { font-size:.78rem; color:var(--txt2); font-weight:500; }

/* Botão — sempre na base do card */
.elux-card-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: linear-gradient(135deg,var(--gold),var(--gold-h));
  color: var(--dk); font-weight:800; font-size:.85rem;
  padding: 12px 16px; border-radius:8px;
  transition: all .25s cubic-bezier(.4,0,.2,1);
  text-decoration: none; border: none; cursor: pointer;
  margin-top: 4px;
}
.elux-card-btn:hover { transform:translateY(-2px); box-shadow:0 6px 20px rgba(245,162,19,.4); color:var(--dk); }
.elux-card-btn svg   { flex-shrink:0; }

/* CTA text link (fallback) */
.elux-cta-link { font-size:.82rem; font-weight:600; color:var(--gold); }

/* ── POSTS GRID (blog) ── */
.elux-posts-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:22px; }
.elux-post-card { background:var(--card-bg); border:1px solid rgba(255,255,255,.07); border-radius:20px; overflow:hidden; transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1); }
.elux-post-card:hover { transform:translateY(-4px); box-shadow:0 6px 24px rgba(0,0,0,.45); }
.elux-pc-thumb { display:block; aspect-ratio:16/9; overflow:hidden; }
.elux-pc-thumb img { width:100%; height:100%; object-fit:cover; transition:transform .4s cubic-bezier(.4,0,.2,1); }
.elux-post-card:hover .elux-pc-thumb img { transform:scale(1.04); }
.elux-pc-body { padding:18px; display:flex; flex-direction:column; gap:8px; }
.elux-pc-meta { font-size:.76rem; color:var(--txt2); display:flex; gap:10px; }
.elux-pc-title { font-family:"Playfair Display",Georgia,serif; font-size:1.05rem; line-height:1.3; }
.elux-pc-title a { color:var(--white); }
.elux-pc-title a:hover { color:var(--gold); }
.elux-pc-excerpt { font-size:.875rem; color:var(--txt2); line-height:1.55; }

/* ── BTNS ── */
.elux-btn        { display:inline-flex; align-items:center; gap:8px; font-family:"Inter",system-ui,sans-serif; font-weight:700; font-size:.9rem; background:linear-gradient(135deg,var(--gold),var(--gold-h)); color:var(--dk); padding:11px 26px; border-radius:999px; box-shadow:0 4px 20px rgba(245,162,19,.3); transition:all .25s cubic-bezier(.4,0,.2,1); text-decoration:none; cursor:pointer; }
.elux-btn:hover  { transform:translateY(-2px); box-shadow:0 8px 24px rgba(245,162,19,.42); color:var(--dk); }
.elux-btn-outline{ display:inline-flex; align-items:center; gap:7px; font-weight:600; font-size:.88rem; border:1.5px solid rgba(245,162,19,.35); color:var(--gold); padding:10px 24px; border-radius:999px; transition:all .25s cubic-bezier(.4,0,.2,1); text-decoration:none; }
.elux-btn-outline:hover { border-color:var(--gold); background:rgba(245,162,19,.12); }
.elux-btn-sm { color:var(--gold); font-size:.875rem; font-weight:600; padding:5px 0; }
.elux-btn-sm:hover { color:var(--gold-h); }

/* ── ENTRY CONTENT ── */
.elux-content-area { min-width:0; }
.elux-entry-hdr { margin-bottom:36px; }
.elux-entry-title { font-size:clamp(1.8rem,4vw,2.8rem); font-weight:800; margin-bottom:8px; color:var(--white); }
.elux-entry-cats { font-size:.78rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--gold); margin-bottom:10px; }
.elux-entry-meta { font-size:.83rem; color:var(--txt2); display:flex; gap:14px; flex-wrap:wrap; margin-bottom:22px; }
.elux-entry-thumb { border-radius:20px; overflow:hidden; margin-bottom:28px; }
.elux-entry-thumb img { width:100%; }
.elux-entry-content { font-size:1.05rem; line-height:1.82; color:var(--txt); }
.elux-entry-content > * + * { margin-top:1.2em; }
.elux-entry-content h2 { font-size:1.7rem; margin-top:2.2em; color:var(--white); }
.elux-entry-content h3 { font-size:1.35rem; margin-top:1.8em; color:var(--white); }
.elux-entry-content a { color:var(--gold); text-decoration:underline; text-underline-offset:3px; }
.elux-entry-content ul { list-style:disc; padding-left:1.5em; }
.elux-entry-content ol { list-style:decimal; padding-left:1.5em; }
.elux-entry-content li { margin-bottom:.5em; }
.elux-entry-content blockquote { border-left:3px solid var(--gold); padding:14px 20px; background:var(--bg2); border-radius:0 8px 8px 0; margin:1.5em 0; font-style:italic; color:var(--txt2); }
.elux-entry-content blockquote p { margin:0; }
.elux-entry-content code { background:var(--bg3); padding:2px 6px; border-radius:4px; font-size:.875em; color:var(--gold); font-family:monospace; }
.elux-entry-content pre { background:var(--bg3); padding:20px; border-radius:14px; overflow-x:auto; }
.elux-entry-content img { border-radius:14px; }
.elux-entry-foot { margin-top:44px; padding-top:28px; border-top:1px solid rgba(255,255,255,.08); }
.elux-post-nav .nav-links { display:flex; gap:14px; flex-wrap:wrap; justify-content:space-between; }
.elux-post-nav a { display:flex; flex-direction:column; gap:4px; padding:14px 18px; background:var(--bg2); border:1px solid rgba(255,255,255,.08); border-radius:14px; flex:1; min-width:180px; font-size:.875rem; transition:all .25s cubic-bezier(.4,0,.2,1); color:var(--txt2); }
.elux-post-nav a:hover { border-color:rgba(245,162,19,.3); color:var(--gold); }

/* ── ARCHIVE ── */
.elux-arch-hdr { text-align:center; padding:48px 0 36px; }
.elux-arch-title { font-size:clamp(1.6rem,4vw,2.8rem); font-weight:800; margin-bottom:10px; color:var(--white); }
.elux-arch-desc { font-size:1.05rem; color:var(--txt2); max-width:520px; margin:0 auto 22px; }
.elux-eyebrow { font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); display:block; margin-bottom:10px; }
.elux-cat-bar { display:flex; flex-wrap:wrap; gap:7px; margin-top:16px; justify-content:center; }
.elux-cat-btn { display:inline-flex; align-items:center; gap:5px; font-size:.78rem; font-weight:600; padding:6px 15px; border-radius:999px; border:1px solid rgba(255,255,255,.08); background:var(--bg2); color:var(--txt2); transition:all .25s cubic-bezier(.4,0,.2,1); }
.elux-cat-btn:hover, .elux-cat-btn.is-on { border-color:rgba(245,162,19,.4); color:var(--gold); background:rgba(245,162,19,.12); }
.elux-cat-btn sup { font-size:.7em; opacity:.55; }

/* ── SIDEBAR ── */
.elux-sidebar { padding-top:4px; }
.widget { background:var(--card-bg); border:1px solid rgba(255,255,255,.07); border-radius:20px; padding:20px; margin-bottom:20px; }
.widget-title { font-family:"Playfair Display",Georgia,serif; font-size:.95rem; font-weight:700; color:var(--white); margin-bottom:14px; padding-bottom:10px; border-bottom:1px solid rgba(255,255,255,.08); }
.widget ul li { padding:7px 0; border-bottom:1px solid rgba(255,255,255,.08); }
.widget ul li:last-child { border:none; }
.widget ul li a { color:var(--txt2); font-size:.9rem; }
.widget ul li a:hover { color:var(--gold); }

/* ── PAGINATION ── */
.elux-pagi { padding:36px 0 0; }
.elux-pagi .nav-links { display:flex; gap:6px; justify-content:center; flex-wrap:wrap; }
.elux-pagi .page-numbers { display:flex; align-items:center; justify-content:center; min-width:40px; height:40px; padding:0 12px; border-radius:8px; font-size:.875rem; font-weight:600; border:1px solid rgba(255,255,255,.08); background:var(--bg2); color:var(--txt2); transition:all .25s cubic-bezier(.4,0,.2,1); }
.elux-pagi .page-numbers:hover { border-color:rgba(245,162,19,.3); color:var(--gold); }
.elux-pagi .page-numbers.current { background:var(--gold); color:var(--dk); border-color:var(--gold); font-weight:700; }

/* ── 404 ── */
.elux-404 { text-align:center; padding:96px 0; }
.elux-404-emoji { font-size:4rem; margin-bottom:12px; }
.elux-404-code  { font-family:"Playfair Display",Georgia,serif; font-size:clamp(5rem,12vw,9rem); font-weight:800; color:var(--gold); line-height:1; margin-bottom:14px; }
.elux-404-msg   { font-size:1.1rem; color:var(--txt2); max-width:440px; margin:0 auto 28px; }
.elux-404-btns  { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-bottom:28px; }
.elux-not-found { text-align:center; padding:64px 0; color:var(--txt2); }
.elux-not-found h1 { color:var(--white); margin-bottom:12px; }
.elux-empty     { text-align:center; padding:56px; color:var(--txt2); font-style:italic; background:var(--bg2); border:1px dashed rgba(255,255,255,.08); border-radius:20px; }

/* ── COMMENTS ── */
.elux-comments { margin-top:44px; padding-top:36px; border-top:1px solid rgba(255,255,255,.08); }
.elux-comments-title { font-family:"Playfair Display",Georgia,serif; font-size:1.4rem; margin-bottom:28px; color:var(--white); }
.elux-comment-list { display:flex; flex-direction:column; gap:18px; margin-bottom:36px; }
.elux-comment { padding:18px; background:var(--bg2); border-radius:14px; }
.elux-cm-inner { display:flex; gap:12px; }
.elux-cm-inner img { border-radius:50%; flex-shrink:0; }
.elux-cm-meta { display:flex; gap:10px; align-items:baseline; margin-bottom:6px; flex-wrap:wrap; }
.elux-cm-meta strong { font-size:.95rem; color:var(--white); }
.elux-cm-meta time { font-size:.75rem; color:var(--txt2); }
.elux-cm-text p { font-size:.92rem; color:var(--txt2); margin:0; }
.elux-reply-title { font-family:"Playfair Display",Georgia,serif; font-size:1.3rem; margin-bottom:18px; color:var(--white); }
.comment-form { display:flex; flex-direction:column; gap:14px; }
.comment-form p { margin:0; }
.comment-form label { display:block; font-size:.78rem; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:var(--txt2); margin-bottom:5px; }
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea { width:100%; background:var(--bg2); border:1px solid rgba(255,255,255,.08); border-radius:8px; padding:10px 13px; font-family:"Inter",system-ui,sans-serif; font-size:.95rem; color:var(--txt); transition:border-color .15s cubic-bezier(.4,0,.2,1); }
.comment-form input:focus,.comment-form textarea:focus { outline:none; border-color:var(--gold); }
.comment-form .elux-btn { margin-top:6px; }

/* ── FOOTER ── */
.elux-footer { background:var(--dk); border-top:1px solid rgba(255,255,255,.06); }
.elux-footer-widgets { padding:56px 0 32px; }
.elux-fw-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:36px; }
.fw-title { font-family:"Inter",system-ui,sans-serif; font-size:.8rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.35); margin-bottom:14px; }
.fw ul li { padding:6px 0; border-bottom:1px solid rgba(255,255,255,.06); }
.fw ul li:last-child { border:none; }
.fw ul li a { color:rgba(255,255,255,.45); font-size:.875rem; transition:color .15s cubic-bezier(.4,0,.2,1); }
.fw ul li a:hover { color:var(--gold); }
.elux-footer-bar { border-top:1px solid rgba(255,255,255,.07); padding:22px 0; }
.elux-footer-bar-inner { display:flex; align-items:center; gap:24px; flex-wrap:wrap; justify-content:space-between; }
.elux-footer-brand { display:flex; flex-direction:column; gap:3px; }
.elux-footer-name { font-family:"Playfair Display",Georgia,serif; font-size:1.05rem; font-weight:700; color:var(--white); }
.elux-footer-tl { font-size:.78rem; color:rgba(255,255,255,.3); }
.elux-footer-nav .elux-footer-menu { display:flex; gap:16px; flex-wrap:wrap; }
.elux-footer-nav .elux-footer-menu a { font-size:.82rem; color:rgba(255,255,255,.35); transition:color .15s cubic-bezier(.4,0,.2,1); }
.elux-footer-nav .elux-footer-menu a:hover { color:var(--gold); }
.elux-copy { font-size:.76rem; color:rgba(255,255,255,.25); }

/* ════════════════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════════════════ */

/* ── Tablet largo ≤ 1024px ── */
@media (max-width: 1024px) {
  .elux-layout-sb { grid-template-columns: 1fr; }
  .elux-sidebar   { display: none; }
  .elux-db-titulo { font-size: .82rem; }
  .elux-db-preco  { font-size: .82rem; }
}

/* ── Tablet ≤ 768px ── */
@media (max-width: 768px) {

  /* ─── MENU MOBILE: dropdown horizontal abaixo do header ─── */
  .elux-nav {
    display: none;
    position: fixed;
    top: 66px;              /* logo abaixo do header (height: 66px) */
    left: 0;
    right: 0;
    background: var(--bg);
    border-top: 2px solid var(--gold);
    border-bottom: 1px solid rgba(255,255,255,.1);
    box-shadow: 0 6px 24px rgba(0,0,0,.5);
    z-index: 700;
    overflow-x: auto;       /* scroll horizontal se necessário */
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }
  .elux-nav.open { display: block; }

  /* Menu em LINHA HORIZONTAL — não em coluna */
  .elux-nav .elux-menu {
    display: flex;
    flex-direction: row;     /* ← HORIZONTAL */
    flex-wrap: nowrap;       /* ← em uma única linha */
    align-items: stretch;
    gap: 0;
    padding: 0 8px;
    min-width: max-content; /* permite scroll se não couber */
  }
  .elux-nav .elux-menu > li { flex-shrink: 0; }
  .elux-nav .elux-menu > li > a {
    display: flex;
    align-items: center;
    padding: 14px 16px;
    font-size: .9rem;
    font-weight: 600;
    color: var(--txt);
    white-space: nowrap;
    border-bottom: none;
    border-radius: 0;
    transition: color .15s, background .15s;
  }
  .elux-nav .elux-menu > li > a:hover,
  .elux-nav .elux-menu > li.current-menu-item > a,
  .elux-nav .elux-menu > li.current_page_item > a {
    color: var(--gold);
    background: rgba(245,162,19,.08);
  }

  /* Submenu: dropdown normal abaixo do item */
  .elux-nav .elux-menu li ul {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 180px;
    background: var(--bg2);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 0 0 10px 10px;
    padding: 6px;
    box-shadow: 0 8px 24px rgba(0,0,0,.5);
    opacity: 0; visibility: hidden; pointer-events: none;
    transform: translateY(-4px);
    transition: all .2s;
    z-index: 800;
  }
  .elux-nav .elux-menu li:hover > ul,
  .elux-nav .elux-menu li:focus-within > ul {
    opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0);
  }
  .elux-nav .elux-menu li ul li a {
    display: block; padding: 9px 12px; font-size: .85rem;
    color: var(--txt2); border-bottom: none; border-radius: 6px;
  }
  .elux-nav .elux-menu li ul li a:hover { background: var(--bg3); color: #fff; }

  .elux-burger { display: flex; }
  .elux-footer-bar-inner { flex-direction: column; text-align: center; gap: 12px; }
  .elux-footer-nav .elux-footer-menu { justify-content: center; }

  /* ─────────────────────────────────────────────────────
     BARRA DE DESTAQUE MOBILE
     Linha 1 (esquerda): ⚡ LANÇAMENTO  Título do e-book
     Linha 2 (direita) : De R$X por R$Y  [Ver E-book →]
  ───────────────────────────────────────────────────── */
  .elux-db-inner {
    flex-wrap: wrap;
    padding: 8px 16px;
    gap: 4px;
  }

  /* Linha 1 — badge + título ocupam toda a largura */
  .elux-db-esquerda {
    flex: 1 1 100%;
    gap: 6px;
    overflow: hidden;
  }
  /* Oculta sep e preços na linha esquerda — vão para a direita */
  .elux-db-sep   { display: none; }
  .elux-db-preco { display: none; }

  /* Linha 2 — preço + botão alinhados à direita */
  .elux-db-direita {
    flex: 1 1 100%;
    justify-content: flex-end;
    gap: 8px;
  }
  /* Mostra o preço dentro da direita no mobile usando pseudo-clone via PHP não é viável,
     então reposicionamos via CSS: elux-db-preco-mobile */
  .elux-db-preco-mobile {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: .8rem;
    font-weight: 500;
    color: var(--dk);
    white-space: nowrap;
  }
  .elux-db-preco-mobile del   { opacity: .6; text-decoration: line-through; }
  .elux-db-preco-mobile strong { font-weight: 800; }

  .elux-db-titulo { font-size: .82rem; font-weight: 700; }
  .elux-db-btn    { font-size: .78rem; padding: 6px 14px; }
}

/* ── Mobile pequeno ≤ 480px ── */
@media (max-width: 480px) {
  .elux-g3, .elux-g4 { grid-template-columns: 1fr; }

  .elux-db-inner  { padding: 6px 12px; gap: 3px; }
  .elux-db-flash  { display: none; }
  .elux-db-badge  { font-size: .55rem; padding: 2px 7px; }
  .elux-db-titulo { font-size: .76rem; }
  .elux-db-off    { display: none; }
  .elux-db-btn    { font-size: .74rem; padding: 5px 11px; }
  .elux-db-btn svg { display: none; }
  /* Esconde preço DE (só mostra POR) para ganhar espaço */
  .elux-db-preco-mobile del { display: none; }
  .elux-db-preco-mobile { font-size: .75rem; }
}


