/* -------------------------------------------------------
   Free Shipping components
     .fs-meter   cart / checkout (full width)
     .fs-badge   product pages (buybox)
     .fs-mini    cart hover dropdown
------------------------------------------------------- */

/* Shared container look — light blue, white text, rounded */
.fs-meter,
.fs-badge {
    background: linear-gradient(135deg, #1a7ac8 0%, #005288 100%);
    border-radius: 10px;
    padding: 12px 16px;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    box-shadow: 0 3px 10px rgba(0, 82, 136, 0.28);
    margin: 8px 0;
}

/* Label row */
.fs-meter__label,
.fs-badge__label {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    font-size: 15px;
    margin-bottom: 10px;
}

/* Dollar amount within the label — size independently */
.fs-amount {
    font-size: 17px;
    font-weight: 700;
}

/* Track — sunken cavity */
.fs-meter__track,
.fs-badge__track {
    height: 20px;
    background: rgba(0, 0, 0, 0.18);
    border-radius: 100px;
    padding: 3px;
    box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.25);
}

/* Glass rod fill */
.fs-meter__fill,
.fs-badge__fill {
    position: relative;
    height: 100%;
    border-radius: 100px;
    min-width: 20px;
    background: linear-gradient(90deg,
        #1a7ac8 0%,
        #0f88c2 25%,
        #1a9e5a 65%,
        #1a9e3a 100%
    );
    box-shadow:
        inset 0 -2px 4px rgba(0, 0, 0, 0.12),
        0 1px 3px rgba(0, 0, 0, 0.18);
    transition: width 0.7s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
}

/* Soft glass highlight — fades from white at top to transparent at centre */
.fs-meter__fill::after,
.fs-badge__fill::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom,
        rgba(255, 255, 255, 0.45) 0%,
        rgba(255, 255, 255, 0.10) 40%,
        rgba(255, 255, 255, 0)    70%
    );
    border-radius: 100px;
    pointer-events: none;
}

/* Complete section — hidden by default */
.fs-meter__complete,
.fs-badge__complete {
    display: none;
    align-items: center;
    gap: 9px;
    font-size: 14px;
}

/* Complete state — whole container turns green, show complete div, hide in-progress */
.fs-meter--complete,
.fs-badge--complete {
    background: linear-gradient(135deg, #34c05a 0%, #1a9e3a 100%);
    box-shadow: 0 3px 10px rgba(26, 158, 58, 0.32);
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 14px;
    padding: 14px 16px;
}

.fs-meter--complete .fs-meter__inprogress,
.fs-badge--complete .fs-badge__inprogress {
    display: none;
}

.fs-meter--complete .fs-meter__complete,
.fs-badge--complete .fs-badge__complete {
    display: flex;
}

/* Compact overrides for cart hover dropdown */
.mini-menu__wrapper .fs-badge,
.mini-menu__wrapper .fs-meter {
    padding: 8px 12px;
    margin: 4px 0;
    font-size: 12px;
}

.mini-menu__wrapper .fs-badge__label,
.mini-menu__wrapper .fs-meter__label {
    font-size: 12px;
    gap: 6px;
    margin-bottom: 7px;
}

.mini-menu__wrapper .fs-amount {
    font-size: 13px;
}

.mini-menu__wrapper .fs-badge__track,
.mini-menu__wrapper .fs-meter__track {
    height: 10px;
    padding: 2px;
}

.mini-menu__wrapper .fs-badge--complete,
.mini-menu__wrapper .fs-meter--complete {
    padding: 8px 12px;
    font-size: 12px;
    gap: 7px;
}

