/* ============================================================
   Hub Católico — Menu unificado (injetado por hubmenu.js)
   Hospedado em hubcatolico.com/assets/ · usado por TODOS os sites
   ============================================================ */
#hubmenu{position:sticky;top:0;z-index:1000;background:rgba(24,22,20,.97);backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(255,255,255,.08);font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
#hubmenu *{box-sizing:border-box}
.hm-in{max-width:1280px;margin:0 auto;display:flex;align-items:center;gap:8px;padding:9px 20px}
.hm-logo{display:flex;align-items:center;flex-shrink:0}
.hm-logo img{height:26px;width:auto;display:block}
.hm-nav{display:flex;align-items:center;gap:2px;margin-left:14px}
.hm-nav a,.hm-drop>button{color:#e7e1d8;font:500 14px/1 inherit;text-decoration:none;background:none;border:0;
  cursor:pointer;padding:8px 11px;border-radius:8px;display:flex;align-items:center;gap:5px;white-space:nowrap;
  opacity:.86;transition:background .12s,opacity .12s}
.hm-nav a:hover,.hm-drop>button:hover{opacity:1;background:rgba(255,255,255,.07)}
.hm-nav a.active{opacity:1;color:#fff;background:rgba(255,255,255,.1)}
.hm-spacer{margin-left:auto}
.hm-side{display:flex;gap:2px}
.hm-side a{color:#b8b0a4;font:500 12.5px/1 inherit;text-decoration:none;padding:7px 9px;border-radius:7px;opacity:.8}
.hm-side a:hover{opacity:1;background:rgba(255,255,255,.07);color:#fff}
.hm-side a.active{color:#fff;opacity:1}
/* dropdown */
.hm-drop{position:relative}
.hm-drop>button .chev{transition:transform .15s}
.hm-drop:hover>button .chev,.hm-drop:focus-within>button .chev{transform:rotate(180deg)}
.hm-menu{position:absolute;top:calc(100% + 6px);left:0;background:#fffdfa;color:#1c1a17;border-radius:14px;
  box-shadow:0 24px 60px rgba(0,0,0,.32);padding:14px;width:min(620px,92vw);display:none;
  grid-template-columns:1fr 1fr;gap:6px 22px;border:1px solid #e7ddcf}
.hm-drop:hover .hm-menu,.hm-drop:focus-within .hm-menu{display:grid}
.hm-menu.cols1{grid-template-columns:1fr;width:min(300px,92vw)}
.hm-menu.cols3{grid-template-columns:repeat(3,1fr);width:min(700px,94vw)}
.hm-menu.cols1 .hm-grp{break-inside:auto}
.hm-grp{break-inside:avoid}
.hm-grp h4{font:600 10.5px/1 inherit;letter-spacing:.14em;text-transform:uppercase;color:#9a8f80;margin:8px 4px 4px}
.hm-menu a{display:block;padding:7px 10px;border-radius:8px;text-decoration:none;color:#1c1a17;font-size:13.5px;line-height:1.25}
.hm-menu a:hover{background:#f5f0e6}
.hm-menu a.active{background:#f0e7d6;font-weight:600}
.hm-menu a small{display:block;color:#9a8f80;font-size:11px;margin-top:1px}
.hm-burger{display:none;margin-left:auto;background:none;border:0;color:#e7e1d8;cursor:pointer;padding:8px;border-radius:8px}
.hm-burger:hover{background:rgba(255,255,255,.08)}
@media(max-width:920px){
  /* menu mobile flui em coluna (nada absoluto → nada se sobrepõe) */
  .hm-in{flex-wrap:wrap}
  .hm-burger{display:block}
  .hm-spacer{display:none}
  .hm-nav,.hm-side{display:none;flex-basis:100%;width:100%;margin-left:0}
  #hubmenu.open .hm-nav{display:flex;flex-direction:column;align-items:stretch;gap:2px;margin-top:8px;max-height:72vh;overflow-y:auto}
  #hubmenu.open .hm-side{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}
  .hm-nav a,.hm-drop>button{width:100%;justify-content:space-between;padding:11px 12px;opacity:1}
  .hm-drop{position:static;width:100%}
  .hm-drop.open>button .chev{transform:rotate(180deg)}
  /* dropdown abre por TOQUE (.open) e vira painel escuro inline */
  .hm-menu,.hm-menu.cols1,.hm-menu.cols3{position:static;display:none;grid-template-columns:1fr;box-shadow:none;width:auto;
    background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:8px;margin:2px 0 8px}
  .hm-drop.open .hm-menu{display:grid!important}
  .hm-menu a{color:#e7e1d8}
  .hm-menu a:hover,.hm-menu a.active{background:rgba(255,255,255,.08)}
  .hm-menu a small,.hm-grp h4{color:#b0a890}
}
