.cjp-hero--roses {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.cjp-hero--roses::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: max(1rem, calc((100% - var(--cjp-max)) / 2));
  bottom: -2.5rem;
  width: clamp(11rem, 25vw, 21rem);
  aspect-ratio: 1;
  background: url("logo-selo-oficial.png") center / contain no-repeat;
  opacity: .09;
  pointer-events: none;
}

.cjp-rose-divider {
  width: 4.5rem !important;
  max-width: 4.5rem !important;
  height: 4.5rem;
  margin: -2.25rem auto !important;
  position: relative;
  z-index: 2;
  background: var(--cjp-cream) url("logo-selo-oficial.png") center / 78% no-repeat !important;
  border: 1px solid var(--cjp-border);
  border-radius: 50%;
}

.cjp-universalismo {
  position: relative;
  overflow: hidden;
  padding: clamp(1.25rem, 4vw, 2rem);
  border-radius: var(--cjp-radius);
  background: linear-gradient(120deg, var(--cjp-sage), #fff 72%);
}

.cjp-universalismo::after {
  content: "";
  position: absolute;
  right: -2rem;
  bottom: -3rem;
  width: 12rem;
  aspect-ratio: 1;
  background: url("logo-selo-oficial.png") center / contain no-repeat;
  opacity: .06;
  pointer-events: none;
}

.cjp-pass-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-block: 1.5rem;
}

.cjp-pass-card {
  min-width: 0;
  padding: 1.25rem;
  border: 1px solid var(--cjp-border);
  border-top: .45rem solid var(--cjp-forest);
  border-radius: var(--cjp-radius);
  background: var(--cjp-paper);
  box-shadow: var(--cjp-shadow);
}

.cjp-pass-card h3 { margin-top: 0; }
.cjp-pass-card p:last-child { margin-bottom: 0; }

.cjp-health-notice {
  padding: 1rem 1.25rem;
  border-left: .4rem solid var(--cjp-gold);
  background: #fff7e8;
}

@media (min-width: 60rem) {
  .cjp-pass-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 30rem) {
  .cjp-pass-grid { grid-template-columns: 1fr; }
  .cjp-hero--roses::after { right: -4rem; opacity: .055; }
}
