/* portalHighlights.css - base */
.ph-grid {
  display: grid;
  gap: 1rem;
}
.ph-card {
  background: #fff;
  border-radius: 0.5rem;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
  overflow: hidden;
}
.ph-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ph-meta {
  font-size: 0.75rem;
  color: #6b7280;
  margin-bottom: 0.25rem;
}
.ph-title {
  font-weight: 600;
  font-size: 0.95rem;
  margin-bottom: 0.5rem;
  color: #111827;
}
.ph-link {
  color: #0b63d6;
  font-weight: 500;
  text-decoration: none;
}

/* Slider tweaks */
.ph-slider {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  padding-bottom: 0.5rem;
}
.ph-slider .ph-card {
  min-width: 260px;
  scroll-snap-align: start;
}

/* Horizontal cards */
.ph-horizontal {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
}

/* SciELO style */
.ph-scielo .ph-card {
  border: 1px solid #e5e7eb;
  padding: 1rem;
}

/* Magazine grid */
.ph-magazine .ph-card {
  transition: box-shadow 0.2s;
}
.ph-magazine .ph-card:hover {
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
}

/* Load more button */
.ph-loadmore {
  display: inline-block;
  padding: 0.6rem 1rem;
  border-radius: 0.375rem;
  background: #0b63d6;
  color: white;
  cursor: pointer;
  margin-top: 1rem;
}

/* popup overrides small */
.mfp-content img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* responsive */
@media (min-width: 640px) {
  .ph-grid-sm-2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .ph-grid-lg-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .ph-grid-lg-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .ph-grid-lg-5 {
    grid-template-columns: repeat(5, 1fr);
  }
}

/* Capa estilo revista (altura fixa, sem deformar) */
.ph-mag-card img,
.ph-scielo img {
  aspect-ratio: 3 / 4.2;
  object-fit: cover;
}

/* Swiper coverflow slides */
.swiper-slide {
  width: 240px;
}

/* Overlay do artigo */
.ph-mag-card .ph-meta-overlay {
  background: rgba(0, 0, 0, 0.55);
}

/* Para garantir que todas as capas tenham mesma altura */
.ph-card img {
  aspect-ratio: 3 / 4.2;
}

/* Limitar título para 2 linhas */
.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
