/* LesnoyGroup interface corrections — 2026-09-26 */

/* Keep native selects inside their rounded containers on narrow screens. */
.catalog-v16-content select,
.page-admin select {
  min-width: 0;
  max-width: 100%;
}

/* The floating specification action should feel attached to the interface,
   not cast a large dark patch over the page. */
.lg-corp-fab {
  box-shadow: 0 10px 24px -16px rgba(8,29,24,.48);
}

/* Admin dialogs: one predictable scroll container and no horizontal overlap. */
.page-admin .fixed.inset-0.z-50,
.page-admin .fixed.inset-0.z-\[550\] {
  align-items: flex-start;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 20px;
}

.page-admin .fixed.inset-0.z-50 > div,
.page-admin .fixed.inset-0.z-\[550\] > div {
  width: min(100%, 1152px);
  min-width: 0;
  margin: auto;
  max-height: calc(100dvh - 40px);
}

.page-admin input,
.page-admin textarea,
.page-admin select,
.page-admin form,
.page-admin form > * {
  min-width: 0;
}

.page-admin input,
.page-admin textarea,
.page-admin select {
  width: 100%;
}

.page-admin button {
  overflow-wrap: anywhere;
}

@media (max-width: 639px) {
  .page-admin .fixed.inset-0.z-50,
  .page-admin .fixed.inset-0.z-\[550\] {
    padding: 8px;
  }

  .page-admin .fixed.inset-0.z-50 > div,
  .page-admin .fixed.inset-0.z-\[550\] > div {
    max-height: calc(100dvh - 16px);
    border-radius: 16px;
  }

  .page-admin .sticky.bottom-0,
  .page-admin .sticky.bottom-4 {
    left: 0;
    right: 0;
    gap: 8px;
    flex-wrap: wrap;
  }

  .page-admin .sticky.bottom-0 button,
  .page-admin .sticky.bottom-4 button {
    flex: 1 1 150px;
  }
}
