/* PHM UI — contrato visual único para marcas nos cabeçalhos.
   A referência é o PHM Academy: cápsula clara, proporção estável e escala responsiva. */
.phm-logo-slot,
.brand.phm-logo-slot,
.logo-area {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: unset !important;
  padding: 0 !important;
  gap: .65rem;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-decoration: none;
  overflow: visible;
  transition: opacity .2s ease, transform .2s ease;
}

.phm-logo-slot .logo-text,
.phm-tech-logo .brand-wordmark {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

.logo-area .logo-text .logo-title,
.logo-area .logo-text p {
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Variação individual do EduProject: título pedagógico com mais presença. */
.app-logo-eduproject .logo-text .logo-title {
  font-size: 1.08rem !important;
  letter-spacing: -.025em !important;
}
.app-logo-eduproject .logo-text p { font-size: .67rem !important; }

/* Biblioteca: marca curta; o nome do acervo permanece no subtítulo. */
.app-logo-biblioteca .logo-text .logo-title {
  font-size: 1.12rem !important;
  letter-spacing: -.035em !important;
}

/* LogicLab: nome técnico compacto, com o ícone como elemento de apoio. */
.app-logo-logiclab .logo-text .logo-title {
  font-size: 1.12rem !important;
  letter-spacing: -.03em !important;
}

/* Identidades especiais ajustadas individualmente, sem interferir no PHM IA. */
.app-logo-sitemaker .builder-brand-text h1,
.app-logo-quadro .app-brand-title {
  font-weight: 900;
  letter-spacing: -.035em;
}
.app-logo-sitemaker .builder-brand-text h1 { color: #ffffff; }
.app-logo-quadro .app-brand-title { color: #0b1120; }
.app-logo-quadro {
  box-sizing: border-box;
  width: auto !important;
  min-height: unset;
  padding: 0;
  border: 0 !important;
  background: transparent;
  box-shadow: none;
}
.app-logo-quadro .app-brand-wordmark {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: 2.25rem !important;
  object-fit: contain;
}
.app-logo-quadro .app-brand-icon,
.app-logo-quadro .app-brand-title {
  display: none !important;
}
.app-logo-quadro-landing .app-brand-wordmark {
  display: block;
  width: auto;
  max-width: 100%;
  height: 2.25rem;
  object-fit: contain;
}
.app-logo-quadro-landing .quadro-brand-icon,
.app-logo-quadro-landing .quadro-brand-text {
  display: none !important;
}

/* Wordmarks gráficos: substituem o trio ícone + título + subtítulo no cabeçalho. */
.app-logo-wordmark {
  display: block;
  width: auto;
  max-width: 100%;
  height: 2.25rem;
  object-fit: contain;
  flex: 0 1 auto;
}
.logo-area:has(.app-logo-wordmark) .logo-icon,
.logo-area:has(.app-logo-wordmark) .logo-text {
  display: none;
}


.phm-logo-slot .logo-text .logo-title,
.phm-logo-slot .logo-text h1 {
  color: #0b1120 !important;
}

.phm-logo-slot .logo-text p {
  color: #64748b !important;
}

/* Wordmark institucional do portal: mesma presença óptica da marca Academy. */
.phm-logo-slot .brand-wordmark {
  align-items: baseline;
  gap: .18rem;
  line-height: 1;
}

.phm-tech-logo .brand-wordmark-main {
  color: #0b1120;
  font-size: 1.92rem;
  font-weight: 900;
  letter-spacing: -.055em;
}

.phm-tech-logo .brand-wordmark-accent {
  color: #0d9488;
  font-size: 1.72rem;
  font-weight: 900;
  letter-spacing: -.06em;
}

.phm-tech-logo-image {
  display: block;
  width: auto !important;
  max-width: 100% !important;
  height: 2.25rem !important;
  max-height: 2.25rem !important;
  object-fit: contain;
}

.phm-logo-slot:hover,
.brand.phm-logo-slot:hover {
  opacity: .88;
  transform: translateY(-1px);
  border-color: transparent !important;
  box-shadow: none !important;
}

[data-theme="dark"] .phm-tech-logo-image,
[data-theme="dark"] .app-logo-wordmark,
[data-theme="dark"] .app-brand-wordmark {
  filter: invert(1) hue-rotate(180deg);
}

@media (max-width: 640px) {
  .phm-logo-slot,
  .brand.phm-logo-slot,
  .logo-area {
    flex-basis: auto !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: unset !important;
    padding: 0 !important;
    gap: .5rem;
  }

  .phm-tech-logo-image,
  .app-logo-wordmark,
  .app-brand-wordmark {
    height: 1.85rem !important;
    max-height: 1.85rem !important;
  }

  .phm-tech-logo .brand-wordmark-main { font-size: 1.35rem; }
  .phm-tech-logo .brand-wordmark-accent { font-size: 1.22rem; }
  .phm-logo-slot .logo-icon { width: 28px; height: 28px; }
}

@media (max-width: 480px) {
  .phm-logo-slot,
  .brand.phm-logo-slot,
  .logo-area {
    flex-basis: auto !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: unset !important;
  }
}

