.rpwa,
.rpwa *,
.rpwa *::before,
.rpwa *::after {
  box-sizing: border-box;
}

.rpwa {
  --rpwa-green: #1f9d55;
  --rpwa-green-dark: #147640;
  --rpwa-forest: #174f3a;
  --rpwa-lime: #7fae42;
  --rpwa-light: #eef7ef;
  --rpwa-white: #fff;
  --rpwa-text: #29302b;
  --rpwa-muted: #626b64;
  --rpwa-border: #d8e3d9;

  display: block;
  width: 100%;
  margin: 24px 0;
  padding: 30px;
  border: 1px solid rgba(23, 79, 58, 0.12);
  border-radius: 22px;
  background:
    radial-gradient(circle at 95% 5%, rgba(127, 174, 66, 0.16), transparent 31%),
    linear-gradient(135deg, #fbfdf9, #f1f7ec);
  color: var(--rpwa-text);
  font-family: inherit;
  box-shadow: 0 18px 45px rgba(23, 79, 58, 0.1);
}

.rpwa--align-center { text-align: center; }
.rpwa--align-right { text-align: right; }

.rpwa__icon {
  display: none !important;
}

.rpwa__icon svg,
.rpwa__button svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.rpwa__icon svg {
  width: 36px;
  height: 36px;
}

.rpwa__content {
  min-width: 0;
}

.rpwa__eyebrow {
  display: block;
  margin: 0 0 7px;
  color: var(--rpwa-green-dark);
  font-size: 12px;
  line-height: 1.35;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.rpwa__heading {
  margin: 0 0 10px !important;
  padding: 0 !important;
  color: var(--rpwa-forest) !important;
  font-size: clamp(25px, 3vw, 34px) !important;
  line-height: 1.16 !important;
  font-weight: 820 !important;
  letter-spacing: -0.025em !important;
}

.rpwa__intro {
  max-width: 830px;
  margin: 0 0 20px !important;
  color: var(--rpwa-muted) !important;
  font-size: 16px !important;
  line-height: 1.67 !important;
}

.rpwa__choices {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 18px;
}

.rpwa__choice {
  display: block;
  min-width: 0;
  min-height: 78px;
  padding: 13px 14px;
  border: 1px solid var(--rpwa-border);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.88);
  color: var(--rpwa-text);
  text-align: left;
  cursor: pointer;
  box-shadow: none;
  transition: border-color .2s ease, background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.rpwa__choice:hover {
  border-color: var(--rpwa-lime);
  background: var(--rpwa-white);
  transform: translateY(-2px);
}

.rpwa__choice.is-active {
  border-color: var(--rpwa-green-dark);
  background: #e7f5e9;
  box-shadow: 0 0 0 2px rgba(31, 157, 85, 0.08);
}

.rpwa__choice strong,
.rpwa__choice small {
  display: block;
}

.rpwa__choice strong {
  margin-bottom: 4px;
  color: var(--rpwa-forest);
  font-size: 14px;
  line-height: 1.3;
  font-weight: 800;
}

.rpwa__choice small {
  color: var(--rpwa-muted);
  font-size: 12px;
  line-height: 1.4;
}

.rpwa__button {
  display: inline-flex !important;
  min-height: 53px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 20px !important;
  border: 1px solid var(--rpwa-green-dark);
  border-radius: 11px;
  background: linear-gradient(145deg, var(--rpwa-green), var(--rpwa-green-dark));
  color: var(--rpwa-white) !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  box-shadow: 0 12px 28px rgba(31, 157, 85, 0.24);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.rpwa__button:hover {
  color: var(--rpwa-white) !important;
  filter: brightness(.94);
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(31, 157, 85, 0.3);
}

.rpwa__button:focus-visible,
.rpwa__choice:focus-visible {
  outline: 3px solid rgba(127, 174, 66, 0.34);
  outline-offset: 3px;
}

.rpwa__button svg {
  width: 22px;
  height: 22px;
}

.rpwa__button b {
  font-size: 18px;
}

.rpwa__note {
  margin: 12px 0 0 !important;
  color: #5c665f !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  font-weight: 500 !important;
}

.rpwa--align-center .rpwa__intro {
  margin-right: auto !important;
  margin-left: auto !important;
}

.rpwa--align-center .rpwa__choice {
  text-align: center;
}

.rpwa--align-right .rpwa__intro {
  margin-left: auto !important;
}

.rpwa--align-right .rpwa__choice {
  text-align: right;
}

.rpwa--inline {
  display: block;
  padding: 22px;
  border-radius: 17px;
}


.rpwa--inline .rpwa__heading {
  font-size: 25px !important;
}

.rpwa--compact {
  display: inline-block;
  width: auto;
  max-width: 100%;
  margin: 12px 0;
  padding: 12px 14px;
  border-radius: 14px;
}


.rpwa--compact .rpwa__eyebrow {
  margin-bottom: 5px;
  font-size: 10px;
}

.rpwa--compact .rpwa__button {
  min-height: 43px;
  padding: 0 15px !important;
  font-size: 13px !important;
}

.rpwa-admin-warning {
  padding: 13px 15px;
  border-left: 4px solid #b85e0d;
  background: #fff7ef;
  color: #633b16;
}

@media (max-width: 767px) {
  .rpwa {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 22px 18px;
    border-radius: 18px;
  }

  .rpwa__content {
    text-align: left;
  }

  .rpwa__heading {
    font-size: 26px !important;
    line-height: 1.14 !important;
    margin-bottom: 8px !important;
  }

  .rpwa__intro {
    margin-bottom: 16px !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
  }

  .rpwa__choices {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 16px;
  }

  .rpwa__choice {
    min-height: 84px;
    padding: 12px 12px;
    border-radius: 14px;
  }

  .rpwa__choice strong {
    margin-bottom: 3px;
    font-size: 13px;
    line-height: 1.25;
  }

  .rpwa__choice small {
    font-size: 11px;
    line-height: 1.35;
  }

  .rpwa__choice:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }

  .rpwa__button {
    width: 100%;
  }

  .rpwa__note {
    font-size: 12px !important;
    line-height: 1.55 !important;
  }

  .rpwa--compact {
    display: block;
    width: 100%;
  }
}

@media (max-width: 420px) {
  .rpwa {
    padding: 20px 16px;
  }

  .rpwa__heading {
    font-size: 24px !important;
  }

  .rpwa__choices {
    grid-template-columns: 1fr;
  }

  .rpwa__choice:last-child:nth-child(odd) {
    grid-column: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rpwa__choice,
  .rpwa__button {
    transition: none !important;
  }
}
