@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
  :root {
    --background: 0 0% 100%;
    --foreground: 222.2 84% 4.9%;
    --card: 0 0% 100%;
    --card-foreground: 222.2 84% 4.9%;
    --popover: 0 0% 100%;
    --popover-foreground: 222.2 84% 4.9%;
    --primary: 221.2 83.2% 53.3%;
    --primary-foreground: 210 40% 98%;
    --secondary: 210 40% 96.1%;
    --secondary-foreground: 222.2 47.4% 11.2%;
    --muted: 210 40% 96.1%;
    --muted-foreground: 215.4 16.3% 46.9%;
    --accent: 210 40% 96.1%;
    --accent-foreground: 222.2 47.4% 11.2%;
    --destructive: 0 84.2% 60.2%;
    --destructive-foreground: 210 40% 98%;
    --border: 214.3 31.8% 91.4%;
    --input: 214.3 31.8% 91.4%;
    --ring: 221.2 83.2% 53.3%;
    --radius: 0.5rem;
  }

  .dark {
    --background: 222.2 84% 4.9%;
    --foreground: 210 40% 98%;
    --card: 222.2 84% 4.9%;
    --card-foreground: 210 40% 98%;
    --popover: 222.2 84% 4.9%;
    --popover-foreground: 210 40% 98%;
    --primary: 217.2 91.2% 59.8%;
    --primary-foreground: 222.2 47.4% 11.2%;
    --secondary: 217.2 32.6% 17.5%;
    --secondary-foreground: 210 40% 98%;
    --muted: 217.2 32.6% 17.5%;
    --muted-foreground: 215 20.2% 65.1%;
    --accent: 217.2 32.6% 17.5%;
    --accent-foreground: 210 40% 98%;
    --destructive: 0 62.8% 30.6%;
    --destructive-foreground: 210 40% 98%;
    --border: 217.2 32.6% 17.5%;
    --input: 217.2 32.6% 17.5%;
    --ring: 224.3 76.3% 94.9%;
  }
}

@layer base {
  * {
    @apply border-border;
  }
  body {
    @apply bg-background text-foreground;
  }
}

/* Quill Editor Custom Styles - Reusable Component */
.yatra-quill-editor .quill {
  display: flex;
  flex-direction: column;
}

/* Toolbar - Light gray background to differentiate from editor */
.yatra-quill-editor .ql-toolbar {
  border: 1px solid #e5e7eb;
  border-bottom: none;
  border-radius: 0.5rem 0.5rem 0 0;
  background-color: #f9fafb;
  padding: 0.5rem;
}

/* Editor Container - White background */
.yatra-quill-editor .ql-container {
  border: 1px solid #e5e7eb;
  border-top: none;
  border-radius: 0 0 0.5rem 0.5rem;
  background-color: #ffffff;
  font-family: inherit;
  font-size: 1rem;
  flex: 1;
}

/* Editor Content Area */
.yatra-quill-editor .ql-editor {
  min-height: 280px;
  max-height: 600px;
  overflow-y: auto;
  padding: 1rem;
  line-height: 1.6;
}

/* Placeholder styling */
.yatra-quill-editor .ql-editor.ql-blank::before {
  color: #9ca3af;
  font-style: italic;
  left: 1rem;
  right: 1rem;
}

/* Toolbar button styling */
.yatra-quill-editor .ql-toolbar button {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.25rem;
  transition: background-color 0.15s ease;
}

.yatra-quill-editor .ql-toolbar button:hover {
  background-color: #e5e7eb;
}

.yatra-quill-editor .ql-toolbar button.ql-active {
  background-color: #dbeafe;
  color: #3b82f6;
}

/* Dropdown styling */
.yatra-quill-editor .ql-toolbar .ql-picker {
  border-radius: 0.25rem;
}

.yatra-quill-editor .ql-toolbar .ql-picker:hover {
  background-color: #e5e7eb;
}

/* Dark mode support */
.dark .yatra-quill-editor .ql-toolbar {
  background-color: #374151;
  border-color: #4b5563;
}

.dark .yatra-quill-editor .ql-container {
  background-color: #1f2937;
  border-color: #4b5563;
}

.dark .yatra-quill-editor .ql-editor {
  color: #f9fafb;
}

.dark .yatra-quill-editor .ql-editor.ql-blank::before {
  color: #6b7280;
}

.dark .yatra-quill-editor .ql-toolbar button:hover {
  background-color: #4b5563;
}

.dark .yatra-quill-editor .ql-toolbar button.ql-active {
  background-color: #1e3a8a;
  color: #93c5fd;
}

.dark .yatra-quill-editor .ql-toolbar .ql-picker:hover {
  background-color: #4b5563;
}

.dark .yatra-quill-editor .ql-stroke {
  stroke: #d1d5db;
}

.dark .yatra-quill-editor .ql-fill {
  fill: #d1d5db;
}

.dark .yatra-quill-editor .ql-picker-label {
  color: #d1d5db;
}

.dark .yatra-quill-editor .ql-picker-options {
  background-color: #374151;
  border-color: #4b5563;
}

.dark .yatra-quill-editor .ql-picker-item:hover {
  background-color: #4b5563;
  color: #f9fafb;
}
