/* ============================================================
 * capua-header.css  —  Proposta A: header sticky no flow
 * O .capua-header é position:sticky dentro da área de conteúdo,
 * ao lado do menu fixo. Elimina medição JS de altura.
 * ============================================================ */

/* ── Variáveis globais ──────────────────────────────────────── */
:root {
  --capua-admin-bar: 0px;
  --capua-menu-width: 300px;
  --capua-header-h: 130px;
  --capua-shell-max: 1120px;
  --capua-shell-pad: 28px;
}
body.admin-bar            { --capua-admin-bar: 32px; }
@media (max-width: 782px) {
  :root { --capua-header-h: 96px; --capua-shell-pad: 18px; }
  body.admin-bar { --capua-admin-bar: 46px; }
}

/* ── Header fixo cobrindo toda a faixa à direita do menu ─────── */
/* Usa position:fixed para escapar de containers do tema (Twenty Twenty-Five
 * aplica contentSize ~645px ao .entry-content que envolveria o header). */
body.has-capua-plugin .capua-header {
  position: fixed;
  top: var(--capua-admin-bar, 0px);
  left: var(--capua-menu-width, 300px);
  right: 0;
  z-index: 10020;
  display: block;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
  min-height: var(--capua-header-h, 130px);
  box-sizing: border-box;
  margin: 0 !important;
  max-width: none !important;
  width: auto !important;
  padding: 0 !important;
}
/* Container interno alinhado com o shell do conteúdo (max-width 1120px).
 * Faz com que a logo (esquerda) e a área de usuário (direita) fiquem
 * verticalmente alinhadas com o conteúdo da página abaixo. */
body.has-capua-plugin .capua-header .capua-header-inner{
  max-width: var(--capua-shell-max, 1120px);
  margin: 0 auto;
  padding: 0 var(--capua-shell-pad, 28px);
  display: grid;
  grid-template-columns: minmax(0, auto) 1fr minmax(0, auto);
  align-items: center;
  gap: 1rem;
  width: 100%;
  min-height: var(--capua-header-h, 130px);
  box-sizing: border-box;
}
body.has-capua-plugin .capua-header .capua-header-brand{ justify-self: start; }
body.has-capua-plugin .capua-header .capua-header-center{ min-width: 0; }
body.has-capua-plugin .capua-header .capua-header-user{ justify-self: end; }
@media (max-width: 800px) {
  body.has-capua-plugin .capua-header { left: 0; }
}
/* Compensa altura do header fixo no topo do body */
body.has-capua-plugin{
  padding-top: calc(var(--capua-admin-bar, 0px) + var(--capua-header-h, 70px)) !important;
}

/* ── Oculta elementos do tema ───────────────────────────────── */
body.has-capua-plugin .site-header,
body.has-capua-plugin #masthead,
body.has-capua-plugin header.site-header,
body.has-capua-plugin .bb-header,
body.has-capua-plugin [data-elementor-type="header"],
body.has-capua-plugin nav.wp-block-navigation,
body.has-capua-plugin .wp-site-blocks > header,
body.has-capua-plugin .wp-block-template-part[aria-label="Header"],
body.has-capua-plugin .wp-block-group[aria-label="Header"] { display: none !important; }
body.has-capua-plugin .entry-title,
body.has-capua-plugin .page-title,
body.has-capua-plugin .wp-block-post-title { display: none !important; }

/* ── Normaliza wrappers do tema ─────────────────────────────── */
body.has-capua-plugin .site-content,
body.has-capua-plugin #content,
body.has-capua-plugin .entry-content,
body.has-capua-plugin .wp-block-post-content,
body.has-capua-plugin .page-content,
body.has-capua-plugin .post-content,
body.has-capua-plugin article.hentry,
body.has-capua-plugin main#main,
body.has-capua-plugin #primary,
body.has-capua-plugin .bb-content-area,
body.has-capua-plugin .bb-grid-wrap,
body.has-capua-plugin .wp-site-blocks { padding: 0 !important; margin-top: 0 !important; }
/* Placeholder gerado via JS não deve empurrar conteúdo */
.capua-header-placeholder{height:0 !important; display:block;}
/* Wrapper do painel: evita dupla compensação quando o body já tem padding-top */
#capua-app.capua-page{margin-top:0;} 
body.admin-bar #capua-app.capua-page{margin-top:0;} 
.capua-header-brand{display:flex;flex-direction:column;align-items:center;gap:.12rem}
/* Elimina <p> fantasma que alguns temas/blocos podem injetar dentro do shortcode */
.capua-header-brand > p{display:none !important;margin:0 !important;padding:0 !important;height:0 !important;line-height:0 !important}
.capua-header-logo{max-width:420px;max-height:110px;width:auto;height:auto;object-fit:contain;display:block;margin:0 !important}
@media (max-width:782px){
  .capua-header-logo{max-width:260px;max-height:78px}
}
.capua-header-text-logo{font-size:1.25rem;color:var(--capua-brand,#8B1A1A);letter-spacing:.5px;font-weight:600}
.capua-header-page-label{font-size:.65rem;font-weight:600;color:#475569;letter-spacing:.35px;opacity:.85;text-transform:uppercase;line-height:1.05;margin:0}
.capua-header-page-label::before{content:"";display:block;width:30px;height:2px;background:var(--capua-brand,#8B1A1A);margin:0 auto .12rem;border-radius:2px;opacity:.6}
/* Oculta header do tema e título padrão para liberar espaço visual */
body.has-capua-header .site-header,
body.has-capua-header #masthead,
body.has-capua-header header.site-header{display:none !important}
body.has-capua-header .entry-header,body.has-capua-header .page-header{margin-top:0 !important}
body.has-capua-header .entry-title,body.has-capua-header .page-title{font-size:.001px !important;line-height:0 !important;margin:0 !important;height:0 !important;overflow:hidden !important;opacity:.01 !important}
/* Normaliza o espaço no topo do conteúdo em páginas do plugin (evita “buracos”) */
body.has-capua-plugin .site-content,
body.has-capua-plugin #content,
body.has-capua-plugin .entry-content,
body.has-capua-plugin .wp-site-blocks{margin-top:0 !important;padding-top:4px}
body.has-capua-plugin .entry-content > :first-child,
body.has-capua-plugin .wp-site-blocks > :first-child{margin-top:0 !important}
/* Compensa cabeçalho sticky para alvos de rolagem interna (ancoras) */
body.has-capua-plugin .capua-page [id],
body.has-capua-plugin .entry-content [id],
body.has-capua-plugin .wp-site-blocks [id]{scroll-margin-top:calc(var(--capua-header-h,70px) + var(--capua-admin-bar,0px) + 16px)}
/* Garante pequena aproximação do primeiro bloco das telas do plugin */
body.has-capua-plugin .capua-receipt,
body.has-capua-plugin .capua-my-submissions,
body.has-capua-plugin .capua-eval,
body.has-capua-plugin .capua-submission-form{margin-top:.25rem}
/* Oculta rodapés/títulos globais adicionais (Twenty Twenty-Five / block themes) */
body.has-capua-plugin .wp-site-blocks > footer,
body.has-capua-plugin .wp-site-blocks footer,
body.has-capua-plugin .wp-block-template-part[aria-label="Footer"],
body.has-capua-plugin .wp-block-group[aria-label="Footer"],
body.has-capua-plugin .wp-block-group footer{display:none !important}
/* Não ocultar headers de block themes globalmente; o cabeçalho do tema pode coexistir se necessário.
	Caso precise esconder em páginas específicas, faça via shortcode/JS adicionando classes contextuais. */

/* ── Área de usuário (deslogado e logado) ───────────────────── */
.capua-header-user{display:flex;align-items:center;gap:.5rem;position:relative;}
.capua-header-cta{
  display:inline-flex;align-items:center;justify-content:center;
  font-size:.9rem;font-weight:600;line-height:1.2;
  padding:.45rem .85rem;border-radius:8px;border:1px solid transparent;
  text-decoration:none;cursor:pointer;font-family:inherit;
  transition:background .15s ease,color .15s ease,border-color .15s ease;
}
.capua-header-cta--primary{
  background:var(--capua-brand,#8B1A1A);color:#fff;border-color:var(--capua-brand,#8B1A1A);
}
.capua-header-cta--primary:hover{background:#6f1414;color:#fff;}
.capua-header-cta--ghost{
  background:transparent;color:var(--capua-brand,#8B1A1A);border-color:rgba(139,26,26,.25);
}
.capua-header-cta--ghost:hover{background:rgba(139,26,26,.06);}

/* Trigger logado: avatar + nome + caret */
.capua-header-user-trigger{
  display:inline-flex;align-items:center;gap:.55rem;
  background:transparent;border:1px solid transparent;
  padding:.25rem .5rem .25rem .25rem;border-radius:999px;
  cursor:pointer;font:inherit;color:inherit;line-height:1.1;
}
.capua-header-user-trigger:hover{background:rgba(0,0,0,.04);}
.capua-header-user-trigger[aria-expanded="true"]{background:rgba(139,26,26,.08);}

.capua-header-avatar{
  position:relative;
  width:36px;height:36px;border-radius:50%;
  background:var(--capua-brand,#8B1A1A);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  font-weight:700;font-size:.8rem;letter-spacing:.5px;
  flex:0 0 auto;user-select:none;
}
.capua-header-badge{
  position:absolute;top:-4px;right:-4px;
  min-width:18px;height:18px;padding:0 4px;
  border-radius:999px;background:#DC2626;color:#fff;
  font-size:10px;font-weight:700;line-height:18px;text-align:center;
  box-shadow:0 0 0 2px #fff;
  display:inline-flex;align-items:center;justify-content:center;
}
.capua-header-badge[data-pending="0"]{display:none;}

.capua-header-user-name{
  max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-size:.9rem;font-weight:600;color:#1f2937;
}
.capua-header-caret{
  width:10px;height:7px;color:#6b7280;
  transition:transform .15s ease;flex:0 0 auto;
}
.capua-header-user-trigger[aria-expanded="true"] .capua-header-caret{transform:rotate(180deg);}

/* Dropdown */
.capua-header-dropdown{
  position:absolute;top:calc(100% + 6px);right:0;
  min-width:240px;background:#fff;
  border:1px solid #e5e7eb;border-radius:12px;
  box-shadow:0 10px 30px rgba(0,0,0,.12);
  padding:.35rem 0;z-index:10030;
  animation:capua-dropdown-in .12s ease-out;
}
.capua-header-dropdown[hidden]{display:none;}
@keyframes capua-dropdown-in{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:translateY(0);}}
.capua-header-dropdown-header{
  padding:.6rem .85rem .5rem;border-bottom:1px solid #f1f5f9;
  display:flex;flex-direction:column;gap:2px;margin-bottom:.25rem;
}
.capua-header-dropdown-header strong{color:#1f2937;font-size:.92rem;}
.capua-header-dropdown-email{font-size:.75rem;color:#64748b;}
.capua-header-dropdown-list{list-style:none;padding:0;margin:0;}
.capua-header-dropdown-list a{
  display:flex;align-items:center;justify-content:space-between;
  padding:.55rem .85rem;font-size:.9rem;color:#1f2937;
  text-decoration:none;gap:.5rem;
}
.capua-header-dropdown-list a:hover{background:#f8fafc;}
.capua-header-dropdown-list a:focus-visible{outline:2px solid var(--capua-brand,#8B1A1A);outline-offset:-2px;}
.capua-header-dropdown-sep{height:1px;margin:.35rem 0;background:#f1f5f9;list-style:none;}
.capua-header-dropdown-badge{
  background:#DC2626;color:#fff;font-size:11px;font-weight:700;
  padding:2px 7px;border-radius:999px;min-width:20px;text-align:center;
}

/* Modal de login */
.capua-login-modal-overlay{
  position:fixed;inset:0;background:rgba(15,23,42,.55);
  z-index:10100;display:flex;align-items:center;justify-content:center;
  padding:1rem;animation:capua-modal-fade .18s ease-out;
}
.capua-login-modal-overlay[hidden]{display:none;}
@keyframes capua-modal-fade{from{opacity:0;}to{opacity:1;}}
.capua-login-modal-dialog{
  position:relative;background:#fff;border-radius:14px;
  max-width:420px;width:100%;padding:1.5rem;
  box-shadow:0 20px 60px rgba(0,0,0,.25);
  animation:capua-modal-pop .2s cubic-bezier(.4,.15,.25,1);
}
@keyframes capua-modal-pop{from{opacity:0;transform:scale(.96);}to{opacity:1;transform:scale(1);}}
.capua-login-modal-close{
  position:absolute;top:.6rem;right:.6rem;
  width:32px;height:32px;background:transparent;border:0;border-radius:8px;
  cursor:pointer;color:#64748b;display:inline-flex;align-items:center;justify-content:center;
}
.capua-login-modal-close:hover{background:#f1f5f9;color:#0f172a;}
.capua-login-modal-title{
  margin:0 0 1rem;font-size:1.15rem;color:var(--capua-brand,#8B1A1A);
  font-family:var(--capua-font-serif,Georgia,serif);
}
.capua-login-modal-body label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.5rem;color:#374151;}
.capua-login-modal-body input[type=text],
.capua-login-modal-body input[type=email],
.capua-login-modal-body input[type=password]{
  width:100%;padding:.55rem .7rem;border:1px solid #d1d5db;border-radius:8px;
  margin-top:.25rem;box-sizing:border-box;
}
.capua-login-modal-body p{margin:.6rem 0;}
.capua-login-modal-body .login-remember{font-weight:500;color:#6b7280;display:flex;align-items:center;gap:.4rem;}
.capua-login-modal-body .login-remember input{margin:0;}
.capua-login-modal-body .button-primary,
.capua-login-modal-body input[type=submit]{
  width:100%;background:var(--capua-brand,#8B1A1A);color:#fff;
  border:0;border-radius:8px;padding:.6rem 1rem;
  font-weight:600;cursor:pointer;margin-top:.5rem;font-size:.95rem;
}
.capua-login-modal-body .button-primary:hover,
.capua-login-modal-body input[type=submit]:hover{background:#6f1414;}
.capua-login-modal-actions{
  display:flex;justify-content:space-between;margin-top:1rem;font-size:.85rem;gap:.5rem;
}
.capua-login-modal-actions a{color:#64748b;text-decoration:none;}
.capua-login-modal-actions a:hover{color:var(--capua-brand,#8B1A1A);text-decoration:underline;}

/* Mobile: simplifica área de usuário */
@media (max-width:720px){
  body.has-capua-plugin .capua-header .capua-header-inner{
    grid-template-columns: minmax(0,auto) minmax(0,1fr);
    gap:.5rem;
  }
  body.has-capua-plugin .capua-header .capua-header-center{display:none;}
  .capua-header-user-name{display:none;}
  .capua-header-cta{font-size:.82rem;padding:.4rem .65rem;}
  .capua-header-dropdown{right:-.25rem;min-width:220px;}
  .capua-login-modal-dialog{padding:1.1rem;}
}
