/* vs-quote-engine front-end. Inherits the theme's .btn/.chip tokens; only basket-page
   structure + the add-to-quote feedback states live here. */

.vsq-basket{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:340px 1fr;gap:clamp(28px,4vw,56px);align-items:start;}
@media(max-width:820px){.vsq-basket{grid-template-columns:1fr;max-width:680px;}}
.vsq-empty{grid-column:1 / -1;}
.vsq-h{font:800 1.3rem 'Inter',sans-serif;color:var(--vs-dark,#10242a);margin:0 0 16px;letter-spacing:-.3px;}

.vsq-list{list-style:none;margin:0 0 28px;padding:0;display:flex;flex-direction:column;gap:10px;}
.vsq-row{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid rgba(0,79,89,.12);
  border-radius:12px;padding:10px 14px;}
.vsq-thumb img{width:52px;height:52px;object-fit:contain;border-radius:8px;mix-blend-mode:multiply;}
.vsq-name{flex:1;font:600 15px 'Inter',sans-serif;color:var(--vs-teal,#004f59);text-decoration:none;}
.vsq-name:hover{text-decoration:underline;}
.vsq-remove{flex:0 0 auto;width:30px;height:30px;border:0;border-radius:8px;background:#f1f5f4;color:#7a8a8c;
  font-size:20px;line-height:1;cursor:pointer;transition:.16s;}
.vsq-remove:hover{background:#ffe7e3;color:#c0392b;}

.vsq-empty{color:#5b6b6d;font:400 15px 'Inter',sans-serif;}
.vsq-empty a{color:var(--vs-teal,#004f59);}

.vsq-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 20px;}
.vsq-grid label{display:flex;flex-direction:column;gap:6px;font:600 12.5px 'Inter',sans-serif;color:#42565a;}
.vsq-grid .vsq-full{grid-column:1 / -1;}
.vsq-req{color:#c0392b;}
.vsq-grid input,.vsq-grid textarea{font:400 15px 'Inter',sans-serif;color:#10242a;padding:11px 13px;
  border:1px solid rgba(0,79,89,.22);border-radius:9px;background:#fff;width:100%;box-sizing:border-box;}
.vsq-grid input:focus,.vsq-grid textarea:focus{outline:none;border-color:var(--vs-teal,#004f59);
  box-shadow:0 0 0 3px rgba(0,79,89,.12);}
.vsq-grid input::placeholder,.vsq-grid textarea::placeholder{color:#6b7b7d;opacity:1;}
@media(max-width:560px){.vsq-grid{grid-template-columns:1fr;}}

.vsq-msg{margin:14px 0 0;font:600 14px 'Inter',sans-serif;}
.vsq-msg.vsq-ok{color:#1f7a4d;}
.vsq-msg.vsq-err{color:#c0392b;}

/* add-to-quote button feedback (buttons are the theme's .btn) */
.vsq-loading{opacity:.7;pointer-events:none;}
.vsq-added{background:var(--vs-green,#5a8a2c)!important;}
/* persistent state: this product is already in the quote basket (toggle = remove) */
.vsq-add.vsq-in{background:var(--vs-green,#5a8a2c)!important;border-color:var(--vs-green,#5a8a2c)!important;color:#fff!important;}
.vsq-add.vsq-in:hover{background:#4d7726!important;border-color:#4d7726!important;}
/* post-submit thank-you panel (replaces the basket once a quote is requested) */
.vsq-thanks{grid-column:1 / -1;max-width:620px;margin:0 auto;text-align:center;background:#fff;
  border:1px solid rgba(0,79,89,.12);border-radius:16px;padding:38px 32px;}
.vsq-thanks-ic{width:64px;height:64px;margin:0 auto 18px;border-radius:50%;
  background:color-mix(in srgb,var(--vs-green,#5a8a2c) 14%,#fff);color:var(--vs-green,#5a8a2c);
  display:flex;align-items:center;justify-content:center;font-size:32px;}
.vsq-thanks-h{font:800 1.5rem 'Inter',sans-serif;color:var(--vs-dark,#10242a);margin:0 0 10px;letter-spacing:-.4px;line-height:1.2;}
.vsq-thanks-ref{font:400 15px 'Inter',sans-serif;color:#42565a;margin:0 0 16px;}
.vsq-thanks-ref strong{color:var(--vs-teal,#004f59);font-weight:700;letter-spacing:.4px;}
.vsq-thanks-lead{font:400 15.5px 'Inter',sans-serif;color:#42565a;line-height:1.6;margin:0 auto 26px;max-width:480px;}
.vsq-thanks-lead strong{color:var(--vs-dark,#10242a);font-weight:600;}
.vsq-thanks-steps{list-style:none;margin:0 auto 24px;padding:0;text-align:left;display:flex;flex-direction:column;gap:13px;max-width:430px;}
.vsq-thanks-steps li{display:flex;align-items:flex-start;gap:13px;font:400 14.5px 'Inter',sans-serif;color:#42565a;line-height:1.5;}
.vsq-thanks-steps li > span:first-child{flex:0 0 26px;width:26px;height:26px;border-radius:50%;
  background:var(--vs-teal,#004f59);color:#fff;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;}
.vsq-thanks-contact{font:400 14px 'Inter',sans-serif;color:#42565a;margin:0 0 22px;}
.vsq-thanks-contact a{color:var(--vs-teal,#004f59);font-weight:600;text-decoration:none;}
.vsq-thanks-contact a:hover{text-decoration:underline;}
.vsq-thanks-cta{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
@media(max-width:560px){.vsq-thanks{padding:28px 20px;}.vsq-thanks-h{font-size:1.25rem;}}
/* nav count badge reflects the live basket size (the theme styles the .count bubble). */