/* Shared spacing keeps native form behavior, including the select popup. */
select:not([multiple]):not([size]),
select[size="1"] {
  -webkit-appearance: none;
  appearance: none;
  padding-inline: 16px 44px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='m2 5 5 5 5-5' fill='none' stroke='%23191e18' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 14px 14px;
  font-size: 16px;
  line-height: 1.5;
  cursor: pointer;
}

:is(.form-panel, .event-controls, .kit-personalize, .community-form,
    .subscriber-band, .admin-note, .admin-event-location, .park-toolbar)
:is(input:not([type]), input[type="text"], input[type="email"], input[type="url"],
    input[type="search"], input[type="date"], input[type="number"], textarea) {
  padding-inline: 16px;
  font-size: 16px;
}

.event-list-toolbar select {
  width: 100px;
  flex-shrink: 0;
}

.gallery-filters {
  min-width: 380px;
}

.community-form fieldset,
.kit-personalize > label {
  min-width: 0;
}

.story-scene-controls {
  flex-wrap: wrap;
  gap: 12px 20px;
}

.story-scene-controls label {
  min-width: 0;
}

.story-scene-controls select {
  width: 185px;
  max-width: 100%;
  flex-shrink: 0;
}

.subscriber-consent input,
.photo-consents input,
.admin-verify input {
  height: 20px;
  min-height: 20px;
  padding: 0;
  flex-shrink: 0;
}

.checkbox input {
  padding: 0;
}

.admin-verify {
  flex-direction: row;
  align-items: flex-start;
}

.format-picker input {
  min-width: 1px;
  min-height: 1px;
  padding: 0;
}

.photo-file-box input::file-selector-button {
  font: 600 13px var(--body);
  border: 1px solid var(--ink);
  background: var(--yellow);
  color: var(--ink);
  padding: 10px 12px;
  margin-inline-end: 12px;
  cursor: pointer;
}

:is(.print-instructions, .park-source-notes details, .admin-history,
    .original-comparison, .admin-event-location) > summary {
  display: flex;
  align-items: baseline;
  gap: 12px;
  list-style: none;
}

:is(.print-instructions, .park-source-notes details, .admin-history,
    .original-comparison, .admin-event-location) > summary::-webkit-details-marker {
  display: none;
}

:is(.print-instructions, .park-source-notes details, .admin-history,
    .original-comparison, .admin-event-location) > summary::before {
  content: "";
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border: solid currentColor;
  border-width: 0 1.5px 1.5px 0;
  transform: rotate(-45deg);
}

:is(.print-instructions, .park-source-notes details, .admin-history,
    .original-comparison, .admin-event-location)[open] > summary::before {
  transform: translateY(-2px) rotate(45deg);
}

.faq-items summary::after {
  flex-shrink: 0;
}

@media (max-width: 1100px) {
  .gallery-filters {
    min-width: 0;
  }
}

@media (max-width: 480px) {
  .gallery-filters {
    flex-direction: column;
    gap: 16px;
  }
}

@media (forced-colors: active) {
  select:not([multiple]):not([size]),
  select[size="1"] {
    -webkit-appearance: auto;
    appearance: auto;
    background-image: none;
    padding-inline-end: 16px;
  }
}
