@charset "UTF-8";
    /* CSS Document */

    body {
      font-family: 'Courier New', Courier, monospace;
      background: #F9EBD5;
      color: #3b1f00;
      padding: 1.5rem;
      max-width: 800px;
      margin: auto;
      border: 8px double #a00;
      background-image: url('https://www.transparenttextures.com/patterns/checkered-light.png');
      background-size: 100px 100px;
      box-sizing: border-box;
    }

    h1 {
      font-family: 'Impact', sans-serif;
      color: #a00;
      font-size: 2.2rem;
      text-align: center;
      margin-bottom: 1rem;
      border-bottom: 4px solid #a00;
      padding-bottom: 0.5rem;
    }

    h2 {
      font-family: 'Georgia', serif;
      color: #800000;
      font-size: 1.3rem;
      margin-top: 2rem;
      margin-bottom: 0.5rem;
    }

    form {
      background: #fff;
      padding: 1.2rem;
      border: 3px dashed #a00;
      border-radius: 10px;
      box-shadow: 5px 5px 0 #333;
      margin-bottom: 1.5rem;
    }

    input[type="number"],
    input[type="text"],
    input[type="submit"],
    label,
    select {
      margin: 0.4rem 0;
      padding: 0.5rem;
      font-size: 1rem;
      border: 2px solid #a00;
      border-radius: 5px;
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
    }

    input[type="submit"] {
      background-color: #a00;
      color: white;
      font-weight: bold;
      cursor: pointer;
      transition: background-color 0.2s ease-in-out;
    }

    input[type="submit"]:hover {
      background-color: #c33;
    }

    label {
      /* Make labels block only where needed (headings), override below for inline */
      display: block;
      margin-top: 0.5rem;
      font-weight: bold;
    }

    ul {
      background-color: #fff;
      padding: 1rem;
      border: 2px solid #a00;
      border-radius: 5px;
      list-style-type: square;
      margin-top: 0.5rem;
    }

    li {
      padding: 0.2rem 0;
    }

    p {
      font-weight: bold;
      background: #fff0e0;
      padding: 0.5rem;
      border-left: 5px solid #a00;
      margin-top: 1rem;
    }

    /* === Radio buttons styling === */
    .radio-row {
      display: flex;
      align-items: center;
      gap: 1rem;
      margin-bottom: 0.8rem;
    }

    .radio-row input[type="number"] {
      flex-shrink: 0;
      width: 100px;
      margin: 0;
    }

    .radio-group {
      display: flex;
      gap: 1rem;
      margin: 0;
      border: none; /* No border */
      padding: 0;
    }

    .radio-group label {
      display: inline-flex;
      align-items: center;
      font-weight: normal;
      margin: 0;
      cursor: pointer;
      user-select: none;
    }

    input[type="radio"] {
      margin: 0 0.3rem 0 0;
      transform: scale(1.2);
      vertical-align: middle;
    }

    /* Override labels inside radio-row to be normal weight and inline */
    .radio-row > label {
      display: none; /* Hide the label that normally is block for input fields */
    }

    /* For headings, keep labels block */
    h2 + label {
      display: block;
      font-weight: bold;
      margin-top: 0.5rem;
    }

    @media screen and (max-width: 600px) {
      body {
        padding: 1rem;
        border-width: 4px;
      }

      h1 {
        font-size: 1.8rem;
      }

      h2 {
        font-size: 1.1rem;
      }

      input[type="number"],
      input[type="submit"] {
        font-size: 1rem;
        padding: 0.4rem;
      }

      .radio-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
      }

      .radio-row input[type="number"] {
        width: 100%;
        margin-bottom: 0.3rem;
      }
    }

    @media print {
      body {
        background: white !important;
        color: black !important;
        font-family: 'Courier New', Courier, monospace;
        border: none;
        padding: 1rem;
        background-image: none !important;
        font-size: 12pt;
      }

      h1,
      h2 {
        color: black !important;
        border: none;
        text-align: left;
      }

      form,
      input,
      button,
      .radio-group {
        display: none !important;
      }

      ul {
        border: none;
        padding-left: 1rem;
        font-size: 12pt;
      }

      li {
        padding: 0.2rem 0;
      }

      p {
        background: none;
        border: none;
        padding: 0;
        margin: 0.5rem 0;
        font-size: 12pt;
      }

      @page {
        margin: 1in;
      }

      body::after {
        content: "Recipe generated from https://thebestpizza.shop";
        display: block;
        text-align: center;
        margin-top: 2rem;
        font-size: 10pt;
        color: #555;
        font-style: italic;
      }
    }