:root{
    --green:#22c55e;
    --blue:#0d6efd;
    --red:#ef4444;
    --gray:#d1d5db;
    --dark:#374151;
    --light:#f8fafc;
}

/* ===========================
   WRAPPER
=========================== */

#tracking-wrapper{
    width:100%;
    margin:auto;
    font-family:Segoe UI,Arial,sans-serif;
}

/* ===========================
   SHIPMENT CARD
=========================== */

.shipment-card{
    background:#fff;
    border-radius:14px;
    padding:25px 25px 35px 25px;
    margin-bottom:20px;
    border:1px solid #ddd;
    box-shadow:0 4px 14px rgba(0,0,0,.08);
}

.shipment-status{
    font-size:22px;
    font-weight:700;
    color:var(--green);
    text-align:center;
}

.shipment-step{
    margin-top:4px;
    text-align:center;
    font-size:15px;
    color:#555;
    margin-bottom:20px;
}

/* ===========================
   PROGRESS BAR
=========================== */

.tracking-progress{
    position:relative;
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
}

.track-line{
    position:absolute;
    left:8%;
    right:8%;
    top:22px;
    height:6px;
    background:#e5e7eb;
    border-radius:20px;
}

.track-fill{
    position:absolute;
    left:8%;
    top:22px;
    height:6px;
    width:0;
    background:linear-gradient(90deg,var(--green),#16a34a);
    border-radius:20px;
}

.step1 .track-fill{width:0;}
.step2 .track-fill{width:21%;}
.step3 .track-fill{width:43%;}
.step4 .track-fill{width:65%;}
.step5 .track-fill{width:84%;}

.track-step{
    width:20%;
    text-align:center;
    position:relative;
    z-index:2;
}

.track-icon{
    width:54px;
    height:54px;
    border-radius:50%;
    margin:auto;
    background:var(--gray);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:"Font Awesome 5 Free";
    font-weight:900;
    font-size:22px;
    transition:.3s;
}

.track-label{
    margin-top:8px;
    font-size:12px;
    font-weight:600;
    color:#666;
}

/* ICONS */

.track-step.terminal .track-icon:before{content:"\f48b";}
.track-step.received .track-icon:before{content:"\f494";}
.track-step.transit .track-icon:before{content:"\f21a";}
.track-step.land .track-icon:before{content:"\f0d1";}
.track-step.delivered .track-icon:before{content:"\f058";}



/* STATES */

.track-step.completed .track-icon{
    background:var(--green);
}

.track-step.current .track-icon,
.myli.current .step-circle{
    background:#0d6efd;
    transform:scale(1.12);
    box-shadow:0 0 18px rgba(13,110,253,.35);
}

.track-step.pending .track-icon{
    background:var(--gray);
}

/* animation */



/* ===========================
   TIMELINE
=========================== */

.myli{
    display:flex;
    gap:14px;
    align-items:flex-start;
    padding:14px;
    margin-bottom:12px;
    background:#fff;
    border-radius:12px;
    border:1px solid #ddd;
    box-shadow:0 2px 8px rgba(0,0,0,.06);
}

.step-circle{
	margin-top:4px;
    width:42px;
    height:42px;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    font-weight:bold;
    color:#fff;
    flex-shrink:0;
    font-family:"Font Awesome 5 Free";
    font-weight:900;
}

/* timeline icons */

.myli.terminal .step-circle:before{content:"\f48b";}
.myli.received .step-circle:before{content:"\f494";}
.myli.transit .step-circle:before{content:"\f21a";}
.myli.land .step-circle:before{content:"\f0d1";}
.myli.delivered .step-circle:before{content:"\f058";}

.myli.completed{
    border-left:3px solid var(--green);
	background:#f8fff9;
}

.myli.completed .step-circle{
    background:var(--green);
}

.myli.current{
    border-left:3px solid var(--blue);
    box-shadow:0 0 0 3px rgba(13,110,253,.08);
	background:#f8fbff;
}

.myli.current .step-circle{
    background:var(--blue);
    /*animation:pulse 1.5s infinite;*/
}

.myli.pending{
    opacity:.85;
    border-left: 3px solid #999;
}

.myli.pending .step-circle{
    background:#999;
}

.step-content{
    flex:1;
}

.step-content h6{
    margin:0 0 6px;
    font-size:14px;
    font-weight:700;
}

.step-content p{
    margin:0;
    font-size:13px;
    line-height:1.45;
}

/* ===========================
   MOBILE
=========================== */

@media(max-width:768px){

.track-label{
    display:none;
}

.track-icon{
    width:36px;
    height:36px;
    font-size:15px;
}

.track-line,
.track-fill{
    top:17px;
}

.shipment-status{
    font-size:18px;
}

.shipment-step{
    font-size:13px;
}

.myli{
    padding:10px;
}

.step-circle{
    width:34px;
    height:34px;
    font-size:14px;
}

.step-content h6{
    font-size:12px;
}

.step-content p{
    font-size:11px;
}
}
