.cup-section {
  max-width: 1120px;
  margin: 0 auto;
  padding: 1.5rem 0;
  line-height: 1.55;
}

.cup-hero {
  padding: 1.4rem 1.6rem;
  border: 1px solid #d9d9d9;
  border-radius: 12px;
  background: #fafafa;
  margin-bottom: 1.4rem;
}

.cup-kicker {
  margin: 0 0 0.35rem 0;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.82rem;
  font-weight: 700;
  color: #666;
}

.cup-hero h2,
.cup-single-header h2 {
  margin-top: 0;
  margin-bottom: 0.8rem;
}

.cup-intro-html p,
.cup-intro {
  font-size: 1.02rem;
  margin-bottom: 0;
}

.cup-grid {
  display: grid;
  gap: 1rem;
}

.cup-grid-two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 1.6rem;
}

.cup-grid-cards {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cup-box,
.cup-card,
.cup-next,
.cup-single-fiche {
  border: 1px solid #dcdcdc;
  border-radius: 10px;
  background: #fff;
  padding: 1.05rem 1.2rem;
}

.cup-box-muted {
  background: #f7f7f7;
}

.cup-box h3,
.cup-card h4,
.cup-block h3,
.cup-fiche-section h4 {
  margin-top: 0;
}

.cup-box ul,
.cup-fiche-content ul {
  margin-top: 0.45rem;
}

.cup-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.cup-card p {
  flex: 1;
}

.cup-card-link {
  display: inline-block;
  margin-top: 0.4rem;
  font-weight: 700;
  text-decoration: none;
}

.cup-card-link:hover,
.cup-card-link:focus {
  text-decoration: underline;
}

.cup-block {
  margin: 1.5rem 0;
}

.cup-note {
  color: #555;
  margin-top: -0.25rem;
}

.cup-accordions {
  display: grid;
  gap: 0.8rem;
}

.cup-fiche {
  border: 1px solid #d8d8d8;
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}

.cup-fiche summary {
  cursor: pointer;
  padding: 1rem 1.2rem;
  background: #f8f8f8;
}

.cup-fiche-title {
  display: block;
  font-weight: 700;
  font-size: 1.05rem;
}

.cup-fiche-subtitle {
  display: block;
  margin-top: 0.2rem;
  color: #555;
  font-size: 0.94rem;
}

.cup-fiche-content {
  padding: 1rem 1.2rem 1.2rem;
}

.cup-fiche-section {
  margin: 0 0 1.2rem;
}

.cup-fiche-section:last-child {
  margin-bottom: 0;
}

.cup-fiche-section h4 {
  border-bottom: 1px solid #ececec;
  padding-bottom: 0.25rem;
  margin-bottom: 0.55rem;
}

.cup-single-header {
  margin-bottom: 1rem;
}

.cup-section code {
  padding: 0.08rem 0.25rem;
  border-radius: 4px;
  background: #f0f0f0;
}

@media (max-width: 980px) {
  .cup-grid-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .cup-grid-two,
  .cup-grid-cards {
    grid-template-columns: 1fr;
  }

  .cup-hero,
  .cup-box,
  .cup-card,
  .cup-next,
  .cup-single-fiche {
    padding: 1rem;
  }
}

.cup-conte-links {
  list-style-position: outside;
}

.cup-conte-link {
  text-decoration: none;
  font-weight: 700;
}

.cup-conte-link:hover,
.cup-conte-link:focus {
  text-decoration: underline;
}

.cup-conte-type {
  display: inline-block;
  margin-left: 0.2rem;
  padding: 0.04rem 0.32rem;
  border: 1px solid #d5d5d5;
  border-radius: 999px;
  font-size: 0.78em;
  font-weight: 700;
  vertical-align: baseline;
  background: #f7f7f7;
}
