.catalog-controls {
  display: flex;
  justify-content: center;
  gap: 9px;
  margin: 36px 0 4px;
}
.catalog-controls button {
  min-width: 112px;
  border: 1px solid #343c49;
  background: #171c24;
}
.catalog-controls button.active,
.catalog-controls button:hover {
  border-color: #e63946;
  background: #e63946;
}
.pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 7px;
  margin: 30px auto 0;
}
.pagination button {
  min-width: 39px;
  height: 39px;
  padding: 0 11px;
  border: 1px solid #343c49;
  background: #171c24;
}
.pagination button.active {
  border-color: #e63946;
  background: #e63946;
}
.pagination span {
  display: grid;
  place-items: center;
  min-width: 28px;
  color: #7f899a;
}
.back-home {
  display: block;
  margin: 32px auto 0;
  padding: 12px 22px;
  background: #e63946;
}
.back-home[hidden] {
  display: none;
}
.results.loading {
  opacity: 0.55;
  pointer-events: none;
}
@media (max-width: 600px) {
  .catalog-controls {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
  }
  .catalog-controls button {
    min-width: 0;
    padding-inline: 7px;
  }
  .pagination {
    gap: 5px;
  }
  .pagination button {
    min-width: 35px;
    height: 36px;
  }
}
.catalog-controls[hidden] {
  display: none !important;
}
.refresh-overlay {
  position: fixed;
  z-index: 50;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 25px;
  background: #05070be8;
  backdrop-filter: blur(10px);
}
.refresh-overlay[hidden] {
  display: none;
}
.refresh-overlay > div {
  width: min(430px, 92vw);
  padding: 30px;
  border: 1px solid #343c49;
  border-radius: 18px;
  background: #11161e;
  text-align: center;
}
.refresh-overlay i {
  display: block;
  width: 42px;
  height: 42px;
  margin: 0 auto 15px;
  border: 4px solid #ffffff20;
  border-top-color: #e63946;
  border-radius: 50%;
  animation: cs-refresh-spin 0.8s linear infinite;
}
.refresh-overlay b {
  font-size: 20px;
}
.refresh-overlay p {
  color: #9ba5b5;
  line-height: 1.55;
}
@keyframes cs-refresh-spin {
  to {
    transform: rotate(360deg);
  }
}
#refreshButton {
  margin-left: auto;
  margin-right: 8px;
  background: #e63946;
}
@media (max-width: 700px) {
  #refreshButton {
    font-size: 0;
  }
  #refreshButton:after {
    content: "↻";
    font-size: 18px;
  }
}

/* HIRO PLAY 2.0 */
:root{--hiro-red:#ff003c;--hiro-red2:#ff2858;--hiro-navy:#03091b;--hiro-blue:#173d88}
body{background:radial-gradient(circle at 86% -8%,#173d8870,transparent 34%),radial-gradient(circle at 0 90%,#ff003c1f,transparent 35%),var(--hiro-navy)}
header .brand{display:flex;align-items:center;gap:12px}
header .brand>img{width:154px;height:52px;object-fit:contain;object-position:left center}
header .brand>small{color:#94a2ba;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.hero>p,.analysis-head small{color:var(--hiro-red2)}
.searchbox>button,.catalog-controls button.active,.catalog-controls button:hover,.pagination button.active,.back-home,#refreshButton,.season-menu summary,.season-menu button.active{background:linear-gradient(135deg,var(--hiro-red),var(--hiro-red2));border-color:var(--hiro-red)}
.result:hover{border-color:var(--hiro-red);box-shadow:0 18px 48px #ff003c20}
.movie-options .single-play{display:grid;grid-template-columns:70px 1fr 42px;align-items:center;gap:15px;min-height:94px;padding:12px 16px;border:1px solid #324466;background:linear-gradient(135deg,#101d37,#081126);text-align:left}
.movie-options .single-play:hover{border-color:var(--hiro-red);background:linear-gradient(135deg,#172746,#170b1d)}
.single-play>img{width:70px;height:70px;border-radius:17px;box-shadow:0 9px 26px #ff003c35}
.single-play>span{display:grid;gap:5px}.single-play>span>b{font-size:20px}.single-play>span>small{color:#9eabc0;font-weight:500}
.single-play>i{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--hiro-red);font-style:normal}
.providers{grid-template-columns:1fr}.providers .episode-play{width:100%;background:linear-gradient(135deg,#111f3a,#0b1429);border-color:#324466}.providers .episode-play span{display:grid;gap:3px}.providers .episode-play small{color:#94a2ba;text-transform:none;letter-spacing:0}.providers .episode-play i{background:var(--hiro-red)}
.auth-gate{position:fixed;z-index:100;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;background:#020617ee;backdrop-filter:blur(15px);text-align:center}.auth-gate[hidden]{display:none}.auth-gate img{width:110px;height:110px;border-radius:27px;filter:drop-shadow(0 15px 34px #ff003c55)}.auth-gate h2{margin:20px 0 6px;font-size:28px}.auth-gate p{color:#98a5ba}
@media(max-width:700px){header .brand>img{width:125px}.movie-options .single-play{grid-template-columns:58px 1fr}.single-play>img{width:58px;height:58px}.single-play>i{display:none}}
