/* ═══════════════════════════════════════════════════════════════════════════
   CulturadeCLUB — singles.css
   Overrides and specifics for single templates
   ═══════════════════════════════════════════════════════════════════════════ */

/* single-evento: facts with more cols when fewer items */
.single-evento .cc-facts-grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }

/* single-artista: portrait hero tighter */
.single-artista .cc-single-hero { min-height: clamp(280px, 42vh, 480px); }

/* single-local: map embed */
.cc-local-map {
  width: 100%;
  height: 280px;
  border-radius: var(--r-md);
  overflow: hidden;
  border: 1px solid #e2ddd4;
  margin-bottom: var(--sp-lg);
}
.cc-local-map iframe { width: 100%; height: 100%; border: none; }

/* single post body */
.cc-single-body--post h2 { border-bottom: 1px solid var(--cc-cream); padding-bottom: 8px; }
.cc-single-body--post blockquote {
  border-left: 3px solid var(--cc-accent);
  padding: 14px 20px;
  margin: 24px 0;
  background: var(--cc-cream);
  border-radius: 0 var(--r-sm) var(--r-sm) 0;
  font-style: italic;
  color: var(--cc-mid);
}
.cc-single-body--post img {
  width: 100%;
  border-radius: var(--r-md);
  margin: 20px 0;
}
.cc-single-body--post ul,
.cc-single-body--post ol {
  padding-left: 24px;
  margin-bottom: 18px;
}
.cc-single-body--post ul { list-style: disc; }
.cc-single-body--post ol { list-style: decimal; }
.cc-single-body--post li { margin-bottom: 6px; }

/* news-editorial featured card tall image */
.cc-news-editorial .cc-card--noticia-featured .cc-card__media-link { flex: 1; min-height: 200px; }
.cc-news-editorial .cc-card--noticia-featured { min-height: auto; }

/* Section title divider line */
.cc-single-section__title--line {
  display: flex; align-items: center; gap: 16px;
}
.cc-single-section__title--line::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--cc-cream);
}

/* Responsive singles */
@media (max-width: 1024px) {
  .cc-single-wrap { grid-template-columns: 1fr; }
  .cc-single-aside { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  .cc-aside-box { margin-bottom: 0; }
}
@media (max-width: 640px) {
  .cc-single-hero__title { font-size: clamp(40px, 11vw, 64px); }
  .cc-single-aside       { grid-template-columns: 1fr; }
  .cc-facts-grid         { grid-template-columns: 1fr 1fr; }
  .cc-relations-grid     { grid-template-columns: 1fr; }
  .cc-artists-strip      { gap: 8px; }
}
