* {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    body {
      font-family: sans-serif;
      background: #f5f5f5;
      color: #333;
    }

    .page-wrapper {
      max-width: 860px;
      margin: 0 auto;
      container-type: inline-size;
    }

    .hero-img {
      width: 100%;
      height: 220px;
      object-fit: cover;
      display: block;
      border-radius: 8px 8px 0 0;
    }

    h1 {
      background: #4caf50;
      color: #fff;
      padding: 0.75rem 1rem;
      font-size: 1.5rem;
    }

    .order-form {
      background: #fff;
      padding: 1.5rem;
      border-radius: 0 0 8px 8px;
    }

    .form-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1.25rem;
    }

    .full-width {
      grid-column: 1 / -1;
    }

    fieldset {
      border: 1px solid #ddd;
      border-radius: 6px;
      padding: 0.75rem 1rem;
    }

    legend {
      font-weight: bold;
      color: #4caf50;
      padding: 0 0.25rem;
    }

    label {
      display: block;
      margin-top: 0.5rem;
      font-size: 0.9rem;
    }

    input[type="text"],
    input[type="time"],
    input[type="date"] {
      width: 100%;
      padding: 0.5rem;
      margin-top: 0.2rem;
      border: 1px solid #ccc;
      border-radius: 4px;
      font-size: 0.9rem;
      font-family: inherit;
    }

    .option-group {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem;
      margin-top: 0.4rem;
    }

    .option-group label {
      display: flex;
      align-items: center;
      gap: 0.25rem;
      margin-top: 0;
      cursor: pointer;
    }

    .option-group input[type="radio"],
    .option-group input[type="checkbox"] {
      accent-color: #4caf50;
    }

    small {
      color: #888;
      font-size: 0.8rem;
    }

    button[type="submit"] {
      width: 100%;
      padding: 0.75rem;
      border: none;
      border-radius: 6px;
      background: #4caf50;
      color: #fff;
      font-size: 1.1rem;
      font-weight: bold;
      cursor: pointer;
    }

    @media (max-width: 480px) {
      .form-grid {
        grid-template-columns: 1fr;
      }

      .full-width {
        grid-column: 1;
      }

      .hero-img {
        height: 150px;
      }

      h1 {
        font-size: 1.2rem;
      }

      .order-form {
        padding: 1rem;
      }
    }

    @container (max-width: 500px) {
      .form-grid {
        grid-template-columns: 1fr;
      }

      .full-width {
        grid-column: 1;
      }
    }