:root {
  --nova-food-menu-item-highlight-color: var(--novablocks-current-color-primary); }

.nova-food-menu-item {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas: 'label label' 'title prices' 'description description';
  margin-bottom: 1em;
  -webkit-column-break-inside: avoid;
     -moz-column-break-inside: avoid;
          break-inside: avoid; }

.nova-food-menu__section:not(:first-child) {
  margin-top: 1.5em; }

.nova-food-menu-item__title {
  position: relative;
  grid-area: title; }

.nova-food-menu-item__prices {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  position: relative;
  z-index: 5;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  grid-area: prices; }

.nova-food-menu-item__description {
  position: relative;
  grid-area: description; }

.item-price--sale {
  font-weight: 700;
  margin-left: 10px; }

.has-sale-price .item-price {
  text-decoration: line-through;
  opacity: 0.6; }

.nova-food-menu-item--highlighted {
  --item-border-width: 2px;
  --item-padding: 1em;
  --item-overflow: calc( 1.25 * var( --item-padding ) + var( --item-border-width ) );
  --item-border-radius: 0;
  margin-left: calc( -1 * var( --item-overflow ));
  margin-right: calc( -1 * var( --item-overflow ));
  padding: 0 calc( 1.25 * var( --item-padding )) calc( 0.75 * var( --item-padding ));
  border: var(--item-border-width) solid var(--nova-food-menu-item-highlight-color);
  border-top-width: 0;
  border-radius: var(--item-border-radius); }

.nova-food-menu-item__highlight-label {
  grid-area: label;
  display: block;
  margin-left: calc( -1 * var(--item-overflow));
  margin-right: calc( -1 * var(--item-overflow));
  padding: calc( 0.25 * var( --item-overflow )) var(--item-overflow) var(--item-padding);
  position: relative;
  background-color: var(--nova-food-menu-item-highlight-color); }
  .nova-food-menu-item__highlight-label:after {
    content: "";
    position: absolute;
    left: var(--item-border-width);
    right: var(--item-border-width);
    bottom: 0;
    display: block;
    height: calc( 0.75 * var( --item-padding ));
    background-color: var(--novablocks-current-light-primary);
    border-top-left-radius: var(--item-border-radius);
    border-top-right-radius: var(--item-border-radius); }
  .is-style-rounded .nova-food-menu-item__highlight-label {
    border-radius: var(--item-border-radius) var(--item-border-radius) 0 0; }

@media only screen and (min-width: 768px) {
  .entry-content .nova-food-menu--layout {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
    -webkit-column-gap: 4em;
       -moz-column-gap: 4em;
            column-gap: 4em; } }

.nova-blocks-appender {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; }

.item-title,
.item-description {
  margin-top: 0;
  margin-bottom: 0; }

.item-title {
  display: inline-block;
  position: relative;
  z-index: 5;
  line-height: 1.25;
  margin-bottom: 0 !important;
  background-color: var(--novablocks-current-light-primary); }

.item-description {
  line-height: 1.5; }

.nova-food-menu-item__title:before {
  content: none; }
  @media only screen and (min-width: 768px) {
    .nova-food-menu-item__title:before {
      content: '';
      position: absolute;
      bottom: 0.3em;
      width: 100%;
      height: 0;
      line-height: 0;
      border-bottom: 0.2em dotted currentColor; }
      .price--is-hidden .nova-food-menu-item__title:before {
        content: none; } }

.nova-food-menu-item__label[class] {
  color: var(--novablocks-current-light-primary);
  margin: 0; }

.nova-food-menu__section {
  -webkit-column-break-inside: avoid;
     -moz-column-break-inside: avoid;
          break-inside: avoid; }

.is-style-basic .nova-food-menu-item {
  grid-template-areas: 'label' 'title' 'description' 'prices'; }
  .is-style-basic .nova-food-menu-item__prices {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding-left: 0; }
  .is-style-basic .nova-food-menu-item__title:before {
    content: none; }
