/* RG22 S74 pilot footer UI. Affects only pages including this file.
   No grid/ad geometry or published recommendation logic is changed. */
.rg20-related .rg20-status {
  position: relative;
  box-sizing: border-box;
  height: 28px;
  min-height: 28px;
  padding: 0;
  margin: 0;
  font: 12px/28px Arial, Helvetica, sans-serif;
  color: transparent;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
}
.rg20-related .rg20-status[hidden] { display: none !important; }
/* The status text remains in DOM / aria-live for assistive technology.
   Only the spinner, not the message, is shown to sighted visitors. */
.rg20-related .rg20-grid[aria-busy="true"] ~ .rg20-status:not([hidden])::after {
  content: "";
  position: absolute;
  left: calc(50% - 10px);
  top: 4px;
  width: 20px;
  height: 20px;
  box-sizing: border-box;
  border: 2px solid #d9c2ca;
  border-top-color: #a33853;
  border-radius: 50%;
  animation: rg22-s74-spin 0.75s linear infinite,
             rg22-s74-appear 0.16s ease 0.25s backwards;
}
@keyframes rg22-s74-spin {
  to { transform: rotate(360deg); }
}
@keyframes rg22-s74-appear {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .rg20-related .rg20-grid[aria-busy="true"] ~ .rg20-status:not([hidden])::after {
    animation: rg22-s74-appear 0.01s linear 0.25s backwards;
  }
}
/* Replace framed end-card with a single, site-colored action. */
.rg20-related .rg21-engage {
  max-width: none;
  margin: 24px auto 18px;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.rg20-related .rg21-engage[hidden] { display: none !important; }
.rg20-related .rg21-engage > strong,
.rg20-related .rg21-engage > p:not(.rg21-engage-feedback) {
  display: none !important;
}
.rg20-related .rg21-engage-button {
  display: block;
  box-sizing: border-box;
  width: auto;
  min-width: 255px;
  max-width: 100%;
  min-height: 46px;
  margin: 0 auto;
  padding: 11px 23px;
  border: 1px solid #852942;
  border-radius: 5px;
  background: #a53553;
  color: #fff;
  font: 600 14px/1.35 Arial, Helvetica, sans-serif;
  text-align: center;
  cursor: pointer;
}
.rg20-related .rg21-engage-button:hover { background: #892742; }
.rg20-related .rg21-engage-button:focus-visible {
  outline: 3px solid #1a73e8;
  outline-offset: 3px;
}
.rg20-related .rg21-engage-button:disabled { opacity: 0.65; cursor: wait; }
.rg20-related .rg21-engage .rg21-engage-feedback:empty { display: none; }
@media (max-width: 515px) {
  .rg20-related .rg21-engage {
    margin: 20px auto 16px;
    padding: 0;
  }
  .rg20-related .rg21-engage-button {
    width: 100%;
    min-width: 0;
    max-width: 282px;
  }
}
