/* RomaPassGo — glue layer ON TOP of the original TPWebPortal styles.
 * Only what the original bundle does not provide:
 * view switching, cookie bar positioning, checkout form layout, legal footer.
 * Everything else (header, cards, dialog, cart, buttons) uses the captured CSS.
 */

/* views */
.rp-view[hidden],
#rp-dialog-root[hidden],
#rp-cookie[hidden] { display: none !important; }

/* cookie bar (original renders it as a p-sidebar bottom panel) */
.rp-cookie-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1102;
  box-shadow: 0 -2px 12px rgba(0, 0, 0, .25);
}

/* checkout form (uses global .p-inputtext from the original bundle) */
#rp-view-checkout .advanced-list__container { list-style: none; padding-left: 0; margin: 0; }
.rp-form { padding: 1rem 0 0; }
.rp-field { display: block; margin-bottom: 1rem; }
.rp-field > span {
  display: block;
  font-size: .85rem;
  font-weight: 700;
  color: #5d5d5d;
  margin-bottom: .3rem;
}
.rp-field .p-inputtext { width: 100%; box-sizing: border-box; }
.rp-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 40em) { .rp-row2 { grid-template-columns: 1fr; } }
.rp-err { display: block; font-style: normal; font-size: .8rem; margin-top: .25rem; min-height: 1em; }
.rp-terms-err { display: block; font-style: normal; font-size: .85rem; padding: .25rem 0; }
.rp-checkout-terms { width: 100%; padding: 0 .5rem; box-sizing: border-box; }
.rp-secure-note { color: #979797; font-size: .85rem; }
.rp-pay-mount { min-height: 70vh; background: #fff; }
[data-rp-x-pay-label], [data-rp-x-back] { white-space: nowrap; }

/* legal footer (original portal has none; required for store compliance) */
.rp-legal {
  background: #fff;
  border-top: 1px solid #e5e5e5;
  margin-top: 2rem;
  font-family: 'Work Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
.rp-legal-in {
  max-width: 75rem;
  margin: 0 auto;
  padding: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 1.5rem;
  justify-content: space-between;
  align-items: center;
  color: #979797;
  font-size: .8rem;
}
.rp-legal-links a { color: #5d5d5d; text-decoration: none; }
.rp-legal-links a:hover { color: #8e001c; text-decoration: underline; }

/* cart/checkout/pay fill the viewport like the original SPA, footer pinned */
#rp-view-cart .shopping-cart,
#rp-view-checkout .shopping-cart,
#rp-view-pay .shopping-cart { min-height: calc(100vh - 170px); }
#rp-view-cart .shopping-cart__footer,
#rp-view-checkout .shopping-cart__footer { margin-top: auto; }

/* keep the pay iframe visually inside the cart card */
#botpay-mount iframe { border-radius: 3px; }
