/* Custom styles layered on top of Tailwind CDN */

html { scroll-behavior: smooth; }

/* Image-overlay hero / banners (set --img inline on the element) */
.bg-overlay-dark {
  background-image:
    linear-gradient(105deg, rgba(13,17,22,.96) 0%, rgba(13,17,22,.82) 42%, rgba(13,17,22,.45) 100%),
    var(--img);
  background-size: cover;
  background-position: center;
}
.bg-overlay-brand {
  background-image:
    linear-gradient(100deg, rgba(245,91,31,.95), rgba(216,71,15,.86)),
    var(--img);
  background-size: cover;
  background-position: center;
}
.page-header-glow {
  background:
    radial-gradient(900px 400px at 80% -10%, rgba(245,91,31,.28), transparent 60%),
    radial-gradient(700px 400px at 0% 120%, rgba(27,187,255,.18), transparent 55%);
}

/* Scroll reveal */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .6s ease, transform .6s ease; }
.reveal.in { opacity: 1; transform: none; }

/* Partner logos */
.partner-logo { height: 30px; width: auto; opacity: .55; filter: grayscale(1); transition: opacity .2s, filter .2s; }
.partner-logo:hover { opacity: 1; filter: grayscale(0); }

/* Card hover lift */
.card-lift { transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.card-lift:hover { transform: translateY(-5px); box-shadow: 0 18px 40px -18px rgba(16,20,24,.22); border-color: transparent; }

/* Image zoom-on-hover */
.zoom-wrap { overflow: hidden; }
.zoom-wrap img { transition: transform .5s ease; }
.zoom-wrap:hover img { transform: scale(1.06); }

/* Tracking timeline connector line */
.tl-step:not(:last-child)::before {
  content: ""; position: absolute; left: 21px; top: 40px; bottom: -4px; width: 2px; background: #e8ebef;
}
.tl-step.done:not(:last-child)::before { background: #f55b1f; }

/* CSS barcode (decorative) for the track result */
.barcode {
  width: 260px; height: 60px;
  background-image: repeating-linear-gradient(90deg,
    #111 0, #111 2px, #fff 2px, #fff 4px,
    #111 4px, #111 5px, #fff 5px, #fff 8px,
    #111 8px, #111 11px, #fff 11px, #fff 12px,
    #111 12px, #111 13px, #fff 13px, #fff 16px);
}

/* Print: show only the track result */
@media print {
  .no-print, header.sticky, footer, .page-header { display: none !important; }
  #printArea { border: none !important; box-shadow: none !important; }
  body { background: #fff !important; }
}

/* Eyebrow dash */
.eyebrow::before {
  content: ""; display: inline-block; width: 26px; height: 2px; background: currentColor;
  border-radius: 2px; margin-right: 8px; vertical-align: middle;
}
