body:has(students-information[open]) {
  overflow: hidden;

  .collapsible-trigger-btn {
    z-index: -1;
  }
  .collapsible-content {
    position: relative;
    z-index: -1;
  }
}

students-information {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.4);

  &[open] {
    display: block;
  }

  #modal {
    position: absolute;
    z-index: 20;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-color: #fff;
    padding: 1.5rem;
    width: 800px;
    max-width: 98vw;
    max-height: 80vh;
    overflow-y: scroll;
    overflow-x: hidden;
    scrollbar-width: thin;
  }

  h3 {
    font-size: 24px;
    text-align: center;
  }

  label {
    display: inline-flex;
    gap: 0.5rem;
    align-items: center;
    margin: 0;
  }
  
  .btn {
    text-transform: uppercase;
    font-weight: bold;
  }

  .inline-input {
    display: flex;
    align-items: center;

    + .inline-input {
      margin-top: 0.5rem;
    }
  }

  .block-input {
    display: flex;
    flex-direction: column;
  }

  button[name="add"] {
    display: block;
    margin: 0 auto;
    max-width: 300px;
  }

  .error input {
    border-color: #ba4444;
  }

  .field__input {
    margin-top: 8px;
    height: 52px;
    border-radius: 80px;
  }

  .field__error {
    color: #ba4444;
  }

  #closeModal {
    position: absolute;
    right: 0.5rem;

    span {
      font-weight: var(--typeHeaderWeight);
    }

    path {
      stroke-width: 5;
    }
  }

  .recipient-fields {
    margin-bottom: 1.5rem;
    padding-block: 0.5rem;
  }

  .recipient-fields__row {
    display: flex;
    gap: 16px;

    .recipient-fields__field {
      flex: 1;
    }
  }

  .recipient-fields__field {
    margin-top: 16px;
  }

  .dob-field {
    padding-block: 0.5rem;
    margin-bottom: 2rem;
  }

  .attendance-selector {
    margin-block: 2rem;
    padding-block: 0.5rem;

    input {
      accent-color: #000;
    }
  }

  .notice {
    font-size: 12px;
    background-color: #FFF1E3;
    margin-top: 16px;
    padding: 8px 16px;
    border-radius: 80px;
  }

  .notice p {
    margin: 0;
  }

  .notice.shipping-notice.wine-kit p {
    margin-bottom: 0.5rem;
  }

  @media screen and (max-width: 767px) {
    .notice {
      padding: 12px 32px;
    }

    dialog {
      width: 90vw;
    }
  }

  @media screen and (min-width: 768px) {
    dialog {
      width: 700px;
    }
  }
}

.fullwidth-adress-input {
  width: 100%;
}
