/* Rede 28 Cardápio - CSS */
.r28c-wrap { --gap: 16px; --radius: 16px; --shadow: 0 8px 20px rgba(0,0,0,.08); }
.r28c-search { display:flex; gap:8px; margin: 8px 0 20px; }
.r28c-search input { flex:1; padding:10px 12px; border:1px solid #e5e7eb; border-radius: 12px; }
.r28c-search button { padding:10px 14px; border:0; border-radius:12px; box-shadow: var(--shadow); cursor:pointer; background:#f3f4f6; }
.r28c-category-title { margin: 28px 0 12px; font-size: 1.4rem; line-height:1.2; }
.r28c-grid { display:grid; gap: var(--gap); grid-template-columns: repeat(3, minmax(0,1fr)); }
.r28c-card { background:#fff; border-radius: var(--radius); overflow:hidden; box-shadow: var(--shadow); display:flex; flex-direction:column; }
.r28c-thumb { aspect-ratio: 4 / 3; background:#f8fafc; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.r28c-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.r28c-content { padding:14px; display:flex; flex-direction:column; gap:8px; }
.r28c-title { font-size:1.05rem; margin:0; }
.r28c-desc { margin:0; font-size:.94rem; color:#334155; min-height: 0; }
.r28c-meta { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top: 6px; }
.r28c-code { font-size:.8rem; color:#64748b; background:#f1f5f9; border-radius: 999px; padding:4px 8px; }
.r28c-price { font-weight:700; font-size:1.05rem; }

/* columns attr */
.r28c-wrap[data-columns="1"] .r28c-grid { grid-template-columns: 1fr; }
.r28c-wrap[data-columns="2"] .r28c-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
.r28c-wrap[data-columns="3"] .r28c-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.r28c-wrap[data-columns="4"] .r28c-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }

/* Responsive */
@media (max-width: 1024px) {
  .r28c-wrap .r28c-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .r28c-wrap .r28c-grid { grid-template-columns: 1fr; }
  .r28c-meta { flex-wrap: wrap; }
}
