:root {
  --mint: #06D6A0;
  --slate: #3C6E71;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  min-height: 100%;
  overflow-x: hidden;
  background: #ffffff;
  -webkit-font-smoothing: antialiased;
}

#root {
  min-height: 100%;
}

a {
  text-decoration: none;
}

button {
  font: inherit;
}

img {
  max-width: 100%;
  display: block;
}

table {
  border-collapse: collapse;
}

/* Lucide icons: match currentColor sizing behavior similar to lucide-react */
svg[data-lucide], i[data-lucide] svg {
  display: inline-block;
  vertical-align: middle;
}

/* Simple pulse animation used on the "LIVE" queue dot (Tailwind's animate-pulse already covers this,
   kept here as a safety net in case the CDN utility isn't generated in time) */
@keyframes cc-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: .4; }
}
.cc-pulse {
  animation: cc-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

input:focus {
  outline: none;
}

/* Contact form fields: replicate the JS onFocus/onBlur border+background swap
   from the original React input handlers */
.cc-field {
  border-color: #E2EBF0;
  background: #F8F9FA;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}
.cc-field:focus {
  border-color: var(--mint);
  background: #ffffff;
}

/* Mobile menu simple slide */
#mobile-menu {
  transition: max-height 0.2s ease;
}
