/* Stage 7B.2 — booking form UX and abandonment reduction */
.stage7b2-progress{margin:0 0 18px;padding:14px 16px;border:1px solid #e7ded9;background:#fff}
.stage7b2-progress-copy{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:10px}
.stage7b2-progress-copy b{font-size:12px;color:#171313}
.stage7b2-progress-copy span{font-size:11px;color:#6f6260;text-align:right}
.stage7b2-progress-track{height:5px;background:#eee7e3;overflow:hidden}
.stage7b2-progress-track span{display:block;width:0;height:100%;background:#AD2826;transition:width .22s ease}
.stage7b2-request-preview{margin:0 0 14px;padding:16px;border:1px solid #e8dfda;background:#faf8f7}
.stage7b2-preview-title{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding-bottom:12px;border-bottom:1px solid #e8dfda}
.stage7b2-preview-title span{font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#AD2826}
.stage7b2-preview-title b{font-size:13px;text-align:right;color:#171313}
.stage7b2-request-preview dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 0}
.stage7b2-request-preview dl div{min-width:0}
.stage7b2-request-preview dt{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:#817570;margin-bottom:4px}
.stage7b2-request-preview dd{margin:0;font-size:12px;font-weight:700;color:#2a2422;overflow-wrap:anywhere}
.stage7b2-required-note{margin:0 0 16px;font-size:11px;line-height:1.5;color:#6f6260}
.stage7b2-field-help{display:block;margin-top:6px;font-size:10.5px;line-height:1.45;color:#786d68;font-weight:500}
.stage7b2-submit-note{margin:6px 0 12px;padding:12px 14px;border-left:3px solid #AD2826;background:#f9f5f3;color:#5d534f;font-size:11px;line-height:1.55}
.stage7b2-submit-note strong{color:#171313}
.stage7b2-invalid{border-color:#AD2826!important;box-shadow:0 0 0 2px rgba(173,40,38,.08)!important}
.stage7b2-confirmation{margin-top:12px;padding:16px;border:1px solid #bfd4c5;background:#f2f8f4;color:#244b31}
.stage7b2-confirmation[hidden]{display:none!important}
.stage7b2-confirmation>b{display:block;font-size:14px;margin-bottom:6px}
.stage7b2-confirmation p{margin:0 0 12px;font-size:11.5px;line-height:1.55;color:#43604b}
.stage7b2-confirmation div{display:flex;gap:14px;flex-wrap:wrap}
.stage7b2-confirmation a{font-size:11px;font-weight:900;text-decoration:underline;text-underline-offset:3px}
.stage7b2-start{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:0 0 4px;padding:0 16px;background:#AD2826;color:#fff;font-size:11px;font-weight:900}
.stage7b2-enhanced input[type="date"]{min-height:49px}
@media(max-width:700px){
  .stage7b2-progress{margin-bottom:14px;padding:13px}
  .stage7b2-progress-copy{align-items:flex-start;flex-direction:column;gap:3px}
  .stage7b2-progress-copy span{text-align:left}
  .stage7b2-request-preview{padding:14px}
  .stage7b2-request-preview dl{grid-template-columns:1fr;gap:9px}
  .stage7b2-request-preview dl div{display:grid;grid-template-columns:70px 1fr;gap:10px;align-items:start}
  .stage7b2-request-preview dt{margin:2px 0 0}
  .stage7b2-preview-title{align-items:flex-start;flex-direction:column;gap:4px}
  .stage7b2-preview-title b{text-align:left}
  .stage7b2-start{width:100%;margin:0 0 8px}
  .stage7b2-submit-note{margin-bottom:10px}
  .stage7b2-confirmation div{display:grid;grid-template-columns:1fr}
}
