/* Presentation only: all quote rules remain enforced by the signed server context. */
.pvqd-flow { --pvqd-border:#d7e2d6; --pvqd-green:#298d35; color:#243328; }
.pvqd-flow,.pvqd-flow * { box-sizing:border-box; }
.pvqd-flow [hidden],.pvq-cart-panel[hidden],.pvq-cart-panel [hidden] { display:none!important; }
.pvqd-flow-nav { display:flex; gap:.5rem; margin:1.5rem 0 2rem; }
.pvqd-flow-step { flex:1; min-width:0; padding:.85rem .6rem; margin:0; border:1px solid #d7e2d6; border-radius:8px; background:#f7faf6; color:#36543b; font:inherit; font-weight:600; line-height:1.4; text-transform:none; letter-spacing:0; white-space:normal; }
.pvqd-flow-step[aria-current] { background:#278334; color:#fff; border-color:#278334; }
.pvqd-flow-step:disabled { opacity:.55; cursor:default; }
.pvqd-flow-short { display:none; }
.pvqd-flow :is(button,a,input,select,textarea):focus-visible { outline:3px solid #135bba; outline-offset:3px; }
.pvqd-flow-actions { display:flex; justify-content:space-between; gap:.75rem; margin:1.5rem 0; }
.pvqd-flow-actions .primary { margin-left:auto; }
.pvqd-flow [data-pvqd-panel] > h2 { scroll-margin-top:100px; }
.pvqd-flow .pvqd-project { margin:.75rem 0; }
.pvqd-flow .pvqd-save-status { background:none; border:0; padding:0; font-size:.82rem; }
.pvqd-flow .pvqd-reference { padding:0; overflow:clip; }
.pvqd-reference-heading { margin:0!important; }
.pvqd-reference-toggle { display:flex; gap:.7rem; justify-content:space-between; align-items:center; width:100%; margin:0; padding:1.1rem; border:0; background:#f7faf6; color:#243328; font:inherit; font-weight:700; text-align:left; text-transform:none; letter-spacing:0; white-space:normal; line-height:1.45; }
.pvqd-reference-toggle[aria-expanded=true] { background:#edf5eb; border-bottom:1px solid #d7e2d6; }
.pvqd-reference-status { flex-shrink:0; font-size:.8rem; font-weight:400; }
.pvqd-reference-body { padding:1.1rem; }
.pvqd-reference-variants { margin:0 0 1rem; font-size:.88rem; }
.pvqd-reference-variants summary { cursor:pointer; color:#36543b; }
.pvqd-mobile-tabs { display:none; }
.pvqd-flow .pvqd-project-recap { margin:1rem 0 1.5rem; }
.pvqd-flow .pvqd-project-recap p { white-space:pre-line; overflow-wrap:anywhere; }
.pvqd-flow .pvqd-project-recap summary { color:#265f2b; font-weight:700; cursor:pointer; }
.pvqd-flow .pvqd-account-note { background:none; border:0; padding:0; }
@media(max-width:760px) {
  .pvqd-flow-nav { gap:.3rem; margin-bottom:1rem; }
  .pvqd-flow-step { padding:.65rem .3rem; font-size:.8rem; }
  .pvqd-reference-toggle,.pvqd-reference-body { padding:.8rem; }
  .pvqd-reference-toggle { align-items:flex-start; }
  .pvqd-reference-status { max-width:35%; }
  .pvqd-mobile-tabs { display:flex; gap:.4rem; margin:.75rem 0; }
  .pvqd-mobile-tabs button { flex:1; min-height:44px; margin:0; padding:.55rem; border:1px solid #9bb29c; border-radius:6px; background:#fff; color:#216d2c; font:inherit; }
  .pvqd-mobile-tabs button[aria-selected=true] { background:#278334; color:#fff; }
  .pvqd-flow .pvqd-layout { display:block; }
  .pvqd-flow .pvqd-preview { position:static; }
  .pvqd-flow-actions .button { white-space:normal; margin-bottom:0; }
  .pvqd-flow .pvqd-contact input,.pvqd-flow textarea { font-size:16px; }
}
@media(max-width:480px) {
  .pvqd-flow-label { display:none; }
  .pvqd-flow-short { display:block; }
  .pvqd-flow-step { font-size:clamp(10px,3vw,12px); padding:.65rem .2rem; }
}
