/* ==========================================================================
       TRACK PAGE STYLES & UNIFIED SYSTEM DESIGN
       ========================================================================== */
    .track-banner-stage {
        width: 100%;
        min-height: 290px;
        position: relative;
        overflow: hidden;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        padding: 4.5rem 5% 4rem;
        box-sizing: border-box;
        background: linear-gradient(180deg, #fffafc 0%, #faedf3 55%, var(--bg-main, #fffafc) 100%);
        border: none !important;
    }

    .track-ambient-glow {
        position: absolute;
        width: 340px;
        height: 340px;
        border-radius: 50%;
        filter: blur(90px);
        opacity: 0.45;
        pointer-events: none;
        z-index: 1;
        transform: translateZ(0);
        will-change: transform;
    }
    .glow-left { top: 0; left: -90px; background: #fcd5e5; }
    .glow-right { bottom: 0; right: -90px; background: #ebd5fa; }

    .banner-bottom-fade {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 80px;
        background: linear-gradient(to bottom, rgba(255, 250, 252, 0) 0%, var(--bg-main, #fffafc) 100%);
        z-index: 2;
        pointer-events: none;
    }

    .track-banner-content {
        position: relative;
        z-index: 3;
        max-width: 760px;
        width: 100%;
        animation: fadeIn 0.8s cubic-bezier(0.16, 1, 0.3, 1);
        box-sizing: border-box;
        padding: 0 1rem;
    }

    @keyframes fadeIn {
        from { opacity: 0; transform: translateY(14px); }
        to { opacity: 1; transform: translateY(0); }
    }

    @keyframes fairyRevealIn {
        from { opacity: 0; transform: translateY(20px); }
        to { opacity: 1; transform: translateY(0); }
    }

    .main-content-flow {
        padding-top: 0.5rem;
        animation: fairyRevealIn 0.55s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    }

    .banner-title {
        font-family: 'Playfair Display', Georgia, serif;
        font-size: clamp(2.3rem, 6.2vw, 3.6rem);
        color: var(--text-dark, #2d2629);
        font-weight: 500;
        margin: 0 0 0.8rem 0;
        letter-spacing: -0.5px;
        line-height: 1.15;
    }

    .banner-desc {
        font-family: var(--font-sans, 'Poppins', sans-serif);
        font-style: normal;
        color: #7d6b75;
        font-size: clamp(0.92rem, 1.8vw, 1.05rem);
        margin: 0 auto 2.2rem;
        max-width: 580px;
        line-height: 1.6;
    }

    /* SEARCH BAR */
    .track-search-card {
        max-width: 540px;
        margin: 0 auto;
    }

    .track-input-shell {
        display: flex;
        align-items: center;
        background: rgba(255, 255, 255, 0.96);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        border: 1.5px solid rgba(244, 166, 193, 0.45);
        border-radius: 40px;
        min-height: 50px;
        padding: 0.35rem 0.5rem 0.35rem 1.2rem;
        box-shadow: 0 8px 25px rgba(244, 166, 193, 0.16);
        transition: border-color 0.25s ease, box-shadow 0.25s ease;
        position: relative;
        overflow: hidden;
        width: 100%;
        box-sizing: border-box;
    }

    .track-input-shell:hover {
        border-color: rgba(209, 100, 138, 0.65);
        box-shadow: 0 10px 28px rgba(244, 166, 193, 0.24);
    }

    .track-input-shell:focus-within {
        border-color: #d1648a;
        box-shadow: 0 10px 30px rgba(209, 100, 138, 0.22);
    }

    .search-bubble-icon {
        color: var(--brand-dark, #d1648a);
        display: flex;
        align-items: center;
        justify-content: center;
        margin-right: 8px;
        flex-shrink: 0;
    }

    .track-hero-input {
        flex: 1;
        border: none !important;
        outline: none !important;
        background: transparent !important;
        box-shadow: none !important;
        font-family: 'Poppins', sans-serif;
        font-size: 0.88rem;
        color: #2d2629;
        font-weight: 400;
        min-width: 0;
        width: 100%;
        box-sizing: border-box;
        padding: 0 12px 0 4px;
        line-height: normal;
        letter-spacing: -0.15px;
        -webkit-appearance: none;
        appearance: none;
        text-overflow: ellipsis;
        overflow: hidden;
    }

    .track-hero-input::placeholder {
        color: #98858f;
        font-size: 0.86rem;
        font-weight: 400;
        text-overflow: ellipsis;
        overflow: hidden;
        white-space: nowrap;
    }

    .btn-text-full { display: inline; }
    .btn-text-short { display: none; }

    /* Button Loading State */
    .track-btn-spinner {
        display: none;
        width: 14px;
        height: 14px;
        border: 2px solid rgba(255, 255, 255, 0.4);
        border-top-color: #ffffff;
        border-radius: 50%;
        animation: trackBtnSpin 0.65s linear infinite;
        vertical-align: middle;
        margin-right: 4px;
        flex-shrink: 0;
    }

    @keyframes trackBtnSpin {
        to { transform: rotate(360deg); }
    }

    .track-search-btn.is-loading {
        pointer-events: none;
        opacity: 0.92;
    }

    .track-search-btn.is-loading .track-btn-spinner {
        display: inline-block !important;
    }

    .track-search-btn.is-loading .btn-arrow {
        display: none !important;
    }

    .track-search-btn {
        flex-shrink: 0 !important;
        white-space: nowrap !important;
        padding: 0.65rem 1.4rem !important;
        border-radius: 9999px !important;
        font-size: 0.78rem !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        transition: all 0.24s cubic-bezier(0.16, 1, 0.3, 1) !important;
        box-shadow: 0 4px 14px rgba(209, 100, 138, 0.3) !important;
        cursor: pointer;
    }

    .track-search-btn:hover {
        transform: translateY(-1px) scale(1.02);
        box-shadow: 0 6px 20px rgba(209, 100, 138, 0.42) !important;
    }

    .track-search-btn:active {
        transform: scale(0.97);
    }

    .track-search-btn .btn-arrow {
        transition: transform 0.24s cubic-bezier(0.16, 1, 0.3, 1);
        display: inline-block;
    }

    .track-search-btn:hover .btn-arrow {
        transform: translateX(3px);
    }

    .track-verify-form {
        width: 100%;
        box-sizing: border-box;
    }

    .track-verify-input {
        height: 40px;
        padding: 0 14px;
        font-size: 0.875rem;
        border: 1px solid rgba(244, 166, 193, 0.42);
        border-radius: 9px;
        background: #ffffff;
        color: #2d2629;
        font-family: inherit;
        width: 170px;
        box-sizing: border-box;
        outline: none;
        text-align: center;
        letter-spacing: 1.5px;
        font-weight: 600;
        transition: border-color 0.2s ease, box-shadow 0.2s ease;
    }
    .track-verify-input:focus {
        border-color: #d1648a;
        box-shadow: 0 0 0 3px rgba(209, 100, 138, 0.15);
    }

    /* =========================================
       FAIRYCORE PROPER LOADING OVERLAY
       ========================================= */
    .track-loading-overlay {
        position: fixed;
        inset: 0;
        background: rgba(255, 250, 252, 0.94);
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 99999;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity 0.28s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.28s;
    }

    .track-loading-overlay.is-active {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    .track-loading-card {
        background: #ffffff;
        border: 1.5px solid rgba(244, 166, 193, 0.45);
        border-radius: 28px;
        padding: 2.2rem 2rem;
        box-shadow: 0 20px 50px rgba(209, 100, 138, 0.18);
        text-align: center;
        max-width: 380px;
        width: 90%;
        box-sizing: border-box;
        transform: scale(0.92);
        transition: transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1);
    }

    .track-loading-overlay.is-active .track-loading-card {
        transform: scale(1);
    }

    .track-loading-orb {
        position: relative;
        width: 56px;
        height: 56px;
        margin: 0 auto 1.2rem;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .orb-spinner-ring {
        position: absolute;
        inset: 0;
        border-radius: 50%;
        border: 3px solid rgba(244, 166, 193, 0.25);
        border-top-color: #d1648a;
        border-right-color: #f4a6c1;
        animation: orbSpin 0.75s linear infinite;
    }

    @keyframes orbSpin {
        to { transform: rotate(360deg); }
    }

    .orb-sparkle {
        color: #d1648a;
        font-size: 1.3rem;
        animation: orbPulse 1.4s ease-in-out infinite alternate;
    }

    @keyframes orbPulse {
        0% { transform: scale(0.85); opacity: 0.7; }
        100% { transform: scale(1.15); opacity: 1; }
    }

    .track-loading-title {
        display: block;
        font-family: 'Playfair Display', Georgia, serif;
        font-size: 1.25rem;
        color: #2d2629;
        font-weight: 600;
        margin-bottom: 0.4rem;
    }

    .track-loading-sub {
        font-size: 0.82rem;
        color: #8c7b84;
        margin: 0 0 1.2rem;
        line-height: 1.45;
    }

    .track-loading-progress-bar {
        width: 100%;
        height: 4px;
        background: rgba(244, 166, 193, 0.25);
        border-radius: 999px;
        overflow: hidden;
        position: relative;
    }

    .progress-bar-glow {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 45%;
        background: linear-gradient(90deg, #f4a6c1, #d1648a);
        border-radius: 999px;
        animation: progressSlide 1.2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
    }

    @keyframes progressSlide {
        0% { left: -45%; width: 45%; }
        50% { width: 60%; }
        100% { left: 100%; width: 30%; }
    }

    /* PAGE CONTAINER */
    .track-page-container {
        max-width: 1180px;
        margin: 0 auto;
        padding: 1.5rem 4% 4rem;
        box-sizing: border-box;
        width: 100%;
        font-family: 'Poppins', sans-serif;
    }

    .main-content-flow { padding-top: 0.5rem; }

    /* DUO GRID LAYOUT */
    .track-duo-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1.8rem;
        align-items: start;
    }

    @media (min-width: 992px) {
        .track-duo-grid {
            grid-template-columns: 1.35fr 1fr;
            gap: 2.2rem;
        }
        .bag-summary-dock {
            position: sticky;
            top: 86px;
        }
    }

    .track-main-shelf, .summary-card-floating {
        background: #ffffff;
        border: 1.5px solid rgba(244, 166, 193, 0.35);
        border-radius: 24px;
        padding: 1.8rem;
        box-shadow: 0 8px 25px rgba(244, 166, 193, 0.08);
        box-sizing: border-box;
    }

    .shelf-top-bar {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding-bottom: 0.9rem;
        border-bottom: 1px dashed rgba(244, 166, 193, 0.3);
        margin-bottom: 1.2rem;
    }

    .shelf-heading-group h2, .summary-title {
        font-family: 'Playfair Display', Georgia, serif;
        font-size: 1.25rem;
        margin: 0;
        color: #2d2629;
    }

    .order-id-label { font-size: 0.74rem; font-weight: 600; text-transform: uppercase; color: #8c7b84; letter-spacing: 0.5px; display: block; }
    .order-id-highlight { font-family: 'Playfair Display', Georgia, serif; font-size: 1.4rem; color: #2d2629; margin: 0; }

    .selection-pill {
        background: #fff5f8;
        color: var(--brand-dark, #d1648a);
        font-size: 0.72rem;
        font-weight: 700;
        padding: 0.22rem 0.7rem;
        border-radius: 12px;
        text-transform: uppercase;
        letter-spacing: 0.3px;
        border: 1px solid rgba(244, 166, 193, 0.35);
    }

    .live-status-pill {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 0.3rem 0.8rem;
        border-radius: 9999px;
        font-size: 0.72rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.4px;
        background: #fff5f8;
        color: var(--brand-dark, #d1648a);
        border: 1px solid rgba(244, 166, 193, 0.35);
    }
    .live-status-pill.delivered { background: #fff0f5; color: #d1648a; border-color: rgba(244, 166, 193, 0.5); }
    .live-status-pill.shipped { background: #fff0f5; color: #d1648a; border-color: rgba(244, 166, 193, 0.5); }

    .pulse-dot {
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: currentColor;
        animation: pulseAnimation 1.6s infinite ease-in-out;
    }
    @keyframes pulseAnimation {
        0%, 100% { opacity: 1; transform: scale(1); }
        50% { opacity: 0.4; transform: scale(0.75); }
    }

    .cancelled-notice-box {
        background: #fff5f8;
        border: 1px solid rgba(244, 166, 193, 0.45);
        border-radius: 18px;
        padding: 1.1rem 1.3rem;
        display: flex;
        align-items: flex-start;
        gap: 0.8rem;
        margin-bottom: 1.4rem;
    }
    .cancelled-icon-wrap { color: #d1648a; flex-shrink: 0; margin-top: 2px; }
    .cancelled-notice-box strong { font-size: 0.88rem; color: #d1648a; display: block; margin-bottom: 2px; }
    .cancelled-notice-box p { margin: 0; font-size: 0.8rem; color: #5c4a54; line-height: 1.45; }

    /* MILESTONES STEPPER */
    .milestones-stepper {
        display: flex;
        flex-direction: column;
        gap: 0;
        margin-bottom: 1.6rem;
    }

    .milestone-step {
        display: flex;
        gap: 1.1rem;
        position: relative;
        padding-bottom: 1.7rem;
        transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .milestone-step:last-child { padding-bottom: 0; }

    .step-marker {
        display: flex;
        flex-direction: column;
        align-items: center;
        position: relative;
    }

    .marker-circle {
        width: 34px;
        height: 34px;
        border-radius: 50%;
        background: #fffafc;
        border: 2px solid rgba(244, 166, 193, 0.4);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 0.8rem;
        color: #ad8f9b;
        z-index: 2;
        transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .step-line {
        flex: 1;
        width: 2.5px;
        background: #f0e6eb;
        margin: 4px 0;
        border-radius: 4px;
        transition: background 0.35s ease;
    }

    /* 1. UPCOMING / NOT-DONE MILESTONES (Cleanly grayed out) */
    .milestone-step.upcoming {
        opacity: 0.46;
        filter: grayscale(0.5);
    }
    .milestone-step.upcoming:hover {
        opacity: 0.75;
        filter: grayscale(0);
    }
    .milestone-step.upcoming .marker-circle {
        background: #faf6f8;
        border: 1.5px dashed #dfd3d8;
        color: #bfaeb7;
        box-shadow: none;
    }
    .milestone-step.upcoming .step-line {
        background: #eee5e9;
    }
    .milestone-step.upcoming .step-content h4 {
        color: #8c7b84;
        font-weight: 500;
    }
    .milestone-step.upcoming .step-content p {
        color: #ab9ca4;
    }

    /* 2. COMPLETED MILESTONES */
    .milestone-step.completed:not(.active) {
        opacity: 1;
        filter: none;
    }
    .milestone-step.completed:not(.active) .marker-circle {
        background: linear-gradient(135deg, #f6b4cb 0%, #dfaec5 100%);
        border-color: transparent;
        color: #ffffff;
        box-shadow: 0 4px 12px rgba(246, 180, 203, 0.4);
    }
    .milestone-step.completed .step-line {
        background: linear-gradient(180deg, #f4a6c1 0%, #d1648a 100%);
    }
    .milestone-step.completed .step-content h4 {
        color: #2d2629;
        font-weight: 600;
    }

    /* 3. CURRENT ACTIVE MILESTONE WITH ANIMATED FLOW */
    .milestone-step.active {
        opacity: 1;
        filter: none;
    }
    .milestone-step.active .marker-circle {
        border: 2.5px solid #d1648a;
        background: #ffffff;
        color: #d1648a;
        animation: activeNodeRipple 2.2s infinite cubic-bezier(0.4, 0, 0.2, 1);
    }
    @keyframes activeNodeRipple {
        0% {
            box-shadow: 0 0 0 0 rgba(209, 100, 138, 0.55), 0 4px 12px rgba(209, 100, 138, 0.2);
        }
        65% {
            box-shadow: 0 0 0 10px rgba(209, 100, 138, 0), 0 4px 14px rgba(209, 100, 138, 0.3);
        }
        100% {
            box-shadow: 0 0 0 0 rgba(209, 100, 138, 0), 0 4px 12px rgba(209, 100, 138, 0.2);
        }
    }
    .milestone-step.active .step-line {
        background: linear-gradient(180deg, #d1648a 0%, #f4a6c1 50%, #f0e6eb 100%);
        background-size: 100% 200%;
        animation: activeProgressFlow 2s ease infinite;
    }
    @keyframes activeProgressFlow {
        0% { background-position: 0% 0%; }
        50% { background-position: 0% 100%; }
        100% { background-position: 0% 0%; }
    }

    .step-content { flex: 1; padding-top: 2px; text-align: left; transition: all 0.25s ease; }
    .step-content h4 { margin: 0 0 2px; font-size: 0.94rem; font-weight: 600; color: #2d2629; }
    .step-content p { margin: 0 0 3px; font-size: 0.8rem; color: #7d6b75; line-height: 1.45; }
    .step-time { font-size: 0.72rem; font-weight: 600; color: #ad8f9b; }

    .step-active-tag {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        font-size: 0.68rem;
        font-weight: 700;
        color: var(--brand-dark, #d1648a);
        background: linear-gradient(135deg, #fff0f5 0%, #faedf3 100%);
        padding: 3px 9px;
        border-radius: 12px;
        margin-top: 4px;
        border: 1px solid rgba(209, 100, 138, 0.35);
        box-shadow: 0 2px 6px rgba(209, 100, 138, 0.12);
        animation: pulseTagGlow 2.5s infinite ease-in-out;
    }
    @keyframes pulseTagGlow {
        0%, 100% { opacity: 1; transform: scale(1); }
        50% { opacity: 0.88; transform: scale(0.98); }
    }
    .step-delivered-tag {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        font-size: 0.68rem;
        font-weight: 700;
        color: #15803d;
        background: #f0fdf4;
        padding: 3px 9px;
        border-radius: 12px;
        margin-top: 4px;
        border: 1px solid #bbf7d0;
    }

    /* PAYMENT DETAILS IN TRACKING */
    .track-payment-card {
        background: #fffcfd;
        border: 1.5px solid rgba(244, 166, 193, 0.3);
        border-radius: 18px;
        padding: 1.1rem 1.3rem;
        display: flex;
        align-items: center;
        gap: 0.9rem;
        margin-bottom: 1rem;
        text-align: left;
    }
    .track-pay-icon {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: #ffffff;
        border: 1px solid rgba(244, 166, 193, 0.35);
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;
        flex-shrink: 0;
        color: #d1648a;
    }
    .track-pay-icon img { width: 100%; height: 100%; object-fit: contain; padding: 4px; }
    .track-pay-meta { flex: 1; display: flex; flex-direction: column; gap: 2px; }
    .track-pay-meta strong { font-size: 0.88rem; color: #2d2629; font-weight: 600; }
    .track-pay-meta p { margin: 0; font-size: 0.78rem; color: #63525b; line-height: 1.35; }
    .account-num-text { font-family: 'Poppins', sans-serif; font-weight: 600; color: #2d2629; }

    /* RECIPIENT CARD */
    .track-recipient-box {
        background: #fffcfd;
        border: 1px solid rgba(244, 166, 193, 0.28);
        border-radius: 18px;
        padding: 1.1rem 1.3rem;
        display: flex;
        align-items: flex-start;
        gap: 0.9rem;
        margin-bottom: 1.2rem;
        text-align: left;
    }
    .dest-icon-bubble {
        width: 38px;
        height: 38px;
        border-radius: 12px;
        background: #ffffff;
        border: 1px solid rgba(244, 166, 193, 0.35);
        color: #d1648a;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
    }
    .dest-meta-info { flex: 1; display: flex; flex-direction: column; gap: 2px; }
    .dest-label { font-size: 0.65rem; font-weight: 700; text-transform: uppercase; color: #ad8f9b; letter-spacing: 0.5px; }
    .dest-meta-info strong { font-size: 0.88rem; color: #2d2629; font-weight: 600; }
    .dest-meta-info p { margin: 0; font-size: 0.8rem; color: #63525b; line-height: 1.35; }
    .contact-subline { font-size: 0.74rem; color: #8c7b84; margin-top: 2px; }

    /* FOOTER SUPPORT */
    .timeline-footer-support {
        background: #fffcfd;
        border: 1px solid rgba(244, 166, 193, 0.28);
        border-radius: 18px;
        padding: 1.1rem 1.3rem;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.8rem;
        flex-wrap: wrap;
        text-align: left;
    }
    .support-text strong { font-size: 0.84rem; display: block; margin-bottom: 2px; color: #2d2629; }
    .support-text p { margin: 0; font-size: 0.76rem; color: #8c7b84; }

    .btn-whatsapp-pill {
        background: linear-gradient(90deg, #f6b4cb 0%, #dfaec5 100%);
        color: #ffffff;
        padding: 0.5rem 1.1rem;
        border-radius: 9999px;
        font-size: 0.76rem;
        font-weight: 600;
        text-decoration: none;
        display: inline-flex;
        align-items: center;
        gap: 5px;
        transition: transform 0.2s ease, box-shadow 0.2s ease;
        box-shadow: 0 4px 12px rgba(246, 180, 203, 0.35);
    }
    .btn-whatsapp-pill:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(246, 180, 203, 0.45); }

    /* ITEM TILES IN SUMMARY */
    .bag-items-flow { display: flex; flex-direction: column; gap: 0.65rem; }
    .bag-item-tile {
        background: #fffcfd;
        border: 1px solid rgba(244, 166, 193, 0.2);
        border-radius: 16px;
        padding: 0.85rem 1rem;
        display: flex;
        align-items: center;
        gap: 0.95rem;
        text-align: left;
    }
    .bag-item-tile.is-gift-item {
        background: linear-gradient(135deg, #fffcfd 0%, #faedf3 100%);
        border: 1.5px dashed rgba(244, 166, 193, 0.55);
    }

    .item-square-thumb {
        width: 50px;
        height: 50px;
        min-width: 50px;
        border-radius: 12px;
        overflow: hidden;
        background: #fff5f8;
        border: 1px solid rgba(244, 166, 193, 0.25);
        position: relative;
        flex-shrink: 0;
    }
    .item-square-thumb img { width: 100%; height: 100%; object-fit: cover; }
    .item-square-thumb .gift-box-icon {
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--brand-dark, #d1648a);
        background: #fff0f5;
    }
    .item-meta-column { flex: 1; min-width: 0; text-align: left; }
    .item-meta-column h3 {
        margin: 0 0 2px;
        font-size: 0.86rem;
        font-weight: 600;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        color: #2d2629;
    }
    .item-price-cluster {
        display: flex;
        align-items: center;
        gap: 5px;
        font-size: 0.78rem;
        font-weight: 600;
        color: #6a5861;
    }
    .item-price-cluster .strike { font-size: 0.7rem; color: #b5a4ad; text-decoration: line-through; }
    .qty-mult { font-size: 0.72rem; color: #8c7b84; font-weight: 500; }
    .item-total-col { font-size: 0.86rem; font-weight: 600; color: #2d2629; min-width: 65px; text-align: right; }
    .item-total-col.free { color: var(--brand-dark, #d1648a); font-weight: 700; }

    /* RECEIPT CARD */
    .receipt-card { background: #fffcfd; border: 1px solid rgba(244, 166, 193, 0.2); border-radius: 16px; padding: 1rem 1.1rem; }
    .receipt-line { display: flex; justify-content: space-between; font-size: 0.8rem; color: #7d6b75; margin-bottom: 0.45rem; font-weight: 500; }
    .receipt-line.promo-line { color: var(--brand-dark, #d1648a); font-weight: 600; }
    .amount-val { font-weight: 600; color: #2d2629; }
    .amount-val.free { color: var(--brand-dark, #d1648a); font-weight: 700; }
    .grand-total-line { margin-top: 0.65rem; padding-top: 0.65rem; border-top: 1px dashed rgba(244, 166, 193, 0.3); margin-bottom: 0; font-size: 0.95rem; color: #2d2629; font-weight: 600; }
    .amount-val.total { color: var(--brand-dark, #d1648a); font-size: 1.1rem; font-weight: 700; }

    .bag-checkout-btn {
        width: 100%;
        padding: 0.9rem 1.4rem !important;
        font-size: 0.82rem !important;
        border-radius: 26px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        margin-top: 0.8rem;
        text-transform: uppercase;
        letter-spacing: 0.4px;
    }

    .reassurance-pill-flow { display: flex; flex-direction: column; gap: 5px; text-align: left; }
    .reassurance-pill { display: flex; align-items: center; gap: 6px; font-size: 0.72rem; color: #8c7b84; }
    .reassurance-pill svg { color: #d1648a; flex-shrink: 0; }

    /* INSPIRATION & EMPTY VIEWS */
    .inspiration-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 1.5rem;
        margin-top: 1rem;
    }
    .insp-card {
        background: #ffffff;
        border: 1.5px solid rgba(244, 166, 193, 0.32);
        border-radius: 24px;
        padding: 2rem 1.6rem;
        text-align: center;
        box-shadow: 0 8px 24px rgba(244, 166, 193, 0.08);
        transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s ease;
    }
    .insp-card:hover { transform: translateY(-3px); box-shadow: 0 14px 32px rgba(244, 166, 193, 0.18); }
    .insp-icon-box {
        width: 50px;
        height: 50px;
        border-radius: 16px;
        background: #fdf2f6;
        border: 1px solid rgba(244, 166, 193, 0.35);
        color: var(--brand-primary, #f4a6c1);
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto 1.1rem;
    }
    .insp-card h4 { margin: 0 0 0.3rem; font-size: 1.05rem; font-weight: 600; color: #2d2629; font-family: 'Playfair Display', Georgia, serif; }
    .insp-card p { margin: 0; font-size: 0.82rem; color: #8c7b84; line-height: 1.5; }

    /* NOT FOUND VIEW */
    .track-not-found-card {
        background: #ffffff;
        border: 1.5px solid rgba(244, 166, 193, 0.35);
        border-radius: 26px;
        padding: 4rem 2rem;
        text-align: center;
        max-width: 540px;
        margin: 1rem auto 3rem;
        box-shadow: 0 10px 30px rgba(244, 166, 193, 0.1);
    }
    .empty-sparkle-orb {
        width: 48px;
        height: 48px;
        border-radius: 50%;
        background: #fff5f8;
        color: #d1648a;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.3rem;
        margin: 0 auto 1rem;
        border: 1px solid rgba(244, 166, 193, 0.35);
    }
    .track-not-found-card h2 { font-family: 'Playfair Display', Georgia, serif; font-size: 1.55rem; margin: 0 0 0.4rem; color: #2d2629; }
    .track-not-found-card p { font-size: 0.86rem; color: #8c7b84; max-width: 420px; margin: 0 auto 1.6rem; line-height: 1.55; }
    .not-found-actions { display: flex; justify-content: center; gap: 0.75rem; flex-wrap: wrap; }
    .not-found-btn { padding: 0.7rem 1.4rem !important; border-radius: 9999px !important; font-size: 0.78rem !important; text-decoration: none; }
    .btn-outline-pill {
        background: #ffffff;
        border: 1.5px solid rgba(244, 166, 193, 0.4);
        color: #2d2629;
        font-weight: 600;
        display: inline-flex;
        align-items: center;
        transition: all 0.2s ease;
    }
    .btn-outline-pill:hover { border-color: #d1648a; color: #d1648a; background: #fffafc; }

    /* --------------------------------------------------------
       COMPANION CURATION (MATCHING SHOP, FAQ & WISHLIST)
       -------------------------------------------------------- */
    .track-curation-wrapper {
        width: 100vw;
        position: relative;
        left: 50%;
        right: 50%;
        margin-left: -50vw;
        margin-right: -50vw;
        background: linear-gradient(180deg, rgba(255, 250, 252, 0) 0%, #faedf3 50%, #fffafc 100%);
        padding: 5rem 5% 5.5rem;
        overflow: hidden;
        box-sizing: border-box;
        margin-top: 3.5rem;
    }

    .track-curation-container {
        max-width: 1240px;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        position: relative;
        z-index: 2;
        box-sizing: border-box;
        width: 100%;
    }

    .curation-header {
        text-align: center;
        margin-bottom: 2.8rem;
        max-width: 720px;
        padding: 0 1rem;
        box-sizing: border-box;
    }

    .curation-heading {
        font-family: 'Playfair Display', Georgia, serif;
        font-size: clamp(2rem, 4.2vw, 2.75rem);
        color: var(--text-main, #2d2629);
        font-weight: 500;
        margin: 0.2rem 0 0.6rem 0;
        letter-spacing: -0.4px;
        line-height: 1.22;
    }

    .curation-sublead {
        font-family: 'Poppins', sans-serif;
        font-size: clamp(0.88rem, 1.8vw, 0.96rem);
        color: var(--text-light, #8c7b84);
        margin: 0 auto;
        line-height: 1.6;
    }

    .curation-capsules-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1.2rem;
        width: 100%;
        box-sizing: border-box;
    }

    .curation-pill-card {
        background: rgba(255, 255, 255, 0.94);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        border: 1px solid var(--border-soft, rgba(244, 166, 193, 0.28));
        border-radius: var(--radius-card, 20px);
        padding: 1.4rem 1.5rem;
        box-shadow: 0 8px 24px rgba(220, 163, 208, 0.1);
        display: flex;
        align-items: center;
        gap: 1.2rem;
        transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s ease, border-color 0.25s ease;
        box-sizing: border-box;
        text-align: left;
    }

    .curation-pill-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 14px 32px rgba(244, 166, 193, 0.22);
        border-color: var(--brand-primary, #f4a6c1);
    }

    .curation-pill-card.active-accent {
        background: linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 246, 250, 0.98) 100%);
        border-color: rgba(209, 100, 138, 0.35);
    }

    .pill-icon-wrap {
        width: 48px;
        height: 48px;
        border-radius: 50%;
        background: var(--icon-bg, #fdf5f7);
        color: var(--brand-dark, #d1648a);
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid var(--border-soft, rgba(244, 166, 193, 0.28));
        flex-shrink: 0;
        transition: transform 0.2s ease, background-color 0.2s ease;
    }

    .curation-pill-card:hover .pill-icon-wrap {
        transform: scale(1.06);
        background: #ffffff;
    }

    .accent-icon {
        background: linear-gradient(135deg, #fff0f5 0%, #fae6ed 100%);
        border-color: rgba(209, 100, 138, 0.3);
    }

    .pill-text-content {
        display: flex;
        flex-direction: column;
        gap: 3px;
        min-width: 0;
        text-align: left;
    }

    .pill-title {
        font-family: 'Playfair Display', Georgia, serif;
        font-size: 1.08rem;
        font-weight: 500;
        color: var(--text-main, #2d2629);
        margin: 0;
        letter-spacing: -0.2px;
        line-height: 1.25;
    }

    .pill-desc {
        font-family: 'Poppins', sans-serif;
        font-size: 0.82rem;
        color: var(--text-light, #8c7b84);
        line-height: 1.5;
        margin: 0;
    }

    @media (min-width: 992px) {
        .track-curation-wrapper {
            padding: 5.5rem 5% 5rem;
            margin-top: 4rem;
        }

        .curation-capsules-grid {
            grid-template-columns: repeat(3, 1fr);
            gap: 1.5rem;
        }

        .curation-pill-card {
            padding: 1.6rem 1.8rem;
            border-radius: 24px;
        }

        .pill-title {
            font-size: 1.15rem;
        }

        .pill-desc {
            font-size: 0.84rem;
        }
    }

    /* =========================================================================
       COURIER CONSIGNMENT & LIVE TRACKING CARD
       ========================================================================= */
    .track-courier-consignment-card {
        background: linear-gradient(135deg, #fffafd 0%, #fff0f5 100%);
        border: 1.5px solid rgba(209, 100, 138, 0.35);
        border-radius: 20px;
        padding: 1.3rem 1.4rem;
        margin-bottom: 1.5rem;
        box-shadow: 0 4px 18px rgba(244, 166, 193, 0.18);
        transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        position: relative;
        overflow: hidden;
    }
    .track-courier-consignment-card:hover {
        border-color: #d1648a;
        box-shadow: 0 8px 26px rgba(209, 100, 138, 0.22);
    }
    .courier-card-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        margin-bottom: 12px;
        flex-wrap: wrap;
    }
    .courier-badge-stack {
        display: flex;
        align-items: center;
        gap: 10px;
    }
    .courier-icon-bubble {
        width: 44px;
        height: 44px;
        border-radius: 14px;
        background: #ffffff;
        border: 1px solid rgba(244, 166, 193, 0.5);
        color: #d1648a;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        box-shadow: 0 2px 8px rgba(209, 100, 138, 0.15);
    }
    .courier-dest-label {
        font-size: 0.68rem;
        font-weight: 700;
        text-transform: uppercase;
        color: #b58396;
        letter-spacing: 0.6px;
        display: block;
        line-height: 1.2;
    }
    .courier-name-title {
        font-family: 'Playfair Display', serif;
        font-size: 1.15rem;
        color: var(--text-dark, #2d2629);
        display: block;
        margin-top: 1px;
    }
    .courier-status-tag {
        background: linear-gradient(135deg, #fff0f5, #faedf3);
        color: #d1648a;
        border: 1px solid rgba(209, 100, 138, 0.35);
        font-size: 0.72rem;
        font-weight: 700;
        padding: 4px 10px;
        border-radius: 20px;
        letter-spacing: 0.3px;
        display: inline-flex;
        align-items: center;
        gap: 4px;
    }
    .courier-code-box {
        background: #ffffff;
        border: 1px solid rgba(244, 166, 193, 0.4);
        border-radius: 14px;
        padding: 0.85rem 1.1rem;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        flex-wrap: wrap;
    }
    .courier-num-wrap {
        display: flex;
        flex-direction: column;
        gap: 2px;
    }
    .courier-sublabel {
        font-size: 0.66rem;
        color: #8c7b84;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
    .courier-number-val {
        font-family: 'Courier New', Courier, monospace;
        font-size: 1.05rem;
        color: #d1648a;
        letter-spacing: 1px;
        font-weight: 700;
    }
    .courier-btn-actions {
        display: flex;
        align-items: center;
        gap: 8px;
        flex-wrap: wrap;
    }
    .btn-copy-tracking {
        background: #fff0f5;
        color: #d1648a;
        border: 1px solid rgba(244, 166, 193, 0.8);
        padding: 0.46rem 0.95rem;
        border-radius: 12px;
        font-size: 0.76rem;
        font-weight: 600;
        cursor: pointer;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
        user-select: none;
    }
    .btn-copy-tracking:hover {
        background: #d1648a;
        color: #ffffff;
        border-color: #d1648a;
        box-shadow: 0 2px 8px rgba(209, 100, 138, 0.25);
    }
    .btn-courier-live-track {
        background: linear-gradient(135deg, #d1648a, #be185d);
        color: #ffffff !important;
        padding: 0.48rem 1.05rem;
        border-radius: 12px;
        font-size: 0.76rem;
        font-weight: 600;
        text-decoration: none;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        box-shadow: 0 3px 10px rgba(209, 100, 138, 0.28);
        transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .btn-courier-live-track:hover {
        transform: translateY(-1px);
        box-shadow: 0 6px 16px rgba(209, 100, 138, 0.4);
    }
    .inline-tracking-code {
        font-family: monospace;
        background: #fff0f5;
        color: #d1648a;
        padding: 2px 7px;
        border-radius: 6px;
        font-weight: 700;
        border: 1px solid rgba(244, 166, 193, 0.5);
    }

    /* REALTIME TOAST NOTIFICATION */
    .track-realtime-toast {
        position: fixed;
        bottom: 24px;
        right: 24px;
        background: rgba(45, 38, 41, 0.95);
        color: #ffffff;
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        border: 1px solid rgba(244, 166, 193, 0.4);
        padding: 0.85rem 1.3rem;
        border-radius: 18px;
        font-size: 0.82rem;
        font-weight: 500;
        display: flex;
        align-items: center;
        gap: 10px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
        z-index: 9999;
        transform: translateY(100px);
        opacity: 0;
        transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s ease;
        pointer-events: none;
    }
    .track-realtime-toast.active {
        transform: translateY(0);
        opacity: 1;
        pointer-events: auto;
    }
    .track-toast-sparkle {
        color: #f4a6c1;
        font-size: 1.1rem;
    }

    @media (max-width: 768px) {
        .track-banner-stage { min-height: 230px; padding: 3.2rem 4% 3rem; }
        .banner-title {
            font-size: clamp(1.65rem, 5.8vw, 2.25rem) !important;
            line-height: 1.2 !important;
            margin-bottom: 0.4rem !important;
        }
        .banner-desc {
            font-size: 0.88rem !important;
            line-height: 1.48 !important;
        }
        .track-search-card { width: 100%; max-width: 480px; margin: 0 auto; }
        .track-input-shell {
            min-height: 48px !important;
            padding: 0.32rem 0.42rem 0.32rem 1rem !important;
            gap: 8px !important;
            border-radius: 9999px !important;
            box-sizing: border-box !important;
            overflow: hidden !important;
            width: 100% !important;
        }
        .track-search-btn {
            padding: 0.6rem 1.2rem !important;
            font-size: 0.82rem !important;
            font-weight: 600 !important;
            border-radius: 9999px !important;
            white-space: nowrap !important;
            flex-shrink: 0 !important;
        }
        .track-main-shelf, .summary-card-floating { padding: 1.3rem 1.15rem; border-radius: 20px; }
        .inspiration-grid { grid-template-columns: 1fr; gap: 1rem; }
        .not-found-actions { flex-direction: column; width: 100%; }
        .not-found-btn { width: 100%; justify-content: center; }
        .courier-code-box { flex-direction: column; align-items: flex-start; }
        .courier-btn-actions { width: 100%; }
        .btn-copy-tracking, .btn-courier-live-track { width: 100%; justify-content: center; }
        .track-hero-input { font-size: 16px !important; }
        .track-hero-input { font-weight: 400 !important; color: #2d2629 !important; padding: 0 8px 0 2px !important; }
        .track-hero-input::placeholder {
            font-size: 0.85rem !important;
            font-weight: 400 !important;
            color: #98858f !important;
        }
        .track-verify-input { font-size: 16px !important; height: 40px !important; width: 100% !important; box-sizing: border-box !important; border-radius: 9px !important; }
        .track-realtime-toast { left: 16px; right: 16px; bottom: 16px; justify-content: center; }
    }
    @media (max-width: 480px) {
        .btn-text-full { display: none !important; }
        .btn-text-short { display: inline !important; }
        .track-input-shell {
            min-height: 46px !important;
            padding: 0.3rem 0.35rem 0.3rem 0.9rem !important;
            gap: 6px !important;
            overflow: hidden !important;
        }
        .search-bubble-icon {
            margin-right: 2px !important;
        }
        .track-hero-input {
            font-size: 0.875rem !important;
            font-weight: 400 !important;
            color: #2d2629 !important;
            padding: 0 8px 0 2px !important;
            min-width: 0 !important;
            width: 100% !important;
            box-sizing: border-box !important;
            overflow: hidden !important;
        }
        .track-hero-input::placeholder {
            font-size: 0.84rem !important;
            font-weight: 400 !important;
            color: #98858f !important;
        }
        .track-search-btn {
            padding: 0.55rem 0.95rem !important;
            font-size: 0.80rem !important;
            font-weight: 600 !important;
            gap: 4px !important;
            flex-shrink: 0 !important;
            white-space: nowrap !important;
        }
        .track-verify-form {
            flex-direction: column !important;
            align-items: stretch !important;
            gap: 8px !important;
        }
        .track-verify-btn {
            width: 100% !important;
            justify-content: center !important;
            font-size: 0.82rem !important;
            padding: 8px 14px !important;
        }
    }
    @media (max-width: 360px) {
        .track-input-shell {
            min-height: 44px !important;
            padding: 0.28rem 0.3rem 0.28rem 0.75rem !important;
            gap: 4px !important;
        }
        .search-bubble-icon {
            display: none !important;
        }
        .track-hero-input {
            font-size: 16px !important;
            padding: 0 6px 0 2px !important;
        }
        .track-search-btn {
            padding: 0.52rem 0.85rem !important;
            font-size: 0.78rem !important;
        }
    }
