@import url(https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans&display=swap);
@import "tailwindcss";
@plugin "daisyui";
@plugin "@tailwindcss/typography";

/* Custom styles untuk Bank Sampah App */
@layer components {
  .hero-gradient {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  }

  .card-hover {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }

  .card-hover:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  }

  /* New Landing Page Styles */
  .fade-in-up {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease, transform 0.6s ease;
  }

  .fade-in-up.visible {
    opacity: 1;
    transform: translateY(0);
  }

  .animate-fade-in {
    animation: fadeIn 0.8s ease-in-out;
  }

  @keyframes fadeIn {
    0% {
      opacity: 0;
      transform: translateY(20px);
    }
    100% {
      opacity: 1;
      transform: translateY(0);
    }
  }

  /* Custom badge styles */
  .badge-icon {
    width: 12px;
    height: 12px;
    background: currentColor;
    border-radius: 50%;
  }

  /* Hover effects for buttons and cards */
  .btn-custom {
    transition: all 0.3s ease;
  }

  .btn-custom:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
  }

  /* Map marker animation */
  .map-marker {
    animation: pulse 2s infinite;
  }

  @keyframes pulse {
    0% {
      transform: scale(1);
    }
    50% {
      transform: scale(1.1);
    }
    100% {
      transform: scale(1);
    }
  }

  /* Responsive text sizing */
  @media (max-width: 640px) {
    .hero-title {
      font-size: 2.5rem;
      line-height: 1.2;
    }
  }

  @media (min-width: 1024px) {
    .hero-title {
      font-size: 4.5rem;
      line-height: 1.1;
    }
  }
}

@utility icon {
  font-family: 'Material Symbols Outlined';
  font-style: normal;
  font-weight: normal;
  font-size: 1.5rem; /* 24px default */
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
}

@utility icon-outline {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

@utility icon-fill {
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

@theme {
    --font-jakarta-plus: "Plus Jakarta Sans", sans-serif;
    --color-bank-sampah-primary-700: #184D21;
    --color-bank-sampah-primary-600: #1E602A;
    --color-bank-sampah-primary-500: #247332;
    --color-bank-sampah-primary-200: #91B998;
    --color-bank-sampah-primary-100: #B6D0BB;
    --color-bank-sampah-primary-25: #EFFFF2;
    --color-bank-sampah-secondary-700: #782D12;
    --color-bank-sampah-secondary-600: #C94B1F;
    --color-bank-sampah-secondary-500: #F15A25;
    --color-bank-sampah-secondary-200: #F8AC92;
    --color-bank-sampah-secondary-100: #FAC8B6;
    --color-bank-sampah-secondary-25: #FCDED3;
}

.menu-sidebar a:active,
.menu-sidebar a.menu-active,
.menu-sidebar details > summary:active,
.menu-sidebar a:hover,
.menu-sidebar details > summary:hover {
    @apply bg-bank-sampah-primary-500 rounded-full text-white;
}

.menu-sidebar a:active,
.menu-sidebar a.menu-active,
.menu-sidebar details > summary:active {
    @apply bg-bank-sampah-primary-500 rounded-full text-white shadow-none;
}

.badge {
    @apply text-nowrap;
}