.cjp-footer__identity { min-width: 0; }
.cjp-footer__identity > p { margin-block: .55rem; }
.cjp-footer__quote { max-width: 38rem; margin: 1rem 0; padding-left: 1rem; border-left: .22rem solid #d8b267; font-family: Georgia, serif; font-size: clamp(1.05rem, 2vw, 1.25rem); line-height: 1.5; }
.cjp-footer__quote p { margin: 0; }
.cjp-footer__legal { display: grid; gap: .1rem; font-size: .95rem; line-height: 1.45; }
.cjp-footer__legal span { display: block; }
@media (min-width: 60rem) {
  .cjp-footer__inner { grid-template-columns: minmax(22rem, 1.55fr) minmax(12rem, .8fr) minmax(12rem, .8fr); }
}

/* Cabeçalho desktop: marca em cima, navegação legível em uma faixa própria. */
@media (min-width: 80rem) {
  .cjp-header__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    row-gap: .15rem;
    padding-top: .45rem;
  }
  .cjp-logo-horizontal-frame { width: 21.5rem; height: 4.35rem; }
  .cjp-logo-horizontal-frame img { width: 24rem; }
  .cjp-header .cjp-desktop-links {
    width: 100%;
    min-height: 3.6rem;
    margin: 0;
    padding: .25rem 0;
    justify-content: space-between;
    gap: clamp(.3rem, .6vw, .7rem);
    border-top: 1px solid var(--cjp-border);
  }
  .cjp-header .cjp-desktop-links > a,
  .cjp-header .cjp-desktop-group > summary {
    padding: .55rem .2rem;
    font-size: 1rem;
    line-height: 1.25;
  }
  .cjp-header .cjp-desktop-links .cjp-button {
    padding: .5rem .8rem;
    font-size: 1rem;
  }
  .cjp-header .cjp-desktop-group li a { font-size: .95rem; }
}

/* O bloco editorial mantém linhas confortáveis sem transformar parágrafos em cards. */
main#conteudo .wp-block-post-content > .cjp-page-text {
  width: min(100%, 50rem) !important;
  max-width: 50rem !important;
  margin-inline: auto;
}
.cjp-page-text p { margin-block: 0 1.25rem; }
.cjp-page-text h2 { margin-block: 2.3rem .85rem; font-size: clamp(1.5rem, 3vw, 2rem); }
.cjp-page-text .cjp-info-note {
  margin-block: .5rem 1.25rem;
  padding: .9rem 1.15rem;
  border-left: .3rem solid var(--cjp-forest);
  background: var(--cjp-sage);
  font-weight: 700;
}

/* Entre notebook estreito e desktop amplo, o menu recolhe antes de comprimir. */
@media (min-width: 60rem) and (max-width: 79.999rem) {
  .cjp-header .cjp-desktop-links { display: none !important; }
  .cjp-header .cjp-menu { display: block !important; }
  .cjp-header .cjp-menu > summary { display: inline-flex !important; }
  .cjp-header .cjp-menu:not([open]) > .cjp-nav { display: none !important; }
  .cjp-header .cjp-menu[open] > .cjp-nav { display: block !important; position: absolute; top: 100%; left: 0; right: 0; padding: 1rem max(1rem, calc((100% - var(--cjp-max))/2)); background: var(--cjp-paper); border-top: 1px solid var(--cjp-border); box-shadow: var(--cjp-shadow); max-height: calc(100vh - 5.25rem); overflow-y: auto; }
  .cjp-header .cjp-nav > ul { display: grid; }
  .cjp-header .cjp-nav details { border-top: 1px solid var(--cjp-border); }
  .cjp-header .cjp-nav details ul { position: static; border: 0; box-shadow: none; padding-left: 1rem; }
  .cjp-header .cjp-nav a, .cjp-header .cjp-nav summary { display: flex; min-height: 44px; align-items: center; padding: .6rem .7rem; font-size: 1rem; }
}

main#conteudo .wp-block-post-content > .cjp-institutional-text { width: min(100%, 50rem) !important; max-width: 50rem !important; margin-inline: auto; }
.cjp-institutional-text p { margin-block: 0 1.25rem; }
.cjp-institutional-text h2 { margin: 2.2rem 0 .8rem; font-size: clamp(1.45rem, 3vw, 2rem); }
