.tot-lookup-wrap,
.tot-timeline-card,
.tot-thankyou-hero{
    --tot-pine:      var(--tot-brand-primary, #0E3B3B);
    --tot-rose:      var(--tot-brand-secondary, #B76E79);
    --tot-ink:       #20302B;
    --tot-rose-soft: color-mix(in srgb, var(--tot-rose) 16%, #ffffff);
    --tot-cream:     #FBF7F1;
    --tot-line:      #E7E0D3;

    font-family: var(--tot-brand-font, 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
    color: var(--tot-ink);
}

.tot-thankyou-hero{
    max-width: 640px;
    margin: 10px auto 36px;
    text-align: center;
    padding: 40px 28px;
    background: linear-gradient(180deg, color-mix(in srgb, var(--tot-pine) 6%, #fff) 0%, #fff 100%);
    border: 1px solid var(--tot-line);
    border-radius: 20px;
    box-shadow: 0 16px 40px rgba(14,59,59,.08);
}

.tot-thankyou-check{
    width: 64px;
    height: 64px;
    margin: 0 auto 18px;
    border-radius: 50%;
    background: var(--tot-pine);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tot-thankyou-hero h1{
    font-family: 'Cormorant Garamond', Georgia, serif;
    color: var(--tot-pine);
    font-size: 34px;
    margin: 0 0 12px;
}

.tot-thankyou-sub{
    color: #5C6B65;
    font-size: 15px;
    line-height: 1.7;
    max-width: 440px;
    margin: 0 auto;
}

.tot-timeline-logo{
    text-align: center;
    margin-bottom: 18px;
}

.tot-timeline-logo img{
    max-height: 52px;
    width: auto;
    display: inline-block;
}

.tot-lookup-wrap *,
.tot-timeline-card *{
    box-sizing: border-box;
}

/* =========================================================
   Lookup form
   ========================================================= */

.tot-lookup-form{
    max-width: 420px;
    margin: 40px auto;
    background: #fff;
    border: 1px solid var(--tot-line);
    border-radius: 18px;
    padding: 30px;
    box-shadow: 0 14px 34px rgba(14,59,59,.07);
}

.tot-lookup-form h2{
    font-family: 'Cormorant Garamond', Georgia, serif;
    color: var(--tot-pine);
    font-size: 26px;
    margin: 0 0 18px;
}

.tot-lookup-form label{
    display: block;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 6px;
}

.tot-lookup-form input{
    width: 100%;
    height: 44px;
    border: 1px solid var(--tot-line);
    border-radius: 10px;
    padding: 0 14px;
    margin-bottom: 16px;
    font-family: inherit;
    font-size: 14px;
}

.tot-submit-btn{
    width: 100%;
    height: 48px;
    border: none;
    border-radius: 999px;
    background: var(--tot-pine);
    color: #fff;
    font-weight: 700;
    cursor: pointer;
    transition: background .25s ease;
}

.tot-submit-btn:hover{
    background: var(--tot-rose);
}

.tot-error{
    background: #FBEAEA;
    color: #B32D2E;
    padding: 10px 14px;
    border-radius: 10px;
    font-size: 13.5px;
    margin-bottom: 14px;
}

/* =========================================================
   Timeline card
   ========================================================= */

.tot-timeline-card{
    max-width: 720px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 30px auto !important;
    background: #fff;
    border: 1px solid var(--tot-line);
    border-radius: 20px;
    padding: 34px 30px;
    box-shadow: 0 14px 34px rgba(14,59,59,.07);
}

.tot-eyebrow{
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--tot-rose);
    margin: 0 0 6px;
}

.tot-timeline-header h2{
    font-family: 'Cormorant Garamond', Georgia, serif;
    color: var(--tot-pine);
    font-size: 28px;
    margin: 0 0 28px;
}

.tot-cancelled-banner{
    background: #FBEAEA;
    color: #B32D2E;
    font-weight: 700;
    text-align: center;
    padding: 16px;
    border-radius: 12px;
    margin-bottom: 24px;
}

/* --- Steps: circles connected by a dotted line, becoming a solid
   colored line + filled circle once that stage is complete. --- */

.tot-steps{
    display: flex !important;
    align-items: flex-start;
    margin-bottom: 30px;
    overflow-x: auto;
    padding: 8px 2px 10px;
}

.tot-step{
    flex: 1 1 0 !important;
    min-width: 74px;
    text-align: center;
    position: relative;
    box-sizing: border-box !important;
}

.tot-step-track{
    position: relative;
    display: flex !important;
    align-items: center;
    justify-content: center;
    height: 28px;
    width: 100%;
}

.tot-dot{
    width: 22px !important;
    height: 22px !important;
    min-width: 22px;
    border-radius: 50% !important;
    background: #fff;
    border: 3px solid var(--tot-line);
    position: relative;
    z-index: 2;
    transition: all .3s ease;
    box-sizing: border-box !important;
}

.tot-connector{
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 3px;
    background-image: linear-gradient(to right, var(--tot-line) 60%, transparent 40%);
    background-size: 10px 3px;
    background-repeat: repeat-x;
    transform: translateY(-50%);
    z-index: 1;
}

.tot-step-done .tot-dot{
    background: var(--tot-pine);
    border-color: var(--tot-pine);
}

.tot-step-done .tot-connector{
    background-image: none;
    background-color: var(--tot-pine);
}

.tot-step-current .tot-dot{
    background: var(--tot-rose);
    border-color: var(--tot-rose);
    box-shadow: 0 0 0 5px var(--tot-rose-soft);
}

.tot-step-label{
    margin: 10px 6px 0;
    font-size: 12px;
    font-weight: 600;
    color: #8A968F;
    line-height: 1.4;
}

.tot-step-done .tot-step-label,
.tot-step-current .tot-step-label{
    color: var(--tot-pine);
}

.tot-step-current .tot-step-label{
    color: var(--tot-rose);
    font-weight: 700;
}

/* --- Cancel box --- */

.tot-cancel-box{
    background: var(--tot-rose-soft);
    border-radius: 14px;
    padding: 18px 20px;
    margin-bottom: 26px;
    text-align: center;
}

.tot-cancel-text{
    margin: 0 0 12px;
    font-size: 14px;
}

.tot-countdown{
    color: var(--tot-rose);
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 20px;
}

.tot-cancel-btn{
    height: 42px;
    padding: 0 26px;
    border: none;
    border-radius: 999px;
    background: #B32D2E;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
    transition: opacity .2s ease;
}

.tot-cancel-btn:hover{
    opacity: .88;
}

.tot-cancel-btn:disabled{
    opacity: .5;
    cursor: not-allowed;
}

.tot-cancel-feedback{
    margin: 10px 0 0;
    font-size: 13px;
    font-weight: 600;
}

/* --- Order details --- */

.tot-order-details h3{
    font-family: 'Cormorant Garamond', Georgia, serif;
    color: var(--tot-pine);
    font-size: 20px;
    margin: 0 0 16px;
}

.tot-detail-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 20px;
}

.tot-detail-grid .tot-detail-full{
    grid-column: 1 / -1;
}

.tot-timeline-card .tot-detail-row{
    display: flex !important;
    flex-direction: column;
    gap: 4px;
    padding: 12px 0;
    border-bottom: 1px dashed var(--tot-line);
    min-width: 0;
}

.tot-timeline-card .tot-detail-row:last-child,
.tot-timeline-card .tot-detail-row:nth-last-child(2):nth-child(odd){
    border-bottom: none;
}

.tot-timeline-card .tot-detail-label{
    font-size: 12px;
    font-weight: 700;
    color: #8A968F;
    letter-spacing: .01em;
}

.tot-timeline-card .tot-detail-value{
    font-size: 14.5px;
    font-weight: 600;
    color: var(--tot-ink);
    line-height: 1.6;
    word-break: break-word;
}

.tot-timeline-card .tot-detail-value a{
    color: var(--tot-rose);
    font-weight: 700;
}

@media (max-width: 480px){

    .tot-detail-grid{
        grid-template-columns: 1fr;
    }

    .tot-detail-grid .tot-detail-row:not(.tot-detail-full){
        border-bottom: 1px dashed var(--tot-line) !important;
    }

}

/* Stack multiple order cards (My Account tab) with clear separation */
.tot-my-orders-tracking .tot-timeline-card{
    margin-bottom: 28px;
}

/* --- Per-item breakdown (multi-bouquet orders) --- */

.tot-items-breakdown{
    margin-top: 26px;
    padding-top: 22px;
    border-top: 1px solid var(--tot-line);
}

.tot-items-breakdown h3{
    font-family: 'Cormorant Garamond', Georgia, serif;
    color: var(--tot-pine);
    font-size: 20px;
    margin: 0 0 14px;
}

.tot-items-breakdown ul{
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.tot-items-breakdown li{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    font-size: 13.5px;
}

.tot-status-badge{
    display: inline-block;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 700;
    background: #F0F0F0;
    color: #555;
    white-space: nowrap;
}

.tot-status-placed{ background: color-mix(in srgb, var(--tot-pine) 12%, #fff); color: var(--tot-pine); }
.tot-status-confirmed{ background: #E5F0F3; color: #1B5C6E; }
.tot-status-preparing{ background: #FBF0DB; color: #8A5A00; }
.tot-status-delivering{ background: var(--tot-rose-soft); color: var(--tot-rose); }
.tot-status-delivered{ background: #E5F3EC; color: #0E3B3B; }
.tot-status-cancelled{ background: #FBEAEA; color: #B32D2E; }

@media (max-width: 560px){

    .tot-timeline-card{
        padding: 24px 18px;
    }

    .tot-step-label{
        font-size: 10.5px;
    }

    .tot-thankyou-hero{
        padding: 30px 18px;
        margin: 0 auto 24px;
    }

    .tot-thankyou-hero h1{
        font-size: 26px;
    }

}

/* =========================================================
   Delivery countdown (shown from the day before delivery)
   ========================================================= */

.tot-countdown-box{
    background: linear-gradient(135deg, var(--tot-pine) 0%, color-mix(in srgb, var(--tot-pine) 80%, #000) 100%);
    border-radius: 16px;
    padding: 20px;
    margin-bottom: 24px;
    text-align: center;
    color: #fff;
}

.tot-countdown-label{
    margin: 0 0 12px;
    font-size: 13px;
    font-weight: 600;
    opacity: .9;
}

.tot-countdown-display{
    display: flex;
    justify-content: center;
    gap: 18px;
}

.tot-countdown-display > div{
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 52px;
}

.tot-countdown-display span{
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 1;
}

.tot-countdown-display small{
    font-size: 11px;
    opacity: .85;
    margin-top: 4px;
}

/* =========================================================
   My Account — dedicated "Track Orders" tab
   ========================================================= */

.tot-my-orders-tracking{
    font-family: var(--tot-brand-font, 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
    --tot-pine: var(--tot-brand-primary, #0E3B3B);
    --tot-rose: var(--tot-brand-secondary, #B76E79);
    --tot-line: #E7E0D3;
}

.tot-my-orders-list{
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.tot-my-order-row{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 18px;
    background: #fff;
    border: 1px solid var(--tot-line);
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
    transition: box-shadow .2s ease, border-color .2s ease;
}

.tot-my-order-row:hover{
    border-color: var(--tot-rose);
    box-shadow: 0 8px 20px rgba(14,59,59,.08);
}

.tot-my-order-row strong{
    color: var(--tot-pine);
    font-size: 15px;
}

.tot-my-order-row .tot-row-sub{
    display: block;
    color: #8A968F;
    font-size: 12px;
    margin-top: 2px;
}
