.vz-wrap{display:grid;grid-template-columns:minmax(280px,440px) 1fr;gap:24px;align-items:start}
@media(max-width:820px){.vz-wrap{grid-template-columns:1fr}}
.vz-canvas{width:100%;max-width:440px;aspect-ratio:1;display:block;margin:auto;touch-action:none;cursor:grab}
.vz-ctrl{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:14px 0}
.vz-ctrl .seg button{border:1px solid #d8c9dd;background:#fff;padding:7px 14px;border-radius:20px;cursor:pointer;font-weight:600;color:#40274e}
.vz-ctrl .seg button.on{background:#40274e;color:#fff}
.vz-ctrl input[type=range]{flex:1;min-width:160px}
.vz-info{background:#fff;border:1px solid #eadfeb;border-radius:16px;padding:18px}
.vz-info h3{margin:0 0 6px}.vz-info .ok{color:#2e7d32}.vz-info .bad{color:#c62828}
.vz-table{width:100%;border-collapse:collapse;font-size:14px}.vz-table td,.vz-table th{border-bottom:1px solid #eee;padding:7px;text-align:left;vertical-align:top}
.vz-rooms{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.vz-rooms select{padding:7px;border-radius:10px;border:1px solid #d8c9dd}
.vz-tip{background:linear-gradient(135deg,#40274e,#24103a);color:#fff;border-radius:20px;padding:24px;margin-bottom:24px}
.vz-tip small{opacity:.75}.vz-tip h2{color:#f3d27a;margin:.2em 0}
.vz-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.vz-card{background:#fff;border:1px solid #eadfeb;border-radius:16px;padding:18px}
.vz-card h3{margin:0 0 6px}.vz-card ul{padding-left:18px;margin:8px 0}.vz-card .price{font-weight:700;color:#8a5a12}
.vz-card .acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.vz-card .acts a{font-size:13px;padding:8px 12px}
.vz-score{font-size:28px;font-weight:800;color:#40274e}
.vz-filter{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.vz-filter button{border:1px solid #d8c9dd;background:#fff;padding:7px 14px;border-radius:20px;cursor:pointer}.vz-filter button.on{background:#40274e;color:#fff}
.mk-box{background:#fff;border:1px solid #eadfeb;border-radius:14px;padding:12px 14px;margin-bottom:14px}
.mk-box h4{margin:0 0 8px}.mk-list{display:flex;flex-wrap:wrap;gap:8px}.mk-item{display:inline-flex;gap:6px;align-items:center;background:#f5eff7;border-radius:20px;padding:5px 10px;font-size:13px}
.mk-item button{border:0;background:none;cursor:pointer;color:#40274e;font-weight:700}
.button.ghost{background:#fff;color:#40274e;border:1px solid #40274e}
