/* The React mount owns the normal commerce view. WooCommerce remains visible
   only if JavaScript, compiled assets or the Store API fail. */
.amh-commerce-journey { position: relative; min-height: 260px; }
.amh-commerce-pending { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 260px; padding: 28px; color: #16302f; background: #f3f7f6; font-weight: 750; }
.amh-commerce-pending > span { width: 22px; height: 22px; border: 3px solid #d7e3e1; border-top-color: #0d5751; border-radius: 50%; animation: amh-commerce-spin .8s linear infinite; }
.amh-native-commerce-fallback { display: block; }
.amh-commerce-journey[data-boot="pending"] .amh-native-commerce-fallback,
.amh-commerce-journey[data-boot="ready"] .amh-native-commerce-fallback,
.amh-commerce-journey[data-boot="fallback"] .amh-customer-portal-mount,
.amh-commerce-journey[data-boot="fallback"] .amh-commerce-pending,
.amh-commerce-journey[data-boot="ready"] .amh-commerce-pending,
.amh-commerce-journey[data-react="loading"] .amh-commerce-pending { display: none; }
@keyframes amh-commerce-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .amh-commerce-pending > span { animation: none; } }
.amh-native-recovery-panel { max-width: 760px; margin: 24px auto; padding: clamp(24px, 4vw, 42px); border: 1px solid #d7e3e1; border-radius: 24px; background: #fff; box-shadow: 0 18px 50px rgba(13, 87, 81, .10); text-align: center; }
.amh-native-recovery-panel h2 { margin: 0 0 12px; color: #16302f; }
.amh-native-recovery-panel p { margin: 0 0 18px; }
.amh-native-recovery-panel .button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; }
.amh-native-recovery-panel__note { color: #4f6260; font-size: .94rem; }
.amh-runtime-fallback-message { max-width: 760px; margin: 0 auto 16px; }
