/* Tailwind custom styles */
@tailwind base;
@tailwind components;
@tailwind utilities;

/* Custom font */
.candy-text {
  font-family: 'Bubblegum Sans', cursive;
}

/* Animation for logo bounce */
@keyframes candyBounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
.candy-bounce {
  animation: candyBounce 2s infinite;
}

/* Gradient background for hero */
.gradient-bg {
  background: linear-gradient(180deg, #f472b6, #db2777);
}

/* Fallback error */
.fallback-error {
  text-align: center;
  color: red;
  padding: 20px;
}

/* Navbar styles */
.navbar-container {
  gap: var(--logo-gap-navbar);
  padding: var(--logo-padding-navbar);
}

.navbar-logo-container {
  justify-content: flex-start;
}

.navbar-logo {
  height: var(--logo-size-navbar);
  margin-left: var(--logo-margin-x-navbar);
  margin-top: var(--logo-margin-y-navbar);
}

/* Hero styles */
.hero-container {
  gap: var(--logo-gap-hero);
  padding: var(--logo-padding-hero);
}

.hero-logo {
  height: var(--logo-size-hero-mobile);
  margin-left: var(--logo-margin-x-hero);
  margin-top: var(--logo-margin-y-hero);
}

@media (min-width: 768px) {
  .hero-logo {
    height: var(--logo-size-hero-desktop);
  }
}

/* Footer styles */
.footer-container {
  gap: var(--logo-gap-footer);
  padding: var(--logo-padding-footer);
}

.footer-logo {
  height: var(--logo-size-footer);
  margin-left: var(--logo-margin-x-footer);
  margin-top: var(--logo-margin-y-footer);
}

/* Modal styles */
.admin-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.admin-modal-content {
  background: white;
  padding: 20px;
  border-radius: 8px;
  max-width: 500px;
  width: 90%;
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.modal-content {
  background: white;
  padding: 20px;
  border-radius: 8px;
  max-width: 80%;
  max-height: 80%;
}

/* Carousel and calendar styles */
.carousel-container {
  position: relative;
  max-width: 600px;
  margin: 0 auto;
}

.calendar-day {
  cursor: pointer;
  background: #f3f4f6;
}

.calendar-day.selected {
  background: #f472b6;
  color: white;
}

/* Dropdown form styles */
.dropdown-form.hidden {
  display: none;
}

.dropdown-form.visible {
  display: block;
}