/* General Offers: retain the existing left poster, 45:55 desktop split, and
   overlay layout. Only tighten the right decision rail on phone and desktop. */
.nb-general-api-detail .nb-general-poster{background:linear-gradient(145deg,#173755,#2c537a 60%,#6486a4)}
.nb-general-api-detail .nb-general-poster .remaining-title{overflow-wrap:anywhere}

/* Small reward card: amount -> conditions -> code. The primary CTA stays below the steps. */
.nb-general-api-detail .remaining-head{margin-bottom:14px}
.nb-general-api-detail .nb-general-reward-card{border:1px solid #dfe8f6;border-radius:16px;overflow:hidden;background:#fff}
.nb-general-api-detail .nb-general-reward-card .remaining-reward-top{background:linear-gradient(135deg,#edf4ff,#f8fbff);padding:18px 18px 16px}
.nb-general-api-detail .nb-general-reward-card .remaining-reward-value{display:flex;flex-direction:column;gap:4px;margin-top:8px;overflow-wrap:anywhere}
.nb-general-api-detail .nb-general-reward-amount{display:block;color:#3978e5;overflow-wrap:anywhere}
.nb-general-api-detail .nb-general-reward-caption{display:block;color:#4e6280}
.nb-general-api-detail .nb-general-reward-full{display:block;color:#3978e5;overflow-wrap:anywhere}
.nb-general-api-detail .nb-general-reward-actions{padding:15px 18px 18px}
.nb-general-api-detail .nb-general-requirement{margin:0 0 14px;color:#4c607b;overflow-wrap:anywhere}
.nb-general-api-detail .nb-general-promo{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;margin-bottom:14px}
.nb-general-api-detail .nb-general-promo-label{color:#60728b;white-space:nowrap}
.nb-general-api-detail .nb-general-promo-pill{display:flex;align-items:center;justify-content:space-between;gap:9px;min-width:0;padding:4px 5px 4px 10px;border:1px solid #d8e5f8;border-radius:9px;background:#f7faff}
.nb-general-api-detail .nb-general-promo-code{color:#1b4c8e;overflow-wrap:anywhere}
.nb-general-api-detail .nb-general-promo-copy{flex:0 0 auto;min-height:32px;padding:5px 10px;border:0;border-radius:7px;color:#1769cf;background:#e4efff;cursor:pointer}
.nb-general-api-detail .nb-general-promo-copy:hover{background:#d8e8ff}
.nb-general-api-detail .nb-general-promo-copy:focus-visible,
.nb-general-api-detail .remaining-cta:focus-visible{outline:3px solid #90bdff;outline-offset:2px}
.nb-general-api-detail .remaining-timeline + .remaining-cta{min-height:49px;margin-top:17px;border-radius:11px;background:linear-gradient(180deg,#397fec,#2d69d8);box-shadow:none;text-decoration:none}

/* Steps: retain original API HTML and titles but remove three bulky gray cards. */
.nb-general-api-detail .remaining-section-title{margin:20px 0 14px}
.nb-general-api-detail .remaining-timeline{gap:13px}
.nb-general-api-detail .remaining-timeline:before{left:13px;top:14px;bottom:12px;background:#dbe8fa}
.nb-general-api-detail .remaining-step{grid-template-columns:28px minmax(0,1fr);gap:11px}
.nb-general-api-detail .remaining-num{width:27px;height:27px;border:2px solid #fff;background:#3978e5;box-shadow:0 0 0 1px #cfe0f8}
.nb-general-api-detail .remaining-step-card{border:0;border-radius:0;padding:1px 0 1px;background:transparent}
.nb-general-api-detail .remaining-step-title{margin:0 0 4px;color:#192b45}
.nb-general-api-detail .nb-general-step-body{color:#53657e;overflow-wrap:anywhere}
.nb-general-api-detail .nb-general-step-body p{margin:0 0 7px}
.nb-general-api-detail .nb-general-step-body p:last-child{margin-bottom:0}
.nb-general-api-detail .nb-general-step-body ul,
.nb-general-api-detail .nb-general-step-body ol{padding-left:20px;margin:7px 0}
.nb-general-api-detail .nb-general-step-body li+li{margin-top:4px}
.nb-general-api-detail .nb-general-step-body a,
.nb-general-api-detail .nb-general-html a{color:#126ae0;text-decoration:underline;text-underline-offset:2px}
.nb-general-api-detail .nb-general-step-body blockquote{margin:8px 0;padding:6px 11px;border-left:3px solid #d1daea}
.nb-general-api-detail .nb-general-step-body code{white-space:normal;overflow-wrap:anywhere}

/* The only main CTA follows the steps and keeps the existing desktop dock behavior. */
.nb-general-api-detail .remaining-eligibility{margin-top:14px}
.nb-general-api-detail .remaining-eligibility-copy.nb-general-html{white-space:normal}
.nb-general-api-detail .nb-general-html p{margin:0 0 8px}
.nb-general-api-detail .nb-general-html ul,
.nb-general-api-detail .nb-general-html ol{padding-left:22px}

/* No layout-order or column-ratio changes at the existing desktop breakpoints. */
@media(max-width:1180px){
  .nb-general-api-detail .nb-general-poster{min-height:320px!important}
}
@media(max-width:780px){
  .nb-general-api-detail .nb-general-reward-card .remaining-reward-top{padding:16px 16px 14px}
  .nb-general-api-detail .nb-general-reward-actions{padding:13px 16px 16px}
  .nb-general-api-detail .nb-general-requirement{margin-bottom:12px}
  .nb-general-api-detail .nb-general-promo{margin-bottom:12px}
  .nb-general-api-detail .remaining-section-title{margin:18px 0 12px}
  .nb-general-api-detail .remaining-timeline{gap:12px}
}
@media(max-width:360px){
  .nb-general-api-detail .nb-general-promo{align-items:flex-start;flex-direction:column}
  .nb-general-api-detail .nb-general-promo-pill{width:100%;box-sizing:border-box}
}
