/* ═══════════════════════════════════════════════════════════════
   Live Itinerary Drag-and-Drop Builder Styling
   ═══════════════════════════════════════════════════════════════ */

.itinerary-day-card {
  background: var(--bg-card, #ffffff);
  border: 1px solid var(--border-color, #e2e8f0);
  border-radius: var(--radius-lg, 12px);
  padding: 1.25rem;
  margin-bottom: 1rem;
  box-shadow: var(--shadow-sm);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  position: relative;
}

.itinerary-day-card:hover {
  box-shadow: var(--shadow-md);
  border-color: var(--brand-primary, #0284c7);
}

.drag-handle {
  cursor: grab;
  color: var(--gray-400, #94a3b8);
  font-size: 1.2rem;
  padding: 0.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-sm);
  transition: color 0.15s ease, background-color 0.15s ease;
}

.drag-handle:hover,
.drag-handle:focus-visible {
  color: var(--brand-primary, #0284c7);
  background: var(--gray-100, #f1f5f9);
}

.itinerary-ghost {
  opacity: 0.4;
  background: var(--gray-100, #f1f5f9) !important;
  border: 2px dashed var(--brand-primary, #0284c7) !important;
}

.itinerary-chosen {
  box-shadow: var(--shadow-lg) !important;
  transform: scale(1.01);
}

.day-number-badge {
  background: var(--brand-primary, #0284c7);
  color: #ffffff;
  font-weight: 700;
  font-size: 0.8rem;
  padding: 0.35rem 0.75rem;
  border-radius: 9999px;
}

.meal-toggle-group {
  display: flex;
  gap: 0.5rem;
}

.meal-toggle-btn {
  border: 1px solid var(--border-color, #e2e8f0);
  background: var(--bg-card, #ffffff);
  color: var(--gray-600, #475569);
  padding: 0.4rem 0.8rem;
  border-radius: var(--radius-md, 8px);
  font-size: 0.825rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  transition: all 0.2s ease;
}

.meal-toggle-btn.active {
  background: var(--brand-primary, #0284c7);
  color: #ffffff;
  border-color: var(--brand-primary, #0284c7);
}

.day-thumbnail-container {
  width: 90px;
  height: 60px;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--gray-100, #f1f5f9);
  display: flex;
  align-items: center;
  justify-content: center;
}

.day-thumbnail-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
