/* t758u VOICEPHOTO preview: two big order buttons on #/shop + review cart sheet. Old 'Voice order' (#hvVo) hidden here. */
#hvVo{display:none!important}
.vpb{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:640px;margin:12px 0 0}
.vpb button,.vpb label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:92px;padding:12px 8px;border-radius:16px;border:2px solid #0f766e;background:#ecfdf5;color:#064e3b;font:inherit;font-size:15px;font-weight:700;text-align:center;cursor:pointer;line-height:1.25}
.vpb .ph{border-color:#1d4ed8;background:#eff6ff;color:#1e3a8a}
.vpb i{font-style:normal;font-size:30px;line-height:1}.vpb small{font-weight:500;font-size:12px;opacity:.85}
.vpb button.rec{background:#dc2626;border-color:#dc2626;color:#fff;animation:vpP 1.2s infinite}
@keyframes vpP{50%{box-shadow:0 0 0 8px rgba(220,38,38,.18)}}
.vpf{grid-column:1/-1;display:flex;justify-content:center;gap:16px;font-size:13px}
.vpf label{all:unset;color:#0f766e;text-decoration:underline;cursor:pointer;font-size:13px}
.vpf input,.vpb input{display:none}
.vps{position:fixed;inset:0;z-index:9000;background:rgba(15,23,42,.55);display:flex;align-items:flex-end;justify-content:center}
.vps .in{background:#fff;width:100%;max-width:640px;max-height:92vh;overflow:auto;border-radius:18px 18px 0 0;padding:14px 14px 90px;box-sizing:border-box;color:#0f172a}
@media(min-width:700px){.vps{align-items:center}.vps .in{border-radius:18px;padding-bottom:20px}}
.vps h3{margin:0 0 4px;font-size:18px}.vps .sub{margin:0 0 10px;font-size:13px;color:#475569}
.vps .x{float:right;border:0;background:#f1f5f9;border-radius:50%;width:34px;height:34px;font-size:18px;cursor:pointer}
.vpwait{text-align:center;padding:26px 6px}.vpwait .sp{width:44px;height:44px;border:5px solid #d1fae5;border-top-color:#0f766e;border-radius:50%;margin:0 auto 12px;animation:vpS 1s linear infinite}
@keyframes vpS{to{transform:rotate(360deg)}}
.vpl{border:1.5px solid #e2e8f0;border-left-width:6px;border-radius:12px;padding:9px 10px;margin:8px 0}
.vpl.g{border-left-color:#16a34a;background:#f0fdf4}.vpl.y{border-left-color:#eab308;background:#fefce8}
.vpl .t{display:flex;gap:8px;align-items:flex-start}.vpl .nm{flex:1;font-weight:700;font-size:14.5px}.vpl .nm em{display:block;font-style:normal;font-weight:500;font-size:12px;color:#854d0e}
.vpl .raw{font-size:11.5px;color:#64748b;margin-top:3px}
.vpl .r{display:flex;align-items:center;gap:6px;margin-top:7px;flex-wrap:wrap}
.vpl .q{display:flex;align-items:center;border:1.5px solid #cbd5e1;border-radius:10px;overflow:hidden;background:#fff}
.vpl .q button{border:0;background:#f1f5f9;width:34px;height:34px;font-size:18px;cursor:pointer}.vpl .q input{width:58px;height:34px;border:0;text-align:center;font:inherit;font-size:15px}
.vpl .bd{border:1.5px solid #ca8a04;background:#fff;color:#854d0e;border-radius:10px;padding:7px 10px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.vpl .rm{margin-left:auto;border:0;background:none;color:#b91c1c;font-size:13px;cursor:pointer;text-decoration:underline}
.vpl .alts{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.vpl .alts button{border:1px solid #cbd5e1;background:#fff;border-radius:999px;padding:5px 9px;font:inherit;font-size:12px;cursor:pointer}
.vpl .srch{margin-top:7px}.vpl .srch input{width:100%;box-sizing:border-box;height:40px;border:1.5px solid #0f766e;border-radius:10px;padding:0 10px;font:inherit;font-size:15px}
.vpl .sug button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #f1f5f9;background:#fff;padding:9px 6px;font:inherit;font-size:14px;cursor:pointer}
.vpgo{position:sticky;bottom:-90px;margin:14px -14px -90px;padding:12px 14px 16px;background:#fff;border-top:1px solid #e2e8f0}
.vpgo button{width:100%;height:54px;border:0;border-radius:14px;background:#16a34a;color:#fff;font:inherit;font-size:18px;font-weight:800;cursor:pointer}
.vpgo button:disabled{background:#94a3b8}
.vpleg{display:flex;gap:12px;font-size:12px;color:#475569;margin:0 0 4px}.vpleg b{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:-1px}

/* t774u speaking guide */
.vpb .vpg{grid-column:1/-1;box-sizing:border-box;margin:2px 0 0;padding:8px 10px;border-radius:10px;background:rgba(0,128,0,.07);border:1px dashed rgba(0,128,0,.35);font-size:12.5px;line-height:1.4;color:inherit}
.vpb .vpg b{display:block;margin-bottom:2px}
.vpb .vpg span{display:block;margin-top:3px;opacity:.85;font-style:italic}
.vpb #vpRec.rec ~ .vpg{background:rgba(220,0,0,.07);border-color:rgba(220,0,0,.4)}

/* t789u: voice parts only when the server says this customer is voice-enabled */
.vpb:not(.vpon) .vpv{display:none!important}
.vpb:not(.vpon){grid-template-columns:1fr}

/* Photo source stays next to the review, never stored remotely. */
.vpphotos{display:flex;gap:8px;position:sticky;top:0;z-index:2;background:var(--bg,#fff);padding:6px;overflow:auto}.vpphotos button{display:flex;flex-direction:column;font-size:11px;background:transparent;border:1px solid #ccc;border-radius:8px;padding:4px;color:inherit}.vpphotos img{width:75px;height:85px;object-fit:contain}.vpzoom{position:fixed;inset:0;background:#000e;z-index:100002;display:flex;align-items:center;justify-content:center;overflow:auto}.vpzoom img{max-width:98vw;max-height:95vh;object-fit:contain}.vpzoom button{position:fixed;right:12px;top:10px;font-size:30px;z-index:1}

/* Source thumbnails alongside the list, including narrow phone screens. */
.vpreview.hasphotos{display:grid;grid-template-columns:minmax(0,1fr)88px;gap:8px}.vpreview .vplines{min-width:0;grid-column:1;grid-row:1}.vpreview .vpphotos{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-self:start;max-height:65vh;overflow:auto}.vpl .raw{overflow-wrap:anywhere}@media(max-width:400px){.vpreview.hasphotos{grid-template-columns:minmax(0,1fr)64px;gap:5px}.vpphotos{padding:2px}.vpphotos img{width:52px;height:70px}}

.vpreviewcheck{display:flex;gap:5px;align-items:center;font-size:12px}
.vpreviewcheck input{width:auto!important}

/* Crossed-out photo rows are excluded until the customer explicitly re-adds them. */
.vpl.cancelled{border-left-color:#dc2626;background:#fff1f2}.vpl .vpcancel{display:block;color:#b91c1c;font-size:13px;margin-top:5px}.vpl.cancelled .raw{text-decoration:line-through}.vpl.cancelled .q{opacity:.6}.vpl .vpreadd{border-color:#b91c1c;color:#b91c1c}

/* Part 2: mobile-friendly explicit catalogue choices. */
.vpchoices{margin:8px 0;display:grid;gap:6px}.vpchoices button{margin:3px;padding:8px 12px;min-height:40px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#0f172a}.vpchoices small{color:#64748b}.vpchoices em{color:#92400e}
