.site-header { padding: 16px; border-bottom: 1px solid #eee; }
.site-header__top { display: flex; justify-content: center; }
.site-header__nav { margin-top: 12px; }
.primary-menu { display: flex; gap: 16px; justify-content: center; list-style: none; padding: 0; margin: 0; }
.primary-menu a { text-decoration: none; }

.site-main { max-width: 1000px; margin: 0 auto; padding: 20px; }

.site-footer { border-top: 1px solid #eee; padding: 20px; }
.footer-hard-menu { list-style: none; padding: 0; margin: 0 0 16px 0; display: flex; gap: 12px; flex-wrap: wrap; }
.site-footer__bottom { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }

.carousel { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; }
.carousel__track { overflow-x: auto; scroll-behavior: smooth; display: flex; gap: 16px; padding: 10px 0; }
.carousel__item { min-width: 180px; border: 1px solid #eee; border-radius: 10px; padding: 10px; }
.carousel__btn { font-size: 28px; line-height: 1; background: transparent; border: 1px solid #ddd; border-radius: 10px; padding: 6px 12px; cursor: pointer; }
.thumb-placeholder { width: 100%; height: 120px; background: #f2f2f2; border-radius: 8px; }

.participantes-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
}

.participante-card {
  border: 1px solid #eee;
  border-radius: 10px;
  padding: 10px;
}

.participante-card a { text-decoration: none; display: block; }
.participante-card__title { margin: 10px 0 6px; }
.participante-card__tipo { opacity: 0.8; }
