.upc-request {
  margin-block: 2rem;
  padding: 1.25rem;
  border: 1px solid #bccdbf;
  border-radius: 12px;
}
.upc-request summary {
  position: relative;
  padding-inline-end: 3rem;
  cursor: pointer;
  list-style: none;
}
.upc-request summary::-webkit-details-marker {
  display: none;
}
.upc-request__heading {
  display: block;
  font-size: 1.5em;
  font-weight: 700;
  line-height: 1.3;
}
.upc-request__intro {
  display: block;
  margin-block: 0.75rem 0;
}
.upc-request__arrow {
  position: absolute;
  inset-inline-end: 0;
  top: 0;
  font-size: 2rem;
  line-height: 1;
  transition: transform 0.15s;
}
.upc-request[open] .upc-request__arrow {
  transform: rotate(180deg);
}
.upc-request form {
  margin-block-start: 1.25rem;
  border-top: 1px solid #bccdbf;
  padding-block-start: 0.75rem;
}
.upc-request__upload {
  padding: 1rem;
  background: #f1f7f2;
  border-radius: 8px;
}
.upc-request__files {
  overflow-wrap: anywhere;
  font-size: 0.9em;
}
.upc-request input[type='file'] {
  min-width: 0;
  width: 100%;
}
.upc-request textarea,
.upc-request input:not([type='checkbox']):not([type='file']) {
  width: 100%;
  box-sizing: border-box;
}
.upc-request input[type='checkbox'] {
  min-block-size: auto;
  margin-top: 0.3rem;
}
.upc-request__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.upc-request__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-block-start: 1rem;
}
.upc-request label {
  display: grid;
  gap: 0.35rem;
  margin-block: 0.75rem;
}
.upc-request input,
.upc-request textarea {
  max-width: 100%;
  font: inherit;
  min-block-size: 44px;
}
.upc-request :focus-visible {
  outline: 3px solid #1d4ed8;
  outline-offset: 3px;
}
.upc-request__consent {
  grid-template-columns: auto 1fr !important;
  align-items: start;
}
[dir='rtl'] .upc-request {
  text-align: right;
}
.upc-request__trap {
  position: absolute !important;
  inline-size: 1px;
  block-size: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}
@media (max-width: 600px) {
  .upc-request__grid {
    grid-template-columns: 1fr;
  }
  .upc-request button {
    min-block-size: 44px;
  }
}
@media (forced-colors: active) {
  .upc-request {
    border-color: CanvasText;
  }
}
