.wsr-box{display:flex;align-items:flex-start;gap:22px;margin:28px 0;padding:20px;border-radius:16px;background:#fff;box-shadow:0 6px 24px rgba(0,0,0,.06)}.wsr-box.wsr-reverse{flex-direction:row-reverse}.wsr-left{flex:0 0 auto;width:var(--wsr-desktop-img,552px)}.wsr-left img{width:100%;height:auto;border-radius:14px;display:block;object-fit:cover;box-shadow:0 6px 20px rgba(0,0,0,.10)}.wsr-right{flex:1;min-width:0}.wsr-header{display:flex;gap:12px;align-items:center;margin-bottom:10px}.wsr-stars{font-size:var(--wsr-star-size,28px);line-height:1;color:var(--wsr-star-color,#f7b500)}.wsr-star{opacity:.35;display:inline-block}.wsr-star.filled{opacity:1}.wsr-summary{display:flex;flex-direction:column;gap:2px}.wsr-name{font-weight:700}.wsr-date{font-size:15px;color:#666}.wsr-loc{font-size:15px;color:#444}.wsr-text{font-style:italic;color:#1a1a1a;margin:8px 0 14px}.wsr-grid{display:grid;grid-template-columns:repeat(var(--wsr-cols,4),minmax(0,1fr));gap:var(--wsr-gap,24px)}.wsr-card{background:#fff;border-radius:16px;box-shadow:0 6px 24px rgba(0,0,0,.06);overflow:hidden;display:flex;flex-direction:column;height:100%}.wsr-card-media{position:relative}.wsr-card-media img{width:100%;height:auto;display:block;object-fit:cover;aspect-ratio:var(--wsr-aspect,1/1);border-bottom:1px solid rgba(0,0,0,.06)}.wsr-card-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:10px}.wsr-card-header{display:flex;align-items:center;gap:10px;justify-content:space-between}.wsr-card .wsr-stars{font-size:var(--wsr-star-size,22px)}.wsr-card .wsr-text{margin:0;color:#1a1a1a;font-style:italic}.wsr-card .wsr-meta{font-size:16px;color:#333}.wsr-card .wsr-name{font-weight:700}.wsr-card .wsr-date{font-size:14px;color:#666}@media (max-width:1200px){.wsr-grid{grid-template-columns:repeat(var(--wsr-cols-md,3),minmax(0,1fr))}}@media (max-width:900px){.wsr-grid{grid-template-columns:repeat(var(--wsr-cols-md,2),minmax(0,1fr))}}@media (max-width:600px){.wsr-grid{grid-template-columns:repeat(var(--wsr-cols-sm,1),minmax(0,1fr))}.wsr-box{flex-direction:column;padding:16px;gap:18px}.wsr-box.wsr-reverse{flex-direction:column}.wsr-left{width:100%}}