/* Responsive layout for customer-facing pages. */
.rp-store-brand, .rp-store-actions, .rp-product-grid > *, .rp-checkout-grid > * { min-width: 0; }
.rp-store-brand span, main :is(h1,h2,h3,p), .rp-applied-coupon { overflow-wrap: anywhere; }
.rp-plan > :first-child { min-width: 0; overflow-wrap: anywhere; }
.rp-plan > :last-child { flex-shrink: 0; white-space: nowrap; }
.rp-applied-coupon { flex-wrap: wrap; gap: .5rem; }
@media (max-width: 900px) {
  .rp-store-nav { position: relative; }
  .rp-store-nav-inner { height: auto; flex-direction: column; gap: .5rem; padding-block: .65rem; }
  .rp-store-brand { justify-content: center; flex-wrap: wrap; text-align: center; }
  .rp-store-actions { justify-content: center; flex-wrap: wrap; gap: .35rem .5rem; }
  .rp-store-actions .rp-store-link { display: block; font-size: .875rem; padding: .45rem .25rem; }
  .rp-store-actions :is(button, select, a[aria-label]) { min-height: 40px; }
}
@media (max-width: 767px) {
  main > :is(div, article) { padding-inline: clamp(12px, 4vw, 24px); }
  .rp-mobile-hero { min-height: 0; padding-block: 2rem 1.25rem; }
  .rp-mobile-hero [aria-hidden=true] { opacity: .3; pointer-events: none; }
  .rp-mobile-hero [aria-hidden=true] * { pointer-events: none; }
  .rp-hero-heading, .rp-hero-copy { position: relative; inset: auto; transform: none !important; opacity: 1 !important; padding-inline: 1rem; }
  .rp-hero-heading h1 { flex-direction: column; gap: 0; margin-block-end: 1rem; }
  .rp-hero-heading .brand-hero { max-width: 100%; font-size: clamp(2rem, 10vw, 3.5rem); }
  .rp-hero-heading h1 > :nth-child(2) { display: none; }
  .rp-hero-copy a { padding: .75rem 1.25rem; }
  .rp-hero-copy > div > div { gap: .75rem; }
  .rp-category-track { animation: none; width: auto; overflow-x: auto; padding: .5rem 1rem; scroll-snap-type: x proximity; }
  .rp-category-track .rp-category-card { width: min(82vw, 300px); scroll-snap-align: center; }
  .rp-price-filter input { width: 0; flex: 1 1 0; min-width: 0; }
  .rp-product-grid { gap: 1.25rem; }
  .rp-product-quantity { flex-wrap: wrap; gap: .75rem; }
  .rp-product-quantity button, .rp-cart-item button { min-height: 44px; min-width: 38px; }
  .rp-plan { padding: .75rem; }
  .rp-plan > :first-child > :first-child { flex-shrink: 0; }
  .rp-cart-item { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .65rem; }
  .rp-cart-item > :first-child { width: 3rem; height: 3rem; }
  .rp-cart-item > :nth-child(2) { grid-column: span 2; overflow-wrap: anywhere; }
  .rp-cart-item h3 { white-space: normal; }
  .rp-cart-item-price { width: auto; white-space: nowrap; }
  .rp-checkout-grid { gap: 1rem; }
  .rp-checkout-grid > div:first-child, .rp-checkout-grid > div:nth-child(2) > div { padding: 1rem; }
  .rp-checkout-grid :is(input, select, textarea), .rp-price-filter input { font-size: 16px; }
}

@media (max-width: 900px) {
  .rp-store-actions {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    width: min(100%, 28rem);
    justify-items: center;
  }
  .rp-store-actions > * { grid-column: span 3; max-width: 100%; }
  .rp-store-actions > .rp-store-link { grid-column: span 4; text-align: center; }
}
@media (max-width: 767px) {
  .rp-hero-heading h1, .rp-hero-copy > div > :is(p, div:first-of-type) {
    opacity: 1 !important;
    transform: none !important;
  }
  .rp-hero-heading .brand-hero { line-height: 1.28 !important; padding-block: .04em .16em; }
  .rp-hero-copy a:first-child { background: #f4f4f5; color: #18181b; }
  .rp-hero-copy a:first-child:hover { background: #e4e4e7; color: #18181b !important; }
}
