/* src/styles.css */
:root {
  --pine: #173b2f;
  --leaf: #2a5748;
  --ink: #111827;
  --muted: #6b7280;
  --border: #d1d5db;
  --radius: 14px;
  --amber: #DC7B00;
  --amber-hover: #C06C00;
  --amber-light: #FFF5E6;
  --amber-border: #f6b44e;
  --text-1: #1a1a1a;
  --text-2: #525252;
  --text-3: #717171;
  --status-active-bg: rgba(41,132,90,0.1);
  --status-active-text: #29845a;
  --status-upcoming-bg: rgba(46,77,229,0.1);
  --status-upcoming-text: #2E4DE5;
  --status-closed-bg: rgba(229,28,0,0.1);
  --status-closed-text: #e51c00;
  --status-gray-bg: rgba(82,82,82,0.1);
  --status-gray-text: #525252;
}
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
body {
  font-family:
    "Inter",
    "Segoe UI",
    system-ui,
    sans-serif;
  color: var(--text-1);
}
.heading-serif {
  font-family:
    "Playfair Display",
    "Georgia",
    serif;
  font-weight: 700;
}
.badge-active {
  background: var(--status-active-bg);
  color: var(--status-active-text);
}
.badge-upcoming {
  background: var(--status-upcoming-bg);
  color: var(--status-upcoming-text);
}
.badge-closed {
  background: var(--status-closed-bg);
  color: var(--status-closed-text);
}
.badge-gray {
  background: var(--status-gray-bg);
  color: var(--status-gray-text);
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-14px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translateX(-16px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translateX(16px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes scaleIn {
  from {
    opacity: 0;
    transform: scale(0.94);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes shimmer {
  0% {
    background-position: -400px 0;
  }
  100% {
    background-position: 400px 0;
  }
}
@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.55;
  }
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.anim-fade-up {
  animation: fadeInUp 0.45s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.anim-fade-down {
  animation: fadeInDown 0.35s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.anim-fade-left {
  animation: fadeInLeft 0.35s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.anim-scale-in {
  animation: scaleIn 0.35s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.anim-delay-1 {
  animation-delay: 0.06s;
}
.anim-delay-2 {
  animation-delay: 0.12s;
}
.anim-delay-3 {
  animation-delay: 0.18s;
}
.anim-delay-4 {
  animation-delay: 0.24s;
}
.anim-delay-5 {
  animation-delay: 0.30s;
}
.pac-container {
  font-family:
    "Inter",
    "Segoe UI",
    system-ui,
    sans-serif;
  font-size: 0.875rem;
  border: 1.5px solid #d1d5db;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  margin-top: 4px;
  z-index: 99999 !important;
  overflow: hidden;
  background: #fff;
}
.pac-container::after {
  display: none;
}
.pac-item {
  display: flex;
  align-items: center;
  padding: 10px 14px;
  cursor: pointer;
  line-height: 1.4;
  border-top: 1px solid #f3f4f6;
  transition: background 0.12s;
}
.pac-item:first-child {
  border-top: none;
}
.pac-item:hover,
.pac-item-selected {
  background-color: #f0fdf4;
}
.pac-item-query {
  font-size: 0.875rem;
  color: #111827;
  font-weight: 500;
  padding-right: 4px;
}
.pac-matched {
  font-weight: 600;
  color: #173b2f;
}
.pac-icon {
  margin-top: 0;
  margin-right: 10px;
  flex-shrink: 0;
}
.pac-secondary-text {
  font-size: 0.78rem;
  color: #6b7280;
  margin-left: 4px;
}
.card-hover {
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}
.card-hover:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
}

/* angular:styles/global:styles */
