:root {
  --background: #f4f5f7;
  --foreground: #000000;
  --card: #ffffff;
  --card-foreground: #000000;
  --primary: #c02b33;
  --primary-foreground: #ffffff;
  --secondary: #ebedf0;
  --secondary-foreground: #000000;
  --muted: #ebedf0;
  --muted-foreground: #636363;
  --border: #d9dadc;
  --input: #dddee0;
  --ring: #c02b33;
  --deep: #1a1a1a;
  --radius: 0.5rem;
}

body {
  background-color: var(--background);
  color: var(--foreground);
}

/* Scroll indicator animation */
@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}
.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* Line clamp */
.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Hide scrollbar */
.scrollbar-hide {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.scrollbar-hide::-webkit-scrollbar {
  display: none;
}

/* Calendar date states */
.cal-past { color: #c0c0c0; cursor: not-allowed; }
.cal-default:hover { background-color: rgba(192, 43, 51, 0.1); }
.cal-selected { background-color: var(--primary); color: var(--primary-foreground); }
.cal-selected:hover { background-color: var(--primary); }
.cal-in-range { background-color: rgba(192, 43, 51, 0.15); color: var(--foreground); border-radius: 0; }

/* Transparent navbar (branch hero) */
#navbar-back[data-at-top] {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom-color: transparent !important;
}
#navbar-back[data-at-top] a:first-child {
  color: #ffffff !important;
}
#navbar-back[data-at-top] a:first-child:hover {
  color: var(--primary) !important;
}

/* White text stroke for branch hero h1 */
.text-stroke-white {
  -webkit-text-stroke: 1.5px rgba(255, 255, 255, 0.7);
  paint-order: stroke fill;
}

/* Chevron decorative background */
.chevron-bg {
  position: relative;
  overflow: hidden;
}

.chevron-bg > * {
  position: relative;
  z-index: 1;
}

.chevron-bg::after {
  content: '';
  position: absolute;
  top: 50%;
  right: -20%;
  transform: translateY(-50%);
  width: 60%;
  height: 95%;
  background: rgba(0, 0, 0, 0.018);
  clip-path: polygon(0% 5%, 40% 5%, 85% 50%, 40% 95%, 0% 95%, 40% 50%);
  z-index: 0;
  pointer-events: none;
}
