/* Administración del menú: formularios alineados y cómodos en escritorio y móvil. */
.menu-management-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 16px;
  margin-bottom: 18px;
}

.admin-editor-block {
  gap: 14px;
  padding: 16px;
  background: #fbfaf8;
}

.section-create-row {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.5fr) 76px 46px;
  align-items: end;
  gap: 10px;
}

.section-create-row > * { min-width: 0; }
.icon-action { width: 42px; min-width: 42px; padding: 0; font-size: 20px; line-height: 1; }
.danger-icon { color: #a33a2c; }

.section-admin-row {
  grid-template-columns: minmax(130px, 1.2fr) minmax(160px, 2fr) 72px 90px 44px 44px;
  gap: 10px;
  min-width: 0;
}
.section-admin-row > * { min-width: 0; }
.section-admin-row .switch-line { white-space: nowrap; }

.product-create-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: end;
  gap: 10px;
}

.product-create-grid > :nth-child(1) { grid-column: span 5; }
.product-create-grid > :nth-child(2) { grid-column: span 3; }
.product-create-grid > :nth-child(3) { grid-column: span 4; }
.product-create-grid > :nth-child(4) { grid-column: span 2; }
.product-create-grid > :nth-child(5) { grid-column: span 2; }
.product-create-grid > :nth-child(6) { grid-column: span 4; }
.product-create-grid > :nth-child(7) { grid-column: span 6; }
.product-create-grid > :nth-child(8) { grid-column: 1 / -1; }

.admin-menu-group-list { padding: 10px; gap: 10px; }
.admin-product-row { border-radius: 14px; }

.menu-admin-form {
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 18px 22px;
  padding: 20px;
  background: linear-gradient(135deg, #fff 0%, #fdfcf9 100%);
}

.admin-menu-image {
  grid-row: 1 / span 3;
  align-self: start;
  padding: 4px;
  padding-right: 18px;
  border-right: 1px solid #ebe7df;
}

.admin-menu-copy {
  grid-column: 2;
  display: grid;
  grid-template-columns: minmax(150px, .8fr) minmax(200px, 1.2fr) minmax(200px, 1.2fr);
  gap: 12px;
}

.admin-menu-settings {
  grid-column: 2;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  padding: 14px;
  border: 1px solid #ebe7df;
  border-radius: 14px;
  background: #faf9f6;
}

.admin-menu-settings label {
  display: grid;
  align-content: start;
  gap: 6px;
  min-width: 0;
  color: var(--ink);
  font-size: 11px;
  font-weight: 800;
}

.admin-menu-settings .switch-line {
  display: flex;
  align-items: center;
  align-self: center;
  gap: 8px;
  min-height: 36px;
  color: var(--muted);
}

.admin-menu-actions {
  grid-column: 2;
  display: flex;
  justify-content: flex-end;
  padding-top: 0;
}

.admin-menu-copy label,
.menu-admin-form > label {
  display: grid;
  align-content: start;
  gap: 6px;
  min-width: 0;
  color: var(--ink);
  font-size: 11px;
}

.admin-menu-copy textarea { min-height: 82px; resize: vertical; }
.menu-admin-form > label.switch-line { display: flex; align-items: center; align-self: center; gap: 8px; min-height: 34px; }
.menu-admin-form > .btn { grid-column: 2 / -1; justify-self: end; min-width: 150px; }

@media (max-width: 1100px) {
  .menu-management-grid { grid-template-columns: 1fr; }
  .menu-admin-form { grid-template-columns: 150px minmax(0, 1fr); }
  .admin-menu-copy { grid-column: 2; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-menu-settings { grid-column: 2; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .section-create-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) 72px 46px; }
  .section-admin-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) 72px 90px 42px 42px; }
}

@media (max-width: 700px) {
  .section-create-row,
  .product-create-grid,
  .menu-admin-form,
  .admin-menu-copy { grid-template-columns: 1fr; }
  .product-create-grid > *,
  .admin-menu-copy,
  .menu-admin-form > .btn { grid-column: 1; }
  .admin-menu-image { grid-row: auto; border-right: 0; border-bottom: 1px solid var(--line); padding: 0 0 14px; }
  .admin-menu-copy, .admin-menu-settings, .admin-menu-actions { grid-column: 1; }
  .admin-menu-settings { grid-template-columns: 1fr; }
  .menu-admin-form > label.switch-line { justify-self: start; }
  .section-create-row, .section-admin-row { grid-template-columns: 1fr 1fr; }
  .section-create-row .icon-action, .section-admin-row .icon-action { justify-self: start; }
}
