.menuplugin-frontend {
  font-family: var(--menuplugin-font-body, Georgia, serif);
  font-size: var(--menuplugin-font-size-body, 16px);
  line-height: var(--menuplugin-line-height, 1.5);
  color: #1f1f1f;
}
.menuplugin-header { margin-bottom: 2rem; }
.menuplugin-header h2,
.menuplugin-section h3,
.menuplugin-item h4 {
  font-family: var(--menuplugin-font-heading, Georgia, serif);
  font-weight: var(--menuplugin-font-weight-heading, 700);
  color: var(--menuplugin-accent, #3b2f2f);
}
.menuplugin-header h2 { font-size: var(--menuplugin-font-size-heading, 26px); margin: 0 0 .4rem; }
.menuplugin-layout-compact .menuplugin-section { margin-bottom: calc(var(--menuplugin-section-spacing, 32px) * .7); }
.menuplugin-layout-compact .menuplugin-item { margin-bottom: calc(var(--menuplugin-item-spacing, 16px) * .7); }
.menuplugin-layout-card .menuplugin-section {
  padding: 1rem;
  border: 1px solid #ece4db;
  border-radius: 18px;
  background: #fffdfa;
}
.menuplugin-pdf-button {
  display: inline-block; padding: .65rem 1rem; border-radius: 999px; text-decoration: none;
  background: var(--menuplugin-accent, #3b2f2f); color: #fff;
}
.menuplugin-section { margin-bottom: var(--menuplugin-section-spacing, 32px); }
.menuplugin-section h3 { border-bottom: 1px solid #ddd; padding-bottom: .25rem; margin-bottom: .5rem; }
.menuplugin-section--accent { border-left: 4px solid var(--menuplugin-accent, #3b2f2f); padding-left: 1rem; }
.menuplugin-section--muted { background: rgba(0, 0, 0, .02); padding: .85rem 1rem; border-radius: 14px; }
.menuplugin-section-subtitle, .menuplugin-intro, .menuplugin-item-subtitle { color: #666; }
.menuplugin-section-image,
.menuplugin-item-image { margin-top: .85rem; }
.menuplugin-section-image img,
.menuplugin-item-image img {
  display: block;
  width: 100%;
  max-width: 420px;
  height: auto;
  border-radius: 12px;
  object-fit: cover;
}
.menuplugin-item { margin-bottom: var(--menuplugin-item-spacing, 16px); }
.menuplugin-item-row { display: flex; gap: 1rem; justify-content: space-between; align-items: flex-start; }
.menuplugin-item-heading {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
}
.menuplugin-item h4 { margin: 0; font-size: 1.05em; }
.menuplugin-badge {
  display: inline-block;
  padding: .15rem .55rem;
  border-radius: 999px;
  background: rgba(59, 47, 47, .1);
  color: var(--menuplugin-accent, #3b2f2f);
  font-size: .8em;
  font-weight: 600;
}
.menuplugin-item-price-block {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .15rem;
}
.menuplugin-item-price-label {
  color: #666;
  font-size: .85em;
  text-align: right;
}
.menuplugin-item-price { white-space: nowrap; font-size: var(--menuplugin-font-size-price, 18px); font-weight: 700; }
.menuplugin-description { margin: .2rem 0 0; }
.menuplugin-variants { list-style: none; margin: .45rem 0 0; padding: 0 0 0 .85rem; }
.menuplugin-variant { margin: .3rem 0; }
.menuplugin-variant-row { display: flex; justify-content: space-between; gap: 1rem; }
.menuplugin-variant-price { white-space: nowrap; }
.menuplugin-variant-description { margin: .15rem 0 0; color: #666; }
.menuplugin-item.is-highlighted { padding: .6rem .75rem; background: rgba(0,0,0,.025); border-radius: 12px; }
@media (max-width: 700px) {
  .menuplugin-item-row, .menuplugin-variant-row { flex-direction: column; gap: .15rem; }
  .menuplugin-item-price,
  .menuplugin-item-price-block,
  .menuplugin-variant-price { align-self: flex-start; }
  .menuplugin-item-price-label { text-align: left; }
}
