/* [quote_lookup] — ฟอร์มค้นหาใบเสนอราคา ไม่ล้นจอทุกอุปกรณ์ */
.pq-ql, .pq-ql * { box-sizing: border-box; }
.pq-ql { position: relative; max-width: 480px; width: 100%; margin: 12px 0; font-size: 15px; line-height: 1.5; overflow-wrap: anywhere; word-break: break-word; color: #222; }
.pq-ql-title { font-size: 1.15em; font-weight: 700; margin: 0 0 8px; }
.pq-ql-lbl { display: block; font-size: 13px; color: #555; margin: 8px 0 3px; }
.pq-ql-in { display: block; width: 100%; max-width: 100%; min-height: 46px; margin: 0; padding: 10px 12px; border: 1px solid #ccc; border-radius: 6px; background: #fff; color: #222; font-size: 16px; line-height: 1.4; }
.pq-ql-in:focus { outline: 2px solid #0a3c8c33; border-color: #0a3c8c; }
.pq-ql-hp { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.pq-ql-ts { display: flex; justify-content: center; max-width: 100%; min-height: 0; margin: 10px 0 0; overflow: hidden; }
.pq-ql-ts.pq-ts-on { min-height: 65px; }
.pq-ql-ts.pq-ts-compact { min-height: 140px; }
.pq-ql-ts iframe { max-width: 100%; }
.pq-ql-btn { display: block; width: 100%; min-height: 46px; margin: 12px 0 0; padding: 10px 14px; border: 0; border-radius: 6px; background: #0a3c8c; color: #fff; font-size: 16px; font-weight: 600; cursor: pointer; }
.pq-ql-btn:disabled { opacity: .6; cursor: not-allowed; }
.pq-ql-msg { margin: 10px 0 0; font-size: 14px; }
.pq-ql-msg:empty { display: none; }
.pq-ql-msg.pq-err { color: #b71c1c; }
.pq-ql-msg.pq-warn { color: #8a5a00; }
.pq-ql-result:empty { display: none; }
.pq-ql-card { margin: 14px 0 0; padding: 14px; border: 1px solid #d8e2f3; border-radius: 10px; background: #f7f9fe; }
.pq-ql-head { margin: 0 0 10px; }
.pq-ql-head strong { display: block; font-size: 1.05em; }
.pq-ql-head span { display: block; font-size: 13px; color: #555; }
.pq-ql-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-start; }
.pq-ql-act { flex: 1 1 150px; min-width: 0; text-align: center; }
.pq-ql-ico { display: inline-flex; align-items: center; justify-content: center; width: 60px; height: 60px; border-radius: 50%; background: #0a3c8c; color: #fff; text-decoration: none; transition: transform .1s; -webkit-tap-highlight-color: transparent; }
.pq-ql-ico.pq-cart { background: #1b7f3b; }
.pq-ql-ico:hover { transform: scale(1.05); }
.pq-ql-ico:focus-visible { outline: 3px solid #f5a623; outline-offset: 2px; }
.pq-ql-ico svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pq-ql-cap { display: block; margin-top: 6px; font-size: 14px; font-weight: 600; }
.pq-ql-sub { display: block; font-size: 12px; color: #666; }
.pq-ql-off { padding: 10px 12px; border-radius: 8px; background: #fff4e0; color: #7a4d00; font-size: 13.5px; text-align: left; }
.pq-ql-off b { display: block; margin-bottom: 2px; }
.pq-ql-note { margin: 12px 0 0; font-size: 12px; color: #666; }
@media (prefers-reduced-motion: reduce) { .pq-ql-ico { transition: none; } }
@media (max-width: 340px) { .pq-ql { font-size: 14px; } .pq-ql-ico { width: 54px; height: 54px; } }
