/* Vialia Tours — base styles */
:root {
  --brand: #162762;
  --brand-light: #CFE7FD;
  --brand-orange: #FB8527;
  --brand-orange-light: #F7DDC8;
}

[x-cloak] { display: none !important; }

body { font-family: 'Quicksand', system-ui, sans-serif; }

/* =============================================================
   Carousel (used in tour cards + tour detail)
   - Pure cross-fade (no transform) to avoid sub-pixel vibrations
   ============================================================= */
.carousel {
  /* Force GPU compositing once so the browser doesn't re-rasterise on each tick */
  transform: translateZ(0);
  backface-visibility: hidden;
}
.carousel-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 800ms cubic-bezier(0.4, 0, 0.2, 1);
  will-change: opacity;
  /* Subtle zoom only on hover for the main hero, never during swap */
}
.carousel:hover .carousel-img.is-active { transform: none; }
.carousel-img.is-active { opacity: 1; }
.carousel-img.is-leaving { opacity: 0; pointer-events: none; }

/* =============================================================
   Calendar (tour detail schedule picker)
   ============================================================= */
.cal-day {
  aspect-ratio: 1 / 1;
  display: flex; align-items: center; justify-content: center;
  border-radius: 0.75rem;
  font-size: 0.875rem;
  color: #64748b;
  position: relative;
  transition: background-color 150ms, color 150ms, transform 150ms;
  user-select: none;
}
.cal-day:hover:not(.cal-disabled):not(.cal-selected) { background: #f1f5f9; }
.cal-available { color: #162762; font-weight: 600; cursor: pointer; }
.cal-available:hover { transform: translateY(-1px); }
.cal-available::after {
  content: '';
  position: absolute; bottom: 6px; left: 50%;
  transform: translateX(-50%);
  width: 5px; height: 5px; border-radius: 50%;
  background: #FB8527;
}
.cal-selected {
  background: #162762; color: #fff; font-weight: 700;
  box-shadow: 0 8px 20px -8px rgba(22, 39, 98, 0.5);
}
.cal-selected::after { background: #FB8527; }
.cal-disabled { color: #cbd5e1; cursor: not-allowed; }
.cal-today { font-weight: 700; outline: 1px dashed #FB8527; outline-offset: 2px; }

/* =============================================================
   Buttons
   ============================================================= */
.btn-primary { @apply bg-brand text-white font-semibold px-6 py-2 rounded-full hover:bg-brand/90; }
