/* The quote list (render-cart-html.js). Built on product.css (bar, buttons, footer, toast). */
.cart-page [hidden]{display:none !important}
.cart-page .wrap{max-width:1160px}
.cart-page .btn.primary{color:var(--on-accent)}
.cart-page .btn svg{width:20px;height:20px;fill:currentColor}
.cart-top{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;margin:24px 0 8px}
.cart-top h1{margin:0;font:700 30px/1.2 var(--font-head)}
.jump{width:100%;margin-top:8px}
@media (min-width:900px){.jump{display:none !important}}
.count{margin:0;font-size:17px;color:#55595e}
.notice{margin:8px 0 16px;padding:12px 16px;border-radius:10px;background:#e8f5ec;border:1px solid #9fd3ae;font-size:16px}

.cart-layout{display:grid;gap:24px;align-items:start}
@media (min-width:900px){.cart-layout{grid-template-columns:minmax(0,1fr) 400px;grid-template-areas:"lines quote" "extras quote";row-gap:0}.lines-col{grid-area:lines}.quote-col{grid-area:quote}.extras-col{grid-area:extras}}

.lines{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.line{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px 14px;padding:14px;border:1px solid #e1e1e6;border-radius:14px;background:#fff}
.line-pic img,.line-ph{display:block;width:96px;height:96px;border-radius:10px;object-fit:cover;background:#f2f2f4;border:1px solid #e5e5ea}
.line-info{display:flex;flex-direction:column;gap:3px;min-width:0;font-size:15px;color:#3a3a3c}
.line-name{font-size:17px;font-weight:700;color:#1d1d1f;overflow-wrap:anywhere}
.line-name a{color:inherit;text-decoration:none}
.line-name a:hover{text-decoration:underline}
.line-ref{color:#55595e;font-size:14px}
.line-comp{font-style:italic}
.line-price{margin-top:2px;font-size:17px;font-weight:700;color:var(--accent)}
.pill{align-self:flex-start;padding:2px 10px;border-radius:12px;background:#ececf0;color:#1d1d1f;font-size:14px;font-weight:700}
.line-ctl{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px 16px;padding-top:10px;border-top:1px solid #ececf0}
.stepper{display:inline-flex;align-items:center;border:2px solid #c7c7cc;border-radius:24px;overflow:hidden}
.stepper .step{width:48px;height:44px;border:0;background:#fff;font:700 22px/1 var(--font-body);color:#1d1d1f;cursor:pointer}
.stepper .step:hover{background:#f2f2f4}
.stepper .step[disabled]{color:#aeaeb2;cursor:default;background:#fff}
.stepper .qty{min-width:40px;text-align:center;font-size:18px;font-weight:700}
.link-btn{min-height:44px;padding:8px 6px;border:0;background:none;font:600 16px var(--font-body);color:var(--accent);text-decoration:underline;cursor:pointer;display:inline-flex;align-items:center}
.link-btn.del{color:#b3261e}
.qty-ro{font-weight:600}
.print-qty{display:none}
@media (max-width:480px){.line{grid-template-columns:72px minmax(0,1fr)}.line-pic img,.line-ph{width:72px;height:72px}}

.empty{padding:32px 16px;text-align:center;font-size:18px;border:1px dashed #c7c7cc;border-radius:14px}
.btn-line{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:12px}
.tools{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.tools .btn{min-height:48px;font-size:16px;padding:10px 18px}

.panel{margin:0 0 16px;padding:18px;border:1px solid #e1e1e6;border-radius:14px;background:#fff}
.panel h2{margin:0 0 6px;font:700 21px/1.3 var(--font-head)}
.contact summary{cursor:pointer;font-weight:700;font-size:17px;min-height:32px}
.contact ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px;font-size:16px}
.c-label{display:block;font-size:14px;color:#55595e}
.save-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.save-row input{flex:1 1 220px;min-height:48px;padding:10px 12px;border:2px solid #c7c7cc;border-radius:10px;font:16px var(--font-body)}
.save-row .btn{min-height:48px;font-size:16px}

.quote{display:grid;gap:14px}
.quote .note{margin:0;font-size:15px;color:#3a3a3c}
.quote label{display:grid;gap:4px;font-weight:600;font-size:16px}
.lbl{display:block}
.quote input[type=text],.quote input[type=email],.quote input[type=tel],.quote textarea{width:100%;min-height:48px;padding:10px 12px;border:2px solid #c7c7cc;border-radius:10px;font:16px var(--font-body);font-weight:400}
.quote input[aria-invalid=true]{border-color:#b3261e}
.quote textarea{min-height:110px;resize:vertical}
.quote .btn{width:100%}
.req{color:#b3261e}
.field-err{color:#b3261e;font-size:15px;font-weight:600}
.ptype{margin:0;padding:0;border:0;display:flex;flex-wrap:wrap;gap:8px 20px}
.ptype legend{padding:0;margin-bottom:6px;font-weight:600;font-size:16px}
.ptype label{display:inline-flex;align-items:center;gap:8px;font-weight:400;min-height:44px}
.ptype input{width:22px;height:22px;accent-color:var(--accent-raw)}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-msg{margin:0;font-size:16px;font-weight:600;color:#1e6b34}
.form-msg.bad{color:#b3261e}
.small-note{margin:0;font-size:14px;text-align:center}

.shared{margin:8px 0 24px;padding:18px;border:2px solid var(--accent-raw);border-radius:14px}
.shared h2{margin:0 0 12px;font:700 21px/1.3 var(--font-head)}
.shared .btn{margin-top:14px}
.done{margin:40px auto;max-width:640px;text-align:center}
.done h2{font:700 24px/1.35 var(--font-head);margin:0 0 20px;outline:none}

.share-dlg{width:min(480px,calc(100vw - 32px));padding:0;border:0;border-radius:16px}
.share-dlg::backdrop{background:rgba(0,0,0,.45)}
.share-dlg input{width:100%;min-height:48px;padding:10px 12px;border:2px solid #c7c7cc;border-radius:10px;font:15px var(--font-body)}
.share-dlg .picker-head{display:flex;align-items:center;justify-content:space-between;padding:12px 8px 0 16px}
.share-dlg h2{margin:0;font:700 20px/1.3 var(--font-head)}

.print-head{display:none}
@media print{
  .bar,.foot,.jump,.extras-col,.tools,.save,.quote-col,.contact,.notice,.shared,.toast,.line-ctl,.share-dlg{display:none !important}
  @page{margin:14mm 12mm}
  .print-head{display:block;margin-bottom:12px;font-size:13px}
  .print-logo{display:block;max-height:56px;max-width:240px;margin:0 0 6px}
  .print-store{font:700 22px/1.2 var(--font-head);margin:0}
  .print-head p{margin:2px 0}
  .cart-layout{display:block}
  .cart-top{margin-top:4px}
  .line{break-inside:avoid;border-color:#ccc}
  .line-name a{text-decoration:none}
  .print-qty{display:inline;font-weight:600}
  body{font-size:13px}
}

/* Request form sections (estimate fields) */
.quote .form-sec{margin:8px 0 0;padding:0;font:700 18px/1.3 var(--font-head)}
.quote .addr{margin:0;padding:0;border:0;display:grid;gap:12px}
.quote .addr .muted{margin:0;font-size:15px}
.quote .addr-row{display:grid;grid-template-columns:2fr 1fr 1.3fr;gap:10px}
@media (max-width:480px){.quote .addr-row{grid-template-columns:1fr 1fr}.quote .addr-row label:first-child{grid-column:1 / -1}}
.quote .check{display:flex;align-items:center;gap:10px;font-weight:400;min-height:44px}
.quote .check input{width:22px;height:22px;accent-color:var(--accent-raw)}
.quote input[type=date]{width:100%;min-height:48px;padding:10px 12px;border:2px solid #c7c7cc;border-radius:10px;font:16px var(--font-body)}
