/* Catering (paid release): the approved V5 builder's own styles are used as they are; these add only the request status page and its one calm form message. */
.catering-note { margin: 10px 0 0; font-size: 12.5px; line-height: 1.45; color: rgba(46, 61, 74, .8); }
.catering-form-error { margin: 14px 0 0; padding: 12px 14px; border: 1px solid var(--pink); background: #fff4fa; font-size: 13px; line-height: 1.45; }
.catering-closed { margin: 16px 0 0; padding: 14px 16px; border-left: 4px solid var(--pink); background: #fff4fa; font-size: 13.5px; line-height: 1.5; }
.catering-closed strong { display: block; margin-bottom: 3px; color: var(--pink); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.catering-status { max-width: 1180px; margin: 0 auto; padding: clamp(40px, 6vw, 84px) clamp(20px, 5vw, 72px) 90px; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.catering-status h1 { margin: 8px 0 14px; font-size: clamp(40px, 5.2vw, 72px); }
.catering-status .lead { margin: 0 0 18px; font-size: 17px; line-height: 1.5; max-width: 560px; }
.catering-status-card { border: 1px solid var(--ink); background: #fff; padding: 20px; }
.catering-status-card h2 { margin: 0 0 12px; font-family: var(--display); font-size: 24px; line-height: 1; text-transform: uppercase; }
.catering-status-card .row { display: flex; justify-content: space-between; gap: 14px; padding: 9px 0; border-top: 1px solid var(--line); font-size: 13.5px; }
.catering-status-card .row span:first-child { color: rgba(46, 61, 74, .78); }
.catering-status-card .row b { text-align: right; font-weight: 760; }
.catering-steps { list-style: none; margin: 22px 0; padding: 0; display: grid; gap: 10px; max-width: 560px; }
.catering-steps li { display: grid; grid-template-columns: 30px 1fr; gap: 12px; align-items: start; font-size: 14px; line-height: 1.45; }
.catering-steps .dot { width: 26px; height: 26px; display: grid; place-items: center; border: 2px solid var(--ink); border-radius: 50%; font-size: 12px; font-weight: 800; }
.catering-steps .is-done .dot { background: var(--ink); color: #fff; }
.catering-steps .is-now .dot { border-color: var(--pink); color: var(--pink); }
.catering-decision { margin: 18px 0; padding: 14px 16px; border-left: 4px solid var(--yellow); background: var(--cream); font-size: 14px; line-height: 1.5; max-width: 560px; }
.catering-decision b { display: block; margin-bottom: 3px; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--pink); }
.catering-pay-note { margin: 10px 0 0; font-size: 12.5px; color: rgba(46, 61, 74, .8); max-width: 520px; }
@media (max-width: 860px) { .catering-status { grid-template-columns: 1fr; padding-bottom: 70px; } }
