/* 0.1.177/205 — 咖啡照分享（PDP「大家喝到的風味」+ share sheet + lightbox + vendor desk list）; 0.1.205 flatten PDP density */
.wrv{box-sizing:border-box;clear:both;margin:12px 0 6px;padding:8px 10px;border:1px solid #e3e6dc;border-radius:10px;background:#fffdf8;color:#1f2f28;max-width:100%;overflow:hidden}
.wrv *,.wrv-ov *,.wrv-lb *{box-sizing:border-box}
.wrv-title{margin:0 0 6px;font-size:15px;line-height:1.25;font-weight:800;color:#163f35}
.wrv-bars{display:flex;flex-direction:column;gap:4px}
.wrv-bar{display:grid;grid-template-columns:minmax(0,7.5em) minmax(0,1fr) 3em;align-items:center;gap:8px;font-size:14px}
.wrv-bar-lab{display:flex;align-items:center;gap:3px;min-width:0;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wrv-bar-lab img{width:24px;height:24px;flex:0 0 24px;object-fit:contain}
.wrv-bar-track{height:10px;border-radius:999px;background:#eceee6;overflow:hidden}
.wrv-bar-fill{display:block;height:100%;border-radius:999px;background:#2f7a55}
.wrv-bar-pct{text-align:right;font-variant-numeric:tabular-nums;color:#4a5a52;font-size:13px}
.wrv-bars-foot{margin:2px 0 0;font-size:12.5px;color:#6a766f}
.wrv-empty{margin:0;padding:6px 8px;border-radius:8px;background:#f2f5ee;color:#3a4a42;font-size:13px;font-weight:650;text-align:center;line-height:1.35}
.wrv-cta-row{margin:8px 0 0;text-align:center}
.wrv-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;border-radius:999px;background:#163f35;color:#fff !important;font-size:15.5px;font-weight:800;text-decoration:none !important}
.wrv-hint{margin:6px 0 0;font-size:13px;color:#6a766f}
.wrv-mine{margin:6px 0 0;font-size:13px;color:#8a5a00}
.wrv-wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;margin:8px 0 0}
.wrv-wall[hidden]{display:none}
.wrv-tile{position:relative;display:block;width:100%;aspect-ratio:1/1;padding:0;border:0;border-radius:8px;overflow:hidden;background:#eee;cursor:zoom-in}
.wrv-tile img{display:block;width:100%;height:100%;object-fit:cover}
.wrv-tile-n{position:absolute;right:5px;top:5px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font-size:11.5px;font-weight:800;line-height:20px}
html.wrv-lock,html.wrv-lock body{overflow:hidden}
/* lightbox */
.wrv-lb{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:12px;background:rgba(10,14,12,.86)}
.wrv-lb-inner{position:relative;width:100%;max-width:560px;max-height:100%;overflow:auto;border-radius:14px;background:#fffdf8;padding:10px 10px 14px}
.wrv-lb-x{position:absolute;right:8px;top:8px;z-index:2;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#1f2f28;font-size:16px;font-weight:800}
.wrv-lb-photo{display:flex;align-items:center;justify-content:center;background:#111;border-radius:10px;overflow:hidden}
.wrv-lb-photo img{display:block;max-width:100%;max-height:68vh;width:auto;height:auto;object-fit:contain}
.wrv-lb-dots{display:flex;justify-content:center;gap:6px;margin:8px 0 0}
.wrv-lb-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#c8cfc4}
.wrv-lb-dots button[aria-current]{background:#163f35}
.wrv-lb-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:10px 2px 6px;font-size:13px;color:#4a5a52}
.wrv-badge{padding:2px 8px;border-radius:999px;background:#e5f3ea;color:#1f6a45;font-weight:800;font-size:12px}
.wrv-brew{padding:2px 8px;border-radius:999px;background:#f1efe7;font-weight:700}
.wrv-date{margin-left:auto;color:#8a948e}
.wrv-lb-chips{display:flex;flex-wrap:wrap;gap:6px}
.wrv-chip{display:inline-flex;align-items:center;gap:3px;padding:3px 10px 3px 5px;border:1px solid #dfe3da;border-radius:999px;background:#fff;font-size:13.5px;font-weight:700}
.wrv-chip img{width:22px;height:22px;object-fit:contain}
.wrv-lb-note{margin:8px 2px 0;font-size:14px}
/* share sheet */
.wrv-ov{position:fixed;inset:0;z-index:100000;display:flex;align-items:flex-end;justify-content:center;background:rgba(10,14,12,.5)}
.wrv-sheet{width:100%;max-width:560px;max-height:92vh;overflow:auto;margin:0;padding:14px 14px calc(16px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;background:#fffdf8;color:#1f2f28;animation:wrvUp .2s ease-out}
@keyframes wrvUp{from{transform:translateY(24px)}to{transform:none}}
.wrv-sheet-head{display:flex;align-items:center;gap:8px}
.wrv-sheet-head strong{margin-right:auto;font-size:17px;color:#163f35}
.wrv-x{width:36px;height:36px;border:0;border-radius:50%;background:#eef2ec;font-size:15px;font-weight:800;color:#2f3d37}
.wrv-sheet-hint{margin:2px 0 10px;font-size:13px;color:#6a766f}
.wrv-sec{margin:0 0 14px}
.wrv-sec-t{display:block;margin:0 0 6px;font-size:14.5px;font-weight:800}
.wrv-sec-t em{font-style:normal;font-weight:600;font-size:12.5px;color:#7a857f}
.wrv-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.wrv-ph,.wrv-ph-add{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1/1;border-radius:10px;overflow:hidden}
.wrv-ph img{width:100%;height:100%;object-fit:cover}
.wrv-ph button{position:absolute;right:4px;top:4px;width:28px;height:28px;border:0;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;font-size:13px;font-weight:800}
.wrv-cover{position:absolute;left:4px;bottom:4px;padding:1px 7px;border-radius:999px;background:#163f35;color:#fff;font-size:11.5px;font-style:normal;font-weight:800}
.wrv-ph-add{border:1.5px dashed #b9c4b5;background:#f6f8f3;color:#2f5f48;cursor:pointer}
.wrv-ph-add span{font-size:26px;line-height:1;font-weight:700}
.wrv-ph-add small{font-size:12.5px;font-weight:700}
.wrv-ticks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.wrv-tick{display:flex;align-items:center;gap:3px;min-width:0;min-height:44px;padding:4px 6px;border:1.5px solid #dfe3da;border-radius:10px;background:#fff;color:#1f2f28;font-size:13.5px;font-weight:700;text-align:left}
.wrv-tick img{width:28px;height:28px;flex:0 0 28px;object-fit:contain}
.wrv-tick span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wrv-tick[aria-pressed=true],.wrv-brewopt[aria-pressed=true]{border-color:#1f7a4d;background:#eef7f0;box-shadow:0 0 0 1px #1f7a4d;color:#14543a}
.wrv-brews{display:flex;flex-wrap:wrap;gap:6px}
.wrv-brewopt{min-height:40px;padding:0 12px;border:1.5px solid #dfe3da;border-radius:999px;background:#fff;color:#1f2f28;font-size:14px;font-weight:700}
.wrv-err{margin:0 0 10px;color:#b3261e;font-size:14px;font-weight:700}
.wrv-submit{display:block;width:100%;min-height:48px;border:0;border-radius:999px;background:#163f35;color:#fff;font-size:16px;font-weight:800}
.wrv-submit[disabled]{opacity:.6}
.wrv-done{display:flex;flex-direction:column;gap:14px;padding:24px 4px;text-align:center;font-size:16px}
/* vendor desk */
.wrv-desk-chip{display:inline-flex;align-items:center;padding:1px 8px;border-radius:999px;background:#f1efe7;color:#4a4a3a;font-size:12.5px;font-weight:700;white-space:nowrap}
.wrv-desk-chip em{font-style:normal;color:#8a5a00}
.wrv-desk{margin:10px 0;border:1px solid #e3e6dc;border-radius:12px;background:#fffdf8}
.wrv-desk>summary{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;font-size:15px;font-weight:800;cursor:pointer;list-style:none}
.wrv-desk>summary::-webkit-details-marker{display:none}
.wrv-desk>summary span{margin-left:auto;font-size:13px;font-weight:650;color:#6a766f}
.wrv-desk-body{padding:0 12px 12px}
.wrv-desk-empty{margin:0;font-size:13.5px;color:#6a766f}
.wrv-desk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.wrv-desk-item{display:flex;flex-direction:column;gap:4px;min-width:0}
.wrv-desk-item img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px}
.wrv-desk-item.is-hidden img{opacity:.35}
.wrv-desk-item small{font-size:11.5px;color:#6a766f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wrv-desk-item button{min-height:34px;border:1px solid #c8d2c6;border-radius:999px;background:#fff;font-size:13px;font-weight:700;color:#2f3d37}
.wsf-desk-count{display:inline-flex;align-items:center;margin-left:6px;padding:1px 8px;border-radius:999px;background:#fdecef;color:#9b2c45;font-size:12.5px;font-weight:700;white-space:nowrap}


/* 0.1.182 Siip-style sentiment + share + empty */
.wrv-empty--hero,.wrv-empty--soft{margin:8px 0 4px;padding:14px 16px;border-radius:14px;border:1px dashed #c9d9cf;background:#f3f8f4}
.wrv-empty-title{margin:0 0 6px;font-size:16px;font-weight:800;color:#163f35}
.wrv-empty-lead{margin:0;font-size:13.5px;line-height:1.45;color:#5f6f63}
.wrv-sent{display:flex;flex-wrap:wrap;gap:8px}
.wrv-sentopt{min-height:42px;padding:0 14px;border-radius:999px;border:1.5px solid #c9d9cf;background:#fff;color:#163f35;font-size:14px;font-weight:800;cursor:pointer}
.wrv-sentopt[aria-pressed=true]{background:#163f35;border-color:#163f35;color:#f8f5ef}
.wrv-note{width:100%;min-height:44px;padding:10px 12px;border:1px solid #d5e0d2;border-radius:12px;font:inherit;color:#1a2420;background:#fff}
.wrv-share-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 4px}
.wrv-share-lab{font-size:13px;font-weight:700;color:#5f6f63;margin-right:4px}
.wrv-share-btn{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:999px;border:1px solid #c9d9cf;background:#fff;color:#163f35;font-size:13px;font-weight:750;text-decoration:none;cursor:pointer}
.wrv-share-btn--line{border-color:#06c755;color:#06c755}
.wrv-share-btn--fb{border-color:#1877f2;color:#1877f2}
.wrv-sent-pill{display:inline-flex;padding:2px 10px;border-radius:999px;background:#eef5f0;color:#163f35;font-size:12px;font-weight:800}

/* 0.1.182 評分回顧卡 */
.wrv-mine-card{margin:12px 0}
.wrv-rcard{padding:12px 14px;border-radius:14px;border:1.5px solid #c9d9cf;background:#f3f8f4}
.wrv-rcard-kicker{margin:0 0 4px;font-size:12px;font-weight:700;color:#5f6f63}
.wrv-rcard-sent{margin:0;font-size:18px;font-weight:900;color:#163f35}
.wrv-rcard-meta{margin:4px 0 0;font-size:13px;color:#6b7c72}
