/* Tracking page extras. Built on Bootstrap variables so it follows your theme (and dark mode). */
.trk-search{display:flex;align-items:center;gap:.75rem;max-width:780px;margin:0 auto 2.5rem;padding:.5rem .5rem .5rem 1.25rem;background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:999px;transition:border-color .2s,box-shadow .2s}
.trk-search:focus-within{border-color:var(--bs-primary);box-shadow:0 0 0 .3rem rgba(var(--bs-primary-rgb),.15)}
.trk-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--bs-body-color);font-size:1.05rem;padding:.65rem 0}
.trk-search-icon{color:var(--bs-secondary-color)}
.trk-search .btn{border-radius:999px;padding:.75rem 1.6rem;white-space:nowrap}
@media (max-width:575px){.trk-search{flex-wrap:wrap;border-radius:24px;padding:1rem}.trk-search input{flex:1 1 calc(100% - 2rem)}.trk-search .btn{width:100%}}

.trk-card{border-radius:20px}
.trk-feature{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:16px;background:rgba(var(--bs-primary-rgb),.12);color:var(--bs-primary);font-size:1.4rem}
.trk-feature-warn{background:rgba(255,193,7,.16);color:#d39e00}

.trk-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .95rem;border-radius:999px;font-weight:600;font-size:.85rem}
.trk-s-received,.trk-s-picked_up{background:rgba(108,117,125,.14);color:var(--bs-secondary-color)}
.trk-s-in_transit,.trk-s-out_for_delivery{background:rgba(var(--bs-primary-rgb),.14);color:var(--bs-primary)}
.trk-s-delivered{background:rgba(25,135,84,.14);color:#198754}
.trk-s-delayed,.trk-s-on_hold{background:rgba(255,193,7,.18);color:#b88600}
.trk-s-returned{background:rgba(220,53,69,.14);color:#dc3545}

/* progress steps */
.trk-steps{list-style:none;display:flex;margin:2.25rem 0 1.25rem;padding:0;position:relative}
.trk-steps::before,.trk-steps::after{content:"";position:absolute;top:20px;left:10%;height:4px;border-radius:4px}
.trk-steps::before{right:10%;background:var(--bs-border-color)}
.trk-steps::after{width:calc(var(--p) * .8%);background:var(--bs-primary);transition:width 1.2s ease}
.trk-step{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;gap:.35rem;text-align:center}
.trk-dot{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--bs-body-bg);border:3px solid var(--bs-border-color);color:var(--bs-secondary-color);transition:all .3s}
.trk-step.is-done .trk-dot{background:var(--bs-primary);border-color:var(--bs-primary);color:#fff}
.trk-step.is-current .trk-dot{border-color:var(--bs-primary);color:var(--bs-primary);box-shadow:0 0 0 6px rgba(var(--bs-primary-rgb),.18)}
.trk-step-label{font-size:.85rem;font-weight:500;line-height:1.2}
.trk-step:not(.is-done):not(.is-current) .trk-step-label{color:var(--bs-secondary-color)}
@media (max-width:575px){.trk-step-label{font-size:.7rem}.trk-dot{width:36px;height:36px}.trk-steps::before,.trk-steps::after{top:16px}}

/* route */
.trk-route{display:flex;align-items:center;gap:1rem;margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid var(--bs-border-color)}
.trk-route-line{position:relative;flex:1;height:2px;background:repeating-linear-gradient(90deg,var(--bs-border-color) 0 8px,transparent 8px 14px)}
.trk-mover{position:absolute;top:50%;left:calc(var(--p) * 1%);transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--bs-primary);color:#fff;box-shadow:0 6px 16px rgba(var(--bs-primary-rgb),.4);transition:left 1.2s ease}

/* map */
#trkMap{height:300px;border-radius:16px;overflow:hidden;z-index:0}

/* timeline */
.trk-timeline{list-style:none;margin:0;padding:0 0 0 1.9rem;position:relative}
.trk-timeline::before{content:"";position:absolute;left:9px;top:8px;bottom:8px;width:2px;background:var(--bs-border-color)}
.trk-tl-day{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bs-secondary-color);margin:.25rem 0 1rem}
.trk-tl-item{position:relative;padding-bottom:1.5rem}
.trk-tl-item::before{content:"";position:absolute;left:-1.9rem;top:3px;width:20px;height:20px;border-radius:50%;background:var(--bs-body-bg);border:3px solid var(--bs-border-color)}
.trk-tl-item.is-latest::before{background:var(--bs-primary);border-color:var(--bs-primary);animation:trkPulse 2s infinite}
.trk-tl-icon{color:var(--bs-primary);margin-right:.25rem}
@keyframes trkPulse{0%{box-shadow:0 0 0 0 rgba(var(--bs-primary-rgb),.5)}100%{box-shadow:0 0 0 12px rgba(var(--bs-primary-rgb),0)}}

/* info list */
.trk-info>div{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--bs-border-color)}
.trk-info>div:last-child{border-bottom:0}
.trk-info dt{font-weight:400;color:var(--bs-secondary-color);font-size:.9rem}
.trk-info dd{margin:0;text-align:right;font-weight:500}
.trk-icon-btn{border:0;background:transparent;color:var(--bs-secondary-color);padding:.15rem .35rem;border-radius:8px}
.trk-icon-btn:hover{color:var(--bs-primary);background:rgba(var(--bs-primary-rgb),.1)}

/* "new update" toast */
.trk-update{position:fixed;left:50%;bottom:1.25rem;transform:translateX(-50%);z-index:1080;display:flex;align-items:center;gap:1rem;padding:.75rem 1rem .75rem 1.25rem;border-radius:999px;background:var(--bs-body-color);color:var(--bs-body-bg);box-shadow:0 12px 32px rgba(0,0,0,.3)}
.trk-update button{border:0;border-radius:999px;padding:.4rem 1rem;background:var(--bs-primary);color:#fff;font-weight:600}

@media print{header,footer,.trk-search,.trk-print-hide,.progressCounter,.trk-update{display:none!important}.tracking-inner{box-shadow:none!important;border:1px solid #ddd}}
@media (prefers-reduced-motion:reduce){.trk-steps::after,.trk-mover,.trk-tl-item.is-latest::before{transition:none;animation:none}}
