/* ===== Certified Participants (Wall of Fame) ===== */
.rt-certified-section { background-color: var(--white); }

/* Header */
.rt-certified-header{
  display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:1rem;
}
.rt-certified-title{ margin:0 0 .25rem; }
.rt-certified-subtitle{ color:var(--dark-gray); margin:0; }

.rt-certified-stats{
  display:flex; gap:.5rem; align-items:center; flex-wrap:wrap;
}
.rt-certified-pill{
  display:inline-block; background:rgba(231,111,81,.1); color:var(--deep-reddish);
  padding:.4rem .7rem; border-radius:999px; font-weight:700;
}

/* Controls */
.rt-certified-controls{
  display:grid; grid-template-columns: 1fr; gap:.9rem; margin:1.1rem 0 1.35rem;
}

/* Bigger, readable search */
#rtCertSearch{
  width:100%;
  border:1px solid var(--light-gray);
  border-radius:12px;
  padding: .95rem 1.05rem;
  font-size:1.02rem;
  line-height:1.2;
  background:var(--text-white);
  color:var(--black);
  outline:none;
  transition:border-color .15s ease, box-shadow .15s ease;
}
#rtCertSearch::placeholder{ color: #8b8b8b; }
#rtCertSearch:focus{
  border-color: var(--vibrant-orange);
  box-shadow: 0 0 0 3px rgba(231,111,81,.18);
}

/* A–Z row (chips) */
.rt-certified-alphabet{
  display:flex; flex-wrap:wrap; gap:.5rem;
  overflow-x:auto; -webkit-overflow-scrolling:touch;
  padding-bottom:.25rem;
}

/* Chips:  */
.rt-chip{
  border:1px solid var(--light-gray);
  background: var(--text-white);
  color: var(--dark-gray);
  border-radius:999px;
  padding:.42rem .72rem;
  font-size:.95rem;
  cursor:pointer;
  transition: background .15s ease, color .15s ease, border-color .15s ease, transform .05s ease;
  white-space:nowrap;
}
.rt-chip:hover{
  background: rgba(231,111,81,.08);
  border-color: var(--vibrant-orange);
  color: var(--vibrant-orange);
}
.rt-chip:active{ transform: translateY(1px); }

/* Active state */
.rt-chip.active{
  background: var(--vibrant-orange);
  border-color: var(--vibrant-orange);
  color: var(--text-white);
  font-weight:700;
}

/* Keyboard focus for chips */
.rt-chip:focus{
  outline: none;
  box-shadow: 0 0 0 3px rgba(231,111,81,.2);
  border-color: var(--vibrant-orange);
}

/* Grid of cards */
.rt-certified-grid{
  list-style:none; display:grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr));
  gap:16px; margin:0; padding:0;
}
.rt-cert-card{
  position:relative; background:var(--text-white); border:1px solid var(--light-gray);
  border-radius:14px; padding:18px 16px; text-align:center;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.rt-cert-card:hover{ transform: translateY(-3px); box-shadow: 0 10px 20px rgba(0,0,0,.06); border-color: rgba(231,111,81,.4); }

/* Badge */
.rt-cert-badge{
  position:absolute; top:10px; left:10px; font-size:.7rem; font-weight:800; letter-spacing:.4px;
  background:linear-gradient(135deg, var(--vibrant-orange), var(--button-bg)); color:var(--text-white);
  padding:.25rem .5rem; border-radius:6px;
}

/* Avatar */
.rt-avatar{
  width:72px; height:72px; border-radius:50%; display:inline-grid; place-items:center;
  margin:6px auto 10px; font-weight:800; letter-spacing:1px;
  background: radial-gradient(120% 120% at 30% 30%, #fff 0%, #fff 10%, rgba(255,145,69,.2) 40%, rgba(214,86,0,.25) 100%);
  border:3px solid rgba(231,111,81,.25);
}

/* Text inside card */
.rt-name{ color:var(--primary-orange); font-size:1.05rem; margin:6px 0 2px; }
.rt-tagline{ color:var(--medium-gray); font-size:.9rem; margin:0 0 10px; }

/* Buttons */
.rt-actions{ display:flex; gap:.5rem; justify-content:center; flex-wrap:wrap; }
.rt-certified-btn{
  font:inherit; border:none; background:var(--button-bg); color:var(--text-white);
  padding:.48rem .78rem; border-radius:8px; cursor:pointer;
  transition: background .15s ease, transform .05s ease;
}
.rt-certified-btn:hover{ background:var(--deep-reddish); }
.rt-certified-btn:active{ transform: translateY(1px); }
.rt-certified-btn.ghost{
  background:transparent; color:var(--primary-orange); border:1px solid var(--light-gray);
}
.rt-certified-btn.ghost:hover{
  border-color: var(--vibrant-orange); color: var(--vibrant-orange);
}

/* Highlight on deep link */
.rt-cert-card.highlight{
  outline:3px solid var(--vibrant-orange); box-shadow:0 12px 26px rgba(231,111,81,.25);
}

/* Confetti */
#rtConfettiLayer{ position:fixed; inset:0; pointer-events:none; z-index:2000; overflow:hidden; }
.confetti{
  position:absolute; width:8px; height:12px; top:50%; transform:translate(-50%,-50%);
  background:currentColor; color:hsl(calc(20 + 220 * var(--i, 0)), 85%, 55%);
  opacity:.95; border-radius:2px; animation: confetti-fall var(--dur, 1400ms) ease-out forwards;
}
.confetti:nth-child(odd){ border-radius:50%; }
@keyframes confetti-fall{
  to { transform: translate(var(--tx), var(--ty)) rotate(720deg); opacity:0; }
}

/* Tiny toast */
#rtToast{
  position:fixed; left:50%; bottom:18px; transform:translateX(-50%); z-index:3000;
  background:rgba(0,0,0,.8); color:#fff; padding:.45rem .65rem; border-radius:8px;
  font-size:.9rem; opacity:0; pointer-events:none; transition:opacity .2s ease;
}
#rtToast.show{ opacity:1; }

/* Accessibility utility */
.sr-only{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* Responsive layout */
@media (min-width: 680px){
  .rt-certified-controls{
    /* grid-template-columns: minmax(420px, 560px) 1fr; */
    align-items:center;
  }
  .rt-certified-alphabet{ justify-content:flex-start; }
}
