.nsr-wrap{margin:28px 0;padding:22px;border:1px solid rgba(127,127,127,.18);border-radius:18px;background:var(--bg-400,#fff);box-shadow:0 8px 30px rgba(0,0,0,.05)}.nsr-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:16px}.nsr-head span{display:block;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#ee4d2d}.nsr-head h2{font-size:22px;line-height:1.2;margin:3px 0 0}.nsr-head small{opacity:.55}.nsr-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.nsr-card{min-width:0;overflow:hidden;border:1px solid rgba(127,127,127,.16);border-radius:14px;background:var(--bg-300,#fff);transition:transform .18s ease,box-shadow .18s ease}.nsr-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,0,0,.08)}.nsr-image{display:block;aspect-ratio:1/1;background:#f4f4f4;overflow:hidden}.nsr-image img{width:100%;height:100%;object-fit:cover;display:block}.nsr-body{padding:12px}.nsr-body h3{font-size:14px;line-height:1.35;margin:0 0 7px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:38px}.nsr-shop{display:block;font-size:11px;opacity:.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:7px}.nsr-price{display:block;font-size:18px;line-height:1.2;margin-bottom:10px}.nsr-button{display:flex;justify-content:center;align-items:center;gap:5px;width:100%;padding:9px 10px;border-radius:9px;background:#ee4d2d;color:#fff!important;text-decoration:none!important;font-size:13px;font-weight:800}.nsr-button:hover{filter:brightness(.96)}.nsr-note{font-size:11px;opacity:.55;margin:12px 0 0;text-align:center}@media(max-width:900px){.nsr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.nsr-wrap{margin:20px 0;padding:14px;border-radius:14px}.nsr-head{align-items:flex-start}.nsr-head h2{font-size:19px}.nsr-head small{display:none}.nsr-grid{gap:10px}.nsr-body{padding:10px}.nsr-price{font-size:16px}.nsr-button{font-size:12px;padding:9px 6px}}
/* v0.2.1 — termo personalizado por obra no editor Fictioneer */
.nsr-head small{font-size:10px;opacity:.42;white-space:nowrap}
@media(max-width:520px){
  .nsr-wrap{overflow:hidden}
  .nsr-head{display:block;margin-bottom:14px}
  .nsr-head h2{font-size:19px;line-height:1.25;padding-right:4px}
  .nsr-head small{display:block;margin-top:5px;font-size:9px;opacity:.38}
  .nsr-grid{display:flex;grid-template-columns:none;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:0 2px 8px;scrollbar-width:thin}
  .nsr-card{flex:0 0 78%;scroll-snap-align:start}
  .nsr-image{aspect-ratio:1/1}
  .nsr-body h3{font-size:13px}
  .nsr-button{font-size:12px;padding:10px 7px}
}
/* v0.2.6 — ofertas gerais usadas apenas para completar vagas vazias */
.nsr-card{position:relative}.nsr-offer-badge{position:absolute;z-index:2;top:9px;left:9px;padding:4px 7px;border-radius:999px;background:#ee4d2d;color:#fff;font-size:9px;font-weight:800;line-height:1;text-transform:uppercase;letter-spacing:.06em;box-shadow:0 2px 8px rgba(0,0,0,.18)}
