

  .productPopupHeader {
    padding: 1rem;
    border-bottom: var(--one-px) solid var(--colour-border-gray);
  }

  .productPopupHeader h2 {
    margin: 0;
  }

  .productPopupBody {
    overflow-y: auto;
    padding: 1rem;
  }

  .productPopupPrice {
    display: block;
    margin-bottom: 1rem;
    color: var(--colour-brand-main);
    font-size: 1.25rem;
  }

  .productPopupBody form {
    gap: 1.25rem;
    margin-top: 1.5rem;
  }

  .productPopupExtras {
    min-width: 0;
    padding: 0;
    border: 0;
  }

  .productPopupExtras legend {
    margin-bottom: 0.75rem;
    font-weight: 700;
  }

  .productPopupExtra {
    grid-template-columns: auto 1fr auto;
  }

  .productPopupExtra small {
    grid-column: 2 / -1;
    color: var(--colour-text-dark-gray);
  }


  .productPopupQuantityControl button,
  .productPopupQuantityControl input {
    width: 2.5rem;
    min-height: 2.5rem;
    text-align: center;
    border: var(--one-px) solid var(--colour-border-gray);
  }

  .productPopupQuantityControl input {
    padding: 0.25rem;
    border-right: 0;
    border-left: 0;
  }

  .productPopupActions {
    grid-template-columns: 1fr 1fr;
  }

  @media screen and (max-width: 599px) {

    .productPopup {
      align-items: stretch;
      padding: 0;
    }

    .productPopupPanel {
      max-height: none;
    }

    .productPopupActions {
      grid-template-columns: 1fr;
    }
  }
