/* Custom overrides and missing styles for the static clone */

/* Fix font @font-face paths — the compiled Next.js CSS uses /_next/static/media/
   but we already rewrote those paths in process.js. This file adds any missing rules. */

:root {
  --font-inter: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --checkout-font-family: var(--font-inter);
}

html,
body {
  font-family: var(--font-inter) !important;
  font-synthesis-weight: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: geometricPrecision;
}

body,
button,
input,
textarea,
select,
[class*="font-"],
[style*="font-family"] {
  font-family: var(--font-inter) !important;
}

button,
input,
textarea,
select {
  letter-spacing: 0;
}

h1,
h2,
h3,
h4,
strong,
.font-semibold,
.font-bold {
  letter-spacing: 0;
}

/* Pulse animation for primary button (was driven by CSS custom props in Next.js) */
@keyframes btn-pulse {
  0%, 100% { box-shadow: 0 0 0 0 var(--btn-pulse-shadow-start, rgba(247,0,77,0.7)); }
  50%       { box-shadow: 0 0 0 10px var(--btn-pulse-shadow-end, rgba(247,0,77,0)); }
}

.btn-animate-pulse-normal {
  animation: btn-pulse 2s ease-in-out infinite;
}

/* Make sure the fixed bottom bar clears iOS safe area */
.fixed.bottom-0 {
  padding-bottom: max(1rem, env(safe-area-inset-bottom));
}

/* Smooth accordion transitions */
[aria-expanded="false"] + div {
  display: none;
}

/* Modal overlay backdrop */
#checkout-modal {
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}

/* Hide Next.js route announcer if it somehow appears */
next-route-announcer {
  display: none !important;
}

/* Ensure body doesn't scroll behind modal */
body.modal-open {
  overflow: hidden;
}
