/* Common Reset & Utilities */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body { font-family: 'Manrope', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; color: #1a1a1a; line-height: 1.5; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { border: none; background: none; cursor: pointer; font-family: inherit; padding: 0; color: inherit; }
input, textarea { font-family: inherit; }
.container { max-width: 1280px; margin: 0 auto; padding: 0 32px; }

/* Back button */
.back-btn { position: fixed; top: 16px; left: 16px; z-index: 100; background: rgba(0,0,0,0.85); color: #fff; font-size: 12px; padding: 6px 12px; border-radius: 999px; display: inline-flex; align-items: center; gap: 6px; text-decoration: none; transition: background 0.2s; }
.back-btn:hover { background: #000; }
.back-btn svg { width: 14px; height: 14px; }
html.embed .back-btn { display: none !important; }
html.embed body { pointer-events: none; }

/* Utility */
.flex { display: flex; }
.grid { display: grid; }
.items-center { align-items: center; }
.items-end { align-items: flex-end; }
.justify-between { justify-content: space-between; }
.justify-center { justify-content: center; }
.text-center { text-align: center; }


/* Prevent the floating back button from overlapping the page headers */
body > .back-btn + header { margin-top: 36px; }
@media (max-width: 900px) {
  body > .back-btn + header { margin-top: 30px; }
  .back-btn { top: 12px; left: 12px; font-size: 11px; padding: 6px 10px; }
}
