/* ===================== CRBio-01 — cabeçalho e menu v3 (uma linha, mega-menu) ===================== */
.site-header { box-shadow: 0 1px 0 var(--wp--preset--color--line); }
.header-row { gap: 1.5rem !important; }
.header-row > .brand { flex: none; }
.header-row > .main-nav { flex: 1 1 auto; min-width: 0; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.header-tools { flex: none; gap: .6rem !important; }
.brand-selo { display: none; }

/* busca compacta que expande no foco */
.header-search .wp-block-search__inside-wrapper { border: 1px solid var(--wp--preset--color--line); border-radius: 999px; padding: 2px 2px 2px 12px; background: var(--wp--preset--color--surface); transition: width .25s ease, box-shadow .2s; width: 150px; }
.header-search .wp-block-search__inside-wrapper:focus-within { width: 300px; box-shadow: var(--crbio-shadow-sm); border-color: var(--wp--preset--color--primary); }
.header-search .wp-block-search__input { border: 0; background: transparent; font-size: .88rem; min-width: 0; width: 100%; padding: .35rem .2rem; }
.header-search .wp-block-search__button { border-radius: 999px; background: var(--wp--preset--color--primary); color: #fff; border: 0; width: 34px; height: 34px; padding: 0; display: grid; place-items: center; }
.header-search .wp-block-search__button svg { width: 16px; height: 16px; }

/* CTA */
.header-cta { display: inline-flex; align-items: center; gap: .4rem; white-space: nowrap; background: var(--wp--preset--color--primary); color: #fff !important; text-decoration: none; font-weight: 700; font-size: .9rem; padding: .6rem 1.1rem; border-radius: 999px; box-shadow: 0 8px 20px -10px rgba(0,132,87,.7); transition: background .2s, transform .2s; }
.header-cta:hover { background: var(--wp--preset--color--primary-dark); transform: translateY(-1px); }

/* itens de 1º nível: sublinhado que desliza */
.main-nav .wp-block-navigation__container { gap: 0 .15rem; justify-content: center; }
nav.main-nav ul.wp-block-navigation__container > li > .wp-block-navigation-item__content { padding: .7rem .7rem; border-radius: 8px; position: relative; font-weight: 600; font-size: .92rem; background: transparent !important; color: var(--wp--preset--color--ink); transition: color .18s; }
nav.main-nav ul.wp-block-navigation__container > li > .wp-block-navigation-item__content::after { content: "" !important; display: block !important; position: absolute; left: .7rem; right: .7rem; bottom: .35rem; height: 2px; border-radius: 2px; background: var(--wp--preset--color--primary); transform: scaleX(0); transform-origin: left; transition: transform .22s ease; }
nav.main-nav ul.wp-block-navigation__container > li:hover > .wp-block-navigation-item__content,
nav.main-nav ul.wp-block-navigation__container > li:focus-within > .wp-block-navigation-item__content,
nav.main-nav ul.wp-block-navigation__container > li.current-menu-ancestor > .wp-block-navigation-item__content,
nav.main-nav ul.wp-block-navigation__container > li.current-menu-item > .wp-block-navigation-item__content { color: var(--wp--preset--color--primary-dark); }
nav.main-nav ul.wp-block-navigation__container > li:hover > .wp-block-navigation-item__content::after,
nav.main-nav ul.wp-block-navigation__container > li:focus-within > .wp-block-navigation-item__content::after,
nav.main-nav ul.wp-block-navigation__container > li.current-menu-ancestor > .wp-block-navigation-item__content::after,
nav.main-nav ul.wp-block-navigation__container > li.current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.main-nav .wp-block-navigation__submenu-icon { margin-left: .15rem; opacity: .6; transition: transform .25s ease, opacity .2s; }
.main-nav .wp-block-navigation__submenu-icon svg { width: 9px; height: 9px; stroke-width: 2.4; }
.main-nav li:hover > .wp-block-navigation-item__content .wp-block-navigation__submenu-icon,
.main-nav li:hover > .wp-block-navigation__submenu-icon { transform: rotate(180deg); opacity: 1; }
.main-nav .nav-cta { display: none; }

/* painel mega-menu */
.main-nav.wp-block-navigation .wp-block-navigation__submenu-container {
  margin-top: 12px; padding: 1.1rem; min-width: 340px !important; width: max-content !important; max-width: 760px;
  border: 1px solid var(--wp--preset--color--line); border-radius: 18px; background: #fff;
  box-shadow: 0 30px 60px -28px rgba(10,46,31,.45), 0 4px 12px -6px rgba(10,46,31,.12);
  opacity: 0; visibility: hidden; transform: translateY(10px); transform-origin: top left;
  transition: opacity .22s ease, transform .22s ease, visibility 0s linear .22s;
  display: grid !important; grid-template-columns: 1fr; gap: .15rem; column-count: auto;
}
.main-nav.wp-block-navigation .wp-block-navigation__submenu-container::before { content: ""; position: absolute; top: -7px; left: 28px; width: 14px; height: 14px; background: #fff; transform: rotate(45deg); border-left: 1px solid var(--wp--preset--color--line); border-top: 1px solid var(--wp--preset--color--line); }
.main-nav li:hover > .wp-block-navigation__submenu-container, .main-nav li:focus-within > .wp-block-navigation__submenu-container { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.main-nav .wp-block-navigation-submenu > .wp-block-navigation-item__content::before { content: ""; position: absolute; left: 0; right: 0; bottom: -16px; height: 16px; }
.main-nav.wp-block-navigation .wp-block-navigation__submenu-container.is-large { width: 700px !important; grid-template-columns: 1fr 1fr; column-gap: .75rem; }
.main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item { display: block; break-inside: avoid; }
.main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { display: flex; align-items: center; gap: .6rem; padding: .55rem .7rem; border-radius: 10px; font-weight: 500; font-size: .9rem; color: var(--wp--preset--color--ink); transition: background .15s, color .15s, padding-left .15s; }
.main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--wp--preset--color--line); flex: none; transition: background .15s, transform .15s; position: static; }
.main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content::after { display: none !important; }
.main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover, .main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--primary-dark); padding-left: .9rem; }
.main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover::before { background: var(--wp--preset--color--primary); transform: scale(1.3); }
.main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__label { white-space: normal; line-height: 1.3; }

/* cabeçalho do painel (título + descrição) e rodapé (ver tudo), injetados pelo JS */
.mega-head { grid-column: 1 / -1; display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: .25rem .7rem .85rem; margin-bottom: .5rem; border-bottom: 1px solid var(--wp--preset--color--line); }
.mega-head strong { display: block; font-family: var(--wp--preset--font-family--display); font-size: 1.05rem; color: var(--wp--preset--color--primary-deep); }
.mega-head span { display: block; font-size: .82rem; color: var(--wp--preset--color--muted); margin-top: .15rem; max-width: 46ch; }
.mega-head a { flex: none; font-size: .8rem; font-weight: 700; text-decoration: none; color: var(--wp--preset--color--primary-dark); padding: .4rem .75rem; border-radius: 999px; background: var(--wp--preset--color--primary-light); white-space: nowrap; }
.mega-head a:hover { background: var(--wp--preset--color--primary); color: #fff; }

/* ---------- Mobile ---------- */
@media (max-width: 1100px) {
  .header-search { display: none; }
  .brand-sub { display: none; }
}
@media (max-width: 781px) {
  .header-row { gap: .75rem !important; }
  .header-cta { display: none; }
  .header-row > .main-nav { flex: none; }
  .wp-block-navigation__responsive-container-open { color: var(--wp--preset--color--primary-deep); }
  .wp-block-navigation__responsive-container.is-menu-open { background: #fff; padding: 1.25rem 1.25rem 2rem; }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 2.5rem; }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { display: flex; flex-direction: column; gap: .25rem; align-items: stretch; }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { padding: .7rem .6rem !important; border-radius: 10px; font-size: 1.05rem; width: 100%; }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::after { display: none !important; }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container,
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.is-large { opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; border-left: 2px solid var(--wp--preset--color--primary-light); border-radius: 0; margin: .25rem 0 .5rem .75rem; padding: 0 0 0 .5rem; min-width: 0 !important; width: auto !important; max-width: none; grid-template-columns: 1fr; display: flex !important; flex-direction: column; background: transparent; }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container::before { display: none; }
  .wp-block-navigation__responsive-container.is-menu-open .mega-head { display: none; }
  .wp-block-navigation__responsive-container.is-menu-open .nav-cta { display: block; margin-top: 1rem; }
  .wp-block-navigation__responsive-container.is-menu-open .nav-cta > .wp-block-navigation-item__content { background: var(--wp--preset--color--primary) !important; color: #fff !important; border-radius: 999px; justify-content: center; }
}

/* painéis escondidos não podem gerar rolagem lateral; últimos itens alinham à direita */
.wp-site-blocks { overflow-x: clip; }
nav.main-nav ul.wp-block-navigation__container > li:nth-last-child(-n+2) > .wp-block-navigation__submenu-container { left: auto; right: 0; transform-origin: top right; }
nav.main-nav ul.wp-block-navigation__container > li:nth-last-child(-n+2) > .wp-block-navigation__submenu-container::before { left: auto; right: 28px; }
/* caber em 1366: itens um pouco mais compactos */
nav.main-nav ul.wp-block-navigation__container > li > .wp-block-navigation-item__content { font-size: .9rem; padding: .7rem .6rem; }
nav.main-nav ul.wp-block-navigation__container > li > .wp-block-navigation-item__content::after { left: .6rem; right: .6rem; }
.header-row { gap: 1.25rem !important; }
.header-search .wp-block-search__inside-wrapper { width: 140px; }
.main-nav .wp-block-navigation__submenu-container > li.mega-head { display: flex !important; }
@media (max-width: 781px) { .wp-block-navigation__responsive-container.is-menu-open .mega-head { display: none !important; } }

/* ===================== v5 — marca à esquerda; à direita: utilidades em cima, linha, menu embaixo ===================== */
.header-bar { padding-top: .7rem !important; padding-bottom: .5rem !important; }
.header-grid { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "brand tools" "brand nav"; column-gap: 2.75rem; align-items: center; }
.header-grid > * { margin-block: 0 !important; }
.header-grid > .brand { grid-area: brand; align-self: center; }
.header-grid .brand-brasao { width: 64px; }
.header-grid .brand-name { font-size: 1.85rem; }
.header-grid .brand-sub { font-size: .8rem; }
.header-grid > .header-tools { grid-area: tools; justify-content: flex-end; padding-bottom: .65rem; border-bottom: 1px solid var(--wp--preset--color--line); }
.header-grid > .header-navrow { grid-area: nav; gap: .35rem !important; padding-top: .3rem; min-width: 0; }
.header-search .wp-block-search__inside-wrapper { width: 260px; }
.header-search .wp-block-search__inside-wrapper:focus-within { width: 340px; }
.header-cta { font-size: .85rem; padding: .5rem 1rem; }
.nav-home { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; color: var(--wp--preset--color--primary-dark); flex: none; transition: background .18s, color .18s; }
.nav-home:hover, .nav-home:focus-visible { background: var(--wp--preset--color--primary-light); color: var(--wp--preset--color--primary); }
.header-navrow > nav.main-nav { margin: 0 !important; padding: 0 !important; border: 0 !important; position: static !important; flex: 1 1 auto; min-width: 0; }
nav.main-nav ul.wp-block-navigation__container { gap: 0 .15rem; justify-content: flex-start; }
nav.main-nav ul.wp-block-navigation__container > li > .wp-block-navigation-item__content { text-transform: uppercase; letter-spacing: .035em; font-size: .84rem; font-weight: 600; padding: .7rem .75rem; color: var(--wp--preset--color--primary-dark); }
nav.main-nav ul.wp-block-navigation__container > li > .wp-block-navigation-item__content::after { left: .75rem; right: .75rem; bottom: .3rem; }
nav.main-nav ul.wp-block-navigation__container > li:hover > .wp-block-navigation-item__content,
nav.main-nav ul.wp-block-navigation__container > li:focus-within > .wp-block-navigation-item__content { color: var(--wp--preset--color--primary); }
nav.main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { text-transform: none; letter-spacing: 0; }

@media (max-width: 1100px) {
  .header-grid { column-gap: 1.5rem; }
  .header-grid .brand-sub { display: none; }
  nav.main-nav ul.wp-block-navigation__container > li > .wp-block-navigation-item__content { font-size: .78rem; padding: .7rem .5rem; letter-spacing: .02em; }
}
@media (max-width: 899.98px) {
  .header-grid { grid-template-areas: "brand tools" "nav nav"; row-gap: .4rem; }
  .header-grid > .header-tools { border-bottom: 0; padding-bottom: 0; }
  .header-grid .brand-brasao { width: 48px; }
  .header-grid .brand-name { font-size: 1.45rem; }
}
/* abaixo de 600px o WP troca o menu pelo botão hambúrguer */
@media (max-width: 599.98px) {
  .header-grid { grid-template-areas: "brand nav"; grid-template-columns: minmax(0, 1fr) auto; }
  .header-grid > .header-tools, .nav-home { display: none; }
  .header-grid > .header-navrow { padding-top: 0; justify-content: flex-end; }
  .header-navrow > nav.main-nav { flex: none; }
}

/* v5.1 — seta colada no rótulo, posição estática (o ul também leva .main-nav) e faixas intermediárias */
.header-navrow .main-nav { position: static !important; }
nav.main-nav ul.wp-block-navigation__container > li.has-child > .wp-block-navigation-item__content { padding-right: .15rem; }
nav.main-nav ul.wp-block-navigation__container > li.has-child > .wp-block-navigation-item__content::after { right: -.9rem; }
nav.main-nav ul.wp-block-navigation__container > li > .wp-block-navigation__submenu-icon { margin: 0 .55rem 0 .1rem; color: var(--wp--preset--color--primary-dark); }
@media (max-width: 1100px) {
  .header-grid { grid-template-areas: "brand tools" "nav nav"; row-gap: .45rem; }
  .header-grid > .header-tools { border-bottom: 0; padding-bottom: 0; }
  .header-grid > .header-navrow { border-top: 1px solid var(--wp--preset--color--line); }
  nav.main-nav ul.wp-block-navigation__container { flex-wrap: wrap !important; }
}
@media (max-width: 599.98px) {
  .header-grid { grid-template-areas: "brand nav"; row-gap: 0; }
  .header-grid > .header-navrow { border-top: 0; }
}
/* caber os 7 itens na coluna do menu (contêiner de 1240px) */
@media (min-width: 1100.02px) {
  .header-grid { column-gap: 2rem; }
  nav.main-nav ul.wp-block-navigation__container { gap: 0; }
  nav.main-nav ul.wp-block-navigation__container > li > .wp-block-navigation-item__content { font-size: .8rem; letter-spacing: .02em; padding: .7rem .55rem; }
  nav.main-nav ul.wp-block-navigation__container > li.has-child > .wp-block-navigation-item__content { padding-right: .1rem; }
  nav.main-nav ul.wp-block-navigation__container > li > .wp-block-navigation-item__content::after { left: .55rem; right: .55rem; }
  nav.main-nav ul.wp-block-navigation__container > li > .wp-block-navigation__submenu-icon { margin-right: .35rem; }
}

/* v5.4 — marca = só a logo oficial do CRBio-01; menu mais à esquerda */
.header-grid { column-gap: 1.6rem; }
.header-grid > .brand { gap: 0; }
.brand-logo { display: block; height: 104px; width: auto; }
@media (min-width: 1100.02px) { .header-grid { column-gap: 1.6rem; } }
@media (max-width: 1100px) { .brand-logo { height: 76px; } }
@media (max-width: 599.98px) { .brand-logo { height: 60px; } }
