/* Token values come from config/design.json and the two settings scopes. */
body, .editor-styles-wrapper {
  --theme-font-family: var(--mb-font-body);
  font-family: var(--mb-font-body);
}
h1,h2,h3,h4,h5,h6,.price,.poppins {
  font-family: var(--mb-font-heading) !important;
}
.mb-layout {
  width: min(100% - var(--mb-space-5) * 2, var(--mb-content-width));
  margin-inline: auto;
  padding-block: var(--mb-space-8);
}
.mb-layout--wide { max-width: var(--mb-wide-width); width: calc(100% - var(--mb-space-5) * 2); }
.mb-layout--landing { max-width: none; width: 100%; padding: 0; }
.mb-section { padding: var(--mb-space-8) var(--mb-space-5); }
.mb-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr)); gap:var(--mb-space-5); }
.mb-card { padding:var(--mb-space-5); background:var(--mb-surface); border-radius:var(--mb-radius); }
.mb-product-dialog {
  box-sizing:border-box; width:min(480px,100vw); height:100dvh; max-height:100dvh;
  max-width:100vw; margin:0 0 0 auto; padding:0; border:0;
  background:var(--mb-palette-8); color:var(--mb-palette-4);
}
.mb-product-dialog::backdrop { background:rgb(0 0 0 / .4); }
.mb-dialog__header { position:sticky; top:0; display:flex; align-items:center; justify-content:space-between; gap:var(--mb-space-4); padding:var(--mb-space-5); background:var(--mb-palette-8); z-index:1; }
.mb-dialog__header h4 { margin:0; }
.mb-dialog__close { border:0; background:transparent; color:inherit; padding:var(--mb-space-3); cursor:pointer; }
.mb-dialog__body { padding:0 var(--mb-space-5) var(--mb-space-5); }
html:has(.mb-product-dialog[open]) { overflow:hidden; }
