
.tvs-btn{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #cdbba7;color:#3B2A1E;padding:10px 14px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.tvs-btn svg{width:18px;height:18px}
.tvs-cam{background:none;border:0;color:#3B2A1E;cursor:pointer;padding:6px;display:inline-flex;align-items:center}
.tvs-cam svg{width:22px;height:22px}
.tvs{position:fixed;inset:0;z-index:100040;background:rgba(40,28,20,.55);display:flex;align-items:center;justify-content:center;padding:14px}
.tvs[hidden]{display:none}
.tvs-in{background:#F7F1EA;color:#3B2A1E;width:100%;max-width:1040px;max-height:94vh;display:flex;flex-direction:column}
.tvs-h{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e6dccf;font-family:"Cormorant Garamond",serif;font-size:24px}
.tvs-h button{background:none;border:0;font-size:30px;line-height:1;cursor:pointer;color:#3B2A1E}
.tvs-b{overflow:auto;padding:18px 20px 24px}
.tvs-top{display:flex;gap:16px;align-items:center;margin-bottom:18px}
.tvs-top img{width:84px;height:110px;object-fit:cover;border:1px solid #e6dccf}
.tvs-top p{margin:0;font-size:14px;line-height:1.5}
.tvs-g{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.tvs-g a{color:#3B2A1E;text-decoration:none;font-size:13px}
.tvs-g .im{position:relative;aspect-ratio:3/4;background:#efe7dd;overflow:hidden;margin-bottom:8px}
.tvs-g .im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .35s}
.tvs-g .im img+img{opacity:0}.tvs-g a:hover .im img+img{opacity:1}
.tvs-g b{display:block;font-weight:500;margin-top:3px}
.tvs-load{text-align:center;padding:60px 10px;font-family:"Cormorant Garamond",serif;font-size:22px}
.tvs-load i{display:block;width:34px;height:34px;margin:0 auto 14px;border:2px solid #d9cbbb;border-top-color:#3B2A1E;border-radius:50%;animation:tvsr 1s linear infinite}
@keyframes tvsr{to{transform:rotate(360deg)}}
.tvs-again{margin-top:20px;text-align:center}
.tvs-tip{font-size:14px;line-height:1.5;margin:0 0 12px}.tvs-cropw{text-align:center}.tvs-crop{position:relative;display:inline-block;max-width:100%;touch-action:none;user-select:none;-webkit-user-select:none;cursor:crosshair;overflow:hidden;vertical-align:top}.tvs-crop img{display:block;max-width:100%;max-height:60vh;pointer-events:none}.tvs-sel{position:absolute;border:2px solid #fff;box-shadow:0 0 0 9999px rgba(20,14,10,.5);cursor:move}.tvs-sel i{position:absolute;right:-1px;bottom:-1px;width:22px;height:22px;background:#fff;border:2px solid #3B2A1E;border-radius:50%;cursor:nwse-resize;transform:translate(35%,35%)}.tvs-acts{display:flex;gap:10px;justify-content:center;margin-top:16px;flex-wrap:wrap}.tvs-go{background:#3B2A1E!important;color:#fff!important;border-color:#3B2A1E!important}
@media(max-width:760px){.tvs{padding:0;align-items:flex-end}.tvs-in{max-height:96vh}.tvs-g{grid-template-columns:repeat(2,1fr);gap:12px}}
