/* =====================================================================
   RAFIKI ADVENTURES — ratiba ya kifurushi kama NJIA (1.6, 1.7)

   Pini, mstari wa vitone unaokwenda huku na huku, beji ya siku na jina
   la kituo. Hakuna picha — rangi za udongo za tovuti tu.

   Faili moja kwa sehemu mbili: ukurasa wa kifurushi
   (Site::partials/route-timeline) na hakikisho la kihariri cha portal
   (Admin::partials/detail-field, aina `route`). Zikitumia laha moja,
   hakikisho haliwezi kutofautiana na ukurasa halisi.
   ===================================================================== */

.route {
  list-style: none;
  margin: 0;
  padding: 34px 18px 30px;
  background:
    radial-gradient(120% 60% at 100% 0%, rgba(247, 160, 8, .08), transparent 60%),
    radial-gradient(120% 60% at 0% 100%, rgba(58, 27, 5, .06), transparent 60%),
    #fbf3e6;
  border: 1px solid var(--line, #ecdfcc);
  border-radius: 6px;
  overflow: hidden;
}
.route-stop { position: relative; }
.route-row {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  margin-left: calc(var(--x) - 20px);
}
.route-pin { position: relative; flex: none; width: 40px; height: 58px; color: #7a3412; }
.route-pin svg { display: block; filter: drop-shadow(0 3px 3px rgba(58, 27, 5, .25)); }
.route-shadow {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 34px;
  height: 9px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(122, 52, 18, .55), rgba(122, 52, 18, .12) 70%, transparent);
}
.route-text { min-width: 0; padding-bottom: 10px; }
.route-day {
  display: inline-block;
  padding: 4px 14px;
  margin-bottom: 5px;
  border-radius: 7px;
  background: #a0552a;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .02em;
}
.route-text strong { display: block; font-size: 18px; font-weight: 700; line-height: 1.25; color: #2a1304; }
.route-link { display: block; width: 100%; height: 60px; margin: -6px 0 -4px; overflow: visible; }
.route-link path {
  fill: none;
  stroke: #8a3e15;
  stroke-width: 2.5;
  stroke-dasharray: 7 7;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
}
.route-link-mob { display: none; }

/* Ndege mwanzoni (kuwasili) na mwishoni (kuondoka). */
.route-arrive, .route-depart { display: inline-flex; align-items: center; color: #8a3e15; flex: none; }
.route-arrive { position: absolute; right: calc(100% + 4px); top: 12px; }
.route-depart { align-self: flex-end; margin: 0 0 18px 4px; }
.route-arrive i, .route-depart i { display: block; width: 44px; border-top: 2.5px dashed #8a3e15; }
.route-arrive .route-plane { transform: rotate(-90deg); margin-right: 4px; }
.route-depart .route-plane { transform: rotate(60deg); margin-left: 4px; }

@media (max-width: 600px) {
  .route { padding: 26px 10px 22px; }
  .route-row { margin-left: calc(var(--xm) - 20px); }
  .route-link-desk { display: none; }
  .route-link-mob { display: block; }
  .route-text strong { font-size: 15.5px; }
  .route-day { font-size: 12px; padding: 3px 11px; }
  .route-arrive i { width: 22px; }
  .route-depart { display: none; }
}
@media print { .route { background: none; } }
