/* Cabecalho publico unico: landing, blog, central, ferramentas e diagnosticos. */
:root{
  --public-content-max:1200px;
  --public-gutter:24px;
  --public-header-height:80px;
  --public-navy:#0f2342;
  --public-blue:#0879ee;
  --public-blue-soft:#e9f4ff;
  --public-line:rgba(57,105,165,.18);
}

html,body{overflow-x:clip}

.public-site-header{
  position:sticky;
  top:0;
  z-index:1200;
  width:100vw;
  max-width:none;
  min-height:var(--public-header-height);
  display:grid;
  grid-template-columns:minmax(235px,1fr) auto minmax(180px,1fr);
  align-items:center;
  gap:22px;
  padding:8px max(var(--public-gutter),calc((100vw - var(--public-content-max))/2));
  background:rgba(247,251,255,.96);
  border:0;
  border-bottom:1px solid var(--public-line);
  border-radius:0;
  box-shadow:0 8px 26px rgba(15,47,89,.09);
  backdrop-filter:blur(18px) saturate(1.14);
  -webkit-backdrop-filter:blur(18px) saturate(1.14);
  isolation:isolate;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}

.public-site-header .public-brand{
  display:flex;
  align-items:center;
  justify-self:start;
  gap:8px;
  color:var(--public-navy);
  text-decoration:none;
  white-space:nowrap;
}
.public-site-header .public-brand-logo{
  width:60px!important;
  height:60px!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 60px;
  padding:0!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.public-site-header .public-brand-logo img{width:100%;height:100%;display:block;object-fit:contain}
.public-site-header .public-brand strong{display:inline-flex;align-items:baseline;gap:1px;margin:0!important;font-size:18px!important;line-height:1!important;letter-spacing:0!important;color:var(--public-navy)}
.public-site-header .public-brand b{font-weight:900}
.public-site-header .public-brand em{font-style:normal;font-weight:500;opacity:.76}

.public-site-header .landing-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  justify-self:center;
  gap:4px;
  margin:0;
}
.public-site-header .landing-nav details{position:relative}
.public-site-header .landing-nav summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:10px 13px;
  border-radius:9px;
  color:#182b4b;
  font-size:14px;
  font-weight:800;
  white-space:nowrap;
  transition:background .18s ease,color .18s ease;
}
.public-site-header .landing-nav summary::-webkit-details-marker{display:none}
.public-site-header .landing-nav summary::after{content:'\2304';font-size:15px;line-height:1;transition:transform .18s ease}
.public-site-header .landing-nav summary:hover{background:rgba(8,121,238,.07);color:#066ce6}
.public-site-header .landing-nav details[open] summary{background:rgba(8,121,238,.11);color:#066ce6}
.public-site-header .landing-nav details[open] summary::after{transform:rotate(180deg)}
.public-site-header .landing-nav-menu{
  position:absolute;
  z-index:1210;
  top:calc(100% + 10px);
  left:0;
  min-width:238px;
  padding:8px;
  border:1px solid rgba(124,156,211,.28);
  border-radius:12px;
  background:#fff;
  box-shadow:0 20px 42px rgba(14,40,94,.18);
}
.public-site-header .landing-nav-menu::before{content:'';position:absolute;left:0;right:0;top:-12px;height:12px}
.public-site-header .landing-nav-menu a{display:block;padding:11px 12px;border-radius:8px;color:#243558;text-decoration:none;font-size:13px;font-weight:700}
.public-site-header .landing-nav-menu a:hover,.public-site-header .landing-nav-menu a:focus-visible{background:var(--public-blue-soft);color:#066ce6;outline:0}

.public-site-header .public-login{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  justify-self:end;
  min-height:44px;
  padding:11px 18px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:9px;
  background:var(--public-blue);
  color:#fff;
  text-decoration:none;
  font-size:13px;
  font-weight:900;
  box-shadow:0 10px 24px rgba(8,121,238,.20);
  white-space:nowrap;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.public-site-header .public-login:hover{transform:translateY(-2px);background:#066ce6;box-shadow:0 15px 30px rgba(8,121,238,.28)}
.public-site-header .public-header-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  justify-self:end;
  gap:10px;
  min-width:0;
}
.public-site-header .public-header-actions .central-account-trigger{
  width:auto;
  min-height:44px;
  flex:0 0 auto;
}
.public-site-header a:focus-visible,.public-site-header button:focus-visible,.public-site-header summary:focus-visible{outline:3px solid rgba(8,121,238,.28);outline-offset:2px}

.public-menu-toggle{display:none;width:42px;height:42px;place-items:center;border:1px solid var(--public-line);border-radius:9px;background:#fff;color:#12345c;font-size:21px;font-weight:900}

/* Uma unica regua de conteudo para todas as paginas publicas. */
.landing-shell{width:100%;max-width:var(--public-content-max)!important;margin-inline:auto!important}
.central-shell{width:100%;max-width:calc(var(--public-content-max) + (var(--public-gutter) * 2))!important;margin-inline:auto!important}
.blog-shell:not(.public-site-header){width:min(var(--public-content-max),calc(100% - (var(--public-gutter) * 2)))!important;margin-inline:auto!important}
.landing-shell>.public-site-header{margin-top:-24px;margin-bottom:0}
.central-shell>.public-site-header{margin-top:-22px;margin-bottom:26px}
.blog-shell.public-site-header{margin-top:0;margin-bottom:26px}

@media(max-width:1080px){
  .public-site-header{grid-template-columns:minmax(210px,1fr) auto minmax(150px,1fr);gap:12px}
  .public-site-header .landing-nav summary{padding-inline:9px;font-size:13px}
}

@media(max-width:980px){
  :root{--public-header-height:72px;--public-gutter:18px}
  .public-site-header{grid-template-columns:auto 1fr auto;gap:10px;min-height:var(--public-header-height);padding:6px var(--public-gutter)}
  .public-site-header .public-brand-logo{width:56px!important;height:56px!important;flex-basis:56px}
  .public-site-header .public-brand strong{font-size:17px!important}
  .public-menu-toggle{display:grid;justify-self:end;grid-column:2;grid-row:1}
  .public-site-header .public-header-actions{grid-column:3;grid-row:1}
  .public-site-header .public-login{grid-column:auto;grid-row:auto}
  .public-site-header .landing-nav{display:none;grid-column:1/-1;grid-row:2;align-items:stretch;justify-content:stretch;justify-self:stretch;padding:8px 0 4px}
  .public-site-header.is-menu-open .landing-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .public-site-header .landing-nav summary{justify-content:space-between;background:rgba(255,255,255,.72)}
  .public-site-header .landing-nav-menu{position:static;margin-top:6px;min-width:0;box-shadow:none}
  .public-site-header .landing-nav-menu::before{display:none}
}

@media(max-width:620px){
  :root{--public-gutter:16px}
  .public-site-header{grid-template-columns:minmax(0,1fr) auto;align-items:center}
  .public-site-header .public-brand-logo{width:52px!important;height:52px!important;flex-basis:52px}
  .public-site-header .public-brand strong{font-size:15px!important}
  .public-site-header .public-header-actions{grid-column:1/-1;grid-row:2;justify-self:stretch;justify-content:stretch}
  .public-site-header .public-header-actions .public-login{grid-column:auto;grid-row:auto;width:100%;min-height:40px}
  .public-site-header .public-header-actions .central-account-trigger{min-height:40px}
  .public-menu-toggle{grid-column:2;grid-row:1}
  .public-site-header .landing-nav{grid-row:3}
  .public-site-header.is-menu-open .landing-nav{grid-template-columns:1fr}
  .landing-shell>.public-site-header{margin-top:-18px}
  .central-shell>.public-site-header{margin-top:-16px;margin-bottom:20px}
  .blog-shell.public-site-header{margin-top:0;margin-bottom:20px}
}
