/* Public Menu & Checkout Final V2 */
.checkout-quote-card {
    margin: 18px 0 4px;
    border: 1px solid rgba(24, 103, 86, .16);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(239, 249, 246, .88), #fff 42%);
    padding: 18px;
    box-shadow: 0 10px 28px rgba(15, 65, 55, .055);
}

.checkout-quote-heading,
.checkout-quote-heading > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.checkout-quote-heading > div { justify-content: flex-start; }
.checkout-quote-heading h3 { margin: 0; font-size: 17px; line-height: 1.35; }
.checkout-quote-heading p { margin: 3px 0 0; font-size: 12.5px; color: #73827e; line-height: 1.55; }
.checkout-quote-icon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: rgba(31, 119, 99, .10);
    color: var(--brand, #1f7763);
    flex: 0 0 auto;
}

.checkout-quote-state {
    border-radius: 999px;
    padding: 7px 10px;
    font-size: 11.5px;
    font-weight: 800;
    white-space: nowrap;
    background: #eef3f2;
    color: #60716d;
}
.checkout-quote-state[data-state="ready"] { background: #e5f7ef; color: #157457; }
.checkout-quote-state[data-state="error"] { background: #fff0ef; color: #b33c35; }
.checkout-quote-state[data-state="warning"] { background: #fff7df; color: #9b6a08; }

.checkout-quote-message,
.checkout-quote-promotion {
    margin-top: 12px;
    border-radius: 12px;
    padding: 10px 12px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.55;
}
.checkout-quote-message[data-kind="error"] { background: #fff0ef; color: #a63530; border: 1px solid #ffd8d4; }
.checkout-quote-message[data-kind="warning"] { background: #fff8e6; color: #8c650d; border: 1px solid #f9e7af; }
.checkout-quote-promotion { background: #e9f8f1; color: #176c55; border: 1px solid #cdebdc; }

.checkout-quote-rows {
    margin-top: 14px;
    border-top: 1px dashed rgba(31, 85, 73, .14);
    padding-top: 10px;
}
.checkout-quote-rows > div {
    min-height: 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    font-size: 13.5px;
    color: #53635f;
}
.checkout-quote-rows strong { color: #20312d; font-size: 14px; }
.checkout-quote-rows > div[hidden] { display: none !important; }
.checkout-quote-total {
    margin-top: 8px;
    padding-top: 12px;
    border-top: 1px solid rgba(31, 85, 73, .12);
}
.checkout-quote-total span { font-weight: 900; color: #183c34; font-size: 15px; }
.checkout-quote-total strong { font-size: 20px !important; color: var(--brand, #1f7763) !important; }

.checkout-quote-hints { display: grid; gap: 7px; margin-top: 10px; }
.checkout-quote-hints span {
    display: block;
    border-radius: 10px;
    padding: 8px 10px;
    background: #fff8e6;
    color: #89620e;
    font-size: 12px;
    font-weight: 700;
}
.checkout-quote-hints span[hidden] { display: none !important; }

#checkoutSubmitButton[disabled] { opacity: .68; cursor: wait; }

/* Keep checkout readable on narrow phones while preserving Menux-like density. */
@media (max-width: 640px) {
    .cart-drawer-panel { width: min(100vw, 520px); }
    .cart-checkout-form .checkout-section { padding: 15px 14px; }
    .checkout-section-heading h3 { font-size: 16px; }
    .checkout-section-heading p { font-size: 12.5px; line-height: 1.55; }
    .checkout-fields-grid { grid-template-columns: 1fr !important; }
    .cart-order-type-grid { grid-template-columns: 1fr !important; }
    .cart-order-type-choice > span { min-height: 54px; }
    .checkout-quote-card { margin-inline: 0; padding: 15px 14px; border-radius: 15px; }
    .checkout-quote-heading { align-items: flex-start; }
    .checkout-quote-heading p { max-width: 250px; }
    .checkout-quote-state { padding: 6px 8px; font-size: 10.5px; }
    .checkout-quote-total strong { font-size: 18px !important; }
    .cart-submit-bar { padding-bottom: max(12px, env(safe-area-inset-bottom)); }
}
