/* Presentation only: Rewards supplies and refreshes the amounts. */
.rtg-cashback {
  margin: 16px 0;
  border: 1px solid #d4e9ec;
  border-radius: 12px;
  padding: 16px;
  background: #fff;
  color: #335b67;
  font: inherit;
  font-size: 14px;
  line-height: 1.45;
  text-align: left;
  overflow-wrap: anywhere;
}

.rtg-cashback__content { display: flex; align-items: flex-start; gap: 14px; }
.rtg-cashback__content > div { min-width: 0; }
.rtg-cashback__icon { flex: 0 0 54px; width: 54px; height: auto; }
.rtg-cashback__heading { display: block; margin-bottom: 4px; color: #103e4b; font-size: 15px; font-weight: 700; }
.rtg-cashback strong { color: #103e4b; }
.rtg-cashback small { display: block; margin-top: 5px; color: #647b84; font-size: 12px; line-height: 1.45; }
.rtg-cashback a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.rtg-cashback__action { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; }
.rtg-cashback a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

/* Product page: one compact strip, icon plus two lines (amount, then context). Equal 32px air above (add to cart)
   and below (product facts). */
#product #loyalty.rtg-cashback--product, .rtg-cashback.rtg-cashback--product { margin: 0 0 20px; padding: 12px 18px; }
/* Hummingbird drops this gap to 20px below 1200px; keep it equal to the 32px under the banner. */
#product .product__add-to-cart-container:has(+ .product__additional-info #loyalty.rtg-cashback--product) { margin-bottom: 32px; }
.rtg-cashback--product .rtg-cashback__content { align-items: center; gap: 14px; }
.rtg-cashback--product .rtg-cashback__icon { flex: 0 0 44px; width: 44px; }
.rtg-cashback--product .rtg-cashback__heading { margin: 0; color: #103e4b; font-size: 15px; font-weight: 600; line-height: 1.35; }
.rtg-cashback--product .rtg-cashback__heading strong { color: var(--rtg-700, #197585); font-size: 17px; font-weight: 700; }
.rtg-cashback--product .rtg-cashback__meta { margin-top: 2px; }

/* The cart summary uses CSS grid; keep rewards immediately after the summary. */
body#cart .cart-grid__aside-wrapper > .rtg-cart-rewards { grid-area: 3 / 1; min-width: 0; }
body#cart .cart-grid__aside-wrapper > .blockreassurance.blockreassurance { grid-area: 4 / 1; }

#module-allinone_rewards-rewards #content { box-shadow: none; color: #405564; }
#rewards_account { color: #405564; overflow: visible; }
#rewards_account .idTabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 0; }
#rewards_account .idTabs li { width: auto; margin: 0; padding: 0; }
#rewards_account .idTabs a { display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 10px; border-radius: 8px; text-transform: none; color: #405564; }
#rewards_account .idTabs a.selected { border: 1px solid #1592a5; background: #eef8fa; color: #126a79; font-weight: 600; }
#rewards_account .sheets { margin-top: 16px; border-color: #e2e7eb; border-radius: 10px; }
#rewards_account table th { text-transform: none; }
#rewards_account input, #rewards_account select, #rewards_account button { font: inherit; }
#rewards_account .btn { white-space: normal; }

@media (max-width: 575.98px) {
  .rtg-cashback { padding: 12px; font-size: .875rem; }
  .rtg-cashback__content { align-items: flex-start; }
  .rtg-cashback__icon { flex-basis: 44px; width: 44px; }
  #product #loyalty.rtg-cashback--product, .rtg-cashback.rtg-cashback--product { padding: 12px 14px; }
  .rtg-cashback--product .rtg-cashback__icon { flex-basis: 40px; width: 40px; }
  #rewards_account .idTabs { grid-template-columns: 1fr; }
  #rewards_account .sheets { padding: 10px; }
}
