/* =============================================================================
   CO Print Press — Quote Threading + Promo Codes
   Phase 2C-4b-5
   ========================================================================== */

/* ---------- THREAD (master + customer) ---------------------------------- */
.cpp-quotereply__thread,
.cpp-quoteview__thread {
    background: var(--cpp-paper);
    border: 2px solid var(--cpp-ink);
    padding: var(--cpp-s4);
    margin-top: var(--cpp-s4);
}
.cpp-thread {
    display: flex;
    flex-direction: column;
    gap: var(--cpp-s3);
    margin: var(--cpp-s2) 0 var(--cpp-s4);
    max-height: 600px;
    overflow-y: auto;
    padding: var(--cpp-s2);
    background: var(--cpp-paper-2);
    border: 1.5px solid var(--cpp-rule);
}
.cpp-thread__msg {
    max-width: 80%;
    padding: var(--cpp-s3);
    border: 1.5px solid var(--cpp-rule);
    background: var(--cpp-paper);
}
.cpp-thread__msg--staff {
    align-self: flex-end;
    border-color: var(--cpp-magenta);
    border-left: 4px solid var(--cpp-magenta);
}
.cpp-thread__msg--customer {
    align-self: flex-start;
    border-left: 4px solid var(--cpp-yellow);
}
.cpp-thread__meta {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
    font-family: var(--cpp-font-mono);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--cpp-ink-soft);
    flex-wrap: wrap;
}
.cpp-thread__meta strong {
    color: var(--cpp-ink);
    text-transform: none;
    font-family: var(--cpp-font-display);
    font-weight: 700;
    font-size: 13px;
    letter-spacing: 0;
}
.cpp-thread__internal-badge {
    background: var(--cpp-paper-2);
    color: var(--cpp-ink);
    border: 1px solid var(--cpp-ink);
    padding: 2px 6px;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.cpp-thread__body {
    line-height: 1.5;
    white-space: pre-wrap;
    color: var(--cpp-ink);
    font-size: 14px;
}
.cpp-thread__post {
    border-top: 2px solid var(--cpp-rule);
    padding-top: var(--cpp-s3);
    margin-top: var(--cpp-s3);
}
.cpp-thread__post-actions {
    display: flex;
    align-items: center;
    gap: var(--cpp-s2);
    margin-top: var(--cpp-s3);
    flex-wrap: wrap;
}

/* ---------- PROMO CODE applied display --------------------------------- */
.cpp-promo-applied {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--cpp-paper-2);
    border: 2px solid var(--cpp-magenta);
    padding: 10px 14px;
    gap: var(--cpp-s2);
    flex-wrap: wrap;
}
.cpp-quotereply__promo {
    background: var(--cpp-paper);
    border: 2px solid var(--cpp-ink);
    padding: var(--cpp-s4);
}

/* ---------- CART promo section ----------------------------------------- */
.cpp-cart-summary__promo {
    margin: var(--cpp-s3) 0;
    padding-top: var(--cpp-s2);
    border-top: 1px dashed rgba(255,250,240,0.2);
}
.cpp-cart-summary__promo .cpp-promo-applied {
    background: rgba(255,250,240,0.08);
    border-color: var(--cpp-yellow);
    color: var(--cpp-paper);
}
.cpp-cart-summary__promo .cpp-promo-applied strong { color: var(--cpp-yellow); }
.cpp-cart-summary__promo .cpp-field__input {
    background: rgba(255,250,240,0.08);
    border-color: rgba(255,250,240,0.3);
    color: var(--cpp-paper);
}
.cpp-cart-summary__promo .cpp-field__input::placeholder { color: rgba(255,250,240,0.4); }

/* ---------- ROW SAVING styling ----------------------------------------- */
.cpp-cart-summary__row--saving {
    color: var(--cpp-yellow);
}

/* Quote-line input note - when promo applied and discount disabled */
.cpp-quote-line__input:disabled,
.cpp-field__input:disabled {
    background: var(--cpp-paper-2);
    color: var(--cpp-ink-soft);
    cursor: not-allowed;
    opacity: 0.65;
}
